Compare commits

...

19 Commits

Author SHA1 Message Date
MacroFake
ec0a4ad677 Merge bitcoin/bitcoin#25538: [0.21] test: replace hashlib.ripemd160 with an own implementation
bf79f08d97 Swap out hashlib.ripemd160 for own implementation (Pieter Wuille)
6bfa0bef48 Add pure Python RIPEMD-160 (Pieter Wuille)

Pull request description:

  Backports #23716 to 0.21. Closes #25534.

Top commit has no ACKs.

Tree-SHA512: d2a175d781b30249b14488b818720554995a71cae1861c7443be120a01fd7828737949ece5fc9c193a154e06f4e37d373e44ec7d9dcd64f8e86c0429abe70bb6
2022-07-06 09:24:02 +02:00
Pieter Wuille
bf79f08d97 Swap out hashlib.ripemd160 for own implementation
Github-Pull: #23716
Rebased-From: 5b559dc7ec
2022-07-04 11:51:43 +01:00
Pieter Wuille
6bfa0bef48 Add pure Python RIPEMD-160
Github-Pull: #23716
Rebased-From: ad3e9e1f21
2022-07-04 11:51:20 +01:00
fanquake
dca463bd81 Merge bitcoin/bitcoin#25318: 0.21 Backports
efb9f00f07 build: Restrict check for CRC32C intrinsic to aarch64 (W. J. van der Laan)
cfb08c342e refactor: include a missing <limits> header in fs.cpp (Joan Karadimov)

Pull request description:

  There might not be another 0.21.x release, however these are both straight forward changes. If this isn't merged, then the pulls can remain untagged for needing backport.

  Backports:
  - https://github.com/bitcoin/bitcoin/pull/23045
  - https://github.com/bitcoin/bitcoin/pull/23335

ACKs for top commit:
  laanwj:
    ACK efb9f00f07
  LarryRuane:
    utACK efb9f00f07

Tree-SHA512: 09be8f8ce90f862e2d408c5707a8387ca828fdd05a9814cfed5236030a3b33012e7d7a557c2ee3989db26922ad45cb8a307bdeba7ac8e34b5f21f0d46eda1955
2022-06-10 11:58:53 +01:00
W. J. van der Laan
efb9f00f07 build: Restrict check for CRC32C intrinsic to aarch64
`crc32c`'s hardware accelerated code doesn't handle ARM 32-bit at all.
Make the check in `configure.ac` check for this architecture explicitly.

For the release binaries, the current `configure.ac` check happens
to work: it enables it on aarch64 but disables it for armhf. However
some combination of compiler version and settings might ostensibly cause
this check to succeed on armhf (as reported on IRC). So make the 64-bit
platform requirement explicit.

Github-Pull: #23045
Rebased-From: f2747d1602
2022-06-09 12:53:50 +01:00
Joan Karadimov
cfb08c342e refactor: include a missing <limits> header in fs.cpp
... needed for std::numeric_limits<T>::max on WIN32

Github-Pull: #23335
Rebased-From: 077a875d94
2022-06-09 12:53:09 +01:00
fanquake
af591f2068 Merge bitcoin/bitcoin#22858: [0.21] Final changes for 0.21.2
6c102a696e release: bump RC to 0 (-final) (fanquake)
f78570ef87 doc: mention bech32m/BIP350 in doc/descriptors.md (Pieter Wuille)

Pull request description:

  Backports:
  * #22837 - doc: mention bech32m/BIP350 in doc/descriptors.md

ACKs for top commit:
  laanwj:
    ACK 6c102a696e
  glozow:
    ACK 6c102a696e looks correct to me
  jnewbery:
    ACK 6c102a696e

Tree-SHA512: 8cdfee955e1abdbc6900df3d01982cb77ec57ef008b75487ac9a63d571cc21e4ae0f107849aa575d239a8662619553778955ffbebf57201de5afcd34298d57b4
2021-09-23 18:07:49 +08:00
fanquake
6c102a696e release: bump RC to 0 (-final) 2021-09-23 15:07:14 +08:00
Pieter Wuille
f78570ef87 doc: mention bech32m/BIP350 in doc/descriptors.md
Github-Pull: #22837
Rebased-From: d2a09c8355
2021-09-23 14:50:29 +08:00
fanquake
97d3500601 Merge bitcoin/bitcoin#22823: [0.21] Update version and release notes for 0.21.2rc2
b8f5fb7c6b build: bump version to 0.21.2rc2 (fanquake)
82c5208ddc doc: update release notes for rc2 (fanquake)

Pull request description:

  Bump version to `0.21.2rc2` and add the new backports to the release notes.

ACKs for top commit:
  MarcoFalke:
    ACK b8f5fb7c6b
  hebasto:
    ACK b8f5fb7c6b

Tree-SHA512: 7bcdf6c42ac75fb24df8d6b60bddcac5f14363a3f7dd89a239f798bb14b5c911c2d7535a0372c2998719d33a561d0d28b0b6764aaf1f2ec330d4035ce965997b
2021-08-28 16:25:43 +08:00
fanquake
b8f5fb7c6b build: bump version to 0.21.2rc2 2021-08-28 16:01:20 +08:00
fanquake
82c5208ddc doc: update release notes for rc2 2021-08-28 15:55:03 +08:00
fanquake
6ebb9d0e46 Merge bitcoin/bitcoin#22808: [0.21] 0.21.2rc2 backports
d9b18c1290 Fix build with Boost 1.77.0 (Rafael Sadowski)
2d7f2606c1 ci: Run fuzzer task for the master branch only (Hennadii Stepanov)

Pull request description:

  Backported:

  1) #22730
  1) #22713

ACKs for top commit:
  fanquake:
    ACK d9b18c1290 - Checked the backports and tested building this branch with system Boost 1.76.0 and depends Boost 1.77.0.

Tree-SHA512: dc3e0a2b3c1e3e80f6570e329a08ebc5103c233c30562f660432891c90bacb4d88d5373e32b9ac34fd143be46b8e63900ce9f52786b04bc799a4d17ba9fd8499
2021-08-28 15:33:34 +08:00
fanquake
55a8a5b2df Merge bitcoin/bitcoin#22810: [0.21] qt: Pre-0.21.2rc2 translations update
2a7568999c qt: Pre-0.21.2rc2 translations update (Hennadii Stepanov)

Pull request description:

  New translations with insignificant amount of translated strings were ignored: `ach`, `cmn`, `gd`, `ig`, `sc`.

ACKs for top commit:
  fanquake:
    ACK 2a7568999c - didn't review any specific translations.

Tree-SHA512: fab299a7a3691b38f85812e9302ae3a6fda2b7bd95a824aaf5537f1bc066417f912c042fa4366432ed091244f051cc7d4c57161d8da1e4bd6261a85570f8f12e
2021-08-28 14:44:02 +08:00
Rafael Sadowski
d9b18c1290 Fix build with Boost 1.77.0
BOOST_FILESYSTEM_C_STR changed to accept the path as an argument

Github-Pull: bitcoin/bitcoin#22713
Rebased-From: acb7aad27e
2021-08-27 09:54:05 +03:00
Hennadii Stepanov
2d7f2606c1 ci: Run fuzzer task for the master branch only
Github-Pull: bitcoin/bitcoin#22730
Rebased-From: 5a9e255e5a
2021-08-27 09:54:04 +03:00
Hennadii Stepanov
2a7568999c qt: Pre-0.21.2rc2 translations update 2021-08-27 00:29:27 +03:00
W. J. van der Laan
3118a5eedf Merge bitcoin/bitcoin#22721: doc: add inital PR and author list to 0.21.2 release notes
2873e01c6a doc: add inital PR and author list to 0.21.2 release notes (fanquake)

Pull request description:

  Any further updates / version number adjustments can be done prior to final.

ACKs for top commit:
  laanwj:
    ACK 2873e01c6a

Tree-SHA512: 57135f64ccfc41ec63aa265eb25978a2afd68b6b8719e79358c52ec7d2dc0cee04b81f720b827263c381529f457667b0b1a8f7d835118dc56bf2a6aa9d321859
2021-08-17 15:42:43 +02:00
fanquake
2873e01c6a doc: add inital PR and author list to 0.21.2 release notes
Any further updates / version number adjustments can be done prior to
final.
2021-08-17 13:57:17 +08:00
26 changed files with 12308 additions and 26 deletions

View File

@@ -107,6 +107,7 @@ task:
task:
name: 'x86_64 Linux [GOAL: install] [focal] [no depends, only system libs, sanitizers: fuzzer,address,undefined]'
only_if: $CIRRUS_BRANCH == $CIRRUS_DEFAULT_BRANCH || $CIRRUS_BASE_BRANCH == $CIRRUS_DEFAULT_BRANCH
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:focal

View File

@@ -3,7 +3,7 @@ define(_CLIENT_VERSION_MAJOR, 0)
define(_CLIENT_VERSION_MINOR, 21)
define(_CLIENT_VERSION_REVISION, 2)
define(_CLIENT_VERSION_BUILD, 0)
define(_CLIENT_VERSION_RC, 1)
define(_CLIENT_VERSION_RC, 0)
define(_CLIENT_VERSION_IS_RELEASE, true)
define(_COPYRIGHT_YEAR, 2020)
define(_COPYRIGHT_HOLDERS,[The %s developers])
@@ -535,13 +535,17 @@ AX_CHECK_COMPILE_FLAG([-march=armv8-a+crc+crypto],[[ARM_CRC_CXXFLAGS="-march=arm
TEMP_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS $ARM_CRC_CXXFLAGS"
AC_MSG_CHECKING(for ARM CRC32 intrinsics)
AC_MSG_CHECKING(for AArch64 CRC32 intrinsics)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <arm_acle.h>
#include <arm_neon.h>
]],[[
#ifdef __aarch64__
__crc32cb(0, 0); __crc32ch(0, 0); __crc32cw(0, 0); __crc32cd(0, 0);
vmull_p64(0, 0);
#else
#error "crc32c library does not support hardware acceleration on 32-bit ARM"
#endif
]])],
[ AC_MSG_RESULT(yes); enable_arm_crc=yes; ],
[ AC_MSG_RESULT(no)]

