Merge bitcoin/bitcoin#31809: Prepare "Open Transifex translations for v29.0" release step
Some checks are pending
CI / test each commit (push) Waiting to run
CI / macOS 14 native, arm64, no depends, sqlite only, gui (push) Waiting to run
CI / macOS 14 native, arm64, fuzz (push) Waiting to run
CI / Win64 native, VS 2022 (push) Waiting to run
CI / Win64 native fuzz, VS 2022 (push) Waiting to run
CI / ASan + LSan + UBSan + integer, no depends, USDT (push) Waiting to run

2f27c91086 qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file (Hennadii Stepanov)
864386a744 cmake: Ensure generated sources are up to date for `translate` target (Hennadii Stepanov)
2b51dd384b Update Transifex slug for 29.x (Hennadii Stepanov)

Pull request description:

  This PR follows our [Release Process](864386a744/doc/release-process.md).

  It is required to open Transifex translations for v29.0, as scheduled in https://github.com/bitcoin/bitcoin/issues/31029.

  The previous similar PR: https://github.com/bitcoin/bitcoin/pull/30548.

  **Notes for reviewers:**

  1. This is the first release process conducted after migrating the build system to CMake. This revealed a bug, which is fixed in the second commit

  2. To reproduce the diff in the third commit, follow these steps:
  ```
  gmake -C depends -j $(nproc) MULTIPROCESS=1
  cmake --preset dev-mode --toolchain depends/$(./depends/config.guess)/toolchain.cmake
  cmake --build build_dev_mode --target translate
  ```

ACKs for top commit:
  stickies-v:
    ACK 2f27c91086

Tree-SHA512: 325ce2418f218b82cc3b0a6c727473963455680cdf6383a85768613ed9e485974b2e52bd5b2e7a7472ad8ebe40bccb2884764d7f9e83dc10a587cd7892e0028b
This commit is contained in:
Hennadii Stepanov 2025-02-06 20:20:21 +00:00
commit f93d6cb0ca
No known key found for this signature in database
GPG key ID: 410108112E7EA81F
5 changed files with 1399 additions and 1352 deletions

View file

@ -1,7 +1,7 @@
[main] [main]
host = https://www.transifex.com host = https://www.transifex.com
[o:bitcoin:p:bitcoin:r:qt-translation-028x] [o:bitcoin:p:bitcoin:r:qt-translation-029x]
file_filter = src/qt/locale/bitcoin_<lang>.xlf file_filter = src/qt/locale/bitcoin_<lang>.xlf
source_file = src/qt/locale/bitcoin_en.xlf source_file = src/qt/locale/bitcoin_en.xlf
source_lang = en source_lang = en

View file

@ -324,6 +324,7 @@ else()
COMMAND Qt5::lconvert -drop-translations -o ${CMAKE_CURRENT_SOURCE_DIR}/locale/bitcoin_en.xlf -i ${CMAKE_CURRENT_SOURCE_DIR}/locale/bitcoin_en.ts COMMAND Qt5::lconvert -drop-translations -o ${CMAKE_CURRENT_SOURCE_DIR}/locale/bitcoin_en.xlf -i ${CMAKE_CURRENT_SOURCE_DIR}/locale/bitcoin_en.ts
COMMAND ${SED_EXECUTABLE} -i.old -e "s|source-language=\"en\" target-language=\"en\"|source-language=\"en\"|" -e "/<target xml:space=\"preserve\"><\\/target>/d" ${CMAKE_CURRENT_SOURCE_DIR}/locale/bitcoin_en.xlf COMMAND ${SED_EXECUTABLE} -i.old -e "s|source-language=\"en\" target-language=\"en\"|source-language=\"en\"|" -e "/<target xml:space=\"preserve\"><\\/target>/d" ${CMAKE_CURRENT_SOURCE_DIR}/locale/bitcoin_en.xlf
COMMAND ${CMAKE_COMMAND} -E rm ${CMAKE_CURRENT_SOURCE_DIR}/locale/bitcoin_en.xlf.old COMMAND ${CMAKE_COMMAND} -E rm ${CMAKE_CURRENT_SOURCE_DIR}/locale/bitcoin_en.xlf.old
DEPENDS ${translatable_sources}
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src
VERBATIM VERBATIM
) )

