aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.appveyor.yml19
-rw-r--r--build_msvc/bitcoin-qt/bitcoin-qt.vcxproj2
-rw-r--r--build_msvc/bitcoin_config.h10
-rw-r--r--build_msvc/common.init.vcxproj57
-rw-r--r--build_msvc/common.vcxproj2
-rw-r--r--build_msvc/test_bitcoin-qt/test_bitcoin-qt.vcxproj4
-rw-r--r--configure.ac21
-rw-r--r--depends/packages/qt.mk2
-rw-r--r--depends/patches/qt/fix_qpainter_non_determinism.patch63
-rw-r--r--doc/JSON-RPC-interface.md11
-rw-r--r--doc/REST-interface.md12
-rw-r--r--doc/build-osx.md31
-rw-r--r--doc/man/bitcoin-cli.168
-rw-r--r--doc/man/bitcoin-qt.1285
-rw-r--r--doc/man/bitcoin-tx.139
-rw-r--r--doc/man/bitcoin-wallet.148
-rw-r--r--doc/man/bitcoind.1282
-rw-r--r--doc/release-notes.md438
-rw-r--r--doc/release-notes/release-notes-0.21.0.md1336
-rw-r--r--doc/tor.md27
-rw-r--r--src/Makefile.am3
-rw-r--r--src/chainparams.cpp2
-rw-r--r--src/core_read.cpp59
-rw-r--r--src/init.cpp2
-rw-r--r--src/net.cpp6
-rw-r--r--src/net_processing.cpp28
-rw-r--r--src/qt/forms/createwalletdialog.ui8
-rw-r--r--src/qt/locale/bitcoin_af.ts6
-rw-r--r--src/qt/locale/bitcoin_ar.ts18
-rw-r--r--src/qt/locale/bitcoin_bn.ts24
-rw-r--r--src/qt/locale/bitcoin_ca.ts206
-rw-r--r--src/qt/locale/bitcoin_cs.ts34
-rw-r--r--src/qt/locale/bitcoin_da.ts6
-rw-r--r--src/qt/locale/bitcoin_de.ts54
-rw-r--r--src/qt/locale/bitcoin_el.ts82
-rw-r--r--src/qt/locale/bitcoin_en.ts14
-rw-r--r--src/qt/locale/bitcoin_en_GB.ts6
-rw-r--r--src/qt/locale/bitcoin_eo.ts357
-rw-r--r--src/qt/locale/bitcoin_es.ts172
-rw-r--r--src/qt/locale/bitcoin_es_CL.ts4
-rw-r--r--src/qt/locale/bitcoin_es_CO.ts4
-rw-r--r--src/qt/locale/bitcoin_es_MX.ts24
-rw-r--r--src/qt/locale/bitcoin_eu.ts2
-rw-r--r--src/qt/locale/bitcoin_fa.ts1046
-rw-r--r--src/qt/locale/bitcoin_fi.ts12
-rw-r--r--src/qt/locale/bitcoin_fil.ts6
-rw-r--r--src/qt/locale/bitcoin_fr.ts12
-rw-r--r--src/qt/locale/bitcoin_gl_ES.ts6
-rw-r--r--src/qt/locale/bitcoin_he.ts30
-rw-r--r--src/qt/locale/bitcoin_hi.ts66
-rw-r--r--src/qt/locale/bitcoin_hr.ts50
-rw-r--r--src/qt/locale/bitcoin_hu.ts6
-rw-r--r--src/qt/locale/bitcoin_id.ts198
-rw-r--r--src/qt/locale/bitcoin_it.ts18
-rw-r--r--src/qt/locale/bitcoin_ja.ts93
-rw-r--r--src/qt/locale/bitcoin_ko.ts792
-rw-r--r--src/qt/locale/bitcoin_ku_IQ.ts390
-rw-r--r--src/qt/locale/bitcoin_lt.ts6
-rw-r--r--src/qt/locale/bitcoin_lv.ts34
-rw-r--r--src/qt/locale/bitcoin_ml.ts495
-rw-r--r--src/qt/locale/bitcoin_ms.ts6
-rw-r--r--src/qt/locale/bitcoin_nb.ts323
-rw-r--r--src/qt/locale/bitcoin_nl.ts266
-rw-r--r--src/qt/locale/bitcoin_pl.ts88
-rw-r--r--src/qt/locale/bitcoin_pt.ts62
-rw-r--r--src/qt/locale/bitcoin_pt_BR.ts14
-rw-r--r--src/qt/locale/bitcoin_ro.ts6
-rw-r--r--src/qt/locale/bitcoin_ru.ts12
-rw-r--r--src/qt/locale/bitcoin_si.ts8
-rw-r--r--src/qt/locale/bitcoin_sk.ts6
-rw-r--r--src/qt/locale/bitcoin_sl.ts8
-rw-r--r--src/qt/locale/bitcoin_sq.ts13
-rw-r--r--src/qt/locale/bitcoin_sr.ts6
-rw-r--r--src/qt/locale/bitcoin_sv.ts38
-rw-r--r--src/qt/locale/bitcoin_szl.ts4
-rw-r--r--src/qt/locale/bitcoin_ta.ts11
-rw-r--r--src/qt/locale/bitcoin_te.ts4
-rw-r--r--src/qt/locale/bitcoin_th.ts2
-rw-r--r--src/qt/locale/bitcoin_tr.ts62
-rw-r--r--src/qt/locale/bitcoin_uk.ts1969
-rw-r--r--src/qt/locale/bitcoin_ur.ts16
-rw-r--r--src/qt/locale/bitcoin_vi.ts124
-rw-r--r--src/qt/locale/bitcoin_zh_CN.ts30
-rw-r--r--src/qt/locale/bitcoin_zh_TW.ts6
-rw-r--r--src/rpc/net.cpp4
-rw-r--r--src/rpc/rawtransaction.cpp2
-rw-r--r--src/wallet/rpcwallet.cpp91
-rw-r--r--src/wallet/scriptpubkeyman.cpp2
-rw-r--r--src/wallet/walletutil.cpp12
-rwxr-xr-xtest/functional/feature_taproot.py14
-rwxr-xr-xtest/functional/mempool_compatibility.py3
-rwxr-xr-xtest/functional/rpc_fundrawtransaction.py20
-rwxr-xr-xtest/functional/rpc_psbt.py19
-rwxr-xr-xtest/functional/rpc_rawtransaction.py7
-rwxr-xr-xtest/functional/test_framework/p2p.py2
-rwxr-xr-xtest/functional/wallet_basic.py33
-rwxr-xr-xtest/functional/wallet_bumpfee.py10
-rwxr-xr-xtest/functional/wallet_multiwallet.py3
-rwxr-xr-xtest/functional/wallet_send.py21
-rwxr-xr-xtest/functional/wallet_upgradewallet.py78
100 files changed, 8179 insertions, 2364 deletions
diff --git a/.appveyor.yml b/.appveyor.yml
index 0d026748b5..7250d4ad94 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -1,29 +1,30 @@
version: '{branch}.{build}'
skip_tags: true
-image: Previous Visual Studio 2019
+image: Visual Studio 2019
configuration: Release
platform: x64
clone_depth: 5
environment:
PATH: 'C:\Python37-x64;C:\Python37-x64\Scripts;%PATH%'
PYTHONUTF8: 1
- QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/v1.6/Qt5.9.8_x64_static_vs2019.zip'
- QT_DOWNLOAD_HASH: '9a8c6eb20967873785057fdcd329a657c7f922b0af08c5fde105cc597dd37e21'
+ QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/qt598x64_vs2019_v1681/qt598_x64_vs2019_1681.zip'
+ QT_DOWNLOAD_HASH: '00cf7327818c07d74e0b1a4464ffe987c2728b00d49d4bf333065892af0515c3'
QT_LOCAL_PATH: 'C:\Qt5.9.8_x64_static_vs2019'
- VCPKG_INSTALL_PATH: 'C:\tools\vcpkg\installed'
- VCPKG_COMMIT_ID: '40230b8e3f6368dcb398d649331be878ca1e9007'
+ VCPKG_TAG: '2020.11-1'
install:
# Disable zmq test for now since python zmq library on Windows would cause Access violation sometimes.
# - cmd: pip install zmq
-# Powershell block below is to install the c++ dependencies via vcpkg. The pseudo code is:
+# The powershell block below is to set up vcpkg to install the c++ dependencies. The pseudo code is:
# a. Checkout the vcpkg source (including port files) for the specific checkout and build the vcpkg binary,
-# b. Install the missing packages using the vcpkg manifest.
+# b. Append a setting to the vcpkg cmake config file to only do release builds of dependencies (skipping deubg builds saves ~5 mins).
+# Note originally this block also installed the dependencies using 'vcpkg install'. Dependencies are now installed
+# as part of the msbuild command using vcpkg mainfests.
- ps: |
cd c:\tools\vcpkg
$env:GIT_REDIRECT_STDERR = '2>&1' # git is writing non-errors to STDERR when doing git pull. Send to STDOUT instead.
- git pull origin master > $null
- git -c advice.detachedHead=false checkout $env:VCPKG_COMMIT_ID
+ git -c advice.detachedHead=false checkout $env:VCPKG_TAG
.\bootstrap-vcpkg.bat > $null
+ Add-Content "C:\tools\vcpkg\triplets\$env:PLATFORM-windows-static.cmake" "set(VCPKG_BUILD_TYPE release)"
cd "$env:APPVEYOR_BUILD_FOLDER"
before_build:
# Powershell block below is to download and extract the Qt static libraries. The pseudo code is:
diff --git a/build_msvc/bitcoin-qt/bitcoin-qt.vcxproj b/build_msvc/bitcoin-qt/bitcoin-qt.vcxproj
index 17cd31a52e..65ce1ee9da 100644
--- a/build_msvc/bitcoin-qt/bitcoin-qt.vcxproj
+++ b/build_msvc/bitcoin-qt/bitcoin-qt.vcxproj
@@ -56,7 +56,7 @@
</ClCompile>
<Link>
<AdditionalDependencies>$(QtReleaseLibraries);%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalOptions>/ignore:4206</AdditionalOptions>
+ <AdditionalOptions>/ignore:4206 /LTCG:OFF</AdditionalOptions>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\src;</AdditionalIncludeDirectories>
diff --git a/build_msvc/bitcoin_config.h b/build_msvc/bitcoin_config.h
index 9d0b50a0b4..60661f121a 100644
--- a/build_msvc/bitcoin_config.h
+++ b/build_msvc/bitcoin_config.h
@@ -12,16 +12,16 @@
#define CLIENT_VERSION_BUILD 0
/* Version is release */
-#define CLIENT_VERSION_IS_RELEASE false
+#define CLIENT_VERSION_IS_RELEASE true
/* Major version */
#define CLIENT_VERSION_MAJOR 0
/* Minor version */
-#define CLIENT_VERSION_MINOR 20
+#define CLIENT_VERSION_MINOR 21
/* Build revision */
-#define CLIENT_VERSION_REVISION 99
+#define CLIENT_VERSION_REVISION 0
/* Copyright holder(s) before %s replacement */
#define COPYRIGHT_HOLDERS "The %s developers"
@@ -253,7 +253,7 @@
#define PACKAGE_NAME "Bitcoin Core"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "Bitcoin Core 0.19.99"
+#define PACKAGE_STRING "Bitcoin Core 0.21.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "bitcoin"
@@ -262,7 +262,7 @@
#define PACKAGE_URL "https://bitcoincore.org/"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "0.19.99"
+#define PACKAGE_VERSION "0.21.0"
/* Define to necessary symbol if this constant uses a non-standard name on
your system. */
diff --git a/build_msvc/common.init.vcxproj b/build_msvc/common.init.vcxproj
index ed227519ae..9c589bccbc 100644
--- a/build_msvc/common.init.vcxproj
+++ b/build_msvc/common.init.vcxproj
@@ -4,8 +4,6 @@
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
- <VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
- <VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
<UseNativeEnvironment>true</UseNativeEnvironment>
</PropertyGroup>
@@ -16,6 +14,8 @@
<VcpkgUseStatic>true</VcpkgUseStatic>
<VcpkgAutoLink>true</VcpkgAutoLink>
<VcpkgConfiguration>$(Configuration)</VcpkgConfiguration>
+ <VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
+ <VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
</PropertyGroup>
<PropertyGroup Condition="'$(WindowsTargetPlatformVersion)'=='' and !Exists('$(WindowsSdkDir)\DesignTime\CommonConfiguration\Neutral\Windows.props')">
@@ -45,66 +45,46 @@
</ProjectConfiguration>
</ItemGroup>
- <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
- <LinkIncremental>true</LinkIncremental>
- <WholeProgramOptimization>false</WholeProgramOptimization>
- <UseDebugLibraries>true</UseDebugLibraries>
+ <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
+ <LinkIncremental>false</LinkIncremental>
+ <UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
+ <GenerateManifest>No</GenerateManifest>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
- <LinkIncremental>false</LinkIncremental>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <UseDebugLibraries>false</UseDebugLibraries>
+
+ <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
+ <LinkIncremental>true</LinkIncremental>
+ <UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
</PropertyGroup>
-<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <SDLCheck>true</SDLCheck>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- </ClCompile>
- <Link>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
-
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <SDLCheck>true</SDLCheck>
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
- </ClCompile>
- </ItemDefinitionGroup>
-
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <Optimization>MaxSpeed</Optimization>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <DebugInformationFormat>None</DebugInformationFormat>
</ClCompile>
<Link>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>false</EnableCOMDATFolding>
+ <OptimizeReferences>false</OptimizeReferences>
+ <AdditionalOptions>/LTCG:OFF</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
<ClCompile>
<Optimization>Disabled</Optimization>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
@@ -124,7 +104,6 @@
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Lib>
diff --git a/build_msvc/common.vcxproj b/build_msvc/common.vcxproj
index 4bbcc3767f..270c75e8a7 100644
--- a/build_msvc/common.vcxproj
+++ b/build_msvc/common.vcxproj
@@ -4,7 +4,7 @@
<Target Name="CopyBuildArtifacts" Condition="'$(ConfigurationType)' != 'StaticLibrary'">
<ItemGroup>
<BuildArtifacts Include="$(OutDir)$(TargetName)$(TargetExt)"></BuildArtifacts>
- <BuildArtifacts Include="$(OutDir)$(TargetName).pdb"></BuildArtifacts>
+ <BuildArtifacts Include="$(OutDir)$(TargetName).pdb" Condition="Exists('$(OutDir)$(TargetName).pdb')"></BuildArtifacts>
</ItemGroup>
<Copy SourceFiles="@(BuildArtifacts)" SkipUnchangedFiles="true" DestinationFolder="..\..\src\" Condition="'$(OutDir)' != ''"></Copy>
</Target>
diff --git a/build_msvc/test_bitcoin-qt/test_bitcoin-qt.vcxproj b/build_msvc/test_bitcoin-qt/test_bitcoin-qt.vcxproj
index 2095c0c321..1ddd62edf2 100644
--- a/build_msvc/test_bitcoin-qt/test_bitcoin-qt.vcxproj
+++ b/build_msvc/test_bitcoin-qt/test_bitcoin-qt.vcxproj
@@ -73,7 +73,7 @@
</ClCompile>
<Link>
<AdditionalDependencies>$(QtLibraryDir)\Qt5Test.lib;$(QtReleaseLibraries);%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalOptions>/ignore:4206</AdditionalOptions>
+ <AdditionalOptions>/ignore:4206 /LTCG:OFF</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
@@ -83,7 +83,7 @@
</ClCompile>
<Link>
<AdditionalDependencies>$(QtDebugLibraries);%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalOptions>/ignore:4206</AdditionalOptions>
+ <AdditionalOptions>/ignore:4206</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
diff --git a/configure.ac b/configure.ac
index 9a16b7c880..0116a662ca 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,10 +1,10 @@
AC_PREREQ([2.69])
define(_CLIENT_VERSION_MAJOR, 0)
-define(_CLIENT_VERSION_MINOR, 20)
-define(_CLIENT_VERSION_REVISION, 99)
+define(_CLIENT_VERSION_MINOR, 21)
+define(_CLIENT_VERSION_REVISION, 0)
define(_CLIENT_VERSION_BUILD, 0)
define(_CLIENT_VERSION_RC, 0)
-define(_CLIENT_VERSION_IS_RELEASE, false)
+define(_CLIENT_VERSION_IS_RELEASE, true)
define(_COPYRIGHT_YEAR, 2020)
define(_COPYRIGHT_HOLDERS,[The %s developers])
define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Bitcoin Core]])
@@ -646,16 +646,19 @@ case $host in
dnl It's safe to add these paths even if the functionality is disabled by
dnl the user (--without-wallet or --without-gui for example).
- bdb_prefix=$($BREW --prefix berkeley-db4 2>/dev/null)
- qt5_prefix=$($BREW --prefix qt5 2>/dev/null)
- if test x$bdb_prefix != x && test "x$BDB_CFLAGS" = "x" && test "x$BDB_LIBS" = "x"; then
+ if test "x$use_bdb" != xno && $BREW list --versions berkeley-db4 >/dev/null && test "x$BDB_CFLAGS" = "x" && test "x$BDB_LIBS" = "x"; then
+ bdb_prefix=$($BREW --prefix berkeley-db4 2>/dev/null)
dnl This must precede the call to BITCOIN_FIND_BDB48 below.
BDB_CFLAGS="-I$bdb_prefix/include"
BDB_LIBS="-L$bdb_prefix/lib -ldb_cxx-4.8"
fi
- if test x$qt5_prefix != x; then
- PKG_CONFIG_PATH="$qt5_prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
- export PKG_CONFIG_PATH
+
+ if test "x$use_sqlite" != xno && $BREW list --versions sqlite3 >/dev/null; then
+ export PKG_CONFIG_PATH="$($BREW --prefix sqlite3 2>/dev/null)/lib/pkgconfig:$PKG_CONFIG_PATH"
+ fi
+
+ if $BREW list --versions qt5 >/dev/null; then
+ export PKG_CONFIG_PATH="$($BREW --prefix qt5 2>/dev/null)/lib/pkgconfig:$PKG_CONFIG_PATH"
fi
fi
else
diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk
index 083bc68d66..2a9e066510 100644
--- a/depends/packages/qt.mk
+++ b/depends/packages/qt.mk
@@ -12,6 +12,7 @@ $(package)_patches=fix_qt_pkgconfig.patch mac-qmake.conf fix_configure_mac.patch
$(package)_patches+= fix_rcc_determinism.patch fix_riscv64_arch.patch xkb-default.patch no-xlib.patch
$(package)_patches+= fix_android_qmake_conf.patch fix_android_jni_static.patch dont_hardcode_pwd.patch
$(package)_patches+= freetype_back_compat.patch drop_lrelease_dependency.patch fix_powerpc_libpng.patch
+$(package)_patches+= fix_qpainter_non_determinism.patch
# Update OSX_QT_TRANSLATIONS when this is updated
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
@@ -195,6 +196,7 @@ endef
define $(package)_preprocess_cmds
patch -p1 -i $($(package)_patch_dir)/freetype_back_compat.patch && \
patch -p1 -i $($(package)_patch_dir)/fix_powerpc_libpng.patch && \
+ patch -p1 -i $($(package)_patch_dir)/fix_qpainter_non_determinism.patch &&\
sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \
patch -p1 -i $($(package)_patch_dir)/drop_lrelease_dependency.patch && \
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch &&\
diff --git a/depends/patches/qt/fix_qpainter_non_determinism.patch b/depends/patches/qt/fix_qpainter_non_determinism.patch
new file mode 100644
index 0000000000..3cfcc22f03
--- /dev/null
+++ b/depends/patches/qt/fix_qpainter_non_determinism.patch
@@ -0,0 +1,63 @@
+commit 2a8f7dc6ddfc414a66491522501c1574a1343ee1
+Author: Andrew Chow <achow101-github@achow101.com>
+Date: Sat Nov 21 01:11:04 2020 -0500
+
+ build: Fix determinism issue when building with Clang 8
+
+ When building Qt with LLVM/Clang 8 under -O3 (the default), we run into
+ a determinism issue in `qt_interset_spans`. The issue has been fixed for
+ LLVM/Clang 9, see
+ https://github.com/llvm/llvm-project/commit/db101864bdc938deb1d63fe4f7da761bd38e5cae
+ and https://reviews.llvm.org/D64601, however this fix was not backported
+ to 8.x. Once LLVM/Clang 9 is used, this patch can be dropped.
+
+ The particular issue appears to be an optimization done by -O3 which
+ adds a temporary variable for `spans->y` in `qt_intersect_spans`. When
+ it does this, sometimes it chooses to use a 32-bit movs instruction
+ (movswl), and other times it chooses a 64-bit movs instruction (movswq).
+ By patching `qt_intersect_spans` to always make a temporary variable for
+ `spans->y`, we are able to sidestep this problem.
+
+diff --git a/qtbase/src/gui/painting/qpaintengine_raster.cpp b/qtbase/src/gui/painting/qpaintengine_raster.cpp
+index 92ab6e8375..f018009e0b 100644
+--- a/qtbase/src/gui/painting/qpaintengine_raster.cpp
++++ b/qtbase/src/gui/painting/qpaintengine_raster.cpp
+@@ -3971,22 +3971,23 @@ static const QSpan *qt_intersect_spans(const QClipData *clip, int *currentClip,
+ const QSpan *clipEnd = clip->m_spans + clip->count;
+
+ while (available && spans < end ) {
++ const short spans_y = spans->y;
+ if (clipSpans >= clipEnd) {
+ spans = end;
+ break;
+ }
+- if (clipSpans->y > spans->y) {
++ if (clipSpans->y > spans_y) {
+ ++spans;
+ continue;
+ }
+- if (spans->y != clipSpans->y) {
+- if (spans->y < clip->count && clip->m_clipLines[spans->y].spans)
+- clipSpans = clip->m_clipLines[spans->y].spans;
++ if (spans_y != clipSpans->y) {
++ if (spans_y < clip->count && clip->m_clipLines[spans_y].spans)
++ clipSpans = clip->m_clipLines[spans_y].spans;
+ else
+ ++clipSpans;
+ continue;
+ }
+- Q_ASSERT(spans->y == clipSpans->y);
++ Q_ASSERT(spans_y == clipSpans->y);
+
+ int sx1 = spans->x;
+ int sx2 = sx1 + spans->len;
+@@ -4005,7 +4006,7 @@ static const QSpan *qt_intersect_spans(const QClipData *clip, int *currentClip,
+ if (len) {
+ out->x = qMax(sx1, cx1);
+ out->len = qMin(sx2, cx2) - out->x;
+- out->y = spans->y;
++ out->y = spans_y;
+ out->coverage = qt_div_255(spans->coverage * clipSpans->coverage);
+ ++out;
+ --available;
+
diff --git a/doc/JSON-RPC-interface.md b/doc/JSON-RPC-interface.md
index 40d8e330e2..c66e79af71 100644
--- a/doc/JSON-RPC-interface.md
+++ b/doc/JSON-RPC-interface.md
@@ -127,3 +127,14 @@ However, the wallet may not be up-to-date with the current state of the mempool
or the state of the mempool by an RPC that returned before this RPC. For
example, a wallet transaction that was BIP-125-replaced in the mempool prior to
this RPC may not yet be reflected as such in this RPC response.
+
+## Limitations
+
+There is a known issue in the JSON-RPC interface that can cause a node to crash if
+too many http connections are being opened at the same time because the system runs
+out of available file descriptors. To prevent this from happening you might
+want to increase the number of maximum allowed file descriptors in your system
+and try to prevent opening too many connections to your JSON-RPC interface at the
+same time if this is under your control. It is hard to give general advice
+since this depends on your system but if you make several hundred requests at
+once you are definitely at risk of encountering this issue.
diff --git a/doc/REST-interface.md b/doc/REST-interface.md
index 842a3964df..3b127703b7 100644
--- a/doc/REST-interface.md
+++ b/doc/REST-interface.md
@@ -12,6 +12,18 @@ REST Interface consistency guarantees
The [same guarantees as for the RPC Interface](/doc/JSON-RPC-interface.md#rpc-consistency-guarantees)
apply.
+Limitations
+-----------
+
+There is a known issue in the REST interface that can cause a node to crash if
+too many http connections are being opened at the same time because the system runs
+out of available file descriptors. To prevent this from happening you might
+want to increase the number of maximum allowed file descriptors in your system
+and try to prevent opening too many connections to your rest interface at the
+same time if this is under your control. It is hard to give general advice
+since this depends on your system but if you make several hundred requests at
+once you are definitely at risk of encountering this issue.
+
Supported API
-------------
diff --git a/doc/build-osx.md b/doc/build-osx.md
index 2a7d71eea6..300a9a922a 100644
--- a/doc/build-osx.md
+++ b/doc/build-osx.md
@@ -19,7 +19,7 @@ Then install [Homebrew](https://brew.sh).
## Dependencies
```shell
-brew install automake berkeley-db4 libtool boost miniupnpc pkg-config python qt libevent qrencode sqlite
+brew install automake libtool boost miniupnpc pkg-config python qt libevent qrencode
```
If you run into issues, check [Homebrew's troubleshooting page](https://docs.brew.sh/Troubleshooting).
@@ -30,7 +30,22 @@ If you want to build the disk image with `make deploy` (.dmg / optional), you ne
brew install librsvg
```
-## Berkeley DB
+The wallet support requires one or both of the dependencies ([*SQLite*](#sqlite) and [*Berkeley DB*](#berkeley-db)) in the sections below.
+To build Bitcoin Core without wallet, see [*Disable-wallet mode*](#disable-wallet-mode).
+
+#### SQLite
+
+Usually, macOS installation already has a suitable SQLite installation.
+Also, the Homebrew package could be installed:
+
+```shell
+brew install sqlite
+```
+
+In that case the Homebrew package will prevail.
+
+#### Berkeley DB
+
It is recommended to use Berkeley DB 4.8. If you have to build it yourself,
you can use [this](/contrib/install_db4.sh) script to install it
like so:
@@ -41,7 +56,11 @@ like so:
from the root of the repository.
-**Note**: You only need Berkeley DB if the wallet is enabled (see [*Disable-wallet mode*](/doc/build-osx.md#disable-wallet-mode)).
+Also, the Homebrew package could be installed:
+
+```shell
+brew install berkeley-db4
+```
## Build Bitcoin Core
@@ -72,14 +91,14 @@ from the root of the repository.
make deploy
```
-## `disable-wallet` mode
+## Disable-wallet mode
When the intention is to run only a P2P node without a wallet, Bitcoin Core may be
-compiled in `disable-wallet` mode with:
+compiled in disable-wallet mode with:
```shell
./configure --disable-wallet
```
-In this case there is no dependency on Berkeley DB 4.8 and SQLite.
+In this case there is no dependency on [*Berkeley DB*](#berkeley-db) and [*SQLite*](#sqlite).
Mining is also possible in disable-wallet mode using the `getblocktemplate` RPC call.
diff --git a/doc/man/bitcoin-cli.1 b/doc/man/bitcoin-cli.1
index 129651d8e9..50ef3ef96f 100644
--- a/doc/man/bitcoin-cli.1
+++ b/doc/man/bitcoin-cli.1
@@ -1,7 +1,7 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
-.TH BITCOIN-CLI "1" "February 2019" "bitcoin-cli v0.17.99.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
+.TH BITCOIN-CLI "1" "January 2021" "bitcoin-cli v0.21.0.0" "User Commands"
.SH NAME
-bitcoin-cli \- manual page for bitcoin-cli v0.17.99.0
+bitcoin-cli \- manual page for bitcoin-cli v0.21.0.0
.SH SYNOPSIS
.B bitcoin-cli
[\fI\,options\/\fR] \fI\,<command> \/\fR[\fI\,params\/\fR] \fI\,Send command to Bitcoin Core\/\fR
@@ -15,7 +15,7 @@ bitcoin-cli \- manual page for bitcoin-cli v0.17.99.0
.B bitcoin-cli
[\fI\,options\/\fR] \fI\,help <command> Get help for a command\/\fR
.SH DESCRIPTION
-Bitcoin Core RPC client version v0.17.99.0
+Bitcoin Core RPC client version v0.21.0.0
.SH OPTIONS
.HP
\-?
@@ -31,6 +31,15 @@ location. (default: bitcoin.conf)
.IP
Specify data directory
.HP
+\fB\-generate\fR
+.IP
+Generate blocks immediately, equivalent to RPC generatenewaddress
+followed by RPC generatetoaddress. Optional positional integer
+arguments are number of blocks to generate (default: 1) and
+maximum iterations to try (default: 1000000), equivalent to RPC
+generatetoaddress nblocks and maxtries arguments. Example:
+bitcoin\-cli \fB\-generate\fR 4 1000
+.HP
\fB\-getinfo\fR
.IP
Get general information from the remote server. Note that unlike
@@ -43,6 +52,12 @@ be as of a different block from the chain state reported)
.IP
Pass named instead of positional arguments (default: false)
.HP
+\fB\-netinfo\fR
+.IP
+Get network peer connection information from the remote server. An
+optional integer argument from 0 to 4 can be passed for different
+peers listings (default: 0).
+.HP
\fB\-rpcclienttimeout=\fR<n>
.IP
Timeout in seconds during HTTP requests, or 0 for no timeout. (default:
@@ -63,8 +78,8 @@ Password for JSON\-RPC connections
.HP
\fB\-rpcport=\fR<port>
.IP
-Connect to JSON\-RPC on <port> (default: 8332, testnet: 18332, regtest:
-18443)
+Connect to JSON\-RPC on <port> (default: 8332, testnet: 18332, signet:
+38332, regtest: 18443)
.HP
\fB\-rpcuser=\fR<user>
.IP
@@ -92,22 +107,55 @@ is used for the RPC password.
.IP
Read RPC password from standard input as a single line. When combined
with \fB\-stdin\fR, the first line from standard input is used for the
-RPC password.
+RPC password. When combined with \fB\-stdinwalletpassphrase\fR,
+\fB\-stdinrpcpass\fR consumes the first line, and \fB\-stdinwalletpassphrase\fR
+consumes the second.
+.HP
+\fB\-stdinwalletpassphrase\fR
+.IP
+Read wallet passphrase from standard input as a single line. When
+combined with \fB\-stdin\fR, the first line from standard input is used
+for the wallet passphrase.
.HP
\fB\-version\fR
.IP
Print version and exit
.PP
+Debugging/Testing options:
+.PP
Chain selection options:
.HP
+\fB\-chain=\fR<chain>
+.IP
+Use the chain <chain> (default: main). Allowed values: main, test,
+signet, regtest
+.HP
+\fB\-signet\fR
+.IP
+Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
+is defined by the \fB\-signetchallenge\fR parameter
+.HP
+\fB\-signetchallenge\fR
+.IP
+Blocks must satisfy the given script to be considered valid (only for
+signet networks; defaults to the global default signet test
+network challenge)
+.HP
+\fB\-signetseednode\fR
+.IP
+Specify a seed node for the signet network, in the hostname[:port]
+format, e.g. sig.net:1234 (may be used multiple times to specify
+multiple seed nodes; defaults to the global default signet test
+network seed node(s))
+.HP
\fB\-testnet\fR
.IP
-Use the test chain
+Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
.SH COPYRIGHT
-Copyright (C) 2009-2019 The Bitcoin Core developers
+Copyright (C) 2009-2020 The Bitcoin Core developers
Please contribute if you find Bitcoin Core useful. Visit
-<https://bitcoincore.org> for further information about the software.
+<https://bitcoincore.org/> for further information about the software.
The source code is available from <https://github.com/bitcoin/bitcoin>.
This is experimental software.
diff --git a/doc/man/bitcoin-qt.1 b/doc/man/bitcoin-qt.1
index f68be21e8d..9141b9399e 100644
--- a/doc/man/bitcoin-qt.1
+++ b/doc/man/bitcoin-qt.1
@@ -1,12 +1,12 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
-.TH BITCOIN-QT "1" "February 2019" "bitcoin-qt v0.17.99.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
+.TH BITCOIN-QT "1" "January 2021" "bitcoin-qt v0.21.0.0" "User Commands"
.SH NAME
-bitcoin-qt \- manual page for bitcoin-qt v0.17.99.0
+bitcoin-qt \- manual page for bitcoin-qt v0.21.0.0
.SH SYNOPSIS
.B bitcoin-qt
[\fI\,command-line options\/\fR]
.SH DESCRIPTION
-Bitcoin Core version v0.17.99.0 (64\-bit)
+Bitcoin Core version v0.21.0.0
.SH OPTIONS
.HP
\-?
@@ -23,9 +23,17 @@ long fork (%s in cmd is replaced by message)
If this block is in the chain assume that it and its ancestors are valid
and potentially skip their script verification (0 to verify all,
default:
-0000000000000000002e63058c023a9a1de233554f28c7b21380b6c9003f36a8,
+0000000000000000000b9d2ec5a352ecba0592946514a92f14319dc2b367fc72,
testnet:
-0000000000000037a8cd3e06cd5edbfe9dd1dbcc5dacab279376ef7cfc2b4c75)
+000000000000006433d1efec504c53ca332b64963c425395515b01977bd7b3b0,
+signet:
+0000002a1de0f46379358c1fd09906f7ac59adf3712323ed90eb59e4c183c020)
+.HP
+\fB\-blockfilterindex=\fR<type>
+.IP
+Maintain an index of compact filters by block (default: 0, values:
+basic). If <type> is not supplied or if <type> = 1, indexes for
+all known types are enabled.
.HP
\fB\-blocknotify=\fR<cmd>
.IP
@@ -39,12 +47,20 @@ Extra transactions to keep in memory for compact block reconstructions
.HP
\fB\-blocksdir=\fR<dir>
.IP
-Specify blocks directory (default: <datadir>/blocks)
+Specify directory to hold blocks subdirectory for *.dat files (default:
+<datadir>)
+.HP
+\fB\-blocksonly\fR
+.IP
+Whether to reject transactions from network peers. Automatic broadcast
+and rebroadcast of any transactions from inbound peers is
+disabled, unless the peer has the 'forcerelay' permission. RPC
+transactions are not affected. (default: 0)
.HP
\fB\-conf=\fR<file>
.IP
-Specify configuration file. Relative paths will be prefixed by datadir
-location. (default: bitcoin.conf)
+Specify path to read\-only configuration file. Relative paths will be
+prefixed by datadir location. (default: bitcoin.conf)
.HP
\fB\-daemon\fR
.IP
@@ -56,7 +72,9 @@ Specify data directory
.HP
\fB\-dbcache=\fR<n>
.IP
-Set database cache size in MiB (4 to 16384, default: 450)
+Maximum database cache size <n> MiB (4 to 16384, default: 450). In
+addition, unused mempool memory is shared for this cache (see
+\fB\-maxmempool\fR).
.HP
\fB\-debuglogfile=\fR<file>
.IP
@@ -71,7 +89,7 @@ Specify additional configuration file, relative to the \fB\-datadir\fR path
.HP
\fB\-loadblock=\fR<file>
.IP
-Imports blocks from external blk000??.dat file on startup
+Imports blocks from external file on startup
.HP
\fB\-maxmempool=\fR<n>
.IP
@@ -88,7 +106,7 @@ Do not keep transactions in the mempool longer than <n> hours (default:
.HP
\fB\-par=\fR<n>
.IP
-Set the number of script verification threads (\fB\-8\fR to 16, 0 = auto, <0 =
+Set the number of script verification threads (\fB\-6\fR to 15, 0 = auto, <0 =
leave that many cores free, default: 0)
.HP
\fB\-persistmempool\fR
@@ -122,6 +140,18 @@ Rebuild chain state from the currently indexed blocks. When in pruning
mode or if blocks on disk might be corrupted, use full \fB\-reindex\fR
instead.
.HP
+\fB\-settings=\fR<file>
+.IP
+Specify path to dynamic settings data file. Can be disabled with
+\fB\-nosettings\fR. File is written at runtime and not meant to be
+edited by users (use bitcoin.conf instead for custom settings).
+Relative paths will be prefixed by datadir location. (default:
+settings.json)
+.HP
+\fB\-startupnotify=\fR<cmd>
+.IP
+Execute command on startup.
+.HP
\fB\-sysperms\fR
.IP
Create new files with system default permissions, instead of umask 077
@@ -144,19 +174,24 @@ Add a node to connect to and attempt to keep the connection open (see
the `addnode` RPC command help for more info). This option can be
specified multiple times to add multiple nodes.
.HP
-\fB\-banscore=\fR<n>
+\fB\-asmap=\fR<file>
.IP
-Threshold for disconnecting misbehaving peers (default: 100)
+Specify asn mapping used for bucketing of the peers (default:
+ip_asn.map). Relative paths will be prefixed by the net\-specific
+datadir location.
.HP
\fB\-bantime=\fR<n>
.IP
-Number of seconds to keep misbehaving peers from reconnecting (default:
+Default duration (in seconds) of manually configured bans (default:
86400)
.HP
-\fB\-bind=\fR<addr>
+\fB\-bind=\fR<addr>[:<port>][=onion]
.IP
-Bind to given address and always listen on it. Use [host]:port notation
-for IPv6
+Bind to given address and always listen on it (default: 0.0.0.0). Use
+[host]:port notation for IPv6. Append =onion to tag any incoming
+connections to that address and port as incoming Tor connections
+(default: 127.0.0.1:8334=onion, testnet: 127.0.0.1:18334=onion,
+signet: 127.0.0.1:38334=onion, regtest: 127.0.0.1:18445=onion)
.HP
\fB\-connect=\fR<ip>
.IP
@@ -193,7 +228,7 @@ Accept connections from outside (default: 1 if no \fB\-proxy\fR or \fB\-connect\
.HP
\fB\-listenonion\fR
.IP
-Automatically create Tor hidden service (default: 1)
+Automatically create Tor onion service (default: 1)
.HP
\fB\-maxconnections=\fR<n>
.IP
@@ -215,12 +250,18 @@ amount. (default: 4200 seconds)
.HP
\fB\-maxuploadtarget=\fR<n>
.IP
-Tries to keep outbound traffic under the given target (in MiB per 24h),
-0 = no limit (default: 0)
+Tries to keep outbound traffic under the given target (in MiB per 24h).
+Limit does not apply to peers with 'download' permission. 0 = no
+limit (default: 0)
+.HP
+\fB\-networkactive\fR
+.IP
+Enable all P2P network activity (default: 1). Can be changed by the
+setnetworkactive RPC command
.HP
\fB\-onion=\fR<ip:port>
.IP
-Use separate SOCKS5 proxy to reach peers via Tor hidden services, set
+Use separate SOCKS5 proxy to reach peers via Tor onion services, set
\fB\-noonion\fR to disable (default: \fB\-proxy\fR)
.HP
\fB\-onlynet=\fR<net>
@@ -230,10 +271,14 @@ onion). Incoming connections are not affected by this option.
This option can be specified multiple times to allow multiple
networks.
.HP
+\fB\-peerblockfilters\fR
+.IP
+Serve compact block filters to peers per BIP 157 (default: 0)
+.HP
\fB\-peerbloomfilters\fR
.IP
Support filtering of blocks and transaction with bloom filters (default:
-1)
+0)
.HP
\fB\-permitbaremultisig\fR
.IP
@@ -241,8 +286,9 @@ Relay non\-P2SH multisig (default: 1)
.HP
\fB\-port=\fR<port>
.IP
-Listen for connections on <port> (default: 8333, testnet: 18333,
-regtest: 18444)
+Listen for connections on <port>. Nodes not using the default ports
+(default: 8333, testnet: 18333, signet: 38333, regtest: 18444)
+are unlikely to get incoming connections.
.HP
\fB\-proxy=\fR<ip:port>
.IP
@@ -277,25 +323,35 @@ Tor control port password (default: empty)
.IP
Use UPnP to map the listening port (default: 0)
.HP
-\fB\-whitebind=\fR<addr>
-.IP
-Bind to given address and whitelist peers connecting to it. Use
-[host]:port notation for IPv6
-.HP
-\fB\-whitelist=\fR<IP address or network>
-.IP
-Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or
-CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple
-times. Whitelisted peers cannot be DoS banned and their
-transactions are always relayed, even if they are already in the
-mempool, useful e.g. for a gateway
+\fB\-whitebind=\fR<[permissions@]addr>
+.IP
+Bind to the given address and add permission flags to the peers
+connecting to it. Use [host]:port notation for IPv6. Allowed
+permissions: bloomfilter (allow requesting BIP37 filtered blocks
+and transactions), noban (do not ban for misbehavior; implies
+download), forcerelay (relay transactions that are already in the
+mempool; implies relay), relay (relay even in \fB\-blocksonly\fR mode,
+and unlimited transaction announcements), mempool (allow
+requesting BIP35 mempool contents), download (allow getheaders
+during IBD, no disconnect after maxuploadtarget limit), addr
+(responses to GETADDR avoid hitting the cache and contain random
+records with the most up\-to\-date info). Specify multiple
+permissions separated by commas (default:
+download,noban,mempool,relay). Can be specified multiple times.
+.HP
+\fB\-whitelist=\fR<[permissions@]IP address or network>
+.IP
+Add permission flags to the peers connecting from the given IP address
+(e.g. 1.2.3.4) or CIDR\-notated network (e.g. 1.2.3.0/24). Uses
+the same permissions as \fB\-whitebind\fR. Can be specified multiple
+times.
.PP
Wallet options:
.HP
\fB\-addresstype\fR
.IP
What type of addresses to use ("legacy", "p2sh\-segwit", or "bech32",
-default: "p2sh\-segwit")
+default: "bech32")
.HP
\fB\-avoidpartialspends\fR
.IP
@@ -303,7 +359,8 @@ Group outputs by address, selecting all or none, instead of selecting on
a per\-output basis. Privacy is improved as an address is only
used once (unless someone sends to it after spending from it),
but may result in slightly higher fees as suboptimal coin
-selection may result due to the added limitation (default: 0)
+selection may result due to the added limitation (default: 0
+(always enabled for wallets with "avoid_reuse" enabled))
.HP
\fB\-changetype\fR
.IP
@@ -327,11 +384,20 @@ limited by the fee estimate for the longest target
\fB\-fallbackfee=\fR<amt>
.IP
A fee rate (in BTC/kB) that will be used when fee estimation has
-insufficient data (default: 0.0002)
+insufficient data. 0 to entirely disable the fallbackfee feature.
+(default: 0.00)
.HP
\fB\-keypool=\fR<n>
.IP
-Set key pool size to <n> (default: 1000)
+Set key pool size to <n> (default: 1000). Warning: Smaller sizes may
+increase the risk of losing funds when restoring from an old
+backup, if none of the addresses in the original keypool have
+been used.
+.HP
+\fB\-maxapsfee=\fR<n>
+.IP
+Spend up to this amount in additional (absolute) fees (in BTC) if it
+allows the use of partial spend avoidance (default: 0.00)
.HP
\fB\-mintxfee=\fR<amt>
.IP
@@ -346,10 +412,6 @@ Fee (in BTC/kB) to add to transactions you send (default: 0.00)
.IP
Rescan the block chain for missing wallet transactions on startup
.HP
-\fB\-salvagewallet\fR
-.IP
-Attempt to recover private keys from a corrupt wallet on startup
-.HP
\fB\-spendzeroconfchange\fR
.IP
Spend unconfirmed change when sending transactions (default: 1)
@@ -359,18 +421,15 @@ Spend unconfirmed change when sending transactions (default: 1)
If paytxfee is not set, include enough fee so transactions begin
confirmation on average within n blocks (default: 6)
.HP
-\fB\-upgradewallet\fR
-.IP
-Upgrade wallet to latest format on startup
-.HP
\fB\-wallet=\fR<path>
.IP
-Specify wallet database path. Can be specified multiple times to load
-multiple wallets. Path is interpreted relative to <walletdir> if
-it is not absolute, and will be created if it does not exist (as
-a directory containing a wallet.dat file and log files). For
-backwards compatibility this will also accept names of existing
-data files in <walletdir>.)
+Specify wallet path to load at startup. Can be used multiple times to
+load multiple wallets. Path is to a directory containing wallet
+data and log files. If the path is not absolute, it is
+interpreted relative to <walletdir>. This only loads existing
+wallets and does not create new ones. For backwards compatibility
+this also accepts names of existing top\-level data files in
+<walletdir>.
.HP
\fB\-walletbroadcast\fR
.IP
@@ -383,18 +442,15 @@ exists, otherwise <datadir>)
.HP
\fB\-walletnotify=\fR<cmd>
.IP
-Execute command when a wallet transaction changes (%s in cmd is replaced
-by TxID)
+Execute command when a wallet transaction changes. %s in cmd is replaced
+by TxID and %w is replaced by wallet name. %w is not currently
+implemented on windows. On systems where %w is supported, it
+should NOT be quoted because this would break shell escaping used
+to invoke the command.
.HP
\fB\-walletrbf\fR
.IP
Send transactions with full\-RBF opt\-in enabled (RPC only, default: 0)
-.HP
-\fB\-zapwallettxes=\fR<mode>
-.IP
-Delete all wallet transactions and only recover those parts of the
-blockchain through \fB\-rescan\fR on startup (1 = keep tx meta data e.g.
-payment request information, 2 = drop tx meta data)
.PP
ZeroMQ notification options:
.HP
@@ -402,17 +458,43 @@ ZeroMQ notification options:
.IP
Enable publish hash block in <address>
.HP
+\fB\-zmqpubhashblockhwm=\fR<n>
+.IP
+Set publish hash block outbound message high water mark (default: 1000)
+.HP
\fB\-zmqpubhashtx=\fR<address>
.IP
Enable publish hash transaction in <address>
.HP
+\fB\-zmqpubhashtxhwm=\fR<n>
+.IP
+Set publish hash transaction outbound message high water mark (default:
+1000)
+.HP
\fB\-zmqpubrawblock=\fR<address>
.IP
Enable publish raw block in <address>
.HP
+\fB\-zmqpubrawblockhwm=\fR<n>
+.IP
+Set publish raw block outbound message high water mark (default: 1000)
+.HP
\fB\-zmqpubrawtx=\fR<address>
.IP
Enable publish raw transaction in <address>
+.HP
+\fB\-zmqpubrawtxhwm=\fR<n>
+.IP
+Set publish raw transaction outbound message high water mark (default:
+1000)
+.HP
+\fB\-zmqpubsequence=\fR<address>
+.IP
+Enable publish hash block and tx sequence in <address>
+.HP
+\fB\-zmqpubsequencehwm=\fR<n>
+.IP
+Set publish hash sequence message high water mark (default: 1000)
.PP
Debugging/Testing options:
.HP
@@ -421,9 +503,9 @@ Debugging/Testing options:
Output debugging information (default: \fB\-nodebug\fR, supplying <category> is
optional). If <category> is not supplied or if <category> = 1,
output all debugging information. <category> can be: net, tor,
-mempool, http, bench, zmq, db, rpc, estimatefee, addrman,
+mempool, http, bench, zmq, walletdb, rpc, estimatefee, addrman,
selectcoins, reindex, cmpctblock, rand, prune, proxy, mempoolrej,
-libevent, coindb, qt, leveldb.
+libevent, coindb, qt, leveldb, validation.
.HP
\fB\-debugexclude=\fR<category>
.IP
@@ -439,15 +521,19 @@ Print help message with debugging options and exit
.IP
Include IP addresses in debug output (default: 0)
.HP
+\fB\-logthreadnames\fR
+.IP
+Prepend debug output with name of the originating thread (only available
+on platforms supporting thread_local) (default: 0)
+.HP
\fB\-logtimestamps\fR
.IP
Prepend debug output with timestamp (default: 1)
.HP
\fB\-maxtxfee=\fR<amt>
.IP
-Maximum total fees (in BTC) to use in a single wallet transaction or raw
-transaction; setting this too low may abort large transactions
-(default: 0.10)
+Maximum total fees (in BTC) to use in a single wallet transaction;
+setting this too low may abort large transactions (default: 0.10)
.HP
\fB\-printtoconsole\fR
.IP
@@ -464,9 +550,32 @@ Append comment to the user agent string
.PP
Chain selection options:
.HP
+\fB\-chain=\fR<chain>
+.IP
+Use the chain <chain> (default: main). Allowed values: main, test,
+signet, regtest
+.HP
+\fB\-signet\fR
+.IP
+Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
+is defined by the \fB\-signetchallenge\fR parameter
+.HP
+\fB\-signetchallenge\fR
+.IP
+Blocks must satisfy the given script to be considered valid (only for
+signet networks; defaults to the global default signet test
+network challenge)
+.HP
+\fB\-signetseednode\fR
+.IP
+Specify a seed node for the signet network, in the hostname[:port]
+format, e.g. sig.net:1234 (may be used multiple times to specify
+multiple seed nodes; defaults to the global default signet test
+network seed node(s))
+.HP
\fB\-testnet\fR
.IP
-Use the test chain
+Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
.PP
Node relay options:
.HP
@@ -484,7 +593,6 @@ Relay and mine data carrier transactions (default: 1)
Maximum size of data in data carrier transactions we relay and mine
(default: 83)
.HP
-.HP
\fB\-minrelaytxfee=\fR<amt>
.IP
Fees (in BTC/kB) smaller than this are considered zero fee for relaying,
@@ -492,13 +600,15 @@ mining and transaction creation (default: 0.00001)
.HP
\fB\-whitelistforcerelay\fR
.IP
-Force relay of transactions from whitelisted peers even if they violate
-local relay policy (default: 0)
+Add 'forcerelay' permission to whitelisted inbound peers with default
+permissions. This will relay transactions even if the
+transactions were already in the mempool. (default: 0)
.HP
\fB\-whitelistrelay\fR
.IP
-Accept relayed transactions received from whitelisted peers even when
-not relaying transactions (default: 1)
+Add 'relay' permission to whitelisted inbound peers with default
+permissions. This will accept relayed transactions even when not
+relaying transactions (default: 1)
.PP
Block creation options:
.HP
@@ -554,7 +664,7 @@ Password for JSON\-RPC connections
\fB\-rpcport=\fR<port>
.IP
Listen for JSON\-RPC connections on <port> (default: 8332, testnet:
-18332, regtest: 18443)
+18332, signet: 38332, regtest: 18443)
.HP
\fB\-rpcserialversion\fR
.IP
@@ -569,6 +679,23 @@ Set the number of threads to service RPC calls (default: 4)
.IP
Username for JSON\-RPC connections
.HP
+\fB\-rpcwhitelist=\fR<whitelist>
+.IP
+Set a whitelist to filter incoming RPC calls for a specific user. The
+field <whitelist> comes in the format: <USERNAME>:<rpc 1>,<rpc
+2>,...,<rpc n>. If multiple whitelists are set for a given user,
+they are set\-intersected. See \fB\-rpcwhitelistdefault\fR documentation
+for information on default whitelist behavior.
+.HP
+\fB\-rpcwhitelistdefault\fR
+.IP
+Sets default behavior for rpc whitelisting. Unless rpcwhitelistdefault
+is set to 0, if any \fB\-rpcwhitelist\fR is set, the rpc server acts as
+if all rpc users are subject to empty\-unless\-otherwise\-specified
+whitelists. If rpcwhitelistdefault is set to 1 and no
+\fB\-rpcwhitelist\fR is set, rpc server acts as if all rpc users are
+subject to empty whitelists.
+.HP
\fB\-server\fR
.IP
Accept command line and JSON\-RPC commands
@@ -591,18 +718,14 @@ Start minimized
.IP
Reset all settings changed in the GUI
.HP
-\fB\-rootcertificates=\fR<file>
-.IP
-Set SSL root certificates for payment request (default: \fB\-system\-\fR)
-.HP
\fB\-splash\fR
.IP
Show splash screen on startup (default: 1)
.SH COPYRIGHT
-Copyright (C) 2009-2019 The Bitcoin Core developers
+Copyright (C) 2009-2020 The Bitcoin Core developers
Please contribute if you find Bitcoin Core useful. Visit
-<https://bitcoincore.org> for further information about the software.
+<https://bitcoincore.org/> for further information about the software.
The source code is available from <https://github.com/bitcoin/bitcoin>.
This is experimental software.
diff --git a/doc/man/bitcoin-tx.1 b/doc/man/bitcoin-tx.1
index b4c7698896..cf1dbd6757 100644
--- a/doc/man/bitcoin-tx.1
+++ b/doc/man/bitcoin-tx.1
@@ -1,7 +1,7 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
-.TH BITCOIN-TX "1" "February 2019" "bitcoin-tx v0.17.99.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
+.TH BITCOIN-TX "1" "January 2021" "bitcoin-tx v0.21.0.0" "User Commands"
.SH NAME
-bitcoin-tx \- manual page for bitcoin-tx v0.17.99.0
+bitcoin-tx \- manual page for bitcoin-tx v0.21.0.0
.SH SYNOPSIS
.B bitcoin-tx
[\fI\,options\/\fR] \fI\,<hex-tx> \/\fR[\fI\,commands\/\fR] \fI\,Update hex-encoded bitcoin transaction\/\fR
@@ -9,7 +9,7 @@ bitcoin-tx \- manual page for bitcoin-tx v0.17.99.0
.B bitcoin-tx
[\fI\,options\/\fR] \fI\,-create \/\fR[\fI\,commands\/\fR] \fI\,Create hex-encoded bitcoin transaction\/\fR
.SH DESCRIPTION
-Bitcoin Core bitcoin\-tx utility version v0.17.99.0
+Bitcoin Core bitcoin\-tx utility version v0.21.0.0
.SH OPTIONS
.HP
\-?
@@ -28,11 +28,36 @@ Select JSON output
.IP
Output only the hex\-encoded transaction id of the resultant transaction.
.PP
+Debugging/Testing options:
+.PP
Chain selection options:
.HP
+\fB\-chain=\fR<chain>
+.IP
+Use the chain <chain> (default: main). Allowed values: main, test,
+signet, regtest
+.HP
+\fB\-signet\fR
+.IP
+Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
+is defined by the \fB\-signetchallenge\fR parameter
+.HP
+\fB\-signetchallenge\fR
+.IP
+Blocks must satisfy the given script to be considered valid (only for
+signet networks; defaults to the global default signet test
+network challenge)
+.HP
+\fB\-signetseednode\fR
+.IP
+Specify a seed node for the signet network, in the hostname[:port]
+format, e.g. sig.net:1234 (may be used multiple times to specify
+multiple seed nodes; defaults to the global default signet test
+network seed node(s))
+.HP
\fB\-testnet\fR
.IP
-Use the test chain
+Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
.PP
Commands:
.IP
@@ -105,10 +130,10 @@ set=NAME:JSON\-STRING
.IP
Set register NAME to given JSON\-STRING
.SH COPYRIGHT
-Copyright (C) 2009-2019 The Bitcoin Core developers
+Copyright (C) 2009-2020 The Bitcoin Core developers
Please contribute if you find Bitcoin Core useful. Visit
-<https://bitcoincore.org> for further information about the software.
+<https://bitcoincore.org/> for further information about the software.
The source code is available from <https://github.com/bitcoin/bitcoin>.
This is experimental software.
diff --git a/doc/man/bitcoin-wallet.1 b/doc/man/bitcoin-wallet.1
index aadea09a2b..84c596c128 100644
--- a/doc/man/bitcoin-wallet.1
+++ b/doc/man/bitcoin-wallet.1
@@ -1,12 +1,12 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
-.TH BITCOIN-WALLET "1" "February 2019" "bitcoin-wallet v0.17.99.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
+.TH BITCOIN-WALLET "1" "January 2021" "bitcoin-wallet v0.21.0.0" "User Commands"
.SH NAME
-bitcoin-wallet \- manual page for bitcoin-wallet v0.17.99.0
+bitcoin-wallet \- manual page for bitcoin-wallet v0.21.0.0
.SH DESCRIPTION
-Bitcoin Core bitcoin\-wallet version v0.17.99.0
+Bitcoin Core bitcoin\-wallet version v0.21.0.0
.PP
-wallet\-tool is an offline tool for creating and interacting with Bitcoin Core wallet files.
-By default wallet\-tool will act on wallets in the default mainnet wallet directory in the datadir.
+bitcoin\-wallet is an offline tool for creating and interacting with Bitcoin Core wallet files.
+By default bitcoin\-wallet will act on wallets in the default mainnet wallet directory in the datadir.
To change the target wallet, use the \fB\-datadir\fR, \fB\-wallet\fR and \fB\-testnet\fR/\-regtest arguments.
.SS "Usage:"
.IP
@@ -34,13 +34,36 @@ Output debugging information (default: 0).
\fB\-printtoconsole\fR
.IP
Send trace/debug info to console (default: 1 when no \fB\-debug\fR is true, 0
-otherwise.
+otherwise).
.PP
Chain selection options:
.HP
+\fB\-chain=\fR<chain>
+.IP
+Use the chain <chain> (default: main). Allowed values: main, test,
+signet, regtest
+.HP
+\fB\-signet\fR
+.IP
+Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
+is defined by the \fB\-signetchallenge\fR parameter
+.HP
+\fB\-signetchallenge\fR
+.IP
+Blocks must satisfy the given script to be considered valid (only for
+signet networks; defaults to the global default signet test
+network challenge)
+.HP
+\fB\-signetseednode\fR
+.IP
+Specify a seed node for the signet network, in the hostname[:port]
+format, e.g. sig.net:1234 (may be used multiple times to specify
+multiple seed nodes; defaults to the global default signet test
+network seed node(s))
+.HP
\fB\-testnet\fR
.IP
-Use the test chain
+Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
.PP
Commands:
.IP
@@ -51,11 +74,16 @@ Create new wallet file
info
.IP
Get wallet info
+.IP
+salvage
+.IP
+Attempt to recover private keys from a corrupt wallet. Warning:
+\&'salvage' is experimental.
.SH COPYRIGHT
-Copyright (C) 2009-2019 The Bitcoin Core developers
+Copyright (C) 2009-2020 The Bitcoin Core developers
Please contribute if you find Bitcoin Core useful. Visit
-<https://bitcoincore.org> for further information about the software.
+<https://bitcoincore.org/> for further information about the software.
The source code is available from <https://github.com/bitcoin/bitcoin>.
This is experimental software.
diff --git a/doc/man/bitcoind.1 b/doc/man/bitcoind.1
index 211ba10285..c4a7b30b1c 100644
--- a/doc/man/bitcoind.1
+++ b/doc/man/bitcoind.1
@@ -1,12 +1,12 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
-.TH BITCOIND "1" "February 2019" "bitcoind v0.17.99.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
+.TH BITCOIND "1" "January 2021" "bitcoind v0.21.0.0" "User Commands"
.SH NAME
-bitcoind \- manual page for bitcoind v0.17.99.0
+bitcoind \- manual page for bitcoind v0.21.0.0
.SH SYNOPSIS
.B bitcoind
-[\fI\,options\/\fR] \fI\,Start Bitcoin Core Daemon\/\fR
+[\fI\,options\/\fR] \fI\,Start Bitcoin Core\/\fR
.SH DESCRIPTION
-Bitcoin Core Daemon version v0.17.99.0
+Bitcoin Core version v0.21.0.0
.SH OPTIONS
.HP
\-?
@@ -23,9 +23,17 @@ long fork (%s in cmd is replaced by message)
If this block is in the chain assume that it and its ancestors are valid
and potentially skip their script verification (0 to verify all,
default:
-0000000000000000002e63058c023a9a1de233554f28c7b21380b6c9003f36a8,
+0000000000000000000b9d2ec5a352ecba0592946514a92f14319dc2b367fc72,
testnet:
-0000000000000037a8cd3e06cd5edbfe9dd1dbcc5dacab279376ef7cfc2b4c75)
+000000000000006433d1efec504c53ca332b64963c425395515b01977bd7b3b0,
+signet:
+0000002a1de0f46379358c1fd09906f7ac59adf3712323ed90eb59e4c183c020)
+.HP
+\fB\-blockfilterindex=\fR<type>
+.IP
+Maintain an index of compact filters by block (default: 0, values:
+basic). If <type> is not supplied or if <type> = 1, indexes for
+all known types are enabled.
.HP
\fB\-blocknotify=\fR<cmd>
.IP
@@ -39,12 +47,20 @@ Extra transactions to keep in memory for compact block reconstructions
.HP
\fB\-blocksdir=\fR<dir>
.IP
-Specify blocks directory (default: <datadir>/blocks)
+Specify directory to hold blocks subdirectory for *.dat files (default:
+<datadir>)
+.HP
+\fB\-blocksonly\fR
+.IP
+Whether to reject transactions from network peers. Automatic broadcast
+and rebroadcast of any transactions from inbound peers is
+disabled, unless the peer has the 'forcerelay' permission. RPC
+transactions are not affected. (default: 0)
.HP
\fB\-conf=\fR<file>
.IP
-Specify configuration file. Relative paths will be prefixed by datadir
-location. (default: bitcoin.conf)
+Specify path to read\-only configuration file. Relative paths will be
+prefixed by datadir location. (default: bitcoin.conf)
.HP
\fB\-daemon\fR
.IP
@@ -56,7 +72,9 @@ Specify data directory
.HP
\fB\-dbcache=\fR<n>
.IP
-Set database cache size in MiB (4 to 16384, default: 450)
+Maximum database cache size <n> MiB (4 to 16384, default: 450). In
+addition, unused mempool memory is shared for this cache (see
+\fB\-maxmempool\fR).
.HP
\fB\-debuglogfile=\fR<file>
.IP
@@ -71,7 +89,7 @@ Specify additional configuration file, relative to the \fB\-datadir\fR path
.HP
\fB\-loadblock=\fR<file>
.IP
-Imports blocks from external blk000??.dat file on startup
+Imports blocks from external file on startup
.HP
\fB\-maxmempool=\fR<n>
.IP
@@ -88,7 +106,7 @@ Do not keep transactions in the mempool longer than <n> hours (default:
.HP
\fB\-par=\fR<n>
.IP
-Set the number of script verification threads (\fB\-8\fR to 16, 0 = auto, <0 =
+Set the number of script verification threads (\fB\-6\fR to 15, 0 = auto, <0 =
leave that many cores free, default: 0)
.HP
\fB\-persistmempool\fR
@@ -122,6 +140,18 @@ Rebuild chain state from the currently indexed blocks. When in pruning
mode or if blocks on disk might be corrupted, use full \fB\-reindex\fR
instead.
.HP
+\fB\-settings=\fR<file>
+.IP
+Specify path to dynamic settings data file. Can be disabled with
+\fB\-nosettings\fR. File is written at runtime and not meant to be
+edited by users (use bitcoin.conf instead for custom settings).
+Relative paths will be prefixed by datadir location. (default:
+settings.json)
+.HP
+\fB\-startupnotify=\fR<cmd>
+.IP
+Execute command on startup.
+.HP
\fB\-sysperms\fR
.IP
Create new files with system default permissions, instead of umask 077
@@ -144,19 +174,24 @@ Add a node to connect to and attempt to keep the connection open (see
the `addnode` RPC command help for more info). This option can be
specified multiple times to add multiple nodes.
.HP
-\fB\-banscore=\fR<n>
+\fB\-asmap=\fR<file>
.IP
-Threshold for disconnecting misbehaving peers (default: 100)
+Specify asn mapping used for bucketing of the peers (default:
+ip_asn.map). Relative paths will be prefixed by the net\-specific
+datadir location.
.HP
\fB\-bantime=\fR<n>
.IP
-Number of seconds to keep misbehaving peers from reconnecting (default:
+Default duration (in seconds) of manually configured bans (default:
86400)
.HP
-\fB\-bind=\fR<addr>
+\fB\-bind=\fR<addr>[:<port>][=onion]
.IP
-Bind to given address and always listen on it. Use [host]:port notation
-for IPv6
+Bind to given address and always listen on it (default: 0.0.0.0). Use
+[host]:port notation for IPv6. Append =onion to tag any incoming
+connections to that address and port as incoming Tor connections
+(default: 127.0.0.1:8334=onion, testnet: 127.0.0.1:18334=onion,
+signet: 127.0.0.1:38334=onion, regtest: 127.0.0.1:18445=onion)
.HP
\fB\-connect=\fR<ip>
.IP
@@ -193,7 +228,7 @@ Accept connections from outside (default: 1 if no \fB\-proxy\fR or \fB\-connect\
.HP
\fB\-listenonion\fR
.IP
-Automatically create Tor hidden service (default: 1)
+Automatically create Tor onion service (default: 1)
.HP
\fB\-maxconnections=\fR<n>
.IP
@@ -215,12 +250,18 @@ amount. (default: 4200 seconds)
.HP
\fB\-maxuploadtarget=\fR<n>
.IP
-Tries to keep outbound traffic under the given target (in MiB per 24h),
-0 = no limit (default: 0)
+Tries to keep outbound traffic under the given target (in MiB per 24h).
+Limit does not apply to peers with 'download' permission. 0 = no
+limit (default: 0)
+.HP
+\fB\-networkactive\fR
+.IP
+Enable all P2P network activity (default: 1). Can be changed by the
+setnetworkactive RPC command
.HP
\fB\-onion=\fR<ip:port>
.IP
-Use separate SOCKS5 proxy to reach peers via Tor hidden services, set
+Use separate SOCKS5 proxy to reach peers via Tor onion services, set
\fB\-noonion\fR to disable (default: \fB\-proxy\fR)
.HP
\fB\-onlynet=\fR<net>
@@ -230,10 +271,14 @@ onion). Incoming connections are not affected by this option.
This option can be specified multiple times to allow multiple
networks.
.HP
+\fB\-peerblockfilters\fR
+.IP
+Serve compact block filters to peers per BIP 157 (default: 0)
+.HP
\fB\-peerbloomfilters\fR
.IP
Support filtering of blocks and transaction with bloom filters (default:
-1)
+0)
.HP
\fB\-permitbaremultisig\fR
.IP
@@ -241,8 +286,9 @@ Relay non\-P2SH multisig (default: 1)
.HP
\fB\-port=\fR<port>
.IP
-Listen for connections on <port> (default: 8333, testnet: 18333,
-regtest: 18444)
+Listen for connections on <port>. Nodes not using the default ports
+(default: 8333, testnet: 18333, signet: 38333, regtest: 18444)
+are unlikely to get incoming connections.
.HP
\fB\-proxy=\fR<ip:port>
.IP
@@ -277,25 +323,35 @@ Tor control port password (default: empty)
.IP
Use UPnP to map the listening port (default: 0)
.HP
-\fB\-whitebind=\fR<addr>
-.IP
-Bind to given address and whitelist peers connecting to it. Use
-[host]:port notation for IPv6
-.HP
-\fB\-whitelist=\fR<IP address or network>
-.IP
-Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or
-CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple
-times. Whitelisted peers cannot be DoS banned and their
-transactions are always relayed, even if they are already in the
-mempool, useful e.g. for a gateway
+\fB\-whitebind=\fR<[permissions@]addr>
+.IP
+Bind to the given address and add permission flags to the peers
+connecting to it. Use [host]:port notation for IPv6. Allowed
+permissions: bloomfilter (allow requesting BIP37 filtered blocks
+and transactions), noban (do not ban for misbehavior; implies
+download), forcerelay (relay transactions that are already in the
+mempool; implies relay), relay (relay even in \fB\-blocksonly\fR mode,
+and unlimited transaction announcements), mempool (allow
+requesting BIP35 mempool contents), download (allow getheaders
+during IBD, no disconnect after maxuploadtarget limit), addr
+(responses to GETADDR avoid hitting the cache and contain random
+records with the most up\-to\-date info). Specify multiple
+permissions separated by commas (default:
+download,noban,mempool,relay). Can be specified multiple times.
+.HP
+\fB\-whitelist=\fR<[permissions@]IP address or network>
+.IP
+Add permission flags to the peers connecting from the given IP address
+(e.g. 1.2.3.4) or CIDR\-notated network (e.g. 1.2.3.0/24). Uses
+the same permissions as \fB\-whitebind\fR. Can be specified multiple
+times.
.PP
Wallet options:
.HP
\fB\-addresstype\fR
.IP
What type of addresses to use ("legacy", "p2sh\-segwit", or "bech32",
-default: "p2sh\-segwit")
+default: "bech32")
.HP
\fB\-avoidpartialspends\fR
.IP
@@ -303,7 +359,8 @@ Group outputs by address, selecting all or none, instead of selecting on
a per\-output basis. Privacy is improved as an address is only
used once (unless someone sends to it after spending from it),
but may result in slightly higher fees as suboptimal coin
-selection may result due to the added limitation (default: 0)
+selection may result due to the added limitation (default: 0
+(always enabled for wallets with "avoid_reuse" enabled))
.HP
\fB\-changetype\fR
.IP
@@ -327,11 +384,20 @@ limited by the fee estimate for the longest target
\fB\-fallbackfee=\fR<amt>
.IP
A fee rate (in BTC/kB) that will be used when fee estimation has
-insufficient data (default: 0.0002)
+insufficient data. 0 to entirely disable the fallbackfee feature.
+(default: 0.00)
.HP
\fB\-keypool=\fR<n>
.IP
-Set key pool size to <n> (default: 1000)
+Set key pool size to <n> (default: 1000). Warning: Smaller sizes may
+increase the risk of losing funds when restoring from an old
+backup, if none of the addresses in the original keypool have
+been used.
+.HP
+\fB\-maxapsfee=\fR<n>
+.IP
+Spend up to this amount in additional (absolute) fees (in BTC) if it
+allows the use of partial spend avoidance (default: 0.00)
.HP
\fB\-mintxfee=\fR<amt>
.IP
@@ -346,10 +412,6 @@ Fee (in BTC/kB) to add to transactions you send (default: 0.00)
.IP
Rescan the block chain for missing wallet transactions on startup
.HP
-\fB\-salvagewallet\fR
-.IP
-Attempt to recover private keys from a corrupt wallet on startup
-.HP
\fB\-spendzeroconfchange\fR
.IP
Spend unconfirmed change when sending transactions (default: 1)
@@ -359,18 +421,15 @@ Spend unconfirmed change when sending transactions (default: 1)
If paytxfee is not set, include enough fee so transactions begin
confirmation on average within n blocks (default: 6)
.HP
-\fB\-upgradewallet\fR
-.IP
-Upgrade wallet to latest format on startup
-.HP
\fB\-wallet=\fR<path>
.IP
-Specify wallet database path. Can be specified multiple times to load
-multiple wallets. Path is interpreted relative to <walletdir> if
-it is not absolute, and will be created if it does not exist (as
-a directory containing a wallet.dat file and log files). For
-backwards compatibility this will also accept names of existing
-data files in <walletdir>.)
+Specify wallet path to load at startup. Can be used multiple times to
+load multiple wallets. Path is to a directory containing wallet
+data and log files. If the path is not absolute, it is
+interpreted relative to <walletdir>. This only loads existing
+wallets and does not create new ones. For backwards compatibility
+this also accepts names of existing top\-level data files in
+<walletdir>.
.HP
\fB\-walletbroadcast\fR
.IP
@@ -383,18 +442,15 @@ exists, otherwise <datadir>)
.HP
\fB\-walletnotify=\fR<cmd>
.IP
-Execute command when a wallet transaction changes (%s in cmd is replaced
-by TxID)
+Execute command when a wallet transaction changes. %s in cmd is replaced
+by TxID and %w is replaced by wallet name. %w is not currently
+implemented on windows. On systems where %w is supported, it
+should NOT be quoted because this would break shell escaping used
+to invoke the command.
.HP
\fB\-walletrbf\fR
.IP
Send transactions with full\-RBF opt\-in enabled (RPC only, default: 0)
-.HP
-\fB\-zapwallettxes=\fR<mode>
-.IP
-Delete all wallet transactions and only recover those parts of the
-blockchain through \fB\-rescan\fR on startup (1 = keep tx meta data e.g.
-payment request information, 2 = drop tx meta data)
.PP
ZeroMQ notification options:
.HP
@@ -402,17 +458,43 @@ ZeroMQ notification options:
.IP
Enable publish hash block in <address>
.HP
+\fB\-zmqpubhashblockhwm=\fR<n>
+.IP
+Set publish hash block outbound message high water mark (default: 1000)
+.HP
\fB\-zmqpubhashtx=\fR<address>
.IP
Enable publish hash transaction in <address>
.HP
+\fB\-zmqpubhashtxhwm=\fR<n>
+.IP
+Set publish hash transaction outbound message high water mark (default:
+1000)
+.HP
\fB\-zmqpubrawblock=\fR<address>
.IP
Enable publish raw block in <address>
.HP
+\fB\-zmqpubrawblockhwm=\fR<n>
+.IP
+Set publish raw block outbound message high water mark (default: 1000)
+.HP
\fB\-zmqpubrawtx=\fR<address>
.IP
Enable publish raw transaction in <address>
+.HP
+\fB\-zmqpubrawtxhwm=\fR<n>
+.IP
+Set publish raw transaction outbound message high water mark (default:
+1000)
+.HP
+\fB\-zmqpubsequence=\fR<address>
+.IP
+Enable publish hash block and tx sequence in <address>
+.HP
+\fB\-zmqpubsequencehwm=\fR<n>
+.IP
+Set publish hash sequence message high water mark (default: 1000)
.PP
Debugging/Testing options:
.HP
@@ -421,9 +503,9 @@ Debugging/Testing options:
Output debugging information (default: \fB\-nodebug\fR, supplying <category> is
optional). If <category> is not supplied or if <category> = 1,
output all debugging information. <category> can be: net, tor,
-mempool, http, bench, zmq, db, rpc, estimatefee, addrman,
+mempool, http, bench, zmq, walletdb, rpc, estimatefee, addrman,
selectcoins, reindex, cmpctblock, rand, prune, proxy, mempoolrej,
-libevent, coindb, qt, leveldb.
+libevent, coindb, qt, leveldb, validation.
.HP
\fB\-debugexclude=\fR<category>
.IP
@@ -439,15 +521,19 @@ Print help message with debugging options and exit
.IP
Include IP addresses in debug output (default: 0)
.HP
+\fB\-logthreadnames\fR
+.IP
+Prepend debug output with name of the originating thread (only available
+on platforms supporting thread_local) (default: 0)
+.HP
\fB\-logtimestamps\fR
.IP
Prepend debug output with timestamp (default: 1)
.HP
\fB\-maxtxfee=\fR<amt>
.IP
-Maximum total fees (in BTC) to use in a single wallet transaction or raw
-transaction; setting this too low may abort large transactions
-(default: 0.10)
+Maximum total fees (in BTC) to use in a single wallet transaction;
+setting this too low may abort large transactions (default: 0.10)
.HP
\fB\-printtoconsole\fR
.IP
@@ -464,9 +550,32 @@ Append comment to the user agent string
.PP
Chain selection options:
.HP
+\fB\-chain=\fR<chain>
+.IP
+Use the chain <chain> (default: main). Allowed values: main, test,
+signet, regtest
+.HP
+\fB\-signet\fR
+.IP
+Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
+is defined by the \fB\-signetchallenge\fR parameter
+.HP
+\fB\-signetchallenge\fR
+.IP
+Blocks must satisfy the given script to be considered valid (only for
+signet networks; defaults to the global default signet test
+network challenge)
+.HP
+\fB\-signetseednode\fR
+.IP
+Specify a seed node for the signet network, in the hostname[:port]
+format, e.g. sig.net:1234 (may be used multiple times to specify
+multiple seed nodes; defaults to the global default signet test
+network seed node(s))
+.HP
\fB\-testnet\fR
.IP
-Use the test chain
+Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
.PP
Node relay options:
.HP
@@ -491,13 +600,15 @@ mining and transaction creation (default: 0.00001)
.HP
\fB\-whitelistforcerelay\fR
.IP
-Force relay of transactions from whitelisted peers even if they violate
-local relay policy (default: 0)
+Add 'forcerelay' permission to whitelisted inbound peers with default
+permissions. This will relay transactions even if the
+transactions were already in the mempool. (default: 0)
.HP
\fB\-whitelistrelay\fR
.IP
-Accept relayed transactions received from whitelisted peers even when
-not relaying transactions (default: 1)
+Add 'relay' permission to whitelisted inbound peers with default
+permissions. This will accept relayed transactions even when not
+relaying transactions (default: 1)
.PP
Block creation options:
.HP
@@ -553,7 +664,7 @@ Password for JSON\-RPC connections
\fB\-rpcport=\fR<port>
.IP
Listen for JSON\-RPC connections on <port> (default: 8332, testnet:
-18332, regtest: 18443)
+18332, signet: 38332, regtest: 18443)
.HP
\fB\-rpcserialversion\fR
.IP
@@ -568,14 +679,31 @@ Set the number of threads to service RPC calls (default: 4)
.IP
Username for JSON\-RPC connections
.HP
+\fB\-rpcwhitelist=\fR<whitelist>
+.IP
+Set a whitelist to filter incoming RPC calls for a specific user. The
+field <whitelist> comes in the format: <USERNAME>:<rpc 1>,<rpc
+2>,...,<rpc n>. If multiple whitelists are set for a given user,
+they are set\-intersected. See \fB\-rpcwhitelistdefault\fR documentation
+for information on default whitelist behavior.
+.HP
+\fB\-rpcwhitelistdefault\fR
+.IP
+Sets default behavior for rpc whitelisting. Unless rpcwhitelistdefault
+is set to 0, if any \fB\-rpcwhitelist\fR is set, the rpc server acts as
+if all rpc users are subject to empty\-unless\-otherwise\-specified
+whitelists. If rpcwhitelistdefault is set to 1 and no
+\fB\-rpcwhitelist\fR is set, rpc server acts as if all rpc users are
+subject to empty whitelists.
+.HP
\fB\-server\fR
.IP
Accept command line and JSON\-RPC commands
.SH COPYRIGHT
-Copyright (C) 2009-2019 The Bitcoin Core developers
+Copyright (C) 2009-2020 The Bitcoin Core developers
Please contribute if you find Bitcoin Core useful. Visit
-<https://bitcoincore.org> for further information about the software.
+<https://bitcoincore.org/> for further information about the software.
The source code is available from <https://github.com/bitcoin/bitcoin>.
This is experimental software.
diff --git a/doc/release-notes.md b/doc/release-notes.md
index 0331328ff5..6abb67150e 100644
--- a/doc/release-notes.md
+++ b/doc/release-notes.md
@@ -1,25 +1,11 @@
-*After branching off for a major version release of Bitcoin Core, use this
-template to create the initial release notes draft.*
+0.21.1 Release Notes
+====================
-*The release notes draft is a temporary file that can be added to by anyone. See
-[/doc/developer-notes.md#release-notes](/doc/developer-notes.md#release-notes)
-for the process.*
+Bitcoin Core version 0.21.1 is now available from:
-*Create the draft, named* "*version* Release Notes Draft"
-*(e.g. "0.20.0 Release Notes Draft"), as a collaborative wiki in:*
+ <https://bitcoincore.org/bin/bitcoin-core-0.21.1/>
-https://github.com/bitcoin-core/bitcoin-devwiki/wiki/
-
-*Before the final release, move the notes back to this git repository.*
-
-*version* Release Notes Draft
-===============================
-
-Bitcoin Core version *version* is now available from:
-
- <https://bitcoincore.org/bin/bitcoin-core-*version*/>
-
-This release includes new features, various bug fixes and performance
+This minor release includes various bug fixes and performance
improvements, as well as updated translations.
Please report bugs using the issue tracker at GitHub:
@@ -45,11 +31,6 @@ wallet versions of Bitcoin Core are generally supported.
Compatibility
==============
-During this release cycle, work has been done to ensure that the codebase is fully
-compatible with C++17. The intention is to begin using C++17 features starting
-with the 0.22.0 release. This means that a compiler that supports C++17 will be
-required to compile 0.22.0.
-
Bitcoin Core is supported and extensively tested on operating systems
using the Linux kernel, macOS 10.12+, and Windows 7 and newer. Bitcoin
Core should also work on most other Unix-like systems but is not as
@@ -60,421 +41,16 @@ From Bitcoin Core 0.20.0 onwards, macOS versions earlier than 10.12 are no
longer supported. Additionally, Bitcoin Core does not yet change appearance
when macOS "dark mode" is activated.
-The node's known peers are persisted to disk in a file called `peers.dat`. The
-format of this file has been changed in a backwards-incompatible way in order to
-accommodate the storage of Tor v3 and other BIP155 addresses. This means that if
-the file is modified by 0.21.0 or newer then older versions will not be able to
-read it. Those old versions, in the event of a downgrade, will log an error
-message "Incorrect keysize in addrman deserialization" and will continue normal
-operation as if the file was missing, creating a new empty one. (#19954)
-
Notable changes
===============
-P2P and network changes
------------------------
-
-- The mempool now tracks whether transactions submitted via the wallet or RPCs
- have been successfully broadcast. Every 10-15 minutes, the node will try to
- announce unbroadcast transactions until a peer requests it via a `getdata`
- message or the transaction is removed from the mempool for other reasons.
- The node will not track the broadcast status of transactions submitted to the
- node using P2P relay. This version reduces the initial broadcast guarantees
- for wallet transactions submitted via P2P to a node running the wallet. (#18038)
-
-- The size of the set of transactions that peers have announced and we consider
- for requests has been reduced from 100000 to 5000 (per peer), and further
- announcements will be ignored when that limit is reached. If you need to dump
- (very) large batches of transactions, exceptions can be made for trusted
- peers using the "relay" network permission. For localhost for example it can
- be enabled using the command line option `-whitelist=relay@127.0.0.1`.
- (#19988)
-
-- The Tor onion service that is automatically created by setting the
- `-listenonion` configuration parameter will now be created as a Tor v3 service
- instead of Tor v2. The private key that was used for Tor v2 (if any) will be
- left untouched in the `onion_private_key` file in the data directory (see
- `-datadir`) and can be removed if not needed. Bitcoin Core will no longer
- attempt to read it. The private key for the Tor v3 service will be saved in a
- file named `onion_v3_private_key`. To use the deprecated Tor v2 service (not
- recommended), then `onion_private_key` can be copied over
- `onion_v3_private_key`, e.g.
- `cp -f onion_private_key onion_v3_private_key`. (#19954)
-
-Updated RPCs
-------------
-
-- The `getpeerinfo` RPC now has additional `last_block` and `last_transaction`
- fields that return the UNIX epoch time of the last block and the last valid
- transaction received from each peer. (#19731)
-
-- `getnetworkinfo` now returns two new fields, `connections_in` and
- `connections_out`, that provide the number of inbound and outbound peer
- connections. These new fields are in addition to the existing `connections`
- field, which returns the total number of peer connections. (#19405)
-
-- Exposed transaction version numbers are now treated as unsigned 32-bit
- integers instead of signed 32-bit integers. This matches their treatment in
- consensus logic. Versions greater than 2 continue to be non-standard
- (matching previous behavior of smaller than 1 or greater than 2 being
- non-standard). Note that this includes the joinpsbt command, which combines
- partially-signed transactions by selecting the highest version number.
- (#16525)
-
-- `getmempoolinfo` now returns an additional `unbroadcastcount` field. The
- mempool tracks locally submitted transactions until their initial broadcast
- is acknowledged by a peer. This field returns the count of transactions
- waiting for acknowledgement.
-
-- Mempool RPCs such as `getmempoolentry` and `getrawmempool` with
- `verbose=true` now return an additional `unbroadcast` field. This indicates
- whether initial broadcast of the transaction has been acknowledged by a
- peer. `getmempoolancestors` and `getmempooldescendants` are also updated.
-
-- The `bumpfee`, `fundrawtransaction`, `sendmany`, `sendtoaddress`, and `walletcreatefundedpsbt`
-RPC commands have been updated to include two new fee estimation methods "BTC/kB" and "sat/B".
-The target is the fee expressed explicitly in the given form. Note that use of this feature
-will trigger BIP 125 (replace-by-fee) opt-in. (#11413)
-
-- In addition, the `estimate_mode` parameter is now case insensitive for all of
- the above RPC commands. (#11413)
-
-- The `bumpfee` command now uses `conf_target` rather than `confTarget` in the
- options. (#11413)
-
-- The `getpeerinfo` RPC no longer returns the `banscore` field unless the configuration
- option `-deprecatedrpc=banscore` is used. The `banscore` field will be fully
- removed in the next major release. (#19469)
-
-- The `testmempoolaccept` RPC returns `vsize` and a `fees` object with the `base` fee
- if the transaction would pass validation. (#19940)
-
-- The `getpeerinfo` RPC now returns a `connection_type` field. This indicates
- the type of connection established with the peer. It will return one of six
- options. For more information, see the `getpeerinfo` help documentation.
- (#19725)
-
-- The `getpeerinfo` RPC no longer returns the `addnode` field by default. This
- field will be fully removed in the next major release. It can be accessed
- with the configuration option `-deprecatedrpc=getpeerinfo_addnode`. However,
- it is recommended to instead use the `connection_type` field (it will return
- `manual` when addnode is true). (#19725)
-
-- The `walletcreatefundedpsbt` RPC call will now fail with
- `Insufficient funds` when inputs are manually selected but are not enough to cover
- the outputs and fee. Additional inputs can automatically be added through the
- new `add_inputs` option. (#16377)
-
-- The `fundrawtransaction` RPC now supports `add_inputs` option that when `false`
- prevents adding more inputs if necessary and consequently the RPC fails.
-
-Changes to Wallet or GUI related RPCs can be found in the GUI or Wallet section below.
-
-New RPCs
---------
-
-- The `getindexinfo` RPC returns the actively running indices of the node,
- including their current sync status and height. It also accepts an `index_name`
- to specify returning only the status of that index. (#19550)
-
-Build System
-------------
-
-Updated settings
-----------------
-
-- The same ZeroMQ notification (e.g. `-zmqpubhashtx=address`) can now be
- specified multiple times to publish the same notification to different ZeroMQ
- sockets. (#18309)
-
-- The `-banscore` configuration option, which modified the default threshold for
- disconnecting and discouraging misbehaving peers, has been removed as part of
- changes in 0.20.1 and in this release to the handling of misbehaving peers.
- Refer to "Changes regarding misbehaving peers" in the 0.20.1 release notes for
- details. (#19464)
-
-- The `-debug=db` logging category, which was deprecated in 0.20 and replaced by
- `-debug=walletdb` to distinguish it from `coindb`, has been removed. (#19202)
-
-- A `download` permission has been extracted from the `noban` permission. For
- compatibility, `noban` implies the `download` permission, but this may change
- in future releases. Refer to the help of the affected settings `-whitebind`
- and `-whitelist` for more details. (#19191)
-
-- Netmasks that contain 1-bits after 0-bits (the 1-bits are not contiguous on
- the left side, e.g. 255.0.255.255) are no longer accepted. They are invalid
- according to RFC 4632. Netmasks are used in the `-rpcallowip` and `-whitelist`
- configuration options and in the `setban` RPC. (#19628)
-
-Changes to Wallet or GUI related settings can be found in the GUI or Wallet section below.
-
-Tools and Utilities
--------------------
-
-- The `connections` field of `bitcoin-cli -getinfo` is expanded to return a JSON
- object with `in`, `out` and `total` numbers of peer connections. It previously
- returned a single integer value for the total number of peer connections. (#19405)
-
-- A new `bitcoin-cli -generate` command, equivalent to RPC `generatenewaddress`
- followed by `generatetoaddress`, can generate blocks for command line testing
- purposes. This is a client-side version of the
- former `generate` RPC. See the help for details. (#19133)
-
-- The `bitcoin-cli -getinfo` command now displays the wallet name and balance for
- each of the loaded wallets when more than one is loaded (e.g. in multiwallet
- mode) and a wallet is not specified with `-rpcwallet`. (#18594)
-
-New settings
-------------
-
-- The `startupnotify` option is used to specify a command to
- execute when Bitcoin Core has finished with its startup
- sequence. (#15367)
-
-Wallet
-------
-
-- Backwards compatibility has been dropped for two `getaddressinfo` RPC
- deprecations, as notified in the 0.20 release notes. The deprecated `label`
- field has been removed as well as the deprecated `labels` behavior of
- returning a JSON object containing `name` and `purpose` key-value pairs. Since
- 0.20, the `labels` field returns a JSON array of label names. (#19200)
-
-- To improve wallet privacy, the frequency of wallet rebroadcast attempts is
- reduced from approximately once every 15 minutes to once every 12-36 hours.
- To maintain a similar level of guarantee for initial broadcast of wallet
- transactions, the mempool tracks these transactions as a part of the newly
- introduced unbroadcast set. See the "P2P and network changes" section for
- more information on the unbroadcast set. (#18038)
-
-- The `sendtoaddress` and `sendmany` RPCs accept an optional `verbose=True`
- argument to also return the fee reason about the sent tx. (#19501)
-
-- The wallet can create a transaction without change even when the keypool is
- empty. Previously it failed. (#17219)
-
-- The `-salvagewallet` startup option has been removed. A new `salvage` command
- has been added to the `bitcoin-wallet` tool which performs the salvage
- operations that `-salvagewallet` did. (#18918)
-
-- A new configuration flag `-maxapsfee` has been added, which sets the max
- allowed avoid partial spends (APS) fee. It defaults to 0 (i.e. fee is the
- same with and without APS). Setting it to -1 will disable APS, unless
- `-avoidpartialspends` is set. (#14582)
-
-- The wallet will now avoid partial spends (APS) by default, if this does not
- result in a difference in fees compared to the non-APS variant. The allowed
- fee threshold can be adjusted using the new `-maxapsfee` configuration
- option. (#14582)
-
-- The `createwallet`, `loadwallet`, and `unloadwallet` RPCs now accept
- `load_on_startup` options to modify the settings list. Unless these options
- are explicitly set to true or false, the list is not modified, so the RPC
- methods remain backwards compatible. (#15937)
-
-- A new `send` RPC with similar syntax to `walletcreatefundedpsbt`, including
- support for coin selection and a custom fee rate. The `send` RPC is
- experimental and may change in subsequent releases. Using it is encouraged
- once it's no longer experimental: `sendmany` and `sendtoaddress` may be
- deprecated in a future release. (#16378)
-
-- `fundrawtransaction` and `walletcreatefundedpsbt` when used with the
- `lockUnspents` argument now lock manually selected coins, in addition to
- automatically selected coins. Note that locked coins are never used in
- automatic coin selection, but can still be manually selected. (#18244)
-
-- The `-zapwallettxes` startup option has been removed and its functionality
- removed from the wallet. This option was originally intended to allow for
- the fee bumping of transactions that did not signal RBF. This functionality
- has been superseded with the abandon transaction feature. (#19671)
-
-- The error code when no wallet is loaded, but a wallet RPC is called, has been
- changed from `-32601` (method not found) to `-18` (wallet not found).
- (#20101)
-
-### Automatic wallet creation removed
-
-Bitcoin Core will no longer automatically create new wallets on startup. It will
-load existing wallets specified by `-wallet` options on the command line or in
-`bitcoin.conf` or `settings.json` files. And by default it will also load a
-top-level unnamed ("") wallet. However, if specified wallets don't exist,
-Bitcoin Core will now just log warnings instead of creating new wallets with
-new keys and addresses like previous releases did.
-
-New wallets can be created through the GUI (which has a more prominent create
-wallet option), through the `bitcoin-cli createwallet` or `bitcoin-wallet
-create` commands, or the `createwallet` RPC. (#15454)
-
-### Experimental Descriptor Wallets
-
-Please note that Descriptor Wallets are still experimental and not all expected functionality
-is available. Additionally there may be some bugs and current functions may change in the future.
-Bugs and missing functionality can be reported to the [issue tracker](https://github.com/bitcoin/bitcoin/issues).
-
-0.21 introduces a new type of wallet - Descriptor Wallets. Descriptor Wallets store
-scriptPubKey information using descriptors. This is in contrast to the Legacy Wallet
-structure where keys are used to generate scriptPubKeys and addresses. Because of this
-shift to being script based instead of key based, many of the confusing things that Legacy
-Wallets do are not possible with Descriptor Wallets. Descriptor Wallets use a definition
-of "mine" for scripts which is simpler and more intuitive than that used by Legacy Wallets.
-Descriptor Wallets also uses different semantics for watch-only things and imports.
-
-As Descriptor Wallets are a new type of wallet, their introduction does not affect existing wallets.
-Users who already have a Bitcoin Core wallet can continue to use it as they did before without
-any change in behavior. Newly created Legacy Wallets (which is the default type of wallet) will
-behave as they did in previous versions of Bitcoin Core.
-
-The differences between Descriptor Wallets and Legacy Wallets are largely limited to non user facing
-things. They are intended to behave similarly except for the import/export and watchonly functionality
-as described below.
-
-#### Creating Descriptor Wallets
-
-Descriptor Wallets are not created by default. They must be explicitly created using the
-`createwallet` RPC or via the GUI. A `descriptors` option has been added to `createwallet`.
-Setting `descriptors` to `true` will create a Descriptor Wallet instead of a Legacy Wallet.
-
-In the GUI, a checkbox has been added to the Create Wallet Dialog to indicate that a
-Descriptor Wallet should be created.
-
-Without those options being set, a Legacy Wallet will be created instead. Additionally the
-Default Wallet created upon first startup of Bitcoin Core will be a Legacy Wallet.
-
-#### `IsMine` Semantics
-
-`IsMine` refers to the function used to determine whether a script belongs to the wallet.
-This is used to determine whether an output belongs to the wallet. `IsMine` in Legacy Wallets
-returns true if the wallet would be able to sign an input that spends an output with that script.
-Since keys can be involved in a variety of different scripts, this definition for `IsMine` can
-lead to many unexpected scripts being considered part of the wallet.
-
-With Descriptor Wallets, descriptors explicitly specify the set of scripts that are owned by
-the wallet. Since descriptors are deterministic and easily enumerable, users will know exactly
-what scripts the wallet will consider to belong to it. Additionally the implementation of `IsMine`
-in Descriptor Wallets is far simpler than for Legacy Wallets. Notably, in Legacy Wallets, `IsMine`
-allowed for users to take one type of address (e.g. P2PKH), mutate it into another address type
-(e.g. P2WPKH), and the wallet would still detect outputs sending to the new address type
-even without that address being requested from the wallet. Descriptor Wallets does not
-allow for this and will only watch for the addresses that were explicitly requested from the wallet.
-
-These changes to `IsMine` will make it easier to reason about what scripts the wallet will
-actually be watching for in outputs. However for the vast majority of users, this change is
-largely transparent and will not have noticeable effect.
-
-#### Imports and Exports
-
-In Legacy Wallets, raw scripts and keys could be imported to the wallet. Those imported scripts
-and keys are treated separately from the keys generated by the wallet. This complicates the `IsMine`
-logic as it has to distinguish between spendable and watchonly.
-
-Descriptor Wallets handle importing scripts and keys differently. Only complete descriptors can be
-imported. These descriptors are then added to the wallet as if it were a descriptor generated by
-the wallet itself. This simplifies the `IsMine` logic so that it no longer has to distinguish
-between spendable and watchonly. As such, the watchonly model for Descriptor Wallets is also
-different and described in more detail in the next section.
-
-To import into a Descriptor Wallet, a new `importdescriptors` RPC has been added that uses a syntax
-similar to that of `importmulti`.
-
-As Legacy Wallets and Descriptor Wallets use different mechanisms for storing and importing scripts and keys
-the existing import RPCs have been disabled for descriptor wallets.
-New export RPCs for Descriptor Wallets have not yet been added.
-
-The following RPCs are disabled for Descriptor Wallets:
-
-* importprivkey
-* importpubkey
-* importaddress
-* importwallet
-* dumpprivkey
-* dumpwallet
-* importmulti
-* addmultisigaddress
-* sethdseed
-
-#### Watchonly Wallets
-
-A Legacy Wallet contains both private keys and scripts that were being watched.
-Those watched scripts would not contribute to your normal balance. In order to see the watchonly
-balance and to use watchonly things in transactions, an `include_watchonly` option was added
-to many RPCs that would allow users to do that. However it is easy to forget to include this option.
-
-Descriptor Wallets move to a per-wallet watchonly model. Instead an entire wallet is considered to be
-watchonly depending on whether it was created with private keys disabled. This eliminates the need
-to distinguish between things that are watchonly and things that are not within a wallet itself.
-
-This change does have a caveat. If a Descriptor Wallet with private keys *enabled* has
-a multiple key descriptor without all of the private keys (e.g. `multi(...)` with only one private key),
-then the wallet will fail to sign and broadcast transactions. Such wallets would need to use the PSBT
-workflow but the typical GUI Send, `sendtoaddress`, etc. workflows would still be available, just
-non-functional.
-
-This issue is worsened if the wallet contains both single key (e.g. `wpkh(...)`) descriptors and such
-multiple key descriptors as some transactions could be signed and broadast and others not. This is
-due to some transactions containing only single key inputs, while others would contain both single
-key and multiple key inputs, depending on which are available and how the coin selection algorithm
-selects inputs. However this is not considered to be a supported use case; multisigs
-should be in their own wallets which do not already have descriptors. Although users cannot export
-descriptors with private keys for now as explained earlier.
-
-#### BIP 44/49/84 Support
-
-The change to using descriptors changes the default derivation paths used by Bitcoin Core
-to adhere to BIP 44/49/84. Descriptors with different derivation paths can be imported without
-issue.
-
-### Wallet RPC changes
-
-- The `upgradewallet` RPC replaces the `-upgradewallet` command line option.
- (#15761)
-- The `settxfee` RPC will fail if the fee was set higher than the `-maxtxfee`
- command line setting. The wallet will already fail to create transactions
- with fees higher than `-maxtxfee`. (#18467)
-
-GUI changes
------------
-
-- Wallets created or loaded in the GUI will now be automatically loaded on
- startup, so they don't need to be manually reloaded next time Bitcoin Core is
- started. The list of wallets to load on startup is stored in
- `\<datadir\>/settings.json` and augments any command line or `bitcoin.conf`
- `-wallet=` settings that specify more wallets to load. Wallets that are
- unloaded in the GUI get removed from the settings list so they won't load
- again automatically next startup. (#19754)
-
-- The GUI Peers window no longer displays a "Ban Score" field. This is part of
- changes in 0.20.1 and in this release to the handling of misbehaving
- peers. Refer to "Changes regarding misbehaving peers" in the 0.20.1 release
- notes for details. (#19512)
-
-Low-level changes
-=================
-
RPC
---
-- To make RPC `sendtoaddress` more consistent with `sendmany` the following error
- `sendtoaddress` codes were changed from `-4` to `-6`:
- - Insufficient funds
- - Fee estimation failed
- - Transaction has too long of a mempool chain
-- The `sendrawtransaction` error code for exceeding `maxfeerate` has been changed from
- `-26` to `-25`. The error string has been changed from "absurdly-high-fee" to
- "Fee exceeds maximum configured by user (e.g. -maxtxfee, maxfeerate)." The
- `testmempoolaccept` RPC returns `max-fee-exceeded` rather than `absurdly-high-fee`
- as the `reject-reason`. (#19339)
-
-- To make wallet and rawtransaction RPCs more consistent, the error message for
- exceeding maximum feerate has been changed to "Fee exceeds maximum configured by user
- (e.g. -maxtxfee, maxfeerate)." (#19339)
-
-Tests
------
+0.21.1 change log
+=================
-- The BIP 325 default signet can be enabled by the `-chain=signet` or `-signet`
- setting. The settings `-signetchallenge` and `-signetseednode` allow
- enabling a custom signet.
Credits
=======
diff --git a/doc/release-notes/release-notes-0.21.0.md b/doc/release-notes/release-notes-0.21.0.md
new file mode 100644
index 0000000000..66aee77643
--- /dev/null
+++ b/doc/release-notes/release-notes-0.21.0.md
@@ -0,0 +1,1336 @@
+0.21.0 Release Notes
+====================
+
+Bitcoin Core version 0.21.0 is now available from:
+
+ <https://bitcoincore.org/bin/bitcoin-core-0.21.0/>
+
+This release includes new features, various bug fixes and performance
+improvements, as well as updated translations.
+
+Please report bugs using the issue tracker at GitHub:
+
+ <https://github.com/bitcoin/bitcoin/issues>
+
+To receive security and update notifications, please subscribe to:
+
+ <https://bitcoincore.org/en/list/announcements/join/>
+
+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 in some cases), then run the
+installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on Mac)
+or `bitcoind`/`bitcoin-qt` (on Linux).
+
+Upgrading directly from a version of Bitcoin Core that has reached its EOL is
+possible, but it might take some time if the data directory needs to be migrated. Old
+wallet versions of Bitcoin Core are generally supported.
+
+Compatibility
+==============
+
+Bitcoin Core is supported and extensively tested on operating systems
+using the Linux kernel, macOS 10.12+, and Windows 7 and newer. Bitcoin
+Core should also work on most other Unix-like systems but is not as
+frequently tested on them. It is not recommended to use Bitcoin Core on
+unsupported systems.
+
+From Bitcoin Core 0.20.0 onwards, macOS versions earlier than 10.12 are no
+longer supported. Additionally, Bitcoin Core does not yet change appearance
+when macOS "dark mode" is activated.
+
+The node's known peers are persisted to disk in a file called `peers.dat`. The
+format of this file has been changed in a backwards-incompatible way in order to
+accommodate the storage of Tor v3 and other BIP155 addresses. This means that if
+the file is modified by 0.21.0 or newer then older versions will not be able to
+read it. Those old versions, in the event of a downgrade, will log an error
+message "Incorrect keysize in addrman deserialization" and will continue normal
+operation as if the file was missing, creating a new empty one. (#19954, #20284)
+
+Notable changes
+===============
+
+P2P and network changes
+-----------------------
+
+- The mempool now tracks whether transactions submitted via the wallet or RPCs
+ have been successfully broadcast. Every 10-15 minutes, the node will try to
+ announce unbroadcast transactions until a peer requests it via a `getdata`
+ message or the transaction is removed from the mempool for other reasons.
+ The node will not track the broadcast status of transactions submitted to the
+ node using P2P relay. This version reduces the initial broadcast guarantees
+ for wallet transactions submitted via P2P to a node running the wallet. (#18038)
+
+- The size of the set of transactions that peers have announced and we consider
+ for requests has been reduced from 100000 to 5000 (per peer), and further
+ announcements will be ignored when that limit is reached. If you need to dump
+ (very) large batches of transactions, exceptions can be made for trusted
+ peers using the "relay" network permission. For localhost for example it can
+ be enabled using the command line option `-whitelist=relay@127.0.0.1`.
+ (#19988)
+
+- This release adds support for Tor version 3 hidden services, and rumoring them
+ over the network to other peers using
+ [BIP155](https://github.com/bitcoin/bips/blob/master/bip-0155.mediawiki).
+ Version 2 hidden services are still fully supported by Bitcoin Core, but the
+ Tor network will start
+ [deprecating](https://blog.torproject.org/v2-deprecation-timeline) them in the
+ coming months. (#19954)
+
+- The Tor onion service that is automatically created by setting the
+ `-listenonion` configuration parameter will now be created as a Tor v3 service
+ instead of Tor v2. The private key that was used for Tor v2 (if any) will be
+ left untouched in the `onion_private_key` file in the data directory (see
+ `-datadir`) and can be removed if not needed. Bitcoin Core will no longer
+ attempt to read it. The private key for the Tor v3 service will be saved in a
+ file named `onion_v3_private_key`. To use the deprecated Tor v2 service (not
+ recommended), the `onion_private_key` can be copied over
+ `onion_v3_private_key`, e.g.
+ `cp -f onion_private_key onion_v3_private_key`. (#19954)
+
+- The client writes a file (`anchors.dat`) at shutdown with the network addresses
+ of the node’s two outbound block-relay-only peers (so called "anchors"). The
+ next time the node starts, it reads this file and attempts to reconnect to those
+ same two peers. This prevents an attacker from using node restarts to trigger a
+ complete change in peers, which would be something they could use as part of an
+ eclipse attack. (#17428)
+
+- This release adds support for serving
+ [BIP157](https://github.com/bitcoin/bips/blob/master/bip-0157.mediawiki) compact
+ filters to peers on the network when enabled using
+ `-blockfilterindex=1 -peercfilters=1`. (#16442)
+
+- This release adds support for signets
+ ([BIP325](https://github.com/bitcoin/bips/blob/master/bip-0325.mediawiki)) in
+ addition to the existing mainnet, testnet, and regtest networks. Signets are
+ centrally-controlled test networks, allowing them to be more predictable
+ test environments than the older testnet. One public signet is maintained, and
+ selectable using `-signet`. It is also possible to create personal signets.
+ (#18267).
+
+- This release implements
+ [BIP339](https://github.com/bitcoin/bips/blob/master/bip-0339.mediawiki)
+ wtxid relay. When negotiated, transactions are announced using their wtxid
+ instead of their txid. (#18044).
+
+- This release implements the proposed Taproot consensus rules
+ ([BIP341](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki) and
+ [BIP342](https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki)),
+ without activation on mainnet. Experimentation with Taproot can be done on
+ signet, where its rules are already active. (#19553)
+
+Updated RPCs
+------------
+
+- The `getpeerinfo` RPC has a new `network` field that provides the type of
+ network ("ipv4", "ipv6", or "onion") that the peer connected through. (#20002)
+
+- The `getpeerinfo` RPC now has additional `last_block` and `last_transaction`
+ fields that return the UNIX epoch time of the last block and the last *valid*
+ transaction received from each peer. (#19731)
+
+- `getnetworkinfo` now returns two new fields, `connections_in` and
+ `connections_out`, that provide the number of inbound and outbound peer
+ connections. These new fields are in addition to the existing `connections`
+ field, which returns the total number of peer connections. (#19405)
+
+- Exposed transaction version numbers are now treated as unsigned 32-bit
+ integers instead of signed 32-bit integers. This matches their treatment in
+ consensus logic. Versions greater than 2 continue to be non-standard
+ (matching previous behavior of smaller than 1 or greater than 2 being
+ non-standard). Note that this includes the `joinpsbt` command, which combines
+ partially-signed transactions by selecting the highest version number.
+ (#16525)
+
+- `getmempoolinfo` now returns an additional `unbroadcastcount` field. The
+ mempool tracks locally submitted transactions until their initial broadcast
+ is acknowledged by a peer. This field returns the count of transactions
+ waiting for acknowledgement.
+
+- Mempool RPCs such as `getmempoolentry` and `getrawmempool` with
+ `verbose=true` now return an additional `unbroadcast` field. This indicates
+ whether initial broadcast of the transaction has been acknowledged by a
+ peer. `getmempoolancestors` and `getmempooldescendants` are also updated.
+
+- The `getpeerinfo` RPC no longer returns the `banscore` field unless the configuration
+ option `-deprecatedrpc=banscore` is used. The `banscore` field will be fully
+ removed in the next major release. (#19469)
+
+- The `testmempoolaccept` RPC returns `vsize` and a `fees` object with the `base` fee
+ if the transaction would pass validation. (#19940)
+
+- The `getpeerinfo` RPC now returns a `connection_type` field. This indicates
+ the type of connection established with the peer. It will return one of six
+ options. For more information, see the `getpeerinfo` help documentation.
+ (#19725)
+
+- The `getpeerinfo` RPC no longer returns the `addnode` field by default. This
+ field will be fully removed in the next major release. It can be accessed
+ with the configuration option `-deprecatedrpc=getpeerinfo_addnode`. However,
+ it is recommended to instead use the `connection_type` field (it will return
+ `manual` when addnode is true). (#19725)
+
+- The `getpeerinfo` RPC no longer returns the `whitelisted` field by default.
+ This field will be fully removed in the next major release. It can be accessed
+ with the configuration option `-deprecatedrpc=getpeerinfo_whitelisted`. However,
+ it is recommended to instead use the `permissions` field to understand if specific
+ privileges have been granted to the peer. (#19770)
+
+- The `walletcreatefundedpsbt` RPC call will now fail with
+ `Insufficient funds` when inputs are manually selected but are not enough to cover
+ the outputs and fee. Additional inputs can automatically be added through the
+ new `add_inputs` option. (#16377)
+
+- The `fundrawtransaction` RPC now supports `add_inputs` option that when `false`
+ prevents adding more inputs if necessary and consequently the RPC fails.
+
+Changes to Wallet or GUI related RPCs can be found in the GUI or Wallet section below.
+
+New RPCs
+--------
+
+- The `getindexinfo` RPC returns the actively running indices of the node,
+ including their current sync status and height. It also accepts an `index_name`
+ to specify returning the status of that index only. (#19550)
+
+Build System
+------------
+
+Updated settings
+----------------
+
+- The same ZeroMQ notification (e.g. `-zmqpubhashtx=address`) can now be
+ specified multiple times to publish the same notification to different ZeroMQ
+ sockets. (#18309)
+
+- The `-banscore` configuration option, which modified the default threshold for
+ disconnecting and discouraging misbehaving peers, has been removed as part of
+ changes in 0.20.1 and in this release to the handling of misbehaving peers.
+ Refer to "Changes regarding misbehaving peers" in the 0.20.1 release notes for
+ details. (#19464)
+
+- The `-debug=db` logging category, which was deprecated in 0.20 and replaced by
+ `-debug=walletdb` to distinguish it from `coindb`, has been removed. (#19202)
+
+- A `download` permission has been extracted from the `noban` permission. For
+ compatibility, `noban` implies the `download` permission, but this may change
+ in future releases. Refer to the help of the affected settings `-whitebind`
+ and `-whitelist` for more details. (#19191)
+
+- Netmasks that contain 1-bits after 0-bits (the 1-bits are not contiguous on
+ the left side, e.g. 255.0.255.255) are no longer accepted. They are invalid
+ according to RFC 4632. Netmasks are used in the `-rpcallowip` and `-whitelist`
+ configuration options and in the `setban` RPC. (#19628)
+
+- The `-blocksonly` setting now completely disables fee estimation. (#18766)
+
+Changes to Wallet or GUI related settings can be found in the GUI or Wallet section below.
+
+Tools and Utilities
+-------------------
+
+- A new `bitcoin-cli -netinfo` command provides a network peer connections
+ dashboard that displays data from the `getpeerinfo` and `getnetworkinfo` RPCs
+ in a human-readable format. An optional integer argument from `0` to `4` may
+ be passed to see increasing levels of detail. (#19643)
+
+- A new `bitcoin-cli -generate` command, equivalent to RPC `generatenewaddress`
+ followed by `generatetoaddress`, can generate blocks for command line testing
+ purposes. This is a client-side version of the former `generate` RPC. See the
+ help for details. (#19133)
+
+- The `bitcoin-cli -getinfo` command now displays the wallet name and balance for
+ each of the loaded wallets when more than one is loaded (e.g. in multiwallet
+ mode) and a wallet is not specified with `-rpcwallet`. (#18594)
+
+- The `connections` field of `bitcoin-cli -getinfo` is now expanded to return a JSON
+ object with `in`, `out` and `total` numbers of peer connections. It previously
+ returned a single integer value for the total number of peer connections. (#19405)
+
+New settings
+------------
+
+- The `startupnotify` option is used to specify a command to
+ execute when Bitcoin Core has finished with its startup
+ sequence. (#15367)
+
+Wallet
+------
+
+- Backwards compatibility has been dropped for two `getaddressinfo` RPC
+ deprecations, as notified in the 0.20 release notes. The deprecated `label`
+ field has been removed as well as the deprecated `labels` behavior of
+ returning a JSON object containing `name` and `purpose` key-value pairs. Since
+ 0.20, the `labels` field returns a JSON array of label names. (#19200)
+
+- To improve wallet privacy, the frequency of wallet rebroadcast attempts is
+ reduced from approximately once every 15 minutes to once every 12-36 hours.
+ To maintain a similar level of guarantee for initial broadcast of wallet
+ transactions, the mempool tracks these transactions as a part of the newly
+ introduced unbroadcast set. See the "P2P and network changes" section for
+ more information on the unbroadcast set. (#18038)
+
+- The `sendtoaddress` and `sendmany` RPCs accept an optional `verbose=True`
+ argument to also return the fee reason about the sent tx. (#19501)
+
+- The wallet can create a transaction without change even when the keypool is
+ empty. Previously it failed. (#17219)
+
+- The `-salvagewallet` startup option has been removed. A new `salvage` command
+ has been added to the `bitcoin-wallet` tool which performs the salvage
+ operations that `-salvagewallet` did. (#18918)
+
+- A new configuration flag `-maxapsfee` has been added, which sets the max
+ allowed avoid partial spends (APS) fee. It defaults to 0 (i.e. fee is the
+ same with and without APS). Setting it to -1 will disable APS, unless
+ `-avoidpartialspends` is set. (#14582)
+
+- The wallet will now avoid partial spends (APS) by default, if this does not
+ result in a difference in fees compared to the non-APS variant. The allowed
+ fee threshold can be adjusted using the new `-maxapsfee` configuration
+ option. (#14582)
+
+- The `createwallet`, `loadwallet`, and `unloadwallet` RPCs now accept
+ `load_on_startup` options to modify the settings list. Unless these options
+ are explicitly set to true or false, the list is not modified, so the RPC
+ methods remain backwards compatible. (#15937)
+
+- A new `send` RPC with similar syntax to `walletcreatefundedpsbt`, including
+ support for coin selection and a custom fee rate, is added. The `send` RPC is
+ experimental and may change in subsequent releases. (#16378)
+
+- The `estimate_mode` parameter is now case-insensitive in the `bumpfee`,
+ `fundrawtransaction`, `sendmany`, `sendtoaddress`, `send` and
+ `walletcreatefundedpsbt` RPCs. (#11413)
+
+- The `bumpfee` RPC now uses `conf_target` rather than `confTarget` in the
+ options. (#11413)
+
+- `fundrawtransaction` and `walletcreatefundedpsbt` when used with the
+ `lockUnspents` argument now lock manually selected coins, in addition to
+ automatically selected coins. Note that locked coins are never used in
+ automatic coin selection, but can still be manually selected. (#18244)
+
+- The `-zapwallettxes` startup option has been removed and its functionality
+ removed from the wallet. This option was originally intended to allow for
+ rescuing wallets which were affected by a malleability attack. More recently,
+ it has been used in the fee bumping of transactions that did not signal RBF.
+ This functionality has been superseded with the abandon transaction feature. (#19671)
+
+- The error code when no wallet is loaded, but a wallet RPC is called, has been
+ changed from `-32601` (method not found) to `-18` (wallet not found).
+ (#20101)
+
+### Automatic wallet creation removed
+
+Bitcoin Core will no longer automatically create new wallets on startup. It will
+load existing wallets specified by `-wallet` options on the command line or in
+`bitcoin.conf` or `settings.json` files. And by default it will also load a
+top-level unnamed ("") wallet. However, if specified wallets don't exist,
+Bitcoin Core will now just log warnings instead of creating new wallets with
+new keys and addresses like previous releases did.
+
+New wallets can be created through the GUI (which has a more prominent create
+wallet option), through the `bitcoin-cli createwallet` or `bitcoin-wallet
+create` commands, or the `createwallet` RPC. (#15454, #20186)
+
+### Experimental Descriptor Wallets
+
+Please note that Descriptor Wallets are still experimental and not all expected functionality
+is available. Additionally there may be some bugs and current functions may change in the future.
+Bugs and missing functionality can be reported to the [issue tracker](https://github.com/bitcoin/bitcoin/issues).
+
+0.21 introduces a new type of wallet - Descriptor Wallets. Descriptor Wallets store
+scriptPubKey information using output descriptors. This is in contrast to the Legacy Wallet
+structure where keys are used to implicitly generate scriptPubKeys and addresses. Because of this
+shift to being script based instead of key based, many of the confusing things that Legacy
+Wallets do are not possible with Descriptor Wallets. Descriptor Wallets use a definition
+of "mine" for scripts which is simpler and more intuitive than that used by Legacy Wallets.
+Descriptor Wallets also uses different semantics for watch-only things and imports.
+
+As Descriptor Wallets are a new type of wallet, their introduction does not affect existing wallets.
+Users who already have a Bitcoin Core wallet can continue to use it as they did before without
+any change in behavior. Newly created Legacy Wallets (which remains the default type of wallet) will
+behave as they did in previous versions of Bitcoin Core.
+
+The differences between Descriptor Wallets and Legacy Wallets are largely limited to non user facing
+things. They are intended to behave similarly except for the import/export and watchonly functionality
+as described below.
+
+#### Creating Descriptor Wallets
+
+Descriptor wallets are not the default type of wallet.
+
+In the GUI, a checkbox has been added to the Create Wallet Dialog to indicate that a
+Descriptor Wallet should be created. And a `descriptors` option has been added to `createwallet` RPC.
+Setting `descriptors` to `true` will create a Descriptor Wallet instead of a Legacy Wallet.
+
+Without those options being set, a Legacy Wallet will be created instead.
+
+#### `IsMine` Semantics
+
+`IsMine` refers to the function used to determine whether a script belongs to the wallet.
+This is used to determine whether an output belongs to the wallet. `IsMine` in Legacy Wallets
+returns true if the wallet would be able to sign an input that spends an output with that script.
+Since keys can be involved in a variety of different scripts, this definition for `IsMine` can
+lead to many unexpected scripts being considered part of the wallet.
+
+With Descriptor Wallets, descriptors explicitly specify the set of scripts that are owned by
+the wallet. Since descriptors are deterministic and easily enumerable, users will know exactly
+what scripts the wallet will consider to belong to it. Additionally the implementation of `IsMine`
+in Descriptor Wallets is far simpler than for Legacy Wallets. Notably, in Legacy Wallets, `IsMine`
+allowed for users to take one type of address (e.g. P2PKH), mutate it into another address type
+(e.g. P2WPKH), and the wallet would still detect outputs sending to the new address type
+even without that address being requested from the wallet. Descriptor Wallets do not
+allow for this and will only watch for the addresses that were explicitly requested from the wallet.
+
+These changes to `IsMine` will make it easier to reason about what scripts the wallet will
+actually be watching for in outputs. However for the vast majority of users, this change is
+largely transparent and will not have noticeable effect.
+
+#### Imports and Exports
+
+In Legacy Wallets, raw scripts and keys could be imported to the wallet. Those imported scripts
+and keys are treated separately from the keys generated by the wallet. This complicates the `IsMine`
+logic as it has to distinguish between spendable and watchonly.
+
+Descriptor Wallets handle importing scripts and keys differently. Only complete descriptors can be
+imported. These descriptors are then added to the wallet as if it were a descriptor generated by
+the wallet itself. This simplifies the `IsMine` logic so that it no longer has to distinguish
+between spendable and watchonly. As such, the watchonly model for Descriptor Wallets is also
+different and described in more detail in the next section.
+
+To import into a Descriptor Wallet, a new `importdescriptors` RPC has been added that uses a syntax
+similar to that of `importmulti`.
+
+As Legacy Wallets and Descriptor Wallets use different mechanisms for storing and importing scripts and keys
+the existing import RPCs have been disabled for descriptor wallets.
+New export RPCs for Descriptor Wallets have not yet been added.
+
+The following RPCs are disabled for Descriptor Wallets:
+
+* `importprivkey`
+* `importpubkey`
+* `importaddress`
+* `importwallet`
+* `dumpprivkey`
+* `dumpwallet`
+* `importmulti`
+* `addmultisigaddress`
+* `sethdseed`
+
+#### Watchonly Wallets
+
+A Legacy Wallet contains both private keys and scripts that were being watched.
+Those watched scripts would not contribute to your normal balance. In order to see the watchonly
+balance and to use watchonly things in transactions, an `include_watchonly` option was added
+to many RPCs that would allow users to do that. However it is easy to forget to include this option.
+
+Descriptor Wallets move to a per-wallet watchonly model. Instead an entire wallet is considered to be
+watchonly depending on whether it was created with private keys disabled. This eliminates the need
+to distinguish between things that are watchonly and things that are not within a wallet itself.
+
+This change does have a caveat. If a Descriptor Wallet with private keys *enabled* has
+a multiple key descriptor without all of the private keys (e.g. `multi(...)` with only one private key),
+then the wallet will fail to sign and broadcast transactions. Such wallets would need to use the PSBT
+workflow but the typical GUI Send, `sendtoaddress`, etc. workflows would still be available, just
+non-functional.
+
+This issue is worsened if the wallet contains both single key (e.g. `wpkh(...)`) descriptors and such
+multiple key descriptors as some transactions could be signed and broadcast and others not. This is
+due to some transactions containing only single key inputs, while others would contain both single
+key and multiple key inputs, depending on which are available and how the coin selection algorithm
+selects inputs. However this is not considered to be a supported use case; multisigs
+should be in their own wallets which do not already have descriptors. Although users cannot export
+descriptors with private keys for now as explained earlier.
+
+#### BIP 44/49/84 Support
+
+The change to using descriptors changes the default derivation paths used by Bitcoin Core
+to adhere to BIP 44/49/84. Descriptors with different derivation paths can be imported without
+issue.
+
+#### SQLite Database Backend
+
+Descriptor wallets use SQLite for the wallet file instead of the Berkeley DB used in legacy wallets.
+This will break compatibility with any existing tooling that operates on wallets, however compatibility
+was already being broken by the move to descriptors.
+
+### Wallet RPC changes
+
+- The `upgradewallet` RPC replaces the `-upgradewallet` command line option.
+ (#15761)
+
+- The `settxfee` RPC will fail if the fee was set higher than the `-maxtxfee`
+ command line setting. The wallet will already fail to create transactions
+ with fees higher than `-maxtxfee`. (#18467)
+
+- A new `fee_rate` parameter/option denominated in satoshis per vbyte (sat/vB)
+ is introduced to the `sendtoaddress`, `sendmany`, `fundrawtransaction` and
+ `walletcreatefundedpsbt` RPCs as well as to the experimental new `send`
+ RPC. The legacy `feeRate` option in `fundrawtransaction` and
+ `walletcreatefundedpsbt` still exists for setting a fee rate in BTC per 1,000
+ vbytes (BTC/kvB), but it is expected to be deprecated soon to avoid
+ confusion. For these RPCs, the fee rate error message is updated from BTC/kB
+ to sat/vB and the help documentation in BTC/kB is updated to BTC/kvB. The
+ `send` and `sendtoaddress` RPC examples are updated to aid users in creating
+ transactions with explicit fee rates. (#20305, #11413)
+
+- The `bumpfee` RPC `fee_rate` option is changed from BTC/kvB to sat/vB and the
+ help documentation is updated. Users are warned that this is a breaking API
+ change, but it should be relatively benign: the large (100,000 times)
+ difference between BTC/kvB and sat/vB units means that a transaction with a
+ fee rate mistakenly calculated in BTC/kvB rather than sat/vB should raise an
+ error due to the fee rate being set too low. In the worst case, the
+ transaction may send at 1 sat/vB, but as Replace-by-Fee (BIP125 RBF) is active
+ by default when an explicit fee rate is used, the transaction fee can be
+ bumped. (#20305)
+
+GUI changes
+-----------
+
+- Wallets created or loaded in the GUI will now be automatically loaded on
+ startup, so they don't need to be manually reloaded next time Bitcoin Core is
+ started. The list of wallets to load on startup is stored in
+ `\<datadir\>/settings.json` and augments any command line or `bitcoin.conf`
+ `-wallet=` settings that specify more wallets to load. Wallets that are
+ unloaded in the GUI get removed from the settings list so they won't load
+ again automatically next startup. (#19754)
+
+- The GUI Peers window no longer displays a "Ban Score" field. This is part of
+ changes in 0.20.1 and in this release to the handling of misbehaving
+ peers. Refer to "Changes regarding misbehaving peers" in the 0.20.1 release
+ notes for details. (#19512)
+
+Low-level changes
+=================
+
+RPC
+---
+
+- To make RPC `sendtoaddress` more consistent with `sendmany` the following error
+ `sendtoaddress` codes were changed from `-4` to `-6`:
+ - Insufficient funds
+ - Fee estimation failed
+ - Transaction has too long of a mempool chain
+
+- The `sendrawtransaction` error code for exceeding `maxfeerate` has been changed from
+ `-26` to `-25`. The error string has been changed from "absurdly-high-fee" to
+ "Fee exceeds maximum configured by user (e.g. -maxtxfee, maxfeerate)." The
+ `testmempoolaccept` RPC returns `max-fee-exceeded` rather than `absurdly-high-fee`
+ as the `reject-reason`. (#19339)
+
+- To make wallet and rawtransaction RPCs more consistent, the error message for
+ exceeding maximum feerate has been changed to "Fee exceeds maximum configured by user
+ (e.g. -maxtxfee, maxfeerate)." (#19339)
+
+Tests
+-----
+
+- The BIP 325 default signet can be enabled by the `-chain=signet` or `-signet`
+ setting. The settings `-signetchallenge` and `-signetseednode` allow
+ enabling a custom signet.
+
+- The `generateblock` RPC allows testers using regtest mode to
+ generate blocks that consist of a custom set of transactions. (#17693)
+
+0.21.0 change log
+=================
+
+### Consensus
+- #18267 BIP-325: Signet (kallewoof)
+- #20016 uint256: 1 is a constant (ajtowns)
+- #20006 Fix misleading error message: Clean stack rule (sanket1729)
+- #19953 Implement BIP 340-342 validation (Schnorr/taproot/tapscript) (sipa)
+- #20169 Taproot follow-up: Make ComputeEntrySchnorr and ComputeEntryECDSA const to clarify contract (practicalswift)
+
+### Policy
+- #18766 Disable fee estimation in blocksonly mode (darosior)
+- #19630 Cleanup fee estimation code (darosior)
+- #20165 Only relay Taproot spends if next block has it active (sipa)
+
+### Mining
+- #17946 Fix GBT: Restore "!segwit" and "csv" to "rules" key (luke-jr)
+
+### Privacy
+- #16432 Add privacy to the Overview page (hebasto)
+- #18861 Do not answer GETDATA for to-be-announced tx (sipa)
+- #18038 Mempool tracks locally submitted transactions to improve wallet privacy (amitiuttarwar)
+- #19109 Only allow getdata of recently announced invs (sipa)
+
+### Block and transaction handling
+- #17737 Add ChainstateManager, remove BlockManager global (jamesob)
+- #18960 indexes: Add compact block filter headers cache (jnewbery)
+- #13204 Faster sigcache nonce (JeremyRubin)
+- #19088 Use std::chrono throughout some validation functions (fanquake)
+- #19142 Make VerifyDB level 4 interruptible (MarcoFalke)
+- #17994 Flush undo files after last block write (kallewoof)
+- #18990 log: Properly log txs rejected from mempool (MarcoFalke)
+- #18984 Remove unnecessary input blockfile SetPos (dgenr8)
+- #19526 log: Avoid treating remote misbehvior as local system error (MarcoFalke)
+- #18044 Use wtxid for transaction relay (sdaftuar)
+- #18637 coins: allow cache resize after init (jamesob)
+- #19854 Avoid locking CTxMemPool::cs recursively in simple cases (hebasto)
+- #19478 Remove CTxMempool::mapLinks data structure member (JeremyRubin)
+- #19927 Reduce direct `g_chainman` usage (dongcarl)
+- #19898 log: print unexpected version warning in validation log category (n-thumann)
+- #20036 signet: Add assumed values for default signet (MarcoFalke)
+- #20048 chainparams: do not log signet startup messages for other chains (jonatack)
+- #19339 re-delegate absurd fee checking from mempool to clients (glozow)
+- #20035 signet: Fix uninitialized read in validation (MarcoFalke)
+- #20157 Bugfix: chainparams: Add missing (always enabled) Taproot deployment for Signet (luke-jr)
+- #20263 Update assumed chain params (MarcoFalke)
+- #20372 Avoid signed integer overflow when loading a mempool.dat file with a malformed time field (practicalswift)
+- #18621 script: Disallow silent bool -> cscript conversion (MarcoFalke)
+- #18612, #18732 script: Remove undocumented and unused operator+ (MarcoFalke)
+- #19317 Add a left-justified width field to `log2_work` component for a uniform debug.log output (jamesgmorgan)
+
+### P2P protocol and network code
+- #18544 Limit BIP37 filter lifespan (active between `filterload`..`filterclear`) (theStack)
+- #18806 Remove is{Empty,Full} flags from CBloomFilter, clarify CVE fix (theStack)
+- #18512 Improve asmap checks and add sanity check (sipa)
+- #18877 Serve cfcheckpt requests (jnewbery)
+- #18895 Unbroadcast followups: rpcs, nLastResend, mempool sanity check (gzhao408)
+- #19010 net processing: Add support for `getcfheaders` (jnewbery)
+- #16939 Delay querying DNS seeds (ajtowns)
+- #18807 Unbroadcast follow-ups (amitiuttarwar)
+- #19044 Add support for getcfilters (jnewbery)
+- #19084 improve code documentation for dns seed behaviour (ajtowns)
+- #19260 disconnect peers that send filterclear + update existing filter msg disconnect logic (gzhao408)
+- #19284 Add seed.bitcoin.wiz.biz to DNS seeds (wiz)
+- #19322 split PushInventory() (jnewbery)
+- #19204 Reduce inv traffic during IBD (MarcoFalke)
+- #19470 banlist: log post-swept banlist size at startup (fanquake)
+- #19191 Extract download permission from noban (MarcoFalke)
+- #14033 Drop `CADDR_TIME_VERSION` checks now that `MIN_PEER_PROTO_VERSION` is greater (Empact)
+- #19464 net, rpc: remove -banscore option, deprecate banscore in getpeerinfo (jonatack)
+- #19514 [net/net processing] check banman pointer before dereferencing (jnewbery)
+- #19512 banscore updates to gui, tests, release notes (jonatack)
+- #19360 improve encapsulation of CNetAddr (vasild)
+- #19217 disambiguate block-relay-only variable names from blocksonly variables (glowang)
+- #19473 Add -networkactive option (hebasto)
+- #19472 [net processing] Reduce `cs_main` scope in MaybeDiscourageAndDisconnect() (jnewbery)
+- #19583 clean up Misbehaving() (jnewbery)
+- #19534 save the network type explicitly in CNetAddr (vasild)
+- #19569 Enable fetching of orphan parents from wtxid peers (sipa)
+- #18991 Cache responses to GETADDR to prevent topology leaks (naumenkogs)
+- #19596 Deduplicate parent txid loop of requested transactions and missing parents of orphan transactions (sdaftuar)
+- #19316 Cleanup logic around connection types (amitiuttarwar)
+- #19070 Signal support for compact block filters with `NODE_COMPACT_FILTERS` (jnewbery)
+- #19705 Shrink CAddress from 48 to 40 bytes on x64 (vasild)
+- #19704 Move ProcessMessage() to PeerLogicValidation (jnewbery)
+- #19628 Change CNetAddr::ip to have flexible size (vasild)
+- #19797 Remove old check for 3-byte shifted IP addresses from pre-0.2.9 nodes (#19797)
+- #19607 Add Peer struct for per-peer data in net processing (jnewbery)
+- #19857 improve nLastBlockTime and nLastTXTime documentation (jonatack)
+- #19724 Cleanup connection types- followups (amitiuttarwar)
+- #19670 Protect localhost and block-relay-only peers from eviction (sdaftuar)
+- #19728 Increase the ip address relay branching factor for unreachable networks (sipa)
+- #19879 Miscellaneous wtxid followups (amitiuttarwar)
+- #19697 Improvements on ADDR caching (naumenkogs)
+- #17785 Unify Send and Receive protocol versions (hebasto)
+- #19845 CNetAddr: add support to (un)serialize as ADDRv2 (vasild)
+- #19107 Move all header verification into the network layer, extend logging (troygiorshev)
+- #20003 Exit with error message if -proxy is specified without arguments (instead of continuing without proxy server) (practicalswift)
+- #19991 Use alternative port for incoming Tor connections (hebasto)
+- #19723 Ignore unknown messages before VERACK (sdaftuar)
+- #19954 Complete the BIP155 implementation and upgrade to TORv3 (vasild)
+- #20119 BIP155 follow-ups (sipa)
+- #19988 Overhaul transaction request logic (sipa)
+- #17428 Try to preserve outbound block-relay-only connections during restart (hebasto)
+- #19911 Guard `vRecvGetData` with `cs_vRecv` and `orphan_work_set` with `g_cs_orphans` (narula)
+- #19753 Don't add AlreadyHave transactions to recentRejects (troygiorshev)
+- #20187 Test-before-evict bugfix and improvements for block-relay-only peers (sdaftuar)
+- #20237 Hardcoded seeds update for 0.21 (laanwj)
+- #20212 Fix output of peer address in version message (vasild)
+- #20284 Ensure old versions don't parse peers.dat (vasild)
+- #20405 Avoid calculating onion address checksum when version is not 3 (lontivero)
+- #20564 Don't send 'sendaddrv2' to pre-70016 software, and send before 'verack' (sipa)
+- #20660 Move signet onion seed from v2 to v3 (Sjors)
+
+### Wallet
+- #18262 Exit selection when `best_waste` is 0 (achow101)
+- #17824 Prefer full destination groups in coin selection (fjahr)
+- #17219 Allow transaction without change if keypool is empty (Sjors)
+- #15761 Replace -upgradewallet startup option with upgradewallet RPC (achow101)
+- #18671 Add BlockUntilSyncedToCurrentChain to dumpwallet (MarcoFalke)
+- #16528 Native Descriptor Wallets using DescriptorScriptPubKeyMan (achow101)
+- #18777 Recommend absolute path for dumpwallet (MarcoFalke)
+- #16426 Reverse `cs_main`, `cs_wallet` lock order and reduce `cs_main` locking (ariard)
+- #18699 Avoid translating RPC errors (MarcoFalke)
+- #18782 Make sure no DescriptorScriptPubKeyMan or WalletDescriptor members are left uninitialized after construction (practicalswift)
+- #9381 Remove CWalletTx merging logic from AddToWallet (ryanofsky)
+- #16946 Include a checksum of encrypted private keys (achow101)
+- #17681 Keep inactive seeds after sethdseed and derive keys from them as needed (achow101)
+- #18918 Move salvagewallet into wallettool (achow101)
+- #14988 Fix for confirmed column in csv export for payment to self transactions (benthecarman)
+- #18275 Error if an explicit fee rate was given but the needed fee rate differed (kallewoof)
+- #19054 Skip hdKeypath of 'm' when determining inactive hd seeds (achow101)
+- #17938 Disallow automatic conversion between disparate hash types (Empact)
+- #19237 Check size after unserializing a pubkey (elichai)
+- #11413 sendtoaddress/sendmany: Add explicit feerate option (kallewoof)
+- #18850 Fix ZapSelectTx to sync wallet spends (bvbfan)
+- #18923 Never schedule MaybeCompactWalletDB when `-flushwallet` is off (MarcoFalke)
+- #19441 walletdb: Don't reinitialize desc cache with multiple cache entries (achow101)
+- #18907 walletdb: Don't remove database transaction logs and instead error (achow101)
+- #19334 Introduce WalletDatabase abstract class (achow101)
+- #19335 Cleanup and separate BerkeleyDatabase and BerkeleyBatch (achow101)
+- #19102 Introduce and use DummyDatabase instead of dummy BerkeleyDatabase (achow101)
+- #19568 Wallet should not override signing errors (fjahr)
+- #17204 Do not turn `OP_1NEGATE` in scriptSig into `0x0181` in signing code (sipa) (meshcollider)
+- #19457 Cleanup wallettool salvage and walletdb extraneous declarations (achow101)
+- #15937 Add loadwallet and createwallet `load_on_startup` options (ryanofsky)
+- #16841 Replace GetScriptForWitness with GetScriptForDestination (meshcollider)
+- #14582 always do avoid partial spends if fees are within a specified range (kallewoof)
+- #19743 -maxapsfee follow-up (kallewoof)
+- #19289 GetWalletTx and IsMine require `cs_wallet` lock (promag)
+- #19671 Remove -zapwallettxes (achow101)
+- #19805 Avoid deserializing unused records when salvaging (achow101)
+- #19754 wallet, gui: Reload previously loaded wallets on startup (achow101)
+- #19738 Avoid multiple BerkeleyBatch in DelAddressBook (promag)
+- #19919 bugfix: make LoadWallet assigns status always (AkioNak)
+- #16378 The ultimate send RPC (Sjors)
+- #15454 Remove the automatic creation and loading of the default wallet (achow101)
+- #19501 `send*` RPCs in the wallet returns the "fee reason" (stackman27)
+- #20130 Remove db mode string (S3RK)
+- #19077 Add sqlite as an alternative wallet database and use it for new descriptor wallets (achow101)
+- #20125 Expose database format in getwalletinfo (promag)
+- #20198 Show name, format and if uses descriptors in bitcoin-wallet tool (jonasschnelli)
+- #20216 Fix buffer over-read in SQLite file magic check (theStack)
+- #20186 Make -wallet setting not create wallets (ryanofsky)
+- #20230 Fix bug when just created encrypted wallet cannot get address (hebasto)
+- #20282 Change `upgradewallet` return type to be an object (jnewbery)
+- #20220 Explicit fee rate follow-ups/fixes for 0.21 (jonatack)
+- #20199 Ignore (but warn) on duplicate -wallet parameters (jonasschnelli)
+- #20324 Set DatabaseStatus::SUCCESS in MakeSQLiteDatabase (MarcoFalke)
+- #20266 Fix change detection of imported internal descriptors (achow101)
+- #20153 Do not import a descriptor with hardened derivations into a watch-only wallet (S3RK)
+- #20344 Fix scanning progress calculation for single block range (theStack)
+- #19502 Bugfix: Wallet: Soft-fail exceptions within ListWalletDir file checks (luke-jr)
+- #20378 Fix potential division by 0 in WalletLogPrintf (jonasschnelli)
+- #18836 Upgradewallet fixes and additional tests (achow101)
+- #20139 Do not return warnings from UpgradeWallet() (stackman27)
+- #20305 Introduce `fee_rate` sat/vB param/option (jonatack)
+- #20426 Allow zero-fee fundrawtransaction/walletcreatefundedpsbt and other fixes (jonatack)
+- #20573 wallet, bugfix: allow send with string `fee_rate` amounts (jonatack)
+
+### RPC and other APIs
+- #18574 cli: Call getbalances.ismine.trusted instead of getwalletinfo.balance (jonatack)
+- #17693 Add `generateblock` to mine a custom set of transactions (andrewtoth)
+- #18495 Remove deprecated migration code (vasild)
+- #18493 Remove deprecated "size" from mempool txs (vasild)
+- #18467 Improve documentation and return value of settxfee (fjahr)
+- #18607 Fix named arguments in documentation (MarcoFalke)
+- #17831 doc: Fix and extend getblockstats examples (asoltys)
+- #18785 Prevent valgrind false positive in `rest_blockhash_by_height` (ryanofsky)
+- #18999 log: Remove "No rpcpassword set" from logs (MarcoFalke)
+- #19006 Avoid crash when `g_thread_http` was never started (MarcoFalke)
+- #18594 cli: Display multiwallet balances in -getinfo (jonatack)
+- #19056 Make gettxoutsetinfo/GetUTXOStats interruptible (MarcoFalke)
+- #19112 Remove special case for unknown service flags (MarcoFalke)
+- #18826 Expose txinwitness for coinbase in JSON form from RPC (rvagg)
+- #19282 Rephrase generatetoaddress help, and use `PACKAGE_NAME` (luke-jr)
+- #16377 don't automatically append inputs in walletcreatefundedpsbt (Sjors)
+- #19200 Remove deprecated getaddressinfo fields (jonatack)
+- #19133 rpc, cli, test: add bitcoin-cli -generate command (jonatack)
+- #19469 Deprecate banscore field in getpeerinfo (jonatack)
+- #16525 Dump transaction version as an unsigned integer in RPC/TxToUniv (TheBlueMatt)
+- #19555 Deduplicate WriteHDKeypath() used in decodepsbt (theStack)
+- #19589 Avoid useless mempool query in gettxoutproof (MarcoFalke)
+- #19585 RPCResult Type of MempoolEntryDescription should be OBJ (stylesuxx)
+- #19634 Document getwalletinfo's `unlocked_until` field as optional (justinmoon)
+- #19658 Allow RPC to fetch all addrman records and add records to addrman (jnewbery)
+- #19696 Fix addnode remove command error (fjahr)
+- #18654 Separate bumpfee's psbt creation function into psbtbumpfee (achow101)
+- #19655 Catch listsinceblock `target_confirmations` exceeding block count (adaminsky)
+- #19644 Document returned error fields as optional if applicable (theStack)
+- #19455 rpc generate: print useful help and error message (jonatack)
+- #19550 Add listindices RPC (fjahr)
+- #19169 Validate provided keys for `query_options` parameter in listunspent (PastaPastaPasta)
+- #18244 fundrawtransaction and walletcreatefundedpsbt also lock manually selected coins (Sjors)
+- #14687 zmq: Enable TCP keepalive (mruddy)
+- #19405 Add network in/out connections to `getnetworkinfo` and `-getinfo` (jonatack)
+- #19878 rawtransaction: Fix argument in combinerawtransaction help message (pinheadmz)
+- #19940 Return fee and vsize from testmempoolaccept (gzhao408)
+- #13686 zmq: Small cleanups in the ZMQ code (domob1812)
+- #19386, #19528, #19717, #19849, #19994 Assert that RPCArg names are equal to CRPCCommand ones (MarcoFalke)
+- #19725 Add connection type to getpeerinfo, improve logs (amitiuttarwar)
+- #19969 Send RPC bug fix and touch-ups (Sjors)
+- #18309 zmq: Add support to listen on multiple interfaces (n-thumann)
+- #20055 Set HTTP Content-Type in bitcoin-cli (laanwj)
+- #19956 Improve invalid vout value rpc error message (n1rna)
+- #20101 Change no wallet loaded message to be clearer (achow101)
+- #19998 Add `via_tor` to `getpeerinfo` output (hebasto)
+- #19770 getpeerinfo: Deprecate "whitelisted" field (replaced by "permissions") (luke-jr)
+- #20120 net, rpc, test, bugfix: update GetNetworkName, GetNetworksInfo, regression tests (jonatack)
+- #20595 Improve heuristic hex transaction decoding (sipa)
+- #20731 Add missing description of vout in getrawtransaction help text (benthecarman)
+- #19328 Add gettxoutsetinfo `hash_type` option (fjahr)
+- #19731 Expose nLastBlockTime/nLastTXTime as last `block/last_transaction` in getpeerinfo (jonatack)
+- #19572 zmq: Create "sequence" notifier, enabling client-side mempool tracking (instagibbs)
+- #20002 Expose peer network in getpeerinfo; simplify/improve -netinfo (jonatack)
+
+### GUI
+- #17905 Avoid redundant tx status updates (ryanofsky)
+- #18646 Use `PACKAGE_NAME` in exception message (fanquake)
+- #17509 Save and load PSBT (Sjors)
+- #18769 Remove bug fix for Qt < 5.5 (10xcryptodev)
+- #15768 Add close window shortcut (IPGlider)
+- #16224 Bilingual GUI error messages (hebasto)
+- #18922 Do not translate InitWarning messages in debug.log (hebasto)
+- #18152 Use NotificationStatus enum for signals to GUI (hebasto)
+- #18587 Avoid wallet tryGetBalances calls in WalletModel::pollBalanceChanged (ryanofsky)
+- #17597 Fix height of QR-less ReceiveRequestDialog (hebasto)
+- #17918 Hide non PKHash-Addresses in signing address book (emilengler)
+- #17956 Disable unavailable context menu items in transactions tab (kristapsk)
+- #17968 Ensure that ModalOverlay is resized properly (hebasto)
+- #17993 Balance/TxStatus polling update based on last block hash (furszy)
+- #18424 Use parent-child relation to manage lifetime of OptionsModel object (hebasto)
+- #18452 Fix shutdown when `waitfor*` cmds are called from RPC console (hebasto)
+- #15202 Add Close All Wallets action (promag)
+- #19132 lock `cs_main`, `m_cached_tip_mutex` in that order (vasild)
+- #18898 Display warnings as rich text (hebasto)
+- #19231 add missing translation.h include to fix build (fanquake)
+- #18027 "PSBT Operations" dialog (gwillen)
+- #19256 Change combiner for signals to `optional_last_value` (fanquake)
+- #18896 Reset toolbar after all wallets are closed (hebasto)
+- #18993 increase console command max length (10xcryptodev)
+- #19323 Fix regression in *txoutset* in GUI console (hebasto)
+- #19210 Get rid of cursor in out-of-focus labels (hebasto)
+- #19011 Reduce `cs_main` lock accumulation during GUI startup (jonasschnelli)
+- #19844 Remove usage of boost::bind (fanquake)
+- #20479 Fix QPainter non-determinism on macOS (0.21 backport) (laanwj)
+- gui#6 Do not truncate node flag strings in debugwindow peers details tab (Saibato)
+- gui#8 Fix regression in TransactionTableModel (hebasto)
+- gui#17 doc: Remove outdated comment in TransactionTablePriv (MarcoFalke)
+- gui#20 Wrap tooltips in the intro window (hebasto)
+- gui#30 Disable the main window toolbar when the modal overlay is shown (hebasto)
+- gui#34 Show permissions instead of whitelisted (laanwj)
+- gui#35 Parse params directly instead of through node (ryanofsky)
+- gui#39 Add visual accenting for the 'Create new receiving address' button (hebasto)
+- gui#40 Clarify block height label (hebasto)
+- gui#43 bugfix: Call setWalletActionsEnabled(true) only for the first wallet (hebasto)
+- gui#97 Relax GUI freezes during IBD (jonasschnelli)
+- gui#71 Fix visual quality of text in QR image (hebasto)
+- gui#96 Slight improve create wallet dialog (Sjors)
+- gui#102 Fix SplashScreen crash when run with -disablewallet (hebasto)
+- gui#116 Fix unreasonable default size of the main window without loaded wallets (hebasto)
+- gui#120 Fix multiwallet transaction notifications (promag)
+
+### Build system
+- #18504 Drop bitcoin-tx and bitcoin-wallet dependencies on libevent (ryanofsky)
+- #18586 Bump gitian descriptors to 0.21 (laanwj)
+- #17595 guix: Enable building for `x86_64-w64-mingw32` target (dongcarl)
+- #17929 add linker optimisation flags to gitian & guix (Linux) (fanquake)
+- #18556 Drop make dist in gitian builds (hebasto)
+- #18088 ensure we aren't using GNU extensions (fanquake)
+- #18741 guix: Make source tarball using git-archive (dongcarl)
+- #18843 warn on potentially uninitialized reads (vasild)
+- #17874 make linker checks more robust (fanquake)
+- #18535 remove -Qunused-arguments workaround for clang + ccache (fanquake)
+- #18743 Add --sysroot option to mac os native compile flags (ryanofsky)
+- #18216 test, build: Enable -Werror=sign-compare (Empact)
+- #18928 don't pass -w when building for Windows (fanquake)
+- #16710 Enable -Wsuggest-override if available (hebasto)
+- #18738 Suppress -Wdeprecated-copy warnings (hebasto)
+- #18862 Remove fdelt_chk back-compat code and sanity check (fanquake)
+- #18887 enable -Werror=gnu (vasild)
+- #18956 enforce minimum required Windows version (7) (fanquake)
+- #18958 guix: Make V=1 more powerful for debugging (dongcarl)
+- #18677 Multiprocess build support (ryanofsky)
+- #19094 Only allow ASCII identifiers (laanwj)
+- #18820 Propagate well-known vars into depends (dongcarl)
+- #19173 turn on --enable-c++17 by --enable-fuzz (vasild)
+- #18297 Use pkg-config in BITCOIN_QT_CONFIGURE for all hosts including Windows (hebasto)
+- #19301 don't warn when doxygen isn't found (fanquake)
+- #19240 macOS toolchain simplification and bump (dongcarl)
+- #19356 Fix search for brew-installed BDB 4 on OS X (gwillen)
+- #19394 Remove unused `RES_IMAGES` (Bushstar)
+- #19403 improve `__builtin_clz*` detection (fanquake)
+- #19375 target Windows 7 when building libevent and fix ipv6 usage (fanquake)
+- #19331 Do not include server symbols in wallet (MarcoFalke)
+- #19257 remove BIP70 configure option (fanquake)
+- #18288 Add MemorySanitizer (MSan) in Travis to detect use of uninitialized memory (practicalswift)
+- #18307 Require pkg-config for all of the hosts (hebasto)
+- #19445 Update msvc build to use ISO standard C++17 (sipsorcery)
+- #18882 fix -Wformat-security check when compiling with GCC (fanquake)
+- #17919 Allow building with system clang (dongcarl)
+- #19553 pass -fcommon when building genisoimage (fanquake)
+- #19565 call `AC_PATH_TOOL` for dsymutil in macOS cross-compile (fanquake)
+- #19530 build LTO support into Apple's ld64 (theuni)
+- #19525 add -Wl,-z,separate-code to hardening flags (fanquake)
+- #19667 set minimum required Boost to 1.58.0 (fanquake)
+- #19672 make clean removes .gcda and .gcno files from fuzz directory (Crypt-iQ)
+- #19622 Drop ancient hack in gitian-linux descriptor (hebasto)
+- #19688 Add support for llvm-cov (hebasto)
+- #19718 Add missed gcov files to 'make clean' (hebasto)
+- #19719 Add Werror=range-loop-analysis (MarcoFalke)
+- #19015 Enable some commonly enabled compiler diagnostics (practicalswift)
+- #19689 build, qt: Add Qt version checking (hebasto)
+- #17396 modest Android improvements (icota)
+- #18405 Drop all of the ZeroMQ patches (hebasto)
+- #15704 Move Win32 defines to configure.ac to ensure they are globally defined (luke-jr)
+- #19761 improve sed robustness by not using sed (fanquake)
+- #19758 Drop deprecated and unused `GUARDED_VAR` and `PT_GUARDED_VAR` annotations (hebasto)
+- #18921 add stack-clash and control-flow protection options to hardening flags (fanquake)
+- #19803 Bugfix: Define and use `HAVE_FDATASYNC` correctly outside LevelDB (luke-jr)
+- #19685 CMake invocation cleanup (dongcarl)
+- #19861 add /usr/local/ to `LCOV_FILTER_PATTERN` for macOS builds (Crypt-iQ)
+- #19916 allow user to specify `DIR_FUZZ_SEED_CORPUS` for `cov_fuzz` (Crypt-iQ)
+- #19944 Update secp256k1 subtree (including BIP340 support) (sipa)
+- #19558 Split pthread flags out of ldflags and dont use when building libconsensus (fanquake)
+- #19959 patch qt libpng to fix powerpc build (fanquake)
+- #19868 Fix target name (hebasto)
+- #19960 The vcpkg tool has introduced a proper way to use manifests (sipsorcery)
+- #20065 fuzz: Configure check for main function (MarcoFalke)
+- #18750 Optionally skip external warnings (vasild)
+- #20147 Update libsecp256k1 (endomorphism, test improvements) (sipa)
+- #20156 Make sqlite support optional (compile-time) (luke-jr)
+- #20318 Ensure source tarball has leading directory name (MarcoFalke)
+- #20447 Patch `qt_intersect_spans` to avoid non-deterministic behavior in LLVM 8 (achow101)
+- #20505 Avoid secp256k1.h include from system (dergoegge)
+- #20527 Do not ignore Homebrew's SQLite on macOS (hebasto)
+- #20478 Don't set BDB flags when configuring without (jonasschnelli)
+- #20563 Check that Homebrew's berkeley-db4 package is actually installed (hebasto)
+- #19493 Fix clang build on Mac (bvbfan)
+
+### Tests and QA
+- #18593 Complete impl. of `msg_merkleblock` and `wait_for_merkleblock` (theStack)
+- #18609 Remove REJECT message code (hebasto)
+- #18584 Check that the version message does not leak the local address (MarcoFalke)
+- #18597 Extend `wallet_dump` test to cover comments (MarcoFalke)
+- #18596 Try once more when RPC connection fails on Windows (MarcoFalke)
+- #18451 shift coverage from getunconfirmedbalance to getbalances (jonatack)
+- #18631 appveyor: Disable functional tests for now (MarcoFalke)
+- #18628 Add various low-level p2p tests (MarcoFalke)
+- #18615 Avoid accessing free'd memory in `validation_chainstatemanager_tests` (MarcoFalke)
+- #18571 fuzz: Disable debug log file (MarcoFalke)
+- #18653 add coverage for bitcoin-cli -rpcwait (jonatack)
+- #18660 Verify findCommonAncestor always initializes outputs (ryanofsky)
+- #17669 Have coins simulation test also use CCoinsViewDB (jamesob)
+- #18662 Replace gArgs with local argsman in bench (MarcoFalke)
+- #18641 Create cached blocks not in the future (MarcoFalke)
+- #18682 fuzz: `http_request` workaround for libevent < 2.1.1 (theStack)
+- #18692 Bump timeout in `wallet_import_rescan` (MarcoFalke)
+- #18695 Replace boost::mutex with std::mutex (hebasto)
+- #18633 Properly raise FailedToStartError when rpc shutdown before warmup finished (MarcoFalke)
+- #18675 Don't initialize PrecomputedTransactionData in txvalidationcache tests (jnewbery)
+- #18691 Add `wait_for_cookie_credentials()` to framework for rpcwait tests (jonatack)
+- #18672 Add further BIP37 size limit checks to `p2p_filter.py` (theStack)
+- #18721 Fix linter issue (hebasto)
+- #18384 More specific `feature_segwit` test error messages and fixing incorrect comments (gzhao408)
+- #18575 bench: Remove requirement that all benches use same testing setup (MarcoFalke)
+- #18690 Check object hashes in `wait_for_getdata` (robot-visions)
+- #18712 display command line options passed to `send_cli()` in debug log (jonatack)
+- #18745 Check submitblock return values (MarcoFalke)
+- #18756 Use `wait_for_getdata()` in `p2p_compactblocks.py` (theStack)
+- #18724 Add coverage for -rpcwallet cli option (jonatack)
+- #18754 bench: Add caddrman benchmarks (vasild)
+- #18585 Use zero-argument super() shortcut (Python 3.0+) (theStack)
+- #18688 fuzz: Run in parallel (MarcoFalke)
+- #18770 Remove raw-tx byte juggling in `mempool_reorg` (MarcoFalke)
+- #18805 Add missing `sync_all` to `wallet_importdescriptors.py` (achow101)
+- #18759 bench: Start nodes with -nodebuglogfile (MarcoFalke)
+- #18774 Added test for upgradewallet RPC (brakmic)
+- #18485 Add `mempool_updatefromblock.py` (hebasto)
+- #18727 Add CreateWalletFromFile test (ryanofsky)
+- #18726 Check misbehavior more independently in `p2p_filter.py` (robot-visions)
+- #18825 Fix message for `ECC_InitSanityCheck` test (fanquake)
+- #18576 Use unittest for `test_framework` unit testing (gzhao408)
+- #18828 Strip down previous releases boilerplate (MarcoFalke)
+- #18617 Add factor option to adjust test timeouts (brakmic)
+- #18855 `feature_backwards_compatibility.py` test downgrade after upgrade (achow101)
+- #18864 Add v0.16.3 backwards compatibility test, bump v0.19.0.1 to v0.19.1 (Sjors)
+- #18917 fuzz: Fix vector size problem in system fuzzer (brakmic)
+- #18901 fuzz: use std::optional for `sep_pos_opt` variable (brakmic)
+- #18888 Remove RPCOverloadWrapper boilerplate (MarcoFalke)
+- #18952 Avoid os-dependent path (fametrano)
+- #18938 Fill fuzzing coverage gaps for functions in consensus/validation.h, primitives/block.h and util/translation.h (practicalswift)
+- #18986 Add capability to disable RPC timeout in functional tests (rajarshimaitra)
+- #18530 Add test for -blocksonly and -whitelistforcerelay param interaction (glowang)
+- #19014 Replace `TEST_PREVIOUS_RELEASES` env var with `test_framework` option (MarcoFalke)
+- #19052 Don't limit fuzzing inputs to 1 MB for afl-fuzz (now: ∞ ∀ fuzzers) (practicalswift)
+- #19060 Remove global `wait_until` from `p2p_getdata` (MarcoFalke)
+- #18926 Pass ArgsManager into `getarg_tests` (glowang)
+- #19110 Explain that a bug should be filed when the tests fail (MarcoFalke)
+- #18965 Implement `base58_decode` (10xcryptodev)
+- #16564 Always define the `raii_event_tests` test suite (candrews)
+- #19122 Add missing `sync_blocks` to `wallet_hd` (MarcoFalke)
+- #18875 fuzz: Stop nodes in `process_message*` fuzzers (MarcoFalke)
+- #18974 Check that invalid witness destinations can not be imported (MarcoFalke)
+- #18210 Type hints in Python tests (kiminuo)
+- #19159 Make valgrind.supp work on aarch64 (MarcoFalke)
+- #19082 Moved the CScriptNum asserts into the unit test in script.py (gillichu)
+- #19172 Do not swallow flake8 exit code (hebasto)
+- #19188 Avoid overwriting the NodeContext member of the testing setup [-Wshadow-field] (MarcoFalke)
+- #18890 `disconnect_nodes` should warn if nodes were already disconnected (robot-visions)
+- #19227 change blacklist to blocklist (TrentZ)
+- #19230 Move base58 to own module to break circular dependency (sipa)
+- #19083 `msg_mempool`, `fRelay`, and other bloomfilter tests (gzhao408)
+- #16756 Connection eviction logic tests (mzumsande)
+- #19177 Fix and clean `p2p_invalid_messages` functional tests (troygiorshev)
+- #19264 Don't import asyncio to test magic bytes (jnewbery)
+- #19178 Make `mininode_lock` non-reentrant (jnewbery)
+- #19153 Mempool compatibility test (S3RK)
+- #18434 Add a test-security target and run it in CI (fanquake)
+- #19252 Wait for disconnect in `disconnect_p2ps` + bloomfilter test followups (gzhao408)
+- #19298 Add missing `sync_blocks` (MarcoFalke)
+- #19304 Check that message sends successfully when header is split across two buffers (troygiorshev)
+- #19208 move `sync_blocks` and `sync_mempool` functions to `test_framework.py` (ycshao)
+- #19198 Check that peers with forcerelay permission are not asked to feefilter (MarcoFalke)
+- #19351 add two edge case tests for CSubNet (vasild)
+- #19272 net, test: invalid p2p messages and test framework improvements (jonatack)
+- #19348 Bump linter versions (duncandean)
+- #19366 Provide main(…) function in fuzzer. Allow building uninstrumented harnesses with --enable-fuzz (practicalswift)
+- #19412 move `TEST_RUNNER_EXTRA` into native tsan setup (fanquake)
+- #19368 Improve functional tests compatibility with BSD/macOS (S3RK)
+- #19028 Set -logthreadnames in unit tests (MarcoFalke)
+- #18649 Add std::locale::global to list of locale dependent functions (practicalswift)
+- #19140 Avoid fuzzer-specific nullptr dereference in libevent when handling PROXY requests (practicalswift)
+- #19214 Auto-detect SHA256 implementation in benchmarks (sipa)
+- #19353 Fix mistakenly swapped "previous" and "current" lock orders (hebasto)
+- #19533 Remove unnecessary `cs_mains` in `denialofservice_tests` (jnewbery)
+- #19423 add functional test for txrelay during and after IBD (gzhao408)
+- #16878 Fix non-deterministic coverage of test `DoS_mapOrphans` (davereikher)
+- #19548 fuzz: add missing overrides to `signature_checker` (jonatack)
+- #19562 Fix fuzzer compilation on macOS (freenancial)
+- #19370 Static asserts for consistency of fee defaults (domob1812)
+- #19599 clean `message_count` and `last_message` (troygiorshev)
+- #19597 test decodepsbt fee calculation (count input value only once per UTXO) (theStack)
+- #18011 Replace current benchmarking framework with nanobench (martinus)
+- #19489 Fail `wait_until` early if connection is lost (MarcoFalke)
+- #19340 Preserve the `LockData` initial state if "potential deadlock detected" exception thrown (hebasto)
+- #19632 Catch decimal.InvalidOperation from `TestNodeCLI#send_cli` (Empact)
+- #19098 Remove duplicate NodeContext hacks (ryanofsky)
+- #19649 Restore test case for p2p transaction blinding (instagibbs)
+- #19657 Wait until `is_connected` in `add_p2p_connection` (MarcoFalke)
+- #19631 Wait for 'cmpctblock' in `p2p_compactblocks` when it is expected (Empact)
+- #19674 use throwaway _ variable for unused loop counters (theStack)
+- #19709 Fix 'make cov' with clang (hebasto)
+- #19564 `p2p_feefilter` improvements (logging, refactoring, speedup) (theStack)
+- #19756 add `sync_all` to fix race condition in wallet groups test (kallewoof)
+- #19727 Removing unused classes from `p2p_leak.py` (dhruv)
+- #19722 Add test for getblockheader verboseness (torhte)
+- #19659 Add a seed corpus generation option to the fuzzing `test_runner` (darosior)
+- #19775 Activate segwit in TestChain100Setup (MarcoFalke)
+- #19760 Remove confusing mininode terminology (jnewbery)
+- #19752 Update `wait_until` usage in tests not to use the one from utils (slmtpz)
+- #19839 Set appveyor VM version to previous Visual Studio 2019 release (sipsorcery)
+- #19830 Add tsan supp for leveldb::DBImpl::DeleteObsoleteFiles (MarcoFalke)
+- #19710 bench: Prevent thread oversubscription and decreases the variance of result values (hebasto)
+- #19842 Update the vcpkg checkout commit ID in appveyor config (sipsorcery)
+- #19507 Expand functional zmq transaction tests (instagibbs)
+- #19816 Rename wait until helper to `wait_until_helper` (MarcoFalke)
+- #19859 Fixes failing functional test by changing version (n-thumann)
+- #19887 Fix flaky `wallet_basic` test (fjahr)
+- #19897 Change `FILE_CHAR_BLOCKLIST` to `FILE_CHARS_DISALLOWED` (verretor)
+- #19800 Mockwallet (MarcoFalke)
+- #19922 Run `rpc_txoutproof.py` even with wallet disabled (MarcoFalke)
+- #19936 batch rpc with params (instagibbs)
+- #19971 create default wallet in extended tests (Sjors)
+- #19781 add parameterized constructor for `msg_sendcmpct()` (theStack)
+- #19963 Clarify blocksonly whitelistforcerelay test (t-bast)
+- #20022 Use explicit p2p objects where available (guggero)
+- #20028 Check that invalid peer traffic is accounted for (MarcoFalke)
+- #20004 Add signet witness commitment section parse tests (MarcoFalke)
+- #20034 Get rid of default wallet hacks (ryanofsky)
+- #20069 Mention commit id in scripted diff error (laanwj)
+- #19947 Cover `change_type` option of "walletcreatefundedpsbt" RPC (guggero)
+- #20126 `p2p_leak_tx.py` improvements (use MiniWallet, add `p2p_lock` acquires) (theStack)
+- #20129 Don't export `in6addr_loopback` (vasild)
+- #20131 Remove unused nVersion=1 in p2p tests (MarcoFalke)
+- #20161 Minor Taproot follow-ups (sipa)
+- #19401 Use GBT to get block versions correct (luke-jr)
+- #20159 `mining_getblocktemplate_longpoll.py` improvements (use MiniWallet, add logging) (theStack)
+- #20039 Convert amounts from float to decimal (prayank23)
+- #20112 Speed up `wallet_resendwallettransactions` with mockscheduler RPC (MarcoFalke)
+- #20247 fuzz: Check for addrv1 compatibility before using addrv1 serializer. Fuzz addrv2 serialization (practicalswift)
+- #20167 Add test for -blockversion (MarcoFalke)
+- #19877 Clarify `rpc_net` & `p2p_disconnect_ban functional` tests (amitiuttarwar)
+- #20258 Remove getnettotals/getpeerinfo consistency test (jnewbery)
+- #20242 fuzz: Properly initialize PrecomputedTransactionData (MarcoFalke)
+- #20262 Skip --descriptor tests if sqlite is not compiled (achow101)
+- #18788 Update more tests to work with descriptor wallets (achow101)
+- #20289 fuzz: Check for addrv1 compatibility before using addrv1 serializer/deserializer on CService (practicalswift)
+- #20290 fuzz: Fix DecodeHexTx fuzzing harness issue (practicalswift)
+- #20245 Run `script_assets_test` even if built --with-libs=no (MarcoFalke)
+- #20300 fuzz: Add missing `ECC_Start` to `descriptor_parse` test (S3RK)
+- #20283 Only try witness deser when checking for witness deser failure (MarcoFalke)
+- #20303 fuzz: Assert expected DecodeHexTx behaviour when using legacy decoding (practicalswift)
+- #20316 Fix `wallet_multiwallet` test issue on Windows (MarcoFalke)
+- #20326 Fix `ecdsa_verify` in test framework (stepansnigirev)
+- #20328 cirrus: Skip tasks on the gui repo main branch (MarcoFalke)
+- #20355 fuzz: Check for addrv1 compatibility before using addrv1 serializer/deserializer on CSubNet (practicalswift)
+- #20332 Mock IBD in `net_processing` fuzzers (MarcoFalke)
+- #20218 Suppress `epoll_ctl` data race (MarcoFalke)
+- #20375 fuzz: Improve coverage for CPartialMerkleTree fuzzing harness (practicalswift)
+- #19669 contrib: Fixup valgrind suppressions file (MarcoFalke)
+- #18879 valgrind: remove outdated suppressions (fanquake)
+- #19226 Add BerkeleyDatabase tsan suppression (MarcoFalke)
+- #20379 Remove no longer needed UBSan suppression (float divide-by-zero in validation.cpp) (practicalswift)
+- #18190, #18736, #18744, #18775, #18783, #18867, #18994, #19065,
+ #19067, #19143, #19222, #19247, #19286, #19296, #19379, #19934,
+ #20188, #20395 Add fuzzing harnessses (practicalswift)
+- #18638 Use mockable time for ping/pong, add tests (MarcoFalke)
+- #19951 CNetAddr scoped ipv6 test coverage, rename scopeId to `m_scope_id` (jonatack)
+- #20027 Use mockable time everywhere in `net_processing` (sipa)
+- #19105 Add Muhash3072 implementation in Python (fjahr)
+- #18704, #18752, #18753, #18765, #18839, #18866, #18873, #19022,
+ #19023, #19429, #19552, #19778, #20176, #20179, #20214, #20292,
+ #20299, #20322 Fix intermittent test issues (MarcoFalke)
+- #20390 CI/Cirrus: Skip `merge_base` step for non-PRs (luke-jr)
+- #18634 ci: Add fuzzbuzz integration configuration file (practicalswift)
+- #18591 Add C++17 build to Travis (sipa)
+- #18581, #18667, #18798, #19495, #19519, #19538 CI improvements (hebasto)
+- #18683, #18705, #18735, #18778, #18799, #18829, #18912, #18929,
+ #19008, #19041, #19164, #19201, #19267, #19276, #19321, #19371,
+ #19427, #19730, #19746, #19881, #20294, #20339, #20368 CI improvements (MarcoFalke)
+- #20489, #20506 MSVC CI improvements (sipsorcery)
+
+### Miscellaneous
+- #18713 scripts: Add macho stack canary check to security-check.py (fanquake)
+- #18629 scripts: Add pe .reloc section check to security-check.py (fanquake)
+- #18437 util: `Detect posix_fallocate()` instead of assuming (vasild)
+- #18413 script: Prevent ub when computing abs value for num opcode serialize (pierreN)
+- #18443 lockedpool: avoid sensitive data in core files (FreeBSD) (vasild)
+- #18885 contrib: Move optimize-pngs.py script to the maintainer repo (MarcoFalke)
+- #18317 Serialization improvements step 6 (all except wallet/gui) (sipa)
+- #16127 More thread safety annotation coverage (ajtowns)
+- #19228 Update libsecp256k1 subtree (sipa)
+- #19277 util: Add assert identity function (MarcoFalke)
+- #19491 util: Make assert work with any value (MarcoFalke)
+- #19205 script: `previous_release.sh` rewritten in python (bliotti)
+- #15935 Add <datadir>/settings.json persistent settings storage (ryanofsky)
+- #19439 script: Linter to check commit message formatting (Ghorbanian)
+- #19654 lint: Improve commit message linter in travis (fjahr)
+- #15382 util: Add runcommandparsejson (Sjors)
+- #19614 util: Use `have_fdatasync` to determine fdatasync() use (fanquake)
+- #19813 util, ci: Hard code previous release tarball checksums (hebasto)
+- #19841 Implement Keccak and `SHA3_256` (sipa)
+- #19643 Add -netinfo peer connections dashboard (jonatack)
+- #15367 feature: Added ability for users to add a startup command (benthecarman)
+- #19984 log: Remove static log message "Initializing chainstate Chainstate [ibd] @ height -1 (null)" (practicalswift)
+- #20092 util: Do not use gargs global in argsmanager member functions (hebasto)
+- #20168 contrib: Fix `gen_key_io_test_vectors.py` imports (MarcoFalke)
+- #19624 Warn on unknown `rw_settings` (MarcoFalke)
+- #20257 Update secp256k1 subtree to latest master (sipa)
+- #20346 script: Modify security-check.py to use "==" instead of "is" for literal comparison (tylerchambers)
+- #18881 Prevent UB in DeleteLock() function (hebasto)
+- #19180, #19189, #19190, #19220, #19399 Replace RecursiveMutex with Mutex (hebasto)
+- #19347 Make `cs_inventory` nonrecursive (jnewbery)
+- #19773 Avoid recursive lock in IsTrusted (promag)
+- #18790 Improve thread naming (hebasto)
+- #20140 Restore compatibility with old CSubNet serialization (sipa)
+- #17775 DecodeHexTx: Try case where txn has inputs first (instagibbs)
+
+### Documentation
+- #18502 Update docs for getbalance (default minconf should be 0) (uzyn)
+- #18632 Fix macos comments in release-notes (MarcoFalke)
+- #18645 Update thread information in developer docs (jnewbery)
+- #18709 Note why we can't use `thread_local` with glibc back compat (fanquake)
+- #18410 Improve commenting for coins.cpp|h (jnewbery)
+- #18157 fixing init.md documentation to not require rpcpassword (jkcd)
+- #18739 Document how to fuzz Bitcoin Core using Honggfuzz (practicalswift)
+- #18779 Better explain GNU ld's dislike of ld64's options (fanquake)
+- #18663 Mention build docs in README.md (saahilshangle)
+- #18810 Update rest info on block size and json (chrisabrams)
+- #18939 Add c++17-enable flag to fuzzing instructions (mzumsande)
+- #18957 Add a link from ZMQ doc to ZMQ example in contrib/ (meeDamian)
+- #19058 Drop protobuf stuff (hebasto)
+- #19061 Add link to Visual Studio build readme (maitrebitcoin)
+- #19072 Expand section on Getting Started (MarcoFalke)
+- #18968 noban precludes maxuploadtarget disconnects (MarcoFalke)
+- #19005 Add documentation for 'checklevel' argument in 'verifychain' RPC… (kcalvinalvin)
+- #19192 Extract net permissions doc (MarcoFalke)
+- #19071 Separate repository for the gui (MarcoFalke)
+- #19018 fixing description of the field sequence in walletcreatefundedpsbt RPC method (limpbrains)
+- #19367 Span pitfalls (sipa)
+- #19408 Windows WSL build recommendation to temporarily disable Win32 PE support (sipsorcery)
+- #19407 explain why passing -mlinker-version is required when cross-compiling (fanquake)
+- #19452 afl fuzzing comment about afl-gcc and afl-g++ (Crypt-iQ)
+- #19258 improve subtree check instructions (Sjors)
+- #19474 Use precise permission flags where possible (MarcoFalke)
+- #19494 CONTRIBUTING.md improvements (jonatack)
+- #19268 Add non-thread-safe note to FeeFilterRounder::round() (hebasto)
+- #19547 Update macOS cross compilation dependencies for Focal (hebasto)
+- #19617 Clang 8 or later is required with `FORCE_USE_SYSTEM_CLANG` (fanquake)
+- #19639 Remove Reference Links #19582 (RobertHosking)
+- #19605 Set `CC_FOR_BUILD` when building on OpenBSD (fanquake)
+- #19765 Fix getmempoolancestors RPC result doc (MarcoFalke)
+- #19786 Remove label from good first issue template (MarcoFalke)
+- #19646 Updated outdated help command for getblocktemplate (jakeleventhal)
+- #18817 Document differences in bitcoind and bitcoin-qt locale handling (practicalswift)
+- #19870 update PyZMQ install instructions, fix `zmq_sub.py` file permissions (jonatack)
+- #19903 Update build-openbsd.md with GUI support (grubles)
+- #19241 help: Generate checkpoint height from chainparams (luke-jr)
+- #18949 Add CODEOWNERS file to automatically nominate PR reviewers (adamjonas)
+- #20014 Mention signet in -help output (hebasto)
+- #20015 Added default signet config for linearize script (gr0kchain)
+- #19958 Better document features of feelers (naumenkogs)
+- #19871 Clarify scope of eviction protection of outbound block-relay peers (ariard)
+- #20076 Update and improve files.md (hebasto)
+- #20107 Collect release-notes snippets (MarcoFalke)
+- #20109 Release notes and followups from 19339 (glozow)
+- #20090 Tiny followups to new getpeerinfo connection type field (amitiuttarwar)
+- #20152 Update wallet files in files.md (hebasto)
+- #19124 Document `ALLOW_HOST_PACKAGES` dependency option (skmcontrib)
+- #20271 Document that wallet salvage is experimental (MarcoFalke)
+- #20281 Correct getblockstats documentation for `(sw)total_weight` (shesek)
+- #20279 release process updates/fixups (jonatack)
+- #20238 Missing comments for signet parameters (decryp2kanon)
+- #20756 Add missing field (permissions) to the getpeerinfo help (amitiuttarwar)
+- #20668 warn that incoming conns are unlikely when not using default ports (adamjonas)
+- #19961 tor.md updates (jonatack)
+- #19050 Add warning for rest interface limitation (fjahr)
+- #19390 doc/REST-interface: Remove stale info (luke-jr)
+- #19344 docs: update testgen usage example (Bushstar)
+
+Credits
+=======
+
+Thanks to everyone who directly contributed to this release:
+
+- 10xcryptodev
+- Aaron Clauson
+- Aaron Hook
+- Adam Jonas
+- Adam Soltys
+- Adam Stein
+- Akio Nakamura
+- Alex Willmer
+- Amir Ghorbanian
+- Amiti Uttarwar
+- Andrew Chow
+- Andrew Toth
+- Anthony Fieroni
+- Anthony Towns
+- Antoine Poinsot
+- Antoine Riard
+- Ben Carman
+- Ben Woosley
+- Benoit Verret
+- Brian Liotti
+- Bushstar
+- Calvin Kim
+- Carl Dong
+- Chris Abrams
+- Chris L
+- Christopher Coverdale
+- codeShark149
+- Cory Fields
+- Craig Andrews
+- Damian Mee
+- Daniel Kraft
+- Danny Lee
+- David Reikher
+- DesWurstes
+- Dhruv Mehta
+- Duncan Dean
+- Elichai Turkel
+- Elliott Jin
+- Emil Engler
+- Ethan Heilman
+- eugene
+- Fabian Jahr
+- fanquake
+- Ferdinando M. Ametrano
+- freenancial
+- furszy
+- Gillian Chu
+- Gleb Naumenko
+- Glenn Willen
+- Gloria Zhao
+- glowang
+- gr0kchain
+- Gregory Sanders
+- grubles
+- gzhao408
+- Harris
+- Hennadii Stepanov
+- Hugo Nguyen
+- Igor Cota
+- Ivan Metlushko
+- Ivan Vershigora
+- Jake Leventhal
+- James O'Beirne
+- Jeremy Rubin
+- jgmorgan
+- Jim Posen
+- “jkcd”
+- jmorgan
+- John Newbery
+- Johnson Lau
+- Jon Atack
+- Jonas Schnelli
+- Jonathan Schoeller
+- João Barbosa
+- Justin Moon
+- kanon
+- Karl-Johan Alm
+- Kiminuo
+- Kristaps Kaupe
+- lontivero
+- Luke Dashjr
+- Marcin Jachymiak
+- MarcoFalke
+- Martin Ankerl
+- Martin Zumsande
+- maskoficarus
+- Matt Corallo
+- Matthew Zipkin
+- MeshCollider
+- Miguel Herranz
+- MIZUTA Takeshi
+- mruddy
+- Nadav Ivgi
+- Neha Narula
+- Nicolas Thumann
+- Niklas Gögge
+- Nima Yazdanmehr
+- nsa
+- nthumann
+- Oliver Gugger
+- pad
+- pasta
+- Peter Bushnell
+- pierrenn
+- Pieter Wuille
+- practicalswift
+- Prayank
+- Raúl Martínez (RME)
+- RandyMcMillan
+- Rene Pickhardt
+- Riccardo Masutti
+- Robert
+- Rod Vagg
+- Roy Shao
+- Russell Yanofsky
+- Saahil Shangle
+- sachinkm77
+- saibato
+- Samuel Dobson
+- sanket1729
+- Sebastian Falbesoner
+- Seleme Topuz
+- Sishir Giri
+- Sjors Provoost
+- skmcontrib
+- Stepan Snigirev
+- Stephan Oeste
+- Suhas Daftuar
+- t-bast
+- Tom Harding
+- Torhte Butler
+- TrentZ
+- Troy Giorshev
+- tryphe
+- Tyler Chambers
+- U-Zyn Chua
+- Vasil Dimov
+- wiz
+- Wladimir J. van der Laan
+
+As well as to everyone that helped with translations on
+[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
diff --git a/doc/tor.md b/doc/tor.md
index 12b5f70245..34c5f1b5e7 100644
--- a/doc/tor.md
+++ b/doc/tor.md
@@ -5,6 +5,16 @@ It is possible to run Bitcoin Core as a Tor onion service, and connect to such s
The following directions assume you have a Tor proxy running on port 9050. Many distributions default to having a SOCKS proxy listening on port 9050, but others may not. In particular, the Tor Browser Bundle defaults to listening on port 9150. See [Tor Project FAQ:TBBSocksPort](https://www.torproject.org/docs/faq.html.en#TBBSocksPort) for how to properly
configure Tor.
+## How to see information about your Tor configuration via Bitcoin Core
+
+There are several ways to see your local onion address in Bitcoin Core:
+- in the debug log (grep for "tor:" or "AddLocal")
+- in the output of RPC `getnetworkinfo` in the "localaddresses" section
+- in the output of the CLI `-netinfo` peer connections dashboard
+
+You may set the `-debug=tor` config logging option to have additional
+information in the debug log about your Tor configuration.
+
## 1. Run Bitcoin Core behind a Tor proxy
@@ -52,14 +62,19 @@ The directory can be different of course, but virtual port numbers should be equ
your bitcoind's P2P listen port (8333 by default), and target addresses and ports
should be equal to binding address and port for inbound Tor connections (127.0.0.1:8334 by default).
- -externalip=X You can tell bitcoin about its publicly reachable address using
- this option, and this can be a .onion address. Given the above
- configuration, you can find your .onion address in
+ -externalip=X You can tell bitcoin about its publicly reachable addresses using
+ this option, and this can be an onion address. Given the above
+ configuration, you can find your onion address in
/var/lib/tor/bitcoin-service/hostname. For connections
coming from unroutable addresses (such as 127.0.0.1, where the
- Tor proxy typically runs), .onion addresses are given
+ Tor proxy typically runs), onion addresses are given
preference for your node to advertise itself with.
+ You can set multiple local addresses with -externalip. The
+ one that will be rumoured to a particular peer is the most
+ compatible one and also using heuristics, e.g. the address
+ with the most incoming connections, etc.
+
-listen You'll need to enable listening for incoming connections, as this
is off by default behind a proxy.
@@ -72,7 +87,7 @@ should be equal to binding address and port for inbound Tor connections (127.0.0
In a typical situation, where you're only reachable via Tor, this should suffice:
- ./bitcoind -proxy=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -listen
+ ./bitcoind -proxy=127.0.0.1:9050 -externalip=7zvj7a2imdgkdbg4f2dryd5rgtrn7upivr5eeij4cicjh65pooxeshid.onion -listen
(obviously, replace the .onion address with your own). It should be noted that you still
listen on all devices and another node could establish a clearnet connection, when knowing
@@ -90,7 +105,7 @@ and open port 8333 on your firewall (or use -upnp).
If you only want to use Tor to reach .onion addresses, but not use it as a proxy
for normal IPv4/IPv6 communication, use:
- ./bitcoind -onion=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -discover
+ ./bitcoind -onion=127.0.0.1:9050 -externalip=7zvj7a2imdgkdbg4f2dryd5rgtrn7upivr5eeij4cicjh65pooxeshid.onion -discover
## 3. Automatically listen on Tor
diff --git a/src/Makefile.am b/src/Makefile.am
index 67fd402603..c26cb34549 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -20,9 +20,8 @@ else
LIBUNIVALUE = $(UNIVALUE_LIBS)
endif
-BITCOIN_INCLUDES=-I$(builddir) $(BDB_CPPFLAGS) $(BOOST_CPPFLAGS) $(LEVELDB_CPPFLAGS)
+BITCOIN_INCLUDES=-I$(builddir) -I$(srcdir)/secp256k1/include $(BDB_CPPFLAGS) $(BOOST_CPPFLAGS) $(LEVELDB_CPPFLAGS)
-BITCOIN_INCLUDES += -I$(srcdir)/secp256k1/include
BITCOIN_INCLUDES += $(UNIVALUE_CFLAGS)
LIBBITCOIN_SERVER=libbitcoin_server.a
diff --git a/src/chainparams.cpp b/src/chainparams.cpp
index fedb032db2..88cf5ef0a8 100644
--- a/src/chainparams.cpp
+++ b/src/chainparams.cpp
@@ -272,7 +272,7 @@ public:
bin = ParseHex("512103ad5e0edad18cb1f0fc0d28a3d4f1f3e445640337489abb10404f2d1e086be430210359ef5021964fe22d6f8e05b2463c9540ce96883fe3b278760f048f5189f2e6c452ae");
vSeeds.emplace_back("178.128.221.177");
vSeeds.emplace_back("2a01:7c8:d005:390::5");
- vSeeds.emplace_back("ntv3mtqw5wt63red.onion:38333");
+ vSeeds.emplace_back("v7ajjeirttkbnt32wpy3c6w3emwnfr3fkla7hpxcfokr3ysd3kqtzmqd.onion:38333");
consensus.nMinimumChainWork = uint256S("0x00000000000000000000000000000000000000000000000000000019fd16269a");
consensus.defaultAssumeValid = uint256S("0x0000002a1de0f46379358c1fd09906f7ac59adf3712323ed90eb59e4c183c020"); // 9434
diff --git a/src/core_read.cpp b/src/core_read.cpp
index 121e62457c..fc02b1b647 100644
--- a/src/core_read.cpp
+++ b/src/core_read.cpp
@@ -119,31 +119,72 @@ static bool CheckTxScriptsSanity(const CMutableTransaction& tx)
static bool DecodeTx(CMutableTransaction& tx, const std::vector<unsigned char>& tx_data, bool try_no_witness, bool try_witness)
{
+ // General strategy:
+ // - Decode both with extended serialization (which interprets the 0x0001 tag as a marker for
+ // the presense of witnesses) and with legacy serialization (which interprets the tag as a
+ // 0-input 1-output incomplete transaction).
+ // - Restricted by try_no_witness (which disables legacy if false) and try_witness (which
+ // disables extended if false).
+ // - Ignore serializations that do not fully consume the hex string.
+ // - If neither succeeds, fail.
+ // - If only one succeeds, return that one.
+ // - If both decode attempts succeed:
+ // - If only one passes the CheckTxScriptsSanity check, return that one.
+ // - If neither or both pass CheckTxScriptsSanity, return the extended one.
+
+ CMutableTransaction tx_extended, tx_legacy;
+ bool ok_extended = false, ok_legacy = false;
+
+ // Try decoding with extended serialization support, and remember if the result successfully
+ // consumes the entire input.
if (try_witness) {
CDataStream ssData(tx_data, SER_NETWORK, PROTOCOL_VERSION);
try {
- ssData >> tx;
- // If transaction looks sane, we don't try other mode even if requested
- if (ssData.empty() && (!try_no_witness || CheckTxScriptsSanity(tx))) {
- return true;
- }
+ ssData >> tx_extended;
+ if (ssData.empty()) ok_extended = true;
} catch (const std::exception&) {
// Fall through.
}
}
+ // Optimization: if extended decoding succeeded and the result passes CheckTxScriptsSanity,
+ // don't bother decoding the other way.
+ if (ok_extended && CheckTxScriptsSanity(tx_extended)) {
+ tx = std::move(tx_extended);
+ return true;
+ }
+
+ // Try decoding with legacy serialization, and remember if the result successfully consumes the entire input.
if (try_no_witness) {
CDataStream ssData(tx_data, SER_NETWORK, PROTOCOL_VERSION | SERIALIZE_TRANSACTION_NO_WITNESS);
try {
- ssData >> tx;
- if (ssData.empty()) {
- return true;
- }
+ ssData >> tx_legacy;
+ if (ssData.empty()) ok_legacy = true;
} catch (const std::exception&) {
// Fall through.
}
}
+ // If legacy decoding succeeded and passes CheckTxScriptsSanity, that's our answer, as we know
+ // at this point that extended decoding either failed or doesn't pass the sanity check.
+ if (ok_legacy && CheckTxScriptsSanity(tx_legacy)) {
+ tx = std::move(tx_legacy);
+ return true;
+ }
+
+ // If extended decoding succeeded, and neither decoding passes sanity, return the extended one.
+ if (ok_extended) {
+ tx = std::move(tx_extended);
+ return true;
+ }
+
+ // If legacy decoding succeeded and extended didn't, return the legacy one.
+ if (ok_legacy) {
+ tx = std::move(tx_legacy);
+ return true;
+ }
+
+ // If none succeeded, we failed.
return false;
}
diff --git a/src/init.cpp b/src/init.cpp
index 495d96f938..6380da4f72 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -461,7 +461,7 @@ void SetupServerArgs(NodeContext& node)
argsman.AddArg("-peerbloomfilters", strprintf("Support filtering of blocks and transaction with bloom filters (default: %u)", DEFAULT_PEERBLOOMFILTERS), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-peerblockfilters", strprintf("Serve compact block filters to peers per BIP 157 (default: %u)", DEFAULT_PEERBLOCKFILTERS), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-permitbaremultisig", strprintf("Relay non-P2SH multisig (default: %u)", DEFAULT_PERMIT_BAREMULTISIG), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
- argsman.AddArg("-port=<port>", strprintf("Listen for connections on <port> (default: %u, testnet: %u signet: %u, regtest: %u)", defaultChainParams->GetDefaultPort(), testnetChainParams->GetDefaultPort(), signetChainParams->GetDefaultPort(), regtestChainParams->GetDefaultPort()), ArgsManager::ALLOW_ANY | ArgsManager::NETWORK_ONLY, OptionsCategory::CONNECTION);
+ argsman.AddArg("-port=<port>", strprintf("Listen for connections on <port>. Nodes not using the default ports (default: %u, testnet: %u, signet: %u, regtest: %u) are unlikely to get incoming connections.", defaultChainParams->GetDefaultPort(), testnetChainParams->GetDefaultPort(), signetChainParams->GetDefaultPort(), regtestChainParams->GetDefaultPort()), ArgsManager::ALLOW_ANY | ArgsManager::NETWORK_ONLY, OptionsCategory::CONNECTION);
argsman.AddArg("-proxy=<ip:port>", "Connect through SOCKS5 proxy, set -noproxy to disable (default: disabled)", ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-proxyrandomize", strprintf("Randomize credentials for every proxy connection. This enables Tor stream isolation (default: %u)", DEFAULT_PROXYRANDOMIZE), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
argsman.AddArg("-seednode=<ip>", "Connect to a node to retrieve peer addresses, and disconnect. This option can be specified multiple times to connect to multiple nodes.", ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
diff --git a/src/net.cpp b/src/net.cpp
index cf987b6995..1fd913eb64 100644
--- a/src/net.cpp
+++ b/src/net.cpp
@@ -2050,7 +2050,11 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect)
continue;
}
- // do not allow non-default ports, unless after 50 invalid addresses selected already
+ // Do not allow non-default ports, unless after 50 invalid
+ // addresses selected already. This is to prevent malicious peers
+ // from advertising themselves as a service on another host and
+ // port, causing a DoS attack as nodes around the network attempt
+ // to connect to it fruitlessly.
if (addr.GetPort() != Params().GetDefaultPort() && nTries < 50)
continue;
diff --git a/src/net_processing.cpp b/src/net_processing.cpp
index c649cf7757..98e3d90c2d 100644
--- a/src/net_processing.cpp
+++ b/src/net_processing.cpp
@@ -2364,10 +2364,16 @@ void PeerManager::ProcessMessage(CNode& pfrom, const std::string& msg_type, CDat
m_connman.PushMessage(&pfrom, msg_maker.Make(NetMsgType::WTXIDRELAY));
}
- m_connman.PushMessage(&pfrom, msg_maker.Make(NetMsgType::VERACK));
-
// Signal ADDRv2 support (BIP155).
- m_connman.PushMessage(&pfrom, msg_maker.Make(NetMsgType::SENDADDRV2));
+ if (greatest_common_version >= 70016) {
+ // BIP155 defines addrv2 and sendaddrv2 for all protocol versions, but some
+ // implementations reject messages they don't know. As a courtesy, don't send
+ // it to nodes with a version before 70016, as no software is known to support
+ // BIP155 that doesn't announce at least that protocol version number.
+ m_connman.PushMessage(&pfrom, msg_maker.Make(NetMsgType::SENDADDRV2));
+ }
+
+ m_connman.PushMessage(&pfrom, msg_maker.Make(NetMsgType::VERACK));
pfrom.nServices = nServices;
pfrom.SetAddrLocal(addrMe);
@@ -2540,6 +2546,17 @@ void PeerManager::ProcessMessage(CNode& pfrom, const std::string& msg_type, CDat
return;
}
+ if (msg_type == NetMsgType::SENDADDRV2) {
+ if (pfrom.fSuccessfullyConnected) {
+ // Disconnect peers that send SENDADDRV2 message after VERACK; this
+ // must be negotiated between VERSION and VERACK.
+ pfrom.fDisconnect = true;
+ return;
+ }
+ pfrom.m_wants_addrv2 = true;
+ return;
+ }
+
if (!pfrom.fSuccessfullyConnected) {
LogPrint(BCLog::NET, "Unsupported message \"%s\" prior to verack from peer=%d\n", SanitizeString(msg_type), pfrom.GetId());
return;
@@ -2607,11 +2624,6 @@ void PeerManager::ProcessMessage(CNode& pfrom, const std::string& msg_type, CDat
return;
}
- if (msg_type == NetMsgType::SENDADDRV2) {
- pfrom.m_wants_addrv2 = true;
- return;
- }
-
if (msg_type == NetMsgType::SENDHEADERS) {
LOCK(cs_main);
State(pfrom.GetId())->fPreferHeaders = true;
diff --git a/src/qt/forms/createwalletdialog.ui b/src/qt/forms/createwalletdialog.ui
index ea713e1abd..0b33c2cb8d 100644
--- a/src/qt/forms/createwalletdialog.ui
+++ b/src/qt/forms/createwalletdialog.ui
@@ -60,7 +60,7 @@
<rect>
<x>20</x>
<y>50</y>
- <width>171</width>
+ <width>220</width>
<height>22</height>
</rect>
</property>
@@ -79,7 +79,7 @@
<rect>
<x>20</x>
<y>90</y>
- <width>130</width>
+ <width>220</width>
<height>21</height>
</rect>
</property>
@@ -98,7 +98,7 @@
<rect>
<x>20</x>
<y>115</y>
- <width>171</width>
+ <width>220</width>
<height>22</height>
</rect>
</property>
@@ -130,7 +130,7 @@
<rect>
<x>20</x>
<y>155</y>
- <width>171</width>
+ <width>220</width>
<height>22</height>
</rect>
</property>
diff --git a/src/qt/locale/bitcoin_af.ts b/src/qt/locale/bitcoin_af.ts
index 908083dfb7..0fb0168506 100644
--- a/src/qt/locale/bitcoin_af.ts
+++ b/src/qt/locale/bitcoin_af.ts
@@ -830,7 +830,7 @@
<source>Create</source>
<translation>Create</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -3668,10 +3668,6 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>%s is set very high!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Error loading wallet %s. Duplicate -wallet filename specified.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Starting network threads...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_ar.ts b/src/qt/locale/bitcoin_ar.ts
index dbe680ad5c..157f1c9d14 100644
--- a/src/qt/locale/bitcoin_ar.ts
+++ b/src/qt/locale/bitcoin_ar.ts
@@ -877,7 +877,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Create</source>
<translation>إنشاء</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -1547,6 +1547,18 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>or</source>
<translation>أو</translation>
</message>
+ <message>
+ <source>Transaction is missing some information about inputs.</source>
+ <translation>تفتقد المعاملة إلى بعض المعلومات حول المدخلات </translation>
+ </message>
+ <message>
+ <source>(But this wallet cannot sign transactions.)</source>
+ <translation>.لكن هذه المخفضة لا يمكنها توقيع للمعاملات</translation>
+ </message>
+ <message>
+ <source>Transaction is fully signed and ready for broadcast.</source>
+ <translation> الصفقة موقعة بالكامل وجاهزة للبث</translation>
+ </message>
</context>
<context>
<name>PaymentServer</name>
@@ -1563,6 +1575,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<translation>التعامل مع العنوان</translation>
</message>
<message>
+ <source>Cannot process payment request because BIP70 is not supported.</source>
+ <translation>معالجة طلب الدفع لأن BIP70 غير مدعوم.</translation>
+ </message>
+ <message>
<source>Invalid payment address %1</source>
<translation>عنوان الدفع غير صالح %1</translation>
</message>
diff --git a/src/qt/locale/bitcoin_bn.ts b/src/qt/locale/bitcoin_bn.ts
index 10afa566b6..9651021dad 100644
--- a/src/qt/locale/bitcoin_bn.ts
+++ b/src/qt/locale/bitcoin_bn.ts
@@ -3,15 +3,15 @@
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
- <translation>Right-click to edit address or label</translation>
+ <translation>ঠিকানা কিংবা লেভেল সম্পাদনার জন্য রাইট-ক্লিক করুন</translation>
</message>
<message>
<source>Create a new address</source>
- <translation>Create a new address</translation>
+ <translation>নতুন একটি ঠিকানা তৈরি করুন</translation>
</message>
<message>
<source>&amp;New</source>
- <translation>&amp;New</translation>
+ <translation>নতুন</translation>
</message>
<message>
<source>Copy the currently selected address to the system clipboard</source>
@@ -19,7 +19,7 @@
</message>
<message>
<source>&amp;Copy</source>
- <translation>&amp;Copy</translation>
+ <translation>&amp;কপি</translation>
</message>
<message>
<source>C&amp;lose</source>
@@ -27,7 +27,7 @@
</message>
<message>
<source>Delete the currently selected address from the list</source>
- <translation>Delete the currently selected address from the list</translation>
+ <translation>বাছাইকৃত ঠিকানাটি লিস্ট থেকে মুছুন</translation>
</message>
<message>
<source>Enter address or label to search</source>
@@ -35,19 +35,19 @@
</message>
<message>
<source>Export the data in the current tab to a file</source>
- <translation>Export the data in the current tab to a file</translation>
+ <translation>বর্তমান ট্যাবের ডেটা একটি ফাইলে এক্সপোর্ট করুন</translation>
</message>
<message>
<source>&amp;Export</source>
- <translation>&amp;Export</translation>
+ <translation>&amp;এক্সপোর্ট</translation>
</message>
<message>
<source>&amp;Delete</source>
- <translation>&amp;Delete</translation>
+ <translation>&amp;মুছুন</translation>
</message>
<message>
<source>Choose the address to send coins to</source>
- <translation>Choose the address to send coins to</translation>
+ <translation>কয়েন পাঠানোর ঠিকানা বাছাই করুন</translation>
</message>
<message>
<source>Choose the address to receive coins with</source>
@@ -830,7 +830,7 @@
<source>Create</source>
<translation>Create</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -3668,10 +3668,6 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>%s is set very high!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Error loading wallet %s. Duplicate -wallet filename specified.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Starting network threads...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_ca.ts b/src/qt/locale/bitcoin_ca.ts
index 4faab2e7fb..c9718d59c6 100644
--- a/src/qt/locale/bitcoin_ca.ts
+++ b/src/qt/locale/bitcoin_ca.ts
@@ -885,6 +885,10 @@ Això és ideal per a carteres de mode només lectura.</translation>
<source>Create</source>
<translation>Crear</translation>
</message>
+ <message>
+ <source>Compiled without sqlite support (required for descriptor wallets)</source>
+ <translation>Compilat sense el suport sqlite (requerit per carteres descriptor)</translation>
+ </message>
</context>
<context>
<name>EditAddressDialog</name>
@@ -1528,6 +1532,66 @@ Això és ideal per a carteres de mode només lectura.</translation>
<translation>Desa...</translation>
</message>
<message>
+ <source>Close</source>
+ <translation>Tanca</translation>
+ </message>
+ <message>
+ <source>Failed to load transaction: %1</source>
+ <translation>Ha fallat la càrrega de la transacció: %1</translation>
+ </message>
+ <message>
+ <source>Failed to sign transaction: %1</source>
+ <translation>Ha fallat la firma de la transacció: %1</translation>
+ </message>
+ <message>
+ <source>Could not sign any more inputs.</source>
+ <translation>No s'han pogut firmar més entrades.</translation>
+ </message>
+ <message>
+ <source>Signed %1 inputs, but more signatures are still required.</source>
+ <translation>Firmades %1 entrades, però encara es requereixen més firmes.</translation>
+ </message>
+ <message>
+ <source>Signed transaction successfully. Transaction is ready to broadcast.</source>
+ <translation>La transacció s'ha firmat correctament. La transacció està a punt per emetre's.</translation>
+ </message>
+ <message>
+ <source>Unknown error processing transaction.</source>
+ <translation>Error desconnegut al processar la transacció.</translation>
+ </message>
+ <message>
+ <source>Transaction broadcast failed: %1</source>
+ <translation>L'emissió de la transacció ha fallat: %1</translation>
+ </message>
+ <message>
+ <source>PSBT copied to clipboard.</source>
+ <translation>PSBT copiada al porta-retalls.</translation>
+ </message>
+ <message>
+ <source>Save Transaction Data</source>
+ <translation>Guarda Dades de Transacció</translation>
+ </message>
+ <message>
+ <source>Partially Signed Transaction (Binary) (*.psbt)</source>
+ <translation>Transacció Parcialment Firmada (Binari) (*.psbt)</translation>
+ </message>
+ <message>
+ <source>PSBT saved to disk.</source>
+ <translation>PSBT guardada al disc.</translation>
+ </message>
+ <message>
+ <source> * Sends %1 to %2</source>
+ <translation>*Envia %1 a %2</translation>
+ </message>
+ <message>
+ <source>Unable to calculate transaction fee or total transaction amount.</source>
+ <translation>Incapaç de calcular la comissió de transacció o la quantitat total de la transacció</translation>
+ </message>
+ <message>
+ <source>Pays transaction fee: </source>
+ <translation>Paga comissió de transacció:</translation>
+ </message>
+ <message>
<source>Total Amount</source>
<translation>Import total</translation>
</message>
@@ -1535,7 +1599,35 @@ Això és ideal per a carteres de mode només lectura.</translation>
<source>or</source>
<translation>o</translation>
</message>
- </context>
+ <message>
+ <source>Transaction has %1 unsigned inputs.</source>
+ <translation>La transacció té %1 entrades no firmades.</translation>
+ </message>
+ <message>
+ <source>Transaction is missing some information about inputs.</source>
+ <translation>La transacció manca d'informació en algunes entrades.</translation>
+ </message>
+ <message>
+ <source>Transaction still needs signature(s).</source>
+ <translation>La transacció encara necessita una o vàries firmes.</translation>
+ </message>
+ <message>
+ <source>(But this wallet cannot sign transactions.)</source>
+ <translation>(Però aquesta cartera no pot firmar transaccions.)</translation>
+ </message>
+ <message>
+ <source>(But this wallet does not have the right keys.)</source>
+ <translation>(Però aquesta cartera no té les claus correctes.)</translation>
+ </message>
+ <message>
+ <source>Transaction is fully signed and ready for broadcast.</source>
+ <translation>La transacció està completament firmada i a punt per emetre's.</translation>
+ </message>
+ <message>
+ <source>Transaction status is unknown.</source>
+ <translation>L'estat de la transacció és desconegut.</translation>
+ </message>
+</context>
<context>
<name>PaymentServer</name>
<message>
@@ -1701,6 +1793,10 @@ Això és ideal per a carteres de mode només lectura.</translation>
<translation>Avís: %1</translation>
</message>
<message>
+ <source>Error initializing settings: %1</source>
+ <translation>Error a l'inicialitzar la configuració: %1</translation>
+ </message>
+ <message>
<source>%1 didn't yet exit safely...</source>
<translation>%1 encara no ha finalitzat de manera segura...</translation>
</message>
@@ -1879,6 +1975,10 @@ Això és ideal per a carteres de mode només lectura.</translation>
<translation>Finestra node</translation>
</message>
<message>
+ <source>Current block height</source>
+ <translation>Altura actual de bloc</translation>
+ </message>
+ <message>
<source>Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.</source>
<translation>Obre el fitxer de registre de depuració %1 del directori de dades actual. Això pot trigar uns segons en fitxers de registre grans.</translation>
</message>
@@ -1891,6 +1991,10 @@ Això és ideal per a carteres de mode només lectura.</translation>
<translation>Augmenta la mida de la lletra</translation>
</message>
<message>
+ <source>Permissions</source>
+ <translation>Permisos</translation>
+ </message>
+ <message>
<source>Services</source>
<translation>Serveis</translation>
</message>
@@ -2145,14 +2249,30 @@ Això és ideal per a carteres de mode només lectura.</translation>
<source>Could not unlock wallet.</source>
<translation>No s'ha pogut desblocar la cartera.</translation>
</message>
- </context>
+ <message>
+ <source>Could not generate new %1 address</source>
+ <translation>No s'ha pogut generar una nova %1 direcció</translation>
+ </message>
+</context>
<context>
<name>ReceiveRequestDialog</name>
<message>
+ <source>Request payment to ...</source>
+ <translation>Sol·licita el pagament a ...</translation>
+ </message>
+ <message>
+ <source>Address:</source>
+ <translation>Direcció:</translation>
+ </message>
+ <message>
<source>Amount:</source>
<translation>Import:</translation>
</message>
<message>
+ <source>Label:</source>
+ <translation>Etiqueta:</translation>
+ </message>
+ <message>
<source>Message:</source>
<translation>Missatge:</translation>
</message>
@@ -2427,6 +2547,22 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
<translation>Esteu segur que ho voleu enviar?</translation>
</message>
<message>
+ <source>Create Unsigned</source>
+ <translation>Creació sense firmar</translation>
+ </message>
+ <message>
+ <source>Save Transaction Data</source>
+ <translation>Guarda Dades de Transacció</translation>
+ </message>
+ <message>
+ <source>Partially Signed Transaction (Binary) (*.psbt)</source>
+ <translation>Transacció Parcialment Firmada (Binari) (*.psbt)</translation>
+ </message>
+ <message>
+ <source>PSBT saved</source>
+ <translation>PSBT guardada</translation>
+ </message>
+ <message>
<source>or</source>
<translation>o</translation>
</message>
@@ -2435,6 +2571,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
<translation>Pot incrementar la comissió més tard (senyala Replace-By-Fee o substitució per comissió, BIP-125).</translation>
</message>
<message>
+ <source>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can save or copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
+ <translation>Si us plau, revisa la teva proposta de transacció. Es produirà una transacció de Bitcoin amb firma parcial (PSBT) que podeu guardar o copiar i després firmar, per exemple, amb una cartera %1, o amb una cartera física compatible amb PSBT.</translation>
+ </message>
+ <message>
<source>Please, review your transaction.</source>
<translation>Reviseu la transacció</translation>
</message>
@@ -3252,10 +3392,22 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
<source>Close all wallets</source>
<translation>Tanqueu totes les carteres</translation>
</message>
- </context>
+ <message>
+ <source>Are you sure you wish to close all wallets?</source>
+ <translation>Esteu segur que voleu tancar totes les carteres?</translation>
+ </message>
+</context>
<context>
<name>WalletFrame</name>
<message>
+ <source>No wallet has been loaded.
+Go to File &gt; Open Wallet to load a wallet.
+- OR -</source>
+ <translation>No s'ha carregat cap cartera.
+Ves a Arxiu &gt; Obrir Cartera per a carregar cartera.
+- O -</translation>
+ </message>
+ <message>
<source>Create a new wallet</source>
<translation>Crear una nova cartera</translation>
</message>
@@ -3334,6 +3486,26 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
<translation>Error</translation>
</message>
<message>
+ <source>Unable to decode PSBT from clipboard (invalid base64)</source>
+ <translation>Incapaç de descodificar la PSBT del porta-retalls (base64 invàlida)</translation>
+ </message>
+ <message>
+ <source>Load Transaction Data</source>
+ <translation>Carrega dades de transacció</translation>
+ </message>
+ <message>
+ <source>Partially Signed Transaction (*.psbt)</source>
+ <translation>Transacció Parcialment Firmada (*.psbt)</translation>
+ </message>
+ <message>
+ <source>PSBT file must be smaller than 100 MiB</source>
+ <translation>L'arxiu PSBT ha de ser més petit que 100MiB</translation>
+ </message>
+ <message>
+ <source>Unable to decode PSBT</source>
+ <translation>Incapaç de descodificar la PSBT</translation>
+ </message>
+ <message>
<source>Backup Wallet</source>
<translation>Còpia de seguretat de la cartera</translation>
</message>
@@ -3401,6 +3573,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
<translation>S'ha produït un error en llegir %s. Totes les claus es llegeixen correctament, però les dades de la transacció o les entrades de la llibreta d'adreces podrien faltar o ser incorrectes.</translation>
</message>
<message>
+ <source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
+ <translation> Es proporciona més d'una adreça de vinculació. Utilitzant %s pel servei Tor onion automàticament creat.</translation>
+ </message>
+ <message>
<source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
<translation>Comproveu que la data i hora de l'ordinador són correctes. Si el rellotge és incorrecte, %s no funcionarà correctament.</translation>
</message>
@@ -3409,6 +3585,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
<translation>Contribueix si trobes %s útil. Visita %s per obtenir més informació sobre el programari.</translation>
</message>
<message>
+ <source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
+ <translation>SQLiteDatabase: esquema de cartera sqlite de versió %d desconegut. Només és compatible la versió %d</translation>
+ </message>
+ <message>
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
<translation>La base de dades de blocs conté un bloc que sembla ser del futur. Això pot ser degut a que la data i l'hora del vostre ordinador s'estableix incorrectament. Només reconstruïu la base de dades de blocs si esteu segur que la data i l'hora del vostre ordinador són correctes</translation>
</message>
@@ -3513,6 +3693,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
<translation>No s'ha pogut escanejar novament la cartera durant la inicialització</translation>
</message>
<message>
+ <source>Failed to verify database</source>
+ <translation>Ha fallat la verificació de la base de dades</translation>
+ </message>
+ <message>
<source>Importing...</source>
<translation>S'està important...</translation>
</message>
@@ -3541,6 +3725,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
<translation>Import invàlid per -fallbackfee=&lt;amount&gt;: '%s'</translation>
</message>
<message>
+ <source>SQLiteDatabase: Failed to read database verification error: %s</source>
+ <translation>SQLiteDatabase: ha fallat la lectura de la base de dades. Error de verificació: %s</translation>
+ </message>
+ <message>
<source>Specified blocks directory "%s" does not exist.</source>
<translation>El directori de blocs especificat "%s" no existeix.</translation>
</message>
@@ -3637,6 +3825,14 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
<translation>Cal que torneu a construir la base de dades fent servir -reindex per tornar al mode no podat. Això tornarà a baixar la cadena de blocs sencera</translation>
</message>
<message>
+ <source>A fatal internal error occurred, see debug.log for details</source>
+ <translation>S'ha produït un error intern fatal. Consulteu debug.log per a més detalls</translation>
+ </message>
+ <message>
+ <source>Disk space is too low!</source>
+ <translation>L'espai de disc és insuficient!</translation>
+ </message>
+ <message>
<source>Error reading from database, shutting down.</source>
<translation>Error en llegir la base de dades, tancant.</translation>
</message>
@@ -3759,10 +3955,6 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
<translation>%s està especificat molt alt!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>S'ha produït un error en carregar la cartera %s. S'ha especificat un nom de fitxer duplicat -wallet.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>S'estan iniciant els fils de la xarxa...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_cs.ts b/src/qt/locale/bitcoin_cs.ts
index 1ba16439a7..135dc3c235 100644
--- a/src/qt/locale/bitcoin_cs.ts
+++ b/src/qt/locale/bitcoin_cs.ts
@@ -519,6 +519,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<translation>Zavřít peněženku</translation>
</message>
<message>
+ <source>Close all wallets</source>
+ <translation>Zavřít všechny peněženky</translation>
+ </message>
+ <message>
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
<translation>Seznam argumentů Bitcoinu pro příkazovou řádku získáš v nápovědě %1</translation>
</message>
@@ -835,7 +839,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Create</source>
<translation>Vytvořit</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -1450,6 +1454,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<translation>Dialog</translation>
</message>
<message>
+ <source>Save Transaction Data</source>
+ <translation>Zachovaj procesní data</translation>
+ </message>
+ <message>
<source>Total Amount</source>
<translation>Celková částka</translation>
</message>
@@ -1457,6 +1465,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>or</source>
<translation>nebo</translation>
</message>
+ <message>
+ <source>(But this wallet does not have the right keys.)</source>
+ <translation>Ale tenhle vstup nemá správné klíče</translation>
+ </message>
</context>
<context>
<name>PaymentServer</name>
@@ -1623,6 +1635,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<translation>Chyba: %1</translation>
</message>
<message>
+ <source>Error initializing settings: %1</source>
+ <translation>Zjišťování neshod: %1</translation>
+ </message>
+ <message>
<source>%1 didn't yet exit safely...</source>
<translation>%1 ještě bezpečně neskončil…</translation>
</message>
@@ -2353,6 +2369,10 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
<translation>Jsi si jistý, že tuhle transakci chceš poslat?</translation>
</message>
<message>
+ <source>Save Transaction Data</source>
+ <translation>Zachovaj procesní data</translation>
+ </message>
+ <message>
<source>or</source>
<translation>nebo</translation>
</message>
@@ -3174,6 +3194,10 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
<source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
<translation>Zavření peněženky na příliš dlouhou dobu může vyústit v potřebu resynchronizace celého blockchainu pokud je zapnuté prořezávání.</translation>
</message>
+ <message>
+ <source>Close all wallets</source>
+ <translation>Zavřít všechny peněženky</translation>
+ </message>
</context>
<context>
<name>WalletFrame</name>
@@ -3435,6 +3459,10 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
<translation>Během inicializace se nepodařilo proskenovat peněženku</translation>
</message>
<message>
+ <source>Failed to verify database</source>
+ <translation>Selhání v ověření databáze</translation>
+ </message>
+ <message>
<source>Importing...</source>
<translation>Importuji...</translation>
</message>
@@ -3681,10 +3709,6 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
<translation>%s je nastaveno velmi vysoko!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Chyba při načítání peněženky %s. Udán duplicitní název souboru -wallet.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Spouštím síťová vlákna…</translation>
</message>
diff --git a/src/qt/locale/bitcoin_da.ts b/src/qt/locale/bitcoin_da.ts
index 2fd4955ca8..85baeabb80 100644
--- a/src/qt/locale/bitcoin_da.ts
+++ b/src/qt/locale/bitcoin_da.ts
@@ -830,7 +830,7 @@
<source>Create</source>
<translation>Opret</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -3672,10 +3672,6 @@ Note: Siden gebyret er kalkuleret på en per-byte basis, et gebyr på "100 satos
<translation>%s er meget højt sat!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Fejl under indlæsning af tegnebog %s. -wallet filnavn angivet mere end én gang.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Starter netværkstråde…</translation>
</message>
diff --git a/src/qt/locale/bitcoin_de.ts b/src/qt/locale/bitcoin_de.ts
index 659a29bc29..ae1ac8568b 100644
--- a/src/qt/locale/bitcoin_de.ts
+++ b/src/qt/locale/bitcoin_de.ts
@@ -501,11 +501,11 @@ Das Signieren ist nur mit Adressen vom Typ 'Legacy' möglich.</translation>
</message>
<message>
<source>Node window</source>
- <translation>Node Fenster</translation>
+ <translation>Knotenfenster</translation>
</message>
<message>
<source>Open node debugging and diagnostic console</source>
- <translation>Konsole für Node Debugging und Diagnose öffnen</translation>
+ <translation>Öffne Knotenkonsole für Fehlersuche und Diagnose</translation>
</message>
<message>
<source>&amp;Sending addresses</source>
@@ -537,11 +537,11 @@ Das Signieren ist nur mit Adressen vom Typ 'Legacy' möglich.</translation>
</message>
<message>
<source>Close All Wallets...</source>
- <translation>Schließe alle Wallets...</translation>
+ <translation>Schließe alle Brieftaschen...</translation>
</message>
<message>
<source>Close all wallets</source>
- <translation>Schließe alle Wallets</translation>
+ <translation>Schließe alle Brieftaschen</translation>
</message>
<message>
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
@@ -878,12 +878,16 @@ Das Signieren ist nur mit Adressen vom Typ 'Legacy' möglich.</translation>
</message>
<message>
<source>Descriptor Wallet</source>
- <translation>Deskriptor Brieftasche</translation>
+ <translation>Deskriptor-Brieftasche</translation>
</message>
<message>
<source>Create</source>
<translation>Erstellen</translation>
</message>
+ <message>
+ <source>Compiled without sqlite support (required for descriptor wallets)</source>
+ <translation>Ohne SQLite-Unterstützung (erforderlich für Deskriptor-Brieftaschen) kompiliert</translation>
+ </message>
</context>
<context>
<name>EditAddressDialog</name>
@@ -1358,7 +1362,7 @@ Das Signieren ist nur mit Adressen vom Typ 'Legacy' möglich.</translation>
</message>
<message>
<source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor onion services.</source>
- <translation>Verbinde mit dem Bitcoin-Netzwerk über einen separaten SOCKS5-Proxy für Tor-/Onion-Dienste.</translation>
+ <translation>Verbinde mit dem Bitcoin-Netzwerk über einen separaten SOCKS5-Proxy für Tor-Onion-Dienste.</translation>
</message>
<message>
<source>&amp;Third party transaction URLs</source>
@@ -1967,7 +1971,7 @@ Das Signieren ist nur mit Adressen vom Typ 'Legacy' möglich.</translation>
</message>
<message>
<source>Node window</source>
- <translation>Node Fenster</translation>
+ <translation>Knotenfenster</translation>
</message>
<message>
<source>Current block height</source>
@@ -3564,6 +3568,10 @@ Gehen Sie zu Datei &gt; Öffnen Sie die Brieftasche, um eine Brieftasche zu lade
<translation>Lesen von %s fehlgeschlagen! Alle Schlüssel wurden korrekt gelesen, Transaktionsdaten bzw. Adressbucheinträge fehlen aber möglicherweise oder sind inkorrekt.</translation>
</message>
<message>
+ <source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
+ <translation>Mehr als eine Onion-Bindungsadresse angegeben. Verwende %s für den automatisch erstellten Tor-Onion-Dienst.</translation>
+ </message>
+ <message>
<source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
<translation>Bitte korrigieren Sie die Datums- und Uhrzeiteinstellungen Ihres Computers, da %s ansonsten nicht ordnungsgemäß funktionieren wird.</translation>
</message>
@@ -3572,10 +3580,18 @@ Gehen Sie zu Datei &gt; Öffnen Sie die Brieftasche, um eine Brieftasche zu lade
<translation>Wenn sie %s nützlich finden, sind Helfer sehr gern gesehen. Besuchen Sie %s um mehr über das Softwareprojekt zu erfahren.</translation>
</message>
<message>
+ <source>SQLiteDatabase: Failed to prepare the statement to fetch sqlite wallet schema version: %s</source>
+ <translation>SQLite-Datenbank: Anfertigung der Anweisung, die SQLite-Brieftaschen-Schema-Version abzurufen fehlgeschlagen: %s</translation>
+ </message>
+ <message>
<source>SQLiteDatabase: Failed to prepare the statement to fetch the application id: %s</source>
<translation>SQLiteDatabase: Konnte das Statement zum Abholen der Anwendungs-ID %s nicht vorbereiten.</translation>
</message>
<message>
+ <source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
+ <translation>SQLite-Datenbank: Unbekannte SQLite-Brieftaschen-Schema-Version %d. Nur Version %d wird unterstützt.</translation>
+ </message>
+ <message>
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
<translation>Die Block-Datenbank enthält einen Block, der in der Zukunft auftaucht. Dies kann daran liegen, dass die Systemzeit Ihres Computers falsch eingestellt ist. Stellen Sie die Block-Datenbank nur wieder her, wenn Sie sich sicher sind, dass Ihre Systemzeit korrekt eingestellt ist.</translation>
</message>
@@ -3685,6 +3701,10 @@ Gehen Sie zu Datei &gt; Öffnen Sie die Brieftasche, um eine Brieftasche zu lade
<translation>Verifizierung der Datenbank fehlgeschlagen</translation>
</message>
<message>
+ <source>Ignoring duplicate -wallet %s.</source>
+ <translation>Ignoriere doppeltes -wallet %s.</translation>
+ </message>
+ <message>
<source>Importing...</source>
<translation>Importiere...</translation>
</message>
@@ -3713,6 +3733,22 @@ Gehen Sie zu Datei &gt; Öffnen Sie die Brieftasche, um eine Brieftasche zu lade
<translation>Ungültiger Betrag für -fallbackfee=&lt;amount&gt;: '%s'</translation>
</message>
<message>
+ <source>SQLiteDatabase: Failed to execute statement to verify database: %s</source>
+ <translation>SQLite-Datenbank: Anweisung, die Datenbank zu verifizieren fehlgeschlagen: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to fetch sqlite wallet schema version: %s</source>
+ <translation>SQLite-Datenbank: Abrufen der SQLite-Brieftaschen-Schema-Version fehlgeschlagen: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to fetch the application id: %s</source>
+ <translation>SQLite-Datenbank: Abrufen der Anwendungs-ID fehlgeschlagen: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to prepare statement to verify database: %s</source>
+ <translation>SQLite-Datenbank: Anfertigung der Anweisung zum Verifizieren der Datenbank fehlgeschlagen: %s</translation>
+ </message>
+ <message>
<source>SQLiteDatabase: Failed to read database verification error: %s</source>
<translation>Datenbank konnte nicht gelesen werden
Verifikations-Error: %s</translation>
@@ -3984,10 +4020,6 @@ Verifikations-Error: %s</translation>
<translation>%s wurde sehr hoch eingestellt!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Fehler beim Laden der Wallet %s. -wallet Dateiname doppelt angegeben.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Netzwerk-Threads werden gestartet...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_el.ts b/src/qt/locale/bitcoin_el.ts
index e9c08feaee..eb5d612c43 100644
--- a/src/qt/locale/bitcoin_el.ts
+++ b/src/qt/locale/bitcoin_el.ts
@@ -15,7 +15,7 @@
</message>
<message>
<source>Copy the currently selected address to the system clipboard</source>
- <translation>Αντέγραψε την επιλεγμένη διεύθυνση στο πρόχειρο του συστήματος</translation>
+ <translation>Αντιγράψτε την επιλεγμένη διεύθυνση στο πρόχειρο του συστήματος</translation>
</message>
<message>
<source>&amp;Copy</source>
@@ -514,6 +514,14 @@
<translation>Κλείσιμο πορτοφολιού</translation>
</message>
<message>
+ <source>Close All Wallets...</source>
+ <translation>Κλείσιμο όλων των πορτοφολιών...</translation>
+ </message>
+ <message>
+ <source>Close all wallets</source>
+ <translation>Κλείσιμο όλων των πορτοφολιών</translation>
+ </message>
+ <message>
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
<translation>Εμφάνισε το %1 βοηθητικό μήνυμα για λήψη μιας λίστας με διαθέσιμες επιλογές για Bitcoin εντολές </translation>
</message>
@@ -625,6 +633,10 @@
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>Το πορτοφόλι είναι &lt;b&gt;κρυπτογραφημένο&lt;/b&gt; και &lt;b&gt;κλειδωμένο&lt;/b&gt;</translation>
</message>
+ <message>
+ <source>Original message:</source>
+ <translation>Αρχικό Μήνυμα:</translation>
+ </message>
</context>
<context>
<name>CoinControlDialog</name>
@@ -830,7 +842,7 @@
<source>Create</source>
<translation>Δημιουργία</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -935,10 +947,6 @@
<translation>Καλωσήρθες στο %1.</translation>
</message>
<message>
- <source>When you click OK, %1 will begin to download and process the full %4 block chain (%2GB) starting with the earliest transactions in %3 when %4 initially launched.</source>
- <translation>Όταν κάνετε κλικ στο OK, το %1 θα ξεκινήσει τη λήψη και την επεξεργασία της πλήρους αλυσίδας μπλοκ% 4 (%2GB) αρχίζοντας από τις πρώτες συναλλαγές στο %3 όταν αρχικά ξεκίνησε το %4.</translation>
- </message>
- <message>
<source>Reverting this setting requires re-downloading the entire blockchain. It is faster to download the full chain first and prune it later. Disables some advanced features.</source>
<translation>Η επαναφορά αυτής της ρύθμισης απαιτεί εκ νέου λήψη ολόκληρου του μπλοκ αλυσίδας. Είναι πιο γρήγορο να κατεβάσετε πρώτα την πλήρη αλυσίδα και να την κλαδέψετε αργότερα. Απενεργοποιεί ορισμένες προηγμένες λειτουργίες.</translation>
</message>
@@ -1442,10 +1450,38 @@
<translation>Αποθήκευση...</translation>
</message>
<message>
+ <source>Failed to load transaction: %1</source>
+ <translation>Αποτυχία φόρτωσης μεταφοράς: %1</translation>
+ </message>
+ <message>
+ <source>Failed to sign transaction: %1</source>
+ <translation>Αποτυχία εκπλήρωσης συναλλαγής: %1</translation>
+ </message>
+ <message>
+ <source>Unknown error processing transaction.</source>
+ <translation>Άγνωστο λάθος επεξεργασίας μεταφοράς.</translation>
+ </message>
+ <message>
+ <source>PSBT copied to clipboard.</source>
+ <translation>PSBT αντιγράφηκε στο πρόχειρο.</translation>
+ </message>
+ <message>
<source>Save Transaction Data</source>
<translation>Αποθήκευση Δεδομένων Συναλλαγής</translation>
</message>
<message>
+ <source>PSBT saved to disk.</source>
+ <translation>PSBT αποθηκεύτηκε στο δίσκο.</translation>
+ </message>
+ <message>
+ <source> * Sends %1 to %2</source>
+ <translation>* Στέλνει %1 προς %2</translation>
+ </message>
+ <message>
+ <source>Pays transaction fee: </source>
+ <translation>Πληρωμή τέλους συναλλαγής:</translation>
+ </message>
+ <message>
<source>Total Amount</source>
<translation>Συνολικό Ποσό</translation>
</message>
@@ -1453,7 +1489,11 @@
<source>or</source>
<translation>ή</translation>
</message>
- </context>
+ <message>
+ <source>Transaction status is unknown.</source>
+ <translation>Η κατάσταση της συναλλαγής είναι άγνωστη.</translation>
+ </message>
+</context>
<context>
<name>PaymentServer</name>
<message>
@@ -1793,6 +1833,10 @@
<translation>Κόμβος παράθυρο</translation>
</message>
<message>
+ <source>Current block height</source>
+ <translation>Τωρινό ύψος block</translation>
+ </message>
+ <message>
<source>Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.</source>
<translation>Ανοίξτε το αρχείο καταγραφής εντοπισμού σφαλμάτων %1 από τον τρέχοντα κατάλογο δεδομένων. Αυτό μπορεί να διαρκέσει μερικά δευτερόλεπτα για τα μεγάλα αρχεία καταγραφής.</translation>
</message>
@@ -1805,6 +1849,10 @@
<translation>Αύξηση μεγέθους γραμματοσειράς</translation>
</message>
<message>
+ <source>Permissions</source>
+ <translation>Αδειες</translation>
+ </message>
+ <message>
<source>Services</source>
<translation>Υπηρεσίες</translation>
</message>
@@ -2064,6 +2112,14 @@
<context>
<name>ReceiveRequestDialog</name>
<message>
+ <source>Request payment to ...</source>
+ <translation>Αίτημα πληρωμής προς ...</translation>
+ </message>
+ <message>
+ <source>Address:</source>
+ <translation>Διεύθυνση:</translation>
+ </message>
+ <message>
<source>Amount:</source>
<translation>Ποσό:</translation>
</message>
@@ -3161,6 +3217,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
<translation>Το κλείσιμο του πορτοφολιού για πολύ μεγάλο χρονικό διάστημα μπορεί να οδηγήσει στην επανασύνδεση ολόκληρης της αλυσίδας αν είναι ενεργοποιημένη η περικοπή.</translation>
</message>
+ <message>
+ <source>Close all wallets</source>
+ <translation>Κλείσιμο όλων των πορτοφολιών</translation>
+ </message>
</context>
<context>
<name>WalletFrame</name>
@@ -3243,6 +3303,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>Σφάλμα</translation>
</message>
<message>
+ <source>Load Transaction Data</source>
+ <translation>Φόρτωση δεδομένων συναλλαγής</translation>
+ </message>
+ <message>
<source>Backup Wallet</source>
<translation>Αντίγραφο ασφαλείας Πορτοφολιού</translation>
</message>
@@ -3538,6 +3602,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>Πρέπει να ξαναφτιάξετε τη βάση δεδομένων χρησιμοποιώντας το -reindex για να επιστρέψετε στη λειτουργία χωρίς εκτύπωση. Αυτό θα ξαναφορτώσει ολόκληρο το blockchain</translation>
</message>
<message>
+ <source>Disk space is too low!</source>
+ <translation>Αποθηκευτικός χώρος πολύ μικρός!</translation>
+ </message>
+ <message>
<source>Error reading from database, shutting down.</source>
<translation>Σφάλμα ανάγνωσης από τη βάση δεδομένων, γίνεται τερματισμός.</translation>
</message>
diff --git a/src/qt/locale/bitcoin_en.ts b/src/qt/locale/bitcoin_en.ts
index c55cc65b63..354c4b6c11 100644
--- a/src/qt/locale/bitcoin_en.ts
+++ b/src/qt/locale/bitcoin_en.ts
@@ -1059,7 +1059,12 @@ Signing is only possible with addresses of the type &apos;legacy&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+38"/>
+ <location line="+28"/>
+ <source>Wallet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
<source>Wallet Name</source>
<translation type="unfinished"></translation>
</message>
@@ -1075,6 +1080,11 @@ Signing is only possible with addresses of the type &apos;legacy&apos;.</source>
</message>
<message>
<location line="+19"/>
+ <source>Advanced options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
<translation type="unfinished"></translation>
</message>
@@ -1109,7 +1119,7 @@ Signing is only possible with addresses of the type &apos;legacy&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+36"/>
<source>Compiled without sqlite support (required for descriptor wallets)</source>
<translation type="unfinished"></translation>
</message>
diff --git a/src/qt/locale/bitcoin_en_GB.ts b/src/qt/locale/bitcoin_en_GB.ts
index 3896953215..a64eed4127 100644
--- a/src/qt/locale/bitcoin_en_GB.ts
+++ b/src/qt/locale/bitcoin_en_GB.ts
@@ -884,7 +884,7 @@ Signing is only possible with addresses of the type 'legacy'.</translation>
<source>Create</source>
<translation>Create</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -3974,10 +3974,6 @@ Go to File &gt; Open Wallet to load a wallet.
<translation>%s is set very high!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Error loading wallet %s. Duplicate -wallet filename specified.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Starting network threads...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_eo.ts b/src/qt/locale/bitcoin_eo.ts
index ab0167cf17..358805c93c 100644
--- a/src/qt/locale/bitcoin_eo.ts
+++ b/src/qt/locale/bitcoin_eo.ts
@@ -70,6 +70,11 @@
<translation>Jen viaj Bitmon-adresoj por sendi pagojn. Zorge kontrolu la sumon kaj la alsendan adreson antaŭ ol sendi.</translation>
</message>
<message>
+ <source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
+Signing is only possible with addresses of the type 'legacy'.</source>
+ <translation>Jen viaj bitmonaj adresoj por ricevi pagojn. Estas konsilinde uzi apartan ricevan adreson por ĉiu transakcio.</translation>
+ </message>
+ <message>
<source>&amp;Copy Address</source>
<translation>&amp;Kopii Adreson</translation>
</message>
@@ -132,6 +137,10 @@
<translation>Ripetu la novan pasfrazon</translation>
</message>
<message>
+ <source>Show passphrase</source>
+ <translation>Montri pasfrazon</translation>
+ </message>
+ <message>
<source>Encrypt wallet</source>
<translation>Ĉifri la monujon</translation>
</message>
@@ -172,6 +181,26 @@
<translation>La monujo estas ĉifrita</translation>
</message>
<message>
+ <source>Enter the new passphrase for the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;ten or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
+ <translation>Enigi la novan pasfrazon por la monujo. &lt;br/&gt;Bonvolu uzi pasfrazon de &lt;b&gt;dek aŭ pli hazardaj signoj&lt;/b&gt;, aŭ &lt;b&gt;ok aŭ pli vortoj&lt;/b&gt;.</translation>
+ </message>
+ <message>
+ <source>Enter the old passphrase and new passphrase for the wallet.</source>
+ <translation>Enigi la malnovan pasfrazon kaj la novan pasfrazon por la monujo.</translation>
+ </message>
+ <message>
+ <source>Wallet to be encrypted</source>
+ <translation>Monujo ĉifriĝota</translation>
+ </message>
+ <message>
+ <source>Your wallet is about to be encrypted. </source>
+ <translation>Via monujo estas ĉifriĝota.</translation>
+ </message>
+ <message>
+ <source>Your wallet is now encrypted. </source>
+ <translation>Via monujo ĵus estas ĉifrata.</translation>
+ </message>
+ <message>
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
<translation>GRAVE: antaŭaj sekur-kopioj de via monujo-dosiero estas forigindaj kiam vi havas nove kreitan ĉifritan monujo-dosieron. Pro sekureco, antaŭaj kopioj de la neĉifrita dosiero ne plu funkcios tuj kiam vi ekuzos la novan ĉifritan dosieron.</translation>
</message>
@@ -210,7 +239,11 @@
</context>
<context>
<name>BanTableModel</name>
- </context>
+ <message>
+ <source>Banned Until</source>
+ <translation>Ekzilita Ĝis</translation>
+ </message>
+</context>
<context>
<name>BitcoinGUI</name>
<message>
@@ -250,6 +283,10 @@
<translation>&amp;Pri %1</translation>
</message>
<message>
+ <source>Show information about %1</source>
+ <translation>Montri informojn pri %1</translation>
+ </message>
+ <message>
<source>About &amp;Qt</source>
<translation>Pri &amp;Qt</translation>
</message>
@@ -262,6 +299,10 @@
<translation>&amp;Agordoj...</translation>
</message>
<message>
+ <source>Modify configuration options for %1</source>
+ <translation>Ŝanĝi agordojn por %1</translation>
+ </message>
+ <message>
<source>&amp;Encrypt Wallet...</source>
<translation>Ĉifri &amp;Monujon...</translation>
</message>
@@ -278,6 +319,30 @@
<translation>Malfermi &amp;URI-on...</translation>
</message>
<message>
+ <source>Create Wallet...</source>
+ <translation>Krei Monujon...</translation>
+ </message>
+ <message>
+ <source>Create a new wallet</source>
+ <translation>Krei novan monujon</translation>
+ </message>
+ <message>
+ <source>Wallet:</source>
+ <translation>Monujo:</translation>
+ </message>
+ <message>
+ <source>Click to disable network activity.</source>
+ <translation>Alklaki por malebligi retajn agadojn.</translation>
+ </message>
+ <message>
+ <source>Network activity disabled.</source>
+ <translation>Retaj agadoj malebliĝas.</translation>
+ </message>
+ <message>
+ <source>Click to enable network activity again.</source>
+ <translation>Alklaki por denove ebligi retajn agadojn.</translation>
+ </message>
+ <message>
<source>Reindexing blocks on disk...</source>
<translation>Reindeksado de blokoj sur disko...</translation>
</message>
@@ -386,14 +451,58 @@
<translation>Ĝisdata</translation>
</message>
<message>
+ <source>Open Wallet</source>
+ <translation>Malfermi la Monujon</translation>
+ </message>
+ <message>
+ <source>Open a wallet</source>
+ <translation>Malfermi monujon</translation>
+ </message>
+ <message>
+ <source>Close Wallet...</source>
+ <translation>Fermi la Monujon...</translation>
+ </message>
+ <message>
+ <source>Close wallet</source>
+ <translation>Fermi monujon</translation>
+ </message>
+ <message>
+ <source>Close All Wallets...</source>
+ <translation>Fermi Ĉiujn Monujojn...</translation>
+ </message>
+ <message>
+ <source>Close all wallets</source>
+ <translation>Fermi ĉiujn monujojn</translation>
+ </message>
+ <message>
+ <source>default wallet</source>
+ <translation>defaŭlta monujo</translation>
+ </message>
+ <message>
<source>&amp;Window</source>
<translation>&amp;Fenestro</translation>
</message>
<message>
+ <source>Zoom</source>
+ <translation>Zomi</translation>
+ </message>
+ <message>
+ <source>Main Window</source>
+ <translation>Ĉefa Fenestro</translation>
+ </message>
+ <message>
<source>Catching up...</source>
<translation>Ĝisdatigante...</translation>
</message>
<message>
+ <source>Error: %1</source>
+ <translation>Eraro: %1</translation>
+ </message>
+ <message>
+ <source>Warning: %1</source>
+ <translation>Averto: %1</translation>
+ </message>
+ <message>
<source>Date: %1
</source>
<translation>Dato: %1
@@ -406,6 +515,12 @@
</translation>
</message>
<message>
+ <source>Wallet: %1
+</source>
+ <translation>Monujo: %1
+</translation>
+ </message>
+ <message>
<source>Type: %1
</source>
<translation>Tipo: %1
@@ -439,10 +554,22 @@
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>Monujo estas &lt;b&gt;ĉifrita&lt;/b&gt; kaj aktuale &lt;b&gt;ŝlosita&lt;/b&gt;</translation>
</message>
- </context>
+ <message>
+ <source>Original message:</source>
+ <translation>Originala mesaĝo:</translation>
+ </message>
+ <message>
+ <source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
+ <translation>Neriparebla eraro okazis. %1 ne plu sekure povas daŭri kaj ĝi ĉesiĝos.</translation>
+ </message>
+</context>
<context>
<name>CoinControlDialog</name>
<message>
+ <source>Coin Selection</source>
+ <translation>Monero-Elektaĵo</translation>
+ </message>
+ <message>
<source>Quantity:</source>
<translation>Kvanto:</translation>
</message>
@@ -581,9 +708,41 @@
</context>
<context>
<name>CreateWalletActivity</name>
- </context>
+ <message>
+ <source>Create wallet failed</source>
+ <translation>Krei monujon malsukcesis</translation>
+ </message>
+ <message>
+ <source>Create wallet warning</source>
+ <translation>Averto pro krei monujon</translation>
+ </message>
+</context>
<context>
<name>CreateWalletDialog</name>
+ <message>
+ <source>Create Wallet</source>
+ <translation>Krei Monujon</translation>
+ </message>
+ <message>
+ <source>Wallet Name</source>
+ <translation>Monujo-Nomo</translation>
+ </message>
+ <message>
+ <source>Encrypt Wallet</source>
+ <translation>Ĉifri Monujon</translation>
+ </message>
+ <message>
+ <source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
+ <translation>Malebligi privatajn ŝlosilojn por ĉi tiu monujo. Monujoj kun malebligitaj privataj ŝlosiloj ne havos privatajn ŝlosilojn, kaj povas havi nek HD-semon nek importatajn privatajn ŝlosilojn. Ĉi tio estas ideale por nurspektaj monujoj.</translation>
+ </message>
+ <message>
+ <source>Disable Private Keys</source>
+ <translation>Malebligi Privatajn Ŝlosilojn</translation>
+ </message>
+ <message>
+ <source>Create</source>
+ <translation>Krei</translation>
+ </message>
</context>
<context>
<name>EditAddressDialog</name>
@@ -662,6 +821,10 @@
<translation>versio</translation>
</message>
<message>
+ <source>About %1</source>
+ <translation>Pri %1</translation>
+ </message>
+ <message>
<source>Command-line options</source>
<translation>Komandliniaj agordaĵoj</translation>
</message>
@@ -673,6 +836,10 @@
<translation>Bonvenon</translation>
</message>
<message>
+ <source>Welcome to %1.</source>
+ <translation>Bonvenon al %1.</translation>
+ </message>
+ <message>
<source>Use the default data directory</source>
<translation>Uzi la defaŭltan dosierujon por datumoj</translation>
</message>
@@ -700,20 +867,68 @@
<translation>Formularo</translation>
</message>
<message>
+ <source>Unknown...</source>
+ <translation>Nekonata...</translation>
+ </message>
+ <message>
<source>Last block time</source>
<translation>Horo de la lasta bloko</translation>
</message>
+ <message>
+ <source>Progress</source>
+ <translation>Progreso</translation>
+ </message>
+ <message>
+ <source>Progress increase per hour</source>
+ <translation>Hora pligrandigo da progreso</translation>
+ </message>
+ <message>
+ <source>calculating...</source>
+ <translation>kalkuladas...</translation>
+ </message>
+ <message>
+ <source>Hide</source>
+ <translation>Kaŝi</translation>
+ </message>
+ <message>
+ <source>Esc</source>
+ <translation>Esk</translation>
+ </message>
+ <message>
+ <source>%1 is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.</source>
+ <translation>%1 sinkronigadas. Ĝi elŝutos kapaĵojn kaj blokojn de samtavolanoj, kaj validigos ilin, ĝis ĝi atingas la pinton de la blokĉeno.</translation>
+ </message>
</context>
<context>
<name>OpenURIDialog</name>
<message>
+ <source>Open bitcoin URI</source>
+ <translation>Malfermi na la URI de bitmono</translation>
+ </message>
+ <message>
<source>URI:</source>
<translation>URI:</translation>
</message>
</context>
<context>
<name>OpenWalletActivity</name>
- </context>
+ <message>
+ <source>Open wallet failed</source>
+ <translation>Malfermi monujon malsukcesis</translation>
+ </message>
+ <message>
+ <source>Open wallet warning</source>
+ <translation>Malfermi monujon averto</translation>
+ </message>
+ <message>
+ <source>default wallet</source>
+ <translation>defaŭlta monujo</translation>
+ </message>
+ <message>
+ <source>Opening Wallet &lt;b&gt;%1&lt;/b&gt;...</source>
+ <translation>Malfermadas Monujon &lt;b&gt;%1&lt;/b&gt;...</translation>
+ </message>
+</context>
<context>
<name>OptionsDialog</name>
<message>
@@ -725,10 +940,26 @@
<translation>Ĉ&amp;efa</translation>
</message>
<message>
+ <source>Automatically start %1 after logging in to the system.</source>
+ <translation>Aŭtomate komenci na %1 post ensalutis en la sistemon.</translation>
+ </message>
+ <message>
+ <source>&amp;Start %1 on system login</source>
+ <translation>&amp;Komenci na %1 kiam ensaluti en la sistemon</translation>
+ </message>
+ <message>
<source>Size of &amp;database cache</source>
<translation>Dosiergrando de &amp;datumbasa kaŝmemoro</translation>
</message>
<message>
+ <source>Number of script &amp;verification threads</source>
+ <translation>Kvanto da skriptaj kaj kontroleraraj fadenoj</translation>
+ </message>
+ <message>
+ <source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source>
+ <translation>IP-adreso de prokurilo (ekz. IPv4: 127.0.0.1 / IPv6: ::1)</translation>
+ </message>
+ <message>
<source>Reset all client options to default.</source>
<translation>Reagordi ĉion al defaŭlataj valoroj.</translation>
</message>
@@ -852,6 +1083,10 @@
<translation>Eblas, ke la informoj videblaj ĉi tie estas eksdataj. Via monujo aŭtomate sinkoniĝas kun la bitmona reto kiam ili konektiĝas, sed tiu procezo ankoraŭ ne finfariĝis.</translation>
</message>
<message>
+ <source>Available:</source>
+ <translation>Disponebla:</translation>
+ </message>
+ <message>
<source>Your current spendable balance</source>
<translation>via aktuala elspezebla saldo</translation>
</message>
@@ -891,6 +1126,18 @@
<context>
<name>PSBTOperationsDialog</name>
<message>
+ <source>Save...</source>
+ <translation>Konservi...</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Fermi</translation>
+ </message>
+ <message>
+ <source>Total Amount</source>
+ <translation>Totala Sumo</translation>
+ </message>
+ <message>
<source>or</source>
<translation>aŭ</translation>
</message>
@@ -951,10 +1198,34 @@
<source>N/A</source>
<translation>neaplikebla</translation>
</message>
+ <message numerus="yes">
+ <source>%n second(s)</source>
+ <translation><numerusform>%n sekundo</numerusform><numerusform>%n sekundoj</numerusform></translation>
+ </message>
+ <message numerus="yes">
+ <source>%n minute(s)</source>
+ <translation><numerusform>%n minuto</numerusform><numerusform>%n minutoj</numerusform></translation>
+ </message>
+ <message numerus="yes">
+ <source>%n hour(s)</source>
+ <translation><numerusform>%n horo</numerusform><numerusform>%n horoj</numerusform></translation>
+ </message>
+ <message numerus="yes">
+ <source>%n day(s)</source>
+ <translation><numerusform>%n tago</numerusform><numerusform>%n tagoj</numerusform></translation>
+ </message>
+ <message numerus="yes">
+ <source>%n week(s)</source>
+ <translation><numerusform>%n semajno</numerusform><numerusform>%n semajnoj</numerusform></translation>
+ </message>
<message>
<source>%1 and %2</source>
<translation>%1 kaj %2</translation>
</message>
+ <message numerus="yes">
+ <source>%n year(s)</source>
+ <translation><numerusform>%n jaro</numerusform><numerusform>%n jaroj</numerusform></translation>
+ </message>
<message>
<source>%1 B</source>
<translation>%1 B</translation>
@@ -976,6 +1247,10 @@
<translation>Eraro: la elektita dosierujo por datumoj "%1" ne ekzistas.</translation>
</message>
<message>
+ <source>Error: %1</source>
+ <translation>Eraro: %1</translation>
+ </message>
+ <message>
<source>unknown</source>
<translation>nekonata</translation>
</message>
@@ -1046,6 +1321,10 @@
<translation>Blokĉeno</translation>
</message>
<message>
+ <source>Wallet: </source>
+ <translation>Monujo:</translation>
+ </message>
+ <message>
<source>Received</source>
<translation>Ricevita</translation>
</message>
@@ -1109,7 +1388,35 @@
<source>Clear console</source>
<translation>Malplenigi konzolon</translation>
</message>
- </context>
+ <message>
+ <source>1 &amp;hour</source>
+ <translation>1 &amp;horo</translation>
+ </message>
+ <message>
+ <source>1 &amp;day</source>
+ <translation>1 &amp;tago</translation>
+ </message>
+ <message>
+ <source>1 &amp;week</source>
+ <translation>1 &amp;semajno</translation>
+ </message>
+ <message>
+ <source>1 &amp;year</source>
+ <translation>1 &amp;jaro</translation>
+ </message>
+ <message>
+ <source>&amp;Unban</source>
+ <translation>&amp;Malekzili</translation>
+ </message>
+ <message>
+ <source>never</source>
+ <translation>neniam</translation>
+ </message>
+ <message>
+ <source>Unknown</source>
+ <translation>Nekonata</translation>
+ </message>
+</context>
<context>
<name>ReceiveCoinsDialog</name>
<message>
@@ -1160,6 +1467,10 @@
<context>
<name>ReceiveRequestDialog</name>
<message>
+ <source>Address:</source>
+ <translation>Adreso:</translation>
+ </message>
+ <message>
<source>Amount:</source>
<translation>Sumo:</translation>
</message>
@@ -1172,6 +1483,10 @@
<translation>Mesaĝo:</translation>
</message>
<message>
+ <source>Wallet:</source>
+ <translation>Monujo:</translation>
+ </message>
+ <message>
<source>Copy &amp;URI</source>
<translation>Kopii &amp;URI</translation>
</message>
@@ -1262,6 +1577,10 @@
<translation>Krompago:</translation>
</message>
<message>
+ <source>Hide</source>
+ <translation>Kaŝi</translation>
+ </message>
+ <message>
<source>Send to multiple recipients at once</source>
<translation>Sendi samtempe al pluraj ricevantoj</translation>
</message>
@@ -1338,10 +1657,18 @@
<translation>Krompago</translation>
</message>
<message>
+ <source>Total Amount</source>
+ <translation>Totala Sumo</translation>
+ </message>
+ <message>
<source>Confirm send coins</source>
<translation>Konfirmi sendon de bitmono</translation>
</message>
<message>
+ <source>Send</source>
+ <translation>Sendi</translation>
+ </message>
+ <message>
<source>The amount to pay must be larger than 0.</source>
<translation>La pagenda sumo devas esti pli ol 0.</translation>
</message>
@@ -1875,17 +2202,33 @@
</context>
<context>
<name>WalletController</name>
+ <message>
+ <source>Close wallet</source>
+ <translation>Fermi monujon</translation>
+ </message>
+ <message>
+ <source>Close all wallets</source>
+ <translation>Fermi ĉiujn monujojn</translation>
+ </message>
</context>
<context>
<name>WalletFrame</name>
- </context>
+ <message>
+ <source>Create a new wallet</source>
+ <translation>Krei novan monujon</translation>
+ </message>
+</context>
<context>
<name>WalletModel</name>
<message>
<source>Send Coins</source>
<translation>Sendi Bitmonon</translation>
</message>
- </context>
+ <message>
+ <source>default wallet</source>
+ <translation>defaŭlta monujo</translation>
+ </message>
+</context>
<context>
<name>WalletView</name>
<message>
diff --git a/src/qt/locale/bitcoin_es.ts b/src/qt/locale/bitcoin_es.ts
index 0b32703779..19a9021348 100644
--- a/src/qt/locale/bitcoin_es.ts
+++ b/src/qt/locale/bitcoin_es.ts
@@ -143,23 +143,23 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
</message>
<message>
<source>Encrypt wallet</source>
- <translation>Cifrar cartera</translation>
+ <translation>Cifrar billetera</translation>
</message>
<message>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
- <translation>Esta operación necesita la contraseña para desbloquear la cartera</translation>
+ <translation>Esta operación necesita la contraseña para desbloquear la billetera.</translation>
</message>
<message>
<source>Unlock wallet</source>
- <translation>Desbloquear cartera</translation>
+ <translation>Desbloquear billetera</translation>
</message>
<message>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
- <translation>Esta operación necesita la contraseña para desbloquear la cartera.</translation>
+ <translation>Esta operación necesita la contraseña para desbloquear la billetera.</translation>
</message>
<message>
<source>Decrypt wallet</source>
- <translation>Descifrar cartera</translation>
+ <translation>Descifrar billetera</translation>
</message>
<message>
<source>Change passphrase</source>
@@ -167,7 +167,7 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
</message>
<message>
<source>Confirm wallet encryption</source>
- <translation>Confirma el cifrado de esta cartera</translation>
+ <translation>Confirma el cifrado de esta billetera</translation>
</message>
<message>
<source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
@@ -175,47 +175,47 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
</message>
<message>
<source>Are you sure you wish to encrypt your wallet?</source>
- <translation>¿Seguro que quieres cifrar tu cartera?</translation>
+ <translation>¿Seguro que quieres cifrar tu billetera?</translation>
</message>
<message>
<source>Wallet encrypted</source>
- <translation>Cartera encriptada</translation>
+ <translation>Billetera encriptada</translation>
</message>
<message>
<source>Enter the new passphrase for the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;ten or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
- <translation>Introduce la contraseña nueva para la cartera. &lt;br/&gt;Por favor utiliza una contraseña de &lt;b&gt;diez o más caracteres aleatorios&lt;/b&gt;, u &lt;b&gt;ocho o más palabras&lt;/b&gt;.</translation>
+ <translation>Introduce la contraseña nueva para la billetera. &lt;br/&gt;Por favor utiliza una contraseña de &lt;b&gt;diez o más caracteres aleatorios&lt;/b&gt;, u &lt;b&gt;ocho o más palabras&lt;/b&gt;.</translation>
</message>
<message>
<source>Enter the old passphrase and new passphrase for the wallet.</source>
- <translation>Introduce la contraseña antigua y la nueva para la cartera.</translation>
+ <translation>Introduce la contraseña antigua y la nueva para la billetera.</translation>
</message>
<message>
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
- <translation>Recuerda que cifrar tu cartera no garantiza la protección de tus bitcoin si tu ordenador es infectado con malware.</translation>
+ <translation>Recuerda que cifrar tu billetera no garantiza la protección de tus bitcoin si tu ordenador es infectado con malware.</translation>
</message>
<message>
<source>Wallet to be encrypted</source>
- <translation>Cartera a cifrar</translation>
+ <translation>Billetera a cifrar</translation>
</message>
<message>
<source>Your wallet is about to be encrypted. </source>
- <translation>Tu cartera va a ser cifrada</translation>
+ <translation>Tu billetera va a ser cifrada</translation>
</message>
<message>
<source>Your wallet is now encrypted. </source>
- <translation>Tu cartera ya está cifrada</translation>
+ <translation>Tu billetera ya está cifrada</translation>
</message>
<message>
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation>IMPORTANTE: Cualquier copia de seguridad que hayas hecho del archivo de tu cartera debe ser reemplazada por el archivo cifrado de la cartera recién generado. Por razones de seguridad, las copias de seguridad anteriores del archivo de la cartera sin cifrar serán inútiles cuando empiece a usar la nueva cartera cifrada.</translation>
+ <translation>IMPORTANTE: Cualquier copia de seguridad que hayas hecho del archivo de tu billetera debe ser reemplazada por el archivo cifrado de la billetera recién generado. Por razones de seguridad, las copias de seguridad anteriores del archivo de la billetera sin cifrar serán inútiles cuando empiece a usar la nueva billetera cifrada.</translation>
</message>
<message>
<source>Wallet encryption failed</source>
- <translation>El cifrado de la cartera ha fallado</translation>
+ <translation>El cifrado de la billetera ha fallado</translation>
</message>
<message>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
- <translation>El cifrado de la cartera ha fallado debido a un error interno. Tu cartera no ha sido cifrada.</translation>
+ <translation>El cifrado de la billetera ha fallado debido a un error interno. Tu billetera no ha sido cifrada.</translation>
</message>
<message>
<source>The supplied passphrases do not match.</source>
@@ -223,19 +223,19 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
</message>
<message>
<source>Wallet unlock failed</source>
- <translation>El desbloqueo de la cartera ha fallado</translation>
+ <translation>El desbloqueo de la billetera ha fallado</translation>
</message>
<message>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
- <translation>La contraseña introducida descifrar la cartera es incorrecta.</translation>
+ <translation>La contraseña introducida descifrar la billetera es incorrecta.</translation>
</message>
<message>
<source>Wallet decryption failed</source>
- <translation>El descifrado de la cartera ha fallado</translation>
+ <translation>El descifrado de la billetera ha fallado</translation>
</message>
<message>
<source>Wallet passphrase was successfully changed.</source>
- <translation>La contraseña de la cartera ha sido cambiada.</translation>
+ <translation>La contraseña de la billetera ha sido cambiada.</translation>
</message>
<message>
<source>Warning: The Caps Lock key is on!</source>
@@ -269,7 +269,7 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
</message>
<message>
<source>Show general overview of wallet</source>
- <translation>Mostrar vista general de la cartera</translation>
+ <translation>Mostrar vista general de la billetera</translation>
</message>
<message>
<source>&amp;Transactions</source>
@@ -313,11 +313,11 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
</message>
<message>
<source>&amp;Encrypt Wallet...</source>
- <translation>&amp;Cifrar cartera…</translation>
+ <translation>&amp;Cifrar billetera…</translation>
</message>
<message>
<source>&amp;Backup Wallet...</source>
- <translation>&amp;Copia de seguridad de la cartera...</translation>
+ <translation>&amp;Copia de seguridad de la billetera...</translation>
</message>
<message>
<source>&amp;Change Passphrase...</source>
@@ -329,15 +329,15 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
</message>
<message>
<source>Create Wallet...</source>
- <translation>Crear cartera...</translation>
+ <translation>Crear billetera...</translation>
</message>
<message>
<source>Create a new wallet</source>
- <translation>Crear nueva cartera</translation>
+ <translation>Crear nueva billetera</translation>
</message>
<message>
<source>Wallet:</source>
- <translation>Cartera:</translation>
+ <translation>Billetera:</translation>
</message>
<message>
<source>Click to disable network activity.</source>
@@ -397,7 +397,7 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
</message>
<message>
<source>Encrypt the private keys that belong to your wallet</source>
- <translation>Cifrar las claves privadas que pertenecen a tu cartera</translation>
+ <translation>Cifrar las claves privadas que pertenecen a tu billetera</translation>
</message>
<message>
<source>Sign messages with your Bitcoin addresses to prove you own them</source>
@@ -521,27 +521,27 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
</message>
<message>
<source>Open Wallet</source>
- <translation>Abrir cartera</translation>
+ <translation>Abrir billetera</translation>
</message>
<message>
<source>Open a wallet</source>
- <translation>Abrir una cartera</translation>
+ <translation>Abrir una billetera</translation>
</message>
<message>
<source>Close Wallet...</source>
- <translation>Cerrar cartera...</translation>
+ <translation>Cerrar billetera...</translation>
</message>
<message>
<source>Close wallet</source>
- <translation>Cerrar cartera</translation>
+ <translation>Cerrar billetera</translation>
</message>
<message>
<source>Close All Wallets...</source>
- <translation>Cerrar todas las carteras...</translation>
+ <translation>Cerrar todas las billeteras...</translation>
</message>
<message>
<source>Close all wallets</source>
- <translation>Cerrar todas las carteras</translation>
+ <translation>Cerrar todas las billeteras</translation>
</message>
<message>
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
@@ -557,11 +557,11 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
</message>
<message>
<source>default wallet</source>
- <translation>Cartera predeterminada</translation>
+ <translation>Billetera predeterminada</translation>
</message>
<message>
<source>No wallets available</source>
- <translation>No hay carteras disponibles</translation>
+ <translation>No hay billeteras disponibles</translation>
</message>
<message>
<source>&amp;Window</source>
@@ -614,7 +614,7 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
<message>
<source>Wallet: %1
</source>
- <translation>Cartera: %1
+ <translation>Billetera: %1
</translation>
</message>
<message>
@@ -661,7 +661,7 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
</message>
<message>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
- <translation>La cartera está &lt;b&gt;cifrada&lt;/b&gt; y &lt;b&gt;bloqueada&lt;/b&gt;</translation>
+ <translation>La billetera está &lt;b&gt;cifrada&lt;/b&gt; y &lt;b&gt;bloqueada&lt;/b&gt;</translation>
</message>
<message>
<source>Original message:</source>
@@ -831,7 +831,7 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
</message>
<message>
<source>Create wallet failed</source>
- <translation>Error al crear cartera</translation>
+ <translation>Error al crear billetera</translation>
</message>
<message>
<source>Create wallet warning</source>
@@ -884,6 +884,10 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
<source>Create</source>
<translation>Crear</translation>
</message>
+ <message>
+ <source>Compiled without sqlite support (required for descriptor wallets)</source>
+ <translation>Compilado sin soporte de sqlite (requerido para billeteras descriptoras)</translation>
+ </message>
</context>
<context>
<name>EditAddressDialog</name>
@@ -1038,7 +1042,7 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
</message>
<message>
<source>The wallet will also be stored in this directory.</source>
- <translation>La cartera también se almacenará en este directorio.</translation>
+ <translation>La billetera también se almacenará en este directorio.</translation>
</message>
<message>
<source>Error: Specified data directory "%1" cannot be created.</source>
@@ -1139,7 +1143,7 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
</message>
<message>
<source>Open wallet warning</source>
- <translation>Ver aviso sobre la cartera</translation>
+ <translation>Ver aviso sobre la billetera</translation>
</message>
<message>
<source>default wallet</source>
@@ -3377,7 +3381,7 @@ Nota: Dado que la comisión se calcula por byte, una comisión de "100 satoshis
</message>
<message>
<source>Close all wallets</source>
- <translation>Cerrar todas las carteras</translation>
+ <translation>Cerrar todas las billeteras</translation>
</message>
<message>
<source>Are you sure you wish to close all wallets?</source>
@@ -3473,6 +3477,10 @@ Vaya a Archivo&gt; Abrir monedero para cargar un monedero.
<translation>Error</translation>
</message>
<message>
+ <source>Unable to decode PSBT from clipboard (invalid base64)</source>
+ <translation>No se puede decodificar PSBT desde el portapapeles (inválido base64)</translation>
+ </message>
+ <message>
<source>Load Transaction Data</source>
<translation>Cargar datos de la transacción</translation>
</message>
@@ -3556,6 +3564,10 @@ Vaya a Archivo&gt; Abrir monedero para cargar un monedero.
<translation>Error leyendo %s!. Todas las claves se han leído correctamente, pero los datos de la transacción o el libro de direcciones pueden faltar o ser incorrectos.</translation>
</message>
<message>
+ <source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
+ <translation>Se proporciona más de una dirección de ligar de cebolla. Utilizando %s para el servicio Tor cebolla creado automático.</translation>
+ </message>
+ <message>
<source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
<translation>¡Por favor, compruebe si la fecha y hora en su computadora son correctas! Si su reloj está mal, %s no trabajará correctamente.</translation>
</message>
@@ -3564,6 +3576,18 @@ Vaya a Archivo&gt; Abrir monedero para cargar un monedero.
<translation>Contribuya si encuentra %s de utilidad. Visite %s para más información acerca del programa.</translation>
</message>
<message>
+ <source>SQLiteDatabase: Failed to prepare the statement to fetch sqlite wallet schema version: %s</source>
+ <translation>SQLiteDatabase: Fallado para preparar la declaración para traer versión del esquema de la monedero sqlite: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to prepare the statement to fetch the application id: %s</source>
+ <translation>SQLiteDatabase: Fallado para preparar la declaración para traer la aplicación id: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
+ <translation>SQLiteDatabase: versión del esquema de la monedero sqlite desconocido %d. Sólo version %d se admite</translation>
+ </message>
+ <message>
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
<translation>La base de datos de bloques contiene un bloque que parece ser del futuro. Esto puede ser porque la fecha y hora de su ordenador están mal ajustados. Reconstruya la base de datos de bloques solo si está seguro de que la fecha y hora de su ordenador están ajustadas correctamente.</translation>
</message>
@@ -3672,6 +3696,10 @@ Vaya a Archivo&gt; Abrir monedero para cargar un monedero.
<translation>No se ha podido verificar la base de datos</translation>
</message>
<message>
+ <source>Ignoring duplicate -wallet %s.</source>
+ <translation>No hacer caso de duplicado -wallet %s</translation>
+ </message>
+ <message>
<source>Importing...</source>
<translation>Importando...</translation>
</message>
@@ -3700,6 +3728,30 @@ Vaya a Archivo&gt; Abrir monedero para cargar un monedero.
<translation>Monto inválido para -fallbackfee=&lt;amount&gt;: '%s'</translation>
</message>
<message>
+ <source>SQLiteDatabase: Failed to execute statement to verify database: %s</source>
+ <translation>SQLiteDatabase: Fallado para ejecutar declaración para verificar base de datos: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to fetch sqlite wallet schema version: %s</source>
+ <translation>SQLiteDatabase: Fallado para traer versión del esquema de la monedero sqlite: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to fetch the application id: %s</source>
+ <translation>SQLiteDatabase: Error al obtener el ID de aplicación: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to prepare statement to verify database: %s</source>
+ <translation>SQLiteDatabase: Fallado para preparar declaración para verificar base de datos: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to read database verification error: %s</source>
+ <translation>SQLiteDatabase: Error al leer la verificación de la base de datos: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Unexpected application id. Expected %u, got %u</source>
+ <translation>SQLiteDatabase: id aplicación inesperada. Esperado %u, tiene %u</translation>
+ </message>
+ <message>
<source>Specified blocks directory "%s" does not exist.</source>
<translation>El directorio de bloques «%s» especificado no existe.</translation>
</message>
@@ -3784,6 +3836,14 @@ Vaya a Archivo&gt; Abrir monedero para cargar un monedero.
<translation>Error: La escucha para conexiones entrantes falló (la escucha devolvió el error %s)</translation>
</message>
<message>
+ <source>%s corrupt. Try using the wallet tool bitcoin-wallet to salvage or restoring a backup.</source>
+ <translation>%s corrupto. Intente utilizar la monedero herramienta de bitcoin-monedero para salvar o restaurar una copia de seguridad.</translation>
+ </message>
+ <message>
+ <source>Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use version 169900 or no version specified.</source>
+ <translation>No es posible actualizar un monedero HD dividido sin actualizar el soporte para admitir el keypool pre dividido. Porfavor usa -upgradewallet=169900 o -upgradewallet sin especificar una versión.</translation>
+ </message>
+ <message>
<source>Invalid amount for -maxtxfee=&lt;amount&gt;: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source>
<translation>Cantidad no válida para -maxtxfee=&lt;amount&gt;: '%s' (debe ser al menos la comisión mínima de %s para prevenir transacciones atascadas)</translation>
</message>
@@ -3792,6 +3852,18 @@ Vaya a Archivo&gt; Abrir monedero para cargar un monedero.
<translation>Monto de transacción muy pequeño después de la deducción de la comisión</translation>
</message>
<message>
+ <source>This error could occur if this wallet was not shutdown cleanly and was last loaded using a build with a newer version of Berkeley DB. If so, please use the software that last loaded this wallet</source>
+ <translation>Este error podría ocurrir si la billetera no fuese apagada correctamente y fuese cargada usando una compilación con una versión más nueva de Berkeley DB. Si es así, utilice el software que cargó por última vez en esta billetera.</translation>
+ </message>
+ <message>
+ <source>This is the maximum transaction fee you pay (in addition to the normal fee) to prioritize partial spend avoidance over regular coin selection.</source>
+ <translation>Esta es la máxima tarifa de transacción que pagas (en adicional a la tarifa normal de transacción) para primordialmente evitar gastar un sobrecosto.</translation>
+ </message>
+ <message>
+ <source>Transaction needs a change address, but we can't generate it. Please call keypoolrefill first.</source>
+ <translation>La transacción necesita un cambio de dirección, pero no podemos generar una. Porfavor, realice una petición a keypoolrefill antes.</translation>
+ </message>
+ <message>
<source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source>
<translation>Necesita reconstruir la base de datos utilizando -reindex para volver al modo sin recorte. Esto volverá a descargar toda la cadena de bloques</translation>
</message>
@@ -3800,6 +3872,10 @@ Vaya a Archivo&gt; Abrir monedero para cargar un monedero.
<translation>Ha ocurrido un error interno grave. Consulte debug.log para más detalles.</translation>
</message>
<message>
+ <source>Cannot set -peerblockfilters without -blockfilterindex.</source>
+ <translation>No se puede establecer -peerblockfilters sin -blockfilterindex.</translation>
+ </message>
+ <message>
<source>Disk space is too low!</source>
<translation>¡El espacio en el disco es demasiado bajo!</translation>
</message>
@@ -3816,6 +3892,14 @@ Vaya a Archivo&gt; Abrir monedero para cargar un monedero.
<translation>Error: ¡Espacio en disco bajo por %s!</translation>
</message>
<message>
+ <source>Error: Keypool ran out, please call keypoolrefill first</source>
+ <translation>Keypool se ha agotado, llame a keypoolrefill primero</translation>
+ </message>
+ <message>
+ <source>Fee rate (%s) is lower than the minimum fee rate setting (%s)</source>
+ <translation>El ratio de comisión (%s) es menor que el mínimo ratio de comisión (%s)</translation>
+ </message>
+ <message>
<source>Invalid -onion address or hostname: '%s'</source>
<translation>Dirección de -onion o dominio '%s' inválido</translation>
</message>
@@ -3930,10 +4014,6 @@ Vaya a Archivo&gt; Abrir monedero para cargar un monedero.
<translation>¡%s está configurado muy alto!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Error cargando el monedero %s. Se ha especificado un nombre de fichero -wallet duplicado.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Iniciando procesos de red...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_es_CL.ts b/src/qt/locale/bitcoin_es_CL.ts
index 3eb03c966e..4e08e5abb0 100644
--- a/src/qt/locale/bitcoin_es_CL.ts
+++ b/src/qt/locale/bitcoin_es_CL.ts
@@ -2993,10 +2993,6 @@ Exportar los datos en la pestaña actual a un archivo</translation>
<translation>¡%s esta configurado muy alto!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Error cargando el monedero %s. Se ha especificado un nombre de fichero -wallet duplicado.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Iniciando procesos de red...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_es_CO.ts b/src/qt/locale/bitcoin_es_CO.ts
index fd47d5103f..485d5ff210 100644
--- a/src/qt/locale/bitcoin_es_CO.ts
+++ b/src/qt/locale/bitcoin_es_CO.ts
@@ -2990,10 +2990,6 @@
<translation>¡%s esta configurado muy alto!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Error cargando el monedero %s. Se ha especificado un nombre de fichero -wallet duplicado.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Iniciando procesos de red...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_es_MX.ts b/src/qt/locale/bitcoin_es_MX.ts
index c045a23262..01a12c4ca9 100644
--- a/src/qt/locale/bitcoin_es_MX.ts
+++ b/src/qt/locale/bitcoin_es_MX.ts
@@ -3,7 +3,7 @@
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
- <translation>Click derecho para editar tu dirección o etiqueta</translation>
+ <translation>Haga clic derecho para editar la dirección o la etiqueta</translation>
</message>
<message>
<source>Create a new address</source>
@@ -288,10 +288,6 @@ Signing is only possible with addresses of the type 'legacy'.</translation>
<translation>Salir de la aplicación</translation>
</message>
<message>
- <source>&amp;About %1</source>
- <translation>%Acerca de%1</translation>
- </message>
- <message>
<source>Show information about %1</source>
<translation>Mostrar información acerca de %1</translation>
</message>
@@ -887,7 +883,7 @@ Solicitar pagos (genera códigos QR y bitcoin: URI)
<source>Create</source>
<translation>Crear</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -3575,6 +3571,10 @@ Go to File &gt; Open Wallet to load a wallet.
<translation>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</translation>
</message>
<message>
+ <source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
+ <translation>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</translation>
+ </message>
+ <message>
<source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
<translation>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</translation>
</message>
@@ -3583,6 +3583,10 @@ Go to File &gt; Open Wallet to load a wallet.
<translation>Please contribute if you find %s useful. Visit %s for further information about the software.</translation>
</message>
<message>
+ <source>SQLiteDatabase: Failed to prepare the statement to fetch sqlite wallet schema version: %s</source>
+ <translation>SQLiteDatabase: Failed to prepare the statement to fetch sqlite wallet schema version: %s</translation>
+ </message>
+ <message>
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
<translation>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</translation>
</message>
@@ -3687,6 +3691,10 @@ Go to File &gt; Open Wallet to load a wallet.
<translation>Falló al volver a escanear la cartera durante la inicialización</translation>
</message>
<message>
+ <source>Failed to verify database</source>
+ <translation>No se pudo verificar la base de datos</translation>
+ </message>
+ <message>
<source>Importing...</source>
<translation>Importando...</translation>
</message>
@@ -3977,10 +3985,6 @@ Go to File &gt; Open Wallet to load a wallet.
<translation>%s is set very high!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Error loading wallet %s. Duplicate -wallet filename specified.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Starting network threads...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_eu.ts b/src/qt/locale/bitcoin_eu.ts
index 3d717a5686..f76235f274 100644
--- a/src/qt/locale/bitcoin_eu.ts
+++ b/src/qt/locale/bitcoin_eu.ts
@@ -616,7 +616,7 @@
<source>Create</source>
<translation>Sortu</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
diff --git a/src/qt/locale/bitcoin_fa.ts b/src/qt/locale/bitcoin_fa.ts
index 95d987015d..0f4f4387d8 100644
--- a/src/qt/locale/bitcoin_fa.ts
+++ b/src/qt/locale/bitcoin_fa.ts
@@ -3,7 +3,7 @@
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
- <translation>برای ویرایش آدرس یا برچسب روی آن راست کلیک کنید</translation>
+ <translation>برای ویرایش آدرس یا برچسب‌گذاری راست‌کلیک کنید</translation>
</message>
<message>
<source>Create a new address</source>
@@ -15,7 +15,7 @@
</message>
<message>
<source>Copy the currently selected address to the system clipboard</source>
- <translation>کپی کردن آدرس انتخاب شده به حافظه کلیپ بورد سیستم</translation>
+ <translation>کپی‌کردن آدرس انتخاب‌شده به حافظهٔ کلیپ‌بورد سیستم</translation>
</message>
<message>
<source>&amp;Copy</source>
@@ -70,6 +70,12 @@
<translation>اینها آدرس‌های شما برای ارسال وجوه هستند. همیشه قبل از ارسال، مقدار و آدرس گیرنده را بررسی کنید.</translation>
</message>
<message>
+ <source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
+Signing is only possible with addresses of the type 'legacy'.</source>
+ <translation>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
+Signing is only possible with addresses of the type 'legacy'.</translation>
+ </message>
+ <message>
<source>&amp;Copy Address</source>
<translation>کپی آدرس</translation>
</message>
@@ -110,7 +116,7 @@
</message>
<message>
<source>(no label)</source>
- <translation>(برچسب ندارد)</translation>
+ <translation>(بدون برچسب)</translation>
</message>
</context>
<context>
@@ -479,6 +485,22 @@
<translation>به روز</translation>
</message>
<message>
+ <source>&amp;Load PSBT from file...</source>
+ <translation>&amp;Load PSBT from file...</translation>
+ </message>
+ <message>
+ <source>Load Partially Signed Bitcoin Transaction</source>
+ <translation>Load Partially Signed Bitcoin Transaction</translation>
+ </message>
+ <message>
+ <source>Load PSBT from clipboard...</source>
+ <translation>Load PSBT from clipboard...</translation>
+ </message>
+ <message>
+ <source>Load Partially Signed Bitcoin Transaction from clipboard</source>
+ <translation>Load Partially Signed Bitcoin Transaction from clipboard</translation>
+ </message>
+ <message>
<source>Node window</source>
<translation>پنجره گره</translation>
</message>
@@ -523,6 +545,14 @@
<translation>همه‌ی کیف پول‌ها را ببند</translation>
</message>
<message>
+ <source>&amp;Mask values</source>
+ <translation>&amp;Mask values</translation>
+ </message>
+ <message>
+ <source>Mask the values in the Overview tab</source>
+ <translation>Mask the values in the Overview tab</translation>
+ </message>
+ <message>
<source>default wallet</source>
<translation>کیف پول پیش‌فرض</translation>
</message>
@@ -634,7 +664,11 @@
<source>Original message:</source>
<translation>پیام اصلی:</translation>
</message>
- </context>
+ <message>
+ <source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
+ <translation>A fatal error occurred. %1 can no longer continue safely and will quit.</translation>
+ </message>
+</context>
<context>
<name>CoinControlDialog</name>
<message>
@@ -770,6 +804,10 @@
<translation>اگر هر گیرنده مقداری کمتر آستانه فعلی دریافت کند از این لیبل قرمز می‌شود.</translation>
</message>
<message>
+ <source>Can vary +/- %1 satoshi(s) per input.</source>
+ <translation>Can vary +/- %1 satoshi(s) per input.</translation>
+ </message>
+ <message>
<source>(no label)</source>
<translation>(برچسب ندارد)</translation>
</message>
@@ -832,9 +870,21 @@
<translation>ساخت کیف پول خالی</translation>
</message>
<message>
+ <source>Use descriptors for scriptPubKey management</source>
+ <translation>Use descriptors for scriptPubKey management</translation>
+ </message>
+ <message>
+ <source>Descriptor Wallet</source>
+ <translation>Descriptor Wallet</translation>
+ </message>
+ <message>
<source>Create</source>
<translation>ایجاد</translation>
</message>
+ <message>
+ <source>Compiled without sqlite support (required for descriptor wallets)</source>
+ <translation>Compiled without sqlite support (required for descriptor wallets)</translation>
+ </message>
</context>
<context>
<name>EditAddressDialog</name>
@@ -875,6 +925,10 @@
<translation>آدرس وارد شده "%1" آدرس معتبر بیت کوین نیست.</translation>
</message>
<message>
+ <source>Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address.</source>
+ <translation>Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address.</translation>
+ </message>
+ <message>
<source>The entered address "%1" is already in the address book with label "%2".</source>
<translation>آدرس وارد شده "%1" در حال حاظر در دفترچه آدرس ها موجود است با برچسب "%2" .</translation>
</message>
@@ -940,6 +994,22 @@
<translation>از آنجا که اولین مرتبه این برنامه اجرا می‌شود، شما می‌توانید محل ذخیره داده‌های %1 را انتخاب نمایید.</translation>
</message>
<message>
+ <source>When you click OK, %1 will begin to download and process the full %4 block chain (%2GB) starting with the earliest transactions in %3 when %4 initially launched.</source>
+ <translation>When you click OK, %1 will begin to download and process the full %4 block chain (%2GB) starting with the earliest transactions in %3 when %4 initially launched.</translation>
+ </message>
+ <message>
+ <source>Reverting this setting requires re-downloading the entire blockchain. It is faster to download the full chain first and prune it later. Disables some advanced features.</source>
+ <translation>Reverting this setting requires re-downloading the entire blockchain. It is faster to download the full chain first and prune it later. Disables some advanced features.</translation>
+ </message>
+ <message>
+ <source>This initial synchronisation is very demanding, and may expose hardware problems with your computer that had previously gone unnoticed. Each time you run %1, it will continue downloading where it left off.</source>
+ <translation>This initial synchronisation is very demanding, and may expose hardware problems with your computer that had previously gone unnoticed. Each time you run %1, it will continue downloading where it left off.</translation>
+ </message>
+ <message>
+ <source>If you have chosen to limit block chain storage (pruning), the historical data must still be downloaded and processed, but will be deleted afterward to keep your disk usage low.</source>
+ <translation>If you have chosen to limit block chain storage (pruning), the historical data must still be downloaded and processed, but will be deleted afterward to keep your disk usage low.</translation>
+ </message>
+ <message>
<source>Use the default data directory</source>
<translation>استفاده کردن از پوشه داده پیشفرض</translation>
</message>
@@ -952,6 +1022,10 @@
<translation>بیت کوین</translation>
</message>
<message>
+ <source>Discard blocks after verification, except most recent %1 GB (prune)</source>
+ <translation>Discard blocks after verification, except most recent %1 GB (prune)</translation>
+ </message>
+ <message>
<source>At least %1 GB of data will be stored in this directory, and it will grow over time.</source>
<translation>حداقل %1 گیگابایت اطلاعات در این شاخه ذخیره خواهد شد، که به مرور زمان افزایش خواهد یافت.</translation>
</message>
@@ -960,6 +1034,10 @@
<translation>تقریبا %1 گیگابایت داده در این شاخه ذخیره خواهد شد.</translation>
</message>
<message>
+ <source>%1 will download and store a copy of the Bitcoin block chain.</source>
+ <translation>%1 will download and store a copy of the Bitcoin block chain.</translation>
+ </message>
+ <message>
<source>The wallet will also be stored in this directory.</source>
<translation>کیف پول هم در همین دایرکتوری ذخیره می‌شود.</translation>
</message>
@@ -979,7 +1057,11 @@
<source>(of %n GB needed)</source>
<translation><numerusform>(از %n گیگابایت مورد نیاز)</numerusform><numerusform>(از %n گیگابایت مورد نیاز)</numerusform></translation>
</message>
- </context>
+ <message numerus="yes">
+ <source>(%n GB needed for full chain)</source>
+ <translation><numerusform>(%n GB needed for full chain)</numerusform><numerusform>(%n GB needed for full chain)</numerusform></translation>
+ </message>
+</context>
<context>
<name>ModalOverlay</name>
<message>
@@ -987,6 +1069,14 @@
<translation>فرم</translation>
</message>
<message>
+ <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the bitcoin network, as detailed below.</source>
+ <translation>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the bitcoin network, as detailed below.</translation>
+ </message>
+ <message>
+ <source>Attempting to spend bitcoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
+ <translation>Attempting to spend bitcoins that are affected by not-yet-displayed transactions will not be accepted by the network.</translation>
+ </message>
+ <message>
<source>Number of blocks left</source>
<translation>تعداد بلوک‌های باقیمانده</translation>
</message>
@@ -1022,10 +1112,22 @@
<source>Esc</source>
<translation>خروج</translation>
</message>
- </context>
+ <message>
+ <source>%1 is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.</source>
+ <translation>%1 is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.</translation>
+ </message>
+ <message>
+ <source>Unknown. Syncing Headers (%1, %2%)...</source>
+ <translation>Unknown. Syncing Headers (%1, %2%)...</translation>
+ </message>
+</context>
<context>
<name>OpenURIDialog</name>
<message>
+ <source>Open bitcoin URI</source>
+ <translation>Open bitcoin URI</translation>
+ </message>
+ <message>
<source>URI:</source>
<translation>آدرس:</translation>
</message>
@@ -1044,7 +1146,11 @@
<source>default wallet</source>
<translation>کیف پول پیش‌فرض</translation>
</message>
- </context>
+ <message>
+ <source>Opening Wallet &lt;b&gt;%1&lt;/b&gt;...</source>
+ <translation>Opening Wallet &lt;b&gt;%1&lt;/b&gt;...</translation>
+ </message>
+</context>
<context>
<name>OptionsDialog</name>
<message>
@@ -1060,15 +1166,47 @@
<translation>اجرای خودکار %1 بعد زمان ورود به سیستم.</translation>
</message>
<message>
+ <source>&amp;Start %1 on system login</source>
+ <translation>&amp;Start %1 on system login</translation>
+ </message>
+ <message>
<source>Size of &amp;database cache</source>
<translation>اندازه کش پایگاه داده.</translation>
</message>
<message>
+ <source>Number of script &amp;verification threads</source>
+ <translation>Number of script &amp;verification threads</translation>
+ </message>
+ <message>
+ <source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source>
+ <translation>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</translation>
+ </message>
+ <message>
+ <source>Shows if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source>
+ <translation>Shows if the supplied default SOCKS5 proxy is used to reach peers via this network type.</translation>
+ </message>
+ <message>
+ <source>Hide the icon from the system tray.</source>
+ <translation>Hide the icon from the system tray.</translation>
+ </message>
+ <message>
<source>&amp;Hide tray icon</source>
<translation>مخفی کردن ایکون
</translation>
</message>
<message>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Exit in the menu.</source>
+ <translation>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Exit in the menu.</translation>
+ </message>
+ <message>
+ <source>Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |.</source>
+ <translation>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 |.</translation>
+ </message>
+ <message>
+ <source>Open the %1 configuration file from the working directory.</source>
+ <translation>Open the %1 configuration file from the working directory.</translation>
+ </message>
+ <message>
<source>Open Configuration File</source>
<translation>بازکردن فایل پیکربندی</translation>
</message>
@@ -1085,14 +1223,30 @@
<translation>شبکه</translation>
</message>
<message>
+ <source>Disables some advanced features but all blocks will still be fully validated. Reverting this setting requires re-downloading the entire blockchain. Actual disk usage may be somewhat higher.</source>
+ <translation>Disables some advanced features but all blocks will still be fully validated. Reverting this setting requires re-downloading the entire blockchain. Actual disk usage may be somewhat higher.</translation>
+ </message>
+ <message>
+ <source>Prune &amp;block storage to</source>
+ <translation>Prune &amp;block storage to</translation>
+ </message>
+ <message>
<source>GB</source>
<translation>گیگابایت</translation>
</message>
<message>
+ <source>Reverting this setting requires re-downloading the entire blockchain.</source>
+ <translation>Reverting this setting requires re-downloading the entire blockchain.</translation>
+ </message>
+ <message>
<source>MiB</source>
<translation>MiB</translation>
</message>
<message>
+ <source>(0 = auto, &lt;0 = leave that many cores free)</source>
+ <translation>(0 = auto, &lt;0 = leave that many cores free)</translation>
+ </message>
+ <message>
<source>W&amp;allet</source>
<translation>کیف پول</translation>
</message>
@@ -1105,6 +1259,14 @@
<translation>فعال کردن قابلیت سکه و کنترل</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>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.</translation>
+ </message>
+ <message>
+ <source>&amp;Spend unconfirmed change</source>
+ <translation>&amp;Spend unconfirmed change</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>
<translation>باز کردن خودکار درگاه شبکهٔ بیت‌کوین روی روترها. تنها زمانی کار می‌کند که روتر از پروتکل UPnP پشتیبانی کند و این پروتکل فعال باشد.</translation>
</message>
@@ -1121,6 +1283,14 @@
<translation>اجازه دادن به ارتباطات ورودی</translation>
</message>
<message>
+ <source>Connect to the Bitcoin network through a SOCKS5 proxy.</source>
+ <translation>Connect to the Bitcoin network through a SOCKS5 proxy.</translation>
+ </message>
+ <message>
+ <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
+ <translation>&amp;Connect through SOCKS5 proxy (default proxy):</translation>
+ </message>
+ <message>
<source>Proxy &amp;IP:</source>
<translation>پراکسی و آی‌پی:</translation>
</message>
@@ -1133,6 +1303,10 @@
<translation>پورت پراکسی (مثال ۹۰۵۰)</translation>
</message>
<message>
+ <source>Used for reaching peers via:</source>
+ <translation>Used for reaching peers via:</translation>
+ </message>
+ <message>
<source>IPv4</source>
<translation>IPv4</translation>
</message>
@@ -1169,6 +1343,10 @@
<translation>زبان واسط کاربری:</translation>
</message>
<message>
+ <source>The user interface language can be set here. This setting will take effect after restarting %1.</source>
+ <translation>The user interface language can be set here. This setting will take effect after restarting %1.</translation>
+ </message>
+ <message>
<source>&amp;Unit to show amounts in:</source>
<translation>واحد نمایشگر مقادیر:</translation>
</message>
@@ -1181,10 +1359,22 @@
<translation>که امکانات کنترل کوین‌ها نشان داده شود یا نه.</translation>
</message>
<message>
+ <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor onion services.</source>
+ <translation>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor onion services.</translation>
+ </message>
+ <message>
+ <source>Use separate SOCKS&amp;5 proxy to reach peers via Tor onion services:</source>
+ <translation>Use separate SOCKS&amp;5 proxy to reach peers via Tor onion services:</translation>
+ </message>
+ <message>
<source>&amp;Third party transaction URLs</source>
<translation>URLهای تراکنش شخص ثالث</translation>
</message>
<message>
+ <source>Options set in this dialog are overridden by the command line or in the configuration file:</source>
+ <translation>Options set in this dialog are overridden by the command line or in the configuration file:</translation>
+ </message>
+ <message>
<source>&amp;OK</source>
<translation>تایید</translation>
</message>
@@ -1217,6 +1407,10 @@
<translation>تنظیمات پیکربندی</translation>
</message>
<message>
+ <source>The configuration file is used to specify advanced user options which override GUI settings. Additionally, any command-line options will override this configuration file.</source>
+ <translation>The configuration file is used to specify advanced user options which override GUI settings. Additionally, any command-line options will override this configuration file.</translation>
+ </message>
+ <message>
<source>Error</source>
<translation>خطا</translation>
</message>
@@ -1303,7 +1497,15 @@
<source>Mined balance in watch-only addresses that has not yet matured</source>
<translation>موجودی استخراج شده در آدرس های فقط قابل مشاهده هنوز کامل نشده است</translation>
</message>
- </context>
+ <message>
+ <source>Current total balance in watch-only addresses</source>
+ <translation>Current total balance in watch-only addresses</translation>
+ </message>
+ <message>
+ <source>Privacy mode activated for the Overview tab. To unmask the values, uncheck Settings-&gt;Mask values.</source>
+ <translation>Privacy mode activated for the Overview tab. To unmask the values, uncheck Settings-&gt;Mask values.</translation>
+ </message>
+</context>
<context>
<name>PSBTOperationsDialog</name>
<message>
@@ -1311,6 +1513,14 @@
<translation>تگفتگو</translation>
</message>
<message>
+ <source>Sign Tx</source>
+ <translation>Sign Tx</translation>
+ </message>
+ <message>
+ <source>Broadcast Tx</source>
+ <translation>Broadcast Tx</translation>
+ </message>
+ <message>
<source>Copy to Clipboard</source>
<translation>کپی کردن</translation>
</message>
@@ -1323,14 +1533,66 @@
<translation>بستن</translation>
</message>
<message>
+ <source>Failed to load transaction: %1</source>
+ <translation>Failed to load transaction: %1</translation>
+ </message>
+ <message>
+ <source>Failed to sign transaction: %1</source>
+ <translation>Failed to sign transaction: %1</translation>
+ </message>
+ <message>
+ <source>Could not sign any more inputs.</source>
+ <translation>Could not sign any more inputs.</translation>
+ </message>
+ <message>
+ <source>Signed %1 inputs, but more signatures are still required.</source>
+ <translation>Signed %1 inputs, but more signatures are still required.</translation>
+ </message>
+ <message>
+ <source>Signed transaction successfully. Transaction is ready to broadcast.</source>
+ <translation>Signed transaction successfully. Transaction is ready to broadcast.</translation>
+ </message>
+ <message>
<source>Unknown error processing transaction.</source>
<translation>مشکل نامشخصی در پردازش عملیات رخ داده.</translation>
</message>
<message>
+ <source>Transaction broadcast successfully! Transaction ID: %1</source>
+ <translation>Transaction broadcast successfully! Transaction ID: %1</translation>
+ </message>
+ <message>
+ <source>Transaction broadcast failed: %1</source>
+ <translation>Transaction broadcast failed: %1</translation>
+ </message>
+ <message>
+ <source>PSBT copied to clipboard.</source>
+ <translation>PSBT copied to clipboard.</translation>
+ </message>
+ <message>
<source>Save Transaction Data</source>
<translation>ذخیره اطلاعات عملیات</translation>
</message>
<message>
+ <source>Partially Signed Transaction (Binary) (*.psbt)</source>
+ <translation>Partially Signed Transaction (Binary) (*.psbt)</translation>
+ </message>
+ <message>
+ <source>PSBT saved to disk.</source>
+ <translation>PSBT saved to disk.</translation>
+ </message>
+ <message>
+ <source> * Sends %1 to %2</source>
+ <translation> * Sends %1 to %2</translation>
+ </message>
+ <message>
+ <source>Unable to calculate transaction fee or total transaction amount.</source>
+ <translation>Unable to calculate transaction fee or total transaction amount.</translation>
+ </message>
+ <message>
+ <source>Pays transaction fee: </source>
+ <translation>Pays transaction fee: </translation>
+ </message>
+ <message>
<source>Total Amount</source>
<translation>میزان کل</translation>
</message>
@@ -1339,6 +1601,14 @@
<translation>یا</translation>
</message>
<message>
+ <source>Transaction has %1 unsigned inputs.</source>
+ <translation>Transaction has %1 unsigned inputs.</translation>
+ </message>
+ <message>
+ <source>Transaction is missing some information about inputs.</source>
+ <translation>Transaction is missing some information about inputs.</translation>
+ </message>
+ <message>
<source>Transaction still needs signature(s).</source>
<translation>عملیات هنوز به امضا(ها) نیاز دارد.</translation>
</message>
@@ -1347,6 +1617,14 @@
<translation>(اما این کیف‌‌پول نمی‌تواند عملیات‌ها را امضا کند.)</translation>
</message>
<message>
+ <source>(But this wallet does not have the right keys.)</source>
+ <translation>(But this wallet does not have the right keys.)</translation>
+ </message>
+ <message>
+ <source>Transaction is fully signed and ready for broadcast.</source>
+ <translation>Transaction is fully signed and ready for broadcast.</translation>
+ </message>
+ <message>
<source>Transaction status is unknown.</source>
<translation>وضعیت عملیات نامشخص است.</translation>
</message>
@@ -1366,10 +1644,30 @@
<translation>مدیریت URI</translation>
</message>
<message>
+ <source>'bitcoin://' is not a valid URI. Use 'bitcoin:' instead.</source>
+ <translation>'bitcoin://' is not a valid URI. Use 'bitcoin:' instead.</translation>
+ </message>
+ <message>
+ <source>Cannot process payment request because BIP70 is not supported.</source>
+ <translation>Cannot process payment request because BIP70 is not supported.</translation>
+ </message>
+ <message>
+ <source>Due to widespread security flaws in BIP70 it's strongly recommended that any merchant instructions to switch wallets be ignored.</source>
+ <translation>Due to widespread security flaws in BIP70 it's strongly recommended that any merchant instructions to switch wallets be ignored.</translation>
+ </message>
+ <message>
+ <source>If you are receiving this error you should request the merchant provide a BIP21 compatible URI.</source>
+ <translation>If you are receiving this error you should request the merchant provide a BIP21 compatible URI.</translation>
+ </message>
+ <message>
<source>Invalid payment address %1</source>
<translation>آدرس پرداخت نامعتبر %1</translation>
</message>
<message>
+ <source>URI cannot be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation>URI cannot be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</translation>
+ </message>
+ <message>
<source>Payment request file handling</source>
<translation>درحال پردازش درخواست پرداخت</translation>
</message>
@@ -1488,10 +1786,18 @@
<translation>خطا: پوشهٔ مشخص شده برای داده‌ها در «%1» وجود ندارد.</translation>
</message>
<message>
+ <source>Error: Cannot parse configuration file: %1.</source>
+ <translation>Error: Cannot parse configuration file: %1.</translation>
+ </message>
+ <message>
<source>Error: %1</source>
<translation>خطا: %1</translation>
</message>
<message>
+ <source>Error initializing settings: %1</source>
+ <translation>Error initializing settings: %1</translation>
+ </message>
+ <message>
<source>%1 didn't yet exit safely...</source>
<translation>%1 به درستی بسته نشد</translation>
</message>
@@ -1558,10 +1864,18 @@
<translation>پوشه داده Datadir</translation>
</message>
<message>
+ <source>To specify a non-default location of the data directory use the '%1' option.</source>
+ <translation>To specify a non-default location of the data directory use the '%1' option.</translation>
+ </message>
+ <message>
<source>Blocksdir</source>
<translation>فولدر بلاکها</translation>
</message>
<message>
+ <source>To specify a non-default location of the blocks directory use the '%1' option.</source>
+ <translation>To specify a non-default location of the blocks directory use the '%1' option.</translation>
+ </message>
+ <message>
<source>Startup time</source>
<translation>زمان آغاز به کار</translation>
</message>
@@ -1638,10 +1952,22 @@
<translation>بلاک اولیه</translation>
</message>
<message>
+ <source>Synced Headers</source>
+ <translation>Synced Headers</translation>
+ </message>
+ <message>
<source>Synced Blocks</source>
<translation>بلاک‌های همگام‌سازی‌ شده</translation>
</message>
<message>
+ <source>The mapped Autonomous System used for diversifying peer selection.</source>
+ <translation>The mapped Autonomous System used for diversifying peer selection.</translation>
+ </message>
+ <message>
+ <source>Mapped AS</source>
+ <translation>Mapped AS</translation>
+ </message>
+ <message>
<source>User Agent</source>
<translation>نماینده کاربر</translation>
</message>
@@ -1654,6 +1980,10 @@
<translation>ارتفاع فعلی بلوک</translation>
</message>
<message>
+ <source>Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation>Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.</translation>
+ </message>
+ <message>
<source>Decrease font size</source>
<translation>کاهش دادن اندازه فونت</translation>
</message>
@@ -1662,6 +1992,10 @@
<translation>افزایش دادن اندازه فونت</translation>
</message>
<message>
+ <source>Permissions</source>
+ <translation>Permissions</translation>
+ </message>
+ <message>
<source>Services</source>
<translation>خدمات</translation>
</message>
@@ -1682,6 +2016,10 @@
<translation>مدت زمان پینگ</translation>
</message>
<message>
+ <source>The duration of a currently outstanding ping.</source>
+ <translation>The duration of a currently outstanding ping.</translation>
+ </message>
+ <message>
<source>Ping Wait</source>
<translation>انتظار پینگ</translation>
</message>
@@ -1690,6 +2028,10 @@
<translation>حداقل پینگ</translation>
</message>
<message>
+ <source>Time Offset</source>
+ <translation>Time Offset</translation>
+ </message>
+ <message>
<source>Last block time</source>
<translation>زمان آخرین بلوک</translation>
</message>
@@ -1754,10 +2096,38 @@
<translation>&amp;خارج کردن از بن</translation>
</message>
<message>
+ <source>Welcome to the %1 RPC console.</source>
+ <translation>Welcome to the %1 RPC console.</translation>
+ </message>
+ <message>
+ <source>Use up and down arrows to navigate history, and %1 to clear screen.</source>
+ <translation>Use up and down arrows to navigate history, and %1 to clear screen.</translation>
+ </message>
+ <message>
+ <source>Type %1 for an overview of available commands.</source>
+ <translation>Type %1 for an overview of available commands.</translation>
+ </message>
+ <message>
+ <source>For more information on using this console type %1.</source>
+ <translation>For more information on using this console type %1.</translation>
+ </message>
+ <message>
+ <source>WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramifications of a command.</source>
+ <translation>WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramifications of a command.</translation>
+ </message>
+ <message>
<source>Network activity disabled</source>
<translation>فعالیت شبکه غیر فعال شد</translation>
</message>
<message>
+ <source>Executing command without any wallet</source>
+ <translation>Executing command without any wallet</translation>
+ </message>
+ <message>
+ <source>Executing command using "%1" wallet</source>
+ <translation>Executing command using "%1" wallet</translation>
+ </message>
+ <message>
<source>(node id: %1)</source>
<translation>(شناسه گره: %1)</translation>
</message>
@@ -1770,6 +2140,14 @@
<translation>هیچ وقت</translation>
</message>
<message>
+ <source>Inbound</source>
+ <translation>Inbound</translation>
+ </message>
+ <message>
+ <source>Outbound</source>
+ <translation>Outbound</translation>
+ </message>
+ <message>
<source>Unknown</source>
<translation>ناشناس یا نامعلوم</translation>
</message>
@@ -1789,10 +2167,34 @@
<translation>پیام:</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>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.</translation>
+ </message>
+ <message>
+ <source>An optional label to associate with the new receiving address.</source>
+ <translation>An optional label to associate with the new receiving address.</translation>
+ </message>
+ <message>
<source>Use this form to request payments. All fields are &lt;b&gt;optional&lt;/b&gt;.</source>
<translation>از این فرم استفاده کنید برای درخواست پرداخت ها.تمامی گزینه ها &lt;b&gt;اختیاری&lt;/b&gt;هستند.</translation>
</message>
<message>
+ <source>An optional amount to request. Leave this empty or zero to not request a specific amount.</source>
+ <translation>An optional amount to request. Leave this empty or zero to not request a specific amount.</translation>
+ </message>
+ <message>
+ <source>An optional label to associate with the new receiving address (used by you to identify an invoice). It is also attached to the payment request.</source>
+ <translation>An optional label to associate with the new receiving address (used by you to identify an invoice). It is also attached to the payment request.</translation>
+ </message>
+ <message>
+ <source>An optional message that is attached to the payment request and may be displayed to the sender.</source>
+ <translation>An optional message that is attached to the payment request and may be displayed to the sender.</translation>
+ </message>
+ <message>
+ <source>&amp;Create new receiving address</source>
+ <translation>&amp;Create new receiving address</translation>
+ </message>
+ <message>
<source>Clear all fields of the form.</source>
<translation>پاک کردن تمامی گزینه های این فرم</translation>
</message>
@@ -1801,10 +2203,22 @@
<translation>پاک کردن</translation>
</message>
<message>
+ <source>Native segwit addresses (aka Bech32 or BIP-173) reduce your transaction fees later on and offer better protection against typos, but old wallets don't support them. When unchecked, an address compatible with older wallets will be created instead.</source>
+ <translation>Native segwit addresses (aka Bech32 or BIP-173) reduce your transaction fees later on and offer better protection against typos, but old wallets don't support them. When unchecked, an address compatible with older wallets will be created instead.</translation>
+ </message>
+ <message>
+ <source>Generate native segwit (Bech32) address</source>
+ <translation>Generate native segwit (Bech32) address</translation>
+ </message>
+ <message>
<source>Requested payments history</source>
<translation>تاریخچه پرداخت های درخواست شده</translation>
</message>
<message>
+ <source>Show the selected request (does the same as double clicking an entry)</source>
+ <translation>Show the selected request (does the same as double clicking an entry)</translation>
+ </message>
+ <message>
<source>Show</source>
<translation>نمایش</translation>
</message>
@@ -1836,7 +2250,11 @@
<source>Could not unlock wallet.</source>
<translation>نمیتوان کیف پول را باز کرد.</translation>
</message>
- </context>
+ <message>
+ <source>Could not generate new %1 address</source>
+ <translation>Could not generate new %1 address</translation>
+ </message>
+</context>
<context>
<name>ReceiveRequestDialog</name>
<message>
@@ -1962,6 +2380,10 @@
<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>
+ <translation>If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address.</translation>
+ </message>
+ <message>
<source>Custom change address</source>
<translation>تغییر آدرس مخصوص</translation>
</message>
@@ -1974,6 +2396,10 @@
<translation>انتخاب...</translation>
</message>
<message>
+ <source>Using the fallbackfee can result in sending a transaction that will take several hours or days (or never) to confirm. Consider choosing your fee manually or wait until you have validated the complete chain.</source>
+ <translation>Using the fallbackfee can result in sending a transaction that will take several hours or days (or never) to confirm. Consider choosing your fee manually or wait until you have validated the complete chain.</translation>
+ </message>
+ <message>
<source>Warning: Fee estimation is currently not possible.</source>
<translation>هشدار:تخمین کارمزد در حال حاضر امکان پذیر نیست.</translation>
</message>
@@ -2026,6 +2452,14 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>تنظیمات مخفی کردن کارمزد عملیات</translation>
</message>
<message>
+ <source>When there is less transaction volume than space in the blocks, miners as well as relaying nodes may enforce a minimum fee. Paying only this minimum fee is just fine, but be aware that this can result in a never confirming transaction once there is more demand for bitcoin transactions than the network can process.</source>
+ <translation>When there is less transaction volume than space in the blocks, miners as well as relaying nodes may enforce a minimum fee. Paying only this minimum fee is just fine, but be aware that this can result in a never confirming transaction once there is more demand for bitcoin transactions than the network can process.</translation>
+ </message>
+ <message>
+ <source>A too low fee might result in a never confirming transaction (read the tooltip)</source>
+ <translation>A too low fee might result in a never confirming transaction (read the tooltip)</translation>
+ </message>
+ <message>
<source>Confirmation time target:</source>
<translation>هدف زمانی تایید شدن:</translation>
</message>
@@ -2034,6 +2468,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>فعال کردن جایگذاری دوباره از کارمزد</translation>
</message>
<message>
+ <source>With Replace-By-Fee (BIP-125) you can increase a transaction's fee after it is sent. Without this, a higher fee may be recommended to compensate for increased transaction delay risk.</source>
+ <translation>With Replace-By-Fee (BIP-125) you can increase a transaction's fee after it is sent. Without this, a higher fee may be recommended to compensate for increased transaction delay risk.</translation>
+ </message>
+ <message>
<source>Clear &amp;All</source>
<translation>پاک کردن همه</translation>
</message>
@@ -2082,18 +2520,50 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>%1(%2 بلاک ها)</translation>
</message>
<message>
+ <source>Cr&amp;eate Unsigned</source>
+ <translation>Cr&amp;eate Unsigned</translation>
+ </message>
+ <message>
+ <source>Creates a Partially Signed Bitcoin Transaction (PSBT) for use with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
+ <translation>Creates a Partially Signed Bitcoin Transaction (PSBT) for use with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</translation>
+ </message>
+ <message>
+ <source> from wallet '%1'</source>
+ <translation> from wallet '%1'</translation>
+ </message>
+ <message>
+ <source>%1 to '%2'</source>
+ <translation>%1 to '%2'</translation>
+ </message>
+ <message>
<source>%1 to %2</source>
<translation>%1 به %2</translation>
</message>
<message>
+ <source>Do you want to draft this transaction?</source>
+ <translation>Do you want to draft this transaction?</translation>
+ </message>
+ <message>
<source>Are you sure you want to send?</source>
<translation>آیا برای ارسال کردن یا فرستادن مطمئن هستید؟</translation>
</message>
<message>
+ <source>Create Unsigned</source>
+ <translation>Create Unsigned</translation>
+ </message>
+ <message>
<source>Save Transaction Data</source>
<translation>ذخیره اطلاعات عملیات</translation>
</message>
<message>
+ <source>Partially Signed Transaction (Binary) (*.psbt)</source>
+ <translation>Partially Signed Transaction (Binary) (*.psbt)</translation>
+ </message>
+ <message>
+ <source>PSBT saved</source>
+ <translation>PSBT saved</translation>
+ </message>
+ <message>
<source>or</source>
<translation>یا</translation>
</message>
@@ -2102,6 +2572,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>تو میتوانی بعدا هزینه کارمزد را افزایش بدی(signals Replace-By-Fee, BIP-125)</translation>
</message>
<message>
+ <source>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can save or copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
+ <translation>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can save or copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</translation>
+ </message>
+ <message>
<source>Please, review your transaction.</source>
<translation>لطفا,تراکنش خود را بازبینی کنید.</translation>
</message>
@@ -2110,18 +2584,34 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>کارمزد تراکنش</translation>
</message>
<message>
+ <source>Not signalling Replace-By-Fee, BIP-125.</source>
+ <translation>Not signalling Replace-By-Fee, BIP-125.</translation>
+ </message>
+ <message>
<source>Total Amount</source>
<translation>میزان کل</translation>
</message>
<message>
+ <source>To review recipient list click "Show Details..."</source>
+ <translation>To review recipient list click "Show Details..."</translation>
+ </message>
+ <message>
<source>Confirm send coins</source>
<translation>تایید کردن ارسال کوین ها</translation>
</message>
<message>
+ <source>Confirm transaction proposal</source>
+ <translation>Confirm transaction proposal</translation>
+ </message>
+ <message>
<source>Send</source>
<translation>ارسال</translation>
</message>
<message>
+ <source>Watch-only balance:</source>
+ <translation>Watch-only balance:</translation>
+ </message>
+ <message>
<source>The recipient address is not valid. Please recheck.</source>
<translation>آدرس گیرنده نامعتبر است.لطفا دوباره چک یا بررسی کنید.</translation>
</message>
@@ -2217,6 +2707,18 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>پاک کردن این ورودی</translation>
</message>
<message>
+ <source>The amount to send in the selected unit</source>
+ <translation>The amount to send in the selected unit</translation>
+ </message>
+ <message>
+ <source>The fee will be deducted from the amount being sent. The recipient will receive less bitcoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
+ <translation>The fee will be deducted from the amount being sent. The recipient will receive less bitcoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</translation>
+ </message>
+ <message>
+ <source>S&amp;ubtract fee from amount</source>
+ <translation>S&amp;ubtract fee from amount</translation>
+ </message>
+ <message>
<source>Use available balance</source>
<translation>استفاده از موجودی حساب</translation>
</message>
@@ -2225,6 +2727,22 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>پیام:</translation>
</message>
<message>
+ <source>This is an unauthenticated payment request.</source>
+ <translation>This is an unauthenticated payment request.</translation>
+ </message>
+ <message>
+ <source>This is an authenticated payment request.</source>
+ <translation>This is an authenticated payment request.</translation>
+ </message>
+ <message>
+ <source>Enter a label for this address to add it to the list of used addresses</source>
+ <translation>Enter a label for this address to add it to the list of used addresses</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>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.</translation>
+ </message>
+ <message>
<source>Pay To:</source>
<translation>پرداخت به:</translation>
</message>
@@ -2255,6 +2773,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>&amp;ثبت پیام</translation>
</message>
<message>
+ <source>You can sign messages/agreements with your addresses to prove you can receive bitcoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
+ <translation>You can sign messages/agreements with your addresses to prove you can receive bitcoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</translation>
+ </message>
+ <message>
<source>The Bitcoin address to sign the message with</source>
<translation>نشانی بیت‌کوین برای امضاء پیغام با آن</translation>
</message>
@@ -2307,10 +2829,22 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>تایید پیام</translation>
</message>
<message>
+ <source>Enter the receiver's address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack. Note that this only proves the signing party receives with the address, it cannot prove sendership of any transaction!</source>
+ <translation>Enter the receiver's address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack. Note that this only proves the signing party receives with the address, it cannot prove sendership of any transaction!</translation>
+ </message>
+ <message>
<source>The Bitcoin address the message was signed with</source>
<translation>نشانی بیت‌کوین که پیغام با آن امضاء شده</translation>
</message>
<message>
+ <source>The signed message to verify</source>
+ <translation>The signed message to verify</translation>
+ </message>
+ <message>
+ <source>The signature given when the message was signed</source>
+ <translation>The signature given when the message was signed</translation>
+ </message>
+ <message>
<source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
<translation>پیام را تایید کنید تا مطمئن شوید که توسط آدرس بیت‌کوین مشخص شده امضا شده است.</translation>
</message>
@@ -2389,11 +2923,31 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</context>
<context>
<name>TransactionDesc</name>
+ <message numerus="yes">
+ <source>Open for %n more block(s)</source>
+ <translation><numerusform>Open for %n more block</numerusform><numerusform>Open for %n more blocks</numerusform></translation>
+ </message>
<message>
<source>Open until %1</source>
<translation>باز تا %1</translation>
</message>
<message>
+ <source>conflicted with a transaction with %1 confirmations</source>
+ <translation>conflicted with a transaction with %1 confirmations</translation>
+ </message>
+ <message>
+ <source>0/unconfirmed, %1</source>
+ <translation>0/unconfirmed, %1</translation>
+ </message>
+ <message>
+ <source>in memory pool</source>
+ <translation>in memory pool</translation>
+ </message>
+ <message>
+ <source>not in memory pool</source>
+ <translation>not in memory pool</translation>
+ </message>
+ <message>
<source>abandoned</source>
<translation>رها شده</translation>
</message>
@@ -2449,6 +3003,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<source>Credit</source>
<translation>اعتبار</translation>
</message>
+ <message numerus="yes">
+ <source>matures in %n more block(s)</source>
+ <translation><numerusform>matures in %n more block</numerusform><numerusform>matures in %n more blocks</numerusform></translation>
+ </message>
<message>
<source>not accepted</source>
<translation>قبول نشده</translation>
@@ -2458,6 +3016,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>اعتبار</translation>
</message>
<message>
+ <source>Total debit</source>
+ <translation>Total debit</translation>
+ </message>
+ <message>
<source>Total credit</source>
<translation>تمامی اعتبار</translation>
</message>
@@ -2486,10 +3048,26 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>حجم کل تراکنش</translation>
</message>
<message>
+ <source>Transaction virtual size</source>
+ <translation>Transaction virtual size</translation>
+ </message>
+ <message>
+ <source>Output index</source>
+ <translation>Output index</translation>
+ </message>
+ <message>
+ <source> (Certificate was not verified)</source>
+ <translation> (Certificate was not verified)</translation>
+ </message>
+ <message>
<source>Merchant</source>
<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>
+ <translation>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.</translation>
+ </message>
+ <message>
<source>Debug information</source>
<translation>اطلاعات دی باگ Debug</translation>
</message>
@@ -2539,6 +3117,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<source>Label</source>
<translation>برچسب</translation>
</message>
+ <message numerus="yes">
+ <source>Open for %n more block(s)</source>
+ <translation><numerusform>Open for %n more block</numerusform><numerusform>Open for %n more blocks</numerusform></translation>
+ </message>
<message>
<source>Open until %1</source>
<translation>باز تا %1</translation>
@@ -2552,10 +3134,22 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>رهاشده</translation>
</message>
<message>
+ <source>Confirming (%1 of %2 recommended confirmations)</source>
+ <translation>Confirming (%1 of %2 recommended confirmations)</translation>
+ </message>
+ <message>
<source>Confirmed (%1 confirmations)</source>
<translation>تأیید شده (%1 تأییدیه)</translation>
</message>
<message>
+ <source>Conflicted</source>
+ <translation>Conflicted</translation>
+ </message>
+ <message>
+ <source>Immature (%1 confirmations, will be available after %2)</source>
+ <translation>Immature (%1 confirmations, will be available after %2)</translation>
+ </message>
+ <message>
<source>Generated but not accepted</source>
<translation>تولید شده ولی هنوز قبول نشده است</translation>
</message>
@@ -2604,6 +3198,14 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>نوع تراکنش.</translation>
</message>
<message>
+ <source>Whether or not a watch-only address is involved in this transaction.</source>
+ <translation>Whether or not a watch-only address is involved in this transaction.</translation>
+ </message>
+ <message>
+ <source>User-defined intent/purpose of the transaction.</source>
+ <translation>User-defined intent/purpose of the transaction.</translation>
+ </message>
+ <message>
<source>Amount removed from or added to balance.</source>
<translation>میزان وجه کم شده یا اضافه شده به حساب</translation>
</message>
@@ -2747,10 +3349,18 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>گرفتن خروجی به مشکل خورد</translation>
</message>
<message>
+ <source>There was an error trying to save the transaction history to %1.</source>
+ <translation>There was an error trying to save the transaction history to %1.</translation>
+ </message>
+ <message>
<source>Exporting Successful</source>
<translation>خارج کردن موفقیت آمیز بود Exporting</translation>
</message>
<message>
+ <source>The transaction history was successfully saved to %1.</source>
+ <translation>The transaction history was successfully saved to %1.</translation>
+ </message>
+ <message>
<source>Range:</source>
<translation>دامنه:</translation>
</message>
@@ -2761,7 +3371,11 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</context>
<context>
<name>UnitDisplayStatusBarControl</name>
- </context>
+ <message>
+ <source>Unit to show amounts in. Click to select another unit.</source>
+ <translation>Unit to show amounts in. Click to select another unit.</translation>
+ </message>
+</context>
<context>
<name>WalletController</name>
<message>
@@ -2773,13 +3387,29 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>آیا برای بستن کیف پول مطمئن هستید&lt;i&gt; %1 &lt;/i&gt; ؟</translation>
</message>
<message>
+ <source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
+ <translation>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</translation>
+ </message>
+ <message>
<source>Close all wallets</source>
<translation>همه‌ی کیف پول‌ها را ببند</translation>
</message>
- </context>
+ <message>
+ <source>Are you sure you wish to close all wallets?</source>
+ <translation>Are you sure you wish to close all wallets?</translation>
+ </message>
+</context>
<context>
<name>WalletFrame</name>
<message>
+ <source>No wallet has been loaded.
+Go to File &gt; Open Wallet to load a wallet.
+- OR -</source>
+ <translation>No wallet has been loaded.
+Go to File &gt; Open Wallet to load a wallet.
+- OR -</translation>
+ </message>
+ <message>
<source>Create a new wallet</source>
<translation>ساخت کیف پول جدید</translation>
</message>
@@ -2791,6 +3421,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>ارسال کوین ها یا سکه ها</translation>
</message>
<message>
+ <source>Fee bump error</source>
+ <translation>Fee bump error</translation>
+ </message>
+ <message>
<source>Increasing transaction fee failed</source>
<translation>افزایش کارمزد تراکنش با خطا مواجه شد</translation>
</message>
@@ -2799,6 +3433,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>آیا میخواهید اندازه کارمزد را افزایش دهید؟</translation>
</message>
<message>
+ <source>Do you want to draft a transaction with fee increase?</source>
+ <translation>Do you want to draft a transaction with fee increase?</translation>
+ </message>
+ <message>
<source>Current fee:</source>
<translation>کارمزد الان:</translation>
</message>
@@ -2811,6 +3449,14 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>کارمزد جدید:</translation>
</message>
<message>
+ <source>Confirm fee bump</source>
+ <translation>Confirm fee bump</translation>
+ </message>
+ <message>
+ <source>Can't draft transaction.</source>
+ <translation>Can't draft transaction.</translation>
+ </message>
+ <message>
<source>PSBT copied</source>
<translation>PSBT کپی شد</translation>
</message>
@@ -2819,6 +3465,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>نمیتوان تراکنش را ثبت کرد</translation>
</message>
<message>
+ <source>Could not commit transaction</source>
+ <translation>Could not commit transaction</translation>
+ </message>
+ <message>
<source>default wallet</source>
<translation>کیف پول پیش‌فرض</translation>
</message>
@@ -2838,6 +3488,26 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>خطا</translation>
</message>
<message>
+ <source>Unable to decode PSBT from clipboard (invalid base64)</source>
+ <translation>Unable to decode PSBT from clipboard (invalid base64)</translation>
+ </message>
+ <message>
+ <source>Load Transaction Data</source>
+ <translation>Load Transaction Data</translation>
+ </message>
+ <message>
+ <source>Partially Signed Transaction (*.psbt)</source>
+ <translation>Partially Signed Transaction (*.psbt)</translation>
+ </message>
+ <message>
+ <source>PSBT file must be smaller than 100 MiB</source>
+ <translation>PSBT file must be smaller than 100 MiB</translation>
+ </message>
+ <message>
+ <source>Unable to decode PSBT</source>
+ <translation>Unable to decode PSBT</translation>
+ </message>
+ <message>
<source>Backup Wallet</source>
<translation>بازیابی یا پشتیبان گیری کیف پول</translation>
</message>
@@ -2850,10 +3520,18 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>بازیابی یا پشتیبان گیری با خطا مواجه شد</translation>
</message>
<message>
+ <source>There was an error trying to save the wallet data to %1.</source>
+ <translation>There was an error trying to save the wallet data to %1.</translation>
+ </message>
+ <message>
<source>Backup Successful</source>
<translation>بازیابی یا پشتیبان گیری موفقیت آمیز بود.</translation>
</message>
<message>
+ <source>The wallet data was successfully saved to %1.</source>
+ <translation>The wallet data was successfully saved to %1.</translation>
+ </message>
+ <message>
<source>Cancel</source>
<translation>لغو</translation>
</message>
@@ -2861,18 +3539,110 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<context>
<name>bitcoin-core</name>
<message>
+ <source>Distributed under the MIT software license, see the accompanying file %s or %s</source>
+ <translation>Distributed under the MIT software license, see the accompanying file %s or %s</translation>
+ </message>
+ <message>
+ <source>Prune configured below the minimum of %d MiB. Please use a higher number.</source>
+ <translation>Prune configured below the minimum of %d MiB. Please use a higher number.</translation>
+ </message>
+ <message>
+ <source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source>
+ <translation>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</translation>
+ </message>
+ <message>
+ <source>Pruning blockstore...</source>
+ <translation>Pruning blockstore...</translation>
+ </message>
+ <message>
+ <source>Unable to start HTTP server. See debug log for details.</source>
+ <translation>Unable to start HTTP server. See debug log for details.</translation>
+ </message>
+ <message>
<source>The %s developers</source>
<translation>%s توسعه دهندگان</translation>
</message>
<message>
+ <source>Cannot obtain a lock on data directory %s. %s is probably already running.</source>
+ <translation>Cannot obtain a lock on data directory %s. %s is probably already running.</translation>
+ </message>
+ <message>
+ <source>Cannot provide specific connections and have addrman find outgoing connections at the same.</source>
+ <translation>Cannot provide specific connections and have addrman find outgoing connections at the same.</translation>
+ </message>
+ <message>
+ <source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</translation>
+ </message>
+ <message>
+ <source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
+ <translation>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</translation>
+ </message>
+ <message>
+ <source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
+ <translation>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</translation>
+ </message>
+ <message>
+ <source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
+ <translation>Please contribute if you find %s useful. Visit %s for further information about the software.</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to prepare the statement to fetch sqlite wallet schema version: %s</source>
+ <translation>SQLiteDatabase: Failed to prepare the statement to fetch sqlite wallet schema version: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to prepare the statement to fetch the application id: %s</source>
+ <translation>SQLiteDatabase: Failed to prepare the statement to fetch the application id: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
+ <translation>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</translation>
+ </message>
+ <message>
+ <source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
+ <translation>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</translation>
+ </message>
+ <message>
<source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source>
<translation>این یک نسخه ی آزمایشی است - با مسئولیت خودتان از آن استفاده کنید - آن را در معدن و بازرگانی بکار نگیرید.</translation>
</message>
<message>
+ <source>This is the transaction fee you may discard if change is smaller than dust at this level</source>
+ <translation>This is the transaction fee you may discard if change is smaller than dust at this level</translation>
+ </message>
+ <message>
+ <source>Unable to replay blocks. You will need to rebuild the database using -reindex-chainstate.</source>
+ <translation>Unable to replay blocks. You will need to rebuild the database using -reindex-chainstate.</translation>
+ </message>
+ <message>
+ <source>Unable to rewind the database to a pre-fork state. You will need to redownload the blockchain</source>
+ <translation>Unable to rewind the database to a pre-fork state. You will need to redownload the blockchain</translation>
+ </message>
+ <message>
+ <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source>
+ <translation>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</translation>
+ </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>Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade.</translation>
+ </message>
+ <message>
+ <source>-maxmempool must be at least %d MB</source>
+ <translation>-maxmempool must be at least %d MB</translation>
+ </message>
+ <message>
+ <source>Cannot resolve -%s address: '%s'</source>
+ <translation>Cannot resolve -%s address: '%s'</translation>
+ </message>
+ <message>
<source>Change index out of range</source>
<translation>تغییر دادن اندیس خارج از دامنه</translation>
</message>
<message>
+ <source>Config setting for %s only applied on %s network when in [%s] section.</source>
+ <translation>Config setting for %s only applied on %s network when in [%s] section.</translation>
+ </message>
+ <message>
<source>Copyright (C) %i-%i</source>
<translation>کپی رایت (C) %i-%i</translation>
</message>
@@ -2881,6 +3651,14 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>یک پایگاه داده ی بلوک خراب یافت شد</translation>
</message>
<message>
+ <source>Could not find asmap file %s</source>
+ <translation>Could not find asmap file %s</translation>
+ </message>
+ <message>
+ <source>Could not parse asmap file %s</source>
+ <translation>Could not parse asmap file %s</translation>
+ </message>
+ <message>
<source>Do you want to rebuild the block database now?</source>
<translation>آیا میخواهید الان پایگاه داده بلاک را بازسازی کنید؟</translation>
</message>
@@ -2889,10 +3667,26 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>خطا در آماده سازی پایگاه داده ی بلوک</translation>
</message>
<message>
+ <source>Error initializing wallet database environment %s!</source>
+ <translation>Error initializing wallet database environment %s!</translation>
+ </message>
+ <message>
<source>Error loading %s</source>
<translation>خطا بازگذاری %s</translation>
</message>
<message>
+ <source>Error loading %s: Private keys can only be disabled during creation</source>
+ <translation>Error loading %s: Private keys can only be disabled during creation</translation>
+ </message>
+ <message>
+ <source>Error loading %s: Wallet corrupted</source>
+ <translation>Error loading %s: Wallet corrupted</translation>
+ </message>
+ <message>
+ <source>Error loading %s: Wallet requires newer version of %s</source>
+ <translation>Error loading %s: Wallet requires newer version of %s</translation>
+ </message>
+ <message>
<source>Error loading block database</source>
<translation>خطا در بارگذاری پایگاه داده بلاک block</translation>
</message>
@@ -2905,14 +3699,82 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>شنیدن هر گونه درگاه انجام پذیر نیست. ازlisten=0 برای اینکار استفاده کیند.</translation>
</message>
<message>
+ <source>Failed to rescan the wallet during initialization</source>
+ <translation>Failed to rescan the wallet during initialization</translation>
+ </message>
+ <message>
+ <source>Failed to verify database</source>
+ <translation>Failed to verify database</translation>
+ </message>
+ <message>
+ <source>Ignoring duplicate -wallet %s.</source>
+ <translation>Ignoring duplicate -wallet %s.</translation>
+ </message>
+ <message>
<source>Importing...</source>
<translation>در حال وارد کردن...</translation>
</message>
<message>
+ <source>Incorrect or no genesis block found. Wrong datadir for network?</source>
+ <translation>Incorrect or no genesis block found. Wrong datadir for network?</translation>
+ </message>
+ <message>
+ <source>Initialization sanity check failed. %s is shutting down.</source>
+ <translation>Initialization sanity check failed. %s is shutting down.</translation>
+ </message>
+ <message>
+ <source>Invalid P2P permission: '%s'</source>
+ <translation>Invalid P2P permission: '%s'</translation>
+ </message>
+ <message>
<source>Invalid amount for -%s=&lt;amount&gt;: '%s'</source>
<translation>میزان نامعتبر برای -%s=&lt;amount&gt;: '%s'</translation>
</message>
<message>
+ <source>Invalid amount for -discardfee=&lt;amount&gt;: '%s'</source>
+ <translation>Invalid amount for -discardfee=&lt;amount&gt;: '%s'</translation>
+ </message>
+ <message>
+ <source>Invalid amount for -fallbackfee=&lt;amount&gt;: '%s'</source>
+ <translation>Invalid amount for -fallbackfee=&lt;amount&gt;: '%s'</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to execute statement to verify database: %s</source>
+ <translation>SQLiteDatabase: Failed to execute statement to verify database: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to fetch sqlite wallet schema version: %s</source>
+ <translation>SQLiteDatabase: Failed to fetch sqlite wallet schema version: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to fetch the application id: %s</source>
+ <translation>SQLiteDatabase: Failed to fetch the application id: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to prepare statement to verify database: %s</source>
+ <translation>SQLiteDatabase: Failed to prepare statement to verify database: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to read database verification error: %s</source>
+ <translation>SQLiteDatabase: Failed to read database verification error: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Unexpected application id. Expected %u, got %u</source>
+ <translation>SQLiteDatabase: Unexpected application id. Expected %u, got %u</translation>
+ </message>
+ <message>
+ <source>Specified blocks directory "%s" does not exist.</source>
+ <translation>Specified blocks directory "%s" does not exist.</translation>
+ </message>
+ <message>
+ <source>Unknown address type '%s'</source>
+ <translation>Unknown address type '%s'</translation>
+ </message>
+ <message>
+ <source>Unknown change type '%s'</source>
+ <translation>Unknown change type '%s'</translation>
+ </message>
+ <message>
<source>Upgrading txindex database</source>
<translation>ارتقا دادن پایگاه داده اندیس تراکنش ها یا txindex</translation>
</message>
@@ -2929,30 +3791,102 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>توصیفگرهای فایل به اندازه کافی در دسترس نیست</translation>
</message>
<message>
+ <source>Prune cannot be configured with a negative value.</source>
+ <translation>Prune cannot be configured with a negative value.</translation>
+ </message>
+ <message>
+ <source>Prune mode is incompatible with -txindex.</source>
+ <translation>Prune mode is incompatible with -txindex.</translation>
+ </message>
+ <message>
<source>Replaying blocks...</source>
<translation>در حال بازبینی بلوک‌ها...</translation>
</message>
<message>
+ <source>Rewinding blocks...</source>
+ <translation>Rewinding blocks...</translation>
+ </message>
+ <message>
<source>The source code is available from %s.</source>
<translation>سورس کد موجود است از %s.</translation>
</message>
<message>
+ <source>Transaction fee and change calculation failed</source>
+ <translation>Transaction fee and change calculation failed</translation>
+ </message>
+ <message>
+ <source>Unable to bind to %s on this computer. %s is probably already running.</source>
+ <translation>Unable to bind to %s on this computer. %s is probably already running.</translation>
+ </message>
+ <message>
<source>Unable to generate keys</source>
<translation>نمیتوان کلید ها را تولید کرد</translation>
</message>
<message>
+ <source>Unsupported logging category %s=%s.</source>
+ <translation>Unsupported logging category %s=%s.</translation>
+ </message>
+ <message>
<source>Upgrading UTXO database</source>
<translation>ارتقا دادن پایگاه داده UTXO</translation>
</message>
<message>
+ <source>User Agent comment (%s) contains unsafe characters.</source>
+ <translation>User Agent comment (%s) contains unsafe characters.</translation>
+ </message>
+ <message>
<source>Verifying blocks...</source>
<translation>در حال تایید کردن بلاک ها...</translation>
</message>
<message>
+ <source>Error: Listening for incoming connections failed (listen returned error %s)</source>
+ <translation>Error: Listening for incoming connections failed (listen returned error %s)</translation>
+ </message>
+ <message>
+ <source>%s corrupt. Try using the wallet tool bitcoin-wallet to salvage or restoring a backup.</source>
+ <translation>%s corrupt. Try using the wallet tool bitcoin-wallet to salvage or restoring a backup.</translation>
+ </message>
+ <message>
+ <source>Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use version 169900 or no version specified.</source>
+ <translation>Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use version 169900 or no version specified.</translation>
+ </message>
+ <message>
+ <source>Invalid amount for -maxtxfee=&lt;amount&gt;: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source>
+ <translation>Invalid amount for -maxtxfee=&lt;amount&gt;: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</translation>
+ </message>
+ <message>
<source>The transaction amount is too small to send after the fee has been deducted</source>
<translation>مبلغ تراکنش کمتر از آن است که پس از کسر هزینه تراکنش قابل ارسال باشد</translation>
</message>
<message>
+ <source>This error could occur if this wallet was not shutdown cleanly and was last loaded using a build with a newer version of Berkeley DB. If so, please use the software that last loaded this wallet</source>
+ <translation>This error could occur if this wallet was not shutdown cleanly and was last loaded using a build with a newer version of Berkeley DB. If so, please use the software that last loaded this wallet</translation>
+ </message>
+ <message>
+ <source>This is the maximum transaction fee you pay (in addition to the normal fee) to prioritize partial spend avoidance over regular coin selection.</source>
+ <translation>This is the maximum transaction fee you pay (in addition to the normal fee) to prioritize partial spend avoidance over regular coin selection.</translation>
+ </message>
+ <message>
+ <source>Transaction needs a change address, but we can't generate it. Please call keypoolrefill first.</source>
+ <translation>Transaction needs a change address, but we can't generate it. Please call keypoolrefill first.</translation>
+ </message>
+ <message>
+ <source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source>
+ <translation>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</translation>
+ </message>
+ <message>
+ <source>A fatal internal error occurred, see debug.log for details</source>
+ <translation>A fatal internal error occurred, see debug.log for details</translation>
+ </message>
+ <message>
+ <source>Cannot set -peerblockfilters without -blockfilterindex.</source>
+ <translation>Cannot set -peerblockfilters without -blockfilterindex.</translation>
+ </message>
+ <message>
+ <source>Disk space is too low!</source>
+ <translation>Disk space is too low!</translation>
+ </message>
+ <message>
<source>Error reading from database, shutting down.</source>
<translation>خواندن از پایگاه داده با خطا مواجه شد,در حال خاموش شدن.</translation>
</message>
@@ -2961,14 +3895,72 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>خطا در بارگذاری پایگاه داده ها</translation>
</message>
<message>
+ <source>Error: Keypool ran out, please call keypoolrefill first</source>
+ <translation>Error: Keypool ran out, please call keypoolrefill first</translation>
+ </message>
+ <message>
+ <source>Fee rate (%s) is lower than the minimum fee rate setting (%s)</source>
+ <translation>Fee rate (%s) is lower than the minimum fee rate setting (%s)</translation>
+ </message>
+ <message>
+ <source>Invalid -onion address or hostname: '%s'</source>
+ <translation>Invalid -onion address or hostname: '%s'</translation>
+ </message>
+ <message>
<source>Invalid -proxy address or hostname: '%s'</source>
<translation>آدرس پراکسی یا هاست نامعتبر: ' %s'</translation>
</message>
<message>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: '%s' (must be at least %s)</source>
+ <translation>Invalid amount for -paytxfee=&lt;amount&gt;: '%s' (must be at least %s)</translation>
+ </message>
+ <message>
+ <source>Invalid netmask specified in -whitelist: '%s'</source>
+ <translation>Invalid netmask specified in -whitelist: '%s'</translation>
+ </message>
+ <message>
+ <source>Need to specify a port with -whitebind: '%s'</source>
+ <translation>Need to specify a port with -whitebind: '%s'</translation>
+ </message>
+ <message>
+ <source>No proxy server specified. Use -proxy=&lt;ip&gt; or -proxy=&lt;ip:port&gt;.</source>
+ <translation>No proxy server specified. Use -proxy=&lt;ip&gt; or -proxy=&lt;ip:port&gt;.</translation>
+ </message>
+ <message>
+ <source>Prune mode is incompatible with -blockfilterindex.</source>
+ <translation>Prune mode is incompatible with -blockfilterindex.</translation>
+ </message>
+ <message>
+ <source>Reducing -maxconnections from %d to %d, because of system limitations.</source>
+ <translation>Reducing -maxconnections from %d to %d, because of system limitations.</translation>
+ </message>
+ <message>
+ <source>Section [%s] is not recognized.</source>
+ <translation>Section [%s] is not recognized.</translation>
+ </message>
+ <message>
<source>Signing transaction failed</source>
<translation>ثبت تراکنش با خطا مواجه شد</translation>
</message>
<message>
+ <source>Specified -walletdir "%s" does not exist</source>
+ <translation>Specified -walletdir "%s" does not exist</translation>
+ </message>
+ <message>
+ <source>Specified -walletdir "%s" is a relative path</source>
+ <translation>Specified -walletdir "%s" is a relative path</translation>
+ </message>
+ <message>
+ <source>Specified -walletdir "%s" is not a directory</source>
+ <translation>Specified -walletdir "%s" is not a directory</translation>
+ </message>
+ <message>
+ <source>The specified config file %s does not exist
+</source>
+ <translation>The specified config file %s does not exist
+</translation>
+ </message>
+ <message>
<source>The transaction amount is too small to pay the fee</source>
<translation>حجم تراکنش بسیار کم است برای پرداخت کارمزد</translation>
</message>
@@ -2985,10 +3977,22 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>حجم تراکنش خیلی زیاد است</translation>
</message>
<message>
+ <source>Unable to bind to %s on this computer (bind returned error %s)</source>
+ <translation>Unable to bind to %s on this computer (bind returned error %s)</translation>
+ </message>
+ <message>
+ <source>Unable to create the PID file '%s': %s</source>
+ <translation>Unable to create the PID file '%s': %s</translation>
+ </message>
+ <message>
<source>Unable to generate initial keys</source>
<translation>نمیتوان کلید های اولیه را تولید کرد.</translation>
</message>
<message>
+ <source>Unknown -blockfilterindex value %s.</source>
+ <translation>Unknown -blockfilterindex value %s.</translation>
+ </message>
+ <message>
<source>Verifying wallet(s)...</source>
<translation>در حال تایید شدن کیف پول(ها)...</translation>
</message>
@@ -2997,10 +4001,18 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>هشدار: قوانین جدید ناشناخته‌ای فعال شده‌اند (نسخه‌بیت %i)</translation>
</message>
<message>
+ <source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source>
+ <translation>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</translation>
+ </message>
+ <message>
<source>This is the transaction fee you may pay when fee estimates are not available.</source>
<translation>این هزینه تراکنشی است که در صورت عدم وجود هزینه تخمینی، پرداخت می کنید.</translation>
</message>
<message>
+ <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source>
+ <translation>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</translation>
+ </message>
+ <message>
<source>%s is set very high!</source>
<translation>%s بسیار بزرگ انتخاب شده است.</translation>
</message>
@@ -3009,10 +4021,18 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>ایجاد نخ‌های شبکه ...</translation>
</message>
<message>
+ <source>The wallet will avoid paying less than the minimum relay fee.</source>
+ <translation>The wallet will avoid paying less than the minimum relay fee.</translation>
+ </message>
+ <message>
<source>This is the minimum transaction fee you pay on every transaction.</source>
<translation>این کمترین فی تراکنش است که در هر تراکنش پرداخت می‌نمایید.</translation>
</message>
<message>
+ <source>This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>این میزان کارمزد پرداختی شما در صورت ایجاد تراکنش انتقال میباشد.</translation>
+ </message>
+ <message>
<source>Transaction amounts must not be negative</source>
<translation>مقدار تراکنش نمی‌تواند منفی باشد.</translation>
</message>
@@ -3034,6 +4054,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>وجوه ناکافی</translation>
</message>
<message>
+ <source>Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee.</source>
+ <translation>Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee.</translation>
+ </message>
+ <message>
<source>Warning: Private keys detected in wallet {%s} with disabled private keys</source>
<translation>هشدار: کلید های خصوصی در کیف پول شما شناسایی شده است { %s} به همراه کلید های خصوصی غیر فعال</translation>
</message>
diff --git a/src/qt/locale/bitcoin_fi.ts b/src/qt/locale/bitcoin_fi.ts
index 6d5d9c9e2e..607dbd64c5 100644
--- a/src/qt/locale/bitcoin_fi.ts
+++ b/src/qt/locale/bitcoin_fi.ts
@@ -884,6 +884,10 @@ Allekirjoitus on mahdollista vain 'legacy'-tyyppisillä osoitteilla.</translatio
<source>Create</source>
<translation>Luo</translation>
</message>
+ <message>
+ <source>Compiled without sqlite support (required for descriptor wallets)</source>
+ <translation>Koostettu ilman sqlite-tukea (vaaditaan descriptor-lompakoille)</translation>
+ </message>
</context>
<context>
<name>EditAddressDialog</name>
@@ -3692,6 +3696,10 @@ Siirry osioon Tiedosto &gt; Avaa lompakko ladataksesi lompakon.
<translation>Tietokannan todennus epäonnistui</translation>
</message>
<message>
+ <source>Ignoring duplicate -wallet %s.</source>
+ <translation>Ohitetaan kaksois -lompakko %s.</translation>
+ </message>
+ <message>
<source>Importing...</source>
<translation>Tuodaan...</translation>
</message>
@@ -3998,10 +4006,6 @@ Siirry osioon Tiedosto &gt; Avaa lompakko ladataksesi lompakon.
<translation>%s on asetettu todella korkeaksi!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Virhe ladattaessa lompakkoa %s. -wallet -tiedostonimi esiintyy useaan kertaan.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Käynnistetään verkkoa...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_fil.ts b/src/qt/locale/bitcoin_fil.ts
index 1051db437b..51f5ebb810 100644
--- a/src/qt/locale/bitcoin_fil.ts
+++ b/src/qt/locale/bitcoin_fil.ts
@@ -790,7 +790,7 @@
<source>Create</source>
<translation>Gumawa</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -3517,10 +3517,6 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
<translation>Ang %s ay nakatakda ng napakataas!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Kamalian sa paglo-load ng walet %s. Duplicate -wallet filename na tinukoy.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Pagsisimula ng mga thread ng network...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_fr.ts b/src/qt/locale/bitcoin_fr.ts
index aa30c6a0e7..aeccb0f071 100644
--- a/src/qt/locale/bitcoin_fr.ts
+++ b/src/qt/locale/bitcoin_fr.ts
@@ -884,6 +884,10 @@ Il n’est possible de signer qu’avec les adresses de type « legacy ».</tr
<source>Create</source>
<translation>Créer</translation>
</message>
+ <message>
+ <source>Compiled without sqlite support (required for descriptor wallets)</source>
+ <translation>Compilé sans prise en charge de sqlite (requis pour les porte-monnaie de descripteurs)</translation>
+ </message>
</context>
<context>
<name>EditAddressDialog</name>
@@ -3704,6 +3708,10 @@ Accédez à Fichier &gt; Ouvrir un porte-monnaie pour en charger un.
<translation>Échec de vérification de la base de données</translation>
</message>
<message>
+ <source>Ignoring duplicate -wallet %s.</source>
+ <translation>Ignore -wallet %s en double.</translation>
+ </message>
+ <message>
<source>Importing...</source>
<translation>Importation…</translation>
</message>
@@ -4018,10 +4026,6 @@ Accédez à Fichier &gt; Ouvrir un porte-monnaie pour en charger un.
<translation>La valeur %s est très élevée.</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Erreur de chargement du porte-monnaie %s. Le nom de fichier -wallet indiqué est un doublon.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Démarrage des processus réseau…</translation>
</message>
diff --git a/src/qt/locale/bitcoin_gl_ES.ts b/src/qt/locale/bitcoin_gl_ES.ts
index 2438aff7cd..0e47f26615 100644
--- a/src/qt/locale/bitcoin_gl_ES.ts
+++ b/src/qt/locale/bitcoin_gl_ES.ts
@@ -830,7 +830,7 @@
<source>Create</source>
<translation>Crea</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -3668,10 +3668,6 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>%s is set very high!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Error loading wallet %s. Duplicate -wallet filename specified.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Starting network threads...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_he.ts b/src/qt/locale/bitcoin_he.ts
index bd64fdd179..53b360341d 100644
--- a/src/qt/locale/bitcoin_he.ts
+++ b/src/qt/locale/bitcoin_he.ts
@@ -3,7 +3,7 @@
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
- <translation>לחיצה על הכפתור הימני בעכבר תערוך את הכתובת או התווית</translation>
+ <translation>לעריכת הכתובת או התווית יש ללחוץ על הלחצן הימני בעכבר</translation>
</message>
<message>
<source>Create a new address</source>
@@ -290,19 +290,19 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>&amp;About %1</source>
- <translation>&amp;אודות %1</translation>
+ <translation>על &amp;אודות %1</translation>
</message>
<message>
<source>Show information about %1</source>
- <translation>הצג מידע על %1</translation>
+ <translation>הצגת מידע על %1</translation>
</message>
<message>
<source>About &amp;Qt</source>
- <translation>אודות &amp;Qt</translation>
+ <translation>על אודות &amp;Qt</translation>
</message>
<message>
<source>Show information about Qt</source>
- <translation>הצג מידע על Qt</translation>
+ <translation>הצגת מידע על Qt</translation>
</message>
<message>
<source>&amp;Options...</source>
@@ -824,6 +824,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<context>
<name>CreateWalletActivity</name>
<message>
+ <source>Creating Wallet &lt;b&gt;%1&lt;/b&gt;...</source>
+ <translation>יצירת הארנק &lt;b&gt;%1&lt;/b&gt; מתבצעת...</translation>
+ </message>
+ <message>
<source>Create wallet failed</source>
<translation>יצירת הארנק נכשלה</translation>
</message>
@@ -844,7 +848,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice.</source>
- <translation>הצפן את הארנק. הארנק יהיה מוצפן באמצעות סיסמא לבחירתך.</translation>
+ <translation>הצפנת הארנק. הארנק יהיה מוצפן באמצעות סיסמה לבחירתך.</translation>
</message>
<message>
<source>Encrypt Wallet</source>
@@ -878,7 +882,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Create</source>
<translation>יצירה</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -965,7 +969,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>About %1</source>
- <translation>אודות %1</translation>
+ <translation>על אודות %1</translation>
</message>
<message>
<source>Command-line options</source>
@@ -1594,7 +1598,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>Transaction is missing some information about inputs.</source>
- <translation>לעיסקה חסר חלק מהמידע לגבי הקלטים.</translation>
+ <translation>לעסקה חסר חלק מהמידע לגבי הקלט.</translation>
</message>
<message>
<source>Transaction still needs signature(s).</source>
@@ -3562,10 +3566,6 @@ Go to File &gt; Open Wallet to load a wallet.
<translation>נא בדקו שהתאריך והשעה במחשב שלכם נכונים! אם השעון שלכם לא מסונכרן, %s לא יעבוד כהלכה.</translation>
</message>
<message>
- <source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
- <translation>אנא שקלו תרומה אם מצאתם את %s שימושי. בקרו ב %s למידע נוסף על התוכנה.</translation>
- </message>
- <message>
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
<translation>מאגר נתוני הבלוקים מכיל בלוק עם תאריך עתידי. הדבר יכול להיגרם מתאריך ושעה שגויים במחשב שלכם. בצעו בנייה מחדש של מאגר נתוני הבלוקים רק אם אתם בטוחים שהתאריך והשעה במחשבכם נכונים</translation>
</message>
@@ -3956,10 +3956,6 @@ Go to File &gt; Open Wallet to load a wallet.
<translation>%s הוגדר מאד גבוה!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>שגיאת טעינת ארנק %s. שם קובץ -wallet כפול הוגדר.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>תהליכי הרשת מופעלים…</translation>
</message>
diff --git a/src/qt/locale/bitcoin_hi.ts b/src/qt/locale/bitcoin_hi.ts
index 086a106c3d..adf2b3fb53 100644
--- a/src/qt/locale/bitcoin_hi.ts
+++ b/src/qt/locale/bitcoin_hi.ts
@@ -315,18 +315,74 @@
<translation>और पासफ़्रेज़ बदलें</translation>
</message>
<message>
+ <source>Create Wallet...</source>
+ <translation>वॉलेट बनाएं</translation>
+ </message>
+ <message>
+ <source>Create a new wallet</source>
+ <translation>नया वॉलेट बनाएं</translation>
+ </message>
+ <message>
<source>Wallet:</source>
<translation>तिजोरी</translation>
</message>
<message>
+ <source>Click to disable network activity.</source>
+ <translation>नेटवर्क एक्टिविटी बंद करने के लिए क्लिक करें</translation>
+ </message>
+ <message>
+ <source>Network activity disabled.</source>
+ <translation>नेटवर्क एक्टिविटी बंद हो गई है.</translation>
+ </message>
+ <message>
+ <source>Click to enable network activity again.</source>
+ <translation>नेटवर्क एक्टिविटी दोबारा शुरू करने के लिए क्लिक करें.</translation>
+ </message>
+ <message>
+ <source>Syncing Headers (%1%)...</source>
+ <translation>हेडर्स सिंक हो रहे हैं (%1%)...</translation>
+ </message>
+ <message>
+ <source>Reindexing blocks on disk...</source>
+ <translation>डिस्क पर ब्लॉक्स री-इंडेक्सिंग हो रहे हैं...</translation>
+ </message>
+ <message>
+ <source>Proxy is &lt;b&gt;enabled&lt;/b&gt;: %1</source>
+ <translation>प्रॉक्सी &lt;b&gt; चालू है &lt;/b&gt; : %1</translation>
+ </message>
+ <message>
<source>Send coins to a Bitcoin address</source>
<translation>इस पते पर बिटकौइन भेजें</translation>
</message>
<message>
+ <source>Backup wallet to another location</source>
+ <translation>वॉलेट का दूसरी जगह पर बैकअप लें</translation>
+ </message>
+ <message>
<source>Change the passphrase used for wallet encryption</source>
<translation>पहचान शब्द/अक्षर जो वॉलेट एनक्रिपशन के लिए इस्तेमाल किया है उसे बदलिए!</translation>
</message>
<message>
+ <source>&amp;Verify message...</source>
+ <translation>&amp;मैसेज वैरीफ़ाई करें...</translation>
+ </message>
+ <message>
+ <source>&amp;Send</source>
+ <translation>&amp;भेजें</translation>
+ </message>
+ <message>
+ <source>&amp;Receive</source>
+ <translation>&amp;प्राप्त करें</translation>
+ </message>
+ <message>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;दिखाएं/छिपाएं</translation>
+ </message>
+ <message>
+ <source>Show or hide the main Window</source>
+ <translation>मुख्य विंडो को दिखाएं या छिपाएं</translation>
+ </message>
+ <message>
<source>&amp;File</source>
<translation>&amp;फाइल</translation>
</message>
@@ -767,7 +823,11 @@
</context>
<context>
<name>WalletFrame</name>
- </context>
+ <message>
+ <source>Create a new wallet</source>
+ <translation>नया वॉलेट बनाएं</translation>
+ </message>
+</context>
<context>
<name>WalletModel</name>
<message>
@@ -809,6 +869,10 @@
<translation>वॉलेट आ रहा है...</translation>
</message>
<message>
+ <source>Cannot downgrade wallet</source>
+ <translation>वॉलेट को डाउनग्रेड नहीं कर सकते</translation>
+ </message>
+ <message>
<source>Rescanning...</source>
<translation>रि-स्केनी-इंग...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_hr.ts b/src/qt/locale/bitcoin_hr.ts
index 98c1abaab5..1ecb7be891 100644
--- a/src/qt/locale/bitcoin_hr.ts
+++ b/src/qt/locale/bitcoin_hr.ts
@@ -478,6 +478,30 @@
<translation>Ažurno</translation>
</message>
<message>
+ <source>&amp;Load PSBT from file...</source>
+ <translation>&amp;Učitaj PSBT iz datoteke</translation>
+ </message>
+ <message>
+ <source>Load Partially Signed Bitcoin Transaction</source>
+ <translation>Učitaj djelomično potpisanu bitcoin transakciju</translation>
+ </message>
+ <message>
+ <source>Load PSBT from clipboard...</source>
+ <translation>Učitaj PSBT iz međuspremnika</translation>
+ </message>
+ <message>
+ <source>Load Partially Signed Bitcoin Transaction from clipboard</source>
+ <translation>Učitaj djelomično potpisanu bitcoin transakciju iz međuspremnika</translation>
+ </message>
+ <message>
+ <source>Node window</source>
+ <translation>Konzola za čvor</translation>
+ </message>
+ <message>
+ <source>Open node debugging and diagnostic console</source>
+ <translation>Otvori konzolu za dijagnostiku i otklanjanje pogrešaka čvora.</translation>
+ </message>
+ <message>
<source>&amp;Sending addresses</source>
<translation>Adrese za &amp;slanje</translation>
</message>
@@ -486,6 +510,10 @@
<translation>Adrese za &amp;primanje</translation>
</message>
<message>
+ <source>Open a bitcoin: URI</source>
+ <translation>Otvori bitcoin: URI</translation>
+ </message>
+ <message>
<source>Open Wallet</source>
<translation>Otvorite novčanik</translation>
</message>
@@ -502,6 +530,14 @@
<translation>Zatvorite novčanik</translation>
</message>
<message>
+ <source>Close All Wallets...</source>
+ <translation>Zatvori sve novčanike...</translation>
+ </message>
+ <message>
+ <source>Close all wallets</source>
+ <translation>Zatvori sve novčanike</translation>
+ </message>
+ <message>
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
<translation>Prikažite pomoć programa %1 kako biste ispisali moguće opcije preko terminala</translation>
</message>
@@ -817,7 +853,7 @@
<source>Create</source>
<translation>Stvorite</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -1759,6 +1795,10 @@
<translation>Korisnički agent</translation>
</message>
<message>
+ <source>Node window</source>
+ <translation>Konzola za čvor</translation>
+ </message>
+ <message>
<source>Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.</source>
<translation>Otvorite datoteku zapisa programa %1 iz trenutne podatkovne mape. Može potrajati nekoliko sekundi za velike datoteke zapisa.</translation>
</message>
@@ -3097,6 +3137,10 @@ Napomena: Budući da se naknada računa po bajtu, naknada od "100 satošija po k
<source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
<translation>Držanje novčanik zatvorenim predugo može rezultirati ponovnom sinkronizacijom cijelog lanca ako je obrezivanje uključeno.</translation>
</message>
+ <message>
+ <source>Close all wallets</source>
+ <translation>Zatvori sve novčanike</translation>
+ </message>
</context>
<context>
<name>WalletFrame</name>
@@ -3584,10 +3628,6 @@ Napomena: Budući da se naknada računa po bajtu, naknada od "100 satošija po k
<translation>%s je postavljen preveliko!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Greška kod učitavanja novčanika %s. Duplikat imena novčanika zadan.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Pokreću se mrežne niti...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_hu.ts b/src/qt/locale/bitcoin_hu.ts
index ccc860b7d2..39af3ee38e 100644
--- a/src/qt/locale/bitcoin_hu.ts
+++ b/src/qt/locale/bitcoin_hu.ts
@@ -882,7 +882,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Create</source>
<translation>Létrehozás</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -3968,10 +3968,6 @@ A Fájl &gt; Megnyitás menüben lehet megnyitni.
<translation>%s étéke nagyon magas!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Hiba történt a %s tárca betöltésekor, mert duplikált tárca-fájlnevet adott meg.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Hálózati szálak indítása...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_id.ts b/src/qt/locale/bitcoin_id.ts
index 51aafc98b8..44c774ddc4 100644
--- a/src/qt/locale/bitcoin_id.ts
+++ b/src/qt/locale/bitcoin_id.ts
@@ -830,7 +830,7 @@
<source>Create</source>
<translation>Membuat</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -2310,6 +2310,14 @@ Catatan: Karena biaya dihitung berdasarkan per byte, biaya "100 satoshi per kB"
<translation>%1 (%2 block)</translation>
</message>
<message>
+ <source>Cr&amp;eate Unsigned</source>
+ <translation>bu&amp;at Tidak ditandai</translation>
+ </message>
+ <message>
+ <source>Creates a Partially Signed Bitcoin Transaction (PSBT) for use with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
+ <translation>Membuat sebagian tertanda transaksi bitcoin (PSBT) untuk digunakan dengan contoh dompet offline %1, atau dompet yang kompatibel dengan PSBT</translation>
+ </message>
+ <message>
<source> from wallet '%1'</source>
<translation>dari dompet '%1'</translation>
</message>
@@ -2595,6 +2603,10 @@ Catatan: Karena biaya dihitung berdasarkan per byte, biaya "100 satoshi per kB"
<translation>Pesan yang ditandatangani untuk diverifikasi</translation>
</message>
<message>
+ <source>The signature given when the message was signed</source>
+ <translation> Tanda tangan diberikan saat pesan telah ditandatangani</translation>
+ </message>
+ <message>
<source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
<translation>Verifikasi pesan untuk memastikannya ditandatangani dengan alamat Bitcoin tersebut</translation>
</message>
@@ -2697,6 +2709,10 @@ Catatan: Karena biaya dihitung berdasarkan per byte, biaya "100 satoshi per kB"
<translation>Tidak dalam pool memory</translation>
</message>
<message>
+ <source>abandoned</source>
+ <translation>ditinggalkan</translation>
+ </message>
+ <message>
<source>%1/unconfirmed</source>
<translation>%1/belum dikonfirmasi</translation>
</message>
@@ -2879,6 +2895,10 @@ Catatan: Karena biaya dihitung berdasarkan per byte, biaya "100 satoshi per kB"
<translation>Bertentangan</translation>
</message>
<message>
+ <source>Immature (%1 confirmations, will be available after %2)</source>
+ <translation>Belum matang (%1 konfirmasi, akan tersedia setelah %2)</translation>
+ </message>
+ <message>
<source>Generated but not accepted</source>
<translation>Dihasilkan tapi tidak diterima</translation>
</message>
@@ -2907,6 +2927,10 @@ Catatan: Karena biaya dihitung berdasarkan per byte, biaya "100 satoshi per kB"
<translation>hanya-melihat</translation>
</message>
<message>
+ <source>(n/a)</source>
+ <translation>(n/a)</translation>
+ </message>
+ <message>
<source>(no label)</source>
<translation>(tidak ada label)</translation>
</message>
@@ -3256,6 +3280,10 @@ Catatan: Karena biaya dihitung berdasarkan per byte, biaya "100 satoshi per kB"
<translation>Tidak dapat memperoleh kunci pada direktori data %s. %s mungkin sudah berjalan.</translation>
</message>
<message>
+ <source>Cannot provide specific connections and have addrman find outgoing connections at the same.</source>
+ <translation>Tidak bisa menyediakan koneksi-koneksi spesifik dan memiliki addrman untuk mencari koneksi-koneksi yang terbuka di sama.</translation>
+ </message>
+ <message>
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
<translation>Kesalahan membaca %s! Semua kunci dibaca dengan benar, tetapi data transaksi atau entri buku alamat mungkin hilang atau salah.</translation>
</message>
@@ -3276,6 +3304,18 @@ Catatan: Karena biaya dihitung berdasarkan per byte, biaya "100 satoshi per kB"
<translation>Ini adalah uji coba pra-rilis - gunakan dengan risiko anda sendiri - jangan digunakan untuk aplikasi penambangan atau penjual</translation>
</message>
<message>
+ <source>This is the transaction fee you may discard if change is smaller than dust at this level</source>
+ <translation>Ini adalah biaya transaksi, kamu boleh menutup kalau uang kembali lebih kecil daripada debu di level ini</translation>
+ </message>
+ <message>
+ <source>Unable to replay blocks. You will need to rebuild the database using -reindex-chainstate.</source>
+ <translation>Tidak bisa mengulang blocks. Kamu harus membuat ulang database menggunakan -reindex-chainstate</translation>
+ </message>
+ <message>
+ <source>Unable to rewind the database to a pre-fork state. You will need to redownload the blockchain</source>
+ <translation>tidak bisa memundur database ke status pre-fork. Kamu harus mengunduh ulang blockchain</translation>
+ </message>
+ <message>
<source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source>
<translation>Peringatan: Jaringan tampaknya tidak sepenuhnya setuju! Beberapa penambang tampaknya mengalami masalah.</translation>
</message>
@@ -3284,10 +3324,38 @@ Catatan: Karena biaya dihitung berdasarkan per byte, biaya "100 satoshi per kB"
<translation>Peringatan: Kami tampaknya tidak sepenuhnya setuju dengan peers kami! Anda mungkin perlu memutakhirkan, atau nodes lain mungkin perlu dimutakhirkan.</translation>
</message>
<message>
+ <source>-maxmempool must be at least %d MB</source>
+ <translation>-maxmempool harus paling sedikit %d MB</translation>
+ </message>
+ <message>
+ <source>Cannot resolve -%s address: '%s'</source>
+ <translation>Tidak bisa menyelesaikan -%s alamat: '%s'</translation>
+ </message>
+ <message>
+ <source>Change index out of range</source>
+ <translation>Indeks ganti diluar dari jangkauan</translation>
+ </message>
+ <message>
+ <source>Config setting for %s only applied on %s network when in [%s] section.</source>
+ <translation>Setting konfigurasi untuk %s hanya di terapkan di %s jaringan ketika ada di [%s] bagian.</translation>
+ </message>
+ <message>
+ <source>Copyright (C) %i-%i</source>
+ <translation>Copyright (C) %i-%i</translation>
+ </message>
+ <message>
<source>Corrupted block database detected</source>
<translation>Menemukan database blok yang rusak</translation>
</message>
<message>
+ <source>Could not find asmap file %s</source>
+ <translation>Tidak bisa menemukan berkas asmap %s</translation>
+ </message>
+ <message>
+ <source>Could not parse asmap file %s</source>
+ <translation>Tidak bisa mengurai berkas asmap %s</translation>
+ </message>
+ <message>
<source>Do you want to rebuild the block database now?</source>
<translation>Apakah Anda ingin coba membangun kembali database blok sekarang?</translation>
</message>
@@ -3300,6 +3368,22 @@ Catatan: Karena biaya dihitung berdasarkan per byte, biaya "100 satoshi per kB"
<translation>Kesalahan menginisialisasi dompet pada database%s!</translation>
</message>
<message>
+ <source>Error loading %s</source>
+ <translation>Error loading %s</translation>
+ </message>
+ <message>
+ <source>Error loading %s: Private keys can only be disabled during creation</source>
+ <translation>Error loading %s: Kunci privat hanya bisa dimatikan saat kreasi</translation>
+ </message>
+ <message>
+ <source>Error loading %s: Wallet corrupted</source>
+ <translation>Error loading %s: Dompet rusak</translation>
+ </message>
+ <message>
+ <source>Error loading %s: Wallet requires newer version of %s</source>
+ <translation>Error loading %s: Dompet membutuhkan versi yang lebih baru dari %s</translation>
+ </message>
+ <message>
<source>Error loading block database</source>
<translation>Gagal memuat database blok</translation>
</message>
@@ -3308,6 +3392,14 @@ Catatan: Karena biaya dihitung berdasarkan per byte, biaya "100 satoshi per kB"
<translation>Menemukan masalah membukakan database blok</translation>
</message>
<message>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation>Gagal untuk mendengarkan di port apapun. Gunakan -listen=0 kalau kamu mau ini.</translation>
+ </message>
+ <message>
+ <source>Failed to rescan the wallet during initialization</source>
+ <translation>Gagal untuk scan ulang dompet saat inisialisasi.</translation>
+ </message>
+ <message>
<source>Importing...</source>
<translation>mengimpor...</translation>
</message>
@@ -3316,6 +3408,38 @@ Catatan: Karena biaya dihitung berdasarkan per byte, biaya "100 satoshi per kB"
<translation>Tidak bisa cari blok pertama, atau blok pertama salah. Salah direktori untuk jaringan?</translation>
</message>
<message>
+ <source>Initialization sanity check failed. %s is shutting down.</source>
+ <translation>Inisialisasi pemeriksa kewarasan gagal. %s sedang dimatikan.</translation>
+ </message>
+ <message>
+ <source>Invalid P2P permission: '%s'</source>
+ <translation>Izin P2P yang tidak sah: '%s'</translation>
+ </message>
+ <message>
+ <source>Invalid amount for -discardfee=&lt;amount&gt;: '%s'</source>
+ <translation>Jumlah yang tidak benar untuk -discardfee-&lt;amount&gt;: '%s'</translation>
+ </message>
+ <message>
+ <source>Invalid amount for -fallbackfee=&lt;amount&gt;: '%s'</source>
+ <translation>Jumlah yang tidak saf untuk -fallbackfee=&lt;amount&gt;: '%s'</translation>
+ </message>
+ <message>
+ <source>Specified blocks directory "%s" does not exist.</source>
+ <translation>Blocks yang ditentukan directori "%s" tidak ada.</translation>
+ </message>
+ <message>
+ <source>Unknown address type '%s'</source>
+ <translation>Tipe alamat yang tidak diketahui '%s'</translation>
+ </message>
+ <message>
+ <source>Unknown change type '%s'</source>
+ <translation>Tipe ganti yang tidak diketahui '%s'</translation>
+ </message>
+ <message>
+ <source>Upgrading txindex database</source>
+ <translation>Meningkatkan database txindex</translation>
+ </message>
+ <message>
<source>Loading P2P addresses...</source>
<translation>Memuat alamat P2P....</translation>
</message>
@@ -3332,6 +3456,18 @@ Catatan: Karena biaya dihitung berdasarkan per byte, biaya "100 satoshi per kB"
<translation>Pemangkasan tidak dapat dikonfigurasi dengan nilai negatif.</translation>
</message>
<message>
+ <source>Prune mode is incompatible with -txindex.</source>
+ <translation>Mode prune tidak kompatibel dengan -txindex</translation>
+ </message>
+ <message>
+ <source>Replaying blocks...</source>
+ <translation>Memutar ulang blok ...</translation>
+ </message>
+ <message>
+ <source>Rewinding blocks...</source>
+ <translation>Memutar blok ...</translation>
+ </message>
+ <message>
<source>The source code is available from %s.</source>
<translation>Kode sumber tersedia dari %s.</translation>
</message>
@@ -3400,6 +3536,10 @@ Catatan: Karena biaya dihitung berdasarkan per byte, biaya "100 satoshi per kB"
<translation>Alamat proxy atau hostname tidak valid: '%s'</translation>
</message>
<message>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: '%s' (must be at least %s)</source>
+ <translation>Jumlah yang tidak sah untuk -paytxfee=&lt;amount&gt;: '%s' (Paling sedikit harus %s)</translation>
+ </message>
+ <message>
<source>Invalid netmask specified in -whitelist: '%s'</source>
<translation>Netmask tidak valid yang ditentukan di -whitelist: '%s'</translation>
</message>
@@ -3412,6 +3552,10 @@ Catatan: Karena biaya dihitung berdasarkan per byte, biaya "100 satoshi per kB"
<translation>Mode pemangkasan tidak kompatibel dengan -blockfilterindex.</translation>
</message>
<message>
+ <source>Reducing -maxconnections from %d to %d, because of system limitations.</source>
+ <translation>Mengurangi -maxconnections dari %d ke %d, karena limitasi sistem.</translation>
+ </message>
+ <message>
<source>Section [%s] is not recognized.</source>
<translation>Bagian [%s] tidak dikenali.</translation>
</message>
@@ -3420,6 +3564,18 @@ Catatan: Karena biaya dihitung berdasarkan per byte, biaya "100 satoshi per kB"
<translation>Tandatangani transaksi tergagal</translation>
</message>
<message>
+ <source>Specified -walletdir "%s" does not exist</source>
+ <translation>-walletdir yang sudah dispesifikasi "%s" tidak ada.</translation>
+ </message>
+ <message>
+ <source>Specified -walletdir "%s" is a relative path</source>
+ <translation>-walletdir yang dispesifikasi "%s" adalah jalur yang relatif</translation>
+ </message>
+ <message>
+ <source>Specified -walletdir "%s" is not a directory</source>
+ <translation>-walletdir yang dispesifikasi "%s" bukan direktori</translation>
+ </message>
+ <message>
<source>The specified config file %s does not exist
</source>
<translation>Berkas konfigurasi %s yang ditentukan tidak ada
@@ -3442,16 +3598,48 @@ Catatan: Karena biaya dihitung berdasarkan per byte, biaya "100 satoshi per kB"
<translation>Transaksi terlalu besar</translation>
</message>
<message>
+ <source>Unable to bind to %s on this computer (bind returned error %s)</source>
+ <translation>Tidak bisa menghubungkan %s di komputer (Penghubung menghasilkan error %s)</translation>
+ </message>
+ <message>
+ <source>Unable to create the PID file '%s': %s</source>
+ <translation>Tidak dapat membuat berkas PID '%s': %s</translation>
+ </message>
+ <message>
+ <source>Unable to generate initial keys</source>
+ <translation>Tidak dapat membuat kunci awal</translation>
+ </message>
+ <message>
+ <source>Unknown -blockfilterindex value %s.</source>
+ <translation>Jumlah -blockfilterindex yang tidak diketahui %s</translation>
+ </message>
+ <message>
<source>Verifying wallet(s)...</source>
<translation>Memverifikasi dompet...</translation>
</message>
<message>
+ <source>Warning: unknown new rules activated (versionbit %i)</source>
+ <translation>Peringatan: Aturan baru yang tidak diketahui diaktifkan (versionbit %i)</translation>
+ </message>
+ <message>
+ <source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source>
+ <translation>-maxtxfee disetel sangat tinggi! Biaya sebesar ini bisa dibayar dengan 1 transaksi.</translation>
+ </message>
+ <message>
+ <source>This is the transaction fee you may pay when fee estimates are not available.</source>
+ <translation>Ini adalah biaya transaksi, kamu boleh membayar saat estimasi biaya tidak tersedia</translation>
+ </message>
+ <message>
+ <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source>
+ <translation>Panjang total dari versi string jaringan (%i) melewati panjang maximum (%i). Kurangi nomornya atau besar dari uacomments</translation>
+ </message>
+ <message>
<source>%s is set very high!</source>
<translation>%s diset sangat tinggi!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Terjadi kesalahan saat memuat dompet %s duplikat -wallet nama file yang diterapkan</translation>
+ <source>Starting network threads...</source>
+ <translation>Memulai rangkaian jaringan ...</translation>
</message>
<message>
<source>The wallet will avoid paying less than the minimum relay fee.</source>
@@ -3486,6 +3674,10 @@ Catatan: Karena biaya dihitung berdasarkan per byte, biaya "100 satoshi per kB"
<translation>Saldo tidak mencukupi</translation>
</message>
<message>
+ <source>Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee.</source>
+ <translation>Estimasi biaya gagal. Biaya fallback dimatikan. Tunggu beberapa blocks atau nyalakan -fallbackfee</translation>
+ </message>
+ <message>
<source>Warning: Private keys detected in wallet {%s} with disabled private keys</source>
<translation>Peringatan: Kunci pribadi terdeteksi di dompet {%s} dengan kunci pribadi yang dinonaktifkan</translation>
</message>
diff --git a/src/qt/locale/bitcoin_it.ts b/src/qt/locale/bitcoin_it.ts
index 80131e5b42..17bc6045f2 100644
--- a/src/qt/locale/bitcoin_it.ts
+++ b/src/qt/locale/bitcoin_it.ts
@@ -23,7 +23,7 @@
</message>
<message>
<source>C&amp;lose</source>
- <translation>C&amp;hiudi</translation>
+ <translation>Chiudi</translation>
</message>
<message>
<source>Delete the currently selected address from the list</source>
@@ -31,11 +31,11 @@
</message>
<message>
<source>Enter address or label to search</source>
- <translation>Inserisci un indirizzo o un'etichetta da cercare</translation>
+ <translation>Inserisci indirizzo o nominativo da cercare</translation>
</message>
<message>
<source>Export the data in the current tab to a file</source>
- <translation>Esporta su file i dati contenuti nella tabella corrente</translation>
+ <translation>Trasferisci i dati contenuti nella tabella corrente in un file</translation>
</message>
<message>
<source>&amp;Export</source>
@@ -47,15 +47,15 @@
</message>
<message>
<source>Choose the address to send coins to</source>
- <translation>Scegli l'indirizzo a cui inviare bitcoin</translation>
+ <translation>Scegli l'indirizzo al quale inviare bitcoin</translation>
</message>
<message>
<source>Choose the address to receive coins with</source>
- <translation>Scegli l'indirizzo su cui ricevere bitcoin.</translation>
+ <translation>Scegli l'indirizzo al quale ricevere bitcoin.</translation>
</message>
<message>
<source>C&amp;hoose</source>
- <translation>Sc&amp;egli</translation>
+ <translation>Scegli</translation>
</message>
<message>
<source>Sending addresses</source>
@@ -884,7 +884,7 @@ E' possibile firmare solo con indirizzi di tipo "legacy".</translation>
<source>Create</source>
<translation>Crea</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -3991,10 +3991,6 @@ Vai su File &gt; Apri Portafoglio per caricare un portafoglio.
<translation>%s ha un'impostazione molto alta!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Errore caricamento portafoglio %s. Il nome file -wallet specificato è duplicato.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Inizializzazione dei thread di rete...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_ja.ts b/src/qt/locale/bitcoin_ja.ts
index ccbc135c16..f14c826bd1 100644
--- a/src/qt/locale/bitcoin_ja.ts
+++ b/src/qt/locale/bitcoin_ja.ts
@@ -7,7 +7,7 @@
</message>
<message>
<source>Create a new address</source>
- <translation>新しいアドレスを作成</translation>
+ <translation>アドレスの新規作成</translation>
</message>
<message>
<source>&amp;New</source>
@@ -70,6 +70,11 @@
<translation>これらは、あなたが知っている送信先の Bitcoin アドレスです。コインを送る前に必ず、金額と受取用アドレスを確認してください。</translation>
</message>
<message>
+ <source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
+Signing is only possible with addresses of the type 'legacy'.</source>
+ <translation>これらは支払いを受け取るための、あなたの Bitcoin アドレスです。新しいアドレスを作成するには受取タブ内の「新しい受取用アドレスを作成」ボタンを使用します。</translation>
+ </message>
+ <message>
<source>&amp;Copy Address</source>
<translation>アドレスをコピー(&amp;C)</translation>
</message>
@@ -479,6 +484,10 @@
<translation>ブロックは最新</translation>
</message>
<message>
+ <source>&amp;Load PSBT from file...</source>
+ <translation>PSBTをファイルから読込 (&amp;L)</translation>
+ </message>
+ <message>
<source>Load PSBT from clipboard...</source>
<translation>PSBTをクリップボードから読み込み</translation>
</message>
@@ -851,7 +860,7 @@
<source>Create</source>
<translation>作成</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -1466,6 +1475,10 @@
<translation>ダイアログ</translation>
</message>
<message>
+ <source>Sign Tx</source>
+ <translation>署名されたトランザクション</translation>
+ </message>
+ <message>
<source>Copy to Clipboard</source>
<translation>クリップボードにコピー</translation>
</message>
@@ -1478,18 +1491,42 @@
<translation>閉じる</translation>
</message>
<message>
+ <source>Failed to load transaction: %1</source>
+ <translation>%1 : トランザクションの読込失敗</translation>
+ </message>
+ <message>
+ <source>Failed to sign transaction: %1</source>
+ <translation>%1 : トランザクション署名失敗</translation>
+ </message>
+ <message>
<source>Signed transaction successfully. Transaction is ready to broadcast.</source>
<translation>トランザクションへの署名が成功しました。トランザクションのブロードキャストの準備ができています。</translation>
</message>
<message>
+ <source>PSBT copied to clipboard.</source>
+ <translation>PSBTをクリップボードにコピーしました.</translation>
+ </message>
+ <message>
<source>Save Transaction Data</source>
<translation>トランザクションデータの保存</translation>
</message>
<message>
+ <source>Partially Signed Transaction (Binary) (*.psbt)</source>
+ <translation>部分的に署名されたトランザクションファイル (*.psbt)</translation>
+ </message>
+ <message>
<source>PSBT saved to disk.</source>
<translation>PSBTはディスクに保存されました。</translation>
</message>
<message>
+ <source> * Sends %1 to %2</source>
+ <translation> * %1 から %2 へ送信</translation>
+ </message>
+ <message>
+ <source>Pays transaction fee: </source>
+ <translation>トランザクション手数料: </translation>
+ </message>
+ <message>
<source>Total Amount</source>
<translation>合計</translation>
</message>
@@ -1497,7 +1534,11 @@
<source>or</source>
<translation>または</translation>
</message>
- </context>
+ <message>
+ <source>Transaction status is unknown.</source>
+ <translation>トランザクションの状態が不明です.</translation>
+ </message>
+</context>
<context>
<name>PaymentServer</name>
<message>
@@ -1853,6 +1894,10 @@
<translation>文字サイズを拡大</translation>
</message>
<message>
+ <source>Permissions</source>
+ <translation>パーミッション</translation>
+ </message>
+ <message>
<source>Services</source>
<translation>サービス</translation>
</message>
@@ -2397,10 +2442,22 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>送金してもよろしいですか?</translation>
</message>
<message>
+ <source>Create Unsigned</source>
+ <translation>未署名で作成</translation>
+ </message>
+ <message>
<source>Save Transaction Data</source>
<translation>トランザクションデータの保存</translation>
</message>
<message>
+ <source>Partially Signed Transaction (Binary) (*.psbt)</source>
+ <translation>部分的に署名されたトランザクションファイル (*.psbt)</translation>
+ </message>
+ <message>
+ <source>PSBT saved</source>
+ <translation>PSBTは保存されました。</translation>
+ </message>
+ <message>
<source>or</source>
<translation>または</translation>
</message>
@@ -3019,7 +3076,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
- <translation>取引の状況。このフィールドの上にカーソルを置くと承認数が表示されます。</translation>
+ <translation>トランザクションステータス。このフィールドの上にカーソルを合わせると承認数が表示されます。</translation>
</message>
<message>
<source>Date and time that the transaction was received.</source>
@@ -3312,6 +3369,22 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>エラー</translation>
</message>
<message>
+ <source>Load Transaction Data</source>
+ <translation>トランザクションデータのロード</translation>
+ </message>
+ <message>
+ <source>Partially Signed Transaction (*.psbt)</source>
+ <translation>部分的に署名されたトランザクション (*.psbt)</translation>
+ </message>
+ <message>
+ <source>PSBT file must be smaller than 100 MiB</source>
+ <translation>PSBTファイルは、100MBより小さい必要があります.</translation>
+ </message>
+ <message>
+ <source>Unable to decode PSBT</source>
+ <translation>PSBTファイルを復号できません.</translation>
+ </message>
+ <message>
<source>Backup Wallet</source>
<translation>ウォレットのバックアップ</translation>
</message>
@@ -3491,6 +3564,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>初期化中にウォレットの再スキャンに失敗しました</translation>
</message>
<message>
+ <source>Failed to verify database</source>
+ <translation>データベースの検証に失敗しました</translation>
+ </message>
+ <message>
<source>Importing...</source>
<translation>インポート中...</translation>
</message>
@@ -3651,6 +3728,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>-whitebind オプションでポートを指定する必要があります: '%s'</translation>
</message>
<message>
+ <source>No proxy server specified. Use -proxy=&lt;ip&gt; or -proxy=&lt;ip:port&gt;.</source>
+ <translation>プロキシサーバーが指定されてません. -proxy=&lt;ip&gt; か -proxy=&lt;ip:port&gt; を使用してください.</translation>
+ </message>
+ <message>
<source>Prune mode is incompatible with -blockfilterindex.</source>
<translation>剪定モードは -blockfilterindex オプションと互換性がありません。</translation>
</message>
@@ -3741,10 +3822,6 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>%s の設定値が高すぎです!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>ウォレット %s の読み込み時にエラーが発生しました。重複する -wallet ファイル名が指定されました。</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>ネットワークスレッドの起動中...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_ko.ts b/src/qt/locale/bitcoin_ko.ts
index 00944be3ef..fa14a43f9d 100644
--- a/src/qt/locale/bitcoin_ko.ts
+++ b/src/qt/locale/bitcoin_ko.ts
@@ -3,11 +3,11 @@
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
- <translation>지갑 주소나 라벨을 수정/변경하려면 우클릭을 하십시오.</translation>
+ <translation>지갑 주소나 라벨을 수정하려면 우클릭을 하십시오.</translation>
</message>
<message>
<source>Create a new address</source>
- <translation>새로운 지갑 주소 생성하기.</translation>
+ <translation>새로운 지갑 주소 생성</translation>
</message>
<message>
<source>&amp;New</source>
@@ -15,7 +15,7 @@
</message>
<message>
<source>Copy the currently selected address to the system clipboard</source>
- <translation>현재 선택한 주소를 시스템 클립보드로 복사하기</translation>
+ <translation>현재 선택한 주소를 시스템 클립보드로 복사</translation>
</message>
<message>
<source>&amp;Copy</source>
@@ -27,11 +27,11 @@
</message>
<message>
<source>Delete the currently selected address from the list</source>
- <translation>현재 목록에 선택한 주소 삭제</translation>
+ <translation>목록에 현재 선택한 주소를 삭제</translation>
</message>
<message>
<source>Enter address or label to search</source>
- <translation>검색하려는 주소 또는 라벨 입력</translation>
+ <translation>검색하려는 주소 또는 라벨을 입력하십시오.</translation>
</message>
<message>
<source>Export the data in the current tab to a file</source>
@@ -47,15 +47,15 @@
</message>
<message>
<source>Choose the address to send coins to</source>
- <translation>코인을 보내실 주소를 선택하세요</translation>
+ <translation>코인을 보낼 주소를 선택하십시오.</translation>
</message>
<message>
<source>Choose the address to receive coins with</source>
- <translation>코인을 받으실 주소를 선택하세요</translation>
+ <translation>코인을 받을 주소를 선택하십시오.</translation>
</message>
<message>
<source>C&amp;hoose</source>
- <translation>선택 (&amp;H)</translation>
+ <translation>선택(&amp;H)</translation>
</message>
<message>
<source>Sending addresses</source>
@@ -67,7 +67,13 @@
</message>
<message>
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
- <translation>비트코인을 보내는 계좌 주소입니다. 코인을 보내기 전에 금액과 받는 주소를 항상 확인하세요.</translation>
+ <translation>비트코인을 보내는 계좌 주소입니다. 코인을 보내기 전에 금액과 받는 주소를 항상 확인하십시오.</translation>
+ </message>
+ <message>
+ <source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
+Signing is only possible with addresses of the type 'legacy'.</source>
+ <translation>비트코인을 받는 계좌 주소입니다. 신규 주소를 만들려면 수신 탭의 '새 수신 주소를 생성하기' 버튼을 사용하십시오.
+서명은 '레거시' 타입의 주소만 가능합니다.</translation>
</message>
<message>
<source>&amp;Copy Address</source>
@@ -79,7 +85,7 @@
</message>
<message>
<source>&amp;Edit</source>
- <translation>편집 (&amp;E)</translation>
+ <translation>편집(&amp;E)</translation>
</message>
<message>
<source>Export Address List</source>
@@ -91,11 +97,11 @@
</message>
<message>
<source>Exporting Failed</source>
- <translation>내보내기 실패</translation>
+ <translation>내보내기를 실패하였습니다.</translation>
</message>
<message>
<source>There was an error trying to save the address list to %1. Please try again.</source>
- <translation>%1으로 주소 리스트를 저장하는 동안 오류가 발생했습니다. 다시 시도해주세요.</translation>
+ <translation>%1 으로 주소 리스트를 저장하는 동안 오류가 발생했습니다. 다시 시도해 주십시오.</translation>
</message>
</context>
<context>
@@ -141,11 +147,11 @@
</message>
<message>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
- <translation>이 작업은 지갑 잠금해제를 위해 사용자 지갑의 암호가 필요합니다.</translation>
+ <translation>이 작업은 지갑의 잠금을 해제하기 위해 사용자 지갑의 암호가 필요합니다.</translation>
</message>
<message>
<source>Unlock wallet</source>
- <translation>지갑 잠금해제</translation>
+ <translation>지갑 잠금을 해제</translation>
</message>
<message>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
@@ -177,7 +183,7 @@
</message>
<message>
<source>Enter the new passphrase for the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;ten or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
- <translation>새로운 지갑 비밀번호를 입력하세요. 암호는 10개 이상의 문자 또는 8개 이상의 단어로 입력하세요.</translation>
+ <translation>새로운 지갑 비밀번호를 입력하세요. &lt;br/&gt; 암호는 &lt;b&gt;10개 이상의 랜덤 문자&lt;/b&gt; 또는 &lt;b&gt;8개 이상의 단어&lt;/b&gt;를 사용해주세요.</translation>
</message>
<message>
<source>Enter the old passphrase and new passphrase for the wallet.</source>
@@ -185,7 +191,7 @@
</message>
<message>
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
- <translation>지갑을 암호화 해도 컴퓨터에 바이러스가 있을시 안전하기 않다는 것을 참고하세요.</translation>
+ <translation>지갑을 암호화 해도 컴퓨터에 바이러스가 있을시 안전하지 않다는 것을 참고하세요.</translation>
</message>
<message>
<source>Wallet to be encrypted</source>
@@ -193,7 +199,7 @@
</message>
<message>
<source>Your wallet is about to be encrypted. </source>
- <translation>지갑이 바로 암호화 됩니다.</translation>
+ <translation>지갑이 암호화 되기 직전입니다.</translation>
</message>
<message>
<source>Your wallet is now encrypted. </source>
@@ -201,7 +207,7 @@
</message>
<message>
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation>중요: 본인 지갑 파일에서 만든 예전 백업들은 새로 생성한 암호화된 지갑 파일로 교체해야 합니다. 보안상 이유로, 새 암호화된 지갑을 사용하게 되면 이전에 암호화하지 않은 지갑 파일의 백업은 사용할 수 없게 됩니다.</translation>
+ <translation>중요: 본인 지갑 파일에서 만든 예전 백업들은 새로 생성한, 암호화된 지갑 파일로 교체해야 합니다. 보안상 이유로, 이전에 암호화하지 않은 지갑 파일의 백업은 새로운 암호화된 지갑을 사용하게 된 순간 부터 쓸모가 없어집니다.</translation>
</message>
<message>
<source>Wallet encryption failed</source>
@@ -244,7 +250,7 @@
</message>
<message>
<source>Banned Until</source>
- <translation>해당 일정까지 밴됨.</translation>
+ <translation>해당 일정까지 밴됨:</translation>
</message>
</context>
<context>
@@ -263,7 +269,7 @@
</message>
<message>
<source>Show general overview of wallet</source>
- <translation>지갑의 일반적 개요를 보여줍니다</translation>
+ <translation>지갑의 일반적 개요를 보여주기</translation>
</message>
<message>
<source>&amp;Transactions</source>
@@ -271,7 +277,7 @@
</message>
<message>
<source>Browse transaction history</source>
- <translation>거래내역을 검색합니다</translation>
+ <translation>거래내역을 검색하기</translation>
</message>
<message>
<source>E&amp;xit</source>
@@ -343,15 +349,15 @@
</message>
<message>
<source>Click to enable network activity again.</source>
- <translation>네트워크 활동을 다시 시작하려면 클릭하세요.</translation>
+ <translation>네트워크 활동을 다시 시작하려면 클릭하십시오.</translation>
</message>
<message>
<source>Syncing Headers (%1%)...</source>
- <translation>헤더 동기화중 (%1%)...</translation>
+ <translation>헤더 동기화 중 (%1%)...</translation>
</message>
<message>
<source>Reindexing blocks on disk...</source>
- <translation>디스크에서 블록 다시 색인중...</translation>
+ <translation>디스크에서 블록 다시 색인 중...</translation>
</message>
<message>
<source>Proxy is &lt;b&gt;enabled&lt;/b&gt;: %1</source>
@@ -359,15 +365,15 @@
</message>
<message>
<source>Send coins to a Bitcoin address</source>
- <translation>비트코인 주소로 코인을 전송합니다</translation>
+ <translation>코인을 비트코인 주소로 전송합니다.</translation>
</message>
<message>
<source>Backup wallet to another location</source>
- <translation>지갑을 다른장소에 백업합니다</translation>
+ <translation>지갑을 다른장소에 백업합니다.</translation>
</message>
<message>
<source>Change the passphrase used for wallet encryption</source>
- <translation>지갑 암호화에 사용되는 암호를 변경합니다</translation>
+ <translation>지갑 암호화에 사용되는 암호를 변경합니다.</translation>
</message>
<message>
<source>&amp;Verify message...</source>
@@ -383,7 +389,7 @@
</message>
<message>
<source>&amp;Show / Hide</source>
- <translation>보이기/숨기기(&amp;S)</translation>
+ <translation>보이기 / 숨기기(&amp;S)</translation>
</message>
<message>
<source>Show or hide the main Window</source>
@@ -395,11 +401,11 @@
</message>
<message>
<source>Sign messages with your Bitcoin addresses to prove you own them</source>
- <translation>지갑 주소가 본인 소유인지 증명하기 위해 메시지를 서명합니다</translation>
+ <translation>지갑 주소가 본인 소유인지 증명하기 위해 메시지를 서명합니다.</translation>
</message>
<message>
<source>Verify messages to ensure they were signed with specified Bitcoin addresses</source>
- <translation>해당 비트코인 주소로 서명되었는지 확인하기 위해 메시지를 검증합니다</translation>
+ <translation>해당 비트코인 주소로 서명되었는지 확인하기 위해 메시지를 검증합니다.</translation>
</message>
<message>
<source>&amp;File</source>
@@ -419,15 +425,15 @@
</message>
<message>
<source>Request payments (generates QR codes and bitcoin: URIs)</source>
- <translation>지불 요청하기 (QR코드와 bitcoin: URI를 생성합니다)</translation>
+ <translation>지불 요청하기 (QR 코드와 bitcoin을 생성합니다: URIs)</translation>
</message>
<message>
<source>Show the list of used sending addresses and labels</source>
- <translation>한번 이상 사용된 보내는 주소와 라벨의 목록을 보여줍니다</translation>
+ <translation>한번 이상 사용된 보내는 주소와 라벨의 목록을 보이기</translation>
</message>
<message>
<source>Show the list of used receiving addresses and labels</source>
- <translation>한번 이상 사용된 받는 주소와 라벨의 목록을 보여줍니다</translation>
+ <translation>한번 이상 사용된 받는 주소와 라벨의 목록을 보이기</translation>
</message>
<message>
<source>&amp;Command-line options</source>
@@ -435,23 +441,23 @@
</message>
<message numerus="yes">
<source>%n active connection(s) to Bitcoin network</source>
- <translation><numerusform>비트코인 네트워크에 %n개의 연결 활성화됨</numerusform></translation>
+ <translation><numerusform>비트코인 네트워크에 %n 개의 연결이 활성화 되고 있습니다.</numerusform></translation>
</message>
<message>
<source>Indexing blocks on disk...</source>
- <translation>디스크에서 블록 색인중...</translation>
+ <translation>디스크에서 블록 색인 중...</translation>
</message>
<message>
<source>Processing blocks on disk...</source>
- <translation>디스크에서 블록 처리중...</translation>
+ <translation>디스크에서 블록 처리 중...</translation>
</message>
<message numerus="yes">
<source>Processed %n block(s) of transaction history.</source>
- <translation><numerusform>%n 블록 만큼의 거래 기록이 처리됨.</numerusform></translation>
+ <translation><numerusform>%n 블록 만큼의 거래 기록이 처리됩니다.</numerusform></translation>
</message>
<message>
<source>%1 behind</source>
- <translation>%1 뒷처짐</translation>
+ <translation>%1 뒷처지는 중</translation>
</message>
<message>
<source>Last received block was generated %1 ago.</source>
@@ -475,7 +481,23 @@
</message>
<message>
<source>Up to date</source>
- <translation>최신의</translation>
+ <translation>최신 정보</translation>
+ </message>
+ <message>
+ <source>&amp;Load PSBT from file...</source>
+ <translation>파일로부터 PSBT 불러오기(&amp;L)</translation>
+ </message>
+ <message>
+ <source>Load Partially Signed Bitcoin Transaction</source>
+ <translation>부분적으로 서명된 비트코인 트랜잭션 불러오기</translation>
+ </message>
+ <message>
+ <source>Load PSBT from clipboard...</source>
+ <translation>클립보드로부터 PSBT 불러오기...</translation>
+ </message>
+ <message>
+ <source>Load Partially Signed Bitcoin Transaction from clipboard</source>
+ <translation>클립보드로부터 부분적으로 서명된 비트코인 트랜잭션 불러오기</translation>
</message>
<message>
<source>Node window</source>
@@ -487,15 +509,15 @@
</message>
<message>
<source>&amp;Sending addresses</source>
- <translation>보내는 주소(&amp;S)</translation>
+ <translation>보내는 주소들(&amp;S)</translation>
</message>
<message>
<source>&amp;Receiving addresses</source>
- <translation>받는 주소(&amp;R)</translation>
+ <translation>받는 주소들(&amp;R)</translation>
</message>
<message>
<source>Open a bitcoin: URI</source>
- <translation>bitcoin: URI 열기</translation>
+ <translation>bitcoin 열기: URI</translation>
</message>
<message>
<source>Open Wallet</source>
@@ -514,8 +536,24 @@
<translation>지갑 닫기</translation>
</message>
<message>
+ <source>Close All Wallets...</source>
+ <translation>모든 지갑 닫기...</translation>
+ </message>
+ <message>
+ <source>Close all wallets</source>
+ <translation>모든 지갑 닫기</translation>
+ </message>
+ <message>
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
- <translation>사용할 수 있는 비트코인 명령줄 옵션 목록을 가져오기 위해 %1 도움말 메시지를 표시합니다</translation>
+ <translation>사용할 수 있는 비트코인 명령줄 옵션 목록을 가져오기 위해 %1 도움말 메시지를 표시합니다.</translation>
+ </message>
+ <message>
+ <source>&amp;Mask values</source>
+ <translation>마스크값(&amp;M)</translation>
+ </message>
+ <message>
+ <source>Mask the values in the Overview tab</source>
+ <translation>개요 탭에서 값을 마스킹합니다.</translation>
</message>
<message>
<source>default wallet</source>
@@ -623,9 +661,17 @@
</message>
<message>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
- <translation>지갑이 &lt;b&gt;암호화&lt;/b&gt; 되었고 현재 &lt;b&gt;잠겨져&lt;/b&gt; 있습니다</translation>
+ <translation>지갑이 &lt;b&gt;암호화&lt;/b&gt; 되었고 현재 &lt;b&gt;잠겨&lt;/b&gt; 있습니다</translation>
+ </message>
+ <message>
+ <source>Original message:</source>
+ <translation>원본 메세지:</translation>
</message>
- </context>
+ <message>
+ <source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
+ <translation>치명적인 오류가 발생했습니다. %1 를 더이상 안전하게 진행할 수 없어 곧 종료합니다.</translation>
+ </message>
+</context>
<context>
<name>CoinControlDialog</name>
<message>
@@ -662,7 +708,7 @@
</message>
<message>
<source>(un)select all</source>
- <translation>모두 선택(하지 않음)</translation>
+ <translation>모두 선택(해제)</translation>
</message>
<message>
<source>Tree mode</source>
@@ -718,7 +764,7 @@
</message>
<message>
<source>Unlock unspent</source>
- <translation>사용되지 않은 주소를 잠금 해제합니다.</translation>
+ <translation>사용하지 않은 주소 잠금 해제</translation>
</message>
<message>
<source>Copy quantity</source>
@@ -762,7 +808,7 @@
</message>
<message>
<source>Can vary +/- %1 satoshi(s) per input.</source>
- <translation>입력마다 +/- %1 사토시가 변할 수 있습니다.</translation>
+ <translation>입력마다 +/- %1 사토시(satoshi)가 바뀔 수 있습니다.</translation>
</message>
<message>
<source>(no label)</source>
@@ -770,7 +816,7 @@
</message>
<message>
<source>change from %1 (%2)</source>
- <translation>%1로부터 변경 (%2)</translation>
+ <translation>%1 로부터 변경 (%2)</translation>
</message>
<message>
<source>(change)</source>
@@ -811,16 +857,36 @@
<translation>지갑 암호화</translation>
</message>
<message>
+ <source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
+ <translation>이 지갑에 대한 개인 키를 비활성화합니다. 개인 키가 비활성화 된 지갑에는 개인 키가 없으며 HD 시드 또는 가져온 개인 키를 가질 수 없습니다. 이는 조회-전용 지갑에 이상적입니다.</translation>
+ </message>
+ <message>
<source>Disable Private Keys</source>
<translation>개인키 비활성화 하기</translation>
</message>
<message>
+ <source>Make a blank wallet. Blank wallets do not initially have private keys or scripts. Private keys and addresses can be imported, or an HD seed can be set, at a later time.</source>
+ <translation>빈 지갑을 만드십시오. 빈 지갑은 처음에는 개인 키나 스크립트를 가지고 있지 않습니다. 개인 키와 주소를 가져 오거나 HD 시드를 설정하는 것은 나중에 할 수 있습니다.</translation>
+ </message>
+ <message>
<source>Make Blank Wallet</source>
<translation>빈 지갑 만들기</translation>
</message>
<message>
+ <source>Use descriptors for scriptPubKey management</source>
+ <translation>scriptPubKey 관리를 위해 디스크립터를 사용하세요.</translation>
+ </message>
+ <message>
+ <source>Descriptor Wallet</source>
+ <translation>디스크립터 지갑</translation>
+ </message>
+ <message>
<source>Create</source>
- <translation>생성하기</translation>
+ <translation>생성</translation>
+ </message>
+ <message>
+ <source>Compiled without sqlite support (required for descriptor wallets)</source>
+ <translation>에스큐엘라이트 지원 없이 컴파일 되었습니다. (디스크립터 지갑에 요구됩니다.)</translation>
</message>
</context>
<context>
@@ -835,11 +901,11 @@
</message>
<message>
<source>The label associated with this address list entry</source>
- <translation>현재 선택된 주소 필드의 제목입니다.</translation>
+ <translation>현재 선택된 주소 필드의 라벨입니다.</translation>
</message>
<message>
<source>The address associated with this address list entry. This can only be modified for sending addresses.</source>
- <translation>본 주소록 입력은 주소와 연계되었습니다. 이것은 보내는 주소들에서만 변경될수 있습니다.</translation>
+ <translation>본 주소록 입력은 주소와 연계되었습니다. 이것은 보내는 주소들을 위해서만 변경될수 있습니다.</translation>
</message>
<message>
<source>&amp;Address</source>
@@ -932,15 +998,19 @@
</message>
<message>
<source>When you click OK, %1 will begin to download and process the full %4 block chain (%2GB) starting with the earliest transactions in %3 when %4 initially launched.</source>
- <translation>확인을 클릭하면 %1은 모든 %4블록 체인 (%2GB) 장부를 %3 안에 다운로드하고 처리하기 시작합니다. 이는 %4가 시작될 때 생성된 가장 오래된 트랜잭션부터 시작합니다.</translation>
+ <translation>'확인'을 클릭하면, %1은 모든 %4 블록 체인 (%2GB) 장부를 가장 최근 거래 부터 %3 안에 다운로드하고 처리하는데, 이것은 %4가 활성화 될때 시작됩니다. </translation>
+ </message>
+ <message>
+ <source>Reverting this setting requires re-downloading the entire blockchain. It is faster to download the full chain first and prune it later. Disables some advanced features.</source>
+ <translation>이 설정을 되돌리면 전체 블록 체인을 다시 다운로드 해야 합니다. 전체 체인을 먼저 다운로드하고 나중에 정리하는 것이 더 빠릅니다. 일부 고급 기능을 비활성화합니다.</translation>
</message>
<message>
<source>This initial synchronisation is very demanding, and may expose hardware problems with your computer that had previously gone unnoticed. Each time you run %1, it will continue downloading where it left off.</source>
- <translation>초기 동기화는 매우 오래 걸리며 이전에는 본 적 없는 하드웨어 문제가 발생할 수 있습니다. %1을 실행할 때마다 중단 된 곳에서 다시 계속 다운로드 됩니다.</translation>
+ <translation>초기 동기화는 매우 오래 걸리며 이전에는 본 적 없는 하드웨어 문제를 발생시킬 수 있습니다. %1을 실행할 때마다 중단 된 곳에서 다시 계속 다운로드 됩니다.</translation>
</message>
<message>
<source>If you have chosen to limit block chain storage (pruning), the historical data must still be downloaded and processed, but will be deleted afterward to keep your disk usage low.</source>
- <translation>블록 체인 저장 영역 (블록축소)을 제한하도록 선택한 경우, 이력 데이터는 계속해서 다운로드 및 처리 되어야 하지만 차후 디스크 용량을 줄이기 위해 삭제됩니다.</translation>
+ <translation>블록 체인 저장 영역을 제한하도록 선택한 경우 (블록 정리), 이력 데이터는 계속해서 다운로드 및 처리 되지만, 차후 디스크 용량을 줄이기 위해 삭제됩니다.</translation>
</message>
<message>
<source>Use the default data directory</source>
@@ -955,6 +1025,10 @@
<translation>비트코인</translation>
</message>
<message>
+ <source>Discard blocks after verification, except most recent %1 GB (prune)</source>
+ <translation>가장 최근의 %1 GB를 제외하고 확인 후 블록 폐기 (정리)</translation>
+ </message>
+ <message>
<source>At least %1 GB of data will be stored in this directory, and it will grow over time.</source>
<translation>최소 %1 GB의 데이터가 이 디렉토리에 저장되며 시간이 지남에 따라 증가할 것입니다.</translation>
</message>
@@ -984,11 +1058,11 @@
</message>
<message numerus="yes">
<source>(of %n GB needed)</source>
- <translation><numerusform>(%n GB가 필요)</numerusform></translation>
+ <translation><numerusform>(%n GB가 필요합니다.)</numerusform></translation>
</message>
<message numerus="yes">
<source>(%n GB needed for full chain)</source>
- <translation><numerusform>(Full 체인이 되려면 %n GB 가 필요합니다)</numerusform></translation>
+ <translation><numerusform>(Full 체인이 되려면 %n GB 가 필요합니다.)</numerusform></translation>
</message>
</context>
<context>
@@ -999,7 +1073,7 @@
</message>
<message>
<source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the bitcoin network, as detailed below.</source>
- <translation>최근 거래는 아직 보이지 않을 것입니다, 그러므로 당신의 지갑의 잔액이 틀릴 수도 있습니다. 이 정보는 비트코인 네트워크와 완전한 동기화가 완료되면 아래의 설명과 같이 정확해집니다.</translation>
+ <translation>최근 거래는 아직 보이지 않을 수 있습니다. 따라서 당신의 지갑의 잔액이 틀릴 수도 있습니다. 이 정보는 당신의 지갑이 비트코인 네트워크와 완전한 동기화를 완료하면, 아래의 설명과 같이 정확해집니다.</translation>
</message>
<message>
<source>Attempting to spend bitcoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
@@ -1011,7 +1085,7 @@
</message>
<message>
<source>Unknown...</source>
- <translation>알수없음...</translation>
+ <translation>알 수 없음...</translation>
</message>
<message>
<source>Last block time</source>
@@ -1042,8 +1116,12 @@
<translation>Esc</translation>
</message>
<message>
+ <source>%1 is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.</source>
+ <translation>%1가 현재 동기화 중입니다. 이것은 피어에서 헤더와 블록을 다운로드하고 블록 체인의 끝에 도달 할 때까지 유효성을 검사합니다.</translation>
+ </message>
+ <message>
<source>Unknown. Syncing Headers (%1, %2%)...</source>
- <translation>알 수 없음. 헤더 동기화 중(%1,%2%)...</translation>
+ <translation>알 수 없음. 헤더 동기화 중(%1, %2%)...</translation>
</message>
</context>
<context>
@@ -1073,7 +1151,7 @@
</message>
<message>
<source>Opening Wallet &lt;b&gt;%1&lt;/b&gt;...</source>
- <translation>지갑 &lt;b&gt;%1&lt;/b&gt; 여는중...</translation>
+ <translation>지갑 &lt;b&gt;%1&lt;/b&gt; 여는 중...</translation>
</message>
</context>
<context>
@@ -1088,7 +1166,7 @@
</message>
<message>
<source>Automatically start %1 after logging in to the system.</source>
- <translation>시스템 로그인후에 %1을 자동으로 시작합니다.</translation>
+ <translation>시스템 로그인 후 %1을 자동으로 시작합니다.</translation>
</message>
<message>
<source>&amp;Start %1 on system login</source>
@@ -1104,7 +1182,7 @@
</message>
<message>
<source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source>
- <translation>프록시 아이피 주소 (예. IPv4:127.0.0.1 / IPv6: ::1)</translation>
+ <translation>프록시 아이피 주소 (예: IPv4:127.0.0.1 / IPv6: ::1)</translation>
</message>
<message>
<source>Shows if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source>
@@ -1112,7 +1190,7 @@
</message>
<message>
<source>Hide the icon from the system tray.</source>
- <translation>시스템 트레이 로 부터 아이콘 숨기기</translation>
+ <translation>시스템 트레이로 부터 아이콘 숨기기</translation>
</message>
<message>
<source>&amp;Hide tray icon</source>
@@ -1120,11 +1198,11 @@
</message>
<message>
<source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Exit in the menu.</source>
- <translation>창을 닫으면 종료 대신 트레이로 보내기. 이 옵션을 활성화하면 메뉴에서 종료를 선택한 후에만 어플리케이션이 종료됩니다.</translation>
+ <translation>창을 닫으면 종료 대신 축소하기. 이 옵션을 활성화하면 메뉴에서 종료를 선택한 후에만 어플리케이션이 종료됩니다.</translation>
</message>
<message>
<source>Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |.</source>
- <translation>서드-파티 URLs (예. 블록 탐색기)는 거래 탭의 컨텍스트 메뉴에 나타납니다. URL의 %s는 거래 해시값으로 대체됩니다. 여러 URLs는 수직 바 | 에서 나누어 집니다.</translation>
+ <translation>서드-파티 URL들 (예: 블록 탐색기)는 거래 탭에 컨텍스트 메뉴로 나타납니다. URL의 %s는 거래 해시값으로 대체됩니다. 여러 URL들은 수직 바 | 에서 나누어 집니다.</translation>
</message>
<message>
<source>Open the %1 configuration file from the working directory.</source>
@@ -1152,7 +1230,7 @@
</message>
<message>
<source>Prune &amp;block storage to</source>
- <translation>블록 데이터를 지정된 크기로 축소합니다:</translation>
+ <translation>블록 데이터를 지정된 크기로 축소합니다.(&amp;b) :</translation>
</message>
<message>
<source>GB</source>
@@ -1160,7 +1238,7 @@
</message>
<message>
<source>Reverting this setting requires re-downloading the entire blockchain.</source>
- <translation>이 설정을 되돌리려면 처음주터 블록체인을 다시 다운로드 받아야 합니다.</translation>
+ <translation>이 설정을 되돌리려면 처음부터 블록체인을 다시 다운로드 받아야 합니다.</translation>
</message>
<message>
<source>MiB</source>
@@ -1184,7 +1262,7 @@
</message>
<message>
<source>If you disable the spending of unconfirmed change, the change from a transaction cannot be used until that transaction has at least one confirmation. This also affects how your balance is computed.</source>
- <translation>검증되지 않은 잔돈 쓰기를 비활성화하면 거래가 적어도 1회 이상 검증되기 전까지 그 거래의 거스름돈은 사용할 수 없습니다. 이는 잔액 계산 방법에도 영향을 미칩니다.</translation>
+ <translation>검증되지 않은 잔돈 쓰기를 비활성화하면, 거래가 적어도 1회 이상 검증되기 전까지 그 거래의 거스름돈은 사용할 수 없습니다. 이는 잔액 계산 방법에도 영향을 미칩니다.</translation>
</message>
<message>
<source>&amp;Spend unconfirmed change</source>
@@ -1268,7 +1346,7 @@
</message>
<message>
<source>The user interface language can be set here. This setting will take effect after restarting %1.</source>
- <translation>사용자 인터페이스 언어를 여기서 설정할 수 있습니다. 이 설정은 %1을 다시 시작할때 적용됩니다.</translation>
+ <translation>사용자 인터페이스 언어를 여기서 설정할 수 있습니다. 이 설정은 %1을 다시 시작할 때 적용됩니다.</translation>
</message>
<message>
<source>&amp;Unit to show amounts in:</source>
@@ -1283,12 +1361,20 @@
<translation>코인 상세 제어기능에 대한 표시 여부를 선택할 수 있습니다.</translation>
</message>
<message>
+ <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor onion services.</source>
+ <translation>Tor onion 서비스를 위한 별도의 SOCKS5 프록시를 통해 Bitcoin 네트워크에 연결합니다.</translation>
+ </message>
+ <message>
+ <source>Use separate SOCKS&amp;5 proxy to reach peers via Tor onion services:</source>
+ <translation>Tor onion 서비스를 통해 피어에 도달하려면 별도의 SOCKS &amp; 5 프록시를 사용하십시오.</translation>
+ </message>
+ <message>
<source>&amp;Third party transaction URLs</source>
- <translation>제 3자 거래 URL들 (&amp;T)</translation>
+ <translation>제 3자 거래 URL들(&amp;T)</translation>
</message>
<message>
<source>Options set in this dialog are overridden by the command line or in the configuration file:</source>
- <translation>이 다이얼로그에서 설정한 옵션은 커맨드라인이나 설정파일에 의해 바뀔수 있습니다:</translation>
+ <translation>이 다이얼로그에서 설정한 옵션은 커맨드라인이나 설정파일에 의해 바뀔 수 있습니다:</translation>
</message>
<message>
<source>&amp;OK</source>
@@ -1300,7 +1386,7 @@
</message>
<message>
<source>default</source>
- <translation>기본값</translation>
+ <translation>기본 값</translation>
</message>
<message>
<source>none</source>
@@ -1308,7 +1394,7 @@
</message>
<message>
<source>Confirm options reset</source>
- <translation>옵션 초기화를 확인</translation>
+ <translation>옵션 초기화를 확실화하기</translation>
</message>
<message>
<source>Client restart required to activate changes.</source>
@@ -1324,7 +1410,7 @@
</message>
<message>
<source>The configuration file is used to specify advanced user options which override GUI settings. Additionally, any command-line options will override this configuration file.</source>
- <translation>설정 파일은 GUI 설정을 우선하는 고급 사용자 옵션을 지정하는 데 사용됩니다. 또한 모든 명령 줄 옵션이 설정 파일보다 우선합니다.</translation>
+ <translation>GUI 설정을 우선하는 고급 사용자 옵션을 지정하는 데 사용되는 설정파일 입니다. 추가로 모든 명령 줄 옵션도 이 설정 파일보다 우선시 됩니다.</translation>
</message>
<message>
<source>Error</source>
@@ -1336,7 +1422,7 @@
</message>
<message>
<source>This change would require a client restart.</source>
- <translation>이 변경 사항 적용을 위해 프로그램 재시작이 필요합니다.</translation>
+ <translation>이 변경 사항 적용은 프로그램 재시작을 요구합니다.</translation>
</message>
<message>
<source>The supplied proxy address is invalid.</source>
@@ -1351,11 +1437,11 @@
</message>
<message>
<source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
- <translation>표시된 정보가 오래된 것 같습니다. 비트코인 네트워크에 연결하고 난 다음에 지갑을 자동으로 동기화 하지만, 아직 과정이 끝나지는 않았습니다.</translation>
+ <translation>표시된 정보가 오래된 것 같습니다. 당신의 지갑은 비트코인 네트워크에 연결된 뒤 자동으로 동기화 하지만, 아직 과정이 끝나지 않았습니다.</translation>
</message>
<message>
<source>Watch-only:</source>
- <translation>조회전용:</translation>
+ <translation>조회-전용:</translation>
</message>
<message>
<source>Available:</source>
@@ -1363,7 +1449,7 @@
</message>
<message>
<source>Your current spendable balance</source>
- <translation>당신의 현재 사용 가능한 잔액</translation>
+ <translation>현재 사용 가능한 잔액</translation>
</message>
<message>
<source>Pending:</source>
@@ -1395,32 +1481,116 @@
</message>
<message>
<source>Your current balance in watch-only addresses</source>
- <translation>조회전용 주소의 현재 잔액</translation>
+ <translation>조회-전용 주소의 현재 잔액</translation>
</message>
<message>
<source>Spendable:</source>
- <translation>사용가능:</translation>
+ <translation>사용 가능:</translation>
</message>
<message>
<source>Recent transactions</source>
- <translation>최근 거래</translation>
+ <translation>최근 거래들</translation>
</message>
<message>
<source>Unconfirmed transactions to watch-only addresses</source>
- <translation>조회전용 주소의 검증되지 않은 거래</translation>
+ <translation>조회-전용 주소의 검증되지 않은 거래</translation>
</message>
<message>
<source>Mined balance in watch-only addresses that has not yet matured</source>
- <translation>조회전용 주소의 채굴된 잔액 중 사용가능하지 않은 금액</translation>
+ <translation>조회-전용 주소의 채굴된 잔액 중 사용가능하지 않은 금액</translation>
</message>
<message>
<source>Current total balance in watch-only addresses</source>
- <translation>조회전용 주소의 현재 잔액</translation>
+ <translation>조회-전용 주소의 현재 잔액</translation>
</message>
- </context>
+ <message>
+ <source>Privacy mode activated for the Overview tab. To unmask the values, uncheck Settings-&gt;Mask values.</source>
+ <translation>개요 탭에서 개인 정보 보호 모드가 활성화되었습니다. 값의 마스크를 해제하려면 '설정-&gt; 마스크 값' 선택을 취소하십시오.</translation>
+ </message>
+</context>
<context>
<name>PSBTOperationsDialog</name>
<message>
+ <source>Dialog</source>
+ <translation>다이얼로그</translation>
+ </message>
+ <message>
+ <source>Sign Tx</source>
+ <translation>거래 서명</translation>
+ </message>
+ <message>
+ <source>Broadcast Tx</source>
+ <translation>거래 전파</translation>
+ </message>
+ <message>
+ <source>Copy to Clipboard</source>
+ <translation>클립보드로 복사</translation>
+ </message>
+ <message>
+ <source>Save...</source>
+ <translation>저장...</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>닫기</translation>
+ </message>
+ <message>
+ <source>Failed to load transaction: %1</source>
+ <translation>거래 불러오기 실패: %1</translation>
+ </message>
+ <message>
+ <source>Failed to sign transaction: %1</source>
+ <translation>거래 서명 실패: %1</translation>
+ </message>
+ <message>
+ <source>Could not sign any more inputs.</source>
+ <translation>더 이상 추가적인 인풋에 대해 서명할 수 없음</translation>
+ </message>
+ <message>
+ <source>Signed transaction successfully. Transaction is ready to broadcast.</source>
+ <translation>거래 서명완료. 거래를 전파할 준비가 되었습니다.</translation>
+ </message>
+ <message>
+ <source>Unknown error processing transaction.</source>
+ <translation>거래 처리 과정에 알 수 없는 오류 발생</translation>
+ </message>
+ <message>
+ <source>Transaction broadcast successfully! Transaction ID: %1</source>
+ <translation>거래가 성공적으로 전파되었습니다! 거래 ID : %1</translation>
+ </message>
+ <message>
+ <source>Transaction broadcast failed: %1</source>
+ <translation>거래 전파에 실패: %1</translation>
+ </message>
+ <message>
+ <source>PSBT copied to clipboard.</source>
+ <translation>클립보드로 PSBT 복사</translation>
+ </message>
+ <message>
+ <source>Save Transaction Data</source>
+ <translation>거래 데이터 저장</translation>
+ </message>
+ <message>
+ <source>Partially Signed Transaction (Binary) (*.psbt)</source>
+ <translation>부분적으로 서명된 비트코인 트랜잭션 (2진 표기) (*.psbt)</translation>
+ </message>
+ <message>
+ <source>PSBT saved to disk.</source>
+ <translation>PSBT가 디스크에 저장 됨</translation>
+ </message>
+ <message>
+ <source> * Sends %1 to %2</source>
+ <translation>* %1을 %2로 보냅니다.</translation>
+ </message>
+ <message>
+ <source>Unable to calculate transaction fee or total transaction amount.</source>
+ <translation>거래 수수료 또는 총 거래 금액을 계산할 수 없습니다.</translation>
+ </message>
+ <message>
+ <source>Pays transaction fee: </source>
+ <translation>거래 수수료 납부:</translation>
+ </message>
+ <message>
<source>Total Amount</source>
<translation>총액</translation>
</message>
@@ -1428,7 +1598,35 @@
<source>or</source>
<translation>또는</translation>
</message>
- </context>
+ <message>
+ <source>Transaction has %1 unsigned inputs.</source>
+ <translation>거래가 %1 개의 서명 되지 않은 입력을 갖고 있습니다.</translation>
+ </message>
+ <message>
+ <source>Transaction is missing some information about inputs.</source>
+ <translation>거래에 입력에 대한 일부 정보가 없습니다.</translation>
+ </message>
+ <message>
+ <source>Transaction still needs signature(s).</source>
+ <translation>거래가 아직 서명(들)을 필요로 합니다.</translation>
+ </message>
+ <message>
+ <source>(But this wallet cannot sign transactions.)</source>
+ <translation>(그러나 이 지갑은 거래에 서명이 불가능합니다.)</translation>
+ </message>
+ <message>
+ <source>(But this wallet does not have the right keys.)</source>
+ <translation>(그러나 이 지갑은 적절한 키를 갖고 있지 않습니다.)</translation>
+ </message>
+ <message>
+ <source>Transaction is fully signed and ready for broadcast.</source>
+ <translation>거래가 모두 서명되었고, 전파될 준비가 되었습니다.</translation>
+ </message>
+ <message>
+ <source>Transaction status is unknown.</source>
+ <translation>거래 상태를 알 수 없습니다.</translation>
+ </message>
+</context>
<context>
<name>PaymentServer</name>
<message>
@@ -1437,7 +1635,7 @@
</message>
<message>
<source>Cannot start bitcoin: click-to-pay handler</source>
- <translation>bitcoin: 핸들러를 시작할 수 없음</translation>
+ <translation>비트코인을 시작할 수 없습니다: 지급을 위한 클릭 핸들러</translation>
</message>
<message>
<source>URI handling</source>
@@ -1453,11 +1651,11 @@
</message>
<message>
<source>Due to widespread security flaws in BIP70 it's strongly recommended that any merchant instructions to switch wallets be ignored.</source>
- <translation>BIP70의 보안적 결함 때문에 상점에 불문하고 "지갑을 바꾸라"라는 권고 또는 지시는 대부분의 경우 무시하는 방법을 강력하게 권장합니다.</translation>
+ <translation>BIP70의 보안적 결함에 의하여, "지갑을 바꾸라"라는 판매자 지침은 대부분 무시하는 것을 강력하게 권장합니다.</translation>
</message>
<message>
<source>If you are receiving this error you should request the merchant provide a BIP21 compatible URI.</source>
- <translation>만약 이 오류 메시지가 보인다면, 상점에 BIP21이 호환되는 URI를 제공해달라고 요청해주세요.</translation>
+ <translation>만약 이 오류 메시지가 보인다면, 판매자에게 BIP21이 호환되는 URI를 제공해달라고 요청해주십시오.</translation>
</message>
<message>
<source>Invalid payment address %1</source>
@@ -1507,7 +1705,7 @@
</message>
<message>
<source>Enter a Bitcoin address (e.g. %1)</source>
- <translation>비트코인 주소를 입력하세요 (예. %1)</translation>
+ <translation>비트코인 주소를 입력하세요 (예: %1)</translation>
</message>
<message>
<source>%1 d</source>
@@ -1551,7 +1749,7 @@
</message>
<message numerus="yes">
<source>%n day(s)</source>
- <translation><numerusform>&amp;n 일</numerusform></translation>
+ <translation><numerusform>%n 일</numerusform></translation>
</message>
<message numerus="yes">
<source>%n week(s)</source>
@@ -1559,7 +1757,7 @@
</message>
<message>
<source>%1 and %2</source>
- <translation>%1 그리고 %2</translation>
+ <translation>%1 과 %2</translation>
</message>
<message numerus="yes">
<source>%n year(s)</source>
@@ -1594,12 +1792,16 @@
<translation>오류: %1</translation>
</message>
<message>
+ <source>Error initializing settings: %1</source>
+ <translation>설정 초기화 오류 : %1</translation>
+ </message>
+ <message>
<source>%1 didn't yet exit safely...</source>
<translation>%1가 아직 안전하게 종료되지 않았습니다...</translation>
</message>
<message>
<source>unknown</source>
- <translation>알수없음</translation>
+ <translation>알 수 없음</translation>
</message>
</context>
<context>
@@ -1626,7 +1828,7 @@
</message>
<message>
<source>Save QR Code</source>
- <translation>QR코드 저장</translation>
+ <translation>QR 코드 저장</translation>
</message>
<message>
<source>PNG Image (*.png)</source>
@@ -1725,11 +1927,11 @@
</message>
<message>
<source>&amp;Peers</source>
- <translation>피어(&amp;P)</translation>
+ <translation>피어들(&amp;P)</translation>
</message>
<message>
<source>Banned peers</source>
- <translation>차단된 피어</translation>
+ <translation>차단된 피어들</translation>
</message>
<message>
<source>Select a peer to view detailed information.</source>
@@ -1756,6 +1958,14 @@
<translation>동기화된 블록</translation>
</message>
<message>
+ <source>The mapped Autonomous System used for diversifying peer selection.</source>
+ <translation>피어 선택을 다양 화하는 데 사용되는 매핑 된 자율 시스템입니다.</translation>
+ </message>
+ <message>
+ <source>Mapped AS</source>
+ <translation>매핑된 AS</translation>
+ </message>
+ <message>
<source>User Agent</source>
<translation>유저 에이전트</translation>
</message>
@@ -1764,6 +1974,10 @@
<translation>노드 창</translation>
</message>
<message>
+ <source>Current block height</source>
+ <translation>현재 블록 높이</translation>
+ </message>
+ <message>
<source>Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.</source>
<translation>%1 디버그 로그파일을 현재 데이터 폴더에서 엽니다. 용량이 큰 로그 파일들은 몇 초가 걸릴 수 있습니다.</translation>
</message>
@@ -1776,6 +1990,10 @@
<translation>글자 크기 확대</translation>
</message>
<message>
+ <source>Permissions</source>
+ <translation>권한</translation>
+ </message>
+ <message>
<source>Services</source>
<translation>서비스</translation>
</message>
@@ -1801,7 +2019,7 @@
</message>
<message>
<source>Ping Wait</source>
- <translation>Ping 대기</translation>
+ <translation>핑 대기</translation>
</message>
<message>
<source>Min Ping</source>
@@ -1833,11 +2051,11 @@
</message>
<message>
<source>In:</source>
- <translation>In:</translation>
+ <translation>입력:</translation>
</message>
<message>
<source>Out:</source>
- <translation>Out:</translation>
+ <translation>출력:</translation>
</message>
<message>
<source>Debug log file</source>
@@ -1881,7 +2099,7 @@
</message>
<message>
<source>Use up and down arrows to navigate history, and %1 to clear screen.</source>
- <translation>기록을 탐색하려면 위 / 아래 화살표를 사용하고 화면을 지우려면 %1을 사용하십시오.</translation>
+ <translation>기록을 탐색하려면 '위'와 '아래' 화살표를 사용하고, 화면을 지우려면 %1을 사용하십시오.</translation>
</message>
<message>
<source>Type %1 for an overview of available commands.</source>
@@ -1893,11 +2111,11 @@
</message>
<message>
<source>WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramifications of a command.</source>
- <translation>경고 : 사기꾼이 사용자에게 여기에 명령을 입력하게 하여 지갑 내용을 훔칠수 있다는 사실을 알려드립니다. 명령어를 완전히 이해하지 못한다면 콘솔을 사용하지 마십시오.</translation>
+ <translation>경고 : 사기꾼들이 사용자들에게 여기에 명령을 입력하게 해 지갑 내용을 훔친 사건이 발생하였습니다. 명령어를 완전히 이해하지 못한다면 이 콘솔을 사용하지 마십시오.</translation>
</message>
<message>
<source>Network activity disabled</source>
- <translation>네트워크 활동이 정지됨.</translation>
+ <translation>네트워크 활동이 정지되었습니다.</translation>
</message>
<message>
<source>Executing command without any wallet</source>
@@ -1960,11 +2178,19 @@
</message>
<message>
<source>An optional amount to request. Leave this empty or zero to not request a specific amount.</source>
- <translation>요청할 금액 입력칸으로 선택 사항입니다. 빈 칸으로 두거나 특정 금액이 필요하지 않는 경우 0을 입력하세요.</translation>
+ <translation>요청할 금액 입력칸으로 선택 사항입니다. 빈 칸으로 두거나 특정 금액이 필요하지 않는 경우 0을 입력하십시오.</translation>
+ </message>
+ <message>
+ <source>An optional label to associate with the new receiving address (used by you to identify an invoice). It is also attached to the payment request.</source>
+ <translation>새 수신 주소와 연결할 선택적 레이블 (사용자가 송장을 식별하는 데 사용함). 지불 요청에도 첨부됩니다.</translation>
+ </message>
+ <message>
+ <source>An optional message that is attached to the payment request and may be displayed to the sender.</source>
+ <translation>지불 요청에 첨부되고 발신자에게 표시 될 수있는 선택적 메시지입니다.</translation>
</message>
<message>
<source>&amp;Create new receiving address</source>
- <translation>&amp;새 받을 주소 생성하기</translation>
+ <translation>새로운 수신 주소 생성(&amp;C)</translation>
</message>
<message>
<source>Clear all fields of the form.</source>
@@ -1976,11 +2202,11 @@
</message>
<message>
<source>Native segwit addresses (aka Bech32 or BIP-173) reduce your transaction fees later on and offer better protection against typos, but old wallets don't support them. When unchecked, an address compatible with older wallets will be created instead.</source>
- <translation>세그윗 주소(Bech32 또는 BIP-173)는 거래 수수료를 줄여주고 오입력을 방지하지만 구버전 지갑은 이를 지원하지 않습니다. 체크하지 않으면 구버전 지갑과 호환되는 주소가 생성됩니다.</translation>
+ <translation>네이티브 세그윗 주소(Bech32 또는 BIP-173)는 거래 수수료를 줄여주고 오입력을 방지하지만 구버전 지갑은 이를 지원하지 않습니다. 체크하지 않으면 구버전 지갑과 호환되는 주소가 대신 생성됩니다.</translation>
</message>
<message>
<source>Generate native segwit (Bech32) address</source>
- <translation>Bech32 세그윗 주소 생성</translation>
+ <translation>네이티브 세그윗(Bech32) 주소 생성</translation>
</message>
<message>
<source>Requested payments history</source>
@@ -1988,7 +2214,7 @@
</message>
<message>
<source>Show the selected request (does the same as double clicking an entry)</source>
- <translation>선택된 요청을 표시하기 (더블 클릭으로 항목을 표시할 수 있습니다)</translation>
+ <translation>선택된 요청을 표시하기 (더블 클릭으로도 항목을 표시할 수 있습니다)</translation>
</message>
<message>
<source>Show</source>
@@ -1996,7 +2222,7 @@
</message>
<message>
<source>Remove the selected entries from the list</source>
- <translation>목록에서 삭제할 항목을 선택하시오</translation>
+ <translation>목록에서 선택된 항목을 삭제</translation>
</message>
<message>
<source>Remove</source>
@@ -2022,14 +2248,30 @@
<source>Could not unlock wallet.</source>
<translation>지갑을 잠금해제 할 수 없습니다.</translation>
</message>
- </context>
+ <message>
+ <source>Could not generate new %1 address</source>
+ <translation>새로운 %1 주소를 생성 할 수 없습니다.</translation>
+ </message>
+</context>
<context>
<name>ReceiveRequestDialog</name>
<message>
+ <source>Request payment to ...</source>
+ <translation>결제 요청을 다음에게...</translation>
+ </message>
+ <message>
+ <source>Address:</source>
+ <translation>주소:</translation>
+ </message>
+ <message>
<source>Amount:</source>
<translation>거래액:</translation>
</message>
<message>
+ <source>Label:</source>
+ <translation>라벨:</translation>
+ </message>
+ <message>
<source>Message:</source>
<translation>메시지:</translation>
</message>
@@ -2051,7 +2293,7 @@
</message>
<message>
<source>Request payment to %1</source>
- <translation>%1에 지불을 요청했습니다</translation>
+ <translation>%1에 지불을 요청</translation>
</message>
<message>
<source>Payment information</source>
@@ -2086,7 +2328,7 @@
</message>
<message>
<source>Requested</source>
- <translation>요청됨</translation>
+ <translation>요청 완료</translation>
</message>
</context>
<context>
@@ -2141,7 +2383,7 @@
</message>
<message>
<source>Custom change address</source>
- <translation>주소변경</translation>
+ <translation>주소 변경</translation>
</message>
<message>
<source>Transaction Fee:</source>
@@ -2153,7 +2395,7 @@
</message>
<message>
<source>Using the fallbackfee can result in sending a transaction that will take several hours or days (or never) to confirm. Consider choosing your fee manually or wait until you have validated the complete chain.</source>
- <translation>Fallbackfee를 사용하게 될 경우 보낸 거래가 승인이 완료 될 때까지 몇 시간 혹은 몇 일 (혹은 영원히) 이 걸릴 수 있습니다. 수동으로 수수료를 선택하거나 전체 체인의 유효성이 검증될 때까지 기다리십시오.</translation>
+ <translation>고장 대체 수수료를 사용하게 될 경우 보낸 거래가 승인이 완료 될 때까지 몇 시간 혹은 몇 일 (혹은 영원히) 이 걸릴 수 있습니다. 수동으로 수수료를 선택하거나 전체 체인의 유효성이 검증될 때까지 기다리십시오.</translation>
</message>
<message>
<source>Warning: Fee estimation is currently not possible.</source>
@@ -2165,11 +2407,11 @@
Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis per kB" for a transaction size of 500 bytes (half of 1 kB) would ultimately yield a fee of only 50 satoshis.</source>
<translation>거래 가상 크기의 kB (1,000 바이트)당 수수료을 지정하십시오.
-참고 : 수수료는 바이트 단위로 계산되므로 거래 크기가 500 바이트 (1kB의 절반)일때에 수수료가 "100 satoshis / kB"이면 궁극적으로 50사토시의 수수료만 발생합니다.</translation>
+참고 : 수수료는 바이트 단위로 계산되므로 거래 크기가 500 바이트 (1kB의 절반)일때에 수수료가 "kB당 100 사토시"면 궁극적으로 50 사토시의 수수료만 발생합니다.</translation>
</message>
<message>
<source>per kilobyte</source>
- <translation>킬로바이트 당</translation>
+ <translation>/ 킬로바이트 당</translation>
</message>
<message>
<source>Hide</source>
@@ -2209,7 +2451,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>When there is less transaction volume than space in the blocks, miners as well as relaying nodes may enforce a minimum fee. Paying only this minimum fee is just fine, but be aware that this can result in a never confirming transaction once there is more demand for bitcoin transactions than the network can process.</source>
- <translation>거래량이 블록에 남은 공간보다 적은 경우에는 채굴자나 중계 노드들이 최소 수수료를 허용할 수 있습니다. 최소 수수료만 지불하는건 괜찮지만, 네트워크가 처리할 수 있는 용량을 넘는 비트코인 거래가 있을 경우에는 이 거래가 승인이 안될 수 있다는 점을 유의하세요.</translation>
+ <translation>거래량이 블록에 남은 공간보다 적은 경우, 채굴자나 중계 노드들이 최소 수수료를 허용할 수 있습니다. 최소 수수료만 지불하는건 괜찮지만, 네트워크가 처리할 수 있는 용량을 넘는 비트코인 거래가 있을 경우에는 이 거래가 승인이 안될 수 있다는 점을 유의하세요.</translation>
</message>
<message>
<source>A too low fee might result in a never confirming transaction (read the tooltip)</source>
@@ -2221,11 +2463,11 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Enable Replace-By-Fee</source>
- <translation>Replace-By-Fee 옵션 활성화</translation>
+ <translation>'수수료로-대체' 옵션 활성화</translation>
</message>
<message>
<source>With Replace-By-Fee (BIP-125) you can increase a transaction's fee after it is sent. Without this, a higher fee may be recommended to compensate for increased transaction delay risk.</source>
- <translation>Replace-By-Fee (BIP-125) 옵션은 보낸 거래의 수수료 상향을 지원해 줍니다. 이 옵션이 없을 경우 거래 지연을 방지하기 위해 더 높은 수수료가 권장됩니다.</translation>
+ <translation>'수수료-대체' (BIP-125) 옵션은 보낸 거래의 수수료 상향을 지원해 줍니다. 이 옵션이 없을 경우 거래 지연을 방지하기 위해 더 높은 수수료가 권장됩니다.</translation>
</message>
<message>
<source>Clear &amp;All</source>
@@ -2241,7 +2483,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>S&amp;end</source>
- <translation>보내기(&amp;E)</translation>
+ <translation>보내기(&amp;e)</translation>
</message>
<message>
<source>Copy quantity</source>
@@ -2261,7 +2503,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Copy bytes</source>
- <translation>bytes 복사</translation>
+ <translation>바이트 복사</translation>
</message>
<message>
<source>Copy dust</source>
@@ -2273,31 +2515,63 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>%1 (%2 blocks)</source>
- <translation>%1(%2 블록)</translation>
+ <translation>%1 (%2 블록)</translation>
+ </message>
+ <message>
+ <source>Cr&amp;eate Unsigned</source>
+ <translation>사인되지 않은 것을 생성(&amp;e)</translation>
+ </message>
+ <message>
+ <source>Creates a Partially Signed Bitcoin Transaction (PSBT) for use with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
+ <translation>오프라인 %1 지갑 또는 PSBT가 호환되는 하드웨어 지갑과의 사용을 위한 '부분적으로 서명 된 비트 코인 트랜잭션(PSBT)'를 생성합니다.</translation>
</message>
<message>
<source> from wallet '%1'</source>
- <translation>%1 지갑에서</translation>
+ <translation>'%1' 지갑에서</translation>
</message>
<message>
<source>%1 to '%2'</source>
- <translation>%1을(를) %2(으)로</translation>
+ <translation>%1을 '%2'로</translation>
</message>
<message>
<source>%1 to %2</source>
- <translation>%1을(를) %2(으)로</translation>
+ <translation>%1을 %2로</translation>
+ </message>
+ <message>
+ <source>Do you want to draft this transaction?</source>
+ <translation>이 거래 초안을 작성 하시겠습니까?</translation>
</message>
<message>
<source>Are you sure you want to send?</source>
<translation>정말로 보내시겠습니까?</translation>
</message>
<message>
+ <source>Create Unsigned</source>
+ <translation>서명되지 않은 것을 생성</translation>
+ </message>
+ <message>
+ <source>Save Transaction Data</source>
+ <translation>트랜잭션 데이터 저장</translation>
+ </message>
+ <message>
+ <source>Partially Signed Transaction (Binary) (*.psbt)</source>
+ <translation>부분적으로 서명된 비트코인 트랜잭션 (2진 표기) (*.psbt)</translation>
+ </message>
+ <message>
+ <source>PSBT saved</source>
+ <translation>PSBT 저장됨</translation>
+ </message>
+ <message>
<source>or</source>
<translation>또는</translation>
</message>
<message>
<source>You can increase the fee later (signals Replace-By-Fee, BIP-125).</source>
- <translation>추후에 거래 수수료를 올릴 수 있습니다 (Replace-By-Fee, BIP-125 지원)</translation>
+ <translation>추후에 거래 수수료를 올릴 수 있습니다 ('수수료로-대체', BIP-125 지원)</translation>
+ </message>
+ <message>
+ <source>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can save or copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
+ <translation>거래 제안을 검토해 주십시오. 이것은 당신이 저장하거나 복사한 뒤 e.g. 오프라인 %1 지갑 또는 PSBT 호환 하드웨어 지갑으로 서명할 수 있는 PSBT (부분적으로 서명된 비트코인 트랜잭션)를 생성할 것입니다.</translation>
</message>
<message>
<source>Please, review your transaction.</source>
@@ -2309,7 +2583,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Not signalling Replace-By-Fee, BIP-125.</source>
- <translation>Replace-By-Fee, BIP-125 지원 안함</translation>
+ <translation>'수수료로-대체', BIP-125를 지원하지 않습니다.</translation>
</message>
<message>
<source>Total Amount</source>
@@ -2317,19 +2591,23 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>To review recipient list click "Show Details..."</source>
- <translation>수령인 목록을 검토하려면 "거래 세부 내역 보기" 를 클릭하십시오</translation>
+ <translation>수령인 목록을 검토하려면 "거래 세부 내역 보기..." 를 클릭하십시오</translation>
</message>
<message>
<source>Confirm send coins</source>
<translation>코인 전송을 확인</translation>
</message>
<message>
+ <source>Confirm transaction proposal</source>
+ <translation>거래 제안 확인</translation>
+ </message>
+ <message>
<source>Send</source>
<translation>보내기</translation>
</message>
<message>
<source>Watch-only balance:</source>
- <translation>조회전용 잔액:</translation>
+ <translation>조회-전용 잔액:</translation>
</message>
<message>
<source>The recipient address is not valid. Please recheck.</source>
@@ -2345,7 +2623,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
- <translation>%1 의 거래수수료를 포함하면 잔고를 초과합니다.</translation>
+ <translation>%1 의 거래 수수료를 포함하면 잔고를 초과합니다.</translation>
</message>
<message>
<source>Duplicate address found: addresses should only be used once each.</source>
@@ -2369,11 +2647,11 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Warning: Invalid Bitcoin address</source>
- <translation>경고: 잘못된 비트코인주소입니다</translation>
+ <translation>경고: 잘못된 비트코인 주소입니다</translation>
</message>
<message>
<source>Warning: Unknown change address</source>
- <translation>경고: 알려지지 않은 주소변경입니다</translation>
+ <translation>경고: 알려지지 않은 주소 변경입니다</translation>
</message>
<message>
<source>Confirm custom change address</source>
@@ -2427,6 +2705,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>입력된 항목 삭제</translation>
</message>
<message>
+ <source>The amount to send in the selected unit</source>
+ <translation>선택한 단위로 보낼 수량</translation>
+ </message>
+ <message>
<source>The fee will be deducted from the amount being sent. The recipient will receive less bitcoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
<translation>수수료가 송금되는 금액에서 공제됩니다. 수령자는 금액 필드에서 입력한 금액보다 적은 금액을 전송받게 됩니다. 받는 사람이 여러 명인 경우 수수료는 균등하게 나누어집니다.</translation>
</message>
@@ -2553,6 +2835,14 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>메세지의 서명에 사용된 비트코인 주소</translation>
</message>
<message>
+ <source>The signed message to verify</source>
+ <translation>검증할 서명된 메세지</translation>
+ </message>
+ <message>
+ <source>The signature given when the message was signed</source>
+ <translation>메세지의 서명되었을 때의 시그니처</translation>
+ </message>
+ <message>
<source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
<translation>입력된 비트코인 주소로 메시지가 서명되었는지 검증합니다</translation>
</message>
@@ -2618,7 +2908,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Message verified.</source>
- <translation>메시지가 검증됐습니다.</translation>
+ <translation>메시지가 검증되었습니다.</translation>
</message>
</context>
<context>
@@ -2664,7 +2954,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>%1 confirmations</source>
- <translation>%1 확인됨</translation>
+ <translation>%1 확인 완료</translation>
</message>
<message>
<source>Status</source>
@@ -2688,7 +2978,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>unknown</source>
- <translation>알수없음</translation>
+ <translation>알 수 없음</translation>
</message>
<message>
<source>To</source>
@@ -2700,7 +2990,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>watch-only</source>
- <translation>조회전용</translation>
+ <translation>조회-전용</translation>
</message>
<message>
<source>label</source>
@@ -2768,7 +3058,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Merchant</source>
- <translation>상점</translation>
+ <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>
@@ -2862,15 +3152,15 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Received with</source>
- <translation>받음(받은 주소)</translation>
+ <translation>받은 주소 :</translation>
</message>
<message>
<source>Received from</source>
- <translation>받음(보낸 주소)</translation>
+ <translation>보낸 주소 :</translation>
</message>
<message>
<source>Sent to</source>
- <translation>보냄(받는 주소)</translation>
+ <translation>받는 주소 :</translation>
</message>
<message>
<source>Payment to yourself</source>
@@ -2882,7 +3172,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>watch-only</source>
- <translation>조회전용</translation>
+ <translation>조회-전용</translation>
</message>
<message>
<source>(n/a)</source>
@@ -2894,7 +3184,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
- <translation>거래상황. 마우스를 올리면 검증횟수가 표시됩니다.</translation>
+ <translation>거래 상황. 마우스를 올리면 검증횟수가 표시됩니다.</translation>
</message>
<message>
<source>Date and time that the transaction was received.</source>
@@ -2906,7 +3196,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Whether or not a watch-only address is involved in this transaction.</source>
- <translation>조회전용 주소가 이 거래에 참여하는지 여부입니다.</translation>
+ <translation>조회-전용 주소가 이 거래에 참여하는지 여부입니다.</translation>
</message>
<message>
<source>User-defined intent/purpose of the transaction.</source>
@@ -2949,15 +3239,15 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Received with</source>
- <translation>받은 주소</translation>
+ <translation>받은 주소 :</translation>
</message>
<message>
<source>Sent to</source>
- <translation>보낸 주소</translation>
+ <translation>보낸 주소 :</translation>
</message>
<message>
<source>To yourself</source>
- <translation>자기거래</translation>
+ <translation>자기 거래</translation>
</message>
<message>
<source>Mined</source>
@@ -2969,7 +3259,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Enter address, transaction id, or label to search</source>
- <translation>검색하기 위한 주소, 거래 아이디 또는 라벨 입력</translation>
+ <translation>검색하기 위한 주소, 거래 아이디 또는 라벨을 입력하십시오.</translation>
</message>
<message>
<source>Min amount</source>
@@ -3001,7 +3291,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Copy raw transaction</source>
- <translation>거래 원본(raw transaction) 복사</translation>
+ <translation>거래 원본 복사</translation>
</message>
<message>
<source>Copy full transaction details</source>
@@ -3029,7 +3319,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Watch-only</source>
- <translation>조회전용</translation>
+ <translation>조회-전용</translation>
</message>
<message>
<source>Date</source>
@@ -3073,7 +3363,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>to</source>
- <translation>상대방</translation>
+ <translation>수신인</translation>
</message>
</context>
<context>
@@ -3095,12 +3385,28 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
- <translation>블록축소를 하고 지갑을 너무 오랫동안 닫으면 체인 전체를 다시 동기화해야 할 수도 있습니다.</translation>
+ <translation>지갑을 너무 오랫동안 닫는 것은 블록 축소가 적용될 경우 체인 전체 재 동기화로 이어질 수 있습니다.</translation>
</message>
- </context>
+ <message>
+ <source>Close all wallets</source>
+ <translation>모든 지갑 닫기</translation>
+ </message>
+ <message>
+ <source>Are you sure you wish to close all wallets?</source>
+ <translation>정말로 모든 지갑들을 닫으시겠습니까?</translation>
+ </message>
+</context>
<context>
<name>WalletFrame</name>
<message>
+ <source>No wallet has been loaded.
+Go to File &gt; Open Wallet to load a wallet.
+- OR -</source>
+ <translation>지갑이 로드되지 않았습니다.
+'파일 &gt; 지갑 열기'로 이동하여 지갑을 로드합니다.
+-또는-</translation>
+ </message>
+ <message>
<source>Create a new wallet</source>
<translation>새로운 지갑 생성하기</translation>
</message>
@@ -3113,7 +3419,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Fee bump error</source>
- <translation>수수료 상향 오류</translation>
+ <translation>수수료 범프 오류</translation>
</message>
<message>
<source>Increasing transaction fee failed</source>
@@ -3124,6 +3430,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>수수료를 올리시겠습니까?</translation>
</message>
<message>
+ <source>Do you want to draft a transaction with fee increase?</source>
+ <translation>수수료가 인상 된 거래를 작성 하시겠습니까?</translation>
+ </message>
+ <message>
<source>Current fee:</source>
<translation>현재 수수료:</translation>
</message>
@@ -3137,7 +3447,11 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Confirm fee bump</source>
- <translation>수수료 상향 승인</translation>
+ <translation>수수료 범프 승인</translation>
+ </message>
+ <message>
+ <source>Can't draft transaction.</source>
+ <translation>거래 초안을 작성할 수 없습니다.</translation>
</message>
<message>
<source>PSBT copied</source>
@@ -3171,6 +3485,26 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>오류</translation>
</message>
<message>
+ <source>Unable to decode PSBT from clipboard (invalid base64)</source>
+ <translation>클립 보드에서 PSBT를 디코딩 할 수 없습니다 (잘못된 base64).</translation>
+ </message>
+ <message>
+ <source>Load Transaction Data</source>
+ <translation>트랜젝션 데이터 불러오기</translation>
+ </message>
+ <message>
+ <source>Partially Signed Transaction (*.psbt)</source>
+ <translation>부분적으로 서명된 비트코인 트랜잭션 (* .psbt)</translation>
+ </message>
+ <message>
+ <source>PSBT file must be smaller than 100 MiB</source>
+ <translation>PSBT 파일은 100MiB보다 작아야합니다.</translation>
+ </message>
+ <message>
+ <source>Unable to decode PSBT</source>
+ <translation>PSBT를 디코드 할 수 없음</translation>
+ </message>
+ <message>
<source>Backup Wallet</source>
<translation>지갑 백업</translation>
</message>
@@ -3184,7 +3518,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>There was an error trying to save the wallet data to %1.</source>
- <translation>지갑 데이터를 %1 폴더에 저장하는 동안 오류가 발생했습니다.</translation>
+ <translation>지갑 데이터를 %1 폴더에 저장하는 동안 오류가 발생 하였습니다.</translation>
</message>
<message>
<source>Backup Successful</source>
@@ -3203,11 +3537,11 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<name>bitcoin-core</name>
<message>
<source>Distributed under the MIT software license, see the accompanying file %s or %s</source>
- <translation>MIT 소프트웨어 라이센스에 따라 배포 됨, 첨부 파일 %s 또는 %s을 참조하십시오.</translation>
+ <translation>MIT 소프트웨어 라이센스에 따라 배포되었습니다. 첨부 파일 %s 또는 %s을 참조하십시오.</translation>
</message>
<message>
<source>Prune configured below the minimum of %d MiB. Please use a higher number.</source>
- <translation>블록 축소가 최소치인 %d MiB 밑으로 설정되어 있습니다. 더 높은 값을 사용해 주세요.</translation>
+ <translation>블록 축소가 최소치인 %d MiB 밑으로 설정되어 있습니다. 더 높은 값을 사용해 주십시오.</translation>
</message>
<message>
<source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source>
@@ -3223,19 +3557,23 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>The %s developers</source>
- <translation>%s 개발자</translation>
+ <translation>%s 개발자들</translation>
</message>
<message>
<source>Cannot obtain a lock on data directory %s. %s is probably already running.</source>
- <translation>%s 데이터 디렉토리에 락을 걸 수 없었습니다. %s가 이미 실행 중인 것으로 보입니다.</translation>
+ <translation>데이터 디렉토리 %s 에 락을 걸 수 없었습니다. %s가 이미 실행 중인 것으로 보입니다.</translation>
</message>
<message>
<source>Cannot provide specific connections and have addrman find outgoing connections at the same.</source>
- <translation>특정 연결을 제공 할 수없고 addrman이 나가는 연결을 찾을 수 없습니다.</translation>
+ <translation>특정 연결을 제공 할 수없고 어드맨이 나가는 연결을 찾을 수 없습니다.</translation>
</message>
<message>
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
- <translation>%s 불러오기 오류: 주소 키는 모두 정확하게 로드되었으나 거래 데이터와 주소록 필드에서 누락이나 오류가 존재할 수 있습니다.</translation>
+ <translation>%s 불러오기 오류! 주소 키는 모두 정확하게 로드되었으나 거래 데이터와 주소록 필드에서 누락이나 오류가 존재할 수 있습니다.</translation>
+ </message>
+ <message>
+ <source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
+ <translation>하나 이상의 양파 바인딩 주소가 제공됩니다. 자동으로 생성 된 Tor onion 서비스에 %s 사용.</translation>
</message>
<message>
<source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
@@ -3243,15 +3581,27 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
- <translation>%s가 유용하다고 생각한다면 프로젝트에 공헌해주세요. 이 소프트웨어에 대한 보다 자세한 정보는 %s를 방문해주십시오.</translation>
+ <translation>%s가 유용하다고 생각한다면 프로젝트에 공헌해주세요. 이 소프트웨어에 대한 보다 자세한 정보는 %s를 방문해 주십시오.</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to prepare the statement to fetch sqlite wallet schema version: %s</source>
+ <translation>에스큐엘라이트 데이터베이스 : 에스큐엘라이트 지갑 스키마 버전을 가져오는 실행문 준비에 실패하였습니다 : %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to prepare the statement to fetch the application id: %s</source>
+ <translation>에스큐엘라이트 데이터베이스 : 응용 프로그램 ID를 가져오는 실행문 준비에 실패하였습니다 : %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
+ <translation>에스큐엘라이트 데이터베이스 : 알 수 없는 에스큐엘라이트 지갑 스키마 버전 %d. %d 버전만 지원합니다.</translation>
</message>
<message>
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
- <translation>블록 데이터베이스에 미래의 블록이 포함되어 있습니다. 이것은 사용자의 컴퓨터의 날짜와 시간이 올바르게 설정되어 있지 않을때 나타날 수 있습니다. 만약 사용자의 컴퓨터의 날짜와 시간이 올바르다고 확신할 때에만 블록 데이터 베이스의 재구성을 하십시오</translation>
+ <translation>블록 데이터베이스에 미래의 블록이 포함되어 있습니다. 이것은 사용자의 컴퓨터의 날짜와 시간이 올바르게 설정되어 있지 않을때 나타날 수 있습니다. 블록 데이터 베이스의 재구성은 사용자의 컴퓨터의 날짜와 시간이 올바르다고 확신할 때에만 하십시오.</translation>
</message>
<message>
<source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source>
- <translation>출시 전의 테스트 빌드 입니다. 스스로의 책임하에 사용하십시오. 채굴이나 상업적 용도로 사용하지 마십시오.</translation>
+ <translation>출시 전의 테스트 빌드 입니다. - 스스로의 책임하에 사용하십시오. - 채굴이나 상업적 용도로 사용하지 마십시오.</translation>
</message>
<message>
<source>This is the transaction fee you may discard if change is smaller than dust at this level</source>
@@ -3287,7 +3637,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Config setting for %s only applied on %s network when in [%s] section.</source>
- <translation>%s의 설정은 [%s] 항목에 있을 때 %s 네트워크에만 적용됩니다.</translation>
+ <translation>%s의 설정은 %s 네트워크에만 적용되는 데, 이는 [%s] 항목에 있을 경우 뿐 입니다.</translation>
</message>
<message>
<source>Copyright (C) %i-%i</source>
@@ -3299,11 +3649,11 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Could not find asmap file %s</source>
- <translation>asmap file %s 을/를 찾을 수 없습니다</translation>
+ <translation>asmap file %s 을 찾을 수 없습니다</translation>
</message>
<message>
<source>Could not parse asmap file %s</source>
- <translation>asmap file %s 을/를 파싱할 수 없습니다</translation>
+ <translation>asmap file %s 을 파싱할 수 없습니다</translation>
</message>
<message>
<source>Do you want to rebuild the block database now?</source>
@@ -3311,15 +3661,15 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Error initializing block database</source>
- <translation>블록 데이터베이스를 초기화하는데 오류</translation>
+ <translation>블록 데이터베이스 초기화 오류 발생</translation>
</message>
<message>
<source>Error initializing wallet database environment %s!</source>
- <translation>지갑 데이터베이스 환경 초기화하는데 오류 %s</translation>
+ <translation>지갑 데이터베이스 %s 환경 초기화 오류 발생!</translation>
</message>
<message>
<source>Error loading %s</source>
- <translation>%s 불러오기 오류</translation>
+ <translation>%s 불러오기 오류 발생</translation>
</message>
<message>
<source>Error loading %s: Private keys can only be disabled during creation</source>
@@ -3331,35 +3681,39 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Error loading %s: Wallet requires newer version of %s</source>
- <translation>%s 불러오기 에러: 지갑은 새 버전의 %s이 필요합니다</translation>
+ <translation>%s 불러오기 오류: 지갑은 새 버전의 %s이 필요합니다</translation>
</message>
<message>
<source>Error loading block database</source>
- <translation>블록 데이터베이스를 불러오는데 오류</translation>
+ <translation>블록 데이터베이스 불러오는데 오류 발생</translation>
</message>
<message>
<source>Error opening block database</source>
- <translation>블록 데이터베이스를 여는데 오류</translation>
+ <translation>블록 데이터베이스 열기 오류 발생</translation>
</message>
<message>
<source>Failed to listen on any port. Use -listen=0 if you want this.</source>
- <translation>어떤 포트도 열지 못했습니다. 필요하다면 -listen=0 옵션을 사용하세요.</translation>
+ <translation>포트 연결에 실패하였습니다. 필요하다면 -리슨=0 옵션을 사용하십시오.</translation>
</message>
<message>
<source>Failed to rescan the wallet during initialization</source>
<translation>지갑 스캔 오류</translation>
</message>
<message>
+ <source>Failed to verify database</source>
+ <translation>데이터베이스를 검증 실패</translation>
+ </message>
+ <message>
<source>Importing...</source>
<translation>불러오는 중...</translation>
</message>
<message>
<source>Incorrect or no genesis block found. Wrong datadir for network?</source>
- <translation>제네시스 블록이 없거나 잘못됐습니다. 네트워크의 datadir이 잘못됐을수도 있습니다.</translation>
+ <translation>제네시스 블록이 없거나 잘 못 되었습니다. 네트워크의 datadir을 확인해 주십시오.</translation>
</message>
<message>
<source>Initialization sanity check failed. %s is shutting down.</source>
- <translation>무결성 확인 초기화가 실패했습니다. %s가 종료됩니다.</translation>
+ <translation>무결성 확인 초기화에 실패하였습니다. %s가 곧 종료됩니다.</translation>
</message>
<message>
<source>Invalid P2P permission: '%s'</source>
@@ -3378,6 +3732,26 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>유효하지 않은 금액 -fallbackfee=&lt;amount&gt;: '%s'</translation>
</message>
<message>
+ <source>SQLiteDatabase: Failed to execute statement to verify database: %s</source>
+ <translation>에스큐엘라이트 데이터베이스 : 데이터베이스를 확인하는 실행문 출력을 실패하였습니다 : %s.</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to fetch sqlite wallet schema version: %s</source>
+ <translation>에스큐엘라이트 데이터베이스 : 에스큐엘라이트 지갑 스키마 버전 가져오기를 실패하였습니다 : %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to fetch the application id: %s</source>
+ <translation>에스큐엘라이트 데이터베이스 : 어플리케이션 아이디 가져오기를 실패하였습니다 : %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to prepare statement to verify database: %s</source>
+ <translation>에스큐엘라이트 데이터베이스 : 데이터베이스를 확인하는 실행문 준비에 실패하였습니다 : %s.</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Unexpected application id. Expected %u, got %u</source>
+ <translation>에스큐엘라이트 데이터베이스 : 예상 못한 어플리케이션 아이디. 예정: %u, 받음: %u</translation>
+ </message>
+ <message>
<source>Specified blocks directory "%s" does not exist.</source>
<translation>지정한 블록 디렉토리 "%s" 가 존재하지 않습니다.</translation>
</message>
@@ -3411,11 +3785,11 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Replaying blocks...</source>
- <translation>블록 재생중...</translation>
+ <translation>블록 재생 중...</translation>
</message>
<message>
<source>Rewinding blocks...</source>
- <translation>블록 되감는중...</translation>
+ <translation>블록 되감는 중...</translation>
</message>
<message>
<source>The source code is available from %s.</source>
@@ -3447,15 +3821,23 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Verifying blocks...</source>
- <translation>블록 검증중...</translation>
+ <translation>블록 검증 중...</translation>
</message>
<message>
<source>Wallet needed to be rewritten: restart %s to complete</source>
- <translation>지갑을 새로 써야 합니다: 진행을 위해 %s 를 다시 시작하세요.</translation>
+ <translation>지갑을 새로 써야 합니다: 진행을 위해 %s 를 다시 시작하십시오</translation>
</message>
<message>
<source>Error: Listening for incoming connections failed (listen returned error %s)</source>
- <translation>오류: 들어오는 연결을 허용하는데 실패했습니다 (listen returned error %s)</translation>
+ <translation>오류: 들어오는 연결을 허용하는데 실패했습니다 (리슨 오류: %s)</translation>
+ </message>
+ <message>
+ <source>%s corrupt. Try using the wallet tool bitcoin-wallet to salvage or restoring a backup.</source>
+ <translation>%s가 손상되었습니다. '비트 코인-지갑'을 사용하여 백업을 구제하거나 복원하십시오.</translation>
+ </message>
+ <message>
+ <source>Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use version 169900 or no version specified.</source>
+ <translation>HD 분할을 하지 않은 지갑은 pre split keypool로 업그레이드 하지 않고는 업그레이드를 진행할 수 없습니다. 버전 169900나 버전을 지정하지 않는 것을 사용해주십시오.</translation>
</message>
<message>
<source>Invalid amount for -maxtxfee=&lt;amount&gt;: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source>
@@ -3466,12 +3848,36 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>거래액이 수수료를 지불하기엔 너무 작습니다</translation>
</message>
<message>
+ <source>This error could occur if this wallet was not shutdown cleanly and was last loaded using a build with a newer version of Berkeley DB. If so, please use the software that last loaded this wallet</source>
+ <translation>지갑이 완전히 종료되지 않고 최신 버전의 Berkeley DB 빌드를 사용하여 마지막으로 로드된 경우 오류가 발생할 수 있습니다. 이 지갑을 마지막으로 로드한 소프트웨어를 사용하십시오.</translation>
+ </message>
+ <message>
+ <source>This is the maximum transaction fee you pay (in addition to the normal fee) to prioritize partial spend avoidance over regular coin selection.</source>
+ <translation>이것은 일반 코인 선택보다 부분적 지출 회피를 우선시하기 위해 지불하는 최대 거래 수수료 (일반 수수료에 추가)입니다.</translation>
+ </message>
+ <message>
+ <source>Transaction needs a change address, but we can't generate it. Please call keypoolrefill first.</source>
+ <translation>거래에 변경 주소가 필요하지만 생성 할 수 없습니다. 먼저 keypoolrefill에 전화하십시오.</translation>
+ </message>
+ <message>
<source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source>
<translation>블록 축소 모드를 해제하려면 데이터베이스를 재구성하기 위해 -reindex를 사용해야 합니다. 이 명령은 전체 블록체인을 다시 다운로드합니다.</translation>
</message>
<message>
+ <source>A fatal internal error occurred, see debug.log for details</source>
+ <translation>치명적 내부 오류 발생. 상세한 내용을 debug.log 에서 확인하십시오</translation>
+ </message>
+ <message>
+ <source>Cannot set -peerblockfilters without -blockfilterindex.</source>
+ <translation>-blockfilterindex는 -peerblockfilters 없이 사용할 수 없습니다.</translation>
+ </message>
+ <message>
+ <source>Disk space is too low!</source>
+ <translation>디스크 용량이 부족함!</translation>
+ </message>
+ <message>
<source>Error reading from database, shutting down.</source>
- <translation>블록 데이터베이스를 불러오는데 오류가 발생하였습니다, 종료됩니다.</translation>
+ <translation>블록 데이터베이스를 불러오는데 오류가 발생하였습니다, 곧 종료됩니다.</translation>
</message>
<message>
<source>Error upgrading chainstate database</source>
@@ -3482,6 +3888,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>오류: %s 하기엔 저장공간이 부족합니다</translation>
</message>
<message>
+ <source>Error: Keypool ran out, please call keypoolrefill first</source>
+ <translation>오류: 키풀이 바닥남, 키풀 리필을 먼저 호출할 하십시오</translation>
+ </message>
+ <message>
<source>Invalid -onion address or hostname: '%s'</source>
<translation>올바르지 않은 -onion 주소 또는 호스트 이름: '%s'</translation>
</message>
@@ -3491,7 +3901,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Invalid amount for -paytxfee=&lt;amount&gt;: '%s' (must be at least %s)</source>
- <translation>유효하지 않은 금액 -paytxfee=&lt;amount&gt;: "%s" (최소 %s 이상이어야 됨)</translation>
+ <translation>유효하지 않은 금액 -paytxfee=&lt;amount&gt;: "%s" (최소 %s 이상이어야 합니다)</translation>
</message>
<message>
<source>Invalid netmask specified in -whitelist: '%s'</source>
@@ -3502,6 +3912,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>-whitebind: '%s' 를 이용하여 포트를 지정해야 합니다</translation>
</message>
<message>
+ <source>No proxy server specified. Use -proxy=&lt;ip&gt; or -proxy=&lt;ip:port&gt;.</source>
+ <translation>프록시 서버가 지정되지 않았습니다. -proxy =&lt;ip&gt; 또는 -proxy =&lt;ip:port&gt;를 사용하십시오.</translation>
+ </message>
+ <message>
<source>Prune mode is incompatible with -blockfilterindex.</source>
<translation>블록 축소 모드는 -blockfileterindex와 호환되지 않습니다.</translation>
</message>
@@ -3569,7 +3983,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Verifying wallet(s)...</source>
- <translation>지갑 검증중...</translation>
+ <translation>지갑 검증 중...</translation>
</message>
<message>
<source>Warning: unknown new rules activated (versionbit %i)</source>
@@ -3592,10 +4006,6 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>%s가 매우 높게 설정되었습니다!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>지갑 %s 로딩 에러, 중복된 -wallet 파일이름을 입력했습니다.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>네트워크 스레드 시작중...</translation>
</message>
@@ -3617,7 +4027,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Transaction has too long of a mempool chain</source>
- <translation>거래가 너무 긴 mempool 체인을 갖고 있습니다</translation>
+ <translation>거래가 너무 긴 메모리 풀 체인을 갖고 있습니다</translation>
</message>
<message>
<source>Transaction must have at least one recipient</source>
@@ -3633,7 +4043,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee.</source>
- <translation>수수료 추정이 실패했습니다. Fallbackfee가 비활성화 상태입니다. 몇 블록을 기다리거나 -fallbackfee를 활성화 하세요.</translation>
+ <translation>수수료 추정이 실패했습니다. 고장 대체 수수료가 비활성화 상태입니다. 몇 블록을 기다리거나 -fallbackfee를 활성화 하십시오.</translation>
</message>
<message>
<source>Warning: Private keys detected in wallet {%s} with disabled private keys</source>
@@ -3641,7 +4051,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Cannot write to data directory '%s'; check permissions.</source>
- <translation>"%s" 데이터 폴더에 기록하지 못했습니다. 접근권한을 확인하세요.</translation>
+ <translation>"%s" 데이터 폴더에 기록하지 못했습니다. 접근권한을 확인하십시오.</translation>
</message>
<message>
<source>Loading block index...</source>
diff --git a/src/qt/locale/bitcoin_ku_IQ.ts b/src/qt/locale/bitcoin_ku_IQ.ts
index 8552770aea..dfadaa80b3 100644
--- a/src/qt/locale/bitcoin_ku_IQ.ts
+++ b/src/qt/locale/bitcoin_ku_IQ.ts
@@ -2,6 +2,10 @@
<context>
<name>AddressBookPage</name>
<message>
+ <source>Right-click to edit address or label</source>
+ <translation>کرتەی-ڕاست بکە بۆ دەسکاری کردنی ناونیشان یان پێناسە</translation>
+ </message>
+ <message>
<source>Create a new address</source>
<translation>ناوونیشانێکی نوێ دروست بکە</translation>
</message>
@@ -10,6 +14,10 @@
<translation>&amp;نوێ</translation>
</message>
<message>
+ <source>Copy the currently selected address to the system clipboard</source>
+ <translation>کۆپیکردنی ناونیشانی هەڵبژێردراوی ئێستا بۆ کلیپ بۆردی سیستەم</translation>
+ </message>
+ <message>
<source>&amp;Copy</source>
<translation>&amp;ڕوونووس</translation>
</message>
@@ -18,6 +26,18 @@
<translation>C&amp;داخستن</translation>
</message>
<message>
+ <source>Delete the currently selected address from the list</source>
+ <translation>سڕینەوەی ناونیشانی هەڵبژێردراوی ئێستا لە لیستەکە</translation>
+ </message>
+ <message>
+ <source>Enter address or label to search</source>
+ <translation>ناونیشانێک بنووسە یان پێناسەیەک داخڵ بکە بۆ گەڕان</translation>
+ </message>
+ <message>
+ <source>Export the data in the current tab to a file</source>
+ <translation>ناردنی داتا لە خشتەبەندی ئێستا بۆ فایلێک</translation>
+ </message>
+ <message>
<source>&amp;Export</source>
<translation>&amp;هەناردن</translation>
</message>
@@ -26,14 +46,52 @@
<translation>&amp;سڕینەوە</translation>
</message>
<message>
+ <source>Choose the address to send coins to</source>
+ <translation>ناونیشانەکە هەڵبژێرە بۆ ناردنی دراوەکان بۆ</translation>
+ </message>
+ <message>
+ <source>Choose the address to receive coins with</source>
+ <translation>ناونیشانەکە هەڵبژێرە بۆ وەرگرتنی دراوەکان لەگەڵ</translation>
+ </message>
+ <message>
+ <source>C&amp;hoose</source>
+ <translation>&amp;هەڵبژێرە</translation>
+ </message>
+ <message>
+ <source>Sending addresses</source>
+ <translation>ناردنی ناونیشانەکان</translation>
+ </message>
+ <message>
+ <source>Receiving addresses</source>
+ <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>
+ <translation>ئەمانە ناونیشانی بیتکۆبیتەکانی تۆنە بۆ ناردنی پارەدانەکان. هەمیشە بڕی و ناونیشانی وەرگرەکان بپشکنە پێش ناردنی دراوەکان.</translation>
+ </message>
+ <message>
+ <source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
+Signing is only possible with addresses of the type 'legacy'.</source>
+ <translation>ئەمانە ناونیشانی بیتکۆبیتەکانی تۆنە بۆ وەرگرتنی پارەدانەکان. دوگمەی 'دروستکردنیناونیشانی وەرگرتنی نوێ' لە تابی وەرگرتندا بۆ دروستکردنی ناونیشانی نوێ بەکاربێنە.
+واژووکردن تەنها دەکرێت لەگەڵ ناونیشانەکانی جۆری 'میرات'.</translation>
+ </message>
+ <message>
<source>&amp;Copy Address</source>
<translation>&amp;ڕوونووسکردن ناوونیشان</translation>
</message>
<message>
+ <source>Copy &amp;Label</source>
+ <translation>کۆپی &amp;ناونیشان</translation>
+ </message>
+ <message>
<source>&amp;Edit</source>
<translation>&amp;دەسکاریکردن</translation>
</message>
- </context>
+ <message>
+ <source>There was an error trying to save the address list to %1. Please try again.</source>
+ <translation>هەڵەیەک ڕوویدا لە هەوڵی خەزنکردنی لیستی ناونیشانەکە بۆ %1. تکایە دووبارە هەوڵ دەوە.</translation>
+ </message>
+</context>
<context>
<name>AddressTableModel</name>
<message>
@@ -43,6 +101,18 @@
</context>
<context>
<name>AskPassphraseDialog</name>
+ <message>
+ <source>Enter the new passphrase for the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;ten or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
+ <translation>دەستەواژەی تێپەڕەوی نوێ تێبنووسە بۆ جزدان.1 تکایە دەستەواژەی تێپەڕێک بەکاربێنە لە 2ten یان زیاتر لە هێما هەڕەمەکیەکان2، یان 38 یان زیاتر ووشەکان3.</translation>
+ </message>
+ <message>
+ <source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
+ <translation>بیرت بێت کە ڕەمزاندنی جزدانەکەت ناتوانێت بەتەواوی بیتکۆبیتەکانت بپارێزێت لە دزرابوون لەلایەن وورنەری تووشکردنی کۆمپیوتەرەکەت.</translation>
+ </message>
+ <message>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation>گرنگ: هەر پاڵپشتێکی پێشووت دروست کردووە لە فایلی جزدانەکەت دەبێت جێگۆڕکێی پێ بکرێت لەگەڵ فایلی جزدانی نهێنی تازە دروستکراو. لەبەر هۆکاری پاراستن، پاڵپشتەکانی پێشووی فایلی جزدانێکی نهێنی نەکراو بێ سوود دەبن هەر کە دەستت کرد بە بەکارهێنانی جزدانی نوێی کۆدکراو.</translation>
+ </message>
</context>
<context>
<name>BanTableModel</name>
@@ -50,6 +120,14 @@
<context>
<name>BitcoinGUI</name>
<message>
+ <source>Click to disable network activity.</source>
+ <translation>کرتە بکە بۆ ناچالاککردنی چالاکی تۆڕ.</translation>
+ </message>
+ <message>
+ <source>Click to enable network activity again.</source>
+ <translation>کرتە بکە بۆ چالاککردنی چالاکی تۆڕی دووبارە.</translation>
+ </message>
+ <message>
<source>&amp;Send</source>
<translation>&amp;ناردن</translation>
</message>
@@ -101,6 +179,42 @@
<translation>ڕوونووسکردن ناوونیشان</translation>
</message>
<message>
+ <source>Copy label</source>
+ <translation>Copy label</translation>
+ </message>
+ <message>
+ <source>Copy amount</source>
+ <translation>Copy amount</translation>
+ </message>
+ <message>
+ <source>Copy transaction ID</source>
+ <translation>Copy transaction ID</translation>
+ </message>
+ <message>
+ <source>Copy quantity</source>
+ <translation>Copy quantity</translation>
+ </message>
+ <message>
+ <source>Copy fee</source>
+ <translation>Copy fee</translation>
+ </message>
+ <message>
+ <source>Copy after fee</source>
+ <translation>Copy after fee</translation>
+ </message>
+ <message>
+ <source>Copy bytes</source>
+ <translation>Copy bytes</translation>
+ </message>
+ <message>
+ <source>Copy dust</source>
+ <translation>Copy dust</translation>
+ </message>
+ <message>
+ <source>Copy change</source>
+ <translation>Copy change</translation>
+ </message>
+ <message>
<source>yes</source>
<translation>بەڵێ</translation>
</message>
@@ -117,6 +231,10 @@
</context>
<context>
<name>EditAddressDialog</name>
+ <message>
+ <source>Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address.</source>
+ <translation>ناونیشان "%1" پێشتر هەبوو وەک ناونیشانی وەرگرتن لەگەڵ ناونیشانی "%2" و بۆیە ناتوانرێت زیاد بکرێت وەک ناونیشانی ناردن.</translation>
+ </message>
</context>
<context>
<name>FreespaceChecker</name>
@@ -124,7 +242,15 @@
<source>name</source>
<translation>ناو</translation>
</message>
- </context>
+ <message>
+ <source>Directory already exists. Add %1 if you intend to create a new directory here.</source>
+ <translation>دایەرێکتۆری پێش ئێستا هەیە. %1 زیاد بکە ئەگەر بەتەما بیت لێرە ڕێنیشاندەرێکی نوێ دروست بکەیت.</translation>
+ </message>
+ <message>
+ <source>Cannot create data directory here.</source>
+ <translation>ناتوانیت لێرە داتا دروست بکەیت.</translation>
+ </message>
+</context>
<context>
<name>HelpMessageDialog</name>
<message>
@@ -139,12 +265,36 @@
<translation>بەخێربێن</translation>
</message>
<message>
+ <source>When you click OK, %1 will begin to download and process the full %4 block chain (%2GB) starting with the earliest transactions in %3 when %4 initially launched.</source>
+ <translation>کاتێک کرتە لە پەسەندە دەکەیت، %1 دەست دەکات بە داگرتن و پرۆسەی زنجیرەبلۆکی %4 (%2GB) بە سەرەتاییترین مامەڵەکان لە %3 دەست پێدەکات کاتێک %4 لە سەرەتادا دەستی پێکرد.</translation>
+ </message>
+ <message>
+ <source>Reverting this setting requires re-downloading the entire blockchain. It is faster to download the full chain first and prune it later. Disables some advanced features.</source>
+ <translation>دووبارە کردنەوەی ئەم ڕێکخستنە پێویستی بە دووبارە داگرتنی تەواوی بەربەستەکە هەیە. خێراترە بۆ داگرتنی زنجیرەی تەواو سەرەتا و داگرتنی دواتر. هەندێک تایبەتمەندی پێشکەوتوو لە کار دەهێنێت.</translation>
+ </message>
+ <message>
+ <source>This initial synchronisation is very demanding, and may expose hardware problems with your computer that had previously gone unnoticed. Each time you run %1, it will continue downloading where it left off.</source>
+ <translation>ئەم هاوکاتکردنە سەرەتاییە زۆر داوای دەکات، و لەوانەیە کێشەکانی رەقەواڵە لەگەڵ کۆمپیوتەرەکەت دابخات کە پێشتر تێبینی نەکراو بوو. هەر جارێک کە %1 رادەدەیت، بەردەوام دەبێت لە داگرتن لەو شوێنەی کە بەجێی هێشت.</translation>
+ </message>
+ <message>
+ <source>If you have chosen to limit block chain storage (pruning), the historical data must still be downloaded and processed, but will be deleted afterward to keep your disk usage low.</source>
+ <translation>ئەگەر تۆ دیاریت کردووە بۆ سنووردارکردنی کۆگە زنجیرەی بلۆک (کێڵکردن)، هێشتا داتای مێژووی دەبێت دابەزێنرێت و پرۆسەی بۆ بکرێت، بەڵام دواتر دەسڕدرێتەوە بۆ ئەوەی بەکارهێنانی دیسکەکەت کەم بێت.</translation>
+ </message>
+ <message>
+ <source>%1 will download and store a copy of the Bitcoin block chain.</source>
+ <translation>%1 کۆپیەکی زنجیرەی بلۆکی بیتکۆپ دائەبەزێنێت و خەزنی دەکات.</translation>
+ </message>
+ <message>
<source>Error</source>
<translation>هەڵە</translation>
</message>
</context>
<context>
<name>ModalOverlay</name>
+ <message>
+ <source>%1 is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.</source>
+ <translation>%1 لە ئێستادا هاوکات دەکرێت. سەرپەڕ و بلۆکەکان لە هاوتەمەنەکان دابەزێنێت و کارایان دەکات تا گەیشتن بە سەرەی زنجیرەی بلۆک.</translation>
+ </message>
</context>
<context>
<name>OpenURIDialog</name>
@@ -159,6 +309,30 @@
<translation>هەڵبژاردنەکان</translation>
</message>
<message>
+ <source>Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |.</source>
+ <translation>یو ئێڕ ئێڵەکانی لایەنی سێیەم. (بۆ وێنە گەڕاڵی بلۆک) کە لە تابی مامەڵەکان وەک بڕگەکان پێرستی دەق دەردەکەوێت. %s لە URL دا جێگەی دەگۆڕدرێتەوە بە هاش.. چەندین URL جیاکراونەتەوە بە شریتی ستوونی |.</translation>
+ </message>
+ <message>
+ <source>Disables some advanced features but all blocks will still be fully validated. Reverting this setting requires re-downloading the entire blockchain. Actual disk usage may be somewhat higher.</source>
+ <translation>هەندێک تایبەتمەندی پێشکەوتوو لە کاربخە بەڵام هەموو بلۆکەکان هێشتا بە تەواوی ساغ دەکرانەوە. دووبارە کردنەوەی ئەم ڕێکخستنە پێویستی بە دووبارە داگرتنی تەواوی بەربەستەکە هەیە. بەکارهێنانی ڕاستەقینەی دیسک لەوانەیە تا رادەیەک زیاتر بێت.</translation>
+ </message>
+ <message>
+ <source>Reverting this setting requires re-downloading the entire blockchain.</source>
+ <translation>دووبارە کردنەوەی ئەم ڕێکخستنە پێویستی بە دووبارە داگرتنی تەواوی بەربەستەکە هەیە.</translation>
+ </message>
+ <message>
+ <source>User Interface &amp;language:</source>
+ <translation>ڕووکاری بەکارهێنەر &amp;زمان:</translation>
+ </message>
+ <message>
+ <source>The user interface language can be set here. This setting will take effect after restarting %1.</source>
+ <translation>زمانی ڕووکاری بەکارهێنەر دەکرێت لێرە دابنرێت. ئەم ڕێکخستنە کاریگەر دەبێت پاش دەستپێکردنەوەی %1.</translation>
+ </message>
+ <message>
+ <source>The configuration file is used to specify advanced user options which override GUI settings. Additionally, any command-line options will override this configuration file.</source>
+ <translation>فایلی شێوەپێدان بەکاردێت بۆ دیاریکردنی هەڵبژاردنەکانی بەکارهێنەری پێشکەوتوو کە زیادەڕەوی لە ڕێکخستنەکانی GUI دەکات. لەگەڵ ئەوەش، هەر بژاردەکانی هێڵی فەرمان زیادەڕەوی دەکات لە سەر ئەم فایلە شێوەپێدانە.</translation>
+ </message>
+ <message>
<source>Error</source>
<translation>هەڵە</translation>
</message>
@@ -169,16 +343,28 @@
<source>Total:</source>
<translation>گشتی</translation>
</message>
- </context>
+ <message>
+ <source>Privacy mode activated for the Overview tab. To unmask the values, uncheck Settings-&gt;Mask values.</source>
+ <translation>دۆخی تایبەتمەندی چالاک کرا بۆ تابی گشتی. بۆ کردنەوەی بەهاکان، بەهاکان ڕێکخستنەکان&gt;ماسک.</translation>
+ </message>
+</context>
<context>
<name>PSBTOperationsDialog</name>
<message>
+ <source>Copy to Clipboard</source>
+ <translation>Copy to Clipboard</translation>
+ </message>
+ <message>
<source>or</source>
<translation>یان</translation>
</message>
</context>
<context>
<name>PaymentServer</name>
+ <message>
+ <source>Cannot start bitcoin: click-to-pay handler</source>
+ <translation>ناتوانێت دەست بکات بە bitcoin: کرتە بکە بۆ-پارەدانی کار</translation>
+ </message>
</context>
<context>
<name>PeerTableModel</name>
@@ -193,9 +379,21 @@
<source>Amount</source>
<translation>سەرجەم</translation>
</message>
+ <message>
+ <source>Error initializing settings: %1</source>
+ <translation>هەڵە لە دەستپێکردنی ڕێکخستنەکان: %1</translation>
+ </message>
</context>
<context>
<name>QRImageWidget</name>
+ <message>
+ <source>&amp;Copy Image</source>
+ <translation>&amp;Copy Image</translation>
+ </message>
+ <message>
+ <source>Resulting URI too long, try to reduce the text for label / message.</source>
+ <translation>ئەنجامی URL زۆر درێژە، هەوڵ بدە دەقەکە کەم بکەیتەوە بۆ پێناسە / نامە.</translation>
+ </message>
</context>
<context>
<name>RPCConsole</name>
@@ -279,6 +477,10 @@
<translation>پاککردنەوە</translation>
</message>
<message>
+ <source>Show the selected request (does the same as double clicking an entry)</source>
+ <translation>پیشاندانی داواکارییە دیاریکراوەکان (هەمان کرتەی دووانی کرتەکردن دەکات لە تۆمارێک)</translation>
+ </message>
+ <message>
<source>Show</source>
<translation>پیشاندان</translation>
</message>
@@ -286,6 +488,22 @@
<source>Remove</source>
<translation>سڕینەوە</translation>
</message>
+ <message>
+ <source>Copy URI</source>
+ <translation>Copy URI</translation>
+ </message>
+ <message>
+ <source>Copy label</source>
+ <translation>Copy label</translation>
+ </message>
+ <message>
+ <source>Copy message</source>
+ <translation>Copy message</translation>
+ </message>
+ <message>
+ <source>Copy amount</source>
+ <translation>Copy amount</translation>
+ </message>
</context>
<context>
<name>ReceiveRequestDialog</name>
@@ -297,6 +515,14 @@
<source>Message:</source>
<translation>پەیام:</translation>
</message>
+ <message>
+ <source>Copy &amp;URI</source>
+ <translation>Copy &amp;URI</translation>
+ </message>
+ <message>
+ <source>Copy &amp;Address</source>
+ <translation>Copy &amp;Address</translation>
+ </message>
</context>
<context>
<name>RecentRequestsTableModel</name>
@@ -320,9 +546,61 @@
<translation>تێچوون:</translation>
</message>
<message>
+ <source>Hide transaction fee settings</source>
+ <translation>شاردنەوەی ڕێکخستنەکانی باجی مامەڵە</translation>
+ </message>
+ <message>
+ <source>When there is less transaction volume than space in the blocks, miners as well as relaying nodes may enforce a minimum fee. Paying only this minimum fee is just fine, but be aware that this can result in a never confirming transaction once there is more demand for bitcoin transactions than the network can process.</source>
+ <translation>کاتێک قەبارەی مامەڵە کەمتر بێت لە بۆشایی بلۆکەکان، لەوانەیە کانەکان و گرێکانی گواستنەوە کەمترین کرێ جێبەجێ بکەن. پێدانی تەنیا ئەم کەمترین کرێیە تەنیا باشە، بەڵام ئاگاداربە کە ئەمە دەتوانێت ببێتە هۆی ئەوەی کە هەرگیز مامەڵەیەکی پشتڕاستکردنەوە ئەنجام بدرێت جارێک داواکاری زیاتر هەیە بۆ مامەڵەکانی بیت کۆبیتکۆ لەوەی کە تۆڕەکە دەتوانێت ئەنجامی بدات.</translation>
+ </message>
+ <message>
+ <source>Copy quantity</source>
+ <translation>Copy quantity</translation>
+ </message>
+ <message>
+ <source>Copy amount</source>
+ <translation>Copy amount</translation>
+ </message>
+ <message>
+ <source>Copy fee</source>
+ <translation>Copy fee</translation>
+ </message>
+ <message>
+ <source>Copy after fee</source>
+ <translation>Copy after fee</translation>
+ </message>
+ <message>
+ <source>Copy bytes</source>
+ <translation>Copy bytes</translation>
+ </message>
+ <message>
+ <source>Copy dust</source>
+ <translation>Copy dust</translation>
+ </message>
+ <message>
+ <source>Copy change</source>
+ <translation>Copy change</translation>
+ </message>
+ <message>
<source>or</source>
<translation>یان</translation>
</message>
+ <message>
+ <source>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can save or copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
+ <translation>تکایە، پێداچوونەوە بکە بە پێشنیارەکانی مامەڵەکەت. ئەمە مامەڵەیەکی بیتکۆپەکی کەبەشیونکراو (PSBT) بەرهەمدەهێنێت کە دەتوانیت پاشەکەوتی بکەیت یان کۆپی بکەیت و پاشان واژووی بکەیت لەگەڵ بۆ ئەوەی بە دەرهێڵی %1 جزدانێک، یان جزدانێکی رەقەواڵەی گونجاو بە PSBT.</translation>
+ </message>
+ <message>
+ <source>Please, review your transaction.</source>
+ <translation>تکایە، چاو بە مامەڵەکەتدا بخشێنەوە.</translation>
+ </message>
+ <message>
+ <source>To review recipient list click "Show Details..."</source>
+ <translation>بۆ پێداچوونەوەی لیستی وەرگرتن کرتە بکە لەسەر "پیشاندانی وردەکاریەکان..."</translation>
+ </message>
+ <message>
+ <source>The recipient address is not valid. Please recheck.</source>
+ <translation>ناونیشانی وەرگرتنەکە دروست نییە. تکایە دووبارە پشکنین بکەوە.</translation>
+ </message>
</context>
<context>
<name>SendCoinsEntry</name>
@@ -336,6 +614,26 @@
</context>
<context>
<name>SignVerifyMessageDialog</name>
+ <message>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>Copy the current signature to the system clipboard</translation>
+ </message>
+ <message>
+ <source>Enter the receiver's address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack. Note that this only proves the signing party receives with the address, it cannot prove sendership of any transaction!</source>
+ <translation>ناونیشانی وەرگرەکە بنووسە، نامە (دڵنیابە لەوەی کە جیاکەرەوەکانی هێڵ، مەوداکان، تابەکان، و هتد بە تەواوی کۆپی بکە) و لە خوارەوە واژووی بکە بۆ سەلماندنی نامەکە. وریابە لەوەی کە زیاتر نەیخوێنیتەوە بۆ ناو واژووەکە لەوەی کە لە خودی پەیامە واژووەکەدایە، بۆ ئەوەی خۆت بەدوور بگریت لە فێڵکردن لە هێرشی پیاوان لە ناوەنددا. سەرنج بدە کە ئەمە تەنیا لایەنی واژووکردن بە ناونیشانەکە وەربگرە، ناتوانێت نێرەری هیچ مامەڵەیەک بسەلمێنێت!</translation>
+ </message>
+ <message>
+ <source>Click "Sign Message" to generate signature</source>
+ <translation>کرتە بکە لەسەر "نامەی واژوو" بۆ دروستکردنی واژوو</translation>
+ </message>
+ <message>
+ <source>Please check the address and try again.</source>
+ <translation>تکایە ناونیشانەکە بپشکنە و دووبارە هەوڵ دەوە.</translation>
+ </message>
+ <message>
+ <source>Please check the signature and try again.</source>
+ <translation>تکایە واژووەکە بپشکنە و دووبارە هەوڵ دەوە.</translation>
+ </message>
</context>
<context>
<name>TrafficGraphWidget</name>
@@ -404,10 +702,34 @@
<translation>ناردن بۆ</translation>
</message>
<message>
+ <source>Enter address, transaction id, or label to search</source>
+ <translation>ناونیشانێک بنووسە، ناسنامەی مامەڵە، یان ناولێنانێک بۆ گەڕان بنووسە</translation>
+ </message>
+ <message>
<source>Copy address</source>
<translation>ڕوونووسکردن ناوونیشان</translation>
</message>
<message>
+ <source>Copy label</source>
+ <translation>Copy label</translation>
+ </message>
+ <message>
+ <source>Copy amount</source>
+ <translation>Copy amount</translation>
+ </message>
+ <message>
+ <source>Copy transaction ID</source>
+ <translation>Copy transaction ID</translation>
+ </message>
+ <message>
+ <source>Copy raw transaction</source>
+ <translation>Copy raw transaction</translation>
+ </message>
+ <message>
+ <source>Copy full transaction details</source>
+ <translation>Copy full transaction details</translation>
+ </message>
+ <message>
<source>Date</source>
<translation>رێکەت</translation>
</message>
@@ -426,7 +748,11 @@
</context>
<context>
<name>UnitDisplayStatusBarControl</name>
- </context>
+ <message>
+ <source>Unit to show amounts in. Click to select another unit.</source>
+ <translation>یەکە بۆ نیشاندانی بڕی کرتە بکە بۆ دیاریکردنی یەکەیەکی تر.</translation>
+ </message>
+</context>
<context>
<name>WalletController</name>
</context>
@@ -443,11 +769,67 @@
<translation>&amp;هەناردن</translation>
</message>
<message>
+ <source>Export the data in the current tab to a file</source>
+ <translation>ناردنی داتا لە خشتەبەندی ئێستا بۆ فایلێک</translation>
+ </message>
+ <message>
<source>Error</source>
<translation>هەڵە</translation>
</message>
</context>
<context>
<name>bitcoin-core</name>
+ <message>
+ <source>Prune configured below the minimum of %d MiB. Please use a higher number.</source>
+ <translation>پڕە لە خوارەوەی کەمترین %d MiB شێوەبەند کراوە. تکایە ژمارەیەکی بەرزتر بەکاربێنە.</translation>
+ </message>
+ <message>
+ <source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source>
+ <translation>پرە: دوایین هاودەمکردنی جزدان لە داتای بەپێز دەچێت. پێویستە دووبارە -ئیندێکس بکەیتەوە (هەموو بەربەستەکە دابەزێنە دووبارە لە حاڵەتی گرێی هەڵکراو)</translation>
+ </message>
+ <message>
+ <source>Cannot provide specific connections and have addrman find outgoing connections at the same.</source>
+ <translation>ناتوانێت گرێدانێکی تایبەت دابین بکات و پەیوەندی دەرکەوی هەبێت لە هەمان کاتدا.</translation>
+ </message>
+ <message>
+ <source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
+ <translation>تکایە بپشکنە کە بەروار و کاتی کۆمپیوتەرەکەت ڕاستە! ئەگەر کاژێرەکەت هەڵە بوو، %s بە دروستی کار ناکات.</translation>
+ </message>
+ <message>
+ <source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
+ <translation>تکایە بەشداری بکە ئەگەر %s بەسوودت دۆزیەوە. سەردانی %s بکە بۆ زانیاری زیاتر دەربارەی نەرمواڵەکە.</translation>
+ </message>
+ <message>
+ <source>Unable to rewind the database to a pre-fork state. You will need to redownload the blockchain</source>
+ <translation>ناتوانێت داتابەیس بۆ دۆخی پێشوەختە هەڵبووەشێتەوە. تۆ پێویستە زنجیرە بلۆکەکە دابگریتەوە</translation>
+ </message>
+ <message>
+ <source>Copyright (C) %i-%i</source>
+ <translation>مافی چاپ (C) %i-%i</translation>
+ </message>
+ <message>
+ <source>Could not find asmap file %s</source>
+ <translation>ئاسماپ بدۆزرێتەوە %s نەتوانرا فایلی</translation>
+ </message>
+ <message>
+ <source>Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use version 169900 or no version specified.</source>
+ <translation>ناتوانێت جزدانی دابەشکردنی نا ئێج دی بەرزبکرێتەوە بەبێ بەرزکردنەوەی بۆ پشتگیری پێشوەخت دابەشکردنی کلیلەکە. تکایە وەشانی 169900 بەکاربێنە یان هیچ وەشانێکی دیاری کراو.</translation>
+ </message>
+ <message>
+ <source>This error could occur if this wallet was not shutdown cleanly and was last loaded using a build with a newer version of Berkeley DB. If so, please use the software that last loaded this wallet</source>
+ <translation>ئەم هەڵەیە لەوانەیە ڕووبدات ئەگەر ئەم جزدانە بە خاوێنی دانەبەزێنرابێت و دواجار بارکرا بێت بە بەکارهێنانی بنیاتێک بە وەشانێکی نوێتری بێرکلی DB. ئەگەر وایە، تکایە ئەو سۆفتوێرە بەکاربهێنە کە دواجار ئەم جزدانە بارکرا بوو</translation>
+ </message>
+ <message>
+ <source>Transaction needs a change address, but we can't generate it. Please call keypoolrefill first.</source>
+ <translation>مامەڵە پێویستی بە ناونیشانی گۆڕینە، بەڵام ناتوانین دروستی بکەین. تکایە سەرەتا پەیوەندی بکە بە پڕکردنەوەی کلیلەکە.</translation>
+ </message>
+ <message>
+ <source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source>
+ <translation>پێویستە بنکەی زانیارییەکان دروست بکەیتەوە بە بەکارهێنانی -دووبارە ئیندێکس بۆ گەڕانەوە بۆ دۆخی نەپڕاو. ئەمە هەموو بەربەستەکە دائەبەزێنێت</translation>
+ </message>
+ <message>
+ <source>Error: Keypool ran out, please call keypoolrefill first</source>
+ <translation>هەڵە: کلیلی پوول ڕایکرد، تکایە سەرەتا پەیوەندی بکە بە پڕکردنەوەی کلیل</translation>
+ </message>
</context>
</TS> \ No newline at end of file
diff --git a/src/qt/locale/bitcoin_lt.ts b/src/qt/locale/bitcoin_lt.ts
index 1c1fc292bf..2abe7274da 100644
--- a/src/qt/locale/bitcoin_lt.ts
+++ b/src/qt/locale/bitcoin_lt.ts
@@ -790,7 +790,7 @@
<source>Create</source>
<translation>Sukurti</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -3218,10 +3218,6 @@ Pastaba: Kadangi mokestis apskaičiuojamas pagal baitą, mokestis už „100 sat
<translation>%s labai aukštas!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Įkeliant piniginę %s įvyko klaida. Dvigubo -wallet pavadinimas.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Pradėti tinklo temas...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_lv.ts b/src/qt/locale/bitcoin_lv.ts
index 5ac13296e8..b905ab6dc2 100644
--- a/src/qt/locale/bitcoin_lv.ts
+++ b/src/qt/locale/bitcoin_lv.ts
@@ -2,6 +2,10 @@
<context>
<name>AddressBookPage</name>
<message>
+ <source>Right-click to edit address or label</source>
+ <translation>Spiediet labo peles klikšķi, lai labotu adresi vai birku</translation>
+ </message>
+ <message>
<source>Create a new address</source>
<translation>Izveidot jaunu adresi</translation>
</message>
@@ -62,6 +66,10 @@
<translation>Adrešu saņemšana</translation>
</message>
<message>
+ <source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
+ <translation>Šīs ir jūsu Bitcoin adreses, kuras izmantojamas maksājumu veikšanai. Vienmēr pārbaudiet summu un saņēmēja adresi pirms monētu nosūtīšanas.</translation>
+ </message>
+ <message>
<source>&amp;Copy Address</source>
<translation>&amp;Kopēt adresi</translation>
</message>
@@ -78,10 +86,18 @@
<translation>Eksportēt Adrešu Sarakstu</translation>
</message>
<message>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Ar komatiem atdalīts fails (*.csv)</translation>
+ </message>
+ <message>
<source>Exporting Failed</source>
<translation>Eksportēšana Neizdevās</translation>
</message>
- </context>
+ <message>
+ <source>There was an error trying to save the address list to %1. Please try again.</source>
+ <translation>Mēģinot saglabāt adrešu sarakstu %1 radās kļūda. Mēģiniet vēlreiz.</translation>
+ </message>
+</context>
<context>
<name>AddressTableModel</name>
<message>
@@ -124,10 +140,18 @@
<translation>Šifrēt maciņu</translation>
</message>
<message>
+ <source>This operation needs your wallet passphrase to unlock the wallet.</source>
+ <translation>Lai veiktu šo darbību, nepieciešama jūsu maciņa slepenā frāze maciņa atvēršanai.</translation>
+ </message>
+ <message>
<source>Unlock wallet</source>
<translation>Atslēgt maciņu</translation>
</message>
<message>
+ <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
+ <translation>Lai veiktu šo darbību, nepieciešama jūsu maciņa slepenā frāze maciņa dekriptēšanai.</translation>
+ </message>
+ <message>
<source>Decrypt wallet</source>
<translation>Atšifrēt maciņu</translation>
</message>
@@ -148,6 +172,10 @@
<translation>Maciņš šifrēts</translation>
</message>
<message>
+ <source>Wallet to be encrypted</source>
+ <translation>Maciņu nepieciešams šifrēt.</translation>
+ </message>
+ <message>
<source>Your wallet is now encrypted. </source>
<translation>Maciņš tagad šifrēts</translation>
</message>
@@ -1160,6 +1188,10 @@
<context>
<name>TransactionView</name>
<message>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Ar komatiem atdalīts fails (*.csv)</translation>
+ </message>
+ <message>
<source>Confirmed</source>
<translation>Apstiprināts</translation>
</message>
diff --git a/src/qt/locale/bitcoin_ml.ts b/src/qt/locale/bitcoin_ml.ts
index 86e9a55d33..c7ca619d5a 100644
--- a/src/qt/locale/bitcoin_ml.ts
+++ b/src/qt/locale/bitcoin_ml.ts
@@ -19,8 +19,7 @@
</message>
<message>
<source>&amp;Copy</source>
- <translation>&amp; പകർത്തുക
-</translation>
+ <translation>&amp; പകർത്തുക</translation>
</message>
<message>
<source>C&amp;lose</source>
@@ -31,6 +30,10 @@
<translation>പട്ടികയിൽ നിന്ന് നിലവിൽ തിരഞ്ഞെടുത്ത വിലാസം ഇല്ലാതാക്കുക</translation>
</message>
<message>
+ <source>Enter address or label to search</source>
+ <translation>തിരയുന്നതിന് വിലാസമോ ലേബലോ നൽകുക</translation>
+ </message>
+ <message>
<source>Export the data in the current tab to a file</source>
<translation>നിലവിലെ ടാബിൽ ഒരു ഫയലിൽ ഡാറ്റ എക്സ്പോർട്ട് ചെയ്യുക</translation>
</message>
@@ -67,6 +70,12 @@
<translation>പേയ്മെന്റുകൾ അയയ്ക്കുന്നതിനുള്ള നിങ്ങളുടെ ബിറ്റ്കോയിൻ വിലാസങ്ങളാണ് ഇവ. നാണയങ്ങൾ അയയ്ക്കുന്നതിനുമുമ്പ് എല്ലായ്പ്പോഴും തുകയും സ്വീകരിക്കുന്ന വിലാസവും പരിശോധിക്കുക.</translation>
</message>
<message>
+ <source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
+Signing is only possible with addresses of the type 'legacy'.</source>
+ <translation>ഇവയാണ് പണം സ്വീകരിയ്ക്കുന്നതിനായുള്ള താങ്കളുടെ ബിറ്റ്കോയിൻ വിലാസങ്ങൾ. പുതിയ വിലാസങ്ങൾ കൂട്ടിച്ചേർക്കുന്നതിനായി ' പുതിയ വിലാസം സൃഷ്ടിയ്ക്കുക ' എന്ന ബട്ടൺ അമർത്തുക.
+'ലെഗസി' തരത്തിന്റെ വിലാസങ്ങളിൽ മാത്രമേ സൈൻ ചെയ്യാൻ കഴിയൂ.</translation>
+ </message>
+ <message>
<source>&amp;Copy Address</source>
<translation>&amp;വിലാസം പകർത്തുക</translation>
</message>
@@ -165,24 +174,292 @@
<translation>മുന്നറിയിപ്പ്: നിങ്ങളുടെ വാലറ്റ് എൻക്രിപ്റ്റ് ചെയ്ത് പാസ്ഫ്രെയ്സ് നഷ്ടപ്പെടുകയാണെങ്കിൽ, നിങ്ങളുടെ എല്ലാ ബിറ്റ്കൊയിനുകളും നഷ്ടപ്പെടും!</translation>
</message>
<message>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>നിങ്ങളുടെ വാലറ്റ് എൻ‌ക്രിപ്റ്റ് ചെയ്യാൻ ആഗ്രഹിക്കുന്നുവെന്ന് ഉറപ്പാണോ?</translation>
+ </message>
+ <message>
<source>Wallet encrypted</source>
<translation>വാലറ്റ് എന്ക്രിപ്റ് ചെയ്തു കഴിഞ്ഞു .</translation>
</message>
<message>
+ <source>Enter the new passphrase for the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;ten or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
+ <translation>വാലറ്റിൽ പുതിയ പാസ്ഫ്രെയ്സ് നൽകുക. &lt;br/&gt; &lt;b&gt; പത്തോ അതിലധികമോ റാൻഡം പ്രതീകങ്ങൾ &lt;/b&gt; അല്ലെങ്കിൽ &lt;b&gt;എട്ട് അല്ലെങ്കിൽ അതിൽ കൂടുതൽ വാക്കുകൾ &lt;/b&gt; ഒരു പാസ്ഫ്രെയ്സ് ഉപയോഗിക്കുക.</translation>
+ </message>
+ <message>
<source>Enter the old passphrase and new passphrase for the wallet.</source>
<translation>വാലെറ്റിന്റെ പഴയ രഹസ്യപദവും പുതിയ രഹസ്യപദവും നൽകുക.</translation>
</message>
- </context>
+ <message>
+ <source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
+ <translation>നിങ്ങളുടെ വാലറ്റ് എൻ‌ക്രിപ്റ്റ് ചെയ്യുന്നതിലൂടെ നിങ്ങളുടെ കമ്പ്യൂട്ടറിനെ ബാധിക്കുന്ന ക്ഷുദ്രവെയർ‌ മോഷ്ടിക്കുന്നതിൽ‌ നിന്നും നിങ്ങളുടെ ബിറ്റ്കോയിനുകളെ പൂർണ്ണമായി സംരക്ഷിക്കാൻ‌ കഴിയില്ല.</translation>
+ </message>
+ <message>
+ <source>Wallet to be encrypted</source>
+ <translation>വാലറ്റ് എന്ക്രിപ്റ് ചെയ്യാൻ പോകുന്നു .</translation>
+ </message>
+ <message>
+ <source>Your wallet is about to be encrypted. </source>
+ <translation>വാലറ്റ് എന്ക്രിപ്റ് ചെയ്യാൻ പോകുന്നു .</translation>
+ </message>
+ <message>
+ <source>Your wallet is now encrypted. </source>
+ <translation>വാലറ്റ് എന്ക്രിപ്റ് ചെയ്തു കഴിഞ്ഞു .</translation>
+ </message>
+ <message>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation>പ്രധാനം: നിങ്ങളുടെ വാലറ്റ് ഫയലിൽ മുമ്പ് നിർമ്മിച്ച ഏതെങ്കിലും ബാക്കപ്പുകൾ പുതുതായി ജനറേറ്റുചെയ്ത, എൻ‌ക്രിപ്റ്റ് ചെയ്ത വാലറ്റ് ഫയൽ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കണം. സുരക്ഷാ കാരണങ്ങളാൽ, നിങ്ങൾ പുതിയ, എൻ‌ക്രിപ്റ്റ് ചെയ്ത വാലറ്റ് ഉപയോഗിക്കാൻ ആരംഭിക്കുമ്പോൾ തന്നെ എൻ‌ക്രിപ്റ്റ് ചെയ്യാത്ത വാലറ്റ് ഫയലിന്റെ മുമ്പത്തെ ബാക്കപ്പുകൾ ഉപയോഗശൂന്യമാകും.</translation>
+ </message>
+ <message>
+ <source>Wallet encryption failed</source>
+ <translation>വാലറ്റ് എന്ക്രിപ്റ് പരാജയപെട്ടു .</translation>
+ </message>
+ <message>
+ <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
+ <translation>ആന്തരിക പിശക് കാരണം വാലറ്റ് എൻ‌ക്രിപ്ഷൻ പരാജയപ്പെട്ടു. നിങ്ങളുടെ വാലറ്റ് എൻ‌ക്രിപ്റ്റ് ചെയ്തിട്ടില്ല.</translation>
+ </message>
+ <message>
+ <source>The supplied passphrases do not match.</source>
+ <translation>വിതരണം ചെയ്ത പാസ്‌ഫ്രെയ്‌സുകൾ പൊരുത്തപ്പെടുന്നില്ല.</translation>
+ </message>
+ <message>
+ <source>Wallet unlock failed</source>
+ <translation>വാലറ്റ് അൺലോക്ക് പരാജയപ്പെട്ടു</translation>
+ </message>
+ <message>
+ <source>The passphrase entered for the wallet decryption was incorrect.</source>
+ <translation>വാലറ്റ് ഡീക്രിപ്ഷനായി നൽകിയ പാസ്‌ഫ്രേസ് തെറ്റാണ്.</translation>
+ </message>
+ <message>
+ <source>Wallet decryption failed</source>
+ <translation>വാലറ്റ് ഡീക്രിപ്ഷൻ പരാജയപ്പെട്ടു</translation>
+ </message>
+ <message>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>വാലറ്റ് പാസ്‌ഫ്രെയ്‌സ് വിജയകരമായി മാറ്റി.</translation>
+ </message>
+ <message>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>മുന്നറിയിപ്പ്: ക്യാപ്‌സ് ലോക്ക് കീ ഓണാണ്!</translation>
+ </message>
+</context>
<context>
<name>BanTableModel</name>
- </context>
+ <message>
+ <source>IP/Netmask</source>
+ <translation>IP / നെറ്റ്മാസ്ക്</translation>
+ </message>
+ <message>
+ <source>Banned Until</source>
+ <translation>വരെ നിരോധിച്ചു</translation>
+ </message>
+</context>
<context>
<name>BitcoinGUI</name>
<message>
+ <source>Sign &amp;message...</source>
+ <translation>സൈനും സന്ദേശവും ...</translation>
+ </message>
+ <message>
+ <source>Synchronizing with network...</source>
+ <translation>നെറ്റ്‌വർക്കുമായി സമന്വയിപ്പിക്കുന്നു ...</translation>
+ </message>
+ <message>
+ <source>&amp;Overview</source>
+ <translation>&amp;അവലോകനം</translation>
+ </message>
+ <message>
+ <source>Show general overview of wallet</source>
+ <translation>വാലറ്റിന്റെ പൊതുവായ അവലോകനം കാണിക്കുക</translation>
+ </message>
+ <message>
+ <source>&amp;Transactions</source>
+ <translation>&amp;ഇടപാടുകൾ </translation>
+ </message>
+ <message>
<source>Browse transaction history</source>
<translation>ഇടപാടുകളുടെ ചരിത്രം പരിശോധിയ്ക്കുക</translation>
</message>
<message>
+ <source>E&amp;xit</source>
+ <translation>പുറത്ത്</translation>
+ </message>
+ <message>
+ <source>Quit application</source>
+ <translation>അപ്ലിക്കേഷൻ ഉപേക്ഷിക്കുക</translation>
+ </message>
+ <message>
+ <source>&amp;About %1</source>
+ <translation>&amp; ഏകദേശം%1</translation>
+ </message>
+ <message>
+ <source>Show information about %1</source>
+ <translation>%1 നെക്കുറിച്ചുള്ള വിവരങ്ങൾ കാണിക്കുക</translation>
+ </message>
+ <message>
+ <source>About &amp;Qt</source>
+ <translation>ഏകദേശം&amp;Qt</translation>
+ </message>
+ <message>
+ <source>Show information about Qt</source>
+ <translation>Qt സംബന്ധിച്ച വിവരങ്ങൾ കാണിക്കുക</translation>
+ </message>
+ <message>
+ <source>&amp;Options...</source>
+ <translation>&amp;ഓപ്ഷനുകൾ ...</translation>
+ </message>
+ <message>
+ <source>Modify configuration options for %1</source>
+ <translation>%1 നായുള്ള കോൺഫിഗറേഷൻ ഓപ്ഷനുകൾ പരിഷ്‌ക്കരിക്കുക</translation>
+ </message>
+ <message>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;വാലറ്റ് എൻ‌ക്രിപ്റ്റ് ചെയ്യുക ...</translation>
+ </message>
+ <message>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;ബാക്കപ്പ് വാലറ്റ് ...</translation>
+ </message>
+ <message>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;പാസ്ഫ്രെയ്സ് മാറ്റുക</translation>
+ </message>
+ <message>
+ <source>Open &amp;URI...</source>
+ <translation>തുറക്കുക &amp;URI ...</translation>
+ </message>
+ <message>
+ <source>Create Wallet...</source>
+ <translation>വാലറ്റ് സൃഷ്ടിക്കുക :</translation>
+ </message>
+ <message>
+ <source>Create a new wallet</source>
+ <translation>ഒരു പുതിയ വാലറ്റ് സൃഷ്ടിക്കുക</translation>
+ </message>
+ <message>
+ <source>Wallet:</source>
+ <translation>വാലറ്റ്:</translation>
+ </message>
+ <message>
+ <source>Click to disable network activity.</source>
+ <translation>നെറ്റ്‌വർക്ക് പ്രവർത്തനം പ്രവർത്തനരഹിതമാക്കാൻ ക്ലിക്കുചെയ്യുക.</translation>
+ </message>
+ <message>
+ <source>Network activity disabled.</source>
+ <translation>നെറ്റ്‌വർക്ക് പ്രവർത്തനം പ്രവർത്തനരഹിതമാക്കി.</translation>
+ </message>
+ <message>
+ <source>Click to enable network activity again.</source>
+ <translation>നെറ്റ്‌വർക്ക് പ്രവർത്തനം വീണ്ടും പ്രവർത്തനക്ഷമമാക്കാൻ ക്ലിക്കുചെയ്യുക.</translation>
+ </message>
+ <message>
+ <source>Syncing Headers (%1%)...</source>
+ <translation>തലക്കെട്ടുകൾ സമന്വയിപ്പിക്കുന്നു (%1%) ...</translation>
+ </message>
+ <message>
+ <source>Reindexing blocks on disk...</source>
+ <translation>ഡിസ്കിലെ ബ്ലോക്കുകൾ വീണ്ടും സമന്വയിപ്പിക്കുന്നു ...</translation>
+ </message>
+ <message>
+ <source>Proxy is &lt;b&gt;enabled&lt;/b&gt;: %1</source>
+ <translation>പ്രോക്സി ആണ്&lt;b&gt;പ്രവർത്തനക്ഷമമാക്കി&lt;/b&gt;:%1</translation>
+ </message>
+ <message>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>ഒരു ബിറ്റ്കോയിൻ വിലാസത്തിലേക്ക് നാണയങ്ങൾ അയയ്ക്കുക</translation>
+ </message>
+ <message>
+ <source>Backup wallet to another location</source>
+ <translation>മറ്റൊരു സ്ഥലത്തേക്ക് ബാക്കപ്പ് വാലറ്റ്</translation>
+ </message>
+ <message>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>വാലറ്റ് എൻ‌ക്രിപ്ഷനായി ഉപയോഗിക്കുന്ന പാസ്‌ഫ്രെയ്‌സ് മാറ്റുക</translation>
+ </message>
+ <message>
+ <source>&amp;Verify message...</source>
+ <translation>&amp;Verify സന്ദേശം ...</translation>
+ </message>
+ <message>
+ <source>&amp;Send</source>
+ <translation>&amp;അയയ്‌ക്കുക</translation>
+ </message>
+ <message>
+ <source>&amp;Receive</source>
+ <translation>&amp;സ്വീകരിക്കുക</translation>
+ </message>
+ <message>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;കാണിക്കുക/ മറയ്ക്കുക</translation>
+ </message>
+ <message>
+ <source>Show or hide the main Window</source>
+ <translation>പ്രധാന വിൻ‌ഡോ കാണിക്കുക അല്ലെങ്കിൽ‌ മറയ്‌ക്കുക</translation>
+ </message>
+ <message>
+ <source>Encrypt the private keys that belong to your wallet</source>
+ <translation>നിങ്ങളുടെ വാലറ്റിന്റെ സ്വകാര്യ കീകൾ എൻ‌ക്രിപ്റ്റ് ചെയ്യുക</translation>
+ </message>
+ <message>
+ <source>Sign messages with your Bitcoin addresses to prove you own them</source>
+ <translation>നിങ്ങളുടെ ബിറ്റ്കോയിൻ വിലാസങ്ങൾ സ്വന്തമാണെന്ന് തെളിയിക്കാൻ സന്ദേശങ്ങൾ ഒപ്പിടുക</translation>
+ </message>
+ <message>
+ <source>Verify messages to ensure they were signed with specified Bitcoin addresses</source>
+ <translation>നിർദ്ദിഷ്ട ബിറ്റ്കോയിൻ വിലാസങ്ങളിൽ സന്ദേശങ്ങൾ ഒപ്പിട്ടിട്ടുണ്ടെന്ന് ഉറപ്പാക്കാൻ സ്ഥിരീകരിക്കുക</translation>
+ </message>
+ <message>
+ <source>&amp;File</source>
+ <translation>&amp; ഫയൽ</translation>
+ </message>
+ <message>
+ <source>&amp;Settings</source>
+ <translation>&amp;ക്രമീകരണങ്ങൾ</translation>
+ </message>
+ <message>
+ <source>&amp;Help</source>
+ <translation>&amp;സഹായം</translation>
+ </message>
+ <message>
+ <source>Tabs toolbar</source>
+ <translation>ടാബുകളുടെ ടൂൾബാർ</translation>
+ </message>
+ <message>
+ <source>Request payments (generates QR codes and bitcoin: URIs)</source>
+ <translation>പേയ്‌മെന്റുകൾ അഭ്യർത്ഥിക്കുക (QR കോഡുകളും ബിറ്റ്കോയിനും സൃഷ്ടിക്കുന്നു: URI- കൾ)</translation>
+ </message>
+ <message>
+ <source>Show the list of used sending addresses and labels</source>
+ <translation>ഉപയോഗിച്ച അയച്ച വിലാസങ്ങളുടെയും ലേബലുകളുടെയും പട്ടിക കാണിക്കുക</translation>
+ </message>
+ <message>
+ <source>Show the list of used receiving addresses and labels</source>
+ <translation>ഉപയോഗിച്ച സ്വീകരിക്കുന്ന വിലാസങ്ങളുടെയും ലേബലുകളുടെയും പട്ടിക കാണിക്കുക</translation>
+ </message>
+ <message>
+ <source>&amp;Command-line options</source>
+ <translation>&amp;കമാൻഡ്-ലൈൻ ഓപ്ഷനുകൾ</translation>
+ </message>
+ <message>
+ <source>Indexing blocks on disk...</source>
+ <translation>ഡിസ്കിലെ ബ്ലോക്കുകൾ ഇൻഡെക്സ് ചെയ്യുന്നു ...</translation>
+ </message>
+ <message>
+ <source>Processing blocks on disk...</source>
+ <translation>ഡിസ്കിൽ ബ്ലോക്കുകൾ പ്രോസസ്സ് ചെയ്യുന്നു ...</translation>
+ </message>
+ <message numerus="yes">
+ <source>Processed %n block(s) of transaction history.</source>
+ <translation><numerusform>ഇടപാട് ചരിത്രത്തിന്റെ %n ബ്ലോക്കുകൾ പ്രോസസ്സ് ചെയ്തു.</numerusform><numerusform>ഇടപാട് ചരിത്രത്തിന്റെ %n ബ്ലോക്കുകൾ പ്രോസസ്സ് ചെയ്തു.</numerusform></translation>
+ </message>
+ <message>
+ <source>Last received block was generated %1 ago.</source>
+ <translation>അവസാനം ലഭിച്ച ബ്ലോക്ക് %1 മുമ്പ് സൃഷ്ടിച്ചു.</translation>
+ </message>
+ <message>
+ <source>Transactions after this will not yet be visible.</source>
+ <translation>ഇതിനുശേഷമുള്ള ഇടപാടുകൾ ഇതുവരെ ദൃശ്യമാകില്ല.</translation>
+ </message>
+ <message>
<source>Error</source>
<translation>പിശക് </translation>
</message>
@@ -195,6 +472,46 @@
<translation>വിവരം </translation>
</message>
<message>
+ <source>Up to date</source>
+ <translation>കാലികമാണ്</translation>
+ </message>
+ <message>
+ <source>&amp;Load PSBT from file...</source>
+ <translation>&amp;ഫയലിൽ നിന്ന് PSBT ലോഡുചെയ്യുക ...</translation>
+ </message>
+ <message>
+ <source>Load Partially Signed Bitcoin Transaction</source>
+ <translation>ഭാഗികമായി ഒപ്പിട്ട ബിറ്റ്കോയിൻ ഇടപാട് ലോഡുചെയ്യുക</translation>
+ </message>
+ <message>
+ <source>Load PSBT from clipboard...</source>
+ <translation>ക്ലിപ്പ്ബോർഡിൽ നിന്ന് PSBT ലോഡുചെയ്യുക ...</translation>
+ </message>
+ <message>
+ <source>Load Partially Signed Bitcoin Transaction from clipboard</source>
+ <translation>ക്ലിപ്പ്ബോർഡിൽ നിന്ന് ഭാഗികമായി ഒപ്പിട്ട ബിറ്റ്കോയിൻ ഇടപാട് ലോഡുചെയ്യുക</translation>
+ </message>
+ <message>
+ <source>Node window</source>
+ <translation>നോഡ് വിൻഡോ</translation>
+ </message>
+ <message>
+ <source>Open node debugging and diagnostic console</source>
+ <translation>നോഡ് ഡീബഗ്ഗിംഗും ഡയഗ്നോസ്റ്റിക് കൺസോളും തുറക്കുക</translation>
+ </message>
+ <message>
+ <source>&amp;Sending addresses</source>
+ <translation>&amp;വിലാസങ്ങൾ അയയ്ക്കുന്നു</translation>
+ </message>
+ <message>
+ <source>&amp;Receiving addresses</source>
+ <translation>&amp;വിലാസങ്ങൾ അയയ്ക്കുന്നു</translation>
+ </message>
+ <message>
+ <source>Open a bitcoin: URI</source>
+ <translation>ഒരു ബിറ്റ്കോയിൻ തുറക്കുക: URI</translation>
+ </message>
+ <message>
<source>Open Wallet</source>
<translation>വാലറ്റ് തുറക്കുക </translation>
</message>
@@ -211,6 +528,26 @@
<translation>വാലറ്റ് പൂട്ടുക </translation>
</message>
<message>
+ <source>Close All Wallets...</source>
+ <translation>എല്ലാ വാലറ്റുകളും അടയ്‌ക്കുക ...</translation>
+ </message>
+ <message>
+ <source>Close all wallets</source>
+ <translation>എല്ലാ വാലറ്റുകളും അടയ്‌ക്കുക ...</translation>
+ </message>
+ <message>
+ <source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
+ <translation>സാധ്യമായ ബിറ്റ്കോയിൻ കമാൻഡ്-ലൈൻ ഓപ്ഷനുകളുള്ള ഒരു ലിസ്റ്റ് ലഭിക്കുന്നതിന് %1 സഹായ സന്ദേശം കാണിക്കുക</translation>
+ </message>
+ <message>
+ <source>&amp;Mask values</source>
+ <translation>&amp;മാസ്ക് മൂല്യങ്ങൾ</translation>
+ </message>
+ <message>
+ <source>Mask the values in the Overview tab</source>
+ <translation>അവലോകന ടാബിൽ മൂല്യങ്ങൾ മാസ്ക് ചെയ്യുക</translation>
+ </message>
+ <message>
<source>default wallet</source>
<translation>സ്ഥിരം ആയ വാലറ്റ്</translation>
</message>
@@ -219,6 +556,10 @@
<translation>വാലറ്റ് ഒന്നും ലഭ്യം അല്ല </translation>
</message>
<message>
+ <source>&amp;Window</source>
+ <translation>&amp;ജാലകം </translation>
+ </message>
+ <message>
<source>Minimize</source>
<translation>ചെറുതാക്കുക </translation>
</message>
@@ -231,10 +572,18 @@
<translation>മുഖ്യ ജാലകം </translation>
</message>
<message>
+ <source>%1 client</source>
+ <translation>%1 ക്ലയന്റ്</translation>
+ </message>
+ <message>
<source>Connecting to peers...</source>
<translation>സുഹൃത്തുക്കളും ആയി കണക്ട് ചെയ്യുന്നു ...</translation>
</message>
<message>
+ <source>Catching up...</source>
+ <translation>കണ്ടുപിടിക്കുന്നു ...</translation>
+ </message>
+ <message>
<source>Error: %1</source>
<translation>തെറ്റ് : %1 </translation>
</message>
@@ -261,6 +610,12 @@
</translation>
</message>
<message>
+ <source>Type: %1
+</source>
+ <translation>തരങ്ങൾ: %1
+</translation>
+ </message>
+ <message>
<source>Label: %1
</source>
<translation>കുറിപ്പ് : %1
@@ -280,7 +635,35 @@
<source>Incoming transaction</source>
<translation>വരവ്വ് വെച്ച ഇടപാടുകൾ </translation>
</message>
- </context>
+ <message>
+ <source>HD key generation is &lt;b&gt;enabled&lt;/b&gt;</source>
+ <translation>എച്ച്ഡി കീ ജനറേഷൻ&lt;b&gt;പ്രവർത്തനക്ഷമമാക്കി&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <source>HD key generation is &lt;b&gt;disabled&lt;/b&gt;</source>
+ <translation>എച്ച്ഡി കീ ജനറേഷൻ&lt;b&gt;പ്രവർത്തനരഹിതമാക്കി&lt;/b&gt;`</translation>
+ </message>
+ <message>
+ <source>Private key &lt;b&gt;disabled&lt;/b&gt;</source>
+ <translation>സ്വകാര്യ കീ&lt;b&gt;പ്രവർത്തനരഹിതമാക്കി&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
+ <translation>Wallet &lt;b&gt;എൻ‌ക്രിപ്റ്റ് ചെയ്തു&lt;/b&gt;നിലവിൽ&lt;b&gt;അൺലോക്കുചെയ്‌തു&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
+ <translation>Wallet &lt;b&gt;എൻ‌ക്രിപ്റ്റ് ചെയ്തു&lt;/b&gt;നിലവിൽ&lt;b&gt;പൂട്ടി&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <source>Original message:</source>
+ <translation>യഥാർത്ഥ സന്ദേശം:</translation>
+ </message>
+ <message>
+ <source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
+ <translation>മാരകമായ ഒരു പിശക് സംഭവിച്ചു. %1 ന് മേലിൽ സുരക്ഷിതമായി തുടരാനാകില്ല, ഒപ്പം ഉപേക്ഷിക്കുകയും ചെയ്യും.</translation>
+ </message>
+</context>
<context>
<name>CoinControlDialog</name>
<message>
@@ -304,6 +687,26 @@
<translation>ഫീസ്‌ / പ്രതിഫലം :</translation>
</message>
<message>
+ <source>Dust:</source>
+ <translation>പൊടി:</translation>
+ </message>
+ <message>
+ <source>After Fee:</source>
+ <translation>ഫീസ് കഴിഞ്ഞ്:</translation>
+ </message>
+ <message>
+ <source>Change:</source>
+ <translation>മാറ്റം:</translation>
+ </message>
+ <message>
+ <source>(un)select all</source>
+ <translation>(അൺ) എല്ലാം തിരഞ്ഞെടുക്കുക</translation>
+ </message>
+ <message>
+ <source>Tree mode</source>
+ <translation>ട്രീ മോഡ്</translation>
+ </message>
+ <message>
<source>List mode</source>
<translation>പട്ടിക </translation>
</message>
@@ -332,6 +735,26 @@
<translation>സ്ഥിതീകരിച്ചു</translation>
</message>
<message>
+ <source>Copy address</source>
+ <translation>വിലാസം പകർത്തുക</translation>
+ </message>
+ <message>
+ <source>Copy label</source>
+ <translation>പകർത്തുക ലേബൽ</translation>
+ </message>
+ <message>
+ <source>Copy amount</source>
+ <translation>തുക പകർത്തുക</translation>
+ </message>
+ <message>
+ <source>Copy transaction ID</source>
+ <translation>ഇടപാട് ഐഡി പകർത്തുക</translation>
+ </message>
+ <message>
+ <source>Lock unspent</source>
+ <translation>ചെലവഴിക്കാത്തത് പൂട്ടുക</translation>
+ </message>
+ <message>
<source>(no label)</source>
<translation>(ലേബൽ ഇല്ല)</translation>
</message>
@@ -394,6 +817,10 @@
<context>
<name>OptionsDialog</name>
<message>
+ <source>&amp;Window</source>
+ <translation>&amp;ജാലകം </translation>
+ </message>
+ <message>
<source>Error</source>
<translation>പിശക് </translation>
</message>
@@ -438,9 +865,21 @@
</context>
<context>
<name>RPCConsole</name>
+ <message>
+ <source>Node window</source>
+ <translation>നോഡ് വിൻഡോ</translation>
+ </message>
</context>
<context>
<name>ReceiveCoinsDialog</name>
+ <message>
+ <source>Copy label</source>
+ <translation>പകർത്തുക ലേബൽ</translation>
+ </message>
+ <message>
+ <source>Copy amount</source>
+ <translation>തുക പകർത്തുക</translation>
+ </message>
</context>
<context>
<name>ReceiveRequestDialog</name>
@@ -448,6 +887,10 @@
<source>Amount:</source>
<translation>തുക:</translation>
</message>
+ <message>
+ <source>Wallet:</source>
+ <translation>വാലറ്റ്:</translation>
+ </message>
</context>
<context>
<name>RecentRequestsTableModel</name>
@@ -483,6 +926,22 @@
<translation>ഫീസ്‌ / പ്രതിഫലം :</translation>
</message>
<message>
+ <source>After Fee:</source>
+ <translation>ഫീസ് കഴിഞ്ഞ്:</translation>
+ </message>
+ <message>
+ <source>Change:</source>
+ <translation>മാറ്റം</translation>
+ </message>
+ <message>
+ <source>Dust:</source>
+ <translation>പൊടി:</translation>
+ </message>
+ <message>
+ <source>Copy amount</source>
+ <translation>തുക പകർത്തുക</translation>
+ </message>
+ <message>
<source>Payment request expired.</source>
<translation>പെയ്മെന്റിനുള്ള അഭ്യർത്ഥന കാലഹരണപ്പെട്ടു പോയിരിക്കുന്നു. </translation>
</message>
@@ -535,6 +994,22 @@
<context>
<name>TransactionView</name>
<message>
+ <source>Copy address</source>
+ <translation>വിലാസം പകർത്തുക</translation>
+ </message>
+ <message>
+ <source>Copy label</source>
+ <translation>പകർത്തുക ലേബൽ</translation>
+ </message>
+ <message>
+ <source>Copy amount</source>
+ <translation>തുക പകർത്തുക</translation>
+ </message>
+ <message>
+ <source>Copy transaction ID</source>
+ <translation>ഇടപാട് ഐഡി പകർത്തുക</translation>
+ </message>
+ <message>
<source>Comma separated file (*.csv)</source>
<translation>കോമയാൽ വേർതിരിച്ച ഫയൽ (* .csv)</translation>
</message>
@@ -568,10 +1043,18 @@
<source>Close wallet</source>
<translation>വാലറ്റ് പൂട്ടുക </translation>
</message>
+ <message>
+ <source>Close all wallets</source>
+ <translation>എല്ലാ വാലറ്റുകളും അടയ്‌ക്കുക ...</translation>
+ </message>
</context>
<context>
<name>WalletFrame</name>
- </context>
+ <message>
+ <source>Create a new wallet</source>
+ <translation>ഒരു പുതിയ വാലറ്റ് സൃഷ്ടിക്കുക</translation>
+ </message>
+</context>
<context>
<name>WalletModel</name>
<message>
diff --git a/src/qt/locale/bitcoin_ms.ts b/src/qt/locale/bitcoin_ms.ts
index 4d51ebba02..7d9be93bc4 100644
--- a/src/qt/locale/bitcoin_ms.ts
+++ b/src/qt/locale/bitcoin_ms.ts
@@ -828,7 +828,7 @@ Alihkan fail data ke dalam tab semasa</translation>
<source>Create</source>
<translation>Create</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -3617,10 +3617,6 @@ Alihkan fail data ke dalam tab semasa</translation>
<translation>%s is set very high!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Error loading wallet %s. Duplicate -wallet filename specified.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Starting network threads...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_nb.ts b/src/qt/locale/bitcoin_nb.ts
index 82c74c3107..07f59d3b2a 100644
--- a/src/qt/locale/bitcoin_nb.ts
+++ b/src/qt/locale/bitcoin_nb.ts
@@ -70,6 +70,11 @@
<translation>Dette er dine Bitcoin adresser for å sende å sende betalinger. Husk å sjekke beløp og mottager adresser før du sender mynter.</translation>
</message>
<message>
+ <source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
+Signing is only possible with addresses of the type 'legacy'.</source>
+ <translation>Dette er dine Bitcoin adresser for å motta betalinger. Bruk 'Lag ny mottaksadresse' knappen i motta tabben for å lage nye adresser. Signering er bare mulig for adresser av typen 'legacy'.</translation>
+ </message>
+ <message>
<source>&amp;Copy Address</source>
<translation>&amp;Kopier adresse</translation>
</message>
@@ -478,6 +483,22 @@
<translation>Oppdatert</translation>
</message>
<message>
+ <source>&amp;Load PSBT from file...</source>
+ <translation>&amp;Last PSBT fra fil...</translation>
+ </message>
+ <message>
+ <source>Load Partially Signed Bitcoin Transaction</source>
+ <translation>Last delvis signert Bitcoin transaksjon</translation>
+ </message>
+ <message>
+ <source>Load PSBT from clipboard...</source>
+ <translation>Last PSBT fra utklippstavlen...</translation>
+ </message>
+ <message>
+ <source>Load Partially Signed Bitcoin Transaction from clipboard</source>
+ <translation>Last Delvis Signert Bitcoin Transaksjon fra utklippstavle</translation>
+ </message>
+ <message>
<source>Node window</source>
<translation>Nodevindu</translation>
</message>
@@ -514,10 +535,26 @@
<translation>Lukk lommebok</translation>
</message>
<message>
+ <source>Close All Wallets...</source>
+ <translation>Lukk alle lommebøker...</translation>
+ </message>
+ <message>
+ <source>Close all wallets</source>
+ <translation>Lukk alle lommebøker</translation>
+ </message>
+ <message>
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
<translation>Vis %1-hjelpemeldingen for å få en liste over mulige Bitcoin-kommandolinjealternativer</translation>
</message>
<message>
+ <source>&amp;Mask values</source>
+ <translation>&amp;Masker verdier</translation>
+ </message>
+ <message>
+ <source>Mask the values in the Overview tab</source>
+ <translation>Masker verdiene i oversiktstabben</translation>
+ </message>
+ <message>
<source>default wallet</source>
<translation>standard lommebok</translation>
</message>
@@ -625,7 +662,15 @@
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>Lommeboken er &lt;b&gt;kryptert&lt;/b&gt; og for tiden &lt;b&gt;låst&lt;/b&gt;</translation>
</message>
- </context>
+ <message>
+ <source>Original message:</source>
+ <translation>Opprinnelig melding</translation>
+ </message>
+ <message>
+ <source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
+ <translation>En fatal feil har skjedd. %1 kan ikke lenger trygt fortsette og kommer til å avslutte.</translation>
+ </message>
+</context>
<context>
<name>CoinControlDialog</name>
<message>
@@ -827,9 +872,21 @@
<translation>Lag Tom Lommebok</translation>
</message>
<message>
+ <source>Use descriptors for scriptPubKey management</source>
+ <translation>Bruk deskriptorer for scriptPubKey styring</translation>
+ </message>
+ <message>
+ <source>Descriptor Wallet</source>
+ <translation>Deskriptor lommebok</translation>
+ </message>
+ <message>
<source>Create</source>
<translation>Opprett</translation>
</message>
+ <message>
+ <source>Compiled without sqlite support (required for descriptor wallets)</source>
+ <translation>Kompilert uten sqlite støtte (kreves for deskriptor lommebok)</translation>
+ </message>
</context>
<context>
<name>EditAddressDialog</name>
@@ -1299,6 +1356,14 @@
<translation>Skal myntkontroll funksjoner vises eller ikke.</translation>
</message>
<message>
+ <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor onion services.</source>
+ <translation>Kobl til Bitcoin nettverket gjennom en separat SOCKS5 proxy for Tor onion tjenester. </translation>
+ </message>
+ <message>
+ <source>Use separate SOCKS&amp;5 proxy to reach peers via Tor onion services:</source>
+ <translation>Bruk separate SOCKS&amp;5 proxy for å nå peers via Tor onion tjenester:</translation>
+ </message>
+ <message>
<source>&amp;Third party transaction URLs</source>
<translation>Tredjepart transaksjon URLer</translation>
</message>
@@ -1433,7 +1498,11 @@
<source>Current total balance in watch-only addresses</source>
<translation>Nåværende totale balanse i kun observerbare adresser</translation>
</message>
- </context>
+ <message>
+ <source>Privacy mode activated for the Overview tab. To unmask the values, uncheck Settings-&gt;Mask values.</source>
+ <translation>Privat mode er aktivert for oversiktstabben. For å se verdier, uncheck innstillinger-&gt;Masker verdier</translation>
+ </message>
+</context>
<context>
<name>PSBTOperationsDialog</name>
<message>
@@ -1441,6 +1510,86 @@
<translation>Dialog</translation>
</message>
<message>
+ <source>Sign Tx</source>
+ <translation>Signer Tx</translation>
+ </message>
+ <message>
+ <source>Broadcast Tx</source>
+ <translation>Kringkast Tx</translation>
+ </message>
+ <message>
+ <source>Copy to Clipboard</source>
+ <translation>Kopier til utklippstavle</translation>
+ </message>
+ <message>
+ <source>Save...</source>
+ <translation>Lagre...</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Lukk</translation>
+ </message>
+ <message>
+ <source>Failed to load transaction: %1</source>
+ <translation>Lasting av transaksjon: %1 feilet</translation>
+ </message>
+ <message>
+ <source>Failed to sign transaction: %1</source>
+ <translation>Signering av transaksjon: %1 feilet</translation>
+ </message>
+ <message>
+ <source>Could not sign any more inputs.</source>
+ <translation>Kunne ikke signere flere inputs.</translation>
+ </message>
+ <message>
+ <source>Signed %1 inputs, but more signatures are still required.</source>
+ <translation>Signerte %1 inputs, men flere signaturer kreves.</translation>
+ </message>
+ <message>
+ <source>Signed transaction successfully. Transaction is ready to broadcast.</source>
+ <translation>Signering av transaksjon var vellykket. Transaksjon er klar til å kringkastes.</translation>
+ </message>
+ <message>
+ <source>Unknown error processing transaction.</source>
+ <translation>Ukjent feil når den prossesserte transaksjonen.</translation>
+ </message>
+ <message>
+ <source>Transaction broadcast successfully! Transaction ID: %1</source>
+ <translation>Kringkasting av transaksjon var vellykket! Transaksjon ID: %1</translation>
+ </message>
+ <message>
+ <source>Transaction broadcast failed: %1</source>
+ <translation>Kringkasting av transaksjon feilet: %1</translation>
+ </message>
+ <message>
+ <source>PSBT copied to clipboard.</source>
+ <translation>PSBT kopiert til utklippstavle.</translation>
+ </message>
+ <message>
+ <source>Save Transaction Data</source>
+ <translation>Lagre Transaksjonsdata</translation>
+ </message>
+ <message>
+ <source>Partially Signed Transaction (Binary) (*.psbt)</source>
+ <translation>Delvis Signert Transaksjon (Binær) (*.psbt)</translation>
+ </message>
+ <message>
+ <source>PSBT saved to disk.</source>
+ <translation>PSBT lagret til disk.</translation>
+ </message>
+ <message>
+ <source> * Sends %1 to %2</source>
+ <translation>* Sender %1 til %2</translation>
+ </message>
+ <message>
+ <source>Unable to calculate transaction fee or total transaction amount.</source>
+ <translation>Klarte ikke å kalkulere transaksjonsavgift eller totalt transaksjonsbeløp.</translation>
+ </message>
+ <message>
+ <source>Pays transaction fee: </source>
+ <translation>Betaler transasjonsavgift:</translation>
+ </message>
+ <message>
<source>Total Amount</source>
<translation>Totalbeløp</translation>
</message>
@@ -1448,7 +1597,35 @@
<source>or</source>
<translation>eller</translation>
</message>
- </context>
+ <message>
+ <source>Transaction has %1 unsigned inputs.</source>
+ <translation>Transaksjon har %1 usignert inputs.</translation>
+ </message>
+ <message>
+ <source>Transaction is missing some information about inputs.</source>
+ <translation>Transaksjonen mangler noe informasjon om inputs.</translation>
+ </message>
+ <message>
+ <source>Transaction still needs signature(s).</source>
+ <translation>Transaksjonen trenger signatur(er).</translation>
+ </message>
+ <message>
+ <source>(But this wallet cannot sign transactions.)</source>
+ <translation>(Men denne lommeboken kan ikke signere transaksjoner.)</translation>
+ </message>
+ <message>
+ <source>(But this wallet does not have the right keys.)</source>
+ <translation>(Men denne lommeboken har ikke de rette nøkklene.)</translation>
+ </message>
+ <message>
+ <source>Transaction is fully signed and ready for broadcast.</source>
+ <translation>Transaksjonen er signert og klar til kringkasting.</translation>
+ </message>
+ <message>
+ <source>Transaction status is unknown.</source>
+ <translation>Transaksjonsstatus er ukjent.</translation>
+ </message>
+</context>
<context>
<name>PaymentServer</name>
<message>
@@ -1610,6 +1787,10 @@
<translation>Feil: %1</translation>
</message>
<message>
+ <source>Error initializing settings: %1</source>
+ <translation>Initialisering av innstillinger feilet: %1</translation>
+ </message>
+ <message>
<source>%1 didn't yet exit safely...</source>
<translation>%1 har ikke avsluttet trygt enda…</translation>
</message>
@@ -1780,6 +1961,10 @@
<translation>Nodevindu</translation>
</message>
<message>
+ <source>Current block height</source>
+ <translation>Nåværende blokkhøyde</translation>
+ </message>
+ <message>
<source>Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.</source>
<translation>Åpne %1-feilrettingsloggfila fra gjeldende datamappe. Dette kan ta et par sekunder for store loggfiler.</translation>
</message>
@@ -1792,6 +1977,10 @@
<translation>Forstørr font størrelse</translation>
</message>
<message>
+ <source>Permissions</source>
+ <translation>Rettigheter</translation>
+ </message>
+ <message>
<source>Services</source>
<translation>Tjenester</translation>
</message>
@@ -2046,10 +2235,22 @@
<source>Could not unlock wallet.</source>
<translation>Kunne ikke låse opp lommebok.</translation>
</message>
- </context>
+ <message>
+ <source>Could not generate new %1 address</source>
+ <translation>Kunne ikke generere ny %1 adresse </translation>
+ </message>
+</context>
<context>
<name>ReceiveRequestDialog</name>
<message>
+ <source>Request payment to ...</source>
+ <translation>Be om betaling til...</translation>
+ </message>
+ <message>
+ <source>Address:</source>
+ <translation>Adresse:</translation>
+ </message>
+ <message>
<source>Amount:</source>
<translation>Beløp:</translation>
</message>
@@ -2320,6 +2521,22 @@ Merk: Siden avgiften er beregnet per byte-basis, vil et gebyr på "100 satoshis
<translation>Er du sikker på at du vil sende?</translation>
</message>
<message>
+ <source>Create Unsigned</source>
+ <translation>Lag usignert</translation>
+ </message>
+ <message>
+ <source>Save Transaction Data</source>
+ <translation>Lagre Transaksjonsdata</translation>
+ </message>
+ <message>
+ <source>Partially Signed Transaction (Binary) (*.psbt)</source>
+ <translation>Delvis Signert Transaksjon (Binær) (*.psbt)</translation>
+ </message>
+ <message>
+ <source>PSBT saved</source>
+ <translation>PSBT lagret</translation>
+ </message>
+ <message>
<source>or</source>
<translation>eller</translation>
</message>
@@ -2328,6 +2545,10 @@ Merk: Siden avgiften er beregnet per byte-basis, vil et gebyr på "100 satoshis
<translation>Du kan øke gebyret senere (signaliserer Replace-By-Fee, BIP-125).</translation>
</message>
<message>
+ <source>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can save or copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
+ <translation>Se over ditt transaksjonsforslag. Dette kommer til å produsere en Delvis Signert Bitcoin Transaksjon (PSBT) som du kan lagre eller kopiere og så signere med f.eks. en offline %1 lommebok, eller en PSBT kompatibel hardware lommebok.</translation>
+ </message>
+ <message>
<source>Please, review your transaction.</source>
<translation>Vennligst se over transaksjonen din.</translation>
</message>
@@ -3137,10 +3358,26 @@ Merk: Siden avgiften er beregnet per byte-basis, vil et gebyr på "100 satoshis
<source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
<translation>Å lukke lommeboken for lenge kan føre til at du må synkronisere hele kjeden hvis beskjæring er aktivert.</translation>
</message>
- </context>
+ <message>
+ <source>Close all wallets</source>
+ <translation>Lukk alle lommebøker</translation>
+ </message>
+ <message>
+ <source>Are you sure you wish to close all wallets?</source>
+ <translation>Er du sikker på at du vil lukke alle lommebøker?</translation>
+ </message>
+</context>
<context>
<name>WalletFrame</name>
<message>
+ <source>No wallet has been loaded.
+Go to File &gt; Open Wallet to load a wallet.
+- OR -</source>
+ <translation>Ingen lommebok har blitt lastet.
+Gå til Fil &gt; Åpne lommebok for å laste en lommebok.
+- ELLER -</translation>
+ </message>
+ <message>
<source>Create a new wallet</source>
<translation>Lag en ny lommebok</translation>
</message>
@@ -3219,6 +3456,26 @@ Merk: Siden avgiften er beregnet per byte-basis, vil et gebyr på "100 satoshis
<translation>Feilmelding</translation>
</message>
<message>
+ <source>Unable to decode PSBT from clipboard (invalid base64)</source>
+ <translation>Klarte ikke å dekode PSBT fra utklippstavle (ugyldig base64)</translation>
+ </message>
+ <message>
+ <source>Load Transaction Data</source>
+ <translation>Last transaksjonsdata</translation>
+ </message>
+ <message>
+ <source>Partially Signed Transaction (*.psbt)</source>
+ <translation>Delvis signert transaksjon (*.psbt)</translation>
+ </message>
+ <message>
+ <source>PSBT file must be smaller than 100 MiB</source>
+ <translation>PSBT-fil må være mindre enn 100 MiB</translation>
+ </message>
+ <message>
+ <source>Unable to decode PSBT</source>
+ <translation>Klarte ikke å dekode PSBT</translation>
+ </message>
+ <message>
<source>Backup Wallet</source>
<translation>Sikkerhetskopier lommebok</translation>
</message>
@@ -3286,6 +3543,10 @@ Merk: Siden avgiften er beregnet per byte-basis, vil et gebyr på "100 satoshis
<translation>Feil under lesing av %s! Alle nøkler har blitt lest rett, men transaksjonsdata eller adressebokoppføringer kan mangle eller være uriktige.</translation>
</message>
<message>
+ <source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
+ <translation>Mer enn en onion adresse har blitt gitt. Bruker %s for den automatisk lagde Tor onion tjenesten.</translation>
+ </message>
+ <message>
<source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
<translation>Sjekk at din datamaskins dato og klokke er stilt rett! Hvis klokka er feil, vil ikke %s fungere ordentlig.</translation>
</message>
@@ -3390,6 +3651,14 @@ Merk: Siden avgiften er beregnet per byte-basis, vil et gebyr på "100 satoshis
<translation>Klarte ikke gå igjennom lommeboken under oppstart</translation>
</message>
<message>
+ <source>Failed to verify database</source>
+ <translation>Verifisering av database feilet</translation>
+ </message>
+ <message>
+ <source>Ignoring duplicate -wallet %s.</source>
+ <translation>Ignorerer dupliserte -wallet %s.</translation>
+ </message>
+ <message>
<source>Importing...</source>
<translation>Importerer...</translation>
</message>
@@ -3486,6 +3755,10 @@ Merk: Siden avgiften er beregnet per byte-basis, vil et gebyr på "100 satoshis
<translation>Feil: Lytting etter innkommende tilkoblinger feilet (lytting returnerte feil %s)</translation>
</message>
<message>
+ <source>%s corrupt. Try using the wallet tool bitcoin-wallet to salvage or restoring a backup.</source>
+ <translation>%s korrupt. Prøv å bruk lommebokverktøyet bitcoin-wallet til å fikse det eller laste en backup.</translation>
+ </message>
+ <message>
<source>Invalid amount for -maxtxfee=&lt;amount&gt;: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source>
<translation>Ugyldig beløp for -maxtxfee=&lt;amount&gt;: '%s' (må være minst minimum relé gebyr på %s for å hindre fastlåste transaksjoner)</translation>
</message>
@@ -3494,10 +3767,34 @@ Merk: Siden avgiften er beregnet per byte-basis, vil et gebyr på "100 satoshis
<translation>Transaksjonsbeløpet er for lite til å sendes etter at gebyret er fratrukket</translation>
</message>
<message>
+ <source>This error could occur if this wallet was not shutdown cleanly and was last loaded using a build with a newer version of Berkeley DB. If so, please use the software that last loaded this wallet</source>
+ <translation>Denne feilen kan oppstå hvis denne lommeboken ikke ble avsluttet skikkelig og var sist lastet med en build som hadde en nyere versjon av Berkeley DB. Hvis det har skjedd, vær så snill å bruk softwaren som sist lastet denne lommeboken.</translation>
+ </message>
+ <message>
+ <source>This is the maximum transaction fee you pay (in addition to the normal fee) to prioritize partial spend avoidance over regular coin selection.</source>
+ <translation>Dette er maksimum transaksjonsavgift du betaler (i tillegg til den normale avgiften) for å prioritere delvis betaling unngåelse over normal mynt seleksjon.</translation>
+ </message>
+ <message>
+ <source>Transaction needs a change address, but we can't generate it. Please call keypoolrefill first.</source>
+ <translation>Transaksjon trenger en veksel adresse, men vi kan ikke generere den. Kall keypoolrefill først.</translation>
+ </message>
+ <message>
<source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source>
<translation>Du må gjenoppbygge databasen ved hjelp av -reindex for å gå tilbake til ubeskåret modus. Dette vil laste ned hele blokkjeden på nytt.</translation>
</message>
<message>
+ <source>A fatal internal error occurred, see debug.log for details</source>
+ <translation>En fatal intern feil oppstod, se debug.log for detaljer.</translation>
+ </message>
+ <message>
+ <source>Cannot set -peerblockfilters without -blockfilterindex.</source>
+ <translation>Kan ikke sette -peerblockfilters uten -blockfilterindex</translation>
+ </message>
+ <message>
+ <source>Disk space is too low!</source>
+ <translation>For lite diskplass!</translation>
+ </message>
+ <message>
<source>Error reading from database, shutting down.</source>
<translation>Feil ved lesing fra database, stenger ned.</translation>
</message>
@@ -3510,6 +3807,14 @@ Merk: Siden avgiften er beregnet per byte-basis, vil et gebyr på "100 satoshis
<translation>Feil: Ikke nok ledig diskplass for %s</translation>
</message>
<message>
+ <source>Error: Keypool ran out, please call keypoolrefill first</source>
+ <translation>Feil: Keypool gikk tom, kall keypoolrefill først.</translation>
+ </message>
+ <message>
+ <source>Fee rate (%s) is lower than the minimum fee rate setting (%s)</source>
+ <translation>Avgiftsrate (%s) er lavere enn den minimume avgiftsrate innstillingen (%s)</translation>
+ </message>
+ <message>
<source>Invalid -onion address or hostname: '%s'</source>
<translation>Ugyldig -onion adresse eller vertsnavn: "%s"</translation>
</message>
@@ -3530,6 +3835,10 @@ Merk: Siden avgiften er beregnet per byte-basis, vil et gebyr på "100 satoshis
<translation>Må oppgi en port med -whitebind: '%s'</translation>
</message>
<message>
+ <source>No proxy server specified. Use -proxy=&lt;ip&gt; or -proxy=&lt;ip:port&gt;.</source>
+ <translation>Ingen proxyserver er spesifisert. Bruk -proxy=&lt;ip&gt; eller -proxy=&lt;ip:port&gt;.</translation>
+ </message>
+ <message>
<source>Prune mode is incompatible with -blockfilterindex.</source>
<translation>Beskjæringsmodus er inkompatibel med -blokkfilterindex.</translation>
</message>
@@ -3608,10 +3917,6 @@ Merk: Siden avgiften er beregnet per byte-basis, vil et gebyr på "100 satoshis
<translation>%s er satt veldig høyt!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Feil ved innlasting av lommeboka %s. Duplisert -wallet -filnavn angitt.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Starter nettverkstråder…</translation>
</message>
diff --git a/src/qt/locale/bitcoin_nl.ts b/src/qt/locale/bitcoin_nl.ts
index 2cb42a0e39..b3d7179f3b 100644
--- a/src/qt/locale/bitcoin_nl.ts
+++ b/src/qt/locale/bitcoin_nl.ts
@@ -3,7 +3,7 @@
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
- <translation>Rechtermuisklik om het adres of label te wijzigen</translation>
+ <translation>rechts klikken op adres of label te wijzigen</translation>
</message>
<message>
<source>Create a new address</source>
@@ -47,11 +47,11 @@
</message>
<message>
<source>Choose the address to send coins to</source>
- <translation>Kies het adres om de munten naar te versturen</translation>
+ <translation>Kies het adres om de munten te versturen</translation>
</message>
<message>
<source>Choose the address to receive coins with</source>
- <translation>Kies het adres om munten op te ontvangen</translation>
+ <translation>Kies het adres om munten te ontvangen</translation>
</message>
<message>
<source>C&amp;hoose</source>
@@ -89,7 +89,7 @@ Ondertekenen is alleen mogelijk met adressen van het type 'legacy'.</translation
</message>
<message>
<source>Export Address List</source>
- <translation>Exporteer adreslijst</translation>
+ <translation>Exporteer adressenlijst</translation>
</message>
<message>
<source>Comma separated file (*.csv)</source>
@@ -101,7 +101,7 @@ Ondertekenen is alleen mogelijk met adressen van het type 'legacy'.</translation
</message>
<message>
<source>There was an error trying to save the address list to %1. Please try again.</source>
- <translation>Een fout is opgetreden tijdens het opslaan van deze adreslijst naar %1. Probeer het nogmaals.</translation>
+ <translation>Een fout is opgetreden tijdens het opslaan van deze adreslijst naar %1. Probeer nogmaals.</translation>
</message>
</context>
<context>
@@ -885,6 +885,10 @@ Dit is ideaal voor alleen-lezen portommonees.</translation>
<source>Create</source>
<translation>Creëer</translation>
</message>
+ <message>
+ <source>Compiled without sqlite support (required for descriptor wallets)</source>
+ <translation>Gecompileerd zonder ondersteuning van sqlite (noodzakelijk voor beschrijvende portemonees)</translation>
+ </message>
</context>
<context>
<name>EditAddressDialog</name>
@@ -1544,6 +1548,50 @@ Dit is ideaal voor alleen-lezen portommonees.</translation>
<translation>Kon geen inputs meer ondertekenen.</translation>
</message>
<message>
+ <source>Signed transaction successfully. Transaction is ready to broadcast.</source>
+ <translation>Transactie succesvol getekend. Transactie is klaar voor verzending.</translation>
+ </message>
+ <message>
+ <source>Unknown error processing transaction.</source>
+ <translation>Onbekende fout bij verwerken van transactie.</translation>
+ </message>
+ <message>
+ <source>Transaction broadcast successfully! Transaction ID: %1</source>
+ <translation>Transactie succesvol uitgezonden! Transactie-ID: %1</translation>
+ </message>
+ <message>
+ <source>Transaction broadcast failed: %1</source>
+ <translation>Uitzenden transactie mislukt: %1</translation>
+ </message>
+ <message>
+ <source>PSBT copied to clipboard.</source>
+ <translation>PSBT gekopieerd naar klembord.</translation>
+ </message>
+ <message>
+ <source>Save Transaction Data</source>
+ <translation>Transactiedata Opslaan</translation>
+ </message>
+ <message>
+ <source>Partially Signed Transaction (Binary) (*.psbt)</source>
+ <translation>Gedeeltelijk Ondertekende Transactie (Binair) (*.psbt)</translation>
+ </message>
+ <message>
+ <source>PSBT saved to disk.</source>
+ <translation>PSBT opgeslagen op de schijf</translation>
+ </message>
+ <message>
+ <source> * Sends %1 to %2</source>
+ <translation>Verstuur %1 naar %2</translation>
+ </message>
+ <message>
+ <source>Unable to calculate transaction fee or total transaction amount.</source>
+ <translation>Onmogelijk om de transactie kost of totale bedrag te berekenen.</translation>
+ </message>
+ <message>
+ <source>Pays transaction fee: </source>
+ <translation>Betaald transactiekosten:</translation>
+ </message>
+ <message>
<source>Total Amount</source>
<translation>Totaalbedrag</translation>
</message>
@@ -1551,7 +1599,35 @@ Dit is ideaal voor alleen-lezen portommonees.</translation>
<source>or</source>
<translation>of</translation>
</message>
- </context>
+ <message>
+ <source>Transaction has %1 unsigned inputs.</source>
+ <translation>Transactie heeft %1 niet ondertekende ingaves.</translation>
+ </message>
+ <message>
+ <source>Transaction is missing some information about inputs.</source>
+ <translation>Transactie heeft nog ontbrekende informatie over ingaves.</translation>
+ </message>
+ <message>
+ <source>Transaction still needs signature(s).</source>
+ <translation>Transactie heeft nog handtekening(en) nodig.</translation>
+ </message>
+ <message>
+ <source>(But this wallet cannot sign transactions.)</source>
+ <translation>(Deze wallet kan geen transacties tekenen.)</translation>
+ </message>
+ <message>
+ <source>(But this wallet does not have the right keys.)</source>
+ <translation>(Maar deze portemonnee heeft niet de juiste sleutels.)</translation>
+ </message>
+ <message>
+ <source>Transaction is fully signed and ready for broadcast.</source>
+ <translation>Transactie is volledig getekend en is klaar voor verzending</translation>
+ </message>
+ <message>
+ <source>Transaction status is unknown.</source>
+ <translation>Transactie status is onbekend</translation>
+ </message>
+</context>
<context>
<name>PaymentServer</name>
<message>
@@ -1717,6 +1793,10 @@ Dit is ideaal voor alleen-lezen portommonees.</translation>
<translation>Fout: %1</translation>
</message>
<message>
+ <source>Error initializing settings: %1</source>
+ <translation>Fout bij het initializeren van de gegevens: %1</translation>
+ </message>
+ <message>
<source>%1 didn't yet exit safely...</source>
<translation>%1 sloot nog niet veilig af...</translation>
</message>
@@ -1895,6 +1975,10 @@ Dit is ideaal voor alleen-lezen portommonees.</translation>
<translation>Nodevenster</translation>
</message>
<message>
+ <source>Current block height</source>
+ <translation>Huidige block hoogte</translation>
+ </message>
+ <message>
<source>Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.</source>
<translation>Open het %1 debug-logbestand van de huidige gegevensmap. Dit kan een aantal seconden duren voor grote logbestanden.</translation>
</message>
@@ -1907,6 +1991,10 @@ Dit is ideaal voor alleen-lezen portommonees.</translation>
<translation>Vergroot lettergrootte</translation>
</message>
<message>
+ <source>Permissions</source>
+ <translation>Rechten</translation>
+ </message>
+ <message>
<source>Services</source>
<translation>Diensten</translation>
</message>
@@ -2161,10 +2249,22 @@ Dit is ideaal voor alleen-lezen portommonees.</translation>
<source>Could not unlock wallet.</source>
<translation>Kon de portemonnee niet openen.</translation>
</message>
- </context>
+ <message>
+ <source>Could not generate new %1 address</source>
+ <translation>Kan geen nieuw %1 adres genereren</translation>
+ </message>
+</context>
<context>
<name>ReceiveRequestDialog</name>
<message>
+ <source>Request payment to ...</source>
+ <translation>Verzoek tot betaling aan ...</translation>
+ </message>
+ <message>
+ <source>Address:</source>
+ <translation>Adres:</translation>
+ </message>
+ <message>
<source>Amount:</source>
<translation>Bedrag:</translation>
</message>
@@ -2447,6 +2547,22 @@ Notitie: Omdat de vergoeding per byte wordt gerekend, zal een vergoeding van "10
<translation>Weet u zeker dat u wilt verzenden?</translation>
</message>
<message>
+ <source>Create Unsigned</source>
+ <translation>Creër ongetekende</translation>
+ </message>
+ <message>
+ <source>Save Transaction Data</source>
+ <translation>Transactiedata Opslaan</translation>
+ </message>
+ <message>
+ <source>Partially Signed Transaction (Binary) (*.psbt)</source>
+ <translation>Gedeeltelijk Ondertekende Tansactie (Binair) (*.psbt)</translation>
+ </message>
+ <message>
+ <source>PSBT saved</source>
+ <translation>PSBT opgeslagen</translation>
+ </message>
+ <message>
<source>or</source>
<translation>of</translation>
</message>
@@ -2455,6 +2571,11 @@ Notitie: Omdat de vergoeding per byte wordt gerekend, zal een vergoeding van "10
<translation>Je kunt de vergoeding later verhogen (signaleert Replace-By-Fee, BIP-125).</translation>
</message>
<message>
+ <source>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can save or copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
+ <translation>Gelieve uw transactie voorstel te controleren. Deze actie zal een Gedeeltelijk Getekende Bitcoin Transactie (PSBT) produceren die je kan opslaan of kopiëre en vervolgends ondertekenen.
+Vb. een offline %1 portemonee, of een PSBT-combatiebele hardware portemonee.</translation>
+ </message>
+ <message>
<source>Please, review your transaction.</source>
<translation>Controleer uw transactie aub.</translation>
</message>
@@ -3272,10 +3393,22 @@ Notitie: Omdat de vergoeding per byte wordt gerekend, zal een vergoeding van "10
<source>Close all wallets</source>
<translation>Sluit alle portemonnees</translation>
</message>
- </context>
+ <message>
+ <source>Are you sure you wish to close all wallets?</source>
+ <translation>Ben je zeker dat je alle portefeuilles wilt sluiten?</translation>
+ </message>
+</context>
<context>
<name>WalletFrame</name>
<message>
+ <source>No wallet has been loaded.
+Go to File &gt; Open Wallet to load a wallet.
+- OR -</source>
+ <translation>Geen portemonee is geladen.
+Ga naar Bestand &gt; Open portemonee om er één te openen.
+- OF -</translation>
+ </message>
+ <message>
<source>Create a new wallet</source>
<translation>Nieuwe wallet creëren</translation>
</message>
@@ -3354,6 +3487,26 @@ Notitie: Omdat de vergoeding per byte wordt gerekend, zal een vergoeding van "10
<translation>Fout</translation>
</message>
<message>
+ <source>Unable to decode PSBT from clipboard (invalid base64)</source>
+ <translation>Onmogelijk om het PSBT te ontcijferen van het klembord (ongeldige base64)</translation>
+ </message>
+ <message>
+ <source>Load Transaction Data</source>
+ <translation>Laad Transactie Data</translation>
+ </message>
+ <message>
+ <source>Partially Signed Transaction (*.psbt)</source>
+ <translation>Gedeeltelijk ondertekende transactie (*.psbt)</translation>
+ </message>
+ <message>
+ <source>PSBT file must be smaller than 100 MiB</source>
+ <translation>Het PSBT bestand moet kleiner dan 100 MiB te zijn.</translation>
+ </message>
+ <message>
+ <source>Unable to decode PSBT</source>
+ <translation>Niet in staat om de PSBT te decoderen</translation>
+ </message>
+ <message>
<source>Backup Wallet</source>
<translation>Portemonnee backuppen</translation>
</message>
@@ -3421,6 +3574,10 @@ Notitie: Omdat de vergoeding per byte wordt gerekend, zal een vergoeding van "10
<translation>Waarschuwing: Fout bij het lezen van %s! Alle sleutels zijn in goede orde uitgelezen, maar transactiedata of adresboeklemma's zouden kunnen ontbreken of fouten bevatten.</translation>
</message>
<message>
+ <source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
+ <translation>Meer dan één onion bind adres is voorzien. %s wordt gebruik voor het automatisch gecreëerde Tor onion service.</translation>
+ </message>
+ <message>
<source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
<translation>Waarschuwing: Controleer dat de datum en tijd van uw computer correct zijn ingesteld! Bij een onjuist ingestelde klok zal %s niet goed werken.</translation>
</message>
@@ -3429,6 +3586,18 @@ Notitie: Omdat de vergoeding per byte wordt gerekend, zal een vergoeding van "10
<translation>Gelieve bij te dragen als je %s nuttig vindt. Bezoek %s voor meer informatie over de software.</translation>
</message>
<message>
+ <source>SQLiteDatabase: Failed to prepare the statement to fetch sqlite wallet schema version: %s</source>
+ <translation>SQLite Databank: Mislukt om het statement voor te bereiden dat het sqlite portemonnee schema versie ophaalt: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to prepare the statement to fetch the application id: %s</source>
+ <translation>SQLite Databank: mislukt om het statement voor te bereiden dat de applicatie id ophaalt: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
+ <translation>SQLite Databank: Onbekende sqlite portemonee schema versie %d. Enkel %d wordt ondersteund.</translation>
+ </message>
+ <message>
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
<translation>De blokdatabase bevat een blok dat lijkt uit de toekomst te komen. Dit kan gebeuren omdat de datum en tijd van uw computer niet goed staat. Herbouw de blokdatabase pas nadat u de datum en tijd van uw computer correct heeft ingesteld.</translation>
</message>
@@ -3533,6 +3702,14 @@ Notitie: Omdat de vergoeding per byte wordt gerekend, zal een vergoeding van "10
<translation>Portemonnee herscannen tijdens initialisatie mislukt</translation>
</message>
<message>
+ <source>Failed to verify database</source>
+ <translation>Mislukt om de databank te controleren</translation>
+ </message>
+ <message>
+ <source>Ignoring duplicate -wallet %s.</source>
+ <translation>Negeren gedupliceerde -portemonnee %s</translation>
+ </message>
+ <message>
<source>Importing...</source>
<translation>Importeren...</translation>
</message>
@@ -3561,6 +3738,30 @@ Notitie: Omdat de vergoeding per byte wordt gerekend, zal een vergoeding van "10
<translation>Ongeldig bedrag voor -fallbackfee=&lt;bedrag&gt;: '%s'</translation>
</message>
<message>
+ <source>SQLiteDatabase: Failed to execute statement to verify database: %s</source>
+ <translation>SQLite Databank: mislukt om het statement uit te voeren dat de de databank verifieert: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to fetch sqlite wallet schema version: %s</source>
+ <translation>SQLite Databank: mislukt om het sqlite portemonee schema op te halen: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to fetch the application id: %s</source>
+ <translation>SQLite Databank: mislukt om de applicatie id op te halen: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to prepare statement to verify database: %s</source>
+ <translation>SQLite Databank: mislukt om de databank verificatie statement voor te bereiden: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Failed to read database verification error: %s</source>
+ <translation>SQLite Databank: mislukt om de databank verificatie code op te halen: %s</translation>
+ </message>
+ <message>
+ <source>SQLiteDatabase: Unexpected application id. Expected %u, got %u</source>
+ <translation>SQLite Databank: Onverwachte applicatie id. Verwacht werd %u, maar kreeg %u</translation>
+ </message>
+ <message>
<source>Specified blocks directory "%s" does not exist.</source>
<translation>Opgegeven blocks map "%s" bestaat niet.</translation>
</message>
@@ -3645,6 +3846,14 @@ Notitie: Omdat de vergoeding per byte wordt gerekend, zal een vergoeding van "10
<translation>Fout: luisteren naar binnenkomende verbindingen mislukt (luisteren gaf foutmelding %s)</translation>
</message>
<message>
+ <source>%s corrupt. Try using the wallet tool bitcoin-wallet to salvage or restoring a backup.</source>
+ <translation>%s is corrupt. Probeer de portemonnee tool bitcoin-portemonnee om het probleem op te lossen of een backup terug te zetten.</translation>
+ </message>
+ <message>
+ <source>Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use version 169900 or no version specified.</source>
+ <translation>Niet mogelijk om een niet HD gesplitste portefeuille up te daten, zonder de pre split keypool te ondersteunen. Gelieve versie 1699000 of 'geen versie gespecifieerd' te gebruiken.</translation>
+ </message>
+ <message>
<source>Invalid amount for -maxtxfee=&lt;amount&gt;: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source>
<translation>ongeldig bedrag voor -maxtxfee=&lt;bedrag&gt;: '%s' (moet ten minste de minimale doorgeefvergoeding van %s zijn om vastgelopen transacties te voorkomen)</translation>
</message>
@@ -3653,10 +3862,35 @@ Notitie: Omdat de vergoeding per byte wordt gerekend, zal een vergoeding van "10
<translation>Het transactiebedrag is te klein om te versturen nadat de transactievergoeding in mindering is gebracht</translation>
</message>
<message>
+ <source>This error could occur if this wallet was not shutdown cleanly and was last loaded using a build with a newer version of Berkeley DB. If so, please use the software that last loaded this wallet</source>
+ <translation>Deze fout komt mogelijks voor wanneer de portefeuille niet correct is afgesloten en dat deze de laatste keer geladen werd met een nieuwere versie van de Berkeley DB.
+Indien dit het geval is, gelieve de software te gebruiken waarmee deze portefeuille de laatste keer werd geladen.</translation>
+ </message>
+ <message>
+ <source>This is the maximum transaction fee you pay (in addition to the normal fee) to prioritize partial spend avoidance over regular coin selection.</source>
+ <translation>Dit is de maximale transactie kost die je betaalt (bovenop de normale kosten) om een hogere prioriteit te geven aan het vermijden van gedeeltelijke uitgaven dan de reguliere munt selectie.</translation>
+ </message>
+ <message>
+ <source>Transaction needs a change address, but we can't generate it. Please call keypoolrefill first.</source>
+ <translation>De transactie heeft een 'change' adres nodig, maar we kunnen er geen genereren. Gelieve eest keypoolrefill op te roepen.</translation>
+ </message>
+ <message>
<source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source>
<translation>U moet de database herbouwen met -reindex om terug te gaan naar de niet-prune modus. Dit zal de gehele blokketen opnieuw downloaden.</translation>
</message>
<message>
+ <source>A fatal internal error occurred, see debug.log for details</source>
+ <translation>Een fatale interne fout heeft zich voor gedaan, zie debug.log voor details</translation>
+ </message>
+ <message>
+ <source>Cannot set -peerblockfilters without -blockfilterindex.</source>
+ <translation>Kan -peerblockfilters niet zetten zonder -blockfilterindex</translation>
+ </message>
+ <message>
+ <source>Disk space is too low!</source>
+ <translation>Schijfruimte is te klein!</translation>
+ </message>
+ <message>
<source>Error reading from database, shutting down.</source>
<translation>Fout bij het lezen van de database, afsluiten.</translation>
</message>
@@ -3669,6 +3903,14 @@ Notitie: Omdat de vergoeding per byte wordt gerekend, zal een vergoeding van "10
<translation>Fout: Weinig schijfruimte voor %s</translation>
</message>
<message>
+ <source>Error: Keypool ran out, please call keypoolrefill first</source>
+ <translation>Keypool op geraakt, roep alsjeblieft eerst keypoolrefill functie aan</translation>
+ </message>
+ <message>
+ <source>Fee rate (%s) is lower than the minimum fee rate setting (%s)</source>
+ <translation>Tarief (%s) is lager dan het minimum tarief (%s)</translation>
+ </message>
+ <message>
<source>Invalid -onion address or hostname: '%s'</source>
<translation>Ongeldig -onion adress of hostnaam: '%s'</translation>
</message>
@@ -3689,6 +3931,10 @@ Notitie: Omdat de vergoeding per byte wordt gerekend, zal een vergoeding van "10
<translation>Verplicht een poort met -whitebind op te geven: '%s'</translation>
</message>
<message>
+ <source>No proxy server specified. Use -proxy=&lt;ip&gt; or -proxy=&lt;ip:port&gt;.</source>
+ <translation>Geen proxy server gedefinieerd. Gebruik -proxy=&lt;ip&gt;of -proxy=&lt;ip:port&gt;.</translation>
+ </message>
+ <message>
<source>Prune mode is incompatible with -blockfilterindex.</source>
<translation>Prune-modus is niet compatible met -blockfilterindex.</translation>
</message>
@@ -3779,10 +4025,6 @@ Notitie: Omdat de vergoeding per byte wordt gerekend, zal een vergoeding van "10
<translation>%s is zeer hoog ingesteld!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Fout bij laden van portemonnee %s. Duplicaat -wallet bestandsnaam opgegeven.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Netwerkthread starten...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_pl.ts b/src/qt/locale/bitcoin_pl.ts
index 1d8d1f89ff..9c76d93b72 100644
--- a/src/qt/locale/bitcoin_pl.ts
+++ b/src/qt/locale/bitcoin_pl.ts
@@ -329,11 +329,11 @@ Podpisywanie jest możliwe tylko z adresami typu „legacy”.</translation>
</message>
<message>
<source>Create Wallet...</source>
- <translation>Stwórz portfel...</translation>
+ <translation>Utwórz portfel...</translation>
</message>
<message>
<source>Create a new wallet</source>
- <translation>Stwórz nowy portfel</translation>
+ <translation>Utwórz nowy portfel</translation>
</message>
<message>
<source>Wallet:</source>
@@ -449,7 +449,7 @@ Podpisywanie jest możliwe tylko z adresami typu „legacy”.</translation>
</message>
<message>
<source>Processing blocks on disk...</source>
- <translation>Przetwarzanie blocks on disk...</translation>
+ <translation>Przetwarzanie bloków na dysku...</translation>
</message>
<message numerus="yes">
<source>Processed %n block(s) of transaction history.</source>
@@ -868,7 +868,7 @@ Podpisywanie jest możliwe tylko z adresami typu „legacy”.</translation>
<source>Create</source>
<translation>Stwórz</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -1341,6 +1341,14 @@ Podpisywanie jest możliwe tylko z adresami typu „legacy”.</translation>
<translation>Wybierz pokazywanie lub nie funkcji kontroli monet.</translation>
</message>
<message>
+ <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor onion services.</source>
+ <translation>Połącz się z siecią Bitcoin przy pomocy oddzielnego SOCKS5 proxy dla sieci TOR.</translation>
+ </message>
+ <message>
+ <source>Use separate SOCKS&amp;5 proxy to reach peers via Tor onion services:</source>
+ <translation>Użyj oddzielnego proxy SOCKS&amp;5 aby osiągnąć węzły w ukrytych usługach Tor:</translation>
+ </message>
+ <message>
<source>&amp;Third party transaction URLs</source>
<translation>&amp;Zewnętrzny URL podglądu transakcji</translation>
</message>
@@ -1503,6 +1511,14 @@ Podpisywanie jest możliwe tylko z adresami typu „legacy”.</translation>
<translation>Nie udało się podpisać transakcji: %1</translation>
</message>
<message>
+ <source>Could not sign any more inputs.</source>
+ <translation>Nie udało się podpisać więcej wejść.</translation>
+ </message>
+ <message>
+ <source>Signed %1 inputs, but more signatures are still required.</source>
+ <translation>Podpisano %1 wejść, ale potrzebnych jest więcej podpisów.</translation>
+ </message>
+ <message>
<source>Signed transaction successfully. Transaction is ready to broadcast.</source>
<translation>transakcja</translation>
</message>
@@ -1511,6 +1527,10 @@ Podpisywanie jest możliwe tylko z adresami typu „legacy”.</translation>
<translation>Nieznany błąd podczas przetwarzania transakcji.</translation>
</message>
<message>
+ <source>Transaction broadcast failed: %1</source>
+ <translation>Nie udało się rozgłosić transakscji: %1</translation>
+ </message>
+ <message>
<source>PSBT copied to clipboard.</source>
<translation>PSBT skopiowane do schowka</translation>
</message>
@@ -1543,10 +1563,34 @@ Podpisywanie jest możliwe tylko z adresami typu „legacy”.</translation>
<translation>lub</translation>
</message>
<message>
+ <source>Transaction has %1 unsigned inputs.</source>
+ <translation>Transakcja ma %1 niepodpisane wejścia.</translation>
+ </message>
+ <message>
+ <source>Transaction is missing some information about inputs.</source>
+ <translation>Transakcja ma niekompletne informacje o niektórych wejściach.</translation>
+ </message>
+ <message>
<source>Transaction still needs signature(s).</source>
<translation>Transakcja ciągle oczekuje na podpis(y).</translation>
</message>
- </context>
+ <message>
+ <source>(But this wallet cannot sign transactions.)</source>
+ <translation>(Ale ten portfel nie może podipisać transakcji.)</translation>
+ </message>
+ <message>
+ <source>(But this wallet does not have the right keys.)</source>
+ <translation>(Ale ten portfel nie posiada wlaściwych kluczy.)</translation>
+ </message>
+ <message>
+ <source>Transaction is fully signed and ready for broadcast.</source>
+ <translation>Transakcja jest w pełni podpisana i gotowa do rozgłoszenia.</translation>
+ </message>
+ <message>
+ <source>Transaction status is unknown.</source>
+ <translation>Status transakcji nie jest znany.</translation>
+ </message>
+</context>
<context>
<name>PaymentServer</name>
<message>
@@ -1712,6 +1756,10 @@ Podpisywanie jest możliwe tylko z adresami typu „legacy”.</translation>
<translation>Błąd: %1</translation>
</message>
<message>
+ <source>Error initializing settings: %1</source>
+ <translation>Błąd inicjowania ustawień: %1</translation>
+ </message>
+ <message>
<source>%1 didn't yet exit safely...</source>
<translation>%1 jeszcze się bezpiecznie nie zamknął...</translation>
</message>
@@ -1890,6 +1938,10 @@ Podpisywanie jest możliwe tylko z adresami typu „legacy”.</translation>
<translation>Okno węzła</translation>
</message>
<message>
+ <source>Current block height</source>
+ <translation>Obecna ilość bloków</translation>
+ </message>
+ <message>
<source>Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.</source>
<translation>Otwórz plik dziennika debugowania %1 z obecnego katalogu z danymi. Może to potrwać kilka sekund przy większych plikach.</translation>
</message>
@@ -2160,7 +2212,11 @@ Podpisywanie jest możliwe tylko z adresami typu „legacy”.</translation>
<source>Could not unlock wallet.</source>
<translation>Nie można było odblokować portfela.</translation>
</message>
- </context>
+ <message>
+ <source>Could not generate new %1 address</source>
+ <translation>Nie udało się wygenerować nowego adresu %1</translation>
+ </message>
+</context>
<context>
<name>ReceiveRequestDialog</name>
<message>
@@ -2475,6 +2531,10 @@ Uwaga: Ponieważ opłata jest naliczana za każdy bajt, opłata "100 satoshi za
<translation>Możesz później zwiększyć opłatę (sygnalizuje podmień-przez-opłatę (RBF), BIP 125).</translation>
</message>
<message>
+ <source>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can save or copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
+ <translation>Proszę przejrzeć propozycję transakcji. Zostanie utworzona częściowo podpisana transakcja (ang. PSBT), którą można skopiować, a następnie podpisać np. offline z portfelem %1 lub z innym portfelem zgodnym z PSBT.</translation>
+ </message>
+ <message>
<source>Please, review your transaction.</source>
<translation>Proszę, zweryfikuj swoją transakcję.</translation>
</message>
@@ -3379,10 +3439,18 @@ Zwróć uwagę, że poprawnie zweryfikowana wiadomość potwierdza to, że nadaw
<translation>Błąd</translation>
</message>
<message>
+ <source>Unable to decode PSBT from clipboard (invalid base64)</source>
+ <translation>Nie udało się załadować częściowo podpisanej transakcji (nieważny base64)</translation>
+ </message>
+ <message>
<source>Load Transaction Data</source>
<translation>Wczytaj dane transakcji</translation>
</message>
<message>
+ <source>Partially Signed Transaction (*.psbt)</source>
+ <translation>Częściowo Podpisana Transakcja (*.psbt)</translation>
+ </message>
+ <message>
<source>PSBT file must be smaller than 100 MiB</source>
<translation>PSBT musi być mniejsze niż 100MB</translation>
</message>
@@ -3723,6 +3791,10 @@ Zwróć uwagę, że poprawnie zweryfikowana wiadomość potwierdza to, że nadaw
<translation>Musisz przebudować bazę używając parametru -reindex aby wrócić do trybu pełnego. To spowoduje ponowne pobranie całego łańcucha bloków</translation>
</message>
<message>
+ <source>A fatal internal error occurred, see debug.log for details</source>
+ <translation>Błąd: Wystąpił fatalny błąd wewnętrzny, sprawdź szczegóły w debug.log</translation>
+ </message>
+ <message>
<source>Disk space is too low!</source>
<translation>Zbyt mało miejsca na dysku!</translation>
</message>
@@ -3853,10 +3925,6 @@ Zwróć uwagę, że poprawnie zweryfikowana wiadomość potwierdza to, że nadaw
<translation>%s jest ustawione bardzo wysoko!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Błąd wczytywania portfela %s. Podana powtórnie ta sama nazwa pliku w -wallet</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Uruchamianie wątków sieciowych...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_pt.ts b/src/qt/locale/bitcoin_pt.ts
index 4fbdadd059..82604fb0cf 100644
--- a/src/qt/locale/bitcoin_pt.ts
+++ b/src/qt/locale/bitcoin_pt.ts
@@ -70,6 +70,12 @@
<translation>Estes são os seus endereços Bitcoin para enviar pagamentos. Verifique sempre o valor e o endereço de receção antes de enviar moedas.</translation>
</message>
<message>
+ <source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
+Signing is only possible with addresses of the type 'legacy'.</source>
+ <translation>Estes são seus novos endereços Bitcoin para o recebimento de pagamentos. Use o botão "Criar novo endereço de recebimento" na aba "Receber" para criar novos endereços.
+Assinar só é possível com endereços do tipo "legado".</translation>
+ </message>
+ <message>
<source>&amp;Copy Address</source>
<translation>&amp;Copiar Endereço</translation>
</message>
@@ -478,6 +484,10 @@
<translation>Atualizado</translation>
</message>
<message>
+ <source>&amp;Load PSBT from file...</source>
+ <translation>&amp;Carregar Transação Bitcoin Parcialmente Assinada (TBPA/PSBT) do arquivo...</translation>
+ </message>
+ <message>
<source>Load Partially Signed Bitcoin Transaction</source>
<translation>Carregar transação de Bitcoin parcialmente assinada</translation>
</message>
@@ -538,6 +548,14 @@
<translation>Mostrar a mensagem de ajuda %1 para obter uma lista com possíveis opções a usar na linha de comandos.</translation>
</message>
<message>
+ <source>&amp;Mask values</source>
+ <translation>&amp;Valores de Máscara</translation>
+ </message>
+ <message>
+ <source>Mask the values in the Overview tab</source>
+ <translation>Mascare os valores na aba de visão geral</translation>
+ </message>
+ <message>
<source>default wallet</source>
<translation>carteira predefinida</translation>
</message>
@@ -649,7 +667,11 @@
<source>Original message:</source>
<translation>Mensagem original:</translation>
</message>
- </context>
+ <message>
+ <source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
+ <translation>Um erro fatal ocorreu. %1 não pode mais continuar de maneira segura e será terminada.</translation>
+ </message>
+</context>
<context>
<name>CoinControlDialog</name>
<message>
@@ -851,9 +873,21 @@
<translation>Fazer Carteira em Branco</translation>
</message>
<message>
+ <source>Use descriptors for scriptPubKey management</source>
+ <translation>Use descritores para o gerenciamento de chaves públicas de script</translation>
+ </message>
+ <message>
+ <source>Descriptor Wallet</source>
+ <translation>Carteira de descritor</translation>
+ </message>
+ <message>
<source>Create</source>
<translation>Criar</translation>
</message>
+ <message>
+ <source>Compiled without sqlite support (required for descriptor wallets)</source>
+ <translation>Compilado sem suporte para sqlite (requerido para carteiras de descritor)</translation>
+ </message>
</context>
<context>
<name>EditAddressDialog</name>
@@ -1328,6 +1362,10 @@
<translation>Escolha se deve mostrar as funcionalidades de controlo de moedas ou não.</translation>
</message>
<message>
+ <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor onion services.</source>
+ <translation>Conecte-se a rede Bitcoin através de um proxy SOCKS5 separado para serviços Tor Onion</translation>
+ </message>
+ <message>
<source>&amp;Third party transaction URLs</source>
<translation>URLs de transação de &amp;terceiros</translation>
</message>
@@ -1462,7 +1500,11 @@
<source>Current total balance in watch-only addresses</source>
<translation>Saldo disponível em endereços de apenas vigiar</translation>
</message>
- </context>
+ <message>
+ <source>Privacy mode activated for the Overview tab. To unmask the values, uncheck Settings-&gt;Mask values.</source>
+ <translation>Modo de privacidade ativado para a aba de visão geral. para desmascarar os valores, desmarque nas Configurações -&gt; Valores de máscara</translation>
+ </message>
+</context>
<context>
<name>PSBTOperationsDialog</name>
<message>
@@ -1934,6 +1976,10 @@ ID transação: %1</translation>
<translation>Janela do nó</translation>
</message>
<message>
+ <source>Current block height</source>
+ <translation>Altura atual do bloco</translation>
+ </message>
+ <message>
<source>Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.</source>
<translation>Abrir o ficheiro de registo de depuração %1 da pasta de dados atual. Isto pode demorar alguns segundos para ficheiros de registo maiores.</translation>
</message>
@@ -3640,6 +3686,10 @@ Ir para o arquivo &gt; Abrir carteira para carregar a carteira
<translation>Reexaminação da carteira falhou durante a inicialização</translation>
</message>
<message>
+ <source>Failed to verify database</source>
+ <translation>Falha ao verificar base de dados</translation>
+ </message>
+ <message>
<source>Importing...</source>
<translation>A importar...</translation>
</message>
@@ -3668,6 +3718,10 @@ Ir para o arquivo &gt; Abrir carteira para carregar a carteira
<translation>Valor inválido para -fallbackfee=&lt;amount&gt;: '%s'</translation>
</message>
<message>
+ <source>SQLiteDatabase: Failed to read database verification error: %s</source>
+ <translation>SQLiteDatabase: Falha ao ler base de dados erro de verificação %s</translation>
+ </message>
+ <message>
<source>Specified blocks directory "%s" does not exist.</source>
<translation>
A pasta de blocos especificados "%s" não existe.</translation>
@@ -3931,10 +3985,6 @@ A pasta de blocos especificados "%s" não existe.</translation>
<translation>%s está demasiado elevado!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Erro ao carregar a carteira %s. Especificado nome de fichero -wallet em duplicado.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>A iniciar threads de rede...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_pt_BR.ts b/src/qt/locale/bitcoin_pt_BR.ts
index 71b4bd2640..aadbcc6a89 100644
--- a/src/qt/locale/bitcoin_pt_BR.ts
+++ b/src/qt/locale/bitcoin_pt_BR.ts
@@ -3,7 +3,7 @@
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
- <translation>Right-click to edit address or label</translation>
+ <translation>Clique com o botão direito para editar endereço ou rótulo</translation>
</message>
<message>
<source>Create a new address</source>
@@ -884,6 +884,10 @@ Somente é possível assinar com endereços do tipo 'legado'.</translation>
<source>Create</source>
<translation>Criar</translation>
</message>
+ <message>
+ <source>Compiled without sqlite support (required for descriptor wallets)</source>
+ <translation>Compilado sem suporte a sqlite (requerido para carteiras descritoras)</translation>
+ </message>
</context>
<context>
<name>EditAddressDialog</name>
@@ -3702,6 +3706,10 @@ Go to File &gt; Open Wallet to load a wallet.
<translation>Falha ao verificar a base de dados</translation>
</message>
<message>
+ <source>Ignoring duplicate -wallet %s.</source>
+ <translation>Ignorando -carteira %s duplicada.</translation>
+ </message>
+ <message>
<source>Importing...</source>
<translation>Importando...</translation>
</message>
@@ -4017,10 +4025,6 @@ Diretório de blocos especificados "%s" não existe.</translation>
<translation>%s está muito alto!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Erro ao carregar carteira %s. Duplicado o nome do arquivo de -wallet.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Iniciando threads de rede...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_ro.ts b/src/qt/locale/bitcoin_ro.ts
index 6adb5cacc1..b75b857f6e 100644
--- a/src/qt/locale/bitcoin_ro.ts
+++ b/src/qt/locale/bitcoin_ro.ts
@@ -802,7 +802,7 @@
<source>Create</source>
<translation>Creează</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -3414,10 +3414,6 @@ Nota: Cum taxa este calculata per byte, o taxa de "100 satoshi per kB" pentru o
<translation>%s este setata foarte sus!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Eroare la incarcarea portofelului %s. Este specificat un fisier -wallet duplicat.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Se pornesc threadurile retelei...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_ru.ts b/src/qt/locale/bitcoin_ru.ts
index ba327643d6..2b7cb995aa 100644
--- a/src/qt/locale/bitcoin_ru.ts
+++ b/src/qt/locale/bitcoin_ru.ts
@@ -885,6 +885,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Create</source>
<translation>Создать</translation>
</message>
+ <message>
+ <source>Compiled without sqlite support (required for descriptor wallets)</source>
+ <translation>Скомпилирован без поддержки sqlite (необходимо для кошельков с дескриптором)</translation>
+ </message>
</context>
<context>
<name>EditAddressDialog</name>
@@ -3705,6 +3709,10 @@ Go to File &gt; Open Wallet to load a wallet.
<translation>Не удалось проверить базу данных</translation>
</message>
<message>
+ <source>Ignoring duplicate -wallet %s.</source>
+ <translation>Игнорировать повторы -wallet %s.</translation>
+ </message>
+ <message>
<source>Importing...</source>
<translation>Выполняется импорт...</translation>
</message>
@@ -4019,10 +4027,6 @@ Go to File &gt; Open Wallet to load a wallet.
<translation>%s задан слишком высоким!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Ошибка загрузки кошелька %s. Задано повторяющееся имя файла.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Запуск сетевых потоков...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_si.ts b/src/qt/locale/bitcoin_si.ts
index c6fb83eda2..766ebcf114 100644
--- a/src/qt/locale/bitcoin_si.ts
+++ b/src/qt/locale/bitcoin_si.ts
@@ -42,6 +42,10 @@
<translation>කාසි ලැබිය යුතු ලිපිනය තෝරන්න</translation>
</message>
<message>
+ <source>C&amp;hoose</source>
+ <translation>තෝරන්න</translation>
+ </message>
+ <message>
<source>Sending addresses</source>
<translation>යවන ලිපින</translation>
</message>
@@ -210,6 +214,10 @@
<context>
<name>BitcoinGUI</name>
<message>
+ <source>Synchronizing with network...</source>
+ <translation>ජාලය සමග සමමුහුර්ත ව‌ෙමින්...</translation>
+ </message>
+ <message>
<source>Browse transaction history</source>
<translation>ගනුදෙනු ඉතිහාසය පිරික්සන්න</translation>
</message>
diff --git a/src/qt/locale/bitcoin_sk.ts b/src/qt/locale/bitcoin_sk.ts
index 6550da8232..6fe8859a8f 100644
--- a/src/qt/locale/bitcoin_sk.ts
+++ b/src/qt/locale/bitcoin_sk.ts
@@ -830,7 +830,7 @@
<source>Create</source>
<translation>Vytvoriť</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -3681,10 +3681,6 @@ Poznámka: Keďže poplatok je počítaný za bajt, poplatok o hodnote "100 sato
<translation>Hodnota %s je nastavená veľmi vysoko!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Chyba pri načítaní peňaženky %s. Zadaný duplicitný názov súboru -wallet.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Spúšťajú sa sieťové vlákna...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_sl.ts b/src/qt/locale/bitcoin_sl.ts
index 1c84983532..9f1d2bba74 100644
--- a/src/qt/locale/bitcoin_sl.ts
+++ b/src/qt/locale/bitcoin_sl.ts
@@ -884,6 +884,10 @@ Podpisovanje je možno le s podedovanimi ("legacy") naslovi.</translation>
<source>Create</source>
<translation>Ustvari</translation>
</message>
+ <message>
+ <source>Compiled without sqlite support (required for descriptor wallets)</source>
+ <translation>Prevedeno brez podpore za SQLite (potrebna za deskriptorske denarnice)</translation>
+ </message>
</context>
<context>
<name>EditAddressDialog</name>
@@ -4002,10 +4006,6 @@ Za odpiranje denarnice kliknite Datoteka &gt; Odpri denarnico
<translation>%s je postavljen zelo visoko!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Napaka pri nalaganju denarnice %s. Ime denarnice (parameter -wallet) je podvojeno.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Začenjam omrežne niti ...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_sq.ts b/src/qt/locale/bitcoin_sq.ts
index 4fae82128d..066e9d85e5 100644
--- a/src/qt/locale/bitcoin_sq.ts
+++ b/src/qt/locale/bitcoin_sq.ts
@@ -22,6 +22,10 @@
<translation>&amp;Kopjo</translation>
</message>
<message>
+ <source>C&amp;lose</source>
+ <translation>afer</translation>
+ </message>
+ <message>
<source>Delete the currently selected address from the list</source>
<translation>Fshi adresen e selektuar nga lista</translation>
</message>
@@ -66,6 +70,11 @@
<translation>Këto janë Bitcoin adresat e juaja për të dërguar pagesa. Gjithmon kontrolloni shumën dhe adresën pranuese para se të dërgoni monedha.</translation>
</message>
<message>
+ <source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
+Signing is only possible with addresses of the type 'legacy'.</source>
+ <translation>Këto janë adresat tuaja të Bitcoin për të marrë pagesa. Përdorni butonin 'Krijo adresë të re marrëse' në skedën e marrjes për të krijuar adresa të reja. Nënshkrimi është i mundur vetëm me adresa të tipit 'trashëgimi'.</translation>
+ </message>
+ <message>
<source>&amp;Copy Address</source>
<translation>&amp;Kopjo adresen</translation>
</message>
@@ -112,6 +121,10 @@
<context>
<name>AskPassphraseDialog</name>
<message>
+ <source>Passphrase Dialog</source>
+ <translation>Dialog i Fjalëkalimit</translation>
+ </message>
+ <message>
<source>Enter passphrase</source>
<translation>Futni fjalëkalimin</translation>
</message>
diff --git a/src/qt/locale/bitcoin_sr.ts b/src/qt/locale/bitcoin_sr.ts
index 81741a5c60..ecdcceb0c2 100644
--- a/src/qt/locale/bitcoin_sr.ts
+++ b/src/qt/locale/bitcoin_sr.ts
@@ -836,7 +836,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Create</source>
<translation>Направи</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -3742,10 +3742,6 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<translation>%s је постављен врло високо!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Грешка приликом учитавања новчаника %s. Наведено је дуплирано име датотеке -wallet.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Покретање мрежних тема...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_sv.ts b/src/qt/locale/bitcoin_sv.ts
index 3aa4cb9ce9..83b86ce2d8 100644
--- a/src/qt/locale/bitcoin_sv.ts
+++ b/src/qt/locale/bitcoin_sv.ts
@@ -479,6 +479,14 @@ Försök igen.</translation>
<translation>Uppdaterad</translation>
</message>
<message>
+ <source>&amp;Load PSBT from file...</source>
+ <translation>&amp;Läs in PSBT från fil...</translation>
+ </message>
+ <message>
+ <source>Load PSBT from clipboard...</source>
+ <translation>Läs in PSBT från urklipp...</translation>
+ </message>
+ <message>
<source>Node window</source>
<translation>Nod-fönster</translation>
</message>
@@ -515,10 +523,26 @@ Försök igen.</translation>
<translation>Stäng plånboken</translation>
</message>
<message>
+ <source>Close All Wallets...</source>
+ <translation>Stäng alla plånböcker...</translation>
+ </message>
+ <message>
+ <source>Close all wallets</source>
+ <translation>Stäng alla plånböcker</translation>
+ </message>
+ <message>
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
<translation>Visa %1 hjälpmeddelande för att få en lista med möjliga Bitcoin kommandoradsalternativ.</translation>
</message>
<message>
+ <source>&amp;Mask values</source>
+ <translation>&amp;Dölj värden</translation>
+ </message>
+ <message>
+ <source>Mask the values in the Overview tab</source>
+ <translation>Dölj värden i översiktsfliken</translation>
+ </message>
+ <message>
<source>default wallet</source>
<translation>Standardplånbok</translation>
</message>
@@ -626,6 +650,10 @@ Försök igen.</translation>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>Denna plånbok är &lt;b&gt;krypterad&lt;/b&gt; och för närvarande &lt;b&gt;låst&lt;/b&gt;</translation>
</message>
+ <message>
+ <source>Original message:</source>
+ <translation>Ursprungligt meddelande:</translation>
+ </message>
</context>
<context>
<name>CoinControlDialog</name>
@@ -831,7 +859,7 @@ Försök igen.</translation>
<source>Create</source>
<translation>Skapa</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -3138,6 +3166,10 @@ Notera: Då avgiften beräknas per byte kommer en avgift på 50 satoshi tas ut f
<source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
<translation>Om plånboken är stängd under för lång tid och gallring är aktiverad kan hela kedjan behöva synkroniseras på nytt.</translation>
</message>
+ <message>
+ <source>Close all wallets</source>
+ <translation>Stäng alla plånböcker</translation>
+ </message>
</context>
<context>
<name>WalletFrame</name>
@@ -3633,10 +3665,6 @@ Notera: Då avgiften beräknas per byte kommer en avgift på 50 satoshi tas ut f
<translation>%s är satt väldigt högt!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Fel vid inläsningen av plånbok %s. Dublett -wallet filnamn angavs.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Startar nätverkstrådar...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_szl.ts b/src/qt/locale/bitcoin_szl.ts
index 489a873ceb..9b00ac58d2 100644
--- a/src/qt/locale/bitcoin_szl.ts
+++ b/src/qt/locale/bitcoin_szl.ts
@@ -1934,10 +1934,6 @@
<translation>Imyntnŏ dugość kety wersyje (%i) przekrŏczŏ maksymalnõ dopuszczalnõ dugość (%i). Zmyńsz wielość abo miara parametra uacomment.</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Feler w czasie wgrŏwaniŏ portmanyja %s. Podanŏ tuplowane miano zbioru w -wallet.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Sztartowanie wōntkōw necowych...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_ta.ts b/src/qt/locale/bitcoin_ta.ts
index d35834ef64..bce945cd9c 100644
--- a/src/qt/locale/bitcoin_ta.ts
+++ b/src/qt/locale/bitcoin_ta.ts
@@ -478,6 +478,15 @@
<translation>தேதி வரை</translation>
</message>
<message>
+ <source>&amp;Load PSBT from file...</source>
+ <translation>118&amp; கோப்பிலிருந்து PSBT ஐ ஏற்றவும் ..</translation>
+ </message>
+ <message>
+ <source>Load Partially Signed Bitcoin Transaction</source>
+ <translation> ஓரளவு கையொப்பமிடப்பட்ட பிட்காயின் பரிவர்த்தனையை ஏற்றவும்
+</translation>
+ </message>
+ <message>
<source>Node window</source>
<translation>நோட் விண்டோ</translation>
</message>
@@ -830,7 +839,7 @@
<source>Create</source>
<translation>உருவாக்கு</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
diff --git a/src/qt/locale/bitcoin_te.ts b/src/qt/locale/bitcoin_te.ts
index 515e82c54a..fa2534bca9 100644
--- a/src/qt/locale/bitcoin_te.ts
+++ b/src/qt/locale/bitcoin_te.ts
@@ -3,11 +3,11 @@
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
- <translation>చిరునామా లేదా లేబుల్ సవరించడానికి రైట్-క్లిక్ చేయండి</translation>
+ <translation>చిరునామా లేదా లేబుల్ సవరించు -క్లిక్ చేయండి</translation>
</message>
<message>
<source>Create a new address</source>
- <translation>క్రొత్త చిరునామా సృష్టించండి</translation>
+ <translation>క్రొత్త చిరునామా సృష్టించు</translation>
</message>
<message>
<source>&amp;New</source>
diff --git a/src/qt/locale/bitcoin_th.ts b/src/qt/locale/bitcoin_th.ts
index 3da787dfb4..7d006a6488 100644
--- a/src/qt/locale/bitcoin_th.ts
+++ b/src/qt/locale/bitcoin_th.ts
@@ -552,7 +552,7 @@
<source>Create</source>
<translation>สร้าง</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
diff --git a/src/qt/locale/bitcoin_tr.ts b/src/qt/locale/bitcoin_tr.ts
index e2c28fca7c..d8d671dc62 100644
--- a/src/qt/locale/bitcoin_tr.ts
+++ b/src/qt/locale/bitcoin_tr.ts
@@ -3,11 +3,11 @@
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
- <translation>Adres veya etiketi düzenlemek için sağ tıklayın</translation>
+ <translation>Adresi veya etiketi düzenlemek için sağ tıklayınız.</translation>
</message>
<message>
<source>Create a new address</source>
- <translation>Yeni adres oluşturun</translation>
+ <translation>Yeni bir adres oluşturun</translation>
</message>
<message>
<source>&amp;New</source>
@@ -90,7 +90,11 @@ Gönderim yapmadan önce her zaman tutarı ve alıcı adresi kontrol ediniz.</tr
<source>Exporting Failed</source>
<translation>Dışa Aktarım Başarısız Oldu</translation>
</message>
- </context>
+ <message>
+ <source>There was an error trying to save the address list to %1. Please try again.</source>
+ <translation>Adres listesinin %1 konumuna kaydedilmesi sırasında bir hata meydana geldi. Lütfen tekrar deneyin.</translation>
+ </message>
+</context>
<context>
<name>AddressTableModel</name>
<message>
@@ -484,7 +488,7 @@ Cüzdan kilidini aç.</translation>
<source>Create</source>
<translation>Oluştur</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -915,5 +919,53 @@ Cüzdan kilidini aç.</translation>
</context>
<context>
<name>bitcoin-core</name>
- </context>
+ <message>
+ <source>Verifying wallet(s)...</source>
+ <translation>Cüzdan(lar) kontrol ediliyor...</translation>
+ </message>
+ <message>
+ <source>%s is set very high!</source>
+ <translation>%s çok yüksek ayarlanmış!</translation>
+ </message>
+ <message>
+ <source>Starting network threads...</source>
+ <translation>Ağ dizisi başlatılıyor...</translation>
+ </message>
+ <message>
+ <source>The wallet will avoid paying less than the minimum relay fee.</source>
+ <translation>Cüzdan en az aktarma ücretinden daha az ödeme yapmaktan sakınacaktır.</translation>
+ </message>
+ <message>
+ <source>This is the minimum transaction fee you pay on every transaction.</source>
+ <translation>Bu her işlemde ödeceğiniz en düşük işlem ücretidir.</translation>
+ </message>
+ <message>
+ <source>This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Eğer bir gönderme işlemi yaparsanız ödeyeceğiniz işlem ücreti budur.</translation>
+ </message>
+ <message>
+ <source>Transaction amounts must not be negative</source>
+ <translation>İşlem tutarı negatif olmamalıdır.</translation>
+ </message>
+ <message>
+ <source>Transaction must have at least one recipient</source>
+ <translation>İşlem en az bir adet alıcıya sahip olmalı.</translation>
+ </message>
+ <message>
+ <source>Insufficient funds</source>
+ <translation>Yetersiz bakiye</translation>
+ </message>
+ <message>
+ <source>Loading wallet...</source>
+ <translation>Cüzdan yükleniyor...</translation>
+ </message>
+ <message>
+ <source>Rescanning...</source>
+ <translation>Yeniden taranıyor...</translation>
+ </message>
+ <message>
+ <source>Done loading</source>
+ <translation>Yükleme tamamlandı.</translation>
+ </message>
+</context>
</TS> \ No newline at end of file
diff --git a/src/qt/locale/bitcoin_uk.ts b/src/qt/locale/bitcoin_uk.ts
index 87264deea8..3a1636223c 100644
--- a/src/qt/locale/bitcoin_uk.ts
+++ b/src/qt/locale/bitcoin_uk.ts
@@ -3,1105 +3,1113 @@
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
- <translation>Клікніть правою кнопкою для редагування адреси чи мітки</translation>
+ <translation>Right-click to edit address or label</translation>
</message>
<message>
<source>Create a new address</source>
- <translation>Створити нову адресу</translation>
+ <translation>Create a new address</translation>
</message>
<message>
<source>&amp;New</source>
- <translation>&amp;Новий</translation>
+ <translation>&amp;New</translation>
</message>
<message>
<source>Copy the currently selected address to the system clipboard</source>
- <translation>Копіювати виділену адресу в буфер обміну</translation>
+ <translation>Copy the currently selected address to the system clipboard</translation>
</message>
<message>
<source>&amp;Copy</source>
- <translation>&amp;Копіювати</translation>
+ <translation>&amp;Copy</translation>
</message>
<message>
<source>C&amp;lose</source>
- <translation>&amp;Закрити</translation>
+ <translation>C&amp;lose</translation>
</message>
<message>
<source>Delete the currently selected address from the list</source>
- <translation>Вилучити вибрану адресу з переліку</translation>
+ <translation>Delete the currently selected address from the list</translation>
</message>
<message>
<source>Enter address or label to search</source>
- <translation>Введіть адресу чи мітку для пошуку</translation>
+ <translation>Enter address or label to search</translation>
</message>
<message>
<source>Export the data in the current tab to a file</source>
- <translation>Експортувати дані з поточної вкладки в файл</translation>
+ <translation>Export the data in the current tab to a file</translation>
</message>
<message>
<source>&amp;Export</source>
- <translation>&amp;Експортувати</translation>
+ <translation>&amp;Export</translation>
</message>
<message>
<source>&amp;Delete</source>
- <translation>&amp;Видалити</translation>
+ <translation>&amp;Delete</translation>
</message>
<message>
<source>Choose the address to send coins to</source>
- <translation>Оберіть адресу для відправки монет</translation>
+ <translation>Choose the address to send coins to</translation>
</message>
<message>
<source>Choose the address to receive coins with</source>
- <translation>Оберіть адресу для отримання монет</translation>
+ <translation>Choose the address to receive coins with</translation>
</message>
<message>
<source>C&amp;hoose</source>
- <translation>&amp;Вибрати</translation>
+ <translation>C&amp;hoose</translation>
</message>
<message>
<source>Sending addresses</source>
- <translation>Адреси відправлення</translation>
+ <translation>Sending addresses</translation>
</message>
<message>
<source>Receiving addresses</source>
- <translation>Адреси отримання</translation>
+ <translation>Receiving addresses</translation>
</message>
<message>
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
- <translation>Це ваші адреси Bitcoin для надсилання платежів. Завжди перевіряйте суму та адресу одержувача перед відправленням монет.</translation>
+ <translation>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</translation>
</message>
<message>
<source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
Signing is only possible with addresses of the type 'legacy'.</source>
- <translation>Це ваші Біткойн адреси для отримання платежів. Використовуйте кнопку "Створити нову адресу для отримання" на вкладці отримання, щоб створити нові адреси.
-Підпис можливий лише з адресами типу "legacy".</translation>
+ <translation>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
+Signing is only possible with addresses of the type 'legacy'.</translation>
</message>
<message>
<source>&amp;Copy Address</source>
- <translation>&amp;Скопіювати адресу</translation>
+ <translation>&amp;Copy Address</translation>
</message>
<message>
<source>Copy &amp;Label</source>
- <translation>Скопіювати &amp;мітку</translation>
+ <translation>Copy &amp;Label</translation>
</message>
<message>
<source>&amp;Edit</source>
- <translation>&amp;Редагувати</translation>
+ <translation>&amp;Edit</translation>
</message>
<message>
<source>Export Address List</source>
- <translation>Експортувати список адрес</translation>
+ <translation>Export Address List</translation>
</message>
<message>
<source>Comma separated file (*.csv)</source>
- <translation>Файли (*.csv) розділені комами</translation>
+ <translation>Comma separated file (*.csv)</translation>
</message>
<message>
<source>Exporting Failed</source>
- <translation>Помилка експорту</translation>
+ <translation>Exporting Failed</translation>
</message>
<message>
<source>There was an error trying to save the address list to %1. Please try again.</source>
- <translation>Виникла помилка при спробі зберігання адрес до %1. Будь ласка спробуйте ще.</translation>
+ <translation>There was an error trying to save the address list to %1. Please try again.</translation>
</message>
</context>
<context>
<name>AddressTableModel</name>
<message>
<source>Label</source>
- <translation>Мітка</translation>
+ <translation>Label</translation>
</message>
<message>
<source>Address</source>
- <translation>Адреса</translation>
+ <translation>Address</translation>
</message>
<message>
<source>(no label)</source>
- <translation>(немає мітки)</translation>
+ <translation>(no label)</translation>
</message>
</context>
<context>
<name>AskPassphraseDialog</name>
<message>
<source>Passphrase Dialog</source>
- <translation>Діалог введення паролю</translation>
+ <translation>Passphrase Dialog</translation>
</message>
<message>
<source>Enter passphrase</source>
- <translation>Введіть пароль</translation>
+ <translation>Enter passphrase</translation>
</message>
<message>
<source>New passphrase</source>
- <translation>Новий пароль</translation>
+ <translation>New passphrase</translation>
</message>
<message>
<source>Repeat new passphrase</source>
- <translation>Повторіть пароль</translation>
+ <translation>Repeat new passphrase</translation>
</message>
<message>
<source>Show passphrase</source>
- <translation>Показати парольну фразу</translation>
+ <translation>Show passphrase</translation>
</message>
<message>
<source>Encrypt wallet</source>
- <translation>Зашифрувати гаманець</translation>
+ <translation>Encrypt wallet</translation>
</message>
<message>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
- <translation>Ця операція потребує пароль для розблокування гаманця.</translation>
+ <translation>This operation needs your wallet passphrase to unlock the wallet.</translation>
</message>
<message>
<source>Unlock wallet</source>
- <translation>Розблокувати гаманець</translation>
+ <translation>Unlock wallet</translation>
</message>
<message>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
- <translation>Ця операція потребує пароль для розшифрування гаманця.</translation>
+ <translation>This operation needs your wallet passphrase to decrypt the wallet.</translation>
</message>
<message>
<source>Decrypt wallet</source>
- <translation>Розшифрувати гаманець</translation>
+ <translation>Decrypt wallet</translation>
</message>
<message>
<source>Change passphrase</source>
- <translation>Змінити пароль</translation>
+ <translation>Change passphrase</translation>
</message>
<message>
<source>Confirm wallet encryption</source>
- <translation>Підтвердіть шифрування гаманця</translation>
+ <translation>Confirm wallet encryption</translation>
</message>
<message>
<source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
- <translation>Увага: Якщо ви зашифруєте гаманець і забудете пароль, ви &lt;b&gt;ВТРАТИТЕ ВСІ СВОЇ БІТКОІНИ&lt;/b&gt;!</translation>
+ <translation>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</translation>
</message>
<message>
<source>Are you sure you wish to encrypt your wallet?</source>
- <translation>Ви дійсно хочете зашифрувати свій гаманець?</translation>
+ <translation>Are you sure you wish to encrypt your wallet?</translation>
</message>
<message>
<source>Wallet encrypted</source>
- <translation>Гаманець зашифровано</translation>
+ <translation>Wallet encrypted</translation>
</message>
<message>
<source>Enter the new passphrase for the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;ten or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
- <translation>Введіть новий пароль для гаманця.&lt;br/&gt; Будь ласка, використовуйте пароль з &lt;b&gt;десяти або більше випадкових символів&lt;/b&gt;, або &lt;b&gt; вісім або більше слів&lt;/b&gt;.</translation>
+ <translation>Enter the new passphrase for the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;ten or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</translation>
</message>
<message>
<source>Enter the old passphrase and new passphrase for the wallet.</source>
- <translation>Введіть стару та нову парольну фразу для гаманця.</translation>
+ <translation>Enter the old passphrase and new passphrase for the wallet.</translation>
</message>
<message>
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
- <translation>Пам’ятайте, що шифрування гаманця не може повністю захистити ваші біткоіни від кражі, у випадку якщо ваш комп’ютер буде інфіковано шкідливими програмами.</translation>
+ <translation>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</translation>
</message>
<message>
<source>Wallet to be encrypted</source>
- <translation>Гаманець який потрібно зашифрувати</translation>
+ <translation>Wallet to be encrypted</translation>
</message>
<message>
<source>Your wallet is about to be encrypted. </source>
- <translation>Ваш гаманець буде зашифровано.</translation>
+ <translation>Your wallet is about to be encrypted. </translation>
</message>
<message>
<source>Your wallet is now encrypted. </source>
- <translation>Ваш гаманець зашифровано.</translation>
+ <translation>Your wallet is now encrypted. </translation>
</message>
<message>
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation>ВАЖЛИВО: Всі попередні резервні копії, які ви зробили з вашого файлу гаманця повинні бути замінені новоствореним, зашифрованим файлом гаманця. З міркувань безпеки, попередні резервні копії незашифрованого файла гаманця стануть непридатними одразу ж, як тільки ви почнете використовувати новий, зашифрований гаманець.</translation>
+ <translation>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.</translation>
</message>
<message>
<source>Wallet encryption failed</source>
- <translation>Не вдалося зашифрувати гаманець</translation>
+ <translation>Wallet encryption failed</translation>
</message>
<message>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
- <translation>Виникла помилка під час шифрування гаманця. Ваш гаманець не було зашифровано.</translation>
+ <translation>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</translation>
</message>
<message>
<source>The supplied passphrases do not match.</source>
- <translation>Введені паролі не співпадають.</translation>
+ <translation>The supplied passphrases do not match.</translation>
</message>
<message>
<source>Wallet unlock failed</source>
- <translation>Не вдалося розблокувати гаманець</translation>
+ <translation>Wallet unlock failed</translation>
</message>
<message>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
- <translation>Введено невірний пароль.</translation>
+ <translation>The passphrase entered for the wallet decryption was incorrect.</translation>
</message>
<message>
<source>Wallet decryption failed</source>
- <translation>Не вдалося розшифрувати гаманець</translation>
+ <translation>Wallet decryption failed</translation>
</message>
<message>
<source>Wallet passphrase was successfully changed.</source>
- <translation>Пароль було успішно змінено.</translation>
+ <translation>Wallet passphrase was successfully changed.</translation>
</message>
<message>
<source>Warning: The Caps Lock key is on!</source>
- <translation>Увага: ввімкнено Caps Lock!</translation>
+ <translation>Warning: The Caps Lock key is on!</translation>
</message>
</context>
<context>
<name>BanTableModel</name>
<message>
<source>IP/Netmask</source>
- <translation>IP/Маска підмережі</translation>
+ <translation>IP/Netmask</translation>
</message>
<message>
<source>Banned Until</source>
- <translation>Заблоковано до</translation>
+ <translation>Banned Until</translation>
</message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
<source>Sign &amp;message...</source>
- <translation>Підписати &amp;повідомлення</translation>
+ <translation>Sign &amp;message...</translation>
</message>
<message>
<source>Synchronizing with network...</source>
- <translation>Синхронізація з мережею...</translation>
+ <translation>Synchronizing with network...</translation>
</message>
<message>
<source>&amp;Overview</source>
- <translation>&amp;Огляд</translation>
+ <translation>&amp;Overview</translation>
</message>
<message>
<source>Show general overview of wallet</source>
- <translation>Показати стан гаманця</translation>
+ <translation>Show general overview of wallet</translation>
</message>
<message>
<source>&amp;Transactions</source>
- <translation>&amp;Транзакції</translation>
+ <translation>&amp;Transactions</translation>
</message>
<message>
<source>Browse transaction history</source>
- <translation>Переглянути історію транзакцій</translation>
+ <translation>Browse transaction history</translation>
</message>
<message>
<source>E&amp;xit</source>
- <translation>&amp;Вихід</translation>
+ <translation>E&amp;xit</translation>
</message>
<message>
<source>Quit application</source>
- <translation>Вийти</translation>
+ <translation>Quit application</translation>
</message>
<message>
<source>&amp;About %1</source>
- <translation>П&amp;ро %1</translation>
+ <translation>&amp;About %1</translation>
</message>
<message>
<source>Show information about %1</source>
- <translation>Показати інформацію про %1</translation>
+ <translation>Show information about %1</translation>
</message>
<message>
<source>About &amp;Qt</source>
- <translation>&amp;Про Qt</translation>
+ <translation>About &amp;Qt</translation>
</message>
<message>
<source>Show information about Qt</source>
- <translation>Показати інформацію про Qt</translation>
+ <translation>Show information about Qt</translation>
</message>
<message>
<source>&amp;Options...</source>
- <translation>&amp;Параметри</translation>
+ <translation>&amp;Options...</translation>
</message>
<message>
<source>Modify configuration options for %1</source>
- <translation>Редагувати параметри для %1</translation>
+ <translation>Modify configuration options for %1</translation>
</message>
<message>
<source>&amp;Encrypt Wallet...</source>
- <translation>&amp;Шифрування гаманця...</translation>
+ <translation>&amp;Encrypt Wallet...</translation>
</message>
<message>
<source>&amp;Backup Wallet...</source>
- <translation>&amp;Резервне копіювання гаманця...</translation>
+ <translation>&amp;Backup Wallet...</translation>
</message>
<message>
<source>&amp;Change Passphrase...</source>
- <translation>Змінити парол&amp;ь...</translation>
+ <translation>&amp;Change Passphrase...</translation>
</message>
<message>
<source>Open &amp;URI...</source>
- <translation>Відкрити &amp;URI</translation>
+ <translation>Open &amp;URI...</translation>
</message>
<message>
<source>Create Wallet...</source>
- <translation>Створити Гаманець...</translation>
+ <translation>Create Wallet...</translation>
</message>
<message>
<source>Create a new wallet</source>
- <translation>Створити новий гаманець</translation>
+ <translation>Create a new wallet</translation>
</message>
<message>
<source>Wallet:</source>
- <translation>Гаманець:</translation>
+ <translation>Wallet:</translation>
</message>
<message>
<source>Click to disable network activity.</source>
- <translation>Натисніть, щоб вимкнути активність мережі.</translation>
+ <translation>Click to disable network activity.</translation>
</message>
<message>
<source>Network activity disabled.</source>
- <translation>Мережева активність вимкнена.</translation>
+ <translation>Network activity disabled.</translation>
</message>
<message>
<source>Click to enable network activity again.</source>
- <translation>Натисніть, щоб знову активувати мережеву активність.</translation>
+ <translation>Click to enable network activity again.</translation>
</message>
<message>
<source>Syncing Headers (%1%)...</source>
- <translation>Синхронізація заголовків (%1%)...</translation>
+ <translation>Syncing Headers (%1%)...</translation>
</message>
<message>
<source>Reindexing blocks on disk...</source>
- <translation>Переіндексація блоків на диску ...</translation>
+ <translation>Reindexing blocks on disk...</translation>
</message>
<message>
<source>Proxy is &lt;b&gt;enabled&lt;/b&gt;: %1</source>
- <translation>Проксі &lt;b&gt;увімкнено&lt;/b&gt;: %1</translation>
+ <translation>Proxy is &lt;b&gt;enabled&lt;/b&gt;: %1</translation>
</message>
<message>
<source>Send coins to a Bitcoin address</source>
- <translation>Відправити монети на вказану адресу</translation>
+ <translation>Send coins to a Bitcoin address</translation>
</message>
<message>
<source>Backup wallet to another location</source>
- <translation>Резервне копіювання гаманця в інше місце</translation>
+ <translation>Backup wallet to another location</translation>
</message>
<message>
<source>Change the passphrase used for wallet encryption</source>
- <translation>Змінити пароль, який використовується для шифрування гаманця</translation>
+ <translation>Change the passphrase used for wallet encryption</translation>
</message>
<message>
<source>&amp;Verify message...</source>
- <translation>П&amp;еревірити повідомлення...</translation>
+ <translation>&amp;Verify message...</translation>
</message>
<message>
<source>&amp;Send</source>
- <translation>&amp;Відправити</translation>
+ <translation>&amp;Send</translation>
</message>
<message>
<source>&amp;Receive</source>
- <translation>&amp;Отримати</translation>
+ <translation>&amp;Receive</translation>
</message>
<message>
<source>&amp;Show / Hide</source>
- <translation>Показа&amp;ти / Приховати</translation>
+ <translation>&amp;Show / Hide</translation>
</message>
<message>
<source>Show or hide the main Window</source>
- <translation>Показує або приховує головне вікно</translation>
+ <translation>Show or hide the main Window</translation>
</message>
<message>
<source>Encrypt the private keys that belong to your wallet</source>
- <translation>Зашифрувати закриті ключі, що знаходяться у вашому гаманці</translation>
+ <translation>Encrypt the private keys that belong to your wallet</translation>
</message>
<message>
<source>Sign messages with your Bitcoin addresses to prove you own them</source>
- <translation>Підтвердіть, що Ви є власником повідомлення підписавши його Вашою Біткойн адресою</translation>
+ <translation>Sign messages with your Bitcoin addresses to prove you own them</translation>
</message>
<message>
<source>Verify messages to ensure they were signed with specified Bitcoin addresses</source>
- <translation>Перевірте повідомлення для впевненості, що воно підписано вказаною Біткойн адресою</translation>
+ <translation>Verify messages to ensure they were signed with specified Bitcoin addresses</translation>
</message>
<message>
<source>&amp;File</source>
- <translation>&amp;Файл</translation>
+ <translation>&amp;File</translation>
</message>
<message>
<source>&amp;Settings</source>
- <translation>&amp;Налаштування</translation>
+ <translation>&amp;Settings</translation>
</message>
<message>
<source>&amp;Help</source>
- <translation>&amp;Довідка</translation>
+ <translation>&amp;Help</translation>
</message>
<message>
<source>Tabs toolbar</source>
- <translation>Панель дій</translation>
+ <translation>Tabs toolbar</translation>
</message>
<message>
<source>Request payments (generates QR codes and bitcoin: URIs)</source>
- <translation>Створити запит платежу (генерує QR-код та bitcoin: URI)</translation>
+ <translation>Request payments (generates QR codes and bitcoin: URIs)</translation>
</message>
<message>
<source>Show the list of used sending addresses and labels</source>
- <translation>Показати список адрес і міток, що були використані для відправлення</translation>
+ <translation>Show the list of used sending addresses and labels</translation>
</message>
<message>
<source>Show the list of used receiving addresses and labels</source>
- <translation>Показати список адрес і міток, що були використані для отримання</translation>
+ <translation>Show the list of used receiving addresses and labels</translation>
</message>
<message>
<source>&amp;Command-line options</source>
- <translation>П&amp;араметри командного рядка</translation>
+ <translation>&amp;Command-line options</translation>
</message>
<message numerus="yes">
<source>%n active connection(s) to Bitcoin network</source>
- <translation><numerusform>%n активне з'єднання з мережею Bitcoin</numerusform><numerusform>%n активні з'єднання з мережею Bitcoin</numerusform><numerusform>%n активних з'єднань з мережею Bitcoin</numerusform><numerusform>%n активних з'єднань з мережею Bitcoin</numerusform></translation>
+ <translation><numerusform>%n active connection to Bitcoin network</numerusform><numerusform>%n active connections to Bitcoin network</numerusform><numerusform>%n active connections to Bitcoin network</numerusform><numerusform>%n active connections to Bitcoin network</numerusform></translation>
</message>
<message>
<source>Indexing blocks on disk...</source>
- <translation>Індексація блоків на диску ...</translation>
+ <translation>Indexing blocks on disk...</translation>
</message>
<message>
<source>Processing blocks on disk...</source>
- <translation>Обробка блоків на диску...</translation>
+ <translation>Processing blocks on disk...</translation>
</message>
<message numerus="yes">
<source>Processed %n block(s) of transaction history.</source>
- <translation><numerusform>Оброблено %n блок історії транзакцій.</numerusform><numerusform>Оброблено %n блоки історії транзакцій.</numerusform><numerusform>Оброблено %n блоків історії транзакцій.</numerusform><numerusform>Оброблено %n блоків історії транзакцій.</numerusform></translation>
+ <translation><numerusform>Processed %n block of transaction history.</numerusform><numerusform>Processed %n blocks of transaction history.</numerusform><numerusform>Processed %n blocks of transaction history.</numerusform><numerusform>Processed %n blocks of transaction history.</numerusform></translation>
</message>
<message>
<source>%1 behind</source>
- <translation>%1 тому</translation>
+ <translation>%1 behind</translation>
</message>
<message>
<source>Last received block was generated %1 ago.</source>
- <translation>Останній отриманий блок було згенеровано %1 тому.</translation>
+ <translation>Last received block was generated %1 ago.</translation>
</message>
<message>
<source>Transactions after this will not yet be visible.</source>
- <translation>Пізніші транзакції не буде видно.</translation>
+ <translation>Transactions after this will not yet be visible.</translation>
</message>
<message>
<source>Error</source>
- <translation>Помилка</translation>
+ <translation>Error</translation>
</message>
<message>
<source>Warning</source>
- <translation>Попередження</translation>
+ <translation>Warning</translation>
</message>
<message>
<source>Information</source>
- <translation>Інформація</translation>
+ <translation>Information</translation>
</message>
<message>
<source>Up to date</source>
- <translation>Синхронізовано</translation>
+ <translation>Up to date</translation>
</message>
<message>
<source>&amp;Load PSBT from file...</source>
- <translation>&amp;Завантажити PSBT з файлу...</translation>
+ <translation>&amp;Load PSBT from file...</translation>
</message>
<message>
<source>Load Partially Signed Bitcoin Transaction</source>
- <translation>Завантажте Частково Підписану Транзакцію Біткойн</translation>
+ <translation>Load Partially Signed Bitcoin Transaction</translation>
</message>
<message>
<source>Load PSBT from clipboard...</source>
- <translation>Скопіювати PSBT у буфер обміну</translation>
+ <translation>Load PSBT from clipboard...</translation>
</message>
<message>
<source>Load Partially Signed Bitcoin Transaction from clipboard</source>
- <translation>Завантажте Частково Підписану Біткойн Транзакцію з буфера обміну</translation>
+ <translation>Load Partially Signed Bitcoin Transaction from clipboard</translation>
</message>
<message>
<source>Node window</source>
- <translation>Вікно вузлів</translation>
+ <translation>Node window</translation>
</message>
<message>
<source>Open node debugging and diagnostic console</source>
- <translation>Відкрити консоль відлагоджування та діагностики</translation>
+ <translation>Open node debugging and diagnostic console</translation>
</message>
<message>
<source>&amp;Sending addresses</source>
- <translation>&amp;Адреси для відправлення</translation>
+ <translation>&amp;Sending addresses</translation>
</message>
<message>
<source>&amp;Receiving addresses</source>
- <translation>&amp;Адреси для отримання</translation>
+ <translation>&amp;Receiving addresses</translation>
</message>
<message>
<source>Open a bitcoin: URI</source>
- <translation>Відкрити біткоін URI</translation>
+ <translation>Open a bitcoin: URI</translation>
</message>
<message>
<source>Open Wallet</source>
- <translation>Відкрити гаманець</translation>
+ <translation>Open Wallet</translation>
</message>
<message>
<source>Open a wallet</source>
- <translation>Відкрийте гаманець</translation>
+ <translation>Open a wallet</translation>
</message>
<message>
<source>Close Wallet...</source>
- <translation>Закрити Гаманець ...</translation>
+ <translation>Close Wallet...</translation>
</message>
<message>
<source>Close wallet</source>
- <translation>Закрити гаманець</translation>
+ <translation>Close wallet</translation>
</message>
<message>
<source>Close All Wallets...</source>
- <translation>Закрити Всі Гаманці...</translation>
+ <translation>Close All Wallets...</translation>
</message>
<message>
<source>Close all wallets</source>
- <translation>Закрити всі гаманці</translation>
+ <translation>Close all wallets</translation>
</message>
<message>
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
- <translation>Показати довідку %1 для отримання переліку можливих параметрів командного рядка.</translation>
+ <translation>Show the %1 help message to get a list with possible Bitcoin command-line options</translation>
</message>
<message>
<source>&amp;Mask values</source>
- <translation>&amp;Значення маски</translation>
+ <translation>&amp;Mask values</translation>
</message>
<message>
<source>Mask the values in the Overview tab</source>
- <translation>Маскуйте значення на вкладці Огляд</translation>
+ <translation>Mask the values in the Overview tab</translation>
</message>
<message>
<source>default wallet</source>
- <translation>типовий гаманець</translation>
+ <translation>default wallet</translation>
</message>
<message>
<source>No wallets available</source>
- <translation>Гаманців немає</translation>
+ <translation>No wallets available</translation>
</message>
<message>
<source>&amp;Window</source>
- <translation>&amp;Вікно</translation>
+ <translation>&amp;Window</translation>
</message>
<message>
<source>Minimize</source>
- <translation>Згорнути</translation>
+ <translation>Minimize</translation>
</message>
<message>
<source>Zoom</source>
- <translation>Збільшити</translation>
+ <translation>Zoom</translation>
</message>
<message>
<source>Main Window</source>
- <translation>Головне Вікно</translation>
+ <translation>Main Window</translation>
</message>
<message>
<source>%1 client</source>
- <translation>%1 клієнт</translation>
+ <translation>%1 client</translation>
</message>
<message>
<source>Connecting to peers...</source>
- <translation>Підключення до вузлів...</translation>
+ <translation>Connecting to peers...</translation>
</message>
<message>
<source>Catching up...</source>
- <translation>Синхронізується...</translation>
+ <translation>Catching up...</translation>
</message>
<message>
<source>Error: %1</source>
- <translation>Помилка: %1</translation>
+ <translation>Error: %1</translation>
</message>
<message>
<source>Warning: %1</source>
- <translation>Попередження: %1</translation>
+ <translation>Warning: %1</translation>
</message>
<message>
<source>Date: %1
</source>
- <translation>Дата: %1
+ <translation>Date: %1
</translation>
</message>
<message>
<source>Amount: %1
</source>
- <translation>Кількість: %1
+ <translation>Amount: %1
</translation>
</message>
<message>
<source>Wallet: %1
</source>
- <translation>Гаманець: %1
+ <translation>Wallet: %1
</translation>
</message>
<message>
<source>Type: %1
</source>
- <translation>Тип: %1
+ <translation>Type: %1
</translation>
</message>
<message>
<source>Label: %1
</source>
- <translation>Мітка: %1
+ <translation>Label: %1
</translation>
</message>
<message>
<source>Address: %1
</source>
- <translation>Адреса: %1
+ <translation>Address: %1
</translation>
</message>
<message>
<source>Sent transaction</source>
- <translation>Надіслані транзакції</translation>
+ <translation>Sent transaction</translation>
</message>
<message>
<source>Incoming transaction</source>
- <translation>Отримані транзакції</translation>
+ <translation>Incoming transaction</translation>
</message>
<message>
<source>HD key generation is &lt;b&gt;enabled&lt;/b&gt;</source>
- <translation>Генерація HD ключа &lt;b&gt;увімкнена&lt;/b&gt;</translation>
+ <translation>HD key generation is &lt;b&gt;enabled&lt;/b&gt;</translation>
</message>
<message>
<source>HD key generation is &lt;b&gt;disabled&lt;/b&gt;</source>
- <translation>Генерація HD ключа&lt;b&gt;вимкнена&lt;/b&gt;</translation>
+ <translation>HD key generation is &lt;b&gt;disabled&lt;/b&gt;</translation>
</message>
<message>
<source>Private key &lt;b&gt;disabled&lt;/b&gt;</source>
- <translation>Закритого ключа &lt;b&gt;вимкнено&lt;/b&gt;</translation>
+ <translation>Private key &lt;b&gt;disabled&lt;/b&gt;</translation>
</message>
<message>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
- <translation>&lt;b&gt;Зашифрований&lt;/b&gt; гаманець &lt;b&gt;розблоковано&lt;/b&gt;</translation>
+ <translation>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</translation>
</message>
<message>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
- <translation>&lt;b&gt;Зашифрований&lt;/b&gt; гаманець &lt;b&gt;заблоковано&lt;/b&gt;</translation>
+ <translation>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</translation>
</message>
<message>
<source>Original message:</source>
- <translation>Первинне повідомлення:</translation>
+ <translation>Original message:</translation>
</message>
<message>
<source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
- <translation>Сталася фатальна помилка. %1 більше не може продовжувати безпечно і вийде.</translation>
+ <translation>A fatal error occurred. %1 can no longer continue safely and will quit.</translation>
</message>
</context>
<context>
<name>CoinControlDialog</name>
<message>
<source>Coin Selection</source>
- <translation>Вибір Монет</translation>
+ <translation>Coin Selection</translation>
</message>
<message>
<source>Quantity:</source>
- <translation>Кількість:</translation>
+ <translation>Quantity:</translation>
</message>
<message>
<source>Bytes:</source>
- <translation>Байтів:</translation>
+ <translation>Bytes:</translation>
</message>
<message>
<source>Amount:</source>
- <translation>Сума:</translation>
+ <translation>Amount:</translation>
</message>
<message>
<source>Fee:</source>
- <translation>Комісія:</translation>
+ <translation>Fee:</translation>
</message>
<message>
<source>Dust:</source>
- <translation>Пил:</translation>
+ <translation>Dust:</translation>
</message>
<message>
<source>After Fee:</source>
- <translation>Після комісії:</translation>
+ <translation>After Fee:</translation>
</message>
<message>
<source>Change:</source>
- <translation>Решта:</translation>
+ <translation>Change:</translation>
</message>
<message>
<source>(un)select all</source>
- <translation>Вибрати/зняти всі</translation>
+ <translation>(un)select all</translation>
</message>
<message>
<source>Tree mode</source>
- <translation>Деревом</translation>
+ <translation>Tree mode</translation>
</message>
<message>
<source>List mode</source>
- <translation>Списком</translation>
+ <translation>List mode</translation>
</message>
<message>
<source>Amount</source>
- <translation>Кількість</translation>
+ <translation>Amount</translation>
</message>
<message>
<source>Received with label</source>
- <translation>Отримано з позначкою</translation>
+ <translation>Received with label</translation>
</message>
<message>
<source>Received with address</source>
- <translation>Отримано з адресою</translation>
+ <translation>Received with address</translation>
</message>
<message>
<source>Date</source>
- <translation>Дата</translation>
+ <translation>Date</translation>
</message>
<message>
<source>Confirmations</source>
- <translation>Підтверджень</translation>
+ <translation>Confirmations</translation>
</message>
<message>
<source>Confirmed</source>
- <translation>Підтверджені</translation>
+ <translation>Confirmed</translation>
</message>
<message>
<source>Copy address</source>
- <translation>Копіювати адресу</translation>
+ <translation>Copy address</translation>
</message>
<message>
<source>Copy label</source>
- <translation>Копіювати мітку</translation>
+ <translation>Copy label</translation>
</message>
<message>
<source>Copy amount</source>
- <translation>Копіювати суму</translation>
+ <translation>Copy amount</translation>
</message>
<message>
<source>Copy transaction ID</source>
- <translation>Копіювати ID транзакції</translation>
+ <translation>Copy transaction ID</translation>
</message>
<message>
<source>Lock unspent</source>
- <translation>Заблокувати</translation>
+ <translation>Lock unspent</translation>
</message>
<message>
<source>Unlock unspent</source>
- <translation>Розблокувати</translation>
+ <translation>Unlock unspent</translation>
</message>
<message>
<source>Copy quantity</source>
- <translation>Скопіювати кількість</translation>
+ <translation>Copy quantity</translation>
</message>
<message>
<source>Copy fee</source>
- <translation>Скопіювати комісію</translation>
+ <translation>Copy fee</translation>
</message>
<message>
<source>Copy after fee</source>
- <translation>Скопіювати після комісії</translation>
+ <translation>Copy after fee</translation>
</message>
<message>
<source>Copy bytes</source>
- <translation>Скопіювати байти</translation>
+ <translation>Copy bytes</translation>
</message>
<message>
<source>Copy dust</source>
- <translation>Скопіювати інше</translation>
+ <translation>Copy dust</translation>
</message>
<message>
<source>Copy change</source>
- <translation>Скопіювати решту</translation>
+ <translation>Copy change</translation>
</message>
<message>
<source>(%1 locked)</source>
- <translation>(%1 заблоковано)</translation>
+ <translation>(%1 locked)</translation>
</message>
<message>
<source>yes</source>
- <translation>так</translation>
+ <translation>yes</translation>
</message>
<message>
<source>no</source>
- <translation>ні</translation>
+ <translation>no</translation>
</message>
<message>
<source>This label turns red if any recipient receives an amount smaller than the current dust threshold.</source>
- <translation>Ця позначка стане червоною, якщо будь-який отримувач отримає суму, меншу за поточний поріг пилу.</translation>
+ <translation>This label turns red if any recipient receives an amount smaller than the current dust threshold.</translation>
</message>
<message>
<source>Can vary +/- %1 satoshi(s) per input.</source>
- <translation>Може відрізнятися на +/- %1 сатоші за введені</translation>
+ <translation>Can vary +/- %1 satoshi(s) per input.</translation>
</message>
<message>
<source>(no label)</source>
- <translation>(без мітки)</translation>
+ <translation>(no label)</translation>
</message>
<message>
<source>change from %1 (%2)</source>
- <translation>решта з %1 (%2)</translation>
+ <translation>change from %1 (%2)</translation>
</message>
<message>
<source>(change)</source>
- <translation>(решта)</translation>
+ <translation>(change)</translation>
</message>
</context>
<context>
<name>CreateWalletActivity</name>
<message>
<source>Creating Wallet &lt;b&gt;%1&lt;/b&gt;...</source>
- <translation>Створення Гаманця &lt;b&gt;%1&lt;/b&gt;...</translation>
+ <translation>Creating Wallet &lt;b&gt;%1&lt;/b&gt;...</translation>
</message>
<message>
<source>Create wallet failed</source>
- <translation>Помилка створення гаманця</translation>
+ <translation>Create wallet failed</translation>
</message>
<message>
<source>Create wallet warning</source>
- <translation>Попередження створення гаманця</translation>
+ <translation>Create wallet warning</translation>
</message>
</context>
<context>
<name>CreateWalletDialog</name>
<message>
<source>Create Wallet</source>
- <translation>Створити Гаманець</translation>
+ <translation>Create Wallet</translation>
</message>
<message>
<source>Wallet Name</source>
- <translation>Назва Гаманця</translation>
+ <translation>Wallet Name</translation>
</message>
<message>
<source>Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice.</source>
- <translation>Зашифруйте гаманець. Гаманець буде зашифрований за допомогою пароля на ваш вибір.</translation>
+ <translation>Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice.</translation>
</message>
<message>
<source>Encrypt Wallet</source>
- <translation>Шифрувати Гаманець</translation>
+ <translation>Encrypt Wallet</translation>
</message>
<message>
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
- <translation>Вимкнути приватні ключі для цього гаманця. Гаманці з вимкнутими приватними ключами не матимуть приватних ключів і не можуть мати набір HD або імпортовані приватні ключі. Це ідеально підходить лише для тільки-огляд гаманців.</translation>
+ <translation>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</translation>
</message>
<message>
<source>Disable Private Keys</source>
- <translation>Вимкнути приватні ключі</translation>
+ <translation>Disable Private Keys</translation>
</message>
<message>
<source>Make a blank wallet. Blank wallets do not initially have private keys or scripts. Private keys and addresses can be imported, or an HD seed can be set, at a later time.</source>
- <translation>Зробіть порожній гаманець. Порожні гаманці спочатку не мають приватних ключів або сценаріїв. Пізніше можна імпортувати приватні ключі та адреси або встановити HD-насіння.</translation>
+ <translation>Make a blank wallet. Blank wallets do not initially have private keys or scripts. Private keys and addresses can be imported, or an HD seed can be set, at a later time.</translation>
</message>
<message>
<source>Make Blank Wallet</source>
- <translation>Створити пустий гаманець</translation>
+ <translation>Make Blank Wallet</translation>
</message>
<message>
<source>Use descriptors for scriptPubKey management</source>
- <translation>Використовуйте дескриптори для управління scriptPubKey</translation>
+ <translation>Use descriptors for scriptPubKey management</translation>
</message>
<message>
<source>Descriptor Wallet</source>
- <translation>Дешифрування гаманця</translation>
+ <translation>Descriptor Wallet</translation>
</message>
<message>
<source>Create</source>
- <translation>Створити</translation>
+ <translation>Create</translation>
+ </message>
+ <message>
+ <source>Compiled without sqlite support (required for descriptor wallets)</source>
+ <translation>Compiled without sqlite support (required for descriptor wallets)</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
<source>Edit Address</source>
- <translation>Редагувати адресу</translation>
+ <translation>Edit Address</translation>
</message>
<message>
<source>&amp;Label</source>
- <translation>&amp;Мітка</translation>
+ <translation>&amp;Label</translation>
</message>
<message>
<source>The label associated with this address list entry</source>
- <translation>Мітка, пов'язана з цим записом списку адрес</translation>
+ <translation>The label associated with this address list entry</translation>
</message>
<message>
<source>The address associated with this address list entry. This can only be modified for sending addresses.</source>
- <translation>Адреса, пов'язана з цим записом списку адрес. Це поле може бути модифіковане лише для адрес відправлення.</translation>
+ <translation>The address associated with this address list entry. This can only be modified for sending addresses.</translation>
</message>
<message>
<source>&amp;Address</source>
- <translation>&amp;Адреса</translation>
+ <translation>&amp;Address</translation>
</message>
<message>
<source>New sending address</source>
- <translation>Нова адреса для відправлення</translation>
+ <translation>New sending address</translation>
</message>
<message>
<source>Edit receiving address</source>
- <translation>Редагувати адресу для отримання</translation>
+ <translation>Edit receiving address</translation>
</message>
<message>
<source>Edit sending address</source>
- <translation>Редагувати адресу для відправлення</translation>
+ <translation>Edit sending address</translation>
</message>
<message>
<source>The entered address "%1" is not a valid Bitcoin address.</source>
- <translation>Введена адреса "%1" не є адресою в мережі Bitcoin.</translation>
+ <translation>The entered address "%1" is not a valid Bitcoin address.</translation>
</message>
<message>
<source>Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address.</source>
- <translation>Адреса "%1" вже існує як отримувач з міткою "%2" і не може бути додана як відправник.</translation>
+ <translation>Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address.</translation>
</message>
<message>
<source>The entered address "%1" is already in the address book with label "%2".</source>
- <translation>Введена адреса "%1" вже присутня в адресній книзі з міткою "%2".</translation>
+ <translation>The entered address "%1" is already in the address book with label "%2".</translation>
</message>
<message>
<source>Could not unlock wallet.</source>
- <translation>Неможливо розблокувати гаманець.</translation>
+ <translation>Could not unlock wallet.</translation>
</message>
<message>
<source>New key generation failed.</source>
- <translation>Не вдалося згенерувати нові ключі.</translation>
+ <translation>New key generation failed.</translation>
</message>
</context>
<context>
<name>FreespaceChecker</name>
<message>
<source>A new data directory will be created.</source>
- <translation>Буде створено новий каталог даних.</translation>
+ <translation>A new data directory will be created.</translation>
</message>
<message>
<source>name</source>
- <translation>назва</translation>
+ <translation>name</translation>
</message>
<message>
<source>Directory already exists. Add %1 if you intend to create a new directory here.</source>
- <translation>Каталог вже існує. Додайте %1, якщо ви мали намір створити там новий каталог.</translation>
+ <translation>Directory already exists. Add %1 if you intend to create a new directory here.</translation>
</message>
<message>
<source>Path already exists, and is not a directory.</source>
- <translation>Шлях вже існує і не є каталогом.</translation>
+ <translation>Path already exists, and is not a directory.</translation>
</message>
<message>
<source>Cannot create data directory here.</source>
- <translation>Тут неможливо створити каталог даних.</translation>
+ <translation>Cannot create data directory here.</translation>
</message>
</context>
<context>
<name>HelpMessageDialog</name>
<message>
<source>version</source>
- <translation>версія</translation>
+ <translation>version</translation>
</message>
<message>
<source>About %1</source>
- <translation>Про %1</translation>
+ <translation>About %1</translation>
</message>
<message>
<source>Command-line options</source>
- <translation>Параметри командного рядка</translation>
+ <translation>Command-line options</translation>
</message>
</context>
<context>
<name>Intro</name>
<message>
<source>Welcome</source>
- <translation>Ласкаво просимо</translation>
+ <translation>Welcome</translation>
</message>
<message>
<source>Welcome to %1.</source>
- <translation>Ласкаво просимо до %1.</translation>
+ <translation>Welcome to %1.</translation>
</message>
<message>
<source>As this is the first time the program is launched, you can choose where %1 will store its data.</source>
- <translation>Оскільки це перший запуск програми, ви можете обрати де %1 буде зберігати дані.</translation>
+ <translation>As this is the first time the program is launched, you can choose where %1 will store its data.</translation>
</message>
<message>
<source>When you click OK, %1 will begin to download and process the full %4 block chain (%2GB) starting with the earliest transactions in %3 when %4 initially launched.</source>
- <translation>Після натискання кнопки «OK» %1 почне завантажувати та обробляти повний ланцюжок блоків %4 (%2 Гб), починаючи з найбільш ранніх транзакцій у %3, коли було запущено %4.</translation>
+ <translation>When you click OK, %1 will begin to download and process the full %4 block chain (%2GB) starting with the earliest transactions in %3 when %4 initially launched.</translation>
</message>
<message>
<source>Reverting this setting requires re-downloading the entire blockchain. It is faster to download the full chain first and prune it later. Disables some advanced features.</source>
- <translation>Повернення цього параметра вимагає повторне завантаження всього ланцюга блоків. Швидше спочатку завантажити повний ланцюжок і обрізати його пізніше. Вимикає деякі розширені функції.</translation>
+ <translation>Reverting this setting requires re-downloading the entire blockchain. It is faster to download the full chain first and prune it later. Disables some advanced features.</translation>
</message>
<message>
<source>This initial synchronisation is very demanding, and may expose hardware problems with your computer that had previously gone unnoticed. Each time you run %1, it will continue downloading where it left off.</source>
- <translation>Ця початкова синхронізація є дуже вимогливою, і може виявити проблеми з апаратним забезпеченням комп'ютера, які раніше не були непоміченими. Кожен раз, коли ви запускаєте %1, він буде продовжувати завантаження там, де він зупинився.</translation>
+ <translation>This initial synchronisation is very demanding, and may expose hardware problems with your computer that had previously gone unnoticed. Each time you run %1, it will continue downloading where it left off.</translation>
</message>
<message>
<source>If you have chosen to limit block chain storage (pruning), the historical data must still be downloaded and processed, but will be deleted afterward to keep your disk usage low.</source>
- <translation>Якщо ви вирішили обмежити збереження ланцюжка блоків (відсікання), історичні дані повинні бути завантажені та оброблені, але потім можуть бути видалені, щоб зберегти потрібний простір диска.</translation>
+ <translation>If you have chosen to limit block chain storage (pruning), the historical data must still be downloaded and processed, but will be deleted afterward to keep your disk usage low.</translation>
</message>
<message>
<source>Use the default data directory</source>
- <translation>Використовувати типовий каталог даних</translation>
+ <translation>Use the default data directory</translation>
</message>
<message>
<source>Use a custom data directory:</source>
- <translation>Використовувати свій каталог даних:</translation>
+ <translation>Use a custom data directory:</translation>
</message>
<message>
<source>Bitcoin</source>
<translation>Bitcoin</translation>
</message>
<message>
+ <source>Discard blocks after verification, except most recent %1 GB (prune)</source>
+ <translation>Discard blocks after verification, except most recent %1 GB (prune)</translation>
+ </message>
+ <message>
<source>At least %1 GB of data will be stored in this directory, and it will grow over time.</source>
- <translation>Принаймні, %1 ГБ даних буде збережено в цьому каталозі, і воно з часом зростатиме.</translation>
+ <translation>At least %1 GB of data will be stored in this directory, and it will grow over time.</translation>
</message>
<message>
<source>Approximately %1 GB of data will be stored in this directory.</source>
- <translation>Близько %1 Гб даних буде збережено в цьому каталозі.</translation>
+ <translation>Approximately %1 GB of data will be stored in this directory.</translation>
</message>
<message>
<source>%1 will download and store a copy of the Bitcoin block chain.</source>
- <translation>%1 буде завантажувати та зберігати копію ланцюжка блоків біткінів.</translation>
+ <translation>%1 will download and store a copy of the Bitcoin block chain.</translation>
</message>
<message>
<source>The wallet will also be stored in this directory.</source>
- <translation>Гаманець також зберігатиметься в цьому каталозі.</translation>
+ <translation>The wallet will also be stored in this directory.</translation>
</message>
<message>
<source>Error: Specified data directory "%1" cannot be created.</source>
- <translation>Помилка: неможливо створити обраний каталог даних «%1».</translation>
+ <translation>Error: Specified data directory "%1" cannot be created.</translation>
</message>
<message>
<source>Error</source>
- <translation>Помилка</translation>
+ <translation>Error</translation>
</message>
<message numerus="yes">
<source>%n GB of free space available</source>
- <translation><numerusform>Доступно %n ГБ вільного простору</numerusform><numerusform>Доступно %n ГБ вільного простору</numerusform><numerusform>Доступно %n ГБ вільного простору</numerusform><numerusform>Доступно %n ГБ вільного простору</numerusform></translation>
+ <translation><numerusform>%n GB of free space available</numerusform><numerusform>%n GB of free space available</numerusform><numerusform>%n GB of free space available</numerusform><numerusform>%n GB of free space available</numerusform></translation>
</message>
<message numerus="yes">
<source>(of %n GB needed)</source>
- <translation><numerusform>(в той час, як необхідно %n ГБ)</numerusform><numerusform>(в той час, як необхідно %n ГБ)</numerusform><numerusform>(в той час, як необхідно %n ГБ)</numerusform><numerusform>(в той час, як необхідно %n ГБ)</numerusform></translation>
+ <translation><numerusform>(of %n GB needed)</numerusform><numerusform>(of %n GB needed)</numerusform><numerusform>(of %n GB needed)</numerusform><numerusform>(of %n GB needed)</numerusform></translation>
</message>
<message numerus="yes">
<source>(%n GB needed for full chain)</source>
- <translation><numerusform>(%n ГБ, необхідний для повного ланцюга)</numerusform><numerusform>(%n ГБ, необхідних для повного ланцюга)</numerusform><numerusform>(%n ГБ, необхідних для повного ланцюга)</numerusform><numerusform>(%n ГБ, необхідних для повного ланцюга)</numerusform></translation>
+ <translation><numerusform>(%n GB needed for full chain)</numerusform><numerusform>(%n GB needed for full chain)</numerusform><numerusform>(%n GB needed for full chain)</numerusform><numerusform>(%n GB needed for full chain)</numerusform></translation>
</message>
</context>
<context>
<name>ModalOverlay</name>
<message>
<source>Form</source>
- <translation>Форма</translation>
+ <translation>Form</translation>
</message>
<message>
<source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the bitcoin network, as detailed below.</source>
- <translation>Нещодавні транзакції ще не відображаються, тому баланс вашого гаманця може бути неточним. Ця інформація буде вірною після того, як ваш гаманець завершить синхронізацію з мережею біткойн, врахровуйте показники нижче.</translation>
+ <translation>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the bitcoin network, as detailed below.</translation>
</message>
<message>
<source>Attempting to spend bitcoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
- <translation>Спроба відправити біткоїни, які ще не відображаються, не буде прийнята мережею.</translation>
+ <translation>Attempting to spend bitcoins that are affected by not-yet-displayed transactions will not be accepted by the network.</translation>
</message>
<message>
<source>Number of blocks left</source>
- <translation>Залишилося блоків</translation>
+ <translation>Number of blocks left</translation>
</message>
<message>
<source>Unknown...</source>
- <translation>Невідомо...</translation>
+ <translation>Unknown...</translation>
</message>
<message>
<source>Last block time</source>
- <translation>Час останнього блоку</translation>
+ <translation>Last block time</translation>
</message>
<message>
<source>Progress</source>
- <translation>Прогрес</translation>
+ <translation>Progress</translation>
</message>
<message>
<source>Progress increase per hour</source>
- <translation>Прогрес за годину</translation>
+ <translation>Progress increase per hour</translation>
</message>
<message>
<source>calculating...</source>
- <translation>рахування...</translation>
+ <translation>calculating...</translation>
</message>
<message>
<source>Estimated time left until synced</source>
- <translation>Орієнтовний час до кінця синхронізації</translation>
+ <translation>Estimated time left until synced</translation>
</message>
<message>
<source>Hide</source>
- <translation>Приховати</translation>
+ <translation>Hide</translation>
</message>
<message>
<source>Esc</source>
@@ -1109,18 +1117,18 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>%1 is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.</source>
- <translation>%1 синхронізується. Буде завантажено заголовки та блоки та перевірено їх до досягнення кінця ланцюга блоків.</translation>
+ <translation>%1 is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.</translation>
</message>
<message>
<source>Unknown. Syncing Headers (%1, %2%)...</source>
- <translation>Невідомо. Синхронізація заголовків (%1, %2%) ...</translation>
+ <translation>Unknown. Syncing Headers (%1, %2%)...</translation>
</message>
</context>
<context>
<name>OpenURIDialog</name>
<message>
<source>Open bitcoin URI</source>
- <translation>Відкрити біткоін URI</translation>
+ <translation>Open bitcoin URI</translation>
</message>
<message>
<source>URI:</source>
@@ -1131,106 +1139,106 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<name>OpenWalletActivity</name>
<message>
<source>Open wallet failed</source>
- <translation>Помилка відкриття гаманця</translation>
+ <translation>Open wallet failed</translation>
</message>
<message>
<source>Open wallet warning</source>
- <translation>Попередження відкриття гаманця</translation>
+ <translation>Open wallet warning</translation>
</message>
<message>
<source>default wallet</source>
- <translation>типовий гаманець</translation>
+ <translation>default wallet</translation>
</message>
<message>
<source>Opening Wallet &lt;b&gt;%1&lt;/b&gt;...</source>
- <translation>Відкриття гаманця &lt;b&gt;%1&lt;/b&gt;...</translation>
+ <translation>Opening Wallet &lt;b&gt;%1&lt;/b&gt;...</translation>
</message>
</context>
<context>
<name>OptionsDialog</name>
<message>
<source>Options</source>
- <translation>Параметри</translation>
+ <translation>Options</translation>
</message>
<message>
<source>&amp;Main</source>
- <translation>&amp;Головні</translation>
+ <translation>&amp;Main</translation>
</message>
<message>
<source>Automatically start %1 after logging in to the system.</source>
- <translation>Автоматично запускати %1 при вході до системи.</translation>
+ <translation>Automatically start %1 after logging in to the system.</translation>
</message>
<message>
<source>&amp;Start %1 on system login</source>
- <translation>&amp;Запускати %1 при вході в систему</translation>
+ <translation>&amp;Start %1 on system login</translation>
</message>
<message>
<source>Size of &amp;database cache</source>
- <translation>Розмір &amp;кешу бази даних</translation>
+ <translation>Size of &amp;database cache</translation>
</message>
<message>
<source>Number of script &amp;verification threads</source>
- <translation>Кількість потоків &amp;сценарію перевірки</translation>
+ <translation>Number of script &amp;verification threads</translation>
</message>
<message>
<source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source>
- <translation>IP-адреса проксі-сервера (наприклад IPv4: 127.0.0.1 / IPv6: ::1)</translation>
+ <translation>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</translation>
</message>
<message>
<source>Shows if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source>
- <translation>Показує, чи типово використовується проксі SOCKS5 для досягнення рівної участі для цього типу мережі.</translation>
+ <translation>Shows if the supplied default SOCKS5 proxy is used to reach peers via this network type.</translation>
</message>
<message>
<source>Hide the icon from the system tray.</source>
- <translation>Приховати значок із системного лотка.</translation>
+ <translation>Hide the icon from the system tray.</translation>
</message>
<message>
<source>&amp;Hide tray icon</source>
- <translation>&amp;Приховати піктограму з лотка</translation>
+ <translation>&amp;Hide tray icon</translation>
</message>
<message>
<source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Exit in the menu.</source>
- <translation>Згортати замість закриття. Якщо ця опція включена, програма закриється лише після вибору відповідного пункту в меню.</translation>
+ <translation>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Exit in the menu.</translation>
</message>
<message>
<source>Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |.</source>
- <translation>Сторонні URL (наприклад, block explorer), що з'являться на вкладці транзакцій у вигляді пункту контекстного меню. %s в URL буде замінено на хеш транзакції. Для відокремлення URLів використовуйте вертикальну риску |.</translation>
+ <translation>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 |.</translation>
</message>
<message>
<source>Open the %1 configuration file from the working directory.</source>
- <translation>Відкрийте %1 файл конфігурації з робочого каталогу.</translation>
+ <translation>Open the %1 configuration file from the working directory.</translation>
</message>
<message>
<source>Open Configuration File</source>
- <translation>Відкрити файл конфігурації</translation>
+ <translation>Open Configuration File</translation>
</message>
<message>
<source>Reset all client options to default.</source>
- <translation>Скинути всі параметри клієнта на типові.</translation>
+ <translation>Reset all client options to default.</translation>
</message>
<message>
<source>&amp;Reset Options</source>
- <translation>С&amp;кинути параметри</translation>
+ <translation>&amp;Reset Options</translation>
</message>
<message>
<source>&amp;Network</source>
- <translation>&amp;Мережа</translation>
+ <translation>&amp;Network</translation>
</message>
<message>
<source>Disables some advanced features but all blocks will still be fully validated. Reverting this setting requires re-downloading the entire blockchain. Actual disk usage may be somewhat higher.</source>
- <translation>Вимикає деякі нові властивості але всі блоки будуть повністю перевірені. Повернення цієї опції вимагає перезавантаження вього ланцюжка блоків. Фактичний розмір бази може бути дещо більший.</translation>
+ <translation>Disables some advanced features but all blocks will still be fully validated. Reverting this setting requires re-downloading the entire blockchain. Actual disk usage may be somewhat higher.</translation>
</message>
<message>
<source>Prune &amp;block storage to</source>
- <translation>Скоротити місце під блоки...</translation>
+ <translation>Prune &amp;block storage to</translation>
</message>
<message>
<source>GB</source>
- <translation>ГБ</translation>
+ <translation>GB</translation>
</message>
<message>
<source>Reverting this setting requires re-downloading the entire blockchain.</source>
- <translation>Повернення цієї опції вимагає перезавантаження вього ланцюжка блоків.</translation>
+ <translation>Reverting this setting requires re-downloading the entire blockchain.</translation>
</message>
<message>
<source>MiB</source>
@@ -1238,67 +1246,67 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>(0 = auto, &lt;0 = leave that many cores free)</source>
- <translation>(0 = автоматично, &lt;0 = вказує кількість вільних ядер)</translation>
+ <translation>(0 = auto, &lt;0 = leave that many cores free)</translation>
</message>
<message>
<source>W&amp;allet</source>
- <translation>Г&amp;аманець</translation>
+ <translation>W&amp;allet</translation>
</message>
<message>
<source>Expert</source>
- <translation>Експерт</translation>
+ <translation>Expert</translation>
</message>
<message>
<source>Enable coin &amp;control features</source>
- <translation>Ввімкнути &amp;керування входами</translation>
+ <translation>Enable coin &amp;control features</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>Якщо вимкнути витрату непідтвердженої решти, то решту від транзакції не можна буде використати, допоки ця транзакція не матиме хоча б одне підтвердження. Це також впливає на розрахунок балансу.</translation>
+ <translation>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.</translation>
</message>
<message>
<source>&amp;Spend unconfirmed change</source>
- <translation>&amp;Витрачати непідтверджену решту</translation>
+ <translation>&amp;Spend unconfirmed change</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>
- <translation>Автоматично відкривати порт для клієнту біткоін на роутері. Працює лише якщо ваш роутер підтримує UPnP і ця функція увімкнена.</translation>
+ <translation>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</translation>
</message>
<message>
<source>Map port using &amp;UPnP</source>
- <translation>Відображення порту через &amp;UPnP</translation>
+ <translation>Map port using &amp;UPnP</translation>
</message>
<message>
<source>Accept connections from outside.</source>
- <translation>Приймати з'єднання ззовні.</translation>
+ <translation>Accept connections from outside.</translation>
</message>
<message>
<source>Allow incomin&amp;g connections</source>
- <translation>Дозволити вхідні з'єднання</translation>
+ <translation>Allow incomin&amp;g connections</translation>
</message>
<message>
<source>Connect to the Bitcoin network through a SOCKS5 proxy.</source>
- <translation>Підключення до мережі Bitcoin через SOCKS5 проксі.</translation>
+ <translation>Connect to the Bitcoin network through a SOCKS5 proxy.</translation>
</message>
<message>
<source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
- <translation>&amp;Підключення через SOCKS5 проксі (проксі за замовчуванням):</translation>
+ <translation>&amp;Connect through SOCKS5 proxy (default proxy):</translation>
</message>
<message>
<source>Proxy &amp;IP:</source>
- <translation>&amp;IP проксі:</translation>
+ <translation>Proxy &amp;IP:</translation>
</message>
<message>
<source>&amp;Port:</source>
- <translation>&amp;Порт:</translation>
+ <translation>&amp;Port:</translation>
</message>
<message>
<source>Port of the proxy (e.g. 9050)</source>
- <translation>Порт проксі-сервера (наприклад 9050)</translation>
+ <translation>Port of the proxy (e.g. 9050)</translation>
</message>
<message>
<source>Used for reaching peers via:</source>
- <translation>Приєднуватися до учасників через:</translation>
+ <translation>Used for reaching peers via:</translation>
</message>
<message>
<source>IPv4</source>
@@ -1314,1375 +1322,1375 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>&amp;Window</source>
- <translation>&amp;Вікно</translation>
+ <translation>&amp;Window</translation>
</message>
<message>
<source>Show only a tray icon after minimizing the window.</source>
- <translation>Показувати лише іконку в треї після згортання вікна.</translation>
+ <translation>Show only a tray icon after minimizing the window.</translation>
</message>
<message>
<source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>Мінімізувати &amp;у трей</translation>
+ <translation>&amp;Minimize to the tray instead of the taskbar</translation>
</message>
<message>
<source>M&amp;inimize on close</source>
- <translation>Згортати замість закритт&amp;я</translation>
+ <translation>M&amp;inimize on close</translation>
</message>
<message>
<source>&amp;Display</source>
- <translation>&amp;Відображення</translation>
+ <translation>&amp;Display</translation>
</message>
<message>
<source>User Interface &amp;language:</source>
- <translation>Мов&amp;а інтерфейсу користувача:</translation>
+ <translation>User Interface &amp;language:</translation>
</message>
<message>
<source>The user interface language can be set here. This setting will take effect after restarting %1.</source>
- <translation>Встановлює мову інтерфейсу. Зміни набудуть чинності після перезапуску %1.</translation>
+ <translation>The user interface language can be set here. This setting will take effect after restarting %1.</translation>
</message>
<message>
<source>&amp;Unit to show amounts in:</source>
- <translation>В&amp;имірювати монети в:</translation>
+ <translation>&amp;Unit to show amounts in:</translation>
</message>
<message>
<source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
- <translation>Виберіть одиницю вимірювання монет, яка буде відображатись в гаманці та при відправленні.</translation>
+ <translation>Choose the default subdivision unit to show in the interface and when sending coins.</translation>
</message>
<message>
<source>Whether to show coin control features or not.</source>
- <translation>Показати або сховати керування входами.</translation>
+ <translation>Whether to show coin control features or not.</translation>
</message>
<message>
<source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor onion services.</source>
- <translation>Підключіться до мережі Біткойн через окремий проксі-сервер SOCKS5 для сервісів Tor.</translation>
+ <translation>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor onion services.</translation>
</message>
<message>
<source>Use separate SOCKS&amp;5 proxy to reach peers via Tor onion services:</source>
- <translation>Використовуйте окремий проксі-сервер SOCKS&amp;5, щоб дістатися до вузлів через послуги Tor:</translation>
+ <translation>Use separate SOCKS&amp;5 proxy to reach peers via Tor onion services:</translation>
</message>
<message>
<source>&amp;Third party transaction URLs</source>
- <translation>&amp;URL-адреси транзакцій сторонніх розробників</translation>
+ <translation>&amp;Third party transaction URLs</translation>
</message>
<message>
<source>Options set in this dialog are overridden by the command line or in the configuration file:</source>
- <translation>Параметри, задані в цьому діалоговому вікні, буде перевизначено командним рядком або в конфігураційному файлі:</translation>
+ <translation>Options set in this dialog are overridden by the command line or in the configuration file:</translation>
</message>
<message>
<source>&amp;OK</source>
- <translation>&amp;Гаразд</translation>
+ <translation>&amp;OK</translation>
</message>
<message>
<source>&amp;Cancel</source>
- <translation>&amp;Скасувати</translation>
+ <translation>&amp;Cancel</translation>
</message>
<message>
<source>default</source>
- <translation>типово</translation>
+ <translation>default</translation>
</message>
<message>
<source>none</source>
- <translation>відсутні</translation>
+ <translation>none</translation>
</message>
<message>
<source>Confirm options reset</source>
- <translation>Підтвердження скидання параметрів</translation>
+ <translation>Confirm options reset</translation>
</message>
<message>
<source>Client restart required to activate changes.</source>
- <translation>Для застосування змін необхідно перезапустити клієнта.</translation>
+ <translation>Client restart required to activate changes.</translation>
</message>
<message>
<source>Client will be shut down. Do you want to proceed?</source>
- <translation>Клієнт буде вимкнено. Продовжити?</translation>
+ <translation>Client will be shut down. Do you want to proceed?</translation>
</message>
<message>
<source>Configuration options</source>
- <translation>Редагувати параметри</translation>
+ <translation>Configuration options</translation>
</message>
<message>
<source>The configuration file is used to specify advanced user options which override GUI settings. Additionally, any command-line options will override this configuration file.</source>
- <translation>Файл конфігурації використовується для вказування додаткових параметрів користувача, що перекривають настройки графічного інтерфейсу користувача. Крім того, будь-які параметри командного рядка замінять цей конфігураційний файл.</translation>
+ <translation>The configuration file is used to specify advanced user options which override GUI settings. Additionally, any command-line options will override this configuration file.</translation>
</message>
<message>
<source>Error</source>
- <translation>Помилка</translation>
+ <translation>Error</translation>
</message>
<message>
<source>The configuration file could not be opened.</source>
- <translation>Файл конфігурції не можливо відкрити</translation>
+ <translation>The configuration file could not be opened.</translation>
</message>
<message>
<source>This change would require a client restart.</source>
- <translation>Ця зміна вступить в силу після перезапуску клієнта</translation>
+ <translation>This change would require a client restart.</translation>
</message>
<message>
<source>The supplied proxy address is invalid.</source>
- <translation>Невірно вказано адресу проксі.</translation>
+ <translation>The supplied proxy address is invalid.</translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
<source>Form</source>
- <translation>Форма</translation>
+ <translation>Form</translation>
</message>
<message>
<source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
- <translation>Показана інформація вже може бути застарілою. Ваш гаманець буде автоматично синхронізовано з мережею Bitcoin після встановлення підключення, але цей процес ще не завершено.</translation>
+ <translation>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</translation>
</message>
<message>
<source>Watch-only:</source>
- <translation>Тільки спостереження:</translation>
+ <translation>Watch-only:</translation>
</message>
<message>
<source>Available:</source>
- <translation>Наявно:</translation>
+ <translation>Available:</translation>
</message>
<message>
<source>Your current spendable balance</source>
- <translation>Ваш поточний підтверджений баланс</translation>
+ <translation>Your current spendable balance</translation>
</message>
<message>
<source>Pending:</source>
- <translation>Очікується:</translation>
+ <translation>Pending:</translation>
</message>
<message>
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance</source>
- <translation>Сума монет у непідтверджених транзакціях</translation>
+ <translation>Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance</translation>
</message>
<message>
<source>Immature:</source>
- <translation>Незрілі:</translation>
+ <translation>Immature:</translation>
</message>
<message>
<source>Mined balance that has not yet matured</source>
- <translation>Баланс видобутих та ще недозрілих монет</translation>
+ <translation>Mined balance that has not yet matured</translation>
</message>
<message>
<source>Balances</source>
- <translation>Баланси</translation>
+ <translation>Balances</translation>
</message>
<message>
<source>Total:</source>
- <translation>Всього:</translation>
+ <translation>Total:</translation>
</message>
<message>
<source>Your current total balance</source>
- <translation>Ваш поточний сукупний баланс</translation>
+ <translation>Your current total balance</translation>
</message>
<message>
<source>Your current balance in watch-only addresses</source>
- <translation>Ваш поточний баланс в адресах для спостереження</translation>
+ <translation>Your current balance in watch-only addresses</translation>
</message>
<message>
<source>Spendable:</source>
- <translation>Доступно:</translation>
+ <translation>Spendable:</translation>
</message>
<message>
<source>Recent transactions</source>
- <translation>Останні транзакції</translation>
+ <translation>Recent transactions</translation>
</message>
<message>
<source>Unconfirmed transactions to watch-only addresses</source>
- <translation>Непідтверджені транзакції на адреси для спостереження</translation>
+ <translation>Unconfirmed transactions to watch-only addresses</translation>
</message>
<message>
<source>Mined balance in watch-only addresses that has not yet matured</source>
- <translation>Баланс видобутих та ще недозрілих монет на адресах для спостереження</translation>
+ <translation>Mined balance in watch-only addresses that has not yet matured</translation>
</message>
<message>
<source>Current total balance in watch-only addresses</source>
- <translation>Поточний сукупний баланс в адресах для спостереження</translation>
+ <translation>Current total balance in watch-only addresses</translation>
</message>
<message>
<source>Privacy mode activated for the Overview tab. To unmask the values, uncheck Settings-&gt;Mask values.</source>
- <translation>Режим конфіденційності активований для вкладки Огляд. Щоб демаскувати значення, зніміть прапорець Параметри-&gt; Маскувати значення.</translation>
+ <translation>Privacy mode activated for the Overview tab. To unmask the values, uncheck Settings-&gt;Mask values.</translation>
</message>
</context>
<context>
<name>PSBTOperationsDialog</name>
<message>
<source>Dialog</source>
- <translation>Діалог</translation>
+ <translation>Dialog</translation>
</message>
<message>
<source>Sign Tx</source>
- <translation>Знак Tx</translation>
+ <translation>Sign Tx</translation>
</message>
<message>
<source>Broadcast Tx</source>
- <translation>Трансляція Tx</translation>
+ <translation>Broadcast Tx</translation>
</message>
<message>
<source>Copy to Clipboard</source>
- <translation>Копіювати у буфер обміну</translation>
+ <translation>Copy to Clipboard</translation>
</message>
<message>
<source>Save...</source>
- <translation>Зберегти...</translation>
+ <translation>Save...</translation>
</message>
<message>
<source>Close</source>
- <translation>Завершити</translation>
+ <translation>Close</translation>
</message>
<message>
<source>Failed to load transaction: %1</source>
- <translation>Не вдалося завантажити транзакцію: %1</translation>
+ <translation>Failed to load transaction: %1</translation>
</message>
<message>
<source>Failed to sign transaction: %1</source>
- <translation>Не вдалося підписати транзакцію: %1</translation>
+ <translation>Failed to sign transaction: %1</translation>
</message>
<message>
<source>Could not sign any more inputs.</source>
- <translation>Не вдалося підписати більше входів.</translation>
+ <translation>Could not sign any more inputs.</translation>
</message>
<message>
<source>Signed %1 inputs, but more signatures are still required.</source>
- <translation>Підписано %1 введення, але все одно потрібно більше підписів.</translation>
+ <translation>Signed %1 inputs, but more signatures are still required.</translation>
</message>
<message>
<source>Signed transaction successfully. Transaction is ready to broadcast.</source>
- <translation>Угода успішно підписана. Транзакція готова до трансляції.</translation>
+ <translation>Signed transaction successfully. Transaction is ready to broadcast.</translation>
</message>
<message>
<source>Unknown error processing transaction.</source>
- <translation>Невідома помилка обробки транзакції.</translation>
+ <translation>Unknown error processing transaction.</translation>
</message>
<message>
<source>Transaction broadcast successfully! Transaction ID: %1</source>
- <translation>Трансакція успішно транслюється! Ідентифікатор транзакції: %1</translation>
+ <translation>Transaction broadcast successfully! Transaction ID: %1</translation>
</message>
<message>
<source>Transaction broadcast failed: %1</source>
- <translation>Помилка трансляції транзакції: %1</translation>
+ <translation>Transaction broadcast failed: %1</translation>
</message>
<message>
<source>PSBT copied to clipboard.</source>
- <translation>PSBT скопійовано в буфер обміну.</translation>
+ <translation>PSBT copied to clipboard.</translation>
</message>
<message>
<source>Save Transaction Data</source>
- <translation>Зберегти дані транзакції</translation>
+ <translation>Save Transaction Data</translation>
</message>
<message>
<source>Partially Signed Transaction (Binary) (*.psbt)</source>
- <translation>Частково підписана транзакція (Binary) (* .psbt)</translation>
+ <translation>Partially Signed Transaction (Binary) (*.psbt)</translation>
</message>
<message>
<source>PSBT saved to disk.</source>
- <translation>PSBT збережено на диск.</translation>
+ <translation>PSBT saved to disk.</translation>
</message>
<message>
<source> * Sends %1 to %2</source>
- <translation>* Надсилає від %1 до %2</translation>
+ <translation> * Sends %1 to %2</translation>
</message>
<message>
<source>Unable to calculate transaction fee or total transaction amount.</source>
- <translation>Неможливо розрахувати комісію за транзакцію або загальну суму транзакції.</translation>
+ <translation>Unable to calculate transaction fee or total transaction amount.</translation>
</message>
<message>
<source>Pays transaction fee: </source>
- <translation>Оплачує комісію за транзакцію:</translation>
+ <translation>Pays transaction fee: </translation>
</message>
<message>
<source>Total Amount</source>
- <translation>Всього</translation>
+ <translation>Total Amount</translation>
</message>
<message>
<source>or</source>
- <translation>або</translation>
+ <translation>or</translation>
</message>
<message>
<source>Transaction has %1 unsigned inputs.</source>
- <translation>Транзакція містить %1 непідписаних входів.</translation>
+ <translation>Transaction has %1 unsigned inputs.</translation>
</message>
<message>
<source>Transaction is missing some information about inputs.</source>
- <translation>У транзакції бракує певної інформації про вхідні дані.</translation>
+ <translation>Transaction is missing some information about inputs.</translation>
</message>
<message>
<source>Transaction still needs signature(s).</source>
- <translation>Для транзакції все ще потрібні підпис(и).</translation>
+ <translation>Transaction still needs signature(s).</translation>
</message>
<message>
<source>(But this wallet cannot sign transactions.)</source>
- <translation>(Але цей гаманець не може підписувати транзакції.)</translation>
+ <translation>(But this wallet cannot sign transactions.)</translation>
</message>
<message>
<source>(But this wallet does not have the right keys.)</source>
- <translation>(Але цей гаманець не має правильних ключів.)</translation>
+ <translation>(But this wallet does not have the right keys.)</translation>
</message>
<message>
<source>Transaction is fully signed and ready for broadcast.</source>
- <translation>Транзакція повністю підписана і готова до трансляції.</translation>
+ <translation>Transaction is fully signed and ready for broadcast.</translation>
</message>
<message>
<source>Transaction status is unknown.</source>
- <translation>Статус транзакції невідомий.</translation>
+ <translation>Transaction status is unknown.</translation>
</message>
</context>
<context>
<name>PaymentServer</name>
<message>
<source>Payment request error</source>
- <translation>Помилка запиту платежу</translation>
+ <translation>Payment request error</translation>
</message>
<message>
<source>Cannot start bitcoin: click-to-pay handler</source>
- <translation>Не вдається запустити біткойн: обробник клацни-плати</translation>
+ <translation>Cannot start bitcoin: click-to-pay handler</translation>
</message>
<message>
<source>URI handling</source>
- <translation>Обробка URI</translation>
+ <translation>URI handling</translation>
</message>
<message>
<source>'bitcoin://' is not a valid URI. Use 'bitcoin:' instead.</source>
- <translation>'bitcoin://' не вірний URI. Використовуйте 'bitcoin:'.</translation>
+ <translation>'bitcoin://' is not a valid URI. Use 'bitcoin:' instead.</translation>
</message>
<message>
<source>Cannot process payment request because BIP70 is not supported.</source>
- <translation>Неможливо обробити платіжний запит, оскільки не підтритується BIP70.</translation>
+ <translation>Cannot process payment request because BIP70 is not supported.</translation>
</message>
<message>
<source>Due to widespread security flaws in BIP70 it's strongly recommended that any merchant instructions to switch wallets be ignored.</source>
- <translation>Через поширені недоліки безпеки в BIP70 настійно рекомендується ігнорувати будь-які інструкції продавця щодо переключення гаманців.</translation>
+ <translation>Due to widespread security flaws in BIP70 it's strongly recommended that any merchant instructions to switch wallets be ignored.</translation>
</message>
<message>
<source>If you are receiving this error you should request the merchant provide a BIP21 compatible URI.</source>
- <translation>Якщо ви отримали цю помилку, ви повинні попросити продавця надати URI, сумісний з BIP21.</translation>
+ <translation>If you are receiving this error you should request the merchant provide a BIP21 compatible URI.</translation>
</message>
<message>
<source>Invalid payment address %1</source>
- <translation>Помилка в адресі платежу %1</translation>
+ <translation>Invalid payment address %1</translation>
</message>
<message>
<source>URI cannot be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
- <translation>Неможливо обробити URI! Причиною цього може бути некоректна Біткойн-адреса або неправильні параметри URI.</translation>
+ <translation>URI cannot be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</translation>
</message>
<message>
<source>Payment request file handling</source>
- <translation>Обробка файлу запиту платежу</translation>
+ <translation>Payment request file handling</translation>
</message>
</context>
<context>
<name>PeerTableModel</name>
<message>
<source>User Agent</source>
- <translation>Клієнт користувача</translation>
+ <translation>User Agent</translation>
</message>
<message>
<source>Node/Service</source>
- <translation>Вузол/Сервіс</translation>
+ <translation>Node/Service</translation>
</message>
<message>
<source>NodeId</source>
- <translation>Ідентифікатор вузла</translation>
+ <translation>NodeId</translation>
</message>
<message>
<source>Ping</source>
- <translation>Затримка</translation>
+ <translation>Ping</translation>
</message>
<message>
<source>Sent</source>
- <translation>Відправлено</translation>
+ <translation>Sent</translation>
</message>
<message>
<source>Received</source>
- <translation>Отримано</translation>
+ <translation>Received</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<source>Amount</source>
- <translation>Кількість</translation>
+ <translation>Amount</translation>
</message>
<message>
<source>Enter a Bitcoin address (e.g. %1)</source>
- <translation>Введіть адресу Біткойн (наприклад %1)</translation>
+ <translation>Enter a Bitcoin address (e.g. %1)</translation>
</message>
<message>
<source>%1 d</source>
- <translation>%1 д</translation>
+ <translation>%1 d</translation>
</message>
<message>
<source>%1 h</source>
- <translation>%1 г</translation>
+ <translation>%1 h</translation>
</message>
<message>
<source>%1 m</source>
- <translation>%1 х</translation>
+ <translation>%1 m</translation>
</message>
<message>
<source>%1 s</source>
- <translation>%1 с</translation>
+ <translation>%1 s</translation>
</message>
<message>
<source>None</source>
- <translation>Відсутні</translation>
+ <translation>None</translation>
</message>
<message>
<source>N/A</source>
- <translation>Н/Д</translation>
+ <translation>N/A</translation>
</message>
<message>
<source>%1 ms</source>
- <translation>%1 мс</translation>
+ <translation>%1 ms</translation>
</message>
<message numerus="yes">
<source>%n second(s)</source>
- <translation><numerusform>%n секунда</numerusform><numerusform>%n секунд</numerusform><numerusform>%n секунд</numerusform><numerusform>%n секунд</numerusform></translation>
+ <translation><numerusform>%n second</numerusform><numerusform>%n seconds</numerusform><numerusform>%n seconds</numerusform><numerusform>%n seconds</numerusform></translation>
</message>
<message numerus="yes">
<source>%n minute(s)</source>
- <translation><numerusform>%n хвилина</numerusform><numerusform>%n хвилин</numerusform><numerusform>%n хвилин</numerusform><numerusform>%n хвилин</numerusform></translation>
+ <translation><numerusform>%n minute</numerusform><numerusform>%n minutes</numerusform><numerusform>%n minutes</numerusform><numerusform>%n minutes</numerusform></translation>
</message>
<message numerus="yes">
<source>%n hour(s)</source>
- <translation><numerusform>%n година</numerusform><numerusform>%n годин</numerusform><numerusform>%n годин</numerusform><numerusform>%n годин</numerusform></translation>
+ <translation><numerusform>%n hour</numerusform><numerusform>%n hours</numerusform><numerusform>%n hours</numerusform><numerusform>%n hours</numerusform></translation>
</message>
<message numerus="yes">
<source>%n day(s)</source>
- <translation><numerusform>%n день</numerusform><numerusform>%n днів</numerusform><numerusform>%n днів</numerusform><numerusform>%n днів</numerusform></translation>
+ <translation><numerusform>%n day</numerusform><numerusform>%n days</numerusform><numerusform>%n days</numerusform><numerusform>%n days</numerusform></translation>
</message>
<message numerus="yes">
<source>%n week(s)</source>
- <translation><numerusform>%n тиждень</numerusform><numerusform>%n тижнів</numerusform><numerusform>%n тижнів</numerusform><numerusform>%n тижнів</numerusform></translation>
+ <translation><numerusform>%n week</numerusform><numerusform>%n weeks</numerusform><numerusform>%n weeks</numerusform><numerusform>%n weeks</numerusform></translation>
</message>
<message>
<source>%1 and %2</source>
- <translation>%1 та %2</translation>
+ <translation>%1 and %2</translation>
</message>
<message numerus="yes">
<source>%n year(s)</source>
- <translation><numerusform>%n рік</numerusform><numerusform>%n років</numerusform><numerusform>%n років</numerusform><numerusform>%n років</numerusform></translation>
+ <translation><numerusform>%n year</numerusform><numerusform>%n years</numerusform><numerusform>%n years</numerusform><numerusform>%n years</numerusform></translation>
</message>
<message>
<source>%1 B</source>
- <translation>%1 Б</translation>
+ <translation>%1 B</translation>
</message>
<message>
<source>%1 KB</source>
- <translation>%1 КБ</translation>
+ <translation>%1 KB</translation>
</message>
<message>
<source>%1 MB</source>
- <translation>%1 МБ</translation>
+ <translation>%1 MB</translation>
</message>
<message>
<source>%1 GB</source>
- <translation>%1 ГБ</translation>
+ <translation>%1 GB</translation>
</message>
<message>
<source>Error: Specified data directory "%1" does not exist.</source>
- <translation>Помилка: Вказаного каталогу даних «%1» не існує.</translation>
+ <translation>Error: Specified data directory "%1" does not exist.</translation>
</message>
<message>
<source>Error: Cannot parse configuration file: %1.</source>
- <translation>Помилка: Неможливо розібрати файл конфігурації: %1.</translation>
+ <translation>Error: Cannot parse configuration file: %1.</translation>
</message>
<message>
<source>Error: %1</source>
- <translation>Помилка: %1</translation>
+ <translation>Error: %1</translation>
</message>
<message>
<source>Error initializing settings: %1</source>
- <translation>Помилка ініціалізації налаштувань: %1</translation>
+ <translation>Error initializing settings: %1</translation>
</message>
<message>
<source>%1 didn't yet exit safely...</source>
- <translation>%1 безпечний вихід ще не виконано...</translation>
+ <translation>%1 didn't yet exit safely...</translation>
</message>
<message>
<source>unknown</source>
- <translation>невідомо</translation>
+ <translation>unknown</translation>
</message>
</context>
<context>
<name>QRImageWidget</name>
<message>
<source>&amp;Save Image...</source>
- <translation>&amp;Зберегти зображення...</translation>
+ <translation>&amp;Save Image...</translation>
</message>
<message>
<source>&amp;Copy Image</source>
- <translation>&amp;Копіювати зображення</translation>
+ <translation>&amp;Copy Image</translation>
</message>
<message>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
- <translation>Кінцевий URI занадто довгий, спробуйте зменшити текст для мітки / повідомлення.</translation>
+ <translation>Resulting URI too long, try to reduce the text for label / message.</translation>
</message>
<message>
<source>Error encoding URI into QR Code.</source>
- <translation>Помилка кодування URI в QR-код.</translation>
+ <translation>Error encoding URI into QR Code.</translation>
</message>
<message>
<source>QR code support not available.</source>
- <translation>Підтримка QR-коду недоступна.</translation>
+ <translation>QR code support not available.</translation>
</message>
<message>
<source>Save QR Code</source>
- <translation>Зберегти QR-код</translation>
+ <translation>Save QR Code</translation>
</message>
<message>
<source>PNG Image (*.png)</source>
- <translation>Зображення PNG (*.png)</translation>
+ <translation>PNG Image (*.png)</translation>
</message>
</context>
<context>
<name>RPCConsole</name>
<message>
<source>N/A</source>
- <translation>Н/Д</translation>
+ <translation>N/A</translation>
</message>
<message>
<source>Client version</source>
- <translation>Версія клієнту</translation>
+ <translation>Client version</translation>
</message>
<message>
<source>&amp;Information</source>
- <translation>&amp;Інформація</translation>
+ <translation>&amp;Information</translation>
</message>
<message>
<source>General</source>
- <translation>Загальна</translation>
+ <translation>General</translation>
</message>
<message>
<source>Using BerkeleyDB version</source>
- <translation>Використовується BerkeleyDB версії</translation>
+ <translation>Using BerkeleyDB version</translation>
</message>
<message>
<source>Datadir</source>
- <translation>Каталог даних</translation>
+ <translation>Datadir</translation>
</message>
<message>
<source>To specify a non-default location of the data directory use the '%1' option.</source>
- <translation>Для зазначення нестандартного шляху до каталогу даних, скористайтесь опцією '%1'.</translation>
+ <translation>To specify a non-default location of the data directory use the '%1' option.</translation>
</message>
<message>
<source>Blocksdir</source>
- <translation>Каталог блоків</translation>
+ <translation>Blocksdir</translation>
</message>
<message>
<source>To specify a non-default location of the blocks directory use the '%1' option.</source>
- <translation>Для зазначення нестандартного шляху до каталогу блоків, скористайтесь опцією '%1'.</translation>
+ <translation>To specify a non-default location of the blocks directory use the '%1' option.</translation>
</message>
<message>
<source>Startup time</source>
- <translation>Час запуску</translation>
+ <translation>Startup time</translation>
</message>
<message>
<source>Network</source>
- <translation>Мережа</translation>
+ <translation>Network</translation>
</message>
<message>
<source>Name</source>
- <translation>Ім’я</translation>
+ <translation>Name</translation>
</message>
<message>
<source>Number of connections</source>
- <translation>Кількість підключень</translation>
+ <translation>Number of connections</translation>
</message>
<message>
<source>Block chain</source>
- <translation>Ланцюг блоків</translation>
+ <translation>Block chain</translation>
</message>
<message>
<source>Memory Pool</source>
- <translation>Пул пам'яті</translation>
+ <translation>Memory Pool</translation>
</message>
<message>
<source>Current number of transactions</source>
- <translation>Поточне число транзакцій</translation>
+ <translation>Current number of transactions</translation>
</message>
<message>
<source>Memory usage</source>
- <translation>Використання пам'яті</translation>
+ <translation>Memory usage</translation>
</message>
<message>
<source>Wallet: </source>
- <translation>Гаманець:</translation>
+ <translation>Wallet: </translation>
</message>
<message>
<source>(none)</source>
- <translation>(відсутні)</translation>
+ <translation>(none)</translation>
</message>
<message>
<source>&amp;Reset</source>
- <translation>&amp;Скинути</translation>
+ <translation>&amp;Reset</translation>
</message>
<message>
<source>Received</source>
- <translation>Отримано</translation>
+ <translation>Received</translation>
</message>
<message>
<source>Sent</source>
- <translation>Відправлено</translation>
+ <translation>Sent</translation>
</message>
<message>
<source>&amp;Peers</source>
- <translation>&amp;Учасники</translation>
+ <translation>&amp;Peers</translation>
</message>
<message>
<source>Banned peers</source>
- <translation>Заблоковані вузли</translation>
+ <translation>Banned peers</translation>
</message>
<message>
<source>Select a peer to view detailed information.</source>
- <translation>Виберіть учасника для перегляду детальнішої інформації</translation>
+ <translation>Select a peer to view detailed information.</translation>
</message>
<message>
<source>Direction</source>
- <translation>Напрямок</translation>
+ <translation>Direction</translation>
</message>
<message>
<source>Version</source>
- <translation>Версія</translation>
+ <translation>Version</translation>
</message>
<message>
<source>Starting Block</source>
- <translation>Початковий Блок</translation>
+ <translation>Starting Block</translation>
</message>
<message>
<source>Synced Headers</source>
- <translation>Синхронізовані Заголовки</translation>
+ <translation>Synced Headers</translation>
</message>
<message>
<source>Synced Blocks</source>
- <translation>Синхронізовані Блоки</translation>
+ <translation>Synced Blocks</translation>
</message>
<message>
<source>The mapped Autonomous System used for diversifying peer selection.</source>
- <translation>Картована автономна система, що використовується для диверсифікації вибору вузлів.</translation>
+ <translation>The mapped Autonomous System used for diversifying peer selection.</translation>
</message>
<message>
<source>Mapped AS</source>
- <translation>Картована Автономна Система</translation>
+ <translation>Mapped AS</translation>
</message>
<message>
<source>User Agent</source>
- <translation>Клієнт користувача</translation>
+ <translation>User Agent</translation>
</message>
<message>
<source>Node window</source>
- <translation>Вікно вузлів</translation>
+ <translation>Node window</translation>
</message>
<message>
<source>Current block height</source>
- <translation>Поточна висота блоку</translation>
+ <translation>Current block height</translation>
</message>
<message>
<source>Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.</source>
- <translation>Відкрийте файл журналу налагодження %1 з поточного каталогу даних. Це може зайняти кілька секунд для файлів великого розміру.</translation>
+ <translation>Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.</translation>
</message>
<message>
<source>Decrease font size</source>
- <translation>Зменшити розмір шрифту</translation>
+ <translation>Decrease font size</translation>
</message>
<message>
<source>Increase font size</source>
- <translation>Збільшити розмір шрифту</translation>
+ <translation>Increase font size</translation>
</message>
<message>
<source>Permissions</source>
- <translation>Дозволи</translation>
+ <translation>Permissions</translation>
</message>
<message>
<source>Services</source>
- <translation>Сервіси</translation>
+ <translation>Services</translation>
</message>
<message>
<source>Connection Time</source>
- <translation>Час з'єднання</translation>
+ <translation>Connection Time</translation>
</message>
<message>
<source>Last Send</source>
- <translation>Востаннє відправлено</translation>
+ <translation>Last Send</translation>
</message>
<message>
<source>Last Receive</source>
- <translation>Востаннє отримано</translation>
+ <translation>Last Receive</translation>
</message>
<message>
<source>Ping Time</source>
- <translation>Затримка</translation>
+ <translation>Ping Time</translation>
</message>
<message>
<source>The duration of a currently outstanding ping.</source>
- <translation>Тривалість поточної затримки.</translation>
+ <translation>The duration of a currently outstanding ping.</translation>
</message>
<message>
<source>Ping Wait</source>
- <translation>Поточна Затримка</translation>
+ <translation>Ping Wait</translation>
</message>
<message>
<source>Min Ping</source>
- <translation>Мін Пінг</translation>
+ <translation>Min Ping</translation>
</message>
<message>
<source>Time Offset</source>
- <translation>Різниця часу</translation>
+ <translation>Time Offset</translation>
</message>
<message>
<source>Last block time</source>
- <translation>Час останнього блоку</translation>
+ <translation>Last block time</translation>
</message>
<message>
<source>&amp;Open</source>
- <translation>&amp;Відкрити</translation>
+ <translation>&amp;Open</translation>
</message>
<message>
<source>&amp;Console</source>
- <translation>&amp;Консоль</translation>
+ <translation>&amp;Console</translation>
</message>
<message>
<source>&amp;Network Traffic</source>
- <translation>&amp;Мережевий трафік</translation>
+ <translation>&amp;Network Traffic</translation>
</message>
<message>
<source>Totals</source>
- <translation>Всього</translation>
+ <translation>Totals</translation>
</message>
<message>
<source>In:</source>
- <translation>Вхідних:</translation>
+ <translation>In:</translation>
</message>
<message>
<source>Out:</source>
- <translation>Вихідних:</translation>
+ <translation>Out:</translation>
</message>
<message>
<source>Debug log file</source>
- <translation>Файл звіту зневадження</translation>
+ <translation>Debug log file</translation>
</message>
<message>
<source>Clear console</source>
- <translation>Очистити консоль</translation>
+ <translation>Clear console</translation>
</message>
<message>
<source>1 &amp;hour</source>
- <translation>1 &amp;годину</translation>
+ <translation>1 &amp;hour</translation>
</message>
<message>
<source>1 &amp;day</source>
- <translation>1 &amp;день</translation>
+ <translation>1 &amp;day</translation>
</message>
<message>
<source>1 &amp;week</source>
- <translation>1 &amp;тиждень</translation>
+ <translation>1 &amp;week</translation>
</message>
<message>
<source>1 &amp;year</source>
- <translation>1 &amp;рік</translation>
+ <translation>1 &amp;year</translation>
</message>
<message>
<source>&amp;Disconnect</source>
- <translation>&amp;Від'єднати</translation>
+ <translation>&amp;Disconnect</translation>
</message>
<message>
<source>Ban for</source>
- <translation>Заблокувати на</translation>
+ <translation>Ban for</translation>
</message>
<message>
<source>&amp;Unban</source>
- <translation>&amp;Розблокувати</translation>
+ <translation>&amp;Unban</translation>
</message>
<message>
<source>Welcome to the %1 RPC console.</source>
- <translation>Ласкаво просимо до консолі RPC %1.</translation>
+ <translation>Welcome to the %1 RPC console.</translation>
</message>
<message>
<source>Use up and down arrows to navigate history, and %1 to clear screen.</source>
- <translation>Використовуйте стрілки вгору та вниз для навігації історії та %1 для очищення екрана.</translation>
+ <translation>Use up and down arrows to navigate history, and %1 to clear screen.</translation>
</message>
<message>
<source>Type %1 for an overview of available commands.</source>
- <translation>Введіть %1 для перегляду доступних команд.</translation>
+ <translation>Type %1 for an overview of available commands.</translation>
</message>
<message>
<source>For more information on using this console type %1.</source>
- <translation>Щоб отримати додаткові відомості про використання консолі введіть %1.</translation>
+ <translation>For more information on using this console type %1.</translation>
</message>
<message>
<source>WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramifications of a command.</source>
- <translation>ПОПЕРЕДЖЕННЯ. Шахраї активно вказували вводити тут команди і отримували доступ до вмісту гаманця користувачів. Не використовуйте цю консоль без повного розуміння наслідків виконання команд.</translation>
+ <translation>WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramifications of a command.</translation>
</message>
<message>
<source>Network activity disabled</source>
- <translation>Мережева активність вимкнена.</translation>
+ <translation>Network activity disabled</translation>
</message>
<message>
<source>Executing command without any wallet</source>
- <translation>Виконати команду без гаманця</translation>
+ <translation>Executing command without any wallet</translation>
</message>
<message>
<source>Executing command using "%1" wallet</source>
- <translation>Виконати команду для "%1" гаманця</translation>
+ <translation>Executing command using "%1" wallet</translation>
</message>
<message>
<source>(node id: %1)</source>
- <translation>(ІД вузла: %1)</translation>
+ <translation>(node id: %1)</translation>
</message>
<message>
<source>via %1</source>
- <translation>через %1</translation>
+ <translation>via %1</translation>
</message>
<message>
<source>never</source>
- <translation>ніколи</translation>
+ <translation>never</translation>
</message>
<message>
<source>Inbound</source>
- <translation>Вхідний</translation>
+ <translation>Inbound</translation>
</message>
<message>
<source>Outbound</source>
- <translation>Вихідний</translation>
+ <translation>Outbound</translation>
</message>
<message>
<source>Unknown</source>
- <translation>Невідома</translation>
+ <translation>Unknown</translation>
</message>
</context>
<context>
<name>ReceiveCoinsDialog</name>
<message>
<source>&amp;Amount:</source>
- <translation>&amp;Кількість:</translation>
+ <translation>&amp;Amount:</translation>
</message>
<message>
<source>&amp;Label:</source>
- <translation>&amp;Мітка:</translation>
+ <translation>&amp;Label:</translation>
</message>
<message>
<source>&amp;Message:</source>
- <translation>&amp;Повідомлення:</translation>
+ <translation>&amp;Message:</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>Необов'язкове повідомлення на додаток до запиту платежу, котре буде показане під час відкриття запиту. Примітка: Це повідомлення не буде відправлено з платежем через мережу Bitcoin.</translation>
+ <translation>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.</translation>
</message>
<message>
<source>An optional label to associate with the new receiving address.</source>
- <translation>Необов'язкове поле для мітки нової адреси отримувача.</translation>
+ <translation>An optional label to associate with the new receiving address.</translation>
</message>
<message>
<source>Use this form to request payments. All fields are &lt;b&gt;optional&lt;/b&gt;.</source>
- <translation>Використовуйте цю форму, щоб отримати платежі. Всі поля є &lt;b&gt;необов'язковими&lt;/b&gt;.</translation>
+ <translation>Use this form to request payments. All fields are &lt;b&gt;optional&lt;/b&gt;.</translation>
</message>
<message>
<source>An optional amount to request. Leave this empty or zero to not request a specific amount.</source>
- <translation>Необов'язкове поле для суми запиту. Залиште це поле пустим або впишіть нуль, щоб не надсилати у запиті конкретної суми.</translation>
+ <translation>An optional amount to request. Leave this empty or zero to not request a specific amount.</translation>
</message>
<message>
<source>An optional label to associate with the new receiving address (used by you to identify an invoice). It is also attached to the payment request.</source>
- <translation>Необов'язкове поле для мітки нової адреси отримувача (використовується для ідентифікації рахунка). Він також додається до запиту на оплату.</translation>
+ <translation>An optional label to associate with the new receiving address (used by you to identify an invoice). It is also attached to the payment request.</translation>
</message>
<message>
<source>An optional message that is attached to the payment request and may be displayed to the sender.</source>
- <translation>Необов’язкове повідомлення, яке додається до запиту на оплату і може відображати відправника.</translation>
+ <translation>An optional message that is attached to the payment request and may be displayed to the sender.</translation>
</message>
<message>
<source>&amp;Create new receiving address</source>
- <translation>&amp;Створити нову адресу</translation>
+ <translation>&amp;Create new receiving address</translation>
</message>
<message>
<source>Clear all fields of the form.</source>
- <translation>Очистити всі поля в формі</translation>
+ <translation>Clear all fields of the form.</translation>
</message>
<message>
<source>Clear</source>
- <translation>Очистити</translation>
+ <translation>Clear</translation>
</message>
<message>
<source>Native segwit addresses (aka Bech32 or BIP-173) reduce your transaction fees later on and offer better protection against typos, but old wallets don't support them. When unchecked, an address compatible with older wallets will be created instead.</source>
- <translation>Чиста сегвіт адреса (segwit, Bech32, BIP-173) знижує комісію та пропонує кращий захист від помилок, але старі гаманці її не підтримують. Якщо позначка знята, буде створено адресу, сумісну зі старими гаманцями.</translation>
+ <translation>Native segwit addresses (aka Bech32 or BIP-173) reduce your transaction fees later on and offer better protection against typos, but old wallets don't support them. When unchecked, an address compatible with older wallets will be created instead.</translation>
</message>
<message>
<source>Generate native segwit (Bech32) address</source>
- <translation>Згенерувати чисту SegWit (Bech32) адресу</translation>
+ <translation>Generate native segwit (Bech32) address</translation>
</message>
<message>
<source>Requested payments history</source>
- <translation>Історія запитів платежу</translation>
+ <translation>Requested payments history</translation>
</message>
<message>
<source>Show the selected request (does the same as double clicking an entry)</source>
- <translation>Показати вибраний запит (робить те ж саме, що й подвійний клік по запису)</translation>
+ <translation>Show the selected request (does the same as double clicking an entry)</translation>
</message>
<message>
<source>Show</source>
- <translation>Показати</translation>
+ <translation>Show</translation>
</message>
<message>
<source>Remove the selected entries from the list</source>
- <translation>Вилучити вибрані записи зі списку</translation>
+ <translation>Remove the selected entries from the list</translation>
</message>
<message>
<source>Remove</source>
- <translation>Вилучити</translation>
+ <translation>Remove</translation>
</message>
<message>
<source>Copy URI</source>
- <translation>Скопіювати адресу</translation>
+ <translation>Copy URI</translation>
</message>
<message>
<source>Copy label</source>
- <translation>Скопіювати мітку</translation>
+ <translation>Copy label</translation>
</message>
<message>
<source>Copy message</source>
- <translation>Скопіювати повідомлення</translation>
+ <translation>Copy message</translation>
</message>
<message>
<source>Copy amount</source>
- <translation>Копіювати суму</translation>
+ <translation>Copy amount</translation>
</message>
<message>
<source>Could not unlock wallet.</source>
- <translation>Неможливо розблокувати гаманець.</translation>
+ <translation>Could not unlock wallet.</translation>
</message>
<message>
<source>Could not generate new %1 address</source>
- <translation>Не можливо згенерувати нову %1 адресу</translation>
+ <translation>Could not generate new %1 address</translation>
</message>
</context>
<context>
<name>ReceiveRequestDialog</name>
<message>
<source>Request payment to ...</source>
- <translation>Запит на оплату до ...</translation>
+ <translation>Request payment to ...</translation>
</message>
<message>
<source>Address:</source>
- <translation>Адреса:</translation>
+ <translation>Address:</translation>
</message>
<message>
<source>Amount:</source>
- <translation>Сума:</translation>
+ <translation>Amount:</translation>
</message>
<message>
<source>Label:</source>
- <translation>Мітка:</translation>
+ <translation>Label:</translation>
</message>
<message>
<source>Message:</source>
- <translation>Повідомлення:</translation>
+ <translation>Message:</translation>
</message>
<message>
<source>Wallet:</source>
- <translation>Гаманець:</translation>
+ <translation>Wallet:</translation>
</message>
<message>
<source>Copy &amp;URI</source>
- <translation>&amp;Скопіювати URI</translation>
+ <translation>Copy &amp;URI</translation>
</message>
<message>
<source>Copy &amp;Address</source>
- <translation>Скопіювати &amp;адресу</translation>
+ <translation>Copy &amp;Address</translation>
</message>
<message>
<source>&amp;Save Image...</source>
- <translation>&amp;Зберегти зображення...</translation>
+ <translation>&amp;Save Image...</translation>
</message>
<message>
<source>Request payment to %1</source>
- <translation>Запит платежу на %1</translation>
+ <translation>Request payment to %1</translation>
</message>
<message>
<source>Payment information</source>
- <translation>Інформація про платіж</translation>
+ <translation>Payment information</translation>
</message>
</context>
<context>
<name>RecentRequestsTableModel</name>
<message>
<source>Date</source>
- <translation>Дата</translation>
+ <translation>Date</translation>
</message>
<message>
<source>Label</source>
- <translation>Мітка</translation>
+ <translation>Label</translation>
</message>
<message>
<source>Message</source>
- <translation>Повідомлення</translation>
+ <translation>Message</translation>
</message>
<message>
<source>(no label)</source>
- <translation>(без мітки)</translation>
+ <translation>(no label)</translation>
</message>
<message>
<source>(no message)</source>
- <translation>(без повідомлення)</translation>
+ <translation>(no message)</translation>
</message>
<message>
<source>(no amount requested)</source>
- <translation>(без суми)</translation>
+ <translation>(no amount requested)</translation>
</message>
<message>
<source>Requested</source>
- <translation>Запрошено</translation>
+ <translation>Requested</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
<source>Send Coins</source>
- <translation>Відправити</translation>
+ <translation>Send Coins</translation>
</message>
<message>
<source>Coin Control Features</source>
- <translation>Керування монетами</translation>
+ <translation>Coin Control Features</translation>
</message>
<message>
<source>Inputs...</source>
- <translation>Входи...</translation>
+ <translation>Inputs...</translation>
</message>
<message>
<source>automatically selected</source>
- <translation>вибираються автоматично</translation>
+ <translation>automatically selected</translation>
</message>
<message>
<source>Insufficient funds!</source>
- <translation>Недостатньо коштів!</translation>
+ <translation>Insufficient funds!</translation>
</message>
<message>
<source>Quantity:</source>
- <translation>Кількість:</translation>
+ <translation>Quantity:</translation>
</message>
<message>
<source>Bytes:</source>
- <translation>Байтів:</translation>
+ <translation>Bytes:</translation>
</message>
<message>
<source>Amount:</source>
- <translation>Сума:</translation>
+ <translation>Amount:</translation>
</message>
<message>
<source>Fee:</source>
- <translation>Комісія:</translation>
+ <translation>Fee:</translation>
</message>
<message>
<source>After Fee:</source>
- <translation>Після комісії:</translation>
+ <translation>After Fee:</translation>
</message>
<message>
<source>Change:</source>
- <translation>Решта:</translation>
+ <translation>Change:</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>Якщо це поле активовано, але адреса для решти відсутня або некоректна, то решта буде відправлена на новостворену адресу.</translation>
+ <translation>If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address.</translation>
</message>
<message>
<source>Custom change address</source>
- <translation>Вказати адресу для решти</translation>
+ <translation>Custom change address</translation>
</message>
<message>
<source>Transaction Fee:</source>
- <translation>Комісія за передачу:</translation>
+ <translation>Transaction Fee:</translation>
</message>
<message>
<source>Choose...</source>
- <translation>Виберіть...</translation>
+ <translation>Choose...</translation>
</message>
<message>
<source>Using the fallbackfee can result in sending a transaction that will take several hours or days (or never) to confirm. Consider choosing your fee manually or wait until you have validated the complete chain.</source>
- <translation>Використання зарезервованої комісії може призвести до виконання транзакції, підтвердження котрої займе години, або дні, або ніколи не буде підтверджено. Обміркуйте можливість вибору комісії вручну, або зачекайте завершення валідації повного ланцюгу.</translation>
+ <translation>Using the fallbackfee can result in sending a transaction that will take several hours or days (or never) to confirm. Consider choosing your fee manually or wait until you have validated the complete chain.</translation>
</message>
<message>
<source>Warning: Fee estimation is currently not possible.</source>
- <translation>Попередження: оцінка розміру комісії наразі неможлива.</translation>
+ <translation>Warning: Fee estimation is currently not possible.</translation>
</message>
<message>
<source>Specify a custom fee per kB (1,000 bytes) of the transaction's virtual size.
Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis per kB" for a transaction size of 500 bytes (half of 1 kB) would ultimately yield a fee of only 50 satoshis.</source>
- <translation>Вкажіть комісію за кБ (1,000 байт) віртуального розміру транзакції.
+ <translation>Specify a custom fee per kB (1,000 bytes) of the transaction's virtual size.
-Примітка: Так як комісія нараховується за байт, комісія "100 сатоші за кБ" для транзакції розміром 500 байт (пів 1 кБ) буде приблизно 50 сатоші.</translation>
+Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis per kB" for a transaction size of 500 bytes (half of 1 kB) would ultimately yield a fee of only 50 satoshis.</translation>
</message>
<message>
<source>per kilobyte</source>
- <translation>за кілобайт</translation>
+ <translation>per kilobyte</translation>
</message>
<message>
<source>Hide</source>
- <translation>Приховати</translation>
+ <translation>Hide</translation>
</message>
<message>
<source>Recommended:</source>
- <translation>Рекомендовано:</translation>
+ <translation>Recommended:</translation>
</message>
<message>
<source>Custom:</source>
- <translation>Змінено:</translation>
+ <translation>Custom:</translation>
</message>
<message>
<source>(Smart fee not initialized yet. This usually takes a few blocks...)</source>
- <translation>(Розумну оплату ще не ініціалізовано. Це, зазвичай, триває кілька блоків...)</translation>
+ <translation>(Smart fee not initialized yet. This usually takes a few blocks...)</translation>
</message>
<message>
<source>Send to multiple recipients at once</source>
- <translation>Відправити на декілька адрес</translation>
+ <translation>Send to multiple recipients at once</translation>
</message>
<message>
<source>Add &amp;Recipient</source>
- <translation>Дод&amp;ати одержувача</translation>
+ <translation>Add &amp;Recipient</translation>
</message>
<message>
<source>Clear all fields of the form.</source>
- <translation>Очистити всі поля в формі</translation>
+ <translation>Clear all fields of the form.</translation>
</message>
<message>
<source>Dust:</source>
- <translation>Пил:</translation>
+ <translation>Dust:</translation>
</message>
<message>
<source>Hide transaction fee settings</source>
- <translation>Приховати комісію за транзакцію</translation>
+ <translation>Hide transaction fee settings</translation>
</message>
<message>
<source>When there is less transaction volume than space in the blocks, miners as well as relaying nodes may enforce a minimum fee. Paying only this minimum fee is just fine, but be aware that this can result in a never confirming transaction once there is more demand for bitcoin transactions than the network can process.</source>
- <translation>Якщо обсяг транзакцій менше, ніж простір у блоках, майнери, а також вузли ретрансляції можуть стягувати мінімальну плату. Сплата лише цієї мінімальної суми може призвести до ніколи не підтверджуваної транзакції, коли буде більше попиту на біткойн-транзакції, ніж мережа може обробити.</translation>
+ <translation>When there is less transaction volume than space in the blocks, miners as well as relaying nodes may enforce a minimum fee. Paying only this minimum fee is just fine, but be aware that this can result in a never confirming transaction once there is more demand for bitcoin transactions than the network can process.</translation>
</message>
<message>
<source>A too low fee might result in a never confirming transaction (read the tooltip)</source>
- <translation>Занадто низька плата може призвести до ніколи не підтверджуваної транзакції (див. підказку)</translation>
+ <translation>A too low fee might result in a never confirming transaction (read the tooltip)</translation>
</message>
<message>
<source>Confirmation time target:</source>
- <translation>Час підтвердження:</translation>
+ <translation>Confirmation time target:</translation>
</message>
<message>
<source>Enable Replace-By-Fee</source>
- <translation>Увімкнути Заміна-Через-Комісію</translation>
+ <translation>Enable Replace-By-Fee</translation>
</message>
<message>
<source>With Replace-By-Fee (BIP-125) you can increase a transaction's fee after it is sent. Without this, a higher fee may be recommended to compensate for increased transaction delay risk.</source>
- <translation>З опцією Заміна-Через-Комісію (BIP-125) ви можете збільшити комісію за транзакцію після її надсилання. Інакше може бути рекомендоване збільшення розміру комісії для компенсації підвищеного ризику затримки транзакції.</translation>
+ <translation>With Replace-By-Fee (BIP-125) you can increase a transaction's fee after it is sent. Without this, a higher fee may be recommended to compensate for increased transaction delay risk.</translation>
</message>
<message>
<source>Clear &amp;All</source>
- <translation>Очистити &amp;все</translation>
+ <translation>Clear &amp;All</translation>
</message>
<message>
<source>Balance:</source>
- <translation>Баланс:</translation>
+ <translation>Balance:</translation>
</message>
<message>
<source>Confirm the send action</source>
- <translation>Підтвердити відправлення</translation>
+ <translation>Confirm the send action</translation>
</message>
<message>
<source>S&amp;end</source>
- <translation>&amp;Відправити</translation>
+ <translation>S&amp;end</translation>
</message>
<message>
<source>Copy quantity</source>
- <translation>Копіювати кількість</translation>
+ <translation>Copy quantity</translation>
</message>
<message>
<source>Copy amount</source>
- <translation>Копіювати суму</translation>
+ <translation>Copy amount</translation>
</message>
<message>
<source>Copy fee</source>
- <translation>Комісія</translation>
+ <translation>Copy fee</translation>
</message>
<message>
<source>Copy after fee</source>
- <translation>Скопіювати після комісії</translation>
+ <translation>Copy after fee</translation>
</message>
<message>
<source>Copy bytes</source>
- <translation>Копіювати байти</translation>
+ <translation>Copy bytes</translation>
</message>
<message>
<source>Copy dust</source>
- <translation>Скопіювати інше</translation>
+ <translation>Copy dust</translation>
</message>
<message>
<source>Copy change</source>
- <translation>Скопіювати решту</translation>
+ <translation>Copy change</translation>
</message>
<message>
<source>%1 (%2 blocks)</source>
- <translation>%1 (%2 блоків)</translation>
+ <translation>%1 (%2 blocks)</translation>
</message>
<message>
<source>Cr&amp;eate Unsigned</source>
- <translation>С&amp;творити непідписану</translation>
+ <translation>Cr&amp;eate Unsigned</translation>
</message>
<message>
<source>Creates a Partially Signed Bitcoin Transaction (PSBT) for use with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
- <translation>Створює частково підписану транзакцію Bitcoin (PSBT) для використання, наприклад, офлайн-гаманець %1 або гаманця, сумісного з PSBT.</translation>
+ <translation>Creates a Partially Signed Bitcoin Transaction (PSBT) for use with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</translation>
</message>
<message>
<source> from wallet '%1'</source>
- <translation>з гаманця '%1'</translation>
+ <translation> from wallet '%1'</translation>
</message>
<message>
<source>%1 to '%2'</source>
- <translation>%1 до '%2'</translation>
+ <translation>%1 to '%2'</translation>
</message>
<message>
<source>%1 to %2</source>
- <translation>%1 до %2</translation>
+ <translation>%1 to %2</translation>
</message>
<message>
<source>Do you want to draft this transaction?</source>
- <translation>Ви хочете скласти цю транзакцію?</translation>
+ <translation>Do you want to draft this transaction?</translation>
</message>
<message>
<source>Are you sure you want to send?</source>
- <translation>Ви впевнені, що хочете відправити?</translation>
+ <translation>Are you sure you want to send?</translation>
</message>
<message>
<source>Create Unsigned</source>
- <translation>Створити без підпису</translation>
+ <translation>Create Unsigned</translation>
</message>
<message>
<source>Save Transaction Data</source>
- <translation>Зберегти дані транзакції</translation>
+ <translation>Save Transaction Data</translation>
</message>
<message>
<source>Partially Signed Transaction (Binary) (*.psbt)</source>
- <translation>Частково підписана транзакція (Binary) (* .psbt)</translation>
+ <translation>Partially Signed Transaction (Binary) (*.psbt)</translation>
</message>
<message>
<source>PSBT saved</source>
- <translation>PSBT збережено</translation>
+ <translation>PSBT saved</translation>
</message>
<message>
<source>or</source>
- <translation>або</translation>
+ <translation>or</translation>
</message>
<message>
<source>You can increase the fee later (signals Replace-By-Fee, BIP-125).</source>
- <translation>Ви можете збільшити комісію пізніше (сигналізує Заміна-Через-Комісію, BIP-125).</translation>
+ <translation>You can increase the fee later (signals Replace-By-Fee, BIP-125).</translation>
</message>
<message>
<source>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can save or copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
- <translation>Перегляньте свою пропозицію щодо транзакції. Це призведе до частково Підписаної Транзакції Біткойна (PSBT), яку ви можете зберегти або скопіювати, а потім підписати, наприклад, офлайн-гаманцем %1 або апаратним гаманецем, сумісний з PSBT.</translation>
+ <translation>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can save or copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</translation>
</message>
<message>
<source>Please, review your transaction.</source>
- <translation>Будь-ласка, перевірте вашу транзакцію.</translation>
+ <translation>Please, review your transaction.</translation>
</message>
<message>
<source>Transaction fee</source>
- <translation>Комісія</translation>
+ <translation>Transaction fee</translation>
</message>
<message>
<source>Not signalling Replace-By-Fee, BIP-125.</source>
- <translation>Не сигналізує Заміна-Через-Комісію, BIP-125.</translation>
+ <translation>Not signalling Replace-By-Fee, BIP-125.</translation>
</message>
<message>
<source>Total Amount</source>
- <translation>Всього</translation>
+ <translation>Total Amount</translation>
</message>
<message>
<source>To review recipient list click "Show Details..."</source>
- <translation>Щоб переглянути список одержувачів, натисніть "Показати деталі ..."</translation>
+ <translation>To review recipient list click "Show Details..."</translation>
</message>
<message>
<source>Confirm send coins</source>
- <translation>Підтвердьте надсилання монет</translation>
+ <translation>Confirm send coins</translation>
</message>
<message>
<source>Confirm transaction proposal</source>
- <translation>Підтвердити запропоновану комісію</translation>
+ <translation>Confirm transaction proposal</translation>
</message>
<message>
<source>Send</source>
- <translation>Відправити</translation>
+ <translation>Send</translation>
</message>
<message>
<source>Watch-only balance:</source>
- <translation>Баланс тільки спостереження:</translation>
+ <translation>Watch-only balance:</translation>
</message>
<message>
<source>The recipient address is not valid. Please recheck.</source>
- <translation>Неприпустима адреса отримувача. Будь ласка, перевірте.</translation>
+ <translation>The recipient address is not valid. Please recheck.</translation>
</message>
<message>
<source>The amount to pay must be larger than 0.</source>
- <translation>Сума платні повинна бути більше 0.</translation>
+ <translation>The amount to pay must be larger than 0.</translation>
</message>
<message>
<source>The amount exceeds your balance.</source>
- <translation>Сума перевищує ваш баланс.</translation>
+ <translation>The amount exceeds your balance.</translation>
</message>
<message>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
- <translation>Після додавання комісії %1, сума перевищить ваш баланс.</translation>
+ <translation>The total exceeds your balance when the %1 transaction fee is included.</translation>
</message>
<message>
<source>Duplicate address found: addresses should only be used once each.</source>
- <translation>Знайдено адресу, що дублюється: кожна адреса має бути вказана тільки один раз.</translation>
+ <translation>Duplicate address found: addresses should only be used once each.</translation>
</message>
<message>
<source>Transaction creation failed!</source>
- <translation>Транзакцію не виконано!</translation>
+ <translation>Transaction creation failed!</translation>
</message>
<message>
<source>A fee higher than %1 is considered an absurdly high fee.</source>
- <translation>Комісія більша, ніж %1, вважається абсурдно високою.</translation>
+ <translation>A fee higher than %1 is considered an absurdly high fee.</translation>
</message>
<message>
<source>Payment request expired.</source>
- <translation>Запит платежу прострочено.</translation>
+ <translation>Payment request expired.</translation>
</message>
<message numerus="yes">
<source>Estimated to begin confirmation within %n block(s).</source>
- <translation><numerusform>Очікуваний початок підтвердження через %n блок.</numerusform><numerusform>Очікуваний початок підтвердження протягом %n блоків.</numerusform><numerusform>Очікуваний початок підтвердження протягом %n блоків.</numerusform><numerusform>Очікуваний початок підтвердження протягом %n блоків.</numerusform></translation>
+ <translation><numerusform>Estimated to begin confirmation within %n block.</numerusform><numerusform>Estimated to begin confirmation within %n blocks.</numerusform><numerusform>Estimated to begin confirmation within %n blocks.</numerusform><numerusform>Estimated to begin confirmation within %n blocks.</numerusform></translation>
</message>
<message>
<source>Warning: Invalid Bitcoin address</source>
- <translation>Увага: Неприпустима Біткойн-адреса.</translation>
+ <translation>Warning: Invalid Bitcoin address</translation>
</message>
<message>
<source>Warning: Unknown change address</source>
- <translation>Увага: Невідома адреса для решти</translation>
+ <translation>Warning: Unknown change address</translation>
</message>
<message>
<source>Confirm custom change address</source>
- <translation>Підтвердити індивідуальну адресу для решти</translation>
+ <translation>Confirm custom change address</translation>
</message>
<message>
<source>The address you selected for change is not part of this wallet. Any or all funds in your wallet may be sent to this address. Are you sure?</source>
- <translation>Адреса, яку ви обрали для решти, не є частиною цього гаманця. Будь-які або всі кошти з вашого гаманця можуть бути надіслані на цю адресу. Ви впевнені?</translation>
+ <translation>The address you selected for change is not part of this wallet. Any or all funds in your wallet may be sent to this address. Are you sure?</translation>
</message>
<message>
<source>(no label)</source>
- <translation>(без мітки)</translation>
+ <translation>(no label)</translation>
</message>
</context>
<context>
<name>SendCoinsEntry</name>
<message>
<source>A&amp;mount:</source>
- <translation>&amp;Кількість:</translation>
+ <translation>A&amp;mount:</translation>
</message>
<message>
<source>Pay &amp;To:</source>
- <translation>&amp;Отримувач:</translation>
+ <translation>Pay &amp;To:</translation>
</message>
<message>
<source>&amp;Label:</source>
- <translation>&amp;Мітка:</translation>
+ <translation>&amp;Label:</translation>
</message>
<message>
<source>Choose previously used address</source>
- <translation>Обрати ранiше використану адресу</translation>
+ <translation>Choose previously used address</translation>
</message>
<message>
<source>The Bitcoin address to send the payment to</source>
- <translation>Адреса Біткойн для відправлення платежу</translation>
+ <translation>The Bitcoin address to send the payment to</translation>
</message>
<message>
<source>Alt+A</source>
@@ -2690,7 +2698,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Paste address from clipboard</source>
- <translation>Вставити адресу</translation>
+ <translation>Paste address from clipboard</translation>
</message>
<message>
<source>Alt+P</source>
@@ -2698,85 +2706,85 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Remove this entry</source>
- <translation>Видалити цей запис</translation>
+ <translation>Remove this entry</translation>
</message>
<message>
<source>The amount to send in the selected unit</source>
- <translation>Сума у вибраній одиниці, яку потрібно надіслати</translation>
+ <translation>The amount to send in the selected unit</translation>
</message>
<message>
<source>The fee will be deducted from the amount being sent. The recipient will receive less bitcoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
- <translation>Комісію буде знято зі вказаної суми. До отримувача надійде менше біткоінів, ніж було вказано в полі кількості. Якщо ж отримувачів декілька - комісію буде розподілено між ними.</translation>
+ <translation>The fee will be deducted from the amount being sent. The recipient will receive less bitcoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</translation>
</message>
<message>
<source>S&amp;ubtract fee from amount</source>
- <translation>В&amp;ідняти комісію від суми</translation>
+ <translation>S&amp;ubtract fee from amount</translation>
</message>
<message>
<source>Use available balance</source>
- <translation>Використати наявний баланс</translation>
+ <translation>Use available balance</translation>
</message>
<message>
<source>Message:</source>
- <translation>Повідомлення:</translation>
+ <translation>Message:</translation>
</message>
<message>
<source>This is an unauthenticated payment request.</source>
- <translation>Цей запит платежу не є автентифікованим.</translation>
+ <translation>This is an unauthenticated payment request.</translation>
</message>
<message>
<source>This is an authenticated payment request.</source>
- <translation>Цей запит платежу є автентифікованим.</translation>
+ <translation>This is an authenticated payment request.</translation>
</message>
<message>
<source>Enter a label for this address to add it to the list of used addresses</source>
- <translation>Введіть мітку цієї адреси для додавання її в перелік використаних адрес</translation>
+ <translation>Enter a label for this address to add it to the list of used addresses</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>Повідомлення, що було додане до bitcoin:URI та буде збережено разом з транзакцією для довідки. Примітка: Це повідомлення не буде відправлено в мережу Bitcoin.</translation>
+ <translation>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.</translation>
</message>
<message>
<source>Pay To:</source>
- <translation>Отримувач:</translation>
+ <translation>Pay To:</translation>
</message>
<message>
<source>Memo:</source>
- <translation>Нотатка:</translation>
+ <translation>Memo:</translation>
</message>
</context>
<context>
<name>ShutdownWindow</name>
<message>
<source>%1 is shutting down...</source>
- <translation>%1 припиняє роботу...</translation>
+ <translation>%1 is shutting down...</translation>
</message>
<message>
<source>Do not shut down the computer until this window disappears.</source>
- <translation>Не вимикайте комп’ютер до зникнення цього вікна.</translation>
+ <translation>Do not shut down the computer until this window disappears.</translation>
</message>
</context>
<context>
<name>SignVerifyMessageDialog</name>
<message>
<source>Signatures - Sign / Verify a Message</source>
- <translation>Підписи - Підпис / Перевірка повідомлення</translation>
+ <translation>Signatures - Sign / Verify a Message</translation>
</message>
<message>
<source>&amp;Sign Message</source>
- <translation>&amp;Підписати повідомлення</translation>
+ <translation>&amp;Sign Message</translation>
</message>
<message>
<source>You can sign messages/agreements with your addresses to prove you can receive bitcoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
- <translation>Ви можете підписувати повідомлення/угоди своїми адресами, щоб довести можливість отримання біткоінів, що будуть надіслані на них. Остерігайтеся підписувати будь-що нечітке чи неочікуване, так як за допомогою фішинг-атаки вас можуть спробувати ввести в оману для отримання вашого підпису під чужими словами. Підписуйте лише чіткі твердження, з якими ви повністю згодні.</translation>
+ <translation>You can sign messages/agreements with your addresses to prove you can receive bitcoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</translation>
</message>
<message>
<source>The Bitcoin address to sign the message with</source>
- <translation>Адреса Bitcoin для підпису цього повідомлення</translation>
+ <translation>The Bitcoin address to sign the message with</translation>
</message>
<message>
<source>Choose previously used address</source>
- <translation>Обрати ранiше використану адресу</translation>
+ <translation>Choose previously used address</translation>
</message>
<message>
<source>Alt+A</source>
@@ -2784,7 +2792,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Paste address from clipboard</source>
- <translation>Вставити адресу</translation>
+ <translation>Paste address from clipboard</translation>
</message>
<message>
<source>Alt+P</source>
@@ -2792,604 +2800,604 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
</message>
<message>
<source>Enter the message you want to sign here</source>
- <translation>Введіть повідомлення, яке ви хочете підписати тут</translation>
+ <translation>Enter the message you want to sign here</translation>
</message>
<message>
<source>Signature</source>
- <translation>Підпис</translation>
+ <translation>Signature</translation>
</message>
<message>
<source>Copy the current signature to the system clipboard</source>
- <translation>Копіювати поточну сигнатуру до системного буферу обміну</translation>
+ <translation>Copy the current signature to the system clipboard</translation>
</message>
<message>
<source>Sign the message to prove you own this Bitcoin address</source>
- <translation>Підпишіть повідомлення щоб довести, що ви є власником цієї адреси</translation>
+ <translation>Sign the message to prove you own this Bitcoin address</translation>
</message>
<message>
<source>Sign &amp;Message</source>
- <translation>&amp;Підписати повідомлення</translation>
+ <translation>Sign &amp;Message</translation>
</message>
<message>
<source>Reset all sign message fields</source>
- <translation>Скинути всі поля підпису повідомлення</translation>
+ <translation>Reset all sign message fields</translation>
</message>
<message>
<source>Clear &amp;All</source>
- <translation>Очистити &amp;все</translation>
+ <translation>Clear &amp;All</translation>
</message>
<message>
<source>&amp;Verify Message</source>
- <translation>П&amp;еревірити повідомлення</translation>
+ <translation>&amp;Verify Message</translation>
</message>
<message>
<source>Enter the receiver's address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack. Note that this only proves the signing party receives with the address, it cannot prove sendership of any transaction!</source>
- <translation>Введіть нижче адресу отримувача, повідомлення (впевніться, що ви точно скопіювали символи завершення рядка, табуляцію, пробіли тощо) та підпис для перевірки повідомлення. Впевніться, що в підпис не було додано зайвих символів: це допоможе уникнути атак типу «людина посередині». Зауважте, що це лише засвідчує можливість отримання транзакцій підписувачем, але не в стані підтвердити джерело жодної транзакції!</translation>
+ <translation>Enter the receiver's address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack. Note that this only proves the signing party receives with the address, it cannot prove sendership of any transaction!</translation>
</message>
<message>
<source>The Bitcoin address the message was signed with</source>
- <translation>Адреса Bitcoin, якою було підписано це повідомлення</translation>
+ <translation>The Bitcoin address the message was signed with</translation>
</message>
<message>
<source>The signed message to verify</source>
- <translation>Підписане повідомлення для підтвердження</translation>
+ <translation>The signed message to verify</translation>
</message>
<message>
<source>The signature given when the message was signed</source>
- <translation>Підпис наданий при підписанні цього повідомлення</translation>
+ <translation>The signature given when the message was signed</translation>
</message>
<message>
<source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
- <translation>Перевірте повідомлення для впевненості, що воно підписано вказаною Bitcoin-адресою</translation>
+ <translation>Verify the message to ensure it was signed with the specified Bitcoin address</translation>
</message>
<message>
<source>Verify &amp;Message</source>
- <translation>Пере&amp;вірити повідомлення</translation>
+ <translation>Verify &amp;Message</translation>
</message>
<message>
<source>Reset all verify message fields</source>
- <translation>Скинути всі поля перевірки повідомлення</translation>
+ <translation>Reset all verify message fields</translation>
</message>
<message>
<source>Click "Sign Message" to generate signature</source>
- <translation>Натисніть кнопку «Підписати повідомлення», для отримання підпису</translation>
+ <translation>Click "Sign Message" to generate signature</translation>
</message>
<message>
<source>The entered address is invalid.</source>
- <translation>Введена адреса не співпадає.</translation>
+ <translation>The entered address is invalid.</translation>
</message>
<message>
<source>Please check the address and try again.</source>
- <translation>Будь ласка, перевірте адресу та спробуйте ще.</translation>
+ <translation>Please check the address and try again.</translation>
</message>
<message>
<source>The entered address does not refer to a key.</source>
- <translation>Введена адреса не відноситься до ключа.</translation>
+ <translation>The entered address does not refer to a key.</translation>
</message>
<message>
<source>Wallet unlock was cancelled.</source>
- <translation>Розблокування гаманця було скасоване.</translation>
+ <translation>Wallet unlock was cancelled.</translation>
</message>
<message>
<source>No error</source>
- <translation>Без помилок</translation>
+ <translation>No error</translation>
</message>
<message>
<source>Private key for the entered address is not available.</source>
- <translation>Приватний ключ для введеної адреси недоступний.</translation>
+ <translation>Private key for the entered address is not available.</translation>
</message>
<message>
<source>Message signing failed.</source>
- <translation>Не вдалося підписати повідомлення.</translation>
+ <translation>Message signing failed.</translation>
</message>
<message>
<source>Message signed.</source>
- <translation>Повідомлення підписано.</translation>
+ <translation>Message signed.</translation>
</message>
<message>
<source>The signature could not be decoded.</source>
- <translation>Підпис не можливо декодувати.</translation>
+ <translation>The signature could not be decoded.</translation>
</message>
<message>
<source>Please check the signature and try again.</source>
- <translation>Будь ласка, перевірте підпис та спробуйте ще.</translation>
+ <translation>Please check the signature and try again.</translation>
</message>
<message>
<source>The signature did not match the message digest.</source>
- <translation>Підпис не збігається з хешем повідомлення.</translation>
+ <translation>The signature did not match the message digest.</translation>
</message>
<message>
<source>Message verification failed.</source>
- <translation>Не вдалося перевірити повідомлення.</translation>
+ <translation>Message verification failed.</translation>
</message>
<message>
<source>Message verified.</source>
- <translation>Повідомлення перевірено.</translation>
+ <translation>Message verified.</translation>
</message>
</context>
<context>
<name>TrafficGraphWidget</name>
<message>
<source>KB/s</source>
- <translation>КБ/с</translation>
+ <translation>KB/s</translation>
</message>
</context>
<context>
<name>TransactionDesc</name>
<message numerus="yes">
<source>Open for %n more block(s)</source>
- <translation><numerusform>Відкрито на %n блок</numerusform><numerusform>Відкрито на %n блоків</numerusform><numerusform>Відкрито на %n блоків</numerusform><numerusform>Відкрито на %n блоків</numerusform></translation>
+ <translation><numerusform>Open for %n more block</numerusform><numerusform>Open for %n more blocks</numerusform><numerusform>Open for %n more blocks</numerusform><numerusform>Open for %n more blocks</numerusform></translation>
</message>
<message>
<source>Open until %1</source>
- <translation>Відкрито до %1</translation>
+ <translation>Open until %1</translation>
</message>
<message>
<source>conflicted with a transaction with %1 confirmations</source>
- <translation>конфліктує з транзакцією із %1 підтвердженнями</translation>
+ <translation>conflicted with a transaction with %1 confirmations</translation>
</message>
<message>
<source>0/unconfirmed, %1</source>
- <translation>0/не підтверджено, %1</translation>
+ <translation>0/unconfirmed, %1</translation>
</message>
<message>
<source>in memory pool</source>
- <translation>в пулі пам'яті</translation>
+ <translation>in memory pool</translation>
</message>
<message>
<source>not in memory pool</source>
- <translation>не в пулі пам'яті</translation>
+ <translation>not in memory pool</translation>
</message>
<message>
<source>abandoned</source>
- <translation>відкинуто</translation>
+ <translation>abandoned</translation>
</message>
<message>
<source>%1/unconfirmed</source>
- <translation>%1/не підтверджено</translation>
+ <translation>%1/unconfirmed</translation>
</message>
<message>
<source>%1 confirmations</source>
- <translation>%1 підтверджень</translation>
+ <translation>%1 confirmations</translation>
</message>
<message>
<source>Status</source>
- <translation>Статут</translation>
+ <translation>Status</translation>
</message>
<message>
<source>Date</source>
- <translation>Дата</translation>
+ <translation>Date</translation>
</message>
<message>
<source>Source</source>
- <translation>Джерело</translation>
+ <translation>Source</translation>
</message>
<message>
<source>Generated</source>
- <translation>Згенеровано</translation>
+ <translation>Generated</translation>
</message>
<message>
<source>From</source>
- <translation>Від</translation>
+ <translation>From</translation>
</message>
<message>
<source>unknown</source>
- <translation>невідомо</translation>
+ <translation>unknown</translation>
</message>
<message>
<source>To</source>
- <translation>Отримувач</translation>
+ <translation>To</translation>
</message>
<message>
<source>own address</source>
- <translation>Власна адреса</translation>
+ <translation>own address</translation>
</message>
<message>
<source>watch-only</source>
- <translation>тільки спостереження</translation>
+ <translation>watch-only</translation>
</message>
<message>
<source>label</source>
- <translation>мітка</translation>
+ <translation>label</translation>
</message>
<message>
<source>Credit</source>
- <translation>Кредит</translation>
+ <translation>Credit</translation>
</message>
<message numerus="yes">
<source>matures in %n more block(s)</source>
- <translation><numerusform>дозріє через %n блок</numerusform><numerusform>дозріє через %n блоків</numerusform><numerusform>дозріє через %n блоків</numerusform><numerusform>дозріє через %n блоків</numerusform></translation>
+ <translation><numerusform>matures in %n more block</numerusform><numerusform>matures in %n more blocks</numerusform><numerusform>matures in %n more blocks</numerusform><numerusform>matures in %n more blocks</numerusform></translation>
</message>
<message>
<source>not accepted</source>
- <translation>не прийнято</translation>
+ <translation>not accepted</translation>
</message>
<message>
<source>Debit</source>
- <translation>Дебет</translation>
+ <translation>Debit</translation>
</message>
<message>
<source>Total debit</source>
- <translation>Загальний дебет</translation>
+ <translation>Total debit</translation>
</message>
<message>
<source>Total credit</source>
- <translation>Загальний кредит</translation>
+ <translation>Total credit</translation>
</message>
<message>
<source>Transaction fee</source>
- <translation>Комісія за транзакцію</translation>
+ <translation>Transaction fee</translation>
</message>
<message>
<source>Net amount</source>
- <translation>Загальна сума</translation>
+ <translation>Net amount</translation>
</message>
<message>
<source>Message</source>
- <translation>Повідомлення</translation>
+ <translation>Message</translation>
</message>
<message>
<source>Comment</source>
- <translation>Коментар</translation>
+ <translation>Comment</translation>
</message>
<message>
<source>Transaction ID</source>
- <translation>ID транзакції</translation>
+ <translation>Transaction ID</translation>
</message>
<message>
<source>Transaction total size</source>
- <translation>Розмір транзакції</translation>
+ <translation>Transaction total size</translation>
</message>
<message>
<source>Transaction virtual size</source>
- <translation>Віртуальний розмір транзакції</translation>
+ <translation>Transaction virtual size</translation>
</message>
<message>
<source>Output index</source>
- <translation>Вихідний індекс</translation>
+ <translation>Output index</translation>
</message>
<message>
<source> (Certificate was not verified)</source>
- <translation>(Сертифікат не підтверджено)</translation>
+ <translation> (Certificate was not verified)</translation>
</message>
<message>
<source>Merchant</source>
- <translation>Продавець</translation>
+ <translation>Merchant</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>Згенеровані монети стануть доступні для використання після %1 підтверджень. Коли ви згенерували цей блок, його було відправлено в мережу для внесення до ланцюжку блоків. Якщо блок не буде додано до ланцюжку блоків, його статус зміниться на «не підтверджено», і згенеровані монети неможливо буде витратити. Таке часом трапляється, якщо хтось згенерував інший блок на декілька секунд раніше.</translation>
+ <translation>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.</translation>
</message>
<message>
<source>Debug information</source>
- <translation>Налагоджувальна інформація</translation>
+ <translation>Debug information</translation>
</message>
<message>
<source>Transaction</source>
- <translation>Транзакція</translation>
+ <translation>Transaction</translation>
</message>
<message>
<source>Inputs</source>
- <translation>Входи</translation>
+ <translation>Inputs</translation>
</message>
<message>
<source>Amount</source>
- <translation>Кількість</translation>
+ <translation>Amount</translation>
</message>
<message>
<source>true</source>
- <translation>вірний</translation>
+ <translation>true</translation>
</message>
<message>
<source>false</source>
- <translation>хибний</translation>
+ <translation>false</translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
<source>This pane shows a detailed description of the transaction</source>
- <translation>Даний діалог показує детальну статистику по вибраній транзакції</translation>
+ <translation>This pane shows a detailed description of the transaction</translation>
</message>
<message>
<source>Details for %1</source>
- <translation>Інформація по %1</translation>
+ <translation>Details for %1</translation>
</message>
</context>
<context>
<name>TransactionTableModel</name>
<message>
<source>Date</source>
- <translation>Дата</translation>
+ <translation>Date</translation>
</message>
<message>
<source>Type</source>
- <translation>Тип</translation>
+ <translation>Type</translation>
</message>
<message>
<source>Label</source>
- <translation>Мітка</translation>
+ <translation>Label</translation>
</message>
<message numerus="yes">
<source>Open for %n more block(s)</source>
- <translation><numerusform>Відкрито на %n блок</numerusform><numerusform>Відкрито на %n блоків</numerusform><numerusform>Відкрито на %n блоків</numerusform><numerusform>Відкрито на %n блоків</numerusform></translation>
+ <translation><numerusform>Open for %n more block</numerusform><numerusform>Open for %n more blocks</numerusform><numerusform>Open for %n more blocks</numerusform><numerusform>Open for %n more blocks</numerusform></translation>
</message>
<message>
<source>Open until %1</source>
- <translation>Відкрито до %1</translation>
+ <translation>Open until %1</translation>
</message>
<message>
<source>Unconfirmed</source>
- <translation>Не підтверджено</translation>
+ <translation>Unconfirmed</translation>
</message>
<message>
<source>Abandoned</source>
- <translation>Відкинуті</translation>
+ <translation>Abandoned</translation>
</message>
<message>
<source>Confirming (%1 of %2 recommended confirmations)</source>
- <translation>Підтверджується (%1 з %2 рекомендованих підтверджень)</translation>
+ <translation>Confirming (%1 of %2 recommended confirmations)</translation>
</message>
<message>
<source>Confirmed (%1 confirmations)</source>
- <translation>Підтверджено (%1 підтверджень)</translation>
+ <translation>Confirmed (%1 confirmations)</translation>
</message>
<message>
<source>Conflicted</source>
- <translation>Суперечить</translation>
+ <translation>Conflicted</translation>
</message>
<message>
<source>Immature (%1 confirmations, will be available after %2)</source>
- <translation>Повністтю не підтверджено (%1 підтверджень, будуть доступні після %2)</translation>
+ <translation>Immature (%1 confirmations, will be available after %2)</translation>
</message>
<message>
<source>Generated but not accepted</source>
- <translation>Згенеровано (не підтверджено)</translation>
+ <translation>Generated but not accepted</translation>
</message>
<message>
<source>Received with</source>
- <translation>Отримано з</translation>
+ <translation>Received with</translation>
</message>
<message>
<source>Received from</source>
- <translation>Отримано від</translation>
+ <translation>Received from</translation>
</message>
<message>
<source>Sent to</source>
- <translation>Відправлені на</translation>
+ <translation>Sent to</translation>
</message>
<message>
<source>Payment to yourself</source>
- <translation>Відправлено собі</translation>
+ <translation>Payment to yourself</translation>
</message>
<message>
<source>Mined</source>
- <translation>Добуто</translation>
+ <translation>Mined</translation>
</message>
<message>
<source>watch-only</source>
- <translation>тільки спостереження</translation>
+ <translation>watch-only</translation>
</message>
<message>
<source>(n/a)</source>
- <translation>(н/д)</translation>
+ <translation>(n/a)</translation>
</message>
<message>
<source>(no label)</source>
- <translation>(без мітки)</translation>
+ <translation>(no label)</translation>
</message>
<message>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
- <translation>Статус транзакції. Наведіть вказівник на це поле, щоб показати кількість підтверджень.</translation>
+ <translation>Transaction status. Hover over this field to show number of confirmations.</translation>
</message>
<message>
<source>Date and time that the transaction was received.</source>
- <translation>Дата і час, коли транзакцію було отримано.</translation>
+ <translation>Date and time that the transaction was received.</translation>
</message>
<message>
<source>Type of transaction.</source>
- <translation>Тип транзакції.</translation>
+ <translation>Type of transaction.</translation>
</message>
<message>
<source>Whether or not a watch-only address is involved in this transaction.</source>
- <translation>Чи було залучено адресу для спостереження в цій транзакції.</translation>
+ <translation>Whether or not a watch-only address is involved in this transaction.</translation>
</message>
<message>
<source>User-defined intent/purpose of the transaction.</source>
- <translation>Визначений користувачем намір чи мета транзакції.</translation>
+ <translation>User-defined intent/purpose of the transaction.</translation>
</message>
<message>
<source>Amount removed from or added to balance.</source>
- <translation>Сума, додана чи знята з балансу.</translation>
+ <translation>Amount removed from or added to balance.</translation>
</message>
</context>
<context>
<name>TransactionView</name>
<message>
<source>All</source>
- <translation>Всі</translation>
+ <translation>All</translation>
</message>
<message>
<source>Today</source>
- <translation>Сьогодні</translation>
+ <translation>Today</translation>
</message>
<message>
<source>This week</source>
- <translation>На цьому тижні</translation>
+ <translation>This week</translation>
</message>
<message>
<source>This month</source>
- <translation>Цього місяця</translation>
+ <translation>This month</translation>
</message>
<message>
<source>Last month</source>
- <translation>Минулого місяця</translation>
+ <translation>Last month</translation>
</message>
<message>
<source>This year</source>
- <translation>Цього року</translation>
+ <translation>This year</translation>
</message>
<message>
<source>Range...</source>
- <translation>Діапазон від:</translation>
+ <translation>Range...</translation>
</message>
<message>
<source>Received with</source>
- <translation>Отримано з</translation>
+ <translation>Received with</translation>
</message>
<message>
<source>Sent to</source>
- <translation>Відправлені на</translation>
+ <translation>Sent to</translation>
</message>
<message>
<source>To yourself</source>
- <translation>Відправлені собі</translation>
+ <translation>To yourself</translation>
</message>
<message>
<source>Mined</source>
- <translation>Добуті</translation>
+ <translation>Mined</translation>
</message>
<message>
<source>Other</source>
- <translation>Інше</translation>
+ <translation>Other</translation>
</message>
<message>
<source>Enter address, transaction id, or label to search</source>
- <translation>Введіть адресу, ідентифікатор транзакції або мітку для пошуку</translation>
+ <translation>Enter address, transaction id, or label to search</translation>
</message>
<message>
<source>Min amount</source>
- <translation>Мінімальна сума</translation>
+ <translation>Min amount</translation>
</message>
<message>
<source>Abandon transaction</source>
- <translation>Відмовитися від транзакції</translation>
+ <translation>Abandon transaction</translation>
</message>
<message>
<source>Increase transaction fee</source>
- <translation>Збільшить плату за транзакцію</translation>
+ <translation>Increase transaction fee</translation>
</message>
<message>
<source>Copy address</source>
- <translation>Скопіювати адресу</translation>
+ <translation>Copy address</translation>
</message>
<message>
<source>Copy label</source>
- <translation>Скопіювати мітку</translation>
+ <translation>Copy label</translation>
</message>
<message>
<source>Copy amount</source>
- <translation>Скопіювати суму</translation>
+ <translation>Copy amount</translation>
</message>
<message>
<source>Copy transaction ID</source>
- <translation>Скопіювати ID транзакції</translation>
+ <translation>Copy transaction ID</translation>
</message>
<message>
<source>Copy raw transaction</source>
- <translation>Скопіювати RAW транзакцію</translation>
+ <translation>Copy raw transaction</translation>
</message>
<message>
<source>Copy full transaction details</source>
- <translation>Скопіювати повні деталі транзакції</translation>
+ <translation>Copy full transaction details</translation>
</message>
<message>
<source>Edit label</source>
- <translation>Редагувати мітку</translation>
+ <translation>Edit label</translation>
</message>
<message>
<source>Show transaction details</source>
- <translation>Показати деталі транзакції</translation>
+ <translation>Show transaction details</translation>
</message>
<message>
<source>Export Transaction History</source>
- <translation>Експортувати історію транзакцій</translation>
+ <translation>Export Transaction History</translation>
</message>
<message>
<source>Comma separated file (*.csv)</source>
- <translation>Файли (*.csv) розділені комами</translation>
+ <translation>Comma separated file (*.csv)</translation>
</message>
<message>
<source>Confirmed</source>
- <translation>Підтверджено</translation>
+ <translation>Confirmed</translation>
</message>
<message>
<source>Watch-only</source>
- <translation>Тільки спостереження:</translation>
+ <translation>Watch-only</translation>
</message>
<message>
<source>Date</source>
- <translation>Дата</translation>
+ <translation>Date</translation>
</message>
<message>
<source>Type</source>
- <translation>Тип</translation>
+ <translation>Type</translation>
</message>
<message>
<source>Label</source>
- <translation>Мітка</translation>
+ <translation>Label</translation>
</message>
<message>
<source>Address</source>
- <translation>Адреса</translation>
+ <translation>Address</translation>
</message>
<message>
<source>ID</source>
- <translation>Ідентифікатор</translation>
+ <translation>ID</translation>
</message>
<message>
<source>Exporting Failed</source>
- <translation>Помилка експорту</translation>
+ <translation>Exporting Failed</translation>
</message>
<message>
<source>There was an error trying to save the transaction history to %1.</source>
- <translation>Виникла помилка при спробі зберегти історію транзакцій до %1.</translation>
+ <translation>There was an error trying to save the transaction history to %1.</translation>
</message>
<message>
<source>Exporting Successful</source>
- <translation>Експортовано успішно</translation>
+ <translation>Exporting Successful</translation>
</message>
<message>
<source>The transaction history was successfully saved to %1.</source>
- <translation>Історію транзакцій було успішно збережено до %1.</translation>
+ <translation>The transaction history was successfully saved to %1.</translation>
</message>
<message>
<source>Range:</source>
- <translation>Діапазон:</translation>
+ <translation>Range:</translation>
</message>
<message>
<source>to</source>
- <translation>до</translation>
+ <translation>to</translation>
</message>
</context>
<context>
<name>UnitDisplayStatusBarControl</name>
<message>
<source>Unit to show amounts in. Click to select another unit.</source>
- <translation>Одиниця виміру монет. Натисніть для вибору іншої.</translation>
+ <translation>Unit to show amounts in. Click to select another unit.</translation>
</message>
</context>
<context>
<name>WalletController</name>
<message>
<source>Close wallet</source>
- <translation>Закрити гаманець</translation>
+ <translation>Close wallet</translation>
</message>
<message>
<source>Are you sure you wish to close the wallet &lt;i&gt;%1&lt;/i&gt;?</source>
- <translation>Ви впевнені, що хочете закрити гаманець &lt;i&gt;%1&lt;/i&gt;?</translation>
+ <translation>Are you sure you wish to close the wallet &lt;i&gt;%1&lt;/i&gt;?</translation>
</message>
<message>
<source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
- <translation>Якщо занадто довго закривати гаманець, це може призвести до необхідності повторної синхронізації всієї ланцюга, якщо ввімкнено обрізку.</translation>
+ <translation>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</translation>
</message>
<message>
<source>Close all wallets</source>
- <translation>Закрити всі гаманці</translation>
+ <translation>Close all wallets</translation>
</message>
<message>
<source>Are you sure you wish to close all wallets?</source>
- <translation>Ви впевнені, що хочете закрити всі гаманці?</translation>
+ <translation>Are you sure you wish to close all wallets?</translation>
</message>
</context>
<context>
@@ -3398,689 +3406,692 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
<source>No wallet has been loaded.
Go to File &gt; Open Wallet to load a wallet.
- OR -</source>
- <translation>Жоден гаманець не завантажений. Перейдіть у меню Файл&gt; Відкрити гаманець, щоб завантажити гаманець. - АБО -</translation>
+ <translation>No wallet has been loaded.
+Go to File &gt; Open Wallet to load a wallet.
+- OR -</translation>
</message>
<message>
<source>Create a new wallet</source>
- <translation>Створити новий гаманець</translation>
+ <translation>Create a new wallet</translation>
</message>
</context>
<context>
<name>WalletModel</name>
<message>
<source>Send Coins</source>
- <translation>Відправити Монети</translation>
+ <translation>Send Coins</translation>
</message>
<message>
<source>Fee bump error</source>
- <translation>Помилка штурхання комісії</translation>
+ <translation>Fee bump error</translation>
</message>
<message>
<source>Increasing transaction fee failed</source>
- <translation>Підвищення комісії за транзакцію не виконано</translation>
+ <translation>Increasing transaction fee failed</translation>
</message>
<message>
<source>Do you want to increase the fee?</source>
- <translation>Ви бажаєте збільшити комісію?</translation>
+ <translation>Do you want to increase the fee?</translation>
</message>
<message>
<source>Do you want to draft a transaction with fee increase?</source>
- <translation>Ви бажаєте збільшити комісію?</translation>
+ <translation>Do you want to draft a transaction with fee increase?</translation>
</message>
<message>
<source>Current fee:</source>
- <translation>Поточна комісія:</translation>
+ <translation>Current fee:</translation>
</message>
<message>
<source>Increase:</source>
- <translation>Збільшити:</translation>
+ <translation>Increase:</translation>
</message>
<message>
<source>New fee:</source>
- <translation>Нова комісія:</translation>
+ <translation>New fee:</translation>
</message>
<message>
<source>Confirm fee bump</source>
- <translation>Підтвердити штурхання комісії</translation>
+ <translation>Confirm fee bump</translation>
</message>
<message>
<source>Can't draft transaction.</source>
- <translation>Неможливо скласти транзакцію.</translation>
+ <translation>Can't draft transaction.</translation>
</message>
<message>
<source>PSBT copied</source>
- <translation>PSBT скопійовано</translation>
+ <translation>PSBT copied</translation>
</message>
<message>
<source>Can't sign transaction.</source>
- <translation>Не можливо підписати транзакцію.</translation>
+ <translation>Can't sign transaction.</translation>
</message>
<message>
<source>Could not commit transaction</source>
- <translation>Не вдалось виконати транзакцію</translation>
+ <translation>Could not commit transaction</translation>
</message>
<message>
<source>default wallet</source>
- <translation>типовий гаманець</translation>
+ <translation>default wallet</translation>
</message>
</context>
<context>
<name>WalletView</name>
<message>
<source>&amp;Export</source>
- <translation>&amp;Експортувати</translation>
+ <translation>&amp;Export</translation>
</message>
<message>
<source>Export the data in the current tab to a file</source>
- <translation>Експортувати дані з поточної вкладки в файл</translation>
+ <translation>Export the data in the current tab to a file</translation>
</message>
<message>
<source>Error</source>
- <translation>Помилка</translation>
+ <translation>Error</translation>
</message>
<message>
<source>Unable to decode PSBT from clipboard (invalid base64)</source>
- <translation>Не вдається декодувати PSBT з буфера обміну (недійсний base64)</translation>
+ <translation>Unable to decode PSBT from clipboard (invalid base64)</translation>
</message>
<message>
<source>Load Transaction Data</source>
- <translation>Завантажити дані транзакції</translation>
+ <translation>Load Transaction Data</translation>
</message>
<message>
<source>Partially Signed Transaction (*.psbt)</source>
- <translation>Частково підписана транзакція (* .psbt)</translation>
+ <translation>Partially Signed Transaction (*.psbt)</translation>
</message>
<message>
<source>PSBT file must be smaller than 100 MiB</source>
- <translation>Файл PSBT повинен бути менше 100 Мб</translation>
+ <translation>PSBT file must be smaller than 100 MiB</translation>
</message>
<message>
<source>Unable to decode PSBT</source>
- <translation>Не вдається декодувати PSBT</translation>
+ <translation>Unable to decode PSBT</translation>
</message>
<message>
<source>Backup Wallet</source>
- <translation>Зробити резервне копіювання гаманця</translation>
+ <translation>Backup Wallet</translation>
</message>
<message>
<source>Wallet Data (*.dat)</source>
- <translation>Данi гаманця (*.dat)</translation>
+ <translation>Wallet Data (*.dat)</translation>
</message>
<message>
<source>Backup Failed</source>
- <translation>Помилка резервного копіювання</translation>
+ <translation>Backup Failed</translation>
</message>
<message>
<source>There was an error trying to save the wallet data to %1.</source>
- <translation>Виникла помилка при спробі зберегти дані гаманця до %1.</translation>
+ <translation>There was an error trying to save the wallet data to %1.</translation>
</message>
<message>
<source>Backup Successful</source>
- <translation>Резервну копію створено успішно</translation>
+ <translation>Backup Successful</translation>
</message>
<message>
<source>The wallet data was successfully saved to %1.</source>
- <translation>Дані гаманця успішно збережено в %1.</translation>
+ <translation>The wallet data was successfully saved to %1.</translation>
</message>
<message>
<source>Cancel</source>
- <translation>Скасувати</translation>
+ <translation>Cancel</translation>
</message>
</context>
<context>
<name>bitcoin-core</name>
<message>
<source>Distributed under the MIT software license, see the accompanying file %s or %s</source>
- <translation>Розповсюджується за ліцензією на програмне забезпечення MIT, дивіться супровідний файл %s або %s</translation>
+ <translation>Distributed under the MIT software license, see the accompanying file %s or %s</translation>
</message>
<message>
<source>Prune configured below the minimum of %d MiB. Please use a higher number.</source>
- <translation>Встановлений розмір ланцюжка блоків є замалим (меншим за %d МіБ). Будь ласка, виберіть більше число.</translation>
+ <translation>Prune configured below the minimum of %d MiB. Please use a higher number.</translation>
</message>
<message>
<source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source>
- <translation>Операція відсікання: остання синхронізація вмісту гаманцю не обмежується діями над скороченими данними. Вам необхідно зробити переіндексацію -reindex (заново завантажити веcь ланцюжок блоків в разі появи скороченого ланцюга)</translation>
+ <translation>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</translation>
</message>
<message>
<source>Pruning blockstore...</source>
- <translation>Скорочення кількості блоків...</translation>
+ <translation>Pruning blockstore...</translation>
</message>
<message>
<source>Unable to start HTTP server. See debug log for details.</source>
- <translation>Неможливо запустити HTTP-сервер. Детальніший опис наведено в журналі зневадження.</translation>
+ <translation>Unable to start HTTP server. See debug log for details.</translation>
</message>
<message>
<source>The %s developers</source>
- <translation>Розробники %s</translation>
+ <translation>The %s developers</translation>
</message>
<message>
<source>Cannot obtain a lock on data directory %s. %s is probably already running.</source>
- <translation>Неможливо блокувати каталог даних %s. %s, ймовірно, вже працює.</translation>
+ <translation>Cannot obtain a lock on data directory %s. %s is probably already running.</translation>
</message>
<message>
<source>Cannot provide specific connections and have addrman find outgoing connections at the same.</source>
- <translation>Неможливо встановити визначені з'єднання і одночасно використовувати addrman для встановлення вихідних з'єднань.</translation>
+ <translation>Cannot provide specific connections and have addrman find outgoing connections at the same.</translation>
</message>
<message>
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
- <translation>Помилка читання %s! Всі ключі зчитано правильно, але записи в адресній книзі, або дані транзакцій можуть бути відсутніми чи невірними.</translation>
+ <translation>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</translation>
</message>
<message>
<source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
- <translation>Надано більше однієї адреси прив'язки служби Tor. Використання %s для автоматично створеної служби Tor.</translation>
+ <translation>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</translation>
</message>
<message>
<source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
- <translation>Перевірте правильність дати та часу комп'ютера. Якщо ваш годинник налаштовано невірно, %s не буде працювати належним чином.</translation>
+ <translation>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</translation>
</message>
<message>
<source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
- <translation>Будь ласка, зробіть внесок, якщо ви знаходите %s корисним. Відвідайте %s для отримання додаткової інформації про програмне забезпечення.</translation>
+ <translation>Please contribute if you find %s useful. Visit %s for further information about the software.</translation>
</message>
<message>
<source>SQLiteDatabase: Failed to prepare the statement to fetch sqlite wallet schema version: %s</source>
- <translation>SQLiteDatabase: Не вдалося підготувати оператор для отримання версії схеми гаманця: %s</translation>
+ <translation>SQLiteDatabase: Failed to prepare the statement to fetch sqlite wallet schema version: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Failed to prepare the statement to fetch the application id: %s</source>
- <translation>SQLiteDatabase: Не вдалося підготувати оператор для отримання ідентифікатора програми: %s</translation>
+ <translation>SQLiteDatabase: Failed to prepare the statement to fetch the application id: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
- <translation>SQLiteDatabase: Невідома версія схеми гаманця %d. Підтримується лише версія %d</translation>
+ <translation>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</translation>
</message>
<message>
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
- <translation>Схоже, що база даних блоків містить блок з майбутнього. Це може статися із-за некоректно встановленої дати та/або часу. Перебудовуйте базу даних блоків лише тоді, коли ви переконані, що встановлено правильну дату і час</translation>
+ <translation>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</translation>
</message>
<message>
<source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source>
- <translation>Це перед-релізна тестова збірка - використовуйте на свій власний ризик - не використовуйте для майнінгу або в торговельних додатках</translation>
+ <translation>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</translation>
</message>
<message>
<source>This is the transaction fee you may discard if change is smaller than dust at this level</source>
- <translation>Це комісія за транзакцію, яку ви можете відкинути, якщо решта менша, ніж пил на цьому рівні</translation>
+ <translation>This is the transaction fee you may discard if change is smaller than dust at this level</translation>
</message>
<message>
<source>Unable to replay blocks. You will need to rebuild the database using -reindex-chainstate.</source>
- <translation>Неможливо відтворити блоки. Вам потрібно буде перебудувати базу даних, використовуючи -reindex-chainstate.</translation>
+ <translation>Unable to replay blocks. You will need to rebuild the database using -reindex-chainstate.</translation>
</message>
<message>
<source>Unable to rewind the database to a pre-fork state. You will need to redownload the blockchain</source>
- <translation>Неможливо повернути базу даних в стан до розвилки. Вам потрібно буде перезавантажити ланцюжок блоків</translation>
+ <translation>Unable to rewind the database to a pre-fork state. You will need to redownload the blockchain</translation>
</message>
<message>
<source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source>
- <translation>Увага: Мережа, здається, не повністю погоджується! Деякі добувачі напевно зазнають проблем.</translation>
+ <translation>Warning: 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>Попередження: неможливо досягти консенсусу з підключеними вузлами! Вам, або іншим вузлам необхідно оновити програмне забезпечення.</translation>
+ <translation>Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade.</translation>
</message>
<message>
<source>-maxmempool must be at least %d MB</source>
- <translation>-maxmempool має бути не менше %d МБ</translation>
+ <translation>-maxmempool must be at least %d MB</translation>
</message>
<message>
<source>Cannot resolve -%s address: '%s'</source>
- <translation>Не можу вирішити -%s адресу: '%s'</translation>
+ <translation>Cannot resolve -%s address: '%s'</translation>
</message>
<message>
<source>Change index out of range</source>
- <translation>Індекс решти за межами діапазону</translation>
+ <translation>Change index out of range</translation>
</message>
<message>
<source>Config setting for %s only applied on %s network when in [%s] section.</source>
- <translation>Налаштування конфігурації %s застосовується лише для мережі %s у розділі [%s].</translation>
+ <translation>Config setting for %s only applied on %s network when in [%s] section.</translation>
</message>
<message>
<source>Copyright (C) %i-%i</source>
- <translation>Всі права збережено. %i-%i</translation>
+ <translation>Copyright (C) %i-%i</translation>
</message>
<message>
<source>Corrupted block database detected</source>
- <translation>Виявлено пошкоджений блок бази даних</translation>
+ <translation>Corrupted block database detected</translation>
</message>
<message>
<source>Could not find asmap file %s</source>
- <translation>Неможливо знайти asmap файл %s</translation>
+ <translation>Could not find asmap file %s</translation>
</message>
<message>
<source>Could not parse asmap file %s</source>
- <translation>Неможливо розібрати asmap файл %s</translation>
+ <translation>Could not parse asmap file %s</translation>
</message>
<message>
<source>Do you want to rebuild the block database now?</source>
- <translation>Ви хочете перебудувати базу даних блоків зараз?</translation>
+ <translation>Do you want to rebuild the block database now?</translation>
</message>
<message>
<source>Error initializing block database</source>
- <translation>Ошибка инициализации БД блоков</translation>
+ <translation>Error initializing block database</translation>
</message>
<message>
<source>Error initializing wallet database environment %s!</source>
- <translation>Помилка ініціалізації середовища бази даних гаманця %s!</translation>
+ <translation>Error initializing wallet database environment %s!</translation>
</message>
<message>
<source>Error loading %s</source>
- <translation>Помилка завантаження %s</translation>
+ <translation>Error loading %s</translation>
</message>
<message>
<source>Error loading %s: Private keys can only be disabled during creation</source>
- <translation>Помилка завантаження %s: Власні ключі можуть бути тільки вимкнені при створенні</translation>
+ <translation>Error loading %s: Private keys can only be disabled during creation</translation>
</message>
<message>
<source>Error loading %s: Wallet corrupted</source>
- <translation>Помилка завантаження %s: Гаманець пошкоджено</translation>
+ <translation>Error loading %s: Wallet corrupted</translation>
</message>
<message>
<source>Error loading %s: Wallet requires newer version of %s</source>
- <translation>Помилка завантаження %s: Гаманець потребує новішої версії %s</translation>
+ <translation>Error loading %s: Wallet requires newer version of %s</translation>
</message>
<message>
<source>Error loading block database</source>
- <translation>Помилка завантаження бази даних блоків</translation>
+ <translation>Error loading block database</translation>
</message>
<message>
<source>Error opening block database</source>
- <translation>Помилка відкриття блоку бази даних</translation>
+ <translation>Error opening block database</translation>
</message>
<message>
<source>Failed to listen on any port. Use -listen=0 if you want this.</source>
- <translation>Не вдалося слухати на жодному порту. Використовуйте -listen=0, якщо ви хочете цього.</translation>
+ <translation>Failed to listen on any port. Use -listen=0 if you want this.</translation>
</message>
<message>
<source>Failed to rescan the wallet during initialization</source>
- <translation>Помилка пересканування гаманця під час ініціалізації</translation>
+ <translation>Failed to rescan the wallet during initialization</translation>
</message>
<message>
<source>Failed to verify database</source>
- <translation>Не вдалося перевірити базу даних</translation>
+ <translation>Failed to verify database</translation>
+ </message>
+ <message>
+ <source>Ignoring duplicate -wallet %s.</source>
+ <translation>Ignoring duplicate -wallet %s.</translation>
</message>
<message>
<source>Importing...</source>
- <translation>Імпорт...</translation>
+ <translation>Importing...</translation>
</message>
<message>
<source>Incorrect or no genesis block found. Wrong datadir for network?</source>
- <translation>Початковий блок некоректний/відсутній. Чи правильно вказано каталог даних для обраної мережі?</translation>
+ <translation>Incorrect or no genesis block found. Wrong datadir for network?</translation>
</message>
<message>
<source>Initialization sanity check failed. %s is shutting down.</source>
- <translation>Невдала перевірка правильності ініціалізації. %s закривається.</translation>
+ <translation>Initialization sanity check failed. %s is shutting down.</translation>
</message>
<message>
<source>Invalid P2P permission: '%s'</source>
- <translation>Помилка P2P доступу: '%s'</translation>
+ <translation>Invalid P2P permission: '%s'</translation>
</message>
<message>
<source>Invalid amount for -%s=&lt;amount&gt;: '%s'</source>
- <translation>Невірна сума -%s=&lt;amount&gt;: '%s'</translation>
+ <translation>Invalid amount for -%s=&lt;amount&gt;: '%s'</translation>
</message>
<message>
<source>Invalid amount for -discardfee=&lt;amount&gt;: '%s'</source>
- <translation>Невірна сума для -discardfee=&lt;amount&gt;: '%s'</translation>
+ <translation>Invalid amount for -discardfee=&lt;amount&gt;: '%s'</translation>
</message>
<message>
<source>Invalid amount for -fallbackfee=&lt;amount&gt;: '%s'</source>
- <translation>Невірна сума для зарезервованої комісії -fallbackfee=&lt;amount&gt;: '%s'</translation>
+ <translation>Invalid amount for -fallbackfee=&lt;amount&gt;: '%s'</translation>
</message>
<message>
<source>SQLiteDatabase: Failed to execute statement to verify database: %s</source>
- <translation>SQLiteDatabase: Не вдалося виконати оператор для перевірки бази даних: %s</translation>
+ <translation>SQLiteDatabase: Failed to execute statement to verify database: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Failed to fetch sqlite wallet schema version: %s</source>
- <translation>QLiteDatabase: Не вдалося отримати версію схеми гаманця: %s</translation>
+ <translation>SQLiteDatabase: Failed to fetch sqlite wallet schema version: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Failed to fetch the application id: %s</source>
- <translation>SQLiteDatabase: Не вдалося отримати ідентифікатор програми: %s</translation>
+ <translation>SQLiteDatabase: Failed to fetch the application id: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Failed to prepare statement to verify database: %s</source>
- <translation>SQLiteDatabase: Не вдалося підготувати оператор для перевірки бази даних: %s</translation>
+ <translation>SQLiteDatabase: Failed to prepare statement to verify database: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Failed to read database verification error: %s</source>
- <translation>SQLiteDatabase: Не вдалося прочитати помилку перевірки бази даних: %s</translation>
+ <translation>SQLiteDatabase: Failed to read database verification error: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Unexpected application id. Expected %u, got %u</source>
- <translation>SQLiteDatabase: Несподіваний ідентифікатор програми. Очікується %u, отримано %u</translation>
+ <translation>SQLiteDatabase: Unexpected application id. Expected %u, got %u</translation>
</message>
<message>
<source>Specified blocks directory "%s" does not exist.</source>
- <translation>Зазначений каталог блоків "%s" не існує.</translation>
+ <translation>Specified blocks directory "%s" does not exist.</translation>
</message>
<message>
<source>Unknown address type '%s'</source>
- <translation>Невідомий тип адреси '%s'</translation>
+ <translation>Unknown address type '%s'</translation>
</message>
<message>
<source>Unknown change type '%s'</source>
- <translation>Невідомий тип решти '%s'</translation>
+ <translation>Unknown change type '%s'</translation>
</message>
<message>
<source>Upgrading txindex database</source>
- <translation>Оновлення txindex бази</translation>
+ <translation>Upgrading txindex database</translation>
</message>
<message>
<source>Loading P2P addresses...</source>
- <translation>Завантаження P2P адрес...</translation>
+ <translation>Loading P2P addresses...</translation>
</message>
<message>
<source>Loading banlist...</source>
- <translation>Завантаження бан-списку...</translation>
+ <translation>Loading banlist...</translation>
</message>
<message>
<source>Not enough file descriptors available.</source>
- <translation>Бракує доступних дескрипторів файлів.</translation>
+ <translation>Not enough file descriptors available.</translation>
</message>
<message>
<source>Prune cannot be configured with a negative value.</source>
- <translation>Розмір скороченого ланцюжка блоків не може бути від'ємним.</translation>
+ <translation>Prune cannot be configured with a negative value.</translation>
</message>
<message>
<source>Prune mode is incompatible with -txindex.</source>
- <translation>Використання скороченого ланцюжка блоків несумісне з параметром -txindex.</translation>
+ <translation>Prune mode is incompatible with -txindex.</translation>
</message>
<message>
<source>Replaying blocks...</source>
- <translation>Відтворення блоків...</translation>
+ <translation>Replaying blocks...</translation>
</message>
<message>
<source>Rewinding blocks...</source>
- <translation>Перетворювання блоків...</translation>
+ <translation>Rewinding blocks...</translation>
</message>
<message>
<source>The source code is available from %s.</source>
- <translation>Вихідний код доступний з %s.</translation>
+ <translation>The source code is available from %s.</translation>
</message>
<message>
<source>Transaction fee and change calculation failed</source>
- <translation>Не вдалось розрахувати обсяг комісії за транзакцію та решти</translation>
+ <translation>Transaction fee and change calculation failed</translation>
</message>
<message>
<source>Unable to bind to %s on this computer. %s is probably already running.</source>
- <translation>Неможливо прив'язати %s на цьому комп'ютері. %s, ймовірно, вже працює.</translation>
+ <translation>Unable to bind to %s on this computer. %s is probably already running.</translation>
</message>
<message>
<source>Unable to generate keys</source>
- <translation>Не вдається створити ключі</translation>
+ <translation>Unable to generate keys</translation>
</message>
<message>
<source>Unsupported logging category %s=%s.</source>
- <translation>Непідтримувана категорія ведення журналу %s=%s.</translation>
+ <translation>Unsupported logging category %s=%s.</translation>
</message>
<message>
<source>Upgrading UTXO database</source>
- <translation>Оновлення бази даних UTXO</translation>
+ <translation>Upgrading UTXO database</translation>
</message>
<message>
<source>User Agent comment (%s) contains unsafe characters.</source>
- <translation>Коментар до Клієнта Користувача (%s) містить небезпечні символи.</translation>
+ <translation>User Agent comment (%s) contains unsafe characters.</translation>
</message>
<message>
<source>Verifying blocks...</source>
- <translation>Перевірка блоків...</translation>
+ <translation>Verifying blocks...</translation>
</message>
<message>
<source>Wallet needed to be rewritten: restart %s to complete</source>
- <translation>Гаманець вимагав перезапису: перезавантажте %s для завершення</translation>
+ <translation>Wallet needed to be rewritten: restart %s to complete</translation>
</message>
<message>
<source>Error: Listening for incoming connections failed (listen returned error %s)</source>
- <translation>Помилка: Не вдалося налаштувати прослуховування вхідних підключень (listen повернув помилку: %s)</translation>
+ <translation>Error: Listening for incoming connections failed (listen returned error %s)</translation>
</message>
<message>
<source>%s corrupt. Try using the wallet tool bitcoin-wallet to salvage or restoring a backup.</source>
- <translation>%s пошкоджено. Спробуйте скористатися інструментом гаманця bitcoin-wallet для відновлення або відновлення резервної копії.</translation>
+ <translation>%s corrupt. Try using the wallet tool bitcoin-wallet to salvage or restoring a backup.</translation>
</message>
<message>
<source>Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use version 169900 or no version specified.</source>
- <translation>Неможливо оновити спліт-гаманець, що не є HD, без оновлення, щоб підтримати попередньо розділений пул ключів. Будь ласка, використовуйте версію 169900 або не вказану версію.</translation>
+ <translation>Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use version 169900 or no version specified.</translation>
</message>
<message>
<source>Invalid amount for -maxtxfee=&lt;amount&gt;: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source>
- <translation>Неприпустима сума для -maxtxfee = &lt;amount&gt;: «%s» ( плата повинна бути, принаймні %s, щоб запобігти зависанню транзакцій)</translation>
+ <translation>Invalid amount for -maxtxfee=&lt;amount&gt;: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</translation>
</message>
<message>
<source>The transaction amount is too small to send after the fee has been deducted</source>
- <translation>Залишок від суми транзакції зі сплатою комісії занадто малий</translation>
+ <translation>The transaction amount is too small to send after the fee has been deducted</translation>
</message>
<message>
<source>This error could occur if this wallet was not shutdown cleanly and was last loaded using a build with a newer version of Berkeley DB. If so, please use the software that last loaded this wallet</source>
- <translation>Ця помилка може статися, якщо цей гаманець не було чисто вимкнено і востаннє завантажений за допомогою збірки з новою версією Berkeley DB. Якщо так, будь ласка, використовуйте програмне забезпечення, яке востаннє завантажувало цей гаманець</translation>
+ <translation>This error could occur if this wallet was not shutdown cleanly and was last loaded using a build with a newer version of Berkeley DB. If so, please use the software that last loaded this wallet</translation>
</message>
<message>
<source>This is the maximum transaction fee you pay (in addition to the normal fee) to prioritize partial spend avoidance over regular coin selection.</source>
- <translation>Це максимальна комісія за транзакцію, яку ви сплачуєте (на додаток до звичайної комісії), щоб надавати пріоритет частковому уникненню витрат перед регулярним вибором монет.</translation>
+ <translation>This is the maximum transaction fee you pay (in addition to the normal fee) to prioritize partial spend avoidance over regular coin selection.</translation>
</message>
<message>
<source>Transaction needs a change address, but we can't generate it. Please call keypoolrefill first.</source>
- <translation>Транзакція потребує наявності адреси для отримання решти, але ми не змогли її згенерувати. Будь ласка, спочатку виконайте регенерацію пулу ключів.</translation>
+ <translation>Transaction needs a change address, but we can't generate it. Please call keypoolrefill first.</translation>
</message>
<message>
<source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source>
- <translation>Вам необхідно перебудувати базу даних з використанням -reindex для завантаження повного ланцюжка блоків.</translation>
+ <translation>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</translation>
</message>
<message>
<source>A fatal internal error occurred, see debug.log for details</source>
- <translation>Виникла фатальна внутрішня помилка, див. debug.log для деталей</translation>
+ <translation>A fatal internal error occurred, see debug.log for details</translation>
</message>
<message>
<source>Cannot set -peerblockfilters without -blockfilterindex.</source>
- <translation>Неможливо встановити -peerblockfilters без -blockfilterindex.</translation>
+ <translation>Cannot set -peerblockfilters without -blockfilterindex.</translation>
</message>
<message>
<source>Disk space is too low!</source>
- <translation>Місця на диску занадто мало!</translation>
+ <translation>Disk space is too low!</translation>
</message>
<message>
<source>Error reading from database, shutting down.</source>
- <translation>Помилка читання бази даних, припиняю роботу.</translation>
+ <translation>Error reading from database, shutting down.</translation>
</message>
<message>
<source>Error upgrading chainstate database</source>
- <translation>Помилка оновлення бази даних стану ланцюжка</translation>
+ <translation>Error upgrading chainstate database</translation>
</message>
<message>
<source>Error: Disk space is low for %s</source>
- <translation>Помилка: для %s бракує місця на диску</translation>
+ <translation>Error: Disk space is low for %s</translation>
</message>
<message>
<source>Error: Keypool ran out, please call keypoolrefill first</source>
- <translation>Помилка: Пул ключів закінчився, потрібно викликати keypoolrefill вдруге</translation>
+ <translation>Error: Keypool ran out, please call keypoolrefill first</translation>
</message>
<message>
<source>Fee rate (%s) is lower than the minimum fee rate setting (%s)</source>
- <translation>Ставка комісії (%s) нижча за встановлену мінімальну ставку комісії (%s)</translation>
+ <translation>Fee rate (%s) is lower than the minimum fee rate setting (%s)</translation>
</message>
<message>
<source>Invalid -onion address or hostname: '%s'</source>
- <translation>Невірна -onion адреса або ім'я хоста: '%s'</translation>
+ <translation>Invalid -onion address or hostname: '%s'</translation>
</message>
<message>
<source>Invalid -proxy address or hostname: '%s'</source>
- <translation>Невірна -proxy адреса або ім'я хоста: '%s'</translation>
+ <translation>Invalid -proxy address or hostname: '%s'</translation>
</message>
<message>
<source>Invalid amount for -paytxfee=&lt;amount&gt;: '%s' (must be at least %s)</source>
- <translation>Вказано некоректну суму для параметру -paytxfee: «%s» (повинно бути щонайменше %s)</translation>
+ <translation>Invalid amount for -paytxfee=&lt;amount&gt;: '%s' (must be at least %s)</translation>
</message>
<message>
<source>Invalid netmask specified in -whitelist: '%s'</source>
- <translation>Вказано неправильну маску підмережі для -whitelist: «%s»</translation>
+ <translation>Invalid netmask specified in -whitelist: '%s'</translation>
</message>
<message>
<source>Need to specify a port with -whitebind: '%s'</source>
- <translation>Необхідно вказати порт для -whitebind: «%s»</translation>
+ <translation>Need to specify a port with -whitebind: '%s'</translation>
</message>
<message>
<source>No proxy server specified. Use -proxy=&lt;ip&gt; or -proxy=&lt;ip:port&gt;.</source>
- <translation>Не вказано проксі-сервер. Використовуйте -проксі=&lt;ip&gt; або -проксі=&lt;ip:port&gt;.</translation>
+ <translation>No proxy server specified. Use -proxy=&lt;ip&gt; or -proxy=&lt;ip:port&gt;.</translation>
</message>
<message>
<source>Prune mode is incompatible with -blockfilterindex.</source>
- <translation>Використання скороченого ланцюжка блоків несумісне з параметром -blockfilterindex.</translation>
+ <translation>Prune mode is incompatible with -blockfilterindex.</translation>
</message>
<message>
<source>Reducing -maxconnections from %d to %d, because of system limitations.</source>
- <translation>Зменшення значення -maxconnections з %d до %d із-за обмежень системи.</translation>
+ <translation>Reducing -maxconnections from %d to %d, because of system limitations.</translation>
</message>
<message>
<source>Section [%s] is not recognized.</source>
- <translation>Розділ [%s] не розпізнано.</translation>
+ <translation>Section [%s] is not recognized.</translation>
</message>
<message>
<source>Signing transaction failed</source>
- <translation>Підписання транзакції не вдалося</translation>
+ <translation>Signing transaction failed</translation>
</message>
<message>
<source>Specified -walletdir "%s" does not exist</source>
- <translation>Вказаний каталог гаманця -walletdir "%s" не існує</translation>
+ <translation>Specified -walletdir "%s" does not exist</translation>
</message>
<message>
<source>Specified -walletdir "%s" is a relative path</source>
- <translation>Вказаний каталог гаманця -walletdir "%s" є відносним шляхом</translation>
+ <translation>Specified -walletdir "%s" is a relative path</translation>
</message>
<message>
<source>Specified -walletdir "%s" is not a directory</source>
- <translation>Вказаний шлях -walletdir "%s" не є каталогом</translation>
+ <translation>Specified -walletdir "%s" is not a directory</translation>
</message>
<message>
<source>The specified config file %s does not exist
</source>
- <translation>Зазначений файл конфігурації %s не існує</translation>
+ <translation>The specified config file %s does not exist
+</translation>
</message>
<message>
<source>The transaction amount is too small to pay the fee</source>
- <translation>Неможливо сплатити комісію із-за малої суми транзакції</translation>
+ <translation>The transaction amount is too small to pay the fee</translation>
</message>
<message>
<source>This is experimental software.</source>
- <translation>Це програмне забезпечення є експериментальним.</translation>
+ <translation>This is experimental software.</translation>
</message>
<message>
<source>Transaction amount too small</source>
- <translation>Сума транзакції занадто мала</translation>
+ <translation>Transaction amount too small</translation>
</message>
<message>
<source>Transaction too large</source>
- <translation>Транзакція занадто велика</translation>
+ <translation>Transaction too large</translation>
</message>
<message>
<source>Unable to bind to %s on this computer (bind returned error %s)</source>
- <translation>Неможливо прив'язатися до %s на цьому комп'ютері (bind повернув помилку: %s)</translation>
+ <translation>Unable to bind to %s on this computer (bind returned error %s)</translation>
</message>
<message>
<source>Unable to create the PID file '%s': %s</source>
- <translation>Неможливо створити PID файл '%s' :%s</translation>
+ <translation>Unable to create the PID file '%s': %s</translation>
</message>
<message>
<source>Unable to generate initial keys</source>
- <translation>Не вдається створити початкові ключі</translation>
+ <translation>Unable to generate initial keys</translation>
</message>
<message>
<source>Unknown -blockfilterindex value %s.</source>
- <translation>Невідоме значення -blockfilterindex %s.</translation>
+ <translation>Unknown -blockfilterindex value %s.</translation>
</message>
<message>
<source>Verifying wallet(s)...</source>
- <translation>Перевірка гаманця(ців)...</translation>
+ <translation>Verifying wallet(s)...</translation>
</message>
<message>
<source>Warning: unknown new rules activated (versionbit %i)</source>
- <translation>Попередження: активовано невідомі нові правила (versionbit %i)</translation>
+ <translation>Warning: unknown new rules activated (versionbit %i)</translation>
</message>
<message>
<source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source>
- <translation>Встановлено дуже велике значення -maxtxfee! Такі великі комісії можуть бути сплачені окремою транзакцією.</translation>
+ <translation>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</translation>
</message>
<message>
<source>This is the transaction fee you may pay when fee estimates are not available.</source>
- <translation>Це комісія за транзакцію, яку ви можете сплатити, коли кошторисна вартість недоступна.</translation>
+ <translation>This is the transaction fee you may pay when fee estimates are not available.</translation>
</message>
<message>
<source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source>
- <translation>Загальна довжина рядку мережевої версії (%i) перевищує максимально допустиму (%i). Зменшіть число чи розмір коментарів клієнта користувача.</translation>
+ <translation>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</translation>
</message>
<message>
<source>%s is set very high!</source>
- <translation>%s встановлено дуже високо!</translation>
- </message>
- <message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Помилка завантаження гаманця %s. Значення параметра -wallet дублюється.</translation>
+ <translation>%s is set very high!</translation>
</message>
<message>
<source>Starting network threads...</source>
- <translation>Запуск мережевих потоків...</translation>
+ <translation>Starting network threads...</translation>
</message>
<message>
<source>The wallet will avoid paying less than the minimum relay fee.</source>
- <translation>Гаманець не переведе кошти, якщо комісія становить менше мінімальної плати за транзакцію.</translation>
+ <translation>The wallet will avoid paying less than the minimum relay fee.</translation>
</message>
<message>
<source>This is the minimum transaction fee you pay on every transaction.</source>
- <translation>Це мінімальна плата за транзакцію, яку ви сплачуєте за кожну операцію.</translation>
+ <translation>This is the minimum transaction fee you pay on every transaction.</translation>
</message>
<message>
<source>This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Це транзакційна комісія, яку ви сплатите, якщо будете надсилати транзакцію.</translation>
+ <translation>This is the transaction fee you will pay if you send a transaction.</translation>
</message>
<message>
<source>Transaction amounts must not be negative</source>
- <translation>Сума транзакції не повинна бути від'ємною</translation>
+ <translation>Transaction amounts must not be negative</translation>
</message>
<message>
<source>Transaction has too long of a mempool chain</source>
- <translation>У транзакції занадто довгий ланцюг</translation>
+ <translation>Transaction has too long of a mempool chain</translation>
</message>
<message>
<source>Transaction must have at least one recipient</source>
- <translation>У транзакції повинен бути щонайменше один одержувач</translation>
+ <translation>Transaction must have at least one recipient</translation>
</message>
<message>
<source>Unknown network specified in -onlynet: '%s'</source>
- <translation>Невідома мережа вказана в -onlynet: «%s»</translation>
+ <translation>Unknown network specified in -onlynet: '%s'</translation>
</message>
<message>
<source>Insufficient funds</source>
- <translation>Недостатньо коштів</translation>
+ <translation>Insufficient funds</translation>
</message>
<message>
<source>Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee.</source>
- <translation>Оцінка комісії не вдалася. Fallbackfee вимкнено. Зачекайте кілька блоків або ввімкніть -fallbackfee.</translation>
+ <translation>Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee.</translation>
</message>
<message>
<source>Warning: Private keys detected in wallet {%s} with disabled private keys</source>
- <translation>Попередження: Власні ключі виявлено в гаманці {%s} з забороненими власними ключами</translation>
+ <translation>Warning: Private keys detected in wallet {%s} with disabled private keys</translation>
</message>
<message>
<source>Cannot write to data directory '%s'; check permissions.</source>
- <translation>Неможливо записати до каталогу даних '%s'; перевірте дозвіл.</translation>
+ <translation>Cannot write to data directory '%s'; check permissions.</translation>
</message>
<message>
<source>Loading block index...</source>
- <translation>Завантаження індексу блоків...</translation>
+ <translation>Loading block index...</translation>
</message>
<message>
<source>Loading wallet...</source>
- <translation>Завантаження гаманця...</translation>
+ <translation>Loading wallet...</translation>
</message>
<message>
<source>Cannot downgrade wallet</source>
- <translation>Не вдається знити версію гаманця</translation>
+ <translation>Cannot downgrade wallet</translation>
</message>
<message>
<source>Rescanning...</source>
- <translation>Сканування...</translation>
+ <translation>Rescanning...</translation>
</message>
<message>
<source>Done loading</source>
- <translation>Завантаження завершено</translation>
+ <translation>Done loading</translation>
</message>
</context>
</TS> \ No newline at end of file
diff --git a/src/qt/locale/bitcoin_ur.ts b/src/qt/locale/bitcoin_ur.ts
index 647e32749f..e199aae738 100644
--- a/src/qt/locale/bitcoin_ur.ts
+++ b/src/qt/locale/bitcoin_ur.ts
@@ -30,6 +30,10 @@
<translation>سلیکٹڈ پتے کو مٹائیں</translation>
</message>
<message>
+ <source>Enter address or label to search</source>
+ <translation>پتہ یا لیبل تلاشی کے لئے درج کریں</translation>
+ </message>
+ <message>
<source>Export the data in the current tab to a file</source>
<translation>موجودہ ڈیٹا کو فائیل میں محفوظ کریں</translation>
</message>
@@ -136,6 +140,10 @@
<translation>بٹوے کو خفیہ کریں</translation>
</message>
<message>
+ <source>Unlock wallet</source>
+ <translation>بستہ کھولیں</translation>
+ </message>
+ <message>
<source>Decrypt wallet</source>
<translation>ڈکرپٹ والیٹ</translation>
</message>
@@ -154,6 +162,14 @@
<context>
<name>BitcoinGUI</name>
<message>
+ <source>&amp;About %1</source>
+ <translation>&amp;معلومات%1</translation>
+ </message>
+ <message>
+ <source>Show information about %1</source>
+ <translation>%1 کے بارے میں معلومات دکھایں</translation>
+ </message>
+ <message>
<source>Error</source>
<translation>نقص</translation>
</message>
diff --git a/src/qt/locale/bitcoin_vi.ts b/src/qt/locale/bitcoin_vi.ts
index 192442d6b9..d0fd457521 100644
--- a/src/qt/locale/bitcoin_vi.ts
+++ b/src/qt/locale/bitcoin_vi.ts
@@ -514,6 +514,14 @@
<translation>Đông ví</translation>
</message>
<message>
+ <source>Close All Wallets...</source>
+ <translation>Đóng tất cả các ví</translation>
+ </message>
+ <message>
+ <source>Close all wallets</source>
+ <translation>Đóng tất cả ví</translation>
+ </message>
+ <message>
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
<translation>Hiển thị %1 tin nhắn hỗ trợ để nhận được danh sách Bitcoin command-line khả dụng</translation>
</message>
@@ -625,7 +633,11 @@
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>Ví thì &lt;b&gt;encrypted&lt;/b&gt; và hiện tại &lt;b&gt;locked&lt;/b&gt;</translation>
</message>
- </context>
+ <message>
+ <source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
+ <translation>Lỗi nghiêm trong. %1 không thể tiếp tục và sẽ thoát ra</translation>
+ </message>
+</context>
<context>
<name>CoinControlDialog</name>
<message>
@@ -830,7 +842,7 @@
<source>Create</source>
<translation>Tạo</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -1437,6 +1449,42 @@
<context>
<name>PSBTOperationsDialog</name>
<message>
+ <source>Dialog</source>
+ <translation>Bảng thoại</translation>
+ </message>
+ <message>
+ <source>Sign Tx</source>
+ <translation>Đăng ký Tx</translation>
+ </message>
+ <message>
+ <source>Copy to Clipboard</source>
+ <translation>Lưu vào bảng tạm</translation>
+ </message>
+ <message>
+ <source>Save...</source>
+ <translation>Sao lưu</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Đóng</translation>
+ </message>
+ <message>
+ <source>Failed to sign transaction: %1</source>
+ <translation>Đăng ký giao dịch thất bại :%1</translation>
+ </message>
+ <message>
+ <source>Save Transaction Data</source>
+ <translation>Lưu trữ giao dịch</translation>
+ </message>
+ <message>
+ <source> * Sends %1 to %2</source>
+ <translation>*Gửi %1 tới %2</translation>
+ </message>
+ <message>
+ <source>Pays transaction fee: </source>
+ <translation>Trả phí giao dịch</translation>
+ </message>
+ <message>
<source>Total Amount</source>
<translation>Tổng số</translation>
</message>
@@ -1444,6 +1492,18 @@
<source>or</source>
<translation>hoặc</translation>
</message>
+ <message>
+ <source>Transaction still needs signature(s).</source>
+ <translation>Giao dịch cần chữ ký</translation>
+ </message>
+ <message>
+ <source>(But this wallet cannot sign transactions.)</source>
+ <translation>(Nhưng ví này không thể đăng ký giao dịch.)</translation>
+ </message>
+ <message>
+ <source>Transaction is fully signed and ready for broadcast.</source>
+ <translation>Giao dịch đã được đăng ký và chuẩn bị để phát lên</translation>
+ </message>
</context>
<context>
<name>PaymentServer</name>
@@ -1800,6 +1860,10 @@
<translation>Tăng font size</translation>
</message>
<message>
+ <source>Permissions</source>
+ <translation>Cho phép</translation>
+ </message>
+ <message>
<source>Services</source>
<translation>Dịch vụ</translation>
</message>
@@ -2054,14 +2118,26 @@
<source>Could not unlock wallet.</source>
<translation>Không thể unlock wallet.</translation>
</message>
- </context>
+ <message>
+ <source>Could not generate new %1 address</source>
+ <translation>Không thể tạo ra %1 địa chỉ mới</translation>
+ </message>
+</context>
<context>
<name>ReceiveRequestDialog</name>
<message>
+ <source>Address:</source>
+ <translation>Địa chỉ</translation>
+ </message>
+ <message>
<source>Amount:</source>
<translation>Số lượng:</translation>
</message>
<message>
+ <source>Label:</source>
+ <translation>Nhãn</translation>
+ </message>
+ <message>
<source>Message:</source>
<translation>Tin nhắn:</translation>
</message>
@@ -2336,6 +2412,14 @@ Lưu ý: Vì phí được tính trên cơ sở mỗi byte, nên phí "100 satos
<translation>Bạn chắc chắn muốn gửi chứ?</translation>
</message>
<message>
+ <source>Save Transaction Data</source>
+ <translation>Lưu trữ giao dịch</translation>
+ </message>
+ <message>
+ <source>PSBT saved</source>
+ <translation>PSBT đã lưu</translation>
+ </message>
+ <message>
<source>or</source>
<translation>hoặc</translation>
</message>
@@ -3157,7 +3241,15 @@ Lưu ý: Vì phí được tính trên cơ sở mỗi byte, nên phí "100 satos
<source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
<translation>Đóng ví thời gian dài sẽ dẫn đến phải đồng bộ hóa lại cả chuỗi nếu cắt tỉa pruning được kích hoạt</translation>
</message>
- </context>
+ <message>
+ <source>Close all wallets</source>
+ <translation>Đóng tất cả ví</translation>
+ </message>
+ <message>
+ <source>Are you sure you wish to close all wallets?</source>
+ <translation>Bạn có chắc chắn muốn đóng tất cả ví không?</translation>
+ </message>
+</context>
<context>
<name>WalletFrame</name>
<message>
@@ -3239,6 +3331,14 @@ Lưu ý: Vì phí được tính trên cơ sở mỗi byte, nên phí "100 satos
<translation>Lỗi</translation>
</message>
<message>
+ <source>Load Transaction Data</source>
+ <translation>Tải thông tin giao dịch</translation>
+ </message>
+ <message>
+ <source>Partially Signed Transaction (*.psbt)</source>
+ <translation>Giao dịch được đăng ký một phần (*.psbt)</translation>
+ </message>
+ <message>
<source>Backup Wallet</source>
<translation>Backup Wallet</translation>
</message>
@@ -3418,6 +3518,10 @@ Lưu ý: Vì phí được tính trên cơ sở mỗi byte, nên phí "100 satos
<translation>Lỗi quét lại ví trong xuất quá trình khởi tạo</translation>
</message>
<message>
+ <source>Failed to verify database</source>
+ <translation>Lỗi xác nhận dữ liệu</translation>
+ </message>
+ <message>
<source>Importing...</source>
<translation>Importing...</translation>
</message>
@@ -3542,6 +3646,14 @@ Lưu ý: Vì phí được tính trên cơ sở mỗi byte, nên phí "100 satos
<translation>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</translation>
</message>
<message>
+ <source>A fatal internal error occurred, see debug.log for details</source>
+ <translation>Lỗi nghiêm trọng xảy ra, xem debug.log để biết chi tiết</translation>
+ </message>
+ <message>
+ <source>Disk space is too low!</source>
+ <translation>Ổ đĩa còn quá ít</translation>
+ </message>
+ <message>
<source>Error reading from database, shutting down.</source>
<translation>Error reading from database, shutting down.</translation>
</message>
@@ -3664,10 +3776,6 @@ Lưu ý: Vì phí được tính trên cơ sở mỗi byte, nên phí "100 satos
<translation>%s is set very high!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>Error loading wallet %s. Duplicate -wallet filename specified.</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>Starting network threads...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_zh_CN.ts b/src/qt/locale/bitcoin_zh_CN.ts
index fedc4a9c80..8118ece049 100644
--- a/src/qt/locale/bitcoin_zh_CN.ts
+++ b/src/qt/locale/bitcoin_zh_CN.ts
@@ -549,7 +549,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>&amp;Mask values</source>
- <translation>不明文显示数值(&amp;M)</translation>
+ <translation>遮住数值(&amp;M)</translation>
</message>
<message>
<source>Mask the values in the Overview tab</source>
@@ -884,6 +884,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Create</source>
<translation>创建</translation>
</message>
+ <message>
+ <source>Compiled without sqlite support (required for descriptor wallets)</source>
+ <translation>编译时未启用SQLite支持(输出描述符钱包需要它)</translation>
+ </message>
</context>
<context>
<name>EditAddressDialog</name>
@@ -3585,15 +3589,15 @@ Go to File &gt; Open Wallet to load a wallet.
</message>
<message>
<source>SQLiteDatabase: Failed to prepare the statement to fetch sqlite wallet schema version: %s</source>
- <translation>SQLiteDatabase:无法获取sqlit钱包版本:%s</translation>
+ <translation>SQLiteDatabase: 预处理用于获取SQLite钱包schema版本的语句时失败: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Failed to prepare the statement to fetch the application id: %s</source>
- <translation>SQLiteDatabase:无法获取应用ID:%s</translation>
+ <translation>SQLiteDatabase: 预处理用于获取应用ID的语句时失败: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
- <translation>SQLiteDatabase:未知sqlite钱包版本%d。只支持%d版本</translation>
+ <translation>SQLiteDatabase: SQLite钱包schema版本%d未知。只支持%d版本</translation>
</message>
<message>
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
@@ -3704,6 +3708,10 @@ Go to File &gt; Open Wallet to load a wallet.
<translation>校验数据库失败</translation>
</message>
<message>
+ <source>Ignoring duplicate -wallet %s.</source>
+ <translation>忽略重复的 -wallet %s。</translation>
+ </message>
+ <message>
<source>Importing...</source>
<translation>导入中...</translation>
</message>
@@ -3733,23 +3741,23 @@ Go to File &gt; Open Wallet to load a wallet.
</message>
<message>
<source>SQLiteDatabase: Failed to execute statement to verify database: %s</source>
- <translation>SQLiteDatabase:校验数据库执行语句失败:%s</translation>
+ <translation>SQLiteDatabase: 执行校验数据库语句时失败: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Failed to fetch sqlite wallet schema version: %s</source>
- <translation>SQLiteDatabase:无法获取sqlite钱包版本:%s</translation>
+ <translation>SQLiteDatabase: 获取SQLite钱包schema版本时失败: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Failed to prepare statement to verify database: %s</source>
- <translation>SQLiteDatabase:无法准备语句来校验数据库:%s</translation>
+ <translation>SQLiteDatabase: 预处理用于校验数据库的语句时失败: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Failed to read database verification error: %s</source>
- <translation>SQLiteDatabase:无法读取数据库校验错误:%s</translation>
+ <translation>SQLiteDatabase: 读取数据库失败,校验错误: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Unexpected application id. Expected %u, got %u</source>
- <translation>SQLiteDatabase:异常应用ID。异常%u,实际%u</translation>
+ <translation>SQLiteDatabase: 意料之外的应用ID。预期为%u,实际为%u</translation>
</message>
<message>
<source>Specified blocks directory "%s" does not exist.</source>
@@ -4014,10 +4022,6 @@ Go to File &gt; Open Wallet to load a wallet.
<translation>%s非常高!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>加载钱包 %s 出错。 重复指定了 -wallet 文件名。</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>正在启动网络线程...</translation>
</message>
diff --git a/src/qt/locale/bitcoin_zh_TW.ts b/src/qt/locale/bitcoin_zh_TW.ts
index 2b71aed2f9..f31297785e 100644
--- a/src/qt/locale/bitcoin_zh_TW.ts
+++ b/src/qt/locale/bitcoin_zh_TW.ts
@@ -871,7 +871,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Create</source>
<translation>產生</translation>
</message>
-</context>
+ </context>
<context>
<name>EditAddressDialog</name>
<message>
@@ -3885,10 +3885,6 @@ Go to File &gt; Open Wallet to load a wallet.
<translation>%s 的設定值異常大!</translation>
</message>
<message>
- <source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
- <translation>載入錢包檔 %s 失敗。-wallet 參數指定了重複的檔名。</translation>
- </message>
- <message>
<source>Starting network threads...</source>
<translation>正在啟動網路執行緒...</translation>
</message>
diff --git a/src/rpc/net.cpp b/src/rpc/net.cpp
index f98ea63782..298529e4e7 100644
--- a/src/rpc/net.cpp
+++ b/src/rpc/net.cpp
@@ -141,6 +141,10 @@ static RPCHelpMan getpeerinfo()
}},
{RPCResult::Type::BOOL, "whitelisted", /* optional */ true, "Whether the peer is whitelisted with default permissions\n"
"(DEPRECATED, returned only if config option -deprecatedrpc=whitelisted is passed)"},
+ {RPCResult::Type::ARR, "permissions", "Any special permissions that have been granted to this peer",
+ {
+ {RPCResult::Type::STR, "permission_type", Join(NET_PERMISSIONS_DOC, ",\n") + ".\n"},
+ }},
{RPCResult::Type::NUM, "minfeefilter", "The minimum fee rate for transactions this peer accepts"},
{RPCResult::Type::OBJ_DYN, "bytessent_per_msg", "",
{
diff --git a/src/rpc/rawtransaction.cpp b/src/rpc/rawtransaction.cpp
index c6d7fea443..70f9279b23 100644
--- a/src/rpc/rawtransaction.cpp
+++ b/src/rpc/rawtransaction.cpp
@@ -109,7 +109,7 @@ static RPCHelpMan getrawtransaction()
{RPCResult::Type::OBJ, "", "",
{
{RPCResult::Type::STR_HEX, "txid", "The transaction id"},
- {RPCResult::Type::STR, "vout", ""},
+ {RPCResult::Type::NUM, "vout", "The output number"},
{RPCResult::Type::OBJ, "scriptSig", "The script",
{
{RPCResult::Type::STR, "asm", "asm"},
diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp
index 6efa3d0c27..e8c3ae888d 100644
--- a/src/wallet/rpcwallet.cpp
+++ b/src/wallet/rpcwallet.cpp
@@ -29,7 +29,6 @@
#include <util/translation.h>
#include <util/url.h>
#include <util/vector.h>
-#include <validation.h>
#include <wallet/coincontrol.h>
#include <wallet/context.h>
#include <wallet/feebumper.h>
@@ -198,35 +197,27 @@ static std::string LabelFromValue(const UniValue& value)
/**
* Update coin control with fee estimation based on the given parameters
*
- * @param[in] pwallet Wallet pointer
+ * @param[in] wallet Wallet reference
* @param[in,out] cc Coin control to be updated
* @param[in] conf_target UniValue integer; confirmation target in blocks, values between 1 and 1008 are valid per policy/fees.h;
- * if a fee_rate is present, 0 is allowed here as a no-op positional placeholder
* @param[in] estimate_mode UniValue string; fee estimation mode, valid values are "unset", "economical" or "conservative";
- * if a fee_rate is present, "" is allowed here as a no-op positional placeholder
* @param[in] fee_rate UniValue real; fee rate in sat/vB;
- * if a fee_rate is present, both conf_target and estimate_mode must either be null, or no-op
+ * if present, both conf_target and estimate_mode must either be null, or "unset"
* @param[in] override_min_fee bool; whether to set fOverrideFeeRate to true to disable minimum fee rate checks and instead
* verify only that fee_rate is greater than 0
* @throws a JSONRPCError if conf_target, estimate_mode, or fee_rate contain invalid values or are in conflict
*/
-static void SetFeeEstimateMode(const CWallet* pwallet, CCoinControl& cc, const UniValue& conf_target, const UniValue& estimate_mode, const UniValue& fee_rate, bool override_min_fee)
+static void SetFeeEstimateMode(const CWallet& wallet, CCoinControl& cc, const UniValue& conf_target, const UniValue& estimate_mode, const UniValue& fee_rate, bool override_min_fee)
{
if (!fee_rate.isNull()) {
- if (!conf_target.isNull() && conf_target.get_int() > 0) {
+ if (!conf_target.isNull()) {
throw JSONRPCError(RPC_INVALID_PARAMETER, "Cannot specify both conf_target and fee_rate. Please provide either a confirmation target in blocks for automatic fee estimation, or an explicit fee rate.");
}
- if (!estimate_mode.isNull() && !estimate_mode.get_str().empty()) {
+ if (!estimate_mode.isNull() && estimate_mode.get_str() != "unset") {
throw JSONRPCError(RPC_INVALID_PARAMETER, "Cannot specify both estimate_mode and fee_rate");
}
- CFeeRate fee_rate_in_sat_vb{CFeeRate(AmountFromValue(fee_rate), COIN)};
- if (override_min_fee) {
- if (fee_rate_in_sat_vb <= CFeeRate(0)) {
- throw JSONRPCError(RPC_INVALID_PARAMETER, strprintf("Invalid fee_rate %s (must be greater than 0)", fee_rate_in_sat_vb.ToString(FeeEstimateMode::SAT_VB)));
- }
- cc.fOverrideFeeRate = true;
- }
- cc.m_feerate = fee_rate_in_sat_vb;
+ cc.m_feerate = CFeeRate(AmountFromValue(fee_rate), COIN);
+ if (override_min_fee) cc.fOverrideFeeRate = true;
// Default RBF to true for explicit fee_rate, if unset.
if (cc.m_signal_bip125_rbf == nullopt) cc.m_signal_bip125_rbf = true;
return;
@@ -235,7 +226,7 @@ static void SetFeeEstimateMode(const CWallet* pwallet, CCoinControl& cc, const U
throw JSONRPCError(RPC_INVALID_PARAMETER, InvalidEstimateModeErrorMessage());
}
if (!conf_target.isNull()) {
- cc.m_confirm_target = ParseConfirmTarget(conf_target, pwallet->chain().estimateMaxBlocks());
+ cc.m_confirm_target = ParseConfirmTarget(conf_target, wallet.chain().estimateMaxBlocks());
}
}
@@ -473,8 +464,8 @@ static RPCHelpMan sendtoaddress()
+ HelpExampleCli("sendtoaddress", "\"" + EXAMPLE_ADDRESS[0] + "\" 0.1") +
"\nSend 0.1 BTC with a confirmation target of 6 blocks in economical fee estimate mode using positional arguments\n"
+ HelpExampleCli("sendtoaddress", "\"" + EXAMPLE_ADDRESS[0] + "\" 0.1 \"donation\" \"sean's outpost\" false true 6 economical") +
- "\nSend 0.1 BTC with a fee rate of 1 " + CURRENCY_ATOM + "/vB, subtract fee from amount, BIP125-replaceable, using positional arguments\n"
- + HelpExampleCli("sendtoaddress", "\"" + EXAMPLE_ADDRESS[0] + "\" 0.1 \"drinks\" \"room77\" true true 0 \"\" 1") +
+ "\nSend 0.1 BTC with a fee rate of 1.1 " + CURRENCY_ATOM + "/vB, subtract fee from amount, BIP125-replaceable, using positional arguments\n"
+ + HelpExampleCli("sendtoaddress", "\"" + EXAMPLE_ADDRESS[0] + "\" 0.1 \"drinks\" \"room77\" true true null \"unset\" null 1.1") +
"\nSend 0.2 BTC with a confirmation target of 6 blocks in economical fee estimate mode using named arguments\n"
+ HelpExampleCli("-named sendtoaddress", "address=\"" + EXAMPLE_ADDRESS[0] + "\" amount=0.2 conf_target=6 estimate_mode=\"economical\"") +
"\nSend 0.5 BTC with a fee rate of 25 " + CURRENCY_ATOM + "/vB using named arguments\n"
@@ -514,7 +505,7 @@ static RPCHelpMan sendtoaddress()
// We also enable partial spend avoidance if reuse avoidance is set.
coin_control.m_avoid_partial_spends |= coin_control.m_avoid_address_reuse;
- SetFeeEstimateMode(pwallet, coin_control, /* conf_target */ request.params[6], /* estimate_mode */ request.params[7], /* fee_rate */ request.params[9], /* override_min_fee */ false);
+ SetFeeEstimateMode(*pwallet, coin_control, /* conf_target */ request.params[6], /* estimate_mode */ request.params[7], /* fee_rate */ request.params[9], /* override_min_fee */ false);
EnsureWalletIsUnlocked(pwallet);
@@ -942,7 +933,7 @@ static RPCHelpMan sendmany()
coin_control.m_signal_bip125_rbf = request.params[5].get_bool();
}
- SetFeeEstimateMode(pwallet, coin_control, /* conf_target */ request.params[6], /* estimate_mode */ request.params[7], /* fee_rate */ request.params[8], /* override_min_fee */ false);
+ SetFeeEstimateMode(*pwallet, coin_control, /* conf_target */ request.params[6], /* estimate_mode */ request.params[7], /* fee_rate */ request.params[8], /* override_min_fee */ false);
std::vector<CRecipient> recipients;
ParseRecipients(sendTo, subtractFeeFromAmount, recipients);
@@ -2792,7 +2783,7 @@ static RPCHelpMan unloadwallet()
"Unloads the wallet referenced by the request endpoint otherwise unloads the wallet specified in the argument.\n"
"Specifying the wallet name on a wallet endpoint is invalid.",
{
- {"wallet_name", RPCArg::Type::STR, /* default */ "the wallet name from the RPC request", "The name of the wallet to unload."},
+ {"wallet_name", RPCArg::Type::STR, /* default */ "the wallet name from the RPC endpoint", "The name of the wallet to unload. Must be provided in the RPC endpoint or this parameter (but not both)."},
{"load_on_startup", RPCArg::Type::BOOL, /* default */ "null", "Save wallet name to persistent settings and load on startup. True to add wallet to startup list, false to remove, null to leave unchanged."},
},
RPCResult{RPCResult::Type::OBJ, "", "", {
@@ -2807,7 +2798,7 @@ static RPCHelpMan unloadwallet()
std::string wallet_name;
if (GetWalletNameFromJSONRPCRequest(request, wallet_name)) {
if (!request.params[0].isNull()) {
- throw JSONRPCError(RPC_INVALID_PARAMETER, "Cannot unload the requested wallet");
+ throw JSONRPCError(RPC_INVALID_PARAMETER, "Both the RPC endpoint wallet and wallet_name parameter were provided (only one allowed)");
}
} else {
wallet_name = request.params[0].get_str();
@@ -3150,11 +3141,7 @@ void FundTransaction(CWallet* const pwallet, CMutableTransaction& tx, CAmount& f
if (options.exists("estimate_mode")) {
throw JSONRPCError(RPC_INVALID_PARAMETER, "Cannot specify both estimate_mode and feeRate");
}
- CFeeRate fee_rate(AmountFromValue(options["feeRate"]));
- if (fee_rate <= CFeeRate(0)) {
- throw JSONRPCError(RPC_INVALID_PARAMETER, strprintf("Invalid feeRate %s (must be greater than 0)", fee_rate.ToString(FeeEstimateMode::BTC_KVB)));
- }
- coinControl.m_feerate = fee_rate;
+ coinControl.m_feerate = CFeeRate(AmountFromValue(options["feeRate"]));
coinControl.fOverrideFeeRate = true;
}
@@ -3164,7 +3151,7 @@ void FundTransaction(CWallet* const pwallet, CMutableTransaction& tx, CAmount& f
if (options.exists("replaceable")) {
coinControl.m_signal_bip125_rbf = options["replaceable"].get_bool();
}
- SetFeeEstimateMode(pwallet, coinControl, options["conf_target"], options["estimate_mode"], options["fee_rate"], override_min_fee);
+ SetFeeEstimateMode(*pwallet, coinControl, options["conf_target"], options["estimate_mode"], options["fee_rate"], override_min_fee);
}
} else {
// if options is null and not a bool
@@ -3393,7 +3380,7 @@ RPCHelpMan signrawtransactionwithwallet()
static RPCHelpMan bumpfee_helper(std::string method_name)
{
bool want_psbt = method_name == "psbtbumpfee";
- const std::string incremental_fee{CFeeRate(DEFAULT_MIN_RELAY_TX_FEE).ToString(FeeEstimateMode::SAT_VB)};
+ const std::string incremental_fee{CFeeRate(DEFAULT_INCREMENTAL_RELAY_FEE).ToString(FeeEstimateMode::SAT_VB)};
return RPCHelpMan{method_name,
"\nBumps the fee of an opt-in-RBF transaction T, replacing it with a new transaction B.\n"
@@ -3416,7 +3403,7 @@ static RPCHelpMan bumpfee_helper(std::string method_name)
{"conf_target", RPCArg::Type::NUM, /* default */ "wallet -txconfirmtarget", "Confirmation target in blocks\n"},
{"fee_rate", RPCArg::Type::AMOUNT, /* default */ "not set, fall back to wallet fee estimation",
"\nSpecify a fee rate in " + CURRENCY_ATOM + "/vB instead of relying on the built-in fee estimator.\n"
- "Must be at least " + incremental_fee + " " + CURRENCY_ATOM + "/vB higher than the current transaction fee rate.\n"
+ "Must be at least " + incremental_fee + " higher than the current transaction fee rate.\n"
"WARNING: before version 0.21, fee_rate was in " + CURRENCY_UNIT + "/kvB. As of 0.21, fee_rate is in " + CURRENCY_ATOM + "/vB.\n"},
{"replaceable", RPCArg::Type::BOOL, /* default */ "true", "Whether the new transaction should still be\n"
"marked bip-125 replaceable. If true, the sequence numbers in the transaction will\n"
@@ -3492,7 +3479,7 @@ static RPCHelpMan bumpfee_helper(std::string method_name)
if (options.exists("replaceable")) {
coin_control.m_signal_bip125_rbf = options["replaceable"].get_bool();
}
- SetFeeEstimateMode(pwallet, coin_control, conf_target, options["estimate_mode"], options["fee_rate"], /* override_min_fee */ false);
+ SetFeeEstimateMode(*pwallet, coin_control, conf_target, options["estimate_mode"], options["fee_rate"], /* override_min_fee */ false);
}
// Make sure the results are valid at least up to the most recent block
@@ -4081,10 +4068,10 @@ static RPCHelpMan send()
RPCExamples{""
"\nSend 0.1 BTC with a confirmation target of 6 blocks in economical fee estimate mode\n"
+ HelpExampleCli("send", "'{\"" + EXAMPLE_ADDRESS[0] + "\": 0.1}' 6 economical\n") +
- "Send 0.2 BTC with a fee rate of 1 " + CURRENCY_ATOM + "/vB using positional arguments\n"
- + HelpExampleCli("send", "'{\"" + EXAMPLE_ADDRESS[0] + "\": 0.2}' 0 \"\" 1\n") +
+ "Send 0.2 BTC with a fee rate of 1.1 " + CURRENCY_ATOM + "/vB using positional arguments\n"
+ + HelpExampleCli("send", "'{\"" + EXAMPLE_ADDRESS[0] + "\": 0.2}' null \"unset\" 1.1\n") +
"Send 0.2 BTC with a fee rate of 1 " + CURRENCY_ATOM + "/vB using the options argument\n"
- + HelpExampleCli("send", "'{\"" + EXAMPLE_ADDRESS[0] + "\": 0.2}' '{\"fee_rate\": 1}'\n") +
+ + HelpExampleCli("send", "'{\"" + EXAMPLE_ADDRESS[0] + "\": 0.2}' null \"unset\" null '{\"fee_rate\": 1}'\n") +
"Send 0.3 BTC with a fee rate of 25 " + CURRENCY_ATOM + "/vB using named arguments\n"
+ HelpExampleCli("-named send", "outputs='{\"" + EXAMPLE_ADDRESS[0] + "\": 0.3}' fee_rate=25\n") +
"Create a transaction that should confirm the next block, with a specific input, and return result without adding to wallet or broadcasting to the network\n"
@@ -4096,7 +4083,7 @@ static RPCHelpMan send()
UniValueType(), // outputs (ARR or OBJ, checked later)
UniValue::VNUM, // conf_target
UniValue::VSTR, // estimate_mode
- UniValue::VNUM, // fee_rate
+ UniValueType(), // fee_rate, will be checked by AmountFromValue() in SetFeeEstimateMode()
UniValue::VOBJ, // options
}, true
);
@@ -4241,7 +4228,7 @@ static RPCHelpMan sethdseed()
// Do not do anything to non-HD wallets
if (!pwallet->CanSupportFeature(FEATURE_HD)) {
- throw JSONRPCError(RPC_WALLET_ERROR, "Cannot set a HD seed on a non-HD wallet. Use the upgradewallet RPC in order to upgrade a non-HD wallet to HD");
+ throw JSONRPCError(RPC_WALLET_ERROR, "Cannot set an HD seed on a non-HD wallet. Use the upgradewallet RPC in order to upgrade a non-HD wallet to HD");
}
EnsureWalletIsUnlocked(pwallet);
@@ -4472,14 +4459,18 @@ static RPCHelpMan walletcreatefundedpsbt()
static RPCHelpMan upgradewallet()
{
return RPCHelpMan{"upgradewallet",
- "\nUpgrade the wallet. Upgrades to the latest version if no version number is specified\n"
+ "\nUpgrade the wallet. Upgrades to the latest version if no version number is specified.\n"
"New keys may be generated and a new wallet backup will need to be made.",
{
- {"version", RPCArg::Type::NUM, /* default */ strprintf("%d", FEATURE_LATEST), "The version number to upgrade to. Default is the latest wallet version"}
+ {"version", RPCArg::Type::NUM, /* default */ strprintf("%d", FEATURE_LATEST), "The version number to upgrade to. Default is the latest wallet version."}
},
RPCResult{
RPCResult::Type::OBJ, "", "",
{
+ {RPCResult::Type::STR, "wallet_name", "Name of wallet this operation was performed on"},
+ {RPCResult::Type::NUM, "previous_version", "Version of wallet before this operation"},
+ {RPCResult::Type::NUM, "current_version", "Version of wallet after this operation"},
+ {RPCResult::Type::STR, "result", /* optional */ true, "Description of result, if no error"},
{RPCResult::Type::STR, "error", /* optional */ true, "Error message (if there is one)"}
},
},
@@ -4502,11 +4493,27 @@ static RPCHelpMan upgradewallet()
version = request.params[0].get_int();
}
bilingual_str error;
- if (!pwallet->UpgradeWallet(version, error)) {
- throw JSONRPCError(RPC_WALLET_ERROR, error.original);
+ const int previous_version{pwallet->GetVersion()};
+ const bool wallet_upgraded{pwallet->UpgradeWallet(version, error)};
+ const int current_version{pwallet->GetVersion()};
+ std::string result;
+
+ if (wallet_upgraded) {
+ if (previous_version == current_version) {
+ result = "Already at latest version. Wallet version unchanged.";
+ } else {
+ result = strprintf("Wallet upgraded successfully from version %i to version %i.", previous_version, current_version);
+ }
}
+
UniValue obj(UniValue::VOBJ);
- if (!error.empty()) {
+ obj.pushKV("wallet_name", pwallet->GetName());
+ obj.pushKV("previous_version", previous_version);
+ obj.pushKV("current_version", current_version);
+ if (!result.empty()) {
+ obj.pushKV("result", result);
+ } else {
+ CHECK_NONFATAL(!error.empty());
obj.pushKV("error", error.original);
}
return obj;
diff --git a/src/wallet/scriptpubkeyman.cpp b/src/wallet/scriptpubkeyman.cpp
index d2e1be6402..7dbbf17302 100644
--- a/src/wallet/scriptpubkeyman.cpp
+++ b/src/wallet/scriptpubkeyman.cpp
@@ -453,7 +453,7 @@ bool LegacyScriptPubKeyMan::Upgrade(int prev_version, int new_version, bilingual
hd_upgrade = true;
}
// Upgrade to HD chain split if necessary
- if (IsFeatureSupported(new_version, FEATURE_HD_SPLIT)) {
+ if (!IsFeatureSupported(prev_version, FEATURE_HD_SPLIT) && IsFeatureSupported(new_version, FEATURE_HD_SPLIT)) {
WalletLogPrintf("Upgrading wallet to use HD chain split\n");
m_storage.SetMinVersion(FEATURE_PRE_SPLIT_KEYPOOL);
split_upgrade = FEATURE_HD_SPLIT > prev_version;
diff --git a/src/wallet/walletutil.cpp b/src/wallet/walletutil.cpp
index 702293e6c7..88a52cdf63 100644
--- a/src/wallet/walletutil.cpp
+++ b/src/wallet/walletutil.cpp
@@ -87,13 +87,9 @@ bool IsFeatureSupported(int wallet_version, int feature_version)
WalletFeature GetClosestWalletFeature(int version)
{
- if (version >= FEATURE_LATEST) return FEATURE_LATEST;
- if (version >= FEATURE_PRE_SPLIT_KEYPOOL) return FEATURE_PRE_SPLIT_KEYPOOL;
- if (version >= FEATURE_NO_DEFAULT_KEY) return FEATURE_NO_DEFAULT_KEY;
- if (version >= FEATURE_HD_SPLIT) return FEATURE_HD_SPLIT;
- if (version >= FEATURE_HD) return FEATURE_HD;
- if (version >= FEATURE_COMPRPUBKEY) return FEATURE_COMPRPUBKEY;
- if (version >= FEATURE_WALLETCRYPT) return FEATURE_WALLETCRYPT;
- if (version >= FEATURE_BASE) return FEATURE_BASE;
+ const std::array<WalletFeature, 8> wallet_features{{FEATURE_LATEST, FEATURE_PRE_SPLIT_KEYPOOL, FEATURE_NO_DEFAULT_KEY, FEATURE_HD_SPLIT, FEATURE_HD, FEATURE_COMPRPUBKEY, FEATURE_WALLETCRYPT, FEATURE_BASE}};
+ for (const WalletFeature& wf : wallet_features) {
+ if (version >= wf) return wf;
+ }
return static_cast<WalletFeature>(0);
}
diff --git a/test/functional/feature_taproot.py b/test/functional/feature_taproot.py
index 6e28cfb265..0f0fe8a34a 100755
--- a/test/functional/feature_taproot.py
+++ b/test/functional/feature_taproot.py
@@ -1442,17 +1442,23 @@ class TaprootTest(BitcoinTestFramework):
self.nodes[1].generate(101)
self.test_spenders(self.nodes[1], spenders_taproot_active(), input_counts=[1, 2, 2, 2, 2, 3])
- # Transfer funds to pre-taproot node.
+ # Transfer value of the largest 500 coins to pre-taproot node.
addr = self.nodes[0].getnewaddress()
+
+ unsp = self.nodes[1].listunspent()
+ unsp = sorted(unsp, key=lambda i: i['amount'], reverse=True)
+ unsp = unsp[:500]
+
rawtx = self.nodes[1].createrawtransaction(
inputs=[{
'txid': i['txid'],
'vout': i['vout']
- } for i in self.nodes[1].listunspent()],
- outputs={addr: self.nodes[1].getbalance()},
+ } for i in unsp],
+ outputs={addr: sum(i['amount'] for i in unsp)}
)
rawtx = self.nodes[1].signrawtransactionwithwallet(rawtx)['hex']
- # Transaction is too large to fit into the mempool, so put it into a block
+
+ # Mine a block with the transaction
block = create_block(tmpl=self.nodes[1].getblocktemplate(NORMAL_GBT_REQUEST_PARAMS), txlist=[rawtx])
add_witness_commitment(block)
block.rehash()
diff --git a/test/functional/mempool_compatibility.py b/test/functional/mempool_compatibility.py
index 7168cb4ab2..8ac91bd008 100755
--- a/test/functional/mempool_compatibility.py
+++ b/test/functional/mempool_compatibility.py
@@ -29,7 +29,7 @@ class MempoolCompatibilityTest(BitcoinTestFramework):
def setup_network(self):
self.add_nodes(self.num_nodes, versions=[
- 150200, # oldest version supported by the test framework
+ 190100, # oldest version with getmempoolinfo.loaded (used to avoid intermittent issues)
None,
])
self.start_nodes()
@@ -72,5 +72,6 @@ class MempoolCompatibilityTest(BitcoinTestFramework):
assert old_tx_hash in old_node.getrawmempool()
assert unbroadcasted_tx_hash in old_node.getrawmempool()
+
if __name__ == "__main__":
MempoolCompatibilityTest().main()
diff --git a/test/functional/rpc_fundrawtransaction.py b/test/functional/rpc_fundrawtransaction.py
index f987867e61..569471dc87 100755
--- a/test/functional/rpc_fundrawtransaction.py
+++ b/test/functional/rpc_fundrawtransaction.py
@@ -717,15 +717,21 @@ class RawTransactionsTest(BitcoinTestFramework):
result = node.fundrawtransaction(rawtx) # uses self.min_relay_tx_fee (set by settxfee)
btc_kvb_to_sat_vb = 100000 # (1e5)
- result1 = node.fundrawtransaction(rawtx, {"fee_rate": 2 * btc_kvb_to_sat_vb * self.min_relay_tx_fee})
+ result1 = node.fundrawtransaction(rawtx, {"fee_rate": str(2 * btc_kvb_to_sat_vb * self.min_relay_tx_fee)})
result2 = node.fundrawtransaction(rawtx, {"feeRate": 2 * self.min_relay_tx_fee})
result3 = node.fundrawtransaction(rawtx, {"fee_rate": 10 * btc_kvb_to_sat_vb * self.min_relay_tx_fee})
- result4 = node.fundrawtransaction(rawtx, {"feeRate": 10 * self.min_relay_tx_fee})
+ result4 = node.fundrawtransaction(rawtx, {"feeRate": str(10 * self.min_relay_tx_fee)})
+ # Test that funding non-standard "zero-fee" transactions is valid.
+ result5 = self.nodes[3].fundrawtransaction(rawtx, {"fee_rate": 0})
+ result6 = self.nodes[3].fundrawtransaction(rawtx, {"feeRate": 0})
+
result_fee_rate = result['fee'] * 1000 / count_bytes(result['hex'])
assert_fee_amount(result1['fee'], count_bytes(result2['hex']), 2 * result_fee_rate)
assert_fee_amount(result2['fee'], count_bytes(result2['hex']), 2 * result_fee_rate)
assert_fee_amount(result3['fee'], count_bytes(result3['hex']), 10 * result_fee_rate)
assert_fee_amount(result4['fee'], count_bytes(result3['hex']), 10 * result_fee_rate)
+ assert_fee_amount(result5['fee'], count_bytes(result5['hex']), 0)
+ assert_fee_amount(result6['fee'], count_bytes(result6['hex']), 0)
# With no arguments passed, expect fee of 141 satoshis.
assert_approx(node.fundrawtransaction(rawtx)["fee"], vexp=0.00000141, vspan=0.00000001)
@@ -752,19 +758,15 @@ class RawTransactionsTest(BitcoinTestFramework):
node.fundrawtransaction, rawtx, {"estimate_mode": mode, "conf_target": n, "add_inputs": True})
self.log.info("Test invalid fee rate settings")
- assert_raises_rpc_error(-8, "Invalid fee_rate 0.000 sat/vB (must be greater than 0)",
- node.fundrawtransaction, rawtx, {"fee_rate": 0, "add_inputs": True})
- assert_raises_rpc_error(-8, "Invalid feeRate 0.00000000 BTC/kvB (must be greater than 0)",
- node.fundrawtransaction, rawtx, {"feeRate": 0, "add_inputs": True})
for param, value in {("fee_rate", 100000), ("feeRate", 1.000)}:
assert_raises_rpc_error(-4, "Fee exceeds maximum configured by user (e.g. -maxtxfee, maxfeerate)",
node.fundrawtransaction, rawtx, {param: value, "add_inputs": True})
assert_raises_rpc_error(-3, "Amount out of range",
- node.fundrawtransaction, rawtx, {"fee_rate": -1, "add_inputs": True})
+ node.fundrawtransaction, rawtx, {param: -1, "add_inputs": True})
assert_raises_rpc_error(-3, "Amount is not a number or string",
- node.fundrawtransaction, rawtx, {"fee_rate": {"foo": "bar"}, "add_inputs": True})
+ node.fundrawtransaction, rawtx, {param: {"foo": "bar"}, "add_inputs": True})
assert_raises_rpc_error(-3, "Invalid amount",
- node.fundrawtransaction, rawtx, {"fee_rate": "", "add_inputs": True})
+ node.fundrawtransaction, rawtx, {param: "", "add_inputs": True})
self.log.info("Test min fee rate checks are bypassed with fundrawtxn, e.g. a fee_rate under 1 sat/vB is allowed")
node.fundrawtransaction(rawtx, {"fee_rate": 0.99999999, "add_inputs": True})
diff --git a/test/functional/rpc_psbt.py b/test/functional/rpc_psbt.py
index 498197b5e5..b364077a9a 100755
--- a/test/functional/rpc_psbt.py
+++ b/test/functional/rpc_psbt.py
@@ -190,28 +190,29 @@ class PSBTTest(BitcoinTestFramework):
self.log.info("Test walletcreatefundedpsbt fee rate of 10000 sat/vB and 0.1 BTC/kvB produces a total fee at or slightly below -maxtxfee (~0.05290000)")
res1 = self.nodes[1].walletcreatefundedpsbt(inputs, outputs, 0, {"fee_rate": 10000, "add_inputs": True})
assert_approx(res1["fee"], 0.055, 0.005)
- res2 = self.nodes[1].walletcreatefundedpsbt(inputs, outputs, 0, {"feeRate": 0.1, "add_inputs": True})
+ res2 = self.nodes[1].walletcreatefundedpsbt(inputs, outputs, 0, {"feeRate": "0.1", "add_inputs": True})
assert_approx(res2["fee"], 0.055, 0.005)
+
self.log.info("Test min fee rate checks with walletcreatefundedpsbt are bypassed, e.g. a fee_rate under 1 sat/vB is allowed")
- res3 = self.nodes[1].walletcreatefundedpsbt(inputs, outputs, 0, {"fee_rate": 0.99999999, "add_inputs": True})
+ res3 = self.nodes[1].walletcreatefundedpsbt(inputs, outputs, 0, {"fee_rate": "0.99999999", "add_inputs": True})
assert_approx(res3["fee"], 0.00000381, 0.0000001)
res4 = self.nodes[1].walletcreatefundedpsbt(inputs, outputs, 0, {"feeRate": 0.00000999, "add_inputs": True})
assert_approx(res4["fee"], 0.00000381, 0.0000001)
+ self.log.info("Test min fee rate checks with walletcreatefundedpsbt are bypassed and that funding non-standard 'zero-fee' transactions is valid")
+ for param in ["fee_rate", "feeRate"]:
+ assert_equal(self.nodes[1].walletcreatefundedpsbt(inputs, outputs, 0, {param: 0, "add_inputs": True})["fee"], 0)
+
self.log.info("Test invalid fee rate settings")
- assert_raises_rpc_error(-8, "Invalid fee_rate 0.000 sat/vB (must be greater than 0)",
- self.nodes[1].walletcreatefundedpsbt, inputs, outputs, 0, {"fee_rate": 0, "add_inputs": True})
- assert_raises_rpc_error(-8, "Invalid feeRate 0.00000000 BTC/kvB (must be greater than 0)",
- self.nodes[1].walletcreatefundedpsbt, inputs, outputs, 0, {"feeRate": 0, "add_inputs": True})
for param, value in {("fee_rate", 100000), ("feeRate", 1)}:
assert_raises_rpc_error(-4, "Fee exceeds maximum configured by user (e.g. -maxtxfee, maxfeerate)",
self.nodes[1].walletcreatefundedpsbt, inputs, outputs, 0, {param: value, "add_inputs": True})
assert_raises_rpc_error(-3, "Amount out of range",
- self.nodes[1].walletcreatefundedpsbt, inputs, outputs, 0, {"fee_rate": -1, "add_inputs": True})
+ self.nodes[1].walletcreatefundedpsbt, inputs, outputs, 0, {param: -1, "add_inputs": True})
assert_raises_rpc_error(-3, "Amount is not a number or string",
- self.nodes[1].walletcreatefundedpsbt, inputs, outputs, 0, {"fee_rate": {"foo": "bar"}, "add_inputs": True})
+ self.nodes[1].walletcreatefundedpsbt, inputs, outputs, 0, {param: {"foo": "bar"}, "add_inputs": True})
assert_raises_rpc_error(-3, "Invalid amount",
- self.nodes[1].walletcreatefundedpsbt, inputs, outputs, 0, {"fee_rate": "", "add_inputs": True})
+ self.nodes[1].walletcreatefundedpsbt, inputs, outputs, 0, {param: "", "add_inputs": True})
self.log.info("- raises RPC error if both feeRate and fee_rate are passed")
assert_raises_rpc_error(-8, "Cannot specify both fee_rate (sat/vB) and feeRate (BTC/kvB)",
diff --git a/test/functional/rpc_rawtransaction.py b/test/functional/rpc_rawtransaction.py
index 554c30c0d2..60e66a27c9 100755
--- a/test/functional/rpc_rawtransaction.py
+++ b/test/functional/rpc_rawtransaction.py
@@ -372,6 +372,13 @@ class RawTransactionsTest(BitcoinTestFramework):
encrawtx = "01000000010000000000000072c1a6a246ae63f74f931e8365e15a089c68d61900000000000000000000ffffffff0100e1f505000000000000000000"
decrawtx = self.nodes[0].decoderawtransaction(encrawtx, False) # decode as non-witness transaction
assert_equal(decrawtx['vout'][0]['value'], Decimal('1.00000000'))
+ # known ambiguous transaction in the chain (see https://github.com/bitcoin/bitcoin/issues/20579)
+ encrawtx = "020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff4b03c68708046ff8415c622f4254432e434f4d2ffabe6d6de1965d02c68f928e5b244ab1965115a36f56eb997633c7f690124bbf43644e23080000000ca3d3af6d005a65ff0200fd00000000ffffffff03f4c1fb4b0000000016001497cfc76442fe717f2a3f0cc9c175f7561b6619970000000000000000266a24aa21a9ed957d1036a80343e0d1b659497e1b48a38ebe876a056d45965fac4a85cda84e1900000000000000002952534b424c4f434b3a8e092581ab01986cbadc84f4b43f4fa4bb9e7a2e2a0caf9b7cf64d939028e22c0120000000000000000000000000000000000000000000000000000000000000000000000000"
+ decrawtx = self.nodes[0].decoderawtransaction(encrawtx)
+ decrawtx_wit = self.nodes[0].decoderawtransaction(encrawtx, True)
+ assert_raises_rpc_error(-22, 'TX decode failed', self.nodes[0].decoderawtransaction, encrawtx, False) # fails to decode as non-witness transaction
+ assert_equal(decrawtx, decrawtx_wit) # the witness interpretation should be chosen
+ assert_equal(decrawtx['vin'][0]['coinbase'], "03c68708046ff8415c622f4254432e434f4d2ffabe6d6de1965d02c68f928e5b244ab1965115a36f56eb997633c7f690124bbf43644e23080000000ca3d3af6d005a65ff0200fd00000000")
# Basic signrawtransaction test
addr = self.nodes[1].getnewaddress()
diff --git a/test/functional/test_framework/p2p.py b/test/functional/test_framework/p2p.py
index 6846d31221..8b79a4dc2f 100755
--- a/test/functional/test_framework/p2p.py
+++ b/test/functional/test_framework/p2p.py
@@ -396,9 +396,9 @@ class P2PInterface(P2PConnection):
assert message.nVersion >= MIN_VERSION_SUPPORTED, "Version {} received. Test framework only supports versions greater than {}".format(message.nVersion, MIN_VERSION_SUPPORTED)
if message.nVersion >= 70016:
self.send_message(msg_wtxidrelay())
- self.send_message(msg_verack())
if self.support_addrv2:
self.send_message(msg_sendaddrv2())
+ self.send_message(msg_verack())
self.nServices = message.nServices
# Connection helper methods
diff --git a/test/functional/wallet_basic.py b/test/functional/wallet_basic.py
index ead56046a4..3cbddaf6da 100755
--- a/test/functional/wallet_basic.py
+++ b/test/functional/wallet_basic.py
@@ -235,8 +235,8 @@ class WalletTest(BitcoinTestFramework):
fee_rate_btc_kvb = fee_rate_sat_vb * 1e3 / 1e8
explicit_fee_rate_btc_kvb = Decimal(fee_rate_btc_kvb) / 1000
- # Passing conf_target 0, estimate_mode "" as placeholder arguments should allow fee_rate to apply.
- txid = self.nodes[2].sendmany(amounts={address: 10}, conf_target=0, estimate_mode="", fee_rate=fee_rate_sat_vb)
+ # Test passing fee_rate as a string
+ txid = self.nodes[2].sendmany(amounts={address: 10}, fee_rate=str(fee_rate_sat_vb))
self.nodes[2].generate(1)
self.sync_all(self.nodes[0:3])
balance = self.nodes[2].getbalance()
@@ -245,6 +245,17 @@ class WalletTest(BitcoinTestFramework):
node_0_bal += Decimal('10')
assert_equal(self.nodes[0].getbalance(), node_0_bal)
+ # Test passing fee_rate as an integer
+ amount = Decimal("0.0001")
+ txid = self.nodes[2].sendmany(amounts={address: amount}, fee_rate=fee_rate_sat_vb)
+ self.nodes[2].generate(1)
+ self.sync_all(self.nodes[0:3])
+ balance = self.nodes[2].getbalance()
+ node_2_bal = self.check_fee_amount(balance, node_2_bal - amount, explicit_fee_rate_btc_kvb, self.get_vsize(self.nodes[2].gettransaction(txid)['hex']))
+ assert_equal(balance, node_2_bal)
+ node_0_bal += amount
+ assert_equal(self.nodes[0].getbalance(), node_0_bal)
+
for key in ["totalFee", "feeRate"]:
assert_raises_rpc_error(-8, "Unknown named parameter key", self.nodes[2].sendtoaddress, address=address, amount=1, fee_rate=1, key=1)
@@ -406,9 +417,8 @@ class WalletTest(BitcoinTestFramework):
amount = 3
fee_rate_sat_vb = 2
fee_rate_btc_kvb = fee_rate_sat_vb * 1e3 / 1e8
-
- # Passing conf_target 0, estimate_mode "" as placeholder arguments should allow fee_rate to apply.
- txid = self.nodes[2].sendtoaddress(address=address, amount=amount, conf_target=0, estimate_mode="", fee_rate=fee_rate_sat_vb)
+ # Test passing fee_rate as an integer
+ txid = self.nodes[2].sendtoaddress(address=address, amount=amount, fee_rate=fee_rate_sat_vb)
tx_size = self.get_vsize(self.nodes[2].gettransaction(txid)['hex'])
self.nodes[0].generate(1)
self.sync_all(self.nodes[0:3])
@@ -416,6 +426,19 @@ class WalletTest(BitcoinTestFramework):
fee = prebalance - postbalance - Decimal(amount)
assert_fee_amount(fee, tx_size, Decimal(fee_rate_btc_kvb))
+ prebalance = self.nodes[2].getbalance()
+ amount = Decimal("0.001")
+ fee_rate_sat_vb = 1.23
+ fee_rate_btc_kvb = fee_rate_sat_vb * 1e3 / 1e8
+ # Test passing fee_rate as a string
+ txid = self.nodes[2].sendtoaddress(address=address, amount=amount, fee_rate=str(fee_rate_sat_vb))
+ tx_size = self.get_vsize(self.nodes[2].gettransaction(txid)['hex'])
+ self.nodes[0].generate(1)
+ self.sync_all(self.nodes[0:3])
+ postbalance = self.nodes[2].getbalance()
+ fee = prebalance - postbalance - amount
+ assert_fee_amount(fee, tx_size, Decimal(fee_rate_btc_kvb))
+
for key in ["totalFee", "feeRate"]:
assert_raises_rpc_error(-8, "Unknown named parameter key", self.nodes[2].sendtoaddress, address=address, amount=1, fee_rate=1, key=1)
diff --git a/test/functional/wallet_bumpfee.py b/test/functional/wallet_bumpfee.py
index c323aac3cc..c8c1f2e374 100755
--- a/test/functional/wallet_bumpfee.py
+++ b/test/functional/wallet_bumpfee.py
@@ -107,12 +107,10 @@ class BumpFeeTest(BitcoinTestFramework):
assert_raises_rpc_error(-3, "Unexpected key {}".format(key), rbf_node.bumpfee, rbfid, {key: NORMAL})
# Bumping to just above minrelay should fail to increase the total fee enough.
- assert_raises_rpc_error(-8, "Insufficient total fee 0.00000141, must be at least 0.00001704 (oldFee 0.00000999 + incrementalFee 0.00000705)",
- rbf_node.bumpfee, rbfid, {"fee_rate": INSUFFICIENT})
+ assert_raises_rpc_error(-8, "Insufficient total fee 0.00000141", rbf_node.bumpfee, rbfid, {"fee_rate": INSUFFICIENT})
self.log.info("Test invalid fee rate settings")
- assert_raises_rpc_error(-8, "Insufficient total fee 0.00, must be at least 0.00001704 (oldFee 0.00000999 + incrementalFee 0.00000705)",
- rbf_node.bumpfee, rbfid, {"fee_rate": 0})
+ assert_raises_rpc_error(-8, "Insufficient total fee 0.00", rbf_node.bumpfee, rbfid, {"fee_rate": 0})
assert_raises_rpc_error(-4, "Specified or calculated fee 0.141 is too high (cannot be higher than -maxtxfee 0.10",
rbf_node.bumpfee, rbfid, {"fee_rate": TOO_HIGH})
assert_raises_rpc_error(-3, "Amount out of range", rbf_node.bumpfee, rbfid, {"fee_rate": -1})
@@ -151,7 +149,7 @@ def test_simple_bumpfee_succeeds(self, mode, rbf_node, peer_node, dest_address):
self.sync_mempools((rbf_node, peer_node))
assert rbfid in rbf_node.getrawmempool() and rbfid in peer_node.getrawmempool()
if mode == "fee_rate":
- bumped_psbt = rbf_node.psbtbumpfee(rbfid, {"fee_rate": NORMAL})
+ bumped_psbt = rbf_node.psbtbumpfee(rbfid, {"fee_rate": str(NORMAL)})
bumped_tx = rbf_node.bumpfee(rbfid, {"fee_rate": NORMAL})
else:
bumped_psbt = rbf_node.psbtbumpfee(rbfid)
@@ -421,7 +419,7 @@ def test_watchonly_psbt(self, peer_node, rbf_node, dest_address):
self.sync_all()
# Create single-input PSBT for transaction to be bumped
- psbt = watcher.walletcreatefundedpsbt([], {dest_address: 0.0005}, 0, {"feeRate": 0.00001}, True)['psbt']
+ psbt = watcher.walletcreatefundedpsbt([], {dest_address: 0.0005}, 0, {"fee_rate": 1}, True)['psbt']
psbt_signed = signer.walletprocesspsbt(psbt=psbt, sign=True, sighashtype="ALL", bip32derivs=True)
psbt_final = watcher.finalizepsbt(psbt_signed["psbt"])
original_txid = watcher.sendrawtransaction(psbt_final["hex"])
diff --git a/test/functional/wallet_multiwallet.py b/test/functional/wallet_multiwallet.py
index df16ec741f..0d715b3130 100755
--- a/test/functional/wallet_multiwallet.py
+++ b/test/functional/wallet_multiwallet.py
@@ -355,7 +355,8 @@ class MultiWalletTest(BitcoinTestFramework):
assert_raises_rpc_error(-1, "JSON value is not a string as expected", self.nodes[0].unloadwallet)
assert_raises_rpc_error(-18, "Requested wallet does not exist or is not loaded", self.nodes[0].unloadwallet, "dummy")
assert_raises_rpc_error(-18, "Requested wallet does not exist or is not loaded", node.get_wallet_rpc("dummy").unloadwallet)
- assert_raises_rpc_error(-8, "Cannot unload the requested wallet", w1.unloadwallet, "w2"),
+ assert_raises_rpc_error(-8, "Both the RPC endpoint wallet and wallet_name parameter were provided (only one allowed)", w1.unloadwallet, "w2"),
+ assert_raises_rpc_error(-8, "Both the RPC endpoint wallet and wallet_name parameter were provided (only one allowed)", w1.unloadwallet, "w1"),
# Successfully unload the specified wallet name
self.nodes[0].unloadwallet("w1")
diff --git a/test/functional/wallet_send.py b/test/functional/wallet_send.py
index 5da71c85f9..9835c5a2af 100755
--- a/test/functional/wallet_send.py
+++ b/test/functional/wallet_send.py
@@ -256,21 +256,20 @@ class WalletSendTest(BitcoinTestFramework):
assert res["complete"]
self.log.info("Test setting explicit fee rate")
- res1 = self.test_send(from_wallet=w0, to_wallet=w1, amount=1, arg_fee_rate=1, add_to_wallet=False)
- res2 = self.test_send(from_wallet=w0, to_wallet=w1, amount=1, fee_rate=1, add_to_wallet=False)
+ res1 = self.test_send(from_wallet=w0, to_wallet=w1, amount=1, arg_fee_rate="1", add_to_wallet=False)
+ res2 = self.test_send(from_wallet=w0, to_wallet=w1, amount=1, fee_rate="1", add_to_wallet=False)
assert_equal(self.nodes[1].decodepsbt(res1["psbt"])["fee"], self.nodes[1].decodepsbt(res2["psbt"])["fee"])
- # Passing conf_target 0, estimate_mode "" as placeholder arguments should allow fee_rate to apply.
- res = self.test_send(from_wallet=w0, to_wallet=w1, amount=1, conf_target=0, estimate_mode="", fee_rate=7, add_to_wallet=False)
+ res = self.test_send(from_wallet=w0, to_wallet=w1, amount=1, fee_rate=7, add_to_wallet=False)
fee = self.nodes[1].decodepsbt(res["psbt"])["fee"]
assert_fee_amount(fee, Decimal(len(res["hex"]) / 2), Decimal("0.00007"))
- res = self.test_send(from_wallet=w0, to_wallet=w1, amount=1, fee_rate=2, add_to_wallet=False)
+ # "unset" and None are treated the same for estimate_mode
+ res = self.test_send(from_wallet=w0, to_wallet=w1, amount=1, fee_rate=2, estimate_mode="unset", add_to_wallet=False)
fee = self.nodes[1].decodepsbt(res["psbt"])["fee"]
assert_fee_amount(fee, Decimal(len(res["hex"]) / 2), Decimal("0.00002"))
- # Passing conf_target 0, estimate_mode "" as placeholder arguments should allow fee_rate to apply.
- res = self.test_send(from_wallet=w0, to_wallet=w1, amount=1, arg_conf_target=0, arg_estimate_mode="", arg_fee_rate=4.531, add_to_wallet=False)
+ res = self.test_send(from_wallet=w0, to_wallet=w1, amount=1, arg_fee_rate=4.531, add_to_wallet=False)
fee = self.nodes[1].decodepsbt(res["psbt"])["fee"]
assert_fee_amount(fee, Decimal(len(res["hex"]) / 2), Decimal("0.00004531"))
@@ -303,10 +302,16 @@ class WalletSendTest(BitcoinTestFramework):
self.test_send(from_wallet=w0, to_wallet=w1, amount=1, conf_target=v, estimate_mode=mode,
expect_error=(-3, "Expected type number for conf_target, got {}".format(k)))
- # Test setting explicit fee rate just below the minimum.
+ # Test setting explicit fee rate just below the minimum and at zero.
self.log.info("Explicit fee rate raises RPC error 'fee rate too low' if fee_rate of 0.99999999 is passed")
self.test_send(from_wallet=w0, to_wallet=w1, amount=1, fee_rate=0.99999999,
expect_error=(-4, "Fee rate (0.999 sat/vB) is lower than the minimum fee rate setting (1.000 sat/vB)"))
+ self.test_send(from_wallet=w0, to_wallet=w1, amount=1, arg_fee_rate=0.99999999,
+ expect_error=(-4, "Fee rate (0.999 sat/vB) is lower than the minimum fee rate setting (1.000 sat/vB)"))
+ self.test_send(from_wallet=w0, to_wallet=w1, amount=1, fee_rate=0,
+ expect_error=(-4, "Fee rate (0.000 sat/vB) is lower than the minimum fee rate setting (1.000 sat/vB)"))
+ self.test_send(from_wallet=w0, to_wallet=w1, amount=1, arg_fee_rate=0,
+ expect_error=(-4, "Fee rate (0.000 sat/vB) is lower than the minimum fee rate setting (1.000 sat/vB)"))
# TODO: Return hex if fee rate is below -maxmempool
# res = self.test_send(from_wallet=w0, to_wallet=w1, amount=1, conf_target=0.1, estimate_mode="sat/b", add_to_wallet=False)
diff --git a/test/functional/wallet_upgradewallet.py b/test/functional/wallet_upgradewallet.py
index 8ab4b3f76c..9b8410e0d5 100755
--- a/test/functional/wallet_upgradewallet.py
+++ b/test/functional/wallet_upgradewallet.py
@@ -22,9 +22,7 @@ from test_framework.messages import deser_compact_size, deser_string
from test_framework.test_framework import BitcoinTestFramework
from test_framework.util import (
assert_equal,
- assert_greater_than,
assert_is_hex_string,
- assert_raises_rpc_error,
sha256sum_file,
)
@@ -92,6 +90,32 @@ class UpgradeWalletTest(BitcoinTestFramework):
v16_3_node.submitblock(b)
assert_equal(v16_3_node.getblockcount(), to_height)
+ def test_upgradewallet(self, wallet, previous_version, requested_version=None, expected_version=None):
+ unchanged = expected_version == previous_version
+ new_version = previous_version if unchanged else expected_version if expected_version else requested_version
+ assert_equal(wallet.getwalletinfo()["walletversion"], previous_version)
+ assert_equal(wallet.upgradewallet(requested_version),
+ {
+ "wallet_name": "",
+ "previous_version": previous_version,
+ "current_version": new_version,
+ "result": "Already at latest version. Wallet version unchanged." if unchanged else "Wallet upgraded successfully from version {} to version {}.".format(previous_version, new_version),
+ }
+ )
+ assert_equal(wallet.getwalletinfo()["walletversion"], new_version)
+
+ def test_upgradewallet_error(self, wallet, previous_version, requested_version, msg):
+ assert_equal(wallet.getwalletinfo()["walletversion"], previous_version)
+ assert_equal(wallet.upgradewallet(requested_version),
+ {
+ "wallet_name": "",
+ "previous_version": previous_version,
+ "current_version": previous_version,
+ "error": msg,
+ }
+ )
+ assert_equal(wallet.getwalletinfo()["walletversion"], previous_version)
+
def run_test(self):
self.nodes[0].generatetoaddress(101, self.nodes[0].getnewaddress())
self.dumb_sync_blocks()
@@ -158,14 +182,8 @@ class UpgradeWalletTest(BitcoinTestFramework):
self.restart_node(0)
copy_v16()
wallet = node_master.get_wallet_rpc(self.default_wallet_name)
- old_version = wallet.getwalletinfo()["walletversion"]
-
- # calling upgradewallet without version arguments
- # should return nothing if successful
- assert_equal(wallet.upgradewallet(), {})
- new_version = wallet.getwalletinfo()["walletversion"]
- # upgraded wallet version should be greater than older one
- assert_greater_than(new_version, old_version)
+ self.log.info("Test upgradewallet without a version argument")
+ self.test_upgradewallet(wallet, previous_version=159900, expected_version=169900)
# wallet should still contain the same balance
assert_equal(wallet.getbalance(), v16_3_balance)
@@ -173,32 +191,27 @@ class UpgradeWalletTest(BitcoinTestFramework):
wallet = node_master.get_wallet_rpc(self.default_wallet_name)
# should have no master key hash before conversion
assert_equal('hdseedid' in wallet.getwalletinfo(), False)
- # calling upgradewallet with explicit version number
- # should return nothing if successful
- assert_equal(wallet.upgradewallet(169900), {})
- new_version = wallet.getwalletinfo()["walletversion"]
- # upgraded wallet should have version 169900
- assert_equal(new_version, 169900)
+ self.log.info("Test upgradewallet with explicit version number")
+ self.test_upgradewallet(wallet, previous_version=60000, requested_version=169900)
# after conversion master key hash should be present
assert_is_hex_string(wallet.getwalletinfo()['hdseedid'])
- self.log.info('Intermediary versions don\'t effect anything')
+ self.log.info("Intermediary versions don't effect anything")
copy_non_hd()
# Wallet starts with 60000
assert_equal(60000, wallet.getwalletinfo()['walletversion'])
wallet.unloadwallet()
before_checksum = sha256sum_file(node_master_wallet)
node_master.loadwallet('')
- # Can "upgrade" to 129999 which should have no effect on the wallet
- wallet.upgradewallet(129999)
- assert_equal(60000, wallet.getwalletinfo()['walletversion'])
+ # Test an "upgrade" from 60000 to 129999 has no effect, as the next version is 130000
+ self.test_upgradewallet(wallet, previous_version=60000, requested_version=129999, expected_version=60000)
wallet.unloadwallet()
assert_equal(before_checksum, sha256sum_file(node_master_wallet))
node_master.loadwallet('')
self.log.info('Wallets cannot be downgraded')
copy_non_hd()
- assert_raises_rpc_error(-4, 'Cannot downgrade wallet', wallet.upgradewallet, 40000)
+ self.test_upgradewallet_error(wallet, previous_version=60000, requested_version=40000, msg="Cannot downgrade wallet")
wallet.unloadwallet()
assert_equal(before_checksum, sha256sum_file(node_master_wallet))
node_master.loadwallet('')
@@ -208,8 +221,7 @@ class UpgradeWalletTest(BitcoinTestFramework):
orig_kvs = dump_bdb_kv(node_master_wallet)
assert b'\x07hdchain' not in orig_kvs
# Upgrade to HD, no split
- wallet.upgradewallet(130000)
- assert_equal(130000, wallet.getwalletinfo()['walletversion'])
+ self.test_upgradewallet(wallet, previous_version=60000, requested_version=130000)
# Check that there is now a hd chain and it is version 1, no internal chain counter
new_kvs = dump_bdb_kv(node_master_wallet)
assert b'\x07hdchain' in new_kvs
@@ -236,16 +248,12 @@ class UpgradeWalletTest(BitcoinTestFramework):
assert_equal('m/0\'/0\'/1\'', info['hdkeypath'])
self.log.info('Cannot upgrade to HD Split, needs Pre Split Keypool')
- assert_raises_rpc_error(-4, 'Cannot upgrade a non HD split wallet without upgrading to support pre split keypool', wallet.upgradewallet, 139900)
- assert_equal(130000, wallet.getwalletinfo()['walletversion'])
- assert_raises_rpc_error(-4, 'Cannot upgrade a non HD split wallet without upgrading to support pre split keypool', wallet.upgradewallet, 159900)
- assert_equal(130000, wallet.getwalletinfo()['walletversion'])
- assert_raises_rpc_error(-4, 'Cannot upgrade a non HD split wallet without upgrading to support pre split keypool', wallet.upgradewallet, 169899)
- assert_equal(130000, wallet.getwalletinfo()['walletversion'])
+ for version in [139900, 159900, 169899]:
+ self.test_upgradewallet_error(wallet, previous_version=130000, requested_version=version,
+ msg="Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use version 169900 or no version specified.")
self.log.info('Upgrade HD to HD chain split')
- wallet.upgradewallet(169900)
- assert_equal(169900, wallet.getwalletinfo()['walletversion'])
+ self.test_upgradewallet(wallet, previous_version=130000, requested_version=169900)
# Check that the hdchain updated correctly
new_kvs = dump_bdb_kv(node_master_wallet)
hd_chain = new_kvs[b'\x07hdchain']
@@ -271,8 +279,7 @@ class UpgradeWalletTest(BitcoinTestFramework):
self.log.info('Upgrade non-HD to HD chain split')
copy_non_hd()
- wallet.upgradewallet(169900)
- assert_equal(169900, wallet.getwalletinfo()['walletversion'])
+ self.test_upgradewallet(wallet, previous_version=60000, requested_version=169900)
# Check that the hdchain updated correctly
new_kvs = dump_bdb_kv(node_master_wallet)
hd_chain = new_kvs[b'\x07hdchain']
@@ -333,8 +340,8 @@ class UpgradeWalletTest(BitcoinTestFramework):
# Check the wallet has a default key initially
old_kvs = dump_bdb_kv(node_master_wallet)
defaultkey = old_kvs[b'\x0adefaultkey']
- # Upgrade the wallet. Should still have the same default key
- wallet.upgradewallet(159900)
+ self.log.info("Upgrade the wallet. Should still have the same default key.")
+ self.test_upgradewallet(wallet, previous_version=139900, requested_version=159900)
new_kvs = dump_bdb_kv(node_master_wallet)
up_defaultkey = new_kvs[b'\x0adefaultkey']
assert_equal(defaultkey, up_defaultkey)
@@ -342,5 +349,6 @@ class UpgradeWalletTest(BitcoinTestFramework):
v16_3_kvs = dump_bdb_kv(v16_3_wallet)
assert b'\x0adefaultkey' not in v16_3_kvs
+
if __name__ == '__main__':
UpgradeWalletTest().main()