View File

@@ -91,7 +91,7 @@ Descriptors consist of several types of expressions. The top level expression is
`ADDR` expressions are any type of supported address:
- P2PKH addresses (base58, of the form `1...` for mainnet or `[nm]...` for testnet). Note that P2PKH addresses in descriptors cannot be used for P2PK outputs (use the `pk` function instead).
- P2SH addresses (base58, of the form `3...` for mainnet or `2...` for testnet, defined in [BIP 13](https://github.com/bitcoin/bips/blob/master/bip-0013.mediawiki)).
- Segwit addresses (bech32, of the form `bc1...` for mainnet or `tb1...` for testnet, defined in [BIP 173](https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki)).
- Segwit addresses (bech32 and bech32m, of the form `bc1...` for mainnet or `tb1...` for testnet, defined in [BIP 173](https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki) and [BIP 350](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki)).
## Explanation

View File

@@ -1,9 +1,9 @@
0.21.x Release Notes
0.21.2 Release Notes
====================
Bitcoin Core version 0.21.x is now available from:
Bitcoin Core version 0.21.2 is now available from:
<https://bitcoincore.org/bin/bitcoin-core-0.21.x/>
<https://bitcoincore.org/bin/bitcoin-core-0.21.2/>
This minor release includes various bug fixes and performance
improvements, as well as updated translations.
@@ -41,22 +41,69 @@ 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.
Notable changes
===============
RPC
---
0.21.x change log
0.21.2 change log
=================
### P2P protocol and network code
- #21644 use NetPermissions::HasFlag() in CConnman::Bind() (jonatack)
- #22569 Rate limit the processing of rumoured addresses (sipa)
### Wallet
- #21907 Do not iterate a directory if having an error while accessing it (hebasto)
### RPC
- #19361 Reset scantxoutset progress before inferring descriptors (prusnak)
### Build System
- #21932 depends: update Qt 5.9 source url (kittywhiskers)
- #22017 Update Windows code signing certificate (achow101)
- #22191 Use custom MacOS code signing tool (achow101)
- #22713 Fix build with Boost 1.77.0 (sizeofvoid)
### Tests and QA
- #20182 Build with --enable-werror by default, and document exceptions (hebasto)
- #20535 Fix intermittent feature_taproot issue (MarcoFalke)
- #21663 Fix macOS brew install command (hebasto)
- #22279 add missing ECCVerifyHandle to base_encode_decode (apoelstra)
- #22730 Run fuzzer task for the master branch only (hebasto)
### GUI
- #277 Do not use QClipboard::Selection on Windows and macOS. (hebasto)
- #280 Remove user input from URI error message (prayank23)
- #365 Draw "eye" sign at the beginning of watch-only addresses (hebasto)
### Miscellaneous
- #22002 Fix crash when parsing command line with -noincludeconf=0 (MarcoFalke)
- #22137 util: Properly handle -noincludeconf on command line (take 2) (MarcoFalke)
Credits
=======
Thanks to everyone who directly contributed to this release:
- Andrew Chow
- Andrew Poelstra
- fanquake
- Hennadii Stepanov
- Jon Atack
- Kittywhiskers Van Gogh
- Luke Dashjr
- MarcoFalke
- Pavol Rusnak
- Pieter Wuille
- prayank23
- Rafael Sadowski
- W. J. van der Laan
As well as to everyone that helped with translations on
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).

View File

@@ -2,6 +2,7 @@ QT_TS = \
qt/locale/bitcoin_af.ts \
qt/locale/bitcoin_am.ts \
qt/locale/bitcoin_ar.ts \
qt/locale/bitcoin_az.ts \
qt/locale/bitcoin_be.ts \
qt/locale/bitcoin_bg.ts \
qt/locale/bitcoin_bn.ts \
@@ -27,7 +28,10 @@ QT_TS = \
qt/locale/bitcoin_fi.ts \
qt/locale/bitcoin_fil.ts \
qt/locale/bitcoin_fr.ts \
qt/locale/bitcoin_ga.ts \
qt/locale/bitcoin_gl.ts \
qt/locale/bitcoin_gl_ES.ts \
qt/locale/bitcoin_gu.ts \
qt/locale/bitcoin_he.ts \
qt/locale/bitcoin_hi.ts \
qt/locale/bitcoin_hr.ts \
@@ -38,6 +42,7 @@ QT_TS = \
qt/locale/bitcoin_ja.ts \
qt/locale/bitcoin_ka.ts \
qt/locale/bitcoin_kk.ts \
qt/locale/bitcoin_kl.ts \
qt/locale/bitcoin_km.ts \
qt/locale/bitcoin_ko.ts \
qt/locale/bitcoin_ku_IQ.ts \
@@ -49,10 +54,12 @@ QT_TS = \
qt/locale/bitcoin_ml.ts \
qt/locale/bitcoin_mn.ts \
qt/locale/bitcoin_mr_IN.ts \
qt/locale/bitcoin_ms.ts \
qt/locale/bitcoin_my.ts \
qt/locale/bitcoin_nb.ts \
qt/locale/bitcoin_ne.ts \
qt/locale/bitcoin_nl.ts \
qt/locale/bitcoin_no.ts \
qt/locale/bitcoin_pam.ts \
qt/locale/bitcoin_pl.ts \
qt/locale/bitcoin_pt.ts \
@@ -72,6 +79,7 @@ QT_TS = \
qt/locale/bitcoin_te.ts \
qt/locale/bitcoin_th.ts \
qt/locale/bitcoin_tr.ts \
qt/locale/bitcoin_ug.ts \
qt/locale/bitcoin_uk.ts \
qt/locale/bitcoin_ur.ts \
qt/locale/bitcoin_uz@Cyrl.ts \

View File

@@ -16,6 +16,7 @@
#define NOMINMAX
#endif
#include <codecvt>
#include <limits>
#include <windows.h>
#endif
@@ -236,7 +237,11 @@ void ofstream::close()
}
#else // __GLIBCXX__
#if BOOST_VERSION >= 107700
static_assert(sizeof(*BOOST_FILESYSTEM_C_STR(fs::path())) == sizeof(wchar_t),
#else
static_assert(sizeof(*fs::path().BOOST_FILESYSTEM_C_STR) == sizeof(wchar_t),
#endif // BOOST_VERSION >= 107700
"Warning: This build is using boost::filesystem ofstream and ifstream "
"implementations which will fail to open paths containing multibyte "
"characters. You should delete this static_assert to ignore this warning, "

View File

@@ -3,6 +3,7 @@
<file alias="af">locale/bitcoin_af.qm</file>
<file alias="am">locale/bitcoin_am.qm</file>
<file alias="ar">locale/bitcoin_ar.qm</file>
<file alias="az">locale/bitcoin_az.qm</file>
<file alias="be">locale/bitcoin_be.qm</file>
<file alias="bg">locale/bitcoin_bg.qm</file>
<file alias="bn">locale/bitcoin_bn.qm</file>
@@ -28,7 +29,10 @@
<file alias="fi">locale/bitcoin_fi.qm</file>
<file alias="fil">locale/bitcoin_fil.qm</file>
<file alias="fr">locale/bitcoin_fr.qm</file>
<file alias="ga">locale/bitcoin_ga.qm</file>
<file alias="gl">locale/bitcoin_gl.qm</file>
<file alias="gl_ES">locale/bitcoin_gl_ES.qm</file>
<file alias="gu">locale/bitcoin_gu.qm</file>
<file alias="he">locale/bitcoin_he.qm</file>
<file alias="hi">locale/bitcoin_hi.qm</file>
<file alias="hr">locale/bitcoin_hr.qm</file>
@@ -39,6 +43,7 @@
<file alias="ja">locale/bitcoin_ja.qm</file>
<file alias="ka">locale/bitcoin_ka.qm</file>
<file alias="kk">locale/bitcoin_kk.qm</file>
<file alias="kl">locale/bitcoin_kl.qm</file>
<file alias="km">locale/bitcoin_km.qm</file>
<file alias="ko">locale/bitcoin_ko.qm</file>
<file alias="ku_IQ">locale/bitcoin_ku_IQ.qm</file>
@@ -50,10 +55,12 @@
<file alias="ml">locale/bitcoin_ml.qm</file>
<file alias="mn">locale/bitcoin_mn.qm</file>
<file alias="mr_IN">locale/bitcoin_mr_IN.qm</file>
<file alias="ms">locale/bitcoin_ms.qm</file>
<file alias="my">locale/bitcoin_my.qm</file>
<file alias="nb">locale/bitcoin_nb.qm</file>
<file alias="ne">locale/bitcoin_ne.qm</file>
<file alias="nl">locale/bitcoin_nl.qm</file>
<file alias="no">locale/bitcoin_no.qm</file>
<file alias="pam">locale/bitcoin_pam.qm</file>
<file alias="pl">locale/bitcoin_pl.qm</file>
<file alias="pt">locale/bitcoin_pt.qm</file>
@@ -73,6 +80,7 @@
<file alias="te">locale/bitcoin_te.qm</file>
<file alias="th">locale/bitcoin_th.qm</file>
<file alias="tr">locale/bitcoin_tr.qm</file>
<file alias="ug">locale/bitcoin_ug.qm</file>
<file alias="uk">locale/bitcoin_uk.qm</file>
<file alias="ur">locale/bitcoin_ur.qm</file>
<file alias="uz@Cyrl">locale/bitcoin_uz@Cyrl.qm</file>

467
src/qt/locale/bitcoin_az.ts Normal file
View File

@@ -0,0 +1,467 @@
<TS language="az" version="2.1">
<context>
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
<translation>Ünvana ya etiketə düzəliş etmək üçün sağ düyməsi ilə klikləyin</translation>
</message>
<message>
<source>Create a new address</source>
<translation>Yeni bir ünvan yaradın</translation>
</message>
<message>
<source>&amp;New</source>
<translation>&amp;Yeni</translation>
</message>
<message>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Hazırki seçilmiş ünvanı sistem lövhəsinə kopyalayın</translation>
</message>
<message>
<source>&amp;Copy</source>
<translation>&amp;Kopyala</translation>
</message>
<message>
<source>C&amp;lose</source>
<translation>Bağla</translation>
</message>
<message>
<source>Delete the currently selected address from the list</source>
<translation>Hazırki seçilmiş ünvanı siyahıdan silin</translation>
</message>
<message>
<source>Enter address or label to search</source>
<translation>Axtarmaq üçün ünvan ya etiket daxil edin</translation>
</message>
<message>
<source>Export the data in the current tab to a file</source>
<translation>Hazırki vərəqdəki verilənləri fayla ixrac edin</translation>
</message>
<message>
<source>&amp;Export</source>
<translation>&amp;İxrac</translation>
</message>
<message>
<source>&amp;Delete</source>
<translation>&amp;Sil</translation>
</message>
<message>
<source>Choose the address to send coins to</source>
<translation>Pul göndəriləcək ünvanı seçin</translation>
</message>
<message>
<source>Choose the address to receive coins with</source>
<translation>Pul alınacaq ünvanı seçin</translation>
</message>
<message>
<source>C&amp;hoose</source>
<translation>Seç</translation>
</message>
<message>
<source>Sending addresses</source>
<translation>Göndərilən ünvanlar</translation>
</message>
<message>
<source>Receiving addresses</source>
<translation>Alınan ünvanlar</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>Bunlar ödənişləri göndərmək üçün Bitcoin ünvanlarınızdır. Pul göndərməkdən əvvəl həmişə miqdarı göndəriləcək ünvanı yoxlayın.</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>Bunlar ödəniş almaq üçün Bitcoin ünvanlarınızdır. Yeni ünvan yaratmaq üçün alacaqlar vərəqində 'Yeni alacaq ünvan yarat' düyməsini istifadə edin.
Daxil olma, yalnız 'qanuni' tipli ünvanlar ilə mümkündür.</translation>
</message>
<message>
<source>&amp;Copy Address</source>
<translation>&amp;Ünvanı kopyala</translation>
</message>
<message>
<source>Copy &amp;Label</source>
<translation>Etiketi kopyala</translation>
</message>
<message>
<source>&amp;Edit</source>
<translation>&amp;Düzəliş et</translation>
</message>
<message>
<source>Export Address List</source>
<translation>Ünvan siyahısını ixrac et</translation>
</message>
<message>
<source>Comma separated file (*.csv)</source>
<translation>Vergüllə ayrılmış fayl (*.csv)</translation>
</message>
<message>
<source>Exporting Failed</source>
<translation>İxrac edilmədi</translation>
</message>
<message>
<source>There was an error trying to save the address list to %1. Please try again.</source>
<translation>Ünvan siyahısını %1 daxilində saxlamağı sınayarkən xəta baş verdi. Zəhmət olmasa yenidən sınayın.</translation>
</message>
</context>
<context>
<name>AddressTableModel</name>
<message>
<source>Label</source>
<translation>Etiket</translation>
</message>
<message>
<source>Address</source>
<translation>Ünvan</translation>
</message>
<message>
<source>(no label)</source>
<translation>(etiket yoxdur)</translation>
</message>
</context>
<context>
<name>AskPassphraseDialog</name>
<message>
<source>Passphrase Dialog</source>
<translation>Şifrə İfadə Dialoqu</translation>
</message>
<message>
<source>Enter passphrase</source>
<translation>Şifrə ifadəsini daxil edin</translation>
</message>
<message>
<source>New passphrase</source>
<translation>Yeni şifrə ifadəsi</translation>
</message>
<message>
<source>Repeat new passphrase</source>
<translation>Şifrə ifadəsini təkrarlayın</translation>
</message>
<message>
<source>Show passphrase</source>
<translation>Şifrə ifadəsini göstər</translation>
</message>
<message>
<source>Encrypt wallet</source>
<translation>Cüzdanı şifrələyin</translation>
</message>
<message>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation>Bu əməliyyat, cüzdanın kilidini açmaq üçün cüzdan şifrə ifadəsinə ehtiyac duyur.</translation>
</message>
<message>
<source>Unlock wallet</source>
<translation>Cüzdanın kilidini ın</translation>
</message>
<message>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation>Bu əməliyyat, cüzdanın şifrəsini açmaq üçün cüzdan şifrə ifadəsinə ehtiyac duyur.</translation>
</message>
<message>
<source>Decrypt wallet</source>
<translation>Cüzdanın şifrəsini ın</translation>
</message>
<message>
<source>Change passphrase</source>
<translation>Şifrə ifadəsini dəyişdir</translation>
</message>
<message>
<source>Confirm wallet encryption</source>
<translation>Cüzdan şifrələməsini təsdiqləyin</translation>
</message>
<message>
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
<translation>Unutmayın ki, cüzdanınızın şifrələməsi bitcoinlərinizi kompüterinizə zərərli proqram tərəfindən oğurlanmaqdan tamamilə qoruya bilməz.</translation>
</message>
<message>
<source>Wallet to be encrypted</source>
<translation>Cüzdan şifrələnəcək</translation>
</message>
<message>
<source>Your wallet is about to be encrypted. </source>
<translation>Cüzdanınız şifrələnmək üzrədir.</translation>
</message>
<message>
<source>Your wallet is now encrypted. </source>
<translation>Cüzdanınız artıq şifrələnib.</translation>
</message>
</context>
<context>
<name>BanTableModel</name>
</context>
<context>
<name>BitcoinGUI</name>
<message>
<source>&amp;Settings</source>
<translation>&amp;Tənzimləmələr</translation>
</message>
<message>
<source>Error</source>
<translation>Xəta</translation>
</message>
<message>
<source>Warning</source>
<translation>Xəbərdarlıq</translation>
</message>
<message>
<source>Information</source>
<translation>Məlumat</translation>
</message>
<message>
<source>Open a wallet</source>
<translation>Bir pulqabı </translation>
</message>
</context>
<context>
<name>CoinControlDialog</name>
<message>
<source>Copy quantity</source>
<translation>Miqdarı kopyalayın</translation>
</message>
<message>
<source>Copy change</source>
<translation>Dəyişikliyi kopyalayın</translation>
</message>
<message>
<source>(no label)</source>
<translation>(etiket yoxdur)</translation>
</message>
</context>
<context>
<name>CreateWalletActivity</name>
</context>
<context>
<name>CreateWalletDialog</name>
</context>
<context>
<name>EditAddressDialog</name>
</context>
<context>
<name>FreespaceChecker</name>
</context>
<context>
<name>HelpMessageDialog</name>
</context>
<context>
<name>Intro</name>
<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>Bu tənzimləməni geri almaq bütün blok zəncirinin yenidən endirilməsini tələb edəcək. Əvvəlcə tam zənciri endirmək sonra budamaq daha sürətlidir. Bəzi qabaqcıl özəllikləri sıradan çıxarar.</translation>
</message>
<message>
<source>Error</source>
<translation>Xəta</translation>
</message>
</context>
<context>
<name>ModalOverlay</name>
</context>
<context>
<name>OpenURIDialog</name>
</context>
<context>
<name>OpenWalletActivity</name>
</context>
<context>
<name>OptionsDialog</name>
<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>Bəzi qabaqcıl özəllikləri sıradan çıxardar, ancaq bütün bloklar tamamilə təsdiqlənmiş qalacaq. Bu tənzimləməni geri almaq bütün blok zəncirinin yenidən endirilməsini tələb edəcək. Aktual disk istifadəsi biraz daha yüksək ola bilər.</translation>
</message>
<message>
<source>Reverting this setting requires re-downloading the entire blockchain.</source>
<translation>Bu tənzimləməni geri almaq bütün blok zəncirinin yenidən endirilməsini tələb edəcək. </translation>
</message>
<message>
<source>Map port using &amp;UPnP</source>
<translation>&amp;UPnP istifadə edən xəritə portu</translation>
</message>
<message>
<source>The user interface language can be set here. This setting will take effect after restarting %1.</source>
<translation>İstifadəçi interfeys dili burada tənzimlənə bilər. Bu tənzimləmə %1 yenidən başladıldıqdan sonra təsirli olacaq.</translation>
</message>
<message>
<source>Error</source>
<translation>Xəta</translation>
</message>
</context>
<context>
<name>OverviewPage</name>
</context>
<context>
<name>PSBTOperationsDialog</name>
</context>
<context>
<name>PaymentServer</name>
</context>
<context>
<name>PeerTableModel</name>
</context>
<context>
<name>QObject</name>
</context>
<context>
<name>QRImageWidget</name>
</context>
<context>
<name>RPCConsole</name>
<message>
<source>&amp;Reset</source>
<translation>&amp;Sıfırla</translation>
</message>
</context>
<context>
<name>ReceiveCoinsDialog</name>
</context>
<context>
<name>ReceiveRequestDialog</name>
</context>
<context>
<name>RecentRequestsTableModel</name>
<message>
<source>Label</source>
<translation>Etiket</translation>
</message>
<message>
<source>(no label)</source>
<translation>(etiket yoxdur)</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
<source>Copy quantity</source>
<translation>Miqdarı kopyalayın</translation>
</message>
<message>
<source>Copy change</source>
<translation>Dəyişikliyi kopyalayın</translation>
</message>
<message>
<source>(no label)</source>
<translation>(etiket yoxdur)</translation>
</message>
</context>
<context>
<name>SendCoinsEntry</name>
</context>
<context>
<name>ShutdownWindow</name>
</context>
<context>
<name>SignVerifyMessageDialog</name>
</context>
<context>
<name>TrafficGraphWidget</name>
</context>
<context>
<name>TransactionDesc</name>
</context>
<context>
<name>TransactionDescDialog</name>
</context>
<context>
<name>TransactionTableModel</name>
<message>
<source>Label</source>
<translation>Etiket</translation>
</message>
<message>
<source>(no label)</source>
<translation>(etiket yoxdur)</translation>
</message>
</context>
<context>
<name>TransactionView</name>
<message>
<source>Other</source>
<translation>Başqa</translation>
</message>
<message>
<source>Comma separated file (*.csv)</source>
<translation>Vergüllə ayrılmış fayl (*.csv)</translation>
</message>
<message>
<source>Label</source>
<translation>Etiket</translation>
</message>
<message>
<source>Address</source>
<translation>Ünvan</translation>
</message>
<message>
<source>Exporting Failed</source>
<translation>İxrac edilmədi</translation>
</message>
</context>
<context>
<name>UnitDisplayStatusBarControl</name>
</context>
<context>
<name>WalletController</name>
</context>
<context>
<name>WalletFrame</name>
</context>
<context>
<name>WalletModel</name>
</context>
<context>
<name>WalletView</name>
<message>
<source>&amp;Export</source>
<translation>&amp;İxrac</translation>
</message>
<message>
<source>Export the data in the current tab to a file</source>
<translation>Hazırki vərəqdəki verilənləri fayla ixrac edin</translation>
</message>
<message>
<source>Error</source>
<translation>Xəta</translation>
</message>
</context>
<context>
<name>bitcoin-core</name>
<message>
<source>Replaying blocks...</source>
<translation>Bloklar yenidən səsləndirilir...</translation>
</message>
<message>
<source>The source code is available from %s.</source>
<translation>Mənbə kodu %s-dən əldə edilə bilər.</translation>
</message>
<message>
<source>Insufficient funds</source>
<translation>Yetərsiz balans</translation>
</message>
<message>
<source>Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee.</source>
<translation>Ödəniş təxmin edilmədi. Fallbackfee sıradan çıxarıldı. Bir neçə blok gözləyin ya Fallbackfee-ni fəallaşdırın.</translation>
</message>
<message>
<source>Warning: Private keys detected in wallet {%s} with disabled private keys</source>
<translation>Xəbərdarlıq: Gizli açarlar, sıradan çıxarılmış gizli açarlar ilə {%s} pulqabısında aşkarlandı.</translation>
</message>
<message>
<source>Cannot write to data directory '%s'; check permissions.</source>
<translation>'%s' verilənlər kateqoriyasına yazıla bilmir; icazələri yoxlayın.</translation>
</message>
<message>
<source>Loading wallet...</source>
<translation>Pulqabı yüklənir...</translation>
</message>
<message>
<source>Cannot downgrade wallet</source>
<translation>Pulqabı əvvəlki versiyaya keçirilə bilmir</translation>
</message>
<message>
<source>Rescanning...</source>
<translation>Yenidən tədqiq edilir...</translation>
</message>
<message>
<source>Done loading</source>
<translation>Yükləmə tamamlandı</translation>
</message>
</context>
</TS>

View File

@@ -152,6 +152,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Unlock wallet</source>
<translation>Otključajte novčanik</translation>
</message>
<message>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation>Ova radnja treba lozinku vašeg novčanika da dešifrira novčanik.</translation>
</message>
<message>
<source>Decrypt wallet</source>
<translation>Dešifrirati novčanik</translation>
</message>
<message>
<source>Change passphrase</source>
<translation>Promijenite lozinku</translation>
@@ -220,6 +228,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>Lozinka unesena za dešifriranje novčanika nije ispravna.</translation>
</message>
<message>
<source>Wallet decryption failed</source>
<translation>Dešifriranje novčanika neuspješno</translation>
</message>
<message>
<source>Wallet passphrase was successfully changed.</source>
<translation>Lozinka za novčanik uspješno je promijenjena.</translation>
@@ -978,10 +990,6 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<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>Vraćanje ove postavke zahtijeva ponovno preuzimanje cijelog lanca blokova. Brže je prvo preuzeti čitav lanac i kasnije ga obrezati. Onemogućava neke napredne funkcije.</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>Ako ste odlučili ograničiti skladištenje lanca blokova (obrezivanje), povijesni podaci i dalje se moraju preuzeti i obraditi, ali će se nakon toga izbrisati kako bi se smanjila upotreba diska.</translation>
@@ -1162,6 +1170,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>&amp;Network</source>
<translation>&amp;Mreža</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>Onemogućuje neke napredne stavke ali svi blokovi će i dalje biti u potpunosti validni(provjereni). Opoziv ove postavke zahtijeva ponovno skidanje čitavog blockchaina. Stvarna iskorištenost diska može da bude nešto veća.</translation>
</message>
<message>
<source>GB</source>
<translation>GB</translation>
@@ -1242,6 +1254,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Error</source>
<translation>Greška</translation>
</message>
<message>
<source>The configuration file could not be opened.</source>
<translation>Konfiguracijski falj nije bilo moguce otvoriti.</translation>
</message>
</context>
<context>
<name>OverviewPage</name>
@@ -1249,6 +1265,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Form</source>
<translation>Obrazac</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>Moguće je da su prikazane informacije zastarjele.Vaš novčanik se automatski sinhronizira sa Bitcoin mrežom nakon što je konekcija uspostavljena, ali proces nije još uvijek dovršen.</translation>
</message>
<message>
<source>Recent transactions</source>
<translation>Nedavne transakcije</translation>
</message>
</context>
<context>
<name>PSBTOperationsDialog</name>

View File

@@ -1000,6 +1000,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Welcome to %1.</source>
<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>

View File

@@ -189,6 +189,22 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
<source>Enter the old passphrase and new passphrase for the wallet.</source>
<translation>Ingresa la antigua frase de contraseña y la nueva frase de contraseña 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 billetera no garantiza total protección de robo de tus bitcoins si tu ordenador es infectado con malware.</translation>
</message>
<message>
<source>Wallet to be encrypted</source>
<translation>Billetera a cifrar</translation>
</message>
<message>
<source>Your wallet is about to be encrypted. </source>
<translation>Tu billetera esta a punto de ser encriptada.</translation>
</message>
<message>
<source>Your wallet is now encrypted. </source>
<translation>Tu billetera ha sido 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 respaldo anterior que hayas hecho del archivo de tu billetera debe ser reemplazado por el nuevo archivo encriptado que has generado. Por razones de seguridad, todos los respaldos realizados anteriormente serán inutilizables al momento de que utilices tu nueva billetera encriptada.</translation>
@@ -311,6 +327,14 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
<source>Open &amp;URI...</source>
<translation>Abrir y url...</translation>
</message>
<message>
<source>Create Wallet...</source>
<translation>Crear billetera...</translation>
</message>
<message>
<source>Create a new wallet</source>
<translation>Crear una nueva billetera</translation>
</message>
<message>
<source>Wallet:</source>
<translation>Billetera:</translation>
@@ -459,10 +483,66 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
<source>Up to date</source>
<translation>Actualizado</translation>
</message>
<message>
<source>Load Partially Signed Bitcoin Transaction from clipboard</source>
<translation>Cargar una transacción de Bitcoin parcialmente firmada desde el Portapapeles</translation>
</message>
<message>
<source>Node window</source>
<translation>Ventana del nodo</translation>
</message>
<message>
<source>Open node debugging and diagnostic console</source>
<translation>Abrir la consola de depuración y diagnóstico del nodo</translation>
</message>
<message>
<source>&amp;Sending addresses</source>
<translation>&amp;Direcciones de envío</translation>
</message>
<message>
<source>&amp;Receiving addresses</source>
<translation>&amp;Direcciones de entrega</translation>
</message>
<message>
<source>Open a bitcoin: URI</source>
<translation>Abrir un bitcoin: URI</translation>
</message>
<message>
<source>Open Wallet</source>
<translation>Abrir billetera</translation>
</message>
<message>
<source>Open a wallet</source>
<translation>Abrir una billetera</translation>
</message>
<message>
<source>Close Wallet...</source>
<translation>Cerrar billetera...</translation>
</message>
<message>
<source>Close wallet</source>
<translation>Cerrar billetera</translation>
</message>
<message>
<source>Close All Wallets...</source>
<translation>Cerrar todas las billeteras...</translation>
</message>
<message>
<source>Close all wallets</source>
<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>
<translation>Mostrar el mensaje de ayuda %1 para obtener una lista de los posibles comandos de Bitcoin</translation>
</message>
<message>
<source>default wallet</source>
<translation>billetera predeterminada</translation>
</message>
<message>
<source>No wallets available</source>
<translation>No hay billeteras disponibles</translation>
</message>
<message>
<source>&amp;Window</source>
<translation>Ventana</translation>
@@ -471,6 +551,10 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
<source>Minimize</source>
<translation>Minimizar</translation>
</message>
<message>
<source>Zoom</source>
<translation>Acercar</translation>
</message>
<message>
<source>Main Window</source>
<translation>Ventana principal</translation>
@@ -491,6 +575,10 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
<source>Error: %1</source>
<translation>Error: %1</translation>
</message>
<message>
<source>Warning: %1</source>
<translation>Advertencia: %1</translation>
</message>
<message>
<source>Date: %1
</source>
@@ -555,6 +643,10 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>La billetera esta &lt;b&gt;codificada&lt;/b&gt; y actualmente &lt;b&gt;bloqueda&lt;/b&gt;</translation>
</message>
<message>
<source>Original message:</source>
<translation>Mensaje original:</translation>
</message>
</context>
<context>
<name>CoinControlDialog</name>
@@ -710,17 +802,69 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
</context>
<context>
<name>CreateWalletActivity</name>
</context>
<message>
<source>Creating Wallet &lt;b&gt;%1&lt;/b&gt;...</source>
<translation>Creando billetera &lt;b&gt;%1&lt;/b&gt;...</translation>
</message>
<message>
<source>Create wallet failed</source>
<translation>Fallo al crear la billetera</translation>
</message>
<message>
<source>Create wallet warning</source>
<translation>Advertencia al crear la billetera</translation>
</message>
</context>
<context>
<name>CreateWalletDialog</name>
<message>
<source>Create Wallet</source>
<translation>Crear Billetera</translation>
</message>
<message>
<source>Wallet</source>
<translation>Cartera</translation>
</message>
<message>
<source>Wallet Name</source>
<translation>Nombre de la billetera </translation>
</message>
<message>
<source>Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice.</source>
<translation>Encriptar la billetera. La billetera será encriptada con una contraseña de tu elección.</translation>
</message>
<message>
<source>Encrypt Wallet</source>
<translation>Encriptar la billetera</translation>
</message>
<message>
<source>Advanced Options</source>
<translation>Opciones avanzadas</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>Desactivar las claves privadas para esta billetera. Las billeteras con claves privadas desactivadas no tendrán claves privadas y no podrán tener ninguna semilla HD o claves privadas importadas. Esto es ideal para billeteras de solo lectura.</translation>
</message>
<message>
<source>Disable Private Keys</source>
<translation>Desactivar las claves privadas</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>Crea una billetera en blanco. Las billeteras en blanco inicialmente no tienen llaves privadas o texto. Las llaves privadas y las direcciones pueden ser importadas, o se puede establecer una semilla HD, más tarde.</translation>
</message>
<message>
<source>Make Blank Wallet</source>
<translation>Crear billetera vacía</translation>
</message>
<message>
<source>Descriptor Wallet</source>
<translation>Descriptor de la billetera</translation>
</message>
<message>
<source>Create</source>
<translation>Crear</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
@@ -928,6 +1072,10 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
<source>Hide</source>
<translation>Ocultar</translation>
</message>
<message>
<source>Esc</source>
<translation>Esc</translation>
</message>
<message>
<source>Unknown. Syncing Headers (%1, %2%)...</source>
<translation>Desconocido. Sincronizando cabeceras (%1, %2%)...</translation>
@@ -942,6 +1090,10 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
</context>
<context>
<name>OpenWalletActivity</name>
<message>
<source>default wallet</source>
<translation>billetera predeterminada</translation>
</message>
</context>
<context>
<name>OptionsDialog</name>
@@ -1264,11 +1416,35 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
</context>
<context>
<name>PSBTOperationsDialog</name>
<message>
<source>Dialog</source>
<translation>Dialogo</translation>
</message>
<message>
<source>Save...</source>
<translation>Guardar...</translation>
</message>
<message>
<source>Close</source>
<translation>Cerrar</translation>
</message>
<message>
<source>Save Transaction Data</source>
<translation>Guardar datos de la transacción</translation>
</message>
<message>
<source>Total Amount</source>
<translation>Monto total</translation>
</message>
<message>
<source>or</source>
<translation>o</translation>
</message>
</context>
<message>
<source>Transaction status is unknown.</source>
<translation>El estado de la transacción es desconocido.</translation>
</message>
</context>
<context>
<name>PaymentServer</name>
<message>
@@ -1503,6 +1679,14 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
<source>Memory usage</source>
<translation>Memoria utilizada</translation>
</message>
<message>
<source>Wallet: </source>
<translation>Billetera:</translation>
</message>
<message>
<source>(none)</source>
<translation>(ninguno)</translation>
</message>
<message>
<source>&amp;Reset</source>
<translation>&amp;Reestablecer</translation>
@@ -1552,6 +1736,14 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
<source>User Agent</source>
<translation>User Agent</translation>
</message>
<message>
<source>Node window</source>
<translation>Ventana del nodo</translation>
</message>
<message>
<source>Current block height</source>
<translation>Altura del bloque actual</translation>
</message>
<message>
<source>Decrease font size</source>
<translation>Disminuir tamaño de fuente</translation>
@@ -1560,6 +1752,10 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
<source>Increase font size</source>
<translation>Aumentar tamaño de fuente</translation>
</message>
<message>
<source>Permissions</source>
<translation>Permisos</translation>
</message>
<message>
<source>Services</source>
<translation>Servicios</translation>
@@ -1790,10 +1986,18 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
</context>
<context>
<name>ReceiveRequestDialog</name>
<message>
<source>Address:</source>
<translation>Dirección:</translation>
</message>
<message>
<source>Amount:</source>
<translation>Cantidad:</translation>
</message>
<message>
<source>Label:</source>
<translation>Etiqueta:</translation>
</message>
<message>
<source>Message:</source>
<translation>Mensaje:</translation>
@@ -1949,6 +2153,10 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
<source>Dust:</source>
<translation>Polvo:</translation>
</message>
<message>
<source>Hide transaction fee settings</source>
<translation>Esconder ajustes de la tarifa de transacción</translation>
</message>
<message>
<source>Confirmation time target:</source>
<translation>Objetivo de tiempo de confirmación</translation>
@@ -2001,6 +2209,10 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
<source>%1 (%2 blocks)</source>
<translation>%1 (%2 bloques)</translation>
</message>
<message>
<source> from wallet '%1'</source>
<translation>desde la billetera '%1'</translation>
</message>
<message>
<source>%1 to %2</source>
<translation>%1 a %2</translation>
@@ -2009,18 +2221,38 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
<source>Are you sure you want to send?</source>
<translation>¿Seguro que quiere enviar?</translation>
</message>
<message>
<source>Save Transaction Data</source>
<translation>Guardar datos de la transacción</translation>
</message>
<message>
<source>or</source>
<translation>o</translation>
</message>
<message>
<source>Please, review your transaction.</source>
<translation>Por favor, revise su transacción.</translation>
</message>
<message>
<source>Transaction fee</source>
<translation>Comisión de transacción</translation>
</message>
<message>
<source>Total Amount</source>
<translation>Monto total</translation>
</message>
<message>
<source>Confirm send coins</source>
<translation>Confirmar el envió de monedas</translation>
</message>
<message>
<source>Confirm transaction proposal</source>
<translation>Confirmar la propuesta de transacción</translation>
</message>
<message>
<source>Send</source>
<translation>Enviar</translation>
</message>
<message>
<source>The recipient address is not valid. Please recheck.</source>
<translation>La dirección de envío no es válida. Por favor revisala.</translation>
@@ -2037,6 +2269,10 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation>El total sobrepasa tu saldo cuando se incluyen %1 como comisión de envió.</translation>
</message>
<message>
<source>Duplicate address found: addresses should only be used once each.</source>
<translation>Dirección duplicada encontrada: las direcciones sólo deben ser utilizadas una vez.</translation>
</message>
<message>
<source>Transaction creation failed!</source>
<translation>¡Fallo al crear la transacción!</translation>
@@ -2112,6 +2348,10 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
<source>S&amp;ubtract fee from amount</source>
<translation>Restar comisiones del monto.</translation>
</message>
<message>
<source>Use available balance</source>
<translation>Usar el saldo disponible</translation>
</message>
<message>
<source>Message:</source>
<translation>Mensaje:</translation>
@@ -2246,6 +2486,10 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
<source>Wallet unlock was cancelled.</source>
<translation>El desbloqueo del monedero fue cancelado.</translation>
</message>
<message>
<source>No error</source>
<translation>No hay error</translation>
</message>
<message>
<source>Private key for the entered address is not available.</source>
<translation>La llave privada para la dirección introducida no está disponible.</translation>
@@ -2703,10 +2947,26 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
</context>
<context>
<name>WalletController</name>
</context>
<message>
<source>Close wallet</source>
<translation>Cerrar billetera</translation>
</message>
<message>
<source>Close all wallets</source>
<translation>Cerrar todas las billeteras</translation>
</message>
<message>
<source>Are you sure you wish to close all wallets?</source>
<translation>¿Está seguro de que desea cerrar todas las billeteras?</translation>
</message>
</context>
<context>
<name>WalletFrame</name>
</context>
<message>
<source>Create a new wallet</source>
<translation>Crear una nueva billetera</translation>
</message>
</context>
<context>
<name>WalletModel</name>
<message>
@@ -2749,7 +3009,11 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
<source>Could not commit transaction</source>
<translation>No se pudo confirmar la transacción</translation>
</message>
</context>
<message>
<source>default wallet</source>
<translation>billetera predeterminada</translation>
</message>
</context>
<context>
<name>WalletView</name>
<message>
@@ -2764,6 +3028,10 @@ Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<source>Load Transaction Data</source>
<translation>Cargar datos de la transacción</translation>
</message>
<message>
<source>Backup Wallet</source>
<translation>Respaldar monedero</translation>

View File

@@ -287,6 +287,10 @@ Signing is only possible with addresses of the type 'legacy'.</translation>
<source>Quit application</source>
<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>

4081
src/qt/locale/bitcoin_ga.ts Normal file

File diff suppressed because it is too large Load Diff

1921
src/qt/locale/bitcoin_gl.ts Normal file

File diff suppressed because it is too large Load Diff

343
src/qt/locale/bitcoin_gu.ts Normal file
View File

@@ -0,0 +1,343 @@
<TS language="gu" version="2.1">
<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>
<message>
<source>&amp;New</source>
<translation></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>
<message>
<source>C&amp;lose</source>
<translation>&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>
<message>
<source>&amp;Delete</source>
<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> . "મેળવવા" "ચૂકવણું લેવા માટે નવું સરનામુ બનાવો" .
િિ 'legacy એટલેકે જુના પ્રકાર નુ' .</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>
<message>
<source>Export Address List</source>
<translation> િ િ </translation>
</message>
<message>
<source>Comma separated file (*.csv)</source>
<translation>િ િ (*.csv)</translation>
</message>
<message>
<source>Exporting Failed</source>
<translation>િ િ િ </translation>
</message>
</context>
<context>
<name>AddressTableModel</name>
<message>
<source>Label</source>
<translation>િ</translation>
</message>
<message>
<source>Address</source>
<translation></translation>
</message>
<message>
<source>(no label)</source>
<translation> </translation>
</message>
</context>
<context>
<name>AskPassphraseDialog</name>
<message>
<source>Passphrase Dialog</source>
<translation> </translation>
</message>
<message>
<source>Enter passphrase</source>
<translation> </translation>
</message>
<message>
<source>New passphrase</source>
<translation> </translation>
</message>
<message>
<source>Repeat new passphrase</source>
<translation> </translation>
</message>
<message>
<source>Show passphrase</source>
<translation> </translation>
</message>
<message>
<source>Encrypt wallet</source>
<translation>િ </translation>
</message>
<message>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation> </translation>
</message>
<message>
<source>Unlock wallet</source>
<translation> </translation>
</message>
<message>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation> િિ </translation>
</message>
<message>
<source>Decrypt wallet</source>
<translation>િિ </translation>
</message>
<message>
<source>Change passphrase</source>
<translation> </translation>
</message>
<message>
<source>Confirm wallet encryption</source>
<translation>િ </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>: letલેટ િ , િ !</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>
</context>
<context>
<name>BanTableModel</name>
</context>
<context>
<name>BitcoinGUI</name>
</context>
<context>
<name>CoinControlDialog</name>
<message>
<source>(no label)</source>
<translation> </translation>
</message>
</context>
<context>
<name>CreateWalletActivity</name>
</context>
<context>
<name>CreateWalletDialog</name>
</context>
<context>
<name>EditAddressDialog</name>
</context>
<context>
<name>FreespaceChecker</name>
</context>
<context>
<name>HelpMessageDialog</name>
</context>
<context>
<name>Intro</name>
</context>
<context>
<name>ModalOverlay</name>
</context>
<context>
<name>OpenURIDialog</name>
</context>
<context>
<name>OpenWalletActivity</name>
</context>
<context>
<name>OptionsDialog</name>
</context>
<context>
<name>OverviewPage</name>
</context>
<context>
<name>PSBTOperationsDialog</name>
</context>
<context>
<name>PaymentServer</name>
</context>
<context>
<name>PeerTableModel</name>
</context>
<context>
<name>QObject</name>
</context>
<context>
<name>QRImageWidget</name>
</context>
<context>
<name>RPCConsole</name>
</context>
<context>
<name>ReceiveCoinsDialog</name>
</context>
<context>
<name>ReceiveRequestDialog</name>
</context>
<context>
<name>RecentRequestsTableModel</name>
<message>
<source>Label</source>
<translation>િ</translation>
</message>
<message>
<source>(no label)</source>
<translation> </translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
<source>(no label)</source>
<translation> </translation>
</message>
</context>
<context>
<name>SendCoinsEntry</name>
</context>
<context>
<name>ShutdownWindow</name>
</context>
<context>
<name>SignVerifyMessageDialog</name>
</context>
<context>
<name>TrafficGraphWidget</name>
</context>
<context>
<name>TransactionDesc</name>
</context>
<context>
<name>TransactionDescDialog</name>
</context>
<context>
<name>TransactionTableModel</name>
<message>
<source>Label</source>
<translation>િ</translation>
</message>
<message>
<source>(no label)</source>
<translation> </translation>
</message>
</context>
<context>
<name>TransactionView</name>
<message>
<source>Comma separated file (*.csv)</source>
<translation>િ િ (*.csv)</translation>
</message>
<message>
<source>Label</source>
<translation>િ</translation>
</message>
<message>
<source>Address</source>
<translation></translation>
</message>
<message>
<source>Exporting Failed</source>
<translation>િ િ િ </translation>
</message>
</context>
<context>
<name>UnitDisplayStatusBarControl</name>
</context>
<context>
<name>WalletController</name>
</context>
<context>
<name>WalletFrame</name>
</context>
<context>
<name>WalletModel</name>
</context>
<context>
<name>WalletView</name>
<message>
<source>&amp;Export</source>
<translation>&amp; િ </translation>
</message>
<message>
<source>Export the data in the current tab to a file</source>
<translation> િ િ </translation>
</message>
</context>
<context>
<name>bitcoin-core</name>
</context>
</TS>

View File

@@ -1045,7 +1045,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
</message>
<message>
<source>%1 will download and store a copy of the Bitcoin block chain.</source>
<translation>%1 akan mengunduh dan menyimpan salinan Bitcoin block chain.</translation>
<translation>%1 akan mengunduh dan menyimpan salinan Bitcoin blockchain.</translation>
</message>
<message>
<source>The wallet will also be stored in this directory.</source>

347
src/qt/locale/bitcoin_kl.ts Normal file
View File

@@ -0,0 +1,347 @@
<TS language="kl" version="2.1">
<context>
<name>AddressBookPage</name>
<message>
<source>&amp;New</source>
<translation>&amp;Nutaamik sanagit</translation>
</message>
<message>
<source>&amp;Copy</source>
<translation>&amp;Kopeeruk</translation>
</message>
<message>
<source>C&amp;lose</source>
<translation>M&amp;atuguk</translation>
</message>
<message>
<source>Delete the currently selected address from the list</source>
<translation>Allattorsimaffimminngaanniit toqqakkat peeruk</translation>
</message>
<message>
<source>&amp;Delete</source>
<translation>&amp;Peeruk</translation>
</message>
</context>
<context>
<name>AddressTableModel</name>
<message>
<source>Label</source>
<translation>Taaguut</translation>
</message>
</context>
<context>
<name>AskPassphraseDialog</name>
<message>
<source>Enter passphrase</source>
<translation>Isissutissaq allaguk</translation>
</message>
<message>
<source>New passphrase</source>
<translation>Isissutissaq nutaaq sanajuk</translation>
</message>
<message>
<source>Repeat new passphrase</source>
<translation>Isissutissaq ilaaqqiguk</translation>
</message>
<message>
<source>Show passphrase</source>
<translation>Isissutissaq nuisiguk</translation>
</message>
<message>
<source>Encrypt wallet</source>
<translation>Aningaasiviit kode-leruk</translation>
</message>
<message>
<source>Unlock wallet</source>
<translation>Aningaasiviit parnaarunnaaruk</translation>
</message>
<message>
<source>Decrypt wallet</source>
<translation>Aningaasivik kodea peeruk</translation>
</message>
<message>
<source>Change passphrase</source>
<translation>Isertaatik allanngortiguk</translation>
</message>
<message>
<source>Confirm wallet encryption</source>
<translation>Aningaasivippit matuersaataa uppernarsaruk</translation>
</message>
<message>
<source>Wallet encrypted</source>
<translation>Angingaasivik paasipuminaappoq</translation>
</message>
<message>
<source>Wallet passphrase was successfully changed.</source>
<translation>Aningaasiviup isissutissaa taarserpoq</translation>
</message>
</context>
<context>
<name>BanTableModel</name>
<message>
<source>IP/Netmask</source>
<translation>IP/Netmask</translation>
</message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
<source>Wallet:</source>
<translation>Aningaasivik:</translation>
</message>
<message>
<source>&amp;Show / Hide</source>
<translation>&amp;Nuisiguk / Tarrisiguk</translation>
</message>
<message>
<source>Open Wallet</source>
<translation>Ammaruk aningaasivik</translation>
</message>
<message>
<source>Amount: %1
</source>
<translation>Bitcoin amerlassusaa: %1
</translation>
</message>
</context>
<context>
<name>CoinControlDialog</name>
<message>
<source>Fee:</source>
<translation>Akileraarut:</translation>
</message>
<message>
<source>After Fee:</source>
<translation>Akileraarut peereerlugu:</translation>
</message>
<message>
<source>Amount</source>
<translation>Bitcoin amerlassusaa</translation>
</message>
<message>
<source>Date</source>
<translation>Ulloq</translation>
</message>
<message>
<source>Confirmations</source>
<translation>Akuersissutit</translation>
</message>
<message>
<source>Confirmed</source>
<translation>Akuerineqarpoq</translation>
</message>
</context>
<context>
<name>CreateWalletActivity</name>
</context>
<context>
<name>CreateWalletDialog</name>
</context>
<context>
<name>EditAddressDialog</name>
<message>
<source>&amp;Label</source>
<translation>&amp;Taajuut</translation>
</message>
<message>
<source>Could not unlock wallet.</source>
<translation>Aningaasivik ammarneqanngilaq</translation>
</message>
</context>
<context>
<name>FreespaceChecker</name>
</context>
<context>
<name>HelpMessageDialog</name>
</context>
<context>
<name>Intro</name>
<message>
<source>Welcome</source>
<translation>Tikilluarit</translation>
</message>
<message>
<source>Welcome to %1.</source>
<translation>Tikilluarit uunga %1</translation>
</message>
<message>
<source>Bitcoin</source>
<translation>Bitcoin</translation>
</message>
</context>
<context>
<name>ModalOverlay</name>
<message>
<source>Hide</source>
<translation>Tarrisiguk</translation>
</message>
<message>
<source>Esc</source>
<translation>Esc</translation>
</message>
</context>
<context>
<name>OpenURIDialog</name>
</context>
<context>
<name>OpenWalletActivity</name>
</context>
<context>
<name>OptionsDialog</name>
<message>
<source>Options</source>
<translation>Toqqagassat</translation>
</message>
</context>
<context>
<name>OverviewPage</name>
</context>
<context>
<name>PSBTOperationsDialog</name>
</context>
<context>
<name>PaymentServer</name>
</context>
<context>
<name>PeerTableModel</name>
</context>
<context>
<name>QObject</name>
<message>
<source>Amount</source>
<translation>Aningaasat amerlassusaa</translation>
</message>
<message>
<source>%1 d</source>
<translation>%1 d</translation>
</message>
<message>
<source>%1 h</source>
<translation>%1 t</translation>
</message>
<message>
<source>%1 m</source>
<translation>%1 m</translation>
</message>
<message>
<source>%1 s</source>
<translation>%1 s</translation>
</message>
</context>
<context>
<name>QRImageWidget</name>
</context>
<context>
<name>RPCConsole</name>
</context>
<context>
<name>ReceiveCoinsDialog</name>
<message>
<source>Could not unlock wallet.</source>
<translation>Aningaasivik ammarneqanngilaq</translation>
</message>
</context>
<context>
<name>ReceiveRequestDialog</name>
<message>
<source>Wallet:</source>
<translation>Aningaasivik:</translation>
</message>
</context>
<context>
<name>RecentRequestsTableModel</name>
<message>
<source>Date</source>
<translation>Ulloq</translation>
</message>
<message>
<source>Label</source>
<translation>Taaguut</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
<source>Fee:</source>
<translation>Akileraarut</translation>
</message>
<message>
<source>After Fee:</source>
<translation>Akileraarut peereerlugu:</translation>
</message>
<message>
<source>Hide</source>
<translation>Tarrisiguk</translation>
</message>
</context>
<context>
<name>SendCoinsEntry</name>
</context>
<context>
<name>ShutdownWindow</name>
</context>
<context>
<name>SignVerifyMessageDialog</name>
</context>
<context>
<name>TrafficGraphWidget</name>
</context>
<context>
<name>TransactionDesc</name>
<message>
<source>Date</source>
<translation>Ulloq</translation>
</message>
<message>
<source>Amount</source>
<translation>Aningaasat amerlassusaa</translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
</context>
<context>
<name>TransactionTableModel</name>
<message>
<source>Date</source>
<translation>Ulloq</translation>
</message>
<message>
<source>Label</source>
<translation>Taaguut</translation>
</message>
</context>
<context>
<name>TransactionView</name>
<message>
<source>Confirmed</source>
<translation>Akuerineqarpoq</translation>
</message>
<message>
<source>Date</source>
<translation>Ulloq</translation>
</message>
<message>
<source>Label</source>
<translation>Taaguut</translation>
</message>
</context>
<context>
<name>UnitDisplayStatusBarControl</name>
</context>
<context>
<name>WalletController</name>
</context>
<context>
<name>WalletFrame</name>
</context>
<context>
<name>WalletModel</name>
</context>
<context>
<name>WalletView</name>
</context>
<context>
<name>bitcoin-core</name>
</context>
</TS>

4114
src/qt/locale/bitcoin_ms.ts Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
<translation>Rechtermuisklik om adres of label te wijzigen</translation>
<translation>Rechtermuisklik om adres of label aan te passen</translation>
</message>
<message>
<source>Create a new address</source>

222
src/qt/locale/bitcoin_no.ts Normal file
View File

@@ -0,0 +1,222 @@
<TS language="no" version="2.1">
<context>
<name>AddressBookPage</name>
<message>
<source>Right-click to edit address or label</source>
<translation>Høyreklikk for å redigere addressen eller etikketen </translation>
</message>
<message>
<source>Create a new address</source>
<translation>Lag en ny adresse</translation>
</message>
<message>
<source>&amp;New</source>
<translation>&amp;Ny
</translation>
</message>
<message>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Kopier den valgte adressen til systemutklippstavlen</translation>
</message>
<message>
<source>&amp;Copy</source>
<translation>&amp;Kopier</translation>
</message>
<message>
<source>C&amp;lose</source>
<translation>C&amp;Tap</translation>
</message>
<message>
<source>Delete the currently selected address from the list</source>
<translation>Slett den valgte adressen fra listen </translation>
</message>
<message>
<source>Enter address or label to search</source>
<translation>Tast inn adressen eller etiketten for å søke</translation>
</message>
<message>
<source>Export the data in the current tab to a file</source>
<translation>Eksporter dataen i gjeldende fane til en fil </translation>
</message>
<message>
<source>&amp;Export</source>
<translation>&amp;Eksporter</translation>
</message>
<message>
<source>&amp;Delete</source>
<translation>&amp;Slett</translation>
</message>
<message>
<source>Choose the address to send coins to</source>
<translation>Velg adressen du vil sende mynter til </translation>
</message>
<message>
<source>Choose the address to receive coins with</source>
<translation>Velg adressen du vil motta mynter med </translation>
</message>
<message>
<source>Sending addresses</source>
<translation>Sender adresser </translation>
</message>
<message>
<source>Receiving addresses</source>
<translation>Mottar adresser </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>Dette er dine Bitcoin adresser for å sende betalinger.Alltid sjekk mengden og mottaker adressen før du sender mynter. </translation>
</message>
<message>
<source>&amp;Copy Address</source>
<translation>&amp;Koper adresse</translation>
</message>
<message>
<source>Export Address List</source>
<translation>Eksporter adresse liste</translation>
</message>
<message>
<source>Exporting Failed</source>
<translation>Eksportering feilet </translation>
</message>
</context>
<context>
<name>AddressTableModel</name>
<message>
<source>Address</source>
<translation>Adresse </translation>
</message>
</context>
<context>
<name>AskPassphraseDialog</name>
</context>
<context>
<name>BanTableModel</name>
</context>
<context>
<name>BitcoinGUI</name>
</context>
<context>
<name>CoinControlDialog</name>
</context>
<context>
<name>CreateWalletActivity</name>
</context>
<context>
<name>CreateWalletDialog</name>
</context>
<context>
<name>EditAddressDialog</name>
</context>
<context>
<name>FreespaceChecker</name>
</context>
<context>
<name>HelpMessageDialog</name>
</context>
<context>
<name>Intro</name>
</context>
<context>
<name>ModalOverlay</name>
</context>
<context>
<name>OpenURIDialog</name>
</context>
<context>
<name>OpenWalletActivity</name>
</context>
<context>
<name>OptionsDialog</name>
</context>
<context>
<name>OverviewPage</name>
</context>
<context>
<name>PSBTOperationsDialog</name>
</context>
<context>
<name>PaymentServer</name>
</context>
<context>
<name>PeerTableModel</name>
</context>
<context>
<name>QObject</name>
</context>
<context>
<name>QRImageWidget</name>
</context>
<context>
<name>RPCConsole</name>
</context>
<context>
<name>ReceiveCoinsDialog</name>
</context>
<context>
<name>ReceiveRequestDialog</name>
</context>
<context>
<name>RecentRequestsTableModel</name>
</context>
<context>
<name>SendCoinsDialog</name>
</context>
<context>
<name>SendCoinsEntry</name>
</context>
<context>
<name>ShutdownWindow</name>
</context>
<context>
<name>SignVerifyMessageDialog</name>
</context>
<context>
<name>TrafficGraphWidget</name>
</context>
<context>
<name>TransactionDesc</name>
</context>
<context>
<name>TransactionDescDialog</name>
</context>
<context>
<name>TransactionTableModel</name>
</context>
<context>
<name>TransactionView</name>
<message>
<source>Address</source>
<translation>Adresse </translation>
</message>
<message>
<source>Exporting Failed</source>
<translation>Eksportering feilet </translation>
</message>
</context>
<context>
<name>UnitDisplayStatusBarControl</name>
</context>
<context>
<name>WalletController</name>
</context>
<context>
<name>WalletFrame</name>
</context>
<context>
<name>WalletModel</name>
</context>
<context>
<name>WalletView</name>
<message>
<source>&amp;Export</source>
<translation>&amp;Eksporter</translation>
</message>
<message>
<source>Export the data in the current tab to a file</source>
<translation>Eksporter dataen i gjeldende fane til en fil </translation>
</message>
</context>
<context>
<name>bitcoin-core</name>
</context>
</TS>

View File

@@ -1530,6 +1530,10 @@ Cüzdan kilidini aç.</translation>
<source>PSBT saved to disk.</source>
<translation>PSBT diske kaydedildi.</translation>
</message>
<message>
<source>Pays transaction fee: </source>
<translation>İşlem ücreti:&lt;br&gt;</translation>
</message>
<message>
<source>Total Amount</source>
<translation>Toplam Tutar</translation>
@@ -1538,6 +1542,10 @@ Cüzdan kilidini aç.</translation>
<source>or</source>
<translation>veya</translation>
</message>
<message>
<source>Transaction still needs signature(s).</source>
<translation>İşlemin hala imza(lar)a ihtiyacı var.</translation>
</message>
<message>
<source>Transaction status is unknown.</source>
<translation>İşlem durumu bilinmiyor.</translation>

267
src/qt/locale/bitcoin_ug.ts Normal file
View File

@@ -0,0 +1,267 @@
<TS language="ug" version="2.1">
<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>
<message>
<source>&amp;New</source>
<translation>يېڭى(&amp;N)</translation>
</message>
<message>
<source>Copy the currently selected address to the system clipboard</source>
<translation>نۆۋەتتە تاللىغان ئادرېسنى سىستېما چاپلاش تاختىسىغا كۆچۈرىدۇ</translation>
</message>
<message>
<source>&amp;Copy</source>
<translation>كۆچۈر(&amp;C)</translation>
</message>
<message>
<source>C&amp;lose</source>
<translation>تاقا(&amp;L)</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;E)</translation>
</message>
<message>
<source>&amp;Delete</source>
<translation>ئۆچۈر(&amp;D)</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;H)</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>بۇلار سىز 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 تاپشۇرۇۋېلىشقا ئىشلىتىدىغان ئادرېسىڭىز. «قوبۇللاش» بەتكۈچتىكى «يېڭى تاپشۇرۇۋېلىش ئادرېسى قۇر» توپچىنى چېكىپ يېڭى ئادرېس قۇرالايسىز.
پەقەت «ئەنئەنىۋى(legacy)» تىپتىكى ئادرېسلا ئىمزانى قوللايدۇ.</translation>
</message>
<message>
<source>Export Address List</source>
<translation>ئادرېس تىزىمىنى چىقار</translation>
</message>
<message>
<source>Exporting Failed</source>
<translation>چىقىرالمىدى</translation>
</message>
<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>
<source>Label</source>
<translation>بەلگە</translation>
</message>
<message>
<source>Address</source>
<translation>ئادرېس</translation>
</message>
<message>
<source>(no label)</source>
<translation>(بەلگە يوق)</translation>
</message>
</context>
<context>
<name>AskPassphraseDialog</name>
</context>
<context>
<name>BanTableModel</name>
</context>
<context>
<name>BitcoinGUI</name>
</context>
<context>
<name>CoinControlDialog</name>
<message>
<source>(no label)</source>
<translation>(بەلگە يوق)</translation>
</message>
</context>
<context>
<name>CreateWalletActivity</name>
</context>
<context>
<name>CreateWalletDialog</name>
</context>
<context>
<name>EditAddressDialog</name>
</context>
<context>
<name>FreespaceChecker</name>
</context>
<context>
<name>HelpMessageDialog</name>
</context>
<context>
<name>Intro</name>
</context>
<context>
<name>ModalOverlay</name>
</context>
<context>
<name>OpenURIDialog</name>
</context>
<context>
<name>OpenWalletActivity</name>
</context>
<context>
<name>OptionsDialog</name>
</context>
<context>
<name>OverviewPage</name>
</context>
<context>
<name>PSBTOperationsDialog</name>
</context>
<context>
<name>PaymentServer</name>
</context>
<context>
<name>PeerTableModel</name>
</context>
<context>
<name>QObject</name>
</context>
<context>
<name>QRImageWidget</name>
</context>
<context>
<name>RPCConsole</name>
</context>
<context>
<name>ReceiveCoinsDialog</name>
</context>
<context>
<name>ReceiveRequestDialog</name>
</context>
<context>
<name>RecentRequestsTableModel</name>
<message>
<source>Label</source>
<translation>بەلگە</translation>
</message>
<message>
<source>(no label)</source>
<translation>(بەلگە يوق)</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
<source>(no label)</source>
<translation>(بەلگە يوق)</translation>
</message>
</context>
<context>
<name>SendCoinsEntry</name>
</context>
<context>
<name>ShutdownWindow</name>
</context>
<context>
<name>SignVerifyMessageDialog</name>
</context>
<context>
<name>TrafficGraphWidget</name>
</context>
<context>
<name>TransactionDesc</name>
</context>
<context>
<name>TransactionDescDialog</name>
</context>
<context>
<name>TransactionTableModel</name>
<message>
<source>Label</source>
<translation>بەلگە</translation>
</message>
<message>
<source>(no label)</source>
<translation>(بەلگە يوق)</translation>
</message>
</context>
<context>
<name>TransactionView</name>
<message>
<source>Label</source>
<translation>بەلگە</translation>
</message>
<message>
<source>Address</source>
<translation>ئادرېس</translation>
</message>
<message>
<source>Exporting Failed</source>
<translation>چىقىرالمىدى</translation>
</message>
</context>
<context>
<name>UnitDisplayStatusBarControl</name>
</context>
<context>
<name>WalletController</name>
</context>
<context>
<name>WalletFrame</name>
</context>
<context>
<name>WalletModel</name>
</context>
<context>
<name>WalletView</name>
<message>
<source>&amp;Export</source>
<translation>چىقار(&amp;E)</translation>
</message>
<message>
<source>Export the data in the current tab to a file</source>
<translation>نۆۋەتتىكى بەتكۈچتىكى سانلىق مەلۇماتنى ھۆججەتكە چىقىرىدۇ</translation>
</message>
</context>
<context>
<name>bitcoin-core</name>
</context>
</TS>