View file

@ -33,8 +33,6 @@ QT_TRANSLATE_NOOP("bitcoin-core", ""
"Cannot downgrade wallet from version %i to version %i. Wallet version " "Cannot downgrade wallet from version %i to version %i. Wallet version "
"unchanged."), "unchanged."),
QT_TRANSLATE_NOOP("bitcoin-core", "" QT_TRANSLATE_NOOP("bitcoin-core", ""
"Cannot obtain a lock on data directory %s. %s is probably already running."),
QT_TRANSLATE_NOOP("bitcoin-core", ""
"Cannot provide specific connections and have addrman find outgoing " "Cannot provide specific connections and have addrman find outgoing "
"connections at the same time."), "connections at the same time."),
QT_TRANSLATE_NOOP("bitcoin-core", "" QT_TRANSLATE_NOOP("bitcoin-core", ""
@ -62,6 +60,8 @@ QT_TRANSLATE_NOOP("bitcoin-core", ""
"Error reading %s! Transaction data may be missing or incorrect. Rescanning " "Error reading %s! Transaction data may be missing or incorrect. Rescanning "
"wallet."), "wallet."),
QT_TRANSLATE_NOOP("bitcoin-core", "" QT_TRANSLATE_NOOP("bitcoin-core", ""
"Error starting/committing db txn for wallet transactions removal process"),
QT_TRANSLATE_NOOP("bitcoin-core", ""
"Error: Address book data in wallet cannot be identified to belong to " "Error: Address book data in wallet cannot be identified to belong to "
"migrated wallets"), "migrated wallets"),
QT_TRANSLATE_NOOP("bitcoin-core", "" QT_TRANSLATE_NOOP("bitcoin-core", ""
@ -114,6 +114,9 @@ QT_TRANSLATE_NOOP("bitcoin-core", ""
"report it to %s. As a workaround, you can move the file (%s) out of the way " "report it to %s. As a workaround, you can move the file (%s) out of the way "
"(rename, move, or delete) to have a new one created on the next start."), "(rename, move, or delete) to have a new one created on the next start."),
QT_TRANSLATE_NOOP("bitcoin-core", "" QT_TRANSLATE_NOOP("bitcoin-core", ""
"Invalid value detected for '-wallet' or '-nowallet'. '-wallet' requires a "
"string value, while '-nowallet' accepts only '1' to disable all wallets"),
QT_TRANSLATE_NOOP("bitcoin-core", ""
"Maximum transaction weight is less than transaction weight without inputs"), "Maximum transaction weight is less than transaction weight without inputs"),
QT_TRANSLATE_NOOP("bitcoin-core", "" QT_TRANSLATE_NOOP("bitcoin-core", ""
"Maximum transaction weight is too low, can not accommodate change output"), "Maximum transaction weight is too low, can not accommodate change output"),
@ -129,6 +132,9 @@ QT_TRANSLATE_NOOP("bitcoin-core", ""
"No wallet file format provided. To use createfromdump, -format=<format> must " "No wallet file format provided. To use createfromdump, -format=<format> must "
"be provided."), "be provided."),
QT_TRANSLATE_NOOP("bitcoin-core", "" QT_TRANSLATE_NOOP("bitcoin-core", ""
"Option '-upnp' is set but UPnP support was dropped in version 29.0. Consider "
"using '-natpmp' instead."),
QT_TRANSLATE_NOOP("bitcoin-core", ""
"Outbound connections restricted to CJDNS (-onlynet=cjdns) but -" "Outbound connections restricted to CJDNS (-onlynet=cjdns) but -"
"cjdnsreachable is not provided"), "cjdnsreachable is not provided"),
QT_TRANSLATE_NOOP("bitcoin-core", "" QT_TRANSLATE_NOOP("bitcoin-core", ""
@ -272,10 +278,11 @@ QT_TRANSLATE_NOOP("bitcoin-core", "-maxmempool must be at least %d MB"),
QT_TRANSLATE_NOOP("bitcoin-core", "A fatal internal error occurred, see debug.log for details: "), QT_TRANSLATE_NOOP("bitcoin-core", "A fatal internal error occurred, see debug.log for details: "),
QT_TRANSLATE_NOOP("bitcoin-core", "Assumeutxo data not found for the given blockhash '%s'."), QT_TRANSLATE_NOOP("bitcoin-core", "Assumeutxo data not found for the given blockhash '%s'."),
QT_TRANSLATE_NOOP("bitcoin-core", "Block verification was interrupted"), QT_TRANSLATE_NOOP("bitcoin-core", "Block verification was interrupted"),
QT_TRANSLATE_NOOP("bitcoin-core", "Cannot obtain a lock on directory %s. %s is probably already running."),
QT_TRANSLATE_NOOP("bitcoin-core", "Cannot resolve -%s address: '%s'"), QT_TRANSLATE_NOOP("bitcoin-core", "Cannot resolve -%s address: '%s'"),
QT_TRANSLATE_NOOP("bitcoin-core", "Cannot set -forcednsseed to true when setting -dnsseed to false."), QT_TRANSLATE_NOOP("bitcoin-core", "Cannot set -forcednsseed to true when setting -dnsseed to false."),
QT_TRANSLATE_NOOP("bitcoin-core", "Cannot set -peerblockfilters without -blockfilterindex."), QT_TRANSLATE_NOOP("bitcoin-core", "Cannot set -peerblockfilters without -blockfilterindex."),
QT_TRANSLATE_NOOP("bitcoin-core", "Cannot write to data directory '%s'; check permissions."), QT_TRANSLATE_NOOP("bitcoin-core", "Cannot write to directory '%s'; check permissions."),
QT_TRANSLATE_NOOP("bitcoin-core", "Config setting for %s only applied on %s network when in [%s] section."), QT_TRANSLATE_NOOP("bitcoin-core", "Config setting for %s only applied on %s network when in [%s] section."),
QT_TRANSLATE_NOOP("bitcoin-core", "Copyright (C) %i-%i"), QT_TRANSLATE_NOOP("bitcoin-core", "Copyright (C) %i-%i"),
QT_TRANSLATE_NOOP("bitcoin-core", "Corrupt block found indicating potential hardware failure."), QT_TRANSLATE_NOOP("bitcoin-core", "Corrupt block found indicating potential hardware failure."),
@ -283,11 +290,10 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Corrupted block database detected"),
QT_TRANSLATE_NOOP("bitcoin-core", "Could not find asmap file %s"), QT_TRANSLATE_NOOP("bitcoin-core", "Could not find asmap file %s"),
QT_TRANSLATE_NOOP("bitcoin-core", "Could not parse asmap file %s"), QT_TRANSLATE_NOOP("bitcoin-core", "Could not parse asmap file %s"),
QT_TRANSLATE_NOOP("bitcoin-core", "Disk space is too low!"), QT_TRANSLATE_NOOP("bitcoin-core", "Disk space is too low!"),
QT_TRANSLATE_NOOP("bitcoin-core", "Do you want to rebuild the block database now?"), QT_TRANSLATE_NOOP("bitcoin-core", "Do you want to rebuild the databases now?"),
QT_TRANSLATE_NOOP("bitcoin-core", "Done loading"), QT_TRANSLATE_NOOP("bitcoin-core", "Done loading"),
QT_TRANSLATE_NOOP("bitcoin-core", "Dump file %s does not exist."), QT_TRANSLATE_NOOP("bitcoin-core", "Dump file %s does not exist."),
QT_TRANSLATE_NOOP("bitcoin-core", "Elliptic curve cryptography sanity check failure. %s is shutting down."), QT_TRANSLATE_NOOP("bitcoin-core", "Elliptic curve cryptography sanity check failure. %s is shutting down."),
QT_TRANSLATE_NOOP("bitcoin-core", "Error committing db txn for wallet transactions removal"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error creating %s"), QT_TRANSLATE_NOOP("bitcoin-core", "Error creating %s"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error initializing block database"), QT_TRANSLATE_NOOP("bitcoin-core", "Error initializing block database"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error initializing wallet database environment %s!"), QT_TRANSLATE_NOOP("bitcoin-core", "Error initializing wallet database environment %s!"),
@ -296,11 +302,12 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Error loading %s: Private keys can only be di
QT_TRANSLATE_NOOP("bitcoin-core", "Error loading %s: Wallet corrupted"), QT_TRANSLATE_NOOP("bitcoin-core", "Error loading %s: Wallet corrupted"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error loading %s: Wallet requires newer version of %s"), QT_TRANSLATE_NOOP("bitcoin-core", "Error loading %s: Wallet requires newer version of %s"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error loading block database"), QT_TRANSLATE_NOOP("bitcoin-core", "Error loading block database"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error loading databases"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error opening block database"), QT_TRANSLATE_NOOP("bitcoin-core", "Error opening block database"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error opening coins database"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error reading configuration file: %s"), QT_TRANSLATE_NOOP("bitcoin-core", "Error reading configuration file: %s"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error reading from database, shutting down."), QT_TRANSLATE_NOOP("bitcoin-core", "Error reading from database, shutting down."),
QT_TRANSLATE_NOOP("bitcoin-core", "Error reading next record from wallet database"), QT_TRANSLATE_NOOP("bitcoin-core", "Error reading next record from wallet database"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error starting db txn for wallet transactions removal"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error: Cannot extract destination from the generated scriptpubkey"), QT_TRANSLATE_NOOP("bitcoin-core", "Error: Cannot extract destination from the generated scriptpubkey"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error: Could not add watchonly tx %s to watchonly wallet"), QT_TRANSLATE_NOOP("bitcoin-core", "Error: Could not add watchonly tx %s to watchonly wallet"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error: Could not delete watchonly transactions. "), QT_TRANSLATE_NOOP("bitcoin-core", "Error: Could not delete watchonly transactions. "),
@ -321,10 +328,12 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Error: Unable to parse version %u as a uint32
QT_TRANSLATE_NOOP("bitcoin-core", "Error: Unable to read all records in the database"), QT_TRANSLATE_NOOP("bitcoin-core", "Error: Unable to read all records in the database"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error: Unable to read wallet's best block locator record"), QT_TRANSLATE_NOOP("bitcoin-core", "Error: Unable to read wallet's best block locator record"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error: Unable to remove watchonly address book data"), QT_TRANSLATE_NOOP("bitcoin-core", "Error: Unable to remove watchonly address book data"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error: Unable to write data to disk for wallet %s"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error: Unable to write record to new wallet"), QT_TRANSLATE_NOOP("bitcoin-core", "Error: Unable to write record to new wallet"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error: Unable to write solvable wallet best block locator record"), QT_TRANSLATE_NOOP("bitcoin-core", "Error: Unable to write solvable wallet best block locator record"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error: Unable to write watchonly wallet best block locator record"), QT_TRANSLATE_NOOP("bitcoin-core", "Error: Unable to write watchonly wallet best block locator record"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error: address book copy failed for wallet %s"), QT_TRANSLATE_NOOP("bitcoin-core", "Error: Wallet does not exist"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error: cannot remove legacy wallet records"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error: database transaction cannot be executed for wallet %s"), QT_TRANSLATE_NOOP("bitcoin-core", "Error: database transaction cannot be executed for wallet %s"),
QT_TRANSLATE_NOOP("bitcoin-core", "Failed to connect best block (%s)."), QT_TRANSLATE_NOOP("bitcoin-core", "Failed to connect best block (%s)."),
QT_TRANSLATE_NOOP("bitcoin-core", "Failed to disconnect block."), QT_TRANSLATE_NOOP("bitcoin-core", "Failed to disconnect block."),
@ -366,7 +375,7 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Missing amount"),
QT_TRANSLATE_NOOP("bitcoin-core", "Missing solving data for estimating transaction size"), QT_TRANSLATE_NOOP("bitcoin-core", "Missing solving data for estimating transaction size"),
QT_TRANSLATE_NOOP("bitcoin-core", "Need to specify a port with -whitebind: '%s'"), QT_TRANSLATE_NOOP("bitcoin-core", "Need to specify a port with -whitebind: '%s'"),
QT_TRANSLATE_NOOP("bitcoin-core", "No addresses available"), QT_TRANSLATE_NOOP("bitcoin-core", "No addresses available"),
QT_TRANSLATE_NOOP("bitcoin-core", "Not enough file descriptors available."), QT_TRANSLATE_NOOP("bitcoin-core", "Not enough file descriptors available. %d available, %d required."),
QT_TRANSLATE_NOOP("bitcoin-core", "Not found pre-selected input %s"), QT_TRANSLATE_NOOP("bitcoin-core", "Not found pre-selected input %s"),
QT_TRANSLATE_NOOP("bitcoin-core", "Not solvable pre-selected input %s"), QT_TRANSLATE_NOOP("bitcoin-core", "Not solvable pre-selected input %s"),
QT_TRANSLATE_NOOP("bitcoin-core", "Only direction was set, no permissions: '%s'"), QT_TRANSLATE_NOOP("bitcoin-core", "Only direction was set, no permissions: '%s'"),
@ -399,6 +408,7 @@ QT_TRANSLATE_NOOP("bitcoin-core", "System error while saving block to disk: %s")
QT_TRANSLATE_NOOP("bitcoin-core", "The source code is available from %s."), QT_TRANSLATE_NOOP("bitcoin-core", "The source code is available from %s."),
QT_TRANSLATE_NOOP("bitcoin-core", "The specified config file %s does not exist"), QT_TRANSLATE_NOOP("bitcoin-core", "The specified config file %s does not exist"),
QT_TRANSLATE_NOOP("bitcoin-core", "The transaction amount is too small to pay the fee"), QT_TRANSLATE_NOOP("bitcoin-core", "The transaction amount is too small to pay the fee"),
QT_TRANSLATE_NOOP("bitcoin-core", "The transactions removal process can only be executed within a db txn"),
QT_TRANSLATE_NOOP("bitcoin-core", "The wallet will avoid paying less than the minimum relay fee."), QT_TRANSLATE_NOOP("bitcoin-core", "The wallet will avoid paying less than the minimum relay fee."),
QT_TRANSLATE_NOOP("bitcoin-core", "There is no ScriptPubKeyManager for this address"), QT_TRANSLATE_NOOP("bitcoin-core", "There is no ScriptPubKeyManager for this address"),
QT_TRANSLATE_NOOP("bitcoin-core", "This is experimental software."), QT_TRANSLATE_NOOP("bitcoin-core", "This is experimental software."),

View file

@ -340,7 +340,7 @@ Signing is only possible with addresses of the type &apos;legacy&apos;.</source>
<context> <context>
<name>BitcoinApplication</name> <name>BitcoinApplication</name>
<message> <message>
<location filename="../bitcoin.cpp" line="+275"/> <location filename="../bitcoin.cpp" line="+260"/>
<source>Settings file %1 might be corrupt or invalid.</source> <source>Settings file %1 might be corrupt or invalid.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1130,7 +1130,7 @@ Signing is only possible with addresses of the type &apos;legacy&apos;.</source>
<context> <context>
<name>CreateWalletActivity</name> <name>CreateWalletActivity</name>
<message> <message>
<location filename="../walletcontroller.cpp" line="+248"/> <location filename="../walletcontroller.cpp" line="+250"/>
<source>Create Wallet</source> <source>Create Wallet</source>
<extracomment>Title of window indicating the progress of creation of a new wallet.</extracomment> <extracomment>Title of window indicating the progress of creation of a new wallet.</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -1716,7 +1716,13 @@ The migration process will create a backup of the wallet before migrating. This
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+53"/> <location line="+50"/>
<source>Maximum database cache size. Make sure you have enough RAM. A larger cache can contribute to faster sync, after which the benefit is less pronounced for most use cases. Lowering the cache size will reduce memory usage. Unused mempool memory is shared for this cache.</source>
<extracomment>Tooltip text for Options window setting that sets the size of the database cache. Explains the corresponding effects of increasing/decreasing this value.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Size of &amp;database cache</source> <source>Size of &amp;database cache</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1731,7 +1737,17 @@ The migration process will create a backup of the wallet before migrating. This
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+99"/> <location line="+32"/>
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports PCP or NAT-PMP and it is enabled. The external port could be random.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Map port using PCP or NA&amp;T-PMP</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+54"/>
<location line="+187"/> <location line="+187"/>
<source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source> <source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -1779,7 +1795,7 @@ The migration process will create a backup of the wallet before migrating. This
<translation>&amp;Reset Options</translation> <translation>&amp;Reset Options</translation>
</message> </message>
<message> <message>
<location line="-570"/> <location line="-560"/>
<source>&amp;Network</source> <source>&amp;Network</source>
<translation>&amp;Network</translation> <translation>&amp;Network</translation>
</message> </message>
@ -1799,13 +1815,7 @@ The migration process will create a backup of the wallet before migrating. This
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+12"/> <location line="+31"/>
<source>Maximum database cache size. A larger cache can contribute to faster sync, after which the benefit is less pronounced for most use cases. Lowering the cache size will reduce memory usage. Unused mempool memory is shared for this cache.</source>
<extracomment>Tooltip text for Options window setting that sets the size of the database cache. Explains the corresponding effects of increasing/decreasing this value.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
<source>MiB</source> <source>MiB</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1892,27 +1902,7 @@ The migration process will create a backup of the wallet before migrating. This
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+42"/> <location line="+52"/>
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
<translation>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</translation>
</message>
<message>
<location line="+3"/>
<source>Map port using &amp;UPnP</source>
<translation>Map port using &amp;UPnP</translation>
</message>
<message>
<location line="+7"/>
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Map port using NA&amp;T-PMP</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Accept connections from outside.</source> <source>Accept connections from outside.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -2036,12 +2026,12 @@ The migration process will create a backup of the wallet before migrating. This
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="-517"/> <location line="-507"/>
<source>Whether to show coin control features or not.</source> <source>Whether to show coin control features or not.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+300"/> <location line="+290"/>
<source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor onion services.</source> <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor onion services.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -2061,7 +2051,7 @@ The migration process will create a backup of the wallet before migrating. This
<translation>&amp;Cancel</translation> <translation>&amp;Cancel</translation>
</message> </message>
<message> <message>
<location filename="../optionsdialog.cpp" line="+153"/> <location filename="../optionsdialog.cpp" line="+145"/>
<source>Compiled without external signing support (required for external signing)</source> <source>Compiled without external signing support (required for external signing)</source>
<extracomment>&quot;External signing&quot; means using devices such as hardware wallets.</extracomment> <extracomment>&quot;External signing&quot; means using devices such as hardware wallets.</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -2072,12 +2062,12 @@ The migration process will create a backup of the wallet before migrating. This
<translation>default</translation> <translation>default</translation>
</message> </message>
<message> <message>
<location line="+74"/> <location line="+81"/>
<source>none</source> <source>none</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+109"/> <location line="+108"/>
<source>Confirm options reset</source> <source>Confirm options reset</source>
<extracomment>Window title text of pop-up window shown when the user has chosen to reset options.</extracomment> <extracomment>Window title text of pop-up window shown when the user has chosen to reset options.</extracomment>
<translation>Confirm options reset</translation> <translation>Confirm options reset</translation>
@ -2147,7 +2137,7 @@ The migration process will create a backup of the wallet before migrating. This
<context> <context>
<name>OptionsModel</name> <name>OptionsModel</name>
<message> <message>
<location filename="../optionsmodel.cpp" line="+228"/> <location filename="../optionsmodel.cpp" line="+227"/>
<source>Could not read setting &quot;%1&quot;, %2.</source> <source>Could not read setting &quot;%1&quot;, %2.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -2739,7 +2729,7 @@ If you are receiving this error you should request the merchant provide a BIP21
</message> </message>
<message> <message>
<location line="+2"/> <location line="+2"/>
<location filename="../rpcconsole.cpp" line="+1021"/> <location filename="../rpcconsole.cpp" line="+1023"/>
<source>%1 kB</source> <source>%1 kB</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -2788,7 +2778,7 @@ If you are receiving this error you should request the merchant provide a BIP21
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../optionsdialog.cpp" line="-391"/> <location filename="../optionsdialog.cpp" line="-389"/>
<source>Embedded &quot;%1&quot;</source> <source>Embedded &quot;%1&quot;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -4406,7 +4396,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of &quot;100
<context> <context>
<name>ShutdownWindow</name> <name>ShutdownWindow</name>
<message> <message>
<location filename="../utilitydialog.cpp" line="+86"/> <location filename="../utilitydialog.cpp" line="+89"/>
<source>%1 is shutting down</source> <source>%1 is shutting down</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -5201,7 +5191,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of &quot;100
<context> <context>
<name>WalletController</name> <name>WalletController</name>
<message> <message>
<location filename="../walletcontroller.cpp" line="-347"/> <location filename="../walletcontroller.cpp" line="-341"/>
<source>Close wallet</source> <source>Close wallet</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -5216,7 +5206,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee rate of &quot;100
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+13"/> <location line="+10"/>
<source>Close all wallets</source> <source>Close all wallets</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -5438,12 +5428,7 @@ Go to File &gt; Open Wallet to load a wallet.
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+3"/> <location line="+6"/>
<source>Cannot obtain a lock on data directory %s. %s is probably already running.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Cannot upgrade a non HD split wallet from version %i to version %i without upgrading to support pre-split keypool. Please use version %i or no version specified.</source> <source>Cannot upgrade a non HD split wallet from version %i to version %i without upgrading to support pre-split keypool. Please use version %i or no version specified.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -5468,7 +5453,12 @@ Go to File &gt; Open Wallet to load a wallet.
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+6"/> <location line="+3"/>
<source>Error starting/committing db txn for wallet transactions removal process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Error: Dumpfile format record is incorrect. Got &quot;%s&quot;, expected &quot;format&quot;.</source> <source>Error: Dumpfile format record is incorrect. Got &quot;%s&quot;, expected &quot;format&quot;.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -5503,7 +5493,12 @@ Go to File &gt; Open Wallet to load a wallet.
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+8"/> <location line="+4"/>
<source>Invalid value detected for &apos;-wallet&apos; or &apos;-nowallet&apos;. &apos;-wallet&apos; requires a string value, while &apos;-nowallet&apos; accepts only &apos;1&apos; to disable all wallets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source> <source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -5522,6 +5517,11 @@ Go to File &gt; Open Wallet to load a wallet.
<source>No wallet file format provided. To use createfromdump, -format=&lt;format&gt; must be provided.</source> <source>No wallet file format provided. To use createfromdump, -format=&lt;format&gt; must be provided.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location line="+3"/>
<source>Option &apos;-upnp&apos; is set but UPnP support was dropped in version 29.0. Consider using &apos;-natpmp&apos; instead.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<location line="+16"/> <location line="+16"/>
<source>Please contribute if you find %s useful. Visit %s for further information about the software.</source> <source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
@ -5659,6 +5659,11 @@ Go to File &gt; Open Wallet to load a wallet.
</message> </message>
<message> <message>
<location line="+4"/> <location line="+4"/>
<source>Cannot obtain a lock on directory %s. %s is probably already running.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Cannot resolve -%s address: &apos;%s&apos;</source> <source>Cannot resolve -%s address: &apos;%s&apos;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -5673,17 +5678,12 @@ Go to File &gt; Open Wallet to load a wallet.
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+1"/> <location line="-258"/>
<source>Cannot write to data directory &apos;%s&apos;; check permissions.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-252"/>
<source>%s is set very high! Fees this large could be paid on a single transaction.</source> <source>%s is set very high! Fees this large could be paid on a single transaction.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+11"/> <location line="+9"/>
<source>Cannot provide specific connections and have addrman find outgoing connections at the same time.</source> <source>Cannot provide specific connections and have addrman find outgoing connections at the same time.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -5698,7 +5698,7 @@ Go to File &gt; Open Wallet to load a wallet.
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+6"/> <location line="+8"/>
<source>Error: Address book data in wallet cannot be identified to belong to migrated wallets</source> <source>Error: Address book data in wallet cannot be identified to belong to migrated wallets</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -5754,7 +5754,7 @@ Go to File &gt; Open Wallet to load a wallet.
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+7"/> <location line="+10"/>
<source>Maximum transaction weight is less than transaction weight without inputs</source> <source>Maximum transaction weight is less than transaction weight without inputs</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -5764,7 +5764,7 @@ Go to File &gt; Open Wallet to load a wallet.
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+13"/> <location line="+16"/>
<source>Outbound connections restricted to CJDNS (-onlynet=cjdns) but -cjdnsreachable is not provided</source> <source>Outbound connections restricted to CJDNS (-onlynet=cjdns) but -cjdnsreachable is not provided</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -5874,6 +5874,11 @@ Unable to restore backup of wallet.</source>
</message> </message>
<message> <message>
<location line="+5"/> <location line="+5"/>
<source>Cannot write to directory &apos;%s&apos;; check permissions.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Config setting for %s only applied on %s network when in [%s] section.</source> <source>Config setting for %s only applied on %s network when in [%s] section.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -5908,12 +5913,7 @@ Unable to restore backup of wallet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+1"/> <location line="+2"/>
<source>Do you want to rebuild the block database now?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Done loading</source> <source>Done loading</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -5927,11 +5927,6 @@ Unable to restore backup of wallet.</source>
<source>Elliptic curve cryptography sanity check failure. %s is shutting down.</source> <source>Elliptic curve cryptography sanity check failure. %s is shutting down.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location line="+1"/>
<source>Error committing db txn for wallet transactions removal</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<location line="+1"/> <location line="+1"/>
<source>Error creating %s</source> <source>Error creating %s</source>
@ -5972,11 +5967,21 @@ Unable to restore backup of wallet.</source>
<source>Error loading block database</source> <source>Error loading block database</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location line="+1"/>
<source>Error loading databases</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<location line="+1"/> <location line="+1"/>
<source>Error opening block database</source> <source>Error opening block database</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location line="+1"/>
<source>Error opening coins database</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<location line="+1"/> <location line="+1"/>
<source>Error reading configuration file: %s</source> <source>Error reading configuration file: %s</source>
@ -5992,11 +5997,6 @@ Unable to restore backup of wallet.</source>
<source>Error reading next record from wallet database</source> <source>Error reading next record from wallet database</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location line="+1"/>
<source>Error starting db txn for wallet transactions removal</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<location line="+1"/> <location line="+1"/>
<source>Error: Cannot extract destination from the generated scriptpubkey</source> <source>Error: Cannot extract destination from the generated scriptpubkey</source>
@ -6087,6 +6087,11 @@ Unable to restore backup of wallet.</source>
<source>Error: Unable to remove watchonly address book data</source> <source>Error: Unable to remove watchonly address book data</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location line="+1"/>
<source>Error: Unable to write data to disk for wallet %s</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<location line="+1"/> <location line="+1"/>
<source>Error: Unable to write record to new wallet</source> <source>Error: Unable to write record to new wallet</source>
@ -6103,12 +6108,7 @@ Unable to restore backup of wallet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+1"/> <location line="+3"/>
<source>Error: address book copy failed for wallet %s</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Error: database transaction cannot be executed for wallet %s</source> <source>Error: database transaction cannot be executed for wallet %s</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -6313,12 +6313,7 @@ Unable to restore backup of wallet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+1"/> <location line="+2"/>
<source>Not enough file descriptors available.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Not found pre-selected input %s</source> <source>Not found pre-selected input %s</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -6467,6 +6462,11 @@ Unable to restore backup of wallet.</source>
<source>The transaction amount is too small to pay the fee</source> <source>The transaction amount is too small to pay the fee</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location line="+1"/>
<source>The transactions removal process can only be executed within a db txn</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<location line="+1"/> <location line="+1"/>
<source>The wallet will avoid paying less than the minimum relay fee.</source> <source>The wallet will avoid paying less than the minimum relay fee.</source>
@ -6628,7 +6628,12 @@ Unable to restore backup of wallet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="-126"/> <location line="-148"/>
<source>Do you want to rebuild the databases now?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
<source>Error: Could not add watchonly tx %s to watchonly wallet</source> <source>Error: Could not add watchonly tx %s to watchonly wallet</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -6638,7 +6643,22 @@ Unable to restore backup of wallet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+126"/> <location line="+22"/>
<source>Error: Wallet does not exist</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Error: cannot remove legacy wallet records</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+42"/>
<source>Not enough file descriptors available. %d available, %d required.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+64"/>
<source>User Agent comment (%s) contains unsafe characters.</source> <source>User Agent comment (%s) contains unsafe characters.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -6658,7 +6678,7 @@ Unable to restore backup of wallet.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="-52"/> <location line="-53"/>
<source>Settings file could not be read</source> <source>Settings file could not be read</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

File diff suppressed because it is too large Load diff