View File

@@ -18,7 +18,11 @@ BOOST_AUTO_TEST_CASE(getwalletenv_file)
std::string test_name = "test_name.dat";
const fs::path datadir = GetDataDir();
fs::path file_path = datadir / test_name;
#if BOOST_VERSION >= 107700
std::ofstream f(BOOST_FILESYSTEM_C_STR(file_path));
#else
std::ofstream f(file_path.BOOST_FILESYSTEM_C_STR);
#endif // BOOST_VERSION >= 107700
f.close();
std::string filename;

View File

@@ -31,7 +31,11 @@ InitWalletDirTestingSetup::InitWalletDirTestingSetup(const std::string& chainNam
fs::create_directories(m_walletdir_path_cases["default"]);
fs::create_directories(m_walletdir_path_cases["custom"]);
fs::create_directories(m_walletdir_path_cases["relative"]);
#if BOOST_VERSION >= 107700
std::ofstream f(BOOST_FILESYSTEM_C_STR(m_walletdir_path_cases["file"]));
#else
std::ofstream f(m_walletdir_path_cases["file"].BOOST_FILESYSTEM_C_STR);
#endif // BOOST_VERSION >= 107700
f.close();
}

View File

@@ -0,0 +1,130 @@
# Copyright (c) 2021 Pieter Wuille
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
"""Test-only pure Python RIPEMD160 implementation."""
import unittest
# Message schedule indexes for the left path.
ML = [
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,
3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,
1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,
4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
]
# Message schedule indexes for the right path.
MR = [
5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,
15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,
8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,
12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
]
# Rotation counts for the left path.
RL = [
11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,
11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,
11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,
9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
]
# Rotation counts for the right path.
RR = [
8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,
9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,
15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,
8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
]
# K constants for the left path.
KL = [0, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e]
# K constants for the right path.
KR = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0]
def fi(x, y, z, i):
"""The f1, f2, f3, f4, and f5 functions from the specification."""
if i == 0:
return x ^ y ^ z
elif i == 1:
return (x & y) | (~x & z)
elif i == 2:
return (x | ~y) ^ z
elif i == 3:
return (x & z) | (y & ~z)
elif i == 4:
return x ^ (y | ~z)
else:
assert False
def rol(x, i):
"""Rotate the bottom 32 bits of x left by i bits."""
return ((x << i) | ((x & 0xffffffff) >> (32 - i))) & 0xffffffff
def compress(h0, h1, h2, h3, h4, block):
"""Compress state (h0, h1, h2, h3, h4) with block."""
# Left path variables.
al, bl, cl, dl, el = h0, h1, h2, h3, h4
# Right path variables.
ar, br, cr, dr, er = h0, h1, h2, h3, h4
# Message variables.
x = [int.from_bytes(block[4*i:4*(i+1)], 'little') for i in range(16)]
# Iterate over the 80 rounds of the compression.
for j in range(80):
rnd = j >> 4
# Perform left side of the transformation.
al = rol(al + fi(bl, cl, dl, rnd) + x[ML[j]] + KL[rnd], RL[j]) + el
al, bl, cl, dl, el = el, al, bl, rol(cl, 10), dl
# Perform right side of the transformation.
ar = rol(ar + fi(br, cr, dr, 4 - rnd) + x[MR[j]] + KR[rnd], RR[j]) + er
ar, br, cr, dr, er = er, ar, br, rol(cr, 10), dr
# Compose old state, left transform, and right transform into new state.
return h1 + cl + dr, h2 + dl + er, h3 + el + ar, h4 + al + br, h0 + bl + cr
def ripemd160(data):
"""Compute the RIPEMD-160 hash of data."""
# Initialize state.
state = (0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0)
# Process full 64-byte blocks in the input.
for b in range(len(data) >> 6):
state = compress(*state, data[64*b:64*(b+1)])
# Construct final blocks (with padding and size).
pad = b"\x80" + b"\x00" * ((119 - len(data)) & 63)
fin = data[len(data) & ~63:] + pad + (8 * len(data)).to_bytes(8, 'little')
# Process final blocks.
for b in range(len(fin) >> 6):
state = compress(*state, fin[64*b:64*(b+1)])
# Produce output.
return b"".join((h & 0xffffffff).to_bytes(4, 'little') for h in state)
class TestFrameworkKey(unittest.TestCase):
def test_ripemd160(self):
"""RIPEMD-160 test vectors."""
# See https://homes.esat.kuleuven.be/~bosselae/ripemd160.html
for msg, hexout in [
(b"", "9c1185a5c5e9fc54612808977ee8f548b2258d31"),
(b"a", "0bdc9d2d256b3ee9daae347be6f4dc835a467ffe"),
(b"abc", "8eb208f7e05d987a9b044a8e98c6b087f15a0bfc"),
(b"message digest", "5d0689ef49d2fae572b881b123a85ffa21595f36"),
(b"abcdefghijklmnopqrstuvwxyz",
"f71c27109c692c1b56bbdceb5b9d2865b3708dbc"),
(b"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
"12a053384a9c0c88e405a06c27dcf49ada62eb2b"),
(b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
"b0e20b6e3116640286ed3a87a5713079b21f5189"),
(b"1234567890" * 8, "9b752e45573d4b39f4dbd3323cab82bf63326bfb"),
(b"a" * 1000000, "52783243c1697bdbe16d37f97f68f08325dc1528")
]:
self.assertEqual(ripemd160(msg).hex(), hexout)

View File

@@ -8,7 +8,6 @@ This file is modified from python-bitcoinlib.
"""
from collections import namedtuple
import hashlib
import struct
import unittest
from typing import List, Dict
@@ -25,6 +24,8 @@ from .messages import (
uint256_from_str,
)
from .ripemd160 import ripemd160
MAX_SCRIPT_ELEMENT_SIZE = 520
LOCKTIME_THRESHOLD = 500000000
ANNEX_TAG = 0x50
@@ -34,7 +35,7 @@ OPCODE_NAMES = {} # type: Dict[CScriptOp, str]
LEAF_VERSION_TAPSCRIPT = 0xc0
def hash160(s):
return hashlib.new('ripemd160', sha256(s)).digest()
return ripemd160(sha256(s))
def bn2vch(v):
"""Convert number to bitcoin-specific little endian format."""