diff options
160 files changed, 12147 insertions, 8049 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index f40021764..cf6955306 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -246,6 +246,12 @@ enable_testing() option(BUILD_DOCUMENTATION "Build the Doxygen documentation." ON) option(BUILD_TESTS "Build tests." OFF) +if (CMAKE_BUILD_TYPE STREQUAL "Debug") + set(DEFAULT_BUILD_DEBUG_UTILITIES ON) +else() + set(DEFAULT_BUILD_DEBUG_UTILITIES OFF) +endif() +option(BUILD_DEBUG_UTILITIES "Build debug utilities." DEFAULT_BUILD_DEBUG_UTILITIES) # Check whether we're on a 32-bit or 64-bit system if(CMAKE_SIZEOF_VOID_P EQUAL "8") @@ -672,8 +678,11 @@ else() add_cxx_flag_if_supported(-fstack-clash-protection CXX_SECURITY_FLAGS) endif() - add_c_flag_if_supported(-mmitigate-rop C_SECURITY_FLAGS) - add_cxx_flag_if_supported(-mmitigate-rop CXX_SECURITY_FLAGS) + # Removed in GCC 9.1 (or before ?), but still accepted, so spams the output + if (NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 9.1)) + add_c_flag_if_supported(-mmitigate-rop C_SECURITY_FLAGS) + add_cxx_flag_if_supported(-mmitigate-rop CXX_SECURITY_FLAGS) + endif() # linker if (NOT WIN32) @@ -878,6 +887,7 @@ set(OLD_LIB_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) if(STATIC) if(MINGW) set(CMAKE_FIND_LIBRARY_SUFFIXES .a) + set(Boost_NO_BOOST_CMAKE ON) endif() set(Boost_USE_STATIC_LIBS ON) @@ -897,9 +907,9 @@ elseif(Boost_FOUND) set(BOOST_BEFORE_1_62 true) endif() if (BOOST_BEFORE_1_62) - message(FATAL_ERROR "Boost older than 1.62 is too old to link with OpenSSL 1.1 or newer. " + message(FATAL_ERROR "Boost ${Boost_VERSION} (older than 1.62) is too old to link with OpenSSL ${OPENSSL_VERSION} (1.1 or newer) found at ${OPENSSL_INCLUDE_DIR} and ${OPENSSL_LIBRARIES}. " "Update Boost or install OpenSSL 1.0 and set path to it when running cmake: " - "cmake -DOPENSSL_ROOT_DIR='/usr/include/openssl-1.0;/usr/lib/openssl-1.0'") + "cmake -DOPENSSL_ROOT_DIR='/usr/include/openssl-1.0'") endif() endif() @@ -994,7 +1004,16 @@ add_subdirectory(contrib) add_subdirectory(src) if(BUILD_TESTS) + message(STATUS "Building tests") add_subdirectory(tests) +else() + message(STATUS "Not building tests") +endif() + +if(BUILD_DEBUG_UTILITIES) + message(STATUS "Building debug utilities") +else() + message(STATUS "Not building debug utilities") endif() if(BUILD_DOCUMENTATION) diff --git a/README.i18n.md b/README.i18n.md index a3bd8070e..5df277624 100644 --- a/README.i18n.md +++ b/README.i18n.md @@ -15,23 +15,33 @@ You do not need anything from Qt in order to use the final translations. To update ts files after changing source code: - ./utils/translations/update-translations.sh +```bash +./utils/translations/update-translations.sh +``` To add a new language, eg Spanish (ISO code es): - cp translations/monero.ts translations/monero_es.ts +```bash +cp translations/monero.ts translations/monero_es.ts +``` To edit translations for Spanish: - linguist translations/monero_es.ts +```bash +linguist translations/monero_es.ts +``` To build translations after modifying them: - ./utils/translations/build-translations.sh +```bash +./utils/translations/build-translations.sh +``` To test a translation: - LANG=es ./build/release/bin/monero-wallet-cli +```bash +LANG=es ./build/release/bin/monero-wallet-cli +``` To add new translatable strings in the source code: @@ -39,6 +49,8 @@ Use the `tr(string)` function if possible. If the code is in a class, and this c If you're getting messages of the form: - Class 'cryptonote::simple_wallet' lacks Q_OBJECT macro +``` +Class 'cryptonote::simple_wallet' lacks Q_OBJECT macro +``` all is fine, we don't actually need that here. @@ -1,8 +1,28 @@ # Monero -Copyright (c) 2014-2018 The Monero Project. +Copyright (c) 2014-2019 The Monero Project. Portions Copyright (c) 2012-2013 The Cryptonote developers. +## Table of Contents + + - [Development resources](#development-resources) + - [Vulnerability response](#vulnerability-response) + - [Research](#research) + - [Announcements](#announcements) + - [Translations](#translations) + - [Build](#build) + - [IMPORTANT](#important) + - [Coverage](#coverage) + - [Introduction](#introduction) + - [About this project](#about-this-project) + - [Supporting the project](#supporting-the-project) + - [License](#license) + - [Contributing](#contributing) + - [Scheduled software upgrades](#scheduled-software-upgrades) + - [Release staging schedule and protocol](#release-staging-schedule-and-protocol) + - [Compiling Monero from source](#compiling-monero-from-source) + - [Dependencies](#dependencies) + ## Development resources - Web: [getmonero.org](https://getmonero.org) @@ -117,7 +137,7 @@ Monero uses a fixed-schedule software upgrade (hard fork) mechanism to implement Dates are provided in the format YYYY-MM-DD. -| Software upgrade block height | Date | Fork version | Minimum Monero version | Recommended Monero version | Details | +| Software upgrade block height | Date | Fork version | Minimum Monero version | Recommended Monero version | Details | | ------------------------------ | -----------| ----------------- | ---------------------- | -------------------------- | ---------------------------------------------------------------------------------- | | 1009827 | 2016-03-22 | v2 | v0.9.4 | v0.9.4 | Allow only >= ringsize 3, blocktime = 120 seconds, fee-free blocksize 60 kb | | 1141317 | 2016-09-21 | v3 | v0.9.4 | v0.10.0 | Splits coinbase into denominations | @@ -127,8 +147,8 @@ Dates are provided in the format YYYY-MM-DD. | 1546000 | 2018-04-06 | v7 | v0.12.0.0 | v0.12.3.0 | Cryptonight variant 1, ringsize >= 7, sorted inputs | 1685555 | 2018-10-18 | v8 | v0.13.0.0 | v0.13.0.4 | max transaction size at half the penalty free block size, bulletproofs enabled, cryptonight variant 2, fixed ringsize [11](https://youtu.be/KOO5S4vxi0o) | 1686275 | 2018-10-19 | v9 | v0.13.0.0 | v0.13.0.4 | bulletproofs required -| 1788000 | 2019-03-09 | v10 | v0.14.0.0 | v0.14.0.2 | New PoW based on Cryptonight-R, new block weight algorithm, slightly more efficient RingCT format -| 1788720 | 2019-03-10 | v11 | v0.14.0.0 | v0.14.0.2 | forbid old RingCT transaction format +| 1788000 | 2019-03-09 | v10 | v0.14.0.0 | v0.14.1.2 | New PoW based on Cryptonight-R, new block weight algorithm, slightly more efficient RingCT format +| 1788720 | 2019-03-10 | v11 | v0.14.0.0 | v0.14.1.2 | forbid old RingCT transaction format | XXXXXXX | 2019-10-XX | XX | XXXXXXXXX | XXXXXXXXX | X X's indicate that these details have not been determined as of commit date. @@ -206,9 +226,11 @@ invokes cmake commands as needed. * Install the dependencies * Change to the root of the source code directory, change to the most recent release branch, and build: - cd monero - git checkout release-v0.14 - make + ```bash + cd monero + git checkout release-v0.14 + make + ``` *Optional*: If your machine has several cores and enough memory, enable parallel build by running `make -j<number of threads>` instead of `make`. For @@ -232,23 +254,31 @@ invokes cmake commands as needed. * **Optional**: build and run the test suite to verify the binaries: - make release-test + ```bash + make release-test + ``` *NOTE*: `core_tests` test may take a few hours to complete. * **Optional**: to build binaries suitable for debugging: - make debug + ```bash + make debug + ``` * **Optional**: to build statically-linked binaries: - make release-static + ```bash + make release-static + ``` Dependencies need to be built with -fPIC. Static libraries usually aren't, so you may have to build them yourself with -fPIC. Refer to their documentation for how to build them. * **Optional**: build documentation in `doc/html` (omit `HAVE_DOT=YES` if `graphviz` is not installed): - HAVE_DOT=YES doxygen Doxyfile + ```bash + HAVE_DOT=YES doxygen Doxyfile + ``` #### On the Raspberry Pi @@ -259,24 +289,30 @@ Tested on a Raspberry Pi Zero with a clean install of minimal Raspbian Stretch ( * Install the dependencies for Monero from the 'Debian' column in the table above. * Increase the system swap size: -``` - sudo /etc/init.d/dphys-swapfile stop - sudo nano /etc/dphys-swapfile - CONF_SWAPSIZE=2048 - sudo /etc/init.d/dphys-swapfile start -``` + + ```bash + sudo /etc/init.d/dphys-swapfile stop + sudo nano /etc/dphys-swapfile + CONF_SWAPSIZE=2048 + sudo /etc/init.d/dphys-swapfile start + ``` + * If using an external hard disk without an external power supply, ensure it gets enough power to avoid hardware issues when syncing, by adding the line "max_usb_current=1" to /boot/config.txt * Clone monero and checkout the most recent release version: -``` - git clone https://github.com/monero-project/monero.git - cd monero - git checkout tags/v0.14.1.0 -``` + + ```bash + git clone https://github.com/monero-project/monero.git + cd monero + git checkout tags/v0.14.1.2 + ``` + * Build: -``` - make release -``` + + ```bash + make release + ``` + * Wait 4-6 hours * The resulting executables can be found in `build/release/bin` @@ -293,28 +329,33 @@ If you are using the older Raspbian Jessie image, compiling Monero is a bit more * As before, `apt-get update && apt-get upgrade` to install all of the latest software, and increase the system swap size -``` - sudo /etc/init.d/dphys-swapfile stop - sudo nano /etc/dphys-swapfile - CONF_SWAPSIZE=2048 - sudo /etc/init.d/dphys-swapfile start -``` + ```bash + sudo /etc/init.d/dphys-swapfile stop + sudo nano /etc/dphys-swapfile + CONF_SWAPSIZE=2048 + sudo /etc/init.d/dphys-swapfile start + ``` + * Then, install the dependencies for Monero except `libunwind` and `libboost-all-dev` * Install the latest version of boost (this may first require invoking `apt-get remove --purge libboost*` to remove a previous version if you're not using a clean install): -``` - cd - wget https://sourceforge.net/projects/boost/files/boost/1.64.0/boost_1_64_0.tar.bz2 - tar xvfo boost_1_64_0.tar.bz2 - cd boost_1_64_0 - ./bootstrap.sh - sudo ./b2 -``` + + ```bash + cd + wget https://sourceforge.net/projects/boost/files/boost/1.64.0/boost_1_64_0.tar.bz2 + tar xvfo boost_1_64_0.tar.bz2 + cd boost_1_64_0 + ./bootstrap.sh + sudo ./b2 + ``` + * Wait ~8 hours -``` - sudo ./bjam cxxflags=-fPIC cflags=-fPIC -a install -``` + + ```bash + sudo ./bjam cxxflags=-fPIC cflags=-fPIC -a install + ``` + * Wait ~4 hours * From here, follow the [general Raspberry Pi instructions](#on-the-raspberry-pi) from the "Clone monero and checkout most recent release version" step. @@ -333,24 +374,32 @@ application. * Open the MSYS shell via the `MSYS2 Shell` shortcut * Update packages using pacman: - pacman -Syu + ```bash + pacman -Syu + ``` * Exit the MSYS shell using Alt+F4 * Edit the properties for the `MSYS2 Shell` shortcut changing "msys2_shell.bat" to "msys2_shell.cmd -mingw64" for 64-bit builds or "msys2_shell.cmd -mingw32" for 32-bit builds * Restart MSYS shell via modified shortcut and update packages again using pacman: - pacman -Syu + ```bash + pacman -Syu + ``` * Install dependencies: To build for 64-bit Windows: - pacman -S mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi + ```bash + pacman -S mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi + ``` To build for 32-bit Windows: - pacman -S mingw-w64-i686-toolchain make mingw-w64-i686-cmake mingw-w64-i686-boost mingw-w64-i686-openssl mingw-w64-i686-zeromq mingw-w64-i686-libsodium mingw-w64-i686-hidapi + ```bash + pacman -S mingw-w64-i686-toolchain make mingw-w64-i686-cmake mingw-w64-i686-boost mingw-w64-i686-openssl mingw-w64-i686-zeromq mingw-w64-i686-libsodium mingw-w64-i686-hidapi + ``` * Open the MingW shell via `MinGW-w64-Win64 Shell` shortcut on 64-bit Windows or `MinGW-w64-Win64 Shell` shortcut on 32-bit Windows. Note that if you are @@ -360,35 +409,49 @@ application. * To git clone, run: - git clone --recursive https://github.com/monero-project/monero.git + ```bash + git clone --recursive https://github.com/monero-project/monero.git + ``` **Building** * Change to the cloned directory, run: - cd monero + ```bash + cd monero + ``` -* If you would like a specific [version/tag](https://github.com/monero-project/monero/tags), do a git checkout for that version. eg. 'v0.14.1.0'. If you don't care about the version and just want binaries from master, skip this step: +* If you would like a specific [version/tag](https://github.com/monero-project/monero/tags), do a git checkout for that version. eg. 'v0.14.1.2'. If you don't care about the version and just want binaries from master, skip this step: - git checkout v0.14.1.0 + ```bash + git checkout v0.14.1.2 + ``` * If you are on a 64-bit system, run: - make release-static-win64 + ```bash + make release-static-win64 + ``` * If you are on a 32-bit system, run: - make release-static-win32 + ```bash + make release-static-win32 + ``` * The resulting executables can be found in `build/release/bin` * **Optional**: to build Windows binaries suitable for debugging on a 64-bit system, run: - make debug-static-win64 + ```bash + make debug-static-win64 + ``` * **Optional**: to build Windows binaries suitable for debugging on a 32-bit system, run: - make debug-static-win32 + ```bash + make debug-static-win32 + ``` * The resulting executables can be found in `build/debug/bin` @@ -428,7 +491,7 @@ We assume you are compiling with a non-root user and you have `doas` enabled. Note: do not use the boost package provided by OpenBSD, as we are installing boost to `/usr/local`. -``` +```bash # Create boost building directory mkdir ~/boost cd ~/boost @@ -464,7 +527,7 @@ Build the cppzmq bindings. We assume you are compiling with a non-root user and you have `doas` enabled. -``` +```bash # Create cppzmq building directory mkdir ~/cppzmq cd ~/cppzmq @@ -484,7 +547,10 @@ cmake .. doas make install ``` -Build monero: `env DEVELOPER_LOCAL_TOOLS=1 BOOST_ROOT=/usr/local make release-static` +Build monero: +```bash +env DEVELOPER_LOCAL_TOOLS=1 BOOST_ROOT=/usr/local make release-static +``` #### OpenBSD >= 6.4 @@ -507,23 +573,27 @@ Then you need to increase the data ulimit size to 2GB and try again: `ulimit -d The default Solaris linker can't be used, you have to install GNU ld, then run cmake manually with the path to your copy of GNU ld: - mkdir -p build/release - cd build/release - cmake -DCMAKE_LINKER=/path/to/ld -D CMAKE_BUILD_TYPE=Release ../.. - cd ../.. +```bash +mkdir -p build/release +cd build/release +cmake -DCMAKE_LINKER=/path/to/ld -D CMAKE_BUILD_TYPE=Release ../.. +cd ../.. +``` Then you can run make as usual. ### On Linux for Android (using docker): - # Build image (for ARM 32-bit) - docker build -f utils/build_scripts/android32.Dockerfile -t monero-android . - # Build image (for ARM 64-bit) - docker build -f utils/build_scripts/android64.Dockerfile -t monero-android . - # Create container - docker create -it --name monero-android monero-android bash - # Get binaries - docker cp monero-android:/src/build/release/bin . +```bash +# Build image (for ARM 32-bit) +docker build -f utils/build_scripts/android32.Dockerfile -t monero-android . +# Build image (for ARM 64-bit) +docker build -f utils/build_scripts/android64.Dockerfile -t monero-android . +# Create container +docker create -it --name monero-android monero-android bash +# Get binaries +docker cp monero-android:/src/build/release/bin . +``` ### Building portable statically linked binaries @@ -542,12 +612,18 @@ By default, in either dynamically or statically linked builds, binaries target t You can also cross-compile static binaries on Linux for Windows and macOS with the `depends` system. * ```make depends target=x86_64-linux-gnu``` for 64-bit linux binaries. -* ```make depends target=x86_64-w64-mingw32``` for 64-bit windows binaries. Requires: python3 g++-mingw-w64-x86-64 wine1.6 bc -* ```make depends target=x86_64-apple-darwin11``` for macOS binaries. Requires: cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev -* ```make depends target=i686-linux-gnu``` for 32-bit linux binaries. Requires: g++-multilib bc -* ```make depends target=i686-w64-mingw32``` for 32-bit windows binaries. Requires: python3 g++-mingw-w64-i686 -* ```make depends target=arm-linux-gnueabihf``` for armv7 binaries. Requires: g++-arm-linux-gnueabihf -* ```make depends target=aarch64-linux-gnu``` for armv8 binaries. Requires: g++-aarch64-linux-gnu +* ```make depends target=x86_64-w64-mingw32``` for 64-bit windows binaries. + * Requires: `python3 g++-mingw-w64-x86-64 wine1.6 bc` +* ```make depends target=x86_64-apple-darwin11``` for macOS binaries. + * Requires: `cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev` +* ```make depends target=i686-linux-gnu``` for 32-bit linux binaries. + * Requires: `g++-multilib bc` +* ```make depends target=i686-w64-mingw32``` for 32-bit windows binaries. + * Requires: `python3 g++-mingw-w64-i686` +* ```make depends target=arm-linux-gnueabihf``` for armv7 binaries. + * Requires: `g++-arm-linux-gnueabihf` +* ```make depends target=aarch64-linux-gnu``` for armv8 binaries. + * Requires: `g++-aarch64-linux-gnu` The required packages are the names for each toolchain on apt. Depending on your distro, they may have different names. @@ -563,7 +639,9 @@ Packages are available for * Ubuntu and [snap supported](https://snapcraft.io/docs/core/install) systems, via a community contributed build. - snap install monero --beta + ```bash + snap install monero --beta + ``` Installing a snap is very quick. Snaps are secure. They are isolated with all of their dependencies. Snaps also auto update when a new version is released. @@ -573,25 +651,31 @@ Installing a snap is very quick. Snaps are secure. They are isolated with all of * Void Linux: - xbps-install -S monero + ```bash + xbps-install -S monero + ``` * GuixSD - guix package -i monero + ```bash + guix package -i monero + ``` * Docker - # Build using all available cores - docker build -t monero . - - # or build using a specific number of cores (reduce RAM requirement) - docker build --build-arg NPROC=1 -t monero . - - # either run in foreground - docker run -it -v /monero/chain:/root/.bitmonero -v /monero/wallet:/wallet -p 18080:18080 monero - - # or in background - docker run -it -d -v /monero/chain:/root/.bitmonero -v /monero/wallet:/wallet -p 18080:18080 monero + ```bash + # Build using all available cores + docker build -t monero . + + # or build using a specific number of cores (reduce RAM requirement) + docker build --build-arg NPROC=1 -t monero . + + # either run in foreground + docker run -it -v /monero/chain:/root/.bitmonero -v /monero/wallet:/wallet -p 18080:18080 monero + + # or in background + docker run -it -d -v /monero/chain:/root/.bitmonero -v /monero/wallet:/wallet -p 18080:18080 monero + ``` * The build needs 3 GB space. * Wait one hour or more @@ -604,7 +688,9 @@ The build places the binary in `bin/` sub-directory within the build directory from which cmake was invoked (repository root by default). To run in foreground: - ./bin/monerod +```bash +./bin/monerod +``` To list all available options, run `./bin/monerod --help`. Options can be specified either on the command line or in a configuration file passed by the @@ -614,7 +700,9 @@ of the argument without the leading dashes, for example `log-level=1`. To run in background: - ./bin/monerod --log-file monerod.log --detach +```bash +./bin/monerod --log-file monerod.log --detach +``` To run as a systemd service, copy [monerod.service](utils/systemd/monerod.service) to `/etc/systemd/system/` and @@ -662,7 +750,9 @@ setting the following configuration parameters and environment variables: Example command line to start monerod through Tor: - DNS_PUBLIC=tcp torsocks monerod --p2p-bind-ip 127.0.0.1 --no-igd +```bash +DNS_PUBLIC=tcp torsocks monerod --p2p-bind-ip 127.0.0.1 --no-igd +``` ### Using Tor on Tails @@ -670,9 +760,11 @@ TAILS ships with a very restrictive set of firewall rules. Therefore, you need to add a rule to allow this connection too, in addition to telling torsocks to allow inbound connections. Full example: - sudo iptables -I OUTPUT 2 -p tcp -d 127.0.0.1 -m tcp --dport 18081 -j ACCEPT - DNS_PUBLIC=tcp torsocks ./monerod --p2p-bind-ip 127.0.0.1 --no-igd --rpc-bind-ip 127.0.0.1 \ - --data-dir /home/amnesia/Persistent/your/directory/to/the/blockchain +```bash +sudo iptables -I OUTPUT 2 -p tcp -d 127.0.0.1 -m tcp --dport 18081 -j ACCEPT +DNS_PUBLIC=tcp torsocks ./monerod --p2p-bind-ip 127.0.0.1 --no-igd --rpc-bind-ip 127.0.0.1 \ + --data-dir /home/amnesia/Persistent/your/directory/to/the/blockchain +``` ## Debugging @@ -682,13 +774,13 @@ This section contains general instructions for debugging failed installs or prob We generally use the tool `gdb` (GNU debugger) to provide stack trace functionality, and `ulimit` to provide core dumps in builds which crash or segfault. -* To use gdb in order to obtain a stack trace for a build that has stalled: +* To use `gdb` in order to obtain a stack trace for a build that has stalled: Run the build. Once it stalls, enter the following command: -``` +```bash gdb /path/to/monerod `pidof monerod` ``` @@ -706,11 +798,13 @@ When it terminates with an output along the lines of "Segmentation fault (core d You can now analyse this core dump with `gdb` as follows: -`gdb /path/to/monerod /path/to/dumpfile` +```bash +gdb /path/to/monerod /path/to/dumpfile` +``` Print the stack trace with `bt` -* To run monero within gdb: +#### To run monero within gdb: Type `gdb /path/to/monerod` @@ -722,15 +816,17 @@ Type `run` to run monerod There are two tools available: -* ASAN +#### ASAN Configure Monero with the -D SANITIZE=ON cmake flag, eg: - cd build/debug && cmake -D SANITIZE=ON -D CMAKE_BUILD_TYPE=Debug ../.. +```bash +cd build/debug && cmake -D SANITIZE=ON -D CMAKE_BUILD_TYPE=Debug ../.. +``` You can then run the monero tools normally. Performance will typically halve. -* valgrind +#### valgrind Install valgrind and run as `valgrind /path/to/monerod`. It will be very slow. @@ -740,7 +836,9 @@ Instructions for debugging suspected blockchain corruption as per @HYC There is an `mdb_stat` command in the LMDB source that can print statistics about the database but it's not routinely built. This can be built with the following command: -`cd ~/monero/external/db_drivers/liblmdb && make` +```bash +cd ~/monero/external/db_drivers/liblmdb && make +``` The output of `mdb_stat -ea <path to blockchain dir>` will indicate inconsistencies in the blocks, block_heights and block_info table. diff --git a/cmake/FindBacktrace.cmake b/cmake/FindBacktrace.cmake index 89bbad07c..8137125ab 100644 --- a/cmake/FindBacktrace.cmake +++ b/cmake/FindBacktrace.cmake @@ -83,6 +83,14 @@ else() set(_Backtrace_STD_ARGS Backtrace_LIBRARY ${_Backtrace_STD_ARGS}) endif() +message(STATUS "Backtrace_LIBRARY: ${Backtrace_LIBRARY}") +if(Backtrace_LIBRARY STREQUAL "NOTFOUND") + set(Backtrace_LIBRARY "") +endif() +if(Backtrace_LIBRARY STREQUAL "Backtrace_LIBRARY-NOTFOUND") + set(Backtrace_LIBRARY "") +endif() + set(Backtrace_LIBRARIES ${Backtrace_LIBRARY}) set(Backtrace_HEADER "${_Backtrace_HEADER_TRY}" CACHE STRING "Header providing backtrace(3) facility") diff --git a/cmake/GenVersion.cmake b/cmake/GenVersion.cmake index 1ea5b209c..b2ccfbc34 100644 --- a/cmake/GenVersion.cmake +++ b/cmake/GenVersion.cmake @@ -29,7 +29,7 @@ # Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers # Check what commit we're on -execute_process(COMMAND "${GIT}" rev-parse --short HEAD RESULT_VARIABLE RET OUTPUT_VARIABLE COMMIT OUTPUT_STRIP_TRAILING_WHITESPACE) +execute_process(COMMAND "${GIT}" rev-parse --short=9 HEAD RESULT_VARIABLE RET OUTPUT_VARIABLE COMMIT OUTPUT_STRIP_TRAILING_WHITESPACE) if(RET) # Something went wrong, set the version tag to -unknown @@ -38,6 +38,7 @@ if(RET) set(VERSIONTAG "unknown") configure_file("src/version.cpp.in" "${TO}") else() + string(SUBSTRING ${COMMIT} 0 9 COMMIT) message(STATUS "You are currently on commit ${COMMIT}") # Get all the tags diff --git a/contrib/depends/Makefile b/contrib/depends/Makefile index afa61b93b..ec0e4cfae 100644 --- a/contrib/depends/Makefile +++ b/contrib/depends/Makefile @@ -22,9 +22,16 @@ host_toolchain:=$(HOST)- endif ifneq ($(DEBUG),) -release_type=debug +release_type=Debug else -release_type=release +release_type=Release +endif + +ifneq ($(TESTS),) +build_tests=ON +release_type=Debug +else +build_tests=OFF endif base_build_dir=$(BASEDIR)/work/build @@ -164,6 +171,8 @@ $(host_prefix)/share/toolchain.cmake : toolchain.cmake.in $(host_prefix)/.stamp_ -e 's|@LDFLAGS@|$(strip $(host_LDFLAGS) $(host_$(release_type)_LDFLAGS))|' \ -e 's|@allow_host_packages@|$(ALLOW_HOST_PACKAGES)|' \ -e 's|@debug@|$(DEBUG)|' \ + -e 's|@release_type@|$(release_type)|' \ + -e 's|@build_tests@|$(build_tests)|' \ -e 's|@depends@|$(host_cmake)|' \ -e 's|@prefix@|$($(host_arch)_$(host_os)_prefix)|'\ -e 's|@sdk@|$(SDK_PATH)|'\ @@ -208,4 +217,6 @@ download-win: @$(MAKE) -s HOST=x86_64-w64-mingw32 download-one download: download-osx download-linux download-win + $(foreach package,$(all_packages),$(eval $(call ext_add_stages,$(package)))) + .PHONY: install cached download-one download-osx download-linux download-win download check-packages check-sources diff --git a/contrib/depends/README.md b/contrib/depends/README.md index c9f8b0783..6a15055b4 100644 --- a/contrib/depends/README.md +++ b/contrib/depends/README.md @@ -2,21 +2,29 @@ To build dependencies for the current arch+OS: - make +```bash +make +``` To build for another arch/OS: - make HOST=host-platform-triplet +```bash +make HOST=host-platform-triplet +``` For example: - make HOST=x86_64-w64-mingw32 -j4 +```bash +make HOST=x86_64-w64-mingw32 -j4 +``` A toolchain will be generated that's suitable for plugging into Monero's cmake. In the above example, a dir named x86_64-w64-mingw32 will be created. To use it for Monero: - cmake -DCMAKE_TOOLCHAIN=`pwd`/contrib/depends/x86_64-w64-mingw32 +```bash +cmake -DCMAKE_TOOLCHAIN=`pwd`/contrib/depends/x86_64-w64-mingw32 +``` Common `host-platform-triplets` for cross compilation are: @@ -31,20 +39,24 @@ No other options are needed, the paths are automatically configured. Dependency Options: The following can be set when running make: make FOO=bar - SOURCES_PATH: downloaded sources will be placed here - BASE_CACHE: built packages will be placed here - SDK_PATH: Path where sdk's can be found (used by OSX) - FALLBACK_DOWNLOAD_PATH: If a source file can't be fetched, try here before giving up - DEBUG: disable some optimizations and enable more runtime checking - HOST_ID_SALT: Optional salt to use when generating host package ids - BUILD_ID_SALT: Optional salt to use when generating build package ids +``` +SOURCES_PATH: downloaded sources will be placed here +BASE_CACHE: built packages will be placed here +SDK_PATH: Path where sdk's can be found (used by OSX) +FALLBACK_DOWNLOAD_PATH: If a source file can't be fetched, try here before giving up +DEBUG: disable some optimizations and enable more runtime checking +HOST_ID_SALT: Optional salt to use when generating host package ids +BUILD_ID_SALT: Optional salt to use when generating build package ids +``` Additional targets: - download: run 'make download' to fetch all sources without building them - download-osx: run 'make download-osx' to fetch all sources needed for osx builds - download-win: run 'make download-win' to fetch all sources needed for win builds - download-linux: run 'make download-linux' to fetch all sources needed for linux builds +``` +download: run 'make download' to fetch all sources without building them +download-osx: run 'make download-osx' to fetch all sources needed for osx builds +download-win: run 'make download-win' to fetch all sources needed for win builds +download-linux: run 'make download-linux' to fetch all sources needed for linux builds +``` #Darwin (macos) builds: diff --git a/contrib/depends/funcs.mk b/contrib/depends/funcs.mk index 15e404e42..469144361 100644 --- a/contrib/depends/funcs.mk +++ b/contrib/depends/funcs.mk @@ -213,6 +213,14 @@ $(1): | $($(1)_cached_checksum) endef +stages = fetched extracted preprocessed configured built staged postprocessed cached cached_checksum + +define ext_add_stages +$(foreach stage,$(stages), + $(1)_$(stage): $($(1)_$(stage)) + .PHONY: $(1)_$(stage)) +endef + # These functions create the build targets for each package. They must be # broken down into small steps so that each part is done for all packages # before moving on to the next step. Otherwise, a package's info diff --git a/contrib/depends/packages.md b/contrib/depends/packages.md index 7c8036250..ae5b47327 100644 --- a/contrib/depends/packages.md +++ b/contrib/depends/packages.md @@ -9,39 +9,43 @@ General tips: ## Identifiers Each package is required to define at least these variables: - $(package)_version: - Version of the upstream library or program. If there is no version, a - placeholder such as 1.0 can be used. +``` +$(package)_version: +Version of the upstream library or program. If there is no version, a +placeholder such as 1.0 can be used. - $(package)_download_path: - Location of the upstream source, without the file-name. Usually http or - ftp. +$(package)_download_path: +Location of the upstream source, without the file-name. Usually http or +ftp. - $(package)_file_name: - The upstream source filename available at the download path. +$(package)_file_name: +The upstream source filename available at the download path. - $(package)_sha256_hash: - The sha256 hash of the upstream file +$(package)_sha256_hash: +The sha256 hash of the upstream file +``` These variables are optional: - $(package)_build_subdir: - cd to this dir before running configure/build/stage commands. - - $(package)_download_file: - The file-name of the upstream source if it differs from how it should be - stored locally. This can be used to avoid storing file-names with strange - characters. - - $(package)_dependencies: - Names of any other packages that this one depends on. - - $(package)_patches: - Filenames of any patches needed to build the package - - $(package)_extra_sources: - Any extra files that will be fetched via $(package)_fetch_cmds. These are - specified so that they can be fetched and verified via 'make download'. +``` +$(package)_build_subdir: +cd to this dir before running configure/build/stage commands. + +$(package)_download_file: +The file-name of the upstream source if it differs from how it should be +stored locally. This can be used to avoid storing file-names with strange +characters. + +$(package)_dependencies: +Names of any other packages that this one depends on. + +$(package)_patches: +Filenames of any patches needed to build the package + +$(package)_extra_sources: +Any extra files that will be fetched via $(package)_fetch_cmds. These are +specified so that they can be fetched and verified via 'make download'. +``` ## Build Variables: @@ -49,47 +53,55 @@ After defining the main identifiers, build variables may be added or customized before running the build commands. They should be added to a function called $(package)_set_vars. For example: - define $(package)_set_vars - ... - endef +``` +define $(package)_set_vars +... +endef +``` Most variables can be prefixed with the host, architecture, or both, to make the modifications specific to that case. For example: - Universal: $(package)_cc=gcc - Linux only: $(package)_linux_cc=gcc - x86_64 only: $(package)_x86_64_cc = gcc - x86_64 linux only: $(package)_x86_64_linux_cc = gcc +``` +Universal: $(package)_cc=gcc +Linux only: $(package)_linux_cc=gcc +x86_64 only: $(package)_x86_64_cc = gcc +x86_64 linux only: $(package)_x86_64_linux_cc = gcc +``` These variables may be set to override or append their default values. - $(package)_cc - $(package)_cxx - $(package)_objc - $(package)_objcxx - $(package)_ar - $(package)_ranlib - $(package)_libtool - $(package)_nm - $(package)_cflags - $(package)_cxxflags - $(package)_ldflags - $(package)_cppflags - $(package)_config_env - $(package)_build_env - $(package)_stage_env - $(package)_build_opts - $(package)_config_opts - -The *_env variables are used to add environment variables to the respective +``` +$(package)_cc +$(package)_cxx +$(package)_objc +$(package)_objcxx +$(package)_ar +$(package)_ranlib +$(package)_libtool +$(package)_nm +$(package)_cflags +$(package)_cxxflags +$(package)_ldflags +$(package)_cppflags +$(package)_config_env +$(package)_build_env +$(package)_stage_env +$(package)_build_opts +$(package)_config_opts +``` + +The `*_env` variables are used to add environment variables to the respective commands. Many variables respect a debug/release suffix as well, in order to use them for only the appropriate build config. For example: - $(package)_cflags_release = -O3 - $(package)_cflags_i686_debug = -g - $(package)_config_opts_release = --disable-debug +``` +$(package)_cflags_release = -O3 +$(package)_cflags_i686_debug = -g +$(package)_config_opts_release = --disable-debug +``` These will be used in addition to the options that do not specify debug/release. All builds are considered to be release unless DEBUG=1 is set by @@ -97,51 +109,57 @@ the user. Other variables may be defined as needed. ## Build commands: - For each build, a unique build dir and staging dir are created. For example, - `work/build/mylib/1.0-1adac830f6e` and `work/staging/mylib/1.0-1adac830f6e`. +For each build, a unique build dir and staging dir are created. For example, +`work/build/mylib/1.0-1adac830f6e` and `work/staging/mylib/1.0-1adac830f6e`. + +The following build commands are available for each recipe: - The following build commands are available for each recipe: +``` +$(package)_fetch_cmds: +Runs from: build dir +Fetch the source file. If undefined, it will be fetched and verified +against its hash. - $(package)_fetch_cmds: - Runs from: build dir - Fetch the source file. If undefined, it will be fetched and verified - against its hash. +$(package)_extract_cmds: +Runs from: build dir +Verify the source file against its hash and extract it. If undefined, the +source is assumed to be a tarball. - $(package)_extract_cmds: - Runs from: build dir - Verify the source file against its hash and extract it. If undefined, the - source is assumed to be a tarball. +$(package)_preprocess_cmds: +Runs from: build dir/$(package)_build_subdir +Preprocess the source as necessary. If undefined, does nothing. - $(package)_preprocess_cmds: - Runs from: build dir/$(package)_build_subdir - Preprocess the source as necessary. If undefined, does nothing. +$(package)_config_cmds: +Runs from: build dir/$(package)_build_subdir +Configure the source. If undefined, does nothing. - $(package)_config_cmds: - Runs from: build dir/$(package)_build_subdir - Configure the source. If undefined, does nothing. +$(package)_build_cmds: +Runs from: build dir/$(package)_build_subdir +Build the source. If undefined, does nothing. - $(package)_build_cmds: - Runs from: build dir/$(package)_build_subdir - Build the source. If undefined, does nothing. +$(package)_stage_cmds: +Runs from: build dir/$(package)_build_subdir +Stage the build results. If undefined, does nothing. +``` - $(package)_stage_cmds: - Runs from: build dir/$(package)_build_subdir - Stage the build results. If undefined, does nothing. +The following variables are available for each recipe: - The following variables are available for each recipe: - - $(1)_staging_dir: package's destination sysroot path - $(1)_staging_prefix_dir: prefix path inside of the package's staging dir - $(1)_extract_dir: path to the package's extracted sources - $(1)_build_dir: path where configure/build/stage commands will be run - $(1)_patch_dir: path where the package's patches (if any) are found +``` +$(1)_staging_dir: package's destination sysroot path +$(1)_staging_prefix_dir: prefix path inside of the package's staging dir +$(1)_extract_dir: path to the package's extracted sources +$(1)_build_dir: path where configure/build/stage commands will be run +$(1)_patch_dir: path where the package's patches (if any) are found +``` Notes on build commands: -For packages built with autotools, $($(package)_autoconf) can be used in the +For packages built with autotools, `$($(package)_autoconf)` can be used in the configure step to (usually) correctly configure automatically. Any -$($(package)_config_opts) will be appended. +`$($(package)_config_opts`) will be appended. Most autotools projects can be properly staged using: - $(MAKE) DESTDIR=$($(package)_staging_dir) install +```bash +$(MAKE) DESTDIR=$($(package)_staging_dir) install +``` diff --git a/contrib/depends/packages/eudev.mk b/contrib/depends/packages/eudev.mk index e754c0f20..a7795b777 100644 --- a/contrib/depends/packages/eudev.mk +++ b/contrib/depends/packages/eudev.mk @@ -23,3 +23,7 @@ endef define $(package)_stage_cmds $(MAKE) DESTDIR=$($(package)_staging_dir) install endef + +define $(package)_postprocess_cmds + rm lib/*.la +endef diff --git a/contrib/depends/packages/expat.mk b/contrib/depends/packages/expat.mk index bd2cea1b6..ef81636a2 100644 --- a/contrib/depends/packages/expat.mk +++ b/contrib/depends/packages/expat.mk @@ -6,6 +6,7 @@ $(package)_sha256_hash=03ad85db965f8ab2d27328abcf0bc5571af6ec0a414874b2066ee3fdd define $(package)_set_vars $(package)_config_opts=--enable-static +$(package)_config_opts=--disable-shared $(package)_config_opts+=--prefix=$(host_prefix) endef @@ -20,3 +21,8 @@ endef define $(package)_stage_cmds $(MAKE) DESTDIR=$($(package)_staging_dir) install endef + +define $(package)_postprocess_cmds + rm lib/*.la +endef + diff --git a/contrib/depends/packages/gtest.mk b/contrib/depends/packages/gtest.mk new file mode 100644 index 000000000..5df07a32e --- /dev/null +++ b/contrib/depends/packages/gtest.mk @@ -0,0 +1,38 @@ +package=gtest +$(package)_version=1.8.1 +$(package)_download_path=https://github.com/google/googletest/archive/ +$(package)_file_name=release-$($(package)_version).tar.gz +$(package)_sha256_hash=9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c +$(package)_cxxflags=-std=c++11 +$(package)_cxxflags_linux=-fPIC + +define $(package)_config_cmds + cd googletest && \ + CC="$(host_prefix)/native/bin/$($(package)_cc)" \ + CXX="$(host_prefix)/native/bin/$($(package)_cxx)" \ + AR="$(host_prefix)/native/bin/$($(package)_ar)" \ + RANLIB="$(host_prefix)/native/bin/$($(package)_ranlib)" \ + LIBTOOL="$(host_prefix)/native/bin/$($(package)_libtool)" \ + CXXFLAGS="$($(package)_cxxflags)" \ + CCFLAGS="$($(package)_ccflags)" \ + CPPFLAGS="$($(package)_cppflags)" \ + CFLAGS="$($(package)_cflags) $($(package)_cppflags)" \ + LDLAGS="$($(package)_ldflags)" \ + cmake -DCMAKE_INSTALL_PREFIX=$(build_prefix) \ + -DTOOLCHAIN_PREFIX=$(host_toolchain) \ + -DCMAKE_AR="$(host_prefix)/native/bin/$($(package)_ar)" \ + -DCMAKE_RANLIB="$(host_prefix)/native/bin/$($(package)_ranlib)" \ + -DCMAKE_CXX_FLAGS_DEBUG=ON +endef +# -DCMAKE_TOOLCHAIN_FILE=$(HOST)/share/toolchain.cmake + +define $(package)_build_cmds + cd googletest && CC="$(host_prefix)/native/bin/$($(package)_cc)" $(MAKE) +endef + +define $(package)_stage_cmds + mkdir $($(package)_staging_prefix_dir)/lib $($(package)_staging_prefix_dir)/include &&\ + cp googletest/libgtest.a $($(package)_staging_prefix_dir)/lib/ &&\ + cp googletest/libgtest_main.a $($(package)_staging_prefix_dir)/lib/ &&\ + cp -a googletest/include/* $($(package)_staging_prefix_dir)/include/ +endef diff --git a/contrib/depends/packages/hidapi.mk b/contrib/depends/packages/hidapi.mk index 1c43e525a..a27df04fa 100644 --- a/contrib/depends/packages/hidapi.mk +++ b/contrib/depends/packages/hidapi.mk @@ -1,8 +1,8 @@ package=hidapi -$(package)_version=0.8.0-rc1 -$(package)_download_path=https://github.com/signal11/hidapi/archive +$(package)_version=0.9.0 +$(package)_download_path=https://github.com/libusb/hidapi/archive $(package)_file_name=$(package)-$($(package)_version).tar.gz -$(package)_sha256_hash=3c147200bf48a04c1e927cd81589c5ddceff61e6dac137a605f6ac9793f4af61 +$(package)_sha256_hash=630ee1834bdd5c5761ab079fd04f463a89585df8fcae51a7bfe4229b1e02a652 $(package)_linux_dependencies=libusb eudev define $(package)_set_vars @@ -28,3 +28,8 @@ endef define $(package)_stage_cmds $(MAKE) DESTDIR=$($(package)_staging_dir) install endef + +define $(package)_postprocess_cmds + rm lib/*.la +endef + diff --git a/contrib/depends/packages/icu4c.mk b/contrib/depends/packages/icu4c.mk index 2b3845488..dc089bbbe 100644 --- a/contrib/depends/packages/icu4c.mk +++ b/contrib/depends/packages/icu4c.mk @@ -21,11 +21,6 @@ define $(package)_config_cmds $(MAKE) $($(package)_build_opts) endef -#define $(package)_build_cmds -# cd source &&\ - $(MAKE) $($((package)_build_opts) `nproc` -#endef - define $(package)_stage_cmds cd buildb &&\ $(MAKE) $($(package)_build_opts) DESTDIR=$($(package)_staging_dir) install lib/* diff --git a/contrib/depends/packages/ldns.mk b/contrib/depends/packages/ldns.mk index 0b7c3806a..ea4902170 100644 --- a/contrib/depends/packages/ldns.mk +++ b/contrib/depends/packages/ldns.mk @@ -6,8 +6,8 @@ $(package)_sha256_hash=8b88e059452118e8949a2752a55ce59bc71fa5bc414103e17f5b6b06f $(package)_dependencies=openssl define $(package)_set_vars - $(package)_config_opts=--disable-shared --enable-static --disable-dane-ta-usage --with-drill - $(package)_config_opts=--with-ssl=$(host_prefix) + $(package)_config_opts=--disable-shared --enable-static --with-drill + $(package)_config_opts+=--with-ssl=$(host_prefix) $(package)_config_opts_release=--disable-debug-mode $(package)_config_opts_linux=--with-pic endef @@ -25,4 +25,6 @@ define $(package)_stage_cmds endef define $(package)_postprocess_cmds + rm lib/*.la endef + diff --git a/contrib/depends/packages/libiconv.mk b/contrib/depends/packages/libiconv.mk index dbcb28141..d4995c1b7 100644 --- a/contrib/depends/packages/libiconv.mk +++ b/contrib/depends/packages/libiconv.mk @@ -28,3 +28,7 @@ endef define $(package)_stage_cmds $(MAKE) DESTDIR=$($(package)_staging_dir) install endef + +define $(package)_postprocess_cmds + rm lib/*.la +endef diff --git a/contrib/depends/packages/native_cctools.mk b/contrib/depends/packages/native_cctools.mk index 44d238cc4..bcfe1af6b 100644 --- a/contrib/depends/packages/native_cctools.mk +++ b/contrib/depends/packages/native_cctools.mk @@ -52,6 +52,7 @@ endef define $(package)_stage_cmds $(MAKE) DESTDIR=$($(package)_staging_dir) install && \ + cp $($(package)_extract_dir)/cctools/misc/install_name_tool $($(package)_staging_prefix_dir)/bin/ &&\ cd $($(package)_extract_dir)/toolchain && \ mkdir -p $($(package)_staging_prefix_dir)/lib/clang/$($(package)_clang_version)/include && \ mkdir -p $($(package)_staging_prefix_dir)/bin $($(package)_staging_prefix_dir)/include && \ diff --git a/contrib/depends/packages/native_cmake-unused.mk b/contrib/depends/packages/native_cmake-unused.mk new file mode 100644 index 000000000..c9ab75711 --- /dev/null +++ b/contrib/depends/packages/native_cmake-unused.mk @@ -0,0 +1,23 @@ +package=native_cmake +$(package)_version=3.14.0 +$(package)_version_dot=v3.14 +$(package)_download_path=https://cmake.org/files/$($(package)_version_dot)/ +$(package)_file_name=cmake-$($(package)_version).tar.gz +$(package)_sha256_hash=aa76ba67b3c2af1946701f847073f4652af5cbd9f141f221c97af99127e75502 + +define $(package)_set_vars +$(package)_config_opts= +endef + +define $(package)_config_cmds + ./bootstrap &&\ + ./configure $($(package)_config_opts) +endef + +define $(package)_build_cmd + $(MAKE) +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install +endef diff --git a/contrib/depends/packages/ncurses.mk b/contrib/depends/packages/ncurses.mk new file mode 100644 index 000000000..4e06c00d9 --- /dev/null +++ b/contrib/depends/packages/ncurses.mk @@ -0,0 +1,58 @@ +package=ncurses +$(package)_version=6.1 +$(package)_download_path=https://ftp.gnu.org/gnu/ncurses +$(package)_file_name=$(package)-$($(package)_version).tar.gz +$(package)_sha256_hash=aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17 + +define $(package)_set_vars + $(package)_build_opts=CC="$($(package)_cc)" + $(package)_config_env=AR="$($(package)_ar)" RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)" + $(package)_config_env_darwin=RANLIB="$(host_prefix)/native/bin/x86_64-apple-darwin11-ranlib" AR="$(host_prefix)/native/bin/x86_64-apple-darwin11-ar" CC="$(host_prefix)/native/bin/$($(package)_cc)" + $(package)_config_opts=--prefix=$(host_prefix) + $(package)_config_opts+=--disable-shared + $(package)_config_opts+=--with-build-cc=gcc + $(package)_config_opts+=--without-debug + $(package)_config_opts+=--without-ada + $(package)_config_opts+=--without-cxx-binding + $(package)_config_opts+=--without-cxx + $(package)_config_opts+=--without-ticlib + $(package)_config_opts+=--without-tic + $(package)_config_opts+=--without-progs + $(package)_config_opts+=--without-tests + $(package)_config_opts+=--without-tack + $(package)_config_opts+=--without-manpages + $(package)_config_opts+=--disable-tic-depends + $(package)_config_opts+=--disable-big-strings + $(package)_config_opts+=--disable-ext-colors + $(package)_config_opts+=--enable-pc-files + $(package)_config_opts+=--host=$(HOST) + $(pacakge)_config_opts+=--without-shared + $(pacakge)_config_opts+=--without-pthread + $(pacakge)_config_opts+=--disable-rpath + $(pacakge)_config_opts+=--disable-colorfgbg + $(pacakge)_config_opts+=--disable-ext-colors + $(pacakge)_config_opts+=--disable-ext-mouse + $(pacakge)_config_opts+=--disable-symlinks + $(pacakge)_config_opts+=--enable-warnings + $(pacakge)_config_opts+=--enable-assertions + $(pacakge)_config_opts+=--disable-home-terminfo + $(pacakge)_config_opts+=--enable-database + $(pacakge)_config_opts+=--enable-sp-funcs + $(pacakge)_config_opts+=--enable-term-driver + $(pacakge)_config_opts+=--enable-interop + $(pacakge)_config_opts+=--enable-widec + $(package)_build_opts=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -fPIC" +endef + +define $(package)_config_cmds + ./configure $($(package)_config_opts) +endef + +define $(package)_build_cmds + $(MAKE) $($(package)_build_opts) V=1 +endef + +define $(package)_stage_cmds + $(MAKE) install DESTDIR=$($(package)_staging_dir) +endef + diff --git a/contrib/depends/packages/openssl.mk b/contrib/depends/packages/openssl.mk index e920b4409..e39dc1d04 100644 --- a/contrib/depends/packages/openssl.mk +++ b/contrib/depends/packages/openssl.mk @@ -1,8 +1,8 @@ package=openssl -$(package)_version=1.0.2q +$(package)_version=1.0.2r $(package)_download_path=https://www.openssl.org/source $(package)_file_name=$(package)-$($(package)_version).tar.gz -$(package)_sha256_hash=5744cfcbcec2b1b48629f7354203bc1e5e9b5466998bbccc5b5fcde3b18eb684 +$(package)_sha256_hash=ae51d08bba8a83958e894946f15303ff894d75c2b8bbd44a852b64e3fe11d0d6 define $(package)_set_vars $(package)_config_env=AR="$($(package)_ar)" RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)" diff --git a/contrib/depends/packages/packages.mk b/contrib/depends/packages/packages.mk index 1db50580b..562f4f7d6 100644 --- a/contrib/depends/packages/packages.mk +++ b/contrib/depends/packages/packages.mk @@ -1,16 +1,16 @@ -packages:=boost openssl zeromq cppzmq expat ldns cppzmq readline libiconv hidapi protobuf libusb +packages:=boost openssl zeromq cppzmq expat ldns libiconv hidapi protobuf libusb native_packages := native_ccache native_protobuf darwin_native_packages = native_biplist native_ds_store native_mac_alias -darwin_packages = sodium-darwin +darwin_packages = sodium-darwin ncurses readline -linux_packages = eudev +linux_packages = eudev ncurses readline unwind sodium qt_packages = qt -ifeq ($(host_os),linux) -packages += unwind -packages += sodium +ifeq ($(build_tests),ON) +packages += gtest endif + ifeq ($(host_os),mingw32) packages += icu4c packages += sodium diff --git a/contrib/depends/packages/protobuf.mk b/contrib/depends/packages/protobuf.mk index 54d3fd924..81fa78a3f 100644 --- a/contrib/depends/packages/protobuf.mk +++ b/contrib/depends/packages/protobuf.mk @@ -25,5 +25,7 @@ define $(package)_stage_cmds endef define $(package)_postprocess_cmds - rm lib/libprotoc.a + rm lib/libprotoc.a &&\ + rm lib/*.la endef + diff --git a/contrib/depends/packages/readline.mk b/contrib/depends/packages/readline.mk index afefc7f07..0e2100749 100644 --- a/contrib/depends/packages/readline.mk +++ b/contrib/depends/packages/readline.mk @@ -3,19 +3,19 @@ $(package)_version=8.0 $(package)_download_path=https://ftp.gnu.org/gnu/readline $(package)_file_name=$(package)-$($(package)_version).tar.gz $(package)_sha256_hash=e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461 +$(package)_dependencies=ncurses define $(package)_set_vars - $(package)_build_opts=CC="$($(package)_cc)" - $(package)_config_env=AR="$($(package)_ar)" RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)" $(package)_config_opts=--prefix=$(host_prefix) - $(package)_config_opts+=--disable-shared --enable-multibye --without-purify --without-curses + $(package)_config_opts+=--exec-prefix=$(host_prefix) + $(package)_config_opts+=--host=$(HOST) + $(package)_config_opts+=--disable-shared --with-curses $(package)_config_opts_release=--disable-debug-mode + $(package)_config_opts_darwin+=RANLIB="$(host_prefix)/native/bin/x86_64-apple-darwin11-ranlib" AR="$(host_prefix)/native/bin/x86_64-apple-darwin11-ar" CC="$(host_prefix)/native/bin/$($(package)_cc)" $(package)_build_opts=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -fPIC" endef define $(package)_config_cmds - export bash_cv_have_mbstate_t=yes &&\ - export bash_cv_wcwidth_broken=yes &&\ ./configure $($(package)_config_opts) endef @@ -24,6 +24,6 @@ define $(package)_build_cmds endef define $(package)_stage_cmds - $(MAKE) DESTDIR=$($(package)_staging_dir) install + $(MAKE) install DESTDIR=$($(package)_staging_dir) prefix=$(host_prefix) exec-prefix=$(host_prefix) endef diff --git a/contrib/depends/packages/sodium-darwin.mk b/contrib/depends/packages/sodium-darwin.mk index 8b6ee3f1d..9f11a9426 100644 --- a/contrib/depends/packages/sodium-darwin.mk +++ b/contrib/depends/packages/sodium-darwin.mk @@ -23,3 +23,8 @@ endef define $(package)_stage_cmds $(MAKE) DESTDIR=$($(package)_staging_dir) install endef + +define $(package)_postprocess_cmds + rm lib/*.la +endef + diff --git a/contrib/depends/packages/sodium.mk b/contrib/depends/packages/sodium.mk index 06aa8f874..b71f4383e 100644 --- a/contrib/depends/packages/sodium.mk +++ b/contrib/depends/packages/sodium.mk @@ -23,3 +23,8 @@ endef define $(package)_stage_cmds $(MAKE) DESTDIR=$($(package)_staging_dir) install endef + +define $(package)_postprocess_cmds + rm lib/*.la +endef + diff --git a/contrib/depends/packages/unwind.mk b/contrib/depends/packages/unwind.mk index 543f868a5..fddbd0561 100644 --- a/contrib/depends/packages/unwind.mk +++ b/contrib/depends/packages/unwind.mk @@ -19,4 +19,6 @@ define $(package)_stage_cmds endef define $(package)_postprocess_cmds + rm lib/*.la endef + diff --git a/contrib/depends/packages/zeromq.mk b/contrib/depends/packages/zeromq.mk index 01146c26f..f17dbeebe 100644 --- a/contrib/depends/packages/zeromq.mk +++ b/contrib/depends/packages/zeromq.mk @@ -30,5 +30,7 @@ define $(package)_stage_cmds endef define $(package)_postprocess_cmds - rm -rf bin share + rm -rf bin share &&\ + rm lib/*.la endef + diff --git a/contrib/depends/toolchain.cmake.in b/contrib/depends/toolchain.cmake.in index b0af7bd6b..ee0407a5e 100644 --- a/contrib/depends/toolchain.cmake.in +++ b/contrib/depends/toolchain.cmake.in @@ -1,9 +1,17 @@ # Set the system name, either Darwin, Linux, or Windows SET(CMAKE_SYSTEM_NAME @depends@) -SET(CMAKE_BUILD_TYPE release) +SET(CMAKE_BUILD_TYPE @release_type@) -SET(STATIC true) -SET(UNBOUND_STATIC true) +OPTION(STATIC "Link libraries statically" ON) +OPTION(TREZOR_DEBUG "Main trezor debugging switch" OFF) +OPTION(BUILD_TESTS "Build tests." OFF) + +SET(STATIC ON) +SET(UNBOUND_STATIC ON) +SET(ARCH "default") + +SET(BUILD_TESTS @build_tests@) +SET(TREZOR_DEBUG @build_tests@) # where is the target environment SET(CMAKE_FIND_ROOT_PATH @prefix@ /usr) @@ -13,6 +21,8 @@ SET(ENV{PKG_CONFIG_PATH} @prefix@/lib/pkgconfig) SET(LRELEASE_PATH @prefix@/native/bin CACHE FILEPATH "path to lrelease" FORCE) SET(Readline_ROOT_DIR @prefix@) +SET(Readline_INCLUDE_DIR @prefix@/include) +SET(Termcap_LIBRARY @prefix@/lib/libncurses.a) SET(LIBUNWIND_INCLUDE_DIR @prefix@/include) SET(LIBUNWIND_LIBRARIES @prefix@/lib/libunwind.a) diff --git a/contrib/epee/include/math_helper.h b/contrib/epee/include/math_helper.h index 35b649972..ddc1f7f4b 100644 --- a/contrib/epee/include/math_helper.h +++ b/contrib/epee/include/math_helper.h @@ -32,7 +32,7 @@ #include <list> #include <numeric> -#include <boost/timer.hpp> +#include <boost/timer/timer.hpp> #include <boost/uuid/uuid.hpp> #include <boost/uuid/random_generator.hpp> diff --git a/contrib/epee/include/net/abstract_tcp_server2.h b/contrib/epee/include/net/abstract_tcp_server2.h index 374a28a2e..c1aa0fe5f 100644 --- a/contrib/epee/include/net/abstract_tcp_server2.h +++ b/contrib/epee/include/net/abstract_tcp_server2.h @@ -70,7 +70,7 @@ namespace net_utils struct i_connection_filter { - virtual bool is_remote_host_allowed(const epee::net_utils::network_address &address)=0; + virtual bool is_remote_host_allowed(const epee::net_utils::network_address &address, time_t *t = NULL)=0; protected: virtual ~i_connection_filter(){} }; diff --git a/contrib/epee/include/net/abstract_tcp_server2.inl b/contrib/epee/include/net/abstract_tcp_server2.inl index 821594355..fa5858b9f 100644 --- a/contrib/epee/include/net/abstract_tcp_server2.inl +++ b/contrib/epee/include/net/abstract_tcp_server2.inl @@ -54,6 +54,9 @@ #undef MONERO_DEFAULT_LOG_CATEGORY #define MONERO_DEFAULT_LOG_CATEGORY "net" +#define AGGRESSIVE_TIMEOUT_THRESHOLD 120 // sockets +#define NEW_CONNECTION_TIMEOUT_LOCAL 1200000 // 2 minutes +#define NEW_CONNECTION_TIMEOUT_REMOTE 10000 // 10 seconds #define DEFAULT_TIMEOUT_MS_LOCAL 1800000 // 30 minutes #define DEFAULT_TIMEOUT_MS_REMOTE 300000 // 5 minutes #define TIMEOUT_EXTRA_MS_PER_BYTE 0.2 @@ -189,7 +192,7 @@ PRAGMA_WARNING_DISABLE_VS(4355) m_protocol_handler.after_init_connection(); - reset_timer(get_default_timeout(), false); + reset_timer(boost::posix_time::milliseconds(m_local ? NEW_CONNECTION_TIMEOUT_LOCAL : NEW_CONNECTION_TIMEOUT_REMOTE), false); // first read on the raw socket to detect SSL for the server buffer_ssl_init_fill = 0; @@ -691,7 +694,7 @@ PRAGMA_WARNING_DISABLE_VS(4355) { unsigned count; try { count = host_count(m_host); } catch (...) { count = 0; } - const unsigned shift = std::min(std::max(count, 1u) - 1, 8u); + const unsigned shift = get_state().sock_count > AGGRESSIVE_TIMEOUT_THRESHOLD ? std::min(std::max(count, 1u) - 1, 8u) : 0; boost::posix_time::milliseconds timeout(0); if (m_local) timeout = boost::posix_time::milliseconds(DEFAULT_TIMEOUT_MS_LOCAL >> shift); @@ -730,8 +733,6 @@ PRAGMA_WARNING_DISABLE_VS(4355) template<class t_protocol_handler> void connection<t_protocol_handler>::reset_timer(boost::posix_time::milliseconds ms, bool add) { - if (m_connection_type != e_connection_type_RPC) - return; MTRACE("Setting " << ms << " expiry"); auto self = safe_shared_from_this(); if(!self) diff --git a/contrib/epee/include/net/levin_protocol_handler_async.h b/contrib/epee/include/net/levin_protocol_handler_async.h index a1ea3e680..116b3ace1 100644 --- a/contrib/epee/include/net/levin_protocol_handler_async.h +++ b/contrib/epee/include/net/levin_protocol_handler_async.h @@ -266,7 +266,7 @@ public: m_pservice_endpoint(psnd_hndlr), m_config(config), m_connection_context(conn_context), - m_cache_in_buffer(256 * 1024), + m_cache_in_buffer(4 * 1024), m_state(stream_state_head) { m_close_called = 0; diff --git a/contrib/epee/include/net/net_fwd.h b/contrib/epee/include/net/net_fwd.h new file mode 100644 index 000000000..ba4fe6259 --- /dev/null +++ b/contrib/epee/include/net/net_fwd.h @@ -0,0 +1,38 @@ +// Copyright (c) 2019, The Monero Project +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are +// permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of +// conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, this list +// of conditions and the following disclaimer in the documentation and/or other +// materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its contributors may be +// used to endorse or promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#pragma once + +namespace epee +{ + namespace net_utils + { + struct ssl_authentication_t; + class ssl_options_t; + } +} diff --git a/contrib/epee/include/net/net_helper.h b/contrib/epee/include/net/net_helper.h index 89cef8134..e315555fc 100644 --- a/contrib/epee/include/net/net_helper.h +++ b/contrib/epee/include/net/net_helper.h @@ -193,7 +193,6 @@ namespace net_utils return CONNECT_FAILURE; } } - m_ssl_options.support = ssl_support_t::e_ssl_support_enabled; } return CONNECT_SUCCESS; }else @@ -223,7 +222,6 @@ namespace net_utils return false; if (m_ssl_options.support == epee::net_utils::ssl_support_t::e_ssl_support_autodetect) { - m_ssl_options.support = epee::net_utils::ssl_support_t::e_ssl_support_enabled; if (try_connect_result == CONNECT_NO_SSL) { MERROR("SSL handshake failed on an autodetect connection, reconnecting without SSL"); @@ -396,7 +394,7 @@ namespace net_utils if (!m_connected || !m_ssl_socket->next_layer().is_open()) return false; if (ssl) - *ssl = m_ssl_options.support == ssl_support_t::e_ssl_support_enabled; + *ssl = m_ssl_options.support != ssl_support_t::e_ssl_support_disabled; return true; } @@ -448,6 +446,7 @@ namespace net_utils { MTRACE("Connection err_code eof."); //connection closed there, empty + buff.clear(); return true; } @@ -650,7 +649,7 @@ namespace net_utils bool write(const void* data, size_t sz, boost::system::error_code& ec) { bool success; - if(m_ssl_options.support == ssl_support_t::e_ssl_support_enabled) + if(m_ssl_options.support != ssl_support_t::e_ssl_support_disabled) success = boost::asio::write(*m_ssl_socket, boost::asio::buffer(data, sz), ec); else success = boost::asio::write(m_ssl_socket->next_layer(), boost::asio::buffer(data, sz), ec); @@ -659,7 +658,7 @@ namespace net_utils void async_write(const void* data, size_t sz, boost::system::error_code& ec) { - if(m_ssl_options.support == ssl_support_t::e_ssl_support_enabled) + if(m_ssl_options.support != ssl_support_t::e_ssl_support_disabled) boost::asio::async_write(*m_ssl_socket, boost::asio::buffer(data, sz), boost::lambda::var(ec) = boost::lambda::_1); else boost::asio::async_write(m_ssl_socket->next_layer(), boost::asio::buffer(data, sz), boost::lambda::var(ec) = boost::lambda::_1); @@ -667,7 +666,7 @@ namespace net_utils void async_read(char* buff, size_t sz, boost::asio::detail::transfer_at_least_t transfer_at_least, handler_obj& hndlr) { - if(m_ssl_options.support != ssl_support_t::e_ssl_support_enabled) + if(m_ssl_options.support == ssl_support_t::e_ssl_support_disabled) boost::asio::async_read(m_ssl_socket->next_layer(), boost::asio::buffer(buff, sz), transfer_at_least, hndlr); else boost::asio::async_read(*m_ssl_socket, boost::asio::buffer(buff, sz), transfer_at_least, hndlr); diff --git a/contrib/epee/include/net/net_ssl.h b/contrib/epee/include/net/net_ssl.h index 957903ff8..3a97dfdaf 100644 --- a/contrib/epee/include/net/net_ssl.h +++ b/contrib/epee/include/net/net_ssl.h @@ -37,6 +37,8 @@ #include <boost/asio/ssl.hpp> #include <boost/system/error_code.hpp> +#define SSL_FINGERPRINT_SIZE 32 + namespace epee { namespace net_utils @@ -133,6 +135,9 @@ namespace net_utils constexpr size_t get_ssl_magic_size() { return 9; } bool is_ssl(const unsigned char *data, size_t len); bool ssl_support_from_string(ssl_support_t &ssl, boost::string_ref s); + + bool create_ec_ssl_certificate(EVP_PKEY *&pkey, X509 *&cert); + bool create_rsa_ssl_certificate(EVP_PKEY *&pkey, X509 *&cert); } } diff --git a/contrib/epee/include/net/net_utils_base.h b/contrib/epee/include/net/net_utils_base.h index 50536f63b..62618537f 100644 --- a/contrib/epee/include/net/net_utils_base.h +++ b/contrib/epee/include/net/net_utils_base.h @@ -41,7 +41,7 @@ #define MONERO_DEFAULT_LOG_CATEGORY "net" #ifndef MAKE_IP -#define MAKE_IP( a1, a2, a3, a4 ) (a1|(a2<<8)|(a3<<16)|(a4<<24)) +#define MAKE_IP( a1, a2, a3, a4 ) (a1|(a2<<8)|(a3<<16)|(((uint32_t)a4)<<24)) #endif #if BOOST_VERSION >= 107000 @@ -107,6 +107,53 @@ namespace net_utils inline bool operator>=(const ipv4_network_address& lhs, const ipv4_network_address& rhs) noexcept { return !lhs.less(rhs); } + class ipv4_network_subnet + { + uint32_t m_ip; + uint8_t m_mask; + + public: + constexpr ipv4_network_subnet() noexcept + : ipv4_network_subnet(0, 0) + {} + + constexpr ipv4_network_subnet(uint32_t ip, uint8_t mask) noexcept + : m_ip(ip), m_mask(mask) {} + + bool equal(const ipv4_network_subnet& other) const noexcept; + bool less(const ipv4_network_subnet& other) const noexcept; + constexpr bool is_same_host(const ipv4_network_subnet& other) const noexcept + { return subnet() == other.subnet(); } + bool matches(const ipv4_network_address &address) const; + + constexpr uint32_t subnet() const noexcept { return m_ip & ~(0xffffffffull << m_mask); } + std::string str() const; + std::string host_str() const; + bool is_loopback() const; + bool is_local() const; + static constexpr address_type get_type_id() noexcept { return address_type::invalid; } + static constexpr zone get_zone() noexcept { return zone::public_; } + static constexpr bool is_blockable() noexcept { return true; } + + BEGIN_KV_SERIALIZE_MAP() + KV_SERIALIZE(m_ip) + KV_SERIALIZE(m_mask) + END_KV_SERIALIZE_MAP() + }; + + inline bool operator==(const ipv4_network_subnet& lhs, const ipv4_network_subnet& rhs) noexcept + { return lhs.equal(rhs); } + inline bool operator!=(const ipv4_network_subnet& lhs, const ipv4_network_subnet& rhs) noexcept + { return !lhs.equal(rhs); } + inline bool operator<(const ipv4_network_subnet& lhs, const ipv4_network_subnet& rhs) noexcept + { return lhs.less(rhs); } + inline bool operator<=(const ipv4_network_subnet& lhs, const ipv4_network_subnet& rhs) noexcept + { return !rhs.less(lhs); } + inline bool operator>(const ipv4_network_subnet& lhs, const ipv4_network_subnet& rhs) noexcept + { return rhs.less(lhs); } + inline bool operator>=(const ipv4_network_subnet& lhs, const ipv4_network_subnet& rhs) noexcept + { return !lhs.less(rhs); } + class network_address { struct interface @@ -294,6 +341,11 @@ namespace net_utils m_max_speed_up(0) {} + connection_context_base(const connection_context_base& a): connection_context_base() + { + set_details(a.m_connection_id, a.m_remote_address, a.m_is_income, a.m_ssl); + } + connection_context_base& operator=(const connection_context_base& a) { set_details(a.m_connection_id, a.m_remote_address, a.m_is_income, a.m_ssl); diff --git a/contrib/epee/include/rolling_median.h b/contrib/epee/include/rolling_median.h new file mode 100644 index 000000000..8b5a82a84 --- /dev/null +++ b/contrib/epee/include/rolling_median.h @@ -0,0 +1,236 @@ +// Copyright (c) 2019, The Monero Project +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are +// permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of +// conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, this list +// of conditions and the following disclaimer in the documentation and/or other +// materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its contributors may be +// used to endorse or promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Adapted from source by AShelly: +// Copyright (c) 2011 ashelly.myopenid.com, licenced under the MIT licence +// https://stackoverflow.com/questions/5527437/rolling-median-in-c-turlach-implementation +// https://stackoverflow.com/questions/1309263/rolling-median-algorithm-in-c +// https://ideone.com/XPbl6 + +#pragma once + +#include <stdlib.h> +#include <stdint.h> + +namespace epee +{ +namespace misc_utils +{ + +template<typename Item> +struct rolling_median_t +{ +private: + Item* data; //circular queue of values + int* pos; //index into `heap` for each value + int* heap; //max/median/min heap holding indexes into `data`. + int N; //allocated size. + int idx; //position in circular queue + int minCt; //count of items in min heap + int maxCt; //count of items in max heap + int sz; //count of items in heap + +private: + + //returns true if heap[i] < heap[j] + bool mmless(int i, int j) const + { + return data[heap[i]] < data[heap[j]]; + } + + //swaps items i&j in heap, maintains indexes + bool mmexchange(int i, int j) + { + const int t = heap[i]; + heap[i] = heap[j]; + heap[j] = t; + pos[heap[i]] = i; + pos[heap[j]] = j; + return 1; + } + + //swaps items i&j if i<j; returns true if swapped + bool mmCmpExch(int i, int j) + { + return mmless(i, j) && mmexchange(i, j); + } + + //maintains minheap property for all items below i. + void minSortDown(int i) + { + for (i *= 2; i <= minCt; i *= 2) + { + if (i < minCt && mmless(i + 1, i)) + ++i; + if (!mmCmpExch(i, i / 2)) + break; + } + } + + //maintains maxheap property for all items below i. (negative indexes) + void maxSortDown(int i) + { + for (i *= 2; i >= -maxCt; i *= 2) + { + if (i > -maxCt && mmless(i, i - 1)) + --i; + if (!mmCmpExch(i / 2, i)) + break; + } + } + + //maintains minheap property for all items above i, including median + //returns true if median changed + bool minSortUp(int i) + { + while (i > 0 && mmCmpExch(i, i / 2)) + i /= 2; + return i == 0; + } + + //maintains maxheap property for all items above i, including median + //returns true if median changed + bool maxSortUp(int i) + { + while (i < 0 && mmCmpExch(i / 2, i)) + i /= 2; + return i == 0; + } + +protected: + rolling_median_t &operator=(const rolling_median_t&) = delete; + rolling_median_t(const rolling_median_t&) = delete; + +public: + //creates new rolling_median_t: to calculate `nItems` running median. + rolling_median_t(size_t N): N(N) + { + int size = N * (sizeof(Item) + sizeof(int) * 2); + data = (Item*)malloc(size); + pos = (int*) (data + N); + heap = pos + N + (N / 2); //points to middle of storage. + clear(); + } + + rolling_median_t(rolling_median_t &&m) + { + free(data); + memcpy(this, &m, sizeof(rolling_median_t)); + m.data = NULL; + } + rolling_median_t &operator=(rolling_median_t &&m) + { + free(data); + memcpy(this, &m, sizeof(rolling_median_t)); + m.data = NULL; + return *this; + } + + ~rolling_median_t() + { + free(data); + } + + void clear() + { + idx = 0; + minCt = 0; + maxCt = 0; + sz = 0; + int nItems = N; + while (nItems--) //set up initial heap fill pattern: median,max,min,max,... + { + pos[nItems] = ((nItems + 1) / 2) * ((nItems & 1) ? -1 : 1); + heap[pos[nItems]] = nItems; + } + } + + int size() const + { + return sz; + } + + //Inserts item, maintains median in O(lg nItems) + void insert(Item v) + { + int p = pos[idx]; + Item old = data[idx]; + data[idx] = v; + idx = (idx + 1) % N; + sz = std::min<int>(sz + 1, N); + if (p > 0) //new item is in minHeap + { + if (minCt < (N - 1) / 2) + { + ++minCt; + } + else if (v > old) + { + minSortDown(p); + return; + } + if (minSortUp(p) && mmCmpExch(0, -1)) + maxSortDown(-1); + } + else if (p < 0) //new item is in maxheap + { + if (maxCt < N / 2) + { + ++maxCt; + } + else if (v < old) + { + maxSortDown(p); + return; + } + if (maxSortUp(p) && minCt && mmCmpExch(1, 0)) + minSortDown(1); + } + else //new item is at median + { + if (maxCt && maxSortUp(-1)) + maxSortDown(-1); + if (minCt && minSortUp(1)) + minSortDown(1); + } + } + + //returns median item (or average of 2 when item count is even) + Item median() const + { + Item v = data[heap[0]]; + if (minCt < maxCt) + { + v = (v + data[heap[-1]]) / 2; + } + return v; + } +}; + +} +} diff --git a/contrib/epee/include/serialization/keyvalue_serialization.h b/contrib/epee/include/serialization/keyvalue_serialization.h index fc5a21851..5459c8409 100644 --- a/contrib/epee/include/serialization/keyvalue_serialization.h +++ b/contrib/epee/include/serialization/keyvalue_serialization.h @@ -32,6 +32,9 @@ #include "enableable.h" #include "keyvalue_serialization_overloads.h" +#undef MONERO_DEFAULT_LOG_CATEGORY +#define MONERO_DEFAULT_LOG_CATEGORY "serialization" + namespace epee { /************************************************************************/ diff --git a/contrib/epee/include/serialization/keyvalue_serialization_overloads.h b/contrib/epee/include/serialization/keyvalue_serialization_overloads.h index 15c95f07a..fc8b90a2c 100644 --- a/contrib/epee/include/serialization/keyvalue_serialization_overloads.h +++ b/contrib/epee/include/serialization/keyvalue_serialization_overloads.h @@ -33,6 +33,9 @@ #include <boost/mpl/vector.hpp> #include <boost/mpl/contains_fwd.hpp> +#undef MONERO_DEFAULT_LOG_CATEGORY +#define MONERO_DEFAULT_LOG_CATEGORY "serialization" + namespace epee { namespace diff --git a/contrib/epee/include/storages/portable_storage_from_bin.h b/contrib/epee/include/storages/portable_storage_from_bin.h index 2884f8c5e..e0a32b3ca 100644 --- a/contrib/epee/include/storages/portable_storage_from_bin.h +++ b/contrib/epee/include/storages/portable_storage_from_bin.h @@ -136,6 +136,7 @@ namespace epee //for pod types array_entry_t<type_name> sa; size_t size = read_varint(); + CHECK_AND_ASSERT_THROW_MES(size <= m_count, "Size sanity check failed"); sa.reserve(size); //TODO: add some optimization here later while(size--) diff --git a/contrib/epee/src/buffer.cpp b/contrib/epee/src/buffer.cpp index d637b905e..10ea6de56 100644 --- a/contrib/epee/src/buffer.cpp +++ b/contrib/epee/src/buffer.cpp @@ -64,7 +64,8 @@ void buffer::append(const void *data, size_t sz) size_t reserve = (((size() + sz) * 3 / 2) + 4095) & ~4095; new_storage.reserve(reserve); new_storage.resize(size()); - memcpy(new_storage.data(), storage.data() + offset, storage.size() - offset); + if (size() > 0) + memcpy(new_storage.data(), storage.data() + offset, storage.size() - offset); offset = 0; std::swap(storage, new_storage); } diff --git a/contrib/epee/src/mlog.cpp b/contrib/epee/src/mlog.cpp index 9b6b832d1..4c6ad5516 100644 --- a/contrib/epee/src/mlog.cpp +++ b/contrib/epee/src/mlog.cpp @@ -100,7 +100,7 @@ static const char *get_default_categories(int level) switch (level) { case 0: - categories = "*:WARNING,net:FATAL,net.http:FATAL,net.p2p:FATAL,net.cn:FATAL,global:INFO,verify:FATAL,stacktrace:INFO,logging:INFO,msgwriter:INFO"; + categories = "*:WARNING,net:FATAL,net.http:FATAL,net.ssl:FATAL,net.p2p:FATAL,net.cn:FATAL,global:INFO,verify:FATAL,serialization:FATAL,stacktrace:INFO,logging:INFO,msgwriter:INFO"; break; case 1: categories = "*:INFO,global:INFO,stacktrace:INFO,logging:INFO,msgwriter:INFO,perf.*:DEBUG"; diff --git a/contrib/epee/src/net_ssl.cpp b/contrib/epee/src/net_ssl.cpp index 7bedb18ac..7d48d2a64 100644 --- a/contrib/epee/src/net_ssl.cpp +++ b/contrib/epee/src/net_ssl.cpp @@ -78,6 +78,24 @@ namespace }; using openssl_bignum = std::unique_ptr<BIGNUM, openssl_bignum_free>; + struct openssl_ec_key_free + { + void operator()(EC_KEY* ptr) const noexcept + { + EC_KEY_free(ptr); + } + }; + using openssl_ec_key = std::unique_ptr<EC_KEY, openssl_ec_key_free>; + + struct openssl_group_free + { + void operator()(EC_GROUP* ptr) const noexcept + { + EC_GROUP_free(ptr); + } + }; + using openssl_group = std::unique_ptr<EC_GROUP, openssl_group_free>; + boost::system::error_code load_ca_file(boost::asio::ssl::context& ctx, const std::string& path) { SSL_CTX* const ssl_ctx = ctx.native_handle(); // could be moved from context @@ -101,7 +119,7 @@ namespace net_utils // https://stackoverflow.com/questions/256405/programmatically-create-x509-certificate-using-openssl -bool create_ssl_certificate(EVP_PKEY *&pkey, X509 *&cert) +bool create_rsa_ssl_certificate(EVP_PKEY *&pkey, X509 *&cert) { MGINFO("Generating SSL certificate"); pkey = EVP_PKEY_new(); @@ -171,6 +189,87 @@ bool create_ssl_certificate(EVP_PKEY *&pkey, X509 *&cert) return true; } +bool create_ec_ssl_certificate(EVP_PKEY *&pkey, X509 *&cert, int type) +{ + MGINFO("Generating SSL certificate"); + pkey = EVP_PKEY_new(); + if (!pkey) + { + MERROR("Failed to create new private key"); + return false; + } + + openssl_pkey pkey_deleter{pkey}; + openssl_ec_key ec_key{EC_KEY_new()}; + if (!ec_key) + { + MERROR("Error allocating EC private key"); + return false; + } + + EC_GROUP *group = EC_GROUP_new_by_curve_name(type); + if (!group) + { + MERROR("Error getting EC group " << type); + return false; + } + openssl_group group_deleter{group}; + + EC_GROUP_set_asn1_flag(group, OPENSSL_EC_NAMED_CURVE); + EC_GROUP_set_point_conversion_form(group, POINT_CONVERSION_UNCOMPRESSED); + + if (!EC_GROUP_check(group, NULL)) + { + MERROR("Group failed check: " << ERR_reason_error_string(ERR_get_error())); + return false; + } + if (EC_KEY_set_group(ec_key.get(), group) != 1) + { + MERROR("Error setting EC group"); + return false; + } + if (EC_KEY_generate_key(ec_key.get()) != 1) + { + MERROR("Error generating EC private key"); + return false; + } + if (EVP_PKEY_assign_EC_KEY(pkey, ec_key.get()) <= 0) + { + MERROR("Error assigning EC private key"); + return false; + } + + // the key is now managed by the EVP_PKEY structure + (void)ec_key.release(); + + cert = X509_new(); + if (!cert) + { + MERROR("Failed to create new X509 certificate"); + return false; + } + ASN1_INTEGER_set(X509_get_serialNumber(cert), 1); + X509_gmtime_adj(X509_get_notBefore(cert), 0); + X509_gmtime_adj(X509_get_notAfter(cert), 3600 * 24 * 182); // half a year + if (!X509_set_pubkey(cert, pkey)) + { + MERROR("Error setting pubkey on certificate"); + X509_free(cert); + return false; + } + X509_NAME *name = X509_get_subject_name(cert); + X509_set_issuer_name(cert, name); + + if (X509_sign(cert, pkey, EVP_sha256()) == 0) + { + MERROR("Error signing certificate"); + X509_free(cert); + return false; + } + (void)pkey_deleter.release(); + return true; +} + ssl_options_t::ssl_options_t(std::vector<std::vector<std::uint8_t>> fingerprints, std::string ca_path) : fingerprints_(std::move(fingerprints)), ca_path(std::move(ca_path)), @@ -195,7 +294,7 @@ boost::asio::ssl::context ssl_options_t::create_context() const ssl_context.set_options(boost::asio::ssl::context::no_tlsv1_1); // only allow a select handful of tls v1.3 and v1.2 ciphers to be used - SSL_CTX_set_cipher_list(ssl_context.native_handle(), "ECDHE-ECDSA-CHACHA20-POLY1305-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-CHACHA20-POLY1305"); + SSL_CTX_set_cipher_list(ssl_context.native_handle(), "ECDHE-ECDSA-CHACHA20-POLY1305-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256"); // set options on the SSL context for added security SSL_CTX *ctx = ssl_context.native_handle(); @@ -214,6 +313,10 @@ boost::asio::ssl::context ssl_options_t::create_context() const #ifdef SSL_OP_NO_COMPRESSION SSL_CTX_set_options(ctx, SSL_OP_NO_COMPRESSION); #endif +#ifdef SSL_OP_CIPHER_SERVER_PREFERENCE + SSL_CTX_set_options(ctx, SSL_OP_CIPHER_SERVER_PREFERENCE); +#endif + SSL_CTX_set_ecdh_auto(ctx, 1); switch (verification) { @@ -240,11 +343,29 @@ boost::asio::ssl::context ssl_options_t::create_context() const { EVP_PKEY *pkey; X509 *cert; - CHECK_AND_ASSERT_THROW_MES(create_ssl_certificate(pkey, cert), "Failed to create certificate"); + bool ok = false; + +#ifdef USE_EXTRA_EC_CERT + CHECK_AND_ASSERT_THROW_MES(create_ec_ssl_certificate(pkey, cert, NID_secp256k1), "Failed to create certificate"); + CHECK_AND_ASSERT_THROW_MES(SSL_CTX_use_certificate(ctx, cert), "Failed to use generated certificate"); + if (!SSL_CTX_use_PrivateKey(ctx, pkey)) + MERROR("Failed to use generated EC private key for " << NID_secp256k1); + else + ok = true; + X509_free(cert); + EVP_PKEY_free(pkey); +#endif + + CHECK_AND_ASSERT_THROW_MES(create_rsa_ssl_certificate(pkey, cert), "Failed to create certificate"); CHECK_AND_ASSERT_THROW_MES(SSL_CTX_use_certificate(ctx, cert), "Failed to use generated certificate"); - // don't free the cert, the CTX owns it now - CHECK_AND_ASSERT_THROW_MES(SSL_CTX_use_PrivateKey(ctx, pkey), "Failed to use generated private key"); + if (!SSL_CTX_use_PrivateKey(ctx, pkey)) + MERROR("Failed to use generated RSA private key for RSA"); + else + ok = true; + X509_free(cert); EVP_PKEY_free(pkey); + + CHECK_AND_ASSERT_THROW_MES(ok, "Failed to use any generated certificate"); } else auth.use_ssl_certificate(ssl_context); @@ -321,7 +442,7 @@ bool ssl_options_t::has_fingerprint(boost::asio::ssl::verify_context &ctx) const unsigned int size{ 0 }; // create the digest from the certificate - if (!X509_digest(cert, EVP_sha1(), digest.data(), &size)) { + if (!X509_digest(cert, EVP_sha256(), digest.data(), &size)) { MERROR("Failed to create certificate fingerprint"); return false; } diff --git a/contrib/epee/src/net_utils_base.cpp b/contrib/epee/src/net_utils_base.cpp index 9b781027e..b7f07a23b 100644 --- a/contrib/epee/src/net_utils_base.cpp +++ b/contrib/epee/src/net_utils_base.cpp @@ -22,6 +22,24 @@ namespace epee { namespace net_utils bool ipv4_network_address::is_local() const { return net_utils::is_ip_local(ip()); } + bool ipv4_network_subnet::equal(const ipv4_network_subnet& other) const noexcept + { return is_same_host(other) && m_mask == other.m_mask; } + + bool ipv4_network_subnet::less(const ipv4_network_subnet& other) const noexcept + { return subnet() < other.subnet() ? true : (other.subnet() < subnet() ? false : (m_mask < other.m_mask)); } + + std::string ipv4_network_subnet::str() const + { return string_tools::get_ip_string_from_int32(subnet()) + "/" + std::to_string(m_mask); } + + std::string ipv4_network_subnet::host_str() const { return string_tools::get_ip_string_from_int32(subnet()) + "/" + std::to_string(m_mask); } + bool ipv4_network_subnet::is_loopback() const { return net_utils::is_ip_loopback(subnet()); } + bool ipv4_network_subnet::is_local() const { return net_utils::is_ip_local(subnet()); } + bool ipv4_network_subnet::matches(const ipv4_network_address &address) const + { + return (address.ip() & ~(0xffffffffull << m_mask)) == subnet(); + } + + bool network_address::equal(const network_address& other) const { // clang typeid workaround diff --git a/contrib/epee/src/wipeable_string.cpp b/contrib/epee/src/wipeable_string.cpp index 3a6ee5dac..4209b71bf 100644 --- a/contrib/epee/src/wipeable_string.cpp +++ b/contrib/epee/src/wipeable_string.cpp @@ -62,13 +62,15 @@ wipeable_string::wipeable_string(wipeable_string &&other) wipeable_string::wipeable_string(const std::string &other) { grow(other.size()); - memcpy(buffer.data(), other.c_str(), size()); + if (size() > 0) + memcpy(buffer.data(), other.c_str(), size()); } wipeable_string::wipeable_string(std::string &&other) { grow(other.size()); - memcpy(buffer.data(), other.c_str(), size()); + if (size() > 0) + memcpy(buffer.data(), other.c_str(), size()); if (!other.empty()) { memwipe(&other[0], other.size()); // we're kinda left with this again aren't we @@ -79,7 +81,8 @@ wipeable_string::wipeable_string(std::string &&other) wipeable_string::wipeable_string(const char *s) { grow(strlen(s)); - memcpy(buffer.data(), s, size()); + if (size() > 0) + memcpy(buffer.data(), s, size()); } wipeable_string::wipeable_string(const char *s, size_t len) @@ -112,14 +115,18 @@ void wipeable_string::grow(size_t sz, size_t reserved) } size_t old_sz = buffer.size(); std::unique_ptr<char[]> tmp{new char[old_sz]}; - memcpy(tmp.get(), buffer.data(), old_sz * sizeof(char)); if (old_sz > 0) + { + memcpy(tmp.get(), buffer.data(), old_sz * sizeof(char)); memwipe(buffer.data(), old_sz * sizeof(char)); + } buffer.reserve(reserved); buffer.resize(sz); - memcpy(buffer.data(), tmp.get(), old_sz * sizeof(char)); if (old_sz > 0) + { + memcpy(buffer.data(), tmp.get(), old_sz * sizeof(char)); memwipe(tmp.get(), old_sz * sizeof(char)); + } } void wipeable_string::push_back(char c) diff --git a/contrib/gitian/README.md b/contrib/gitian/README.md index b869bde87..1efc87e0a 100644 --- a/contrib/gitian/README.md +++ b/contrib/gitian/README.md @@ -119,7 +119,7 @@ In order to sign gitian builds on your host machine, which has your PGP key, fork the gitian.sigs repository and clone it on your host machine, or pass the signed assert file back to your build machine. -``` +```bash git clone git@github.com:monero-project/gitian.sigs.git git remote add fluffypony git@github.com:fluffypony/gitian.sigs.git ``` @@ -156,9 +156,9 @@ git push --set-upstream $NAME v0.14.0 ``` ```bash - gpg --detach-sign ${VERSION}-linux/${SIGNER}/monero-linux-*-build.assert - gpg --detach-sign ${VERSION}-win-unsigned/${SIGNER}/monero-win-*-build.assert - gpg --detach-sign ${VERSION}-osx-unsigned/${SIGNER}/monero-osx-*-build.assert +gpg --detach-sign ${VERSION}-linux/${SIGNER}/monero-linux-*-build.assert +gpg --detach-sign ${VERSION}-win-unsigned/${SIGNER}/monero-win-*-build.assert +gpg --detach-sign ${VERSION}-osx-unsigned/${SIGNER}/monero-osx-*-build.assert ``` More Build Options diff --git a/contrib/gitian/gitian-linux.yml b/contrib/gitian/gitian-linux.yml index 67f174fec..6e3ad108e 100644 --- a/contrib/gitian/gitian-linux.yml +++ b/contrib/gitian/gitian-linux.yml @@ -129,6 +129,7 @@ script: | chmod +x ${WRAP_DIR}/${prog} done + git config --global core.abbrev 9 cd monero BASEPREFIX=`pwd`/contrib/depends # Build dependencies for each host @@ -153,7 +154,7 @@ script: | export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH} mkdir build && cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=${BASEPREFIX}/${i}/share/toolchain.cmake -DBACKCOMPAT=ON - make + make ${MAKEOPTS} DISTNAME=monero-${i} mv bin ${DISTNAME} find ${DISTNAME}/ | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}.tar.gz diff --git a/contrib/gitian/gitian-osx.yml b/contrib/gitian/gitian-osx.yml index 7de302353..1cdb85273 100644 --- a/contrib/gitian/gitian-osx.yml +++ b/contrib/gitian/gitian-osx.yml @@ -77,6 +77,7 @@ script: | create_per-host_faketime_wrappers "2000-01-01 12:00:00" export PATH=${WRAP_DIR}:${PATH} + git config --global core.abbrev 9 cd monero BASEPREFIX=`pwd`/contrib/depends @@ -100,7 +101,7 @@ script: | export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH} mkdir build && cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=${BASEPREFIX}/${i}/share/toolchain.cmake - make + make ${MAKEOPTS} DISTNAME=monero-${i} mv bin ${DISTNAME} find ${DISTNAME}/ | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}.tar.gz diff --git a/contrib/gitian/gitian-win.yml b/contrib/gitian/gitian-win.yml index 1eb558300..d15383905 100644 --- a/contrib/gitian/gitian-win.yml +++ b/contrib/gitian/gitian-win.yml @@ -100,6 +100,7 @@ script: | create_per-host_linker_wrapper "2000-01-01 12:00:00" export PATH=${WRAP_DIR}:${PATH} + git config --global core.abbrev 9 cd monero BASEPREFIX=`pwd`/contrib/depends # Build dependencies for each host @@ -125,7 +126,7 @@ script: | export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH} mkdir build && cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=${BASEPREFIX}/${i}/share/toolchain.cmake - make + make ${MAKEOPTS} DISTNAME=monero-${i} mv bin ${DISTNAME} find ${DISTNAME}/ | sort | zip -X@ ${OUTDIR}/${DISTNAME}.zip diff --git a/external/miniupnp b/external/miniupnp -Subproject 6b9b73a567e351b844f96c077f7b752ea92e298 +Subproject 4c700e09526a7d546394e85628c57e9490feefa diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index da6d76d97..8a21763c8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -133,7 +133,7 @@ if(NOT IOS) add_subdirectory(blockchain_utilities) endif() -if(CMAKE_BUILD_TYPE STREQUAL Debug) +if(BUILD_DEBUG_UTILITIES) add_subdirectory(debug_utilities) endif() diff --git a/src/blockchain_db/blockchain_db.h b/src/blockchain_db/blockchain_db.h index 567be6a65..b6b8c6c3e 100644 --- a/src/blockchain_db/blockchain_db.h +++ b/src/blockchain_db/blockchain_db.h @@ -754,6 +754,21 @@ public: virtual void batch_stop() = 0; /** + * @brief aborts a batch transaction + * + * If the subclass implements batching, this function should abort the + * batch it is currently on. + * + * If no batch is in-progress, this function should throw a DB_ERROR. + * This exception may change in the future if it is deemed necessary to + * have a more granular exception type for this scenario. + * + * If any of this cannot be done, the subclass should throw the corresponding + * subclass of DB_EXCEPTION + */ + virtual void batch_abort() = 0; + + /** * @brief sets whether or not to batch transactions * * If the subclass implements batching, this function tells it to begin diff --git a/src/blockchain_db/lmdb/db_lmdb.cpp b/src/blockchain_db/lmdb/db_lmdb.cpp index 340434888..d0fd787db 100644 --- a/src/blockchain_db/lmdb/db_lmdb.cpp +++ b/src/blockchain_db/lmdb/db_lmdb.cpp @@ -770,8 +770,8 @@ void BlockchainLMDB::add_block(const block& blk, size_t block_weight, uint64_t l bi.bi_timestamp = blk.timestamp; bi.bi_coins = coins_generated; bi.bi_weight = block_weight; - bi.bi_diff_hi = (cumulative_difficulty >> 64).convert_to<uint64_t>(); - bi.bi_diff_lo = (cumulative_difficulty << 64 >> 64).convert_to<uint64_t>(); + bi.bi_diff_hi = ((cumulative_difficulty >> 64) & 0xffffffffffffffff).convert_to<uint64_t>(); + bi.bi_diff_lo = (cumulative_difficulty & 0xffffffffffffffff).convert_to<uint64_t>(); bi.bi_hash = blk_hash; bi.bi_cum_rct = num_rct_outs; if (blk.major_version >= 4) @@ -1077,11 +1077,11 @@ void BlockchainLMDB::add_tx_amount_output_indices(const uint64_t tx_id, int result = 0; - int num_outputs = amount_output_indices.size(); + size_t num_outputs = amount_output_indices.size(); MDB_val_set(k_tx_id, tx_id); MDB_val v; - v.mv_data = (void *)amount_output_indices.data(); + v.mv_data = num_outputs ? (void *)amount_output_indices.data() : (void*)""; v.mv_size = sizeof(uint64_t) * num_outputs; // LOG_PRINT_L1("tx_outputs[tx_hash] size: " << v.mv_size); @@ -1953,7 +1953,7 @@ bool BlockchainLMDB::prune_worker(int mode, uint32_t pruning_seed) TIME_MEASURE_START(t); - size_t n_total_records = 0, n_prunable_records = 0, n_pruned_records = 0; + size_t n_total_records = 0, n_prunable_records = 0, n_pruned_records = 0, commit_counter = 0; uint64_t n_bytes = 0; mdb_txn_safe txn; @@ -2056,6 +2056,7 @@ bool BlockchainLMDB::prune_worker(int mode, uint32_t pruning_seed) { MDEBUG("Pruning at height " << block_height << "/" << blockchain_height); ++n_pruned_records; + ++commit_counter; n_bytes += k.mv_size + v.mv_size; result = mdb_cursor_del(c_txs_prunable, 0); if (result) @@ -2065,6 +2066,25 @@ bool BlockchainLMDB::prune_worker(int mode, uint32_t pruning_seed) result = mdb_cursor_del(c_txs_prunable_tip, 0); if (result) throw0(DB_ERROR(lmdb_error("Failed to delete transaction tip data: ", result).c_str())); + + if (mode != prune_mode_check && commit_counter >= 4096) + { + MDEBUG("Committing txn at checkpoint..."); + txn.commit(); + result = mdb_txn_begin(m_env, NULL, 0, txn); + if (result) + throw0(DB_ERROR(lmdb_error("Failed to create a transaction for the db: ", result).c_str())); + result = mdb_cursor_open(txn, m_txs_pruned, &c_txs_pruned); + if (result) + throw0(DB_ERROR(lmdb_error("Failed to open a cursor for txs_pruned: ", result).c_str())); + result = mdb_cursor_open(txn, m_txs_prunable, &c_txs_prunable); + if (result) + throw0(DB_ERROR(lmdb_error("Failed to open a cursor for txs_prunable: ", result).c_str())); + result = mdb_cursor_open(txn, m_txs_prunable_tip, &c_txs_prunable_tip); + if (result) + throw0(DB_ERROR(lmdb_error("Failed to open a cursor for txs_prunable_tip: ", result).c_str())); + commit_counter = 0; + } } } } @@ -2134,6 +2154,7 @@ bool BlockchainLMDB::prune_worker(int mode, uint32_t pruning_seed) result = mdb_cursor_del(c_txs_prunable, 0); if (result) throw0(DB_ERROR(lmdb_error("Failed to delete transaction prunable data: ", result).c_str())); + ++commit_counter; } } } @@ -2150,6 +2171,34 @@ bool BlockchainLMDB::prune_worker(int mode, uint32_t pruning_seed) ", seed " << epee::string_tools::to_string_hex(pruning_seed)); } } + + if (mode != prune_mode_check && commit_counter >= 4096) + { + MDEBUG("Committing txn at checkpoint..."); + txn.commit(); + result = mdb_txn_begin(m_env, NULL, 0, txn); + if (result) + throw0(DB_ERROR(lmdb_error("Failed to create a transaction for the db: ", result).c_str())); + result = mdb_cursor_open(txn, m_txs_pruned, &c_txs_pruned); + if (result) + throw0(DB_ERROR(lmdb_error("Failed to open a cursor for txs_pruned: ", result).c_str())); + result = mdb_cursor_open(txn, m_txs_prunable, &c_txs_prunable); + if (result) + throw0(DB_ERROR(lmdb_error("Failed to open a cursor for txs_prunable: ", result).c_str())); + result = mdb_cursor_open(txn, m_txs_prunable_tip, &c_txs_prunable_tip); + if (result) + throw0(DB_ERROR(lmdb_error("Failed to open a cursor for txs_prunable_tip: ", result).c_str())); + result = mdb_cursor_open(txn, m_tx_indices, &c_tx_indices); + if (result) + throw0(DB_ERROR(lmdb_error("Failed to open a cursor for tx_indices: ", result).c_str())); + MDB_val val; + val.mv_size = sizeof(ti); + val.mv_data = (void *)&ti; + result = mdb_cursor_get(c_tx_indices, (MDB_val*)&zerokval, &val, MDB_GET_BOTH); + if (result) + throw0(DB_ERROR(lmdb_error("Failed to restore cursor for tx_indices: ", result).c_str())); + commit_counter = 0; + } } mdb_cursor_close(c_tx_indices); } diff --git a/src/blockchain_db/testdb.h b/src/blockchain_db/testdb.h index 6c97713d5..34e635899 100644 --- a/src/blockchain_db/testdb.h +++ b/src/blockchain_db/testdb.h @@ -54,6 +54,7 @@ public: virtual void unlock() override { } virtual bool batch_start(uint64_t batch_num_blocks=0, uint64_t batch_bytes=0) override { return true; } virtual void batch_stop() override {} + virtual void batch_abort() override {} virtual void set_batch_transactions(bool) override {} virtual void block_wtxn_start() override {} virtual void block_wtxn_stop() override {} diff --git a/src/blockchain_utilities/README.md b/src/blockchain_utilities/README.md index ad5963f27..1462e3186 100644 --- a/src/blockchain_utilities/README.md +++ b/src/blockchain_utilities/README.md @@ -79,7 +79,7 @@ LMDB flags (more than one may be specified): ## Examples: -``` +```bash $ monero-blockchain-import --database lmdb#fastest $ monero-blockchain-import --database lmdb#nosync diff --git a/src/blocks/checkpoints.dat b/src/blocks/checkpoints.dat Binary files differindex adc433522..a7d309753 100644 --- a/src/blocks/checkpoints.dat +++ b/src/blocks/checkpoints.dat diff --git a/src/checkpoints/checkpoints.cpp b/src/checkpoints/checkpoints.cpp index e31b96646..11bbe2e24 100644 --- a/src/checkpoints/checkpoints.cpp +++ b/src/checkpoints/checkpoints.cpp @@ -209,6 +209,7 @@ namespace cryptonote ADD_CHECKPOINT(1579000, "7d0d7a2346373afd41ed1e744a939fc5d474a7dbaa257be5c6fff4009e789241"); ADD_CHECKPOINT(1668900, "ac2dcaf3d2f58ffcf8391639f0f1ebafcb8eac43c49479c7c37f611868d07568"); ADD_CHECKPOINT(1775600, "1c6e01c661dc22cab939e79ec6a5272190624ce8356d2f7b958e4f9a57fdb05e"); + ADD_CHECKPOINT(1856000, "9b57f17f29c71a3acd8a7904b93c41fa6eb8d2b7c73936ce4f1702d14880ba29"); return true; } diff --git a/src/common/dns_utils.cpp b/src/common/dns_utils.cpp index 5e03bf897..dc1f335a7 100644 --- a/src/common/dns_utils.cpp +++ b/src/common/dns_utils.cpp @@ -48,7 +48,6 @@ static const char *DEFAULT_DNS_PUBLIC_ADDR[] = "80.67.169.40", // FDN (France) "89.233.43.71", // http://censurfridns.dk (Denmark) "109.69.8.51", // punCAT (Spain) - "77.109.148.137", // Xiala.net (Switzerland) "193.58.251.251", // SkyDNS (Russia) }; diff --git a/src/common/password.cpp b/src/common/password.cpp index 03d13db42..33e1f48fd 100644 --- a/src/common/password.cpp +++ b/src/common/password.cpp @@ -57,7 +57,7 @@ namespace DWORD mode_old; ::GetConsoleMode(h_cin, &mode_old); - DWORD mode_new = mode_old & ~(hide_input ? ENABLE_ECHO_INPUT : 0); + DWORD mode_new = mode_old & ~((hide_input ? ENABLE_ECHO_INPUT : 0) | ENABLE_LINE_INPUT); ::SetConsoleMode(h_cin, mode_new); bool r = true; @@ -77,10 +77,6 @@ namespace } else if (ucs2_ch == L'\r') { - continue; - } - else if (ucs2_ch == L'\n') - { std::cout << std::endl; break; } diff --git a/src/common/rpc_client.h b/src/common/rpc_client.h index cb5f79da8..dab3e562d 100644 --- a/src/common/rpc_client.h +++ b/src/common/rpc_client.h @@ -36,6 +36,7 @@ #include "storages/http_abstract_invoke.h" #include "net/http_auth.h" #include "net/http_client.h" +#include "net/net_ssl.h" #include "string_tools.h" namespace tools @@ -49,11 +50,12 @@ namespace tools uint32_t ip , uint16_t port , boost::optional<epee::net_utils::http::login> user + , epee::net_utils::ssl_options_t ssl_options ) : m_http_client{} { m_http_client.set_server( - epee::string_tools::get_ip_string_from_int32(ip), std::to_string(port), std::move(user) + epee::string_tools::get_ip_string_from_int32(ip), std::to_string(port), std::move(user), std::move(ssl_options) ); } diff --git a/src/common/util.cpp b/src/common/util.cpp index 3388974ce..db5aa3052 100644 --- a/src/common/util.cpp +++ b/src/common/util.cpp @@ -69,6 +69,9 @@ using namespace epee; #include "net/http_client.h" // epee::net_utils::... #ifdef WIN32 +#ifndef STRSAFE_NO_DEPRECATE +#define STRSAFE_NO_DEPRECATE +#endif #include <windows.h> #include <shlobj.h> #include <strsafe.h> diff --git a/src/crypto/keccak.c b/src/crypto/keccak.c index 170911262..851c70a25 100644 --- a/src/crypto/keccak.c +++ b/src/crypto/keccak.c @@ -105,9 +105,12 @@ void keccak(const uint8_t *in, size_t inlen, uint8_t *md, int mdlen) memset(st, 0, sizeof(st)); for ( ; inlen >= rsiz; inlen -= rsiz, in += rsiz) { - for (i = 0; i < rsizw; i++) - st[i] ^= swap64le(((uint64_t *) in)[i]); - keccakf(st, KECCAK_ROUNDS); + for (i = 0; i < rsizw; i++) { + uint64_t ina; + memcpy(&ina, in + i * 8, 8); + st[i] ^= swap64le(ina); + } + keccakf(st, KECCAK_ROUNDS); } // last block and padding @@ -116,7 +119,8 @@ void keccak(const uint8_t *in, size_t inlen, uint8_t *md, int mdlen) local_abort("Bad keccak use"); } - memcpy(temp, in, inlen); + if (inlen > 0) + memcpy(temp, in, inlen); temp[inlen++] = 1; memset(temp + inlen, 0, rsiz - inlen); temp[rsiz - 1] |= 0x80; diff --git a/src/crypto/tree-hash.c b/src/crypto/tree-hash.c index 7802fb67f..0a5860f3b 100644 --- a/src/crypto/tree-hash.c +++ b/src/crypto/tree-hash.c @@ -30,6 +30,7 @@ #include <assert.h> #include <stddef.h> +#include <stdlib.h> #include <string.h> #include "hash-ops.h" @@ -82,23 +83,24 @@ void tree_hash(const char (*hashes)[HASH_SIZE], size_t count, char *root_hash) { size_t cnt = tree_hash_cnt( count ); - char ints[cnt][HASH_SIZE]; - memset(ints, 0 , sizeof(ints)); // zero out as extra protection for using uninitialized mem + char *ints = calloc(cnt, HASH_SIZE); // zero out as extra protection for using uninitialized mem + assert(ints); memcpy(ints, hashes, (2 * cnt - count) * HASH_SIZE); for (i = 2 * cnt - count, j = 2 * cnt - count; j < cnt; i += 2, ++j) { - cn_fast_hash(hashes[i], 64, ints[j]); + cn_fast_hash(hashes[i], 64, ints + j * HASH_SIZE); } assert(i == count); while (cnt > 2) { cnt >>= 1; for (i = 0, j = 0; j < cnt; i += 2, ++j) { - cn_fast_hash(ints[i], 64, ints[j]); + cn_fast_hash(ints + i * HASH_SIZE, 64, ints + j * HASH_SIZE); } } - cn_fast_hash(ints[0], 64, root_hash); + cn_fast_hash(ints, 64, root_hash); + free(ints); } } diff --git a/src/cryptonote_basic/cryptonote_basic.h b/src/cryptonote_basic/cryptonote_basic.h index 20d92bdf1..055c4a22b 100644 --- a/src/cryptonote_basic/cryptonote_basic.h +++ b/src/cryptonote_basic/cryptonote_basic.h @@ -320,7 +320,7 @@ namespace cryptonote } if (!typename Archive<W>::is_saving()) pruned = true; - return true; + return ar.stream().good(); } private: diff --git a/src/cryptonote_basic/cryptonote_boost_serialization.h b/src/cryptonote_basic/cryptonote_boost_serialization.h index 3dd98f0c6..79ce610a9 100644 --- a/src/cryptonote_basic/cryptonote_boost_serialization.h +++ b/src/cryptonote_basic/cryptonote_boost_serialization.h @@ -365,11 +365,11 @@ namespace boost else { // store high part - cryptonote::difficulty_type x_ = x >> 64; + cryptonote::difficulty_type x_ = (x >> 64) & 0xffffffffffffffff; uint64_t v = x_.convert_to<uint64_t>(); a & v; // store low part - x_ = x << 64 >> 64; + x_ = x & 0xffffffffffffffff; v = x_.convert_to<uint64_t>(); a & v; } diff --git a/src/cryptonote_basic/cryptonote_format_utils.cpp b/src/cryptonote_basic/cryptonote_format_utils.cpp index 566622c1a..7d7de416d 100644 --- a/src/cryptonote_basic/cryptonote_format_utils.cpp +++ b/src/cryptonote_basic/cryptonote_format_utils.cpp @@ -221,8 +221,7 @@ namespace cryptonote tx.invalidate_hashes(); //TODO: validate tx - get_transaction_hash(tx, tx_hash); - return true; + return get_transaction_hash(tx, tx_hash); } //--------------------------------------------------------------- bool parse_and_validate_tx_from_blob(const blobdata& tx_blob, transaction& tx, crypto::hash& tx_hash, crypto::hash& tx_prefix_hash) @@ -975,6 +974,7 @@ namespace cryptonote { crypto::hash h = null_hash; get_transaction_hash(t, h, NULL); + CHECK_AND_ASSERT_THROW_MES(get_transaction_hash(t, h, NULL), "Failed to calculate transaction hash"); return h; } //--------------------------------------------------------------- @@ -1327,7 +1327,7 @@ namespace cryptonote txs_ids.reserve(1 + b.tx_hashes.size()); crypto::hash h = null_hash; size_t bl_sz = 0; - get_transaction_hash(b.miner_tx, h, bl_sz); + CHECK_AND_ASSERT_THROW_MES(get_transaction_hash(b.miner_tx, h, bl_sz), "Failed to calculate transaction hash"); txs_ids.push_back(h); for(auto& th: b.tx_hashes) txs_ids.push_back(th); diff --git a/src/cryptonote_basic/hardfork.cpp b/src/cryptonote_basic/hardfork.cpp index d5710f727..98158a513 100644 --- a/src/cryptonote_basic/hardfork.cpp +++ b/src/cryptonote_basic/hardfork.cpp @@ -292,8 +292,7 @@ void HardFork::on_block_popped(uint64_t nblocks) const uint64_t new_chain_height = db.height(); const uint64_t old_chain_height = new_chain_height + nblocks; uint8_t version; - uint64_t height; - for (height = old_chain_height - 1; height >= new_chain_height; --height) + for (uint64_t height = old_chain_height - 1; height >= new_chain_height; --height) { version = versions.back(); last_versions[version]--; @@ -305,7 +304,7 @@ void HardFork::on_block_popped(uint64_t nblocks) // does not take voting into account for (current_fork_index = heights.size() - 1; current_fork_index > 0; --current_fork_index) - if (height >= heights[current_fork_index].height) + if (new_chain_height >= heights[current_fork_index].height) break; } diff --git a/src/cryptonote_basic/miner.cpp b/src/cryptonote_basic/miner.cpp index 173679e21..e594eb049 100644 --- a/src/cryptonote_basic/miner.cpp +++ b/src/cryptonote_basic/miner.cpp @@ -123,7 +123,7 @@ namespace cryptonote m_miner_extra_sleep(BACKGROUND_MINING_DEFAULT_MINER_EXTRA_SLEEP_MILLIS), m_block_reward(0) { - + m_attrs.set_stack_size(THREAD_STACK_SIZE); } //----------------------------------------------------------------------------------------------------- miner::~miner() @@ -360,7 +360,7 @@ namespace cryptonote return m_threads_total; } //----------------------------------------------------------------------------------------------------- - bool miner::start(const account_public_address& adr, size_t threads_count, const boost::thread::attributes& attrs, bool do_background, bool ignore_battery) + bool miner::start(const account_public_address& adr, size_t threads_count, bool do_background, bool ignore_battery) { m_block_reward = 0; m_mine_address = adr; @@ -371,7 +371,6 @@ namespace cryptonote m_threads_autodetect.push_back({epee::misc_utils::get_ns_count(), m_total_hashes}); m_threads_total = 1; } - m_attrs = attrs; m_starter_nonce = crypto::rand<uint32_t>(); CRITICAL_REGION_LOCAL(m_threads_lock); if(is_mining()) @@ -395,7 +394,7 @@ namespace cryptonote for(size_t i = 0; i != m_threads_total; i++) { - m_threads.push_back(boost::thread(attrs, boost::bind(&miner::worker_thread, this))); + m_threads.push_back(boost::thread(m_attrs, boost::bind(&miner::worker_thread, this))); } if (threads_count == 0) @@ -405,7 +404,7 @@ namespace cryptonote if( get_is_background_mining_enabled() ) { - m_background_mining_thread = boost::thread(attrs, boost::bind(&miner::background_worker_thread, this)); + m_background_mining_thread = boost::thread(m_attrs, boost::bind(&miner::background_worker_thread, this)); LOG_PRINT_L0("Background mining controller thread started" ); } @@ -487,10 +486,7 @@ namespace cryptonote { if(m_do_mining) { - boost::thread::attributes attrs; - attrs.set_stack_size(THREAD_STACK_SIZE); - - start(m_mine_address, m_threads_total, attrs, get_is_background_mining_enabled(), get_ignore_battery()); + start(m_mine_address, m_threads_total, get_is_background_mining_enabled(), get_ignore_battery()); } } //----------------------------------------------------------------------------------------------------- diff --git a/src/cryptonote_basic/miner.h b/src/cryptonote_basic/miner.h index 285075f51..ac7a0381c 100644 --- a/src/cryptonote_basic/miner.h +++ b/src/cryptonote_basic/miner.h @@ -64,7 +64,7 @@ namespace cryptonote static void init_options(boost::program_options::options_description& desc); bool set_block_template(const block& bl, const difficulty_type& diffic, uint64_t height, uint64_t block_reward); bool on_block_chain_update(); - bool start(const account_public_address& adr, size_t threads_count, const boost::thread::attributes& attrs, bool do_background = false, bool ignore_battery = false); + bool start(const account_public_address& adr, size_t threads_count, bool do_background = false, bool ignore_battery = false); uint64_t get_speed() const; uint32_t get_threads_count() const; void send_stop_signal(); diff --git a/src/cryptonote_core/blockchain.cpp b/src/cryptonote_core/blockchain.cpp index f733efb2f..ac2c07913 100644 --- a/src/cryptonote_core/blockchain.cpp +++ b/src/cryptonote_core/blockchain.cpp @@ -179,9 +179,11 @@ Blockchain::Blockchain(tx_memory_pool& tx_pool) : m_long_term_block_weights_window(CRYPTONOTE_LONG_TERM_BLOCK_WEIGHT_WINDOW_SIZE), m_long_term_effective_median_block_weight(0), m_long_term_block_weights_cache_tip_hash(crypto::null_hash), + m_long_term_block_weights_cache_rolling_median(CRYPTONOTE_LONG_TERM_BLOCK_WEIGHT_WINDOW_SIZE), m_difficulty_for_next_block_top_hash(crypto::null_hash), m_difficulty_for_next_block(1), - m_btc_valid(false) + m_btc_valid(false), + m_batch_success(true) { LOG_PRINT_L3("Blockchain::" << __func__); } @@ -519,7 +521,10 @@ bool Blockchain::init(BlockchainDB* db, const network_type nettype, bool offline } if (test_options && test_options->long_term_block_weight_window) + { m_long_term_block_weights_window = test_options->long_term_block_weight_window; + m_long_term_block_weights_cache_rolling_median = epee::misc_utils::rolling_median_t<uint64_t>(m_long_term_block_weights_window); + } { db_txn_guard txn_guard(m_db, m_db->is_read_only()); @@ -615,17 +620,13 @@ void Blockchain::pop_blocks(uint64_t nblocks) CRITICAL_REGION_LOCAL(m_tx_pool); CRITICAL_REGION_LOCAL1(m_blockchain_lock); - while (!m_db->batch_start()) - { - m_blockchain_lock.unlock(); - m_tx_pool.unlock(); - epee::misc_utils::sleep_no_w(1000); - m_tx_pool.lock(); - m_blockchain_lock.lock(); - } + bool stop_batch = m_db->batch_start(); try { + const uint64_t blockchain_height = m_db->height(); + if (blockchain_height > 0) + nblocks = std::min(nblocks, blockchain_height - 1); for (i=0; i < nblocks; ++i) { pop_block_from_blockchain(); @@ -633,10 +634,14 @@ void Blockchain::pop_blocks(uint64_t nblocks) } catch (const std::exception& e) { - LOG_ERROR("Error when popping blocks, only " << i << " blocks are popped: " << e.what()); + LOG_ERROR("Error when popping blocks after processing " << i << " blocks: " << e.what()); + if (stop_batch) + m_db->batch_abort(); + return; } - m_db->batch_stop(); + if (stop_batch) + m_db->batch_stop(); } //------------------------------------------------------------------ // This function tells BlockchainDB to remove the top block from the @@ -1283,21 +1288,20 @@ void Blockchain::get_last_n_blocks_weights(std::vector<uint64_t>& weights, size_ weights = m_db->get_block_weights(start_offset, count); } //------------------------------------------------------------------ -void Blockchain::get_long_term_block_weights(std::vector<uint64_t>& weights, uint64_t start_height, size_t count) const +uint64_t Blockchain::get_long_term_block_weight_median(uint64_t start_height, size_t count) const { LOG_PRINT_L3("Blockchain::" << __func__); CRITICAL_REGION_LOCAL(m_blockchain_lock); PERF_TIMER(get_long_term_block_weights); - if (count == 0) - return; + CHECK_AND_ASSERT_THROW_MES(count > 0, "count == 0"); bool cached = false; uint64_t blockchain_height = m_db->height(); uint64_t tip_height = start_height + count - 1; crypto::hash tip_hash = crypto::null_hash; - if (tip_height < blockchain_height && count == m_long_term_block_weights_cache.size()) + if (tip_height < blockchain_height && count == (size_t)m_long_term_block_weights_cache_rolling_median.size()) { tip_hash = m_db->get_block_hash_from_height(tip_height); cached = tip_hash == m_long_term_block_weights_cache_tip_hash; @@ -1306,32 +1310,30 @@ void Blockchain::get_long_term_block_weights(std::vector<uint64_t>& weights, uin if (cached) { MTRACE("requesting " << count << " from " << start_height << ", cached"); - weights = m_long_term_block_weights_cache; - return; + return m_long_term_block_weights_cache_rolling_median.median(); } // in the vast majority of uncached cases, most is still cached, // as we just move the window one block up: - if (tip_height > 0 && count == m_long_term_block_weights_cache.size() && tip_height < blockchain_height) + if (tip_height > 0 && count == (size_t)m_long_term_block_weights_cache_rolling_median.size() && tip_height < blockchain_height) { crypto::hash old_tip_hash = m_db->get_block_hash_from_height(tip_height - 1); if (old_tip_hash == m_long_term_block_weights_cache_tip_hash) { - weights = m_long_term_block_weights_cache; - for (size_t i = 1; i < weights.size(); ++i) - weights[i - 1] = weights[i]; MTRACE("requesting " << count << " from " << start_height << ", incremental"); - weights.back() = m_db->get_block_long_term_weight(tip_height); - m_long_term_block_weights_cache = weights; m_long_term_block_weights_cache_tip_hash = tip_hash; - return; + m_long_term_block_weights_cache_rolling_median.insert(m_db->get_block_long_term_weight(tip_height)); + return m_long_term_block_weights_cache_rolling_median.median(); } } MTRACE("requesting " << count << " from " << start_height << ", uncached"); - weights = m_db->get_long_term_block_weights(start_height, count); - m_long_term_block_weights_cache = weights; + std::vector<uint64_t> weights = m_db->get_long_term_block_weights(start_height, count); m_long_term_block_weights_cache_tip_hash = tip_hash; + m_long_term_block_weights_cache_rolling_median.clear(); + for (uint64_t w: weights) + m_long_term_block_weights_cache_rolling_median.insert(w); + return m_long_term_block_weights_cache_rolling_median.median(); } //------------------------------------------------------------------ uint64_t Blockchain::get_current_cumulative_block_weight_limit() const @@ -1372,7 +1374,8 @@ bool Blockchain::create_block_template(block& b, const crypto::hash *from_block, // just as we compare it, we'll just use a slightly old template, but // this would be the case anyway if we'd lock, and the change happened // just after the block template was created - if (!memcmp(&miner_address, &m_btc_address, sizeof(cryptonote::account_public_address)) && m_btc_nonce == ex_nonce && m_btc_pool_cookie == m_tx_pool.cookie()) { + if (!memcmp(&miner_address, &m_btc_address, sizeof(cryptonote::account_public_address)) && m_btc_nonce == ex_nonce + && m_btc_pool_cookie == m_tx_pool.cookie() && m_btc.prev_id == get_tail_id()) { MDEBUG("Using cached template"); m_btc.timestamp = time(NULL); // update timestamp unconditionally b = m_btc; @@ -1890,10 +1893,14 @@ bool Blockchain::handle_get_objects(NOTIFY_REQUEST_GET_OBJECTS::request& arg, NO if (missed_tx_ids.size() != 0) { - LOG_ERROR("Error retrieving blocks, missed " << missed_tx_ids.size() - << " transactions for block with hash: " << get_block_hash(bl.second) - << std::endl - ); + // do not display an error if the peer asked for an unpruned block which we are not meant to have + if (tools::has_unpruned_block(get_block_height(bl.second), get_current_blockchain_height(), get_blockchain_pruning_seed())) + { + LOG_ERROR("Error retrieving blocks, missed " << missed_tx_ids.size() + << " transactions for block with hash: " << get_block_hash(bl.second) + << std::endl + ); + } // append missed transaction hashes to response missed_ids field, // as done below if any standalone transactions were requested @@ -2324,8 +2331,8 @@ bool Blockchain::find_blockchain_supplement(const std::list<crypto::hash>& qbloc if (result) { cryptonote::difficulty_type wide_cumulative_difficulty = m_db->get_block_cumulative_difficulty(resp.total_height - 1); - resp.cumulative_difficulty = (wide_cumulative_difficulty << 64 >> 64).convert_to<uint64_t>(); - resp.cumulative_difficulty_top64 = (wide_cumulative_difficulty >> 64).convert_to<uint64_t>(); + resp.cumulative_difficulty = (wide_cumulative_difficulty & 0xffffffffffffffff).convert_to<uint64_t>(); + resp.cumulative_difficulty_top64 = ((wide_cumulative_difficulty >> 64) & 0xffffffffffffffff).convert_to<uint64_t>(); } return result; @@ -3843,6 +3850,7 @@ leave: catch (const KEY_IMAGE_EXISTS& e) { LOG_ERROR("Error adding block with hash: " << id << " to blockchain, what = " << e.what()); + m_batch_success = false; bvc.m_verifivation_failed = true; return_tx_to_pool(txs); return false; @@ -3851,6 +3859,7 @@ leave: { //TODO: figure out the best way to deal with this failure LOG_ERROR("Error adding block with hash: " << id << " to blockchain, what = " << e.what()); + m_batch_success = false; bvc.m_verifivation_failed = true; return_tx_to_pool(txs); return false; @@ -3934,9 +3943,7 @@ uint64_t Blockchain::get_next_long_term_block_weight(uint64_t block_weight) cons if (hf_version < HF_VERSION_LONG_TERM_BLOCK_WEIGHT) return block_weight; - std::vector<uint64_t> weights; - get_long_term_block_weights(weights, db_height - nblocks, nblocks); - uint64_t long_term_median = epee::misc_utils::median(weights); + uint64_t long_term_median = get_long_term_block_weight_median(db_height - nblocks, nblocks); uint64_t long_term_effective_median_block_weight = std::max<uint64_t>(CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V5, long_term_median); uint64_t short_term_constraint = long_term_effective_median_block_weight + long_term_effective_median_block_weight * 2 / 5; @@ -3968,7 +3975,6 @@ bool Blockchain::update_next_cumulative_weight_limit(uint64_t *long_term_effecti { const uint64_t block_weight = m_db->get_block_weight(db_height - 1); - std::vector<uint64_t> weights, new_weights; uint64_t long_term_median; if (db_height == 1) { @@ -3979,9 +3985,7 @@ bool Blockchain::update_next_cumulative_weight_limit(uint64_t *long_term_effecti uint64_t nblocks = std::min<uint64_t>(m_long_term_block_weights_window, db_height); if (nblocks == db_height) --nblocks; - get_long_term_block_weights(weights, db_height - nblocks - 1, nblocks); - new_weights = weights; - long_term_median = epee::misc_utils::median(weights); + long_term_median = get_long_term_block_weight_median(db_height - nblocks - 1, nblocks); } m_long_term_effective_median_block_weight = std::max<uint64_t>(CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V5, long_term_median); @@ -3989,13 +3993,19 @@ bool Blockchain::update_next_cumulative_weight_limit(uint64_t *long_term_effecti uint64_t short_term_constraint = m_long_term_effective_median_block_weight + m_long_term_effective_median_block_weight * 2 / 5; long_term_block_weight = std::min<uint64_t>(block_weight, short_term_constraint); - if (new_weights.empty()) - new_weights.resize(1); - new_weights[0] = long_term_block_weight; - long_term_median = epee::misc_utils::median(new_weights); + if (db_height == 1) + { + long_term_median = long_term_block_weight; + } + else + { + m_long_term_block_weights_cache_tip_hash = m_db->get_block_hash_from_height(db_height - 1); + m_long_term_block_weights_cache_rolling_median.insert(long_term_block_weight); + long_term_median = m_long_term_block_weights_cache_rolling_median.median(); + } m_long_term_effective_median_block_weight = std::max<uint64_t>(CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V5, long_term_median); - weights.clear(); + std::vector<uint64_t> weights; get_last_n_blocks_weights(weights, CRYPTONOTE_REWARD_BLOCKS_WINDOW); uint64_t short_term_median = epee::misc_utils::median(weights); @@ -4159,7 +4169,10 @@ bool Blockchain::cleanup_handle_incoming_blocks(bool force_sync) try { - m_db->batch_stop(); + if (m_batch_success) + m_db->batch_stop(); + else + m_db->batch_abort(); success = true; } catch (const std::exception &e) @@ -4383,6 +4396,7 @@ bool Blockchain::prepare_handle_incoming_blocks(const std::vector<block_complete m_tx_pool.lock(); m_blockchain_lock.lock(); } + m_batch_success = true; const uint64_t height = m_db->height(); if ((height + blocks_entry.size()) < m_blocks_hash_check.size()) @@ -4835,7 +4849,7 @@ void Blockchain::cancel() } #if defined(PER_BLOCK_CHECKPOINT) -static const char expected_block_hashes_hash[] = "570ce2357b08fadac6058e34f95c5e08323f9325de260d07b091a281a948a7b0"; +static const char expected_block_hashes_hash[] = "7dafb40b414a0e59bfced6682ef519f0b416bc914dd3d622b72e0dd1a47117c2"; void Blockchain::load_compiled_in_block_hashes(const GetCheckpointsCallback& get_checkpoints) { if (get_checkpoints == nullptr || !m_fast_sync) diff --git a/src/cryptonote_core/blockchain.h b/src/cryptonote_core/blockchain.h index 244e2a89a..32ed96b5b 100644 --- a/src/cryptonote_core/blockchain.h +++ b/src/cryptonote_core/blockchain.h @@ -37,7 +37,6 @@ #include <boost/multi_index/global_fun.hpp> #include <boost/multi_index/hashed_index.hpp> #include <boost/multi_index/member.hpp> -#include <boost/circular_buffer.hpp> #include <atomic> #include <functional> #include <unordered_map> @@ -46,6 +45,7 @@ #include "span.h" #include "syncobj.h" #include "string_tools.h" +#include "rolling_median.h" #include "cryptonote_basic/cryptonote_basic.h" #include "common/util.h" #include "cryptonote_protocol/cryptonote_protocol_defs.h" @@ -1064,7 +1064,7 @@ namespace cryptonote uint64_t m_long_term_block_weights_window; uint64_t m_long_term_effective_median_block_weight; mutable crypto::hash m_long_term_block_weights_cache_tip_hash; - mutable std::vector<uint64_t> m_long_term_block_weights_cache; + mutable epee::misc_utils::rolling_median_t<uint64_t> m_long_term_block_weights_cache_rolling_median; epee::critical_section m_difficulty_lock; crypto::hash m_difficulty_for_next_block_top_hash; @@ -1102,6 +1102,9 @@ namespace cryptonote uint64_t m_btc_expected_reward; bool m_btc_valid; + + bool m_batch_success; + std::shared_ptr<tools::Notify> m_block_notify; std::shared_ptr<tools::Notify> m_reorg_notify; @@ -1314,15 +1317,16 @@ namespace cryptonote void get_last_n_blocks_weights(std::vector<uint64_t>& weights, size_t count) const; /** - * @brief gets recent block long term weights for median calculation + * @brief gets block long term weight median * - * get the block long term weights of the last <count> blocks, and return by reference <weights>. + * get the block long term weight median of <count> blocks starting at <start_height> * - * @param weights return-by-reference the list of weights * @param start_height the block height of the first block to query * @param count the number of blocks to get weights for + * + * @return the long term median block weight */ - void get_long_term_block_weights(std::vector<uint64_t>& weights, uint64_t start_height, size_t count) const; + uint64_t get_long_term_block_weight_median(uint64_t start_height, size_t count) const; /** * @brief checks if a transaction is unlocked (its outputs spendable) diff --git a/src/cryptonote_core/cryptonote_core.cpp b/src/cryptonote_core/cryptonote_core.cpp index be1ea5a17..13426230e 100644 --- a/src/cryptonote_core/cryptonote_core.cpp +++ b/src/cryptonote_core/cryptonote_core.cpp @@ -674,9 +674,15 @@ namespace cryptonote if (prune_blockchain) { // display a message if the blockchain is not pruned yet - if (m_blockchain_storage.get_current_blockchain_height() > 1 && !m_blockchain_storage.get_blockchain_pruning_seed()) + if (!m_blockchain_storage.get_blockchain_pruning_seed()) + { MGINFO("Pruning blockchain..."); - CHECK_AND_ASSERT_MES(m_blockchain_storage.prune_blockchain(), false, "Failed to prune blockchain"); + CHECK_AND_ASSERT_MES(m_blockchain_storage.prune_blockchain(), false, "Failed to prune blockchain"); + } + else + { + CHECK_AND_ASSERT_MES(m_blockchain_storage.update_blockchain_pruning(), false, "Failed to update blockchain pruning"); + } } return load_state_data(); diff --git a/src/cryptonote_core/tx_pool.cpp b/src/cryptonote_core/tx_pool.cpp index c1cbe2acd..49d5a8ccc 100644 --- a/src/cryptonote_core/tx_pool.cpp +++ b/src/cryptonote_core/tx_pool.cpp @@ -95,13 +95,17 @@ namespace cryptonote // the whole prepare/handle/cleanup incoming block sequence. class LockedTXN { public: - LockedTXN(Blockchain &b): m_blockchain(b), m_batch(false) { + LockedTXN(Blockchain &b): m_blockchain(b), m_batch(false), m_active(false) { m_batch = m_blockchain.get_db().batch_start(); + m_active = true; } - ~LockedTXN() { try { if (m_batch) { m_blockchain.get_db().batch_stop(); } } catch (const std::exception &e) { MWARNING("LockedTXN dtor filtering exception: " << e.what()); } } + void commit() { try { if (m_batch && m_active) { m_blockchain.get_db().batch_stop(); m_active = false; } } catch (const std::exception &e) { MWARNING("LockedTXN::commit filtering exception: " << e.what()); } } + void abort() { try { if (m_batch && m_active) { m_blockchain.get_db().batch_abort(); m_active = false; } } catch (const std::exception &e) { MWARNING("LockedTXN::abort filtering exception: " << e.what()); } } + ~LockedTXN() { abort(); } private: Blockchain &m_blockchain; bool m_batch; + bool m_active; }; } //--------------------------------------------------------------------------------- @@ -255,6 +259,7 @@ namespace cryptonote if (!insert_key_images(tx, id, kept_by_block)) return false; m_txs_by_fee_and_receive_time.emplace(std::pair<double, std::time_t>(fee / (double)tx_weight, receive_time), id); + lock.commit(); } catch (const std::exception &e) { @@ -299,6 +304,7 @@ namespace cryptonote if (!insert_key_images(tx, id, kept_by_block)) return false; m_txs_by_fee_and_receive_time.emplace(std::pair<double, std::time_t>(fee / (double)tx_weight, receive_time), id); + lock.commit(); } catch (const std::exception &e) { @@ -398,6 +404,7 @@ namespace cryptonote return; } } + lock.commit(); if (changed) ++m_cookie; if (m_txpool_weight > bytes) @@ -494,6 +501,7 @@ namespace cryptonote m_blockchain.remove_txpool_tx(id); m_txpool_weight -= tx_weight; remove_transaction_keyimages(tx, id); + lock.commit(); } catch (const std::exception &e) { @@ -578,6 +586,7 @@ namespace cryptonote // ignore error } } + lock.commit(); ++m_cookie; } return true; @@ -641,6 +650,7 @@ namespace cryptonote // continue } } + lock.commit(); } //--------------------------------------------------------------------------------- size_t tx_memory_pool::get_transactions_count(bool include_unrelayed_txes) const @@ -1119,6 +1129,7 @@ namespace cryptonote } } } + lock.commit(); if (changed) ++m_cookie; } @@ -1271,6 +1282,7 @@ namespace cryptonote append_key_images(k_images, tx); LOG_PRINT_L2(" added, new block weight " << total_weight << "/" << max_total_weight << ", coinbase " << print_money(best_coinbase)); } + lock.commit(); expected_reward = best_coinbase; LOG_PRINT_L2("Block template filled with " << bl.tx_hashes.size() << " txes, weight " @@ -1336,6 +1348,7 @@ namespace cryptonote // continue } } + lock.commit(); } if (n_removed > 0) ++m_cookie; @@ -1395,6 +1408,7 @@ namespace cryptonote // ignore error } } + lock.commit(); } m_cookie = 0; diff --git a/src/cryptonote_core/tx_sanity_check.cpp b/src/cryptonote_core/tx_sanity_check.cpp index d3b225f1c..36be91f2c 100644 --- a/src/cryptonote_core/tx_sanity_check.cpp +++ b/src/cryptonote_core/tx_sanity_check.cpp @@ -34,7 +34,7 @@ #include "tx_sanity_check.h" #undef MONERO_DEFAULT_LOG_CATEGORY -#define MONERO_DEFAULT_LOG_CATEGORY "txsanity" +#define MONERO_DEFAULT_LOG_CATEGORY "verify" namespace cryptonote { @@ -80,7 +80,7 @@ bool tx_sanity_check(Blockchain &blockchain, const cryptonote::blobdata &tx_blob if (n_available < 10000) return true; - if (rct_indices.size() < n_indices * 9 / 10) + if (rct_indices.size() < n_indices * 8 / 10) { MERROR("unique indices is only " << rct_indices.size() << "/" << n_indices); return false; @@ -88,7 +88,7 @@ bool tx_sanity_check(Blockchain &blockchain, const cryptonote::blobdata &tx_blob std::vector<uint64_t> offsets(rct_indices.begin(), rct_indices.end()); uint64_t median = epee::misc_utils::median(offsets); - if (median < n_available * 9 / 10) + if (median < n_available * 6 / 10) { MERROR("median is " << median << "/" << n_available); return false; diff --git a/src/cryptonote_protocol/cryptonote_protocol_handler.h b/src/cryptonote_protocol/cryptonote_protocol_handler.h index 0927b5d7f..dcc5ec6ed 100644 --- a/src/cryptonote_protocol/cryptonote_protocol_handler.h +++ b/src/cryptonote_protocol/cryptonote_protocol_handler.h @@ -52,6 +52,7 @@ PUSH_WARNINGS DISABLE_VS_WARNINGS(4355) #define LOCALHOST_INT 2130706433 +#define CURRENCY_PROTOCOL_MAX_OBJECT_REQUEST_COUNT 500 namespace cryptonote { diff --git a/src/cryptonote_protocol/cryptonote_protocol_handler.inl b/src/cryptonote_protocol/cryptonote_protocol_handler.inl index 7adca3158..03d04a074 100644 --- a/src/cryptonote_protocol/cryptonote_protocol_handler.inl +++ b/src/cryptonote_protocol/cryptonote_protocol_handler.inl @@ -341,6 +341,11 @@ namespace cryptonote if(m_core.have_block(hshd.top_id)) { + if (target > hshd.current_height) + { + MINFO(context << "peer is not ahead of us and we're syncing, disconnecting"); + return false; + } context.m_state = cryptonote_connection_context::state_normal; if(is_inital && target == m_core.get_current_blockchain_height()) on_connection_synchronized(); @@ -410,8 +415,8 @@ namespace cryptonote m_core.get_blockchain_top(hshd.current_height, hshd.top_id); hshd.top_version = m_core.get_ideal_hard_fork_version(hshd.current_height); difficulty_type wide_cumulative_difficulty = m_core.get_block_cumulative_difficulty(hshd.current_height); - hshd.cumulative_difficulty = (wide_cumulative_difficulty << 64 >> 64).convert_to<uint64_t>(); - hshd.cumulative_difficulty_top64 = (wide_cumulative_difficulty >> 64).convert_to<uint64_t>(); + hshd.cumulative_difficulty = (wide_cumulative_difficulty & 0xffffffffffffffff).convert_to<uint64_t>(); + hshd.cumulative_difficulty_top64 = ((wide_cumulative_difficulty >> 64) & 0xffffffffffffffff).convert_to<uint64_t>(); hshd.current_height +=1; hshd.pruning_seed = m_core.get_blockchain_pruning_seed(); return true; @@ -809,12 +814,27 @@ namespace cryptonote NOTIFY_NEW_FLUFFY_BLOCK::request fluffy_response; fluffy_response.b.block = t_serializable_object_to_blob(b); fluffy_response.current_blockchain_height = arg.current_blockchain_height; + std::vector<bool> seen(b.tx_hashes.size(), false); for(auto& tx_idx: arg.missing_tx_indices) { if(tx_idx < b.tx_hashes.size()) { MDEBUG(" tx " << b.tx_hashes[tx_idx]); + if (seen[tx_idx]) + { + LOG_ERROR_CCONTEXT + ( + "Failed to handle request NOTIFY_REQUEST_FLUFFY_MISSING_TX" + << ", request is asking for duplicate tx " + << ", tx index = " << tx_idx << ", block tx count " << b.tx_hashes.size() + << ", block_height = " << arg.current_blockchain_height + << ", dropping connection" + ); + drop_connection(context, true, false); + return 1; + } txids.push_back(b.tx_hashes[tx_idx]); + seen[tx_idx] = true; } else { @@ -914,6 +934,17 @@ namespace cryptonote int t_cryptonote_protocol_handler<t_core>::handle_request_get_objects(int command, NOTIFY_REQUEST_GET_OBJECTS::request& arg, cryptonote_connection_context& context) { MLOG_P2P_MESSAGE("Received NOTIFY_REQUEST_GET_OBJECTS (" << arg.blocks.size() << " blocks, " << arg.txs.size() << " txes)"); + + if (arg.blocks.size() + arg.txs.size() > CURRENCY_PROTOCOL_MAX_OBJECT_REQUEST_COUNT) + { + LOG_ERROR_CCONTEXT( + "Requested objects count is too big (" + << arg.blocks.size() + arg.txs.size() << ") expected not more then " + << CURRENCY_PROTOCOL_MAX_OBJECT_REQUEST_COUNT); + drop_connection(context, false, false); + return 1; + } + NOTIFY_RESPONSE_GET_OBJECTS::request rsp; if(!m_core.handle_get_objects(arg, rsp, context)) { diff --git a/src/daemon/command_parser_executor.cpp b/src/daemon/command_parser_executor.cpp index 17b945c9a..ed799096b 100644 --- a/src/daemon/command_parser_executor.cpp +++ b/src/daemon/command_parser_executor.cpp @@ -40,10 +40,11 @@ t_command_parser_executor::t_command_parser_executor( uint32_t ip , uint16_t port , const boost::optional<tools::login>& login + , const epee::net_utils::ssl_options_t& ssl_options , bool is_rpc , cryptonote::core_rpc_server* rpc_server ) - : m_executor(ip, port, login, is_rpc, rpc_server) + : m_executor(ip, port, login, ssl_options, is_rpc, rpc_server) {} bool t_command_parser_executor::print_peer_list(const std::vector<std::string>& args) @@ -595,6 +596,13 @@ bool t_command_parser_executor::unban(const std::vector<std::string>& args) return m_executor.unban(ip); } +bool t_command_parser_executor::banned(const std::vector<std::string>& args) +{ + if (args.size() != 1) return false; + std::string address = args[0]; + return m_executor.banned(address); +} + bool t_command_parser_executor::flush_txpool(const std::vector<std::string>& args) { if (args.size() > 1) return false; diff --git a/src/daemon/command_parser_executor.h b/src/daemon/command_parser_executor.h index 098018642..aeaf4d254 100644 --- a/src/daemon/command_parser_executor.h +++ b/src/daemon/command_parser_executor.h @@ -40,6 +40,7 @@ #include "daemon/rpc_command_executor.h" #include "common/common_fwd.h" +#include "net/net_fwd.h" #include "rpc/core_rpc_server.h" namespace daemonize { @@ -53,6 +54,7 @@ public: uint32_t ip , uint16_t port , const boost::optional<tools::login>& login + , const epee::net_utils::ssl_options_t& ssl_options , bool is_rpc , cryptonote::core_rpc_server* rpc_server = NULL ); @@ -125,6 +127,8 @@ public: bool unban(const std::vector<std::string>& args); + bool banned(const std::vector<std::string>& args); + bool flush_txpool(const std::vector<std::string>& args); bool output_histogram(const std::vector<std::string>& args); diff --git a/src/daemon/command_server.cpp b/src/daemon/command_server.cpp index 69ad6ff10..f0b4b4ba0 100644 --- a/src/daemon/command_server.cpp +++ b/src/daemon/command_server.cpp @@ -43,10 +43,11 @@ t_command_server::t_command_server( uint32_t ip , uint16_t port , const boost::optional<tools::login>& login + , const epee::net_utils::ssl_options_t& ssl_options , bool is_rpc , cryptonote::core_rpc_server* rpc_server ) - : m_parser(ip, port, login, is_rpc, rpc_server) + : m_parser(ip, port, login, ssl_options, is_rpc, rpc_server) , m_command_lookup() , m_is_rpc(is_rpc) { @@ -242,10 +243,16 @@ t_command_server::t_command_server( m_command_lookup.set_handler( "unban" , std::bind(&t_command_parser_executor::unban, &m_parser, p::_1) - , "unban <IP>" + , "unban <address>" , "Unban a given <IP>." ); m_command_lookup.set_handler( + "banned" + , std::bind(&t_command_parser_executor::banned, &m_parser, p::_1) + , "banned <address>" + , "Check whether an <address> is banned." + ); + m_command_lookup.set_handler( "flush_txpool" , std::bind(&t_command_parser_executor::flush_txpool, &m_parser, p::_1) , "flush_txpool [<txid>]" diff --git a/src/daemon/command_server.h b/src/daemon/command_server.h index c8e77f551..da532223e 100644 --- a/src/daemon/command_server.h +++ b/src/daemon/command_server.h @@ -43,6 +43,7 @@ Passing RPC commands: #include "common/common_fwd.h" #include "console_handler.h" #include "daemon/command_parser_executor.h" +#include "net/net_fwd.h" namespace daemonize { @@ -57,6 +58,7 @@ public: uint32_t ip , uint16_t port , const boost::optional<tools::login>& login + , const epee::net_utils::ssl_options_t& ssl_options , bool is_rpc = true , cryptonote::core_rpc_server* rpc_server = NULL ); diff --git a/src/daemon/daemon.cpp b/src/daemon/daemon.cpp index 531c080de..5084b6283 100644 --- a/src/daemon/daemon.cpp +++ b/src/daemon/daemon.cpp @@ -45,6 +45,7 @@ #include "daemon/command_server.h" #include "daemon/command_server.h" #include "daemon/command_line_args.h" +#include "net/net_ssl.h" #include "version.h" using namespace epee; @@ -163,7 +164,7 @@ bool t_daemon::run(bool interactive) if (interactive && mp_internals->rpcs.size()) { // The first three variables are not used when the fourth is false - rpc_commands.reset(new daemonize::t_command_server(0, 0, boost::none, false, mp_internals->rpcs.front()->get_server())); + rpc_commands.reset(new daemonize::t_command_server(0, 0, boost::none, epee::net_utils::ssl_support_t::e_ssl_support_disabled, false, mp_internals->rpcs.front()->get_server())); rpc_commands->start_handling(std::bind(&daemonize::t_daemon::stop_p2p, this)); } diff --git a/src/daemon/main.cpp b/src/daemon/main.cpp index dbbb2308c..690d4d60e 100644 --- a/src/daemon/main.cpp +++ b/src/daemon/main.cpp @@ -324,7 +324,11 @@ int main(int argc, char const * argv[]) } } - daemonize::t_command_server rpc_commands{rpc_ip, rpc_port, std::move(login)}; + auto ssl_options = cryptonote::rpc_args::process_ssl(vm, true); + if (!ssl_options) + return 1; + + daemonize::t_command_server rpc_commands{rpc_ip, rpc_port, std::move(login), std::move(*ssl_options)}; if (rpc_commands.process_command_vec(command)) { return 0; diff --git a/src/daemon/rpc_command_executor.cpp b/src/daemon/rpc_command_executor.cpp index 186296dc9..bf4b3b09e 100644 --- a/src/daemon/rpc_command_executor.cpp +++ b/src/daemon/rpc_command_executor.cpp @@ -127,6 +127,7 @@ t_rpc_command_executor::t_rpc_command_executor( uint32_t ip , uint16_t port , const boost::optional<tools::login>& login + , const epee::net_utils::ssl_options_t& ssl_options , bool is_rpc , cryptonote::core_rpc_server* rpc_server ) @@ -137,7 +138,7 @@ t_rpc_command_executor::t_rpc_command_executor( boost::optional<epee::net_utils::http::login> http_login{}; if (login) http_login.emplace(login->username, login->password.password()); - m_rpc_client = new tools::t_rpc_client(ip, port, std::move(http_login)); + m_rpc_client = new tools::t_rpc_client(ip, port, std::move(http_login), ssl_options); } else { @@ -722,7 +723,7 @@ bool t_rpc_command_executor::print_blockchain_info(uint64_t start_block_index, u tools::msg_writer() << "" << std::endl; tools::msg_writer() << "height: " << header.height << ", timestamp: " << header.timestamp << " (" << tools::get_human_readable_timestamp(header.timestamp) << ")" - << ", size: " << header.block_size << ", weight: " << header.block_weight << ", transactions: " << header.num_txes << std::endl + << ", size: " << header.block_size << ", weight: " << header.block_weight << " (long term " << header.long_term_weight << "), transactions: " << header.num_txes << std::endl << "major version: " << (unsigned)header.major_version << ", minor version: " << (unsigned)header.minor_version << std::endl << "block id: " << header.hash << ", previous block id: " << header.prev_hash << std::endl << "difficulty: " << header.difficulty << ", nonce " << header.nonce << ", reward " << cryptonote::print_money(header.reward) << std::endl; @@ -1640,14 +1641,14 @@ bool t_rpc_command_executor::print_bans() for (auto i = res.bans.begin(); i != res.bans.end(); ++i) { - tools::msg_writer() << epee::string_tools::get_ip_string_from_int32(i->ip) << " banned for " << i->seconds << " seconds"; + tools::msg_writer() << i->host << " banned for " << i->seconds << " seconds"; } return true; } -bool t_rpc_command_executor::ban(const std::string &ip, time_t seconds) +bool t_rpc_command_executor::ban(const std::string &address, time_t seconds) { cryptonote::COMMAND_RPC_SETBANS::request req; cryptonote::COMMAND_RPC_SETBANS::response res; @@ -1655,11 +1656,8 @@ bool t_rpc_command_executor::ban(const std::string &ip, time_t seconds) epee::json_rpc::error error_resp; cryptonote::COMMAND_RPC_SETBANS::ban ban; - if (!epee::string_tools::get_ip_int32_from_string(ban.ip, ip)) - { - tools::fail_msg_writer() << "Invalid IP"; - return true; - } + ban.host = address; + ban.ip = 0; ban.ban = true; ban.seconds = seconds; req.bans.push_back(ban); @@ -1683,7 +1681,7 @@ bool t_rpc_command_executor::ban(const std::string &ip, time_t seconds) return true; } -bool t_rpc_command_executor::unban(const std::string &ip) +bool t_rpc_command_executor::unban(const std::string &address) { cryptonote::COMMAND_RPC_SETBANS::request req; cryptonote::COMMAND_RPC_SETBANS::response res; @@ -1691,11 +1689,8 @@ bool t_rpc_command_executor::unban(const std::string &ip) epee::json_rpc::error error_resp; cryptonote::COMMAND_RPC_SETBANS::ban ban; - if (!epee::string_tools::get_ip_int32_from_string(ban.ip, ip)) - { - tools::fail_msg_writer() << "Invalid IP"; - return true; - } + ban.host = address; + ban.ip = 0; ban.ban = false; ban.seconds = 0; req.bans.push_back(ban); @@ -1719,6 +1714,39 @@ bool t_rpc_command_executor::unban(const std::string &ip) return true; } +bool t_rpc_command_executor::banned(const std::string &address) +{ + cryptonote::COMMAND_RPC_BANNED::request req; + cryptonote::COMMAND_RPC_BANNED::response res; + std::string fail_message = "Unsuccessful"; + epee::json_rpc::error error_resp; + + req.address = address; + + if (m_is_rpc) + { + if (!m_rpc_client->json_rpc_request(req, res, "banned", fail_message.c_str())) + { + return true; + } + } + else + { + if (!m_rpc_server->on_banned(req, res, error_resp) || res.status != CORE_RPC_STATUS_OK) + { + tools::fail_msg_writer() << make_error(fail_message, res.status); + return true; + } + } + + if (res.banned) + tools::msg_writer() << address << " is banned for " << res.seconds << " seconds"; + else + tools::msg_writer() << address << " is not banned"; + + return true; +} + bool t_rpc_command_executor::flush_txpool(const std::string &txid) { cryptonote::COMMAND_RPC_FLUSH_TRANSACTION_POOL::request req; diff --git a/src/daemon/rpc_command_executor.h b/src/daemon/rpc_command_executor.h index 3c2686b3f..61c25736d 100644 --- a/src/daemon/rpc_command_executor.h +++ b/src/daemon/rpc_command_executor.h @@ -43,6 +43,7 @@ #include "common/common_fwd.h" #include "common/rpc_client.h" #include "cryptonote_basic/cryptonote_basic.h" +#include "net/net_fwd.h" #include "rpc/core_rpc_server.h" #undef MONERO_DEFAULT_LOG_CATEGORY @@ -61,6 +62,7 @@ public: uint32_t ip , uint16_t port , const boost::optional<tools::login>& user + , const epee::net_utils::ssl_options_t& ssl_options , bool is_rpc = true , cryptonote::core_rpc_server* rpc_server = NULL ); @@ -135,9 +137,11 @@ public: bool print_bans(); - bool ban(const std::string &ip, time_t seconds); + bool ban(const std::string &address, time_t seconds); - bool unban(const std::string &ip); + bool unban(const std::string &address); + + bool banned(const std::string &address); bool flush_txpool(const std::string &txid); diff --git a/src/daemonizer/windows_daemonizer.inl b/src/daemonizer/windows_daemonizer.inl index 701c098f6..c6cd474fd 100644 --- a/src/daemonizer/windows_daemonizer.inl +++ b/src/daemonizer/windows_daemonizer.inl @@ -61,6 +61,10 @@ namespace daemonizer "run-as-service" , "Hidden -- true if running as windows service" }; + const command_line::arg_descriptor<bool> arg_non_interactive = { + "non-interactive" + , "Run non-interactive" + }; std::string get_argument_string(int argc, char const * argv[]) { @@ -83,6 +87,7 @@ namespace daemonizer command_line::add_arg(normal_options, arg_start_service); command_line::add_arg(normal_options, arg_stop_service); command_line::add_arg(hidden_options, arg_is_service); + command_line::add_arg(hidden_options, arg_non_interactive); } inline boost::filesystem::path get_default_data_dir() @@ -177,7 +182,10 @@ namespace daemonizer else // interactive { //LOG_PRINT_L0("Monero '" << MONERO_RELEASE_NAME << "' (v" << MONERO_VERSION_FULL); - return executor.run_interactive(vm); + if (command_line::has_arg(vm, arg_non_interactive)) + return executor.run_non_interactive(vm); + else + return executor.run_interactive(vm); } return false; diff --git a/src/debug_utilities/CMakeLists.txt b/src/debug_utilities/CMakeLists.txt index 7bc2c324f..03c2b3e20 100644 --- a/src/debug_utilities/CMakeLists.txt +++ b/src/debug_utilities/CMakeLists.txt @@ -69,3 +69,25 @@ set_property(TARGET object_sizes PROPERTY OUTPUT_NAME "monero-utils-object-sizes") + +set(dns_checks_sources + dns_checks.cpp + ) + +monero_add_executable(dns_checks + ${dns_checks_sources} + ${dns_checks_private_headers}) + +target_link_libraries(dns_checks + LINK_PRIVATE + common + epee + version + ${Boost_PROGRAM_OPTIONS_LIBRARY} + ${Boost_SYSTEM_LIBRARY} + ${CMAKE_THREAD_LIBS_INIT}) + +set_property(TARGET dns_checks + PROPERTY + OUTPUT_NAME "monero-utils-dns-checks") + diff --git a/src/debug_utilities/dns_checks.cpp b/src/debug_utilities/dns_checks.cpp new file mode 100644 index 000000000..3c9daa769 --- /dev/null +++ b/src/debug_utilities/dns_checks.cpp @@ -0,0 +1,149 @@ +// Copyright (c) 2019, The Monero Project +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are +// permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of +// conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, this list +// of conditions and the following disclaimer in the documentation and/or other +// materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its contributors may be +// used to endorse or promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#include <string> +#include <vector> +#include <map> +#include <algorithm> +#include <boost/program_options.hpp> +#include "misc_log_ex.h" +#include "common/util.h" +#include "common/command_line.h" +#include "common/dns_utils.h" +#include "version.h" + +#undef MONERO_DEFAULT_LOG_CATEGORY +#define MONERO_DEFAULT_LOG_CATEGORY "debugtools.dnschecks" + +namespace po = boost::program_options; + +enum lookup_t { LOOKUP_A, LOOKUP_TXT }; + +static std::vector<std::string> lookup(lookup_t type, const char *hostname) +{ + bool dnssec_available = false, dnssec_valid = false; + std::vector<std::string> res; + switch (type) + { + case LOOKUP_A: res = tools::DNSResolver::instance().get_ipv4(hostname, dnssec_available, dnssec_valid); break; + case LOOKUP_TXT: res = tools::DNSResolver::instance().get_txt_record(hostname, dnssec_available, dnssec_valid); break; + default: MERROR("Invalid lookup type: " << (int)type); return {}; + } + if (!dnssec_available) + { + MWARNING("No DNSSEC for " << hostname); + return {}; + } + if (!dnssec_valid) + { + MWARNING("Invalid DNSSEC check for " << hostname); + return {}; + } + MINFO(res.size() << " valid signed result(s) for " << hostname); + return res; +} + +static void lookup(lookup_t type, const std::vector<std::string> hostnames) +{ + std::vector<std::vector<std::string>> results; + for (const std::string &hostname: hostnames) + { + auto res = lookup(type, hostname.c_str()); + if (!res.empty()) + { + std::sort(res.begin(), res.end()); + results.push_back(res); + } + } + std::map<std::vector<std::string>, size_t> counter; + for (const auto &e: results) + counter[e]++; + size_t count = 0; + for (const auto &e: counter) + count = std::max(count, e.second); + if (results.size() > 1) + { + if (count < results.size()) + MERROR("Only " << count << "/" << results.size() << " records match"); + else + MINFO(count << "/" << results.size() << " records match"); + } +} + +int main(int argc, char* argv[]) +{ + TRY_ENTRY(); + + tools::on_startup(); + + po::options_description desc_cmd_only("Command line options"); + po::options_description desc_cmd_sett("Command line options and settings options"); + + command_line::add_arg(desc_cmd_only, command_line::arg_help); + + po::options_description desc_options("Allowed options"); + desc_options.add(desc_cmd_only).add(desc_cmd_sett); + + po::variables_map vm; + bool r = command_line::handle_error_helper(desc_options, [&]() + { + po::store(po::parse_command_line(argc, argv, desc_options), vm); + po::notify(vm); + return true; + }); + if (! r) + return 1; + + if (command_line::get_arg(vm, command_line::arg_help)) + { + std::cout << "Monero '" << MONERO_RELEASE_NAME << "' (v" << MONERO_VERSION_FULL << ")" << ENDL << ENDL; + std::cout << desc_options << std::endl; + return 1; + } + + mlog_configure("", true); + mlog_set_categories("+" MONERO_DEFAULT_LOG_CATEGORY ":INFO"); + + lookup(LOOKUP_A, {"seeds.moneroseeds.se", "seeds.moneroseeds.ae.org", "seeds.moneroseeds.ch", "seeds.moneroseeds.li"}); + + lookup(LOOKUP_TXT, {"updates.moneropulse.org", "updates.moneropulse.net", "updates.moneropulse.co", "updates.moneropulse.se"}); + + lookup(LOOKUP_TXT, {"checkpoints.moneropulse.org", "checkpoints.moneropulse.net", "checkpoints.moneropulse.co", "checkpoints.moneropulse.se"}); + + // those are in the code, but don't seem to actually exist +#if 0 + lookup(LOOKUP_TXT, {"testpoints.moneropulse.org", "testpoints.moneropulse.net", "testpoints.moneropulse.co", "testpoints.moneropulse.se"); + + lookup(LOOKUP_TXT, {"stagenetpoints.moneropulse.org", "stagenetpoints.moneropulse.net", "stagenetpoints.moneropulse.co", "stagenetpoints.moneropulse.se"}); +#endif + + lookup(LOOKUP_TXT, {"segheights.moneropulse.org", "segheights.moneropulse.net", "segheights.moneropulse.co", "segheights.moneropulse.se"}); + + return 0; + CATCH_ENTRY_L0("main", 1); +} diff --git a/src/device/device_ledger.cpp b/src/device/device_ledger.cpp index 200370564..eba633da8 100644 --- a/src/device/device_ledger.cpp +++ b/src/device/device_ledger.cpp @@ -90,6 +90,20 @@ namespace hw { AKout = keys.AKout; } + ABPkeys &ABPkeys::operator=(const ABPkeys& keys) { + if (&keys == this) + return *this; + Aout = keys.Aout; + Bout = keys.Bout; + is_subaddress = keys.is_subaddress; + is_change_address = keys.is_change_address; + additional_key = keys.additional_key; + index = keys.index; + Pout = keys.Pout; + AKout = keys.AKout; + return *this; + } + bool Keymap::find(const rct::key& P, ABPkeys& keys) const { size_t sz = ABP.size(); for (size_t i=0; i<sz; i++) { diff --git a/src/device/device_ledger.hpp b/src/device/device_ledger.hpp index d4d98ce4a..fe9028733 100644 --- a/src/device/device_ledger.hpp +++ b/src/device/device_ledger.hpp @@ -77,6 +77,7 @@ namespace hw { ABPkeys(const rct::key& A, const rct::key& B, const bool is_subaddr, bool is_subaddress, bool is_change_address, size_t index, const rct::key& P,const rct::key& AK); ABPkeys(const ABPkeys& keys) ; ABPkeys() {index=0;is_subaddress=false;is_subaddress=false;is_change_address=false;} + ABPkeys &operator=(const ABPkeys &keys); }; class Keymap { diff --git a/src/device_trezor/device_trezor_base.cpp b/src/device_trezor/device_trezor_base.cpp index 58abde1d1..b7adf433d 100644 --- a/src/device_trezor/device_trezor_base.cpp +++ b/src/device_trezor/device_trezor_base.cpp @@ -115,10 +115,14 @@ namespace trezor { MDEBUG("Enumerating Trezor devices..."); enumerate(trans); + sort_transports_by_env(trans); - MDEBUG("Enumeration yielded " << trans.size() << " devices"); + MDEBUG("Enumeration yielded " << trans.size() << " Trezor devices"); for (auto &cur : trans) { MDEBUG(" device: " << *(cur.get())); + } + + for (auto &cur : trans) { std::string cur_path = cur->get_path(); if (boost::starts_with(cur_path, this->name)) { MDEBUG("Device Match: " << cur_path); @@ -412,10 +416,11 @@ namespace trezor { CHECK_AND_ASSERT_THROW_MES(msg, "Empty message"); MDEBUG("on_button_request, code: " << msg->code()); + TREZOR_CALLBACK(on_button_request, msg->code()); + messages::common::ButtonAck ack; write_raw(&ack); - TREZOR_CALLBACK(on_button_request, msg->code()); resp = read_raw(); } diff --git a/src/device_trezor/trezor/transport.cpp b/src/device_trezor/trezor/transport.cpp index dd9b0b52f..59b281f13 100644 --- a/src/device_trezor/trezor/transport.cpp +++ b/src/device_trezor/trezor/transport.cpp @@ -31,11 +31,13 @@ #include <libusb.h> #endif +#include <algorithm> #include <boost/endian/conversion.hpp> #include <boost/asio/io_service.hpp> #include <boost/asio/ip/udp.hpp> #include <boost/date_time/posix_time/posix_time_types.hpp> #include <boost/format.hpp> +#include "common/apply_permutation.h" #include "transport.hpp" #include "messages/messages-common.pb.h" @@ -95,6 +97,47 @@ namespace trezor{ return patch | (((uint64_t)minor) << bits_2) | (((uint64_t)major) << (bits_1 + bits_2)); } + typedef struct { + uint16_t trezor_type; + uint16_t id_vendor; + uint16_t id_product; + } trezor_usb_desc_t; + + static trezor_usb_desc_t TREZOR_DESC_T1 = {1, 0x534C, 0x0001}; + static trezor_usb_desc_t TREZOR_DESC_T2 = {2, 0x1209, 0x53C1}; + static trezor_usb_desc_t TREZOR_DESC_T2_BL = {3, 0x1209, 0x53C0}; + + static trezor_usb_desc_t TREZOR_DESCS[] = { + TREZOR_DESC_T1, + TREZOR_DESC_T2, + TREZOR_DESC_T2_BL, + }; + + static size_t TREZOR_DESCS_LEN = sizeof(TREZOR_DESCS)/sizeof(TREZOR_DESCS[0]); + + static ssize_t get_device_idx(uint16_t id_vendor, uint16_t id_product){ + for(size_t i = 0; i < TREZOR_DESCS_LEN; ++i){ + if (TREZOR_DESCS[i].id_vendor == id_vendor && TREZOR_DESCS[i].id_product == id_product){ + return i; + } + } + + return -1; + } + + static bool is_device_supported(ssize_t device_idx){ + CHECK_AND_ASSERT_THROW_MES(device_idx < (ssize_t)TREZOR_DESCS_LEN, "Device desc idx too big"); + if (device_idx < 0){ + return false; + } + +#ifdef TREZOR_1_SUPPORTED + return true; +#else + return TREZOR_DESCS[device_idx].trezor_type != 1; +#endif + } + // // Helpers // @@ -312,6 +355,24 @@ namespace trezor{ for(rapidjson::Value::ConstValueIterator itr = bridge_res.Begin(); itr != bridge_res.End(); ++itr){ auto element = itr->GetObject(); auto t = std::make_shared<BridgeTransport>(boost::make_optional(json_get_string(element["path"]))); + + auto itr_vendor = element.FindMember("vendor"); + auto itr_product = element.FindMember("product"); + if (itr_vendor != element.MemberEnd() && itr_product != element.MemberEnd() + && itr_vendor->value.IsNumber() && itr_product->value.IsNumber()){ + try { + const auto id_vendor = (uint16_t) itr_vendor->value.GetUint64(); + const auto id_product = (uint16_t) itr_product->value.GetUint64(); + const auto device_idx = get_device_idx(id_vendor, id_product); + if (!is_device_supported(device_idx)){ + MDEBUG("Device with idx " << device_idx << " is not supported. Vendor: " << id_vendor << ", product: " << id_product); + continue; + } + } catch(const std::exception &e){ + MERROR("Could not detect vendor & product: " << e.what()); + } + } + t->m_device_info.emplace(); t->m_device_info->CopyFrom(*itr, t->m_device_info->GetAllocator()); res.push_back(t); @@ -710,24 +771,20 @@ namespace trezor{ #ifdef WITH_DEVICE_TREZOR_WEBUSB static bool is_trezor1(libusb_device_descriptor * info){ - return info->idVendor == 0x534C && info->idProduct == 0x0001; + return info->idVendor == TREZOR_DESC_T1.id_vendor && info->idProduct == TREZOR_DESC_T1.id_product; } static bool is_trezor2(libusb_device_descriptor * info){ - return info->idVendor == 0x1209 && info->idProduct == 0x53C1; + return info->idVendor == TREZOR_DESC_T2.id_vendor && info->idProduct == TREZOR_DESC_T2.id_product; } static bool is_trezor2_bl(libusb_device_descriptor * info){ - return info->idVendor == 0x1209 && info->idProduct == 0x53C0; + return info->idVendor == TREZOR_DESC_T2_BL.id_vendor && info->idProduct == TREZOR_DESC_T2_BL.id_product; } - static uint8_t get_trezor_dev_mask(libusb_device_descriptor * info){ - uint8_t mask = 0; + static ssize_t get_trezor_dev_id(libusb_device_descriptor *info){ CHECK_AND_ASSERT_THROW_MES(info, "Empty device descriptor"); - mask |= is_trezor1(info) ? 1 : 0; - mask |= is_trezor2(info) ? 2 : 0; - mask |= is_trezor2_bl(info) ? 4 : 0; - return mask; + return get_device_idx(info->idVendor, info->idProduct); } static void set_libusb_log(libusb_context *ctx){ @@ -844,12 +901,12 @@ namespace trezor{ continue; } - const auto trezor_mask = get_trezor_dev_mask(&desc); - if (!trezor_mask){ + const auto trezor_dev_idx = get_trezor_dev_id(&desc); + if (!is_device_supported(trezor_dev_idx)){ continue; } - MTRACE("Found Trezor device: " << desc.idVendor << ":" << desc.idProduct << " mask " << (int)trezor_mask); + MTRACE("Found Trezor device: " << desc.idVendor << ":" << desc.idProduct << " dev_idx " << (int)trezor_dev_idx); auto t = std::make_shared<WebUsbTransport>(boost::make_optional(&desc)); t->m_bus_id = libusb_get_bus_number(devs[i]); @@ -909,8 +966,8 @@ namespace trezor{ continue; } - const auto trezor_mask = get_trezor_dev_mask(&desc); - if (!trezor_mask) { + const auto trezor_dev_idx = get_trezor_dev_id(&desc); + if (!is_device_supported(trezor_dev_idx)){ continue; } @@ -921,7 +978,7 @@ namespace trezor{ get_libusb_ports(devs[i], path); MTRACE("Found Trezor device: " << desc.idVendor << ":" << desc.idProduct - << ", mask: " << (int)trezor_mask + << ", dev_idx: " << (int)trezor_dev_idx << ". path: " << get_usb_path(bus_id, path)); if (bus_id == m_bus_id && path == m_port_numbers) { @@ -1110,6 +1167,39 @@ namespace trezor{ #endif } + void sort_transports_by_env(t_transport_vect & res){ + const char *env_trezor_path = getenv("TREZOR_PATH"); + if (!env_trezor_path){ + return; + } + + // Sort transports by the longest matching prefix with TREZOR_PATH + std::string trezor_path(env_trezor_path); + std::vector<size_t> match_idx(res.size()); + std::vector<size_t> path_permutation(res.size()); + + for(size_t i = 0; i < res.size(); ++i){ + auto cpath = res[i]->get_path(); + std::string * s1 = &trezor_path; + std::string * s2 = &cpath; + + // first has to be shorter in std::mismatch(). Returns first non-matching iterators. + if (s1->size() >= s2->size()){ + std::swap(s1, s2); + } + + const auto mism = std::mismatch(s1->begin(), s1->end(), s2->begin()); + match_idx[i] = mism.first - s1->begin(); + path_permutation[i] = i; + } + + std::sort(path_permutation.begin(), path_permutation.end(), [&](const size_t i0, const size_t i1) { + return match_idx[i0] > match_idx[i1]; + }); + + tools::apply_permutation(path_permutation, res); + } + std::shared_ptr<Transport> transport(const std::string & path){ if (boost::starts_with(path, BridgeTransport::PATH_PREFIX)){ return std::make_shared<BridgeTransport>(path.substr(strlen(BridgeTransport::PATH_PREFIX))); diff --git a/src/device_trezor/trezor/transport.hpp b/src/device_trezor/trezor/transport.hpp index cde862547..affd91553 100644 --- a/src/device_trezor/trezor/transport.hpp +++ b/src/device_trezor/trezor/transport.hpp @@ -303,6 +303,11 @@ namespace trezor { void enumerate(t_transport_vect & res); /** + * Sorts found transports by TREZOR_PATH environment variable. + */ + void sort_transports_by_env(t_transport_vect & res); + + /** * Transforms path to the transport */ std::shared_ptr<Transport> transport(const std::string & path); diff --git a/src/lmdb/error.cpp b/src/lmdb/error.cpp index 359677064..91479521e 100644 --- a/src/lmdb/error.cpp +++ b/src/lmdb/error.cpp @@ -55,7 +55,7 @@ namespace { break; // map to nothing generic case MDB_PAGE_NOTFOUND: case MDB_CORRUPTED: - return std::errc::state_not_recoverable; + return std::errc::bad_address; case MDB_PANIC: case MDB_VERSION_MISMATCH: case MDB_INVALID: diff --git a/src/mnemonics/language_base.h b/src/mnemonics/language_base.h index 653314b04..7d2599e9a 100644 --- a/src/mnemonics/language_base.h +++ b/src/mnemonics/language_base.h @@ -129,7 +129,7 @@ namespace Language case 1: *wptr++ = cp; break;
case 2: *wptr++ = 0xc0 | (cp >> 6); *wptr++ = 0x80 | (cp & 0x3f); break;
case 3: *wptr++ = 0xe0 | (cp >> 12); *wptr++ = 0x80 | ((cp >> 6) & 0x3f); *wptr++ = 0x80 | (cp & 0x3f); break;
- case 4: *wptr++ = 0xf0 | (cp >> 18); *wptr += 0x80 | ((cp >> 12) & 0x3f); *wptr++ = 0x80 | ((cp >> 6) & 0x3f); *wptr++ = 0x80 | (cp & 0x3f); break;
+ case 4: *wptr++ = 0xf0 | (cp >> 18); *wptr++ = 0x80 | ((cp >> 12) & 0x3f); *wptr++ = 0x80 | ((cp >> 6) & 0x3f); *wptr++ = 0x80 | (cp & 0x3f); break;
default: throw std::runtime_error("Invalid UTF-8");
}
*wptr = 0;
diff --git a/src/net/error.h b/src/net/error.h index c8338f7e2..7c852dd20 100644 --- a/src/net/error.h +++ b/src/net/error.h @@ -42,7 +42,8 @@ namespace net invalid_i2p_address, invalid_port, //!< Outside of 0-65535 range invalid_tor_address,//!< Invalid base32 or length - unsupported_address //!< Type not supported by `get_network_address` + unsupported_address,//!< Type not supported by `get_network_address` + invalid_mask, //!< Outside of 0-32 range }; //! \return `std::error_category` for `net` namespace. diff --git a/src/net/parse.cpp b/src/net/parse.cpp index eaaadb67e..d93d7d352 100644 --- a/src/net/parse.cpp +++ b/src/net/parse.cpp @@ -58,4 +58,27 @@ namespace net return {epee::net_utils::ipv4_network_address{ip, port}}; return make_error_code(net::error::unsupported_address); } + + expect<epee::net_utils::ipv4_network_subnet> + get_ipv4_subnet_address(const boost::string_ref address, bool allow_implicit_32) + { + uint32_t mask = 32; + const boost::string_ref::size_type slash = address.find_first_of('/'); + if (slash != boost::string_ref::npos) + { + if (!epee::string_tools::get_xtype_from_string(mask, std::string{address.substr(slash + 1)})) + return make_error_code(net::error::invalid_mask); + if (mask > 32) + return make_error_code(net::error::invalid_mask); + } + else if (!allow_implicit_32) + return make_error_code(net::error::invalid_mask); + + std::uint32_t ip = 0; + boost::string_ref S(address.data(), slash != boost::string_ref::npos ? slash : address.size()); + if (!epee::string_tools::get_ip_int32_from_string(ip, std::string(S))) + return make_error_code(net::error::invalid_host); + + return {epee::net_utils::ipv4_network_subnet{ip, (uint8_t)mask}}; + } } diff --git a/src/net/parse.h b/src/net/parse.h index 5804c4128..9f0d66ea6 100644 --- a/src/net/parse.h +++ b/src/net/parse.h @@ -50,5 +50,18 @@ namespace net */ expect<epee::net_utils::network_address> get_network_address(boost::string_ref address, std::uint16_t default_port); + + /*! + Identifies an IPv4 subnet in CIDR notatioa and returns it as a generic + `network_address`. If the type is unsupported, it might be a hostname, + and `error() == net::error::kUnsupportedAddress` is returned. + + \param address An ipv4 address. + \param allow_implicit_32 whether to accept "raw" IPv4 addresses, with CIDR notation + + \return A tor or IPv4 address, else error. + */ + expect<epee::net_utils::ipv4_network_subnet> + get_ipv4_subnet_address(boost::string_ref address, bool allow_implicit_32 = false); } diff --git a/src/p2p/net_node.h b/src/p2p/net_node.h index 42bb3b061..9ee5ce0de 100644 --- a/src/p2p/net_node.h +++ b/src/p2p/net_node.h @@ -248,7 +248,11 @@ namespace nodetool void change_max_in_public_peers(size_t count); virtual bool block_host(const epee::net_utils::network_address &adress, time_t seconds = P2P_IP_BLOCKTIME); virtual bool unblock_host(const epee::net_utils::network_address &address); - virtual std::map<std::string, time_t> get_blocked_hosts() { CRITICAL_REGION_LOCAL(m_blocked_hosts_lock); return m_blocked_hosts; } + virtual bool block_subnet(const epee::net_utils::ipv4_network_subnet &subnet, time_t seconds = P2P_IP_BLOCKTIME); + virtual bool unblock_subnet(const epee::net_utils::ipv4_network_subnet &subnet); + virtual bool is_host_blocked(const epee::net_utils::network_address &address, time_t *seconds) { CRITICAL_REGION_LOCAL(m_blocked_hosts_lock); return !is_remote_host_allowed(address, seconds); } + virtual std::map<epee::net_utils::network_address, time_t> get_blocked_hosts() { CRITICAL_REGION_LOCAL(m_blocked_hosts_lock); return m_blocked_hosts; } + virtual std::map<epee::net_utils::ipv4_network_subnet, time_t> get_blocked_subnets() { CRITICAL_REGION_LOCAL(m_blocked_hosts_lock); return m_blocked_subnets; } virtual void add_used_stripe_peer(const typename t_payload_net_handler::connection_context &context); virtual void remove_used_stripe_peer(const typename t_payload_net_handler::connection_context &context); @@ -319,7 +323,7 @@ namespace nodetool virtual bool for_connection(const boost::uuids::uuid&, std::function<bool(typename t_payload_net_handler::connection_context&, peerid_type, uint32_t)> f); virtual bool add_host_fail(const epee::net_utils::network_address &address); //----------------- i_connection_filter -------------------------------------------------------- - virtual bool is_remote_host_allowed(const epee::net_utils::network_address &address); + virtual bool is_remote_host_allowed(const epee::net_utils::network_address &address, time_t *t = NULL); //----------------------------------------------------------------------------------------------- bool parse_peer_from_string(epee::net_utils::network_address& pe, const std::string& node_addr, uint16_t default_port = 0); bool handle_command_line( @@ -461,8 +465,9 @@ namespace nodetool std::map<epee::net_utils::network_address, time_t> m_conn_fails_cache; epee::critical_section m_conn_fails_cache_lock; - epee::critical_section m_blocked_hosts_lock; - std::map<std::string, time_t> m_blocked_hosts; + epee::critical_section m_blocked_hosts_lock; // for both hosts and subnets + std::map<epee::net_utils::network_address, time_t> m_blocked_hosts; + std::map<epee::net_utils::ipv4_network_subnet, time_t> m_blocked_subnets; epee::critical_section m_host_fails_score_lock; std::map<std::string, uint64_t> m_host_fails_score; diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl index be97edbe5..ae51a63b2 100644 --- a/src/p2p/net_node.inl +++ b/src/p2p/net_node.inl @@ -155,19 +155,55 @@ namespace nodetool } //----------------------------------------------------------------------------------- template<class t_payload_net_handler> - bool node_server<t_payload_net_handler>::is_remote_host_allowed(const epee::net_utils::network_address &address) + bool node_server<t_payload_net_handler>::is_remote_host_allowed(const epee::net_utils::network_address &address, time_t *t) { CRITICAL_REGION_LOCAL(m_blocked_hosts_lock); - auto it = m_blocked_hosts.find(address.host_str()); - if(it == m_blocked_hosts.end()) - return true; - if(time(nullptr) >= it->second) + + const time_t now = time(nullptr); + + // look in the hosts list + auto it = m_blocked_hosts.find(address); + if (it != m_blocked_hosts.end()) { - m_blocked_hosts.erase(it); - MCLOG_CYAN(el::Level::Info, "global", "Host " << address.host_str() << " unblocked."); - return true; + if (now >= it->second) + { + m_blocked_hosts.erase(it); + MCLOG_CYAN(el::Level::Info, "global", "Host " << address.host_str() << " unblocked."); + it = m_blocked_hosts.end(); + } + else + { + if (t) + *t = it->second - now; + return false; + } } - return false; + + // manually loop in subnets + if (address.get_type_id() == epee::net_utils::address_type::ipv4) + { + auto ipv4_address = address.template as<epee::net_utils::ipv4_network_address>(); + std::map<epee::net_utils::ipv4_network_subnet, time_t>::iterator it; + for (it = m_blocked_subnets.begin(); it != m_blocked_subnets.end(); ) + { + if (now >= it->second) + { + it = m_blocked_subnets.erase(it); + MCLOG_CYAN(el::Level::Info, "global", "Subnet " << it->first.host_str() << " unblocked."); + continue; + } + if (it->first.matches(ipv4_address)) + { + if (t) + *t = it->second - now; + return false; + } + ++it; + } + } + + // not found in hosts or subnets, allowed + return true; } //----------------------------------------------------------------------------------- template<class t_payload_net_handler> @@ -184,7 +220,7 @@ namespace nodetool limit = std::numeric_limits<time_t>::max(); else limit = now + seconds; - m_blocked_hosts[addr.host_str()] = limit; + m_blocked_hosts[addr] = limit; // drop any connection to that address. This should only have to look into // the zone related to the connection, but really make sure everything is @@ -214,7 +250,7 @@ namespace nodetool bool node_server<t_payload_net_handler>::unblock_host(const epee::net_utils::network_address &address) { CRITICAL_REGION_LOCAL(m_blocked_hosts_lock); - auto i = m_blocked_hosts.find(address.host_str()); + auto i = m_blocked_hosts.find(address); if (i == m_blocked_hosts.end()) return false; m_blocked_hosts.erase(i); @@ -223,6 +259,58 @@ namespace nodetool } //----------------------------------------------------------------------------------- template<class t_payload_net_handler> + bool node_server<t_payload_net_handler>::block_subnet(const epee::net_utils::ipv4_network_subnet &subnet, time_t seconds) + { + const time_t now = time(nullptr); + + CRITICAL_REGION_LOCAL(m_blocked_hosts_lock); + time_t limit; + if (now > std::numeric_limits<time_t>::max() - seconds) + limit = std::numeric_limits<time_t>::max(); + else + limit = now + seconds; + m_blocked_subnets[subnet] = limit; + + // drop any connection to that subnet. This should only have to look into + // the zone related to the connection, but really make sure everything is + // swept ... + std::vector<boost::uuids::uuid> conns; + for(auto& zone : m_network_zones) + { + zone.second.m_net_server.get_config_object().foreach_connection([&](const p2p_connection_context& cntxt) + { + if (cntxt.m_remote_address.get_type_id() != epee::net_utils::ipv4_network_address::get_type_id()) + return true; + auto ipv4_address = cntxt.m_remote_address.template as<epee::net_utils::ipv4_network_address>(); + if (subnet.matches(ipv4_address)) + { + conns.push_back(cntxt.m_connection_id); + } + return true; + }); + for (const auto &c: conns) + zone.second.m_net_server.get_config_object().close(c); + + conns.clear(); + } + + MCLOG_CYAN(el::Level::Info, "global", "Subnet " << subnet.host_str() << " blocked."); + return true; + } + //----------------------------------------------------------------------------------- + template<class t_payload_net_handler> + bool node_server<t_payload_net_handler>::unblock_subnet(const epee::net_utils::ipv4_network_subnet &subnet) + { + CRITICAL_REGION_LOCAL(m_blocked_hosts_lock); + auto i = m_blocked_subnets.find(subnet); + if (i == m_blocked_subnets.end()) + return false; + m_blocked_subnets.erase(i); + MCLOG_CYAN(el::Level::Info, "global", "Subnet " << subnet.host_str() << " unblocked."); + return true; + } + //----------------------------------------------------------------------------------- + template<class t_payload_net_handler> bool node_server<t_payload_net_handler>::add_host_fail(const epee::net_utils::network_address &address) { if(!address.is_blockable()) @@ -944,7 +1032,10 @@ namespace nodetool } if(!context.m_is_income) m_network_zones.at(context.m_remote_address.get_zone()).m_peerlist.set_peer_just_seen(context.peer_id, context.m_remote_address, context.m_pruning_seed, context.m_rpc_port); - m_payload_handler.process_payload_sync_data(rsp.payload_data, context, false); + if (!m_payload_handler.process_payload_sync_data(rsp.payload_data, context, false)) + { + m_network_zones.at(context.m_remote_address.get_zone()).m_net_server.get_config_object().close(context.m_connection_id ); + } }); if(!r) @@ -1090,6 +1181,7 @@ namespace nodetool LOG_PRINT_CC_PRIORITY_NODE(is_priority, *con, "Failed to HANDSHAKE with peer " << na.str() /*<< ", try " << try_count*/); + zone.m_net_server.get_config_object().close(con->m_connection_id); return false; } @@ -1149,7 +1241,7 @@ namespace nodetool bool is_priority = is_priority_node(na); LOG_PRINT_CC_PRIORITY_NODE(is_priority, *con, "Failed to HANDSHAKE with peer " << na.str()); - + zone.m_net_server.get_config_object().close(con->m_connection_id); return false; } @@ -1226,19 +1318,53 @@ namespace nodetool size_t random_index; const uint32_t next_needed_pruning_stripe = m_payload_handler.get_next_needed_pruning_stripe().second; + // build a set of all the /16 we're connected to, and prefer a peer that's not in that set + std::set<uint32_t> classB; + if (&zone == &m_network_zones.at(epee::net_utils::zone::public_)) // at returns reference, not copy + { + zone.m_net_server.get_config_object().foreach_connection([&](const p2p_connection_context& cntxt) + { + if (cntxt.m_remote_address.get_type_id() == epee::net_utils::ipv4_network_address::get_type_id()) + { + + const epee::net_utils::network_address na = cntxt.m_remote_address; + const uint32_t actual_ip = na.as<const epee::net_utils::ipv4_network_address>().ip(); + classB.insert(actual_ip & 0x0000ffff); + } + return true; + }); + } + std::deque<size_t> filtered; const size_t limit = use_white_list ? 20 : std::numeric_limits<size_t>::max(); - size_t idx = 0; - zone.m_peerlist.foreach (use_white_list, [&filtered, &idx, limit, next_needed_pruning_stripe](const peerlist_entry &pe){ - if (filtered.size() >= limit) - return false; - if (next_needed_pruning_stripe == 0 || pe.pruning_seed == 0) - filtered.push_back(idx); - else if (next_needed_pruning_stripe == tools::get_pruning_stripe(pe.pruning_seed)) - filtered.push_front(idx); - ++idx; - return true; - }); + size_t idx = 0, skipped = 0; + for (int step = 0; step < 2; ++step) + { + bool skip_duplicate_class_B = step == 0; + zone.m_peerlist.foreach (use_white_list, [&classB, &filtered, &idx, &skipped, skip_duplicate_class_B, limit, next_needed_pruning_stripe](const peerlist_entry &pe){ + if (filtered.size() >= limit) + return false; + bool skip = false; + if (skip_duplicate_class_B && pe.adr.get_type_id() == epee::net_utils::ipv4_network_address::get_type_id()) + { + const epee::net_utils::network_address na = pe.adr; + uint32_t actual_ip = na.as<const epee::net_utils::ipv4_network_address>().ip(); + skip = classB.find(actual_ip & 0x0000ffff) != classB.end(); + } + if (skip) + ++skipped; + else if (next_needed_pruning_stripe == 0 || pe.pruning_seed == 0) + filtered.push_back(idx); + else if (next_needed_pruning_stripe == tools::get_pruning_stripe(pe.pruning_seed)) + filtered.push_front(idx); + ++idx; + return true; + }); + if (skipped == 0 || !filtered.empty()) + break; + if (skipped) + MGINFO("Skipping " << skipped << " possible peers as they share a class B with existing peers"); + } if (filtered.empty()) { MDEBUG("No available peer in " << (use_white_list ? "white" : "gray") << " list filtered by " << next_needed_pruning_stripe); @@ -1955,7 +2081,7 @@ namespace nodetool const epee::net_utils::zone zone_type = context.m_remote_address.get_zone(); network_zone& zone = m_network_zones.at(zone_type); - zone.m_peerlist.get_peerlist_head(rsp.local_peerlist_new); + zone.m_peerlist.get_peerlist_head(rsp.local_peerlist_new, true); m_payload_handler.get_payload_sync_data(rsp.payload_data); /* Tor/I2P nodes receiving connections via forwarding (from tor/i2p daemon) @@ -2058,7 +2184,7 @@ namespace nodetool }); //fill response - zone.m_peerlist.get_peerlist_head(rsp.local_peerlist_new); + zone.m_peerlist.get_peerlist_head(rsp.local_peerlist_new, true); get_local_node_data(rsp.node_data, zone); m_payload_handler.get_payload_sync_data(rsp.payload_data); LOG_DEBUG_CC(context, "COMMAND_HANDSHAKE"); diff --git a/src/p2p/net_node_common.h b/src/p2p/net_node_common.h index 26451b333..34d151f5f 100644 --- a/src/p2p/net_node_common.h +++ b/src/p2p/net_node_common.h @@ -56,7 +56,8 @@ namespace nodetool virtual bool for_connection(const boost::uuids::uuid&, std::function<bool(t_connection_context&, peerid_type, uint32_t)> f)=0; virtual bool block_host(const epee::net_utils::network_address &address, time_t seconds = 0)=0; virtual bool unblock_host(const epee::net_utils::network_address &address)=0; - virtual std::map<std::string, time_t> get_blocked_hosts()=0; + virtual std::map<epee::net_utils::network_address, time_t> get_blocked_hosts()=0; + virtual std::map<epee::net_utils::ipv4_network_subnet, time_t> get_blocked_subnets()=0; virtual bool add_host_fail(const epee::net_utils::network_address &address)=0; virtual void add_used_stripe_peer(const t_connection_context &context)=0; virtual void remove_used_stripe_peer(const t_connection_context &context)=0; @@ -112,9 +113,13 @@ namespace nodetool { return true; } - virtual std::map<std::string, time_t> get_blocked_hosts() + virtual std::map<epee::net_utils::network_address, time_t> get_blocked_hosts() { - return std::map<std::string, time_t>(); + return std::map<epee::net_utils::network_address, time_t>(); + } + virtual std::map<epee::net_utils::ipv4_network_subnet, time_t> get_blocked_subnets() + { + return std::map<epee::net_utils::ipv4_network_subnet, time_t>(); } virtual bool add_host_fail(const epee::net_utils::network_address &address) { diff --git a/src/p2p/net_peerlist.h b/src/p2p/net_peerlist.h index 52814af94..883997fd6 100644 --- a/src/p2p/net_peerlist.h +++ b/src/p2p/net_peerlist.h @@ -102,7 +102,7 @@ namespace nodetool size_t get_white_peers_count(){CRITICAL_REGION_LOCAL(m_peerlist_lock); return m_peers_white.size();} size_t get_gray_peers_count(){CRITICAL_REGION_LOCAL(m_peerlist_lock); return m_peers_gray.size();} bool merge_peerlist(const std::vector<peerlist_entry>& outer_bs); - bool get_peerlist_head(std::vector<peerlist_entry>& bs_head, uint32_t depth = P2P_DEFAULT_PEERS_IN_HANDSHAKE); + bool get_peerlist_head(std::vector<peerlist_entry>& bs_head, bool anonymize, uint32_t depth = P2P_DEFAULT_PEERS_IN_HANDSHAKE); void get_peerlist(std::vector<peerlist_entry>& pl_gray, std::vector<peerlist_entry>& pl_white); void get_peerlist(peerlist_types& peers); bool get_white_peer_by_index(peerlist_entry& p, size_t i); @@ -263,23 +263,40 @@ namespace nodetool } //-------------------------------------------------------------------------------------------------- inline - bool peerlist_manager::get_peerlist_head(std::vector<peerlist_entry>& bs_head, uint32_t depth) + bool peerlist_manager::get_peerlist_head(std::vector<peerlist_entry>& bs_head, bool anonymize, uint32_t depth) { - CRITICAL_REGION_LOCAL(m_peerlist_lock); peers_indexed::index<by_time>::type& by_time_index=m_peers_white.get<by_time>(); uint32_t cnt = 0; - bs_head.reserve(depth); + + // picks a random set of peers within the first 120%, rather than a set of the first 100%. + // The intent is that if someone asks twice, they can't easily tell: + // - this address was not in the first list, but is in the second, so the only way this can be + // is if its last_seen was recently reset, so this means the target node recently had a new + // connection to that address + // - this address was in the first list, and not in the second, which means either the address + // was moved to the gray list (if it's not accessibe, which the attacker can check if + // the address accepts incoming connections) or it was the oldest to still fit in the 250 items, + // so its last_seen is old. + const uint32_t pick_depth = anonymize ? depth + depth / 5 : depth; + bs_head.reserve(pick_depth); for(const peers_indexed::value_type& vl: boost::adaptors::reverse(by_time_index)) { - if(!vl.last_seen) - continue; - - if(cnt++ >= depth) + if(cnt++ >= pick_depth) break; bs_head.push_back(vl); } + + if (anonymize) + { + std::random_shuffle(bs_head.begin(), bs_head.end()); + if (bs_head.size() > depth) + bs_head.resize(depth); + for (auto &e: bs_head) + e.last_seen = 0; + } + return true; } //-------------------------------------------------------------------------------------------------- @@ -327,8 +344,14 @@ namespace nodetool trim_white_peerlist(); }else { - //update record in white list - m_peers_white.replace(by_addr_it_wt, ple); + //update record in white list + peerlist_entry new_ple = ple; + if (by_addr_it_wt->pruning_seed && ple.pruning_seed == 0) // guard against older nodes not passing pruning info around + new_ple.pruning_seed = by_addr_it_wt->pruning_seed; + if (by_addr_it_wt->rpc_port && ple.rpc_port == 0) // guard against older nodes not passing RPC port around + new_ple.rpc_port = by_addr_it_wt->rpc_port; + new_ple.last_seen = by_addr_it_wt->last_seen; // do not overwrite the last seen timestamp, incoming peer list are untrusted + m_peers_white.replace(by_addr_it_wt, new_ple); } //remove from gray list, if need auto by_addr_it_gr = m_peers_gray.get<by_addr>().find(ple.adr); @@ -362,8 +385,14 @@ namespace nodetool trim_gray_peerlist(); }else { - //update record in white list - m_peers_gray.replace(by_addr_it_gr, ple); + //update record in gray list + peerlist_entry new_ple = ple; + if (by_addr_it_gr->pruning_seed && ple.pruning_seed == 0) // guard against older nodes not passing pruning info around + new_ple.pruning_seed = by_addr_it_gr->pruning_seed; + if (by_addr_it_gr->rpc_port && ple.rpc_port == 0) // guard against older nodes not passing RPC port around + new_ple.rpc_port = by_addr_it_gr->rpc_port; + new_ple.last_seen = by_addr_it_gr->last_seen; // do not overwrite the last seen timestamp, incoming peer list are untrusted + m_peers_gray.replace(by_addr_it_gr, new_ple); } return true; CATCH_ENTRY_L0("peerlist_manager::append_with_peer_gray()", false); diff --git a/src/p2p/net_peerlist_boost_serialization.h b/src/p2p/net_peerlist_boost_serialization.h index 40ef2ebcd..32f30adca 100644 --- a/src/p2p/net_peerlist_boost_serialization.h +++ b/src/p2p/net_peerlist_boost_serialization.h @@ -134,10 +134,11 @@ namespace boost a & port; a & length; - if (length > net::tor_address::buffer_size()) + const size_t buffer_size = net::tor_address::buffer_size(); + if (length > buffer_size) MONERO_THROW(net::error::invalid_tor_address, "Tor address too long"); - char host[net::tor_address::buffer_size()] = {0}; + char host[buffer_size] = {0}; a.load_binary(host, length); host[sizeof(host) - 1] = 0; @@ -155,10 +156,11 @@ namespace boost a & port; a & length; - if (length > net::i2p_address::buffer_size()) + const size_t buffer_size = net::i2p_address::buffer_size(); + if (length > buffer_size) MONERO_THROW(net::error::invalid_i2p_address, "i2p address too long"); - char host[net::i2p_address::buffer_size()] = {0}; + char host[buffer_size] = {0}; a.load_binary(host, length); host[sizeof(host) - 1] = 0; diff --git a/src/p2p/p2p_protocol_defs.h b/src/p2p/p2p_protocol_defs.h index 59c6099d5..85774fcd5 100644 --- a/src/p2p/p2p_protocol_defs.h +++ b/src/p2p/p2p_protocol_defs.h @@ -81,7 +81,8 @@ namespace nodetool BEGIN_KV_SERIALIZE_MAP() KV_SERIALIZE(adr) KV_SERIALIZE(id) - KV_SERIALIZE(last_seen) + if (!is_store || this_ref.last_seen != 0) + KV_SERIALIZE_OPT(last_seen, (int64_t)0) KV_SERIALIZE_OPT(pruning_seed, (uint32_t)0) KV_SERIALIZE_OPT(rpc_port, (uint16_t)0) END_KV_SERIALIZE_MAP() @@ -132,7 +133,7 @@ namespace nodetool ss << pe.id << "\t" << pe.adr.str() << " \trpc port " << (pe.rpc_port > 0 ? std::to_string(pe.rpc_port) : "-") << " \tpruning seed " << pe.pruning_seed - << " \tlast_seen: " << epee::misc_utils::get_time_interval_string(now_time - pe.last_seen) + << " \tlast_seen: " << (pe.last_seen == 0 ? std::string("never") : epee::misc_utils::get_time_interval_string(now_time - pe.last_seen)) << std::endl; } return ss.str(); diff --git a/src/ringct/rctTypes.h b/src/ringct/rctTypes.h index e5413f1dc..f8729b872 100644 --- a/src/ringct/rctTypes.h +++ b/src/ringct/rctTypes.h @@ -252,7 +252,7 @@ namespace rct { { FIELD(type) if (type == RCTTypeNull) - return true; + return ar.stream().good(); if (type != RCTTypeFull && type != RCTTypeSimple && type != RCTTypeBulletproof && type != RCTTypeBulletproof2) return false; VARINT_FIELD(txnFee) @@ -312,7 +312,7 @@ namespace rct { ar.delimit_array(); } ar.end_array(); - return true; + return ar.stream().good(); } }; struct rctSigPrunable { @@ -325,7 +325,7 @@ namespace rct { bool serialize_rctsig_prunable(Archive<W> &ar, uint8_t type, size_t inputs, size_t outputs, size_t mixin) { if (type == RCTTypeNull) - return true; + return ar.stream().good(); if (type != RCTTypeFull && type != RCTTypeSimple && type != RCTTypeBulletproof && type != RCTTypeBulletproof2) return false; if (type == RCTTypeBulletproof || type == RCTTypeBulletproof2) @@ -429,7 +429,7 @@ namespace rct { } ar.end_array(); } - return true; + return ar.stream().good(); } }; diff --git a/src/rpc/core_rpc_server.cpp b/src/rpc/core_rpc_server.cpp index c41fb37d8..cfa1c49d8 100644 --- a/src/rpc/core_rpc_server.cpp +++ b/src/rpc/core_rpc_server.cpp @@ -28,6 +28,7 @@ // // Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers +#include <boost/preprocessor/stringize.hpp> #include "include_base_utils.h" #include "string_tools.h" using namespace epee; @@ -58,6 +59,8 @@ using namespace epee; #define MAX_RESTRICTED_FAKE_OUTS_COUNT 40 #define MAX_RESTRICTED_GLOBAL_FAKE_OUTS_COUNT 5000 +#define OUTPUT_HISTOGRAM_RECENT_CUTOFF_RESTRICTION (3 * 86400) // 3 days max, the wallet requests 1.8 days + namespace { void add_reason(std::string &reasons, const char *reason) @@ -74,9 +77,9 @@ namespace void store_difficulty(cryptonote::difficulty_type difficulty, uint64_t &sdiff, std::string &swdiff, uint64_t &stop64) { - sdiff = (difficulty << 64 >> 64).convert_to<uint64_t>(); + sdiff = (difficulty & 0xffffffffffffffff).convert_to<uint64_t>(); swdiff = cryptonote::hex(difficulty); - stop64 = (difficulty >> 64).convert_to<uint64_t>(); + stop64 = ((difficulty >> 64) & 0xffffffffffffffff).convert_to<uint64_t>(); } } @@ -89,15 +92,9 @@ namespace cryptonote command_line::add_arg(desc, arg_rpc_bind_port); command_line::add_arg(desc, arg_rpc_restricted_bind_port); command_line::add_arg(desc, arg_restricted_rpc); - command_line::add_arg(desc, arg_rpc_ssl); - command_line::add_arg(desc, arg_rpc_ssl_private_key); - command_line::add_arg(desc, arg_rpc_ssl_certificate); - command_line::add_arg(desc, arg_rpc_ssl_ca_certificates); - command_line::add_arg(desc, arg_rpc_ssl_allowed_fingerprints); - command_line::add_arg(desc, arg_rpc_ssl_allow_any_cert); command_line::add_arg(desc, arg_bootstrap_daemon_address); command_line::add_arg(desc, arg_bootstrap_daemon_login); - cryptonote::rpc_args::init_options(desc); + cryptonote::rpc_args::init_options(desc, true); } //------------------------------------------------------------------------------------------------------------------------------ core_rpc_server::core_rpc_server( @@ -117,7 +114,7 @@ namespace cryptonote m_restricted = restricted; m_net_server.set_threads_prefix("RPC"); - auto rpc_config = cryptonote::rpc_args::process(vm); + auto rpc_config = cryptonote::rpc_args::process(vm, true); if (!rpc_config) return false; @@ -150,38 +147,9 @@ namespace cryptonote if (rpc_config->login) http_login.emplace(std::move(rpc_config->login->username), std::move(rpc_config->login->password).password()); - epee::net_utils::ssl_options_t ssl_options = epee::net_utils::ssl_support_t::e_ssl_support_autodetect; - if (command_line::get_arg(vm, arg_rpc_ssl_allow_any_cert)) - ssl_options.verification = epee::net_utils::ssl_verification_t::none; - else - { - std::string ssl_ca_path = command_line::get_arg(vm, arg_rpc_ssl_ca_certificates); - const std::vector<std::string> ssl_allowed_fingerprint_strings = command_line::get_arg(vm, arg_rpc_ssl_allowed_fingerprints); - std::vector<std::vector<uint8_t>> ssl_allowed_fingerprints{ ssl_allowed_fingerprint_strings.size() }; - std::transform(ssl_allowed_fingerprint_strings.begin(), ssl_allowed_fingerprint_strings.end(), ssl_allowed_fingerprints.begin(), epee::from_hex::vector); - - if (!ssl_ca_path.empty() || !ssl_allowed_fingerprints.empty()) - ssl_options = epee::net_utils::ssl_options_t{std::move(ssl_allowed_fingerprints), std::move(ssl_ca_path)}; - } - - ssl_options.auth = epee::net_utils::ssl_authentication_t{ - command_line::get_arg(vm, arg_rpc_ssl_private_key), command_line::get_arg(vm, arg_rpc_ssl_certificate) - }; - - // user specified CA file or fingeprints implies enabled SSL by default - if (ssl_options.verification != epee::net_utils::ssl_verification_t::user_certificates || !command_line::is_arg_defaulted(vm, arg_rpc_ssl)) - { - const std::string ssl = command_line::get_arg(vm, arg_rpc_ssl); - if (!epee::net_utils::ssl_support_from_string(ssl_options.support, ssl)) - { - MFATAL("Invalid RPC SSL support: " << ssl); - return false; - } - } - auto rng = [](size_t len, uint8_t *ptr){ return crypto::rand(len, ptr); }; return epee::http_server_impl_base<core_rpc_server, connection_context>::init( - rng, std::move(port), std::move(rpc_config->bind_ip), std::move(rpc_config->access_control_origins), std::move(http_login), std::move(ssl_options) + rng, std::move(port), std::move(rpc_config->bind_ip), std::move(rpc_config->access_control_origins), std::move(http_login), std::move(rpc_config->ssl_options) ); } //------------------------------------------------------------------------------------------------------------------------------ @@ -852,6 +820,7 @@ namespace cryptonote res.sanity_check_failed = true; return true; } + res.sanity_check_failed = false; cryptonote_connection_context fake_context = AUTO_VAL_INIT(fake_context); tx_verification_context tvc = AUTO_VAL_INIT(tvc); @@ -939,16 +908,13 @@ namespace cryptonote return true; } - boost::thread::attributes attrs; - attrs.set_stack_size(THREAD_STACK_SIZE); - cryptonote::miner &miner= m_core.get_miner(); if (miner.is_mining()) { res.status = "Already mining"; return true; } - if(!miner.start(info.address, static_cast<size_t>(req.threads_count), attrs, req.do_background_mining, req.ignore_battery)) + if(!miner.start(info.address, static_cast<size_t>(req.threads_count), req.do_background_mining, req.ignore_battery)) { res.status = "Failed, mining not started"; LOG_PRINT_L0(res.status); @@ -1806,20 +1772,60 @@ namespace cryptonote PERF_TIMER(on_get_bans); auto now = time(nullptr); - std::map<std::string, time_t> blocked_hosts = m_p2p.get_blocked_hosts(); - for (std::map<std::string, time_t>::const_iterator i = blocked_hosts.begin(); i != blocked_hosts.end(); ++i) + std::map<epee::net_utils::network_address, time_t> blocked_hosts = m_p2p.get_blocked_hosts(); + for (std::map<epee::net_utils::network_address, time_t>::const_iterator i = blocked_hosts.begin(); i != blocked_hosts.end(); ++i) { if (i->second > now) { COMMAND_RPC_GETBANS::ban b; - b.host = i->first; + b.host = i->first.host_str(); b.ip = 0; uint32_t ip; - if (epee::string_tools::get_ip_int32_from_string(ip, i->first)) + if (epee::string_tools::get_ip_int32_from_string(ip, b.host)) b.ip = ip; b.seconds = i->second - now; res.bans.push_back(b); } } + std::map<epee::net_utils::ipv4_network_subnet, time_t> blocked_subnets = m_p2p.get_blocked_subnets(); + for (std::map<epee::net_utils::ipv4_network_subnet, time_t>::const_iterator i = blocked_subnets.begin(); i != blocked_subnets.end(); ++i) + { + if (i->second > now) { + COMMAND_RPC_GETBANS::ban b; + b.host = i->first.host_str(); + b.ip = 0; + b.seconds = i->second - now; + res.bans.push_back(b); + } + } + + res.status = CORE_RPC_STATUS_OK; + return true; + } + //------------------------------------------------------------------------------------------------------------------------------ + bool core_rpc_server::on_banned(const COMMAND_RPC_BANNED::request& req, COMMAND_RPC_BANNED::response& res, epee::json_rpc::error& error_resp, const connection_context *ctx) + { + PERF_TIMER(on_banned); + + auto na_parsed = net::get_network_address(req.address, 0); + if (!na_parsed) + { + error_resp.code = CORE_RPC_ERROR_CODE_WRONG_PARAM; + error_resp.message = "Unsupported host type"; + return false; + } + epee::net_utils::network_address na = std::move(*na_parsed); + + time_t seconds; + if (m_p2p.is_host_blocked(na, &seconds)) + { + res.banned = true; + res.seconds = seconds; + } + else + { + res.banned = false; + res.seconds = 0; + } res.status = CORE_RPC_STATUS_OK; return true; @@ -1832,13 +1838,29 @@ namespace cryptonote for (auto i = req.bans.begin(); i != req.bans.end(); ++i) { epee::net_utils::network_address na; + + // try subnet first + if (!i->host.empty()) + { + auto ns_parsed = net::get_ipv4_subnet_address(i->host); + if (ns_parsed) + { + if (i->ban) + m_p2p.block_subnet(*ns_parsed, i->seconds); + else + m_p2p.unblock_subnet(*ns_parsed); + continue; + } + } + + // then host if (!i->host.empty()) { auto na_parsed = net::get_network_address(i->host, 0); if (!na_parsed) { error_resp.code = CORE_RPC_ERROR_CODE_WRONG_PARAM; - error_resp.message = "Unsupported host type"; + error_resp.message = "Unsupported host/subnet type"; return false; } na = std::move(*na_parsed); @@ -1919,6 +1941,13 @@ namespace cryptonote if (use_bootstrap_daemon_if_necessary<COMMAND_RPC_GET_OUTPUT_HISTOGRAM>(invoke_http_mode::JON_RPC, "get_output_histogram", req, res, r)) return r; + const bool restricted = m_restricted && ctx; + if (restricted && req.recent_cutoff > 0 && req.recent_cutoff < (uint64_t)time(NULL) - OUTPUT_HISTOGRAM_RECENT_CUTOFF_RESTRICTION) + { + res.status = "Recent cutoff is too old"; + return true; + } + std::map<uint64_t, std::tuple<uint64_t, uint64_t, uint64_t>> histogram; try { @@ -2098,6 +2127,13 @@ namespace cryptonote bool core_rpc_server::on_update(const COMMAND_RPC_UPDATE::request& req, COMMAND_RPC_UPDATE::response& res, const connection_context *ctx) { PERF_TIMER(on_update); + + if (m_core.offline()) + { + res.status = "Daemon is running offline"; + return true; + } + static const char software[] = "monero"; #ifdef BUILD_TAG static const char buildtag[] = BOOST_PP_STRINGIZE(BUILD_TAG); @@ -2308,7 +2344,7 @@ namespace cryptonote const uint64_t req_to_height = req.to_height ? req.to_height : (m_core.get_current_blockchain_height() - 1); for (uint64_t amount: req.amounts) { - auto data = rpc::RpcHandler::get_output_distribution([this](uint64_t amount, uint64_t from, uint64_t to, uint64_t &start_height, std::vector<uint64_t> &distribution, uint64_t &base) { return m_core.get_output_distribution(amount, from, to, start_height, distribution, base); }, amount, req.from_height, req_to_height, req.cumulative); + auto data = rpc::RpcHandler::get_output_distribution([this](uint64_t amount, uint64_t from, uint64_t to, uint64_t &start_height, std::vector<uint64_t> &distribution, uint64_t &base) { return m_core.get_output_distribution(amount, from, to, start_height, distribution, base); }, amount, req.from_height, req_to_height, [this](uint64_t height) { return m_core.get_blockchain_storage().get_db().get_block_hash_from_height(height); }, req.cumulative, m_core.get_current_blockchain_height()); if (!data) { error_resp.code = CORE_RPC_ERROR_CODE_INTERNAL_ERROR; @@ -2351,7 +2387,7 @@ namespace cryptonote const uint64_t req_to_height = req.to_height ? req.to_height : (m_core.get_current_blockchain_height() - 1); for (uint64_t amount: req.amounts) { - auto data = rpc::RpcHandler::get_output_distribution([this](uint64_t amount, uint64_t from, uint64_t to, uint64_t &start_height, std::vector<uint64_t> &distribution, uint64_t &base) { return m_core.get_output_distribution(amount, from, to, start_height, distribution, base); }, amount, req.from_height, req_to_height, req.cumulative); + auto data = rpc::RpcHandler::get_output_distribution([this](uint64_t amount, uint64_t from, uint64_t to, uint64_t &start_height, std::vector<uint64_t> &distribution, uint64_t &base) { return m_core.get_output_distribution(amount, from, to, start_height, distribution, base); }, amount, req.from_height, req_to_height, [this](uint64_t height) { return m_core.get_blockchain_storage().get_db().get_block_hash_from_height(height); }, req.cumulative, m_core.get_current_blockchain_height()); if (!data) { res.status = "Failed to get output distribution"; @@ -2423,40 +2459,6 @@ namespace cryptonote , false }; - const command_line::arg_descriptor<std::string> core_rpc_server::arg_rpc_ssl = { - "rpc-ssl" - , "Enable SSL on RPC connections: enabled|disabled|autodetect" - , "autodetect" - }; - - const command_line::arg_descriptor<std::string> core_rpc_server::arg_rpc_ssl_private_key = { - "rpc-ssl-private-key" - , "Path to a PEM format private key" - , "" - }; - - const command_line::arg_descriptor<std::string> core_rpc_server::arg_rpc_ssl_certificate = { - "rpc-ssl-certificate" - , "Path to a PEM format certificate" - , "" - }; - - const command_line::arg_descriptor<std::string> core_rpc_server::arg_rpc_ssl_ca_certificates = { - "rpc-ssl-ca-certificates" - , "Path to file containing concatenated PEM format certificate(s) to replace system CA(s)." - }; - - const command_line::arg_descriptor<std::vector<std::string>> core_rpc_server::arg_rpc_ssl_allowed_fingerprints = { - "rpc-ssl-allowed-fingerprints" - , "List of certificate fingerprints to allow" - }; - - const command_line::arg_descriptor<bool> core_rpc_server::arg_rpc_ssl_allow_any_cert = { - "rpc-ssl-allow-any-cert" - , "Allow any peer certificate" - , false - }; - const command_line::arg_descriptor<std::string> core_rpc_server::arg_bootstrap_daemon_address = { "bootstrap-daemon-address" , "URL of a 'bootstrap' remote daemon that the connected wallets can use while this daemon is still not fully synced" diff --git a/src/rpc/core_rpc_server.h b/src/rpc/core_rpc_server.h index e4683bbe2..266661fb0 100644 --- a/src/rpc/core_rpc_server.h +++ b/src/rpc/core_rpc_server.h @@ -154,6 +154,7 @@ namespace cryptonote MAP_JON_RPC_WE("hard_fork_info", on_hard_fork_info, COMMAND_RPC_HARD_FORK_INFO) MAP_JON_RPC_WE_IF("set_bans", on_set_bans, COMMAND_RPC_SETBANS, !m_restricted) MAP_JON_RPC_WE_IF("get_bans", on_get_bans, COMMAND_RPC_GETBANS, !m_restricted) + MAP_JON_RPC_WE_IF("banned", on_banned, COMMAND_RPC_BANNED, !m_restricted) MAP_JON_RPC_WE_IF("flush_txpool", on_flush_txpool, COMMAND_RPC_FLUSH_TRANSACTION_POOL, !m_restricted) MAP_JON_RPC_WE("get_output_histogram", on_get_output_histogram, COMMAND_RPC_GET_OUTPUT_HISTOGRAM) MAP_JON_RPC_WE("get_version", on_get_version, COMMAND_RPC_GET_VERSION) @@ -220,6 +221,7 @@ namespace cryptonote bool on_hard_fork_info(const COMMAND_RPC_HARD_FORK_INFO::request& req, COMMAND_RPC_HARD_FORK_INFO::response& res, epee::json_rpc::error& error_resp, const connection_context *ctx = NULL); bool on_set_bans(const COMMAND_RPC_SETBANS::request& req, COMMAND_RPC_SETBANS::response& res, epee::json_rpc::error& error_resp, const connection_context *ctx = NULL); bool on_get_bans(const COMMAND_RPC_GETBANS::request& req, COMMAND_RPC_GETBANS::response& res, epee::json_rpc::error& error_resp, const connection_context *ctx = NULL); + bool on_banned(const COMMAND_RPC_BANNED::request& req, COMMAND_RPC_BANNED::response& res, epee::json_rpc::error& error_resp, const connection_context *ctx = NULL); bool on_flush_txpool(const COMMAND_RPC_FLUSH_TRANSACTION_POOL::request& req, COMMAND_RPC_FLUSH_TRANSACTION_POOL::response& res, epee::json_rpc::error& error_resp, const connection_context *ctx = NULL); bool on_get_output_histogram(const COMMAND_RPC_GET_OUTPUT_HISTOGRAM::request& req, COMMAND_RPC_GET_OUTPUT_HISTOGRAM::response& res, epee::json_rpc::error& error_resp, const connection_context *ctx = NULL); bool on_get_version(const COMMAND_RPC_GET_VERSION::request& req, COMMAND_RPC_GET_VERSION::response& res, epee::json_rpc::error& error_resp, const connection_context *ctx = NULL); diff --git a/src/rpc/core_rpc_server_commands_defs.h b/src/rpc/core_rpc_server_commands_defs.h index cfe4bbf23..a78faf5aa 100644 --- a/src/rpc/core_rpc_server_commands_defs.h +++ b/src/rpc/core_rpc_server_commands_defs.h @@ -84,7 +84,7 @@ namespace cryptonote // advance which version they will stop working with // Don't go over 32767 for any of these #define CORE_RPC_VERSION_MAJOR 2 -#define CORE_RPC_VERSION_MINOR 6 +#define CORE_RPC_VERSION_MINOR 7 #define MAKE_CORE_RPC_VERSION(major,minor) (((major)<<16)|(minor)) #define CORE_RPC_VERSION MAKE_CORE_RPC_VERSION(CORE_RPC_VERSION_MAJOR, CORE_RPC_VERSION_MINOR) @@ -1876,6 +1876,33 @@ namespace cryptonote typedef epee::misc_utils::struct_init<response_t> response; }; + struct COMMAND_RPC_BANNED + { + struct request_t + { + std::string address; + + BEGIN_KV_SERIALIZE_MAP() + KV_SERIALIZE(address) + END_KV_SERIALIZE_MAP() + }; + typedef epee::misc_utils::struct_init<request_t> request; + + struct response_t + { + std::string status; + bool banned; + uint32_t seconds; + + BEGIN_KV_SERIALIZE_MAP() + KV_SERIALIZE(status) + KV_SERIALIZE(banned) + KV_SERIALIZE(seconds) + END_KV_SERIALIZE_MAP() + }; + typedef epee::misc_utils::struct_init<response_t> response; + }; + struct COMMAND_RPC_FLUSH_TRANSACTION_POOL { struct request_t diff --git a/src/rpc/daemon_handler.cpp b/src/rpc/daemon_handler.cpp index 7c8953930..612b2cab6 100644 --- a/src/rpc/daemon_handler.cpp +++ b/src/rpc/daemon_handler.cpp @@ -408,10 +408,7 @@ namespace rpc return; } - boost::thread::attributes attrs; - attrs.set_stack_size(THREAD_STACK_SIZE); - - if(!m_core.get_miner().start(info.address, static_cast<size_t>(req.threads_count), attrs, req.do_background_mining, req.ignore_battery)) + if(!m_core.get_miner().start(info.address, static_cast<size_t>(req.threads_count), req.do_background_mining, req.ignore_battery)) { res.error_details = "Failed, mining not started"; LOG_PRINT_L0(res.error_details); @@ -437,7 +434,7 @@ namespace rpc auto& chain = m_core.get_blockchain_storage(); res.info.wide_difficulty = chain.get_difficulty_for_next_block(); - res.info.difficulty = (res.info.wide_difficulty << 64 >> 64).convert_to<uint64_t>(); + res.info.difficulty = (res.info.wide_difficulty & 0xffffffffffffffff).convert_to<uint64_t>(); res.info.target = chain.get_difficulty_target(); @@ -459,7 +456,7 @@ namespace rpc res.info.testnet = m_core.get_nettype() == TESTNET; res.info.stagenet = m_core.get_nettype() == STAGENET; res.info.wide_cumulative_difficulty = m_core.get_blockchain_storage().get_db().get_block_cumulative_difficulty(res.info.height - 1); - res.info.cumulative_difficulty = (res.info.wide_cumulative_difficulty << 64 >> 64).convert_to<uint64_t>(); + res.info.cumulative_difficulty = (res.info.wide_cumulative_difficulty & 0xffffffffffffffff).convert_to<uint64_t>(); res.info.block_size_limit = res.info.block_weight_limit = m_core.get_blockchain_storage().get_current_cumulative_block_weight_limit(); res.info.block_size_median = res.info.block_weight_median = m_core.get_blockchain_storage().get_current_cumulative_block_weight_median(); res.info.start_time = (uint64_t)m_core.get_start_time(); @@ -778,7 +775,7 @@ namespace rpc const uint64_t req_to_height = req.to_height ? req.to_height : (m_core.get_current_blockchain_height() - 1); for (std::uint64_t amount : req.amounts) { - auto data = rpc::RpcHandler::get_output_distribution([this](uint64_t amount, uint64_t from, uint64_t to, uint64_t &start_height, std::vector<uint64_t> &distribution, uint64_t &base) { return m_core.get_output_distribution(amount, from, to, start_height, distribution, base); }, amount, req.from_height, req_to_height, req.cumulative); + auto data = rpc::RpcHandler::get_output_distribution([this](uint64_t amount, uint64_t from, uint64_t to, uint64_t &start_height, std::vector<uint64_t> &distribution, uint64_t &base) { return m_core.get_output_distribution(amount, from, to, start_height, distribution, base); }, amount, req.from_height, req_to_height, [this](uint64_t height) { return m_core.get_blockchain_storage().get_db().get_block_hash_from_height(height); }, req.cumulative, m_core.get_current_blockchain_height()); if (!data) { res.distributions.clear(); @@ -829,7 +826,7 @@ namespace rpc } header.wide_difficulty = m_core.get_blockchain_storage().block_difficulty(header.height); - header.difficulty = (header.wide_difficulty << 64 >> 64).convert_to<uint64_t>(); + header.difficulty = (header.wide_difficulty & 0xffffffffffffffff).convert_to<uint64_t>(); return true; } diff --git a/src/rpc/rpc_args.cpp b/src/rpc/rpc_args.cpp index f2be94f51..4479bd1f1 100644 --- a/src/rpc/rpc_args.cpp +++ b/src/rpc/rpc_args.cpp @@ -33,28 +33,95 @@ #include <boost/bind.hpp> #include "common/command_line.h" #include "common/i18n.h" +#include "hex.h" namespace cryptonote { + namespace + { + boost::optional<epee::net_utils::ssl_options_t> do_process_ssl(const boost::program_options::variables_map& vm, const rpc_args::descriptors& arg, const bool any_cert_option) + { + bool ssl_required = false; + epee::net_utils::ssl_options_t ssl_options = epee::net_utils::ssl_support_t::e_ssl_support_enabled; + if (any_cert_option && command_line::get_arg(vm, arg.rpc_ssl_allow_any_cert)) + ssl_options.verification = epee::net_utils::ssl_verification_t::none; + else + { + std::string ssl_ca_file = command_line::get_arg(vm, arg.rpc_ssl_ca_certificates); + const std::vector<std::string> ssl_allowed_fingerprints = command_line::get_arg(vm, arg.rpc_ssl_allowed_fingerprints); + + std::vector<std::vector<uint8_t>> allowed_fingerprints{ ssl_allowed_fingerprints.size() }; + std::transform(ssl_allowed_fingerprints.begin(), ssl_allowed_fingerprints.end(), allowed_fingerprints.begin(), epee::from_hex::vector); + for (const auto &fpr: allowed_fingerprints) + { + if (fpr.size() != SSL_FINGERPRINT_SIZE) + { + MERROR("SHA-256 fingerprint should be " BOOST_PP_STRINGIZE(SSL_FINGERPRINT_SIZE) " bytes long."); + return boost::none; + } + } + + if (!allowed_fingerprints.empty() || !ssl_ca_file.empty()) + { + ssl_required = true; + ssl_options = epee::net_utils::ssl_options_t{ + std::move(allowed_fingerprints), std::move(ssl_ca_file) + }; + + if (command_line::get_arg(vm, arg.rpc_ssl_allow_chained)) + ssl_options.verification = epee::net_utils::ssl_verification_t::user_ca; + } + } + + // user specified CA file or fingeprints implies enabled SSL by default + if (!ssl_required && !epee::net_utils::ssl_support_from_string(ssl_options.support, command_line::get_arg(vm, arg.rpc_ssl))) + { + MERROR("Invalid argument for " << std::string(arg.rpc_ssl.name)); + return boost::none; + } + + ssl_options.auth = epee::net_utils::ssl_authentication_t{ + command_line::get_arg(vm, arg.rpc_ssl_private_key), command_line::get_arg(vm, arg.rpc_ssl_certificate) + }; + + return {std::move(ssl_options)}; + } + } // anonymous + rpc_args::descriptors::descriptors() : rpc_bind_ip({"rpc-bind-ip", rpc_args::tr("Specify IP to bind RPC server"), "127.0.0.1"}) , rpc_login({"rpc-login", rpc_args::tr("Specify username[:password] required for RPC server"), "", true}) , confirm_external_bind({"confirm-external-bind", rpc_args::tr("Confirm rpc-bind-ip value is NOT a loopback (local) IP")}) , rpc_access_control_origins({"rpc-access-control-origins", rpc_args::tr("Specify a comma separated list of origins to allow cross origin resource sharing"), ""}) + , rpc_ssl({"rpc-ssl", rpc_args::tr("Enable SSL on RPC connections: enabled|disabled|autodetect"), "autodetect"}) + , rpc_ssl_private_key({"rpc-ssl-private-key", rpc_args::tr("Path to a PEM format private key"), ""}) + , rpc_ssl_certificate({"rpc-ssl-certificate", rpc_args::tr("Path to a PEM format certificate"), ""}) + , rpc_ssl_ca_certificates({"rpc-ssl-ca-certificates", rpc_args::tr("Path to file containing concatenated PEM format certificate(s) to replace system CA(s)."), ""}) + , rpc_ssl_allowed_fingerprints({"rpc-ssl-allowed-fingerprints", rpc_args::tr("List of certificate fingerprints to allow")}) + , rpc_ssl_allow_chained({"rpc-ssl-allow-chained", rpc_args::tr("Allow user (via --rpc-ssl-certificates) chain certificates"), false}) + , rpc_ssl_allow_any_cert({"rpc-ssl-allow-any-cert", rpc_args::tr("Allow any peer certificate"), false}) {} const char* rpc_args::tr(const char* str) { return i18n_translate(str, "cryptonote::rpc_args"); } - void rpc_args::init_options(boost::program_options::options_description& desc) + void rpc_args::init_options(boost::program_options::options_description& desc, const bool any_cert_option) { const descriptors arg{}; command_line::add_arg(desc, arg.rpc_bind_ip); command_line::add_arg(desc, arg.rpc_login); command_line::add_arg(desc, arg.confirm_external_bind); command_line::add_arg(desc, arg.rpc_access_control_origins); + command_line::add_arg(desc, arg.rpc_ssl); + command_line::add_arg(desc, arg.rpc_ssl_private_key); + command_line::add_arg(desc, arg.rpc_ssl_certificate); + command_line::add_arg(desc, arg.rpc_ssl_ca_certificates); + command_line::add_arg(desc, arg.rpc_ssl_allowed_fingerprints); + command_line::add_arg(desc, arg.rpc_ssl_allow_chained); + if (any_cert_option) + command_line::add_arg(desc, arg.rpc_ssl_allow_any_cert); } - boost::optional<rpc_args> rpc_args::process(const boost::program_options::variables_map& vm) + boost::optional<rpc_args> rpc_args::process(const boost::program_options::variables_map& vm, const bool any_cert_option) { const descriptors arg{}; rpc_args config{}; @@ -118,6 +185,17 @@ namespace cryptonote config.access_control_origins = std::move(access_control_origins); } + auto ssl_options = do_process_ssl(vm, arg, any_cert_option); + if (!ssl_options) + return boost::none; + config.ssl_options = std::move(*ssl_options); + return {std::move(config)}; } + + boost::optional<epee::net_utils::ssl_options_t> rpc_args::process_ssl(const boost::program_options::variables_map& vm, const bool any_cert_option) + { + const descriptors arg{}; + return do_process_ssl(vm, arg, any_cert_option); + } } diff --git a/src/rpc/rpc_args.h b/src/rpc/rpc_args.h index 216ba3712..619f02b42 100644 --- a/src/rpc/rpc_args.h +++ b/src/rpc/rpc_args.h @@ -35,6 +35,7 @@ #include "common/command_line.h" #include "common/password.h" +#include "net/net_ssl.h" namespace cryptonote { @@ -54,16 +55,29 @@ namespace cryptonote const command_line::arg_descriptor<std::string> rpc_login; const command_line::arg_descriptor<bool> confirm_external_bind; const command_line::arg_descriptor<std::string> rpc_access_control_origins; + const command_line::arg_descriptor<std::string> rpc_ssl; + const command_line::arg_descriptor<std::string> rpc_ssl_private_key; + const command_line::arg_descriptor<std::string> rpc_ssl_certificate; + const command_line::arg_descriptor<std::string> rpc_ssl_ca_certificates; + const command_line::arg_descriptor<std::vector<std::string>> rpc_ssl_allowed_fingerprints; + const command_line::arg_descriptor<bool> rpc_ssl_allow_chained; + const command_line::arg_descriptor<bool> rpc_ssl_allow_any_cert; }; + // `allow_any_cert` bool toggles `--rpc-ssl-allow-any-cert` configuration + static const char* tr(const char* str); - static void init_options(boost::program_options::options_description& desc); + static void init_options(boost::program_options::options_description& desc, const bool any_cert_option = false); //! \return Arguments specified by user, or `boost::none` if error - static boost::optional<rpc_args> process(const boost::program_options::variables_map& vm); + static boost::optional<rpc_args> process(const boost::program_options::variables_map& vm, const bool any_cert_option = false); + + //! \return SSL arguments specified by user, or `boost::none` if error + static boost::optional<epee::net_utils::ssl_options_t> process_ssl(const boost::program_options::variables_map& vm, const bool any_cert_option = false); std::string bind_ip; std::vector<std::string> access_control_origins; boost::optional<tools::login> login; // currently `boost::none` if unspecified by user + epee::net_utils::ssl_options_t ssl_options = epee::net_utils::ssl_support_t::e_ssl_support_enabled; }; } diff --git a/src/rpc/rpc_handler.cpp b/src/rpc/rpc_handler.cpp index e0a81c70f..af5cb98a3 100644 --- a/src/rpc/rpc_handler.cpp +++ b/src/rpc/rpc_handler.cpp @@ -26,26 +26,49 @@ namespace rpc } boost::optional<output_distribution_data> - RpcHandler::get_output_distribution(const std::function<bool(uint64_t, uint64_t, uint64_t, uint64_t&, std::vector<uint64_t>&, uint64_t&)> &f, uint64_t amount, uint64_t from_height, uint64_t to_height, bool cumulative) + RpcHandler::get_output_distribution(const std::function<bool(uint64_t, uint64_t, uint64_t, uint64_t&, std::vector<uint64_t>&, uint64_t&)> &f, uint64_t amount, uint64_t from_height, uint64_t to_height, const std::function<crypto::hash(uint64_t)> &get_hash, bool cumulative, uint64_t blockchain_height) { static struct D { boost::mutex mutex; std::vector<std::uint64_t> cached_distribution; std::uint64_t cached_from, cached_to, cached_start_height, cached_base; + crypto::hash cached_m10_hash; + crypto::hash cached_top_hash; bool cached; - D(): cached_from(0), cached_to(0), cached_start_height(0), cached_base(0), cached(false) {} + D(): cached_from(0), cached_to(0), cached_start_height(0), cached_base(0), cached_m10_hash(crypto::null_hash), cached_top_hash(crypto::null_hash), cached(false) {} } d; const boost::unique_lock<boost::mutex> lock(d.mutex); - if (d.cached && amount == 0 && d.cached_from == from_height && d.cached_to == to_height) + crypto::hash top_hash = crypto::null_hash; + if (d.cached_to < blockchain_height) + top_hash = get_hash(d.cached_to); + if (d.cached && amount == 0 && d.cached_from == from_height && d.cached_to == to_height && d.cached_top_hash == top_hash) return process_distribution(cumulative, d.cached_start_height, d.cached_distribution, d.cached_base); std::vector<std::uint64_t> distribution; std::uint64_t start_height, base; // see if we can extend the cache - a common case - if (d.cached && amount == 0 && d.cached_from == from_height && to_height > d.cached_to) + bool can_extend = d.cached && amount == 0 && d.cached_from == from_height && to_height > d.cached_to && top_hash == d.cached_top_hash; + if (!can_extend) + { + // we kept track of the hash 10 blocks below, if it exists, so if it matches, + // we can still pop the last 10 cached slots and try again + if (d.cached && amount == 0 && d.cached_from == from_height && d.cached_to - d.cached_from >= 10 && to_height > d.cached_to - 10) + { + crypto::hash hash10 = get_hash(d.cached_to - 10); + if (hash10 == d.cached_m10_hash) + { + d.cached_to -= 10; + d.cached_top_hash = hash10; + d.cached_m10_hash = crypto::null_hash; + d.cached_distribution.resize(d.cached_distribution.size() - 10); + can_extend = true; + } + } + } + if (can_extend) { std::vector<std::uint64_t> new_distribution; if (!f(amount, d.cached_to + 1, to_height, start_height, new_distribution, base)) @@ -74,6 +97,8 @@ namespace rpc { d.cached_from = from_height; d.cached_to = to_height; + d.cached_top_hash = get_hash(d.cached_to); + d.cached_m10_hash = d.cached_to >= 10 ? get_hash(d.cached_to - 10) : crypto::null_hash; d.cached_distribution = distribution; d.cached_start_height = start_height; d.cached_base = base; diff --git a/src/rpc/rpc_handler.h b/src/rpc/rpc_handler.h index 2439eaa58..b81983d28 100644 --- a/src/rpc/rpc_handler.h +++ b/src/rpc/rpc_handler.h @@ -32,6 +32,7 @@ #include <cstdint> #include <string> #include <vector> +#include "crypto/hash.h" namespace cryptonote { @@ -56,7 +57,7 @@ class RpcHandler virtual std::string handle(const std::string& request) = 0; static boost::optional<output_distribution_data> - get_output_distribution(const std::function<bool(uint64_t, uint64_t, uint64_t, uint64_t&, std::vector<uint64_t>&, uint64_t&)> &f, uint64_t amount, uint64_t from_height, uint64_t to_height, bool cumulative); + get_output_distribution(const std::function<bool(uint64_t, uint64_t, uint64_t, uint64_t&, std::vector<uint64_t>&, uint64_t&)> &f, uint64_t amount, uint64_t from_height, uint64_t to_height, const std::function<crypto::hash(uint64_t)> &get_hash, bool cumulative, uint64_t blockchain_height); }; diff --git a/src/serialization/binary_archive.h b/src/serialization/binary_archive.h index a0e4eff9d..9f60cf311 100644 --- a/src/serialization/binary_archive.h +++ b/src/serialization/binary_archive.h @@ -146,7 +146,8 @@ struct binary_archive<false> : public binary_archive_base<std::istream, false> void serialize_uvarint(T &v) { typedef std::istreambuf_iterator<char> it; - tools::read_varint(it(stream_), it(), v); // XXX handle failure + if (tools::read_varint(it(stream_), it(), v) < 0) + stream_.setstate(std::ios_base::failbit); } void begin_array(size_t &s) diff --git a/src/serialization/difficulty_type.h b/src/serialization/difficulty_type.h index e32e24b78..c551095f9 100644 --- a/src/serialization/difficulty_type.h +++ b/src/serialization/difficulty_type.h @@ -54,8 +54,8 @@ inline bool do_serialize(Archive<true>& ar, cryptonote::difficulty_type &diff) { if (!ar.stream().good()) return false; - const uint64_t hi = (diff >> 64).convert_to<uint64_t>(); - const uint64_t lo = (diff << 64 >> 64).convert_to<uint64_t>(); + const uint64_t hi = ((diff >> 64) & 0xffffffffffffffff).convert_to<uint64_t>(); + const uint64_t lo = (diff & 0xffffffffffffffff).convert_to<uint64_t>(); ar.serialize_varint(hi); ar.serialize_varint(lo); if (!ar.stream().good()) diff --git a/src/serialization/serialization.h b/src/serialization/serialization.h index 007bf265f..553e9951f 100644 --- a/src/serialization/serialization.h +++ b/src/serialization/serialization.h @@ -212,7 +212,7 @@ inline bool do_serialize(Archive &ar, bool &v) * \brief self-explanatory */ #define END_SERIALIZE() \ - return true; \ + return ar.stream().good(); \ } /*! \macro VALUE(f) diff --git a/src/simplewallet/simplewallet.cpp b/src/simplewallet/simplewallet.cpp index 5c336a201..e8b203d9d 100644 --- a/src/simplewallet/simplewallet.cpp +++ b/src/simplewallet/simplewallet.cpp @@ -4936,7 +4936,7 @@ void simple_wallet::on_new_block(uint64_t height, const cryptonote::block& block m_refresh_progress_reporter.update(height, false); } //---------------------------------------------------------------------------------------------------- -void simple_wallet::on_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index) +void simple_wallet::on_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index, uint64_t unlock_time) { message_writer(console_color_green, false) << "\r" << tr("Height ") << height << ", " << @@ -4958,6 +4958,8 @@ void simple_wallet::on_money_received(uint64_t height, const crypto::hash &txid, (m_long_payment_id_support ? tr("WARNING: this transaction uses an unencrypted payment ID: consider using subaddresses instead.") : tr("WARNING: this transaction uses an unencrypted payment ID: these are obsolete. Support will be withdrawn in the future. Use subaddresses instead.")); } } + if (unlock_time) + message_writer() << tr("NOTE: This transaction is locked, see details with: show_transfer ") + epee::string_tools::pod_to_hex(txid); if (m_auto_refresh_refreshing) m_cmd_binder.print_prompt(); else @@ -5581,7 +5583,7 @@ bool simple_wallet::print_ring_members(const std::vector<tools::wallet2::pending if (j == source.real_output) highlight_height = heights[j]; } - std::pair<std::string, std::string> ring_str = show_outputs_line(heights, highlight_height); + std::pair<std::string, std::string> ring_str = show_outputs_line(heights, blockchain_height, highlight_height); ostr << ring_str.first << tr("\n|") << ring_str.second << tr("|\n"); } // warn if rings contain keys originating from the same tx or temporally very close block heights @@ -5959,12 +5961,14 @@ bool simple_wallet::transfer_main(int transfer_type, const std::vector<std::stri uint64_t total_fee = 0; uint64_t dust_not_in_fee = 0; uint64_t dust_in_fee = 0; + uint64_t change = 0; for (size_t n = 0; n < ptx_vector.size(); ++n) { total_fee += ptx_vector[n].fee; for (auto i: ptx_vector[n].selected_transfers) total_sent += m_wallet->get_transfer_details(i).amount(); total_sent -= ptx_vector[n].change_dts.amount + ptx_vector[n].fee; + change += ptx_vector[n].change_dts.amount; if (ptx_vector[n].dust_added_to_fee) dust_in_fee += ptx_vector[n].dust; @@ -6002,7 +6006,7 @@ bool simple_wallet::transfer_main(int transfer_type, const std::vector<std::stri if (transfer_type == TransferLocked) { float days = locked_blocks / 720.0f; - prompt << boost::format(tr(".\nThis transaction will unlock on block %llu, in approximately %s days (assuming 2 minutes per block)")) % ((unsigned long long)unlock_block) % days; + prompt << boost::format(tr(".\nThis transaction (including %s change) will unlock on block %llu, in approximately %s days (assuming 2 minutes per block)")) % cryptonote::print_money(change) % ((unsigned long long)unlock_block) % days; } if (m_wallet->print_ring_members()) { @@ -7735,6 +7739,8 @@ bool simple_wallet::get_transfers(std::vector<std::string>& local_args, std::vec local_args.erase(local_args.begin()); } + const uint64_t last_block_height = m_wallet->get_blockchain_current_height(); + if (in || coinbase) { std::list<std::pair<crypto::hash, tools::wallet2::payment_details>> payments; m_wallet->get_payments(payments, min_height, max_height, m_current_subaddress_account, subaddr_indices); @@ -7749,6 +7755,25 @@ bool simple_wallet::get_transfers(std::vector<std::string>& local_args, std::vec std::string destination = m_wallet->get_subaddress_as_str({m_current_subaddress_account, pd.m_subaddr_index.minor}); const std::string type = pd.m_coinbase ? tr("block") : tr("in"); const bool unlocked = m_wallet->is_transfer_unlocked(pd.m_unlock_time, pd.m_block_height); + std::string locked_msg = "unlocked"; + if (!unlocked) + { + locked_msg = "locked"; + const uint64_t unlock_time = pd.m_unlock_time; + if (pd.m_unlock_time < CRYPTONOTE_MAX_BLOCK_NUMBER) + { + uint64_t bh = std::max(pd.m_unlock_time, pd.m_block_height + CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE); + if (bh >= last_block_height) + locked_msg = std::to_string(bh - last_block_height) + " blks"; + } + else + { + uint64_t current_time = static_cast<uint64_t>(time(NULL)); + uint64_t threshold = current_time + (m_wallet->use_fork_rules(2, 0) ? CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_SECONDS_V2 : CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_SECONDS_V1); + if (threshold < pd.m_unlock_time) + locked_msg = get_human_readable_timespan(std::chrono::seconds(pd.m_unlock_time - threshold)); + } + } transfers.push_back({ type, pd.m_block_height, @@ -7762,7 +7787,7 @@ bool simple_wallet::get_transfers(std::vector<std::string>& local_args, std::vec {{destination, pd.m_amount}}, {pd.m_subaddr_index.minor}, note, - (unlocked) ? "unlocked" : "locked" + locked_msg }); } } diff --git a/src/simplewallet/simplewallet.h b/src/simplewallet/simplewallet.h index e47250ae4..4bf7fa334 100644 --- a/src/simplewallet/simplewallet.h +++ b/src/simplewallet/simplewallet.h @@ -311,7 +311,7 @@ namespace cryptonote //----------------- i_wallet2_callback --------------------- virtual void on_new_block(uint64_t height, const cryptonote::block& block); - virtual void on_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index); + virtual void on_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index, uint64_t unlock_time); virtual void on_unconfirmed_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index); virtual void on_money_spent(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& in_tx, uint64_t amount, const cryptonote::transaction& spend_tx, const cryptonote::subaddress_index& subaddr_index); virtual void on_skip_transaction(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx); diff --git a/src/version.cpp.in b/src/version.cpp.in index 8aaa41b19..28ce38df7 100644 --- a/src/version.cpp.in +++ b/src/version.cpp.in @@ -1,5 +1,5 @@ #define DEF_MONERO_VERSION_TAG "@VERSIONTAG@" -#define DEF_MONERO_VERSION "0.14.1.0" +#define DEF_MONERO_VERSION "0.14.1.2" #define DEF_MONERO_RELEASE_NAME "Boron Butterfly" #define DEF_MONERO_VERSION_FULL DEF_MONERO_VERSION "-" DEF_MONERO_VERSION_TAG diff --git a/src/wallet/api/wallet.cpp b/src/wallet/api/wallet.cpp index 032b873d6..1711db482 100644 --- a/src/wallet/api/wallet.cpp +++ b/src/wallet/api/wallet.cpp @@ -157,7 +157,7 @@ struct Wallet2CallbackImpl : public tools::i_wallet2_callback } } - virtual void on_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index) + virtual void on_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index, uint64_t unlock_time) { std::string tx_hash = epee::string_tools::pod_to_hex(txid); diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index a7da9395c..8f3f30da1 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -29,7 +29,6 @@ // Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers #include <numeric> -#include <random> #include <tuple> #include <boost/format.hpp> #include <boost/optional/optional.hpp> @@ -40,6 +39,7 @@ #include <boost/algorithm/string/join.hpp> #include <boost/asio/ip/address.hpp> #include <boost/range/adaptor/transformed.hpp> +#include <boost/preprocessor/stringize.hpp> #include "include_base_utils.h" using namespace epee; @@ -129,7 +129,11 @@ using namespace cryptonote; #define FIRST_REFRESH_GRANULARITY 1024 -#define GAMMA_PICK_HALF_WINDOW 5 +#define GAMMA_SHAPE 19.28 +#define GAMMA_SCALE (1/1.61) + +#define DEFAULT_MIN_OUTPUT_COUNT 5 +#define DEFAULT_MIN_OUTPUT_VALUE (2*COIN) static const std::string MULTISIG_SIGNATURE_MAGIC = "SigMultisigPkV1"; static const std::string MULTISIG_EXTRA_INFO_MAGIC = "MultisigxV1"; @@ -221,6 +225,8 @@ namespace add_reason(reason, "fee too low"); if (res.not_rct) add_reason(reason, "tx is not ringct"); + if (res.sanity_check_failed) + add_reason(reason, "tx sanity check failed"); if (res.not_relayed) add_reason(reason, "tx was not relayed"); return reason; @@ -338,6 +344,11 @@ std::unique_ptr<tools::wallet2> make_basic(const boost::program_options::variabl { std::vector<std::vector<uint8_t>> ssl_allowed_fingerprints{ daemon_ssl_allowed_fingerprints.size() }; std::transform(daemon_ssl_allowed_fingerprints.begin(), daemon_ssl_allowed_fingerprints.end(), ssl_allowed_fingerprints.begin(), epee::from_hex::vector); + for (const auto &fpr: ssl_allowed_fingerprints) + { + THROW_WALLET_EXCEPTION_IF(fpr.size() != SSL_FINGERPRINT_SIZE, tools::error::wallet_internal_error, + "SHA-256 fingerprint should be " BOOST_PP_STRINGIZE(SSL_FINGERPRINT_SIZE) " bytes long."); + } ssl_options = epee::net_utils::ssl_options_t{ std::move(ssl_allowed_fingerprints), std::move(daemon_ssl_ca_file) @@ -388,8 +399,11 @@ std::unique_ptr<tools::wallet2> make_basic(const boost::program_options::variabl { const boost::string_ref real_daemon = boost::string_ref{daemon_address}.substr(0, daemon_address.rfind(':')); + /* If SSL or proxy is enabled, then a specific cert, CA or fingerprint must + be specified. This is specific to the wallet. */ const bool verification_required = - ssl_options.support == epee::net_utils::ssl_support_t::e_ssl_support_enabled || use_proxy; + ssl_options.verification != epee::net_utils::ssl_verification_t::none && + (ssl_options.support == epee::net_utils::ssl_support_t::e_ssl_support_enabled || use_proxy); THROW_WALLET_EXCEPTION_IF( verification_required && !ssl_options.has_strong_verification(real_daemon), @@ -958,6 +972,44 @@ const size_t MAX_SPLIT_ATTEMPTS = 30; constexpr const std::chrono::seconds wallet2::rpc_timeout; const char* wallet2::tr(const char* str) { return i18n_translate(str, "tools::wallet2"); } +gamma_picker::gamma_picker(const std::vector<uint64_t> &rct_offsets, double shape, double scale): + rct_offsets(rct_offsets) +{ + gamma = std::gamma_distribution<double>(shape, scale); + THROW_WALLET_EXCEPTION_IF(rct_offsets.size() <= CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE, error::wallet_internal_error, "Bad offset calculation"); + const size_t blocks_in_a_year = 86400 * 365 / DIFFICULTY_TARGET_V2; + const size_t blocks_to_consider = std::min<size_t>(rct_offsets.size(), blocks_in_a_year); + const size_t outputs_to_consider = rct_offsets.back() - (blocks_to_consider < rct_offsets.size() ? rct_offsets[rct_offsets.size() - blocks_to_consider - 1] : 0); + begin = rct_offsets.data(); + end = rct_offsets.data() + rct_offsets.size() - CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE; + num_rct_outputs = *(end - 1); + THROW_WALLET_EXCEPTION_IF(num_rct_outputs == 0, error::wallet_internal_error, "No rct outputs"); + average_output_time = DIFFICULTY_TARGET_V2 * blocks_to_consider / outputs_to_consider; // this assumes constant target over the whole rct range +}; + +gamma_picker::gamma_picker(const std::vector<uint64_t> &rct_offsets): gamma_picker(rct_offsets, GAMMA_SHAPE, GAMMA_SCALE) {} + +uint64_t gamma_picker::pick() +{ + double x = gamma(engine); + x = exp(x); + uint64_t output_index = x / average_output_time; + if (output_index >= num_rct_outputs) + return std::numeric_limits<uint64_t>::max(); // bad pick + output_index = num_rct_outputs - 1 - output_index; + + const uint64_t *it = std::lower_bound(begin, end, output_index); + THROW_WALLET_EXCEPTION_IF(it == end, error::wallet_internal_error, "output_index not found"); + uint64_t index = std::distance(begin, it); + + const uint64_t first_rct = index == 0 ? 0 : rct_offsets[index - 1]; + const uint64_t n_rct = rct_offsets[index] - first_rct; + if (n_rct == 0) + return std::numeric_limits<uint64_t>::max(); // bad pick + MTRACE("Picking 1/" << n_rct << " in block " << index); + return first_rct + crypto::rand_idx(n_rct); +}; + wallet_keys_unlocker::wallet_keys_unlocker(wallet2 &w, const boost::optional<tools::password_container> &password): w(w), locked(password != boost::none) @@ -1967,7 +2019,7 @@ void wallet2::process_new_transaction(const crypto::hash &txid, const cryptonote } LOG_PRINT_L0("Received money: " << print_money(td.amount()) << ", with tx: " << txid); if (0 != m_callback) - m_callback->on_money_received(height, txid, tx, td.m_amount, td.m_subaddr_index); + m_callback->on_money_received(height, txid, tx, td.m_amount, td.m_subaddr_index, td.m_tx.unlock_time); } total_received_1 += amount; notify = true; @@ -2037,7 +2089,7 @@ void wallet2::process_new_transaction(const crypto::hash &txid, const cryptonote LOG_PRINT_L0("Received money: " << print_money(td.amount()) << ", with tx: " << txid); if (0 != m_callback) - m_callback->on_money_received(height, txid, tx, td.m_amount, td.m_subaddr_index); + m_callback->on_money_received(height, txid, tx, td.m_amount, td.m_subaddr_index, td.m_tx.unlock_time); } total_received_1 += extra_amount; notify = true; @@ -3091,6 +3143,7 @@ void wallet2::refresh(bool trusted_daemon, uint64_t start_height, uint64_t & blo } }); + auto scope_exit_handler_hwdev = epee::misc_utils::create_scope_leave_handler([&](){hwdev.computing_key_images(false);}); bool first = true; while(m_run.load(std::memory_order_relaxed)) { @@ -3216,7 +3269,6 @@ void wallet2::refresh(bool trusted_daemon, uint64_t start_height, uint64_t & blo LOG_PRINT_L1("Failed to check pending transactions"); } - hwdev.computing_key_images(false); m_first_refresh_done = true; LOG_PRINT_L1("Refresh done, blocks received: " << blocks_fetched << ", balance (all accounts): " << print_money(balance_all()) << ", unlocked: " << print_money(unlocked_balance_all())); @@ -7562,61 +7614,9 @@ void wallet2::get_outs(std::vector<std::vector<tools::wallet2::get_outs_entry>> COMMAND_RPC_GET_OUTPUTS_BIN::request req = AUTO_VAL_INIT(req); COMMAND_RPC_GET_OUTPUTS_BIN::response daemon_resp = AUTO_VAL_INIT(daemon_resp); - struct gamma_engine - { - typedef uint64_t result_type; - static constexpr result_type min() { return 0; } - static constexpr result_type max() { return std::numeric_limits<result_type>::max(); } - result_type operator()() { return crypto::rand<result_type>(); } - } engine; - static const double shape = 19.28/*16.94*/; - //static const double shape = m_testnet ? 17.02 : 17.28; - static const double scale = 1/1.61; - std::gamma_distribution<double> gamma(shape, scale); - THROW_WALLET_EXCEPTION_IF(rct_offsets.size() <= CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE, error::wallet_internal_error, "Bad offset calculation"); - uint64_t last_usable_block = rct_offsets.size() - 1; - auto pick_gamma = [&]() - { - double x = gamma(engine); - x = exp(x); - uint64_t block_offset = x / DIFFICULTY_TARGET_V2; // this assumes constant target over the whole rct range - if (block_offset > last_usable_block - CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE) - return std::numeric_limits<uint64_t>::max(); // bad pick - block_offset = last_usable_block - block_offset; - THROW_WALLET_EXCEPTION_IF(block_offset > last_usable_block, error::wallet_internal_error, "Bad offset calculation"); - THROW_WALLET_EXCEPTION_IF(block_offset > 0 && rct_offsets[block_offset] < rct_offsets[block_offset - 1], - error::get_output_distribution, "Decreasing offsets in rct distribution: " + - std::to_string(block_offset - 1) + ": " + std::to_string(rct_offsets[block_offset - 1]) + ", " + - std::to_string(block_offset) + ": " + std::to_string(rct_offsets[block_offset])); - uint64_t first_block_offset = block_offset, last_block_offset = block_offset; - for (size_t half_window = 0; half_window <= GAMMA_PICK_HALF_WINDOW; ++half_window) - { - // end when we have a non empty block - uint64_t cum0 = first_block_offset > 0 ? rct_offsets[first_block_offset] - rct_offsets[first_block_offset - 1] : rct_offsets[0]; - if (cum0 > 1) - break; - uint64_t cum1 = last_block_offset > 0 ? rct_offsets[last_block_offset] - rct_offsets[last_block_offset - 1] : rct_offsets[0]; - if (cum1 > 1) - break; - if (first_block_offset == 0 && last_block_offset >= last_usable_block) - break; - // expand up to bounds - if (first_block_offset > 0) - --first_block_offset; - else - return std::numeric_limits<uint64_t>::max(); // bad pick - if (last_block_offset < last_usable_block - CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE) - ++last_block_offset; - else - return std::numeric_limits<uint64_t>::max(); // bad pick - } - const uint64_t first_rct = first_block_offset == 0 ? 0 : rct_offsets[first_block_offset - 1]; - const uint64_t n_rct = rct_offsets[last_block_offset] - first_rct; - if (n_rct == 0) - return rct_offsets[block_offset] ? rct_offsets[block_offset] - 1 : 0; - MDEBUG("Picking 1/" << n_rct << " in " << (last_block_offset - first_block_offset + 1) << " blocks centered around " << block_offset + rct_start_height); - return first_rct + crypto::rand_idx(n_rct); - }; + std::unique_ptr<gamma_picker> gamma; + if (has_rct_distribution) + gamma.reset(new gamma_picker(rct_offsets)); size_t num_selected_transfers = 0; for(size_t idx: selected_transfers) @@ -7764,7 +7764,7 @@ void wallet2::get_outs(std::vector<std::vector<tools::wallet2::get_outs_entry>> } } - if (num_outs <= requested_outputs_count && !existing_ring_found) + if (num_outs <= requested_outputs_count) { for (uint64_t i = 0; i < num_outs; i++) req.outputs.push_back({amount, i}); @@ -7790,6 +7790,8 @@ void wallet2::get_outs(std::vector<std::vector<tools::wallet2::get_outs_entry>> // while we still need more mixins uint64_t num_usable_outs = num_outs; bool allow_blackballed = false; + MDEBUG("Starting gamma picking with " << num_outs << ", num_usable_outs " << num_usable_outs + << ", requested_outputs_count " << requested_outputs_count); while (num_found < requested_outputs_count) { // if we've gone through every possible output, we've gotten all we can @@ -7814,20 +7816,21 @@ void wallet2::get_outs(std::vector<std::vector<tools::wallet2::get_outs_entry>> const char *type = ""; if (amount == 0 && has_rct_distribution) { + THROW_WALLET_EXCEPTION_IF(!gamma, error::wallet_internal_error, "No gamma picker"); // gamma distribution if (num_found -1 < recent_outputs_count + pre_fork_outputs_count) { - do i = pick_gamma(); while (i >= segregation_limit[amount].first); + do i = gamma->pick(); while (i >= segregation_limit[amount].first); type = "pre-fork gamma"; } else if (num_found -1 < recent_outputs_count + pre_fork_outputs_count + post_fork_outputs_count) { - do i = pick_gamma(); while (i < segregation_limit[amount].first || i >= num_outs); + do i = gamma->pick(); while (i < segregation_limit[amount].first || i >= num_outs); type = "post-fork gamma"; } else { - do i = pick_gamma(); while (i >= num_outs); + do i = gamma->pick(); while (i >= num_outs); type = "gamma"; } } @@ -7888,6 +7891,7 @@ void wallet2::get_outs(std::vector<std::vector<tools::wallet2::get_outs_entry>> picks[type].insert(i); req.outputs.push_back({amount, i}); ++num_found; + MDEBUG("picked " << i << ", " << num_found << " now picked"); } for (const auto &pick: picks) @@ -9386,9 +9390,16 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_2(std::vector<cryp idx = pop_best_value(indices, tx.selected_transfers, true); // we might not want to add it if it's a large output and we don't have many left - if (m_transfers[idx].amount() >= m_min_output_value) { - if (get_count_above(m_transfers, *unused_transfers_indices, m_min_output_value) < m_min_output_count) { - LOG_PRINT_L2("Second output was not strictly needed, and we're running out of outputs above " << print_money(m_min_output_value) << ", not adding"); + uint64_t min_output_value = m_min_output_value; + uint32_t min_output_count = m_min_output_count; + if (min_output_value == 0 && min_output_count == 0) + { + min_output_value = DEFAULT_MIN_OUTPUT_VALUE; + min_output_count = DEFAULT_MIN_OUTPUT_COUNT; + } + if (m_transfers[idx].amount() >= min_output_value) { + if (get_count_above(m_transfers, *unused_transfers_indices, min_output_value) < min_output_count) { + LOG_PRINT_L2("Second output was not strictly needed, and we're running out of outputs above " << print_money(min_output_value) << ", not adding"); break; } } @@ -9547,7 +9558,7 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_2(std::vector<cryp tx.ptx = test_ptx; tx.weight = get_transaction_weight(test_tx, txBlob.size()); tx.outs = outs; - tx.needed_fee = needed_fee; + tx.needed_fee = test_ptx.fee; accumulated_fee += test_ptx.fee; accumulated_change += test_ptx.change_dts.amount; adding_fee = false; @@ -9945,7 +9956,7 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_from(const crypton tx.ptx = test_ptx; tx.weight = get_transaction_weight(test_tx, txBlob.size()); tx.outs = outs; - tx.needed_fee = needed_fee; + tx.needed_fee = test_ptx.fee; accumulated_fee += test_ptx.fee; accumulated_change += test_ptx.change_dts.amount; if (!unused_transfers_indices.empty() || !unused_dust_indices.empty()) @@ -12621,8 +12632,7 @@ std::string wallet2::make_uri(const std::string &address, const std::string &pay if (!payment_id.empty()) { crypto::hash pid32; - crypto::hash8 pid8; - if (!wallet2::parse_long_payment_id(payment_id, pid32) && !wallet2::parse_short_payment_id(payment_id, pid8)) + if (!wallet2::parse_long_payment_id(payment_id, pid32)) { error = "Invalid payment id"; return std::string(); @@ -12716,8 +12726,7 @@ bool wallet2::parse_uri(const std::string &uri, std::string &address, std::strin return false; } crypto::hash hash; - crypto::hash8 hash8; - if (!wallet2::parse_long_payment_id(kv[1], hash) && !wallet2::parse_short_payment_id(kv[1], hash8)) + if (!wallet2::parse_long_payment_id(kv[1], hash)) { error = "Invalid payment id: " + kv[1]; return false; diff --git a/src/wallet/wallet2.h b/src/wallet/wallet2.h index 8561c42ba..921c150cb 100644 --- a/src/wallet/wallet2.h +++ b/src/wallet/wallet2.h @@ -39,6 +39,7 @@ #include <boost/serialization/deque.hpp> #include <boost/thread/lock_guard.hpp> #include <atomic> +#include <random> #include "include_base_utils.h" #include "cryptonote_basic/account.h" @@ -76,6 +77,30 @@ namespace tools class wallet2; class Notify; + class gamma_picker + { + public: + uint64_t pick(); + gamma_picker(const std::vector<uint64_t> &rct_offsets); + gamma_picker(const std::vector<uint64_t> &rct_offsets, double shape, double scale); + + private: + struct gamma_engine + { + typedef uint64_t result_type; + static constexpr result_type min() { return 0; } + static constexpr result_type max() { return std::numeric_limits<result_type>::max(); } + result_type operator()() { return crypto::rand<result_type>(); } + } engine; + +private: + std::gamma_distribution<double> gamma; + const std::vector<uint64_t> &rct_offsets; + const uint64_t *begin, *end; + uint64_t num_rct_outputs; + double average_output_time; + }; + class wallet_keys_unlocker { public: @@ -93,7 +118,7 @@ namespace tools public: // Full wallet callbacks virtual void on_new_block(uint64_t height, const cryptonote::block& block) {} - virtual void on_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index) {} + virtual void on_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index, uint64_t unlock_time) {} virtual void on_unconfirmed_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index) {} virtual void on_money_spent(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& in_tx, uint64_t amount, const cryptonote::transaction& spend_tx, const cryptonote::subaddress_index& subaddr_index) {} virtual void on_skip_transaction(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx) {} diff --git a/src/wallet/wallet_rpc_server.cpp b/src/wallet/wallet_rpc_server.cpp index 1dd589d41..47235dc44 100644 --- a/src/wallet/wallet_rpc_server.cpp +++ b/src/wallet/wallet_rpc_server.cpp @@ -31,6 +31,7 @@ #include <boost/asio/ip/address.hpp> #include <boost/filesystem/operations.hpp> #include <boost/algorithm/string.hpp> +#include <boost/preprocessor/stringize.hpp> #include <cstdint> #include "include_base_utils.h" using namespace epee; @@ -65,11 +66,6 @@ namespace const command_line::arg_descriptor<bool> arg_restricted = {"restricted-rpc", "Restricts to view-only commands", false}; const command_line::arg_descriptor<std::string> arg_wallet_dir = {"wallet-dir", "Directory for newly created wallets"}; const command_line::arg_descriptor<bool> arg_prompt_for_password = {"prompt-for-password", "Prompts for password when not provided", false}; - const command_line::arg_descriptor<std::string> arg_rpc_ssl = {"rpc-ssl", tools::wallet2::tr("Enable SSL on wallet RPC connections: enabled|disabled|autodetect"), "autodetect"}; - const command_line::arg_descriptor<std::string> arg_rpc_ssl_private_key = {"rpc-ssl-private-key", tools::wallet2::tr("Path to a PEM format private key"), ""}; - const command_line::arg_descriptor<std::string> arg_rpc_ssl_certificate = {"rpc-ssl-certificate", tools::wallet2::tr("Path to a PEM format certificate"), ""}; - const command_line::arg_descriptor<std::string> arg_rpc_ssl_ca_certificates = {"rpc-ssl-ca-certificates", tools::wallet2::tr("Path to file containing concatenated PEM format certificate(s) to replace system CA(s).")}; - const command_line::arg_descriptor<std::vector<std::string>> arg_rpc_ssl_allowed_fingerprints = {"rpc-ssl-allowed-fingerprints", tools::wallet2::tr("List of certificate fingerprints to allow")}; constexpr const char default_rpc_username[] = "monero"; @@ -86,12 +82,10 @@ namespace void set_confirmations(tools::wallet_rpc::transfer_entry &entry, uint64_t blockchain_height, uint64_t block_reward) { if (entry.height >= blockchain_height || (entry.height == 0 && (!strcmp(entry.type.c_str(), "pending") || !strcmp(entry.type.c_str(), "pool")))) - { entry.confirmations = 0; - entry.suggested_confirmations_threshold = 0; - return; - } - entry.confirmations = blockchain_height - entry.height; + else + entry.confirmations = blockchain_height - entry.height; + if (block_reward == 0) entry.suggested_confirmations_threshold = 0; else @@ -245,37 +239,6 @@ namespace tools assert(bool(http_login)); } // end auth enabled - auto rpc_ssl_private_key = command_line::get_arg(vm, arg_rpc_ssl_private_key); - auto rpc_ssl_certificate = command_line::get_arg(vm, arg_rpc_ssl_certificate); - auto rpc_ssl_ca_file = command_line::get_arg(vm, arg_rpc_ssl_ca_certificates); - auto rpc_ssl_allowed_fingerprints = command_line::get_arg(vm, arg_rpc_ssl_allowed_fingerprints); - auto rpc_ssl = command_line::get_arg(vm, arg_rpc_ssl); - epee::net_utils::ssl_options_t rpc_ssl_options = epee::net_utils::ssl_support_t::e_ssl_support_enabled; - - if (!rpc_ssl_ca_file.empty() || !rpc_ssl_allowed_fingerprints.empty()) - { - std::vector<std::vector<uint8_t>> allowed_fingerprints{ rpc_ssl_allowed_fingerprints.size() }; - std::transform(rpc_ssl_allowed_fingerprints.begin(), rpc_ssl_allowed_fingerprints.end(), allowed_fingerprints.begin(), epee::from_hex::vector); - - rpc_ssl_options = epee::net_utils::ssl_options_t{ - std::move(allowed_fingerprints), std::move(rpc_ssl_ca_file) - }; - } - - // user specified CA file or fingeprints implies enabled SSL by default - if (rpc_ssl_options.verification != epee::net_utils::ssl_verification_t::user_certificates || !command_line::is_arg_defaulted(vm, arg_rpc_ssl)) - { - if (!epee::net_utils::ssl_support_from_string(rpc_ssl_options.support, rpc_ssl)) - { - MERROR("Invalid argument for " << std::string(arg_rpc_ssl.name)); - return false; - } - } - - rpc_ssl_options.auth = epee::net_utils::ssl_authentication_t{ - std::move(rpc_ssl_private_key), std::move(rpc_ssl_certificate) - }; - m_auto_refresh_period = DEFAULT_AUTO_REFRESH_PERIOD; m_last_auto_refresh_time = boost::posix_time::min_date_time; @@ -285,7 +248,7 @@ namespace tools auto rng = [](size_t len, uint8_t *ptr) { return crypto::rand(len, ptr); }; return epee::http_server_impl_base<wallet_rpc_server, connection_context>::init( rng, std::move(bind_port), std::move(rpc_config->bind_ip), std::move(rpc_config->access_control_origins), std::move(http_login), - std::move(rpc_ssl_options) + std::move(rpc_config->ssl_options) ); } //------------------------------------------------------------------------------------------------------------------------------ @@ -387,7 +350,7 @@ namespace tools entry.destinations.push_back(wallet_rpc::transfer_destination()); wallet_rpc::transfer_destination &td = entry.destinations.back(); td.amount = d.amount; - td.address = get_account_address_as_str(m_wallet->nettype(), d.is_subaddress, d.addr); + td.address = d.original.empty() ? get_account_address_as_str(m_wallet->nettype(), d.is_subaddress, d.addr) : d.original; } entry.type = "out"; @@ -412,6 +375,14 @@ namespace tools entry.amount = pd.m_amount_in - pd.m_change - entry.fee; entry.unlock_time = pd.m_tx.unlock_time; entry.note = m_wallet->get_tx_note(txid); + + for (const auto &d: pd.m_dests) { + entry.destinations.push_back(wallet_rpc::transfer_destination()); + wallet_rpc::transfer_destination &td = entry.destinations.back(); + td.amount = d.amount; + td.address = d.original.empty() ? get_account_address_as_str(m_wallet->nettype(), d.is_subaddress, d.addr) : d.original; + } + entry.type = is_failed ? "failed" : "pending"; entry.subaddr_index = { pd.m_subaddr_account, 0 }; for (uint32_t i: pd.m_subaddr_indices) @@ -1774,6 +1745,11 @@ namespace tools else if (payment_id_str.size() == 2 * sizeof(payment_id8)) { r = epee::string_tools::hex_to_pod(payment_id_str, payment_id8); + if (r) + { + memcpy(payment_id.data, payment_id8.data, 8); + memset(payment_id.data + 8, 0, 24); + } } else { @@ -1835,14 +1811,12 @@ namespace tools wallet2::transfer_container transfers; m_wallet->get_transfers(transfers); - bool transfers_found = false; for (const auto& td : transfers) { if (!filter || available != td.m_spent) { if (req.account_index != td.m_subaddr_index.major || (!req.subaddr_indices.empty() && req.subaddr_indices.count(td.m_subaddr_index.minor) == 0)) continue; - transfers_found = true; wallet_rpc::transfer_details rpc_transfers; rpc_transfers.amount = td.amount(); rpc_transfers.spent = td.m_spent; @@ -1850,6 +1824,9 @@ namespace tools rpc_transfers.tx_hash = epee::string_tools::pod_to_hex(td.m_txid); rpc_transfers.subaddr_index = {td.m_subaddr_index.major, td.m_subaddr_index.minor}; rpc_transfers.key_image = td.m_key_image_known ? epee::string_tools::pod_to_hex(td.m_key_image) : ""; + rpc_transfers.block_height = td.m_block_height; + rpc_transfers.frozen = td.m_frozen; + rpc_transfers.unlocked = m_wallet->is_transfer_unlocked(td); res.transfers.push_back(rpc_transfers); } } @@ -2804,20 +2781,20 @@ namespace tools } crypto::hash long_payment_id; - crypto::hash8 short_payment_id; if (!wallet2::parse_long_payment_id(req.payment_id, payment_id)) { if (!wallet2::parse_short_payment_id(req.payment_id, info.payment_id)) { er.code = WALLET_RPC_ERROR_CODE_WRONG_PAYMENT_ID; - er.message = "Payment id has invalid format: \"" + req.payment_id + "\", expected 16 or 64 character string"; + er.message = "Payment id has invalid format: \"" + req.payment_id + "\", expected 64 character string"; return false; } else { - memcpy(payment_id.data, info.payment_id.data, 8); - memset(payment_id.data + 8, 0, 24); + er.code = WALLET_RPC_ERROR_CODE_WRONG_PAYMENT_ID; + er.message = "Payment id has invalid format: standalone short payment IDs are forbidden, they must be part of an integrated address"; + return false; } } } @@ -4068,9 +4045,10 @@ namespace tools { cryptonote::TESTNET, "testnet" }, { cryptonote::STAGENET, "stagenet" }, }; + if (!req.any_net_type && !m_wallet) return not_open(er); for (const auto &net_type: net_types) { - if (!req.any_net_type && net_type.type != m_wallet->nettype()) + if (!req.any_net_type && (!m_wallet || net_type.type != m_wallet->nettype())) continue; if (req.allow_openalias) { @@ -4148,10 +4126,15 @@ namespace tools std::move(req.ssl_private_key_path), std::move(req.ssl_certificate_path) }; - if (ssl_options.support == epee::net_utils::ssl_support_t::e_ssl_support_enabled && !ssl_options.has_strong_verification(boost::string_ref{})) + const bool verification_required = + ssl_options.verification != epee::net_utils::ssl_verification_t::none && + ssl_options.support == epee::net_utils::ssl_support_t::e_ssl_support_enabled; + + if (verification_required && !ssl_options.has_strong_verification(boost::string_ref{})) { er.code = WALLET_RPC_ERROR_CODE_NO_DAEMON_CONNECTION; er.message = "SSL is enabled but no user certificate or fingerprints were provided"; + return false; } if (!m_wallet->set_daemon(req.address, boost::none, req.trusted, std::move(ssl_options))) @@ -4176,7 +4159,7 @@ namespace tools { er.code = WALLET_RPC_ERROR_CODE_INVALID_LOG_LEVEL; er.message = "Error: log level not valid"; - return true; + return false; } mlog_set_log_level(req.level); return true; @@ -4392,11 +4375,6 @@ int main(int argc, char** argv) { command_line::add_arg(desc_params, arg_from_json); command_line::add_arg(desc_params, arg_wallet_dir); command_line::add_arg(desc_params, arg_prompt_for_password); - command_line::add_arg(desc_params, arg_rpc_ssl); - command_line::add_arg(desc_params, arg_rpc_ssl_private_key); - command_line::add_arg(desc_params, arg_rpc_ssl_certificate); - command_line::add_arg(desc_params, arg_rpc_ssl_ca_certificates); - command_line::add_arg(desc_params, arg_rpc_ssl_allowed_fingerprints); daemonizer::init_options(hidden_options, desc_params); desc_params.add(hidden_options); diff --git a/src/wallet/wallet_rpc_server_commands_defs.h b/src/wallet/wallet_rpc_server_commands_defs.h index 5635df5de..4504ac752 100644 --- a/src/wallet/wallet_rpc_server_commands_defs.h +++ b/src/wallet/wallet_rpc_server_commands_defs.h @@ -47,7 +47,7 @@ // advance which version they will stop working with // Don't go over 32767 for any of these #define WALLET_RPC_VERSION_MAJOR 1 -#define WALLET_RPC_VERSION_MINOR 11 +#define WALLET_RPC_VERSION_MINOR 13 #define MAKE_WALLET_RPC_VERSION(major,minor) (((major)<<16)|(minor)) #define WALLET_RPC_VERSION MAKE_WALLET_RPC_VERSION(WALLET_RPC_VERSION_MAJOR, WALLET_RPC_VERSION_MINOR) namespace tools @@ -982,6 +982,9 @@ namespace wallet_rpc std::string tx_hash; cryptonote::subaddress_index subaddr_index; std::string key_image; + uint64_t block_height; + bool frozen; + bool unlocked; BEGIN_KV_SERIALIZE_MAP() KV_SERIALIZE(amount) @@ -990,6 +993,9 @@ namespace wallet_rpc KV_SERIALIZE(tx_hash) KV_SERIALIZE(subaddr_index) KV_SERIALIZE(key_image) + KV_SERIALIZE(block_height) + KV_SERIALIZE(frozen) + KV_SERIALIZE(unlocked) END_KV_SERIALIZE_MAP() }; diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index bbb0bc051..afc69ee88 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -66,6 +66,7 @@ else () # Emulate the FindGTest module's variable. set(GTEST_LIBRARIES gtest gtest_main) + set(GTEST_BOTH_LIBRARIES gtest gtest_main) include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/gtest/include") endif (GTest_FOUND) diff --git a/tests/README.md b/tests/README.md index 053dd2244..f6dd25ead 100644 --- a/tests/README.md +++ b/tests/README.md @@ -2,7 +2,7 @@ To run all tests, run: -``` +```bash cd /path/to/monero make [-jn] debug-test # where n is number of compiler processes ``` @@ -17,7 +17,7 @@ Tests are located in `tests/core_tests/`, and follow a straightforward naming co To run only Monero's core tests (after building): -``` +```bash cd build/debug/tests/core_tests ctest ``` @@ -36,7 +36,7 @@ Tests correspond to components under `src/crypto/`. A quick comparison reveals t To run only Monero's crypto tests (after building): -``` +```bash cd build/debug/tests/crypto ctest ``` @@ -53,13 +53,13 @@ To run the same tests on a release build, replace `debug` with `release`. Functional tests are located under the `tests/functional` directory. First, run a regtest daemon in the offline mode and with a fixed difficulty: -``` +```bash monerod --regtest --offline --fixed-difficulty 1 ``` Alternatively, you can run multiple daemons and let them connect with each other by using `--add-exclusive-node`. In this case, make sure that the same fixed difficulty is given to all the daemons. Next, restore a mainnet wallet with the following seed and restore height 0 (the file path doesn't matter): -``` +```bash velvet lymph giddy number token physics poetry unquoted nibs useful sabotage limits benches lifestyle eden nitrogen anvil fewest avoid batch vials washing fences goat unquoted ``` @@ -77,7 +77,7 @@ Hash tests exist under `tests/hash`, and include a set of target hashes in text To run only Monero's hash tests (after building): -``` +```bash cd build/debug/tests/hash ctest ``` @@ -98,7 +98,7 @@ Performance tests are located in `tests/performance_tests`, and test features fo To run only Monero's performance tests (after building): -``` +```bash cd build/debug/tests/performance_tests ./performance_tests ``` @@ -115,7 +115,7 @@ Unit tests are defined under the `tests/unit_tests` directory. Independent compo To run only Monero's unit tests (after building): -``` +```bash cd build/debug/tests/unit_tests ctest ``` diff --git a/tests/difficulty/difficulty.cpp b/tests/difficulty/difficulty.cpp index 11ce0bd73..18f1d0030 100644 --- a/tests/difficulty/difficulty.cpp +++ b/tests/difficulty/difficulty.cpp @@ -124,7 +124,7 @@ int main(int argc, char *argv[]) { cryptonote::difficulty_type wide_res = cryptonote::next_difficulty( std::vector<uint64_t>(timestamps.begin() + begin, timestamps.begin() + end), std::vector<cryptonote::difficulty_type>(wide_cumulative_difficulties.begin() + begin, wide_cumulative_difficulties.begin() + end), DEFAULT_TEST_DIFFICULTY_TARGET); - if (wide_res.convert_to<uint64_t>() != res) { + if ((wide_res & 0xffffffffffffffff).convert_to<uint64_t>() != res) { cerr << "Wrong wide difficulty for block " << n << endl << "Expected: " << res << endl << "Found: " << wide_res << endl; diff --git a/tests/functional_tests/CMakeLists.txt b/tests/functional_tests/CMakeLists.txt index 60060f56f..fd49ba623 100644 --- a/tests/functional_tests/CMakeLists.txt +++ b/tests/functional_tests/CMakeLists.txt @@ -50,6 +50,12 @@ target_link_libraries(functional_tests ${CMAKE_THREAD_LIBS_INIT} ${EXTRA_LIBRARIES}) -add_test( - NAME functional_tests_rpc - COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/functional_tests_rpc.py" "${PYTHON_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" all) +execute_process(COMMAND ${PYTHON_EXECUTABLE} "-c" "import requests; print('OK')" OUTPUT_VARIABLE REQUESTS_OUTPUT OUTPUT_STRIP_TRAILING_WHITESPACE) +if (REQUESTS_OUTPUT STREQUAL "OK") + add_test( + NAME functional_tests_rpc + COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/functional_tests_rpc.py" "${PYTHON_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" all) +else() + message(WARNING "functional_tests_rpc skipped, needs the 'requests' python module") + set(CTEST_CUSTOM_TESTS_IGNORE ${CTEST_CUSTOM_TESTS_IGNORE} functional_tests_rpc) +endif() diff --git a/tests/functional_tests/bans.py b/tests/functional_tests/bans.py index bb3051a6a..e859e58c9 100755 --- a/tests/functional_tests/bans.py +++ b/tests/functional_tests/bans.py @@ -28,6 +28,7 @@ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +from __future__ import print_function import time """Test peer baning RPC calls @@ -42,7 +43,7 @@ from framework.daemon import Daemon class BanTest(): def run_test(self): - print 'Testing bans' + print('Testing bans') daemon = Daemon() res = daemon.get_bans() diff --git a/tests/functional_tests/blockchain.py b/tests/functional_tests/blockchain.py index 56164600d..644597584 100755 --- a/tests/functional_tests/blockchain.py +++ b/tests/functional_tests/blockchain.py @@ -28,6 +28,7 @@ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +from __future__ import print_function import time """Test daemon blockchain RPC calls @@ -45,13 +46,20 @@ from framework.daemon import Daemon class BlockchainTest(): def run_test(self): + self.reset() self._test_generateblocks(5) self._test_alt_chains() + def reset(self): + print('Resetting blockchain') + daemon = Daemon() + daemon.pop_blocks(1000) + daemon.flush_txpool() + def _test_generateblocks(self, blocks): assert blocks >= 2 - print "Test generating", blocks, 'blocks' + print("Test generating", blocks, 'blocks') daemon = Daemon() @@ -175,14 +183,14 @@ class BlockchainTest(): for idx in tx.output_indices: assert idx == running_output_index running_output_index += 1 - res_out = daemon.get_outs([{'amount': 0, 'index': i} for i in tx.output_indices], get_txid = True) + res_out = daemon.get_outs([{'amount': 0, 'index': idx} for idx in tx.output_indices], get_txid = True) assert len(res_out.outs) == len(tx.output_indices) for out in res_out.outs: assert len(out.key) == 64 assert len(out.mask) == 64 assert not out.unlocked - assert out.height == i + 1 - assert out.txid == txids[i + 1] + assert out.height == i + assert out.txid == txids[i] for i in range(height + nblocks - 1): res_sum = daemon.get_coinbase_tx_sum(i, 1) @@ -248,7 +256,7 @@ class BlockchainTest(): alt_blocks[i] = txid nonce += 1 - print 'mining 3 on 1' + print('mining 3 on 1') # three more on [1] chain1 = [] res = daemon.generateblocks('42ey1afDFnn4886T7196doS9GPMzexD9gXpsZJDwVjeRVdFCSoHnv7KPbBeGpzJBzHRCAs9UxqeoyFQMYbqSWYTfJJQAWDm', 3, prev_block = alt_blocks[1], starting_nonce = nonce) @@ -268,7 +276,7 @@ class BlockchainTest(): for txid in alt_blocks: assert txid in res.blks_hashes or txid == alt_blocks[1] - print 'mining 4 on 3' + print('mining 4 on 3') # 4 more on [3], the chain will reorg when we mine the 4th top_block_hash = blk_hash prev_block = alt_blocks[3] diff --git a/tests/functional_tests/cold_signing.py b/tests/functional_tests/cold_signing.py index e5430f87c..a722d8927 100755 --- a/tests/functional_tests/cold_signing.py +++ b/tests/functional_tests/cold_signing.py @@ -28,22 +28,28 @@ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -import time - """Test cold tx signing """ +from __future__ import print_function from framework.daemon import Daemon from framework.wallet import Wallet class ColdSigningTest(): def run_test(self): + self.reset() self.create(0) self.mine() self.transfer() + def reset(self): + print('Resetting blockchain') + daemon = Daemon() + daemon.pop_blocks(1000) + daemon.flush_txpool() + def create(self, idx): - print 'Creating hot and cold wallet' + print('Creating hot and cold wallet') self.hot_wallet = Wallet(idx = 0) # close the wallet if any, will throw if none is loaded @@ -109,7 +115,7 @@ class ColdSigningTest(): assert len(res.unsigned_txset) > 0 unsigned_txset = res.unsigned_txset - print 'Signing transaction with cold wallet' + print('Signing transaction with cold wallet') res = self.cold_wallet.describe_transfer(unsigned_txset = unsigned_txset) assert len(res.desc) == 1 desc = res.desc[0] @@ -133,7 +139,7 @@ class ColdSigningTest(): txid = res.tx_hash_list[0] assert len(txid) == 64 - print 'Submitting transaction with hot wallet' + print('Submitting transaction with hot wallet') res = self.hot_wallet.submit_transfer(signed_txset) assert len(res.tx_hash_list) > 0 assert res.tx_hash_list[0] == txid diff --git a/tests/functional_tests/daemon_info.py b/tests/functional_tests/daemon_info.py index bd3528c3f..4fa768b03 100755 --- a/tests/functional_tests/daemon_info.py +++ b/tests/functional_tests/daemon_info.py @@ -36,6 +36,7 @@ Test the following RPCs: """ +from __future__ import print_function from framework.daemon import Daemon class DaemonGetInfoTest(): diff --git a/tests/functional_tests/functional_tests_rpc.py b/tests/functional_tests/functional_tests_rpc.py index 83b75a088..25ab641ab 100755 --- a/tests/functional_tests/functional_tests_rpc.py +++ b/tests/functional_tests/functional_tests_rpc.py @@ -10,7 +10,7 @@ import string import os USAGE = 'usage: functional_tests_rpc.py <python> <srcdir> <builddir> [<tests-to-run> | all]' -DEFAULT_TESTS = ['daemon_info', 'blockchain', 'wallet_address', 'integrated_address', 'mining', 'transfer', 'txpool', 'multisig', 'cold_signing', 'sign_message', 'proofs'] +DEFAULT_TESTS = ['bans', 'daemon_info', 'blockchain', 'wallet_address', 'integrated_address', 'mining', 'transfer', 'txpool', 'multisig', 'cold_signing', 'sign_message', 'proofs', 'get_output_distribution'] try: python = sys.argv[1] srcdir = sys.argv[2] @@ -98,6 +98,7 @@ FAIL = [] for test in tests: try: print('[TEST STARTED] ' + test) + sys.stdout.flush() cmd = [python, srcdir + '/' + test + ".py"] subprocess.check_call(cmd) PASS.append(test) diff --git a/tests/functional_tests/get_output_distribution.py b/tests/functional_tests/get_output_distribution.py new file mode 100755 index 000000000..93822e90a --- /dev/null +++ b/tests/functional_tests/get_output_distribution.py @@ -0,0 +1,225 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2019 The Monero Project +# +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, are +# permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this list of +# conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, this list +# of conditions and the following disclaimer in the documentation and/or other +# materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its contributors may be +# used to endorse or promote products derived from this software without specific +# prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +"""Test get_output_distribution RPC +""" + +from __future__ import print_function +from framework.daemon import Daemon +from framework.wallet import Wallet + +class GetOutputDistributionTest(): + def run_test(self): + self.reset() + self.create() + self.test_get_output_distribution() + + def reset(self): + print('Resetting blockchain') + daemon = Daemon() + daemon.pop_blocks(1000) + daemon.flush_txpool() + + def create(self): + self.wallet = Wallet() + # close the wallet if any, will throw if none is loaded + try: self.wallet.close_wallet() + except: pass + res = self.wallet.restore_deterministic_wallet(seed = 'velvet lymph giddy number token physics poetry unquoted nibs useful sabotage limits benches lifestyle eden nitrogen anvil fewest avoid batch vials washing fences goat unquoted') + + def test_get_output_distribution(self): + print("Test get_output_distribution") + + daemon = Daemon() + + res = daemon.get_output_distribution([0], 0, 0) + assert len(res.distributions) == 1 + d = res.distributions[0] + assert d.amount == 0 + assert d.base == 0 + assert d.binary == False + assert len(d.distribution) == 1 + assert d.distribution[0] == 0 + + res = daemon.generateblocks('42ey1afDFnn4886T7196doS9GPMzexD9gXpsZJDwVjeRVdFCSoHnv7KPbBeGpzJBzHRCAs9UxqeoyFQMYbqSWYTfJJQAWDm', 1) + + res = daemon.get_output_distribution([0], 0, 0) + assert len(res.distributions) == 1 + d = res.distributions[0] + assert d.amount == 0 + assert d.base == 0 + assert d.binary == False + assert len(d.distribution) == 2 + assert d.distribution[0] == 0 + assert d.distribution[1] == 1 + + res = daemon.pop_blocks(1) + + res = daemon.get_output_distribution([0], 0, 0) + assert len(res.distributions) == 1 + d = res.distributions[0] + assert d.amount == 0 + assert d.base == 0 + assert d.binary == False + assert len(d.distribution) == 1 + assert d.distribution[0] == 0 + + res = daemon.generateblocks('42ey1afDFnn4886T7196doS9GPMzexD9gXpsZJDwVjeRVdFCSoHnv7KPbBeGpzJBzHRCAs9UxqeoyFQMYbqSWYTfJJQAWDm', 3) + + res = daemon.get_output_distribution([0], 0, 0, cumulative = True) + assert len(res.distributions) == 1 + d = res.distributions[0] + assert d.amount == 0 + assert d.base == 0 + assert d.binary == False + assert len(d.distribution) == 4 + assert d.distribution[0] == 0 + assert d.distribution[1] == 1 + assert d.distribution[2] == 2 + assert d.distribution[3] == 3 + + # extend + res = daemon.generateblocks('42ey1afDFnn4886T7196doS9GPMzexD9gXpsZJDwVjeRVdFCSoHnv7KPbBeGpzJBzHRCAs9UxqeoyFQMYbqSWYTfJJQAWDm', 80) + + res = daemon.get_output_distribution([0], 0, 0, cumulative = True) + assert len(res.distributions) == 1 + d = res.distributions[0] + assert d.amount == 0 + assert d.base == 0 + assert d.binary == False + assert len(d.distribution) == 84 + for h in range(len(d.distribution)): + assert d.distribution[h] == h + + # pop and replace, this will do through the "trim and extend" path + res = daemon.pop_blocks(2) + self.wallet.refresh() + dst = {'address': '42ey1afDFnn4886T7196doS9GPMzexD9gXpsZJDwVjeRVdFCSoHnv7KPbBeGpzJBzHRCAs9UxqeoyFQMYbqSWYTfJJQAWDm', 'amount': 1000000000000} + self.wallet.transfer([dst]) + res = daemon.generateblocks('42ey1afDFnn4886T7196doS9GPMzexD9gXpsZJDwVjeRVdFCSoHnv7KPbBeGpzJBzHRCAs9UxqeoyFQMYbqSWYTfJJQAWDm', 1) + for step in range(3): # the second will be cached, the third will also be cached, but we get it in non-cumulative mode + res = daemon.get_output_distribution([0], 0, 0, cumulative = step < 3) + assert len(res.distributions) == 1 + d = res.distributions[0] + assert d.amount == 0 + assert d.base == 0 + assert d.binary == False + assert len(d.distribution) == 83 + for h in range(len(d.distribution)): + assert d.distribution[h] == (h if step < 3 else 1) + (2 if h == len(d.distribution) - 1 else 0) + + # start at 0, end earlier + res = daemon.get_output_distribution([0], 0, 40, cumulative = True) + assert len(res.distributions) == 1 + d = res.distributions[0] + assert d.amount == 0 + assert d.base == 0 + assert d.binary == False + assert len(d.distribution) == 41 + for h in range(len(d.distribution)): + assert d.distribution[h] == h + + # start after 0, end earlier + res = daemon.get_output_distribution([0], 10, 20, cumulative = True) + assert len(res.distributions) == 1 + d = res.distributions[0] + assert d.amount == 0 + assert d.base == 9 + assert d.binary == False + assert len(d.distribution) == 11 + for h in range(len(d.distribution)): + assert d.distribution[h] == 10 + h + + # straddling up + res = daemon.get_output_distribution([0], 15, 25, cumulative = True) + assert len(res.distributions) == 1 + d = res.distributions[0] + assert d.amount == 0 + assert d.base == 14 + assert d.binary == False + assert len(d.distribution) == 11 + for h in range(len(d.distribution)): + assert d.distribution[h] == 15 + h + + # straddling down + res = daemon.get_output_distribution([0], 8, 18, cumulative = True) + assert len(res.distributions) == 1 + d = res.distributions[0] + assert d.amount == 0 + assert d.base == 7 + assert d.binary == False + assert len(d.distribution) == 11 + for h in range(len(d.distribution)): + assert d.distribution[h] == 8 + h + + # encompassing + res = daemon.get_output_distribution([0], 5, 20, cumulative = True) + assert len(res.distributions) == 1 + d = res.distributions[0] + assert d.amount == 0 + assert d.base == 4 + assert d.binary == False + assert len(d.distribution) == 16 + for h in range(len(d.distribution)): + assert d.distribution[h] == 5 + h + + # single + res = daemon.get_output_distribution([0], 2, 2, cumulative = True) + assert len(res.distributions) == 1 + d = res.distributions[0] + assert d.amount == 0 + assert d.base == 1 + assert d.binary == False + assert len(d.distribution) == 1 + assert d.distribution[0] == 2 + + # a non existent amount + res = daemon.get_output_distribution([1], 0, 0) + assert len(res.distributions) == 1 + d = res.distributions[0] + assert d.amount == 1 + assert d.base == 0 + assert d.binary == False + assert len(d.distribution) == 83 + for h in range(len(d.distribution)): + assert d.distribution[h] == 0 + + +class Guard: + def __enter__(self): + for i in range(4): + Wallet(idx = i).auto_refresh(False) + def __exit__(self, exc_type, exc_value, traceback): + for i in range(4): + Wallet(idx = i).auto_refresh(True) + +if __name__ == '__main__': + with Guard() as guard: + GetOutputDistributionTest().run_test() diff --git a/tests/functional_tests/integrated_address.py b/tests/functional_tests/integrated_address.py index 338dd14ae..4e42261a6 100755 --- a/tests/functional_tests/integrated_address.py +++ b/tests/functional_tests/integrated_address.py @@ -28,8 +28,6 @@ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -import time - """Test integrated address RPC calls Test the following RPCs: @@ -38,6 +36,7 @@ Test the following RPCs: """ +from __future__ import print_function from framework.wallet import Wallet class IntegratedAddressTest(): @@ -46,7 +45,7 @@ class IntegratedAddressTest(): self.check() def create(self): - print 'Creating wallet' + print('Creating wallet') wallet = Wallet() # close the wallet if any, will throw if none is loaded try: wallet.close_wallet() @@ -59,7 +58,7 @@ class IntegratedAddressTest(): def check(self): wallet = Wallet() - print 'Checking local address' + print('Checking local address') res = wallet.make_integrated_address(payment_id = '0123456789abcdef') assert res.integrated_address == '4CMe2PUhs4J4886T7196doS9GPMzexD9gXpsZJDwVjeRVdFCSoHnv7KPbBeGpzJBzHRCAs9UxqeoyFQMYbqSWYTfSbLRB61BQVATzerHGj' assert res.payment_id == '0123456789abcdef' @@ -67,7 +66,7 @@ class IntegratedAddressTest(): assert res.standard_address == '42ey1afDFnn4886T7196doS9GPMzexD9gXpsZJDwVjeRVdFCSoHnv7KPbBeGpzJBzHRCAs9UxqeoyFQMYbqSWYTfJJQAWDm' assert res.payment_id == '0123456789abcdef' - print 'Checking different address' + print('Checking different address') res = wallet.make_integrated_address(standard_address = '46r4nYSevkfBUMhuykdK3gQ98XDqDTYW1hNLaXNvjpsJaSbNtdXh1sKMsdVgqkaihChAzEy29zEDPMR3NHQvGoZCLGwTerK', payment_id = '1122334455667788') assert res.integrated_address == '4GYjoMG9Y2BBUMhuykdK3gQ98XDqDTYW1hNLaXNvjpsJaSbNtdXh1sKMsdVgqkaihChAzEy29zEDPMR3NHQvGoZCVSs1ZojwrDCGS5rUuo' assert res.payment_id == '1122334455667788' @@ -75,7 +74,7 @@ class IntegratedAddressTest(): assert res.standard_address == '46r4nYSevkfBUMhuykdK3gQ98XDqDTYW1hNLaXNvjpsJaSbNtdXh1sKMsdVgqkaihChAzEy29zEDPMR3NHQvGoZCLGwTerK' assert res.payment_id == '1122334455667788' - print 'Checking bad payment id' + print('Checking bad payment id') fails = 0 try: wallet.make_integrated_address(standard_address = '46r4nYSevkfBUMhuykdK3gQ98XDqDTYW1hNLaXNvjpsJaSbNtdXh1sKMsdVgqkaihChAzEy29zEDPMR3NHQvGoZCLGwTerK', payment_id = '11223344556677880') except: fails += 1 @@ -89,7 +88,7 @@ class IntegratedAddressTest(): except: fails += 1 assert fails == 5 - print 'Checking bad standard address' + print('Checking bad standard address') fails = 0 try: wallet.make_integrated_address(standard_address = '46r4nYSevkfBUMhuykdK3gQ98XDqDTYW1hNLaXNvjpsJaSbNtdXh1sKMsdVgqkaihChAzEy29zEDPMR3NHQvGoZCLGwTerr', payment_id = '1122334455667788') except: fails += 1 diff --git a/tests/functional_tests/mining.py b/tests/functional_tests/mining.py index 1b189beb2..5c14d34fd 100755 --- a/tests/functional_tests/mining.py +++ b/tests/functional_tests/mining.py @@ -28,6 +28,7 @@ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +from __future__ import print_function import time """Test daemon mining RPC calls @@ -43,11 +44,18 @@ from framework.wallet import Wallet class MiningTest(): def run_test(self): + self.reset() self.create() self.mine() + def reset(self): + print('Resetting blockchain') + daemon = Daemon() + daemon.pop_blocks(1000) + daemon.flush_txpool() + def create(self): - print 'Creating wallet' + print('Creating wallet') wallet = Wallet() # close the wallet if any, will throw if none is loaded try: wallet.close_wallet() @@ -55,7 +63,7 @@ class MiningTest(): res = wallet.restore_deterministic_wallet(seed = 'velvet lymph giddy number token physics poetry unquoted nibs useful sabotage limits benches lifestyle eden nitrogen anvil fewest avoid batch vials washing fences goat unquoted') def mine(self): - print "Test mining" + print("Test mining") daemon = Daemon() wallet = Wallet() diff --git a/tests/functional_tests/multisig.py b/tests/functional_tests/multisig.py index a61f30001..3c8cd9c1d 100755 --- a/tests/functional_tests/multisig.py +++ b/tests/functional_tests/multisig.py @@ -28,7 +28,7 @@ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -import time +from __future__ import print_function """Test multisig transfers """ @@ -38,6 +38,7 @@ from framework.wallet import Wallet class MultisigTest(): def run_test(self): + self.reset() self.mine('493DsrfJPqiN3Suv9RcRDoZEbQtKZX1sNcGPA3GhkKYEEmivk8kjQrTdRdVc4ZbmzWJuE157z9NNUKmF2VDfdYDR3CziGMk', 5) self.mine('42jSRGmmKN96V2j3B8X2DbiNThBXW1tSi1rW1uwkqbyURenq3eC3yosNm8HEMdHuWwKMFGzMUB3RCTvcTaW9kHpdRPP7p5y', 5) self.mine('47fF32AdrmXG84FcPY697uZdd42pMMGiH5UpiTRTt3YX2pZC7t7wkzEMStEicxbQGRfrYvAAYxH6Fe8rnD56EaNwUgxRd53', 5) @@ -68,6 +69,12 @@ class MultisigTest(): self.import_multisig_info([0, 1, 2, 3], 6) self.check_transaction(txid) + def reset(self): + print('Resetting blockchain') + daemon = Daemon() + daemon.pop_blocks(1000) + daemon.flush_txpool() + def mine(self, address, blocks): print("Mining some blocks") daemon = Daemon() diff --git a/tests/functional_tests/proofs.py b/tests/functional_tests/proofs.py index 0a0b6304d..243929dc3 100755 --- a/tests/functional_tests/proofs.py +++ b/tests/functional_tests/proofs.py @@ -28,7 +28,7 @@ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -import time +from __future__ import print_function """Test misc proofs (tx key, send, receive, reserve) """ @@ -38,6 +38,7 @@ from framework.wallet import Wallet class ProofsTest(): def run_test(self): + self.reset() self.mine('42ey1afDFnn4886T7196doS9GPMzexD9gXpsZJDwVjeRVdFCSoHnv7KPbBeGpzJBzHRCAs9UxqeoyFQMYbqSWYTfJJQAWDm', 80) self.create_wallets() txid, tx_key, amount = self.transfer() @@ -45,6 +46,12 @@ class ProofsTest(): self.check_tx_proof(txid, amount) self.check_reserve_proof() + def reset(self): + print('Resetting blockchain') + daemon = Daemon() + daemon.pop_blocks(1000) + daemon.flush_txpool() + def mine(self, address, blocks): print("Mining some blocks") daemon = Daemon() diff --git a/tests/functional_tests/sign_message.py b/tests/functional_tests/sign_message.py index 4c3ec3588..de8f0cee2 100755 --- a/tests/functional_tests/sign_message.py +++ b/tests/functional_tests/sign_message.py @@ -28,7 +28,7 @@ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -import time +from __future__ import print_function """Test message signing/verification RPC calls @@ -46,7 +46,7 @@ class MessageSigningTest(): self.check_signing() def create(self): - print 'Creating wallets' + print('Creating wallets') seeds = [ 'velvet lymph giddy number token physics poetry unquoted nibs useful sabotage limits benches lifestyle eden nitrogen anvil fewest avoid batch vials washing fences goat unquoted', 'peeled mixture ionic radar utopia puddle buying illness nuns gadget river spout cavernous bounced paradise drunk looking cottage jump tequila melting went winter adjust spout', @@ -66,7 +66,7 @@ class MessageSigningTest(): assert res.seed == seeds[i] def check_signing(self): - print 'Signing/verifing messages' + print('Signing/verifing messages') messages = ['foo', ''] for message in messages: res = self.wallet[0].sign(message) diff --git a/tests/functional_tests/speed.py b/tests/functional_tests/speed.py index bd8892df8..ed1e332e9 100755 --- a/tests/functional_tests/speed.py +++ b/tests/functional_tests/speed.py @@ -40,7 +40,7 @@ Test the following RPCs: import time from time import sleep -from decimal import Decimal +from __future__ import print_function from framework.daemon import Daemon from framework.wallet import Wallet diff --git a/tests/functional_tests/transfer.py b/tests/functional_tests/transfer.py index bc2f5472b..d9a6e592e 100755 --- a/tests/functional_tests/transfer.py +++ b/tests/functional_tests/transfer.py @@ -28,7 +28,7 @@ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -import time +from __future__ import print_function import json """Test simple transfers @@ -39,6 +39,7 @@ from framework.wallet import Wallet class TransferTest(): def run_test(self): + self.reset() self.create() self.mine() self.transfer() @@ -46,8 +47,14 @@ class TransferTest(): self.check_double_spend_detection() self.sweep_single() + def reset(self): + print('Resetting blockchain') + daemon = Daemon() + daemon.pop_blocks(1000) + daemon.flush_txpool() + def create(self): - print 'Creating wallets' + print('Creating wallets') seeds = [ 'velvet lymph giddy number token physics poetry unquoted nibs useful sabotage limits benches lifestyle eden nitrogen anvil fewest avoid batch vials washing fences goat unquoted', 'peeled mixture ionic radar utopia puddle buying illness nuns gadget river spout cavernous bounced paradise drunk looking cottage jump tequila melting went winter adjust spout', @@ -290,7 +297,7 @@ class TransferTest(): assert res.unlocked_balance <= res.balance assert res.blocks_to_unlock == 9 - print 'Creating multi out transfer' + print('Creating multi out transfer') self.wallet[0].refresh() @@ -512,6 +519,9 @@ class TransferTest(): res = self.wallet[2].get_bulk_payments(payment_ids = ['1'*64, '1234500000012345abcde00000abcdeff1234500000012345abcde00000abcde', '2'*64]) assert len(res.payments) >= 1 # one tx was sent + res = self.wallet[1].get_bulk_payments(["1111111122222222"]) + assert len(res.payments) >= 1 # we have one of these + def check_double_spend_detection(self): print('Checking double spend detection') txes = [[None, None], [None, None]] diff --git a/tests/functional_tests/txpool.py b/tests/functional_tests/txpool.py index 71109c9e5..b6af4c84f 100755 --- a/tests/functional_tests/txpool.py +++ b/tests/functional_tests/txpool.py @@ -28,7 +28,7 @@ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -import time +from __future__ import print_function """Test txpool """ @@ -38,12 +38,19 @@ from framework.wallet import Wallet class TransferTest(): def run_test(self): + self.reset() self.create() self.mine() self.check_txpool() + def reset(self): + print('Resetting blockchain') + daemon = Daemon() + daemon.pop_blocks(1000) + daemon.flush_txpool() + def create(self): - print 'Creating wallet' + print('Creating wallet') wallet = Wallet() # close the wallet if any, will throw if none is loaded try: wallet.close_wallet() @@ -107,15 +114,16 @@ class TransferTest(): assert sorted(res.tx_hashes) == sorted(txes.keys()) print('Flushing 2 transactions') - daemon.flush_txpool([txes.keys()[1], txes.keys()[3]]) + txes_keys = list(txes.keys()) + daemon.flush_txpool([txes_keys[1], txes_keys[3]]) res = daemon.get_transaction_pool() assert len(res.transactions) == txpool_size - 2 - assert len([x for x in res.transactions if x.id_hash == txes.keys()[1]]) == 0 - assert len([x for x in res.transactions if x.id_hash == txes.keys()[3]]) == 0 + assert len([x for x in res.transactions if x.id_hash == txes_keys[1]]) == 0 + assert len([x for x in res.transactions if x.id_hash == txes_keys[3]]) == 0 - new_keys = txes.keys() - new_keys.remove(txes.keys()[1]) - new_keys.remove(txes.keys()[3]) + new_keys = list(txes.keys()) + new_keys.remove(txes_keys[1]) + new_keys.remove(txes_keys[3]) res = daemon.get_transaction_pool_hashes() assert sorted(res.tx_hashes) == sorted(new_keys) diff --git a/tests/functional_tests/wallet_address.py b/tests/functional_tests/wallet_address.py index cb9c52e7a..4ff059a6f 100755 --- a/tests/functional_tests/wallet_address.py +++ b/tests/functional_tests/wallet_address.py @@ -29,8 +29,6 @@ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -import time - """Test transaction creation RPC calls Test the following RPCs: @@ -38,10 +36,13 @@ Test the following RPCs: """ +from __future__ import print_function from framework.wallet import Wallet +from framework.daemon import Daemon class WalletAddressTest(): def run_test(self): + self.reset() self.create() self.check_main_address() self.check_keys() @@ -49,8 +50,14 @@ class WalletAddressTest(): self.open_close() self.languages() + def reset(self): + print('Resetting blockchain') + daemon = Daemon() + daemon.pop_blocks(1000) + daemon.flush_txpool() + def create(self): - print 'Creating wallet' + print('Creating wallet') wallet = Wallet() # close the wallet if any, will throw if none is loaded try: wallet.close_wallet() @@ -61,7 +68,7 @@ class WalletAddressTest(): assert res.seed == seed def check_main_address(self): - print 'Getting address' + print('Getting address') wallet = Wallet() res = wallet.get_address() assert res.address == '42ey1afDFnn4886T7196doS9GPMzexD9gXpsZJDwVjeRVdFCSoHnv7KPbBeGpzJBzHRCAs9UxqeoyFQMYbqSWYTfJJQAWDm', res @@ -71,7 +78,7 @@ class WalletAddressTest(): assert res.addresses[0].used == False def check_keys(self): - print 'Checking keys' + print('Checking keys') wallet = Wallet() res = wallet.query_key('view_key') assert res.key == '49774391fa5e8d249fc2c5b45dadef13534bf2483dede880dac88f061e809100' @@ -81,7 +88,7 @@ class WalletAddressTest(): assert res.key == 'velvet lymph giddy number token physics poetry unquoted nibs useful sabotage limits benches lifestyle eden nitrogen anvil fewest avoid batch vials washing fences goat unquoted' def create_subaddresses(self): - print 'Creating subaddresses' + print('Creating subaddresses') wallet = Wallet() res = wallet.create_account("idx1") assert res.account_index == 1, res @@ -152,7 +159,7 @@ class WalletAddressTest(): assert res.index == {'major': 1, 'minor': 0} def open_close(self): - print 'Testing open/close' + print('Testing open/close') wallet = Wallet() res = wallet.get_address() @@ -192,7 +199,7 @@ class WalletAddressTest(): except: pass languages = res.languages for language in languages: - print 'Creating ' + str(language) + ' wallet' + print('Creating ' + str(language) + ' wallet') wallet.create_wallet(filename = '', language = language) res = wallet.query_key('mnemonic') wallet.close_wallet() diff --git a/tests/gtest/README.md b/tests/gtest/README.md index e0ea1b0f3..43a16bde0 100644 --- a/tests/gtest/README.md +++ b/tests/gtest/README.md @@ -14,15 +14,19 @@ Suppose you put Google Test in directory `${GTEST_DIR}`. To build it, create a library build target (or a project as called by Visual Studio and Xcode) to compile - ${GTEST_DIR}/src/gtest-all.cc +```bash +${GTEST_DIR}/src/gtest-all.cc +``` with `${GTEST_DIR}/include` in the system header search path and `${GTEST_DIR}` in the normal header search path. Assuming a Linux-like system and gcc, something like the following will do: - g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} \ - -pthread -c ${GTEST_DIR}/src/gtest-all.cc - ar -rv libgtest.a gtest-all.o +```bash +g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} \ + -pthread -c ${GTEST_DIR}/src/gtest-all.cc +ar -rv libgtest.a gtest-all.o +``` (We need `-pthread` as Google Test uses threads.) @@ -30,8 +34,10 @@ Next, you should compile your test source file with `${GTEST_DIR}/include` in the system header search path, and link it with gtest and any other necessary libraries: - g++ -isystem ${GTEST_DIR}/include -pthread path/to/your_test.cc libgtest.a \ - -o your_test +```bash +g++ -isystem ${GTEST_DIR}/include -pthread path/to/your_test.cc libgtest.a \ + -o your_test +``` As an example, the make/ directory contains a Makefile that you can use to build Google Test on systems where GNU make is available @@ -43,9 +49,11 @@ script. If the default settings are correct for your environment, the following commands should succeed: - cd ${GTEST_DIR}/make - make - ./sample1_unittest +```bash +cd ${GTEST_DIR}/make +make +./sample1_unittest +``` If you see errors, try to tweak the contents of `make/Makefile` to make them go away. There are instructions in `make/Makefile` on how to do @@ -62,14 +70,18 @@ CMake works by generating native makefiles or build projects that can be used in the compiler environment of your choice. The typical workflow starts with: - mkdir mybuild # Create a directory to hold the build output. - cd mybuild - cmake ${GTEST_DIR} # Generate native build scripts. +```bash +mkdir mybuild # Create a directory to hold the build output. +cd mybuild +cmake ${GTEST_DIR} # Generate native build scripts. +``` If you want to build Google Test's samples, you should replace the last command with - cmake -Dgtest_build_samples=ON ${GTEST_DIR} +```bash +cmake -Dgtest_build_samples=ON ${GTEST_DIR} +``` If you are on a \*nix system, you should now see a Makefile in the current directory. Just type 'make' to build gtest. @@ -108,7 +120,9 @@ end up in your selected build directory (selected in the Xcode "Preferences..." -> "Building" pane and defaults to xcode/build). Alternatively, at the command line, enter: - xcodebuild +```bash +xcodebuild +``` This will build the "Release" configuration of gtest.framework in your default build location. See the "xcodebuild" man page for more @@ -152,18 +166,24 @@ tell Google Test to use the same TR1 tuple library the rest of your project uses, or the two tuple implementations will clash. To do that, add - -DGTEST_USE_OWN_TR1_TUPLE=0 +```bash +-DGTEST_USE_OWN_TR1_TUPLE=0 +``` to the compiler flags while compiling Google Test and your tests. If you want to force Google Test to use its own tuple library, just add - -DGTEST_USE_OWN_TR1_TUPLE=1 +```bash +-DGTEST_USE_OWN_TR1_TUPLE=1 +``` to the compiler flags instead. If you don't want Google Test to use tuple at all, add - -DGTEST_HAS_TR1_TUPLE=0 +```bash +-DGTEST_HAS_TR1_TUPLE=0 +``` and all features using tuple will be disabled. @@ -177,11 +197,15 @@ macro to see whether this is the case (yes if the macro is `#defined` to If Google Test doesn't correctly detect whether pthread is available in your environment, you can force it with - -DGTEST_HAS_PTHREAD=1 +```bash +-DGTEST_HAS_PTHREAD=1 +``` or - -DGTEST_HAS_PTHREAD=0 +```bash +-DGTEST_HAS_PTHREAD=0 +``` When Google Test uses pthread, you may need to add flags to your compiler and/or linker to select the pthread library, or you'll get @@ -198,7 +222,9 @@ as a shared library (known as a DLL on Windows) if you prefer. To compile *gtest* as a shared library, add - -DGTEST_CREATE_SHARED_LIBRARY=1 +```bash +-DGTEST_CREATE_SHARED_LIBRARY=1 +``` to the compiler flags. You'll also need to tell the linker to produce a shared library instead - consult your linker's manual for how to do @@ -206,7 +232,9 @@ it. To compile your *tests* that use the gtest shared library, add - -DGTEST_LINKED_AS_SHARED_LIBRARY=1 +```bash +-DGTEST_LINKED_AS_SHARED_LIBRARY=1 +``` to the compiler flags. @@ -229,18 +257,24 @@ conflict. Specifically, if both Google Test and some other code define macro FOO, you can add - -DGTEST_DONT_DEFINE_FOO=1 +```bash +-DGTEST_DONT_DEFINE_FOO=1 +``` to the compiler flags to tell Google Test to change the macro's name from `FOO` to `GTEST_FOO`. Currently `FOO` can be `FAIL`, `SUCCEED`, or `TEST`. For example, with `-DGTEST_DONT_DEFINE_TEST=1`, you'll need to write - GTEST_TEST(SomeTest, DoesThis) { ... } +```c++ +GTEST_TEST(SomeTest, DoesThis) { ... } +``` instead of - TEST(SomeTest, DoesThis) { ... } +```c++ +TEST(SomeTest, DoesThis) { ... } +``` in order to define a test. @@ -254,9 +288,11 @@ To make sure your changes work as intended and don't break existing functionality, you'll want to compile and run Google Test's own tests. For that you can use CMake: - mkdir mybuild - cd mybuild - cmake -Dgtest_build_tests=ON ${GTEST_DIR} +```bash +mkdir mybuild +cd mybuild +cmake -Dgtest_build_tests=ON ${GTEST_DIR} +``` Make sure you have Python installed, as some of Google Test's tests are written in Python. If the cmake command complains about not being @@ -264,12 +300,16 @@ able to find Python (`Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE)`), try telling it explicitly where your Python executable can be found: - cmake -DPYTHON_EXECUTABLE=path/to/python -Dgtest_build_tests=ON ${GTEST_DIR} +```bash +cmake -DPYTHON_EXECUTABLE=path/to/python -Dgtest_build_tests=ON ${GTEST_DIR} +``` Next, you can build Google Test and all of its own tests. On \*nix, this is usually done by 'make'. To run the tests, do - make test +```bash +make test +``` All tests should pass. diff --git a/tests/hash-target.cpp b/tests/hash-target.cpp index 1e988c302..e95475cac 100644 --- a/tests/hash-target.cpp +++ b/tests/hash-target.cpp @@ -61,7 +61,7 @@ int main(int argc, char *argv[]) { for (int i = 31; i >= 0; i--) { val = val * 256 + 255; ((char *) &h)[i] = static_cast<char>(static_cast<uint64_t>(val / diff)); - val %= diff.convert_to<uint64_t>(); + val %= (diff & 0xffffffffffffffff).convert_to<uint64_t>(); } if (check_hash(h, diff) != true) { return 3; diff --git a/tests/performance_tests/check_hash.h b/tests/performance_tests/check_hash.h index d24001903..53746fec4 100644 --- a/tests/performance_tests/check_hash.h +++ b/tests/performance_tests/check_hash.h @@ -44,13 +44,13 @@ public: difficulty = difficulty_high; difficulty = (difficulty << 64) | difficulty_low; boost::multiprecision::uint256_t hash_value = std::numeric_limits<boost::multiprecision::uint256_t>::max() / hash_target; - ((uint64_t*)&hash)[0] = (hash_value << 64 >> 64).convert_to<uint64_t>(); + ((uint64_t*)&hash)[0] = (hash_value & 0xffffffffffffffff).convert_to<uint64_t>(); hash_value >>= 64; - ((uint64_t*)&hash)[1] = (hash_value << 64 >> 64).convert_to<uint64_t>(); + ((uint64_t*)&hash)[1] = (hash_value & 0xffffffffffffffff).convert_to<uint64_t>(); hash_value >>= 64; - ((uint64_t*)&hash)[2] = (hash_value << 64 >> 64).convert_to<uint64_t>(); + ((uint64_t*)&hash)[2] = (hash_value & 0xffffffffffffffff).convert_to<uint64_t>(); hash_value >>= 64; - ((uint64_t*)&hash)[3] = (hash_value << 64 >> 64).convert_to<uint64_t>(); + ((uint64_t*)&hash)[3] = (hash_value & 0xffffffffffffffff).convert_to<uint64_t>(); return true; } diff --git a/tests/unit_tests/CMakeLists.txt b/tests/unit_tests/CMakeLists.txt index 56a1f8c4d..1c4c4384c 100644 --- a/tests/unit_tests/CMakeLists.txt +++ b/tests/unit_tests/CMakeLists.txt @@ -72,6 +72,7 @@ set(unit_tests_sources parse_amount.cpp pruning.cpp random.cpp + rolling_median.cpp serialization.cpp sha256.cpp slow_memmem.cpp diff --git a/tests/unit_tests/ban.cpp b/tests/unit_tests/ban.cpp index 0b267172f..17fba90c6 100644 --- a/tests/unit_tests/ban.cpp +++ b/tests/unit_tests/ban.cpp @@ -36,6 +36,7 @@ #include "cryptonote_protocol/cryptonote_protocol_handler.inl" #define MAKE_IPV4_ADDRESS(a,b,c,d) epee::net_utils::ipv4_network_address{MAKE_IP(a,b,c,d),0} +#define MAKE_IPV4_SUBNET(a,b,c,d,e) epee::net_utils::ipv4_network_subnet{MAKE_IP(a,b,c,d),e} namespace cryptonote { class blockchain_storage; @@ -93,11 +94,10 @@ typedef nodetool::node_server<cryptonote::t_cryptonote_protocol_handler<test_cor static bool is_blocked(Server &server, const epee::net_utils::network_address &address, time_t *t = NULL) { - const std::string host = address.host_str(); - std::map<std::string, time_t> hosts = server.get_blocked_hosts(); + std::map<epee::net_utils::network_address, time_t> hosts = server.get_blocked_hosts(); for (auto rec: hosts) { - if (rec.first == host) + if (rec.first == address) { if (t) *t = rec.second; @@ -208,5 +208,37 @@ TEST(ban, limit) ASSERT_TRUE(is_blocked(server,MAKE_IPV4_ADDRESS(1,2,3,4))); } +TEST(ban, subnet) +{ + time_t seconds; + test_core pr_core; + cryptonote::t_cryptonote_protocol_handler<test_core> cprotocol(pr_core, NULL); + Server server(cprotocol); + cprotocol.set_p2p_endpoint(&server); + + ASSERT_TRUE(server.block_subnet(MAKE_IPV4_SUBNET(1,2,3,4,24), 10)); + ASSERT_TRUE(server.get_blocked_subnets().size() == 1); + ASSERT_TRUE(server.is_host_blocked(MAKE_IPV4_ADDRESS(1,2,3,4), &seconds)); + ASSERT_TRUE(seconds >= 9); + ASSERT_TRUE(server.is_host_blocked(MAKE_IPV4_ADDRESS(1,2,3,255), &seconds)); + ASSERT_TRUE(server.is_host_blocked(MAKE_IPV4_ADDRESS(1,2,3,0), &seconds)); + ASSERT_FALSE(server.is_host_blocked(MAKE_IPV4_ADDRESS(1,2,4,0), &seconds)); + ASSERT_FALSE(server.is_host_blocked(MAKE_IPV4_ADDRESS(1,2,2,0), &seconds)); + ASSERT_TRUE(server.unblock_subnet(MAKE_IPV4_SUBNET(1,2,3,8,24))); + ASSERT_TRUE(server.get_blocked_subnets().size() == 0); + ASSERT_FALSE(server.is_host_blocked(MAKE_IPV4_ADDRESS(1,2,3,255), &seconds)); + ASSERT_FALSE(server.is_host_blocked(MAKE_IPV4_ADDRESS(1,2,3,0), &seconds)); + ASSERT_TRUE(server.block_subnet(MAKE_IPV4_SUBNET(1,2,3,4,8), 10)); + ASSERT_TRUE(server.get_blocked_subnets().size() == 1); + ASSERT_TRUE(server.is_host_blocked(MAKE_IPV4_ADDRESS(1,255,3,255), &seconds)); + ASSERT_TRUE(server.is_host_blocked(MAKE_IPV4_ADDRESS(1,0,3,255), &seconds)); + ASSERT_FALSE(server.unblock_subnet(MAKE_IPV4_SUBNET(1,2,3,8,24))); + ASSERT_TRUE(server.get_blocked_subnets().size() == 1); + ASSERT_TRUE(server.block_subnet(MAKE_IPV4_SUBNET(1,2,3,4,8), 10)); + ASSERT_TRUE(server.get_blocked_subnets().size() == 1); + ASSERT_TRUE(server.unblock_subnet(MAKE_IPV4_SUBNET(1,255,0,0,8))); + ASSERT_TRUE(server.get_blocked_subnets().size() == 0); +} + namespace nodetool { template class node_server<cryptonote::t_cryptonote_protocol_handler<test_core>>; } namespace cryptonote { template class t_cryptonote_protocol_handler<test_core>; } diff --git a/tests/unit_tests/difficulty.cpp b/tests/unit_tests/difficulty.cpp index 090fecc84..a732e6969 100644 --- a/tests/unit_tests/difficulty.cpp +++ b/tests/unit_tests/difficulty.cpp @@ -42,13 +42,13 @@ static crypto::hash MKHASH(uint64_t high, uint64_t low) hash_target = (hash_target << 64) | low; boost::multiprecision::uint256_t hash_value = std::numeric_limits<boost::multiprecision::uint256_t>::max() / hash_target; crypto::hash h; - ((uint64_t*)&h)[0] = hash_value.convert_to<uint64_t>(); + ((uint64_t*)&h)[0] = (hash_value & 0xffffffffffffffff).convert_to<uint64_t>(); hash_value >>= 64; - ((uint64_t*)&h)[1] = hash_value.convert_to<uint64_t>(); + ((uint64_t*)&h)[1] = (hash_value & 0xffffffffffffffff).convert_to<uint64_t>(); hash_value >>= 64; - ((uint64_t*)&h)[2] = hash_value.convert_to<uint64_t>(); + ((uint64_t*)&h)[2] = (hash_value & 0xffffffffffffffff).convert_to<uint64_t>(); hash_value >>= 64; - ((uint64_t*)&h)[3] = hash_value.convert_to<uint64_t>(); + ((uint64_t*)&h)[3] = (hash_value & 0xffffffffffffffff).convert_to<uint64_t>(); return h; } diff --git a/tests/unit_tests/keccak.cpp b/tests/unit_tests/keccak.cpp index 37da65d76..f4d41a8fa 100644 --- a/tests/unit_tests/keccak.cpp +++ b/tests/unit_tests/keccak.cpp @@ -148,3 +148,20 @@ TEST(keccak, 137_and_1_136) TEST_KECCAK(137, chunks); } +TEST(keccak, alignment) +{ + uint8_t data[6064]; + __attribute__ ((aligned(16))) char adata[6000]; + + for (size_t i = 0; i < sizeof(data) / sizeof(data[0]); ++i) + data[i] = i & 1; + + uint8_t md[32], amd[32]; + for (int offset = 0; offset < 64; ++offset) + { + memcpy(adata, data + offset, 6000); + keccak((const uint8_t*)&data[offset], 6000, md, 32); + keccak((const uint8_t*)adata, 6000, amd, 32); + ASSERT_TRUE(!memcmp(md, amd, 32)); + } +} diff --git a/tests/unit_tests/logging.cpp b/tests/unit_tests/logging.cpp index 12d49e2fb..056eae604 100644 --- a/tests/unit_tests/logging.cpp +++ b/tests/unit_tests/logging.cpp @@ -44,7 +44,10 @@ static void init() static void cleanup() { + // windows does not let files be deleted if still in use, so leave droppings there +#ifndef _WIN32 boost::filesystem::remove(log_filename); +#endif } static size_t nlines(const std::string &str) diff --git a/tests/unit_tests/net.cpp b/tests/unit_tests/net.cpp index 77fb71d96..3acf75f3b 100644 --- a/tests/unit_tests/net.cpp +++ b/tests/unit_tests/net.cpp @@ -524,6 +524,24 @@ TEST(get_network_address, ipv4) EXPECT_STREQ("23.0.0.254:2000", address->str().c_str()); } +TEST(get_network_address, ipv4subnet) +{ + expect<epee::net_utils::ipv4_network_subnet> address = net::get_ipv4_subnet_address("0.0.0.0", true); + EXPECT_STREQ("0.0.0.0/32", address->str().c_str()); + + address = net::get_ipv4_subnet_address("0.0.0.0"); + EXPECT_TRUE(!address); + + address = net::get_ipv4_subnet_address("0.0.0.0/32"); + EXPECT_STREQ("0.0.0.0/32", address->str().c_str()); + + address = net::get_ipv4_subnet_address("0.0.0.0/0"); + EXPECT_STREQ("0.0.0.0/0", address->str().c_str()); + + address = net::get_ipv4_subnet_address("12.34.56.78/16"); + EXPECT_STREQ("12.34.0.0/16", address->str().c_str()); +} + namespace { using stream_type = boost::asio::ip::tcp; @@ -546,7 +564,7 @@ namespace connected(false) { acceptor.open(boost::asio::ip::tcp::v4()); - acceptor.bind(stream_type::endpoint{boost::asio::ip::tcp::v4(), 0}); + acceptor.bind(stream_type::endpoint{boost::asio::ip::address_v4::loopback(), 0}); acceptor.listen(); acceptor.async_accept(server, [this] (boost::system::error_code error) { this->connected = true; @@ -621,7 +639,8 @@ TEST(socks_client, connect_command) ASSERT_TRUE(test_client->set_connect_command("example.com", 8080)); EXPECT_FALSE(test_client->buffer().empty()); ASSERT_TRUE(net::socks::client::connect_and_send(std::move(test_client), io.acceptor.local_endpoint())); - while (!io.connected); + while (!io.connected) + ASSERT_FALSE(called); const std::uint8_t expected_bytes[] = { 4, 1, 0x1f, 0x90, 0x00, 0x00, 0x00, 0x01, 0x00, @@ -657,7 +676,8 @@ TEST(socks_client, connect_command_failed) ); EXPECT_FALSE(test_client->buffer().empty()); ASSERT_TRUE(net::socks::client::connect_and_send(std::move(test_client), io.acceptor.local_endpoint())); - while (!io.connected); + while (!io.connected) + ASSERT_FALSE(called); const std::uint8_t expected_bytes[] = { 4, 1, 0x0b, 0xb8, 0x00, 0x00, 0x13, 0x88, 0x00 @@ -713,7 +733,8 @@ TEST(socks_client, resolve_command) ASSERT_TRUE(test_client->set_resolve_command("example.com")); EXPECT_FALSE(test_client->buffer().empty()); ASSERT_TRUE(net::socks::client::connect_and_send(test_client, io.acceptor.local_endpoint())); - while (!io.connected); + while (!io.connected) + ASSERT_EQ(0u, test_client->called_); const std::uint8_t expected_bytes[] = { 4, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, @@ -753,7 +774,8 @@ TEST(socks_connector, host) boost::unique_future<boost::asio::ip::tcp::socket> sock = net::socks::connector{io.acceptor.local_endpoint()}("example.com", "8080", timeout); - while (!io.connected); + while (!io.connected) + ASSERT_FALSE(sock.is_ready()); const std::uint8_t expected_bytes[] = { 4, 1, 0x1f, 0x90, 0x00, 0x00, 0x00, 0x01, 0x00, 'e', 'x', 'a', 'm', 'p', 'l', 'e', '.', 'c', 'o', 'm', 0x00 @@ -779,7 +801,8 @@ TEST(socks_connector, ipv4) boost::unique_future<boost::asio::ip::tcp::socket> sock = net::socks::connector{io.acceptor.local_endpoint()}("250.88.125.99", "8080", timeout); - while (!io.connected); + while (!io.connected) + ASSERT_FALSE(sock.is_ready()); const std::uint8_t expected_bytes[] = { 4, 1, 0x1f, 0x90, 0xfa, 0x58, 0x7d, 0x63, 0x00 }; @@ -804,7 +827,8 @@ TEST(socks_connector, error) boost::unique_future<boost::asio::ip::tcp::socket> sock = net::socks::connector{io.acceptor.local_endpoint()}("250.88.125.99", "8080", timeout); - while (!io.connected); + while (!io.connected) + ASSERT_FALSE(sock.is_ready()); const std::uint8_t expected_bytes[] = { 4, 1, 0x1f, 0x90, 0xfa, 0x58, 0x7d, 0x63, 0x00 }; diff --git a/tests/unit_tests/output_distribution.cpp b/tests/unit_tests/output_distribution.cpp index 45f2c135b..38f442c59 100644 --- a/tests/unit_tests/output_distribution.cpp +++ b/tests/unit_tests/output_distribution.cpp @@ -62,6 +62,13 @@ public: return d; } + std::vector<uint64_t> get_block_weights(uint64_t start_offset, size_t count) const override + { + std::vector<uint64_t> weights; + while (count--) weights.push_back(1); + return weights; + } + uint64_t blockchain_height; }; @@ -84,36 +91,43 @@ bool get_output_distribution(uint64_t amount, uint64_t from, uint64_t to, uint64 return r && bc->get_output_distribution(amount, from, to, start_height, distribution, base); } +crypto::hash get_block_hash(uint64_t height) +{ + crypto::hash hash; + *((uint64_t*)&hash) = height; + return hash; +} + TEST(output_distribution, extend) { boost::optional<cryptonote::rpc::output_distribution_data> res; - res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 28, 29, false); + res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 28, 29, ::get_block_hash, false, test_distribution_size); ASSERT_TRUE(res != boost::none); ASSERT_EQ(res->distribution.size(), 2); ASSERT_EQ(res->distribution, std::vector<uint64_t>({5, 0})); - res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 28, 29, true); + res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 28, 29, ::get_block_hash, true, test_distribution_size); ASSERT_TRUE(res != boost::none); ASSERT_EQ(res->distribution.size(), 2); ASSERT_EQ(res->distribution, std::vector<uint64_t>({55, 55})); - res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 28, 30, false); + res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 28, 30, ::get_block_hash, false, test_distribution_size); ASSERT_TRUE(res != boost::none); ASSERT_EQ(res->distribution.size(), 3); ASSERT_EQ(res->distribution, std::vector<uint64_t>({5, 0, 2})); - res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 28, 30, true); + res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 28, 30, ::get_block_hash, true, test_distribution_size); ASSERT_TRUE(res != boost::none); ASSERT_EQ(res->distribution.size(), 3); ASSERT_EQ(res->distribution, std::vector<uint64_t>({55, 55, 57})); - res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 28, 31, false); + res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 28, 31, ::get_block_hash, false, test_distribution_size); ASSERT_TRUE(res != boost::none); ASSERT_EQ(res->distribution.size(), 4); ASSERT_EQ(res->distribution, std::vector<uint64_t>({5, 0, 2, 3})); - res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 28, 31, true); + res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 28, 31, ::get_block_hash, true, test_distribution_size); ASSERT_TRUE(res != boost::none); ASSERT_EQ(res->distribution.size(), 4); ASSERT_EQ(res->distribution, std::vector<uint64_t>({55, 55, 57, 60})); @@ -123,7 +137,7 @@ TEST(output_distribution, one) { boost::optional<cryptonote::rpc::output_distribution_data> res; - res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 0, 0, false); + res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 0, 0, ::get_block_hash, false, test_distribution_size); ASSERT_TRUE(res != boost::none); ASSERT_EQ(res->distribution.size(), 1); ASSERT_EQ(res->distribution.back(), 0); @@ -133,7 +147,7 @@ TEST(output_distribution, full_cumulative) { boost::optional<cryptonote::rpc::output_distribution_data> res; - res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 0, 31, true); + res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 0, 31, ::get_block_hash, true, test_distribution_size); ASSERT_TRUE(res != boost::none); ASSERT_EQ(res->distribution.size(), 32); ASSERT_EQ(res->distribution.back(), 60); @@ -143,7 +157,7 @@ TEST(output_distribution, full_noncumulative) { boost::optional<cryptonote::rpc::output_distribution_data> res; - res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 0, 31, false); + res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 0, 31, ::get_block_hash, false, test_distribution_size); ASSERT_TRUE(res != boost::none); ASSERT_EQ(res->distribution.size(), 32); for (size_t i = 0; i < 32; ++i) @@ -154,7 +168,7 @@ TEST(output_distribution, part_cumulative) { boost::optional<cryptonote::rpc::output_distribution_data> res; - res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 4, 8, true); + res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 4, 8, ::get_block_hash, true, test_distribution_size); ASSERT_TRUE(res != boost::none); ASSERT_EQ(res->distribution.size(), 5); ASSERT_EQ(res->distribution, std::vector<uint64_t>({0, 1, 6, 7, 11})); @@ -164,7 +178,7 @@ TEST(output_distribution, part_noncumulative) { boost::optional<cryptonote::rpc::output_distribution_data> res; - res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 4, 8, false); + res = cryptonote::rpc::RpcHandler::get_output_distribution(::get_output_distribution, 0, 4, 8, ::get_block_hash, false, test_distribution_size); ASSERT_TRUE(res != boost::none); ASSERT_EQ(res->distribution.size(), 5); ASSERT_EQ(res->distribution, std::vector<uint64_t>({0, 1, 5, 1, 4})); diff --git a/tests/unit_tests/output_selection.cpp b/tests/unit_tests/output_selection.cpp index a528679e4..235b1c809 100644 --- a/tests/unit_tests/output_selection.cpp +++ b/tests/unit_tests/output_selection.cpp @@ -101,3 +101,120 @@ TEST(select_outputs, order) PICK(1); // then the one that's on the same height } +#define MKOFFSETS(N, n) \ + offsets.resize(N); \ + size_t n_outs = 0; \ + for (auto &offset: offsets) \ + { \ + offset = n_outs += (n); \ + } + +TEST(select_outputs, gamma) +{ + std::vector<uint64_t> offsets; + + MKOFFSETS(300000, 1); + tools::gamma_picker picker(offsets); + std::vector<double> ages(100000); + double age_scale = 120. * (offsets.size() / (double)n_outs); + for (size_t i = 0; i < ages.size(); ) + { + uint64_t o = picker.pick(); + if (o >= n_outs) + continue; + ages[i] = (n_outs - 1 - o) * age_scale; + ASSERT_GE(ages[i], 0); + ASSERT_LE(ages[i], offsets.size() * 120); + ++i; + } + double median = epee::misc_utils::median(ages); + MDEBUG("median age: " << median / 86400. << " days"); + ASSERT_GE(median, 1.3 * 86400); + ASSERT_LE(median, 1.4 * 86400); +} + +TEST(select_outputs, density) +{ + static const size_t NPICKS = 1000000; + std::vector<uint64_t> offsets; + + MKOFFSETS(300000, 1 + (rand() & 0x1f)); + tools::gamma_picker picker(offsets); + + std::vector<int> picks(/*n_outs*/offsets.size(), 0); + for (int i = 0; i < NPICKS; ) + { + uint64_t o = picker.pick(); + if (o >= n_outs) + continue; + auto it = std::lower_bound(offsets.begin(), offsets.end(), o); + auto idx = std::distance(offsets.begin(), it); + ASSERT_LT(idx, picks.size()); + ++picks[idx]; + ++i; + } + + for (int d = 1; d < 0x20; ++d) + { + // count the number of times an output in a block of d outputs was selected + // count how many outputs are in a block of d outputs + size_t count_selected = 0, count_chain = 0; + for (size_t i = 0; i < offsets.size(); ++i) + { + size_t n_outputs = offsets[i] - (i == 0 ? 0 : offsets[i - 1]); + if (n_outputs == d) + { + count_selected += picks[i]; + count_chain += d; + } + } + float selected_ratio = count_selected / (float)NPICKS; + float chain_ratio = count_chain / (float)n_outs; + MDEBUG(count_selected << "/" << NPICKS << " outputs selected in blocks of density " << d << ", " << 100.0f * selected_ratio << "%"); + MDEBUG(count_chain << "/" << offsets.size() << " outputs in blocks of density " << d << ", " << 100.0f * chain_ratio << "%"); + ASSERT_LT(fabsf(selected_ratio - chain_ratio), 0.025f); + } +} + +TEST(select_outputs, same_distribution) +{ + static const size_t NPICKS = 1000000; + std::vector<uint64_t> offsets; + + MKOFFSETS(300000, 1 + (rand() & 0x1f)); + tools::gamma_picker picker(offsets); + + std::vector<int> chain_picks(offsets.size(), 0); + std::vector<int> output_picks(n_outs, 0); + for (int i = 0; i < NPICKS; ) + { + uint64_t o = picker.pick(); + if (o >= n_outs) + continue; + auto it = std::lower_bound(offsets.begin(), offsets.end(), o); + auto idx = std::distance(offsets.begin(), it); + ASSERT_LT(idx, chain_picks.size()); + ++chain_picks[idx]; + ++output_picks[o]; + ++i; + } + + // scale them both to 0-100 + std::vector<int> chain_norm(100, 0), output_norm(100, 0); + for (size_t i = 0; i < output_picks.size(); ++i) + output_norm[i * 100 / output_picks.size()] += output_picks[i]; + for (size_t i = 0; i < chain_picks.size(); ++i) + chain_norm[i * 100 / chain_picks.size()] += chain_picks[i]; + + double max_dev = 0.0, avg_dev = 0.0; + for (size_t i = 0; i < 100; ++i) + { + const double diff = (double)output_norm[i] - (double)chain_norm[i]; + double dev = fabs(2.0 * diff / (output_norm[i] + chain_norm[i])); + ASSERT_LT(dev, 0.1); + avg_dev += dev; + } + avg_dev /= 100; + MDEBUG("avg_dev: " << avg_dev); + ASSERT_LT(avg_dev, 0.015); +} diff --git a/tests/unit_tests/rolling_median.cpp b/tests/unit_tests/rolling_median.cpp new file mode 100644 index 000000000..6d6adcc7d --- /dev/null +++ b/tests/unit_tests/rolling_median.cpp @@ -0,0 +1,202 @@ +// Copyright (c) 2019, The Monero Project +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are +// permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of +// conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, this list +// of conditions and the following disclaimer in the documentation and/or other +// materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its contributors may be +// used to endorse or promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#include <random> +#include "gtest/gtest.h" +#include "misc_language.h" +#include "rolling_median.h" +#include "crypto/crypto.h" + +TEST(rolling_median, one) +{ + epee::misc_utils::rolling_median_t<uint64_t> m(1); + m.insert(42); + ASSERT_EQ(m.median(), 42); + m.insert(18); + ASSERT_EQ(m.median(), 18); + m.insert(7483); + ASSERT_EQ(m.median(), 7483); +} + +TEST(rolling_median, two) +{ + epee::misc_utils::rolling_median_t<uint64_t> m(2); + m.insert(42); + ASSERT_EQ(m.median(), 42); + m.insert(45); + ASSERT_EQ(m.median(), 43); + m.insert(49); + ASSERT_EQ(m.median(), 47); + m.insert(41); + ASSERT_EQ(m.median(), 45); + m.insert(43); + ASSERT_EQ(m.median(), 42); + m.insert(40); + ASSERT_EQ(m.median(), 41); + m.insert(41); + ASSERT_EQ(m.median(), 40); +} + +TEST(rolling_median, series) +{ + epee::misc_utils::rolling_median_t<uint64_t> m(100); + std::vector<uint64_t> v; + v.reserve(100); + for (int i = 0; i < 10000; ++i) + { + uint64_t r = rand(); + v.push_back(r); + if (v.size() > 100) + v.erase(v.begin()); + m.insert(r); + std::vector<uint64_t> vcopy = v; + ASSERT_EQ(m.median(), epee::misc_utils::median(vcopy)); + } +} + +TEST(rolling_median, clear_whole) +{ + epee::misc_utils::rolling_median_t<uint64_t> m(100); + std::vector<uint64_t> random, median; + random.reserve(10000); + median.reserve(10000); + for (int i = 0; i < 10000; ++i) + { + random.push_back(rand()); + m.insert(random.back()); + median.push_back(m.median()); + } + m.clear(); + for (int i = 0; i < 10000; ++i) + { + m.insert(random[i]); + ASSERT_EQ(median[i], m.median()); + } +} + +TEST(rolling_median, clear_partway) +{ + epee::misc_utils::rolling_median_t<uint64_t> m(100); + std::vector<uint64_t> random, median; + random.reserve(10000); + median.reserve(10000); + for (int i = 0; i < 10000; ++i) + { + random.push_back(rand()); + m.insert(random.back()); + median.push_back(m.median()); + } + m.clear(); + for (int i = 10000 - 100; i < 10000; ++i) + { + m.insert(random[i]); + } + ASSERT_EQ(median[10000-1], m.median()); +} + +TEST(rolling_median, order) +{ + epee::misc_utils::rolling_median_t<uint64_t> m(1000); + std::vector<uint64_t> random; + random.reserve(1000); + for (int i = 0; i < 1000; ++i) + { + random.push_back(rand()); + m.insert(random.back()); + } + const uint64_t med = m.median(); + + std::sort(random.begin(), random.end(), [](uint64_t a, uint64_t b) { return a < b; }); + m.clear(); + for (int i = 0; i < 1000; ++i) + m.insert(random[i]); + ASSERT_EQ(med, m.median()); + + std::sort(random.begin(), random.end(), [](uint64_t a, uint64_t b) { return a > b; }); + m.clear(); + for (int i = 0; i < 1000; ++i) + m.insert(random[i]); + ASSERT_EQ(med, m.median()); + + std::shuffle(random.begin(), random.end(), std::default_random_engine(crypto::rand<unsigned>())); + m.clear(); + for (int i = 0; i < 1000; ++i) + m.insert(random[i]); + ASSERT_EQ(med, m.median()); +} + +TEST(rolling_median, history_blind) +{ + epee::misc_utils::rolling_median_t<uint64_t> m(10); + + uint64_t median = 0; + for (int i = 0; i < 1000; ++i) + { + m.clear(); + int history_length = 743723 % (i+1); + while (history_length--) + m.insert(743284 % (i+1)); + for (int j = 0; j < 10; ++j) + m.insert(8924829384 % (j+1)); + if (i == 0) + median = m.median(); + else + ASSERT_EQ(median, m.median()); + } +} + +TEST(rolling_median, size) +{ + epee::misc_utils::rolling_median_t<uint64_t> m(10); + + ASSERT_EQ(m.size(), 0); + m.insert(1); + ASSERT_EQ(m.size(), 1); + m.insert(2); + ASSERT_EQ(m.size(), 2); + m.clear(); + ASSERT_EQ(m.size(), 0); + for (int i = 0; i < 10; ++i) + { + m.insert(80 % (i + 1)); + ASSERT_EQ(m.size(), i + 1); + } + m.insert(1); + ASSERT_EQ(m.size(), 10); + m.insert(2); + ASSERT_EQ(m.size(), 10); + m.clear(); + ASSERT_EQ(m.size(), 0); + m.insert(4); + ASSERT_EQ(m.size(), 1); + for (int i = 0; i < 1000; ++i) + { + m.insert(80 % (i + 1)); + ASSERT_EQ(m.size(), std::min<int>(10, i + 2)); + } +} diff --git a/tests/unit_tests/uri.cpp b/tests/unit_tests/uri.cpp index df1dbc130..04d935751 100644 --- a/tests/unit_tests/uri.cpp +++ b/tests/unit_tests/uri.cpp @@ -144,9 +144,7 @@ TEST(uri, bad_payment_id) TEST(uri, short_payment_id) { - PARSE_URI("monero:" TEST_ADDRESS"?tx_payment_id=1234567890123456", true); - ASSERT_EQ(address, TEST_ADDRESS); - ASSERT_EQ(payment_id, "1234567890123456"); + PARSE_URI("monero:" TEST_ADDRESS"?tx_payment_id=1234567890123456", false); } TEST(uri, long_payment_id) diff --git a/translations/monero.ts b/translations/monero.ts index 45d85abbd..45a77007d 100644 --- a/translations/monero.ts +++ b/translations/monero.ts @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> -<TS version="2.0"> +<TS version="2.1"> <context> <name>Monero::AddressBookImpl</name> <message> @@ -37,42 +37,42 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="121"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="138"/> <source>daemon is busy. Please try again later.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="124"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="141"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="128"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="145"/> <source>transaction %s was rejected by daemon with status: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="133"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="150"/> <source>. Reason: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="135"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="152"/> <source>Unknown exception: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="138"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="155"/> <source>Unhandled exception</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="211"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="228"/> <source>Couldn't multisig sign data: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="233"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="250"/> <source>Couldn't sign multisig transaction: </source> <translation type="unfinished"></translation> </message> @@ -134,384 +134,384 @@ <context> <name>Monero::WalletImpl</name> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1383"/> + <location filename="../src/wallet/api/wallet.cpp" line="1459"/> <source>payment id has invalid format, expected 16 or 64 character hex string: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1392"/> + <location filename="../src/wallet/api/wallet.cpp" line="1468"/> <source>Failed to add short payment id: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1428"/> <location filename="../src/wallet/api/wallet.cpp" line="1510"/> + <location filename="../src/wallet/api/wallet.cpp" line="1592"/> <source>daemon is busy. Please try again later.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1430"/> <location filename="../src/wallet/api/wallet.cpp" line="1512"/> + <location filename="../src/wallet/api/wallet.cpp" line="1594"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1432"/> <location filename="../src/wallet/api/wallet.cpp" line="1514"/> + <location filename="../src/wallet/api/wallet.cpp" line="1596"/> <source>RPC error: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1434"/> + <location filename="../src/wallet/api/wallet.cpp" line="1516"/> <source>failed to get outputs to mix: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1460"/> - <location filename="../src/wallet/api/wallet.cpp" line="1545"/> + <location filename="../src/wallet/api/wallet.cpp" line="1542"/> + <location filename="../src/wallet/api/wallet.cpp" line="1627"/> <source>not enough outputs for specified ring size</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1462"/> - <location filename="../src/wallet/api/wallet.cpp" line="1547"/> + <location filename="../src/wallet/api/wallet.cpp" line="1544"/> + <location filename="../src/wallet/api/wallet.cpp" line="1629"/> <source>found outputs to use</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1464"/> + <location filename="../src/wallet/api/wallet.cpp" line="1546"/> <source>Please sweep unmixable outputs.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1438"/> - <location filename="../src/wallet/api/wallet.cpp" line="1521"/> + <location filename="../src/wallet/api/wallet.cpp" line="1520"/> + <location filename="../src/wallet/api/wallet.cpp" line="1603"/> <source>not enough money to transfer, available only %s, sent amount %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="541"/> + <location filename="../src/wallet/api/wallet.cpp" line="589"/> <source>failed to parse address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="552"/> + <location filename="../src/wallet/api/wallet.cpp" line="600"/> <source>failed to parse secret spend key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="567"/> + <location filename="../src/wallet/api/wallet.cpp" line="615"/> <source>Neither view key nor spend key supplied, cancelled</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="575"/> + <location filename="../src/wallet/api/wallet.cpp" line="623"/> <source>failed to parse secret view key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="584"/> + <location filename="../src/wallet/api/wallet.cpp" line="632"/> <source>failed to verify secret spend key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="588"/> + <location filename="../src/wallet/api/wallet.cpp" line="636"/> <source>spend key does not match address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="594"/> + <location filename="../src/wallet/api/wallet.cpp" line="642"/> <source>failed to verify secret view key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="598"/> + <location filename="../src/wallet/api/wallet.cpp" line="646"/> <source>view key does not match address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="621"/> - <location filename="../src/wallet/api/wallet.cpp" line="638"/> + <location filename="../src/wallet/api/wallet.cpp" line="669"/> + <location filename="../src/wallet/api/wallet.cpp" line="686"/> <source>failed to generate new wallet: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="686"/> + <location filename="../src/wallet/api/wallet.cpp" line="734"/> <source>Electrum seed is empty</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="695"/> + <location filename="../src/wallet/api/wallet.cpp" line="743"/> <source>Electrum-style word list failed verification</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="885"/> + <location filename="../src/wallet/api/wallet.cpp" line="955"/> <source>Failed to send import wallet request</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1049"/> + <location filename="../src/wallet/api/wallet.cpp" line="1125"/> <source>Failed to load unsigned transactions</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1068"/> + <location filename="../src/wallet/api/wallet.cpp" line="1144"/> <source>Failed to load transaction from file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1084"/> + <location filename="../src/wallet/api/wallet.cpp" line="1160"/> <source>Wallet is view only</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1092"/> + <location filename="../src/wallet/api/wallet.cpp" line="1168"/> <source>failed to save file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1108"/> + <location filename="../src/wallet/api/wallet.cpp" line="1184"/> <source>Key images can only be imported with a trusted daemon</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1121"/> + <location filename="../src/wallet/api/wallet.cpp" line="1197"/> <source>Failed to import key images: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1153"/> + <location filename="../src/wallet/api/wallet.cpp" line="1229"/> <source>Failed to get subaddress label: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1166"/> + <location filename="../src/wallet/api/wallet.cpp" line="1242"/> <source>Failed to set subaddress label: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1183"/> + <location filename="../src/wallet/api/wallet.cpp" line="1259"/> <source>Failed to get multisig info: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1200"/> - <location filename="../src/wallet/api/wallet.cpp" line="1214"/> + <location filename="../src/wallet/api/wallet.cpp" line="1276"/> + <location filename="../src/wallet/api/wallet.cpp" line="1290"/> <source>Failed to make multisig: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1229"/> + <location filename="../src/wallet/api/wallet.cpp" line="1305"/> <source>Failed to finalize multisig wallet creation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1232"/> + <location filename="../src/wallet/api/wallet.cpp" line="1308"/> <source>Failed to finalize multisig wallet creation: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1248"/> + <location filename="../src/wallet/api/wallet.cpp" line="1324"/> <source>Failed to export multisig images: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1266"/> + <location filename="../src/wallet/api/wallet.cpp" line="1342"/> <source>Failed to parse imported multisig images</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1276"/> + <location filename="../src/wallet/api/wallet.cpp" line="1352"/> <source>Failed to import multisig images: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1290"/> + <location filename="../src/wallet/api/wallet.cpp" line="1366"/> <source>Failed to check for partial multisig key images: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1318"/> + <location filename="../src/wallet/api/wallet.cpp" line="1394"/> <source>Failed to restore multisig transaction: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1358"/> + <location filename="../src/wallet/api/wallet.cpp" line="1434"/> <source>Invalid destination address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2179"/> + <location filename="../src/wallet/api/wallet.cpp" line="2275"/> <source>Invalid output: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2186"/> + <location filename="../src/wallet/api/wallet.cpp" line="2282"/> <source>Failed to mark outputs as spent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2208"/> + <location filename="../src/wallet/api/wallet.cpp" line="2304"/> <source>Failed to mark output as spent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2230"/> + <location filename="../src/wallet/api/wallet.cpp" line="2326"/> <source>Failed to mark output as unspent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1445"/> - <location filename="../src/wallet/api/wallet.cpp" line="1529"/> + <location filename="../src/wallet/api/wallet.cpp" line="1527"/> + <location filename="../src/wallet/api/wallet.cpp" line="1611"/> <source>not enough money to transfer, overall balance only %s, sent amount %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1452"/> - <location filename="../src/wallet/api/wallet.cpp" line="1537"/> + <location filename="../src/wallet/api/wallet.cpp" line="1534"/> + <location filename="../src/wallet/api/wallet.cpp" line="1619"/> <source>not enough money to transfer, available only %s, transaction amount %s = %s + %s (fee)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1462"/> - <location filename="../src/wallet/api/wallet.cpp" line="1547"/> + <location filename="../src/wallet/api/wallet.cpp" line="1544"/> + <location filename="../src/wallet/api/wallet.cpp" line="1629"/> <source>output amount</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1467"/> - <location filename="../src/wallet/api/wallet.cpp" line="1551"/> + <location filename="../src/wallet/api/wallet.cpp" line="1549"/> + <location filename="../src/wallet/api/wallet.cpp" line="1633"/> <source>transaction was not constructed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1470"/> - <location filename="../src/wallet/api/wallet.cpp" line="1554"/> + <location filename="../src/wallet/api/wallet.cpp" line="1552"/> + <location filename="../src/wallet/api/wallet.cpp" line="1636"/> <source>transaction %s was rejected by daemon with status: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1475"/> - <location filename="../src/wallet/api/wallet.cpp" line="1559"/> + <location filename="../src/wallet/api/wallet.cpp" line="1557"/> + <location filename="../src/wallet/api/wallet.cpp" line="1641"/> <source>one of destinations is zero</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1477"/> - <location filename="../src/wallet/api/wallet.cpp" line="1561"/> + <location filename="../src/wallet/api/wallet.cpp" line="1559"/> + <location filename="../src/wallet/api/wallet.cpp" line="1643"/> <source>failed to find a suitable way to split transactions</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1479"/> - <location filename="../src/wallet/api/wallet.cpp" line="1563"/> + <location filename="../src/wallet/api/wallet.cpp" line="1561"/> + <location filename="../src/wallet/api/wallet.cpp" line="1645"/> <source>unknown transfer error: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1481"/> - <location filename="../src/wallet/api/wallet.cpp" line="1565"/> + <location filename="../src/wallet/api/wallet.cpp" line="1563"/> + <location filename="../src/wallet/api/wallet.cpp" line="1647"/> <source>internal error: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1483"/> - <location filename="../src/wallet/api/wallet.cpp" line="1567"/> + <location filename="../src/wallet/api/wallet.cpp" line="1565"/> + <location filename="../src/wallet/api/wallet.cpp" line="1649"/> <source>unexpected error: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1485"/> - <location filename="../src/wallet/api/wallet.cpp" line="1569"/> + <location filename="../src/wallet/api/wallet.cpp" line="1567"/> + <location filename="../src/wallet/api/wallet.cpp" line="1651"/> <source>unknown error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1516"/> + <location filename="../src/wallet/api/wallet.cpp" line="1598"/> <source>failed to get outputs to mix</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1644"/> - <location filename="../src/wallet/api/wallet.cpp" line="1671"/> - <location filename="../src/wallet/api/wallet.cpp" line="1719"/> - <location filename="../src/wallet/api/wallet.cpp" line="1747"/> - <location filename="../src/wallet/api/wallet.cpp" line="1775"/> - <location filename="../src/wallet/api/wallet.cpp" line="1796"/> - <location filename="../src/wallet/api/wallet.cpp" line="2258"/> + <location filename="../src/wallet/api/wallet.cpp" line="1726"/> + <location filename="../src/wallet/api/wallet.cpp" line="1753"/> + <location filename="../src/wallet/api/wallet.cpp" line="1801"/> + <location filename="../src/wallet/api/wallet.cpp" line="1829"/> + <location filename="../src/wallet/api/wallet.cpp" line="1857"/> + <location filename="../src/wallet/api/wallet.cpp" line="1878"/> + <location filename="../src/wallet/api/wallet.cpp" line="2354"/> <source>Failed to parse txid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1661"/> + <location filename="../src/wallet/api/wallet.cpp" line="1743"/> <source>no tx keys found for this txid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1679"/> - <location filename="../src/wallet/api/wallet.cpp" line="1688"/> + <location filename="../src/wallet/api/wallet.cpp" line="1761"/> + <location filename="../src/wallet/api/wallet.cpp" line="1770"/> <source>Failed to parse tx key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1697"/> - <location filename="../src/wallet/api/wallet.cpp" line="1726"/> - <location filename="../src/wallet/api/wallet.cpp" line="1754"/> - <location filename="../src/wallet/api/wallet.cpp" line="1835"/> + <location filename="../src/wallet/api/wallet.cpp" line="1779"/> + <location filename="../src/wallet/api/wallet.cpp" line="1808"/> + <location filename="../src/wallet/api/wallet.cpp" line="1836"/> + <location filename="../src/wallet/api/wallet.cpp" line="1917"/> <source>Failed to parse address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1840"/> + <location filename="../src/wallet/api/wallet.cpp" line="1922"/> <source>Address must not be a subaddress</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1880"/> + <location filename="../src/wallet/api/wallet.cpp" line="1962"/> <source>The wallet must be in multisig ready state</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1902"/> + <location filename="../src/wallet/api/wallet.cpp" line="1984"/> <source>Given string is not a key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2130"/> + <location filename="../src/wallet/api/wallet.cpp" line="2226"/> <source>Rescan spent can only be used with a trusted daemon</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2197"/> - <location filename="../src/wallet/api/wallet.cpp" line="2219"/> + <location filename="../src/wallet/api/wallet.cpp" line="2293"/> + <location filename="../src/wallet/api/wallet.cpp" line="2315"/> <source>Failed to parse output amount</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2202"/> - <location filename="../src/wallet/api/wallet.cpp" line="2224"/> + <location filename="../src/wallet/api/wallet.cpp" line="2298"/> + <location filename="../src/wallet/api/wallet.cpp" line="2320"/> <source>Failed to parse output offset</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2241"/> - <location filename="../src/wallet/api/wallet.cpp" line="2280"/> + <location filename="../src/wallet/api/wallet.cpp" line="2337"/> + <location filename="../src/wallet/api/wallet.cpp" line="2376"/> <source>Failed to parse key image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2247"/> + <location filename="../src/wallet/api/wallet.cpp" line="2343"/> <source>Failed to get ring</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2265"/> + <location filename="../src/wallet/api/wallet.cpp" line="2361"/> <source>Failed to get rings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2286"/> + <location filename="../src/wallet/api/wallet.cpp" line="2382"/> <source>Failed to set ring</source> <translation type="unfinished"></translation> </message> @@ -519,22 +519,22 @@ <context> <name>Wallet</name> <message> - <location filename="../src/wallet/api/wallet.cpp" line="301"/> + <location filename="../src/wallet/api/wallet.cpp" line="344"/> <source>Failed to parse address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="308"/> + <location filename="../src/wallet/api/wallet.cpp" line="351"/> <source>Failed to parse key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="316"/> + <location filename="../src/wallet/api/wallet.cpp" line="359"/> <source>failed to verify key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="326"/> + <location filename="../src/wallet/api/wallet.cpp" line="369"/> <source>key does not match address</source> <translation type="unfinished"></translation> </message> @@ -604,803 +604,881 @@ <context> <name>cryptonote::simple_wallet</name> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3895"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4172"/> <source>Daemon uses a different RPC major version (%u) than the wallet (%u): %s. Either update one of them, or use --allow-mismatched-daemon-version.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3926"/> - <source>Enter the number corresponding to the language of your choice: </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5486"/> - <source>There is currently a %u block backlog at that fee level. Is this okay? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5537"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6037"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5938"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6428"/> <source>Spending from address index %d </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5541"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5942"/> <source>Sending %s. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5544"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5945"/> <source>Your transaction needs to be split into %llu transactions. This will result in a transaction fee being applied to each transaction, for a total fee of %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5550"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5951"/> <source>The transaction fee is %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5553"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5954"/> <source>, of which %s is dust from change</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5554"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5955"/> <source>A total of %s from dust change will be sent to dust address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5559"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5960"/> <source>. This transaction will unlock on block %llu, in approximately %s days (assuming 2 minutes per block)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5775"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6176"/> <source>Not enough money in unlocked balance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5815"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6216"/> <source>No address given</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5879"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6280"/> <source>missing lockedblocks parameter</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5889"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6290"/> <source>bad locked_blocks parameter</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6213"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6601"/> <source>failed to parse Payment ID</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6236"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2078"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2125"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6624"/> <source>failed to parse key image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6290"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6678"/> <source>No outputs found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6295"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6683"/> <source>Multiple transactions are created, which is not supposed to happen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6300"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6688"/> <source>The transaction uses multiple or no inputs, which is not supposed to happen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6350"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6738"/> <source>Money successfully sent, transaction: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6377"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6765"/> <source>missing threshold amount</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6382"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6770"/> <source>invalid amount threshold</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6516"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6919"/> <source>Claimed change does not go to a paid address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6521"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6924"/> <source>Claimed change is larger than payment to the change address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6530"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6933"/> <source>Change goes to more than one address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6552"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6955"/> <source>sending %s to %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6562"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6965"/> <source> dummy output(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6565"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6968"/> <source>with no destinations</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6574"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6977"/> <source>no change</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6577"/> - <source>Loaded %lu transactions, for %s, fee %s, %s, %s, with min ring size %lu, %s. %sIs this okay? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3204"/> - <source>(Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3705"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3780"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5583"/> - <source>Is this okay? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4509"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4897"/> <source>Daemon is local, assuming trusted</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4355"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4632"/> <source>Password for new watch-only wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="341"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="362"/> <source>false</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="645"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="666"/> <source>Commands: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="659"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="680"/> <source>Unknown command: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="666"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="687"/> <source>Command usage: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="690"/> <source>Command description: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="695"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="716"/> <source>wallet is watch-only and has no spend key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="721"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="787"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="939"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="984"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1067"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1124"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1190"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1256"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1350"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1466"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1547"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6601"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6665"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6702"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6799"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7010"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7094"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8397"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8474"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8517"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8630"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8670"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="742"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="808"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="962"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1007"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1090"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1147"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1214"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1280"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1374"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1490"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7004"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7068"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7105"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7410"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7494"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8842"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8919"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8962"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9070"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9110"/> <source>command not supported by HW wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="726"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="797"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="747"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="818"/> <source>wallet is watch-only and has no seed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="735"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="756"/> <source>wallet is multisig but not yet finalized</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="744"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="807"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="828"/> <source>wallet is non-deterministic and has no seed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="768"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="789"/> <source>Failed to retrieve seed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="792"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="813"/> <source>wallet is multisig and has no seed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="817"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="838"/> <source>Incorrect password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="839"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1021"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1074"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1141"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="860"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1044"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1097"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1164"/> <source>Your original password was incorrect.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="854"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="875"/> <source>Error with wallet rewrite: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="870"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8144"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8587"/> <source>Random payment ID: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="883"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="906"/> <source>Current fee is %s %s per %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="899"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="922"/> <source>Error: failed to estimate backlog array size: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="904"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="927"/> <source>Error: bad estimated backlog array size</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="916"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="939"/> <source> (current)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="919"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="942"/> <source>%u block (%u minutes) backlog at priority %u%s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="921"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="944"/> <source>%u to %u block (%u to %u minutes) backlog at priority %u</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="924"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="947"/> <source>No backlog at priority </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="944"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="989"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="967"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1012"/> <source>This wallet is already multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="949"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="994"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1017"/> <source>wallet is watch-only and cannot be made multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="955"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1000"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="978"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1023"/> <source>This wallet has been used before, please use a new wallet to create a multisig wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="963"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="986"/> <source>Send this multisig info to all other participants, then use make_multisig <threshold> <info1> [<info2>...] with others' multisig info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="964"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="987"/> <source>This includes the PRIVATE view key, so needs to be disclosed only to that multisig wallet's participants </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1014"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1037"/> <source>Invalid threshold</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1034"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1156"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1057"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1179"/> <source>Another step is needed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1046"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1069"/> <source>Error creating multisig: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1053"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1076"/> <source>Error creating multisig: new wallet is not multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1056"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1079"/> <source> multisig address: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1080"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1129"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1195"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1261"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1103"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1152"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1219"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1285"/> <source>This wallet is not multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1085"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1134"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1108"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1157"/> <source>This wallet is already finalized</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1101"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1124"/> <source>Failed to finalize multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1107"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1130"/> <source>Failed to finalize multisig: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1200"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1266"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1360"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1476"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1557"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1191"/> + <source>Multisig address: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="1224"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1290"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1384"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1500"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1581"/> <source>This multisig wallet is not yet finalized</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1228"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8498"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8651"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1252"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8943"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9091"/> <source>failed to save file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1236"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1260"/> <source>Error exporting multisig info: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1240"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1264"/> <source>Multisig info exported to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1289"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8421"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8447"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8684"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1313"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8866"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8892"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9124"/> <source>failed to read file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1306"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1330"/> <source>Multisig info imported</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1310"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1334"/> <source>Failed to import multisig info: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1321"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1345"/> <source>Failed to update spent status after importing multisig info: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1327"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1351"/> <source>Untrusted daemon, spent status may be incorrect. Use a trusted daemon and run "rescan_spent"</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1355"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1471"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1552"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1379"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1495"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1576"/> <source>This is not a multisig wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1405"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1414"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1429"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1438"/> <source>Failed to sign multisig transaction</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1421"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1445"/> <source>Multisig error: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1426"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1450"/> <source>Failed to sign multisig transaction: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1435"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1448"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6646"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1459"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1472"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7049"/> <source>Transaction successfully signed to file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1449"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1473"/> <source>It may be relayed to the network with submit_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1508"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1578"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1532"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1602"/> <source>Failed to load multisig transaction from file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1514"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1583"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1538"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1607"/> <source>Multisig transaction signed by only %u signers, needs %u more signatures</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1523"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8890"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1547"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9330"/> <source>Transaction successfully submitted, transaction </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1524"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8891"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1548"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9331"/> <source>You can check its status by using the `show_transfers` command.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1534"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1613"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4749"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5061"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5639"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5669"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5794"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6099"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6126"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6361"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6690"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1558"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1637"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5152"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5469"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6040"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6070"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6195"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6490"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6517"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6749"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7093"/> <source>unknown error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1599"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1623"/> <source>Failed to export multisig transaction to file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1603"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1627"/> <source>Saved exported multisig transaction file(s): </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1608"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4744"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5056"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1632"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5147"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5464"/> <source>unexpected error: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1631"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1788"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1655"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1812"/> <source>Invalid key image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1637"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1661"/> <source>Invalid txid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1649"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1673"/> <source>Key image either not spent, or spent with mixin 0</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1664"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1688"/> <source>Failed to get key image ring: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1679"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1703"/> <source>File doesn't exist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1701"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1725"/> <source>Invalid ring specification: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1733"/> <source>Invalid key image: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1714"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1738"/> <source>Invalid ring type, expected relative or abosolute: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1720"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1732"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1744"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1756"/> <source>Error reading line: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1743"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1767"/> <source>Invalid ring: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1752"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1776"/> <source>Invalid relative ring: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1764"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1788"/> <source>Invalid absolute ring: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1773"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1797"/> <source>Failed to set ring for key image: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1773"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1797"/> <source>Continuing.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1803"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1827"/> <source>Missing absolute or relative keyword</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1813"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1820"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1837"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1844"/> <source>invalid index: must be a strictly positive unsigned integer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1828"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1852"/> <source>invalid index: indices wrap</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1838"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1862"/> <source>invalid index: indices should be in strictly ascending order</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1845"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1869"/> <source>failed to set ring</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1914"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1892"/> + <source>Invalid key image or txid</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="1901"/> + <source>failed to unset ring</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="1970"/> <source>Bad argument: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1914"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1970"/> <source>should be "add"</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1923"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1979"/> <source>Failed to open file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2007"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2063"/> <source>Failed to save known rings: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2069"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2088"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2072"/> + <source>usage: %s <key_image>|<pubkey></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2117"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2129"/> + <source>Frozen: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2131"/> + <source>Not frozen: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2138"/> + <source> bytes sent</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2139"/> + <source> bytes received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2145"/> + <source>Welcome to Monero, the private cryptocurrency.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2147"/> + <source>Monero, like Bitcoin, is a cryptocurrency. That is, it is digital money.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2148"/> + <source>Unlike Bitcoin, your Monero transactions and balance stay private, and not visible to the world by default.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2149"/> + <source>However, you have the option of making those available to select parties, if you choose to.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2151"/> + <source>Monero protects your privacy on the blockchain, and while Monero strives to improve all the time,</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2152"/> + <source>no privacy technology can be 100% perfect, Monero included.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2153"/> + <source>Monero cannot protect you from malware, and it may not be as effective as we hope against powerful adversaries.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2154"/> + <source>Flaws in Monero may be discovered in the future, and attacks may be developed to peek under some</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2155"/> + <source>of the layers of privacy Monero provides. Be safe and practice defense in depth.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2157"/> + <source>Welcome to Monero and financial privacy. For more information, see https://getmonero.org/</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2218"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2237"/> <source>wallet is watch-only and cannot transfer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2095"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2101"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2120"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2244"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2250"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2269"/> <source>ring size must be an integer >= </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2106"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5581"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2255"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5982"/> <source>WARNING: this is a non default ring size, which may harm your privacy. Default is recommended.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2125"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2274"/> <source>could not change default ring size</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2137"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2160"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2176"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2286"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2309"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2325"/> <source>priority must be either 0, 1, 2, 3, or 4, or one of: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2330"/> <source>could not change default priority</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2284"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2435"/> <source>invalid unit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2302"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2364"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2453"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2515"/> <source>invalid count: must be an unsigned integer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2320"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2471"/> <source>invalid value</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2398"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2469"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2549"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2620"/> <source>Invalid height</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2562"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2667"/> + <source>invalid argument: must be either 1/yes or 0/no</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2738"/> <source>Start mining in the daemon (bg_mining and ignore_battery are optional booleans).</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2565"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2741"/> <source>Stop mining in the daemon.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2569"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2745"/> <source>Set another daemon to connect to.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2572"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2748"/> <source>Save the current blockchain data.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2575"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2751"/> <source>Synchronize the transactions and balance.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2579"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2755"/> <source>Show the wallet's balance of the currently selected account.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2589"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2759"/> + <source>Show the incoming transfers, all or filtered by availability and address index. + +Output format: +Amount, Spent("T"|"F"), "frozen"|"locked"|"unlocked", RingCT, Global Index, Transaction Hash, Address Index, [Public Key, Key Image] </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2765"/> <source>Show the payments for the given payment IDs.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2592"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2768"/> <source>Show the blockchain height.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2603"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2779"/> <source>Send all unlocked balance to an address and lock it for <lockblocks> (max. 1000000). If the parameter "index<N1>[,<N2>,...]" is specified, the wallet sweeps outputs received by those address indices. If omitted, the wallet randomly chooses an address index to be used. <priority> is the priority of the sweep. The higher the priority, the higher the transaction fee. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command "set priority") is used. <ring_size> is the number of inputs to include for untraceability.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2606"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2782"/> <source>Send all unmixable outputs to yourself with ring_size 1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2613"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2789"/> <source>Send all unlocked outputs below the threshold to an address.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2617"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2793"/> <source>Send a single output of the given key image to an address without change.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2621"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2797"/> <source>Donate <amount> to the development team (donate.getmonero.org).</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2625"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2801"/> <source>Sign a transaction from a file. If the parameter "export_raw" is specified, transaction raw hex data suitable for the daemon RPC /sendrawtransaction is exported.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2628"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2804"/> <source>Submit a signed transaction from a file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2632"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2808"/> <source>Change the current log detail (level must be <0-4>).</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2636"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2812"/> <source>If no arguments are specified, the wallet shows all the existing accounts along with their balances. If the "new" argument is specified, the wallet creates a new account with its label initialized by the provided label text (which can be empty). If the "switch" argument is specified, the wallet switches to the account specified by <index>. @@ -1411,234 +1489,274 @@ If the "tag_description" argument is specified, the tag <tag_name&g <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2646"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2822"/> <source>If no arguments are specified or <index> is specified, the wallet shows the default or specified address. If "all" is specified, the wallet shows all the existing addresses in the currently selected account. If "new " is specified, the wallet creates a new address with the provided label text (which can be empty). If "label" is specified, the wallet sets the label of the address specified by <index> to the provided label text.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2650"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2826"/> <source>Encode a payment ID into an integrated address for the current wallet public address (no argument uses a random payment ID), or decode an integrated address to standard address and payment ID</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2654"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2830"/> <source>Print all entries in the address book, optionally adding/deleting an entry to/from it.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2657"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2833"/> <source>Save the wallet data.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2660"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2836"/> <source>Save a watch-only keys file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2663"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2839"/> <source>Display the private view key.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2666"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2842"/> <source>Display the private spend key.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2845"/> <source>Display the Electrum-style mnemonic seed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2719"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2849"/> + <source>Available options: + seed language + Set the wallet's seed language. + always-confirm-transfers <1|0> + Whether to confirm unsplit txes. + print-ring-members <1|0> + Whether to print detailed information about ring members during confirmation. + store-tx-info <1|0> + Whether to store outgoing tx info (destination address, payment ID, tx secret key) for future reference. + default-ring-size <n> + Set the default ring size (obsolete). + auto-refresh <1|0> + Whether to automatically synchronize new blocks from the daemon. + refresh-type <full|optimize-coinbase|no-coinbase|default> + Set the wallet's refresh behaviour. + priority [0|1|2|3|4] + Set the fee to default/unimportant/normal/elevated/priority. + confirm-missing-payment-id <1|0> (obsolete) + ask-password <0|1|2 (or never|action|decrypt)> + action: ask the password before many actions such as transfer, etc + decrypt: same as action, but keeps the spend key encrypted in memory when not needed + unit <monero|millinero|micronero|nanonero|piconero> + Set the default monero (sub-)unit. + min-outputs-count [n] + Try to keep at least that many outputs of value at least min-outputs-value. + min-outputs-value [n] + Try to keep at least min-outputs-count outputs of at least that value. + merge-destinations <1|0> + Whether to merge multiple payments to the same destination address. + confirm-backlog <1|0> + Whether to warn if there is transaction backlog. + confirm-backlog-threshold [n] + Set a threshold for confirm-backlog to only warn if the transaction backlog is greater than n blocks. + refresh-from-block-height [n] + Set the height before which to ignore blocks. + auto-low-priority <1|0> + Whether to automatically use the low priority fee level when it's safe to do so. + segregate-pre-fork-outputs <1|0> + Set this if you intend to spend outputs on both Monero AND a key reusing fork. + key-reuse-mitigation2 <1|0> + Set this if you are not sure whether you will spend on a key reusing Monero fork later. +subaddress-lookahead <major>:<minor> + Set the lookahead sizes for the subaddress hash table. + Set this if you are not sure whether you will spend on a key reusing Monero fork later. + segregation-height <n> + Set to the height of a key reusing fork you want to use, 0 to use default.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2897"/> <source>Display the encrypted Electrum-style mnemonic seed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2722"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2900"/> <source>Rescan the blockchain for spent outputs.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2726"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2904"/> <source>Get the transaction key (r) for a given <txid>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2730"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2908"/> <source>Set the transaction key (r) for a given <txid> in case the tx was made by some other device or 3rd party wallet.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2734"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2912"/> <source>Check the amount going to <address> in <txid>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2738"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2916"/> <source>Generate a signature proving funds sent to <address> in <txid>, optionally with a challenge string <message>, using either the transaction secret key (when <address> is not your wallet's address) or the view secret key (otherwise), which does not disclose the secret key.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2742"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2920"/> <source>Check the proof for funds going to <address> in <txid> with the challenge string <message> if any.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2746"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2924"/> <source>Generate a signature proving that you generated <txid> using the spend secret key, optionally with a challenge string <message>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2750"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2928"/> <source>Check a signature proving that the signer generated <txid>, optionally with a challenge string <message>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2754"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2932"/> <source>Generate a signature proving that you own at least this much, optionally with a challenge string <message>. If 'all' is specified, you prove the entire sum of all of your existing accounts' balances. Otherwise, you prove the reserve of the smallest possible amount above <amount> available in your current account.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2760"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2938"/> <source>Check a signature proving that the owner of <address> holds at least this much, optionally with a challenge string <message>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2780"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2958"/> <source>Show the unspent outputs of a specified address within an optional amount range.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2784"/> - <source>Rescan the blockchain from scratch, losing any information which can not be recovered from the blockchain itself.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2788"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2966"/> <source>Set an arbitrary string note for a <txid>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2792"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2970"/> <source>Get a string note for a txid.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2796"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2974"/> <source>Set an arbitrary description for the wallet.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2800"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2978"/> <source>Get the description of the wallet.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2803"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2981"/> <source>Show the wallet's status.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2806"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2984"/> <source>Show the wallet's information.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2810"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2988"/> <source>Sign the contents of a file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2814"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2992"/> <source>Verify a signature on the contents of a file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2822"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3000"/> <source>Import a signed key images list and verify their spent status.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2830"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3008"/> <source>Attempts to reconnect HW wallet.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2834"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3012"/> <source>Export a set of outputs owned by this wallet.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2838"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3016"/> <source>Import a set of outputs owned by this wallet.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2842"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3020"/> <source>Show information about a transfer to/from this address.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2845"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3023"/> <source>Change the wallet's password.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2849"/> - <source>Generate a new random full size payment id. These will be unencrypted on the blockchain, see integrated_address for encrypted short payment ids.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2852"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3030"/> <source>Print the information about the current fee and transaction backlog.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2854"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3032"/> <source>Export data needed to create a multisig wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2857"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3035"/> <source>Turn this wallet into a multisig wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2861"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3039"/> <source>Turn this wallet into a multisig wallet, extra step for N-1/N wallets</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2869"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3047"/> <source>Export multisig info for other participants</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2873"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3051"/> <source>Import multisig info from other participants</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2877"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3055"/> <source>Sign a multisig transaction from a file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2881"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3059"/> <source>Submit a signed multisig transaction from a file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2885"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3063"/> <source>Export a signed multisig transaction to a file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3150"/> <source>Print the ring(s) used to spend a given key image or transaction (if the ring size is > 1) Output format: @@ -1646,450 +1764,471 @@ Key Image, "absolute", list of rings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2978"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3156"/> <source>Set the ring used for a given key image, so it can be reused in a fork</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2982"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3160"/> + <source>Unsets the ring used for a given key image or transaction</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3164"/> <source>Save known rings to the shared rings database</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2998"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3180"/> + <source>Freeze a single output by key image so it will not be used</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3184"/> + <source>Thaw a single output by key image so it may be used again</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3188"/> + <source>Checks whether a given output is currently frozen by key image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3192"/> + <source>Prints simple network stats</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3196"/> + <source>Prints basic info about Monero for first time users</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3200"/> <source>Returns version information</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3002"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3204"/> <source>Show the help section or the documentation about a <command>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3059"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3258"/> + <source> (set this to support the network and to get a chance to receive new monero)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3269"/> <source>needs an argument</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3073"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3283"/> <source>set seed: needs an argument. available options: language</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3082"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3083"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3084"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3086"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3089"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3094"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3095"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3097"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3099"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3100"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3101"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3104"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3105"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3292"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3294"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3296"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3299"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3304"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3305"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3307"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3309"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3310"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3311"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3314"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3315"/> <source>0 or 1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3085"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3295"/> <source>integer >= </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3087"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3297"/> <source>full (slowest, no assumptions); optimize-coinbase (fast, assumes the whole coinbase is paid to a single address); no-coinbase (fastest, assumes we receive no coinbase transaction), default (same as optimize-coinbase)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3088"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3298"/> <source>0, 1, 2, 3, or 4, or one of </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3090"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3300"/> <source>0|1|2 (or never|action|decrypt)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3091"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3301"/> <source>monero, millinero, micronero, nanonero, piconero</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3092"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3096"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3103"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3306"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3313"/> <source>unsigned integer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3093"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3303"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>amount</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3308"/> <source>block height</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3102"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3312"/> <source><major>:<minor></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3108"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3316"/> + <source>1/yes or 0/no</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3319"/> <source>set: unrecognized argument(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3166"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3377"/> <source>Wallet name not valid. Please try again or use Ctrl-C to quit.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3178"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3389"/> <source>Attempting to generate or restore wallet, but specified file(s) exist. Exiting to not risk overwriting.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3183"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3394"/> <source>Wallet and key files found, loading...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3189"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3400"/> <source>Key file found but not wallet file. Regenerating...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3195"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3406"/> <source>Key file not found. Failed to open wallet: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3203"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3414"/> <source>No wallet found with that name. Confirm creation of new wallet named: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3214"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3425"/> <source>Generating new wallet...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3273"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3506"/> <source>Can't specify more than one of --testnet and --stagenet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3285"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3521"/> <source>can't specify more than one of --generate-new-wallet="wallet_name", --wallet-file="wallet_name", --generate-from-view-key="wallet_name", --generate-from-spend-key="wallet_name", --generate-from-keys="wallet_name", --generate-from-multisig-keys="wallet_name", --generate-from-json="jsonfilename" and --generate-from-device="wallet_name"</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3304"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3540"/> <source>can't specify both --restore-deterministic-wallet or --restore-multisig-wallet and --non-deterministic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3310"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3546"/> <source>--restore-multisig-wallet uses --generate-new-wallet, not --wallet-file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3312"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3548"/> <source>--restore-deterministic-wallet uses --generate-new-wallet, not --wallet-file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3326"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3562"/> <source>specify a recovery parameter with the --electrum-seed="multisig seed here"</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3341"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3577"/> <source>specify a recovery parameter with the --electrum-seed="words list here"</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3355"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3591"/> <source>Multisig seed failed verification</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3364"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3600"/> <source>Electrum-style word list failed verification</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3395"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3415"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3450"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3470"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3490"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3505"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3553"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3578"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3594"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3633"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3630"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3650"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3686"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3707"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3727"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3742"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3791"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3816"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3832"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3871"/> <source>No data supplied, cancelled</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3401"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3476"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3584"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5371"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5969"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6243"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6818"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6886"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6950"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7154"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8193"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8454"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3636"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3713"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3822"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5770"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6360"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6631"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7218"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7286"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7350"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7554"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8636"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8899"/> <source>failed to parse address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3406"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3481"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3641"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3718"/> <source>This address is a subaddress which cannot be used here.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3421"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3511"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3656"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3748"/> <source>failed to parse view key secret key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3430"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3528"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3665"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3765"/> <source>failed to verify view key secret key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3434"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3532"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3613"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3769"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3851"/> <source>view key does not match standard address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3439"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3459"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3536"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3674"/> <location filename="../src/simplewallet/simplewallet.cpp" line="3695"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3726"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3773"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3907"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3934"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3966"/> <source>account creation failed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3455"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3496"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3638"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3691"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3733"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3876"/> <source>failed to parse spend key secret key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3520"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3658"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3757"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3896"/> <source>failed to verify spend key secret key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3524"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3663"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3761"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3901"/> <source>spend key does not match standard address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3558"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3796"/> <source>Error: expected M/N, but got: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3563"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3801"/> <source>Error: expected N > 1 and N <= M, but got: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3568"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3806"/> <source>Error: M/N is currently unsupported. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3809"/> <source>Generating master wallet from %u of %u multisig wallet keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3600"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3838"/> <source>failed to parse secret view key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3608"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3846"/> <source>failed to verify secret view key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3628"/> - <source>Secret spend key (%u of %u):</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3651"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3889"/> <source>Error: M/N is currently unsupported</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3701"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3941"/> <source>No restore height is specified.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3702"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3942"/> <source>Assumed you are creating a new account, restore will be done from current estimated blockchain height.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3703"/> - <source>Use --restore-height if you want to restore an already setup account from a specific height</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3707"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3947"/> <source>account creation aborted</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3717"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3957"/> <source>specify a wallet path with --generate-new-wallet (not --wallet-file)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3761"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3788"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4021"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4041"/> <source>bad m_restore_height parameter: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3766"/> - <source>date format must be YYYY-MM-DD</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3779"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3985"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4032"/> <source>Restore height is: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3802"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4055"/> <source>Restore height </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3803"/> - <source>Still apply restore height? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3816"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4069"/> <source>can't specify --subaddress-lookahead and --wallet-file at the same time</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3820"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4073"/> <source>failed to open account</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3824"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4391"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4444"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4529"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6854"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4078"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4779"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4832"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4917"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7254"/> <source>wallet is null</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3829"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4083"/> <source>Warning: using an untrusted daemon at %s, privacy will be lessened</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3832"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4086"/> <source>Failed to initialize ring database: privacy enhancing features will be inactive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3887"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4164"/> <source>wallet failed to connect to daemon: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3888"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4165"/> <source>Daemon either is not started or wrong port was passed. Please make sure daemon is running or change the daemon address using the 'set_daemon' command.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3916"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4193"/> <source>List of available languages for your wallet's seed:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3917"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4194"/> <source>If your display freezes, exit blind with ^C, then run again with --use-english-language-names</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3935"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4212"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4217"/> <source>invalid language choice entered. Please try again. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3954"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4231"/> <source>invalid password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4000"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4277"/> <source>You had been using a deprecated version of the wallet. Please use the new seed that we provide. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4016"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4088"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4365"/> <source>Generated new wallet: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4019"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4296"/> <source>View key: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4025"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4093"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4135"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4188"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4370"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4412"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4465"/> <source>failed to generate new wallet: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4036"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4313"/> <source>Your wallet has been generated! To start synchronizing with the daemon, use the "refresh" command. Use the "help" command to see the list of available commands. @@ -2101,742 +2240,727 @@ your wallet again (your wallet keys are NOT at risk in any case). <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4407"/> <source>Generated new wallet on hw device: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4180"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4457"/> <source>failed to generate new mutlisig wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4183"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4460"/> <source>Generated new %u/%u multisig wallet: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4199"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4476"/> <source>wallet file path not valid: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4209"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4486"/> <source>Key file not found. Failed to open wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4230"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4507"/> <source>Opened watch-only wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4232"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4509"/> <source>Opened %u/%u multisig wallet%s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4511"/> <source>Opened wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4252"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4529"/> <source>You had been using a deprecated version of the wallet. Please proceed to upgrade your wallet. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4267"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4544"/> <source>You had been using a deprecated version of the wallet. Your wallet file format is being upgraded now. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4275"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4552"/> <source>failed to load wallet: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4292"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4569"/> <source>Use the "help" command to see the list of available commands. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4570"/> <source>Use "help <command>" to see a command's documentation. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4314"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4591"/> <source>failed to deinitialize wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4337"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4614"/> <source>Wallet data saved</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4351"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4628"/> <source>wallet is multisig and cannot save a watch-only version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4359"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4636"/> <source>failed to read wallet password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4367"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4644"/> <source>Watch only wallet saved as: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4371"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4648"/> <source>Failed to save watch only wallet: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4382"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5024"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8522"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4770"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5432"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8967"/> <source>this command requires a trusted daemon. Enable with --trusted-daemon</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4431"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4819"/> <source>Mining started in daemon</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4433"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4821"/> <source>mining has NOT been started: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4453"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4841"/> <source>Mining stopped in daemon</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4455"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4843"/> <source>mining has NOT been stopped: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4476"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4864"/> <source>Unexpected array length - Exited simple_wallet::set_daemon()</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4498"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4886"/> <source>Expected trusted or untrusted, got </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4515"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4903"/> <source>trusted</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4515"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4903"/> <source>untrusted</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4517"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4905"/> <source>This does not seem to be a valid daemon URL.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4537"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4925"/> <source>Blockchain saved</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4539"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4927"/> <source>blockchain can't be saved: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4552"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4589"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4973"/> <source>Height </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4553"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4590"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4941"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4974"/> <source>txid </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4555"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4592"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4943"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4976"/> <source>idx </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4569"/> - <source>NOTE: this transaction uses an encrypted payment ID: consider using subaddresses instead</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4572"/> - <source>WARNING: this transaction uses an unencrypted payment ID: consider using subaddresses instead</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4591"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4975"/> <source>spent </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4616"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5000"/> <source>Enter password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4698"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5089"/> <source>Starting refresh...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4712"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5108"/> + <source>New transfer received since rescan was started. Key images are incomplete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5115"/> <source>Refresh done, blocks received: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4720"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5038"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5123"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5446"/> <source>daemon is busy. Please try again later.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4724"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5042"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5127"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5450"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4729"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5051"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5132"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5459"/> <source>RPC error: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4734"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5137"/> <source>refresh error: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4739"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5142"/> <source>internal error: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4754"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5157"/> <source>refresh failed: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4754"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5157"/> <source>Blocks received: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4780"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5183"/> <source> (Some owned outputs have partial key images - import_multisig_info needed)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4782"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5185"/> <source> (Some owned outputs have missing key images - import_key_images needed)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4783"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5186"/> <source>Currently selected account: [</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4783"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5186"/> <source>] </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4785"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5188"/> <source>(No tag assigned)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4785"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5188"/> <source>Tag: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4786"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5194"/> <source>Balance: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4787"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5195"/> <source>unlocked balance: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4792"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5200"/> <source>Balance per address:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> <source>Address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> <source>Balance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> <source>Unlocked balance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> <source>Outputs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9122"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> <source>Label</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4801"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5209"/> <source>%8u %6s %21s %21s %7u %21s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5301"/> <source>pubkey</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5301"/> <source>key image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>spent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4910"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5318"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>unlocked</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>ringct</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>global index</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>tx id</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>addr index</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4909"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5312"/> + <source>Used at heights: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5317"/> <source>T</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4909"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5317"/> <source>F</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4910"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5318"/> <source>locked</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4911"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5318"/> + <source>[frozen]</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5319"/> <source>RingCT</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4911"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5319"/> <source>-</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4924"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5332"/> <source>No incoming transfers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4928"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5336"/> <source>No incoming available transfers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4932"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5340"/> <source>No incoming unavailable transfers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>payment</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>transaction</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>height</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>unlock time</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4968"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5376"/> <source>No payments with id </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4990"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5398"/> <source>payment ID has invalid format, expected 16 or 64 character hex string: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5016"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5106"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5442"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5901"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5424"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5514"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5843"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6302"/> <source>failed to get blockchain height: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5046"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5454"/> <source>failed to get spent status</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5114"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5522"/> <source> Transaction %llu/%llu: txid=%s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5538"/> <source>failed to find construction data for tx input</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5135"/> - <source> -Input %llu/%llu: amount=%s</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5151"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5559"/> <source>failed to get output: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5159"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5567"/> <source>output key's originating block height shouldn't be higher than the blockchain height</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5163"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5571"/> <source> Originating block heights: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5175"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5583"/> <source> |</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5175"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7706"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5583"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8110"/> <source>| </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5192"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5600"/> <source> Warning: Some input keys being spent are from </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5601"/> <source>the same transaction</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5601"/> <source>blocks that are temporally very close</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5194"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5602"/> <source>, which can break the anonymity of ring signature. Make sure this is intentional!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5234"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5853"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6156"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5642"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6254"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6547"/> <source>Ring size must not be 0</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5246"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5865"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6168"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5654"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6266"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6559"/> <source>ring size %u is too small, minimum is %u</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5251"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5870"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6173"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5659"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6271"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6564"/> <source>ring size %u is too large, maximum is %u</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5258"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5666"/> <source>wrong number of arguments</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5686"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5796"/> + <source>Warning: Unencrypted payment IDs will harm your privacy: ask the recipient to use subaddresses instead</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5690"/> <source>payment id failed to encode</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5340"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6295"/> + <source>Locked blocks too high, max 1000000 (˜4 yrs)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5737"/> <source>failed to parse short payment ID from URI</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5363"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5365"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5762"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5764"/> <source>Invalid last argument: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5382"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5782"/> <source>a single transaction cannot use more than one payment id</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5399"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5800"/> <source>failed to parse payment id, though it was detected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5914"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6182"/> - <source>Failed to parse number of outputs</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="5818"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6387"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6656"/> + <source>No payment id is included with this transaction. Is this okay?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5919"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6187"/> - <source>Amount of outputs should be greater than 0</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="5882"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5892"/> + <source>Is this okay anyway?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5958"/> - <source>payment id has invalid format, expected 16 or 64 character hex string: </source> + <location filename="../src/simplewallet/simplewallet.cpp" line="5887"/> + <source>There is currently a %u block backlog at that fee level. Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="6124"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6435"/> + <source>Sweeping %s in %llu transactions for a total fee of %s. Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="6130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6441"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6698"/> + <source>Sweeping %s for a total fee of %s. Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="6177"/> + <source>Discarding %s of unmixable outputs that cannot be spent, which can be undone by "rescan_spent". Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="6315"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6573"/> + <source>Failed to parse number of outputs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="6320"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6578"/> + <source>Amount of outputs should be greater than 0</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5276"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5395"/> - <source>Unencrypted payment IDs are bad for privacy: ask the recipient to use subaddresses instead</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="6349"/> + <source>payment id has invalid format, expected 16 or 64 character hex string: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5307"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5704"/> <source>bad locked_blocks parameter:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5978"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6251"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6369"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6639"/> <source>a single transaction cannot use more than one payment id: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5405"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5987"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6219"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6259"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5806"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6378"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6607"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6647"/> <source>failed to set up payment id, though it was decoded correctly</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1036"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1158"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1059"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1181"/> <source>Send this multisig info to all other participants, then use exchange_multisig_keys <info1> [<info2>...] with others' multisig info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1167"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1190"/> <source>Multisig wallet has been successfully created. Current wallet type: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1172"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1196"/> <source>Failed to perform multisig keys exchange: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1499"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1523"/> <source>Failed to load multisig transaction from MMS</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1935"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1991"/> <source>Failed to mark output spent: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1962"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2018"/> <source>Failed to mark output unspent: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1986"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2042"/> <source>Spent: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2044"/> <source>Not spent: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1992"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2048"/> <source>Failed to check whether output is spent: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2022"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2171"/> <source>Please confirm the transaction on the device</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2510"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2686"/> <source>Device name not specified</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2519"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2695"/> <source>Device reconnect failed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2524"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2700"/> <source>Device reconnect failed: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2583"/> - <source>Show the incoming transfers, all or filtered by availability and address index. - -Output format: -Amount, Spent("T"|"F"), "locked"|"unlocked", RingCT, Global Index, Transaction Hash, Address Index, [Public Key, Key Image] </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2673"/> - <source>Available options: - seed language - Set the wallet's seed language. - always-confirm-transfers <1|0> - Whether to confirm unsplit txes. - print-ring-members <1|0> - Whether to print detailed information about ring members during confirmation. - store-tx-info <1|0> - Whether to store outgoing tx info (destination address, payment ID, tx secret key) for future reference. - default-ring-size <n> - Set the default ring size (obsolete). - auto-refresh <1|0> - Whether to automatically synchronize new blocks from the daemon. - refresh-type <full|optimize-coinbase|no-coinbase|default> - Set the wallet's refresh behaviour. - priority [0|1|2|3|4] - Set the fee to default/unimportant/normal/elevated/priority. - confirm-missing-payment-id <1|0> - ask-password <0|1|2 (or never|action|decrypt)> - unit <monero|millinero|micronero|nanonero|piconero> - Set the default monero (sub-)unit. - min-outputs-count [n] - Try to keep at least that many outputs of value at least min-outputs-value. - min-outputs-value [n] - Try to keep at least min-outputs-count outputs of at least that value. - merge-destinations <1|0> - Whether to merge multiple payments to the same destination address. - confirm-backlog <1|0> - Whether to warn if there is transaction backlog. - confirm-backlog-threshold [n] - Set a threshold for confirm-backlog to only warn if the transaction backlog is greater than n blocks. - refresh-from-block-height [n] - Set the height before which to ignore blocks. - auto-low-priority <1|0> - Whether to automatically use the low priority fee level when it's safe to do so. - segregate-pre-fork-outputs <1|0> - Set this if you intend to spend outputs on both Monero AND a key reusing fork. - key-reuse-mitigation2 <1|0> - Set this if you are not sure whether you will spend on a key reusing Monero fork later. -subaddress-lookahead <major>:<minor> - Set the lookahead sizes for the subaddress hash table. - Set this if you are not sure whether you will spend on a key reusing Monero fork later. - segregation-height <n> - Set to the height of a key reusing fork you want to use, 0 to use default.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2943"/> <source>Show the incoming/outgoing transfers within an optional height range. Output format: @@ -2850,32 +2974,42 @@ Pending or Failed: "failed"|"pending", "o <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2775"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2953"/> <source>export_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] [output=<filepath>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2776"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2954"/> <source>Export to CSV the incoming/outgoing transfers within an optional height range.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2818"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2962"/> + <source>Rescan the blockchain from scratch. If "hard" is specified, you will lose any information which can not be recovered from the blockchain itself.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2996"/> <source>Export a signed set of key images to a <filename>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2826"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3004"/> <source>Synchronizes key images with the hw wallet.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2865"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3027"/> + <source>Generate a new random full size payment id (obsolete). These will be unencrypted on the blockchain, see integrated_address for encrypted short payment ids.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3043"/> <source>Performs extra multisig keys exchange rounds. Needed for arbitrary M/N multisig wallets</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2889"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3067"/> <source>Interface with the MMS (Multisig Messaging System) <subcommand> is one of: init, info, signer, list, next, sync, transfer, delete, send, receive, export, note, show, set, help @@ -2884,73 +3018,73 @@ Get help about a subcommand with: help mms <subcommand>, or mms help <s <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2897"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3075"/> <source>Initialize and configure the MMS for M/N = number of required signers/number of authorized signers multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2901"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3079"/> <source>Display current MMS configuration</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2905"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3083"/> <source>Set or modify authorized signer info (single-word label, transport address, Monero address), or list all signers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2909"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3087"/> <source>List all messages</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2913"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3091"/> <source>Evaluate the next possible multisig-related action(s) according to wallet state, and execute or offer for choice By using 'sync' processing of waiting messages with multisig sync info can be forced regardless of wallet state</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2918"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3096"/> <source>Force generation of multisig sync info regardless of wallet state, to recover from special situations like "stale data" errors</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2922"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3100"/> <source>Initiate transfer with MMS support; arguments identical to normal 'transfer' command arguments, for info see there</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2926"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3104"/> <source>Delete a single message by giving its id, or delete all messages by using 'all'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2930"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3108"/> <source>Send a single message by giving its id, or send all waiting messages</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2934"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3112"/> <source>Check right away for new messages to receive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2938"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3116"/> <source>Write the content of a message to a file "mms_message_content"</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2942"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3120"/> <source>Send a one-line message to an authorized signer, identified by its label, or show any waiting unread notes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2946"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3124"/> <source>Show detailed info about a single message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2950"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3128"/> <source>Available options: auto-send <1|0> Whether to automatically send newly generated messages right away. @@ -2958,1548 +3092,1638 @@ By using 'sync' processing of waiting messages with multisig sync info <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3134"/> <source>Send completed signer config to all other authorized signers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2960"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3138"/> <source>Start auto-config at the auto-config manager's wallet by issuing auto-config tokens and optionally set others' labels</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2964"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3142"/> <source>Delete any auto-config tokens and abort a auto-config process</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2968"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3146"/> <source>Start auto-config by using the token received from the auto-config manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2986"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3168"/> <source>Mark output(s) as spent so they never get selected as fake outputs in a ring</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2990"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3172"/> <source>Marks an output as unspent so it may get selected as a fake output in a ring</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2994"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3176"/> <source>Checks whether an output is marked as spent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3106"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3317"/> <source><device_name[:device_spec]></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3127"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3338"/> <source>wrong number range, use: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3232"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3443"/> <source>NOTE: the following %s can be used to recover access to your wallet. Write them down and store them somewhere safe and secure. Please do not store them in your email or on file storage services outside of your immediate control. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3445"/> <source>string</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3445"/> <source>25 words</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4631"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3866"/> + <source>Secret spend key (%u of %u)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3943"/> + <source>Use --restore-height or --restore-date if you want to restore an already setup account from a specific height.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3945"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4033"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5984"/> + <source>Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4056"/> + <source>Still apply restore height?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4203"/> + <source>Enter the number corresponding to the language of your choice</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <source>WARNING: this transaction uses an unencrypted payment ID: consider using subaddresses instead.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <source>WARNING: this transaction uses an unencrypted payment ID: these are obsolete. Support will be withdrawn in the future. Use subaddresses instead.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5015"/> <source>Device requires attention</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4639"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5023"/> <source>Enter device PIN</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4641"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5025"/> <source>Failed to read device PIN</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4648"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5032"/> <source>Please enter the device passphrase on the device</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4655"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5039"/> <source>Enter device passphrase</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4657"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5041"/> <source>Failed to read device passphrase</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4673"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5057"/> <source>The first refresh has finished for the HW-based wallet with received money. hw_key_images_sync is needed. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4675"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4753"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5059"/> <source>Do you want to do it now? (Y/Yes/N/No): </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4677"/> - <source>hw_key_images_sync skipped. Run command manually before a transfer.</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4093"/> + <source>If you are new to Monero, type "welcome" for a brief overview.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4855"/> - <source>Invalid keyword: </source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4098"/> + <source>WARNING: obsolete long payment IDs are enabled. Sending transactions with those payment IDs are bad for your privacy.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4904"/> - <source>Heights: </source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4100"/> + <source>It is recommended that you do not use them, and ask recipients who ask for one to not endanger your privacy.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5312"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5894"/> - <source>Locked blocks too high, max 1000000 (Ë4 yrs)</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4664"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4696"/> + <source>Failed to query mining status: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5354"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6417"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7115"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7600"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7608"/> - <source>amount is wrong: </source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4679"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4707"/> + <source>Failed to setup background mining: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5355"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6417"/> - <source>expected number from 0 to </source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4683"/> + <source>Background mining enabled. Thank you for supporting the Monero network.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5417"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5996"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6268"/> - <source>No payment id is included with this transaction. Is this okay? (Y/Yes/N/No): </source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4711"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4719"/> + <source>Background mining not enabled. Run "set setup-background-mining 1" to change.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5422"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5502"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5590"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5738"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6001"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6059"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6273"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6318"/> - <source>transaction cancelled.</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4725"/> + <source>Using an untrusted daemon, skipping background mining check</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5458"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6016"/> - <source>No outputs found, or daemon is not ready</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4750"/> + <source>The daemon is not set up to background mine.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4751"/> + <source>With background mining enabled, the daemon will mine when idle and not on batttery.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5481"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5491"/> - <source>Is this okay anyway? (Y/Yes/N/No): </source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4752"/> + <source>Enabling this supports the network you are using, and makes you eligible for receiving new monero</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5491"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4757"/> + <source>Background mining not enabled. Set setup-background-mining to 1 to change.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5061"/> + <source>hw_key_images_sync skipped. Run command manually before a transfer.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5263"/> + <source>Invalid keyword: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5543"/> + <source> +Input %llu/%llu (%s): amount=%s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5752"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6805"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7515"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8004"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8012"/> + <source>amount is wrong: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5753"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6805"/> + <source>expected number from 0 to </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5823"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5903"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5991"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6139"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6392"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6450"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6661"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6706"/> + <source>transaction cancelled.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5859"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6407"/> + <source>No outputs found, or daemon is not ready</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5892"/> <source>Failed to check for backlog: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5532"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6032"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5933"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6423"/> <source> Transaction </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5539"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6039"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6430"/> <source>WARNING: Outputs of multiple addresses are being used together, which might potentially compromise your privacy. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5554"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5955"/> <source>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5603"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6004"/> <source>Unsigned transaction(s) successfully written to MMS</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5611"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5648"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5749"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5761"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6070"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6107"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6328"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6340"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6012"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6049"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6150"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6162"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6461"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6498"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6716"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6728"/> <source>Failed to write transaction(s) to file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5616"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5653"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5753"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5765"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6074"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6111"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6332"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6344"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6017"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6054"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6154"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6166"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6465"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6502"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6720"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6732"/> <source>Unsigned transaction(s) successfully written to file: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5625"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6086"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6026"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6477"/> <source>Failed to cold sign transaction with HW wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5708"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6109"/> <source>No unmixable outputs found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5721"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6122"/> <source>Sweeping </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5723"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6044"/> - <source>Sweeping %s in %llu transactions for a total fee of %s. Is this okay? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5729"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6050"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6310"/> - <source>Sweeping %s for a total fee of %s. Is this okay? (Y/Yes/N/No): </source> + <location filename="../src/simplewallet/simplewallet.cpp" line="6816"/> + <source>Failed to parse donation address: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6428"/> - <source>Failed to parse donation address: </source> + <location filename="../src/simplewallet/simplewallet.cpp" line="6832"/> + <source>Donating %s %s to %s.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6444"/> - <source>Donating %s %s to %s.</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="6980"/> + <source>Loaded %lu transactions, for %s, fee %s, %s, %s, with min ring size %lu, %s. %sIs this okay?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7493"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7897"/> <source>usage: export_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] [output=<path>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>direction</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>timestamp</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>running balance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>hash</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>payment ID</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>fee</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>destination</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>index</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>note</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7572"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7976"/> <source>CSV exported to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7750"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8161"/> + <source>Rescan anyway?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="8172"/> + <source>Warning: your restore height is higher than wallet restore height: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="8173"/> + <source>Rescan anyway ? (Y/Yes/N/No): </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="8192"/> <source>MMS received new message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8385"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8654"/> + <source>Short payment IDs are to be used within an integrated address only</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="8830"/> <source>Normal</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8386"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9180"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8831"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9622"/> <source>Type: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8387"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8832"/> <source>Network type: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8388"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8833"/> <source>Testnet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8389"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8834"/> <source>Stagenet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8389"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8834"/> <source>Mainnet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9015"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9457"/> <source> (Y/Yes/N/No): </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9042"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9484"/> <source>Choose processing:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9051"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9493"/> <source>Sign tx</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9059"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9501"/> <source>Send the tx for submission to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9063"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9505"/> <source>Send the tx for signing to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9070"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9512"/> <source>Submit tx</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9073"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9515"/> <source>unknown</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9079"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9521"/> <source>Choice: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9091"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9533"/> <source>Wrong choice</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9540"/> <source>Id</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9540"/> <source>I/O</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9540"/> <source>Authorized Signer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Message Type</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Height</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>R</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Message State</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Since</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9116"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9558"/> <source> ago</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9122"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> <source>#</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9122"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> <source>Transport Address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9123"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9565"/> <source>Auto-Config Token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9123"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9565"/> <source>Monero Address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9127"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9135"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9137"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9569"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9577"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9579"/> <source><not set></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9178"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9620"/> <source>Message </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9179"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9621"/> <source>In/out: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9623"/> <source>State: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9623"/> <source>%s since %s, %s ago</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9185"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9627"/> <source>Sent: Never</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9189"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9631"/> <source>Sent: %s, %s ago</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9192"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9634"/> <source>Authorized signer: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9635"/> <source>Content size: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9635"/> <source> bytes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9194"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9636"/> <source>Content: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9194"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9636"/> <source>(binary data)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9224"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9666"/> <source>Send these messages now?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9676"/> <source>Queued for sending.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9254"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9696"/> <source>Invalid message id</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9263"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9705"/> <source>usage: mms init <required_signers>/<authorized_signers> <own_label> <own_transport_address></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9269"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9711"/> <source>The MMS is already initialized. Re-initialize by deleting all signer info and messages?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9284"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9726"/> <source>Error in the number of required signers and/or authorized signers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9301"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9743"/> <source>The MMS is not active.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9324"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9766"/> <source>Invalid signer number </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9329"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9771"/> <source>mms signer [<number> <label> [<transport_address> [<monero_address>]]]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9348"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9790"/> <source>Invalid Monero address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9355"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9797"/> <source>Wallet state does not allow changing Monero addresses anymore</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9367"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9809"/> <source>Usage: mms list</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9380"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9822"/> <source>Usage: mms next [sync]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9405"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9847"/> <source>No next step: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9415"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9857"/> <source>prepare_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9421"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9863"/> <source>make_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9436"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9878"/> <source>exchange_multisig_keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9451"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10013"/> <source>export_multisig_info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9460"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9902"/> <source>import_multisig_info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9473"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9915"/> <source>sign_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9483"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9925"/> <source>submit_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9493"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9935"/> <source>Send tx</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9504"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9946"/> <source>Process signer config</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9516"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9958"/> <source>Replace current signer config with the one displayed above?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9530"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9972"/> <source>Process auto config data</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9544"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9986"/> <source>Nothing ready to process</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10006"/> <source>Usage: mms sync</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9588"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10030"/> <source>Usage: mms delete (<message_id> | all)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9595"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10037"/> <source>Delete all messages?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9621"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10063"/> <source>Usage: mms send [<message_id>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9638"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10080"/> <source>Usage: mms receive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9655"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10097"/> <source>Usage: mms export <message_id></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9667"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10109"/> <source>Message content saved to: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9671"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10113"/> <source>Failed to to save message content</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9695"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10137"/> <source>Usage: mms note [<label> <text>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9702"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10144"/> <source>No signer found with label </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9724"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10166"/> <source>Usage: mms show <message_id></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9743"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10185"/> <source>Usage: mms set <option_name> [<option_value>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9760"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10202"/> <source>Wrong option value</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10207"/> <source>Auto-send is on</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10207"/> <source>Auto-send is off</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9770"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10212"/> <source>Unknown option</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9778"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10220"/> <source>Usage: mms help [<subcommand>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9794"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10236"/> <source>Usage: mms send_signer_config</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9800"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10242"/> <source>Signer config not yet complete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9815"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10257"/> <source>Usage: mms start_auto_config [<label> <label> ...]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9820"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10262"/> <source>There are signers without a label set. Complete labels before auto-config or specify them as parameters here.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9826"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10268"/> <source>Auto-config is already running. Cancel and restart?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9850"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10292"/> <source>Usage: mms stop_auto_config</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9853"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10295"/> <source>Delete any auto-config tokens and stop auto-config?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9866"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10308"/> <source>Usage: mms auto_config <auto_config_token></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9873"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10315"/> <source>Invalid auto-config token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9879"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10321"/> <source>Auto-config already running. Cancel and restart?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9911"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10339"/> + <source>MMS not available in this wallet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="10363"/> <source>The MMS is not active. Activate using the "mms init" command</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10440"/> <source>Invalid MMS subcommand</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9993"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9997"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10445"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10449"/> <source>Error in MMS command: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8407"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8852"/> <source>wallet is watch-only and cannot sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8412"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8857"/> <source>This wallet is multisig and cannot sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8461"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8906"/> <source>Bad signature from </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8465"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8910"/> <source>Good signature from </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8484"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8929"/> <source>wallet is watch-only and cannot export key images</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8509"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8954"/> <source>Signed key images exported to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8559"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8605"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8999"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9045"/> <source>command only supported by HW wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8564"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9004"/> <source>hw wallet does not support cold KI sync</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8576"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9016"/> <source>Please confirm the key image sync on the device</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8582"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9022"/> <source>Key images synchronized to height </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8585"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9025"/> <source>Running untrusted daemon, cannot determine which transaction output is spent. Use a trusted daemon with --trusted-daemon and run rescan_spent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8588"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9028"/> <source> spent, </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8588"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9028"/> <source> unspent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8592"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9032"/> <source>Failed to import key images</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8597"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9037"/> <source>Failed to import key images: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8614"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9054"/> <source>Failed to reconnect device</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8619"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9059"/> <source>Failed to reconnect device: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8662"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9102"/> <source>Outputs exported to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8813"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9253"/> <source>Double spend seen on the network: this transaction may or may not end up being mined</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8848"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9288"/> <source>Transaction ID not found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8883"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9323"/> <source>Transaction successfully saved to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8883"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8885"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9323"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9325"/> <source>, txid </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8885"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9325"/> <source>Failed to save transaction to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="336"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="357"/> <source>true</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="389"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="410"/> <source>failed to parse refresh type</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="751"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="772"/> <source>Enter optional seed offset passphrase, empty to see raw seed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3369"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3605"/> <source>Enter seed offset passphrase, empty if none</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4286"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4563"/> <source>You may want to remove the file "%s" and try again</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5776"/> - <source>Discarding %s of unmixable outputs that cannot be spent, which can be undone by "rescan_spent". Is this okay? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6442"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6830"/> <source>Donating %s %s to The Monero Project (donate.getmonero.org or %s).</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6606"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7009"/> <source>This is a multisig wallet, it can only sign with sign_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6611"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7014"/> <source>This is a watch only wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6629"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7032"/> <source>Failed to sign transaction</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6635"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7038"/> <source>Failed to sign transaction: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6656"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7059"/> <source>Transaction raw hex data exported to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6677"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7080"/> <source>Failed to load transaction from file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6713"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6749"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6811"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6860"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6942"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7027"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7062"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8267"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8295"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8714"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7116"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7154"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7211"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7260"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7342"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7427"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7462"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8711"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8739"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9154"/> <source>failed to parse txid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6727"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7132"/> <source>Tx key: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6732"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7137"/> <source>no tx keys found for this txid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6759"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6770"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6777"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7164"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7175"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7182"/> <source>failed to parse tx_key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6786"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7191"/> <source>Tx key successfully stored.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6790"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7195"/> <source>Failed to store tx key: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6829"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7041"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7229"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7441"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7530"/> <source>signature file saved to: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6831"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7043"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7132"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7231"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7443"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7532"/> <source>failed to save signature file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6835"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6923"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7001"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7235"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7323"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7401"/> <source>error: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6868"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6877"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7268"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7277"/> <source>failed to parse tx key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6899"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7299"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7372"/> <source>received</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6899"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7299"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7372"/> <source>in txid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6902"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6975"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7375"/> <source>WARNING: this transaction is not yet included in the blockchain!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6912"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6985"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7312"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7385"/> <source>WARNING: failed to determine number of confirmations!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6918"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6991"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7318"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7391"/> <source>received nothing in txid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6958"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7072"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7166"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7358"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7472"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7566"/> <source>failed to load signature file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6969"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7079"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7369"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7479"/> <source>Good signature</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6996"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7081"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7396"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7481"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7581"/> <source>Bad signature</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7020"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7420"/> <source>wallet is watch-only and cannot generate the proof</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7104"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7504"/> <source>The reserve proof can be generated only by a full wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7159"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7559"/> <source>Address must not be a subaddress</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7440"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7844"/> <source>usage: show_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7266"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7666"/> <source>bad min_height parameter:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7278"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7678"/> <source>bad max_height parameter:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7296"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7696"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>block</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7296"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7696"/> <source>in</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7365"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7767"/> <source>[Double spend seen on the network: this transaction may or may not end up being mined] </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7615"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8019"/> <source><min_amount> should be smaller than <max_amount></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7641"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8045"/> <source>There is no unspent output in the specified address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7647"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8051"/> <source> Amount: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7647"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8051"/> <source>, number of keys: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7652"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8056"/> <source> </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7657"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8061"/> <source> Min block height: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7658"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8062"/> <source> Max block height: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7659"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8063"/> <source> Min amount found: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7660"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8064"/> <source> Max amount found: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7661"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8065"/> <source> Total count: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7701"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8105"/> <source> Bin size: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7702"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8106"/> <source> Outputs per *: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7704"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8108"/> <source>count ^ </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7706"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8110"/> <source> |</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7708"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8112"/> <source> +</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7708"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8112"/> <source>+--> block height </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8113"/> <source> ^</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8113"/> <source>^ </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7710"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8114"/> <source> </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7730"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8159"/> <source>Warning: this will lose any information which can not be recovered from the blockchain.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7731"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8160"/> <source>This includes destination addresses, tx secret keys, tx notes, etc</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7732"/> - <source>Rescan anyway ? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7177"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7577"/> <source>Good signature -- total: %s, spent: %s, unspent: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1890"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1946"/> <source>First line is not an amount</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1904"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1960"/> <source>Invalid output: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1929"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1985"/> <source>Invalid output key, and file doesn't exist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1952"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1979"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2035"/> <source>Invalid output</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2108"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2257"/> <source>WARNING: from v8, ring size will be fixed and this setting will be ignored.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2249"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2400"/> <source>invalid argument: must be either 0/never, 1/action, or 2/encrypt/decrypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2595"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2771"/> <source>Transfer <amount> to <address>. If the parameter "index=<N1>[,<N2>,...]" is specified, the wallet uses outputs received by addresses of those indices. If omitted, the wallet randomly chooses address indices to be used. In any case, it tries its best not to combine outputs across multiple addresses. <priority> is the priority of the transaction. The higher the priority, the higher the transaction fee. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command "set priority") is used. <ring_size> is the number of inputs to include for untraceability. Multiple payments can be made at once by adding URI_2 or <address_2> <amount_2> etcetera (before the payment ID, if it's included)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2599"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2775"/> <source>Transfer <amount> to <address> and lock it for <lockblocks> (max. 1000000). If the parameter "index=<N1>[,<N2>,...]" is specified, the wallet uses outputs received by addresses of those indices. If omitted, the wallet randomly chooses address indices to be used. In any case, it tries its best not to combine outputs across multiple addresses. <priority> is the priority of the transaction. The higher the priority, the higher the transaction fee. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command "set priority") is used. <ring_size> is the number of inputs to include for untraceability. Multiple payments can be made at once by adding URI_2 or <address_2> <amount_2> etcetera (before the payment ID, if it's included)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2609"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2785"/> <source>Send all unlocked balance to an address. If the parameter "index<N1>[,<N2>,...]" is specified, the wallet sweeps outputs received by those address indices. If omitted, the wallet randomly chooses an address index to be used. If the parameter "outputs=<N>" is specified and N > 0, wallet splits the transaction into N even outputs.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4608"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4992"/> <source>Password needed (%s) - use the refresh command</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7797"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8240"/> <source>wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7799"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8242"/> <source> (no daemon)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7801"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8244"/> <source> (out of sync)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7852"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8295"/> <source>(Untitled account)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7865"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7883"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7908"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7931"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8077"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8100"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8308"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8326"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8351"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8374"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8520"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8543"/> <source>failed to parse index: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7870"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8082"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8313"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8525"/> <source>specify an index between 0 and </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8431"/> <source> Grand total: Balance: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8431"/> <source>, unlocked balance: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7996"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8439"/> <source>Untagged accounts:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8002"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8445"/> <source>Tag %s is unregistered.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8005"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8448"/> <source>Accounts with tag: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8006"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8449"/> <source>Tag's description: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> <source>Account</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8014"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8457"/> <source> %c%8u %6s %21s %21s %21s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8024"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8467"/> <source>----------------------------------------------------------------------------------</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8025"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8468"/> <source>%15s %21s %21s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8048"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8491"/> <source>Primary address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8048"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8491"/> <source>(used)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8069"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8512"/> <source>(Untitled address)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8109"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8552"/> <source><index_min> is already out of bound</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8114"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8557"/> <source><index_max> exceeds the bound</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8140"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8152"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8583"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8595"/> <source>Integrated addresses can only be created for account 0</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8145"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8588"/> <source>Matching integrated address: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8164"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8607"/> <source>Integrated address: %s, payment ID: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8169"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8612"/> <source>Subaddress: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8169"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8612"/> <source>Standard address: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8174"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8617"/> <source>failed to parse payment ID or address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8215"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8659"/> <source>failed to parse payment ID</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8233"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8677"/> <source>failed to parse index</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8241"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8685"/> <source>Address book is empty.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8247"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8691"/> <source>Index: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8248"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8378"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8692"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8823"/> <source>Address: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8249"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8693"/> <source>Payment ID: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8250"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8377"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8694"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8822"/> <source>Description: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8335"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8779"/> <source>no description found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8337"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8781"/> <source>description found: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8376"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8821"/> <source>Filename: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8381"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8826"/> <source>Watch only</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8383"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8828"/> <source>%u/%u multisig%s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6974"/> <source>%s change to %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6908"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6981"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7308"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7381"/> <source>This transaction has %u confirmations</source> <translation type="unfinished"></translation> </message> @@ -4751,311 +4975,321 @@ Use "mms note" to display the waiting notes</source> <context> <name>sw</name> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="125"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="135"/> <source>Generate new wallet and save it to <arg></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="126"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="136"/> <source>Generate new wallet from device and save it to <arg></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="127"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="137"/> <source>Generate incoming-only wallet from view key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="128"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="138"/> <source>Generate deterministic wallet from spend key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="129"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="139"/> <source>Generate wallet from private keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="140"/> <source>Generate a master wallet from multisig wallet keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="132"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="142"/> <source>Language for mnemonic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="133"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="143"/> <source>Specify Electrum seed for wallet recovery/creation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="134"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="144"/> <source>Recover wallet using Electrum-style mnemonic seed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="135"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="145"/> <source>Recover multisig wallet using Electrum-style mnemonic seed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="136"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="146"/> <source>Generate non-deterministic view and spend keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="276"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="149"/> + <source>Restore from estimated blockchain height on specified date</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="297"/> <source>failed to read wallet password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="283"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="304"/> <source>Enter a new password for the wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="283"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="304"/> <source>Wallet password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="361"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="382"/> <source>invalid argument: must be either 0/1, true/false, y/n, yes/no</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="417"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="438"/> <source>DNSSEC validation passed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="421"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="442"/> <source>WARNING: DNSSEC validation was unsuccessful, this address may not be correct!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="424"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="445"/> <source>For URL: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="426"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="447"/> <source> Monero Address = </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="428"/> - <source>Is this OK? (Y/n) </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="438"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="459"/> <source>you have cancelled the transfer request</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="459"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="480"/> <source>failed to parse index: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="472"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="493"/> <source>invalid format for subaddress lookahead; must be <major>:<minor></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="489"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="510"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="494"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="515"/> <source>RPC error: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="498"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="519"/> <source>failed to get random outputs to mix: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="505"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="513"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="526"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="534"/> <source>Not enough money in unlocked balance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="523"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="544"/> <source>Failed to find a way to create transactions. This is usually due to dust which is so small it cannot pay for itself in fees, or trying to send more money than the unlocked balance, or not leaving enough for fees</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="529"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="550"/> <source>not enough outputs for specified ring size</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="532"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="553"/> <source>output amount</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="532"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="553"/> <source>found outputs to use</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="534"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="555"/> <source>Please use sweep_unmixable.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="538"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="559"/> <source>transaction was not constructed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="543"/> - <source>transaction %s was rejected by daemon with status: </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="546"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="567"/> <source>Reason: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="555"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="576"/> <source>one of destinations is zero</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="560"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="581"/> <source>failed to find a suitable way to split transactions</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="566"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="587"/> <source>unknown transfer error: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="592"/> <source>Multisig error: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="577"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="598"/> <source>internal error: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="582"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="603"/> <source>unexpected error: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="586"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="607"/> <source>There was an error, which could mean the node may be trying to get you to retry creating a transaction, and zero in on which outputs you own. Or it could be a bona fide error. It may be prudent to disconnect from this node, and not try to send a transaction immediately. Alternatively, connect to another node so the original node cannot correlate information.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="596"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="617"/> <source>File %s likely stores wallet private keys! Use a different file name.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="599"/> - <source>File %s already exists. Are you sure to overwrite it? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7195"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7595"/> <source> seconds</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7197"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7597"/> <source> minutes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7199"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7599"/> <source> hours</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7601"/> <source> days</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7203"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7603"/> <source> months</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7204"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7604"/> <source>a long time</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9382"/> <source>This is the command line monero wallet. It needs to connect to a monero daemon to work correctly. WARNING: Do not reuse your Monero keys on another fork, UNLESS this fork has key reuse mitigations built in. Doing so will harm your privacy.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8965"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9407"/> <source>Unknown command: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="137"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="147"/> <source>Allow communicating with a daemon that uses a different RPC version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="138"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="148"/> <source>Restore from specific blockchain height</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="139"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="150"/> <source>The newly created transaction will not be relayed to the monero network</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="140"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="151"/> <source>Create an address file for new wallets</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="142"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="153"/> <source>Display English language names</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="293"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="485"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="154"/> + <source>Support obsolete long (unencrypted) payment ids (using them harms your privacy)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="314"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="506"/> <source>daemon is busy. Please try again later.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="323"/> <source>possibly lost connection to daemon</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="319"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="340"/> <source>Error: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8959"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="449"/> + <source>Is this OK?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="564"/> + <source>transaction %s was rejected by daemon</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="620"/> + <source>File %s already exists. Are you sure to overwrite it?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="9401"/> <source>Failed to initialize wallet</source> <translation type="unfinished"></translation> </message> @@ -5063,359 +5297,447 @@ WARNING: Do not reuse your Monero keys on another fork, UNLESS this fork has key <context> <name>tools::wallet2</name> <message> - <location filename="../src/wallet/wallet2.cpp" line="201"/> + <location filename="../src/wallet/wallet2.cpp" line="234"/> <source>Use daemon instance at <host>:<port></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="202"/> + <location filename="../src/wallet/wallet2.cpp" line="235"/> <source>Use daemon instance at host <arg> instead of localhost</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="206"/> + <location filename="../src/wallet/wallet2.cpp" line="240"/> <source>Wallet password file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="207"/> + <location filename="../src/wallet/wallet2.cpp" line="241"/> <source>Use daemon instance at port <arg> instead of 18081</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="209"/> + <location filename="../src/wallet/wallet2.cpp" line="250"/> <source>For testnet. Daemon must also be launched with --testnet flag</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="282"/> + <location filename="../src/wallet/wallet2.cpp" line="361"/> <source>can't specify daemon host or port more than once</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="355"/> + <location filename="../src/wallet/wallet2.cpp" line="480"/> <source>can't specify more than one of --password and --password-file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="368"/> + <location filename="../src/wallet/wallet2.cpp" line="493"/> <source>the password file specified could not be read</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="394"/> + <location filename="../src/wallet/wallet2.cpp" line="519"/> <source>Failed to load file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="205"/> + <location filename="../src/wallet/wallet2.cpp" line="239"/> <source>Wallet password (escape/quote as needed)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="203"/> + <location filename="../src/wallet/wallet2.cpp" line="236"/> + <source>[<ip>:]<port> socks proxy to use for daemon connections</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="237"/> <source>Enable commands which rely on a trusted daemon</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="204"/> + <location filename="../src/wallet/wallet2.cpp" line="238"/> <source>Disable commands which rely on a trusted daemon</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="208"/> + <location filename="../src/wallet/wallet2.cpp" line="242"/> <source>Specify username[:password] for daemon RPC client</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="210"/> + <location filename="../src/wallet/wallet2.cpp" line="243"/> + <source>Enable SSL on daemon RPC connections: enabled|disabled|autodetect</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="247"/> + <source>List of valid fingerprints of allowed RPC servers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="248"/> + <source>Allow any SSL certificate from the daemon</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="249"/> + <source>Allow user (via --daemon-ssl-ca-certificates) chain certificates</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="251"/> <source>For stagenet. Daemon must also be launched with --stagenet flag</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="212"/> + <location filename="../src/wallet/wallet2.cpp" line="253"/> <source>Set shared ring database path</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="223"/> + <location filename="../src/wallet/wallet2.cpp" line="264"/> <source>Number of rounds for the key derivation function</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="224"/> + <location filename="../src/wallet/wallet2.cpp" line="265"/> <source>HW device to use</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="225"/> + <location filename="../src/wallet/wallet2.cpp" line="266"/> <source>HW device wallet derivation path (e.g., SLIP-10)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="313"/> + <location filename="../src/wallet/wallet2.cpp" line="268"/> + <source>Do not use DNS</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="269"/> + <source>Do not connect to a daemon, nor use DNS</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="353"/> + <source>Invalid argument for </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="397"/> + <source>Enabling --</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="397"/> + <source> requires --</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="398"/> + <source> or --</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="398"/> + <source> or use of a .onion/.i2p domain</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="432"/> <source>--trusted-daemon and --untrusted-daemon are both seen, assuming untrusted</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="323"/> + <location filename="../src/wallet/wallet2.cpp" line="442"/> <source>Daemon is local, assuming trusted</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="375"/> + <location filename="../src/wallet/wallet2.cpp" line="500"/> <source>no password specified; use --prompt-for-password to prompt for a password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="377"/> + <location filename="../src/wallet/wallet2.cpp" line="502"/> <source>Enter a new password for the wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="377"/> + <location filename="../src/wallet/wallet2.cpp" line="502"/> <source>Wallet password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="400"/> + <location filename="../src/wallet/wallet2.cpp" line="525"/> <source>Failed to parse JSON</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="407"/> + <location filename="../src/wallet/wallet2.cpp" line="532"/> <source>Version %u too new, we can only grok up to %u</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="423"/> + <location filename="../src/wallet/wallet2.cpp" line="548"/> <source>failed to parse view key secret key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="428"/> - <location filename="../src/wallet/wallet2.cpp" line="496"/> - <location filename="../src/wallet/wallet2.cpp" line="539"/> + <location filename="../src/wallet/wallet2.cpp" line="553"/> + <location filename="../src/wallet/wallet2.cpp" line="621"/> + <location filename="../src/wallet/wallet2.cpp" line="666"/> <source>failed to verify view key secret key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="439"/> + <location filename="../src/wallet/wallet2.cpp" line="564"/> <source>failed to parse spend key secret key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="444"/> - <location filename="../src/wallet/wallet2.cpp" line="506"/> - <location filename="../src/wallet/wallet2.cpp" line="565"/> + <location filename="../src/wallet/wallet2.cpp" line="569"/> + <location filename="../src/wallet/wallet2.cpp" line="631"/> + <location filename="../src/wallet/wallet2.cpp" line="692"/> <source>failed to verify spend key secret key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="456"/> + <location filename="../src/wallet/wallet2.cpp" line="581"/> <source>Electrum-style word list failed verification</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="476"/> + <location filename="../src/wallet/wallet2.cpp" line="601"/> <source>At least one of either an Electrum-style word list, private view key, or private spend key must be specified</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="480"/> + <location filename="../src/wallet/wallet2.cpp" line="605"/> <source>Both Electrum-style word list and private key(s) specified</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="490"/> + <location filename="../src/wallet/wallet2.cpp" line="615"/> <source>invalid address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="499"/> + <location filename="../src/wallet/wallet2.cpp" line="624"/> <source>view key does not match standard address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="509"/> + <location filename="../src/wallet/wallet2.cpp" line="634"/> <source>spend key does not match standard address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="517"/> + <location filename="../src/wallet/wallet2.cpp" line="642"/> <source>Cannot generate deprecated wallets from JSON</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="551"/> + <location filename="../src/wallet/wallet2.cpp" line="678"/> <source>failed to parse address: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="557"/> + <location filename="../src/wallet/wallet2.cpp" line="684"/> <source>Address must be specified in order to create watch-only wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="574"/> + <location filename="../src/wallet/wallet2.cpp" line="701"/> <source>failed to generate new wallet: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="1382"/> + <location filename="../src/wallet/wallet2.cpp" line="1625"/> <source>Password is needed to compute key image for incoming monero</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="1383"/> + <location filename="../src/wallet/wallet2.cpp" line="1626"/> <source>Invalid password: password is needed to compute key image for incoming monero</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="3770"/> - <location filename="../src/wallet/wallet2.cpp" line="4374"/> - <location filename="../src/wallet/wallet2.cpp" line="4926"/> + <location filename="../src/wallet/wallet2.cpp" line="4122"/> + <location filename="../src/wallet/wallet2.cpp" line="4712"/> + <location filename="../src/wallet/wallet2.cpp" line="5308"/> <source>Primary account</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="10157"/> + <location filename="../src/wallet/wallet2.cpp" line="10885"/> <source>No funds received in this tx.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="10899"/> + <location filename="../src/wallet/wallet2.cpp" line="11645"/> <source>failed to read file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="141"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="152"/> <source>Set subaddress lookahead sizes to <major>:<minor></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="68"/> + <source>Enable SSL on wallet RPC connections: enabled|disabled|autodetect</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="69"/> + <location filename="../src/wallet/wallet2.cpp" line="244"/> + <source>Path to a PEM format private key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="70"/> + <location filename="../src/wallet/wallet2.cpp" line="245"/> + <source>Path to a PEM format certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="71"/> + <location filename="../src/wallet/wallet2.cpp" line="246"/> + <source>Path to file containing concatenated PEM format certificate(s) to replace system CA(s).</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="72"/> + <source>List of certificate fingerprints to allow</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>tools::wallet_rpc_server</name> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="180"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="192"/> <source>Failed to create directory </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="182"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="194"/> <source>Failed to create directory %s: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="193"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="205"/> <source>Cannot specify --</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="193"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="205"/> <source> and --</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="212"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="224"/> <source>Failed to create file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="212"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="224"/> <source>. Check permissions or remove file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="222"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="234"/> <source>Error writing to file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="225"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="237"/> <source>RPC username/password is stored in file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="479"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="613"/> <source>Tag %s is unregistered.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3081"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="3242"/> <source>Transaction not possible. Available only %s, transaction amount %s = %s + %s (fee)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3947"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4409"/> <source>This is the RPC monero wallet. It needs to connect to a monero daemon to work correctly.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3773"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4230"/> <source>Can't specify more than one of --testnet and --stagenet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3788"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4245"/> <source>Can't specify more than one of --wallet-file and --generate-from-json</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3800"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4257"/> <source>Must specify --wallet-file or --generate-from-json or --wallet-dir</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3804"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4261"/> <source>Loading wallet...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3838"/> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3870"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4295"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4327"/> <source>Saving wallet...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3840"/> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3872"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4297"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4329"/> <source>Successfully saved</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3843"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4300"/> <source>Successfully loaded</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3847"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4304"/> <source>Wallet initialization failed: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3853"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4310"/> <source>Failed to initialize wallet RPC server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3857"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4314"/> <source>Starting wallet RPC server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3864"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4321"/> <source>Failed to run wallet: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3867"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4324"/> <source>Stopped wallet RPC server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3876"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4333"/> <source>Failed to save wallet: </source> <translation type="unfinished"></translation> </message> @@ -5424,8 +5746,8 @@ daemon to work correctly.</source> <name>wallet_args</name> <message> <location filename="../src/gen_multisig/gen_multisig.cpp" line="168"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8908"/> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3928"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4385"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9348"/> <source>Wallet options</source> <translation type="unfinished"></translation> </message> diff --git a/translations/monero_fr.ts b/translations/monero_fr.ts index 6576043d3..47c718990 100644 --- a/translations/monero_fr.ts +++ b/translations/monero_fr.ts @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> -<TS version="2.0" language="fr_FR"> +<TS version="2.1" language="fr"> <context> <name>Monero::AddressBookImpl</name> <message> @@ -37,42 +37,42 @@ <translation>Échec de l'écriture de(s) transaction(s) dans le fichier</translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="121"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="138"/> <source>daemon is busy. Please try again later.</source> <translation>le démon est occupé. Veuillez réessayer plus tard.</translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="124"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="141"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation>pas de connexion au démon. Veuillez vous assurer que le démon fonctionne.</translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="128"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="145"/> <source>transaction %s was rejected by daemon with status: </source> <translation>la transaction %s a été rejetée par le démon avec le statut : </translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="133"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="150"/> <source>. Reason: </source> <translation>. Raison : </translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="135"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="152"/> <source>Unknown exception: </source> <translation>Exception inconnue : </translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="138"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="155"/> <source>Unhandled exception</source> <translation>Exception non gérée</translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="211"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="228"/> <source>Couldn't multisig sign data: </source> <translation>Signature multisig des données impossible : </translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="233"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="250"/> <source>Couldn't sign multisig transaction: </source> <translation>Signature multisig de la transaction impossible : </translation> </message> @@ -134,384 +134,384 @@ <context> <name>Monero::WalletImpl</name> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1383"/> + <location filename="../src/wallet/api/wallet.cpp" line="1459"/> <source>payment id has invalid format, expected 16 or 64 character hex string: </source> <translation>format d'identifiant de paiement invalide, 16 ou 64 caractères hexadécimaux attendus : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1392"/> + <location filename="../src/wallet/api/wallet.cpp" line="1468"/> <source>Failed to add short payment id: </source> <translation>Échec de l'ajout de l'ID de paiement court : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1428"/> <location filename="../src/wallet/api/wallet.cpp" line="1510"/> + <location filename="../src/wallet/api/wallet.cpp" line="1592"/> <source>daemon is busy. Please try again later.</source> <translation>le démon est occupé. Veuillez réessayer plus tard.</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1430"/> <location filename="../src/wallet/api/wallet.cpp" line="1512"/> + <location filename="../src/wallet/api/wallet.cpp" line="1594"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation>pas de connexion au démon. Veuillez vous assurer que le démon fonctionne.</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1432"/> <location filename="../src/wallet/api/wallet.cpp" line="1514"/> + <location filename="../src/wallet/api/wallet.cpp" line="1596"/> <source>RPC error: </source> <translation>Erreur RPC : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1460"/> - <location filename="../src/wallet/api/wallet.cpp" line="1545"/> + <location filename="../src/wallet/api/wallet.cpp" line="1542"/> + <location filename="../src/wallet/api/wallet.cpp" line="1627"/> <source>not enough outputs for specified ring size</source> <translation>pas assez de sorties pour la taille de cercle spécifiée</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1462"/> - <location filename="../src/wallet/api/wallet.cpp" line="1547"/> + <location filename="../src/wallet/api/wallet.cpp" line="1544"/> + <location filename="../src/wallet/api/wallet.cpp" line="1629"/> <source>found outputs to use</source> <translation>sorties à utiliser trouvées</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1464"/> + <location filename="../src/wallet/api/wallet.cpp" line="1546"/> <source>Please sweep unmixable outputs.</source> <translation>Veuillez balayer les sorties non mélangeables.</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1438"/> - <location filename="../src/wallet/api/wallet.cpp" line="1521"/> + <location filename="../src/wallet/api/wallet.cpp" line="1520"/> + <location filename="../src/wallet/api/wallet.cpp" line="1603"/> <source>not enough money to transfer, available only %s, sent amount %s</source> <translation>pas assez de fonds pour le transfert, montant disponible %s, montant envoyé %s</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="541"/> + <location filename="../src/wallet/api/wallet.cpp" line="589"/> <source>failed to parse address</source> <translation>échec de l'analyse de l'adresse</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="552"/> + <location filename="../src/wallet/api/wallet.cpp" line="600"/> <source>failed to parse secret spend key</source> <translation>échec de l'analyse de la clé secrète de dépense</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="575"/> + <location filename="../src/wallet/api/wallet.cpp" line="623"/> <source>failed to parse secret view key</source> <translation>échec de l'analyse de la clé secrète d'audit</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="584"/> + <location filename="../src/wallet/api/wallet.cpp" line="632"/> <source>failed to verify secret spend key</source> <translation>échec de la vérification de la clé secrète de dépense</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="588"/> + <location filename="../src/wallet/api/wallet.cpp" line="636"/> <source>spend key does not match address</source> <translation>la clé de dépense ne correspond pas à l'adresse</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="594"/> + <location filename="../src/wallet/api/wallet.cpp" line="642"/> <source>failed to verify secret view key</source> <translation>échec de la vérification de la clé secrète d'audit</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="598"/> + <location filename="../src/wallet/api/wallet.cpp" line="646"/> <source>view key does not match address</source> <translation>la clé d'audit ne correspond pas à l'adresse</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="621"/> - <location filename="../src/wallet/api/wallet.cpp" line="638"/> + <location filename="../src/wallet/api/wallet.cpp" line="669"/> + <location filename="../src/wallet/api/wallet.cpp" line="686"/> <source>failed to generate new wallet: </source> <translation>échec de la génération du nouveau portefeuille : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="885"/> + <location filename="../src/wallet/api/wallet.cpp" line="955"/> <source>Failed to send import wallet request</source> <translation>Échec de l'envoi de la requête d'importation de portefeuille</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1049"/> + <location filename="../src/wallet/api/wallet.cpp" line="1125"/> <source>Failed to load unsigned transactions</source> <translation>Échec du chargement des transaction non signées</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1068"/> + <location filename="../src/wallet/api/wallet.cpp" line="1144"/> <source>Failed to load transaction from file</source> <translation>Échec du chargement de la transaction du fichier</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1084"/> + <location filename="../src/wallet/api/wallet.cpp" line="1160"/> <source>Wallet is view only</source> <translation>Portefeuille d'audit uniquement</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1092"/> + <location filename="../src/wallet/api/wallet.cpp" line="1168"/> <source>failed to save file </source> <translation>échec de l'enregistrement du fichier </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1108"/> + <location filename="../src/wallet/api/wallet.cpp" line="1184"/> <source>Key images can only be imported with a trusted daemon</source> <translation>Les images de clé ne peuvent être importées qu'avec un démon de confiance</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1121"/> + <location filename="../src/wallet/api/wallet.cpp" line="1197"/> <source>Failed to import key images: </source> <translation>Échec de l'importation des images de clé : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1153"/> + <location filename="../src/wallet/api/wallet.cpp" line="1229"/> <source>Failed to get subaddress label: </source> <translation>Échec de la récupération de l'étiquette de sous-adresse : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1166"/> + <location filename="../src/wallet/api/wallet.cpp" line="1242"/> <source>Failed to set subaddress label: </source> <translation>Échec de l'affectation de l'étiquette de sous-adresse : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="567"/> + <location filename="../src/wallet/api/wallet.cpp" line="615"/> <source>Neither view key nor spend key supplied, cancelled</source> <translation>Ni clé d'audit ni clé de dépense fournie, annulation</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="686"/> + <location filename="../src/wallet/api/wallet.cpp" line="734"/> <source>Electrum seed is empty</source> <translation>La phrase Electrum est vide</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="695"/> + <location filename="../src/wallet/api/wallet.cpp" line="743"/> <source>Electrum-style word list failed verification</source> <translation>Échec de la vérification de la liste de mots de style Electrum</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1183"/> + <location filename="../src/wallet/api/wallet.cpp" line="1259"/> <source>Failed to get multisig info: </source> <translation>Échec de la récupération des infos multisig : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1200"/> - <location filename="../src/wallet/api/wallet.cpp" line="1214"/> + <location filename="../src/wallet/api/wallet.cpp" line="1276"/> + <location filename="../src/wallet/api/wallet.cpp" line="1290"/> <source>Failed to make multisig: </source> <translation>Échec de la création multisig : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1229"/> + <location filename="../src/wallet/api/wallet.cpp" line="1305"/> <source>Failed to finalize multisig wallet creation</source> <translation>Échec de la finalisation de la création du portefeuille multisig</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1232"/> + <location filename="../src/wallet/api/wallet.cpp" line="1308"/> <source>Failed to finalize multisig wallet creation: </source> <translation>Échec de la finalisation de la création du portefeuille multisig : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1248"/> + <location filename="../src/wallet/api/wallet.cpp" line="1324"/> <source>Failed to export multisig images: </source> <translation>Échec de l'exportation des images multisig : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1266"/> + <location filename="../src/wallet/api/wallet.cpp" line="1342"/> <source>Failed to parse imported multisig images</source> <translation>Échec de l'analyse des images multisig importées</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1276"/> + <location filename="../src/wallet/api/wallet.cpp" line="1352"/> <source>Failed to import multisig images: </source> <translation>Échec de l'importation des images multisig : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1290"/> + <location filename="../src/wallet/api/wallet.cpp" line="1366"/> <source>Failed to check for partial multisig key images: </source> <translation>Échec de la vérification des images de clé multisig partielles : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1318"/> + <location filename="../src/wallet/api/wallet.cpp" line="1394"/> <source>Failed to restore multisig transaction: </source> <translation>Échec de la restauration de la transaction multisig : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1358"/> + <location filename="../src/wallet/api/wallet.cpp" line="1434"/> <source>Invalid destination address</source> <translation>Adresse de destination invalide</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1434"/> + <location filename="../src/wallet/api/wallet.cpp" line="1516"/> <source>failed to get outputs to mix: %s</source> <translation>échec de la récupération de sorties à mélanger : %s</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1445"/> - <location filename="../src/wallet/api/wallet.cpp" line="1529"/> + <location filename="../src/wallet/api/wallet.cpp" line="1527"/> + <location filename="../src/wallet/api/wallet.cpp" line="1611"/> <source>not enough money to transfer, overall balance only %s, sent amount %s</source> <translation>pas assez de fonds pour le transfer, solde global disponible %s, montant envoyé %s</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1452"/> - <location filename="../src/wallet/api/wallet.cpp" line="1537"/> + <location filename="../src/wallet/api/wallet.cpp" line="1534"/> + <location filename="../src/wallet/api/wallet.cpp" line="1619"/> <source>not enough money to transfer, available only %s, transaction amount %s = %s + %s (fee)</source> <translation>pas assez de fonds pour le transfert, montant disponible %s, montant envoyé %s = %s + %s (frais)</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1462"/> - <location filename="../src/wallet/api/wallet.cpp" line="1547"/> + <location filename="../src/wallet/api/wallet.cpp" line="1544"/> + <location filename="../src/wallet/api/wallet.cpp" line="1629"/> <source>output amount</source> <translation>montant de la sortie</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1467"/> - <location filename="../src/wallet/api/wallet.cpp" line="1551"/> + <location filename="../src/wallet/api/wallet.cpp" line="1549"/> + <location filename="../src/wallet/api/wallet.cpp" line="1633"/> <source>transaction was not constructed</source> <translation>la transaction n'a pas été construite</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1470"/> - <location filename="../src/wallet/api/wallet.cpp" line="1554"/> + <location filename="../src/wallet/api/wallet.cpp" line="1552"/> + <location filename="../src/wallet/api/wallet.cpp" line="1636"/> <source>transaction %s was rejected by daemon with status: </source> <translation>la transaction %s a été rejetée par le démon avec le statut : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1475"/> - <location filename="../src/wallet/api/wallet.cpp" line="1559"/> + <location filename="../src/wallet/api/wallet.cpp" line="1557"/> + <location filename="../src/wallet/api/wallet.cpp" line="1641"/> <source>one of destinations is zero</source> <translation>une des destinations est zéro</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1477"/> - <location filename="../src/wallet/api/wallet.cpp" line="1561"/> + <location filename="../src/wallet/api/wallet.cpp" line="1559"/> + <location filename="../src/wallet/api/wallet.cpp" line="1643"/> <source>failed to find a suitable way to split transactions</source> <translation>échec de la recherche d'une façon adéquate de scinder les transactions</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1479"/> - <location filename="../src/wallet/api/wallet.cpp" line="1563"/> + <location filename="../src/wallet/api/wallet.cpp" line="1561"/> + <location filename="../src/wallet/api/wallet.cpp" line="1645"/> <source>unknown transfer error: </source> <translation>erreur de transfert inconnue : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1481"/> - <location filename="../src/wallet/api/wallet.cpp" line="1565"/> + <location filename="../src/wallet/api/wallet.cpp" line="1563"/> + <location filename="../src/wallet/api/wallet.cpp" line="1647"/> <source>internal error: </source> <translation>erreur interne : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1483"/> - <location filename="../src/wallet/api/wallet.cpp" line="1567"/> + <location filename="../src/wallet/api/wallet.cpp" line="1565"/> + <location filename="../src/wallet/api/wallet.cpp" line="1649"/> <source>unexpected error: </source> <translation>erreur inattendue : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1485"/> - <location filename="../src/wallet/api/wallet.cpp" line="1569"/> + <location filename="../src/wallet/api/wallet.cpp" line="1567"/> + <location filename="../src/wallet/api/wallet.cpp" line="1651"/> <source>unknown error</source> <translation>erreur inconnue</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1516"/> + <location filename="../src/wallet/api/wallet.cpp" line="1598"/> <source>failed to get outputs to mix</source> <translation>échec de la récupération de sorties à mélanger</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1644"/> - <location filename="../src/wallet/api/wallet.cpp" line="1671"/> - <location filename="../src/wallet/api/wallet.cpp" line="1719"/> - <location filename="../src/wallet/api/wallet.cpp" line="1747"/> - <location filename="../src/wallet/api/wallet.cpp" line="1775"/> - <location filename="../src/wallet/api/wallet.cpp" line="1796"/> - <location filename="../src/wallet/api/wallet.cpp" line="2258"/> + <location filename="../src/wallet/api/wallet.cpp" line="1726"/> + <location filename="../src/wallet/api/wallet.cpp" line="1753"/> + <location filename="../src/wallet/api/wallet.cpp" line="1801"/> + <location filename="../src/wallet/api/wallet.cpp" line="1829"/> + <location filename="../src/wallet/api/wallet.cpp" line="1857"/> + <location filename="../src/wallet/api/wallet.cpp" line="1878"/> + <location filename="../src/wallet/api/wallet.cpp" line="2354"/> <source>Failed to parse txid</source> <translation>Échec de l'analyse de l'ID de transaction</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1661"/> + <location filename="../src/wallet/api/wallet.cpp" line="1743"/> <source>no tx keys found for this txid</source> <translation>aucune clé de transaction trouvée pour cet ID de transaction</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1679"/> - <location filename="../src/wallet/api/wallet.cpp" line="1688"/> + <location filename="../src/wallet/api/wallet.cpp" line="1761"/> + <location filename="../src/wallet/api/wallet.cpp" line="1770"/> <source>Failed to parse tx key</source> <translation>Échec de l'analyse de la clé de transaction</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1697"/> - <location filename="../src/wallet/api/wallet.cpp" line="1726"/> - <location filename="../src/wallet/api/wallet.cpp" line="1754"/> - <location filename="../src/wallet/api/wallet.cpp" line="1835"/> + <location filename="../src/wallet/api/wallet.cpp" line="1779"/> + <location filename="../src/wallet/api/wallet.cpp" line="1808"/> + <location filename="../src/wallet/api/wallet.cpp" line="1836"/> + <location filename="../src/wallet/api/wallet.cpp" line="1917"/> <source>Failed to parse address</source> <translation>Échec de l'analyse de l'adresse</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1840"/> + <location filename="../src/wallet/api/wallet.cpp" line="1922"/> <source>Address must not be a subaddress</source> <translation>L'adresse ne doit pas être une sous-adresse</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1880"/> + <location filename="../src/wallet/api/wallet.cpp" line="1962"/> <source>The wallet must be in multisig ready state</source> <translation>Le portefeuille doit être multisig et prêt</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1902"/> + <location filename="../src/wallet/api/wallet.cpp" line="1984"/> <source>Given string is not a key</source> <translation>La chaîne entrée n'est pas une clé</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2130"/> + <location filename="../src/wallet/api/wallet.cpp" line="2226"/> <source>Rescan spent can only be used with a trusted daemon</source> <translation>Réexaminer les dépenses ne peut se faire qu'avec un démon de confiance</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2179"/> + <location filename="../src/wallet/api/wallet.cpp" line="2275"/> <source>Invalid output: </source> <translation>Sortie invalide : </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2186"/> + <location filename="../src/wallet/api/wallet.cpp" line="2282"/> <source>Failed to mark outputs as spent</source> - <translation type="unfinished"></translation> + <translation>Échec du marquage des sorties comme dépensées</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2208"/> + <location filename="../src/wallet/api/wallet.cpp" line="2304"/> <source>Failed to mark output as spent</source> - <translation type="unfinished"></translation> + <translation>Échec du marquage de la sortie comme dépensée</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2230"/> + <location filename="../src/wallet/api/wallet.cpp" line="2326"/> <source>Failed to mark output as unspent</source> - <translation type="unfinished"></translation> + <translation>Échec du marquage de la sortie comme non dépensée</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2197"/> - <location filename="../src/wallet/api/wallet.cpp" line="2219"/> + <location filename="../src/wallet/api/wallet.cpp" line="2293"/> + <location filename="../src/wallet/api/wallet.cpp" line="2315"/> <source>Failed to parse output amount</source> <translation>Échec de l'analyse du montant de la sortie</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2202"/> - <location filename="../src/wallet/api/wallet.cpp" line="2224"/> + <location filename="../src/wallet/api/wallet.cpp" line="2298"/> + <location filename="../src/wallet/api/wallet.cpp" line="2320"/> <source>Failed to parse output offset</source> <translation>Échec de l'analyse de l'offset de la sortie</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2241"/> - <location filename="../src/wallet/api/wallet.cpp" line="2280"/> + <location filename="../src/wallet/api/wallet.cpp" line="2337"/> + <location filename="../src/wallet/api/wallet.cpp" line="2376"/> <source>Failed to parse key image</source> <translation>Échec de l'analyse de l'image de clé</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2247"/> + <location filename="../src/wallet/api/wallet.cpp" line="2343"/> <source>Failed to get ring</source> <translation>Échec de la récupération du cercle</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2265"/> + <location filename="../src/wallet/api/wallet.cpp" line="2361"/> <source>Failed to get rings</source> <translation>Échec de la récupération des cercles</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2286"/> + <location filename="../src/wallet/api/wallet.cpp" line="2382"/> <source>Failed to set ring</source> <translation>Échec de l'affectation du cercle</translation> </message> @@ -519,22 +519,22 @@ <context> <name>Wallet</name> <message> - <location filename="../src/wallet/api/wallet.cpp" line="301"/> + <location filename="../src/wallet/api/wallet.cpp" line="344"/> <source>Failed to parse address</source> <translation>Échec de l'analyse de l'adresse</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="308"/> + <location filename="../src/wallet/api/wallet.cpp" line="351"/> <source>Failed to parse key</source> <translation>Échec de l'analyse de la clé</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="316"/> + <location filename="../src/wallet/api/wallet.cpp" line="359"/> <source>failed to verify key</source> <translation>Échec de la vérification de la clé</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="326"/> + <location filename="../src/wallet/api/wallet.cpp" line="369"/> <source>key does not match address</source> <translation>la clé ne correspond pas à l'adresse</translation> </message> @@ -604,360 +604,299 @@ <context> <name>cryptonote::simple_wallet</name> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="645"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="666"/> <source>Commands: </source> <translation>Commandes : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4359"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4636"/> <source>failed to read wallet password</source> <translation>échec de la lecture du mot de passe du portefeuille</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3954"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4231"/> <source>invalid password</source> <translation>mot de passe invalide</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3073"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3283"/> <source>set seed: needs an argument. available options: language</source> <translation>set seed : requiert un argument. options disponibles : language</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3108"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3319"/> <source>set: unrecognized argument(s)</source> <translation>set : argument(s) non reconnu(s)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4199"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4476"/> <source>wallet file path not valid: </source> <translation>chemin du fichier portefeuille non valide : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3178"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3389"/> <source>Attempting to generate or restore wallet, but specified file(s) exist. Exiting to not risk overwriting.</source> <translation>Tentative de génération ou de restauration d'un portefeuille, mais le fichier spécifié existe déjà. Sortie pour ne pas risquer de l'écraser.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3059"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3269"/> <source>needs an argument</source> <translation>requiert un argument</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3082"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3083"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3084"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3086"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3089"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3094"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3095"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3097"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3099"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3100"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3101"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3104"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3105"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3292"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3294"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3296"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3299"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3304"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3305"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3307"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3309"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3310"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3311"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3314"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3315"/> <source>0 or 1</source> <translation>0 ou 1</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3092"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3096"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3103"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3306"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3313"/> <source>unsigned integer</source> <translation>entier non signé</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3312"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3548"/> <source>--restore-deterministic-wallet uses --generate-new-wallet, not --wallet-file</source> <translation>--restore-deterministic-wallet utilise --generate-new-wallet, pas --wallet-file</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3341"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3577"/> <source>specify a recovery parameter with the --electrum-seed="words list here"</source> <translation>spécifiez un paramètre de récupération avec --electrum-seed="liste de mots ici"</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3717"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3957"/> <source>specify a wallet path with --generate-new-wallet (not --wallet-file)</source> <translation>spécifiez un chemin de portefeuille avec --generate-new-wallet (pas --wallet-file)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3887"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4164"/> <source>wallet failed to connect to daemon: </source> <translation>échec de la connexion du portefeuille au démon : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3895"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4172"/> <source>Daemon uses a different RPC major version (%u) than the wallet (%u): %s. Either update one of them, or use --allow-mismatched-daemon-version.</source> <translation>Le démon utilise une version majeure de RPC (%u) différente de celle du portefeuille (%u) : %s. Mettez l'un des deux à jour, ou utilisez --allow-mismatched-daemon-version.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3916"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4193"/> <source>List of available languages for your wallet's seed:</source> <translation>Liste des langues disponibles pour la phrase mnémonique de votre portefeuille :</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3926"/> - <source>Enter the number corresponding to the language of your choice: </source> - <translation>Entrez le nombre correspondant à la langue de votre choix : </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4000"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4277"/> <source>You had been using a deprecated version of the wallet. Please use the new seed that we provide. </source> <translation>Vous avez utilisé une version obsolète du portefeuille. Veuillez dorénavant utiliser la nouvelle phrase mnémonique que nous fournissons. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4016"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4088"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4365"/> <source>Generated new wallet: </source> <translation>Nouveau portefeuille généré : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4025"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4093"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4135"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4188"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4370"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4412"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4465"/> <source>failed to generate new wallet: </source> <translation>échec de la génération du nouveau portefeuille : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4230"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4507"/> <source>Opened watch-only wallet</source> <translation>Ouverture du portefeuille d'audit</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4511"/> <source>Opened wallet</source> <translation>Ouverture du portefeuille</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4252"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4529"/> <source>You had been using a deprecated version of the wallet. Please proceed to upgrade your wallet. </source> <translation>Vous avez utilisé une version obsolète du portefeuille. Veuillez procéder à la mise à jour de votre portefeuille. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4267"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4544"/> <source>You had been using a deprecated version of the wallet. Your wallet file format is being upgraded now. </source> <translation>Vous avez utilisé une version obsolète du portefeuille. Le format de votre fichier portefeuille est en cours de mise à jour. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4275"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4552"/> <source>failed to load wallet: </source> <translation>échec du chargement du portefeuille : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4292"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4569"/> <source>Use the "help" command to see the list of available commands. </source> <translation>Utilisez la commande "help" pour voir la liste des commandes disponibles. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4337"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4614"/> <source>Wallet data saved</source> <translation>Données du portefeuille sauvegardées</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4431"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4819"/> <source>Mining started in daemon</source> <translation>La mine a démarré dans le démon</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4433"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4821"/> <source>mining has NOT been started: </source> <translation>la mine n'a PAS démarré : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4453"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4841"/> <source>Mining stopped in daemon</source> <translation>La mine a été stoppée dans le démon</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4455"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4843"/> <source>mining has NOT been stopped: </source> <translation>la mine n'a PAS été stoppée : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4537"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4925"/> <source>Blockchain saved</source> <translation>Chaîne de blocs sauvegardée</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4552"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4589"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4973"/> <source>Height </source> <translation>Hauteur </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4591"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4975"/> <source>spent </source> <translation>dépensé </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4698"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5089"/> <source>Starting refresh...</source> <translation>Démarrage du rafraîchissement...</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4712"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5115"/> <source>Refresh done, blocks received: </source> <translation>Rafraîchissement effectué, blocs reçus : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5958"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6349"/> <source>payment id has invalid format, expected 16 or 64 character hex string: </source> <translation>format d'identifiant de paiement invalide, 16 ou 64 caractères hexadécimaux attendus : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5307"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5704"/> <source>bad locked_blocks parameter:</source> <translation>mauvais paramètre locked_blocks :</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5978"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6251"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6369"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6639"/> <source>a single transaction cannot use more than one payment id: </source> <translation>une unique transaction ne peut pas utiliser plus d'un ID de paiement : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5405"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5987"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6219"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6259"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5806"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6378"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6607"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6647"/> <source>failed to set up payment id, though it was decoded correctly</source> <translation>échec de la définition de l'ID de paiement, bien qu'il ait été décodé correctement</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1036"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1158"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1059"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1181"/> <source>Send this multisig info to all other participants, then use exchange_multisig_keys <info1> [<info2>...] with others' multisig info</source> - <translation type="unfinished"></translation> + <translation>Envoyez ces infos multisig à tous les autres participants, puis utilisez exchange_multisig_keys <info1> [<info2>...] avec les infos multisig des autres</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1167"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1190"/> <source>Multisig wallet has been successfully created. Current wallet type: </source> - <translation type="unfinished"></translation> + <translation>Le portefeuille multisig a été créé avec succès. Type du portefeuille actuel : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1172"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1196"/> <source>Failed to perform multisig keys exchange: </source> - <translation type="unfinished"></translation> + <translation>Échec de l'échange de clés multisig : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1499"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1523"/> <source>Failed to load multisig transaction from MMS</source> - <translation type="unfinished"></translation> + <translation>Échec du chargement de la transaction multisig à partir du MMS</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1935"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1991"/> <source>Failed to mark output spent: </source> - <translation type="unfinished"></translation> + <translation>Échec du marquage de la sortie comme dépensée : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1962"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2018"/> <source>Failed to mark output unspent: </source> - <translation type="unfinished"></translation> + <translation>Échec du marquage de la sortie comme non dépensée : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1986"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2042"/> <source>Spent: </source> - <translation type="unfinished"></translation> + <translation>Dépensé : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2044"/> <source>Not spent: </source> - <translation type="unfinished"></translation> + <translation>Non dépensé : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1992"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2048"/> <source>Failed to check whether output is spent: </source> - <translation type="unfinished"></translation> + <translation>Impossible de vérifier si la sortie est dépensée : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2022"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2171"/> <source>Please confirm the transaction on the device</source> - <translation type="unfinished"></translation> + <translation>Veuillez confirmer la transaction sur l'appareil</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2510"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2686"/> <source>Device name not specified</source> - <translation type="unfinished"></translation> + <translation>Nom de l'appareil non spécifié</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2519"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2695"/> <source>Device reconnect failed</source> - <translation type="unfinished"></translation> + <translation>Échec de la reconnexion à l'appareil</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2524"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2700"/> <source>Device reconnect failed: </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2583"/> - <source>Show the incoming transfers, all or filtered by availability and address index. - -Output format: -Amount, Spent("T"|"F"), "locked"|"unlocked", RingCT, Global Index, Transaction Hash, Address Index, [Public Key, Key Image] </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2673"/> - <source>Available options: - seed language - Set the wallet's seed language. - always-confirm-transfers <1|0> - Whether to confirm unsplit txes. - print-ring-members <1|0> - Whether to print detailed information about ring members during confirmation. - store-tx-info <1|0> - Whether to store outgoing tx info (destination address, payment ID, tx secret key) for future reference. - default-ring-size <n> - Set the default ring size (obsolete). - auto-refresh <1|0> - Whether to automatically synchronize new blocks from the daemon. - refresh-type <full|optimize-coinbase|no-coinbase|default> - Set the wallet's refresh behaviour. - priority [0|1|2|3|4] - Set the fee to default/unimportant/normal/elevated/priority. - confirm-missing-payment-id <1|0> - ask-password <0|1|2 (or never|action|decrypt)> - unit <monero|millinero|micronero|nanonero|piconero> - Set the default monero (sub-)unit. - min-outputs-count [n] - Try to keep at least that many outputs of value at least min-outputs-value. - min-outputs-value [n] - Try to keep at least min-outputs-count outputs of at least that value. - merge-destinations <1|0> - Whether to merge multiple payments to the same destination address. - confirm-backlog <1|0> - Whether to warn if there is transaction backlog. - confirm-backlog-threshold [n] - Set a threshold for confirm-backlog to only warn if the transaction backlog is greater than n blocks. - refresh-from-block-height [n] - Set the height before which to ignore blocks. - auto-low-priority <1|0> - Whether to automatically use the low priority fee level when it's safe to do so. - segregate-pre-fork-outputs <1|0> - Set this if you intend to spend outputs on both Monero AND a key reusing fork. - key-reuse-mitigation2 <1|0> - Set this if you are not sure whether you will spend on a key reusing Monero fork later. -subaddress-lookahead <major>:<minor> - Set the lookahead sizes for the subaddress hash table. - Set this if you are not sure whether you will spend on a key reusing Monero fork later. - segregation-height <n> - Set to the height of a key reusing fork you want to use, 0 to use default.</source> - <translation type="unfinished"></translation> + <translation>Échec de la reconnexion à l'appareil : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2943"/> <source>Show the incoming/outgoing transfers within an optional height range. Output format: @@ -971,32 +910,37 @@ Pending or Failed: "failed"|"pending", "o <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2775"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2953"/> <source>export_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] [output=<filepath>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2776"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2954"/> <source>Export to CSV the incoming/outgoing transfers within an optional height range.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2818"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2996"/> <source>Export a signed set of key images to a <filename>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2826"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3004"/> <source>Synchronizes key images with the hw wallet.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2865"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3027"/> + <source>Generate a new random full size payment id (obsolete). These will be unencrypted on the blockchain, see integrated_address for encrypted short payment ids.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3043"/> <source>Performs extra multisig keys exchange rounds. Needed for arbitrary M/N multisig wallets</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2889"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3067"/> <source>Interface with the MMS (Multisig Messaging System) <subcommand> is one of: init, info, signer, list, next, sync, transfer, delete, send, receive, export, note, show, set, help @@ -1005,73 +949,73 @@ Get help about a subcommand with: help mms <subcommand>, or mms help <s <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2897"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3075"/> <source>Initialize and configure the MMS for M/N = number of required signers/number of authorized signers multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2901"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3079"/> <source>Display current MMS configuration</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2905"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3083"/> <source>Set or modify authorized signer info (single-word label, transport address, Monero address), or list all signers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2909"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3087"/> <source>List all messages</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2913"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3091"/> <source>Evaluate the next possible multisig-related action(s) according to wallet state, and execute or offer for choice By using 'sync' processing of waiting messages with multisig sync info can be forced regardless of wallet state</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2918"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3096"/> <source>Force generation of multisig sync info regardless of wallet state, to recover from special situations like "stale data" errors</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2922"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3100"/> <source>Initiate transfer with MMS support; arguments identical to normal 'transfer' command arguments, for info see there</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2926"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3104"/> <source>Delete a single message by giving its id, or delete all messages by using 'all'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2930"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3108"/> <source>Send a single message by giving its id, or send all waiting messages</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2934"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3112"/> <source>Check right away for new messages to receive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2938"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3116"/> <source>Write the content of a message to a file "mms_message_content"</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2942"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3120"/> <source>Send a one-line message to an authorized signer, identified by its label, or show any waiting unread notes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2946"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3124"/> <source>Show detailed info about a single message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2950"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3128"/> <source>Available options: auto-send <1|0> Whether to automatically send newly generated messages right away. @@ -1079,1267 +1023,1406 @@ By using 'sync' processing of waiting messages with multisig sync info <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3134"/> <source>Send completed signer config to all other authorized signers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2960"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3138"/> <source>Start auto-config at the auto-config manager's wallet by issuing auto-config tokens and optionally set others' labels</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2964"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3142"/> <source>Delete any auto-config tokens and abort a auto-config process</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2968"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3146"/> <source>Start auto-config by using the token received from the auto-config manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2986"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3168"/> <source>Mark output(s) as spent so they never get selected as fake outputs in a ring</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2990"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3172"/> <source>Marks an output as unspent so it may get selected as a fake output in a ring</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2994"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3176"/> <source>Checks whether an output is marked as spent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3106"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3317"/> <source><device_name[:device_spec]></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3127"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3338"/> <source>wrong number range, use: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3232"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3443"/> <source>NOTE: the following %s can be used to recover access to your wallet. Write them down and store them somewhere safe and secure. Please do not store them in your email or on file storage services outside of your immediate control. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3445"/> <source>string</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3445"/> <source>25 words</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4631"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3866"/> + <source>Secret spend key (%u of %u)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3943"/> + <source>Use --restore-height or --restore-date if you want to restore an already setup account from a specific height.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3945"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4033"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5984"/> + <source>Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4056"/> + <source>Still apply restore height?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4203"/> + <source>Enter the number corresponding to the language of your choice</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <source>WARNING: this transaction uses an unencrypted payment ID: consider using subaddresses instead.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <source>WARNING: this transaction uses an unencrypted payment ID: these are obsolete. Support will be withdrawn in the future. Use subaddresses instead.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5015"/> <source>Device requires attention</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4639"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5023"/> <source>Enter device PIN</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4641"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5025"/> <source>Failed to read device PIN</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4648"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5032"/> <source>Please enter the device passphrase on the device</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4655"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5039"/> <source>Enter device passphrase</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4657"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5041"/> <source>Failed to read device passphrase</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4673"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5057"/> <source>The first refresh has finished for the HW-based wallet with received money. hw_key_images_sync is needed. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4675"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4753"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5059"/> <source>Do you want to do it now? (Y/Yes/N/No): </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4677"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5061"/> <source>hw_key_images_sync skipped. Run command manually before a transfer.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4855"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5263"/> <source>Invalid keyword: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4904"/> - <source>Heights: </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5312"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5894"/> - <source>Locked blocks too high, max 1000000 (Ë4 yrs)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5422"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5502"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5590"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5738"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6001"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6059"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6273"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6318"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5823"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5903"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5991"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6139"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6392"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6450"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6661"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6706"/> <source>transaction cancelled.</source> <translation>transaction annulée.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5481"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5491"/> - <source>Is this okay anyway? (Y/Yes/N/No): </source> - <translation>Est-ce correct quand même ? (Y/Yes/Oui/N/No/Non) : </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5486"/> - <source>There is currently a %u block backlog at that fee level. Is this okay? (Y/Yes/N/No): </source> - <translation>Il y a actuellement un arriéré de %u blocs à ce niveau de frais. Est-ce correct quand même ? (Y/Yes/Oui/N/No/Non) : </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5491"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5892"/> <source>Failed to check for backlog: </source> <translation>Échec de la vérification du backlog : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5532"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6032"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5933"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6423"/> <source> Transaction </source> <translation> Transaction </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5537"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6037"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5938"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6428"/> <source>Spending from address index %d </source> <translation>Dépense depuis l'adresse d'index %d </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5539"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6039"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6430"/> <source>WARNING: Outputs of multiple addresses are being used together, which might potentially compromise your privacy. </source> <translation>ATTENTION : Des sorties de multiples adresses sont utilisées ensemble, ce qui pourrait potentiellement compromettre votre confidentialité. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5541"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5942"/> <source>Sending %s. </source> <translation>Envoi de %s. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5544"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5945"/> <source>Your transaction needs to be split into %llu transactions. This will result in a transaction fee being applied to each transaction, for a total fee of %s</source> <translation>Votre transaction doit être scindée en %llu transactions. Il en résulte que des frais de transaction doivent être appliqués à chaque transaction, pour un total de %s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5550"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5951"/> <source>The transaction fee is %s</source> <translation>Les frais de transaction sont de %s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5553"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5954"/> <source>, of which %s is dust from change</source> <translation>, dont %s est de la poussière de monnaie rendue</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5554"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5955"/> <source>.</source> <translation>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5554"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5955"/> <source>A total of %s from dust change will be sent to dust address</source> <translation>Un total de %s de poussière de monnaie rendue sera envoyé à une adresse de poussière</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5559"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5960"/> <source>. This transaction will unlock on block %llu, in approximately %s days (assuming 2 minutes per block)</source> <translation>. Cette transaction sera déverrouillée au bloc %llu, dans approximativement %s jours (en supposant 2 minutes par bloc)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5603"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6004"/> <source>Unsigned transaction(s) successfully written to MMS</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5611"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5648"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5749"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5761"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6070"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6107"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6328"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6340"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6012"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6049"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6150"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6162"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6461"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6498"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6716"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6728"/> <source>Failed to write transaction(s) to file</source> <translation>Échec de l'écriture de(s) transaction(s) dans le fichier</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5616"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5653"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5753"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5765"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6074"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6111"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6332"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6344"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6017"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6054"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6154"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6166"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6465"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6502"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6720"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6732"/> <source>Unsigned transaction(s) successfully written to file: </source> <translation>Transaction(s) non signée(s) écrite(s) dans le fichier avec succès : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5625"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6086"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6026"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6477"/> <source>Failed to cold sign transaction with HW wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5708"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6109"/> <source>No unmixable outputs found</source> <translation>Aucune sortie non mélangeable trouvée</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5815"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6124"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6435"/> + <source>Sweeping %s in %llu transactions for a total fee of %s. Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="6130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6441"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6698"/> + <source>Sweeping %s for a total fee of %s. Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="6177"/> + <source>Discarding %s of unmixable outputs that cannot be spent, which can be undone by "rescan_spent". Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="6216"/> <source>No address given</source> <translation>Aucune adresse fournie</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6213"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6601"/> <source>failed to parse Payment ID</source> <translation>échec de l'analyse de l'ID de paiement</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6236"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2078"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2125"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6624"/> <source>failed to parse key image</source> <translation>échec de l'analyse de l'image de clé</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6290"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6678"/> <source>No outputs found</source> <translation>Pas de sorties trouvées</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6295"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6683"/> <source>Multiple transactions are created, which is not supposed to happen</source> <translation>De multiples transactions sont crées, ce qui n'est pas supposé arriver</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6300"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6688"/> <source>The transaction uses multiple or no inputs, which is not supposed to happen</source> <translation>La transaction utilise aucune ou de multiples entrées, ce qui n'est pas supposé arriver</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6377"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6765"/> <source>missing threshold amount</source> <translation>montant seuil manquant</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6382"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6770"/> <source>invalid amount threshold</source> <translation>montant seuil invalide</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9015"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6980"/> + <source>Loaded %lu transactions, for %s, fee %s, %s, %s, with min ring size %lu, %s. %sIs this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="8161"/> + <source>Rescan anyway?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="8654"/> + <source>Short payment IDs are to be used within an integrated address only</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="9457"/> <source> (Y/Yes/N/No): </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9042"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9484"/> <source>Choose processing:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9051"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9493"/> <source>Sign tx</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9059"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9501"/> <source>Send the tx for submission to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9063"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9505"/> <source>Send the tx for signing to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9070"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9512"/> <source>Submit tx</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9073"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9515"/> <source>unknown</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9079"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9521"/> <source>Choice: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9091"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9533"/> <source>Wrong choice</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9540"/> <source>Id</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9540"/> <source>I/O</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9540"/> <source>Authorized Signer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Message Type</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Height</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>R</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Message State</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Since</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9116"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9558"/> <source> ago</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9122"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> <source>#</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9122"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> <source>Transport Address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9123"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9565"/> <source>Auto-Config Token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9123"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9565"/> <source>Monero Address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9127"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9135"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9137"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9569"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9577"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9579"/> <source><not set></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9178"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9620"/> <source>Message </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9179"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9621"/> <source>In/out: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9623"/> <source>State: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9623"/> <source>%s since %s, %s ago</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9185"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9627"/> <source>Sent: Never</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9189"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9631"/> <source>Sent: %s, %s ago</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9192"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9634"/> <source>Authorized signer: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9635"/> <source>Content size: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9635"/> <source> bytes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9194"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9636"/> <source>Content: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9194"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9636"/> <source>(binary data)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9224"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9666"/> <source>Send these messages now?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9676"/> <source>Queued for sending.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9254"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9696"/> <source>Invalid message id</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9263"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9705"/> <source>usage: mms init <required_signers>/<authorized_signers> <own_label> <own_transport_address></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9269"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9711"/> <source>The MMS is already initialized. Re-initialize by deleting all signer info and messages?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9284"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9726"/> <source>Error in the number of required signers and/or authorized signers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9301"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9743"/> <source>The MMS is not active.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9324"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9766"/> <source>Invalid signer number </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9329"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9771"/> <source>mms signer [<number> <label> [<transport_address> [<monero_address>]]]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9348"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9790"/> <source>Invalid Monero address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9355"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9797"/> <source>Wallet state does not allow changing Monero addresses anymore</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9367"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9809"/> <source>Usage: mms list</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9380"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9822"/> <source>Usage: mms next [sync]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9405"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9847"/> <source>No next step: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9415"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9857"/> <source>prepare_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9421"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9863"/> <source>make_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9436"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9878"/> <source>exchange_multisig_keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9451"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10013"/> <source>export_multisig_info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9460"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9902"/> <source>import_multisig_info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9473"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9915"/> <source>sign_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9483"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9925"/> <source>submit_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9493"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9935"/> <source>Send tx</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9504"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9946"/> <source>Process signer config</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9516"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9958"/> <source>Replace current signer config with the one displayed above?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9530"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9972"/> <source>Process auto config data</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9544"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9986"/> <source>Nothing ready to process</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10006"/> <source>Usage: mms sync</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9588"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10030"/> <source>Usage: mms delete (<message_id> | all)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9595"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10037"/> <source>Delete all messages?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9621"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10063"/> <source>Usage: mms send [<message_id>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9638"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10080"/> <source>Usage: mms receive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9655"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10097"/> <source>Usage: mms export <message_id></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9667"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10109"/> <source>Message content saved to: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9671"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10113"/> <source>Failed to to save message content</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9695"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10137"/> <source>Usage: mms note [<label> <text>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9702"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10144"/> <source>No signer found with label </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9724"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10166"/> <source>Usage: mms show <message_id></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9743"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10185"/> <source>Usage: mms set <option_name> [<option_value>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9760"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10202"/> <source>Wrong option value</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10207"/> <source>Auto-send is on</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10207"/> <source>Auto-send is off</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9770"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10212"/> <source>Unknown option</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9778"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10220"/> <source>Usage: mms help [<subcommand>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9794"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10236"/> <source>Usage: mms send_signer_config</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9800"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10242"/> <source>Signer config not yet complete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9815"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10257"/> <source>Usage: mms start_auto_config [<label> <label> ...]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9820"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10262"/> <source>There are signers without a label set. Complete labels before auto-config or specify them as parameters here.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9826"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10268"/> <source>Auto-config is already running. Cancel and restart?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9850"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10292"/> <source>Usage: mms stop_auto_config</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9853"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10295"/> <source>Delete any auto-config tokens and stop auto-config?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9866"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10308"/> <source>Usage: mms auto_config <auto_config_token></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9873"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10315"/> <source>Invalid auto-config token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9879"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10321"/> <source>Auto-config already running. Cancel and restart?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9911"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10339"/> + <source>MMS not available in this wallet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="10363"/> <source>The MMS is not active. Activate using the "mms init" command</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10440"/> <source>Invalid MMS subcommand</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9993"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9997"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10445"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10449"/> <source>Error in MMS command: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6516"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6919"/> <source>Claimed change does not go to a paid address</source> <translation>La monnaie réclamée ne va pas à une adresse payée</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6521"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6924"/> <source>Claimed change is larger than payment to the change address</source> <translation>La monnaie réclamée est supérieure au paiement à l'adresse de monnaie</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6552"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6955"/> <source>sending %s to %s</source> <translation>envoi de %s à %s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6562"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6965"/> <source> dummy output(s)</source> <translation> sortie(s) factice(s)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6565"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6968"/> <source>with no destinations</source> <translation>sans destination</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6577"/> - <source>Loaded %lu transactions, for %s, fee %s, %s, %s, with min ring size %lu, %s. %sIs this okay? (Y/Yes/N/No): </source> - <translation>%lu transactions chargées, pour %s, frais %s, %s, %s, taille de cercle minimum %lu, %s. %sEst-ce correct ? (Y/Yes/Oui/N/No/Non) : </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6606"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7009"/> <source>This is a multisig wallet, it can only sign with sign_multisig</source> <translation>Ceci est un portefeuille multisig, il ne peut signer qu'avec sign_multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6629"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7032"/> <source>Failed to sign transaction</source> <translation>Échec de signature de transaction</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6635"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7038"/> <source>Failed to sign transaction: </source> <translation>Échec de signature de transaction : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6656"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7059"/> <source>Transaction raw hex data exported to </source> <translation>Données brutes hex de la transaction exportées vers </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6677"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7080"/> <source>Failed to load transaction from file</source> <translation>Échec du chargement de la transaction du fichier</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4729"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5051"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5132"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5459"/> <source>RPC error: </source> <translation>Erreur RPC : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="695"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="716"/> <source>wallet is watch-only and has no spend key</source> <translation>c'est un portefeuille d'audit et il n'a pas de clé de dépense</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="839"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1021"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1074"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1141"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="860"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1044"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1097"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1164"/> <source>Your original password was incorrect.</source> <translation>Votre mot de passe original est incorrect.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="854"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="875"/> <source>Error with wallet rewrite: </source> <translation>Erreur avec la réécriture du portefeuille : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2284"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2435"/> <source>invalid unit</source> <translation>unité invalide</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2302"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2364"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2453"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2515"/> <source>invalid count: must be an unsigned integer</source> <translation>nombre invalide : un entier non signé est attendu</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2320"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2471"/> <source>invalid value</source> <translation>valeur invalide</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3204"/> - <source>(Y/Yes/N/No): </source> - <translation>(Y/Yes/Oui/N/No/Non) : </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3761"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3788"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4021"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4041"/> <source>bad m_restore_height parameter: </source> <translation>mauvais paramètre m_restore_height : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3766"/> - <source>date format must be YYYY-MM-DD</source> - <translation>le format de date doit être AAAA-MM-JJ</translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3779"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3985"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4032"/> <source>Restore height is: </source> <translation>La hauteur de restauration est : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3705"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3780"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5583"/> - <source>Is this okay? (Y/Yes/N/No): </source> - <translation>Est-ce correct ? (Y/Yes/Oui/N/No/Non) : </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4509"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4897"/> <source>Daemon is local, assuming trusted</source> <translation>Le démon est local, supposons qu'il est de confiance</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4355"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4632"/> <source>Password for new watch-only wallet</source> <translation>Mot de passe pour le nouveau portefeuille d'audit</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4739"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5142"/> <source>internal error: </source> <translation>erreur interne : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1608"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4744"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5056"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1632"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5147"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5464"/> <source>unexpected error: </source> <translation>erreur inattendue : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1534"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1613"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4749"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5061"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5639"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5669"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5794"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6099"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6126"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6361"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6690"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1558"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1637"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5152"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5469"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6040"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6070"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6195"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6490"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6517"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6749"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7093"/> <source>unknown error</source> <translation>erreur inconnue</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4754"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5157"/> <source>refresh failed: </source> <translation>échec du rafraîchissement : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4754"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5157"/> <source>Blocks received: </source> <translation>Blocs reçus : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4787"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5195"/> <source>unlocked balance: </source> <translation>solde débloqué : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3093"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3303"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>amount</source> <translation>montant</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="341"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="362"/> <source>false</source> <translation>faux</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="659"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="680"/> <source>Unknown command: </source> <translation>Commande inconnue : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="666"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="687"/> <source>Command usage: </source> <translation>Usage de la commande : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="690"/> <source>Command description: </source> <translation>Description de la commande : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="735"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="756"/> <source>wallet is multisig but not yet finalized</source> <translation>le portefeuille est multisig mais pas encore finalisé</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="768"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="789"/> <source>Failed to retrieve seed</source> <translation>Échec de la récupération de la phrase mnémonique</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="792"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="813"/> <source>wallet is multisig and has no seed</source> <translation>le portefeuille est multisig et n'a pas de phrase mnémonique</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="899"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="922"/> <source>Error: failed to estimate backlog array size: </source> <translation>Erreur : échec de l'estimation de la taille du tableau d'arriéré : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="904"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="927"/> <source>Error: bad estimated backlog array size</source> <translation>Erreur : mauvaise estimation de la taille du tableau d'arriéré</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="916"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="939"/> <source> (current)</source> <translation> (actuel)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="919"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="942"/> <source>%u block (%u minutes) backlog at priority %u%s</source> <translation>arriéré de %u bloc(s) (%u minutes) à la priorité %u%s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="921"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="944"/> <source>%u to %u block (%u to %u minutes) backlog at priority %u</source> <translation>arriéré de %u à %u bloc(s) (%u à %u minutes) à la priorité %u</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="924"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="947"/> <source>No backlog at priority </source> <translation>Pas d'arriéré à la priorité </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="944"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="989"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="967"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1012"/> <source>This wallet is already multisig</source> <translation>Le portefeuille est déjà multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="949"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="994"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1017"/> <source>wallet is watch-only and cannot be made multisig</source> <translation>c'est un portefeuille d'audit et il ne peut pas être tranformé en multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="955"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1000"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="978"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1023"/> <source>This wallet has been used before, please use a new wallet to create a multisig wallet</source> <translation>Ce portefeuille a été utilisé auparavant, veuillez utiliser un nouveau portefeuille pour créer un portefeuille multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="963"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="986"/> <source>Send this multisig info to all other participants, then use make_multisig <threshold> <info1> [<info2>...] with others' multisig info</source> <translation>Envoyez ces infos multisig à tous les autres participants, ensuite utilisez make_multisig <seuil> <info1> [<info2>...] avec les infos multisig des autres</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="964"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="987"/> <source>This includes the PRIVATE view key, so needs to be disclosed only to that multisig wallet's participants </source> <translation>Ceci inclut la clé PRIVÉE d'audit, donc ne doit être divulgué qu'aux participants de ce portefeuille multisig </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1014"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1037"/> <source>Invalid threshold</source> <translation>Seuil invalide</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1034"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1156"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1057"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1179"/> <source>Another step is needed</source> <translation>Une autre étape est nécessaire</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1046"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1069"/> <source>Error creating multisig: </source> <translation>Erreur de création multisig : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1053"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1076"/> <source>Error creating multisig: new wallet is not multisig</source> <translation>Erreur de création multisig : le nouveau portefeuille n'est pas multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1056"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1079"/> <source> multisig address: </source> <translation> adresse multisig : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1080"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1129"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1195"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1261"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1103"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1152"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1219"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1285"/> <source>This wallet is not multisig</source> <translation>Ce portefeuille n'est pas multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1085"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1134"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1108"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1157"/> <source>This wallet is already finalized</source> <translation>Ce portefeuille est déjà finalisé</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1101"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1124"/> <source>Failed to finalize multisig</source> <translation>Échec de finalisation multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1107"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1130"/> <source>Failed to finalize multisig: </source> <translation>Échec de finalisation multisig : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1200"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1266"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1360"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1476"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1557"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1191"/> + <source>Multisig address: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="1224"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1290"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1384"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1500"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1581"/> <source>This multisig wallet is not yet finalized</source> <translation>Ce portefeuille multisig n'est pas encore finalisé</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1236"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1260"/> <source>Error exporting multisig info: </source> <translation>Erreur d'importation des infos multisig : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1240"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1264"/> <source>Multisig info exported to </source> <translation>Infos multisig exportées vers </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1306"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1330"/> <source>Multisig info imported</source> <translation>Infos multisig importées</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1310"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1334"/> <source>Failed to import multisig info: </source> <translation>Échec de l'importation des infos multisig : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1321"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1345"/> <source>Failed to update spent status after importing multisig info: </source> <translation>Échec de la mise à jour de l'état des dépenses après l'importation des infos multisig : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1327"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1351"/> <source>Untrusted daemon, spent status may be incorrect. Use a trusted daemon and run "rescan_spent"</source> <translation>Pas un démon de confiance, l'état des dépenses peut être incorrect. Utilisez un démon de confiance et executez "rescan_spent"</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1355"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1471"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1552"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1379"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1495"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1576"/> <source>This is not a multisig wallet</source> <translation>Ceci n'est pas un portefeuille multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1405"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1414"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1429"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1438"/> <source>Failed to sign multisig transaction</source> <translation>Échec de la signature de la transaction multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1421"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1445"/> <source>Multisig error: </source> <translation>Erreur multisig : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1426"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1450"/> <source>Failed to sign multisig transaction: </source> <translation>Échec de la signature de la transaction multisig : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1449"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1473"/> <source>It may be relayed to the network with submit_multisig</source> <translation>Elle peut être transmise au réseau avec submit_multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1508"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1578"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1532"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1602"/> <source>Failed to load multisig transaction from file</source> <translation>Échec du chargement de la transaction multisig du fichier</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1514"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1583"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1538"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1607"/> <source>Multisig transaction signed by only %u signers, needs %u more signatures</source> <translation>Transaction multisig signée par %u signataire(s) seulement, nécessite %u signature(s) de plus</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1523"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8890"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1547"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9330"/> <source>Transaction successfully submitted, transaction </source> <translation>Transaction transmise avec succès, transaction </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1524"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8891"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1548"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9331"/> <source>You can check its status by using the `show_transfers` command.</source> <translation>Vous pouvez vérifier son statut en utilisant la commane 'show_transfers'.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1599"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1623"/> <source>Failed to export multisig transaction to file </source> <translation>Échec de l'exportation de la transaction multisig vers le fichier </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1603"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1627"/> <source>Saved exported multisig transaction file(s): </source> <translation>Transaction multisig enregistrée dans le(s) fichier(s) : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2095"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2101"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2120"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1892"/> + <source>Invalid key image or txid</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="1901"/> + <source>failed to unset ring</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2072"/> + <source>usage: %s <key_image>|<pubkey></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2117"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2129"/> + <source>Frozen: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2131"/> + <source>Not frozen: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2138"/> + <source> bytes sent</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2139"/> + <source> bytes received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2145"/> + <source>Welcome to Monero, the private cryptocurrency.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2147"/> + <source>Monero, like Bitcoin, is a cryptocurrency. That is, it is digital money.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2148"/> + <source>Unlike Bitcoin, your Monero transactions and balance stay private, and not visible to the world by default.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2149"/> + <source>However, you have the option of making those available to select parties, if you choose to.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2151"/> + <source>Monero protects your privacy on the blockchain, and while Monero strives to improve all the time,</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2152"/> + <source>no privacy technology can be 100% perfect, Monero included.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2153"/> + <source>Monero cannot protect you from malware, and it may not be as effective as we hope against powerful adversaries.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2154"/> + <source>Flaws in Monero may be discovered in the future, and attacks may be developed to peek under some</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2155"/> + <source>of the layers of privacy Monero provides. Be safe and practice defense in depth.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2157"/> + <source>Welcome to Monero and financial privacy. For more information, see https://getmonero.org/</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2244"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2250"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2269"/> <source>ring size must be an integer >= </source> <translation>la taille de cercle doit être un nombre entier >= </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2125"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2274"/> <source>could not change default ring size</source> <translation>échec du changement de la taille de cercle par défaut</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2398"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2469"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2549"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2620"/> <source>Invalid height</source> <translation>Hauteur invalide</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2562"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2667"/> + <source>invalid argument: must be either 1/yes or 0/no</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2738"/> <source>Start mining in the daemon (bg_mining and ignore_battery are optional booleans).</source> <translation>Démarrer la mine dans le démon (mine_arrière_plan et ignorer_batterie sont des booléens facultatifs).</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2565"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2741"/> <source>Stop mining in the daemon.</source> <translation>Arrêter la mine dans le démon.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2569"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2745"/> <source>Set another daemon to connect to.</source> <translation>Spécifier un autre démon auquel se connecter.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2572"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2748"/> <source>Save the current blockchain data.</source> <translation>Sauvegarder les données actuelles de la châine de blocs.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2575"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2751"/> <source>Synchronize the transactions and balance.</source> <translation>Synchroniser les transactions et le solde.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2579"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2755"/> <source>Show the wallet's balance of the currently selected account.</source> <translation>Afficher le solde du compte actuellement sélectionné.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2589"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2759"/> + <source>Show the incoming transfers, all or filtered by availability and address index. + +Output format: +Amount, Spent("T"|"F"), "frozen"|"locked"|"unlocked", RingCT, Global Index, Transaction Hash, Address Index, [Public Key, Key Image] </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2765"/> <source>Show the payments for the given payment IDs.</source> <translation>Afficher les paiements pour les IDs de paiement donnés.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2592"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2768"/> <source>Show the blockchain height.</source> <translation>Afficher la hauteur de la chaîne de blocs.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2606"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2782"/> <source>Send all unmixable outputs to yourself with ring_size 1</source> <translation>Envoyer toutes les sorties non mélangeables à vous-même avec une taille de cercle de 1</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2613"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2789"/> <source>Send all unlocked outputs below the threshold to an address.</source> <translation>Envoyer toutes les sorties débloquées d'un montant inférieur au seuil à une adresse.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2617"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2793"/> <source>Send a single output of the given key image to an address without change.</source> <translation>Envoyer une unique sortie ayant une image de clé donnée à une adresse sans rendu de monnaie.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2621"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2797"/> <source>Donate <amount> to the development team (donate.getmonero.org).</source> <translation>Donner <montant> à l'équipe de développement (donate.getmonero.org).</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2628"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2804"/> <source>Submit a signed transaction from a file.</source> <translation>Transmettre une transaction signée d'un fichier.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2632"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2808"/> <source>Change the current log detail (level must be <0-4>).</source> <translation>Changer le niveau de détail du journal (le niveau doit être <0-4>).</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2636"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2812"/> <source>If no arguments are specified, the wallet shows all the existing accounts along with their balances. If the "new" argument is specified, the wallet creates a new account with its label initialized by the provided label text (which can be empty). If the "switch" argument is specified, the wallet switches to the account specified by <index>. @@ -2356,82 +2439,132 @@ Si l'argument "untag" est spécifié, les mots clés assignés au Si l'argument "tag_description" est spécifié, le texte arbitraire <description> est assigné au mot clé <mot_clé>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2650"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2826"/> <source>Encode a payment ID into an integrated address for the current wallet public address (no argument uses a random payment ID), or decode an integrated address to standard address and payment ID</source> <translation>Encoder un ID de paiement dans une adresse intégrée pour l'adresse publique du portefeuille actuel (en l'absence d'argument un ID de paiement aléatoire est utilisé), ou décoder une adresse intégrée en une adresse standard et un ID de paiement</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2654"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2830"/> <source>Print all entries in the address book, optionally adding/deleting an entry to/from it.</source> <translation>Afficher toutes les entrées du carnet d'adresses, optionnellement en y ajoutant/supprimant une entrée.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2657"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2833"/> <source>Save the wallet data.</source> <translation>Sauvegarder les données du portefeuille.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2660"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2836"/> <source>Save a watch-only keys file.</source> <translation>Sauvegarder un fichier de clés d'audit.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2663"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2839"/> <source>Display the private view key.</source> <translation>Afficher la clé privée d'audit.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2666"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2842"/> <source>Display the private spend key.</source> <translation>Afficher la clé privée de dépense.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2845"/> <source>Display the Electrum-style mnemonic seed</source> <translation>Afficher la phrase mnémonique de style Electrum</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2719"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2849"/> + <source>Available options: + seed language + Set the wallet's seed language. + always-confirm-transfers <1|0> + Whether to confirm unsplit txes. + print-ring-members <1|0> + Whether to print detailed information about ring members during confirmation. + store-tx-info <1|0> + Whether to store outgoing tx info (destination address, payment ID, tx secret key) for future reference. + default-ring-size <n> + Set the default ring size (obsolete). + auto-refresh <1|0> + Whether to automatically synchronize new blocks from the daemon. + refresh-type <full|optimize-coinbase|no-coinbase|default> + Set the wallet's refresh behaviour. + priority [0|1|2|3|4] + Set the fee to default/unimportant/normal/elevated/priority. + confirm-missing-payment-id <1|0> (obsolete) + ask-password <0|1|2 (or never|action|decrypt)> + action: ask the password before many actions such as transfer, etc + decrypt: same as action, but keeps the spend key encrypted in memory when not needed + unit <monero|millinero|micronero|nanonero|piconero> + Set the default monero (sub-)unit. + min-outputs-count [n] + Try to keep at least that many outputs of value at least min-outputs-value. + min-outputs-value [n] + Try to keep at least min-outputs-count outputs of at least that value. + merge-destinations <1|0> + Whether to merge multiple payments to the same destination address. + confirm-backlog <1|0> + Whether to warn if there is transaction backlog. + confirm-backlog-threshold [n] + Set a threshold for confirm-backlog to only warn if the transaction backlog is greater than n blocks. + refresh-from-block-height [n] + Set the height before which to ignore blocks. + auto-low-priority <1|0> + Whether to automatically use the low priority fee level when it's safe to do so. + segregate-pre-fork-outputs <1|0> + Set this if you intend to spend outputs on both Monero AND a key reusing fork. + key-reuse-mitigation2 <1|0> + Set this if you are not sure whether you will spend on a key reusing Monero fork later. +subaddress-lookahead <major>:<minor> + Set the lookahead sizes for the subaddress hash table. + Set this if you are not sure whether you will spend on a key reusing Monero fork later. + segregation-height <n> + Set to the height of a key reusing fork you want to use, 0 to use default.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2897"/> <source>Display the encrypted Electrum-style mnemonic seed.</source> <translation>Afficher la phrase mnémonique de style Electrum chiffrée.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2722"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2900"/> <source>Rescan the blockchain for spent outputs.</source> <translation>Rescanner la chaîne de blocs pour trouver les sorties dépensées.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2726"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2904"/> <source>Get the transaction key (r) for a given <txid>.</source> <translation>Obtenir la clé de transaction (r) pour un <ID_transaction> donné.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2734"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2912"/> <source>Check the amount going to <address> in <txid>.</source> <translation>Vérifier le montant allant à <adresse> dans <ID_transaction>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2738"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2916"/> <source>Generate a signature proving funds sent to <address> in <txid>, optionally with a challenge string <message>, using either the transaction secret key (when <address> is not your wallet's address) or the view secret key (otherwise), which does not disclose the secret key.</source> - <translation>Générer une signature prouvant l'envoi de fonds à <adresse> dans <ID_transaction>, optionnellement avec un <message> comme challenge, en utilisant soit la clé secrète de transaction (quand <adresse> n'est pas l'adresse de votre portefeuille) soit la clé secrète d'audit (dans le cas contraire), tout en ne divulgant pas la clé secrète.</translation> + <translation>Générer une signature prouvant l'envoi de fonds à <adresse> dans <ID_transaction>, optionnellement avec un <message> comme challenge, en utilisant soit la clé secrète de transaction (quand <adresse> n'est pas l'adresse de votre portefeuille) soit la clé secrète d'audit (dans le cas contraire), tout en ne divulguant pas la clé secrète.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2742"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2920"/> <source>Check the proof for funds going to <address> in <txid> with the challenge string <message> if any.</source> <translation>Vérifier la validité de la preuve de fonds allant à <adresse> dans <ID_transaction> avec le <message> de challenge s'il y en a un.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2746"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2924"/> <source>Generate a signature proving that you generated <txid> using the spend secret key, optionally with a challenge string <message>.</source> <translation>Générer une signature prouvant que vous avez créé <ID_transaction> en utilisant la clé secrète de dépense, optionnellement avec un <message> comme challenge.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2750"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2928"/> <source>Check a signature proving that the signer generated <txid>, optionally with a challenge string <message>.</source> <translation>Vérifier la validité de la preuve que le signataire a créé <ID_transaction>, optionnellement avec un <message> comme challenge.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2754"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2932"/> <source>Generate a signature proving that you own at least this much, optionally with a challenge string <message>. If 'all' is specified, you prove the entire sum of all of your existing accounts' balances. Otherwise, you prove the reserve of the smallest possible amount above <amount> available in your current account.</source> @@ -2440,238 +2573,283 @@ Si 'all' est spécifié, vous prouvez la somme totale des soldes de to Sinon, vous prouvez le plus petit solde supérieur à <montant> dans votre compte actuel.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2760"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2938"/> <source>Check a signature proving that the owner of <address> holds at least this much, optionally with a challenge string <message>.</source> <translation>Vérifier la validité d'une signature prouvant que le propriétaire d'une <adresse> détient au moins un montant, optionnellement avec un <message> comme challenge.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2780"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2958"/> <source>Show the unspent outputs of a specified address within an optional amount range.</source> <translation>Afficher les sorties non dépensées d'une adresse spécifique dans un interval de montants facultatif.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2788"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2962"/> + <source>Rescan the blockchain from scratch. If "hard" is specified, you will lose any information which can not be recovered from the blockchain itself.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2966"/> <source>Set an arbitrary string note for a <txid>.</source> <translation>Définir un texte arbitraire comme note pour <ID_transaction>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2792"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2970"/> <source>Get a string note for a txid.</source> - <translation>Obtenir le texte de la note pour <ID_transaction>.</translation> + <translation>Obtenir le texte de la note pour un ID de transaction.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2796"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2974"/> <source>Set an arbitrary description for the wallet.</source> <translation>Définir un texte arbitraire comme description du portefeuille.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2800"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2978"/> <source>Get the description of the wallet.</source> <translation>Obtenir la description du portefeuille.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2803"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2981"/> <source>Show the wallet's status.</source> <translation>Afficher l'état du portefeuille.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2806"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2984"/> <source>Show the wallet's information.</source> <translation>Afficher les informations du portefeuille.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2810"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2988"/> <source>Sign the contents of a file.</source> <translation>Signer le contenu d'un fichier.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2814"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2992"/> <source>Verify a signature on the contents of a file.</source> <translation>Vérifier la signature du contenu d'un fichier.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2822"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3000"/> <source>Import a signed key images list and verify their spent status.</source> <translation>Importer un ensemble signé d'images de clé et vérifier si elles correspondent à des dépenses.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2834"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3012"/> <source>Export a set of outputs owned by this wallet.</source> <translation>Exporter un ensemble de sorties possédées par ce portefeuille.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2838"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3016"/> <source>Import a set of outputs owned by this wallet.</source> <translation>Importer un ensemble de sorties possédées par ce portefeuille.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2842"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3020"/> <source>Show information about a transfer to/from this address.</source> <translation>Afficher les information à propos d'un transfert vers/depuis cette adresse.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2845"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3023"/> <source>Change the wallet's password.</source> <translation>Changer le mot de passe du portefeuille.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2849"/> - <source>Generate a new random full size payment id. These will be unencrypted on the blockchain, see integrated_address for encrypted short payment ids.</source> - <translation>Générer un nouvel ID de paiement long aléatoire. Ceux-ci sont en clair dans la chaîne de blocs, voir integrated_address pour les IDs de paiement courts cryptés.</translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2852"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3030"/> <source>Print the information about the current fee and transaction backlog.</source> <translation>Afficher les informations à propos des frais et arriéré de transactions actuels.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2854"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3032"/> <source>Export data needed to create a multisig wallet</source> <translation>Exporter les données nécessaires pour créer un portefeuille multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2857"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3035"/> <source>Turn this wallet into a multisig wallet</source> <translation>Transformer ce portefeuille en portefeuille multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2861"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3039"/> <source>Turn this wallet into a multisig wallet, extra step for N-1/N wallets</source> <translation>Transformer ce portefeuille en portefeuille multisig, étape supplémentaire pour les portefeuilles N-1/N</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2869"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3047"/> <source>Export multisig info for other participants</source> <translation>Exporter les infos multisig pour les autres participants</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2873"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3051"/> <source>Import multisig info from other participants</source> <translation>Importer les infos multisig des autres participants</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2877"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3055"/> <source>Sign a multisig transaction from a file</source> <translation>Signer une transaction multisig d'un fichier</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2881"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3059"/> <source>Submit a signed multisig transaction from a file</source> <translation>Transmettre une transaction multisig signée d'un fichier</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2885"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3063"/> <source>Export a signed multisig transaction to a file</source> <translation>Exporter une transaction multisig signée vers un fichier</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3002"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3160"/> + <source>Unsets the ring used for a given key image or transaction</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3180"/> + <source>Freeze a single output by key image so it will not be used</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3184"/> + <source>Thaw a single output by key image so it may be used again</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3188"/> + <source>Checks whether a given output is currently frozen by key image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3192"/> + <source>Prints simple network stats</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3196"/> + <source>Prints basic info about Monero for first time users</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3204"/> <source>Show the help section or the documentation about a <command>.</source> <translation>Afficher la section d'aide ou la documentation d'une <commande>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3085"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3258"/> + <source> (set this to support the network and to get a chance to receive new monero)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3295"/> <source>integer >= </source> <translation>entier >= </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3308"/> <source>block height</source> <translation>hauteur de bloc</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3203"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3316"/> + <source>1/yes or 0/no</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3414"/> <source>No wallet found with that name. Confirm creation of new wallet named: </source> <translation>Aucun portefeuille avec ce nom trouvé. Confirmer la création d'un nouveau portefeuille nommé : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3304"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3540"/> <source>can't specify both --restore-deterministic-wallet or --restore-multisig-wallet and --non-deterministic</source> <translation>impossible de spécifier à la fois --restore-deterministic-wallet ou --restore-multisig-wallet et --non-deterministic</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3310"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3546"/> <source>--restore-multisig-wallet uses --generate-new-wallet, not --wallet-file</source> <translation>--restore-multisig-wallet utilise --generate-new-wallet, pas --wallet-file</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3326"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3562"/> <source>specify a recovery parameter with the --electrum-seed="multisig seed here"</source> <translation>spécifiez un paramètre de récupération avec --electrum-seed="phrase mnémonique multisig ici"</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3355"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3591"/> <source>Multisig seed failed verification</source> <translation>Échec de la vérification de la phrase mnémonique multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3406"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3481"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3641"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3718"/> <source>This address is a subaddress which cannot be used here.</source> <translation>Cette adresse est une sous-adresse qui ne peut pas être utilisée ici.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3558"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3796"/> <source>Error: expected M/N, but got: </source> <translation>Erreur : M/N attendu, mais lu : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3563"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3801"/> <source>Error: expected N > 1 and N <= M, but got: </source> <translation>Erreur : N > 1 et N <= M attendu, mais lu : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3568"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3806"/> <source>Error: M/N is currently unsupported. </source> <translation>Erreur : M/N n'est actuellement pas supporté. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3809"/> <source>Generating master wallet from %u of %u multisig wallet keys</source> <translation>Génération du portefeuille principal à partir de %u de %u clés de portefeuille multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3600"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3838"/> <source>failed to parse secret view key</source> <translation>échec de l'analyse de la clé secrète d'audit</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3608"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3846"/> <source>failed to verify secret view key</source> <translation>échec de la vérification de la clé secrète d'audit</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3628"/> - <source>Secret spend key (%u of %u):</source> - <translation>Clé secrète de dépense (%u de %u) :</translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3651"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3889"/> <source>Error: M/N is currently unsupported</source> <translation>Erreur : M/N n'est actuellement pas supporté</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3802"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4055"/> <source>Restore height </source> <translation>Hauteur de restauration </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3803"/> - <source>Still apply restore height? (Y/Yes/N/No): </source> - <translation>Appliquer la hauteur de restauration quand même ? (Y/Yes/Oui/N/No/Non) : </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3829"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4083"/> <source>Warning: using an untrusted daemon at %s, privacy will be lessened</source> <translation>Attention : en n'utilisant %s qui n'est pas un démon de confiance, la confidentialité sera réduite</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3888"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4093"/> + <source>If you are new to Monero, type "welcome" for a brief overview.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4098"/> + <source>WARNING: obsolete long payment IDs are enabled. Sending transactions with those payment IDs are bad for your privacy.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4100"/> + <source>It is recommended that you do not use them, and ask recipients who ask for one to not endanger your privacy.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4165"/> <source>Daemon either is not started or wrong port was passed. Please make sure daemon is running or change the daemon address using the 'set_daemon' command.</source> <translation>Le démon n'est pas lancé ou un mauvais port a été fourni. Veuillez vous assurer que le démon fonctionne ou changez l'adresse de démon avec la commande 'set_daemon'.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4036"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4313"/> <source>Your wallet has been generated! To start synchronizing with the daemon, use the "refresh" command. Use the "help" command to see the list of available commands. @@ -2690,1419 +2868,1467 @@ votre portefeuille à nouveau (mais les clés de votre portefeuille ne risquent </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4180"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4457"/> <source>failed to generate new mutlisig wallet</source> <translation>échec de la génération du nouveau portefeuille multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4183"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4460"/> <source>Generated new %u/%u multisig wallet: </source> <translation>Nouveau portefeuille multisig %u/%u généré : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4232"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4509"/> <source>Opened %u/%u multisig wallet%s</source> <translation>Portefeuille multisig %u/%u ouvert%s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4570"/> <source>Use "help <command>" to see a command's documentation. </source> <translation>Utilisez "help <commande>" pour voir la documentation d'une commande. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4351"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4628"/> <source>wallet is multisig and cannot save a watch-only version</source> <translation>c'est un portefeuille multisig et il ne peut pas sauvegarder une version d'audit</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4476"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4664"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4696"/> + <source>Failed to query mining status: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4679"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4707"/> + <source>Failed to setup background mining: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4683"/> + <source>Background mining enabled. Thank you for supporting the Monero network.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4711"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4719"/> + <source>Background mining not enabled. Run "set setup-background-mining 1" to change.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4725"/> + <source>Using an untrusted daemon, skipping background mining check</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4750"/> + <source>The daemon is not set up to background mine.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4751"/> + <source>With background mining enabled, the daemon will mine when idle and not on batttery.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4752"/> + <source>Enabling this supports the network you are using, and makes you eligible for receiving new monero</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4757"/> + <source>Background mining not enabled. Set setup-background-mining to 1 to change.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4864"/> <source>Unexpected array length - Exited simple_wallet::set_daemon()</source> <translation>Taille de tableau inattendue - Sortie de simple_wallet::set_daemon()</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4517"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4905"/> <source>This does not seem to be a valid daemon URL.</source> <translation>Ceci semble ne pas être une URL de démon valide.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4553"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4590"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4941"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4974"/> <source>txid </source> <translation>ID transaction </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4555"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4592"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4943"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4976"/> <source>idx </source> <translation>index </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4780"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5108"/> + <source>New transfer received since rescan was started. Key images are incomplete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5183"/> <source> (Some owned outputs have partial key images - import_multisig_info needed)</source> <translation> (Certaines sorties ont des images de clé partielles - import_multisig_info requis)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4783"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5186"/> <source>Currently selected account: [</source> <translation>Compte actuellement sélectionné : [</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4783"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5186"/> <source>] </source> <translation>] </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4785"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5188"/> <source>Tag: </source> <translation>Mot clé : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4785"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5188"/> <source>(No tag assigned)</source> <translation>(Pas de mot clé assigné)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4792"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5200"/> <source>Balance per address:</source> <translation>Solde par adresse :</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> <source>Address</source> <translation>Adresse</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> <source>Balance</source> <translation>Solde</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> <source>Unlocked balance</source> <translation>Solde débloqué</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> <source>Outputs</source> <translation>Sorties</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9122"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> <source>Label</source> <translation>Étiquette</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4801"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5209"/> <source>%8u %6s %21s %21s %7u %21s</source> <translation>%8u %6s %21s %21s %7u %21s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>spent</source> <translation>dépensé</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>global index</source> <translation>index global</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>tx id</source> <translation>ID de transaction</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>addr index</source> <translation>index adresse</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4924"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5312"/> + <source>Used at heights: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5318"/> + <source>[frozen]</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5332"/> <source>No incoming transfers</source> <translation>Aucun transfert entrant</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4928"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5336"/> <source>No incoming available transfers</source> <translation>Aucun transfert entrant disponible</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4932"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5340"/> <source>No incoming unavailable transfers</source> <translation>Aucun transfert entrant non disponible</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>payment</source> <translation>paiement</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>transaction</source> <translation>transaction</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>height</source> <translation>hauteur</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>unlock time</source> <translation>durée de déverrouillage</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4968"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5376"/> <source>No payments with id </source> <translation>Aucun paiement avec l'ID </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5016"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5106"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5442"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5901"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5424"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5514"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5843"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6302"/> <source>failed to get blockchain height: </source> <translation>échec de la récupération de la hauteur de la chaîne de blocs : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5114"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5522"/> <source> Transaction %llu/%llu: txid=%s</source> <translation> Transaction %llu/%llu : ID=%s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5135"/> - <source> -Input %llu/%llu: amount=%s</source> - <translation> -Entrée %llu/%llu : montant=%s</translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5151"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5559"/> <source>failed to get output: </source> <translation>échec de la récupération de la sortie : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5159"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5567"/> <source>output key's originating block height shouldn't be higher than the blockchain height</source> <translation>la hauteur du bloc d'origine de la clé de la sortie ne devrait pas être supérieure à celle de la chaîne de blocs</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5163"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5571"/> <source> Originating block heights: </source> <translation> Hauteurs des blocs d'origine : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5175"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5583"/> <source> |</source> <translation> |</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5175"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7706"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5583"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8110"/> <source>| </source> <translation>| </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5192"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5600"/> <source> Warning: Some input keys being spent are from </source> <translation> Attention : Certaines clés d'entrées étant dépensées sont issues de </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5194"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5602"/> <source>, which can break the anonymity of ring signature. Make sure this is intentional!</source> <translation>, ce qui peut casser l'anonymat du cercle de signature. Assurez-vous que c'est intentionnel !</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5234"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5853"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6156"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5642"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6254"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6547"/> <source>Ring size must not be 0</source> <translation>La taille de cercle ne doit pas être 0</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5246"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5865"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6168"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5654"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6266"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6559"/> <source>ring size %u is too small, minimum is %u</source> <translation>la taille de cercle %u est trop petite, le minimum est %u</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5258"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5666"/> <source>wrong number of arguments</source> <translation>mauvais nombre d'arguments</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5417"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5996"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6268"/> - <source>No payment id is included with this transaction. Is this okay? (Y/Yes/N/No): </source> - <translation>Aucun ID de paiement n'est inclus dans cette transaction. Est-ce correct ? (Y/Yes/Oui/N/No/Non) : </translation> + <location filename="../src/simplewallet/simplewallet.cpp" line="5686"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5796"/> + <source>Warning: Unencrypted payment IDs will harm your privacy: ask the recipient to use subaddresses instead</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5458"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6016"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5859"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6407"/> <source>No outputs found, or daemon is not ready</source> <translation>Aucune sortie trouvée, ou le démon n'est pas prêt</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6428"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6816"/> <source>Failed to parse donation address: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6444"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6832"/> <source>Donating %s %s to %s.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7493"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7897"/> <source>usage: export_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] [output=<path>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>direction</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>timestamp</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>running balance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>hash</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>payment ID</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>fee</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>destination</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>index</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>note</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7572"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7976"/> <source>CSV exported to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7750"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8172"/> + <source>Warning: your restore height is higher than wallet restore height: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="8173"/> + <source>Rescan anyway ? (Y/Yes/N/No): </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="8192"/> <source>MMS received new message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8559"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8605"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8999"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9045"/> <source>command only supported by HW wallet</source> <translation>commande supportée uniquement par un portefeuille matériel</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8564"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9004"/> <source>hw wallet does not support cold KI sync</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8576"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9016"/> <source>Please confirm the key image sync on the device</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8582"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9022"/> <source>Key images synchronized to height </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8585"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9025"/> <source>Running untrusted daemon, cannot determine which transaction output is spent. Use a trusted daemon with --trusted-daemon and run rescan_spent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8588"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9028"/> <source> spent, </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8588"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9028"/> <source> unspent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8592"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9032"/> <source>Failed to import key images</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8597"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9037"/> <source>Failed to import key images: </source> <translation type="unfinished">Échec de l'importation des images de clé : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8614"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9054"/> <source>Failed to reconnect device</source> <translation>Échec de la reconnexion à l'appareil</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8619"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9059"/> <source>Failed to reconnect device: </source> <translation>Échec de la reconnexion à l'appareil : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8883"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9323"/> <source>Transaction successfully saved to </source> <translation>Transaction sauvegardée avec succès dans </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8883"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8885"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9323"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9325"/> <source>, txid </source> <translation>, ID transaction </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8885"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9325"/> <source>Failed to save transaction to </source> <translation>Échec de la sauvegarde de la transaction dans </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5723"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6044"/> - <source>Sweeping %s in %llu transactions for a total fee of %s. Is this okay? (Y/Yes/N/No): </source> - <translation>Balayage de %s dans %llu transactions pour des frais totaux de %s. Est-ce correct ? (Y/Yes/Oui/N/No/Non) : </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5729"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6050"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6310"/> - <source>Sweeping %s for a total fee of %s. Is this okay? (Y/Yes/N/No): </source> - <translation>Balayage de %s pour des frais totaux de %s. Est-ce correct ? (Y/Yes/Oui/N/No/Non) : </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6611"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7014"/> <source>This is a watch only wallet</source> <translation>Ceci est un portefeuille d'audit</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8813"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9253"/> <source>Double spend seen on the network: this transaction may or may not end up being mined</source> <translation>Double dépense détectée sur le réseau : cette transaction sera peut-être invalidée</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8848"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9288"/> <source>Transaction ID not found</source> <translation>ID de transaction non trouvé</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="336"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="357"/> <source>true</source> <translation>vrai</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="389"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="410"/> <source>failed to parse refresh type</source> <translation>échec de l'analyse du type de rafraîchissement</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="721"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="787"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="939"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="984"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1067"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1124"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1190"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1256"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1350"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1466"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1547"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6601"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6665"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6702"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6799"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7010"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7094"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8397"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8474"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8517"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8630"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8670"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="742"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="808"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="962"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1007"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1090"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1147"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1214"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1280"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1374"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1490"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7004"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7068"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7105"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7410"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7494"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8842"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8919"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8962"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9070"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9110"/> <source>command not supported by HW wallet</source> <translation>commande non supportée par le portefeuille matériel</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="726"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="797"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="747"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="818"/> <source>wallet is watch-only and has no seed</source> <translation>c'est un portefeuille d'audit et il n'a pas de phrase mnémonique</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="744"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="807"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="828"/> <source>wallet is non-deterministic and has no seed</source> <translation>c'est un portefeuille non déterministe et il n'a pas de phrase mnémonique</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="751"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="772"/> <source>Enter optional seed offset passphrase, empty to see raw seed</source> <translation>Entrer une phrase de passe facultative pour le décalage de la phrase mnémonique, effacer pour voir la phrase mnémonique brute</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="817"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="838"/> <source>Incorrect password</source> <translation>Mot de passe invalide</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="883"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="906"/> <source>Current fee is %s %s per %s</source> <translation>Les frais sont actuellement de %s %s par %s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1631"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1788"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1655"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1812"/> <source>Invalid key image</source> <translation>Image de clé invalide</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1637"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1661"/> <source>Invalid txid</source> <translation>ID de transaction invalide</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1649"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1673"/> <source>Key image either not spent, or spent with mixin 0</source> <translation>Image de clé soit non dépensée, soit dépensée avec 0 mélange</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1664"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1688"/> <source>Failed to get key image ring: </source> <translation>Échec de la récupération du cercle de l'image de clé : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1679"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1703"/> <source>File doesn't exist</source> <translation>Le fichier d'existe pas</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1701"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1725"/> <source>Invalid ring specification: </source> <translation>Spécification de cercle invalide : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1733"/> <source>Invalid key image: </source> <translation>Image de clé invalide : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1714"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1738"/> <source>Invalid ring type, expected relative or abosolute: </source> <translation>Type de cercle invalide, "relative" ou "absolute" attendu : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1720"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1732"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1744"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1756"/> <source>Error reading line: </source> <translation>Erreur lors de la lecture de la ligne : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1743"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1767"/> <source>Invalid ring: </source> <translation>Cercle invalide : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1752"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1776"/> <source>Invalid relative ring: </source> <translation>Cercle relatif invalide : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1764"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1788"/> <source>Invalid absolute ring: </source> <translation>Cercle absolu invalide : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1773"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1797"/> <source>Failed to set ring for key image: </source> <translation>Échec de l'affectation du cercle pour l'image de clé : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1773"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1797"/> <source>Continuing.</source> <translation>On continue.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1803"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1827"/> <source>Missing absolute or relative keyword</source> <translation>Mot clé "absolute" ou "relative" manquant</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1813"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1820"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1837"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1844"/> <source>invalid index: must be a strictly positive unsigned integer</source> <translation>index invalide : doit être un nombre entier strictement positif</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1828"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1852"/> <source>invalid index: indices wrap</source> <translation>index invalide : boucle des indices</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1838"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1862"/> <source>invalid index: indices should be in strictly ascending order</source> <translation>index invalide : les indices doivent être en ordre strictement croissant</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1845"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1869"/> <source>failed to set ring</source> <translation>échec de l'affectation du cercle</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1890"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1946"/> <source>First line is not an amount</source> <translation>La première ligne n'est pas un montant</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1904"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1960"/> <source>Invalid output: </source> <translation>Sortie invalide : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1914"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1970"/> <source>Bad argument: </source> <translation>Mauvais argument : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1914"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1970"/> <source>should be "add"</source> <translation>devrait être "add"</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1923"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1979"/> <source>Failed to open file</source> <translation>Échec de l'ouverture du fichier</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1929"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1985"/> <source>Invalid output key, and file doesn't exist</source> <translation>Clé de sortie invalide, et le fichier n'existe pas</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1952"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1979"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2035"/> <source>Invalid output</source> <translation>Sortie invalide</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2007"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2063"/> <source>Failed to save known rings: </source> <translation>Échec de la sauvegarde des cercles connus : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2069"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2088"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2218"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2237"/> <source>wallet is watch-only and cannot transfer</source> <translation>c'est un portefeuille d'audit et il ne peut pas transférer</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2106"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5581"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2255"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5982"/> <source>WARNING: this is a non default ring size, which may harm your privacy. Default is recommended.</source> <translation>ATTENTION : ceci c'est pas la taille de cercle par défaut, ce qui peut nuire à votre confidentialité. La valeur par défaut est recommandée.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2108"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2257"/> <source>WARNING: from v8, ring size will be fixed and this setting will be ignored.</source> <translation>ATTENTION : ) partir de v8, la taille de cercle sera fixée et ce paramètre sera ignoré.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2137"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2160"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2176"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2286"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2309"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2325"/> <source>priority must be either 0, 1, 2, 3, or 4, or one of: </source> <translation>la priorité doit être 0, 1, 2, 3, 4 ou l'une de : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2330"/> <source>could not change default priority</source> <translation>échec du changement de la priorité par défaut</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2249"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2400"/> <source>invalid argument: must be either 0/never, 1/action, or 2/encrypt/decrypt</source> <translation>argument invalide : doit être soit 0/never, 1/action, ou 2/encrypt/decrypt</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2595"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2771"/> <source>Transfer <amount> to <address>. If the parameter "index=<N1>[,<N2>,...]" is specified, the wallet uses outputs received by addresses of those indices. If omitted, the wallet randomly chooses address indices to be used. In any case, it tries its best not to combine outputs across multiple addresses. <priority> is the priority of the transaction. The higher the priority, the higher the transaction fee. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command "set priority") is used. <ring_size> is the number of inputs to include for untraceability. Multiple payments can be made at once by adding URI_2 or <address_2> <amount_2> etcetera (before the payment ID, if it's included)</source> - <translation>Transférer <montant> à <adresse> Si le paramètre "index=<N1>[,<N2>,...]" est spécifié, le portefeuille utilise les sorties reçues par les adresses de ces indices. Si il est omis, le portefeuille choisit les indices d'adresse à utiliser aléatoirement. Dans tous les cas, il essaye de ne pas combiner des sorties de multiples adresses. <priorité> est la priorité de la transaction. Plus la priorité est haute, plus les frais de transaction sont élévés. Les valeurs valides par ordre de priorité (de la plus basse à la plus haute) sont : unimportant, normal, elevated, priority. Si elle est omise, la valeur par défaut (voir la commande "set priority") est utilisée. <taille_cercle> est le nombre d'entrées à inclure pour l'intraçabilité. De multiples paiements peuvent être réalisés d'un coup en ajoutant <URI_2> ou <adresse_2> <montant_2> et cetera (avant l'ID de paiement, si il est inclus)</translation> + <translation>Transférer <montant> à <adresse> Si le paramètre "index=<N1>[,<N2>,...]" est spécifié, le portefeuille utilise les sorties reçues par les adresses de ces indices. Si il est omis, le portefeuille choisit les indices d'adresse à utiliser aléatoirement. Dans tous les cas, il essaye de ne pas combiner des sorties de multiples adresses. <priorité> est la priorité de la transaction. Plus la priorité est haute, plus les frais de transaction sont élevés. Les valeurs valides par ordre de priorité (de la plus basse à la plus haute) sont : unimportant, normal, elevated, priority. Si elle est omise, la valeur par défaut (voir la commande "set priority") est utilisée. <taille_cercle> est le nombre d'entrées à inclure pour l'intraçabilité. De multiples paiements peuvent être réalisés d'un coup en ajoutant <URI_2> ou <adresse_2> <montant_2> et cetera (avant l'ID de paiement, si il est inclus)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2599"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2775"/> <source>Transfer <amount> to <address> and lock it for <lockblocks> (max. 1000000). If the parameter "index=<N1>[,<N2>,...]" is specified, the wallet uses outputs received by addresses of those indices. If omitted, the wallet randomly chooses address indices to be used. In any case, it tries its best not to combine outputs across multiple addresses. <priority> is the priority of the transaction. The higher the priority, the higher the transaction fee. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command "set priority") is used. <ring_size> is the number of inputs to include for untraceability. Multiple payments can be made at once by adding URI_2 or <address_2> <amount_2> etcetera (before the payment ID, if it's included)</source> - <translation>Transférer <montant> à <adresse> et le verrouiller pendant <blocs_verrou> (max 1000000). Si le paramètre "index=<N1>[,<N2>,...]" est spécifié, le portefeuille utilise les sorties reçues par les adresses de ces indices. Si il est omis, le portefeuille choisit les indices d'adresse à utiliser aléatoirement. Dans tous les cas, il essaye de ne pas combiner des sorties de multiples adresses. <priorité> est la priorité de la transaction. Plus la priorité est haute, plus les frais de transaction sont élévés. Les valeurs valides par ordre de priorité (de la plus basse à la plus haute) sont : unimportant, normal, elevated, priority. Si elle est omise, la valeur par défaut (voir la commande "set priority") est utilisée. <taille_cercle> est le nombre d'entrées à inclure pour l'intraçabilité. De multiples paiements peuvent être réalisés d'un coup en ajoutant <URI_2> ou <adresse_2> <montant_2> et cetera (avant l'ID de paiement, si il est inclus)</translation> + <translation>Transférer <montant> à <adresse> et le verrouiller pendant <blocs_verrou> (max 1000000). Si le paramètre "index=<N1>[,<N2>,...]" est spécifié, le portefeuille utilise les sorties reçues par les adresses de ces indices. Si il est omis, le portefeuille choisit les indices d'adresse à utiliser aléatoirement. Dans tous les cas, il essaye de ne pas combiner des sorties de multiples adresses. <priorité> est la priorité de la transaction. Plus la priorité est haute, plus les frais de transaction sont élevés. Les valeurs valides par ordre de priorité (de la plus basse à la plus haute) sont : unimportant, normal, elevated, priority. Si elle est omise, la valeur par défaut (voir la commande "set priority") est utilisée. <taille_cercle> est le nombre d'entrées à inclure pour l'intraçabilité. De multiples paiements peuvent être réalisés d'un coup en ajoutant <URI_2> ou <adresse_2> <montant_2> et cetera (avant l'ID de paiement, si il est inclus)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2603"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2779"/> <source>Send all unlocked balance to an address and lock it for <lockblocks> (max. 1000000). If the parameter "index<N1>[,<N2>,...]" is specified, the wallet sweeps outputs received by those address indices. If omitted, the wallet randomly chooses an address index to be used. <priority> is the priority of the sweep. The higher the priority, the higher the transaction fee. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command "set priority") is used. <ring_size> is the number of inputs to include for untraceability.</source> - <translation>Transférer tout le solde débloqué à une adresse et le verrouiller pendant <blocs_verrou> (max 1000000). Si le paramètre "index=<N1>[,<N2>,...]" est spécifié, le portefeuille utilise les sorties reçues par ces indices d'adresse. Si il est omis, le portefeuille choisit un index d'adresse à utiliser aléatoirement. <priorité> est la priorité du balayage. Plus la priorité est haute, plus les frais de transaction sont élévés. Les valeurs valides par ordre de priorité (de la plus basse à la plus haute) sont : unimportant, normal, elevated, priority. Si elle est omise, la valeur par défaut (voir la commande "set priority") est utilisée. <taille_cercle> est le nombre d'entrées à inclure pour l'intraçabilité.</translation> + <translation>Transférer tout le solde débloqué à une adresse et le verrouiller pendant <blocs_verrou> (max 1000000). Si le paramètre "index=<N1>[,<N2>,...]" est spécifié, le portefeuille utilise les sorties reçues par ces indices d'adresse. Si il est omis, le portefeuille choisit un index d'adresse à utiliser aléatoirement. <priorité> est la priorité du balayage. Plus la priorité est haute, plus les frais de transaction sont élevés. Les valeurs valides par ordre de priorité (de la plus basse à la plus haute) sont : unimportant, normal, elevated, priority. Si elle est omise, la valeur par défaut (voir la commande "set priority") est utilisée. <taille_cercle> est le nombre d'entrées à inclure pour l'intraçabilité.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2609"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2785"/> <source>Send all unlocked balance to an address. If the parameter "index<N1>[,<N2>,...]" is specified, the wallet sweeps outputs received by those address indices. If omitted, the wallet randomly chooses an address index to be used. If the parameter "outputs=<N>" is specified and N > 0, wallet splits the transaction into N even outputs.</source> <translation>Envoyer tout le solde débloqué à une adresse. Si le paramètre "index<N1>[,<N2>,...]" est spécifié, le portefeuille balaye les sorties reçues par ces indices d'adresse. Si il est omis, le portefeuille choisit un index d'adresse à utiliser aléatoirement. Si le paramètre "outputs=<N>" est spécifié et N > 0, le portefeuille scinde la transaction en N sorties égales.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2625"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2801"/> <source>Sign a transaction from a file. If the parameter "export_raw" is specified, transaction raw hex data suitable for the daemon RPC /sendrawtransaction is exported.</source> <translation>Signer une transaction à partir d'un fichier. Si le paramètre "export_raw" est spécifié, les données brutes hexadécimales adaptées au RPC /sendrawtransaction du démon sont exportées.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2646"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2822"/> <source>If no arguments are specified or <index> is specified, the wallet shows the default or specified address. If "all" is specified, the wallet shows all the existing addresses in the currently selected account. If "new " is specified, the wallet creates a new address with the provided label text (which can be empty). If "label" is specified, the wallet sets the label of the address specified by <index> to the provided label text.</source> <translation>Si aucun argument n'est spécifié ou si <index> est spécifié, le portefeuille affiche l'adresse par défaut ou l'adresse spécifiée. Si "all" est spécifié, le portefeuille affiche toutes les adresses existantes dans le comptes actuellement sélectionné. Si "new" est spécifié, le portefeuille crée une nouvelle adresse avec le texte d'étiquette fourni (qui peut être vide). Si "label" est spécifié, le portefeuille affecte le texte fourni à l'étiquette de l'adresse spécifiée par <index>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2730"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2908"/> <source>Set the transaction key (r) for a given <txid> in case the tx was made by some other device or 3rd party wallet.</source> <translation>Définir la clé de transaction (r) pour un <ID_transaction> donné au cas où cette clé ait été créée par un appareil ou portefeuille tiers.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2784"/> - <source>Rescan the blockchain from scratch, losing any information which can not be recovered from the blockchain itself.</source> - <translation>Rescanner la chaîne de blocs à partir du début, en perdant toute information qui ne peut pas être retrouvée à partir de la chaîne elle même.</translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2830"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3008"/> <source>Attempts to reconnect HW wallet.</source> <translation>Essayer de se reconnecter à un portefeuille matériel.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3150"/> <source>Print the ring(s) used to spend a given key image or transaction (if the ring size is > 1) Output format: Key Image, "absolute", list of rings</source> - <translation type="unfinished">Afficher le(s) cercle(s) utilisé(s) pour dépenser une image de clé ou une transaction (si la taille de cercle est > 1)</translation> + <translation>Afficher le(s) cercle(s) utilisé(s) pour dépenser une image de clé ou une transaction (si la taille de cercle est > 1) + +Format de sortie : +Image de clé, "absolue", liste de cercles</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2978"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3156"/> <source>Set the ring used for a given key image, so it can be reused in a fork</source> <translation>Définir le cercle utilisé pour une image de clé donnée, afin de pouvoir le réutiliser dans un fork</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2982"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3164"/> <source>Save known rings to the shared rings database</source> <translation>Sauvegarder les cercles connus dans la base de données des cercles partagés</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2998"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3200"/> <source>Returns version information</source> <translation>Retourne les informations de version</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3087"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3297"/> <source>full (slowest, no assumptions); optimize-coinbase (fast, assumes the whole coinbase is paid to a single address); no-coinbase (fastest, assumes we receive no coinbase transaction), default (same as optimize-coinbase)</source> <translation>full (le plus lent, aucune supposition); optimize-coinbase (rapide, suppose que la récompense de bloc est payée à une unique adresse); no-coinbase (le plus rapide, suppose que l'on ne reçoit aucune récompense de bloc), default (comme optimize-coinbase)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3088"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3298"/> <source>0, 1, 2, 3, or 4, or one of </source> <translation>0, 1, 2, 3, 4 ou l'une de </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3090"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3300"/> <source>0|1|2 (or never|action|decrypt)</source> <translation>0|1|2 (ou never|action|decrypt)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3091"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3301"/> <source>monero, millinero, micronero, nanonero, piconero</source> <translation>monero, millinero, micronero, nanonero, piconero</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3102"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3312"/> <source><major>:<minor></source> <translation><majeur>:<mineur></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3166"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3377"/> <source>Wallet name not valid. Please try again or use Ctrl-C to quit.</source> <translation>Nom de portefeuille non valide. Veuillez réessayer ou utilisez Ctrl-C pour quitter.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3183"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3394"/> <source>Wallet and key files found, loading...</source> <translation>Fichier portefeuille et fichier de clés trouvés, chargement...</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3189"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3400"/> <source>Key file found but not wallet file. Regenerating...</source> <translation>Fichier de clés trouvé mais pas le fichier portefeuille. Régénération...</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3195"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3406"/> <source>Key file not found. Failed to open wallet: </source> <translation>Fichier de clés non trouvé. Échec de l'ouverture du portefeuille : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3214"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3425"/> <source>Generating new wallet...</source> <translation>Génération du nouveau portefeuille...</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3273"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3506"/> <source>Can't specify more than one of --testnet and --stagenet</source> <translation>Impossible de spécifier plus d'une option parmis --testnet et --stagenet</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3285"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3521"/> <source>can't specify more than one of --generate-new-wallet="wallet_name", --wallet-file="wallet_name", --generate-from-view-key="wallet_name", --generate-from-spend-key="wallet_name", --generate-from-keys="wallet_name", --generate-from-multisig-keys="wallet_name", --generate-from-json="jsonfilename" and --generate-from-device="wallet_name"</source> <translation>impossible de spécifier plus d'une option parmis --generate-new-wallet="nom_portefeuille", --wallet-file="nom_portefeuille", --generate-from-view-key="nom_portefeuille", --generate-from-spend-key="nom_portefeuille", --generate-from-keys="nom_portefeuille", --generate-from-multisig-keys="nom_portefeuille", --generate-from-json="nom_fichier_json" et --generate-from-device="nom_portefeuille"</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3364"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3600"/> <source>Electrum-style word list failed verification</source> <translation>Échec de la vérification de la liste de mots de style Electrum</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3369"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3605"/> <source>Enter seed offset passphrase, empty if none</source> <translation>Entrer une phrase de passe pour le décalage de la phrase mnémonique, vide si aucun</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3395"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3415"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3450"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3470"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3490"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3505"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3553"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3578"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3594"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3633"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3630"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3650"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3686"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3707"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3727"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3742"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3791"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3816"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3832"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3871"/> <source>No data supplied, cancelled</source> <translation>Pas de données fournies, annulation</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3401"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3476"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3584"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5371"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5969"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6243"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6818"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6886"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6950"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7154"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8193"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8454"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3636"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3713"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3822"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5770"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6360"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6631"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7218"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7286"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7350"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7554"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8636"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8899"/> <source>failed to parse address</source> <translation>échec de l'analyse de l'adresse</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3421"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3511"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3656"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3748"/> <source>failed to parse view key secret key</source> <translation>échec de l'analyse de la clé secrète d'audit</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3430"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3528"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3665"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3765"/> <source>failed to verify view key secret key</source> <translation>échec de la vérification de la clé secrète d'audit</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3434"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3532"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3613"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3769"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3851"/> <source>view key does not match standard address</source> <translation>la clé d'audit ne correspond pas à l'adresse standard</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3439"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3459"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3536"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3674"/> <location filename="../src/simplewallet/simplewallet.cpp" line="3695"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3726"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3773"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3907"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3934"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3966"/> <source>account creation failed</source> <translation>échec de la création du compte</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3455"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3496"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3638"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3691"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3733"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3876"/> <source>failed to parse spend key secret key</source> <translation>échec de l'analyse de la clé secrète de dépense</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3520"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3658"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3757"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3896"/> <source>failed to verify spend key secret key</source> <translation>échec de la vérification de la clé secrète de dépense</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3524"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3663"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3761"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3901"/> <source>spend key does not match standard address</source> <translation>la clé de dépense ne correspond pas à l'adresse standard</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3701"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3941"/> <source>No restore height is specified.</source> <translation>Aucune hauteur de restauration n'est spécifiée.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3702"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3942"/> <source>Assumed you are creating a new account, restore will be done from current estimated blockchain height.</source> <translation>Nous supposons que vous créez un nouveau compte, la restauration sera faite à partir d'une hauteur de la chaîne de blocs estimée.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3703"/> - <source>Use --restore-height if you want to restore an already setup account from a specific height</source> - <translation>Utilisez --restore-height si vous voulez restaurer un compte existant à partir d'une hauteur spécifique</translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3707"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3947"/> <source>account creation aborted</source> <translation>création du compte annulée</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3816"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4069"/> <source>can't specify --subaddress-lookahead and --wallet-file at the same time</source> <translation>Impossible de spécifier --subaddress-lookahead et --wallet-file en même temps</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3820"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4073"/> <source>failed to open account</source> <translation>échec de l'ouverture du compte</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3824"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4391"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4444"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4529"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6854"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4078"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4779"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4832"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4917"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7254"/> <source>wallet is null</source> <translation>portefeuille est nul</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3832"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4086"/> <source>Failed to initialize ring database: privacy enhancing features will be inactive</source> <translation>Impossible d'initialiser la base de données des cercles : les fonctions d'amélioration de la confidentialité seront inactives</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3917"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4194"/> <source>If your display freezes, exit blind with ^C, then run again with --use-english-language-names</source> <translation>Si votre affichage se bloque, quittez en aveugle avec ^C, puis lancer à nouveau en utilisant --use-english-language-names</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3935"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4212"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4217"/> <source>invalid language choice entered. Please try again. </source> <translation>choix de langue passé invalide. Veuillez réessayer. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4019"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4296"/> <source>View key: </source> <translation>Clé d'audit : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4407"/> <source>Generated new wallet on hw device: </source> <translation>Nouveau portefeuille généré sur l'appareil : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4209"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4486"/> <source>Key file not found. Failed to open wallet</source> <translation>Fichier des clés non trouvé. Échec d'ouverture du portefeuille</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4286"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4563"/> <source>You may want to remove the file "%s" and try again</source> <translation>Vous pourriez vouloir supprimer le fichier "%s" et réessayer</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4314"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4591"/> <source>failed to deinitialize wallet</source> <translation>échec de la désinitialisation du portefeuille</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4367"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4644"/> <source>Watch only wallet saved as: </source> <translation>Portefeuille d'audit sauvegardé vers : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4371"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4648"/> <source>Failed to save watch only wallet: </source> <translation>Échec de la sauvegarde du portefeuille d'audit : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4382"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5024"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8522"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4770"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5432"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8967"/> <source>this command requires a trusted daemon. Enable with --trusted-daemon</source> <translation>cette commande requiert un démon de confiance. Activer avec --trusted-daemon</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4498"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4886"/> <source>Expected trusted or untrusted, got </source> <translation>"trusted" ou "untrusted" attendu, mais lu </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4515"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4903"/> <source>trusted</source> <translation>de confiance</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4515"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4903"/> <source>untrusted</source> <translation>non fiable</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4539"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4927"/> <source>blockchain can't be saved: </source> <translation>la chaîne de blocs ne peut pas être sauvegardée : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4569"/> - <source>NOTE: this transaction uses an encrypted payment ID: consider using subaddresses instead</source> - <translation>NOTE: cette transaction utilise un ID de paiement chiffré: veuillez considérer l'utilisation de sous-adresses à la place</translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4572"/> - <source>WARNING: this transaction uses an unencrypted payment ID: consider using subaddresses instead</source> - <translation>ATTENTION: cette transaction utilise un ID de paiement non chiffré: veuillez considérer l'utilisation de sous-adresses à la place</translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4608"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4992"/> <source>Password needed (%s) - use the refresh command</source> <translation>Mot de passe requis (%s) - utilisez la commande refresh</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4616"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5000"/> <source>Enter password</source> <translation>Entrez le mot de passe</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4720"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5038"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5123"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5446"/> <source>daemon is busy. Please try again later.</source> <translation>le démon est occupé. Veuillez réessayer plus tard.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4724"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5042"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5127"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5450"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation>pas de connexion au démon. Veuillez vous assurer que le démon fonctionne.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4734"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5137"/> <source>refresh error: </source> <translation>erreur du rafraîchissement : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4782"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5185"/> <source> (Some owned outputs have missing key images - import_key_images needed)</source> <translation> (Il manque les images de clé de certaines sorties - import_key_images requis)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4786"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5194"/> <source>Balance: </source> <translation>Solde : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5301"/> <source>pubkey</source> <translation>clé publique</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5301"/> <source>key image</source> <translation>image de clé</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4910"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5318"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>unlocked</source> <translation>déverrouillé</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>ringct</source> <translation>ringct</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4909"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5317"/> <source>T</source> <translation>V</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4909"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5317"/> <source>F</source> <translation>F</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4910"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5318"/> <source>locked</source> <translation>vérrouillé</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4911"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5319"/> <source>RingCT</source> <translation>RingCT</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4911"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5319"/> <source>-</source> <translation>-</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4990"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5398"/> <source>payment ID has invalid format, expected 16 or 64 character hex string: </source> <translation>format d'identifiant de paiement invalide, 16 ou 64 caractères hexadécimaux attendus : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5046"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5454"/> <source>failed to get spent status</source> <translation>échec de la récupération du statut de dépense</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5538"/> <source>failed to find construction data for tx input</source> <translation>échec de la recherche des données pour contruire l'entrée de la transaction</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5543"/> + <source> +Input %llu/%llu (%s): amount=%s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5601"/> <source>the same transaction</source> <translation>la même transaction</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5601"/> <source>blocks that are temporally very close</source> <translation>blocs très proches dans le temps</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5251"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5870"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6173"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5659"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6271"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6564"/> <source>ring size %u is too large, maximum is %u</source> <translation>la taille de cercle %u est trop grande, le maximum est %u</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5276"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5395"/> - <source>Unencrypted payment IDs are bad for privacy: ask the recipient to use subaddresses instead</source> - <translation>Les ID de paiment non chiffrés sont mauvais pour la confidentialité : demandez au bénéficiaire d'utiliser les sous-adresses à la place</translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5690"/> <source>payment id failed to encode</source> <translation>échec de l'encodage de l'ID de paiement</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5340"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5737"/> <source>failed to parse short payment ID from URI</source> <translation>échec de l'analyse de l'ID de paiement court à partir de l'URI</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5363"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5365"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5762"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5764"/> <source>Invalid last argument: </source> <translation>Dernier argument invalide : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5382"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5782"/> <source>a single transaction cannot use more than one payment id</source> <translation>une unique transaction ne peut pas utiliser plus d'un ID de paiement</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5399"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5800"/> <source>failed to parse payment id, though it was detected</source> <translation>échec de l'analyse de l'ID de paiement, bien qu'il ait été détecté</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5775"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6176"/> <source>Not enough money in unlocked balance</source> <translation>Pas assez de fonds dans le solde débloqué</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5776"/> - <source>Discarding %s of unmixable outputs that cannot be spent, which can be undone by "rescan_spent". Is this okay? (Y/Yes/N/No): </source> - <translation>On se débarrasse de %s de sorties non mélangeables qui ne peuvent pas être dépensées, ce qui peut être défait avec "rescan_spent". Est-ce d'accord ? (Y/Yes/N/No) : </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5879"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6280"/> <source>missing lockedblocks parameter</source> <translation>paramètre blocs_verrou manquant</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5889"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6290"/> <source>bad locked_blocks parameter</source> <translation>mauvais paramètre blocs_verrou</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5914"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6182"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6315"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6573"/> <source>Failed to parse number of outputs</source> <translation>Échec de l'analyse du nombre de sorties</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5919"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6187"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6320"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6578"/> <source>Amount of outputs should be greater than 0</source> <translation>Le nombre de sorties doit être supérieur à 0</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6442"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6830"/> <source>Donating %s %s to The Monero Project (donate.getmonero.org or %s).</source> <translation>Don de %s %s à The Monero Project (donate.getmonero.org ou %s).</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6759"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6770"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6777"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7164"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7175"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7182"/> <source>failed to parse tx_key</source> <translation>échec de l'analyse de la clé de transaction</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6786"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7191"/> <source>Tx key successfully stored.</source> <translation>Clé de transaction sauvegardée avec succès.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6790"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7195"/> <source>Failed to store tx key: </source> <translation>Échec de la sauvegarde de la clé de transaction : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6969"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7079"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7369"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7479"/> <source>Good signature</source> <translation>Bonne signature</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6996"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7081"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7396"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7481"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7581"/> <source>Bad signature</source> <translation>Mauvaise signature</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7440"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7844"/> <source>usage: show_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]]</source> - <translation>usage : show_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<hauteur_min> [<hauteur_max>]]</translation> + <translation>usage : show_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<hauteur_min> [<hauteur_max>]]</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7296"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7696"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>block</source> <translation>bloc</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7730"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8159"/> <source>Warning: this will lose any information which can not be recovered from the blockchain.</source> <translation>Attention : ceci pedra toute information qui ne peut pas être retrouvée à partir de la chaîne de blocs.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7731"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8160"/> <source>This includes destination addresses, tx secret keys, tx notes, etc</source> <translation>Ceci inclut les adresses de destination, les clé secrètes de transaction, les notes de transaction, etc</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7732"/> - <source>Rescan anyway ? (Y/Yes/N/No): </source> - <translation>Rescanner quand même ? (Y/Yes/N/No) : </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8169"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8612"/> <source>Standard address: </source> <translation>Adresse standard : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8174"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8617"/> <source>failed to parse payment ID or address</source> <translation>échec de l'analyse de l'ID de paiement ou de l'adresse</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8215"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8659"/> <source>failed to parse payment ID</source> <translation>échec de l'analyse de l'ID de paiement</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8233"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8677"/> <source>failed to parse index</source> <translation>échec de l'analyse de l'index</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8241"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8685"/> <source>Address book is empty.</source> <translation>Le carnet d'adresses est vide.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8247"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8691"/> <source>Index: </source> <translation>Index : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8248"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8378"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8692"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8823"/> <source>Address: </source> <translation>Adresse : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8249"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8693"/> <source>Payment ID: </source> <translation>ID de paiement : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8250"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8377"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8694"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8822"/> <source>Description: </source> <translation>Description : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8387"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8832"/> <source>Network type: </source> <translation>Type de réseau : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8388"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8833"/> <source>Testnet</source> <translation>Testnet</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8389"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8834"/> <source>Stagenet</source> <translation>Stagenet</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8389"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8834"/> <source>Mainnet</source> <translation>Mainnet</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8407"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8852"/> <source>wallet is watch-only and cannot sign</source> <translation>c'est un portefeuille d'audit et il ne peut pas signer</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1289"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8421"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8447"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8684"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1313"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8866"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8892"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9124"/> <source>failed to read file </source> <translation>échec de la lecture du fichier </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6958"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7072"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7166"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6295"/> + <source>Locked blocks too high, max 1000000 (˜4 yrs)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5818"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6387"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6656"/> + <source>No payment id is included with this transaction. Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5882"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5892"/> + <source>Is this okay anyway?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5887"/> + <source>There is currently a %u block backlog at that fee level. Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="7358"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7472"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7566"/> <source>failed to load signature file</source> <translation>échec du chargement du fichier signature</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7020"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7420"/> <source>wallet is watch-only and cannot generate the proof</source> <translation>c'est un portefeuille d'audit et il ne peut générer de preuve</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7104"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7504"/> <source>The reserve proof can be generated only by a full wallet</source> <translation>La preuve de réserve ne peut être généré que par un portefeuille complet</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7159"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7559"/> <source>Address must not be a subaddress</source> <translation>L'adresse ne doit pas être une sous-adresse</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7177"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7577"/> <source>Good signature -- total: %s, spent: %s, unspent: %s</source> <translation>Bonne signature -- total : %s, dépensé : %s, non dépensé : %s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7365"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7767"/> <source>[Double spend seen on the network: this transaction may or may not end up being mined] </source> <translation>[Double dépense détectée sur le réseau : cette transaction sera peut-être invalidée] </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7641"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8045"/> <source>There is no unspent output in the specified address</source> <translation>Il n'y a pas de sortie non dépensée pour l'adresse spécifiée</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7799"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8242"/> <source> (no daemon)</source> <translation> (pas de démon)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7801"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8244"/> <source> (out of sync)</source> <translation> (désynchronisé)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7852"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8295"/> <source>(Untitled account)</source> <translation>(compte sans nom)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7865"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7883"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7908"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7931"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8077"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8100"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8308"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8326"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8351"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8374"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8520"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8543"/> <source>failed to parse index: </source> <translation>échec de l'analyse de l'index : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7870"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8082"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8313"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8525"/> <source>specify an index between 0 and </source> <translation>specifiez un index entre 0 et </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8431"/> <source> Grand total: Balance: </source> @@ -4111,386 +4337,386 @@ Somme finale : Solde : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8431"/> <source>, unlocked balance: </source> <translation>, solde débloqué : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7996"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8439"/> <source>Untagged accounts:</source> <translation>Comptes sans mot clé :</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8002"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8445"/> <source>Tag %s is unregistered.</source> <translation>Le mot clé %s n'est pas enregistré.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8005"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8448"/> <source>Accounts with tag: </source> <translation>Comptes avec mot clé : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8006"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8449"/> <source>Tag's description: </source> <translation>Description du mot clé : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> <source>Account</source> <translation>Compte</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8014"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8457"/> <source> %c%8u %6s %21s %21s %21s</source> <translation> %c%8u %6s %21s %21s %21s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8024"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8467"/> <source>----------------------------------------------------------------------------------</source> <translation>----------------------------------------------------------------------------------</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8025"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8468"/> <source>%15s %21s %21s</source> <translation>%15s %21s %21s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8048"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8491"/> <source>Primary address</source> <translation>Adresse primaire</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8048"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8491"/> <source>(used)</source> <translation>(utilisé)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8069"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8512"/> <source>(Untitled address)</source> <translation>(adresse sans nom)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8109"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8552"/> <source><index_min> is already out of bound</source> <translation><index_min> est déjà hors limite</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8114"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8557"/> <source><index_max> exceeds the bound</source> <translation><index_max> excède la limite</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8140"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8152"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8583"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8595"/> <source>Integrated addresses can only be created for account 0</source> <translation>Les adresses intégrées ne peuvent être créées que pour le compte 0</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8164"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8607"/> <source>Integrated address: %s, payment ID: %s</source> <translation>Adresse intégrée : %s, ID de paiement : %s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8169"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8612"/> <source>Subaddress: </source> <translation>Sous-adresse : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8335"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8779"/> <source>no description found</source> <translation>pas de description trouvée</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8337"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8781"/> <source>description found: </source> <translation>description trouvée : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8376"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8821"/> <source>Filename: </source> <translation>Fichier : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8381"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8826"/> <source>Watch only</source> <translation>Audit</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8383"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8828"/> <source>%u/%u multisig%s</source> <translation>Multisig %u/%u%s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8385"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8830"/> <source>Normal</source> <translation>Normal</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8386"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9180"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8831"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9622"/> <source>Type: </source> <translation>Type : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8412"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8857"/> <source>This wallet is multisig and cannot sign</source> <translation>C'est un portefeuille multisig et il ne peut pas signer</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8461"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8906"/> <source>Bad signature from </source> <translation>Mauvaise signature de </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8465"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8910"/> <source>Good signature from </source> <translation>Bonne signature de </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8484"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8929"/> <source>wallet is watch-only and cannot export key images</source> <translation>c'est un portefeuille d'audit et il ne peut pas exporter les images de clé</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1228"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8498"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8651"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1252"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8943"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9091"/> <source>failed to save file </source> <translation>échec de l'enregistrement du fichier </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8509"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8954"/> <source>Signed key images exported to </source> <translation>Images de clé signées exportées vers </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8662"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9102"/> <source>Outputs exported to </source> <translation>Sorties exportées vers </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5354"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6417"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7115"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7600"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7608"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5752"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6805"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7515"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8004"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8012"/> <source>amount is wrong: </source> <translation>montant erroné : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5355"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6417"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5753"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6805"/> <source>expected number from 0 to </source> <translation>attend un nombre de 0 à </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5721"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6122"/> <source>Sweeping </source> <translation>Balayage de </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6350"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6738"/> <source>Money successfully sent, transaction: </source> <translation>Fonds envoyés avec succès, transaction : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6530"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6933"/> <source>Change goes to more than one address</source> <translation>La monnaie rendue va à plus d'une adresse</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6974"/> <source>%s change to %s</source> <translation>%s de monnaie rendue à %s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6574"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6977"/> <source>no change</source> <translation>sans monnaie rendue</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1435"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1448"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6646"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1459"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1472"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7049"/> <source>Transaction successfully signed to file </source> <translation>Transaction signée avec succès dans le fichier </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6713"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6749"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6811"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6860"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6942"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7027"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7062"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8267"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8295"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8714"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7116"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7154"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7211"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7260"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7342"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7427"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7462"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8711"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8739"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9154"/> <source>failed to parse txid</source> <translation>échec de l'analyse de l'ID de transaction</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6727"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7132"/> <source>Tx key: </source> <translation>Clé de transaction : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6732"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7137"/> <source>no tx keys found for this txid</source> <translation>aucune clé de transaction trouvée pour cet ID de transaction</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6829"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7041"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7229"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7441"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7530"/> <source>signature file saved to: </source> <translation>fichier signature sauvegardé dans : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6831"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7043"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7132"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7231"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7443"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7532"/> <source>failed to save signature file</source> <translation>échec de la sauvegarde du fichier signature</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6868"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6877"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7268"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7277"/> <source>failed to parse tx key</source> <translation>échec de l'analyse de la clé de transaction</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6835"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6923"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7001"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7235"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7323"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7401"/> <source>error: </source> <translation>erreur : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6899"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7299"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7372"/> <source>received</source> <translation>a reçu</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6899"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7299"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7372"/> <source>in txid</source> <translation>dans la transaction</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6918"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6991"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7318"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7391"/> <source>received nothing in txid</source> <translation>n'a rien reçu dans la transaction</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6902"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6975"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7375"/> <source>WARNING: this transaction is not yet included in the blockchain!</source> <translation>ATTENTION : cette transaction n'est pas encore inclue dans la chaîne de blocs !</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6908"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6981"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7308"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7381"/> <source>This transaction has %u confirmations</source> <translation>Cette transaction a %u confirmations</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6912"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6985"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7312"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7385"/> <source>WARNING: failed to determine number of confirmations!</source> <translation>ATTENTION : échec de la détermination du nombre de confirmations !</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7266"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7666"/> <source>bad min_height parameter:</source> <translation>mauvais paramètre hauteur_minimum :</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7278"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7678"/> <source>bad max_height parameter:</source> <translation>mauvais paramètre hauteur_maximum :</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7296"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7696"/> <source>in</source> <translation>reçu</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7615"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8019"/> <source><min_amount> should be smaller than <max_amount></source> <translation><montant_minimum> doit être inférieur à <montant_maximum></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7647"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8051"/> <source> Amount: </source> <translation> Montant : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7647"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8051"/> <source>, number of keys: </source> <translation>, nombre de clés : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7652"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8056"/> <source> </source> <translation> </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7657"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8061"/> <source> Min block height: </source> <translation> Hauteur de bloc minimum : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7658"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8062"/> <source> Max block height: </source> <translation> Hauteur de bloc maximum : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7659"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8063"/> <source> Min amount found: </source> <translation> Montant minimum trouvé : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7660"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8064"/> <source> Max amount found: </source> <translation> Montant maximum trouvé : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7661"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8065"/> <source> Total count: </source> <translation> Compte total : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7701"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8105"/> <source> Bin size: </source> <translation> Taille de classe : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7702"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8106"/> <source> Outputs per *: </source> <translation> Sorties par * : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7704"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8108"/> <source>count ^ </source> @@ -4499,52 +4725,52 @@ Sorties par * : </translation> </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7706"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8110"/> <source> |</source> <translation> |</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7708"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8112"/> <source> +</source> <translation> +</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7708"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8112"/> <source>+--> block height </source> <translation>+--> hauteur de bloc </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8113"/> <source> ^</source> <translation> ^</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8113"/> <source>^ </source> <translation>^ </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7710"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8114"/> <source> </source> <translation> </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7797"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8240"/> <source>wallet</source> <translation>portefeuille</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="870"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8144"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8587"/> <source>Random payment ID: </source> <translation>ID de paiement aléatoire : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8145"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8588"/> <source>Matching integrated address: </source> <translation>Adresse intégrée correspondante : </translation> </message> @@ -4796,243 +5022,233 @@ Use "mms note" to display the waiting notes</source> <context> <name>sw</name> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="125"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="135"/> <source>Generate new wallet and save it to <arg></source> <translation>Générer un nouveau portefeuille et le sauvegarder dans <arg></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="126"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="136"/> <source>Generate new wallet from device and save it to <arg></source> <translation>Générer un nouveau portefeuille à partir de l'appareil et le sauvegarder dans <arg></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="127"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="137"/> <source>Generate incoming-only wallet from view key</source> <translation>Générer un portefeuille d'audit à partir d'une clé d'audit</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="128"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="138"/> <source>Generate deterministic wallet from spend key</source> <translation>Générer un portefeuille déterministe à partir d'une clé de dépense</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="129"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="139"/> <source>Generate wallet from private keys</source> <translation>Générer un portefeuille à partir de clés privées</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="140"/> <source>Generate a master wallet from multisig wallet keys</source> <translation>Générer un portefeuille principal à partir de clés de portefeuille multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="132"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="142"/> <source>Language for mnemonic</source> <translation>Langue de la phrase mnémonique</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="133"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="143"/> <source>Specify Electrum seed for wallet recovery/creation</source> <translation>Spécifier la phrase mnémonique Electrum pour la récupération/création d'un portefeuille</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="134"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="144"/> <source>Recover wallet using Electrum-style mnemonic seed</source> <translation>Récupérer un portefeuille en utilisant une phrase mnémonique de style Electrum</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="135"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="145"/> <source>Recover multisig wallet using Electrum-style mnemonic seed</source> <translation>Récupérer un portefeuille multisig en utilisant une phrase mnémonique de style Electrum</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="136"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="146"/> <source>Generate non-deterministic view and spend keys</source> <translation>Générer des clés d'audit et de dépense non déterministes</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="361"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="149"/> + <source>Restore from estimated blockchain height on specified date</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="382"/> <source>invalid argument: must be either 0/1, true/false, y/n, yes/no</source> <translation>argument invalide : doit être soit 0/1, true/false, y/n, yes/no</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="417"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="438"/> <source>DNSSEC validation passed</source> <translation>Validation DNSSEC réussie</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="421"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="442"/> <source>WARNING: DNSSEC validation was unsuccessful, this address may not be correct!</source> <translation>ATTENTION: la validation DNSSEC a échoué, cette adresse n'est peut être pas correcte !</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="424"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="445"/> <source>For URL: </source> <translation>Pour l'URL : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="426"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="447"/> <source> Monero Address = </source> <translation> Adresse Monero = </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="428"/> - <source>Is this OK? (Y/n) </source> - <translation>Est-ce correct ? (Y/n) </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="438"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="459"/> <source>you have cancelled the transfer request</source> <translation>vous avez annulé la demande de transfert</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="459"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="480"/> <source>failed to parse index: </source> <translation>échec de l'analyse de l'index : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="472"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="493"/> <source>invalid format for subaddress lookahead; must be <major>:<minor></source> <translation>format invalide pour l'anticipation des sous-addresses; doit être <majeur>:<mineur></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="489"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="510"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation>pas de connexion au démon. Veuillez vous assurer que le démon fonctionne.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="494"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="515"/> <source>RPC error: </source> <translation>Erreur RPC : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="498"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="519"/> <source>failed to get random outputs to mix: </source> <translation>échec de la récupération de sorties aléatoires à mélanger : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="505"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="513"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="526"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="534"/> <source>Not enough money in unlocked balance</source> <translation>Pas assez de fonds dans le solde débloqué</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="523"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="544"/> <source>Failed to find a way to create transactions. This is usually due to dust which is so small it cannot pay for itself in fees, or trying to send more money than the unlocked balance, or not leaving enough for fees</source> <translation>Impossible de trouver une façon de créer les transactions. Ceci est souvent dû à de la poussière si petite qu'elle ne peut pas payer ses propres frais, ou à une tentative d'envoi d'un montant supérieur au solde débloqué, ou à un montant restant insuffisant pour payer les frais</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="529"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="550"/> <source>not enough outputs for specified ring size</source> <translation>pas assez de sorties pour la taille de cercle spécifiée</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="532"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="553"/> <source>output amount</source> <translation>montant de la sortie</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="532"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="553"/> <source>found outputs to use</source> <translation>sorties à utiliser trouvées</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="534"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="555"/> <source>Please use sweep_unmixable.</source> <translation>Veuillez utiliser sweep_unmixable.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="538"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="559"/> <source>transaction was not constructed</source> <translation>la transaction n'a pas été construite</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="543"/> - <source>transaction %s was rejected by daemon with status: </source> - <translation>la transaction %s a été rejetée par le démon avec le statut : </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="546"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="567"/> <source>Reason: </source> <translation>Raison : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="555"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="576"/> <source>one of destinations is zero</source> <translation>une des destinations est zéro</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="560"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="581"/> <source>failed to find a suitable way to split transactions</source> <translation>échec de la recherche d'une façon adéquate de scinder les transactions</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="566"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="587"/> <source>unknown transfer error: </source> <translation>erreur de transfert inconnue : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="592"/> <source>Multisig error: </source> <translation>Erreur multisig : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="577"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="598"/> <source>internal error: </source> <translation>erreur interne : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="582"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="603"/> <source>unexpected error: </source> <translation>erreur inattendue : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="586"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="607"/> <source>There was an error, which could mean the node may be trying to get you to retry creating a transaction, and zero in on which outputs you own. Or it could be a bona fide error. It may be prudent to disconnect from this node, and not try to send a transaction immediately. Alternatively, connect to another node so the original node cannot correlate information.</source> <translation>Il y a eu une erreur, ce qui pourrait signifier que le noeud essaye de vous faire réessayer de créer une transaction, pour tenter d'identifier quelles sorties sont les votres. Ou il pourrait s'agir d'une erreur de bonne foi. Il pourrait être prudent de se déconnecter de ce noeud, et de ne pas essayer d'envoyer une transaction immédiatement. Ou sinon, se connecter à un autre noeud pour que le noeud original ne puisse pas corréler les informations.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="596"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="617"/> <source>File %s likely stores wallet private keys! Use a different file name.</source> <translation>Le fichier %s contient probablement des clés privées de portefeuille ! Utilisez un nom de fichier différent.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="599"/> - <source>File %s already exists. Are you sure to overwrite it? (Y/Yes/N/No): </source> - <translation>Le fichier %s existe déjà. Êtes vous sûr de vouloir l'écraser ? (Y/Yes/N/No) : </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7195"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7595"/> <source> seconds</source> <translation> secondes</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7197"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7597"/> <source> minutes</source> <translation> minutes</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7199"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7599"/> <source> hours</source> <translation> heures</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7601"/> <source> days</source> <translation> jours</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7203"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7603"/> <source> months</source> <translation> mois</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7204"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7604"/> <source>a long time</source> <translation>longtemps</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9382"/> <source>This is the command line monero wallet. It needs to connect to a monero daemon to work correctly. WARNING: Do not reuse your Monero keys on another fork, UNLESS this fork has key reuse mitigations built in. Doing so will harm your privacy.</source> @@ -5041,68 +5257,88 @@ Il a besoin de se connecter à un démon monero pour fonctionner correctement. ATTENTION : Ne réutilisez pas vos clés Monero avec un autre fork, À MOINS QUE ce fork inclue des mitigations contre la réutilisation des clés. Faire ceci nuira à votre confidentialité.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8965"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9407"/> <source>Unknown command: </source> <translation>Commande inconnue : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="137"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="147"/> <source>Allow communicating with a daemon that uses a different RPC version</source> <translation>Autoriser la communication avec un démon utilisant une version de RPC différente</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="138"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="148"/> <source>Restore from specific blockchain height</source> <translation>Restaurer à partir d'une hauteur de bloc spécifique</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="139"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="150"/> <source>The newly created transaction will not be relayed to the monero network</source> <translation>La transaction nouvellement créée ne sera pas transmise au réseau monero</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="140"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="151"/> <source>Create an address file for new wallets</source> <translation>Créer un fichier d'adresse pour les nouveaux portefeuilles</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="142"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="153"/> <source>Display English language names</source> <translation>Afficher les noms de langue en anglais</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="276"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="154"/> + <source>Support obsolete long (unencrypted) payment ids (using them harms your privacy)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="297"/> <source>failed to read wallet password</source> <translation>échec de la lecture du mot de passe du portefeuille</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="283"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="304"/> <source>Enter a new password for the wallet</source> <translation>Entrer un nouveau mot de passe pour le portefeuille</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="283"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="304"/> <source>Wallet password</source> <translation>Mot de passe du portefeuille</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="293"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="485"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="314"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="506"/> <source>daemon is busy. Please try again later.</source> <translation>le démon est occupé. Veuillez réessayer plus tard.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="323"/> <source>possibly lost connection to daemon</source> <translation>connexion avec le démon peut-être perdue</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="319"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="340"/> <source>Error: </source> <translation>Erreur : </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8959"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="449"/> + <source>Is this OK?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="564"/> + <source>transaction %s was rejected by daemon</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="620"/> + <source>File %s already exists. Are you sure to overwrite it?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="9401"/> <source>Failed to initialize wallet</source> <translation>Échec de l'initialisation du portefeuille</translation> </message> @@ -5110,360 +5346,448 @@ ATTENTION : Ne réutilisez pas vos clés Monero avec un autre fork, À MOINS QUE <context> <name>tools::wallet2</name> <message> - <location filename="../src/wallet/wallet2.cpp" line="201"/> + <location filename="../src/wallet/wallet2.cpp" line="234"/> <source>Use daemon instance at <host>:<port></source> <translation>Utiliser l'instance de démon située à <hôte>:<port></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="202"/> + <location filename="../src/wallet/wallet2.cpp" line="235"/> <source>Use daemon instance at host <arg> instead of localhost</source> <translation>Utiliser l'instance de démon située à l'hôte <arg> au lieu de localhost</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="206"/> + <location filename="../src/wallet/wallet2.cpp" line="240"/> <source>Wallet password file</source> <translation>Fichier mot de passe du portefeuille</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="207"/> + <location filename="../src/wallet/wallet2.cpp" line="241"/> <source>Use daemon instance at port <arg> instead of 18081</source> <translation>Utiliser l'instance de démon située au port <arg> au lieu de 18081</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="209"/> + <location filename="../src/wallet/wallet2.cpp" line="250"/> <source>For testnet. Daemon must also be launched with --testnet flag</source> <translation>Pour testnet, le démon doit aussi être lancé avec l'option --testnet</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="282"/> + <location filename="../src/wallet/wallet2.cpp" line="361"/> <source>can't specify daemon host or port more than once</source> <translation>impossible de spécifier l'hôte ou le port du démon plus d'une fois</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="355"/> + <location filename="../src/wallet/wallet2.cpp" line="480"/> <source>can't specify more than one of --password and --password-file</source> <translation>impossible de spécifier plus d'une option parmis --password et --password-file</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="368"/> + <location filename="../src/wallet/wallet2.cpp" line="493"/> <source>the password file specified could not be read</source> <translation>le fichier mot de passe spécifié n'a pas pu être lu</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="394"/> + <location filename="../src/wallet/wallet2.cpp" line="519"/> <source>Failed to load file </source> <translation>Échec du chargement du fichier </translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="205"/> + <location filename="../src/wallet/wallet2.cpp" line="239"/> <source>Wallet password (escape/quote as needed)</source> <translation>Mot de passe du portefeuille (échapper/citer si nécessaire)</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="203"/> + <location filename="../src/wallet/wallet2.cpp" line="236"/> + <source>[<ip>:]<port> socks proxy to use for daemon connections</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="237"/> <source>Enable commands which rely on a trusted daemon</source> <translation>Activer les commandes qui dépendent d'un démon de confiance</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="204"/> + <location filename="../src/wallet/wallet2.cpp" line="238"/> <source>Disable commands which rely on a trusted daemon</source> <translation>Désactiver les commandes qui dépendent d'un démon de confiance</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="208"/> + <location filename="../src/wallet/wallet2.cpp" line="242"/> <source>Specify username[:password] for daemon RPC client</source> <translation>Spécifier le nom_utilisateur:[mot_de_passe] pour le client RPC du démon</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="210"/> + <location filename="../src/wallet/wallet2.cpp" line="243"/> + <source>Enable SSL on daemon RPC connections: enabled|disabled|autodetect</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="247"/> + <source>List of valid fingerprints of allowed RPC servers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="248"/> + <source>Allow any SSL certificate from the daemon</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="249"/> + <source>Allow user (via --daemon-ssl-ca-certificates) chain certificates</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="251"/> <source>For stagenet. Daemon must also be launched with --stagenet flag</source> <translation>Pour stagenet, le démon doit aussi être lancé avec l'option --stagenet</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="212"/> + <location filename="../src/wallet/wallet2.cpp" line="253"/> <source>Set shared ring database path</source> <translation>Définir le chemin de la base de donnée de cercles partagés</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="223"/> + <location filename="../src/wallet/wallet2.cpp" line="264"/> <source>Number of rounds for the key derivation function</source> <translation>Nombre de rondes de la fonction de dérivation de clé</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="224"/> + <location filename="../src/wallet/wallet2.cpp" line="265"/> <source>HW device to use</source> <translation>Portefeuille matériel à utiliser</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="225"/> + <location filename="../src/wallet/wallet2.cpp" line="266"/> <source>HW device wallet derivation path (e.g., SLIP-10)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="313"/> + <location filename="../src/wallet/wallet2.cpp" line="268"/> + <source>Do not use DNS</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="269"/> + <source>Do not connect to a daemon, nor use DNS</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="353"/> + <source>Invalid argument for </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="397"/> + <source>Enabling --</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="397"/> + <source> requires --</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="398"/> + <source> or --</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="398"/> + <source> or use of a .onion/.i2p domain</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="432"/> <source>--trusted-daemon and --untrusted-daemon are both seen, assuming untrusted</source> <translation>--trusted-daemon et --untrusted-daemon présents simultanément, --untrusted-daemon choisi</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="323"/> + <location filename="../src/wallet/wallet2.cpp" line="442"/> <source>Daemon is local, assuming trusted</source> <translation>Le démon est local, supposons qu'il est de confiance</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="375"/> + <location filename="../src/wallet/wallet2.cpp" line="500"/> <source>no password specified; use --prompt-for-password to prompt for a password</source> <translation>pas de mot de passe spécifié; utilisez --prompt-for-password pour demander un mot de passe</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="377"/> + <location filename="../src/wallet/wallet2.cpp" line="502"/> <source>Enter a new password for the wallet</source> <translation>Entrer un nouveau mot de passe pour le portefeuille</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="377"/> + <location filename="../src/wallet/wallet2.cpp" line="502"/> <source>Wallet password</source> <translation>Mot de passe du portefeuille</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="400"/> + <location filename="../src/wallet/wallet2.cpp" line="525"/> <source>Failed to parse JSON</source> <translation>Échec de l'analyse JSON</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="407"/> + <location filename="../src/wallet/wallet2.cpp" line="532"/> <source>Version %u too new, we can only grok up to %u</source> <translation>Version %u trop récente, on comprend au mieux %u</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="423"/> + <location filename="../src/wallet/wallet2.cpp" line="548"/> <source>failed to parse view key secret key</source> <translation>échec de l'analyse de la clé secrète d'audit</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="428"/> - <location filename="../src/wallet/wallet2.cpp" line="496"/> - <location filename="../src/wallet/wallet2.cpp" line="539"/> + <location filename="../src/wallet/wallet2.cpp" line="553"/> + <location filename="../src/wallet/wallet2.cpp" line="621"/> + <location filename="../src/wallet/wallet2.cpp" line="666"/> <source>failed to verify view key secret key</source> <translation>échec de la vérification de la clé secrète d'audit</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="439"/> + <location filename="../src/wallet/wallet2.cpp" line="564"/> <source>failed to parse spend key secret key</source> <translation>échec de l'analyse de la clé secrète de dépense</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="444"/> - <location filename="../src/wallet/wallet2.cpp" line="506"/> - <location filename="../src/wallet/wallet2.cpp" line="565"/> + <location filename="../src/wallet/wallet2.cpp" line="569"/> + <location filename="../src/wallet/wallet2.cpp" line="631"/> + <location filename="../src/wallet/wallet2.cpp" line="692"/> <source>failed to verify spend key secret key</source> <translation>échec de la vérification de la clé secrète de dépense</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="456"/> + <location filename="../src/wallet/wallet2.cpp" line="581"/> <source>Electrum-style word list failed verification</source> <translation>Échec de la vérification de la liste de mots de style Electrum</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="476"/> + <location filename="../src/wallet/wallet2.cpp" line="601"/> <source>At least one of either an Electrum-style word list, private view key, or private spend key must be specified</source> <translation>Il faut spécifier au moins une des options parmis la liste de mots de style Electrum, la clé privée d'audit et la clé privée de dépense</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="480"/> + <location filename="../src/wallet/wallet2.cpp" line="605"/> <source>Both Electrum-style word list and private key(s) specified</source> <translation>Liste de mots de style Electrum et clé privée spécifiées en même temps</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="490"/> + <location filename="../src/wallet/wallet2.cpp" line="615"/> <source>invalid address</source> <translation>adresse invalide</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="499"/> + <location filename="../src/wallet/wallet2.cpp" line="624"/> <source>view key does not match standard address</source> <translation>la clé d'audit ne correspond pas à l'adresse standard</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="509"/> + <location filename="../src/wallet/wallet2.cpp" line="634"/> <source>spend key does not match standard address</source> <translation>la clé de dépense ne correspond pas à l'adresse standard</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="517"/> + <location filename="../src/wallet/wallet2.cpp" line="642"/> <source>Cannot generate deprecated wallets from JSON</source> <translation>Impossible de générer un portefeuille obsolète à partir de JSON</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="551"/> + <location filename="../src/wallet/wallet2.cpp" line="678"/> <source>failed to parse address: </source> <translation>échec de l'analyse de l'adresse : </translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="557"/> + <location filename="../src/wallet/wallet2.cpp" line="684"/> <source>Address must be specified in order to create watch-only wallet</source> <translation>L'adresse doit être spécifiée afin de créer un portefeuille d'audit</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="574"/> + <location filename="../src/wallet/wallet2.cpp" line="701"/> <source>failed to generate new wallet: </source> <translation>échec de la génération du nouveau portefeuille : </translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="1382"/> + <location filename="../src/wallet/wallet2.cpp" line="1625"/> <source>Password is needed to compute key image for incoming monero</source> <translation>Le mot de passe est requis pour calculer l'image de clé pour les moneros entrants</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="1383"/> + <location filename="../src/wallet/wallet2.cpp" line="1626"/> <source>Invalid password: password is needed to compute key image for incoming monero</source> <translation>Mot de passe invalide : le mot de passe est requis pour calculer l'image de clé pour les moneros entrants</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="3770"/> - <location filename="../src/wallet/wallet2.cpp" line="4374"/> - <location filename="../src/wallet/wallet2.cpp" line="4926"/> + <location filename="../src/wallet/wallet2.cpp" line="4122"/> + <location filename="../src/wallet/wallet2.cpp" line="4712"/> + <location filename="../src/wallet/wallet2.cpp" line="5308"/> <source>Primary account</source> <translation>Compte primaire</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="10157"/> + <location filename="../src/wallet/wallet2.cpp" line="10885"/> <source>No funds received in this tx.</source> <translation>Aucun fonds n'a été reçu dans cette transaction.</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="10899"/> + <location filename="../src/wallet/wallet2.cpp" line="11645"/> <source>failed to read file </source> <translation>échec de la lecture du fichier </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="141"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="152"/> <source>Set subaddress lookahead sizes to <major>:<minor></source> <translation>Définir les tailles d'anticipation des sous-addresses à <majeur>:<mineur></translation> </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="68"/> + <source>Enable SSL on wallet RPC connections: enabled|disabled|autodetect</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="69"/> + <location filename="../src/wallet/wallet2.cpp" line="244"/> + <source>Path to a PEM format private key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="70"/> + <location filename="../src/wallet/wallet2.cpp" line="245"/> + <source>Path to a PEM format certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="71"/> + <location filename="../src/wallet/wallet2.cpp" line="246"/> + <source>Path to file containing concatenated PEM format certificate(s) to replace system CA(s).</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="72"/> + <source>List of certificate fingerprints to allow</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>tools::wallet_rpc_server</name> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="180"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="192"/> <source>Failed to create directory </source> <translation>Échec de la création du répertoire </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="182"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="194"/> <source>Failed to create directory %s: %s</source> <translation>Échec de la création du répertoire %s : %s</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="193"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="205"/> <source>Cannot specify --</source> <translation>Impossible de spécifier --</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="193"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="205"/> <source> and --</source> <translation> et --</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="212"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="224"/> <source>Failed to create file </source> <translation>Échec de la création du fichier </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="212"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="224"/> <source>. Check permissions or remove file</source> <translation>. Vérifiez les permissions ou supprimez le fichier</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="222"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="234"/> <source>Error writing to file </source> <translation>Erreur d'écriture dans le fichier </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="225"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="237"/> <source>RPC username/password is stored in file </source> <translation>nom_utilisateur/mot_de_passe RPC sauvegardé dans le fichier </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="479"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="613"/> <source>Tag %s is unregistered.</source> <translation>Le mot clé %s n'est pas enregistré.</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3081"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="3242"/> <source>Transaction not possible. Available only %s, transaction amount %s = %s + %s (fee)</source> <translation>Transaction impossible. Solde disponible : %s, montant de la transaction %s = %s + %s (frais)</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3947"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4409"/> <source>This is the RPC monero wallet. It needs to connect to a monero daemon to work correctly.</source> <translation>Ceci est le portefeuille monero par RPC. Il a besoin de se connecter à un démon monero pour fonctionner correctement.</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3788"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4245"/> <source>Can't specify more than one of --wallet-file and --generate-from-json</source> <translation>Impossible de spécifier plus d'une option parmis --wallet-file et --generate-from-json</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3773"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4230"/> <source>Can't specify more than one of --testnet and --stagenet</source> <translation>Impossible de spécifier plus d'une option parmis --testnet et --stagenet</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3800"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4257"/> <source>Must specify --wallet-file or --generate-from-json or --wallet-dir</source> <translation>--wallet-file, --generate-from-json ou --wallet-dir doit être spécifié</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3804"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4261"/> <source>Loading wallet...</source> <translation>Chargement du portefeuille...</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3838"/> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3870"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4295"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4327"/> <source>Saving wallet...</source> <translation>Sauvegarde du portefeuille...</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3840"/> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3872"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4297"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4329"/> <source>Successfully saved</source> <translation>Sauvegardé avec succès</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3843"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4300"/> <source>Successfully loaded</source> <translation>Chargé avec succès</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3847"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4304"/> <source>Wallet initialization failed: </source> <translation>Échec de l'initialisation du portefeuille : </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3853"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4310"/> <source>Failed to initialize wallet RPC server</source> <translation>Échec de l'initialisation du serveur RPC du portefeuille</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3857"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4314"/> <source>Starting wallet RPC server</source> <translation>Démarrage du serveur RPC du portefeuille</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3864"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4321"/> <source>Failed to run wallet: </source> <translation>Échec du lancement du portefeuille : </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3867"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4324"/> <source>Stopped wallet RPC server</source> <translation>Arrêt du serveur RPC du portefeuille</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3876"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4333"/> <source>Failed to save wallet: </source> <translation>Échec de la sauvegarde du portefeuille : </translation> </message> @@ -5472,8 +5796,8 @@ connecter à un démon monero pour fonctionner correctement.</translation> <name>wallet_args</name> <message> <location filename="../src/gen_multisig/gen_multisig.cpp" line="168"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8908"/> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3928"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4385"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9348"/> <source>Wallet options</source> <translation>Options du portefeuille</translation> </message> diff --git a/translations/monero_it.ts b/translations/monero_it.ts index 18b43e6d7..d9d946cc1 100644 --- a/translations/monero_it.ts +++ b/translations/monero_it.ts @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> -<TS version="2.0" language="it" sourcelanguage="en"> +<TS version="2.1" language="it" sourcelanguage="en"> <context> <name>Monero::AddressBookImpl</name> <message> @@ -37,44 +37,44 @@ <translation>Impossibile scrivere transazione/i su file</translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="121"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="138"/> <source>daemon is busy. Please try again later.</source> <translation>il daemon è impegnato. Prova più tardi.</translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="124"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="141"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation>nessuna connessione con il daemon. Controlla che sia operativo.</translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="128"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="145"/> <source>transaction %s was rejected by daemon with status: </source> <translation>la transazione %s è stata respinta dal daemon con status: </translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="133"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="150"/> <source>. Reason: </source> <translation>. Motivo: </translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="135"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="152"/> <source>Unknown exception: </source> <translation>Eccezione sconosciuta: </translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="138"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="155"/> <source>Unhandled exception</source> <translation>Eccezione non gestita</translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="211"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="228"/> <source>Couldn't multisig sign data: </source> - <translation type="unfinished"></translation> + <translation>Impossibile firmare dati multifirma: </translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="233"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="250"/> <source>Couldn't sign multisig transaction: </source> - <translation type="unfinished"></translation> + <translation>Impossibile firmare la transazione multifirma: </translation> </message> </context> <context> @@ -134,407 +134,407 @@ <context> <name>Monero::WalletImpl</name> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1383"/> + <location filename="../src/wallet/api/wallet.cpp" line="1459"/> <source>payment id has invalid format, expected 16 or 64 character hex string: </source> <translation>L'id pagamento è in un formato invalido, dovrebbe essere una stringa esadecimale di 16 o 64 caratteri: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1392"/> + <location filename="../src/wallet/api/wallet.cpp" line="1468"/> <source>Failed to add short payment id: </source> <translation>Impossibile aggiungere id pagamento corto</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1428"/> <location filename="../src/wallet/api/wallet.cpp" line="1510"/> + <location filename="../src/wallet/api/wallet.cpp" line="1592"/> <source>daemon is busy. Please try again later.</source> <translation>il daemon è impegnato. Riprova più tardi.</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1430"/> <location filename="../src/wallet/api/wallet.cpp" line="1512"/> + <location filename="../src/wallet/api/wallet.cpp" line="1594"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation>nessuna connessione con il daemon. Accertati che sia operativo.</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1432"/> <location filename="../src/wallet/api/wallet.cpp" line="1514"/> + <location filename="../src/wallet/api/wallet.cpp" line="1596"/> <source>RPC error: </source> <translation>errore RPC: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1460"/> - <location filename="../src/wallet/api/wallet.cpp" line="1545"/> + <location filename="../src/wallet/api/wallet.cpp" line="1542"/> + <location filename="../src/wallet/api/wallet.cpp" line="1627"/> <source>not enough outputs for specified ring size</source> <translation>insufficiente numero di output per il ring size specificato</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1462"/> - <location filename="../src/wallet/api/wallet.cpp" line="1547"/> + <location filename="../src/wallet/api/wallet.cpp" line="1544"/> + <location filename="../src/wallet/api/wallet.cpp" line="1629"/> <source>found outputs to use</source> <translation>trovati output che possono essere usati</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1464"/> + <location filename="../src/wallet/api/wallet.cpp" line="1546"/> <source>Please sweep unmixable outputs.</source> <translation>Pulisci gli output non mixabili.</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1438"/> - <location filename="../src/wallet/api/wallet.cpp" line="1521"/> + <location filename="../src/wallet/api/wallet.cpp" line="1520"/> + <location filename="../src/wallet/api/wallet.cpp" line="1603"/> <source>not enough money to transfer, available only %s, sent amount %s</source> <translation>non hai abbastanza fondi da trasferire, sono disponibili solo %s, ammontare inviato %s</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="541"/> + <location filename="../src/wallet/api/wallet.cpp" line="589"/> <source>failed to parse address</source> <translation>parsing indirizzo fallito</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="552"/> + <location filename="../src/wallet/api/wallet.cpp" line="600"/> <source>failed to parse secret spend key</source> <translation>impossibile effettuare il parsing della chiave segreta di spesa</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="575"/> + <location filename="../src/wallet/api/wallet.cpp" line="623"/> <source>failed to parse secret view key</source> <translation>impossibile effettuare il parsing della chiave segreta di visualizzazione</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="584"/> + <location filename="../src/wallet/api/wallet.cpp" line="632"/> <source>failed to verify secret spend key</source> <translation>impossibile verificare la chiave segreta di spesa</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="588"/> + <location filename="../src/wallet/api/wallet.cpp" line="636"/> <source>spend key does not match address</source> <translation>la chiave di spesa non corrisponde all'indirizzo</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="594"/> + <location filename="../src/wallet/api/wallet.cpp" line="642"/> <source>failed to verify secret view key</source> <translation>verifica chiave segreta di visualizzazione fallita</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="598"/> + <location filename="../src/wallet/api/wallet.cpp" line="646"/> <source>view key does not match address</source> <translation>la chiave di visualizzazione non corrisponde all'indirizzo</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="621"/> - <location filename="../src/wallet/api/wallet.cpp" line="638"/> + <location filename="../src/wallet/api/wallet.cpp" line="669"/> + <location filename="../src/wallet/api/wallet.cpp" line="686"/> <source>failed to generate new wallet: </source> <translation>impossibile generare il nuovo portafoglio: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="885"/> + <location filename="../src/wallet/api/wallet.cpp" line="955"/> <source>Failed to send import wallet request</source> <translation>Impossibile inviare la richiesta di importazione portafoglio</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1049"/> + <location filename="../src/wallet/api/wallet.cpp" line="1125"/> <source>Failed to load unsigned transactions</source> <translation>Impossibile caricare transazioni non firmate</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1068"/> + <location filename="../src/wallet/api/wallet.cpp" line="1144"/> <source>Failed to load transaction from file</source> <translation>Impossibile caricare la transazione da file</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1084"/> + <location filename="../src/wallet/api/wallet.cpp" line="1160"/> <source>Wallet is view only</source> <translation>Il portafoglio è di tipo solo visualizzazione</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1092"/> + <location filename="../src/wallet/api/wallet.cpp" line="1168"/> <source>failed to save file </source> <translation>impossibile salvare il file </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1108"/> + <location filename="../src/wallet/api/wallet.cpp" line="1184"/> <source>Key images can only be imported with a trusted daemon</source> <translation>Le key image possono essere importate solo con un daemon fidato</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1121"/> + <location filename="../src/wallet/api/wallet.cpp" line="1197"/> <source>Failed to import key images: </source> <translation>Impossibile importare le key images: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1153"/> + <location filename="../src/wallet/api/wallet.cpp" line="1229"/> <source>Failed to get subaddress label: </source> <translation>Impossibile recuperare l'etichetta del sottoindirizzo: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1166"/> + <location filename="../src/wallet/api/wallet.cpp" line="1242"/> <source>Failed to set subaddress label: </source> <translation>Impossibile assegnare l'etichetta del sottoindirizzo: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="567"/> + <location filename="../src/wallet/api/wallet.cpp" line="615"/> <source>Neither view key nor spend key supplied, cancelled</source> - <translation type="unfinished"></translation> + <translation>Nessuna chiave di visualizzazione né chiave di spesa fornita, operazione annullata</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="686"/> + <location filename="../src/wallet/api/wallet.cpp" line="734"/> <source>Electrum seed is empty</source> - <translation type="unfinished"></translation> + <translation>Il seed Electrum è vuoto</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="695"/> + <location filename="../src/wallet/api/wallet.cpp" line="743"/> <source>Electrum-style word list failed verification</source> - <translation type="unfinished"></translation> + <translation>Verifica dell'elenco parole in stile Electrum non riuscita</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1183"/> + <location filename="../src/wallet/api/wallet.cpp" line="1259"/> <source>Failed to get multisig info: </source> - <translation type="unfinished"></translation> + <translation>Impossibile ottenere informazioni multifirma: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1200"/> - <location filename="../src/wallet/api/wallet.cpp" line="1214"/> + <location filename="../src/wallet/api/wallet.cpp" line="1276"/> + <location filename="../src/wallet/api/wallet.cpp" line="1290"/> <source>Failed to make multisig: </source> - <translation type="unfinished"></translation> + <translation>Impossibile eseguire multifirma: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1229"/> + <location filename="../src/wallet/api/wallet.cpp" line="1305"/> <source>Failed to finalize multisig wallet creation</source> - <translation type="unfinished"></translation> + <translation>Impossibile finalizzare la creazione di un portafoglio multifirma</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1232"/> + <location filename="../src/wallet/api/wallet.cpp" line="1308"/> <source>Failed to finalize multisig wallet creation: </source> - <translation type="unfinished"></translation> + <translation>Impossibile finalizzare la creazione di un portafoglio multifirma: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1248"/> + <location filename="../src/wallet/api/wallet.cpp" line="1324"/> <source>Failed to export multisig images: </source> - <translation type="unfinished"></translation> + <translation>Impossibile esportare immagini multifirma: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1266"/> + <location filename="../src/wallet/api/wallet.cpp" line="1342"/> <source>Failed to parse imported multisig images</source> - <translation type="unfinished"></translation> + <translation>Impossibile analizzare le immagini multifirma importate</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1276"/> + <location filename="../src/wallet/api/wallet.cpp" line="1352"/> <source>Failed to import multisig images: </source> - <translation type="unfinished"></translation> + <translation>Impossibile importare immagini multifirma: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1290"/> + <location filename="../src/wallet/api/wallet.cpp" line="1366"/> <source>Failed to check for partial multisig key images: </source> - <translation type="unfinished"></translation> + <translation>Impossibile controllare le immagini della chiave multifirma parziali: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1318"/> + <location filename="../src/wallet/api/wallet.cpp" line="1394"/> <source>Failed to restore multisig transaction: </source> - <translation type="unfinished"></translation> + <translation>Impossibile ripristinare la transazione multifirma: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1358"/> + <location filename="../src/wallet/api/wallet.cpp" line="1434"/> <source>Invalid destination address</source> - <translation type="unfinished">Indirizzo destinatario non valido</translation> + <translation>Indirizzo destinatario non valido</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1434"/> + <location filename="../src/wallet/api/wallet.cpp" line="1516"/> <source>failed to get outputs to mix: %s</source> - <translation type="unfinished"></translation> + <translation>impossibile ottenere gli output da mixare: %s</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1445"/> - <location filename="../src/wallet/api/wallet.cpp" line="1529"/> + <location filename="../src/wallet/api/wallet.cpp" line="1527"/> + <location filename="../src/wallet/api/wallet.cpp" line="1611"/> <source>not enough money to transfer, overall balance only %s, sent amount %s</source> <translation>fondi non sufficienti per il trasferimento, saldo totale %s, importo inviato %s</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1452"/> - <location filename="../src/wallet/api/wallet.cpp" line="1537"/> + <location filename="../src/wallet/api/wallet.cpp" line="1534"/> + <location filename="../src/wallet/api/wallet.cpp" line="1619"/> <source>not enough money to transfer, available only %s, transaction amount %s = %s + %s (fee)</source> <translation>fondi non sufficienti per il trasferimento, disponibili solo %s, ammontare transazione %s = %s + %s (commissione)</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1462"/> - <location filename="../src/wallet/api/wallet.cpp" line="1547"/> + <location filename="../src/wallet/api/wallet.cpp" line="1544"/> + <location filename="../src/wallet/api/wallet.cpp" line="1629"/> <source>output amount</source> <translation>ammontare output</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1467"/> - <location filename="../src/wallet/api/wallet.cpp" line="1551"/> + <location filename="../src/wallet/api/wallet.cpp" line="1549"/> + <location filename="../src/wallet/api/wallet.cpp" line="1633"/> <source>transaction was not constructed</source> <translation>transazione non costruita</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1470"/> - <location filename="../src/wallet/api/wallet.cpp" line="1554"/> + <location filename="../src/wallet/api/wallet.cpp" line="1552"/> + <location filename="../src/wallet/api/wallet.cpp" line="1636"/> <source>transaction %s was rejected by daemon with status: </source> <translation>la transazione %s è stata rifiutata dal daemon con status: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1475"/> - <location filename="../src/wallet/api/wallet.cpp" line="1559"/> + <location filename="../src/wallet/api/wallet.cpp" line="1557"/> + <location filename="../src/wallet/api/wallet.cpp" line="1641"/> <source>one of destinations is zero</source> <translation>una delle destinazioni è zero</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1477"/> - <location filename="../src/wallet/api/wallet.cpp" line="1561"/> + <location filename="../src/wallet/api/wallet.cpp" line="1559"/> + <location filename="../src/wallet/api/wallet.cpp" line="1643"/> <source>failed to find a suitable way to split transactions</source> <translation>impossibile trovare un modo per dividere le transazioni</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1479"/> - <location filename="../src/wallet/api/wallet.cpp" line="1563"/> + <location filename="../src/wallet/api/wallet.cpp" line="1561"/> + <location filename="../src/wallet/api/wallet.cpp" line="1645"/> <source>unknown transfer error: </source> <translation>errore trasferimento sconosciuto: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1481"/> - <location filename="../src/wallet/api/wallet.cpp" line="1565"/> + <location filename="../src/wallet/api/wallet.cpp" line="1563"/> + <location filename="../src/wallet/api/wallet.cpp" line="1647"/> <source>internal error: </source> <translation>errore interno: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1483"/> - <location filename="../src/wallet/api/wallet.cpp" line="1567"/> + <location filename="../src/wallet/api/wallet.cpp" line="1565"/> + <location filename="../src/wallet/api/wallet.cpp" line="1649"/> <source>unexpected error: </source> <translation>errore inaspettato: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1485"/> - <location filename="../src/wallet/api/wallet.cpp" line="1569"/> + <location filename="../src/wallet/api/wallet.cpp" line="1567"/> + <location filename="../src/wallet/api/wallet.cpp" line="1651"/> <source>unknown error</source> <translation>errore sconosciuto</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1516"/> + <location filename="../src/wallet/api/wallet.cpp" line="1598"/> <source>failed to get outputs to mix</source> - <translation type="unfinished"></translation> + <translation>impossibile ottenere gli output da mixare</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1644"/> - <location filename="../src/wallet/api/wallet.cpp" line="1671"/> - <location filename="../src/wallet/api/wallet.cpp" line="1719"/> - <location filename="../src/wallet/api/wallet.cpp" line="1747"/> - <location filename="../src/wallet/api/wallet.cpp" line="1775"/> - <location filename="../src/wallet/api/wallet.cpp" line="1796"/> - <location filename="../src/wallet/api/wallet.cpp" line="2258"/> + <location filename="../src/wallet/api/wallet.cpp" line="1726"/> + <location filename="../src/wallet/api/wallet.cpp" line="1753"/> + <location filename="../src/wallet/api/wallet.cpp" line="1801"/> + <location filename="../src/wallet/api/wallet.cpp" line="1829"/> + <location filename="../src/wallet/api/wallet.cpp" line="1857"/> + <location filename="../src/wallet/api/wallet.cpp" line="1878"/> + <location filename="../src/wallet/api/wallet.cpp" line="2354"/> <source>Failed to parse txid</source> <translation>Impossibile effettuare parsing del txid</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1661"/> + <location filename="../src/wallet/api/wallet.cpp" line="1743"/> <source>no tx keys found for this txid</source> <translation>nessuna chiave tx trovata per questo txid</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1679"/> - <location filename="../src/wallet/api/wallet.cpp" line="1688"/> + <location filename="../src/wallet/api/wallet.cpp" line="1761"/> + <location filename="../src/wallet/api/wallet.cpp" line="1770"/> <source>Failed to parse tx key</source> <translation>Impossibile effettuare parsing della chiave tx</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1697"/> - <location filename="../src/wallet/api/wallet.cpp" line="1726"/> - <location filename="../src/wallet/api/wallet.cpp" line="1754"/> - <location filename="../src/wallet/api/wallet.cpp" line="1835"/> + <location filename="../src/wallet/api/wallet.cpp" line="1779"/> + <location filename="../src/wallet/api/wallet.cpp" line="1808"/> + <location filename="../src/wallet/api/wallet.cpp" line="1836"/> + <location filename="../src/wallet/api/wallet.cpp" line="1917"/> <source>Failed to parse address</source> <translation>Impossibile effettuare parsing dell'indirizzo</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1840"/> + <location filename="../src/wallet/api/wallet.cpp" line="1922"/> <source>Address must not be a subaddress</source> <translation>L'indirizzo non può essere un sottoindirizzo</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1880"/> + <location filename="../src/wallet/api/wallet.cpp" line="1962"/> <source>The wallet must be in multisig ready state</source> - <translation type="unfinished"></translation> + <translation>Il portafoglio deve essere in stato multifirma</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1902"/> + <location filename="../src/wallet/api/wallet.cpp" line="1984"/> <source>Given string is not a key</source> - <translation type="unfinished"></translation> + <translation>La stringa inserita non è una chiave</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2130"/> + <location filename="../src/wallet/api/wallet.cpp" line="2226"/> <source>Rescan spent can only be used with a trusted daemon</source> <translation>"Riscannerizza spesi" può essere utilizzato solo da un daemon fidato</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2179"/> + <location filename="../src/wallet/api/wallet.cpp" line="2275"/> <source>Invalid output: </source> - <translation type="unfinished"></translation> + <translation>Output non valido: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2186"/> + <location filename="../src/wallet/api/wallet.cpp" line="2282"/> <source>Failed to mark outputs as spent</source> - <translation type="unfinished"></translation> + <translation>Impossibile contrassegnare gli outputs come spesi</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2197"/> - <location filename="../src/wallet/api/wallet.cpp" line="2219"/> + <location filename="../src/wallet/api/wallet.cpp" line="2293"/> + <location filename="../src/wallet/api/wallet.cpp" line="2315"/> <source>Failed to parse output amount</source> - <translation type="unfinished"></translation> + <translation>Impossibile analizzare la quantità di output</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2202"/> - <location filename="../src/wallet/api/wallet.cpp" line="2224"/> + <location filename="../src/wallet/api/wallet.cpp" line="2298"/> + <location filename="../src/wallet/api/wallet.cpp" line="2320"/> <source>Failed to parse output offset</source> - <translation type="unfinished"></translation> + <translation>Impossibile analizzare l'offset di output</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2208"/> + <location filename="../src/wallet/api/wallet.cpp" line="2304"/> <source>Failed to mark output as spent</source> - <translation type="unfinished"></translation> + <translation>Impossibile contrassegnare l'output come speso</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2230"/> + <location filename="../src/wallet/api/wallet.cpp" line="2326"/> <source>Failed to mark output as unspent</source> - <translation type="unfinished"></translation> + <translation>Impossibile contrassegnare l'output come non speso</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2241"/> - <location filename="../src/wallet/api/wallet.cpp" line="2280"/> + <location filename="../src/wallet/api/wallet.cpp" line="2337"/> + <location filename="../src/wallet/api/wallet.cpp" line="2376"/> <source>Failed to parse key image</source> - <translation type="unfinished"></translation> + <translation>Impossibile analizzare l'immagine della chiave</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2247"/> + <location filename="../src/wallet/api/wallet.cpp" line="2343"/> <source>Failed to get ring</source> - <translation type="unfinished"></translation> + <translation>Impossibile ottenere l'anello</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2265"/> + <location filename="../src/wallet/api/wallet.cpp" line="2361"/> <source>Failed to get rings</source> - <translation type="unfinished"></translation> + <translation>Impossibile ottenere gli anelli</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2286"/> + <location filename="../src/wallet/api/wallet.cpp" line="2382"/> <source>Failed to set ring</source> - <translation type="unfinished"></translation> + <translation>Impossibile impostare l'anello</translation> </message> </context> <context> <name>Wallet</name> <message> - <location filename="../src/wallet/api/wallet.cpp" line="301"/> + <location filename="../src/wallet/api/wallet.cpp" line="344"/> <source>Failed to parse address</source> <translation>Impossibile effettuare parsing dell'indirizzo</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="308"/> + <location filename="../src/wallet/api/wallet.cpp" line="351"/> <source>Failed to parse key</source> <translation>Impossibile effettuare parsing della chiave</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="316"/> + <location filename="../src/wallet/api/wallet.cpp" line="359"/> <source>failed to verify key</source> <translation>impossibile effettuare la verifica della chiave</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="326"/> + <location filename="../src/wallet/api/wallet.cpp" line="369"/> <source>key does not match address</source> <translation>la chiave non corrisponde all'indirizzo</translation> </message> @@ -598,931 +598,996 @@ <message> <location filename="../src/rpc/rpc_args.cpp" line="111"/> <source> requires RPC server password --</source> - <translation type="unfinished"></translation> + <translation> richiede la password del server RPC --</translation> </message> </context> <context> <name>cryptonote::simple_wallet</name> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="645"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="666"/> <source>Commands: </source> <translation>Comandi: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4359"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4636"/> <source>failed to read wallet password</source> <translation>impossibile leggere la password del portafoglio</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3954"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4231"/> <source>invalid password</source> <translation>password non valida</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3073"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3283"/> <source>set seed: needs an argument. available options: language</source> <translation>imposta seed: richiede un argomento. opzioni disponibili: lingua</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3108"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3319"/> <source>set: unrecognized argument(s)</source> <translation>imposta: argomento/i non riconosciuto/i</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4199"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4476"/> <source>wallet file path not valid: </source> <translation>percorso file portafoglio non valido: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3178"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3389"/> <source>Attempting to generate or restore wallet, but specified file(s) exist. Exiting to not risk overwriting.</source> <translation>Sto tentando di generare o ripristinare il portafoglio, ma i(l) file specificato/i esiste/esistono già. Sto uscendo per non rischiare di sovrascrivere.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3059"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3269"/> <source>needs an argument</source> <translation>ha bisogno di un argomento</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3082"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3083"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3084"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3086"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3089"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3094"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3095"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3097"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3099"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3100"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3101"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3104"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3105"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3292"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3294"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3296"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3299"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3304"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3305"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3307"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3309"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3310"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3311"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3314"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3315"/> <source>0 or 1</source> <translation>0 o 1</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3092"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3096"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3103"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3306"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3313"/> <source>unsigned integer</source> <translation>intero senza segno</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3341"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3577"/> <source>specify a recovery parameter with the --electrum-seed="words list here"</source> <translation>specificare un parametro di ripristino con --electrum-seed="lista parole qui"</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3887"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4164"/> <source>wallet failed to connect to daemon: </source> <translation>impossibile connettere il portafoglio al daemon: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3895"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4172"/> <source>Daemon uses a different RPC major version (%u) than the wallet (%u): %s. Either update one of them, or use --allow-mismatched-daemon-version.</source> <translation>Il daemon usa una versione principale RPC (%u) diversa da quella del portafoglio (%u): %s. Aggiorna una delle due, o usa --allow-mismatched-daemon-version.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3916"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4193"/> <source>List of available languages for your wallet's seed:</source> <translation>Lista delle lingue disponibili per il seed del tuo portafoglio:</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3926"/> - <source>Enter the number corresponding to the language of your choice: </source> - <translation>Inserisci il numero corrispondente al linguaggio da te scelto: </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4000"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4277"/> <source>You had been using a deprecated version of the wallet. Please use the new seed that we provide. </source> - <translation>Hai usato una versione obsoleta del portafoglio. Per favore usa il nuovo seed che ti abbiamo fornito.</translation> + <translation>Hai usato una versione obsoleta del portafoglio. Per favore usa il nuovo seed che ti abbiamo fornito. +</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4016"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4088"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4365"/> <source>Generated new wallet: </source> <translation>Nuovo portafoglio generato: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4025"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4093"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4135"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4188"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4370"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4412"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4465"/> <source>failed to generate new wallet: </source> <translation>impossibile generare nuovo portafoglio: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4230"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4507"/> <source>Opened watch-only wallet</source> <translation>Portafoglio solo-vista aperto</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4511"/> <source>Opened wallet</source> <translation>Portafoglio aperto</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4252"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4529"/> <source>You had been using a deprecated version of the wallet. Please proceed to upgrade your wallet. </source> - <translation>Stai utilizzando una versione disapprovata del portafoglio. Per favore procedi nell'upgrade del portafoglio.</translation> + <translation>Stai utilizzando una versione disapprovata del portafoglio. Per favore procedi nell'upgrade del portafoglio. +</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4267"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4544"/> <source>You had been using a deprecated version of the wallet. Your wallet file format is being upgraded now. </source> - <translation>Stai utilizzando una versione disapprovata del portafoglio. Il formato del tuo portafoglio sta venendo aggiornato adesso.</translation> + <translation>Stai utilizzando una versione disapprovata del portafoglio. Il formato del tuo portafoglio sta per essere aggiornato. +</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4275"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4552"/> <source>failed to load wallet: </source> <translation>impossibile caricare portafoglio: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4292"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4569"/> <source>Use the "help" command to see the list of available commands. </source> - <translation>Usa il comando "help" per visualizzare la lista dei comandi disponibili.</translation> + <translation>Usa il comando "help" per visualizzare la lista dei comandi disponibili. +</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4337"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4614"/> <source>Wallet data saved</source> <translation>Dati del portafoglio salvati</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4431"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4819"/> <source>Mining started in daemon</source> <translation>Mining avviato nel daemon</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4433"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4821"/> <source>mining has NOT been started: </source> <translation>il mining NON è stato avviato: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4453"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4841"/> <source>Mining stopped in daemon</source> <translation>Mining nel daemon interrotto</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4455"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4843"/> <source>mining has NOT been stopped: </source> <translation>il mining NON è stato interrotto: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4537"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4925"/> <source>Blockchain saved</source> <translation>Blockchain salvata</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4552"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4589"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4973"/> <source>Height </source> <translation>Blocco </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4591"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4975"/> <source>spent </source> <translation>speso/i </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4698"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5089"/> <source>Starting refresh...</source> <translation>Sto iniziando il refresh...</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4712"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5115"/> <source>Refresh done, blocks received: </source> <translation>Refresh finito, blocchi ricevuti: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5958"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6349"/> <source>payment id has invalid format, expected 16 or 64 character hex string: </source> <translation>l'id pagamento ha un formato invalido, dovrebbe essere una stringa hex di 16 o 64 caratteri: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5307"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5704"/> <source>bad locked_blocks parameter:</source> <translation>parametro locked_blocks non corretto:</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5978"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6251"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6369"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6639"/> <source>a single transaction cannot use more than one payment id: </source> <translation>una singola transazione non può usare più di un id pagamento: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5405"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5987"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6219"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6259"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5806"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6378"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6607"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6647"/> <source>failed to set up payment id, though it was decoded correctly</source> <translation>impossibile impostare id pagamento, anche se è stato decodificado correttamente</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5251"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5870"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6173"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5659"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6271"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6564"/> <source>ring size %u is too large, maximum is %u</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5276"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5395"/> - <source>Unencrypted payment IDs are bad for privacy: ask the recipient to use subaddresses instead</source> - <translation type="unfinished"></translation> + <translation>la dimensione dell'anello %u è troppo grande, il massimo è %u</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5690"/> <source>payment id failed to encode</source> - <translation type="unfinished"></translation> + <translation>codifica dell'ID di pagamento non riuscita</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5312"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5894"/> - <source>Locked blocks too high, max 1000000 (Ë4 yrs)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5340"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5737"/> <source>failed to parse short payment ID from URI</source> - <translation type="unfinished"></translation> + <translation>impossibile analizzare l'ID di pagamento breve dall'URI</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5363"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5365"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5762"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5764"/> <source>Invalid last argument: </source> - <translation type="unfinished"></translation> + <translation>Ultimo argomento non valido: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5382"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5782"/> <source>a single transaction cannot use more than one payment id</source> - <translation type="unfinished"></translation> + <translation>una singola transazione non può utilizzare più di un ID di pagamento</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5399"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5800"/> <source>failed to parse payment id, though it was detected</source> - <translation type="unfinished"></translation> + <translation>errore nell'analisi dell'ID di pagamento, anche se è stato rilevato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5422"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5502"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5590"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5738"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6001"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6059"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6273"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6318"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5823"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5903"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5991"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6139"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6392"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6450"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6661"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6706"/> <source>transaction cancelled.</source> <translation>transazione cancellata.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5541"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5942"/> <source>Sending %s. </source> <translation>Sto inviando %s. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5544"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5945"/> <source>Your transaction needs to be split into %llu transactions. This will result in a transaction fee being applied to each transaction, for a total fee of %s</source> <translation>La tua transazione deve essere divisa in %llu transazioni. Una commissione verrà applicata per ogni transazione, per un totale di %s commissioni</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5550"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5951"/> <source>The transaction fee is %s</source> <translation>La commissione per la transazione è %s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5553"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5954"/> <source>, of which %s is dust from change</source> <translation>, della quale %s è polvere dovuta allo scambio</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5554"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5955"/> <source>.</source> <translation>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5554"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5955"/> <source>A total of %s from dust change will be sent to dust address</source> <translation>Un totale di %s in polvere verrà inviato all'indirizzo della polvere</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5559"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5960"/> <source>. This transaction will unlock on block %llu, in approximately %s days (assuming 2 minutes per block)</source> <translation>. Questa transazione verrà sbloccata al blocco %llu, in approssimativamente %s giorni (supponendo 2 minuti per blocco)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5603"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6004"/> <source>Unsigned transaction(s) successfully written to MMS</source> - <translation type="unfinished"></translation> + <translation>Transazione(i) senza firma scritta(e) con successo su MMS</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5611"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5648"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5749"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5761"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6070"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6107"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6328"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6340"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6012"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6049"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6150"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6162"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6461"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6498"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6716"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6728"/> <source>Failed to write transaction(s) to file</source> <translation>Impossibile scrivere transazione/i su file</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5616"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5653"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5753"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5765"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6074"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6111"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6332"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6344"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6017"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6054"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6154"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6166"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6465"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6502"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6720"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6732"/> <source>Unsigned transaction(s) successfully written to file: </source> <translation>Transazioni/e non firmata/e scritte/a con successo su file: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5625"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6086"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6026"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6477"/> <source>Failed to cold sign transaction with HW wallet</source> - <translation type="unfinished"></translation> + <translation>Impossibile firmare transazioni a freddo con il portafoglio hardware</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5708"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6109"/> <source>No unmixable outputs found</source> <translation>Nessun output non-mixabile trovato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5775"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6176"/> <source>Not enough money in unlocked balance</source> - <translation type="unfinished"></translation> + <translation>Fondi insufficienti in saldo sbloccato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5776"/> - <source>Discarding %s of unmixable outputs that cannot be spent, which can be undone by "rescan_spent". Is this okay? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5815"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6216"/> <source>No address given</source> <translation>Non è stato fornito nessun indirizzo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5879"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6280"/> <source>missing lockedblocks parameter</source> - <translation type="unfinished"></translation> + <translation>parametro lockedblocks mancante</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5889"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6290"/> <source>bad locked_blocks parameter</source> - <translation type="unfinished"></translation> + <translation>parametro locked_blocks errato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5914"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6182"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6315"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6573"/> <source>Failed to parse number of outputs</source> - <translation type="unfinished"></translation> + <translation>Impossibile analizzare il numero di outputs</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5919"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6187"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6320"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6578"/> <source>Amount of outputs should be greater than 0</source> - <translation type="unfinished"></translation> + <translation>La quantità di outputs deve essere maggiore di 0</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6428"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6816"/> <source>Failed to parse donation address: </source> - <translation type="unfinished"></translation> + <translation>Impossibile analizzare l'indirizzo di donazione: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6442"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6830"/> <source>Donating %s %s to The Monero Project (donate.getmonero.org or %s).</source> - <translation type="unfinished"></translation> + <translation>Donare %s %s a The Monero Project (donate.getmonero.org o %s).</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6444"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6832"/> <source>Donating %s %s to %s.</source> - <translation type="unfinished"></translation> + <translation>Donare %s %s a %s.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6516"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6919"/> <source>Claimed change does not go to a paid address</source> <translation>Il cambiamento richiesto non porta a un indirizzo pagato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6521"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6924"/> <source>Claimed change is larger than payment to the change address</source> <translation>Il cambiamento richiesto è più largo del pagamento all'indirizzo di cambio</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6552"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6955"/> <source>sending %s to %s</source> <translation>sto mandando %s a %s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6562"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6965"/> <source> dummy output(s)</source> <translation> output dummy</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6565"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6968"/> <source>with no destinations</source> <translation>senza destinazioni</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6577"/> - <source>Loaded %lu transactions, for %s, fee %s, %s, %s, with min ring size %lu, %s. %sIs this okay? (Y/Yes/N/No): </source> - <translation>Caricate %lu transazioni, per %s, commissione %s, %s, %s, con ring size minimo %lu, %s. %sOK?(Y/Yes/N/No): </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6606"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7009"/> <source>This is a multisig wallet, it can only sign with sign_multisig</source> <translation>Questo è un portafoglio multisig, può firmare solo con sign_multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6629"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7032"/> <source>Failed to sign transaction</source> <translation>Impossibile firmare la transazione</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6635"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7038"/> <source>Failed to sign transaction: </source> <translation>Impossibile firmare la transazione: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6656"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7059"/> <source>Transaction raw hex data exported to </source> <translation>Dati esadecimali grezzi della transazione esportati su </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6677"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7080"/> <source>Failed to load transaction from file</source> <translation>Impossibile caricare la transazione da file</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4729"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5051"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5132"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5459"/> <source>RPC error: </source> <translation>errore RPC: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="695"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="716"/> <source>wallet is watch-only and has no spend key</source> <translation>il portafoglio è solo-vista e non ha una chiave di spesa</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="839"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1021"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1074"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1141"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="860"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1044"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1097"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1164"/> <source>Your original password was incorrect.</source> <translation>La tua password originale era scorretta</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="854"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="875"/> <source>Error with wallet rewrite: </source> <translation>Errore riscrittura wallet: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2284"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2435"/> <source>invalid unit</source> <translation>unità invalida</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2302"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2364"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2453"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2515"/> <source>invalid count: must be an unsigned integer</source> <translation>conteggio invalido: deve essere un intero senza segno</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2320"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2471"/> <source>invalid value</source> <translation>valore invalido</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3204"/> - <source>(Y/Yes/N/No): </source> - <translation>(S/Sì/N/No): </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3761"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3788"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4021"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4041"/> <source>bad m_restore_height parameter: </source> <translation>parametro m_restore_height non corretto: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3766"/> - <source>date format must be YYYY-MM-DD</source> - <translation>il formato della data deve essere YYYY-MM-DD</translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3779"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3985"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4032"/> <source>Restore height is: </source> <translation>Ripristina altezza è: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3705"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3780"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5583"/> - <source>Is this okay? (Y/Yes/N/No): </source> - <translation>Va bene? (S/Sì/N/No): </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4509"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4897"/> <source>Daemon is local, assuming trusted</source> <translation>Il daemon è locale, viene considerato fidato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4355"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4632"/> <source>Password for new watch-only wallet</source> <translation>Password per il nuovo portafoglio solo-vista</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4739"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5142"/> <source>internal error: </source> <translation>errore interno: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1608"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4744"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5056"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1632"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5147"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5464"/> <source>unexpected error: </source> <translation>errore inaspettato: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1534"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1613"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4749"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5061"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5639"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5669"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5794"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6099"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6126"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6361"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6690"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1558"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1637"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5152"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5469"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6040"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6070"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6195"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6490"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6517"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6749"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7093"/> <source>unknown error</source> <translation>errore sconosciuto</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4754"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5157"/> <source>refresh failed: </source> <translation>refresh fallito: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4754"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5157"/> <source>Blocks received: </source> <translation>Blocchi ricevuti: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4787"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5195"/> <source>unlocked balance: </source> <translation>bilancio sbloccato: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3093"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3303"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>amount</source> <translation>ammontare</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="341"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="362"/> <source>false</source> <translation>falso</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="659"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="680"/> <source>Unknown command: </source> <translation>Comando sconosciuto: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="666"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="687"/> <source>Command usage: </source> <translation>Uso del comando: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="690"/> <source>Command description: </source> <translation>Descrizione del comando: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="735"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="756"/> <source>wallet is multisig but not yet finalized</source> <translation>il portafoglio è multisig ma ancora non finalizzato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="768"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="789"/> <source>Failed to retrieve seed</source> <translation>Impossibile recuperare il seed</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="792"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="813"/> <source>wallet is multisig and has no seed</source> <translation>il portafoglio è multisig e non ha seed</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="899"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="922"/> <source>Error: failed to estimate backlog array size: </source> <translation>Errore: impossibile stimare la dimensione dell'array di backlog: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="904"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="927"/> <source>Error: bad estimated backlog array size</source> <translation>Errore: errata stima della dimensione dell'array di backlog</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="916"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="939"/> <source> (current)</source> <translation> (attuale)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="919"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="942"/> <source>%u block (%u minutes) backlog at priority %u%s</source> <translation>Backlog blocco %u (%u minuti) a priorità %u%s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="921"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="944"/> <source>%u to %u block (%u to %u minutes) backlog at priority %u</source> <translation>Backlog blocco %u a %u (%u a %u minuti) a priorità %u</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="924"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="947"/> <source>No backlog at priority </source> <translation>Nessun backlog a priorità </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="944"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="989"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="967"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1012"/> <source>This wallet is already multisig</source> <translation>Questo portafoglio è già multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="949"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="994"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1017"/> <source>wallet is watch-only and cannot be made multisig</source> <translation>il portafoglio è sola-visualizzazione e non può essere reso multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="955"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1000"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="978"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1023"/> <source>This wallet has been used before, please use a new wallet to create a multisig wallet</source> <translation>Questo portafoglio è stato usato precedentmente, per cortesia utilizza un nuovo portafoglio per creare un portafoglio multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="963"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="986"/> <source>Send this multisig info to all other participants, then use make_multisig <threshold> <info1> [<info2>...] with others' multisig info</source> <translation>Invia queste informazioni multisig a tutti gli altri partecipanti, poi utilizza make_multisig <threshold> <info1> [<info2>...] con le informazioni multisig degli altri</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="964"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="987"/> <source>This includes the PRIVATE view key, so needs to be disclosed only to that multisig wallet's participants </source> <translation>Questo include la chiave PRIVATA di visualizzazione, pertanto deve essere comunicata solo ai partecipanti di quel portafoglio multisig </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1014"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1037"/> <source>Invalid threshold</source> <translation>Soglia invalida</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1034"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1156"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1057"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1179"/> <source>Another step is needed</source> <translation>Ancora un ultimo passo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1046"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1069"/> <source>Error creating multisig: </source> <translation>Impossibile creare multisig: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1053"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1076"/> <source>Error creating multisig: new wallet is not multisig</source> <translation>Impossibile creare multisig: il nuovo portafoglio non è multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1056"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1079"/> <source> multisig address: </source> <translation> indirizzo multisig: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1080"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1129"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1195"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1261"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1103"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1152"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1219"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1285"/> <source>This wallet is not multisig</source> <translation>Questo portafoglio non è multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1085"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1134"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1108"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1157"/> <source>This wallet is already finalized</source> <translation>Questo portafoglio è già finalizzato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1101"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1124"/> <source>Failed to finalize multisig</source> <translation>Impossibile finalizzare multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1107"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1130"/> <source>Failed to finalize multisig: </source> <translation>Impossibile finalizzare multisig: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1200"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1266"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1360"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1476"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1557"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1191"/> + <source>Multisig address: </source> + <translation>Indirizzo multifirma: </translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="1224"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1290"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1384"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1500"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1581"/> <source>This multisig wallet is not yet finalized</source> <translation>Questo portafoglio multisig non è ancora finalizzato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1236"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1260"/> <source>Error exporting multisig info: </source> <translation>Impossibile esportare informazioni sul multisig: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1240"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1264"/> <source>Multisig info exported to </source> <translation>Informazioni sul multisig esportate su </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1306"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1330"/> <source>Multisig info imported</source> <translation>Informazioni su multisig importate</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1310"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1334"/> <source>Failed to import multisig info: </source> <translation>Impossibile importare informazioni sul multisig: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1321"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1345"/> <source>Failed to update spent status after importing multisig info: </source> <translation>Impossibile aggiornare lo stato di spesa dopo aver importato le informazioni sul multisig: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1327"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1351"/> <source>Untrusted daemon, spent status may be incorrect. Use a trusted daemon and run "rescan_spent"</source> <translation>Daemon non fidato, lo stato di spesa potrebbe non essere corretto. Usare un daemon fidato ed eseguire "rescan_spent" </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1355"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1471"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1552"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1379"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1495"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1576"/> <source>This is not a multisig wallet</source> <translation>Questo non è un portafoglio multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1405"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1414"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1429"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1438"/> <source>Failed to sign multisig transaction</source> <translation>Impossibile firmare la transazione multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1421"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1445"/> <source>Multisig error: </source> <translation>Errore multisig: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1426"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1450"/> <source>Failed to sign multisig transaction: </source> <translation>Impossibile firmare la transazione multisig: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1449"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1473"/> <source>It may be relayed to the network with submit_multisig</source> <translation>Potrebbe essere trasmesso alla rete con submit_multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1508"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1578"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1532"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1602"/> <source>Failed to load multisig transaction from file</source> <translation>Impossibile caricare la transazione multisig da file</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1514"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1583"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1538"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1607"/> <source>Multisig transaction signed by only %u signers, needs %u more signatures</source> <translation>Transazione multisig firmata da solo %u firmatari, necessita di altre %u firme</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1523"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8890"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1547"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9330"/> <source>Transaction successfully submitted, transaction </source> <translation>Transazione inviata con successo, transazione </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1524"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8891"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1548"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9331"/> <source>You can check its status by using the `show_transfers` command.</source> <translation>E' possibile controllare il suo stato mediante il comando `show_transfers`.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1599"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1623"/> <source>Failed to export multisig transaction to file </source> <translation>Impossibile esportare la transazione multisig su file </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1603"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1627"/> <source>Saved exported multisig transaction file(s): </source> <translation>Transazioni esportate salvate su(i) file: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2095"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2101"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2120"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1892"/> + <source>Invalid key image or txid</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="1901"/> + <source>failed to unset ring</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2072"/> + <source>usage: %s <key_image>|<pubkey></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2117"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2129"/> + <source>Frozen: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2131"/> + <source>Not frozen: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2138"/> + <source> bytes sent</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2139"/> + <source> bytes received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2145"/> + <source>Welcome to Monero, the private cryptocurrency.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2147"/> + <source>Monero, like Bitcoin, is a cryptocurrency. That is, it is digital money.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2148"/> + <source>Unlike Bitcoin, your Monero transactions and balance stay private, and not visible to the world by default.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2149"/> + <source>However, you have the option of making those available to select parties, if you choose to.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2151"/> + <source>Monero protects your privacy on the blockchain, and while Monero strives to improve all the time,</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2152"/> + <source>no privacy technology can be 100% perfect, Monero included.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2153"/> + <source>Monero cannot protect you from malware, and it may not be as effective as we hope against powerful adversaries.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2154"/> + <source>Flaws in Monero may be discovered in the future, and attacks may be developed to peek under some</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2155"/> + <source>of the layers of privacy Monero provides. Be safe and practice defense in depth.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2157"/> + <source>Welcome to Monero and financial privacy. For more information, see https://getmonero.org/</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2244"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2250"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2269"/> <source>ring size must be an integer >= </source> <translation>il ring size deve essere un intero >= </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2125"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2274"/> <source>could not change default ring size</source> <translation>impossibile modificare il ring size di default</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2398"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2469"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2549"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2620"/> <source>Invalid height</source> <translation>Altezza invalida</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2562"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2667"/> + <source>invalid argument: must be either 1/yes or 0/no</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2738"/> <source>Start mining in the daemon (bg_mining and ignore_battery are optional booleans).</source> <translation>Avvia il mining sul daemon (bg_mining e ignore_battery sono booleani opzionali).</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2565"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2741"/> <source>Stop mining in the daemon.</source> <translation>Arresta il mining sul daemon.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2569"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2745"/> <source>Set another daemon to connect to.</source> <translation>Seleziona un altro daemon cui connettersi.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2572"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2748"/> <source>Save the current blockchain data.</source> <translation>Salva i dati blockchain correnti.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2575"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2751"/> <source>Synchronize the transactions and balance.</source> <translation>Sincronizza le transazioni ed il saldo.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2579"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2755"/> <source>Show the wallet's balance of the currently selected account.</source> <translation>Mostra il saldo del portafoglio del conto attualmente selezionato.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2589"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2759"/> + <source>Show the incoming transfers, all or filtered by availability and address index. + +Output format: +Amount, Spent("T"|"F"), "frozen"|"locked"|"unlocked", RingCT, Global Index, Transaction Hash, Address Index, [Public Key, Key Image] </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2765"/> <source>Show the payments for the given payment IDs.</source> <translation>Mostra i pagamenti per gli id pagamento specificati.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2592"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2768"/> <source>Show the blockchain height.</source> <translation>Mostra l'altezza della blockchain.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2606"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2782"/> <source>Send all unmixable outputs to yourself with ring_size 1</source> <translation>Invia tutti gli output non mixabili a te stesso usando ring_size 1</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2613"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2789"/> <source>Send all unlocked outputs below the threshold to an address.</source> <translation>Invia tutti gli output sbloccati sotto la soglia ad un indirizzo.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2617"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2793"/> <source>Send a single output of the given key image to an address without change.</source> <translation>Invia un singolo output della key image specificata ad un indirizzo senza modifica.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2621"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2797"/> <source>Donate <amount> to the development team (donate.getmonero.org).</source> <translation>Dona <amount> al team di sviluppo (donate.getmonero.org).</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2628"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2804"/> <source>Submit a signed transaction from a file.</source> <translation>Invia una transazione firmata da file.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2632"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2808"/> <source>Change the current log detail (level must be <0-4>).</source> <translation>Modifica il dettaglio di log (il livello deve essere <0-4>).</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2636"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2812"/> <source>If no arguments are specified, the wallet shows all the existing accounts along with their balances. If the "new" argument is specified, the wallet creates a new account with its label initialized by the provided label text (which can be empty). If the "switch" argument is specified, the wallet switches to the account specified by <index>. @@ -1530,323 +1595,429 @@ If the "label" argument is specified, the wallet sets the label of the If the "tag" argument is specified, a tag <tag_name> is assigned to the specified accounts <account_index_1>, <account_index_2>, .... If the "untag" argument is specified, the tags assigned to the specified accounts <account_index_1>, <account_index_2> ..., are removed. If the "tag_description" argument is specified, the tag <tag_name> is assigned an arbitrary text <description>.</source> - <translation type="unfinished"></translation> + <translation>Se non vengono specificati argomenti, il portafoglio mostra tutti gli account esistenti insieme ai loro saldi. +Se viene specificato l'argomento "new", il portafoglio crea un nuovo account con l'etichetta inizializzata dal testo dell'etichetta fornito (che può essere vuoto). +Se viene specificato l'argomento "switch", il portafoglio passa all'account specificato da <index>. +Se viene specificato l'argomento "label", il portafoglio imposta l'etichetta dell'account specificato da <index> nel testo dell'etichetta fornito. +Se l'argomento "tag" è specificato, un tag <tag_name> viene assegnato agli account specificati <account_index_1>, <account_index_2>, .... +Se viene specificato l'argomento "untag", i tag assegnati agli account specificati <account_index_1>, <account_index_2> ..., vengono rimossi. +Se viene specificato l'argomento "tag_description", al tag <tag_name> viene assegnato un testo arbitrario <description>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2650"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2826"/> <source>Encode a payment ID into an integrated address for the current wallet public address (no argument uses a random payment ID), or decode an integrated address to standard address and payment ID</source> - <translation type="unfinished"></translation> + <translation>Codifica un ID di pagamento in un indirizzo integrato per l'indirizzo pubblico del portafoglio corrente (nessun argomento utilizza un ID di pagamento casuale) o decodifica un indirizzo integrato per l'indirizzo standard e l'ID di pagamento</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2654"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2830"/> <source>Print all entries in the address book, optionally adding/deleting an entry to/from it.</source> - <translation type="unfinished"></translation> + <translation>Stampa tutte le voci nella rubrica, opzionalmente aggiungendo/eliminando una voce a/da esso.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2657"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2833"/> <source>Save the wallet data.</source> - <translation type="unfinished"></translation> + <translation>Salva i dati del portafoglio.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2660"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2836"/> <source>Save a watch-only keys file.</source> - <translation type="unfinished"></translation> + <translation>Salva un file di chiavi in sola lettura.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2663"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2839"/> <source>Display the private view key.</source> - <translation type="unfinished"></translation> + <translation>Mostra la chiave privata di visualizzazione.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2666"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2842"/> <source>Display the private spend key.</source> - <translation type="unfinished"></translation> + <translation>Mostra la chiave di spesa privata.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2845"/> <source>Display the Electrum-style mnemonic seed</source> + <translation>Mostra il seed mnemonico di tipo Electrum</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2849"/> + <source>Available options: + seed language + Set the wallet's seed language. + always-confirm-transfers <1|0> + Whether to confirm unsplit txes. + print-ring-members <1|0> + Whether to print detailed information about ring members during confirmation. + store-tx-info <1|0> + Whether to store outgoing tx info (destination address, payment ID, tx secret key) for future reference. + default-ring-size <n> + Set the default ring size (obsolete). + auto-refresh <1|0> + Whether to automatically synchronize new blocks from the daemon. + refresh-type <full|optimize-coinbase|no-coinbase|default> + Set the wallet's refresh behaviour. + priority [0|1|2|3|4] + Set the fee to default/unimportant/normal/elevated/priority. + confirm-missing-payment-id <1|0> (obsolete) + ask-password <0|1|2 (or never|action|decrypt)> + action: ask the password before many actions such as transfer, etc + decrypt: same as action, but keeps the spend key encrypted in memory when not needed + unit <monero|millinero|micronero|nanonero|piconero> + Set the default monero (sub-)unit. + min-outputs-count [n] + Try to keep at least that many outputs of value at least min-outputs-value. + min-outputs-value [n] + Try to keep at least min-outputs-count outputs of at least that value. + merge-destinations <1|0> + Whether to merge multiple payments to the same destination address. + confirm-backlog <1|0> + Whether to warn if there is transaction backlog. + confirm-backlog-threshold [n] + Set a threshold for confirm-backlog to only warn if the transaction backlog is greater than n blocks. + refresh-from-block-height [n] + Set the height before which to ignore blocks. + auto-low-priority <1|0> + Whether to automatically use the low priority fee level when it's safe to do so. + segregate-pre-fork-outputs <1|0> + Set this if you intend to spend outputs on both Monero AND a key reusing fork. + key-reuse-mitigation2 <1|0> + Set this if you are not sure whether you will spend on a key reusing Monero fork later. +subaddress-lookahead <major>:<minor> + Set the lookahead sizes for the subaddress hash table. + Set this if you are not sure whether you will spend on a key reusing Monero fork later. + segregation-height <n> + Set to the height of a key reusing fork you want to use, 0 to use default.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2719"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2897"/> <source>Display the encrypted Electrum-style mnemonic seed.</source> - <translation type="unfinished"></translation> + <translation>Mostra il seed mnemonico criptato di tipo Electrum.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2722"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2900"/> <source>Rescan the blockchain for spent outputs.</source> - <translation type="unfinished"></translation> + <translation>Riscansiona la blockchain per gli outputs spesi.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2726"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2904"/> <source>Get the transaction key (r) for a given <txid>.</source> - <translation type="unfinished"></translation> + <translation>Ottieni la chiave di transazione (r) per il dato <txid>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2734"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2912"/> <source>Check the amount going to <address> in <txid>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2738"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2916"/> <source>Generate a signature proving funds sent to <address> in <txid>, optionally with a challenge string <message>, using either the transaction secret key (when <address> is not your wallet's address) or the view secret key (otherwise), which does not disclose the secret key.</source> - <translation type="unfinished"></translation> + <translation>Generare una firma che provi l'invio dei fondi da <address> in <txid>, facoltativamente con una stringa di verifica <message>, utilizzando la chiave segreta della transazione (quando <address> non è l'indirizzo del tuo portafoglio) o (in alternativa) la chiave di visualizzazione segreta, che non riveli la chiave segreta.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2742"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2920"/> <source>Check the proof for funds going to <address> in <txid> with the challenge string <message> if any.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2746"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2924"/> <source>Generate a signature proving that you generated <txid> using the spend secret key, optionally with a challenge string <message>.</source> - <translation type="unfinished"></translation> + <translation>Genera una firma che dimostri che hai generato <txid> usando la chiave segreta di spesa, opzionalmente con una stringa di verifica <message>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2750"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2928"/> <source>Check a signature proving that the signer generated <txid>, optionally with a challenge string <message>.</source> - <translation type="unfinished"></translation> + <translation>Controlla la firma dimostrando che il firmatario ha generato <txid>, opzionalmente con una stringa di verifica <message>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2754"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2932"/> <source>Generate a signature proving that you own at least this much, optionally with a challenge string <message>. If 'all' is specified, you prove the entire sum of all of your existing accounts' balances. Otherwise, you prove the reserve of the smallest possible amount above <amount> available in your current account.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2760"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2938"/> <source>Check a signature proving that the owner of <address> holds at least this much, optionally with a challenge string <message>.</source> - <translation type="unfinished"></translation> + <translation>Controlla una firma che dimostri che il proprietario di <address> conserva questo valore, opzionalmente con una stringa di verifica <message>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2780"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2958"/> <source>Show the unspent outputs of a specified address within an optional amount range.</source> - <translation type="unfinished"></translation> + <translation>Mostra gli outputs non spesi di uno specifico indirizzo all'interno di un intervallo di quantità opzionale.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2788"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2962"/> + <source>Rescan the blockchain from scratch. If "hard" is specified, you will lose any information which can not be recovered from the blockchain itself.</source> + <translation>Scansiona la blockchain da zero. Se "hard" è specificato, perderai tutte le informazioni che non possono essere recuperate dalla blockchain stessa.</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2966"/> <source>Set an arbitrary string note for a <txid>.</source> - <translation type="unfinished"></translation> + <translation>Imposta una nota arbitraria per un <txid>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2792"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2970"/> <source>Get a string note for a txid.</source> - <translation type="unfinished"></translation> + <translation>Ottieni una nota di stringa per un txid.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2796"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2974"/> <source>Set an arbitrary description for the wallet.</source> - <translation type="unfinished"></translation> + <translation>Imposta una descrizione arbitraria per il portafoglio.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2800"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2978"/> <source>Get the description of the wallet.</source> - <translation type="unfinished"></translation> + <translation>Ottieni la descrizione del portafoglio.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2803"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2981"/> <source>Show the wallet's status.</source> - <translation type="unfinished"></translation> + <translation>Mostra lo stato del portafoglio.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2806"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2984"/> <source>Show the wallet's information.</source> - <translation type="unfinished"></translation> + <translation>Mostra le informazioni del portafoglio.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2810"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2988"/> <source>Sign the contents of a file.</source> - <translation type="unfinished"></translation> + <translation>Firma il contenuto di un file.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2814"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2992"/> <source>Verify a signature on the contents of a file.</source> - <translation type="unfinished"></translation> + <translation>Verifica una firma sul contenuto di un file.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2822"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3000"/> <source>Import a signed key images list and verify their spent status.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2834"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3012"/> <source>Export a set of outputs owned by this wallet.</source> - <translation type="unfinished"></translation> + <translation>Esporta un set di output posseduto da questo portafoglio.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2838"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3016"/> <source>Import a set of outputs owned by this wallet.</source> - <translation type="unfinished"></translation> + <translation>Importa un set di outputs posseduto da questo portafoglio.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2842"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3020"/> <source>Show information about a transfer to/from this address.</source> - <translation type="unfinished"></translation> + <translation>Mostra informazioni su un trasferimento da/verso questo indirizzo.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2845"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3023"/> <source>Change the wallet's password.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2849"/> - <source>Generate a new random full size payment id. These will be unencrypted on the blockchain, see integrated_address for encrypted short payment ids.</source> - <translation type="unfinished"></translation> + <translation>Cambia la password del portafoglio.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2852"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3030"/> <source>Print the information about the current fee and transaction backlog.</source> - <translation type="unfinished"></translation> + <translation>Stampa le informazioni sulla commissione corrente e sul backlog della transazione.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2854"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3032"/> <source>Export data needed to create a multisig wallet</source> - <translation type="unfinished"></translation> + <translation>Esportare i dati necessari per creare un portafoglio multifirma</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2857"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3035"/> <source>Turn this wallet into a multisig wallet</source> - <translation type="unfinished"></translation> + <translation>Trasforma questo portafoglio in un portafoglio multifirma</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2861"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3039"/> <source>Turn this wallet into a multisig wallet, extra step for N-1/N wallets</source> - <translation type="unfinished"></translation> + <translation>Trasforma questo portafoglio in un portafoglio multifirma, passo aggiuntivo per i portafogli N-1/N</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2869"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3047"/> <source>Export multisig info for other participants</source> - <translation type="unfinished"></translation> + <translation>Esporta informazioni multifirma per altri partecipanti</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2873"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3051"/> <source>Import multisig info from other participants</source> - <translation type="unfinished"></translation> + <translation>Importa informazioni multifirma da altri partecipanti</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2877"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3055"/> <source>Sign a multisig transaction from a file</source> - <translation type="unfinished"></translation> + <translation>Firma una transazione multifirma da un file</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2881"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3059"/> <source>Submit a signed multisig transaction from a file</source> - <translation type="unfinished"></translation> + <translation>Invia una transazione multifirma firmata da un file</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2885"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3063"/> <source>Export a signed multisig transaction to a file</source> + <translation>Esporta una transazione multifirma firmata in un file</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3160"/> + <source>Unsets the ring used for a given key image or transaction</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3180"/> + <source>Freeze a single output by key image so it will not be used</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3184"/> + <source>Thaw a single output by key image so it may be used again</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3188"/> + <source>Checks whether a given output is currently frozen by key image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3192"/> + <source>Prints simple network stats</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3002"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3196"/> + <source>Prints basic info about Monero for first time users</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3204"/> <source>Show the help section or the documentation about a <command>.</source> + <translation>Mostra la sezione di aiuto o la documentazione su un <command>.</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3258"/> + <source> (set this to support the network and to get a chance to receive new monero)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3085"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3295"/> <source>integer >= </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3308"/> <source>block height</source> + <translation>altezza del blocco</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3316"/> + <source>1/yes or 0/no</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3203"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3414"/> <source>No wallet found with that name. Confirm creation of new wallet named: </source> - <translation type="unfinished"></translation> + <translation>Nessun portafoglio trovato con quel nome. Conferma la creazione di un nuovo portafoglio chiamato: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3304"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3540"/> <source>can't specify both --restore-deterministic-wallet or --restore-multisig-wallet and --non-deterministic</source> - <translation type="unfinished"></translation> + <translation>non è possibile specificare sia --restore-deterministic-wallet o --restore-multisig-wallet e --non-deterministic</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3310"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3546"/> <source>--restore-multisig-wallet uses --generate-new-wallet, not --wallet-file</source> - <translation type="unfinished"></translation> + <translation>--restore-multisig-wallet utilizza --generate-new-wallet, non --wallet-file</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3326"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3562"/> <source>specify a recovery parameter with the --electrum-seed="multisig seed here"</source> - <translation type="unfinished"></translation> + <translation>specifica un parametro di recupero con --electrum-seed=" seed multifirma qui"</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3355"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3591"/> <source>Multisig seed failed verification</source> - <translation type="unfinished"></translation> + <translation>Verifica seed mulitfirma fallita</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3406"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3481"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3641"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3718"/> <source>This address is a subaddress which cannot be used here.</source> - <translation type="unfinished"></translation> + <translation>Questo indirizzo è un sottoindirizzo che non può essere utilizzato qui.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3558"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3796"/> <source>Error: expected M/N, but got: </source> - <translation type="unfinished"></translation> + <translation>Errore: atteso M/N, ma ottenuto: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3563"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3801"/> <source>Error: expected N > 1 and N <= M, but got: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3568"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3806"/> <source>Error: M/N is currently unsupported. </source> - <translation type="unfinished"></translation> + <translation>Errore: M/N non è attualmente supportato. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3809"/> <source>Generating master wallet from %u of %u multisig wallet keys</source> - <translation type="unfinished"></translation> + <translation>Generazione del portafoglio principale da %u di %u chiavi del portafoglio multifirma</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3600"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3838"/> <source>failed to parse secret view key</source> <translation type="unfinished">impossibile fare il parsing della chiave segreta di visualizzazione</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3608"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3846"/> <source>failed to verify secret view key</source> <translation type="unfinished">verifica chiave segreta di visualizzazione fallita</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3628"/> - <source>Secret spend key (%u of %u):</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3651"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3889"/> <source>Error: M/N is currently unsupported</source> - <translation type="unfinished"></translation> + <translation>Errore: M/N non è attualmente supportato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3802"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4055"/> <source>Restore height </source> + <translation>Altezza di ripristino </translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4083"/> + <source>Warning: using an untrusted daemon at %s, privacy will be lessened</source> + <translation>Attenzione: sto utilizzando un daemon non fidato su %s, la privacy sarà ridotta</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4093"/> + <source>If you are new to Monero, type "welcome" for a brief overview.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3803"/> - <source>Still apply restore height? (Y/Yes/N/No): </source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4098"/> + <source>WARNING: obsolete long payment IDs are enabled. Sending transactions with those payment IDs are bad for your privacy.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3829"/> - <source>Warning: using an untrusted daemon at %s, privacy will be lessened</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4100"/> + <source>It is recommended that you do not use them, and ask recipients who ask for one to not endanger your privacy.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3888"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4165"/> <source>Daemon either is not started or wrong port was passed. Please make sure daemon is running or change the daemon address using the 'set_daemon' command.</source> - <translation type="unfinished"></translation> + <translation>Il daemon non è stato avviato o la porta è errata. Assicurati che il daemon sia in esecuzione oppure cambia l'indirizzo del daemon usando il comando 'set_daemon'.</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4203"/> + <source>Enter the number corresponding to the language of your choice</source> + <translation>Inserire il numero corrispondente alla lingua desiderata</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4036"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4313"/> <source>Your wallet has been generated! To start synchronizing with the daemon, use the "refresh" command. Use the "help" command to see the list of available commands. @@ -1855,896 +2026,905 @@ Always use the "exit" command when closing monero-wallet-cli to save your current session's state. Otherwise, you might need to synchronize your wallet again (your wallet keys are NOT at risk in any case). </source> - <translation type="unfinished"></translation> + <translation>Il tuo portafoglio è stato generato! +Per avviare la sincronizzazione con il daemon, utilizzare il comando "refresh". +Utilizzare il comando "help" per visualizzare l'elenco dei comandi disponibili. +Usa "help <command>" per vedere la documentazione di un comando. +Usa sempre il comando "exit" quando chiudi monero-wallet-cli per salvare lo +stato della sessione corrente. In caso contrario, potrebbe essere necessario sincronizzare +di nuovo il tuo portafoglio (le chiavi del tuo portafoglio NON sono in nessun caso a rischio). +</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4180"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4457"/> <source>failed to generate new mutlisig wallet</source> - <translation type="unfinished"></translation> + <translation>impossibile generare un nuovo portafoglio multifirma</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4183"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4460"/> <source>Generated new %u/%u multisig wallet: </source> - <translation type="unfinished"></translation> + <translation>Generato nuovo portafoglio %u/%u multifirma: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4232"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4509"/> <source>Opened %u/%u multisig wallet%s</source> - <translation type="unfinished"></translation> + <translation>Aperto %u/%u portafoglio multifirma%s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4570"/> <source>Use "help <command>" to see a command's documentation. </source> - <translation type="unfinished"></translation> + <translation>Usa "help <command>" per vedere la documentazione di un comando. +</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4351"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4628"/> <source>wallet is multisig and cannot save a watch-only version</source> + <translation>il portafoglio è multifirma e non è possibile salvarne una versione in sola lettura</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4664"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4696"/> + <source>Failed to query mining status: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4476"/> - <source>Unexpected array length - Exited simple_wallet::set_daemon()</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4679"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4707"/> + <source>Failed to setup background mining: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4517"/> - <source>This does not seem to be a valid daemon URL.</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4683"/> + <source>Background mining enabled. Thank you for supporting the Monero network.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4553"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4590"/> - <source>txid </source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4711"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4719"/> + <source>Background mining not enabled. Run "set setup-background-mining 1" to change.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4725"/> + <source>Using an untrusted daemon, skipping background mining check</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4750"/> + <source>The daemon is not set up to background mine.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4751"/> + <source>With background mining enabled, the daemon will mine when idle and not on batttery.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4752"/> + <source>Enabling this supports the network you are using, and makes you eligible for receiving new monero</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4757"/> + <source>Background mining not enabled. Set setup-background-mining to 1 to change.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4555"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4592"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4864"/> + <source>Unexpected array length - Exited simple_wallet::set_daemon()</source> + <translation>Lunghezza array imprevista - Exited simple_wallet:: set_daemon ()</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4905"/> + <source>This does not seem to be a valid daemon URL.</source> + <translation>Questo URL del daemon non sembra essere valido.</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4941"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4974"/> + <source>txid </source> + <translation>txid </translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4943"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4976"/> <source>idx </source> + <translation>idx </translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <source>WARNING: this transaction uses an unencrypted payment ID: consider using subaddresses instead.</source> + <translation>ATTENZIONE: questa transazione utilizza un ID di pagamento non criptato: considera l'utilizzo di sottoindirizzi.</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <source>WARNING: this transaction uses an unencrypted payment ID: these are obsolete. Support will be withdrawn in the future. Use subaddresses instead.</source> + <translation>ATTENZIONE: questa transazione utilizza un ID di pagamento non criptato: questi sono obsoleti. Il supporto ad essi verrà sospeso in futuro. Utilizzare sottoindirizzi.</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5108"/> + <source>New transfer received since rescan was started. Key images are incomplete.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4780"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5183"/> <source> (Some owned outputs have partial key images - import_multisig_info needed)</source> - <translation type="unfinished"></translation> + <translation> (Alcuni output contengono immagini chiave parziali - import_multisig_info necessario)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4783"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5186"/> <source>Currently selected account: [</source> - <translation type="unfinished"></translation> + <translation>Account attualmente selezionato: [</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4783"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5186"/> <source>] </source> - <translation type="unfinished"></translation> + <translation>] </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4785"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5188"/> <source>Tag: </source> - <translation type="unfinished"></translation> + <translation>Etichetta: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4785"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5188"/> <source>(No tag assigned)</source> - <translation type="unfinished"></translation> + <translation>(Nessuna etichetta assegnata)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4792"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5200"/> <source>Balance per address:</source> - <translation type="unfinished"></translation> + <translation>Saldo per indirizzo:</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> <source>Address</source> - <translation type="unfinished"></translation> + <translation>Indirizzo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> <source>Balance</source> - <translation type="unfinished"></translation> + <translation>Saldo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> <source>Unlocked balance</source> - <translation type="unfinished"></translation> + <translation>Saldo sbloccato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> <source>Outputs</source> - <translation type="unfinished"></translation> + <translation>Outputs</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9122"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> <source>Label</source> - <translation type="unfinished"></translation> + <translation>Etichetta</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4801"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5209"/> <source>%8u %6s %21s %21s %7u %21s</source> - <translation type="unfinished"></translation> + <translation>%8u %6s %21s %21s %7u %21s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>spent</source> <translation>spesi</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>global index</source> <translation>indice globale</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>tx id</source> <translation>tx id</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>addr index</source> + <translation>indice indirizzo</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5312"/> + <source>Used at heights: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5318"/> + <source>[frozen]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4924"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5332"/> <source>No incoming transfers</source> <translation>Nessun trasferimento in entrata</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4928"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5336"/> <source>No incoming available transfers</source> <translation>Nessun trasferimento in entrata disponibile</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4932"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5340"/> <source>No incoming unavailable transfers</source> <translation>Nessun trasferimento indisponibile in entrata</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>payment</source> <translation>pagamento</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>transaction</source> <translation>transazione</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>height</source> <translation>altezza</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>unlock time</source> <translation>tempo sbloccato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4968"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5376"/> <source>No payments with id </source> <translation>Nessun pagamento con id </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5016"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5106"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5442"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5901"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5424"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5514"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5843"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6302"/> <source>failed to get blockchain height: </source> <translation>impossibile recuperare altezza blockchain: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5114"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5522"/> <source> Transaction %llu/%llu: txid=%s</source> <translation> Transazione %llu/%llu: txid=%s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5135"/> - <source> -Input %llu/%llu: amount=%s</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5151"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5559"/> <source>failed to get output: </source> <translation>impossibile recuperare output: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5159"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5567"/> <source>output key's originating block height shouldn't be higher than the blockchain height</source> <translation>l'altezza del blocco di origine della chiave di output non dovrebbe essere più alta dell'altezza della blockchain</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5163"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5571"/> <source> Originating block heights: </source> <translation> Originando blocchi: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5175"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5583"/> <source> |</source> <translation> |</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5175"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7706"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5583"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8110"/> <source>| </source> <translation>| </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5192"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5600"/> <source> Warning: Some input keys being spent are from </source> <translation> Avviso: alcune chiavi di input spese vengono da </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5194"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5602"/> <source>, which can break the anonymity of ring signature. Make sure this is intentional!</source> <translation>, che potrebbe compromettere l'anonimità della ring signature. Assicurati di farlo intenzionalmente!</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5234"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5853"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6156"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5642"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6254"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6547"/> <source>Ring size must not be 0</source> <translation>Il ring size non può essere 0</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5246"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5865"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6168"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5654"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6266"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6559"/> <source>ring size %u is too small, minimum is %u</source> <translation>il ring size %u è troppo piccolo, il minimo è %u</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5258"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5666"/> <source>wrong number of arguments</source> <translation>numero di argomenti errato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5417"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5996"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6268"/> - <source>No payment id is included with this transaction. Is this okay? (Y/Yes/N/No): </source> - <translation>Nessun id pagamento è incluso in questa transazione. Questo è corretto? (S/Sì/N/No): </translation> + <location filename="../src/simplewallet/simplewallet.cpp" line="5686"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5796"/> + <source>Warning: Unencrypted payment IDs will harm your privacy: ask the recipient to use subaddresses instead</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5458"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6016"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5859"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6407"/> <source>No outputs found, or daemon is not ready</source> <translation>Nessun output trovato, o il daemon non è pronto</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6759"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6770"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6777"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7164"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7175"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7182"/> <source>failed to parse tx_key</source> - <translation type="unfinished"></translation> + <translation>impossibile analizzare tx_key</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6786"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7191"/> <source>Tx key successfully stored.</source> - <translation type="unfinished"></translation> + <translation>Tx key memorizzata con successo.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6790"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7195"/> <source>Failed to store tx key: </source> - <translation type="unfinished"></translation> + <translation>Impossibile memorizzare la chiave tx: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7296"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7696"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>block</source> - <translation type="unfinished"></translation> + <translation>blocco</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7440"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7844"/> <source>usage: show_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]]</source> - <translation type="unfinished"></translation> + <translation>utilizzo: show_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]]</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7493"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7897"/> <source>usage: export_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] [output=<path>]</source> - <translation type="unfinished"></translation> + <translation>utilizzo: export_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] [output=<path>]</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>direction</source> - <translation type="unfinished"></translation> + <translation>direzione</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>timestamp</source> - <translation type="unfinished"></translation> + <translation>timestamp</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>running balance</source> - <translation type="unfinished"></translation> + <translation>bilancio corrente</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>hash</source> - <translation type="unfinished"></translation> + <translation>hash</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>payment ID</source> - <translation type="unfinished"></translation> + <translation>ID di pagamento</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>fee</source> - <translation type="unfinished"></translation> + <translation>tassa</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>destination</source> - <translation type="unfinished"></translation> + <translation>destinazione</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>index</source> - <translation type="unfinished"></translation> + <translation>indice</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>note</source> - <translation type="unfinished"></translation> + <translation>nota</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7572"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7976"/> <source>CSV exported to </source> - <translation type="unfinished"></translation> + <translation>CSV esportato in </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7730"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8159"/> <source>Warning: this will lose any information which can not be recovered from the blockchain.</source> - <translation type="unfinished"></translation> + <translation>Attenzione: questo farà perdere ogni informazione che non può essere recuperata dalla blockchain.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7731"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8160"/> <source>This includes destination addresses, tx secret keys, tx notes, etc</source> + <translation>Questo include gli indirizzi di destinazione, le chiavi segrete di tx, le note di tx, ecc</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="8172"/> + <source>Warning: your restore height is higher than wallet restore height: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7732"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8173"/> <source>Rescan anyway ? (Y/Yes/N/No): </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7750"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8192"/> <source>MMS received new message</source> - <translation type="unfinished"></translation> + <translation>ricevuto un nuovo messaggio MMS</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8387"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8832"/> <source>Network type: </source> - <translation type="unfinished"></translation> + <translation>Tipo di rete: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8388"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8833"/> <source>Testnet</source> - <translation type="unfinished"></translation> + <translation>Testnet</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8389"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8834"/> <source>Stagenet</source> - <translation type="unfinished"></translation> + <translation>Stagenet</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8389"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8834"/> <source>Mainnet</source> - <translation type="unfinished"></translation> + <translation>Mainnet</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8559"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8605"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8999"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9045"/> <source>command only supported by HW wallet</source> - <translation type="unfinished"></translation> + <translation>comando supportato solo dal portafoglio HW</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8564"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9004"/> <source>hw wallet does not support cold KI sync</source> - <translation type="unfinished"></translation> + <translation>Il portafoglio hardware non supporta la sincronizzazione cold KI</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8576"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9016"/> <source>Please confirm the key image sync on the device</source> - <translation type="unfinished"></translation> + <translation>Si prega di confermare la sincronizzazione della chiave immagine sul dispositivo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8582"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9022"/> <source>Key images synchronized to height </source> - <translation type="unfinished"></translation> + <translation>Immagini della chiave sincronizzate all'altezza </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8585"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9025"/> <source>Running untrusted daemon, cannot determine which transaction output is spent. Use a trusted daemon with --trusted-daemon and run rescan_spent</source> - <translation type="unfinished"></translation> + <translation>L'esecuzione di un daemon non fidato non può determinare quale output di transazione viene speso. Utilizzare un daemon fidato con --trusted-daemon ed eseguire rescan_spent</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8588"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9028"/> <source> spent, </source> - <translation type="unfinished"></translation> + <translation> speso, </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8588"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9028"/> <source> unspent</source> - <translation type="unfinished"></translation> + <translation> non speso</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8592"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9032"/> <source>Failed to import key images</source> - <translation type="unfinished"></translation> + <translation>Impossibile importare le immagini della chiave</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8597"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9037"/> <source>Failed to import key images: </source> <translation type="unfinished">Impossibile importare le key images: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8614"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9054"/> <source>Failed to reconnect device</source> - <translation type="unfinished"></translation> + <translation>Impossibile ricollegare il dispositivo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8619"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9059"/> <source>Failed to reconnect device: </source> - <translation type="unfinished"></translation> + <translation>Impossibile ricollegare il dispositivo: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8883"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9323"/> <source>Transaction successfully saved to </source> - <translation type="unfinished"></translation> + <translation>Transazione salvata correttamente in </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8883"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8885"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9323"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9325"/> <source>, txid </source> - <translation type="unfinished"></translation> + <translation>, txid </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8885"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9325"/> <source>Failed to save transaction to </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5723"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6044"/> - <source>Sweeping %s in %llu transactions for a total fee of %s. Is this okay? (Y/Yes/N/No): </source> - <translation>Sto eseguendo lo sweep di %s nelle transazioni %llu per un totale commissioni di %s. Va bene? (S/Sì/N/No): </translation> + <translation>Impossibile salvare la transazione in </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5729"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6050"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6310"/> - <source>Sweeping %s for a total fee of %s. Is this okay? (Y/Yes/N/No): </source> - <translation>Sto eseguendo lo sweep di %s per un totale commissioni di %s. Va bene? (S/Sì/N/No): </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6611"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7014"/> <source>This is a watch only wallet</source> <translation>Questo è un portafoglio solo-vista</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8813"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9253"/> <source>Double spend seen on the network: this transaction may or may not end up being mined</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8848"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9288"/> <source>Transaction ID not found</source> <translation>ID transazione non trovato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="336"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="357"/> <source>true</source> <translation>vero</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="389"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="410"/> <source>failed to parse refresh type</source> <translation>impossibile fare il parsing del tipo di refresh</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="721"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="787"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="939"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="984"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1067"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1124"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1190"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1256"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1350"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1466"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1547"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6601"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6665"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6702"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6799"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7010"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7094"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8397"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8474"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8517"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8630"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8670"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="742"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="808"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="962"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1007"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1090"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1147"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1214"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1280"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1374"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1490"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7004"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7068"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7105"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7410"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7494"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8842"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8919"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8962"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9070"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9110"/> <source>command not supported by HW wallet</source> - <translation type="unfinished"></translation> + <translation>comando non supportato dal portafoglio HW</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="726"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="797"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="747"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="818"/> <source>wallet is watch-only and has no seed</source> <translation>il portafoglio è solo-vista e non possiede un seed</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="744"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="807"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="828"/> <source>wallet is non-deterministic and has no seed</source> <translation>il portafoglio è non-deterministico e non possiede un seed</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="751"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="772"/> <source>Enter optional seed offset passphrase, empty to see raw seed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="817"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="838"/> <source>Incorrect password</source> - <translation type="unfinished"></translation> + <translation>Password errata</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="883"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="906"/> <source>Current fee is %s %s per %s</source> - <translation type="unfinished"></translation> + <translation>La commissione attuale è %s %s per %s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1036"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1158"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1059"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1181"/> <source>Send this multisig info to all other participants, then use exchange_multisig_keys <info1> [<info2>...] with others' multisig info</source> - <translation type="unfinished"></translation> + <translation>Invia queste informazioni multifirma a tutti i partecipanti, quindi utilizza exchange_multisig_keys <info1> [<info2>...] con le informazioni multifirma degli altri partecipanti</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1167"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1190"/> <source>Multisig wallet has been successfully created. Current wallet type: </source> - <translation type="unfinished"></translation> + <translation>Il portafoglio multifirma è stato creato con successo. Tipo di portafoglio corrente: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1172"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1196"/> <source>Failed to perform multisig keys exchange: </source> - <translation type="unfinished"></translation> + <translation>Impossibile eseguire lo scambio di chiavi multifirma: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1499"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1523"/> <source>Failed to load multisig transaction from MMS</source> - <translation type="unfinished"></translation> + <translation>Impossibile caricare la transazione multifirma da MMS</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1631"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1788"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1655"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1812"/> <source>Invalid key image</source> - <translation type="unfinished"></translation> + <translation>Immagine della chiave non valida</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1637"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1661"/> <source>Invalid txid</source> - <translation type="unfinished"></translation> + <translation>Txid non valido</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1649"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1673"/> <source>Key image either not spent, or spent with mixin 0</source> - <translation type="unfinished"></translation> + <translation>Immagine della chiave non spesa o spesa con mixin 0</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1664"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1688"/> <source>Failed to get key image ring: </source> - <translation type="unfinished"></translation> + <translation>Impossibile ottenere l'anello della chiave immagine: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1679"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1703"/> <source>File doesn't exist</source> - <translation type="unfinished"></translation> + <translation>Il file non esiste</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1701"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1725"/> <source>Invalid ring specification: </source> - <translation type="unfinished"></translation> + <translation>Specifica dell'anello non valida: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1733"/> <source>Invalid key image: </source> - <translation type="unfinished"></translation> + <translation>Immagine della chiave non valida: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1714"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1738"/> <source>Invalid ring type, expected relative or abosolute: </source> - <translation type="unfinished"></translation> + <translation>Tipo di anello non valido, previsto relativo o assoluto: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1720"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1732"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1744"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1756"/> <source>Error reading line: </source> - <translation type="unfinished"></translation> + <translation>Errore durante la lettura della riga: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1743"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1767"/> <source>Invalid ring: </source> - <translation type="unfinished"></translation> + <translation>Anello non valido: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1752"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1776"/> <source>Invalid relative ring: </source> - <translation type="unfinished"></translation> + <translation>Anello relativo non valido: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1764"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1788"/> <source>Invalid absolute ring: </source> - <translation type="unfinished"></translation> + <translation>Anello assoluto non valido: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1773"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1797"/> <source>Failed to set ring for key image: </source> - <translation type="unfinished"></translation> + <translation>Impossibile impostare l'anello per l'immagine della chiave: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1773"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1797"/> <source>Continuing.</source> - <translation type="unfinished"></translation> + <translation>Continuando.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1803"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1827"/> <source>Missing absolute or relative keyword</source> - <translation type="unfinished"></translation> + <translation>Parola chiave assoluta o relativa mancante</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1813"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1820"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1837"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1844"/> <source>invalid index: must be a strictly positive unsigned integer</source> - <translation type="unfinished"></translation> + <translation>indice non valido: deve essere un numero intero senza segno e positivo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1828"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1852"/> <source>invalid index: indices wrap</source> - <translation type="unfinished"></translation> + <translation>indice non valido: indici wrap</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1838"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1862"/> <source>invalid index: indices should be in strictly ascending order</source> - <translation type="unfinished"></translation> + <translation>indice non valido: gli indici devono essere rigorosamente in ordine crescente</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1845"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1869"/> <source>failed to set ring</source> - <translation type="unfinished"></translation> + <translation>impossibile impostare l'anello</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1890"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1946"/> <source>First line is not an amount</source> - <translation type="unfinished"></translation> + <translation>La prima riga non è un importo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1904"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1960"/> <source>Invalid output: </source> - <translation type="unfinished"></translation> + <translation>Output non valido: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1914"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1970"/> <source>Bad argument: </source> - <translation type="unfinished"></translation> + <translation>Argomento non valido: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1914"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1970"/> <source>should be "add"</source> - <translation type="unfinished"></translation> + <translation>dovrebbe essere "add"</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1923"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1979"/> <source>Failed to open file</source> - <translation type="unfinished"></translation> + <translation>Impossibile aprire il file</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1929"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1985"/> <source>Invalid output key, and file doesn't exist</source> - <translation type="unfinished"></translation> + <translation>Chiave di output non valida, il file non esiste</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1935"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1991"/> <source>Failed to mark output spent: </source> - <translation type="unfinished"></translation> + <translation>Impossibile contrassegnare l'output come speso: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1952"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1979"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2035"/> <source>Invalid output</source> - <translation type="unfinished"></translation> + <translation>Output non valido</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1962"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2018"/> <source>Failed to mark output unspent: </source> - <translation type="unfinished"></translation> + <translation>Impossibile contrassegnare l'output non speso: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1986"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2042"/> <source>Spent: </source> - <translation type="unfinished"></translation> + <translation>Speso: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2044"/> <source>Not spent: </source> - <translation type="unfinished"></translation> + <translation>Non speso: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1992"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2048"/> <source>Failed to check whether output is spent: </source> - <translation type="unfinished"></translation> + <translation>Impossibile verificare se l'output è stato speso: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2007"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2063"/> <source>Failed to save known rings: </source> - <translation type="unfinished"></translation> + <translation>Impossibile salvare gli anelli conosciuti: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2022"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2171"/> <source>Please confirm the transaction on the device</source> - <translation type="unfinished"></translation> + <translation>Si prega di confermare la transazione sul dispositivo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2069"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2088"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2218"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2237"/> <source>wallet is watch-only and cannot transfer</source> <translation>il portafoglio è solo-vista e non può eseguire trasferimenti</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2106"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5581"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2255"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5982"/> <source>WARNING: this is a non default ring size, which may harm your privacy. Default is recommended.</source> - <translation type="unfinished"></translation> + <translation>ATTENZIONE: impostazione dell'anello non default, la tua privacy potrebbe essere compromessa. Si consiglia di utilizzare l'impostazione predefinita</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2108"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2257"/> <source>WARNING: from v8, ring size will be fixed and this setting will be ignored.</source> - <translation type="unfinished"></translation> + <translation>ATTENZIONE: dalla v8, la dimensione dell'anello sarà fissa e questa impostazione verrà ignorata.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2137"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2160"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2176"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2286"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2309"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2325"/> <source>priority must be either 0, 1, 2, 3, or 4, or one of: </source> - <translation type="unfinished"></translation> + <translation>la priorità deve essere 0, 1, 2, 3 o 4 o una di: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2330"/> <source>could not change default priority</source> <translation>impossibile cambiare priorità standard</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2249"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2400"/> <source>invalid argument: must be either 0/never, 1/action, or 2/encrypt/decrypt</source> - <translation type="unfinished"></translation> + <translation>argomento non valido: deve essere 0/never, 1/action, or 2/encrypt/decrypt</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2510"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2686"/> <source>Device name not specified</source> - <translation type="unfinished"></translation> + <translation>Nome del dispositivo non specificato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2519"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2695"/> <source>Device reconnect failed</source> - <translation type="unfinished"></translation> + <translation>Riconnessione del dispositivo fallita</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2524"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2700"/> <source>Device reconnect failed: </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2583"/> - <source>Show the incoming transfers, all or filtered by availability and address index. - -Output format: -Amount, Spent("T"|"F"), "locked"|"unlocked", RingCT, Global Index, Transaction Hash, Address Index, [Public Key, Key Image] </source> - <translation type="unfinished"></translation> + <translation>Riconnessione del dispositivo fallita: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2595"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2771"/> <source>Transfer <amount> to <address>. If the parameter "index=<N1>[,<N2>,...]" is specified, the wallet uses outputs received by addresses of those indices. If omitted, the wallet randomly chooses address indices to be used. In any case, it tries its best not to combine outputs across multiple addresses. <priority> is the priority of the transaction. The higher the priority, the higher the transaction fee. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command "set priority") is used. <ring_size> is the number of inputs to include for untraceability. Multiple payments can be made at once by adding URI_2 or <address_2> <amount_2> etcetera (before the payment ID, if it's included)</source> - <translation type="unfinished"></translation> + <translation>Trasferisci <amount> in <address>. Se viene specificato il parametro "index=<N1>[,<N2>,...]" il portafoglio utilizza le uscite ricevute dagli indirizzi di tali indici. Se omesso, il portafoglio sceglie casualmente gli indici dell'indirizzo da utilizzare. In ogni caso, fa del suo meglio per non combinare gli output su più indirizzi. <priority> è la priorità della transazione. Maggiore è la priorità, maggiore è la commissione di transazione. I valori validi in ordine di priorità (dal più basso al più alto) sono: non importante, normale, elevata, priorità. Se omesso, viene utilizzato il valore predefinito (consultare il comando "set priority"). <ring_size> è il numero di input da includere per la non tracciabilità. È possibile effettuare pagamenti multipli contemporaneamente aggiungendo URI_2 o <address_2> <amount_2> eccetera (prima dell'ID pagamento, se questo è incluso)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2599"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2775"/> <source>Transfer <amount> to <address> and lock it for <lockblocks> (max. 1000000). If the parameter "index=<N1>[,<N2>,...]" is specified, the wallet uses outputs received by addresses of those indices. If omitted, the wallet randomly chooses address indices to be used. In any case, it tries its best not to combine outputs across multiple addresses. <priority> is the priority of the transaction. The higher the priority, the higher the transaction fee. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command "set priority") is used. <ring_size> is the number of inputs to include for untraceability. Multiple payments can be made at once by adding URI_2 or <address_2> <amount_2> etcetera (before the payment ID, if it's included)</source> - <translation type="unfinished"></translation> + <translation>Trasferisci <amount> in <address> e bloccalo per <lockblocks> (massimo 1000000). Se viene specificato il parametro "index=<N1>[,<N2>,...]", il portafoglio utilizza le uscite ricevute dagli indirizzi di tali indici. Se omesso, il portafoglio sceglie casualmente gli indici dell'indirizzo da utilizzare. In ogni caso, fa del suo meglio per non combinare gli output su più indirizzi. <priority> è la priorità della transazione. Maggiore è la priorità, maggiore è la commissione di transazione. I valori validi in ordine di priorità (dal più basso al più alto) sono: non importante, normale, elevata, priorità. Se omesso, viene utilizzato il valore predefinito (consultare il comando "set priority"). <ring_size> è il numero di input da includere per la non tracciabilità. È possibile effettuare pagamenti multipli contemporaneamente aggiungendo URI_2 o <address_2> <amount_2> eccetera (prima dell'ID pagamento, se questo è incluso)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2603"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2779"/> <source>Send all unlocked balance to an address and lock it for <lockblocks> (max. 1000000). If the parameter "index<N1>[,<N2>,...]" is specified, the wallet sweeps outputs received by those address indices. If omitted, the wallet randomly chooses an address index to be used. <priority> is the priority of the sweep. The higher the priority, the higher the transaction fee. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command "set priority") is used. <ring_size> is the number of inputs to include for untraceability.</source> - <translation type="unfinished"></translation> + <translation>Invia tutto il saldo sbloccato a un indirizzo e bloccalo per <lockblocks> (massimo 1000000). Se viene specificato il parametro "index<N1>[,<N2>,...]", le uscite sweep del portafoglio vengono ricevute da tali indici dell'indirizzo. Se omesso, il portafoglio sceglie casualmente un indice dell'indirizzo da utilizzare. <priority> è la priorità dello sweep. Maggiore è la priorità, maggiore è la commissione di transazione. I valori validi in ordine di priorità (dal più basso al più alto) sono: non importante, normale, elevata, priorità. Se omesso, viene utilizzato il valore predefinito (consultare il comando "set priority"). <ring_size> è il numero di input da includere per la non tracciabilità.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2609"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2785"/> <source>Send all unlocked balance to an address. If the parameter "index<N1>[,<N2>,...]" is specified, the wallet sweeps outputs received by those address indices. If omitted, the wallet randomly chooses an address index to be used. If the parameter "outputs=<N>" is specified and N > 0, wallet splits the transaction into N even outputs.</source> - <translation type="unfinished"></translation> + <translation>Invia tutto il saldo sbloccato a un indirizzo. Se viene specificato il parametro "index<N1>[,<N2>,...]", le uscite sweep del portafoglio vengono ricevute da tali indici dell'indirizzo. Se omesso, il portafoglio sceglie casualmente un indice dell'indirizzo da utilizzare. Se il parametro "outputs=<N>" è specificato e N > 0, il portafoglio divide la transazione in N uscite pari.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2625"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2801"/> <source>Sign a transaction from a file. If the parameter "export_raw" is specified, transaction raw hex data suitable for the daemon RPC /sendrawtransaction is exported.</source> - <translation type="unfinished"></translation> + <translation>Firma una transazione da un file. Se viene specificato il parametro "export_raw", vengono esportati i dati esadecimali grezzi della transazione adatti al daemon RPC /sendrawtransaction.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2646"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2822"/> <source>If no arguments are specified or <index> is specified, the wallet shows the default or specified address. If "all" is specified, the wallet shows all the existing addresses in the currently selected account. If "new " is specified, the wallet creates a new address with the provided label text (which can be empty). If "label" is specified, the wallet sets the label of the address specified by <index> to the provided label text.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2673"/> - <source>Available options: - seed language - Set the wallet's seed language. - always-confirm-transfers <1|0> - Whether to confirm unsplit txes. - print-ring-members <1|0> - Whether to print detailed information about ring members during confirmation. - store-tx-info <1|0> - Whether to store outgoing tx info (destination address, payment ID, tx secret key) for future reference. - default-ring-size <n> - Set the default ring size (obsolete). - auto-refresh <1|0> - Whether to automatically synchronize new blocks from the daemon. - refresh-type <full|optimize-coinbase|no-coinbase|default> - Set the wallet's refresh behaviour. - priority [0|1|2|3|4] - Set the fee to default/unimportant/normal/elevated/priority. - confirm-missing-payment-id <1|0> - ask-password <0|1|2 (or never|action|decrypt)> - unit <monero|millinero|micronero|nanonero|piconero> - Set the default monero (sub-)unit. - min-outputs-count [n] - Try to keep at least that many outputs of value at least min-outputs-value. - min-outputs-value [n] - Try to keep at least min-outputs-count outputs of at least that value. - merge-destinations <1|0> - Whether to merge multiple payments to the same destination address. - confirm-backlog <1|0> - Whether to warn if there is transaction backlog. - confirm-backlog-threshold [n] - Set a threshold for confirm-backlog to only warn if the transaction backlog is greater than n blocks. - refresh-from-block-height [n] - Set the height before which to ignore blocks. - auto-low-priority <1|0> - Whether to automatically use the low priority fee level when it's safe to do so. - segregate-pre-fork-outputs <1|0> - Set this if you intend to spend outputs on both Monero AND a key reusing fork. - key-reuse-mitigation2 <1|0> - Set this if you are not sure whether you will spend on a key reusing Monero fork later. -subaddress-lookahead <major>:<minor> - Set the lookahead sizes for the subaddress hash table. - Set this if you are not sure whether you will spend on a key reusing Monero fork later. - segregation-height <n> - Set to the height of a key reusing fork you want to use, 0 to use default.</source> - <translation type="unfinished"></translation> + <translation>Se non viene specificato alcun argomento o viene specificato <index>, il portafoglio mostra l'indirizzo predefinito o specificato. Se è specificato "all", il portafoglio mostra tutti gli indirizzi esistenti nell'account attualmente selezionato. Se viene specificato "new", il portafoglio crea un nuovo indirizzo con il testo dell'etichetta fornito (che può essere vuoto). Se si specifica "label", il portafoglio imposta l'etichetta dell'indirizzo specificato da <index> sul testo dell'etichetta fornito.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2730"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2908"/> <source>Set the transaction key (r) for a given <txid> in case the tx was made by some other device or 3rd party wallet.</source> - <translation type="unfinished"></translation> + <translation>Imposta la chiave di transazione (r) per un dato <txid> nel caso in cui il tx sia stato creato da qualche altro dispositivo o portafoglio di terze parti.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2943"/> <source>Show the incoming/outgoing transfers within an optional height range. Output format: @@ -2758,42 +2938,42 @@ Pending or Failed: "failed"|"pending", "o <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2775"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2953"/> <source>export_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] [output=<filepath>]</source> - <translation type="unfinished"></translation> + <translation>export_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] [output=<filepath>]</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2776"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2954"/> <source>Export to CSV the incoming/outgoing transfers within an optional height range.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2784"/> - <source>Rescan the blockchain from scratch, losing any information which can not be recovered from the blockchain itself.</source> - <translation type="unfinished"></translation> + <translation>Esporta in CSV i trasferimenti in entrata/uscita all'interno di un intervallo di altezza opzionale.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2818"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2996"/> <source>Export a signed set of key images to a <filename>.</source> - <translation type="unfinished"></translation> + <translation>Esporta un set firmato di immagini chiave in un <filename>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2826"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3004"/> <source>Synchronizes key images with the hw wallet.</source> - <translation type="unfinished"></translation> + <translation>Sincronizza le immagini chiave con il portafoglio hw.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2830"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3008"/> <source>Attempts to reconnect HW wallet.</source> - <translation type="unfinished"></translation> + <translation>Tenta di ricollegare il portafoglio HW.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2865"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3027"/> + <source>Generate a new random full size payment id (obsolete). These will be unencrypted on the blockchain, see integrated_address for encrypted short payment ids.</source> + <translation>Genera un nuovo ID di pagamento lungo casuale (obsoleto). Questi non saranno crittati sulla blockchain, vedere integrated_address per gli ID di pagamento brevi crittografati.</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3043"/> <source>Performs extra multisig keys exchange rounds. Needed for arbitrary M/N multisig wallets</source> - <translation type="unfinished"></translation> + <translation>Esegue scambi extra di chiavi multifirma. Necessario per portafogli multisig M/N arbitrari</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2889"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3067"/> <source>Interface with the MMS (Multisig Messaging System) <subcommand> is one of: init, info, signer, list, next, sync, transfer, delete, send, receive, export, note, show, set, help @@ -2802,73 +2982,74 @@ Get help about a subcommand with: help mms <subcommand>, or mms help <s <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2897"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3075"/> <source>Initialize and configure the MMS for M/N = number of required signers/number of authorized signers multisig</source> - <translation type="unfinished"></translation> + <translation>Inizializza e configura MMS per M/N = numero di firmatari richiesti/numero di multifirma dei firmatari autorizzati</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2901"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3079"/> <source>Display current MMS configuration</source> - <translation type="unfinished"></translation> + <translation>Mostra la configurazione MMS corrente</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2905"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3083"/> <source>Set or modify authorized signer info (single-word label, transport address, Monero address), or list all signers</source> - <translation type="unfinished"></translation> + <translation>Imposta o modifica le informazioni del firmatario autorizzato (etichetta con una sola parola, indirizzo di trasporto, indirizzo Monero) oppure elenca tutti i firmatari</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2909"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3087"/> <source>List all messages</source> - <translation type="unfinished"></translation> + <translation>Elenca tutti i messaggi</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2913"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3091"/> <source>Evaluate the next possible multisig-related action(s) according to wallet state, and execute or offer for choice By using 'sync' processing of waiting messages with multisig sync info can be forced regardless of wallet state</source> - <translation type="unfinished"></translation> + <translation>Valuta le azioni multifirma successive secondo lo stato del portafoglio, esegui o proponi una scelta +Utilizzando l'elaborazione 'sync' dei messaggi in attesa con le informazioni di sincronizzazione multifirma, è possibile forzare indipendentemente dallo stato del wallet</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2918"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3096"/> <source>Force generation of multisig sync info regardless of wallet state, to recover from special situations like "stale data" errors</source> - <translation type="unfinished"></translation> + <translation>Generazione forzata di informazioni di sincronizzazione multifirma indipendente dallo stato del wallet, per il ripristino da situazioni speciali come errori di "stale data"</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2922"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3100"/> <source>Initiate transfer with MMS support; arguments identical to normal 'transfer' command arguments, for info see there</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2926"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3104"/> <source>Delete a single message by giving its id, or delete all messages by using 'all'</source> - <translation type="unfinished"></translation> + <translation>Elimina un singolo messaggio inserendo il suo id, o cancella tutti i messaggi usando 'all'</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2930"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3108"/> <source>Send a single message by giving its id, or send all waiting messages</source> - <translation type="unfinished"></translation> + <translation>Invia un singolo messaggio inserendo il suo id o inviando tutti i messaggi in attesa</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2934"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3112"/> <source>Check right away for new messages to receive</source> - <translation type="unfinished"></translation> + <translation>Controlla subito i nuovi messaggi da ricevere</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2938"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3116"/> <source>Write the content of a message to a file "mms_message_content"</source> - <translation type="unfinished"></translation> + <translation>Scrivi il contenuto di un messaggio in un file "mms_message_content"</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2942"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3120"/> <source>Send a one-line message to an authorized signer, identified by its label, or show any waiting unread notes</source> - <translation type="unfinished"></translation> + <translation>Invia un messaggio di una linea a un firmatario autorizzato, identificato dalla sua etichetta, o mostra eventuali note non lette in attesa</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2946"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3124"/> <source>Show detailed info about a single message</source> - <translation type="unfinished"></translation> + <translation>Mostra informazioni dettagliate su un singolo messaggio</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2950"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3128"/> <source>Available options: auto-send <1|0> Whether to automatically send newly generated messages right away. @@ -2876,27 +3057,27 @@ By using 'sync' processing of waiting messages with multisig sync info <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3134"/> <source>Send completed signer config to all other authorized signers</source> - <translation type="unfinished"></translation> + <translation>Invia la configurazione completa del firmatario a tutti gli altri firmatari autorizzati</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2960"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3138"/> <source>Start auto-config at the auto-config manager's wallet by issuing auto-config tokens and optionally set others' labels</source> - <translation type="unfinished"></translation> + <translation>Avvia auto-config sul portafoglio del gestore automatico di configurazione emettendo i token di auto-configurazione e opzionalmente imposta le etichette degli altri</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2964"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3142"/> <source>Delete any auto-config tokens and abort a auto-config process</source> - <translation type="unfinished"></translation> + <translation>Elimina tutti i token di configurazione automatica e interrompi il processo di configurazione automatica</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2968"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3146"/> <source>Start auto-config by using the token received from the auto-config manager</source> - <translation type="unfinished"></translation> + <translation>Avviare la configurazione automatica utilizzando il token ricevuto dal gestore di configurazione automatica</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3150"/> <source>Print the ring(s) used to spend a given key image or transaction (if the ring size is > 1) Output format: @@ -2904,1616 +3085,1680 @@ Key Image, "absolute", list of rings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2978"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3156"/> <source>Set the ring used for a given key image, so it can be reused in a fork</source> - <translation type="unfinished"></translation> + <translation>Imposta l'anello utilizzato per una determinata immagine chiave, in modo che possa essere riutilizzato in un fork</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2982"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3164"/> <source>Save known rings to the shared rings database</source> - <translation type="unfinished"></translation> + <translation>Salva gli anelli noti nel database degli anelli condivisi</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2986"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3168"/> <source>Mark output(s) as spent so they never get selected as fake outputs in a ring</source> - <translation type="unfinished"></translation> + <translation>Contrassegna gli output come spesi in modo che non vengano mai selezionati come output falsi in un anello</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2990"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3172"/> <source>Marks an output as unspent so it may get selected as a fake output in a ring</source> - <translation type="unfinished"></translation> + <translation>Contrassegna un output come non speso in modo che possa essere selezionato come un falso output in un anello</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2994"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3176"/> <source>Checks whether an output is marked as spent</source> - <translation type="unfinished"></translation> + <translation>Controlla se un output è contrassegnato come speso</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2998"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3200"/> <source>Returns version information</source> - <translation type="unfinished"></translation> + <translation>Restituisce informazioni sulla versione</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3087"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3297"/> <source>full (slowest, no assumptions); optimize-coinbase (fast, assumes the whole coinbase is paid to a single address); no-coinbase (fastest, assumes we receive no coinbase transaction), default (same as optimize-coinbase)</source> <translation>completo (più lento, nessuna ipotesi); optimize-coinbase (veloce, ipotizza che l'intero coinbase viene pagato ad un indirizzo singolo); no-coinbase (il più veloce, ipotizza di non ricevere una transazione coinbase), default (come optimize-coinbase)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3088"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3298"/> <source>0, 1, 2, 3, or 4, or one of </source> - <translation type="unfinished"></translation> + <translation>0, 1, 2, 3 o 4 o uno di </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3090"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3300"/> <source>0|1|2 (or never|action|decrypt)</source> - <translation type="unfinished"></translation> + <translation>0|1|2 (o never|action|decrypt)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3091"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3301"/> <source>monero, millinero, micronero, nanonero, piconero</source> <translation>monero, millinero, micronero, nanonero, piconero</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3102"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3312"/> <source><major>:<minor></source> - <translation type="unfinished"></translation> + <translation><major>:<minor></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3106"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3317"/> <source><device_name[:device_spec]></source> - <translation type="unfinished"></translation> + <translation><device_name[:device_spec]></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3127"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3338"/> <source>wrong number range, use: %s</source> - <translation type="unfinished"></translation> + <translation>intervallo di numeri errato, utilizzare: %s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3166"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3377"/> <source>Wallet name not valid. Please try again or use Ctrl-C to quit.</source> <translation>Nome del portafoglio non valido. Prova di nuovo o usa Ctrl-C per uscire</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3183"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3394"/> <source>Wallet and key files found, loading...</source> <translation>Portafoglio e chiavi trovate, sto caricando...</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3189"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3400"/> <source>Key file found but not wallet file. Regenerating...</source> <translation>Ho trovato la chiave ma non il portafoglio. Sto rigenerando...</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3195"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3406"/> <source>Key file not found. Failed to open wallet: </source> <translation>Chiave non trovata. Impossibile aprire portafoglio: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3214"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3425"/> <source>Generating new wallet...</source> <translation>Sto generando un nuovo portafoglio...</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3232"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3443"/> <source>NOTE: the following %s can be used to recover access to your wallet. Write them down and store them somewhere safe and secure. Please do not store them in your email or on file storage services outside of your immediate control. </source> - <translation type="unfinished"></translation> + <translation>NOTA: il seguente %s può essere utilizzato per recuperare l'accesso al tuo portafoglio. Scrivili e salvali in un posto sicuro e protetto. Si prega di non archiviarli nella propria e-mail o in servizi di archiviazione di file al di fuori del proprio immediato controllo. +</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3445"/> <source>string</source> - <translation type="unfinished"></translation> + <translation>stringa</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3445"/> <source>25 words</source> - <translation type="unfinished"></translation> + <translation>25 parole</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3273"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3506"/> <source>Can't specify more than one of --testnet and --stagenet</source> - <translation type="unfinished"></translation> + <translation>Non è possibile specificare più di un --testnet e --stagenet</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3285"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3521"/> <source>can't specify more than one of --generate-new-wallet="wallet_name", --wallet-file="wallet_name", --generate-from-view-key="wallet_name", --generate-from-spend-key="wallet_name", --generate-from-keys="wallet_name", --generate-from-multisig-keys="wallet_name", --generate-from-json="jsonfilename" and --generate-from-device="wallet_name"</source> - <translation type="unfinished"></translation> + <translation>non è possibile specificare più di un --generate-new-wallet="wallet_name", --wallet-file="wallet_name", --generate-from-view-key="wallet_name", --generate-from-spend-key="wallet_name", --generate-from-keys="wallet_name", --generate-from-multisig-keys="wallet_name", --generate-from-json="jsonfilename" and --generate-from-device="wallet_name"</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3312"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3548"/> <source>--restore-deterministic-wallet uses --generate-new-wallet, not --wallet-file</source> <translation>--restore-deterministic-wallet usa --generate-new-wallet, non --wallet-file</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3364"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3600"/> <source>Electrum-style word list failed verification</source> <translation>La lista di parole stile Electrum ha fallito la verifica</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3369"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3605"/> <source>Enter seed offset passphrase, empty if none</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3395"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3415"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3450"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3470"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3490"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3505"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3553"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3578"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3594"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3633"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3630"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3650"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3686"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3707"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3727"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3742"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3791"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3816"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3832"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3871"/> <source>No data supplied, cancelled</source> <translation>Nessun dato fornito, cancellato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3401"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3476"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3584"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5371"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5969"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6243"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6818"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6886"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6950"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7154"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8193"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8454"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3636"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3713"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3822"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5770"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6360"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6631"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7218"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7286"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7350"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7554"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8636"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8899"/> <source>failed to parse address</source> <translation>impossibile fare il parsing dell'indirizzo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3421"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3511"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3656"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3748"/> <source>failed to parse view key secret key</source> <translation>impossibile fare il parsing chiave di visualizzazione chiave segreta</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3430"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3528"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3665"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3765"/> <source>failed to verify view key secret key</source> <translation>impossibile verificare chiave di visualizzazione chiave segreta</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3434"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3532"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3613"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3769"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3851"/> <source>view key does not match standard address</source> <translation>la chiave di visualizzazione non corrisponde all'indirizzo standard</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3439"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3459"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3536"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3674"/> <location filename="../src/simplewallet/simplewallet.cpp" line="3695"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3726"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3773"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3907"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3934"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3966"/> <source>account creation failed</source> <translation>creazione dell'account fallita</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3455"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3496"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3638"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3691"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3733"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3876"/> <source>failed to parse spend key secret key</source> <translation>impossibile fare il parsing chiave di spesa chiave segreta</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3520"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3658"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3757"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3896"/> <source>failed to verify spend key secret key</source> <translation>impossibile verificare chiave di spesa chiave segreta</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3524"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3663"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3761"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3901"/> <source>spend key does not match standard address</source> <translation>la chiave di spesa non corrisponde all'indirizzo standard</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3701"/> - <source>No restore height is specified.</source> - <translation type="unfinished"></translation> + <location filename="../src/simplewallet/simplewallet.cpp" line="3866"/> + <source>Secret spend key (%u of %u)</source> + <translation>Chiave di spesa segreta (%u di %u)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3702"/> - <source>Assumed you are creating a new account, restore will be done from current estimated blockchain height.</source> - <translation type="unfinished"></translation> + <location filename="../src/simplewallet/simplewallet.cpp" line="3941"/> + <source>No restore height is specified.</source> + <translation>Nessuna altezza di ripristino specificata.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3703"/> - <source>Use --restore-height if you want to restore an already setup account from a specific height</source> - <translation type="unfinished"></translation> + <location filename="../src/simplewallet/simplewallet.cpp" line="3942"/> + <source>Assumed you are creating a new account, restore will be done from current estimated blockchain height.</source> + <translation>Supponendo che si stia creando un nuovo account, il ripristino verrà effettuato dall'attuale altezza stimata sulla blockchain.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3707"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3947"/> <source>account creation aborted</source> - <translation type="unfinished"></translation> + <translation>creazione account interrotta</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3717"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3957"/> <source>specify a wallet path with --generate-new-wallet (not --wallet-file)</source> <translation>specifica un percorso per il portafoglio con --generate-new-wallet (non --wallet-file)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3816"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4069"/> <source>can't specify --subaddress-lookahead and --wallet-file at the same time</source> - <translation type="unfinished"></translation> + <translation>non è possibile specificare --subaddress-lookahead e --wallet-file nello stesso momento</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3820"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4073"/> <source>failed to open account</source> <translation>impossibile aprire account</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3824"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4391"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4444"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4529"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6854"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4078"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4779"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4832"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4917"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7254"/> <source>wallet is null</source> <translation>il portafoglio è nullo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3832"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4086"/> <source>Failed to initialize ring database: privacy enhancing features will be inactive</source> - <translation type="unfinished"></translation> + <translation>Impossibile inizializzare il database degli anelli: le funzionalità di miglioramento della privacy non saranno attive</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3917"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4194"/> <source>If your display freezes, exit blind with ^C, then run again with --use-english-language-names</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3935"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4212"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4217"/> <source>invalid language choice entered. Please try again. </source> - <translation>linguaggio selezionato scorretto. Prova di nuovo.</translation> + <translation>la lingua selezionata non è corretta. Prova di nuovo. +</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4019"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4296"/> <source>View key: </source> <translation>Chiave di visualizzazione: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4407"/> <source>Generated new wallet on hw device: </source> - <translation type="unfinished"></translation> + <translation>Generato un nuovo portafoglio sul dispositivo hw: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4209"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4486"/> <source>Key file not found. Failed to open wallet</source> - <translation type="unfinished"></translation> + <translation>File della chiave non trovato. Impossibile aprire il portafoglio</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4286"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4563"/> <source>You may want to remove the file "%s" and try again</source> <translation>Potresti voler rimuovere il file "%s" e provare di nuovo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4314"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4591"/> <source>failed to deinitialize wallet</source> <translation>deinizializzazione portafoglio fallita</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4367"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4644"/> <source>Watch only wallet saved as: </source> - <translation type="unfinished"></translation> + <translation>Portafoglio solo-lettura salvato come: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4371"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4648"/> <source>Failed to save watch only wallet: </source> - <translation type="unfinished"></translation> + <translation>Impossibile salvare il portafoglio in sola lettura: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4382"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5024"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8522"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4770"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5432"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8967"/> <source>this command requires a trusted daemon. Enable with --trusted-daemon</source> <translation>questo comando richiede un daemon fidato. Abilita questa opzione con --trusted-daemon</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4498"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4886"/> <source>Expected trusted or untrusted, got </source> - <translation type="unfinished"></translation> + <translation>Previsto fidato o non fidato, ottenuto </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4515"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4903"/> <source>trusted</source> - <translation type="unfinished"></translation> + <translation>fidato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4515"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4903"/> <source>untrusted</source> - <translation type="unfinished"></translation> + <translation>non fidato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4539"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4927"/> <source>blockchain can't be saved: </source> <translation>impossibile salvare la blockchain: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4569"/> - <source>NOTE: this transaction uses an encrypted payment ID: consider using subaddresses instead</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4572"/> - <source>WARNING: this transaction uses an unencrypted payment ID: consider using subaddresses instead</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4608"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4992"/> <source>Password needed (%s) - use the refresh command</source> - <translation type="unfinished"></translation> + <translation>Password necessaria (%s) - usa il comando refresh</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4616"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5000"/> <source>Enter password</source> - <translation type="unfinished"></translation> + <translation>Inserisci la password</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4631"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5015"/> <source>Device requires attention</source> - <translation type="unfinished"></translation> + <translation>Il dispositivo richiede attenzione</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4639"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5023"/> <source>Enter device PIN</source> - <translation type="unfinished"></translation> + <translation>Inserisci il PIN del dispositivo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4641"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5025"/> <source>Failed to read device PIN</source> - <translation type="unfinished"></translation> + <translation>Impossibile leggere il PIN del dispositivo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4648"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5032"/> <source>Please enter the device passphrase on the device</source> - <translation type="unfinished"></translation> + <translation>Inserisci la passphrase del dispositivo sul dispositivo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4655"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5039"/> <source>Enter device passphrase</source> - <translation type="unfinished"></translation> + <translation>Immettere la passphrase del dispositivo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4657"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5041"/> <source>Failed to read device passphrase</source> - <translation type="unfinished"></translation> + <translation>Impossibile leggere la passphrase del dispositivo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4673"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5057"/> <source>The first refresh has finished for the HW-based wallet with received money. hw_key_images_sync is needed. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4675"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4753"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5059"/> <source>Do you want to do it now? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> + <translation>Vuoi procedere adesso? (Y/Yes/N/No): </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4677"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5061"/> <source>hw_key_images_sync skipped. Run command manually before a transfer.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4720"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5038"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5123"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5446"/> <source>daemon is busy. Please try again later.</source> <translation>il daemon è impegnato. Prova più tardi</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4724"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5042"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5127"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5450"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation>nessuna connessione con il daemon. Assicurati che sia in funzione</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4734"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5137"/> <source>refresh error: </source> <translation>errore refresh: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4782"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5185"/> <source> (Some owned outputs have missing key images - import_key_images needed)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4786"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5194"/> <source>Balance: </source> <translation>Bilancio: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4855"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5263"/> <source>Invalid keyword: </source> - <translation type="unfinished"></translation> + <translation>Parola chiave non valida: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5301"/> <source>pubkey</source> <translation>pubkey</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5301"/> <source>key image</source> <translation>immagine chiave</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4910"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5318"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>unlocked</source> <translation>sbloccato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>ringct</source> <translation>ringct</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4904"/> - <source>Heights: </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4909"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5317"/> <source>T</source> <translation>T</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4909"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5317"/> <source>F</source> <translation>F</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4910"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5318"/> <source>locked</source> <translation>bloccato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4911"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5319"/> <source>RingCT</source> <translation>RingCT</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4911"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5319"/> <source>-</source> <translation>-</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4990"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5398"/> <source>payment ID has invalid format, expected 16 or 64 character hex string: </source> <translation>l'id pagamento è in un formato invalido, dovrebbe essere una stringa hex di 16 o 64 caratteri</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5046"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5454"/> <source>failed to get spent status</source> <translation>impossibile recuperare status spesi</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5538"/> <source>failed to find construction data for tx input</source> + <translation>impossibile trovare i dati di costruzione per l'input tx</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5543"/> + <source> +Input %llu/%llu (%s): amount=%s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5601"/> <source>the same transaction</source> <translation>la stessa transazione</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5601"/> <source>blocks that are temporally very close</source> <translation>i blocchi che sono temporalmente molto vicini</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9015"/> - <source> (Y/Yes/N/No): </source> + <location filename="../src/simplewallet/simplewallet.cpp" line="5709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6295"/> + <source>Locked blocks too high, max 1000000 (˜4 yrs)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9042"/> - <source>Choose processing:</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="5818"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6387"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6656"/> + <source>No payment id is included with this transaction. Is this okay?</source> + <translation>Nessun ID di pagamento è incluso in questa transazione. Vuoi procedere comunque?</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5882"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5892"/> + <source>Is this okay anyway?</source> + <translation>Vuoi procedere comunque?</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5887"/> + <source>There is currently a %u block backlog at that fee level. Is this okay?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9051"/> - <source>Sign tx</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="6124"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6435"/> + <source>Sweeping %s in %llu transactions for a total fee of %s. Is this okay?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9059"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6441"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6698"/> + <source>Sweeping %s for a total fee of %s. Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="6177"/> + <source>Discarding %s of unmixable outputs that cannot be spent, which can be undone by "rescan_spent". Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="6980"/> + <source>Loaded %lu transactions, for %s, fee %s, %s, %s, with min ring size %lu, %s. %sIs this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="8161"/> + <source>Rescan anyway?</source> + <translation>Ripetere comunque la scansione?</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="8654"/> + <source>Short payment IDs are to be used within an integrated address only</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="9457"/> + <source> (Y/Yes/N/No): </source> + <translation> (Y/Yes/N/No): </translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="9484"/> + <source>Choose processing:</source> + <translation>Scegli l'elaborazione:</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="9493"/> + <source>Sign tx</source> + <translation>Firma tx</translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="9501"/> <source>Send the tx for submission to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9063"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9505"/> <source>Send the tx for signing to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9070"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9512"/> <source>Submit tx</source> - <translation type="unfinished"></translation> + <translation>Invia tx</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9073"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9515"/> <source>unknown</source> - <translation type="unfinished"></translation> + <translation>sconosciuto</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9079"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9521"/> <source>Choice: </source> - <translation type="unfinished"></translation> + <translation>Scelta: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9091"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9533"/> <source>Wrong choice</source> - <translation type="unfinished"></translation> + <translation>Scelta errata</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9540"/> <source>Id</source> - <translation type="unfinished"></translation> + <translation>Id</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9540"/> <source>I/O</source> - <translation type="unfinished"></translation> + <translation>I/O</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9540"/> <source>Authorized Signer</source> - <translation type="unfinished"></translation> + <translation>Firmatario autorizzato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Message Type</source> - <translation type="unfinished"></translation> + <translation>Tipo di messaggio</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Height</source> - <translation type="unfinished"></translation> + <translation>Altezza</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>R</source> - <translation type="unfinished"></translation> + <translation>R</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Message State</source> - <translation type="unfinished"></translation> + <translation>Stato del messaggio</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Since</source> - <translation type="unfinished"></translation> + <translation>Da</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9116"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9558"/> <source> ago</source> - <translation type="unfinished"></translation> + <translation> fa</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9122"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> <source>#</source> - <translation type="unfinished"></translation> + <translation>#</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9122"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> <source>Transport Address</source> - <translation type="unfinished"></translation> + <translation>Indirizzo di trasporto</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9123"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9565"/> <source>Auto-Config Token</source> - <translation type="unfinished"></translation> + <translation>Auto-Config Token</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9123"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9565"/> <source>Monero Address</source> - <translation type="unfinished"></translation> + <translation>Indirizzo Monero</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9127"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9135"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9137"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9569"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9577"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9579"/> <source><not set></source> - <translation type="unfinished"></translation> + <translation><not set></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9178"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9620"/> <source>Message </source> - <translation type="unfinished"></translation> + <translation>Messaggio </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9179"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9621"/> <source>In/out: </source> - <translation type="unfinished"></translation> + <translation>In/out: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9623"/> <source>State: </source> - <translation type="unfinished"></translation> + <translation>Stato: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9623"/> <source>%s since %s, %s ago</source> - <translation type="unfinished"></translation> + <translation>%s da %s, %s fa</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9185"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9627"/> <source>Sent: Never</source> - <translation type="unfinished"></translation> + <translation>Inviati: mai</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9189"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9631"/> <source>Sent: %s, %s ago</source> - <translation type="unfinished"></translation> + <translation>inviato/i: %s, %s fa</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9192"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9634"/> <source>Authorized signer: </source> - <translation type="unfinished"></translation> + <translation>Firmatario autorizzato: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9635"/> <source>Content size: </source> - <translation type="unfinished"></translation> + <translation>Dimensione del contenuto: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9635"/> <source> bytes</source> - <translation type="unfinished"></translation> + <translation> bytes</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9194"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9636"/> <source>Content: </source> - <translation type="unfinished"></translation> + <translation>Contenuto: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9194"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9636"/> <source>(binary data)</source> - <translation type="unfinished"></translation> + <translation>(dati binari)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9224"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9666"/> <source>Send these messages now?</source> - <translation type="unfinished"></translation> + <translation>Vuoi inviare questi messaggi adesso?</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9676"/> <source>Queued for sending.</source> - <translation type="unfinished"></translation> + <translation>In coda per l'invio.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9254"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9696"/> <source>Invalid message id</source> - <translation type="unfinished"></translation> + <translation>ID messaggio non valido</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9263"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9705"/> <source>usage: mms init <required_signers>/<authorized_signers> <own_label> <own_transport_address></source> - <translation type="unfinished"></translation> + <translation>utilizzo: mms init <required_signers>/<authorized_signers> <own_label> <own_transport_address></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9269"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9711"/> <source>The MMS is already initialized. Re-initialize by deleting all signer info and messages?</source> - <translation type="unfinished"></translation> + <translation>L'MMS è già inizializzato. Reinizializzare eliminando tutte le informazioni e i messaggi del firmatario?</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9284"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9726"/> <source>Error in the number of required signers and/or authorized signers</source> - <translation type="unfinished"></translation> + <translation>Errore nel numero di firmatari richiesti e/o firmatari autorizzati</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9301"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9743"/> <source>The MMS is not active.</source> - <translation type="unfinished"></translation> + <translation>L'MMS non è attivo.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9324"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9766"/> <source>Invalid signer number </source> - <translation type="unfinished"></translation> + <translation>Numero del firmatario non valido </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9329"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9771"/> <source>mms signer [<number> <label> [<transport_address> [<monero_address>]]]</source> - <translation type="unfinished"></translation> + <translation>mms signer [<number> <label> [<transport_address> [<monero_address>]]]</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9348"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9790"/> <source>Invalid Monero address</source> - <translation type="unfinished"></translation> + <translation>Indirizzo Monero non valido</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9355"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9797"/> <source>Wallet state does not allow changing Monero addresses anymore</source> - <translation type="unfinished"></translation> + <translation>Lo stato del portafoglio non consente più di modificare gli indirizzi Monero</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9367"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9809"/> <source>Usage: mms list</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9380"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9822"/> <source>Usage: mms next [sync]</source> - <translation type="unfinished"></translation> + <translation>Utilizzo: mms next [sync]</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9405"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9847"/> <source>No next step: </source> - <translation type="unfinished"></translation> + <translation>Nessun passo successivo: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9415"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9857"/> <source>prepare_multisig</source> - <translation type="unfinished"></translation> + <translation>prepare_multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9421"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9863"/> <source>make_multisig</source> - <translation type="unfinished"></translation> + <translation>make_multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9436"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9878"/> <source>exchange_multisig_keys</source> - <translation type="unfinished"></translation> + <translation>exchange_multisig_keys</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9451"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10013"/> <source>export_multisig_info</source> - <translation type="unfinished"></translation> + <translation>export_multisig_info</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9460"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9902"/> <source>import_multisig_info</source> - <translation type="unfinished"></translation> + <translation>import_multisig_info</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9473"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9915"/> <source>sign_multisig</source> - <translation type="unfinished"></translation> + <translation>sign_multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9483"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9925"/> <source>submit_multisig</source> - <translation type="unfinished"></translation> + <translation>submit_multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9493"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9935"/> <source>Send tx</source> - <translation type="unfinished"></translation> + <translation>Invia tx</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9504"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9946"/> <source>Process signer config</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9516"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9958"/> <source>Replace current signer config with the one displayed above?</source> - <translation type="unfinished"></translation> + <translation>Sostituire la configurazione attuale del firmatario con quella visualizzata sopra?</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9530"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9972"/> <source>Process auto config data</source> - <translation type="unfinished"></translation> + <translation>Elabora dati di configurazione automatica</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9544"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9986"/> <source>Nothing ready to process</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10006"/> <source>Usage: mms sync</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9588"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10030"/> <source>Usage: mms delete (<message_id> | all)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9595"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10037"/> <source>Delete all messages?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9621"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10063"/> <source>Usage: mms send [<message_id>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9638"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10080"/> <source>Usage: mms receive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9655"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10097"/> <source>Usage: mms export <message_id></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9667"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10109"/> <source>Message content saved to: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9671"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10113"/> <source>Failed to to save message content</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9695"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10137"/> <source>Usage: mms note [<label> <text>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9702"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10144"/> <source>No signer found with label </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9724"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10166"/> <source>Usage: mms show <message_id></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9743"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10185"/> <source>Usage: mms set <option_name> [<option_value>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9760"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10202"/> <source>Wrong option value</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10207"/> <source>Auto-send is on</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10207"/> <source>Auto-send is off</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9770"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10212"/> <source>Unknown option</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9778"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10220"/> <source>Usage: mms help [<subcommand>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9794"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10236"/> <source>Usage: mms send_signer_config</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9800"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10242"/> <source>Signer config not yet complete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9815"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10257"/> <source>Usage: mms start_auto_config [<label> <label> ...]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9820"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10262"/> <source>There are signers without a label set. Complete labels before auto-config or specify them as parameters here.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9826"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10268"/> <source>Auto-config is already running. Cancel and restart?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9850"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10292"/> <source>Usage: mms stop_auto_config</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9853"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10295"/> <source>Delete any auto-config tokens and stop auto-config?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9866"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10308"/> <source>Usage: mms auto_config <auto_config_token></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9873"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10315"/> <source>Invalid auto-config token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9879"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10321"/> <source>Auto-config already running. Cancel and restart?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9911"/> - <source>The MMS is not active. Activate using the "mms init" command</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="10339"/> + <source>MMS not available in this wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9988"/> - <source>Invalid MMS subcommand</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9993"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9997"/> - <source>Error in MMS command: </source> + <location filename="../src/simplewallet/simplewallet.cpp" line="10363"/> + <source>The MMS is not active. Activate using the "mms init" command</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5481"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5491"/> - <source>Is this okay anyway? (Y/Yes/N/No): </source> + <location filename="../src/simplewallet/simplewallet.cpp" line="10440"/> + <source>Invalid MMS subcommand</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5486"/> - <source>There is currently a %u block backlog at that fee level. Is this okay? (Y/Yes/N/No): </source> + <location filename="../src/simplewallet/simplewallet.cpp" line="10445"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10449"/> + <source>Error in MMS command: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5491"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5892"/> <source>Failed to check for backlog: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5532"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6032"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5933"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6423"/> <source> Transaction </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5537"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6037"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5938"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6428"/> <source>Spending from address index %d </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5539"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6039"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6430"/> <source>WARNING: Outputs of multiple addresses are being used together, which might potentially compromise your privacy. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6213"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6601"/> <source>failed to parse Payment ID</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6236"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2078"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2125"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6624"/> <source>failed to parse key image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6290"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6678"/> <source>No outputs found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6295"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6683"/> <source>Multiple transactions are created, which is not supposed to happen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6300"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6688"/> <source>The transaction uses multiple or no inputs, which is not supposed to happen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6377"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6765"/> <source>missing threshold amount</source> <translation>manca la soglia massima dell'ammontare</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6382"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6770"/> <source>invalid amount threshold</source> <translation>ammontare soglia invalido</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6530"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6933"/> <source>Change goes to more than one address</source> <translation>Il cambiamento va a più di un indirizzo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6969"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7079"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7369"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7479"/> <source>Good signature</source> <translation>Firma valida</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6996"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7081"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7396"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7481"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7581"/> <source>Bad signature</source> <translation>Firma invalida</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8169"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8612"/> <source>Standard address: </source> <translation>Indirizzo standard: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8174"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8617"/> <source>failed to parse payment ID or address</source> <translation>impossibile fare il parsing di ID pagamento o indirizzo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8215"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8659"/> <source>failed to parse payment ID</source> <translation>impossibile fare il parsing di ID pagamento</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8233"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8677"/> <source>failed to parse index</source> <translation>impossibile fare il parsing dell'indice</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8241"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8685"/> <source>Address book is empty.</source> <translation>La rubrica è vuota.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8247"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8691"/> <source>Index: </source> <translation>Indice: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8248"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8378"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8692"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8823"/> <source>Address: </source> <translation>Indirizzo: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8249"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8693"/> <source>Payment ID: </source> <translation>ID Pagamento: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8250"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8377"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8694"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8822"/> <source>Description: </source> <translation>Descrizione: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8407"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8852"/> <source>wallet is watch-only and cannot sign</source> <translation>il portafoglio è di tipo solo-visualizzazione e non può firmare</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1289"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8421"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8447"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8684"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1313"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8866"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8892"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9124"/> <source>failed to read file </source> <translation>impossibile leggere il file </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6958"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7072"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7166"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3943"/> + <source>Use --restore-height or --restore-date if you want to restore an already setup account from a specific height.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3945"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4033"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5984"/> + <source>Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4056"/> + <source>Still apply restore height?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="7358"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7472"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7566"/> <source>failed to load signature file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7020"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7420"/> <source>wallet is watch-only and cannot generate the proof</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7104"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7504"/> <source>The reserve proof can be generated only by a full wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7159"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7559"/> <source>Address must not be a subaddress</source> <translation type="unfinished">L'indirizzo non può essere un sottoindirizzo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7177"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7577"/> <source>Good signature -- total: %s, spent: %s, unspent: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7365"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7767"/> <source>[Double spend seen on the network: this transaction may or may not end up being mined] </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7641"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8045"/> <source>There is no unspent output in the specified address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7799"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8242"/> <source> (no daemon)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7801"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8244"/> <source> (out of sync)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7852"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8295"/> <source>(Untitled account)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7865"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7883"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7908"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7931"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8077"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8100"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8308"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8326"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8351"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8374"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8520"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8543"/> <source>failed to parse index: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7870"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8082"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8313"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8525"/> <source>specify an index between 0 and </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8431"/> <source> Grand total: Balance: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8431"/> <source>, unlocked balance: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7996"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8439"/> <source>Untagged accounts:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8002"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8445"/> <source>Tag %s is unregistered.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8005"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8448"/> <source>Accounts with tag: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8006"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8449"/> <source>Tag's description: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> <source>Account</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8014"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8457"/> <source> %c%8u %6s %21s %21s %21s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8024"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8467"/> <source>----------------------------------------------------------------------------------</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8025"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8468"/> <source>%15s %21s %21s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8048"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8491"/> <source>Primary address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8048"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8491"/> <source>(used)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8069"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8512"/> <source>(Untitled address)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8109"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8552"/> <source><index_min> is already out of bound</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8114"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8557"/> <source><index_max> exceeds the bound</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8140"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8152"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8583"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8595"/> <source>Integrated addresses can only be created for account 0</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8164"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8607"/> <source>Integrated address: %s, payment ID: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8169"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8612"/> <source>Subaddress: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8335"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8779"/> <source>no description found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8337"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8781"/> <source>description found: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8376"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8821"/> <source>Filename: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8381"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8826"/> <source>Watch only</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8383"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8828"/> <source>%u/%u multisig%s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8385"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8830"/> <source>Normal</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8386"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9180"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8831"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9622"/> <source>Type: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8412"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8857"/> <source>This wallet is multisig and cannot sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8461"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8906"/> <source>Bad signature from </source> <translation>Firma non valida da </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8465"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8910"/> <source>Good signature from </source> <translation>Firma valida da </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8484"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8929"/> <source>wallet is watch-only and cannot export key images</source> <translation>il portafoglio è solo-vista e non può esportare immagini chiave</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1228"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8498"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8651"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1252"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8943"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9091"/> <source>failed to save file </source> <translation>impossibile salvare file </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8509"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8954"/> <source>Signed key images exported to </source> <translation>Chiave immagine firmata esportata in </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8662"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9102"/> <source>Outputs exported to </source> <translation>Outputs esportati in </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5354"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6417"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7115"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7600"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7608"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5752"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6805"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7515"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8004"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8012"/> <source>amount is wrong: </source> <translation>l'ammontare non è corretto: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5355"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6417"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5753"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6805"/> <source>expected number from 0 to </source> <translation>deve essere un numero da 0 a </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5721"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6122"/> <source>Sweeping </source> <translation>Eseguendo lo sweeping </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6350"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6738"/> <source>Money successfully sent, transaction: </source> <translation>Fondi inviati con successo, transazione: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6974"/> <source>%s change to %s</source> <translation>%s cambia in %s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6574"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6977"/> <source>no change</source> <translation>nessun cambiamento</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1435"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1448"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6646"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1459"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1472"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7049"/> <source>Transaction successfully signed to file </source> <translation>Transazione firmata con successo nel file </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6713"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6749"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6811"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6860"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6942"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7027"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7062"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8267"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8295"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8714"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7116"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7154"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7211"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7260"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7342"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7427"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7462"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8711"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8739"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9154"/> <source>failed to parse txid</source> <translation>parsing txid fallito</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6727"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7132"/> <source>Tx key: </source> <translation>Chiave Tx: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6732"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7137"/> <source>no tx keys found for this txid</source> <translation>nessuna chiave tx trovata per questo txid</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6829"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7041"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7229"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7441"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7530"/> <source>signature file saved to: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6831"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7043"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7132"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7231"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7443"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7532"/> <source>failed to save signature file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6868"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6877"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7268"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7277"/> <source>failed to parse tx key</source> <translation>impossibile fare il parsing della chiave tx</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6835"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6923"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7001"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7235"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7323"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7401"/> <source>error: </source> <translation>errore: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6899"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7299"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7372"/> <source>received</source> <translation>ricevuto/i</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6899"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7299"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7372"/> <source>in txid</source> <translation>in txid</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6918"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6991"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7318"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7391"/> <source>received nothing in txid</source> <translation>nulla ricevuto in txid</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6902"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6975"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7375"/> <source>WARNING: this transaction is not yet included in the blockchain!</source> <translation>AVVISO: questa transazione non è ancora inclusa nella blockchain!</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6908"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6981"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7308"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7381"/> <source>This transaction has %u confirmations</source> <translation>Questa transazione ha %u conferme</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6912"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6985"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7312"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7385"/> <source>WARNING: failed to determine number of confirmations!</source> <translation>AVVISO: impossibile determinare il numero di conferme!</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7266"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7666"/> <source>bad min_height parameter:</source> <translation>parametro min_height non corretto:</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7278"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7678"/> <source>bad max_height parameter:</source> <translation>parametro max_height non corretto:</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7296"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7696"/> <source>in</source> <translation>in</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7615"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8019"/> <source><min_amount> should be smaller than <max_amount></source> <translation><min_amount> dovrebbe essere più piccolo di <max_amount></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7647"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8051"/> <source> Amount: </source> <translation> Ammontare: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7647"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8051"/> <source>, number of keys: </source> <translation>, numero di chiavi: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7652"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8056"/> <source> </source> <translation> </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7657"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8061"/> <source> Min block height: </source> <translation> Altezza minima blocco: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7658"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8062"/> <source> Max block height: </source> <translation> Altezza massima blocco: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7659"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8063"/> <source> Min amount found: </source> <translation> Ammontare minimo trovato: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7660"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8064"/> <source> Max amount found: </source> <translation> Ammontare massimo trovato: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7661"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8065"/> <source> Total count: </source> <translation> Conto totale: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7701"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8105"/> <source> Bin size: </source> <translation> Dimensione Bin: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7702"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8106"/> <source> Outputs per *: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7704"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8108"/> <source>count ^ </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7706"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8110"/> <source> |</source> <translation> |</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7708"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8112"/> <source> +</source> <translation> +</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7708"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8112"/> <source>+--> block height </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8113"/> <source> ^</source> <translation> ^</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8113"/> <source>^ </source> <translation>^ </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7710"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8114"/> <source> </source> <translation> </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7797"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8240"/> <source>wallet</source> <translation>portafoglio</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="870"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8144"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8587"/> <source>Random payment ID: </source> <translation>ID pagamento casuale: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8145"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8588"/> <source>Matching integrated address: </source> <translation>Indirizzo integrato corrispondente: </translation> </message> @@ -4699,7 +4944,7 @@ Use "mms note" to display the waiting notes</source> <message> <location filename="../src/wallet/message_store.cpp" line="1369"/> <source>note</source> - <translation type="unfinished"></translation> + <translation type="unfinished">nota</translation> </message> <message> <location filename="../src/wallet/message_store.cpp" line="1371"/> @@ -4765,311 +5010,321 @@ Use "mms note" to display the waiting notes</source> <context> <name>sw</name> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="125"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="135"/> <source>Generate new wallet and save it to <arg></source> <translation>Genera un nuovo portafoglio e salvalo in <arg></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="126"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="136"/> <source>Generate new wallet from device and save it to <arg></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="127"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="137"/> <source>Generate incoming-only wallet from view key</source> <translation>Genera un portafoglio solo-ricezione da chiave di visualizzazione</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="128"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="138"/> <source>Generate deterministic wallet from spend key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="129"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="139"/> <source>Generate wallet from private keys</source> <translation>Genera portafoglio da chiavi private</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="140"/> <source>Generate a master wallet from multisig wallet keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="132"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="142"/> <source>Language for mnemonic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="133"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="143"/> <source>Specify Electrum seed for wallet recovery/creation</source> <translation>Specifica il seed stile Electrum per recuperare/creare il portafoglio</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="134"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="144"/> <source>Recover wallet using Electrum-style mnemonic seed</source> <translation>Recupera portafoglio usando il seed mnemonico stile-Electrum</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="135"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="145"/> <source>Recover multisig wallet using Electrum-style mnemonic seed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="136"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="146"/> <source>Generate non-deterministic view and spend keys</source> <translation>Crea chiavi di visualizzione e chiavi di spesa non-deterministiche</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="361"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="149"/> + <source>Restore from estimated blockchain height on specified date</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="382"/> <source>invalid argument: must be either 0/1, true/false, y/n, yes/no</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="417"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="438"/> <source>DNSSEC validation passed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="421"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="442"/> <source>WARNING: DNSSEC validation was unsuccessful, this address may not be correct!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="424"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="445"/> <source>For URL: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="426"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="447"/> <source> Monero Address = </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="428"/> - <source>Is this OK? (Y/n) </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="438"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="459"/> <source>you have cancelled the transfer request</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="459"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="480"/> <source>failed to parse index: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="472"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="493"/> <source>invalid format for subaddress lookahead; must be <major>:<minor></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="489"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="510"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="494"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="515"/> <source>RPC error: </source> <translation type="unfinished">errore RPC: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="498"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="519"/> <source>failed to get random outputs to mix: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="505"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="513"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="526"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="534"/> <source>Not enough money in unlocked balance</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Fondi insufficienti in saldo sbloccato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="523"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="544"/> <source>Failed to find a way to create transactions. This is usually due to dust which is so small it cannot pay for itself in fees, or trying to send more money than the unlocked balance, or not leaving enough for fees</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="529"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="550"/> <source>not enough outputs for specified ring size</source> <translation type="unfinished">insufficiente numero di output per il ring size specificato</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="532"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="553"/> <source>output amount</source> <translation type="unfinished">ammontare output</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="532"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="553"/> <source>found outputs to use</source> <translation type="unfinished">trovati output che possono essere usati</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="534"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="555"/> <source>Please use sweep_unmixable.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="538"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="559"/> <source>transaction was not constructed</source> <translation type="unfinished">transazione non costruita</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="543"/> - <source>transaction %s was rejected by daemon with status: </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="546"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="567"/> <source>Reason: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="555"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="576"/> <source>one of destinations is zero</source> <translation type="unfinished">una delle destinazioni è zero</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="560"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="581"/> <source>failed to find a suitable way to split transactions</source> <translation type="unfinished">impossibile trovare un modo per dividere le transazioni</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="566"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="587"/> <source>unknown transfer error: </source> <translation type="unfinished">errore trasferimento sconosciuto: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="592"/> <source>Multisig error: </source> <translation type="unfinished">Errore multisig: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="577"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="598"/> <source>internal error: </source> <translation type="unfinished">errore interno: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="582"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="603"/> <source>unexpected error: </source> <translation type="unfinished">errore inaspettato: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="586"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="607"/> <source>There was an error, which could mean the node may be trying to get you to retry creating a transaction, and zero in on which outputs you own. Or it could be a bona fide error. It may be prudent to disconnect from this node, and not try to send a transaction immediately. Alternatively, connect to another node so the original node cannot correlate information.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="596"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="617"/> <source>File %s likely stores wallet private keys! Use a different file name.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="599"/> - <source>File %s already exists. Are you sure to overwrite it? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7195"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7595"/> <source> seconds</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7197"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7597"/> <source> minutes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7199"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7599"/> <source> hours</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7601"/> <source> days</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7203"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7603"/> <source> months</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7204"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7604"/> <source>a long time</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9382"/> <source>This is the command line monero wallet. It needs to connect to a monero daemon to work correctly. WARNING: Do not reuse your Monero keys on another fork, UNLESS this fork has key reuse mitigations built in. Doing so will harm your privacy.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8965"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9407"/> <source>Unknown command: </source> <translation type="unfinished">Comando sconosciuto: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="137"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="147"/> <source>Allow communicating with a daemon that uses a different RPC version</source> <translation>Permetti comunicazioni con un daemon che usa una versione RPC differente</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="138"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="148"/> <source>Restore from specific blockchain height</source> <translation>Ripristina da specifico blocco</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="139"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="150"/> <source>The newly created transaction will not be relayed to the monero network</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="140"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="151"/> <source>Create an address file for new wallets</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="142"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="153"/> <source>Display English language names</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="276"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="154"/> + <source>Support obsolete long (unencrypted) payment ids (using them harms your privacy)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="297"/> <source>failed to read wallet password</source> <translation type="unfinished">impossibile leggere la password del portafoglio</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="283"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="304"/> <source>Enter a new password for the wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="283"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="304"/> <source>Wallet password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="293"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="485"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="314"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="506"/> <source>daemon is busy. Please try again later.</source> <translation>il daemon è occupato. Prova più tardi.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="323"/> <source>possibly lost connection to daemon</source> <translation>possibile perdita di connessione con il daemon</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="319"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="340"/> <source>Error: </source> <translation>Errore: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8959"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="449"/> + <source>Is this OK?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="564"/> + <source>transaction %s was rejected by daemon</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="620"/> + <source>File %s already exists. Are you sure to overwrite it?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="9401"/> <source>Failed to initialize wallet</source> <translation>Inizializzazione wallet fallita</translation> </message> @@ -5077,359 +5332,447 @@ WARNING: Do not reuse your Monero keys on another fork, UNLESS this fork has key <context> <name>tools::wallet2</name> <message> - <location filename="../src/wallet/wallet2.cpp" line="201"/> + <location filename="../src/wallet/wallet2.cpp" line="234"/> <source>Use daemon instance at <host>:<port></source> <translation>Usa instanza daemon in <host>:<port></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="202"/> + <location filename="../src/wallet/wallet2.cpp" line="235"/> <source>Use daemon instance at host <arg> instead of localhost</source> <translation>Usa istanza daemon all'host <arg> invece che localhost</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="206"/> + <location filename="../src/wallet/wallet2.cpp" line="240"/> <source>Wallet password file</source> <translation>File password portafoglio</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="207"/> + <location filename="../src/wallet/wallet2.cpp" line="241"/> <source>Use daemon instance at port <arg> instead of 18081</source> <translation>Usa istanza daemon alla porta <arg> invece che alla 18081</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="209"/> + <location filename="../src/wallet/wallet2.cpp" line="250"/> <source>For testnet. Daemon must also be launched with --testnet flag</source> <translation>Per testnet. Il daemon può anche essere lanciato con la flag --testnet</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="282"/> + <location filename="../src/wallet/wallet2.cpp" line="361"/> <source>can't specify daemon host or port more than once</source> <translation>non puoi specificare la porta o l'host del daemon più di una volta</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="355"/> + <location filename="../src/wallet/wallet2.cpp" line="480"/> <source>can't specify more than one of --password and --password-file</source> <translation>non puoi specificare più di un --password e --password-file</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="368"/> + <location filename="../src/wallet/wallet2.cpp" line="493"/> <source>the password file specified could not be read</source> <translation>il file password specificato non può essere letto</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="394"/> + <location filename="../src/wallet/wallet2.cpp" line="519"/> <source>Failed to load file </source> <translation>Impossibile caricare file </translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="205"/> + <location filename="../src/wallet/wallet2.cpp" line="239"/> <source>Wallet password (escape/quote as needed)</source> <translation>Wallet password (escape/quote se necessario)</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="203"/> + <location filename="../src/wallet/wallet2.cpp" line="236"/> + <source>[<ip>:]<port> socks proxy to use for daemon connections</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="237"/> <source>Enable commands which rely on a trusted daemon</source> <translation type="unfinished">Abilita comandi dipendenti da un daemon fidato</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="204"/> + <location filename="../src/wallet/wallet2.cpp" line="238"/> <source>Disable commands which rely on a trusted daemon</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="208"/> + <location filename="../src/wallet/wallet2.cpp" line="242"/> <source>Specify username[:password] for daemon RPC client</source> <translation>Specificare username[:password] per client del daemon RPC</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="210"/> + <location filename="../src/wallet/wallet2.cpp" line="243"/> + <source>Enable SSL on daemon RPC connections: enabled|disabled|autodetect</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="247"/> + <source>List of valid fingerprints of allowed RPC servers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="248"/> + <source>Allow any SSL certificate from the daemon</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="249"/> + <source>Allow user (via --daemon-ssl-ca-certificates) chain certificates</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="251"/> <source>For stagenet. Daemon must also be launched with --stagenet flag</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="212"/> + <location filename="../src/wallet/wallet2.cpp" line="253"/> <source>Set shared ring database path</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="223"/> + <location filename="../src/wallet/wallet2.cpp" line="264"/> <source>Number of rounds for the key derivation function</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="224"/> + <location filename="../src/wallet/wallet2.cpp" line="265"/> <source>HW device to use</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="225"/> + <location filename="../src/wallet/wallet2.cpp" line="266"/> <source>HW device wallet derivation path (e.g., SLIP-10)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="313"/> + <location filename="../src/wallet/wallet2.cpp" line="268"/> + <source>Do not use DNS</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="269"/> + <source>Do not connect to a daemon, nor use DNS</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="353"/> + <source>Invalid argument for </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="397"/> + <source>Enabling --</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="397"/> + <source> requires --</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="398"/> + <source> or --</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="398"/> + <source> or use of a .onion/.i2p domain</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="432"/> <source>--trusted-daemon and --untrusted-daemon are both seen, assuming untrusted</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="323"/> + <location filename="../src/wallet/wallet2.cpp" line="442"/> <source>Daemon is local, assuming trusted</source> <translation type="unfinished">Il daemon è locale, viene considerato fidato</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="375"/> + <location filename="../src/wallet/wallet2.cpp" line="500"/> <source>no password specified; use --prompt-for-password to prompt for a password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="377"/> + <location filename="../src/wallet/wallet2.cpp" line="502"/> <source>Enter a new password for the wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="377"/> + <location filename="../src/wallet/wallet2.cpp" line="502"/> <source>Wallet password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="400"/> + <location filename="../src/wallet/wallet2.cpp" line="525"/> <source>Failed to parse JSON</source> <translation>Impossibile fare il parsing di JSON</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="407"/> + <location filename="../src/wallet/wallet2.cpp" line="532"/> <source>Version %u too new, we can only grok up to %u</source> <translation>La versione %u è troppo recente, possiamo comprendere solo fino alla versione %u</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="423"/> + <location filename="../src/wallet/wallet2.cpp" line="548"/> <source>failed to parse view key secret key</source> <translation>impossibile fare il parsing di chiave di visualizzazione chiave segreta</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="428"/> - <location filename="../src/wallet/wallet2.cpp" line="496"/> - <location filename="../src/wallet/wallet2.cpp" line="539"/> + <location filename="../src/wallet/wallet2.cpp" line="553"/> + <location filename="../src/wallet/wallet2.cpp" line="621"/> + <location filename="../src/wallet/wallet2.cpp" line="666"/> <source>failed to verify view key secret key</source> <translation>impossibile verificare chiave di visualizzazione chiave segreta</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="439"/> + <location filename="../src/wallet/wallet2.cpp" line="564"/> <source>failed to parse spend key secret key</source> <translation>impossibile fare il parsing chiave di spesa chiave segreta</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="444"/> - <location filename="../src/wallet/wallet2.cpp" line="506"/> - <location filename="../src/wallet/wallet2.cpp" line="565"/> + <location filename="../src/wallet/wallet2.cpp" line="569"/> + <location filename="../src/wallet/wallet2.cpp" line="631"/> + <location filename="../src/wallet/wallet2.cpp" line="692"/> <source>failed to verify spend key secret key</source> <translation>impossibile verificare chiave di spesa chiave segreta</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="456"/> + <location filename="../src/wallet/wallet2.cpp" line="581"/> <source>Electrum-style word list failed verification</source> <translation>Verifica lista di parole stile-Electrum fallita</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="476"/> + <location filename="../src/wallet/wallet2.cpp" line="601"/> <source>At least one of either an Electrum-style word list, private view key, or private spend key must be specified</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="480"/> + <location filename="../src/wallet/wallet2.cpp" line="605"/> <source>Both Electrum-style word list and private key(s) specified</source> <translation>Specificate entrambe lista parole stile-Electrum e chiave/i privata/e </translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="490"/> + <location filename="../src/wallet/wallet2.cpp" line="615"/> <source>invalid address</source> <translation>indirizzo invalido</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="499"/> + <location filename="../src/wallet/wallet2.cpp" line="624"/> <source>view key does not match standard address</source> <translation>la chiave di visualizzazione non corrisponde all'indirizzo standard</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="509"/> + <location filename="../src/wallet/wallet2.cpp" line="634"/> <source>spend key does not match standard address</source> <translation>la chiave di spesa non corrisponde all'indirizzo standard</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="517"/> + <location filename="../src/wallet/wallet2.cpp" line="642"/> <source>Cannot generate deprecated wallets from JSON</source> <translation>Impossibile creare portafogli disapprovati da JSON</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="551"/> + <location filename="../src/wallet/wallet2.cpp" line="678"/> <source>failed to parse address: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="557"/> + <location filename="../src/wallet/wallet2.cpp" line="684"/> <source>Address must be specified in order to create watch-only wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="574"/> + <location filename="../src/wallet/wallet2.cpp" line="701"/> <source>failed to generate new wallet: </source> <translation>impossibile generare nuovo portafoglio: </translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="1382"/> + <location filename="../src/wallet/wallet2.cpp" line="1625"/> <source>Password is needed to compute key image for incoming monero</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="1383"/> + <location filename="../src/wallet/wallet2.cpp" line="1626"/> <source>Invalid password: password is needed to compute key image for incoming monero</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="3770"/> - <location filename="../src/wallet/wallet2.cpp" line="4374"/> - <location filename="../src/wallet/wallet2.cpp" line="4926"/> + <location filename="../src/wallet/wallet2.cpp" line="4122"/> + <location filename="../src/wallet/wallet2.cpp" line="4712"/> + <location filename="../src/wallet/wallet2.cpp" line="5308"/> <source>Primary account</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="10157"/> + <location filename="../src/wallet/wallet2.cpp" line="10885"/> <source>No funds received in this tx.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="10899"/> + <location filename="../src/wallet/wallet2.cpp" line="11645"/> <source>failed to read file </source> <translation>lettura file fallita</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="141"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="152"/> <source>Set subaddress lookahead sizes to <major>:<minor></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="68"/> + <source>Enable SSL on wallet RPC connections: enabled|disabled|autodetect</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="69"/> + <location filename="../src/wallet/wallet2.cpp" line="244"/> + <source>Path to a PEM format private key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="70"/> + <location filename="../src/wallet/wallet2.cpp" line="245"/> + <source>Path to a PEM format certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="71"/> + <location filename="../src/wallet/wallet2.cpp" line="246"/> + <source>Path to file containing concatenated PEM format certificate(s) to replace system CA(s).</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="72"/> + <source>List of certificate fingerprints to allow</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>tools::wallet_rpc_server</name> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="180"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="192"/> <source>Failed to create directory </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="182"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="194"/> <source>Failed to create directory %s: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="193"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="205"/> <source>Cannot specify --</source> <translation>Impossibile specificare --</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="193"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="205"/> <source> and --</source> <translation> e --</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="212"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="224"/> <source>Failed to create file </source> <translation>Impossibile creare file </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="212"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="224"/> <source>. Check permissions or remove file</source> <translation>. Controlla permessi o rimuovi il file</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="222"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="234"/> <source>Error writing to file </source> <translation>Errore durante scrittura su file </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="225"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="237"/> <source>RPC username/password is stored in file </source> <translation>Username/password RPC conservato nel file </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="479"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="613"/> <source>Tag %s is unregistered.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3081"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="3242"/> <source>Transaction not possible. Available only %s, transaction amount %s = %s + %s (fee)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3947"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4409"/> <source>This is the RPC monero wallet. It needs to connect to a monero daemon to work correctly.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3788"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4245"/> <source>Can't specify more than one of --wallet-file and --generate-from-json</source> <translation>Non puoi specificare più di un --wallet-file e --generate-from-json</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3773"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4230"/> <source>Can't specify more than one of --testnet and --stagenet</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Non è possibile specificare più di un --testnet e --stagenet</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3800"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4257"/> <source>Must specify --wallet-file or --generate-from-json or --wallet-dir</source> <translation>Devi specificare --wallet-file o --generate-from-json o --wallet-dir</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3804"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4261"/> <source>Loading wallet...</source> <translation>Sto caricando il portafoglio...</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3838"/> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3870"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4295"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4327"/> <source>Saving wallet...</source> <translation>Sto salvando il portafoglio...</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3840"/> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3872"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4297"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4329"/> <source>Successfully saved</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3843"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4300"/> <source>Successfully loaded</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3847"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4304"/> <source>Wallet initialization failed: </source> <translation>Inizializzazione portafoglio fallita: </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3853"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4310"/> <source>Failed to initialize wallet RPC server</source> <translation>Inizializzazione server RPC portafoglio fallita</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3857"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4314"/> <source>Starting wallet RPC server</source> <translation>Server RPC portafoglio in avvio</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3864"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4321"/> <source>Failed to run wallet: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3867"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4324"/> <source>Stopped wallet RPC server</source> <translation>Server RPC portafoglio arrestato</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3876"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4333"/> <source>Failed to save wallet: </source> <translation>Impossibile salvare portafoglio: </translation> </message> @@ -5438,8 +5781,8 @@ daemon to work correctly.</source> <name>wallet_args</name> <message> <location filename="../src/gen_multisig/gen_multisig.cpp" line="168"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8908"/> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3928"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4385"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9348"/> <source>Wallet options</source> <translation>Opzioni portafoglio</translation> </message> diff --git a/translations/monero_ja.ts b/translations/monero_ja.ts index 617186da3..c8b0871bf 100644 --- a/translations/monero_ja.ts +++ b/translations/monero_ja.ts @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> -<TS version="2.0" language="ja" sourcelanguage="en"> +<TS version="2.1" language="ja" sourcelanguage="en"> <context> <name>Monero::AddressBookImpl</name> <message> @@ -37,42 +37,42 @@ <translation>取引をファイルに書き込めませんでした</translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="121"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="138"/> <source>daemon is busy. Please try again later.</source> <translation>デーモンは忙しいです。後でもう一度試してください。</translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="124"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="141"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation>デーモンの接続が確立ありません。デーモンが実行中になっていることを確認してください。</translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="128"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="145"/> <source>transaction %s was rejected by daemon with status: </source> <translation>取引 %s がデーモンによって拒否しました。ステータス: </translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="133"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="150"/> <source>. Reason: </source> <translation>。 理由: </translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="135"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="152"/> <source>Unknown exception: </source> <translation>未知の例外: </translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="138"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="155"/> <source>Unhandled exception</source> <translation>未処理の例外</translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="211"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="228"/> <source>Couldn't multisig sign data: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="233"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="250"/> <source>Couldn't sign multisig transaction: </source> <translation type="unfinished"></translation> </message> @@ -134,384 +134,384 @@ <context> <name>Monero::WalletImpl</name> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1383"/> + <location filename="../src/wallet/api/wallet.cpp" line="1459"/> <source>payment id has invalid format, expected 16 or 64 character hex string: </source> <translation>ペイメントIDのフォーマットは不正です。16文字または64文字の16進数の文字列が必要で: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1392"/> + <location filename="../src/wallet/api/wallet.cpp" line="1468"/> <source>Failed to add short payment id: </source> <translation>短いペイメントIDの追加に失敗しました: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1428"/> <location filename="../src/wallet/api/wallet.cpp" line="1510"/> + <location filename="../src/wallet/api/wallet.cpp" line="1592"/> <source>daemon is busy. Please try again later.</source> <translation>デーモンは忙しいです。後でもう一度試してください。</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1430"/> <location filename="../src/wallet/api/wallet.cpp" line="1512"/> + <location filename="../src/wallet/api/wallet.cpp" line="1594"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation>デーモンの接続が確立ありません。デーモンが実行中になっていることを確認してください。</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1432"/> <location filename="../src/wallet/api/wallet.cpp" line="1514"/> + <location filename="../src/wallet/api/wallet.cpp" line="1596"/> <source>RPC error: </source> <translation>RPCエラー: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1460"/> - <location filename="../src/wallet/api/wallet.cpp" line="1545"/> + <location filename="../src/wallet/api/wallet.cpp" line="1542"/> + <location filename="../src/wallet/api/wallet.cpp" line="1627"/> <source>not enough outputs for specified ring size</source> <translation>指定したリングサイズのアウトプットが不十分です</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1462"/> - <location filename="../src/wallet/api/wallet.cpp" line="1547"/> + <location filename="../src/wallet/api/wallet.cpp" line="1544"/> + <location filename="../src/wallet/api/wallet.cpp" line="1629"/> <source>found outputs to use</source> <translation>使うためにアウトプットを見つかれました</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1464"/> + <location filename="../src/wallet/api/wallet.cpp" line="1546"/> <source>Please sweep unmixable outputs.</source> <translation>ミックス不能なアウトプットをスイープしてください。</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1438"/> - <location filename="../src/wallet/api/wallet.cpp" line="1521"/> + <location filename="../src/wallet/api/wallet.cpp" line="1520"/> + <location filename="../src/wallet/api/wallet.cpp" line="1603"/> <source>not enough money to transfer, available only %s, sent amount %s</source> <translation>振替でMoneroを受け取ることできません。利用可能な金額: %s, 取引の金額: %s</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="541"/> + <location filename="../src/wallet/api/wallet.cpp" line="589"/> <source>failed to parse address</source> <translation>アドレスの解析に失敗しました</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="552"/> + <location filename="../src/wallet/api/wallet.cpp" line="600"/> <source>failed to parse secret spend key</source> <translation>秘密なスペンドキーの解析に失敗しました</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="575"/> + <location filename="../src/wallet/api/wallet.cpp" line="623"/> <source>failed to parse secret view key</source> <translation>秘密なビューキーの解析に失敗しました</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="584"/> + <location filename="../src/wallet/api/wallet.cpp" line="632"/> <source>failed to verify secret spend key</source> <translation>秘密なスペンドキーの検証に失敗しました</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="588"/> + <location filename="../src/wallet/api/wallet.cpp" line="636"/> <source>spend key does not match address</source> <translation>スペンドキーがアドレスと一致しませんでした</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="594"/> + <location filename="../src/wallet/api/wallet.cpp" line="642"/> <source>failed to verify secret view key</source> <translation>秘密なビューキーの検証に失敗しました</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="598"/> + <location filename="../src/wallet/api/wallet.cpp" line="646"/> <source>view key does not match address</source> <translation>ビューキーがアドレスと一致しませんでした</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="621"/> - <location filename="../src/wallet/api/wallet.cpp" line="638"/> + <location filename="../src/wallet/api/wallet.cpp" line="669"/> + <location filename="../src/wallet/api/wallet.cpp" line="686"/> <source>failed to generate new wallet: </source> <translation>新しいウォレットの生成に失敗しました: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="885"/> + <location filename="../src/wallet/api/wallet.cpp" line="955"/> <source>Failed to send import wallet request</source> <translation>インポートウォレットリクエストの送信に失敗しました</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1049"/> + <location filename="../src/wallet/api/wallet.cpp" line="1125"/> <source>Failed to load unsigned transactions</source> <translation>未署名の取引を読み込めませんでした</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1068"/> + <location filename="../src/wallet/api/wallet.cpp" line="1144"/> <source>Failed to load transaction from file</source> <translation>ファイルからの取引のロードに失敗しました</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1084"/> + <location filename="../src/wallet/api/wallet.cpp" line="1160"/> <source>Wallet is view only</source> <translation>閲覧専用ウォレットです</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1092"/> + <location filename="../src/wallet/api/wallet.cpp" line="1168"/> <source>failed to save file </source> <translation>ファイルを保存できませんでした </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1108"/> + <location filename="../src/wallet/api/wallet.cpp" line="1184"/> <source>Key images can only be imported with a trusted daemon</source> <translation>信頼できるデーモンしかでキーイメージをインポートしません</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1121"/> + <location filename="../src/wallet/api/wallet.cpp" line="1197"/> <source>Failed to import key images: </source> <translation>キーイメージをインポートできませんでした: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1153"/> + <location filename="../src/wallet/api/wallet.cpp" line="1229"/> <source>Failed to get subaddress label: </source> <translation>サブアドレスラベルを取得できませんでした: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1166"/> + <location filename="../src/wallet/api/wallet.cpp" line="1242"/> <source>Failed to set subaddress label: </source> <translation>サブアドレスラベルをセットできませんでした: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="567"/> + <location filename="../src/wallet/api/wallet.cpp" line="615"/> <source>Neither view key nor spend key supplied, cancelled</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="686"/> + <location filename="../src/wallet/api/wallet.cpp" line="734"/> <source>Electrum seed is empty</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="695"/> + <location filename="../src/wallet/api/wallet.cpp" line="743"/> <source>Electrum-style word list failed verification</source> <translation type="unfinished">Electrumな単語表の検証に失敗しました</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1183"/> + <location filename="../src/wallet/api/wallet.cpp" line="1259"/> <source>Failed to get multisig info: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1200"/> - <location filename="../src/wallet/api/wallet.cpp" line="1214"/> + <location filename="../src/wallet/api/wallet.cpp" line="1276"/> + <location filename="../src/wallet/api/wallet.cpp" line="1290"/> <source>Failed to make multisig: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1229"/> + <location filename="../src/wallet/api/wallet.cpp" line="1305"/> <source>Failed to finalize multisig wallet creation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1232"/> + <location filename="../src/wallet/api/wallet.cpp" line="1308"/> <source>Failed to finalize multisig wallet creation: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1248"/> + <location filename="../src/wallet/api/wallet.cpp" line="1324"/> <source>Failed to export multisig images: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1266"/> + <location filename="../src/wallet/api/wallet.cpp" line="1342"/> <source>Failed to parse imported multisig images</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1276"/> + <location filename="../src/wallet/api/wallet.cpp" line="1352"/> <source>Failed to import multisig images: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1290"/> + <location filename="../src/wallet/api/wallet.cpp" line="1366"/> <source>Failed to check for partial multisig key images: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1318"/> + <location filename="../src/wallet/api/wallet.cpp" line="1394"/> <source>Failed to restore multisig transaction: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1358"/> + <location filename="../src/wallet/api/wallet.cpp" line="1434"/> <source>Invalid destination address</source> <translation type="unfinished">不正な宛先アドレス</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1434"/> + <location filename="../src/wallet/api/wallet.cpp" line="1516"/> <source>failed to get outputs to mix: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1445"/> - <location filename="../src/wallet/api/wallet.cpp" line="1529"/> + <location filename="../src/wallet/api/wallet.cpp" line="1527"/> + <location filename="../src/wallet/api/wallet.cpp" line="1611"/> <source>not enough money to transfer, overall balance only %s, sent amount %s</source> <translation>振替でMoneroを受け取ることできません。利用可能な金額: %s, 取引の金額: %s</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1452"/> - <location filename="../src/wallet/api/wallet.cpp" line="1537"/> + <location filename="../src/wallet/api/wallet.cpp" line="1534"/> + <location filename="../src/wallet/api/wallet.cpp" line="1619"/> <source>not enough money to transfer, available only %s, transaction amount %s = %s + %s (fee)</source> <translation>取引は無理です。利用可能な金額 %s、 取引の金額 %s = %s + %s (手数料)</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1462"/> - <location filename="../src/wallet/api/wallet.cpp" line="1547"/> + <location filename="../src/wallet/api/wallet.cpp" line="1544"/> + <location filename="../src/wallet/api/wallet.cpp" line="1629"/> <source>output amount</source> <translation>アウトプットの金額</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1467"/> - <location filename="../src/wallet/api/wallet.cpp" line="1551"/> + <location filename="../src/wallet/api/wallet.cpp" line="1549"/> + <location filename="../src/wallet/api/wallet.cpp" line="1633"/> <source>transaction was not constructed</source> <translation>取引を作りませんでした</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1470"/> - <location filename="../src/wallet/api/wallet.cpp" line="1554"/> + <location filename="../src/wallet/api/wallet.cpp" line="1552"/> + <location filename="../src/wallet/api/wallet.cpp" line="1636"/> <source>transaction %s was rejected by daemon with status: </source> <translation>取引 %s がデーモンによって拒否しました。ステータス: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1475"/> - <location filename="../src/wallet/api/wallet.cpp" line="1559"/> + <location filename="../src/wallet/api/wallet.cpp" line="1557"/> + <location filename="../src/wallet/api/wallet.cpp" line="1641"/> <source>one of destinations is zero</source> <translation>宛先の1つはゼロです</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1477"/> - <location filename="../src/wallet/api/wallet.cpp" line="1561"/> + <location filename="../src/wallet/api/wallet.cpp" line="1559"/> + <location filename="../src/wallet/api/wallet.cpp" line="1643"/> <source>failed to find a suitable way to split transactions</source> <translation>取引を分割する適切な方法を見つけることができませんでした</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1479"/> - <location filename="../src/wallet/api/wallet.cpp" line="1563"/> + <location filename="../src/wallet/api/wallet.cpp" line="1561"/> + <location filename="../src/wallet/api/wallet.cpp" line="1645"/> <source>unknown transfer error: </source> <translation>不明な転送エラー: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1481"/> - <location filename="../src/wallet/api/wallet.cpp" line="1565"/> + <location filename="../src/wallet/api/wallet.cpp" line="1563"/> + <location filename="../src/wallet/api/wallet.cpp" line="1647"/> <source>internal error: </source> <translation>内部エラー: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1483"/> - <location filename="../src/wallet/api/wallet.cpp" line="1567"/> + <location filename="../src/wallet/api/wallet.cpp" line="1565"/> + <location filename="../src/wallet/api/wallet.cpp" line="1649"/> <source>unexpected error: </source> <translation>予期せぬエラー: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1485"/> - <location filename="../src/wallet/api/wallet.cpp" line="1569"/> + <location filename="../src/wallet/api/wallet.cpp" line="1567"/> + <location filename="../src/wallet/api/wallet.cpp" line="1651"/> <source>unknown error</source> <translation>不明なエラー</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1516"/> + <location filename="../src/wallet/api/wallet.cpp" line="1598"/> <source>failed to get outputs to mix</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1644"/> - <location filename="../src/wallet/api/wallet.cpp" line="1671"/> - <location filename="../src/wallet/api/wallet.cpp" line="1719"/> - <location filename="../src/wallet/api/wallet.cpp" line="1747"/> - <location filename="../src/wallet/api/wallet.cpp" line="1775"/> - <location filename="../src/wallet/api/wallet.cpp" line="1796"/> - <location filename="../src/wallet/api/wallet.cpp" line="2258"/> + <location filename="../src/wallet/api/wallet.cpp" line="1726"/> + <location filename="../src/wallet/api/wallet.cpp" line="1753"/> + <location filename="../src/wallet/api/wallet.cpp" line="1801"/> + <location filename="../src/wallet/api/wallet.cpp" line="1829"/> + <location filename="../src/wallet/api/wallet.cpp" line="1857"/> + <location filename="../src/wallet/api/wallet.cpp" line="1878"/> + <location filename="../src/wallet/api/wallet.cpp" line="2354"/> <source>Failed to parse txid</source> <translation>txidの解析に失敗しました</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1661"/> + <location filename="../src/wallet/api/wallet.cpp" line="1743"/> <source>no tx keys found for this txid</source> <translation>このtxidのためにtxキーを見つかれませんでした</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1679"/> - <location filename="../src/wallet/api/wallet.cpp" line="1688"/> + <location filename="../src/wallet/api/wallet.cpp" line="1761"/> + <location filename="../src/wallet/api/wallet.cpp" line="1770"/> <source>Failed to parse tx key</source> <translation>txキーの解析に失敗しました</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1697"/> - <location filename="../src/wallet/api/wallet.cpp" line="1726"/> - <location filename="../src/wallet/api/wallet.cpp" line="1754"/> - <location filename="../src/wallet/api/wallet.cpp" line="1835"/> + <location filename="../src/wallet/api/wallet.cpp" line="1779"/> + <location filename="../src/wallet/api/wallet.cpp" line="1808"/> + <location filename="../src/wallet/api/wallet.cpp" line="1836"/> + <location filename="../src/wallet/api/wallet.cpp" line="1917"/> <source>Failed to parse address</source> <translation>アドレスの解析に失敗しました</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1840"/> + <location filename="../src/wallet/api/wallet.cpp" line="1922"/> <source>Address must not be a subaddress</source> <translation>アドレスはサブアドレスであってはならないです</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1880"/> + <location filename="../src/wallet/api/wallet.cpp" line="1962"/> <source>The wallet must be in multisig ready state</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1902"/> + <location filename="../src/wallet/api/wallet.cpp" line="1984"/> <source>Given string is not a key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2130"/> + <location filename="../src/wallet/api/wallet.cpp" line="2226"/> <source>Rescan spent can only be used with a trusted daemon</source> <translation>信頼できるデーモンしかで再スキャンしません</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2179"/> + <location filename="../src/wallet/api/wallet.cpp" line="2275"/> <source>Invalid output: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2186"/> + <location filename="../src/wallet/api/wallet.cpp" line="2282"/> <source>Failed to mark outputs as spent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2197"/> - <location filename="../src/wallet/api/wallet.cpp" line="2219"/> + <location filename="../src/wallet/api/wallet.cpp" line="2293"/> + <location filename="../src/wallet/api/wallet.cpp" line="2315"/> <source>Failed to parse output amount</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2202"/> - <location filename="../src/wallet/api/wallet.cpp" line="2224"/> + <location filename="../src/wallet/api/wallet.cpp" line="2298"/> + <location filename="../src/wallet/api/wallet.cpp" line="2320"/> <source>Failed to parse output offset</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2208"/> + <location filename="../src/wallet/api/wallet.cpp" line="2304"/> <source>Failed to mark output as spent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2230"/> + <location filename="../src/wallet/api/wallet.cpp" line="2326"/> <source>Failed to mark output as unspent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2241"/> - <location filename="../src/wallet/api/wallet.cpp" line="2280"/> + <location filename="../src/wallet/api/wallet.cpp" line="2337"/> + <location filename="../src/wallet/api/wallet.cpp" line="2376"/> <source>Failed to parse key image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2247"/> + <location filename="../src/wallet/api/wallet.cpp" line="2343"/> <source>Failed to get ring</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2265"/> + <location filename="../src/wallet/api/wallet.cpp" line="2361"/> <source>Failed to get rings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2286"/> + <location filename="../src/wallet/api/wallet.cpp" line="2382"/> <source>Failed to set ring</source> <translation type="unfinished"></translation> </message> @@ -519,22 +519,22 @@ <context> <name>Wallet</name> <message> - <location filename="../src/wallet/api/wallet.cpp" line="301"/> + <location filename="../src/wallet/api/wallet.cpp" line="344"/> <source>Failed to parse address</source> <translation>アドレスの解析に失敗しました</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="308"/> + <location filename="../src/wallet/api/wallet.cpp" line="351"/> <source>Failed to parse key</source> <translation>キーの解析に失敗しました</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="316"/> + <location filename="../src/wallet/api/wallet.cpp" line="359"/> <source>failed to verify key</source> <translation>キーの検証に失敗しました</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="326"/> + <location filename="../src/wallet/api/wallet.cpp" line="369"/> <source>key does not match address</source> <translation>キーがアドレスと一致しませんでした</translation> </message> @@ -604,992 +604,1044 @@ <context> <name>cryptonote::simple_wallet</name> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="645"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="666"/> <source>Commands: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4359"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4636"/> <source>failed to read wallet password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3954"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4231"/> <source>invalid password</source> <translation>不正なパスワード</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3073"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3283"/> <source>set seed: needs an argument. available options: language</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3108"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3319"/> <source>set: unrecognized argument(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4199"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4476"/> <source>wallet file path not valid: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3178"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3389"/> <source>Attempting to generate or restore wallet, but specified file(s) exist. Exiting to not risk overwriting.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3059"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3269"/> <source>needs an argument</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3082"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3083"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3084"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3086"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3089"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3094"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3095"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3097"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3099"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3100"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3101"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3104"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3105"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3292"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3294"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3296"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3299"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3304"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3305"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3307"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3309"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3310"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3311"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3314"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3315"/> <source>0 or 1</source> <translation>0や1</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3092"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3096"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3103"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3306"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3313"/> <source>unsigned integer</source> <translation>符号無しの整数</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3312"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3548"/> <source>--restore-deterministic-wallet uses --generate-new-wallet, not --wallet-file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3341"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3577"/> <source>specify a recovery parameter with the --electrum-seed="words list here"</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3717"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3957"/> <source>specify a wallet path with --generate-new-wallet (not --wallet-file)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3887"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4164"/> <source>wallet failed to connect to daemon: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3895"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4172"/> <source>Daemon uses a different RPC major version (%u) than the wallet (%u): %s. Either update one of them, or use --allow-mismatched-daemon-version.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3916"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4193"/> <source>List of available languages for your wallet's seed:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3926"/> - <source>Enter the number corresponding to the language of your choice: </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4000"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4277"/> <source>You had been using a deprecated version of the wallet. Please use the new seed that we provide. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4016"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4088"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4365"/> <source>Generated new wallet: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4025"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4093"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4135"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4188"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4370"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4412"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4465"/> <source>failed to generate new wallet: </source> <translation>新しいウォレットの生成に失敗しました: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4230"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4507"/> <source>Opened watch-only wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4511"/> <source>Opened wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4252"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4529"/> <source>You had been using a deprecated version of the wallet. Please proceed to upgrade your wallet. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4267"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4544"/> <source>You had been using a deprecated version of the wallet. Your wallet file format is being upgraded now. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4275"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4552"/> <source>failed to load wallet: </source> <translation>ウォレットをロードできませんでした: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4292"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4569"/> <source>Use the "help" command to see the list of available commands. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4337"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4614"/> <source>Wallet data saved</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4431"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4819"/> <source>Mining started in daemon</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4433"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4821"/> <source>mining has NOT been started: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4453"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4841"/> <source>Mining stopped in daemon</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4455"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4843"/> <source>mining has NOT been stopped: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4537"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4925"/> <source>Blockchain saved</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4552"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4589"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4973"/> <source>Height </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4591"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4975"/> <source>spent </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4698"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5089"/> <source>Starting refresh...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4712"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5115"/> <source>Refresh done, blocks received: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5958"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6349"/> <source>payment id has invalid format, expected 16 or 64 character hex string: </source> <translation type="unfinished">ペイメントIDのフォーマットは不正です。16文字または64文字の16進数の文字列が必要で: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5307"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5704"/> <source>bad locked_blocks parameter:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5978"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6251"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6369"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6639"/> <source>a single transaction cannot use more than one payment id: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5405"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5987"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6219"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6259"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5806"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6378"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6607"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6647"/> <source>failed to set up payment id, though it was decoded correctly</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5251"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5870"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6173"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5659"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6271"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6564"/> <source>ring size %u is too large, maximum is %u</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5276"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5395"/> - <source>Unencrypted payment IDs are bad for privacy: ask the recipient to use subaddresses instead</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5690"/> <source>payment id failed to encode</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5312"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5894"/> - <source>Locked blocks too high, max 1000000 (Ë4 yrs)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5340"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5737"/> <source>failed to parse short payment ID from URI</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5363"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5365"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5762"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5764"/> <source>Invalid last argument: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5382"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5782"/> <source>a single transaction cannot use more than one payment id</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5399"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5800"/> <source>failed to parse payment id, though it was detected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5422"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5502"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5590"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5738"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6001"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6059"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6273"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6318"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5823"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5903"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5991"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6139"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6392"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6450"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6661"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6706"/> <source>transaction cancelled.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5481"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5491"/> - <source>Is this okay anyway? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5486"/> - <source>There is currently a %u block backlog at that fee level. Is this okay? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5491"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5892"/> <source>Failed to check for backlog: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5532"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6032"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5933"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6423"/> <source> Transaction </source> <translation> 取引 </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5537"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6037"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5938"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6428"/> <source>Spending from address index %d </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5539"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6039"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6430"/> <source>WARNING: Outputs of multiple addresses are being used together, which might potentially compromise your privacy. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5541"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5942"/> <source>Sending %s. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5544"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5945"/> <source>Your transaction needs to be split into %llu transactions. This will result in a transaction fee being applied to each transaction, for a total fee of %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5550"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5951"/> <source>The transaction fee is %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5553"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5954"/> <source>, of which %s is dust from change</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5554"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5955"/> <source>.</source> <translation>。</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5554"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5955"/> <source>A total of %s from dust change will be sent to dust address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5559"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5960"/> <source>. This transaction will unlock on block %llu, in approximately %s days (assuming 2 minutes per block)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5603"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6004"/> <source>Unsigned transaction(s) successfully written to MMS</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5611"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5648"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5749"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5761"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6070"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6107"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6328"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6340"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6012"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6049"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6150"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6162"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6461"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6498"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6716"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6728"/> <source>Failed to write transaction(s) to file</source> <translation type="unfinished">取引をファイルに書き込めませんでした</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5616"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5653"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5753"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5765"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6074"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6111"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6332"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6344"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6017"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6054"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6154"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6166"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6465"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6502"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6720"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6732"/> <source>Unsigned transaction(s) successfully written to file: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5625"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6086"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6026"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6477"/> <source>Failed to cold sign transaction with HW wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5708"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6109"/> <source>No unmixable outputs found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5775"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6176"/> <source>Not enough money in unlocked balance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5776"/> - <source>Discarding %s of unmixable outputs that cannot be spent, which can be undone by "rescan_spent". Is this okay? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5815"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6216"/> <source>No address given</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5879"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6280"/> <source>missing lockedblocks parameter</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5889"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6290"/> <source>bad locked_blocks parameter</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5914"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6182"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6315"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6573"/> <source>Failed to parse number of outputs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5919"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6187"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6320"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6578"/> <source>Amount of outputs should be greater than 0</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6213"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6601"/> <source>failed to parse Payment ID</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6236"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2078"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2125"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6624"/> <source>failed to parse key image</source> <translation>キーイメージの解析に失敗しました</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6290"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6678"/> <source>No outputs found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6295"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6683"/> <source>Multiple transactions are created, which is not supposed to happen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6300"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6688"/> <source>The transaction uses multiple or no inputs, which is not supposed to happen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6377"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6765"/> <source>missing threshold amount</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6382"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6770"/> <source>invalid amount threshold</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6516"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6919"/> <source>Claimed change does not go to a paid address</source> <translation type="unfinished">請求したお釣りはもうお金に送ったアドレス送りません</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6521"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6924"/> <source>Claimed change is larger than payment to the change address</source> <translation type="unfinished">請求したお釣りはお釣りのアドレスに送ったペイメントより大きいです</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6552"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6955"/> <source>sending %s to %s</source> <translation>%s を %s に送ってます</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6562"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6965"/> <source> dummy output(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6565"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6968"/> <source>with no destinations</source> <translation>目的地なし</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6577"/> - <source>Loaded %lu transactions, for %s, fee %s, %s, %s, with min ring size %lu, %s. %sIs this okay? (Y/Yes/N/No): </source> - <translation>取引は %lu ロードした、 %s に、%s のの手数料、 %s 、 %s 、最小リングサイズ %lu 、%s。これは大丈夫ですか? はい (Y) いいえ (N): </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6606"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7009"/> <source>This is a multisig wallet, it can only sign with sign_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6629"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7032"/> <source>Failed to sign transaction</source> <translation>取引を署名できませんでした</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6635"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7038"/> <source>Failed to sign transaction: </source> <translation>取引を署名できませんでした: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6656"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7059"/> <source>Transaction raw hex data exported to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6677"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7080"/> <source>Failed to load transaction from file</source> <translation>ファイルからの取引のロードに失敗しました</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4729"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5051"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5132"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5459"/> <source>RPC error: </source> <translation>RPCエラー: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="695"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="716"/> <source>wallet is watch-only and has no spend key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="839"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1021"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1074"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1141"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="860"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1044"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1097"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1164"/> <source>Your original password was incorrect.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="854"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="875"/> <source>Error with wallet rewrite: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2284"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2435"/> <source>invalid unit</source> <translation>不正なユニット</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2302"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2364"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2453"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2515"/> <source>invalid count: must be an unsigned integer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2320"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2471"/> <source>invalid value</source> <translation>不正な金額</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3204"/> - <source>(Y/Yes/N/No): </source> - <translation>(はい (Y) いいえ (N)): </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3761"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3788"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4021"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4041"/> <source>bad m_restore_height parameter: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3766"/> - <source>date format must be YYYY-MM-DD</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3779"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3985"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4032"/> <source>Restore height is: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3705"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3780"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5583"/> - <source>Is this okay? (Y/Yes/N/No): </source> - <translation>これは大丈夫ですか? (はい (Y) いいえ (N)): </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4509"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4897"/> <source>Daemon is local, assuming trusted</source> <translation>デーモンはローカルです。信頼できるデーモン予期してます</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4355"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4632"/> <source>Password for new watch-only wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4739"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5142"/> <source>internal error: </source> <translation>内部エラー: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1608"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4744"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5056"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1632"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5147"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5464"/> <source>unexpected error: </source> <translation>予期せぬエラー: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1534"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1613"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4749"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5061"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5639"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5669"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5794"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6099"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6126"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6361"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6690"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1558"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1637"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5152"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5469"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6040"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6070"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6195"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6490"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6517"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6749"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7093"/> <source>unknown error</source> <translation>不明なエラー</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4754"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5157"/> <source>refresh failed: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4754"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5157"/> <source>Blocks received: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4787"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5195"/> <source>unlocked balance: </source> <translation>ロック解除された残高: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3093"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3303"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>amount</source> <translation>金額</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="341"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="362"/> <source>false</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="659"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="680"/> <source>Unknown command: </source> <translation>未知のコマンド: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="666"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="687"/> <source>Command usage: </source> <translation>コマンドの使用: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="690"/> <source>Command description: </source> <translation>コマンドの記述: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="735"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="756"/> <source>wallet is multisig but not yet finalized</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="768"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="789"/> <source>Failed to retrieve seed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="792"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="813"/> <source>wallet is multisig and has no seed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="899"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="922"/> <source>Error: failed to estimate backlog array size: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="904"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="927"/> <source>Error: bad estimated backlog array size</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="916"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="939"/> <source> (current)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="919"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="942"/> <source>%u block (%u minutes) backlog at priority %u%s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="921"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="944"/> <source>%u to %u block (%u to %u minutes) backlog at priority %u</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="924"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="947"/> <source>No backlog at priority </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="944"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="989"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="967"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1012"/> <source>This wallet is already multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="949"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="994"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1017"/> <source>wallet is watch-only and cannot be made multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="955"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1000"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="978"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1023"/> <source>This wallet has been used before, please use a new wallet to create a multisig wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="963"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="986"/> <source>Send this multisig info to all other participants, then use make_multisig <threshold> <info1> [<info2>...] with others' multisig info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="964"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="987"/> <source>This includes the PRIVATE view key, so needs to be disclosed only to that multisig wallet's participants </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1014"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1037"/> <source>Invalid threshold</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1034"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1156"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1057"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1179"/> <source>Another step is needed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1046"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1069"/> <source>Error creating multisig: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1053"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1076"/> <source>Error creating multisig: new wallet is not multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1056"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1079"/> <source> multisig address: </source> <translation> マルチサインアドレス: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1080"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1129"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1195"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1261"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1103"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1152"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1219"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1285"/> <source>This wallet is not multisig</source> <translation>これはマルチシッグウォレットではありません</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1085"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1134"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1108"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1157"/> <source>This wallet is already finalized</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1101"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1124"/> <source>Failed to finalize multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1107"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1130"/> <source>Failed to finalize multisig: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1200"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1266"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1360"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1476"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1557"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1191"/> + <source>Multisig address: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="1224"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1290"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1384"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1500"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1581"/> <source>This multisig wallet is not yet finalized</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1236"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1260"/> <source>Error exporting multisig info: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1240"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1264"/> <source>Multisig info exported to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1306"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1330"/> <source>Multisig info imported</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1310"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1334"/> <source>Failed to import multisig info: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1321"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1345"/> <source>Failed to update spent status after importing multisig info: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1327"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1351"/> <source>Untrusted daemon, spent status may be incorrect. Use a trusted daemon and run "rescan_spent"</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1355"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1471"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1552"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1379"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1495"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1576"/> <source>This is not a multisig wallet</source> <translation>これはマルチシッグウォレットではありません</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1405"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1414"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1429"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1438"/> <source>Failed to sign multisig transaction</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1421"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1445"/> <source>Multisig error: </source> <translation>マルチサインエラー: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1426"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1450"/> <source>Failed to sign multisig transaction: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1449"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1473"/> <source>It may be relayed to the network with submit_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1508"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1578"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1532"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1602"/> <source>Failed to load multisig transaction from file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1514"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1583"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1538"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1607"/> <source>Multisig transaction signed by only %u signers, needs %u more signatures</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1523"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8890"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1547"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9330"/> <source>Transaction successfully submitted, transaction </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1524"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8891"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1548"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9331"/> <source>You can check its status by using the `show_transfers` command.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1599"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1623"/> <source>Failed to export multisig transaction to file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1603"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1627"/> <source>Saved exported multisig transaction file(s): </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2095"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2101"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2120"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1892"/> + <source>Invalid key image or txid</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="1901"/> + <source>failed to unset ring</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2072"/> + <source>usage: %s <key_image>|<pubkey></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2117"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2129"/> + <source>Frozen: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2131"/> + <source>Not frozen: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2138"/> + <source> bytes sent</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2139"/> + <source> bytes received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2145"/> + <source>Welcome to Monero, the private cryptocurrency.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2147"/> + <source>Monero, like Bitcoin, is a cryptocurrency. That is, it is digital money.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2148"/> + <source>Unlike Bitcoin, your Monero transactions and balance stay private, and not visible to the world by default.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2149"/> + <source>However, you have the option of making those available to select parties, if you choose to.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2151"/> + <source>Monero protects your privacy on the blockchain, and while Monero strives to improve all the time,</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2152"/> + <source>no privacy technology can be 100% perfect, Monero included.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2153"/> + <source>Monero cannot protect you from malware, and it may not be as effective as we hope against powerful adversaries.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2154"/> + <source>Flaws in Monero may be discovered in the future, and attacks may be developed to peek under some</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2155"/> + <source>of the layers of privacy Monero provides. Be safe and practice defense in depth.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2157"/> + <source>Welcome to Monero and financial privacy. For more information, see https://getmonero.org/</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2244"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2250"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2269"/> <source>ring size must be an integer >= </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2125"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2274"/> <source>could not change default ring size</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2398"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2469"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2549"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2620"/> <source>Invalid height</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2562"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2667"/> + <source>invalid argument: must be either 1/yes or 0/no</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2738"/> <source>Start mining in the daemon (bg_mining and ignore_battery are optional booleans).</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2565"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2741"/> <source>Stop mining in the daemon.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2569"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2745"/> <source>Set another daemon to connect to.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2572"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2748"/> <source>Save the current blockchain data.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2575"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2751"/> <source>Synchronize the transactions and balance.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2579"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2755"/> <source>Show the wallet's balance of the currently selected account.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2589"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2759"/> + <source>Show the incoming transfers, all or filtered by availability and address index. + +Output format: +Amount, Spent("T"|"F"), "frozen"|"locked"|"unlocked", RingCT, Global Index, Transaction Hash, Address Index, [Public Key, Key Image] </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2765"/> <source>Show the payments for the given payment IDs.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2592"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2768"/> <source>Show the blockchain height.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2606"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2782"/> <source>Send all unmixable outputs to yourself with ring_size 1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2613"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2789"/> <source>Send all unlocked outputs below the threshold to an address.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2617"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2793"/> <source>Send a single output of the given key image to an address without change.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2621"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2797"/> <source>Donate <amount> to the development team (donate.getmonero.org).</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2628"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2804"/> <source>Submit a signed transaction from a file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2632"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2808"/> <source>Change the current log detail (level must be <0-4>).</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2636"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2812"/> <source>If no arguments are specified, the wallet shows all the existing accounts along with their balances. If the "new" argument is specified, the wallet creates a new account with its label initialized by the provided label text (which can be empty). If the "switch" argument is specified, the wallet switches to the account specified by <index>. @@ -1600,325 +1652,425 @@ If the "tag_description" argument is specified, the tag <tag_name&g <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2646"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2822"/> <source>If no arguments are specified or <index> is specified, the wallet shows the default or specified address. If "all" is specified, the wallet shows all the existing addresses in the currently selected account. If "new " is specified, the wallet creates a new address with the provided label text (which can be empty). If "label" is specified, the wallet sets the label of the address specified by <index> to the provided label text.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2650"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2826"/> <source>Encode a payment ID into an integrated address for the current wallet public address (no argument uses a random payment ID), or decode an integrated address to standard address and payment ID</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2654"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2830"/> <source>Print all entries in the address book, optionally adding/deleting an entry to/from it.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2657"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2833"/> <source>Save the wallet data.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2660"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2836"/> <source>Save a watch-only keys file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2663"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2839"/> <source>Display the private view key.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2666"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2842"/> <source>Display the private spend key.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2845"/> <source>Display the Electrum-style mnemonic seed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2719"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2849"/> + <source>Available options: + seed language + Set the wallet's seed language. + always-confirm-transfers <1|0> + Whether to confirm unsplit txes. + print-ring-members <1|0> + Whether to print detailed information about ring members during confirmation. + store-tx-info <1|0> + Whether to store outgoing tx info (destination address, payment ID, tx secret key) for future reference. + default-ring-size <n> + Set the default ring size (obsolete). + auto-refresh <1|0> + Whether to automatically synchronize new blocks from the daemon. + refresh-type <full|optimize-coinbase|no-coinbase|default> + Set the wallet's refresh behaviour. + priority [0|1|2|3|4] + Set the fee to default/unimportant/normal/elevated/priority. + confirm-missing-payment-id <1|0> (obsolete) + ask-password <0|1|2 (or never|action|decrypt)> + action: ask the password before many actions such as transfer, etc + decrypt: same as action, but keeps the spend key encrypted in memory when not needed + unit <monero|millinero|micronero|nanonero|piconero> + Set the default monero (sub-)unit. + min-outputs-count [n] + Try to keep at least that many outputs of value at least min-outputs-value. + min-outputs-value [n] + Try to keep at least min-outputs-count outputs of at least that value. + merge-destinations <1|0> + Whether to merge multiple payments to the same destination address. + confirm-backlog <1|0> + Whether to warn if there is transaction backlog. + confirm-backlog-threshold [n] + Set a threshold for confirm-backlog to only warn if the transaction backlog is greater than n blocks. + refresh-from-block-height [n] + Set the height before which to ignore blocks. + auto-low-priority <1|0> + Whether to automatically use the low priority fee level when it's safe to do so. + segregate-pre-fork-outputs <1|0> + Set this if you intend to spend outputs on both Monero AND a key reusing fork. + key-reuse-mitigation2 <1|0> + Set this if you are not sure whether you will spend on a key reusing Monero fork later. +subaddress-lookahead <major>:<minor> + Set the lookahead sizes for the subaddress hash table. + Set this if you are not sure whether you will spend on a key reusing Monero fork later. + segregation-height <n> + Set to the height of a key reusing fork you want to use, 0 to use default.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2897"/> <source>Display the encrypted Electrum-style mnemonic seed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2722"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2900"/> <source>Rescan the blockchain for spent outputs.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2726"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2904"/> <source>Get the transaction key (r) for a given <txid>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2734"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2912"/> <source>Check the amount going to <address> in <txid>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2738"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2916"/> <source>Generate a signature proving funds sent to <address> in <txid>, optionally with a challenge string <message>, using either the transaction secret key (when <address> is not your wallet's address) or the view secret key (otherwise), which does not disclose the secret key.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2742"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2920"/> <source>Check the proof for funds going to <address> in <txid> with the challenge string <message> if any.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2746"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2924"/> <source>Generate a signature proving that you generated <txid> using the spend secret key, optionally with a challenge string <message>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2750"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2928"/> <source>Check a signature proving that the signer generated <txid>, optionally with a challenge string <message>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2754"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2932"/> <source>Generate a signature proving that you own at least this much, optionally with a challenge string <message>. If 'all' is specified, you prove the entire sum of all of your existing accounts' balances. Otherwise, you prove the reserve of the smallest possible amount above <amount> available in your current account.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2760"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2938"/> <source>Check a signature proving that the owner of <address> holds at least this much, optionally with a challenge string <message>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2780"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2958"/> <source>Show the unspent outputs of a specified address within an optional amount range.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2788"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2962"/> + <source>Rescan the blockchain from scratch. If "hard" is specified, you will lose any information which can not be recovered from the blockchain itself.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2966"/> <source>Set an arbitrary string note for a <txid>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2792"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2970"/> <source>Get a string note for a txid.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2796"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2974"/> <source>Set an arbitrary description for the wallet.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2800"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2978"/> <source>Get the description of the wallet.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2803"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2981"/> <source>Show the wallet's status.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2806"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2984"/> <source>Show the wallet's information.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2810"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2988"/> <source>Sign the contents of a file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2814"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2992"/> <source>Verify a signature on the contents of a file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2822"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3000"/> <source>Import a signed key images list and verify their spent status.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2834"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3012"/> <source>Export a set of outputs owned by this wallet.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2838"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3016"/> <source>Import a set of outputs owned by this wallet.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2842"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3020"/> <source>Show information about a transfer to/from this address.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2845"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3023"/> <source>Change the wallet's password.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2849"/> - <source>Generate a new random full size payment id. These will be unencrypted on the blockchain, see integrated_address for encrypted short payment ids.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2852"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3030"/> <source>Print the information about the current fee and transaction backlog.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2854"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3032"/> <source>Export data needed to create a multisig wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2857"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3035"/> <source>Turn this wallet into a multisig wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2861"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3039"/> <source>Turn this wallet into a multisig wallet, extra step for N-1/N wallets</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2869"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3047"/> <source>Export multisig info for other participants</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2873"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3051"/> <source>Import multisig info from other participants</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2877"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3055"/> <source>Sign a multisig transaction from a file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2881"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3059"/> <source>Submit a signed multisig transaction from a file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2885"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3063"/> <source>Export a signed multisig transaction to a file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3002"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3160"/> + <source>Unsets the ring used for a given key image or transaction</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3180"/> + <source>Freeze a single output by key image so it will not be used</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3184"/> + <source>Thaw a single output by key image so it may be used again</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3188"/> + <source>Checks whether a given output is currently frozen by key image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3192"/> + <source>Prints simple network stats</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3196"/> + <source>Prints basic info about Monero for first time users</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3204"/> <source>Show the help section or the documentation about a <command>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3085"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3258"/> + <source> (set this to support the network and to get a chance to receive new monero)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3295"/> <source>integer >= </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3308"/> <source>block height</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3203"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3316"/> + <source>1/yes or 0/no</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3414"/> <source>No wallet found with that name. Confirm creation of new wallet named: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3304"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3540"/> <source>can't specify both --restore-deterministic-wallet or --restore-multisig-wallet and --non-deterministic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3310"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3546"/> <source>--restore-multisig-wallet uses --generate-new-wallet, not --wallet-file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3326"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3562"/> <source>specify a recovery parameter with the --electrum-seed="multisig seed here"</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3355"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3591"/> <source>Multisig seed failed verification</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3406"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3481"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3641"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3718"/> <source>This address is a subaddress which cannot be used here.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3558"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3796"/> <source>Error: expected M/N, but got: </source> <translation>エラー: N/Mを欲しかったでもこれを貰いました: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3563"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3801"/> <source>Error: expected N > 1 and N <= M, but got: </source> <translation>エラー: N > 1 と N <= M のこと欲しかったでもこれを貰いました: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3568"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3806"/> <source>Error: M/N is currently unsupported. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3809"/> <source>Generating master wallet from %u of %u multisig wallet keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3600"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3838"/> <source>failed to parse secret view key</source> <translation>秘密なビューキーの解析に失敗しました</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3608"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3846"/> <source>failed to verify secret view key</source> <translation>秘密なビューキーの検証に失敗しました</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3628"/> - <source>Secret spend key (%u of %u):</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="3889"/> + <source>Error: M/N is currently unsupported</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3651"/> - <source>Error: M/N is currently unsupported</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4055"/> + <source>Restore height </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3802"/> - <source>Restore height </source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4083"/> + <source>Warning: using an untrusted daemon at %s, privacy will be lessened</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3803"/> - <source>Still apply restore height? (Y/Yes/N/No): </source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4093"/> + <source>If you are new to Monero, type "welcome" for a brief overview.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3829"/> - <source>Warning: using an untrusted daemon at %s, privacy will be lessened</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="4098"/> + <source>WARNING: obsolete long payment IDs are enabled. Sending transactions with those payment IDs are bad for your privacy.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3888"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4100"/> + <source>It is recommended that you do not use them, and ask recipients who ask for one to not endanger your privacy.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4165"/> <source>Daemon either is not started or wrong port was passed. Please make sure daemon is running or change the daemon address using the 'set_daemon' command.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4036"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4203"/> + <source>Enter the number corresponding to the language of your choice</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4313"/> <source>Your wallet has been generated! To start synchronizing with the daemon, use the "refresh" command. Use the "help" command to see the list of available commands. @@ -1930,900 +2082,901 @@ your wallet again (your wallet keys are NOT at risk in any case). <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4180"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4457"/> <source>failed to generate new mutlisig wallet</source> <translation>新しいマルチシッグウォレットの生成に失敗しました</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4183"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4460"/> <source>Generated new %u/%u multisig wallet: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4232"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4509"/> <source>Opened %u/%u multisig wallet%s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4570"/> <source>Use "help <command>" to see a command's documentation. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4351"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4628"/> <source>wallet is multisig and cannot save a watch-only version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4476"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4664"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4696"/> + <source>Failed to query mining status: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4679"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4707"/> + <source>Failed to setup background mining: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4683"/> + <source>Background mining enabled. Thank you for supporting the Monero network.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4711"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4719"/> + <source>Background mining not enabled. Run "set setup-background-mining 1" to change.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4725"/> + <source>Using an untrusted daemon, skipping background mining check</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4750"/> + <source>The daemon is not set up to background mine.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4751"/> + <source>With background mining enabled, the daemon will mine when idle and not on batttery.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4752"/> + <source>Enabling this supports the network you are using, and makes you eligible for receiving new monero</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4757"/> + <source>Background mining not enabled. Set setup-background-mining to 1 to change.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4864"/> <source>Unexpected array length - Exited simple_wallet::set_daemon()</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4517"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4905"/> <source>This does not seem to be a valid daemon URL.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4553"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4590"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4941"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4974"/> <source>txid </source> <translation>txid </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4555"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4592"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4943"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4976"/> <source>idx </source> <translation>idx </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4780"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <source>WARNING: this transaction uses an unencrypted payment ID: consider using subaddresses instead.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <source>WARNING: this transaction uses an unencrypted payment ID: these are obsolete. Support will be withdrawn in the future. Use subaddresses instead.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5108"/> + <source>New transfer received since rescan was started. Key images are incomplete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5183"/> <source> (Some owned outputs have partial key images - import_multisig_info needed)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4783"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5186"/> <source>Currently selected account: [</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4783"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5186"/> <source>] </source> <translation>] </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4785"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5188"/> <source>Tag: </source> <translation>タグ: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4785"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5188"/> <source>(No tag assigned)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4792"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5200"/> <source>Balance per address:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> <source>Address</source> <translation>アドレス</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> <source>Balance</source> <translation>残高</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> <source>Unlocked balance</source> <translation>ロック解除された残高</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> <source>Outputs</source> <translation>アウトプット</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9122"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> <source>Label</source> <translation>ラベル</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4801"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5209"/> <source>%8u %6s %21s %21s %7u %21s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>spent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>global index</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>tx id</source> <translation>tx id</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>addr index</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4924"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5312"/> + <source>Used at heights: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5318"/> + <source>[frozen]</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5332"/> <source>No incoming transfers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4928"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5336"/> <source>No incoming available transfers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4932"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5340"/> <source>No incoming unavailable transfers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>payment</source> <translation>ペイメント</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>transaction</source> <translation>取引</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>height</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>unlock time</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4968"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5376"/> <source>No payments with id </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5016"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5106"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5442"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5901"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5424"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5514"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5843"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6302"/> <source>failed to get blockchain height: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5114"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5522"/> <source> Transaction %llu/%llu: txid=%s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5135"/> - <source> -Input %llu/%llu: amount=%s</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5151"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5559"/> <source>failed to get output: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5159"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5567"/> <source>output key's originating block height shouldn't be higher than the blockchain height</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5163"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5571"/> <source> Originating block heights: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5175"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5583"/> <source> |</source> <translation> |</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5175"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7706"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5583"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8110"/> <source>| </source> <translation>| </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5192"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5600"/> <source> Warning: Some input keys being spent are from </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5194"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5602"/> <source>, which can break the anonymity of ring signature. Make sure this is intentional!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5234"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5853"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6156"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5642"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6254"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6547"/> <source>Ring size must not be 0</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5246"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5865"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6168"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5654"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6266"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6559"/> <source>ring size %u is too small, minimum is %u</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5258"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5666"/> <source>wrong number of arguments</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5417"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5996"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6268"/> - <source>No payment id is included with this transaction. Is this okay? (Y/Yes/N/No): </source> + <location filename="../src/simplewallet/simplewallet.cpp" line="5686"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5796"/> + <source>Warning: Unencrypted payment IDs will harm your privacy: ask the recipient to use subaddresses instead</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5458"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6016"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5859"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6407"/> <source>No outputs found, or daemon is not ready</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6428"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6816"/> <source>Failed to parse donation address: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6442"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6830"/> <source>Donating %s %s to The Monero Project (donate.getmonero.org or %s).</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6444"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6832"/> <source>Donating %s %s to %s.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6759"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6770"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6777"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7164"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7175"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7182"/> <source>failed to parse tx_key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6786"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7191"/> <source>Tx key successfully stored.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6790"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7195"/> <source>Failed to store tx key: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7296"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7696"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>block</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7440"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7844"/> <source>usage: show_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7493"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7897"/> <source>usage: export_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] [output=<path>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>direction</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>timestamp</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>running balance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>hash</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>payment ID</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>fee</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>destination</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>index</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>note</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7572"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7976"/> <source>CSV exported to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7730"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8159"/> <source>Warning: this will lose any information which can not be recovered from the blockchain.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7731"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8160"/> <source>This includes destination addresses, tx secret keys, tx notes, etc</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7732"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8172"/> + <source>Warning: your restore height is higher than wallet restore height: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="8173"/> <source>Rescan anyway ? (Y/Yes/N/No): </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7750"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8192"/> <source>MMS received new message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8387"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8832"/> <source>Network type: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8388"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8833"/> <source>Testnet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8389"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8834"/> <source>Stagenet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8389"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8834"/> <source>Mainnet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8559"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8605"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8999"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9045"/> <source>command only supported by HW wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8564"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9004"/> <source>hw wallet does not support cold KI sync</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8576"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9016"/> <source>Please confirm the key image sync on the device</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8582"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9022"/> <source>Key images synchronized to height </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8585"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9025"/> <source>Running untrusted daemon, cannot determine which transaction output is spent. Use a trusted daemon with --trusted-daemon and run rescan_spent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8588"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9028"/> <source> spent, </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8588"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9028"/> <source> unspent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8592"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9032"/> <source>Failed to import key images</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8597"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9037"/> <source>Failed to import key images: </source> <translation type="unfinished">キーイメージをインポートできませんでした: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8614"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9054"/> <source>Failed to reconnect device</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8619"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9059"/> <source>Failed to reconnect device: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8883"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9323"/> <source>Transaction successfully saved to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8883"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8885"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9323"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9325"/> <source>, txid </source> <translation>、txid </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8885"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9325"/> <source>Failed to save transaction to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5723"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6044"/> - <source>Sweeping %s in %llu transactions for a total fee of %s. Is this okay? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5729"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6050"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6310"/> - <source>Sweeping %s for a total fee of %s. Is this okay? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6611"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7014"/> <source>This is a watch only wallet</source> <translation>これは閲覧専用ウォレットです</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8813"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9253"/> <source>Double spend seen on the network: this transaction may or may not end up being mined</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8848"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9288"/> <source>Transaction ID not found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="336"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="357"/> <source>true</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="389"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="410"/> <source>failed to parse refresh type</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="721"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="787"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="939"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="984"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1067"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1124"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1190"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1256"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1350"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1466"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1547"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6601"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6665"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6702"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6799"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7010"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7094"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8397"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8474"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8517"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8630"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8670"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="742"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="808"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="962"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1007"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1090"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1147"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1214"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1280"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1374"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1490"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7004"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7068"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7105"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7410"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7494"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8842"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8919"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8962"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9070"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9110"/> <source>command not supported by HW wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="726"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="797"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="747"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="818"/> <source>wallet is watch-only and has no seed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="744"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="807"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="828"/> <source>wallet is non-deterministic and has no seed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="751"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="772"/> <source>Enter optional seed offset passphrase, empty to see raw seed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="817"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="838"/> <source>Incorrect password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="883"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="906"/> <source>Current fee is %s %s per %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1036"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1158"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1059"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1181"/> <source>Send this multisig info to all other participants, then use exchange_multisig_keys <info1> [<info2>...] with others' multisig info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1167"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1190"/> <source>Multisig wallet has been successfully created. Current wallet type: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1172"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1196"/> <source>Failed to perform multisig keys exchange: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1499"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1523"/> <source>Failed to load multisig transaction from MMS</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1631"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1788"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1655"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1812"/> <source>Invalid key image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1637"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1661"/> <source>Invalid txid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1649"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1673"/> <source>Key image either not spent, or spent with mixin 0</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1664"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1688"/> <source>Failed to get key image ring: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1679"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1703"/> <source>File doesn't exist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1701"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1725"/> <source>Invalid ring specification: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1733"/> <source>Invalid key image: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1714"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1738"/> <source>Invalid ring type, expected relative or abosolute: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1720"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1732"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1744"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1756"/> <source>Error reading line: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1743"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1767"/> <source>Invalid ring: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1752"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1776"/> <source>Invalid relative ring: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1764"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1788"/> <source>Invalid absolute ring: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1773"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1797"/> <source>Failed to set ring for key image: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1773"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1797"/> <source>Continuing.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1803"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1827"/> <source>Missing absolute or relative keyword</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1813"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1820"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1837"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1844"/> <source>invalid index: must be a strictly positive unsigned integer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1828"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1852"/> <source>invalid index: indices wrap</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1838"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1862"/> <source>invalid index: indices should be in strictly ascending order</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1845"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1869"/> <source>failed to set ring</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1890"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1946"/> <source>First line is not an amount</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1904"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1960"/> <source>Invalid output: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1914"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1970"/> <source>Bad argument: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1914"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1970"/> <source>should be "add"</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1923"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1979"/> <source>Failed to open file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1929"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1985"/> <source>Invalid output key, and file doesn't exist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1935"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1991"/> <source>Failed to mark output spent: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1952"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1979"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2035"/> <source>Invalid output</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1962"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2018"/> <source>Failed to mark output unspent: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1986"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2042"/> <source>Spent: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2044"/> <source>Not spent: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1992"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2048"/> <source>Failed to check whether output is spent: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2007"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2063"/> <source>Failed to save known rings: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2022"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2171"/> <source>Please confirm the transaction on the device</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2069"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2088"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2218"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2237"/> <source>wallet is watch-only and cannot transfer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2106"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5581"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2255"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5982"/> <source>WARNING: this is a non default ring size, which may harm your privacy. Default is recommended.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2108"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2257"/> <source>WARNING: from v8, ring size will be fixed and this setting will be ignored.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2137"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2160"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2176"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2286"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2309"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2325"/> <source>priority must be either 0, 1, 2, 3, or 4, or one of: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2330"/> <source>could not change default priority</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2249"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2400"/> <source>invalid argument: must be either 0/never, 1/action, or 2/encrypt/decrypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2510"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2686"/> <source>Device name not specified</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2519"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2695"/> <source>Device reconnect failed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2524"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2700"/> <source>Device reconnect failed: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2583"/> - <source>Show the incoming transfers, all or filtered by availability and address index. - -Output format: -Amount, Spent("T"|"F"), "locked"|"unlocked", RingCT, Global Index, Transaction Hash, Address Index, [Public Key, Key Image] </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2595"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2771"/> <source>Transfer <amount> to <address>. If the parameter "index=<N1>[,<N2>,...]" is specified, the wallet uses outputs received by addresses of those indices. If omitted, the wallet randomly chooses address indices to be used. In any case, it tries its best not to combine outputs across multiple addresses. <priority> is the priority of the transaction. The higher the priority, the higher the transaction fee. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command "set priority") is used. <ring_size> is the number of inputs to include for untraceability. Multiple payments can be made at once by adding URI_2 or <address_2> <amount_2> etcetera (before the payment ID, if it's included)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2599"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2775"/> <source>Transfer <amount> to <address> and lock it for <lockblocks> (max. 1000000). If the parameter "index=<N1>[,<N2>,...]" is specified, the wallet uses outputs received by addresses of those indices. If omitted, the wallet randomly chooses address indices to be used. In any case, it tries its best not to combine outputs across multiple addresses. <priority> is the priority of the transaction. The higher the priority, the higher the transaction fee. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command "set priority") is used. <ring_size> is the number of inputs to include for untraceability. Multiple payments can be made at once by adding URI_2 or <address_2> <amount_2> etcetera (before the payment ID, if it's included)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2603"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2779"/> <source>Send all unlocked balance to an address and lock it for <lockblocks> (max. 1000000). If the parameter "index<N1>[,<N2>,...]" is specified, the wallet sweeps outputs received by those address indices. If omitted, the wallet randomly chooses an address index to be used. <priority> is the priority of the sweep. The higher the priority, the higher the transaction fee. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command "set priority") is used. <ring_size> is the number of inputs to include for untraceability.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2609"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2785"/> <source>Send all unlocked balance to an address. If the parameter "index<N1>[,<N2>,...]" is specified, the wallet sweeps outputs received by those address indices. If omitted, the wallet randomly chooses an address index to be used. If the parameter "outputs=<N>" is specified and N > 0, wallet splits the transaction into N even outputs.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2625"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2801"/> <source>Sign a transaction from a file. If the parameter "export_raw" is specified, transaction raw hex data suitable for the daemon RPC /sendrawtransaction is exported.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2673"/> - <source>Available options: - seed language - Set the wallet's seed language. - always-confirm-transfers <1|0> - Whether to confirm unsplit txes. - print-ring-members <1|0> - Whether to print detailed information about ring members during confirmation. - store-tx-info <1|0> - Whether to store outgoing tx info (destination address, payment ID, tx secret key) for future reference. - default-ring-size <n> - Set the default ring size (obsolete). - auto-refresh <1|0> - Whether to automatically synchronize new blocks from the daemon. - refresh-type <full|optimize-coinbase|no-coinbase|default> - Set the wallet's refresh behaviour. - priority [0|1|2|3|4] - Set the fee to default/unimportant/normal/elevated/priority. - confirm-missing-payment-id <1|0> - ask-password <0|1|2 (or never|action|decrypt)> - unit <monero|millinero|micronero|nanonero|piconero> - Set the default monero (sub-)unit. - min-outputs-count [n] - Try to keep at least that many outputs of value at least min-outputs-value. - min-outputs-value [n] - Try to keep at least min-outputs-count outputs of at least that value. - merge-destinations <1|0> - Whether to merge multiple payments to the same destination address. - confirm-backlog <1|0> - Whether to warn if there is transaction backlog. - confirm-backlog-threshold [n] - Set a threshold for confirm-backlog to only warn if the transaction backlog is greater than n blocks. - refresh-from-block-height [n] - Set the height before which to ignore blocks. - auto-low-priority <1|0> - Whether to automatically use the low priority fee level when it's safe to do so. - segregate-pre-fork-outputs <1|0> - Set this if you intend to spend outputs on both Monero AND a key reusing fork. - key-reuse-mitigation2 <1|0> - Set this if you are not sure whether you will spend on a key reusing Monero fork later. -subaddress-lookahead <major>:<minor> - Set the lookahead sizes for the subaddress hash table. - Set this if you are not sure whether you will spend on a key reusing Monero fork later. - segregation-height <n> - Set to the height of a key reusing fork you want to use, 0 to use default.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2730"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2908"/> <source>Set the transaction key (r) for a given <txid> in case the tx was made by some other device or 3rd party wallet.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2943"/> <source>Show the incoming/outgoing transfers within an optional height range. Output format: @@ -2837,42 +2990,42 @@ Pending or Failed: "failed"|"pending", "o <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2775"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2953"/> <source>export_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] [output=<filepath>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2776"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2954"/> <source>Export to CSV the incoming/outgoing transfers within an optional height range.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2784"/> - <source>Rescan the blockchain from scratch, losing any information which can not be recovered from the blockchain itself.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2818"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2996"/> <source>Export a signed set of key images to a <filename>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2826"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3004"/> <source>Synchronizes key images with the hw wallet.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2830"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3008"/> <source>Attempts to reconnect HW wallet.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2865"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3027"/> + <source>Generate a new random full size payment id (obsolete). These will be unencrypted on the blockchain, see integrated_address for encrypted short payment ids.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3043"/> <source>Performs extra multisig keys exchange rounds. Needed for arbitrary M/N multisig wallets</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2889"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3067"/> <source>Interface with the MMS (Multisig Messaging System) <subcommand> is one of: init, info, signer, list, next, sync, transfer, delete, send, receive, export, note, show, set, help @@ -2881,73 +3034,73 @@ Get help about a subcommand with: help mms <subcommand>, or mms help <s <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2897"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3075"/> <source>Initialize and configure the MMS for M/N = number of required signers/number of authorized signers multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2901"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3079"/> <source>Display current MMS configuration</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2905"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3083"/> <source>Set or modify authorized signer info (single-word label, transport address, Monero address), or list all signers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2909"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3087"/> <source>List all messages</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2913"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3091"/> <source>Evaluate the next possible multisig-related action(s) according to wallet state, and execute or offer for choice By using 'sync' processing of waiting messages with multisig sync info can be forced regardless of wallet state</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2918"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3096"/> <source>Force generation of multisig sync info regardless of wallet state, to recover from special situations like "stale data" errors</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2922"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3100"/> <source>Initiate transfer with MMS support; arguments identical to normal 'transfer' command arguments, for info see there</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2926"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3104"/> <source>Delete a single message by giving its id, or delete all messages by using 'all'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2930"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3108"/> <source>Send a single message by giving its id, or send all waiting messages</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2934"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3112"/> <source>Check right away for new messages to receive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2938"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3116"/> <source>Write the content of a message to a file "mms_message_content"</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2942"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3120"/> <source>Send a one-line message to an authorized signer, identified by its label, or show any waiting unread notes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2946"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3124"/> <source>Show detailed info about a single message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2950"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3128"/> <source>Available options: auto-send <1|0> Whether to automatically send newly generated messages right away. @@ -2955,27 +3108,27 @@ By using 'sync' processing of waiting messages with multisig sync info <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3134"/> <source>Send completed signer config to all other authorized signers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2960"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3138"/> <source>Start auto-config at the auto-config manager's wallet by issuing auto-config tokens and optionally set others' labels</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2964"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3142"/> <source>Delete any auto-config tokens and abort a auto-config process</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2968"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3146"/> <source>Start auto-config by using the token received from the auto-config manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3150"/> <source>Print the ring(s) used to spend a given key image or transaction (if the ring size is > 1) Output format: @@ -2983,1529 +3136,1600 @@ Key Image, "absolute", list of rings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2978"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3156"/> <source>Set the ring used for a given key image, so it can be reused in a fork</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2982"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3164"/> <source>Save known rings to the shared rings database</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2986"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3168"/> <source>Mark output(s) as spent so they never get selected as fake outputs in a ring</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2990"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3172"/> <source>Marks an output as unspent so it may get selected as a fake output in a ring</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2994"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3176"/> <source>Checks whether an output is marked as spent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2998"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3200"/> <source>Returns version information</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3087"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3297"/> <source>full (slowest, no assumptions); optimize-coinbase (fast, assumes the whole coinbase is paid to a single address); no-coinbase (fastest, assumes we receive no coinbase transaction), default (same as optimize-coinbase)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3088"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3298"/> <source>0, 1, 2, 3, or 4, or one of </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3090"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3300"/> <source>0|1|2 (or never|action|decrypt)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3091"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3301"/> <source>monero, millinero, micronero, nanonero, piconero</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3102"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3312"/> <source><major>:<minor></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3106"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3317"/> <source><device_name[:device_spec]></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3127"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3338"/> <source>wrong number range, use: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3166"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3377"/> <source>Wallet name not valid. Please try again or use Ctrl-C to quit.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3183"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3394"/> <source>Wallet and key files found, loading...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3189"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3400"/> <source>Key file found but not wallet file. Regenerating...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3195"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3406"/> <source>Key file not found. Failed to open wallet: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3214"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3425"/> <source>Generating new wallet...</source> <translation>新しいウォレットを生じてます...</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3232"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3443"/> <source>NOTE: the following %s can be used to recover access to your wallet. Write them down and store them somewhere safe and secure. Please do not store them in your email or on file storage services outside of your immediate control. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3445"/> <source>string</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3445"/> <source>25 words</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3273"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3506"/> <source>Can't specify more than one of --testnet and --stagenet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3285"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3521"/> <source>can't specify more than one of --generate-new-wallet="wallet_name", --wallet-file="wallet_name", --generate-from-view-key="wallet_name", --generate-from-spend-key="wallet_name", --generate-from-keys="wallet_name", --generate-from-multisig-keys="wallet_name", --generate-from-json="jsonfilename" and --generate-from-device="wallet_name"</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3364"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3600"/> <source>Electrum-style word list failed verification</source> <translation>Electrumな単語表の検証に失敗しました</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3369"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3605"/> <source>Enter seed offset passphrase, empty if none</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3395"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3415"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3450"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3470"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3490"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3505"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3553"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3578"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3594"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3633"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3630"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3650"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3686"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3707"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3727"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3742"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3791"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3816"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3832"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3871"/> <source>No data supplied, cancelled</source> <translation>データをもらいませんでしたのでキャンセルしました</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3401"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3476"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3584"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5371"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5969"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6243"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6818"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6886"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6950"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7154"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8193"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8454"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3636"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3713"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3822"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5770"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6360"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6631"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7218"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7286"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7350"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7554"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8636"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8899"/> <source>failed to parse address</source> <translation>アドレスの解析に失敗しました</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3421"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3511"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3656"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3748"/> <source>failed to parse view key secret key</source> <translation>秘密なビューキーの解析に失敗しました</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3430"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3528"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3665"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3765"/> <source>failed to verify view key secret key</source> <translation>秘密なビューキーの検証に失敗しました</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3434"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3532"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3613"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3769"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3851"/> <source>view key does not match standard address</source> <translation>ビューキーが一般的なアドレスと一致しませんでした</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3439"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3459"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3536"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3674"/> <location filename="../src/simplewallet/simplewallet.cpp" line="3695"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3726"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3773"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3907"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3934"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3966"/> <source>account creation failed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3455"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3496"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3638"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3691"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3733"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3876"/> <source>failed to parse spend key secret key</source> <translation>秘密なスペンドキーの解析に失敗しました</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3520"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3658"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3757"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3896"/> <source>failed to verify spend key secret key</source> <translation>秘密なスペンドキーの検証に失敗しました</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3524"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3663"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3761"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3901"/> <source>spend key does not match standard address</source> <translation>スペンドキーが一般的なアドレスと一致しませんでした</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3701"/> - <source>No restore height is specified.</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="3866"/> + <source>Secret spend key (%u of %u)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3702"/> - <source>Assumed you are creating a new account, restore will be done from current estimated blockchain height.</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="3941"/> + <source>No restore height is specified.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3703"/> - <source>Use --restore-height if you want to restore an already setup account from a specific height</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="3942"/> + <source>Assumed you are creating a new account, restore will be done from current estimated blockchain height.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3707"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3947"/> <source>account creation aborted</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3816"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4069"/> <source>can't specify --subaddress-lookahead and --wallet-file at the same time</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3820"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4073"/> <source>failed to open account</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3824"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4391"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4444"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4529"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6854"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4078"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4779"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4832"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4917"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7254"/> <source>wallet is null</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3832"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4086"/> <source>Failed to initialize ring database: privacy enhancing features will be inactive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3917"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4194"/> <source>If your display freezes, exit blind with ^C, then run again with --use-english-language-names</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3935"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4212"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4217"/> <source>invalid language choice entered. Please try again. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4019"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4296"/> <source>View key: </source> <translation>ビューキー: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4407"/> <source>Generated new wallet on hw device: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4209"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4486"/> <source>Key file not found. Failed to open wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4286"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4563"/> <source>You may want to remove the file "%s" and try again</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4314"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4591"/> <source>failed to deinitialize wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4367"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4644"/> <source>Watch only wallet saved as: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4371"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4648"/> <source>Failed to save watch only wallet: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4382"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5024"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8522"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4770"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5432"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8967"/> <source>this command requires a trusted daemon. Enable with --trusted-daemon</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4498"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4886"/> <source>Expected trusted or untrusted, got </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4515"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4903"/> <source>trusted</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4515"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4903"/> <source>untrusted</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4539"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4927"/> <source>blockchain can't be saved: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4569"/> - <source>NOTE: this transaction uses an encrypted payment ID: consider using subaddresses instead</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4572"/> - <source>WARNING: this transaction uses an unencrypted payment ID: consider using subaddresses instead</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4608"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4992"/> <source>Password needed (%s) - use the refresh command</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4616"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5000"/> <source>Enter password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4631"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5015"/> <source>Device requires attention</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4639"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5023"/> <source>Enter device PIN</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4641"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5025"/> <source>Failed to read device PIN</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4648"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5032"/> <source>Please enter the device passphrase on the device</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4655"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5039"/> <source>Enter device passphrase</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4657"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5041"/> <source>Failed to read device passphrase</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4673"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5057"/> <source>The first refresh has finished for the HW-based wallet with received money. hw_key_images_sync is needed. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4675"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4753"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5059"/> <source>Do you want to do it now? (Y/Yes/N/No): </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4677"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5061"/> <source>hw_key_images_sync skipped. Run command manually before a transfer.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4720"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5038"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5123"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5446"/> <source>daemon is busy. Please try again later.</source> <translation>デーモンは忙しいです。後でもう一度試してください。</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4724"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5042"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5127"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5450"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation>デーモンの接続が確立ありません。デーモンが実行中になっていることを確認してください。</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4734"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5137"/> <source>refresh error: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4782"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5185"/> <source> (Some owned outputs have missing key images - import_key_images needed)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4786"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5194"/> <source>Balance: </source> <translation>残高: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4855"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5263"/> <source>Invalid keyword: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5301"/> <source>pubkey</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5301"/> <source>key image</source> <translation>キーイメージ</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4910"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5318"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>unlocked</source> <translation></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>ringct</source> <translation>ringct</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4904"/> - <source>Heights: </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4909"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5317"/> <source>T</source> <translation>T</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4909"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5317"/> <source>F</source> <translation>F</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4910"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5318"/> <source>locked</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4911"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5319"/> <source>RingCT</source> <translation>RingCT</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4911"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5319"/> <source>-</source> <translation>-</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4990"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5398"/> <source>payment ID has invalid format, expected 16 or 64 character hex string: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5046"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5454"/> <source>failed to get spent status</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5538"/> <source>failed to find construction data for tx input</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5543"/> + <source> +Input %llu/%llu (%s): amount=%s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5601"/> <source>the same transaction</source> <translation>同じ取引</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5601"/> <source>blocks that are temporally very close</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9015"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6295"/> + <source>Locked blocks too high, max 1000000 (˜4 yrs)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5818"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6387"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6656"/> + <source>No payment id is included with this transaction. Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5882"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5892"/> + <source>Is this okay anyway?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5887"/> + <source>There is currently a %u block backlog at that fee level. Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="6124"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6435"/> + <source>Sweeping %s in %llu transactions for a total fee of %s. Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="6130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6441"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6698"/> + <source>Sweeping %s for a total fee of %s. Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="6177"/> + <source>Discarding %s of unmixable outputs that cannot be spent, which can be undone by "rescan_spent". Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="6980"/> + <source>Loaded %lu transactions, for %s, fee %s, %s, %s, with min ring size %lu, %s. %sIs this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="8161"/> + <source>Rescan anyway?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="8654"/> + <source>Short payment IDs are to be used within an integrated address only</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="9457"/> <source> (Y/Yes/N/No): </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9042"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9484"/> <source>Choose processing:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9051"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9493"/> <source>Sign tx</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9059"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9501"/> <source>Send the tx for submission to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9063"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9505"/> <source>Send the tx for signing to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9070"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9512"/> <source>Submit tx</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9073"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9515"/> <source>unknown</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9079"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9521"/> <source>Choice: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9091"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9533"/> <source>Wrong choice</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9540"/> <source>Id</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9540"/> <source>I/O</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9540"/> <source>Authorized Signer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Message Type</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Height</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>R</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Message State</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Since</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9116"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9558"/> <source> ago</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9122"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> <source>#</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9122"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> <source>Transport Address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9123"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9565"/> <source>Auto-Config Token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9123"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9565"/> <source>Monero Address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9127"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9135"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9137"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9569"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9577"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9579"/> <source><not set></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9178"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9620"/> <source>Message </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9179"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9621"/> <source>In/out: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9623"/> <source>State: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9623"/> <source>%s since %s, %s ago</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9185"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9627"/> <source>Sent: Never</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9189"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9631"/> <source>Sent: %s, %s ago</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9192"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9634"/> <source>Authorized signer: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9635"/> <source>Content size: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9635"/> <source> bytes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9194"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9636"/> <source>Content: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9194"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9636"/> <source>(binary data)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9224"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9666"/> <source>Send these messages now?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9676"/> <source>Queued for sending.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9254"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9696"/> <source>Invalid message id</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9263"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9705"/> <source>usage: mms init <required_signers>/<authorized_signers> <own_label> <own_transport_address></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9269"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9711"/> <source>The MMS is already initialized. Re-initialize by deleting all signer info and messages?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9284"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9726"/> <source>Error in the number of required signers and/or authorized signers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9301"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9743"/> <source>The MMS is not active.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9324"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9766"/> <source>Invalid signer number </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9329"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9771"/> <source>mms signer [<number> <label> [<transport_address> [<monero_address>]]]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9348"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9790"/> <source>Invalid Monero address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9355"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9797"/> <source>Wallet state does not allow changing Monero addresses anymore</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9367"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9809"/> <source>Usage: mms list</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9380"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9822"/> <source>Usage: mms next [sync]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9405"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9847"/> <source>No next step: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9415"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9857"/> <source>prepare_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9421"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9863"/> <source>make_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9436"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9878"/> <source>exchange_multisig_keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9451"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10013"/> <source>export_multisig_info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9460"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9902"/> <source>import_multisig_info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9473"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9915"/> <source>sign_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9483"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9925"/> <source>submit_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9493"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9935"/> <source>Send tx</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9504"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9946"/> <source>Process signer config</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9516"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9958"/> <source>Replace current signer config with the one displayed above?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9530"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9972"/> <source>Process auto config data</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9544"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9986"/> <source>Nothing ready to process</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10006"/> <source>Usage: mms sync</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9588"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10030"/> <source>Usage: mms delete (<message_id> | all)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9595"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10037"/> <source>Delete all messages?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9621"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10063"/> <source>Usage: mms send [<message_id>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9638"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10080"/> <source>Usage: mms receive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9655"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10097"/> <source>Usage: mms export <message_id></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9667"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10109"/> <source>Message content saved to: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9671"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10113"/> <source>Failed to to save message content</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9695"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10137"/> <source>Usage: mms note [<label> <text>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9702"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10144"/> <source>No signer found with label </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9724"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10166"/> <source>Usage: mms show <message_id></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9743"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10185"/> <source>Usage: mms set <option_name> [<option_value>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9760"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10202"/> <source>Wrong option value</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10207"/> <source>Auto-send is on</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10207"/> <source>Auto-send is off</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9770"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10212"/> <source>Unknown option</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9778"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10220"/> <source>Usage: mms help [<subcommand>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9794"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10236"/> <source>Usage: mms send_signer_config</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9800"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10242"/> <source>Signer config not yet complete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9815"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10257"/> <source>Usage: mms start_auto_config [<label> <label> ...]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9820"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10262"/> <source>There are signers without a label set. Complete labels before auto-config or specify them as parameters here.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9826"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10268"/> <source>Auto-config is already running. Cancel and restart?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9850"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10292"/> <source>Usage: mms stop_auto_config</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9853"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10295"/> <source>Delete any auto-config tokens and stop auto-config?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9866"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10308"/> <source>Usage: mms auto_config <auto_config_token></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9873"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10315"/> <source>Invalid auto-config token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9879"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10321"/> <source>Auto-config already running. Cancel and restart?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9911"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10339"/> + <source>MMS not available in this wallet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="10363"/> <source>The MMS is not active. Activate using the "mms init" command</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10440"/> <source>Invalid MMS subcommand</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9993"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9997"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10445"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10449"/> <source>Error in MMS command: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6969"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7079"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7369"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7479"/> <source>Good signature</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6996"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7081"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7396"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7481"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7581"/> <source>Bad signature</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8169"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8612"/> <source>Standard address: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8174"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8617"/> <source>failed to parse payment ID or address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8215"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8659"/> <source>failed to parse payment ID</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8233"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8677"/> <source>failed to parse index</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8241"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8685"/> <source>Address book is empty.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8247"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8691"/> <source>Index: </source> <translation>インデックス: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8248"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8378"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8692"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8823"/> <source>Address: </source> <translation>アドレス: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8249"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8693"/> <source>Payment ID: </source> <translation>ペイメントID: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8250"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8377"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8694"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8822"/> <source>Description: </source> <translation>記述: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8407"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8852"/> <source>wallet is watch-only and cannot sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1289"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8421"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8447"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8684"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1313"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8866"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8892"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9124"/> <source>failed to read file </source> <translation>ファイルの読み込みに失敗しました </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6958"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7072"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7166"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3943"/> + <source>Use --restore-height or --restore-date if you want to restore an already setup account from a specific height.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3945"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4033"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5984"/> + <source>Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4056"/> + <source>Still apply restore height?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="7358"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7472"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7566"/> <source>failed to load signature file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7020"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7420"/> <source>wallet is watch-only and cannot generate the proof</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7104"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7504"/> <source>The reserve proof can be generated only by a full wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7159"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7559"/> <source>Address must not be a subaddress</source> <translation>アドレスはサブアドレスであってはならないです</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7177"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7577"/> <source>Good signature -- total: %s, spent: %s, unspent: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7365"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7767"/> <source>[Double spend seen on the network: this transaction may or may not end up being mined] </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7641"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8045"/> <source>There is no unspent output in the specified address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7799"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8242"/> <source> (no daemon)</source> <translation> (デーモンありません)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7801"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8244"/> <source> (out of sync)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7852"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8295"/> <source>(Untitled account)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7865"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7883"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7908"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7931"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8077"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8100"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8308"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8326"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8351"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8374"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8520"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8543"/> <source>failed to parse index: </source> <translation>インデックスの解析に失敗しました: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7870"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8082"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8313"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8525"/> <source>specify an index between 0 and </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8431"/> <source> Grand total: Balance: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8431"/> <source>, unlocked balance: </source> <translation>、ロック解除された残高: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7996"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8439"/> <source>Untagged accounts:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8002"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8445"/> <source>Tag %s is unregistered.</source> <translation type="unfinished">タグ %s を登録してません。</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8005"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8448"/> <source>Accounts with tag: </source> <translation>タグを持ってるアカウント: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8006"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8449"/> <source>Tag's description: </source> <translation>タグの記述: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> <source>Account</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8014"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8457"/> <source> %c%8u %6s %21s %21s %21s</source> <translation> %c%8u %6s %21s %21s %21s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8024"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8467"/> <source>----------------------------------------------------------------------------------</source> <translation>----------------------------------------------------------------------------------</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8025"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8468"/> <source>%15s %21s %21s</source> <translation>%15s %21s %21s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8048"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8491"/> <source>Primary address</source> <translation>プライマリアドレス</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8048"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8491"/> <source>(used)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8069"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8512"/> <source>(Untitled address)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8109"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8552"/> <source><index_min> is already out of bound</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8114"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8557"/> <source><index_max> exceeds the bound</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8140"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8152"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8583"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8595"/> <source>Integrated addresses can only be created for account 0</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8164"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8607"/> <source>Integrated address: %s, payment ID: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8169"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8612"/> <source>Subaddress: </source> <translation>サブアドレス: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8335"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8779"/> <source>no description found</source> <translation>記述を見つかれませんでした</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8337"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8781"/> <source>description found: </source> <translation>記述を見つかれました: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8376"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8821"/> <source>Filename: </source> <translation>ファイル名: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8381"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8826"/> <source>Watch only</source> <translation>閲覧専用</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8383"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8828"/> <source>%u/%u multisig%s</source> <translation>%u/%u マルチサイン%s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8385"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8830"/> <source>Normal</source> <translation>ノーマル</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8386"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9180"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8831"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9622"/> <source>Type: </source> <translation>タイプ: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8412"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8857"/> <source>This wallet is multisig and cannot sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8461"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8906"/> <source>Bad signature from </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8465"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8910"/> <source>Good signature from </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8484"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8929"/> <source>wallet is watch-only and cannot export key images</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1228"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8498"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8651"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1252"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8943"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9091"/> <source>failed to save file </source> <translation>ファイルを保存できませんでした </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8509"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8954"/> <source>Signed key images exported to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8662"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9102"/> <source>Outputs exported to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5354"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6417"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7115"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7600"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7608"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5752"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6805"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7515"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8004"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8012"/> <source>amount is wrong: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5355"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6417"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5753"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6805"/> <source>expected number from 0 to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5721"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6122"/> <source>Sweeping </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6350"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6738"/> <source>Money successfully sent, transaction: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6530"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6933"/> <source>Change goes to more than one address</source> <translation type="unfinished">お釣りは複数のアドレスに送ります</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6974"/> <source>%s change to %s</source> <translation>%s のお釣り %s に</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6574"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6977"/> <source>no change</source> <translation>お釣りありません</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1435"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1448"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6646"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1459"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1472"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7049"/> <source>Transaction successfully signed to file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6713"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6749"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6811"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6860"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6942"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7027"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7062"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8267"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8295"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8714"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7116"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7154"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7211"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7260"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7342"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7427"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7462"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8711"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8739"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9154"/> <source>failed to parse txid</source> <translation>txidの解析に失敗しました</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6727"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7132"/> <source>Tx key: </source> <translation>txキー: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6732"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7137"/> <source>no tx keys found for this txid</source> <translation type="unfinished">このtxidのためにtxキーを見つかれませんでした</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6829"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7041"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7229"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7441"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7530"/> <source>signature file saved to: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6831"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7043"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7132"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7231"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7443"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7532"/> <source>failed to save signature file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6868"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6877"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7268"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7277"/> <source>failed to parse tx key</source> <translation>txキーの解析に失敗しました</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6835"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6923"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7001"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7235"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7323"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7401"/> <source>error: </source> <translation>エラー: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6899"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7299"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7372"/> <source>received</source> <translation>貰いました</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6899"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7299"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7372"/> <source>in txid</source> <translation>txidに</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6918"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6991"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7318"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7391"/> <source>received nothing in txid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6902"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6975"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7375"/> <source>WARNING: this transaction is not yet included in the blockchain!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6908"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6981"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7308"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7381"/> <source>This transaction has %u confirmations</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6912"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6985"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7312"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7385"/> <source>WARNING: failed to determine number of confirmations!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7266"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7666"/> <source>bad min_height parameter:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7278"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7678"/> <source>bad max_height parameter:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7296"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7696"/> <source>in</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7615"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8019"/> <source><min_amount> should be smaller than <max_amount></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7647"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8051"/> <source> Amount: </source> <translation> 金額: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7647"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8051"/> <source>, number of keys: </source> <translation>、キーの数: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7652"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8056"/> <source> </source> <translation> </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7657"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8061"/> <source> Min block height: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7658"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8062"/> <source> Max block height: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7659"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8063"/> <source> Min amount found: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7660"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8064"/> <source> Max amount found: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7661"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8065"/> <source> Total count: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7701"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8105"/> <source> Bin size: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7702"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8106"/> <source> Outputs per *: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7704"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8108"/> <source>count ^ </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7706"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8110"/> <source> |</source> <translation> |</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7708"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8112"/> <source> +</source> <translation> +</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7708"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8112"/> <source>+--> block height </source> <translation>+--> ブロック高 </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8113"/> <source> ^</source> <translation> ^</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8113"/> <source>^ </source> <translation>^ </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7710"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8114"/> <source> </source> <translation> </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7797"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8240"/> <source>wallet</source> <translation>ウォレット</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="870"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8144"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8587"/> <source>Random payment ID: </source> <translation>ランダムなペイメントID: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8145"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8588"/> <source>Matching integrated address: </source> <translation type="unfinished"></translation> </message> @@ -4757,311 +4981,321 @@ Use "mms note" to display the waiting notes</source> <context> <name>sw</name> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="125"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="135"/> <source>Generate new wallet and save it to <arg></source> <translation>新しいウォレットを生じろ <arg> をこっちにセーブしてください</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="126"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="136"/> <source>Generate new wallet from device and save it to <arg></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="127"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="137"/> <source>Generate incoming-only wallet from view key</source> <translation>ビューキーで閲覧専用ウォレットを生じろください</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="128"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="138"/> <source>Generate deterministic wallet from spend key</source> <translation>スペンドキーで決定論的なウォレットを生じろください</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="129"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="139"/> <source>Generate wallet from private keys</source> <translation>秘密なキーでウォレットを生じろください</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="140"/> <source>Generate a master wallet from multisig wallet keys</source> <translation>マルチシガーウォレットキーでマスターウォレットを生じろください</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="132"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="142"/> <source>Language for mnemonic</source> <translation>ニーモニックのための言語</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="133"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="143"/> <source>Specify Electrum seed for wallet recovery/creation</source> <translation>ウォレットの回収や作成のためにElectrumなニーモニックシードを指定してください</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="134"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="144"/> <source>Recover wallet using Electrum-style mnemonic seed</source> <translation>Electrumなニーモニックシードでウォレットを復元してください</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="135"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="145"/> <source>Recover multisig wallet using Electrum-style mnemonic seed</source> <translation>Electrumなニーモニックシードでマルチシガーウォレットを復元してください</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="136"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="146"/> <source>Generate non-deterministic view and spend keys</source> <translation>非決定論的のビューとスペンドキーを生じろください</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="361"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="149"/> + <source>Restore from estimated blockchain height on specified date</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="382"/> <source>invalid argument: must be either 0/1, true/false, y/n, yes/no</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="417"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="438"/> <source>DNSSEC validation passed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="421"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="442"/> <source>WARNING: DNSSEC validation was unsuccessful, this address may not be correct!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="424"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="445"/> <source>For URL: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="426"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="447"/> <source> Monero Address = </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="428"/> - <source>Is this OK? (Y/n) </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="438"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="459"/> <source>you have cancelled the transfer request</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="459"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="480"/> <source>failed to parse index: </source> <translation type="unfinished">インデックスの解析に失敗しました: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="472"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="493"/> <source>invalid format for subaddress lookahead; must be <major>:<minor></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="489"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="510"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation type="unfinished">デーモンの接続が確立ありません。デーモンが実行中になっていることを確認してください。</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="494"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="515"/> <source>RPC error: </source> <translation type="unfinished">RPCエラー: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="498"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="519"/> <source>failed to get random outputs to mix: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="505"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="513"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="526"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="534"/> <source>Not enough money in unlocked balance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="523"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="544"/> <source>Failed to find a way to create transactions. This is usually due to dust which is so small it cannot pay for itself in fees, or trying to send more money than the unlocked balance, or not leaving enough for fees</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="529"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="550"/> <source>not enough outputs for specified ring size</source> <translation type="unfinished">指定したリングサイズのアウトプットが不十分です</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="532"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="553"/> <source>output amount</source> <translation type="unfinished">アウトプットの金額</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="532"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="553"/> <source>found outputs to use</source> <translation type="unfinished">使うためにアウトプットを見つかれました</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="534"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="555"/> <source>Please use sweep_unmixable.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="538"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="559"/> <source>transaction was not constructed</source> <translation type="unfinished">取引を作りませんでした</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="543"/> - <source>transaction %s was rejected by daemon with status: </source> - <translation type="unfinished">取引 %s がデーモンによって拒否しました。ステータス: </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="546"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="567"/> <source>Reason: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="555"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="576"/> <source>one of destinations is zero</source> <translation type="unfinished">宛先の1つはゼロです</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="560"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="581"/> <source>failed to find a suitable way to split transactions</source> <translation type="unfinished">取引を分割する適切な方法を見つけることができませんでした</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="566"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="587"/> <source>unknown transfer error: </source> <translation type="unfinished">不明な転送エラー: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="592"/> <source>Multisig error: </source> <translation type="unfinished">マルチサインエラー: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="577"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="598"/> <source>internal error: </source> <translation type="unfinished">内部エラー: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="582"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="603"/> <source>unexpected error: </source> <translation type="unfinished">予期せぬエラー: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="586"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="607"/> <source>There was an error, which could mean the node may be trying to get you to retry creating a transaction, and zero in on which outputs you own. Or it could be a bona fide error. It may be prudent to disconnect from this node, and not try to send a transaction immediately. Alternatively, connect to another node so the original node cannot correlate information.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="596"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="617"/> <source>File %s likely stores wallet private keys! Use a different file name.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="599"/> - <source>File %s already exists. Are you sure to overwrite it? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7195"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7595"/> <source> seconds</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7197"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7597"/> <source> minutes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7199"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7599"/> <source> hours</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7601"/> <source> days</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7203"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7603"/> <source> months</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7204"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7604"/> <source>a long time</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9382"/> <source>This is the command line monero wallet. It needs to connect to a monero daemon to work correctly. WARNING: Do not reuse your Monero keys on another fork, UNLESS this fork has key reuse mitigations built in. Doing so will harm your privacy.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8965"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9407"/> <source>Unknown command: </source> <translation type="unfinished">未知のコマンド: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="137"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="147"/> <source>Allow communicating with a daemon that uses a different RPC version</source> <translation>別のRPCバージョンを使用してるデーモンとの通信を許可してください</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="138"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="148"/> <source>Restore from specific blockchain height</source> <translation>特定ブロックチェイン高で復元してください</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="139"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="150"/> <source>The newly created transaction will not be relayed to the monero network</source> <translation>新しい取引をネットワークに中継しません</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="140"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="151"/> <source>Create an address file for new wallets</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="142"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="153"/> <source>Display English language names</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="276"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="154"/> + <source>Support obsolete long (unencrypted) payment ids (using them harms your privacy)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="297"/> <source>failed to read wallet password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="283"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="304"/> <source>Enter a new password for the wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="283"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="304"/> <source>Wallet password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="293"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="485"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="314"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="506"/> <source>daemon is busy. Please try again later.</source> <translation>デーモンは忙しいです。後でもう一度試してください。</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="323"/> <source>possibly lost connection to daemon</source> <translation>デモンの接続が切れましたかもしりません</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="319"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="340"/> <source>Error: </source> <translation>エラー: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8959"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="449"/> + <source>Is this OK?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="564"/> + <source>transaction %s was rejected by daemon</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="620"/> + <source>File %s already exists. Are you sure to overwrite it?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="9401"/> <source>Failed to initialize wallet</source> <translation>ウォレットを初期化できませんでした</translation> </message> @@ -5069,359 +5303,448 @@ WARNING: Do not reuse your Monero keys on another fork, UNLESS this fork has key <context> <name>tools::wallet2</name> <message> - <location filename="../src/wallet/wallet2.cpp" line="201"/> + <location filename="../src/wallet/wallet2.cpp" line="234"/> <source>Use daemon instance at <host>:<port></source> <translation><host>:<port>でデーモンインスタンスを使ってください</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="202"/> + <location filename="../src/wallet/wallet2.cpp" line="235"/> <source>Use daemon instance at host <arg> instead of localhost</source> <translation>localhostの代わりにホスト <arg>でデーモンインスタンスを使ってください</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="206"/> + <location filename="../src/wallet/wallet2.cpp" line="240"/> <source>Wallet password file</source> <translation>ウォレットのパスワードファイル</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="207"/> + <location filename="../src/wallet/wallet2.cpp" line="241"/> <source>Use daemon instance at port <arg> instead of 18081</source> <translation>18081の代わりにポート <arg>でデーモンインスタンスを使ってください</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="209"/> + <location filename="../src/wallet/wallet2.cpp" line="250"/> <source>For testnet. Daemon must also be launched with --testnet flag</source> <translation>テストネットのためにデーモンは --testnet のフラグで開始する必要があります</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="282"/> + <location filename="../src/wallet/wallet2.cpp" line="361"/> <source>can't specify daemon host or port more than once</source> <translation>デーモンのホストやポートを複数回指定することはできません</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="355"/> + <location filename="../src/wallet/wallet2.cpp" line="480"/> <source>can't specify more than one of --password and --password-file</source> <translation>--password と --passwordfile を1つしか指定しません</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="368"/> + <location filename="../src/wallet/wallet2.cpp" line="493"/> <source>the password file specified could not be read</source> <translation>指定されたパスワードファイルを読み取れません</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="394"/> + <location filename="../src/wallet/wallet2.cpp" line="519"/> <source>Failed to load file </source> <translation>ファイルのロードに失敗しました </translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="205"/> + <location filename="../src/wallet/wallet2.cpp" line="239"/> <source>Wallet password (escape/quote as needed)</source> <translation>ウォレットのパスワード(随時にエスケープ文字を使ってください)</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="203"/> + <location filename="../src/wallet/wallet2.cpp" line="236"/> + <source>[<ip>:]<port> socks proxy to use for daemon connections</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="237"/> <source>Enable commands which rely on a trusted daemon</source> <translation type="unfinished">必要な信用できるデーモンのコマンドをエネーブルしてください</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="204"/> + <location filename="../src/wallet/wallet2.cpp" line="238"/> <source>Disable commands which rely on a trusted daemon</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="208"/> + <location filename="../src/wallet/wallet2.cpp" line="242"/> <source>Specify username[:password] for daemon RPC client</source> <translation>デーモンのRPCクライアントを使うためにユーザー名[:パスワード]を指定してください</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="210"/> + <location filename="../src/wallet/wallet2.cpp" line="243"/> + <source>Enable SSL on daemon RPC connections: enabled|disabled|autodetect</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="247"/> + <source>List of valid fingerprints of allowed RPC servers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="248"/> + <source>Allow any SSL certificate from the daemon</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="249"/> + <source>Allow user (via --daemon-ssl-ca-certificates) chain certificates</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="251"/> <source>For stagenet. Daemon must also be launched with --stagenet flag</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="212"/> + <location filename="../src/wallet/wallet2.cpp" line="253"/> <source>Set shared ring database path</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="223"/> + <location filename="../src/wallet/wallet2.cpp" line="264"/> <source>Number of rounds for the key derivation function</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="224"/> + <location filename="../src/wallet/wallet2.cpp" line="265"/> <source>HW device to use</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="225"/> + <location filename="../src/wallet/wallet2.cpp" line="266"/> <source>HW device wallet derivation path (e.g., SLIP-10)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="313"/> + <location filename="../src/wallet/wallet2.cpp" line="268"/> + <source>Do not use DNS</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="269"/> + <source>Do not connect to a daemon, nor use DNS</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="353"/> + <source>Invalid argument for </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="397"/> + <source>Enabling --</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="397"/> + <source> requires --</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="398"/> + <source> or --</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="398"/> + <source> or use of a .onion/.i2p domain</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="432"/> <source>--trusted-daemon and --untrusted-daemon are both seen, assuming untrusted</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="323"/> + <location filename="../src/wallet/wallet2.cpp" line="442"/> <source>Daemon is local, assuming trusted</source> <translation type="unfinished">デーモンはローカルです。信頼できるデーモン予期してます</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="375"/> + <location filename="../src/wallet/wallet2.cpp" line="500"/> <source>no password specified; use --prompt-for-password to prompt for a password</source> <translation>パスワードを指定しませんでした。パスワードプロンプトを見るために--prompt-for-password を使ってください</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="377"/> + <location filename="../src/wallet/wallet2.cpp" line="502"/> <source>Enter a new password for the wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="377"/> + <location filename="../src/wallet/wallet2.cpp" line="502"/> <source>Wallet password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="400"/> + <location filename="../src/wallet/wallet2.cpp" line="525"/> <source>Failed to parse JSON</source> <translation>JSONを解析に失敗しました</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="407"/> + <location filename="../src/wallet/wallet2.cpp" line="532"/> <source>Version %u too new, we can only grok up to %u</source> <translation>バージョン %u 新しすぎるです。%u までグロークできます</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="423"/> + <location filename="../src/wallet/wallet2.cpp" line="548"/> <source>failed to parse view key secret key</source> <translation>秘密なビューキーの解析に失敗しました</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="428"/> - <location filename="../src/wallet/wallet2.cpp" line="496"/> - <location filename="../src/wallet/wallet2.cpp" line="539"/> + <location filename="../src/wallet/wallet2.cpp" line="553"/> + <location filename="../src/wallet/wallet2.cpp" line="621"/> + <location filename="../src/wallet/wallet2.cpp" line="666"/> <source>failed to verify view key secret key</source> <translation>秘密なビューキーの検証に失敗しました</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="439"/> + <location filename="../src/wallet/wallet2.cpp" line="564"/> <source>failed to parse spend key secret key</source> <translation>秘密なスペンドキーの解析に失敗しました</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="444"/> - <location filename="../src/wallet/wallet2.cpp" line="506"/> - <location filename="../src/wallet/wallet2.cpp" line="565"/> + <location filename="../src/wallet/wallet2.cpp" line="569"/> + <location filename="../src/wallet/wallet2.cpp" line="631"/> + <location filename="../src/wallet/wallet2.cpp" line="692"/> <source>failed to verify spend key secret key</source> <translation>秘密なスペンドキーの検証に失敗しました</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="456"/> + <location filename="../src/wallet/wallet2.cpp" line="581"/> <source>Electrum-style word list failed verification</source> <translation>Electrumな単語表の検証に失敗しました</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="476"/> + <location filename="../src/wallet/wallet2.cpp" line="601"/> <source>At least one of either an Electrum-style word list, private view key, or private spend key must be specified</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="480"/> + <location filename="../src/wallet/wallet2.cpp" line="605"/> <source>Both Electrum-style word list and private key(s) specified</source> <translation>Electrumな単語表と秘密なキーを指定しました</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="490"/> + <location filename="../src/wallet/wallet2.cpp" line="615"/> <source>invalid address</source> <translation>不正なアドレス</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="499"/> + <location filename="../src/wallet/wallet2.cpp" line="624"/> <source>view key does not match standard address</source> <translation>ビューキーが一般的なアドレスと一致しませんでした</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="509"/> + <location filename="../src/wallet/wallet2.cpp" line="634"/> <source>spend key does not match standard address</source> <translation>スペンドキーが一般的なアドレスと一致しませんでした</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="517"/> + <location filename="../src/wallet/wallet2.cpp" line="642"/> <source>Cannot generate deprecated wallets from JSON</source> <translation>JSONで非推奨のウォレットを生成することはできません</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="551"/> + <location filename="../src/wallet/wallet2.cpp" line="678"/> <source>failed to parse address: </source> <translation>アドレスの解析に失敗しました: </translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="557"/> + <location filename="../src/wallet/wallet2.cpp" line="684"/> <source>Address must be specified in order to create watch-only wallet</source> <translation>閲覧専用ウォレットを作るためにアドレスを指定する必要があります</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="574"/> + <location filename="../src/wallet/wallet2.cpp" line="701"/> <source>failed to generate new wallet: </source> <translation>新しいウォレットの生成に失敗しました: </translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="1382"/> + <location filename="../src/wallet/wallet2.cpp" line="1625"/> <source>Password is needed to compute key image for incoming monero</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="1383"/> + <location filename="../src/wallet/wallet2.cpp" line="1626"/> <source>Invalid password: password is needed to compute key image for incoming monero</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="3770"/> - <location filename="../src/wallet/wallet2.cpp" line="4374"/> - <location filename="../src/wallet/wallet2.cpp" line="4926"/> + <location filename="../src/wallet/wallet2.cpp" line="4122"/> + <location filename="../src/wallet/wallet2.cpp" line="4712"/> + <location filename="../src/wallet/wallet2.cpp" line="5308"/> <source>Primary account</source> <translation>プライマリア カウント</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="10157"/> + <location filename="../src/wallet/wallet2.cpp" line="10885"/> <source>No funds received in this tx.</source> <translation>この取引から資金貰いませんでした。</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="10899"/> + <location filename="../src/wallet/wallet2.cpp" line="11645"/> <source>failed to read file </source> <translation>ファイルの読み込みに失敗しました </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="141"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="152"/> <source>Set subaddress lookahead sizes to <major>:<minor></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="68"/> + <source>Enable SSL on wallet RPC connections: enabled|disabled|autodetect</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="69"/> + <location filename="../src/wallet/wallet2.cpp" line="244"/> + <source>Path to a PEM format private key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="70"/> + <location filename="../src/wallet/wallet2.cpp" line="245"/> + <source>Path to a PEM format certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="71"/> + <location filename="../src/wallet/wallet2.cpp" line="246"/> + <source>Path to file containing concatenated PEM format certificate(s) to replace system CA(s).</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="72"/> + <source>List of certificate fingerprints to allow</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>tools::wallet_rpc_server</name> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="180"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="192"/> <source>Failed to create directory </source> <translation>ディレクトリの作成に失敗しました </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="182"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="194"/> <source>Failed to create directory %s: %s</source> <translation>%s %s ディレクトリの作成に失敗しました</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="193"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="205"/> <source>Cannot specify --</source> <translation>これを指定しません: --</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="193"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="205"/> <source> and --</source> <translation> と --</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="212"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="224"/> <source>Failed to create file </source> <translation>ファイルの作成に失敗しました </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="212"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="224"/> <source>. Check permissions or remove file</source> <translation>。 パーミッションを確認するか、ファイルを削除してください</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="222"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="234"/> <source>Error writing to file </source> <translation>ファイルへの書き込みエラー </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="225"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="237"/> <source>RPC username/password is stored in file </source> <translation>RPCユーザー名/パスワードはファイルに保存しました </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="479"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="613"/> <source>Tag %s is unregistered.</source> <translation>タグ %s を登録してません。</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3081"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="3242"/> <source>Transaction not possible. Available only %s, transaction amount %s = %s + %s (fee)</source> <translation>取引は無理です。利用可能な金額 %s、 取引の金額 %s = %s + %s (手数料)</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3947"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4409"/> <source>This is the RPC monero wallet. It needs to connect to a monero daemon to work correctly.</source> - <translation>これはMoneroのコマンドラインウォレットです。別のMoneroデモンと接続する必要があります。</translation> + <translation>これはMoneroのRPCウォレットです。正しく動作させるには +Moneroデーモンに接続する必要があります。</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3788"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4245"/> <source>Can't specify more than one of --wallet-file and --generate-from-json</source> <translation>--wallet-file と --generate-from-json を1つしか指定しません</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3773"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4230"/> <source>Can't specify more than one of --testnet and --stagenet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3800"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4257"/> <source>Must specify --wallet-file or --generate-from-json or --wallet-dir</source> <translation>--wallet-file や --generate-from-json や --wallet-dir を指定する必要があります</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3804"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4261"/> <source>Loading wallet...</source> <translation>ウォレットをロードしてます...</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3838"/> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3870"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4295"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4327"/> <source>Saving wallet...</source> <translation>ウォレットを保存してます...</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3840"/> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3872"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4297"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4329"/> <source>Successfully saved</source> <translation>保存しました</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3843"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4300"/> <source>Successfully loaded</source> <translation>ロードしました</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3847"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4304"/> <source>Wallet initialization failed: </source> <translation>ウォレットを初期化できませんでした: </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3853"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4310"/> <source>Failed to initialize wallet RPC server</source> <translation>ウォレットのRPCサーバを初期化できませんでした</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3857"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4314"/> <source>Starting wallet RPC server</source> <translation>ウォレットのRPCサーバを開始してます</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3864"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4321"/> <source>Failed to run wallet: </source> <translation>ウォレットを起動することできませんでした: </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3867"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4324"/> <source>Stopped wallet RPC server</source> <translation>ウォレットのRPCサーバを停止しました</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3876"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4333"/> <source>Failed to save wallet: </source> <translation>ウォレットを保存することできませんでした: </translation> </message> @@ -5430,8 +5753,8 @@ daemon to work correctly.</source> <name>wallet_args</name> <message> <location filename="../src/gen_multisig/gen_multisig.cpp" line="168"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8908"/> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3928"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4385"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9348"/> <source>Wallet options</source> <translation>ウォレットのオプション</translation> </message> @@ -5469,7 +5792,8 @@ daemon to work correctly.</source> <location filename="../src/wallet/wallet_args.cpp" line="144"/> <source>This is the command line monero wallet. It needs to connect to a monero daemon to work correctly.</source> - <translation>これはMoneroのコマンドラインウォレットです。別のMoneroデモンと接続する必要があります。</translation> + <translation>これはMoneroのコマンドラインウォレットです。正しく動作させるには +Moneroデーモンに接続する必要があります。</translation> </message> <message> <location filename="../src/wallet/wallet_args.cpp" line="169"/> diff --git a/translations/monero_sv.ts b/translations/monero_sv.ts index f4704fdd6..0d5b34023 100644 --- a/translations/monero_sv.ts +++ b/translations/monero_sv.ts @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> -<TS version="2.0"> +<TS version="2.1"> <context> <name>Monero::AddressBookImpl</name> <message> @@ -37,42 +37,42 @@ <translation>Det gick inte att skriva transaktioner till fil</translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="121"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="138"/> <source>daemon is busy. Please try again later.</source> <translation>daemonen är upptagen. Försök igen senare.</translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="124"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="141"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation>ingen anslutning till daemonen. Se till att daemonen körs.</translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="128"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="145"/> <source>transaction %s was rejected by daemon with status: </source> <translation>transaktionen %s avvisades av daemonen med status: </translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="133"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="150"/> <source>. Reason: </source> <translation>. Orsak: </translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="135"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="152"/> <source>Unknown exception: </source> <translation>Okänt undantag: </translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="138"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="155"/> <source>Unhandled exception</source> <translation>Ohanterat undantag</translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="211"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="228"/> <source>Couldn't multisig sign data: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/pending_transaction.cpp" line="233"/> + <location filename="../src/wallet/api/pending_transaction.cpp" line="250"/> <source>Couldn't sign multisig transaction: </source> <translation type="unfinished"></translation> </message> @@ -134,384 +134,384 @@ <context> <name>Monero::WalletImpl</name> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1383"/> + <location filename="../src/wallet/api/wallet.cpp" line="1459"/> <source>payment id has invalid format, expected 16 or 64 character hex string: </source> <translation>betalnings-ID har ogiltigt format. En hexadecimal sträng med 16 eller 64 tecken förväntades: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1392"/> + <location filename="../src/wallet/api/wallet.cpp" line="1468"/> <source>Failed to add short payment id: </source> <translation>Det gick inte att lägga till kort betalnings-ID: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1428"/> <location filename="../src/wallet/api/wallet.cpp" line="1510"/> + <location filename="../src/wallet/api/wallet.cpp" line="1592"/> <source>daemon is busy. Please try again later.</source> <translation>daemonen är upptagen. Försök igen senare.</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1430"/> <location filename="../src/wallet/api/wallet.cpp" line="1512"/> + <location filename="../src/wallet/api/wallet.cpp" line="1594"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation>ingen anslutning till daemonen. Se till att daemonen körs.</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1432"/> <location filename="../src/wallet/api/wallet.cpp" line="1514"/> + <location filename="../src/wallet/api/wallet.cpp" line="1596"/> <source>RPC error: </source> <translation>RPC-fel: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1460"/> - <location filename="../src/wallet/api/wallet.cpp" line="1545"/> + <location filename="../src/wallet/api/wallet.cpp" line="1542"/> + <location filename="../src/wallet/api/wallet.cpp" line="1627"/> <source>not enough outputs for specified ring size</source> <translation>inte tillräckligt med utgångar för angiven ringstorlek</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1462"/> - <location filename="../src/wallet/api/wallet.cpp" line="1547"/> + <location filename="../src/wallet/api/wallet.cpp" line="1544"/> + <location filename="../src/wallet/api/wallet.cpp" line="1629"/> <source>found outputs to use</source> <translation>hittade utgångar att använda</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1464"/> + <location filename="../src/wallet/api/wallet.cpp" line="1546"/> <source>Please sweep unmixable outputs.</source> <translation>Svep upp omixbara utgångar.</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1438"/> - <location filename="../src/wallet/api/wallet.cpp" line="1521"/> + <location filename="../src/wallet/api/wallet.cpp" line="1520"/> + <location filename="../src/wallet/api/wallet.cpp" line="1603"/> <source>not enough money to transfer, available only %s, sent amount %s</source> <translation>inte tillräckligt med pengar för överföring, endast tillgängligt %s, skickat belopp %s</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="541"/> + <location filename="../src/wallet/api/wallet.cpp" line="589"/> <source>failed to parse address</source> <translation>det gick inte att parsa adressen</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="552"/> + <location filename="../src/wallet/api/wallet.cpp" line="600"/> <source>failed to parse secret spend key</source> <translation>det gick inte att parsa hemlig spendernyckel</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="575"/> + <location filename="../src/wallet/api/wallet.cpp" line="623"/> <source>failed to parse secret view key</source> <translation>det gick inte att parsa hemlig granskningsnyckel</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="584"/> + <location filename="../src/wallet/api/wallet.cpp" line="632"/> <source>failed to verify secret spend key</source> <translation>det gick inte att verifiera hemlig spendernyckel</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="588"/> + <location filename="../src/wallet/api/wallet.cpp" line="636"/> <source>spend key does not match address</source> <translation>spendernyckel matchar inte adress</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="594"/> + <location filename="../src/wallet/api/wallet.cpp" line="642"/> <source>failed to verify secret view key</source> <translation>det gick inte att verifiera hemlig granskningsnyckel</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="598"/> + <location filename="../src/wallet/api/wallet.cpp" line="646"/> <source>view key does not match address</source> <translation>granskningsnyckel matchar inte adress</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="621"/> - <location filename="../src/wallet/api/wallet.cpp" line="638"/> + <location filename="../src/wallet/api/wallet.cpp" line="669"/> + <location filename="../src/wallet/api/wallet.cpp" line="686"/> <source>failed to generate new wallet: </source> <translation>det gick inte att skapa ny plånbok: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="885"/> + <location filename="../src/wallet/api/wallet.cpp" line="955"/> <source>Failed to send import wallet request</source> <translation>Det gick inte att skicka begäran om att importera plånbok</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1049"/> + <location filename="../src/wallet/api/wallet.cpp" line="1125"/> <source>Failed to load unsigned transactions</source> <translation>Det gick inte att läsa in osignerade transaktioner</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1068"/> + <location filename="../src/wallet/api/wallet.cpp" line="1144"/> <source>Failed to load transaction from file</source> <translation>Det gick inte att läsa in transaktion från fil</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1084"/> + <location filename="../src/wallet/api/wallet.cpp" line="1160"/> <source>Wallet is view only</source> <translation>Plånboken är endast för granskning</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1092"/> + <location filename="../src/wallet/api/wallet.cpp" line="1168"/> <source>failed to save file </source> <translation>det gick inte att spara fil </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1108"/> + <location filename="../src/wallet/api/wallet.cpp" line="1184"/> <source>Key images can only be imported with a trusted daemon</source> <translation>Nyckelavbildningar kan bara importeras med en betrodd daemon</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1121"/> + <location filename="../src/wallet/api/wallet.cpp" line="1197"/> <source>Failed to import key images: </source> <translation>Det gick inte att importera nyckelavbildningar: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1153"/> + <location filename="../src/wallet/api/wallet.cpp" line="1229"/> <source>Failed to get subaddress label: </source> <translation>Det gick inte att hämta etikett för underadress: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1166"/> + <location filename="../src/wallet/api/wallet.cpp" line="1242"/> <source>Failed to set subaddress label: </source> <translation>Det gick inte att ange etikett för underadress: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="567"/> + <location filename="../src/wallet/api/wallet.cpp" line="615"/> <source>Neither view key nor spend key supplied, cancelled</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="686"/> + <location filename="../src/wallet/api/wallet.cpp" line="734"/> <source>Electrum seed is empty</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="695"/> + <location filename="../src/wallet/api/wallet.cpp" line="743"/> <source>Electrum-style word list failed verification</source> <translation type="unfinished">Det gick inte att verifiera ordlista av Electrum-typ</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1183"/> + <location filename="../src/wallet/api/wallet.cpp" line="1259"/> <source>Failed to get multisig info: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1200"/> - <location filename="../src/wallet/api/wallet.cpp" line="1214"/> + <location filename="../src/wallet/api/wallet.cpp" line="1276"/> + <location filename="../src/wallet/api/wallet.cpp" line="1290"/> <source>Failed to make multisig: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1229"/> + <location filename="../src/wallet/api/wallet.cpp" line="1305"/> <source>Failed to finalize multisig wallet creation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1232"/> + <location filename="../src/wallet/api/wallet.cpp" line="1308"/> <source>Failed to finalize multisig wallet creation: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1248"/> + <location filename="../src/wallet/api/wallet.cpp" line="1324"/> <source>Failed to export multisig images: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1266"/> + <location filename="../src/wallet/api/wallet.cpp" line="1342"/> <source>Failed to parse imported multisig images</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1276"/> + <location filename="../src/wallet/api/wallet.cpp" line="1352"/> <source>Failed to import multisig images: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1290"/> + <location filename="../src/wallet/api/wallet.cpp" line="1366"/> <source>Failed to check for partial multisig key images: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1318"/> + <location filename="../src/wallet/api/wallet.cpp" line="1394"/> <source>Failed to restore multisig transaction: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1358"/> + <location filename="../src/wallet/api/wallet.cpp" line="1434"/> <source>Invalid destination address</source> <translation type="unfinished">Ogiltig måladress</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1434"/> + <location filename="../src/wallet/api/wallet.cpp" line="1516"/> <source>failed to get outputs to mix: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1445"/> - <location filename="../src/wallet/api/wallet.cpp" line="1529"/> + <location filename="../src/wallet/api/wallet.cpp" line="1527"/> + <location filename="../src/wallet/api/wallet.cpp" line="1611"/> <source>not enough money to transfer, overall balance only %s, sent amount %s</source> <translation>inte tillräckligt med pengar för överföring, totalt saldo är bara %s, skickat belopp %s</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1452"/> - <location filename="../src/wallet/api/wallet.cpp" line="1537"/> + <location filename="../src/wallet/api/wallet.cpp" line="1534"/> + <location filename="../src/wallet/api/wallet.cpp" line="1619"/> <source>not enough money to transfer, available only %s, transaction amount %s = %s + %s (fee)</source> <translation>ej tillräckligt med pengar för överföring, endast tillgängligt %s, transaktionsbelopp %s = %s + %s (avgift)</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1462"/> - <location filename="../src/wallet/api/wallet.cpp" line="1547"/> + <location filename="../src/wallet/api/wallet.cpp" line="1544"/> + <location filename="../src/wallet/api/wallet.cpp" line="1629"/> <source>output amount</source> <translation>utgångens belopp</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1467"/> - <location filename="../src/wallet/api/wallet.cpp" line="1551"/> + <location filename="../src/wallet/api/wallet.cpp" line="1549"/> + <location filename="../src/wallet/api/wallet.cpp" line="1633"/> <source>transaction was not constructed</source> <translation>transaktionen konstruerades inte</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1470"/> - <location filename="../src/wallet/api/wallet.cpp" line="1554"/> + <location filename="../src/wallet/api/wallet.cpp" line="1552"/> + <location filename="../src/wallet/api/wallet.cpp" line="1636"/> <source>transaction %s was rejected by daemon with status: </source> <translation>transaktionen %s avvisades av daemonen med status: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1475"/> - <location filename="../src/wallet/api/wallet.cpp" line="1559"/> + <location filename="../src/wallet/api/wallet.cpp" line="1557"/> + <location filename="../src/wallet/api/wallet.cpp" line="1641"/> <source>one of destinations is zero</source> <translation>ett av målen är noll</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1477"/> - <location filename="../src/wallet/api/wallet.cpp" line="1561"/> + <location filename="../src/wallet/api/wallet.cpp" line="1559"/> + <location filename="../src/wallet/api/wallet.cpp" line="1643"/> <source>failed to find a suitable way to split transactions</source> <translation>det gick inte att hitta ett lämpligt sätt att dela upp transaktioner</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1479"/> - <location filename="../src/wallet/api/wallet.cpp" line="1563"/> + <location filename="../src/wallet/api/wallet.cpp" line="1561"/> + <location filename="../src/wallet/api/wallet.cpp" line="1645"/> <source>unknown transfer error: </source> <translation>okänt överföringsfel: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1481"/> - <location filename="../src/wallet/api/wallet.cpp" line="1565"/> + <location filename="../src/wallet/api/wallet.cpp" line="1563"/> + <location filename="../src/wallet/api/wallet.cpp" line="1647"/> <source>internal error: </source> <translation>internt fel: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1483"/> - <location filename="../src/wallet/api/wallet.cpp" line="1567"/> + <location filename="../src/wallet/api/wallet.cpp" line="1565"/> + <location filename="../src/wallet/api/wallet.cpp" line="1649"/> <source>unexpected error: </source> <translation>oväntat fel: </translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1485"/> - <location filename="../src/wallet/api/wallet.cpp" line="1569"/> + <location filename="../src/wallet/api/wallet.cpp" line="1567"/> + <location filename="../src/wallet/api/wallet.cpp" line="1651"/> <source>unknown error</source> <translation>okänt fel</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1516"/> + <location filename="../src/wallet/api/wallet.cpp" line="1598"/> <source>failed to get outputs to mix</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1644"/> - <location filename="../src/wallet/api/wallet.cpp" line="1671"/> - <location filename="../src/wallet/api/wallet.cpp" line="1719"/> - <location filename="../src/wallet/api/wallet.cpp" line="1747"/> - <location filename="../src/wallet/api/wallet.cpp" line="1775"/> - <location filename="../src/wallet/api/wallet.cpp" line="1796"/> - <location filename="../src/wallet/api/wallet.cpp" line="2258"/> + <location filename="../src/wallet/api/wallet.cpp" line="1726"/> + <location filename="../src/wallet/api/wallet.cpp" line="1753"/> + <location filename="../src/wallet/api/wallet.cpp" line="1801"/> + <location filename="../src/wallet/api/wallet.cpp" line="1829"/> + <location filename="../src/wallet/api/wallet.cpp" line="1857"/> + <location filename="../src/wallet/api/wallet.cpp" line="1878"/> + <location filename="../src/wallet/api/wallet.cpp" line="2354"/> <source>Failed to parse txid</source> <translation>Det gick inte att parsa txid</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1661"/> + <location filename="../src/wallet/api/wallet.cpp" line="1743"/> <source>no tx keys found for this txid</source> <translation>inga tx-nycklar kunde hittas för detta txid</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1679"/> - <location filename="../src/wallet/api/wallet.cpp" line="1688"/> + <location filename="../src/wallet/api/wallet.cpp" line="1761"/> + <location filename="../src/wallet/api/wallet.cpp" line="1770"/> <source>Failed to parse tx key</source> <translation>Det gick inte att parsa txnyckel</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1697"/> - <location filename="../src/wallet/api/wallet.cpp" line="1726"/> - <location filename="../src/wallet/api/wallet.cpp" line="1754"/> - <location filename="../src/wallet/api/wallet.cpp" line="1835"/> + <location filename="../src/wallet/api/wallet.cpp" line="1779"/> + <location filename="../src/wallet/api/wallet.cpp" line="1808"/> + <location filename="../src/wallet/api/wallet.cpp" line="1836"/> + <location filename="../src/wallet/api/wallet.cpp" line="1917"/> <source>Failed to parse address</source> <translation>Det gick inte att parsa adressen</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1840"/> + <location filename="../src/wallet/api/wallet.cpp" line="1922"/> <source>Address must not be a subaddress</source> <translation>Adressen får inte vara en underadress</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1880"/> + <location filename="../src/wallet/api/wallet.cpp" line="1962"/> <source>The wallet must be in multisig ready state</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="1902"/> + <location filename="../src/wallet/api/wallet.cpp" line="1984"/> <source>Given string is not a key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2130"/> + <location filename="../src/wallet/api/wallet.cpp" line="2226"/> <source>Rescan spent can only be used with a trusted daemon</source> <translation>Genomsök efter spenderade kan endast användas med en betrodd daemon</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2179"/> + <location filename="../src/wallet/api/wallet.cpp" line="2275"/> <source>Invalid output: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2186"/> + <location filename="../src/wallet/api/wallet.cpp" line="2282"/> <source>Failed to mark outputs as spent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2197"/> - <location filename="../src/wallet/api/wallet.cpp" line="2219"/> + <location filename="../src/wallet/api/wallet.cpp" line="2293"/> + <location filename="../src/wallet/api/wallet.cpp" line="2315"/> <source>Failed to parse output amount</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2202"/> - <location filename="../src/wallet/api/wallet.cpp" line="2224"/> + <location filename="../src/wallet/api/wallet.cpp" line="2298"/> + <location filename="../src/wallet/api/wallet.cpp" line="2320"/> <source>Failed to parse output offset</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2208"/> + <location filename="../src/wallet/api/wallet.cpp" line="2304"/> <source>Failed to mark output as spent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2230"/> + <location filename="../src/wallet/api/wallet.cpp" line="2326"/> <source>Failed to mark output as unspent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2241"/> - <location filename="../src/wallet/api/wallet.cpp" line="2280"/> + <location filename="../src/wallet/api/wallet.cpp" line="2337"/> + <location filename="../src/wallet/api/wallet.cpp" line="2376"/> <source>Failed to parse key image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2247"/> + <location filename="../src/wallet/api/wallet.cpp" line="2343"/> <source>Failed to get ring</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2265"/> + <location filename="../src/wallet/api/wallet.cpp" line="2361"/> <source>Failed to get rings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="2286"/> + <location filename="../src/wallet/api/wallet.cpp" line="2382"/> <source>Failed to set ring</source> <translation type="unfinished"></translation> </message> @@ -519,22 +519,22 @@ <context> <name>Wallet</name> <message> - <location filename="../src/wallet/api/wallet.cpp" line="301"/> + <location filename="../src/wallet/api/wallet.cpp" line="344"/> <source>Failed to parse address</source> <translation>Det gick inte att parsa adressen</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="308"/> + <location filename="../src/wallet/api/wallet.cpp" line="351"/> <source>Failed to parse key</source> <translation>Det gick inte att parsa nyckeln</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="316"/> + <location filename="../src/wallet/api/wallet.cpp" line="359"/> <source>failed to verify key</source> <translation>det gick inte att verifiera nyckeln</translation> </message> <message> - <location filename="../src/wallet/api/wallet.cpp" line="326"/> + <location filename="../src/wallet/api/wallet.cpp" line="369"/> <source>key does not match address</source> <translation>nyckeln matchar inte adressen</translation> </message> @@ -604,999 +604,1051 @@ <context> <name>cryptonote::simple_wallet</name> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="645"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="666"/> <source>Commands: </source> <translation>Kommandon: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4359"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4636"/> <source>failed to read wallet password</source> <translation>det gick inte att läsa lösenord för plånboken</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3954"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4231"/> <source>invalid password</source> <translation>ogiltigt lösenord</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3073"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3283"/> <source>set seed: needs an argument. available options: language</source> <translation>set seed: kräver ett argument. tillgängliga alternativ: språk</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3108"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3319"/> <source>set: unrecognized argument(s)</source> <translation>set: okända argument</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4199"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4476"/> <source>wallet file path not valid: </source> <translation>ogiltig sökväg till plånbok: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3178"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3389"/> <source>Attempting to generate or restore wallet, but specified file(s) exist. Exiting to not risk overwriting.</source> <translation>Försöker skapa eller återställa plånbok, men angivna filer finns redan. Avslutar för att inte riskera att skriva över någonting.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3059"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3269"/> <source>needs an argument</source> <translation>kräver ett argument</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3082"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3083"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3084"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3086"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3089"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3094"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3095"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3097"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3099"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3100"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3101"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3104"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3105"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3292"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3294"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3296"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3299"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3304"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3305"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3307"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3309"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3310"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3311"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3314"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3315"/> <source>0 or 1</source> <translation>0 eller 1</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3092"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3096"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3103"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3306"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3313"/> <source>unsigned integer</source> <translation>positivt heltal</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3312"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3548"/> <source>--restore-deterministic-wallet uses --generate-new-wallet, not --wallet-file</source> <translation>--restore-deterministic-wallet använder --generate-new-wallet, inte --wallet-file</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3341"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3577"/> <source>specify a recovery parameter with the --electrum-seed="words list here"</source> <translation>ange en återställningsparameter med --electrum-seed="ordlista här"</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3717"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3957"/> <source>specify a wallet path with --generate-new-wallet (not --wallet-file)</source> <translation>ange sökväg till en plånbok med --generate-new-wallet (inte --wallet-file)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3887"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4164"/> <source>wallet failed to connect to daemon: </source> <translation>plånboken kunde inte ansluta till daemonen: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3895"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4172"/> <source>Daemon uses a different RPC major version (%u) than the wallet (%u): %s. Either update one of them, or use --allow-mismatched-daemon-version.</source> <translation>Daemonen använder en högre version av RPC (%u) än plånboken (%u): %s. Antingen uppdatera en av dem, eller använd --allow-mismatched-daemon-version.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3916"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4193"/> <source>List of available languages for your wallet's seed:</source> <translation>Lista över tillgängliga språk för din plånboks startvärde:</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3926"/> - <source>Enter the number corresponding to the language of your choice: </source> - <translation>Ange det tal som motsvarar det språk du vill använda: </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4000"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4277"/> <source>You had been using a deprecated version of the wallet. Please use the new seed that we provide. </source> <translation>Du hade använt en inaktuell version av plånboken. Använd det nya startvärde som tillhandahålls. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4016"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4088"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4365"/> <source>Generated new wallet: </source> <translation>Ny plånbok skapad: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4025"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4093"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4135"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4188"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4370"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4412"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4465"/> <source>failed to generate new wallet: </source> <translation>det gick inte att skapa ny plånbok: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4230"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4507"/> <source>Opened watch-only wallet</source> <translation>Öppnade plånbok för granskning</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4511"/> <source>Opened wallet</source> <translation>Öppnade plånbok</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4252"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4529"/> <source>You had been using a deprecated version of the wallet. Please proceed to upgrade your wallet. </source> <translation>Du hade använt en inaktuell version av plånboken. Fortsätt för att uppgradera din plånbok. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4267"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4544"/> <source>You had been using a deprecated version of the wallet. Your wallet file format is being upgraded now. </source> <translation>Du hade använt en inaktuell version av plånboken. Plånbokens filformat kommer nu att uppgraderas. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4275"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4552"/> <source>failed to load wallet: </source> <translation>det gick inte att läsa in plånboken: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4292"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4569"/> <source>Use the "help" command to see the list of available commands. </source> <translation>Använd kommandot "help" för att visa en lista över tillgängliga kommandon. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4337"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4614"/> <source>Wallet data saved</source> <translation>Plånboksdata sparades</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4431"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4819"/> <source>Mining started in daemon</source> <translation>Brytning startad i daemonen</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4433"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4821"/> <source>mining has NOT been started: </source> <translation>brytning har INTE startats: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4453"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4841"/> <source>Mining stopped in daemon</source> <translation>Brytning stoppad i daemonen</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4455"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4843"/> <source>mining has NOT been stopped: </source> <translation>brytning har INTE stoppats: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4537"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4925"/> <source>Blockchain saved</source> <translation>Blockkedjan sparades</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4552"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4589"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4973"/> <source>Height </source> <translation>Höjd </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4591"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4975"/> <source>spent </source> <translation>spenderat </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4698"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5089"/> <source>Starting refresh...</source> <translation>Startar uppdatering …</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4712"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5115"/> <source>Refresh done, blocks received: </source> <translation>Uppdatering färdig, mottagna block: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5958"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6349"/> <source>payment id has invalid format, expected 16 or 64 character hex string: </source> <translation>betalnings-ID har ogiltigt format. En hexadecimal sträng med 16 eller 64 tecken förväntades: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5307"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5704"/> <source>bad locked_blocks parameter:</source> <translation>felaktig parameter för locked_blocks:</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5978"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6251"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6369"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6639"/> <source>a single transaction cannot use more than one payment id: </source> <translation>en enda transaktion kan inte använda fler än ett betalnings-ID: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5405"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5987"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6219"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6259"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5806"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6378"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6607"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6647"/> <source>failed to set up payment id, though it was decoded correctly</source> <translation>det gick inte att upprätta betalnings-ID, trots att det avkodades korrekt</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5251"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5870"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6173"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5659"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6271"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6564"/> <source>ring size %u is too large, maximum is %u</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5276"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5395"/> - <source>Unencrypted payment IDs are bad for privacy: ask the recipient to use subaddresses instead</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5690"/> <source>payment id failed to encode</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5312"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5894"/> - <source>Locked blocks too high, max 1000000 (Ë4 yrs)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5340"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5737"/> <source>failed to parse short payment ID from URI</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5363"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5365"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5762"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5764"/> <source>Invalid last argument: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5382"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5782"/> <source>a single transaction cannot use more than one payment id</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5399"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5800"/> <source>failed to parse payment id, though it was detected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5422"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5502"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5590"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5738"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6001"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6059"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6273"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6318"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5823"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5903"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5991"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6139"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6392"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6450"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6661"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6706"/> <source>transaction cancelled.</source> <translation>transaktion avbruten.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5481"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5491"/> - <source>Is this okay anyway? (Y/Yes/N/No): </source> - <translation>Är detta okej ändå? (J/Ja/N/Nej): </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5486"/> - <source>There is currently a %u block backlog at that fee level. Is this okay? (Y/Yes/N/No): </source> - <translation>Det finns för närvarande en %u blocks eftersläpning på den avgiftsnivån. Är detta okej? (J/Ja/N/Nej): </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5491"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5892"/> <source>Failed to check for backlog: </source> <translation>Det gick inte att kontrollera eftersläpning: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5532"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6032"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5933"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6423"/> <source> Transaction </source> <translation> Transaktion </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5537"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6037"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5938"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6428"/> <source>Spending from address index %d </source> <translation>Spendera från adressindex %d </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5539"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6039"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6430"/> <source>WARNING: Outputs of multiple addresses are being used together, which might potentially compromise your privacy. </source> <translation>VARNING: Utgångar från flera adresser används tillsammans, vilket möjligen kan kompromettera din sekretess. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5541"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5942"/> <source>Sending %s. </source> <translation>Skickar %s. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5544"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5945"/> <source>Your transaction needs to be split into %llu transactions. This will result in a transaction fee being applied to each transaction, for a total fee of %s</source> <translation>Transaktionen behöver delas upp i %llu transaktioner. Detta gör att en transaktionsavgift läggs till varje transaktion, med ett totalbelopp på %s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5550"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5951"/> <source>The transaction fee is %s</source> <translation>Transaktionsavgiften är %s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5553"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5954"/> <source>, of which %s is dust from change</source> <translation>, varav %s är damm från växel</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5554"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5955"/> <source>.</source> <translation>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5554"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5955"/> <source>A total of %s from dust change will be sent to dust address</source> <translation>Ett totalt belopp på %s från växeldamm skickas till damm-adressen</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5559"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5960"/> <source>. This transaction will unlock on block %llu, in approximately %s days (assuming 2 minutes per block)</source> <translation>. Denna transaktion låses upp vid block %llu, om ungefär %s dagar (förutsatt en blocktid på 2 minuter)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5603"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6004"/> <source>Unsigned transaction(s) successfully written to MMS</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5611"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5648"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5749"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5761"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6070"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6107"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6328"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6340"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6012"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6049"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6150"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6162"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6461"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6498"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6716"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6728"/> <source>Failed to write transaction(s) to file</source> <translation>Det gick inte att skriva transaktioner till fil</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5616"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5653"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5753"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5765"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6074"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6111"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6332"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6344"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6017"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6054"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6154"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6166"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6465"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6502"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6720"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6732"/> <source>Unsigned transaction(s) successfully written to file: </source> <translation>Osignerade transaktioner skrevs till fil: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5625"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6086"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6026"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6477"/> <source>Failed to cold sign transaction with HW wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5708"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6109"/> <source>No unmixable outputs found</source> <translation>Inga omixbara utgångar kunde hittas</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5775"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6176"/> <source>Not enough money in unlocked balance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5776"/> - <source>Discarding %s of unmixable outputs that cannot be spent, which can be undone by "rescan_spent". Is this okay? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5815"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6216"/> <source>No address given</source> <translation>Ingen adress har angivits</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5879"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6280"/> <source>missing lockedblocks parameter</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5889"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6290"/> <source>bad locked_blocks parameter</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5914"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6182"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6315"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6573"/> <source>Failed to parse number of outputs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5919"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6187"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6320"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6578"/> <source>Amount of outputs should be greater than 0</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6213"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6601"/> <source>failed to parse Payment ID</source> <translation>det gick inte att parsa betalnings-ID</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6236"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2078"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2125"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6624"/> <source>failed to parse key image</source> <translation>det gick inte att parsa nyckelavbildning</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6290"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6678"/> <source>No outputs found</source> <translation>Inga utgångar kunde hittas</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6295"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6683"/> <source>Multiple transactions are created, which is not supposed to happen</source> <translation>Flera transaktioner skapas, vilket inte ska kunna inträffa</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6300"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6688"/> <source>The transaction uses multiple or no inputs, which is not supposed to happen</source> <translation>Transaktionen använder flera eller inga ingångar, vilket inte ska kunna inträffa</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6377"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6765"/> <source>missing threshold amount</source> <translation>tröskelbelopp saknas</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6382"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6770"/> <source>invalid amount threshold</source> <translation>ogiltigt tröskelbelopp</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6516"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6919"/> <source>Claimed change does not go to a paid address</source> <translation>Begärd växel går inte till en betald adress</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6521"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6924"/> <source>Claimed change is larger than payment to the change address</source> <translation>Begärd växel är större än betalning till växeladressen</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6552"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6955"/> <source>sending %s to %s</source> <translation>skickar %s till %s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6562"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6965"/> <source> dummy output(s)</source> <translation> dummy-utgångar</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6565"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6968"/> <source>with no destinations</source> <translation>utan några mål</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6577"/> - <source>Loaded %lu transactions, for %s, fee %s, %s, %s, with min ring size %lu, %s. %sIs this okay? (Y/Yes/N/No): </source> - <translation>Läste in %lu transaktioner, för %s, avgift %s, %s, %s, med minsta ringstorlek %lu, %s. %sÄr detta okej? (J/Ja/N/Nej): </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6606"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7009"/> <source>This is a multisig wallet, it can only sign with sign_multisig</source> <translation>Detta är en multisig-plånbok, som endast kan signera med sign_multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6629"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7032"/> <source>Failed to sign transaction</source> <translation>Det gick inte att signera transaktionen</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6635"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7038"/> <source>Failed to sign transaction: </source> <translation>Det gick inte att signera transaktionen: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6656"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7059"/> <source>Transaction raw hex data exported to </source> <translation>Hexadecimala rådata för transaktionen exporterades till </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6677"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7080"/> <source>Failed to load transaction from file</source> <translation>Det gick inte att läsa in transaktion från fil</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4729"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5051"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5132"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5459"/> <source>RPC error: </source> <translation>RPC-fel: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="695"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="716"/> <source>wallet is watch-only and has no spend key</source> <translation>plånboken är enbart för granskning och har ingen spendernyckel</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="839"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1021"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1074"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1141"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="860"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1044"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1097"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1164"/> <source>Your original password was incorrect.</source> <translation>Ditt ursprungliga lösenord var fel.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="854"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="875"/> <source>Error with wallet rewrite: </source> <translation>Ett fel uppstod vid återskrivning av plånbok: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2284"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2435"/> <source>invalid unit</source> <translation>ogiltig enhet</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2302"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2364"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2453"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2515"/> <source>invalid count: must be an unsigned integer</source> <translation>ogiltigt värde för count: måste vara ett heltal utan tecken</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2320"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2471"/> <source>invalid value</source> <translation>ogiltigt värde</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3204"/> - <source>(Y/Yes/N/No): </source> - <translation>(J/Ja/N/Nej): </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3761"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3788"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4021"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4041"/> <source>bad m_restore_height parameter: </source> <translation>felaktig parameter för m_restore_height: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3766"/> - <source>date format must be YYYY-MM-DD</source> - <translation>datumformat måste vara ÅÅÅÅ-MM-DD</translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3779"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3985"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4032"/> <source>Restore height is: </source> <translation>Återställningshöjd är: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3705"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3780"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5583"/> - <source>Is this okay? (Y/Yes/N/No): </source> - <translation>Är detta okej? (J/Ja/N/Nej): </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4509"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4897"/> <source>Daemon is local, assuming trusted</source> <translation>Daemonen är lokal, utgår från att den är betrodd</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4355"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4632"/> <source>Password for new watch-only wallet</source> <translation>Lösenord för ny granskningsplånbok</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4739"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5142"/> <source>internal error: </source> <translation>internt fel: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1608"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4744"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5056"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1632"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5147"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5464"/> <source>unexpected error: </source> <translation>oväntat fel: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1534"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1613"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4749"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5061"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5639"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5669"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5794"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6099"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6126"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6361"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6690"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1558"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1637"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5152"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5469"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6040"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6070"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6195"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6490"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6517"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6749"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7093"/> <source>unknown error</source> <translation>okänt fel</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4754"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5157"/> <source>refresh failed: </source> <translation>det gick inte att uppdatera: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4754"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5157"/> <source>Blocks received: </source> <translation>Mottagna block: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4787"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5195"/> <source>unlocked balance: </source> <translation>upplåst saldo: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3093"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3303"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>amount</source> <translation>belopp</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="341"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="362"/> <source>false</source> <translation>falskt</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="659"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="680"/> <source>Unknown command: </source> <translation>Okänt kommando: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="666"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="687"/> <source>Command usage: </source> <translation>Användning av kommando: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="690"/> <source>Command description: </source> <translation>Beskrivning av kommando: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="735"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="756"/> <source>wallet is multisig but not yet finalized</source> <translation>plånboken är multisig men är ännu inte slutförd</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="768"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="789"/> <source>Failed to retrieve seed</source> <translation>Det gick inte att hämta startvärde</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="792"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="813"/> <source>wallet is multisig and has no seed</source> <translation>plånboken är multisig och har inget startvärde</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="899"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="922"/> <source>Error: failed to estimate backlog array size: </source> <translation>Fel: det gick inte att uppskatta eftersläpningsmatrisens storlek: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="904"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="927"/> <source>Error: bad estimated backlog array size</source> <translation>Fel: felaktigt uppskattat värde för eftersläpningsmatrisens storlek</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="916"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="939"/> <source> (current)</source> <translation> (aktuellt)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="919"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="942"/> <source>%u block (%u minutes) backlog at priority %u%s</source> <translation>%u blocks (%u minuters) eftersläpning vid prioritet %u%s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="921"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="944"/> <source>%u to %u block (%u to %u minutes) backlog at priority %u</source> <translation>%u till %u blocks (%u till %u minuters) eftersläpning vid prioritet %u</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="924"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="947"/> <source>No backlog at priority </source> <translation>Ingen eftersläpning vid prioritet </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="944"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="989"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="967"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1012"/> <source>This wallet is already multisig</source> <translation>Denna plånbok är redan multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="949"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="994"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1017"/> <source>wallet is watch-only and cannot be made multisig</source> <translation>plånboken är enbart för granskning och kan inte göras om till multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="955"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1000"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="978"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1023"/> <source>This wallet has been used before, please use a new wallet to create a multisig wallet</source> <translation>Denna plånbok har använts tidigare. Använd en ny plånbok för att skapa en multisig-plånbok</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="963"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="986"/> <source>Send this multisig info to all other participants, then use make_multisig <threshold> <info1> [<info2>...] with others' multisig info</source> <translation>Skicka denna multisig-info till alla andra deltagare och använd sedan make_multisig <tröskelvärde> <info1> [<info2>…] med de andras multisig-info</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="964"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="987"/> <source>This includes the PRIVATE view key, so needs to be disclosed only to that multisig wallet's participants </source> <translation>Detta innefattar den PRIVATA granskningsnyckeln, så den behöver endast lämnas ut till den multisig-plånbokens deltagare </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1014"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1037"/> <source>Invalid threshold</source> <translation>Ogiltigt tröskelvärde</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1034"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1156"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1057"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1179"/> <source>Another step is needed</source> <translation>Ytterligare ett steg krävs</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1046"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1069"/> <source>Error creating multisig: </source> <translation>Ett fel uppstod när multisig skapades: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1053"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1076"/> <source>Error creating multisig: new wallet is not multisig</source> <translation>Ett fel uppstod när multisig skapades: den nya plånboken är inte multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1056"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1079"/> <source> multisig address: </source> <translation> multisig-adress: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1080"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1129"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1195"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1261"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1103"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1152"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1219"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1285"/> <source>This wallet is not multisig</source> <translation>Denna plånbok är inte multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1085"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1134"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1108"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1157"/> <source>This wallet is already finalized</source> <translation>Denna plånbok är redan slutförd</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1101"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1124"/> <source>Failed to finalize multisig</source> <translation>Det gick inte att slutföra multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1107"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1130"/> <source>Failed to finalize multisig: </source> <translation>Det gick inte att slutföra multisig: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1200"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1266"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1360"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1476"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1557"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1191"/> + <source>Multisig address: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="1224"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1290"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1384"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1500"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1581"/> <source>This multisig wallet is not yet finalized</source> <translation>Denna multisig-plånbok är inte slutförd ännu</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1236"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1260"/> <source>Error exporting multisig info: </source> <translation>Ett fel uppstod när multisig-info exporterades: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1240"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1264"/> <source>Multisig info exported to </source> <translation>Multisig-info exporterades till </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1306"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1330"/> <source>Multisig info imported</source> <translation>Multisig-info importerades</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1310"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1334"/> <source>Failed to import multisig info: </source> <translation>Det gick inte att importera multisig-info: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1321"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1345"/> <source>Failed to update spent status after importing multisig info: </source> <translation>Det gick inte att uppdatera spenderstatus efter import av multisig-info: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1327"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1351"/> <source>Untrusted daemon, spent status may be incorrect. Use a trusted daemon and run "rescan_spent"</source> <translation>Ej betrodd daemon. Spenderstatus kan vara felaktig. Använd en betrodd daemon och kör "rescan_spent"</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1355"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1471"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1552"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1379"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1495"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1576"/> <source>This is not a multisig wallet</source> <translation>Detta är inte en multisig-plånbok</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1405"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1414"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1429"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1438"/> <source>Failed to sign multisig transaction</source> <translation>Det gick inte att signera multisig-transaktion</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1421"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1445"/> <source>Multisig error: </source> <translation>Multisig-fel: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1426"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1450"/> <source>Failed to sign multisig transaction: </source> <translation>Det gick inte att signera multisig-transaktion: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1449"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1473"/> <source>It may be relayed to the network with submit_multisig</source> <translation>Den kan skickas vidare till nätverket med submit_multisig</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1508"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1578"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1532"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1602"/> <source>Failed to load multisig transaction from file</source> <translation>Det gick inte att läsa in multisig-transaktion från fil</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1514"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1583"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1538"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1607"/> <source>Multisig transaction signed by only %u signers, needs %u more signatures</source> <translation>Multisig-transaktion har signerats av bara %u signerare. Den behöver %u ytterligare signaturer</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1523"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8890"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1547"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9330"/> <source>Transaction successfully submitted, transaction </source> <translation>Transaktionen skickades, transaktion </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1524"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8891"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1548"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9331"/> <source>You can check its status by using the `show_transfers` command.</source> <translation>Du kan kontrollera dess status genom att använda kommandot 'show_transfers'.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1599"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1623"/> <source>Failed to export multisig transaction to file </source> <translation>Det gick inte att exportera multisig-transaktion till fil </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1603"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1627"/> <source>Saved exported multisig transaction file(s): </source> <translation>Sparade filer med exporterade multisig-transaktioner: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2095"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2101"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2120"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1892"/> + <source>Invalid key image or txid</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="1901"/> + <source>failed to unset ring</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2072"/> + <source>usage: %s <key_image>|<pubkey></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2117"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2129"/> + <source>Frozen: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2131"/> + <source>Not frozen: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2138"/> + <source> bytes sent</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2139"/> + <source> bytes received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2145"/> + <source>Welcome to Monero, the private cryptocurrency.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2147"/> + <source>Monero, like Bitcoin, is a cryptocurrency. That is, it is digital money.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2148"/> + <source>Unlike Bitcoin, your Monero transactions and balance stay private, and not visible to the world by default.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2149"/> + <source>However, you have the option of making those available to select parties, if you choose to.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2151"/> + <source>Monero protects your privacy on the blockchain, and while Monero strives to improve all the time,</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2152"/> + <source>no privacy technology can be 100% perfect, Monero included.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2153"/> + <source>Monero cannot protect you from malware, and it may not be as effective as we hope against powerful adversaries.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2154"/> + <source>Flaws in Monero may be discovered in the future, and attacks may be developed to peek under some</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2155"/> + <source>of the layers of privacy Monero provides. Be safe and practice defense in depth.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2157"/> + <source>Welcome to Monero and financial privacy. For more information, see https://getmonero.org/</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2244"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2250"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2269"/> <source>ring size must be an integer >= </source> <translation>ringstorlek måste vara ett heltal >= </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2125"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2274"/> <source>could not change default ring size</source> <translation>det gick inte att ändra standardinställning för ringstorlek</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2398"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2469"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2549"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2620"/> <source>Invalid height</source> <translation>Ogiltig höjd</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2562"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2667"/> + <source>invalid argument: must be either 1/yes or 0/no</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2738"/> <source>Start mining in the daemon (bg_mining and ignore_battery are optional booleans).</source> <translation>Starta brytning i daemonen (bgbrytning och ignorera_batteri är valfri booleska värden).</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2565"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2741"/> <source>Stop mining in the daemon.</source> <translation>Stoppa brytning i daemonen.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2569"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2745"/> <source>Set another daemon to connect to.</source> <translation>Ange en annan daemon att ansluta till.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2572"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2748"/> <source>Save the current blockchain data.</source> <translation>Spara aktuella blockkedjedata.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2575"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2751"/> <source>Synchronize the transactions and balance.</source> <translation>Synkronisera transaktionerna och saldot.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2579"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2755"/> <source>Show the wallet's balance of the currently selected account.</source> <translation>Visa plånbokens saldo för det aktiva kontot.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2589"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2759"/> + <source>Show the incoming transfers, all or filtered by availability and address index. + +Output format: +Amount, Spent("T"|"F"), "frozen"|"locked"|"unlocked", RingCT, Global Index, Transaction Hash, Address Index, [Public Key, Key Image] </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2765"/> <source>Show the payments for the given payment IDs.</source> <translation>Visa betalningar för givna betalnings-ID.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2592"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2768"/> <source>Show the blockchain height.</source> <translation>Visa blockkedjans höjd.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2606"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2782"/> <source>Send all unmixable outputs to yourself with ring_size 1</source> <translation>Skicka alla omixbara utgångar till dig själv med ringstorlek 1</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2613"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2789"/> <source>Send all unlocked outputs below the threshold to an address.</source> <translation>Skicka alla upplåsta utgångar under tröskelvärdet till en adress.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2617"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2793"/> <source>Send a single output of the given key image to an address without change.</source> <translation>Skicka en enda utgång hos den givna nyckelavbildningen till en adress utan växel.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2621"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2797"/> <source>Donate <amount> to the development team (donate.getmonero.org).</source> <translation>Donera <belopp> till utvecklingsteamet (donate.getmonero.org).</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2628"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2804"/> <source>Submit a signed transaction from a file.</source> <translation>Skicka en signerad transaktion från en fil.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2632"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2808"/> <source>Change the current log detail (level must be <0-4>).</source> <translation>Ändra detaljnivån för aktuell logg (nivå måste vara 0-4).</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2636"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2812"/> <source>If no arguments are specified, the wallet shows all the existing accounts along with their balances. If the "new" argument is specified, the wallet creates a new account with its label initialized by the provided label text (which can be empty). If the "switch" argument is specified, the wallet switches to the account specified by <index>. @@ -1613,82 +1665,132 @@ Om argumentet "untag" anges, tas tilldelade taggar bort från de angiv Om argumentet "tag_description" anges, så tilldelas taggen <taggnamn> den godtyckliga texten <beskrivning>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2650"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2826"/> <source>Encode a payment ID into an integrated address for the current wallet public address (no argument uses a random payment ID), or decode an integrated address to standard address and payment ID</source> <translation>Koda ett betalnings-ID till en integrerad adress för den aktuella plånbokens publika adress (om inget argument anges används ett slumpmässigt betalnings-ID), eller avkoda en integrerad adress till en standardadress och ett betalnings-ID</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2654"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2830"/> <source>Print all entries in the address book, optionally adding/deleting an entry to/from it.</source> <translation>Skriv ut alla poster i adressboken, och valfritt lägg till/ta bort en post i den.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2657"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2833"/> <source>Save the wallet data.</source> <translation>Spara plånboksdata.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2660"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2836"/> <source>Save a watch-only keys file.</source> <translation>Spara en fil med granskningsnycklar.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2663"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2839"/> <source>Display the private view key.</source> <translation>Visa privat granskningsnyckel.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2666"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2842"/> <source>Display the private spend key.</source> <translation>Visa privat spendernyckel.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2845"/> <source>Display the Electrum-style mnemonic seed</source> <translation>Visa det minnesbaserade startvärdet (Electrum-typ)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2719"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2849"/> + <source>Available options: + seed language + Set the wallet's seed language. + always-confirm-transfers <1|0> + Whether to confirm unsplit txes. + print-ring-members <1|0> + Whether to print detailed information about ring members during confirmation. + store-tx-info <1|0> + Whether to store outgoing tx info (destination address, payment ID, tx secret key) for future reference. + default-ring-size <n> + Set the default ring size (obsolete). + auto-refresh <1|0> + Whether to automatically synchronize new blocks from the daemon. + refresh-type <full|optimize-coinbase|no-coinbase|default> + Set the wallet's refresh behaviour. + priority [0|1|2|3|4] + Set the fee to default/unimportant/normal/elevated/priority. + confirm-missing-payment-id <1|0> (obsolete) + ask-password <0|1|2 (or never|action|decrypt)> + action: ask the password before many actions such as transfer, etc + decrypt: same as action, but keeps the spend key encrypted in memory when not needed + unit <monero|millinero|micronero|nanonero|piconero> + Set the default monero (sub-)unit. + min-outputs-count [n] + Try to keep at least that many outputs of value at least min-outputs-value. + min-outputs-value [n] + Try to keep at least min-outputs-count outputs of at least that value. + merge-destinations <1|0> + Whether to merge multiple payments to the same destination address. + confirm-backlog <1|0> + Whether to warn if there is transaction backlog. + confirm-backlog-threshold [n] + Set a threshold for confirm-backlog to only warn if the transaction backlog is greater than n blocks. + refresh-from-block-height [n] + Set the height before which to ignore blocks. + auto-low-priority <1|0> + Whether to automatically use the low priority fee level when it's safe to do so. + segregate-pre-fork-outputs <1|0> + Set this if you intend to spend outputs on both Monero AND a key reusing fork. + key-reuse-mitigation2 <1|0> + Set this if you are not sure whether you will spend on a key reusing Monero fork later. +subaddress-lookahead <major>:<minor> + Set the lookahead sizes for the subaddress hash table. + Set this if you are not sure whether you will spend on a key reusing Monero fork later. + segregation-height <n> + Set to the height of a key reusing fork you want to use, 0 to use default.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2897"/> <source>Display the encrypted Electrum-style mnemonic seed.</source> <translation>Visa det krypterade minnesbaserade startvärdet (Electrum-typ).</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2722"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2900"/> <source>Rescan the blockchain for spent outputs.</source> <translation>Genomsök blockkedjan efter spenderade utgångar.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2726"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2904"/> <source>Get the transaction key (r) for a given <txid>.</source> <translation>Hämta transaktionsnyckel (r) för ett givet <txid>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2734"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2912"/> <source>Check the amount going to <address> in <txid>.</source> <translation>Kontrollera belopp som går till <adress> i <txid>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2738"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2916"/> <source>Generate a signature proving funds sent to <address> in <txid>, optionally with a challenge string <message>, using either the transaction secret key (when <address> is not your wallet's address) or the view secret key (otherwise), which does not disclose the secret key.</source> <translation>Skapa en signatur som bevisar att pengar skickades till <adress> i <txid>, valfritt med kontrollsträngen <meddelande>, genom att använda antingen transaktionens hemliga nyckel (när <adress> inte är din plånboks adress) eller den hemliga granskningsnyckeln (annars), vilket inte lämnar ut den hemliga nyckeln.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2742"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2920"/> <source>Check the proof for funds going to <address> in <txid> with the challenge string <message> if any.</source> <translation>Kontrollera beviset för pengar som skickats till <adress> i <txid> med kontrollsträngen <meddelande>, om den angivits.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2746"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2924"/> <source>Generate a signature proving that you generated <txid> using the spend secret key, optionally with a challenge string <message>.</source> <translation>Skapa en signatur som bevisar att du skapade <txid> genom att använda den hemliga spendernyckeln, valfritt med kontrollsträngen <meddelande>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2750"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2928"/> <source>Check a signature proving that the signer generated <txid>, optionally with a challenge string <message>.</source> <translation>Kontrollera en signatur som bevisar att signeraren skapade <txid>, valfritt med kontrollsträngen <meddelande>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2754"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2932"/> <source>Generate a signature proving that you own at least this much, optionally with a challenge string <message>. If 'all' is specified, you prove the entire sum of all of your existing accounts' balances. Otherwise, you prove the reserve of the smallest possible amount above <amount> available in your current account.</source> @@ -1697,238 +1799,288 @@ Om 'all' anges, bevisar du totalsumman av alla dina befintliga kontons Annars bevisar du reserven för det minsta möjliga belopp över <belopp> som är tillgängligt på ditt aktuella konto.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2760"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2938"/> <source>Check a signature proving that the owner of <address> holds at least this much, optionally with a challenge string <message>.</source> <translation>Kontrollera en signatur som bevisar att ägaren till <adress> har åtminstone så här mycket, valfritt med kontrollsträngen <meddelande>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2780"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2958"/> <source>Show the unspent outputs of a specified address within an optional amount range.</source> <translation>Visa de ej spenderade utgångarna hos en angiven adress inom ett valfritt beloppsintervall.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2788"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2962"/> + <source>Rescan the blockchain from scratch. If "hard" is specified, you will lose any information which can not be recovered from the blockchain itself.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="2966"/> <source>Set an arbitrary string note for a <txid>.</source> <translation>Ange en godtycklig stränganteckning för <txid>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2792"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2970"/> <source>Get a string note for a txid.</source> <translation>Hämta en stränganteckning för ett txid.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2796"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2974"/> <source>Set an arbitrary description for the wallet.</source> <translation>Ange en godtycklig beskrivning av plånboken.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2800"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2978"/> <source>Get the description of the wallet.</source> <translation>Hämta plånbokens beskrivning.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2803"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2981"/> <source>Show the wallet's status.</source> <translation>Visa plånbokens status.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2806"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2984"/> <source>Show the wallet's information.</source> <translation>Visa information om plånboken.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2810"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2988"/> <source>Sign the contents of a file.</source> <translation>Signera innehållet i en fil.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2814"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2992"/> <source>Verify a signature on the contents of a file.</source> <translation>Verifiera en signatur av innehållet in en fil.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2822"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3000"/> <source>Import a signed key images list and verify their spent status.</source> <translation>Importera en signerad lista av nyckelavbildningar och verifiera deras spenderstatus.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2834"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3012"/> <source>Export a set of outputs owned by this wallet.</source> <translation>Exportera en uppsättning utgångar som ägs av denna plånbok.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2838"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3016"/> <source>Import a set of outputs owned by this wallet.</source> <translation>Importera en uppsättning utgångar som ägs av denna plånbok.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2842"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3020"/> <source>Show information about a transfer to/from this address.</source> <translation>Visa information om en transktion till/från denna adress.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2845"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3023"/> <source>Change the wallet's password.</source> <translation>Ändra plånbokens lösenord.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2849"/> - <source>Generate a new random full size payment id. These will be unencrypted on the blockchain, see integrated_address for encrypted short payment ids.</source> - <translation>Skapa ett nytt slumpmässigt betalnings-ID av normalstorlek. Dessa kommer att vara okrypterade på blockkedjan. Se integrated_address för krypterade korta betalnings-ID.</translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2852"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3030"/> <source>Print the information about the current fee and transaction backlog.</source> <translation>Skriv ut information om aktuell avgift och transaktionseftersläpning.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2854"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3032"/> <source>Export data needed to create a multisig wallet</source> <translation>Exportera data som krävs för att skapa en multisig-plånbok</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2857"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3035"/> <source>Turn this wallet into a multisig wallet</source> <translation>Gör denna plånbok till en multisig-plånbok</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2861"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3039"/> <source>Turn this wallet into a multisig wallet, extra step for N-1/N wallets</source> <translation>Gör denna plånbok till en multisig-plånbok, extra steg för plånböcker med N-1/N</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2869"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3047"/> <source>Export multisig info for other participants</source> <translation>Exportera multisig-info för andra deltagare</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2873"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3051"/> <source>Import multisig info from other participants</source> <translation>Importera multisig-info från andra deltagare</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2877"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3055"/> <source>Sign a multisig transaction from a file</source> <translation>Signera en a multisig-transaktion från en fil</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2881"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3059"/> <source>Submit a signed multisig transaction from a file</source> <translation>Skicka en signerad multisig-transaktion från en fil</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2885"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3063"/> <source>Export a signed multisig transaction to a file</source> <translation>Exportera en signerad multisig-transaktion till en fil</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3002"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3160"/> + <source>Unsets the ring used for a given key image or transaction</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3180"/> + <source>Freeze a single output by key image so it will not be used</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3184"/> + <source>Thaw a single output by key image so it may be used again</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3188"/> + <source>Checks whether a given output is currently frozen by key image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3192"/> + <source>Prints simple network stats</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3196"/> + <source>Prints basic info about Monero for first time users</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3204"/> <source>Show the help section or the documentation about a <command>.</source> <translation>Visa hjälpavsnittet eller dokumentationen för <kommando>.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3085"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3258"/> + <source> (set this to support the network and to get a chance to receive new monero)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3295"/> <source>integer >= </source> <translation>heltal >= </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3308"/> <source>block height</source> <translation>blockhöjd</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3203"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3316"/> + <source>1/yes or 0/no</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3414"/> <source>No wallet found with that name. Confirm creation of new wallet named: </source> <translation>Ingen plånbok med det namnet kunde hittas. Bekräfta skapande av ny plånbok med namn: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3304"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3540"/> <source>can't specify both --restore-deterministic-wallet or --restore-multisig-wallet and --non-deterministic</source> <translation>det går inte att ange både --restore-deterministic-wallet eller --restore-multisig-wallet och --non-deterministic</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3310"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3546"/> <source>--restore-multisig-wallet uses --generate-new-wallet, not --wallet-file</source> <translation>--restore-multisig-wallet använder --generate-new-wallet, inte --wallet-file</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3326"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3562"/> <source>specify a recovery parameter with the --electrum-seed="multisig seed here"</source> <translation>ange en återställningsparameter med --electrum-seed="startvärde för multisig"</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3355"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3591"/> <source>Multisig seed failed verification</source> <translation>Startvärde för multisig kunde inte verifieras</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3406"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3481"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3641"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3718"/> <source>This address is a subaddress which cannot be used here.</source> <translation>Denna adress är en underadress som inte kan användas här.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3558"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3796"/> <source>Error: expected M/N, but got: </source> <translation>Fel: förväntade M/N, men fick: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3563"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3801"/> <source>Error: expected N > 1 and N <= M, but got: </source> <translation>Fel: förväntade N > 1 och N <= M, men fick: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3568"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3806"/> <source>Error: M/N is currently unsupported. </source> <translation>Fel: M/N stöds för närvarande inte. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3809"/> <source>Generating master wallet from %u of %u multisig wallet keys</source> <translation>Skapar huvudplånbok från %u av %u multisig-plånboksnycklar</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3600"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3838"/> <source>failed to parse secret view key</source> <translation>det gick inte att parsa hemlig granskningsnyckel</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3608"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3846"/> <source>failed to verify secret view key</source> <translation>det gick inte att verifiera hemlig granskningsnyckel</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3628"/> - <source>Secret spend key (%u of %u):</source> - <translation>Hemlig spendernyckel (%u av %u):</translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3651"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3889"/> <source>Error: M/N is currently unsupported</source> <translation>Fel: M/N stöds för närvarande inte</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3802"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4055"/> <source>Restore height </source> <translation>Återställningshöjd </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3803"/> - <source>Still apply restore height? (Y/Yes/N/No): </source> - <translation>Ska återställningshöjd fortfarande appliceras? (J/Ja/N/Nej): </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3829"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4083"/> <source>Warning: using an untrusted daemon at %s, privacy will be lessened</source> <translation>Varning: använder en ej betrodd daemon på %s; sekretessen kommer att vara mindre</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3888"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4093"/> + <source>If you are new to Monero, type "welcome" for a brief overview.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4098"/> + <source>WARNING: obsolete long payment IDs are enabled. Sending transactions with those payment IDs are bad for your privacy.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4100"/> + <source>It is recommended that you do not use them, and ask recipients who ask for one to not endanger your privacy.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4165"/> <source>Daemon either is not started or wrong port was passed. Please make sure daemon is running or change the daemon address using the 'set_daemon' command.</source> <translation>Antingen har daemonen inte startat eller så angavs fel port. Se till att daemonen körs eller byt daemonadress med kommandot 'set_daemon'.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4036"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4203"/> + <source>Enter the number corresponding to the language of your choice</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4313"/> <source>Your wallet has been generated! To start synchronizing with the daemon, use the "refresh" command. Use the "help" command to see the list of available commands. @@ -1946,910 +2098,910 @@ din plånbok igen (din plånboks nycklar är dock INTE hotade i vilket fall som </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4180"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4457"/> <source>failed to generate new mutlisig wallet</source> <translation>det gick inte att skapa ny multisig-plånbok</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4183"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4460"/> <source>Generated new %u/%u multisig wallet: </source> <translation>Skapa ny %u/%u-multisig-plånbok: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4232"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4509"/> <source>Opened %u/%u multisig wallet%s</source> <translation>Öppnade %u/%u-multisig-plånbok%s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4293"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4570"/> <source>Use "help <command>" to see a command's documentation. </source> <translation>Använd "help <kommando>" för att visa dokumentation för kommandot. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4351"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4628"/> <source>wallet is multisig and cannot save a watch-only version</source> <translation>plånboken är multisig och kan inte spara en granskningsversion</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4476"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4664"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4696"/> + <source>Failed to query mining status: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4679"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4707"/> + <source>Failed to setup background mining: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4683"/> + <source>Background mining enabled. Thank you for supporting the Monero network.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4711"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4719"/> + <source>Background mining not enabled. Run "set setup-background-mining 1" to change.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4725"/> + <source>Using an untrusted daemon, skipping background mining check</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4750"/> + <source>The daemon is not set up to background mine.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4751"/> + <source>With background mining enabled, the daemon will mine when idle and not on batttery.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4752"/> + <source>Enabling this supports the network you are using, and makes you eligible for receiving new monero</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4757"/> + <source>Background mining not enabled. Set setup-background-mining to 1 to change.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4864"/> <source>Unexpected array length - Exited simple_wallet::set_daemon()</source> <translation>Oväntad matrislängd - Lämnade simple_wallet::set_daemon()</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4517"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4905"/> <source>This does not seem to be a valid daemon URL.</source> <translation>Detta verkar inte vara en giltig daemon-URL.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4553"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4590"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4941"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4974"/> <source>txid </source> <translation>txid </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4555"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4592"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4943"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4976"/> <source>idx </source> <translation>idx </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4780"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <source>WARNING: this transaction uses an unencrypted payment ID: consider using subaddresses instead.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <source>WARNING: this transaction uses an unencrypted payment ID: these are obsolete. Support will be withdrawn in the future. Use subaddresses instead.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5108"/> + <source>New transfer received since rescan was started. Key images are incomplete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5183"/> <source> (Some owned outputs have partial key images - import_multisig_info needed)</source> <translation> (Några ägda utgångar har partiella nyckelavbildningar - import_multisig_info krävs)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4783"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5186"/> <source>Currently selected account: [</source> <translation>Aktuellt valt konto: [</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4783"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5186"/> <source>] </source> <translation>] </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4785"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5188"/> <source>Tag: </source> <translation>Tagg: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4785"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5188"/> <source>(No tag assigned)</source> <translation>(Ingen tagg tilldelad)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4792"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5200"/> <source>Balance per address:</source> <translation>Saldo per adress:</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> <source>Address</source> <translation>Adress</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> <source>Balance</source> <translation>Saldo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> <source>Unlocked balance</source> <translation>Upplåst saldo</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> <source>Outputs</source> <translation>Utgångar</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4793"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9122"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> <source>Label</source> <translation>Etikett</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4801"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5209"/> <source>%8u %6s %21s %21s %7u %21s</source> <translation>%8u %6s %21s %21s %7u %21s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>spent</source> <translation>spenderat</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>global index</source> <translation>globalt index</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>tx id</source> <translation>tx-ID</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>addr index</source> <translation>addr index</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4924"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5312"/> + <source>Used at heights: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5318"/> + <source>[frozen]</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5332"/> <source>No incoming transfers</source> <translation>Inga inkommande överföringar</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4928"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5336"/> <source>No incoming available transfers</source> <translation>Inga inkommande tillgängliga överföringar</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4932"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5340"/> <source>No incoming unavailable transfers</source> <translation>Inga inkommande otillgängliga överföringar</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>payment</source> <translation>betalning</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>transaction</source> <translation>transaktion</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>height</source> <translation>höjd</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5364"/> <source>unlock time</source> <translation>upplåsningstid</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4968"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5376"/> <source>No payments with id </source> <translation>Inga betalningar med ID </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5016"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5106"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5442"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5901"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5424"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5514"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5843"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6302"/> <source>failed to get blockchain height: </source> <translation>det gick inte att hämta blockkedjans höjd: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5114"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5522"/> <source> Transaction %llu/%llu: txid=%s</source> <translation> Transaktion %llu/%llu: txid=%s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5135"/> - <source> -Input %llu/%llu: amount=%s</source> - <translation> -Ingång %llu/%llu: belopp=%s</translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5151"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5559"/> <source>failed to get output: </source> <translation>det gick inte att hämta utgång: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5159"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5567"/> <source>output key's originating block height shouldn't be higher than the blockchain height</source> <translation>utgångsnyckelns ursprungsblockhöjd får inte vara högre än blockkedjans höjd</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5163"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5571"/> <source> Originating block heights: </source> <translation> Ursprungsblockhöjder: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5175"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5583"/> <source> |</source> <translation> |</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5175"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7706"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5583"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8110"/> <source>| </source> <translation>| </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5192"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5600"/> <source> Warning: Some input keys being spent are from </source> <translation> Varning: Några ingångsnycklar som spenderas kommer från </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5194"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5602"/> <source>, which can break the anonymity of ring signature. Make sure this is intentional!</source> <translation>, vilket kan bryta ringsignaturens anonymitet. Se till att detta är avsiktligt!</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5234"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5853"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6156"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5642"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6254"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6547"/> <source>Ring size must not be 0</source> <translation>Ringstorlek för inte vara 0</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5246"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5865"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6168"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5654"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6266"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6559"/> <source>ring size %u is too small, minimum is %u</source> <translation>ringstorlek %uär för liten, minimum är %u</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5258"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5666"/> <source>wrong number of arguments</source> <translation>fel antal argument</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5417"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5996"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6268"/> - <source>No payment id is included with this transaction. Is this okay? (Y/Yes/N/No): </source> - <translation>Inget betalnings-ID har inkluderats med denna transaktion. Är detta okej? (J/Ja/N/Nej): </translation> + <location filename="../src/simplewallet/simplewallet.cpp" line="5686"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5796"/> + <source>Warning: Unencrypted payment IDs will harm your privacy: ask the recipient to use subaddresses instead</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5458"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6016"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5859"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6407"/> <source>No outputs found, or daemon is not ready</source> <translation>Inga utgångar hittades, eller så är daemonen inte klar</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6428"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6816"/> <source>Failed to parse donation address: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6442"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6830"/> <source>Donating %s %s to The Monero Project (donate.getmonero.org or %s).</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6444"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6832"/> <source>Donating %s %s to %s.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6759"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6770"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6777"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7164"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7175"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7182"/> <source>failed to parse tx_key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6786"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7191"/> <source>Tx key successfully stored.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6790"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7195"/> <source>Failed to store tx key: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7296"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7696"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>block</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7440"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7844"/> <source>usage: show_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7493"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7897"/> <source>usage: export_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] [output=<path>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>direction</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>timestamp</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>running balance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>hash</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>payment ID</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>fee</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>destination</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>index</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>note</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7572"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7976"/> <source>CSV exported to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7730"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8159"/> <source>Warning: this will lose any information which can not be recovered from the blockchain.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7731"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8160"/> <source>This includes destination addresses, tx secret keys, tx notes, etc</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7732"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8172"/> + <source>Warning: your restore height is higher than wallet restore height: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="8173"/> <source>Rescan anyway ? (Y/Yes/N/No): </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7750"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8192"/> <source>MMS received new message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8387"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8832"/> <source>Network type: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8388"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8833"/> <source>Testnet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8389"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8834"/> <source>Stagenet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8389"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8834"/> <source>Mainnet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8559"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8605"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8999"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9045"/> <source>command only supported by HW wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8564"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9004"/> <source>hw wallet does not support cold KI sync</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8576"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9016"/> <source>Please confirm the key image sync on the device</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8582"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9022"/> <source>Key images synchronized to height </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8585"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9025"/> <source>Running untrusted daemon, cannot determine which transaction output is spent. Use a trusted daemon with --trusted-daemon and run rescan_spent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8588"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9028"/> <source> spent, </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8588"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9028"/> <source> unspent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8592"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9032"/> <source>Failed to import key images</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8597"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9037"/> <source>Failed to import key images: </source> <translation type="unfinished">Det gick inte att importera nyckelavbildningar: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8614"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9054"/> <source>Failed to reconnect device</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8619"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9059"/> <source>Failed to reconnect device: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8883"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9323"/> <source>Transaction successfully saved to </source> <translation>Transaktionen sparades till </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8883"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8885"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9323"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9325"/> <source>, txid </source> <translation>, txid </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8885"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9325"/> <source>Failed to save transaction to </source> <translation>Det gick inte att spara transaktion till </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5723"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6044"/> - <source>Sweeping %s in %llu transactions for a total fee of %s. Is this okay? (Y/Yes/N/No): </source> - <translation>Sveper upp %s i %llu transaktioner för en total avgift på %s. Är detta okej? (J/Ja/N/Nej): </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5729"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6050"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6310"/> - <source>Sweeping %s for a total fee of %s. Is this okay? (Y/Yes/N/No): </source> - <translation>Sveper upp %s för en total avgift på %s. Är detta okej? (J/Ja/N/Nej): </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6611"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7014"/> <source>This is a watch only wallet</source> <translation>Detta är en granskningsplånbok</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8813"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9253"/> <source>Double spend seen on the network: this transaction may or may not end up being mined</source> <translation>En dubbelspendering upptäcktes på nätverket: denna transaktion kanske aldrig blir verifierad</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8848"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9288"/> <source>Transaction ID not found</source> <translation>Transaktions-ID kunde inte hittas</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="336"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="357"/> <source>true</source> <translation>sant</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="389"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="410"/> <source>failed to parse refresh type</source> <translation>det gick inte att parsa uppdateringstyp</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="721"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="787"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="939"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="984"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1067"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1124"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1190"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1256"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1350"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1466"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1547"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6601"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6665"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6702"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6799"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7010"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7094"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8397"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8474"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8517"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8630"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8670"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="742"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="808"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="962"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1007"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1090"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1147"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1214"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1280"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1374"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1490"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7004"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7068"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7105"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7410"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7494"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8842"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8919"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8962"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9070"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9110"/> <source>command not supported by HW wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="726"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="797"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="747"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="818"/> <source>wallet is watch-only and has no seed</source> <translation>plånboken är enbart för granskning och har inget startvärde</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="744"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="807"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="828"/> <source>wallet is non-deterministic and has no seed</source> <translation>plånboken är icke-deterministisk och har inget startvärde</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="751"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="772"/> <source>Enter optional seed offset passphrase, empty to see raw seed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="817"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="838"/> <source>Incorrect password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="883"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="906"/> <source>Current fee is %s %s per %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1036"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1158"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1059"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1181"/> <source>Send this multisig info to all other participants, then use exchange_multisig_keys <info1> [<info2>...] with others' multisig info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1167"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1190"/> <source>Multisig wallet has been successfully created. Current wallet type: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1172"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1196"/> <source>Failed to perform multisig keys exchange: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1499"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1523"/> <source>Failed to load multisig transaction from MMS</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1631"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1788"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1655"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1812"/> <source>Invalid key image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1637"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1661"/> <source>Invalid txid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1649"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1673"/> <source>Key image either not spent, or spent with mixin 0</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1664"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1688"/> <source>Failed to get key image ring: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1679"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1703"/> <source>File doesn't exist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1701"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1725"/> <source>Invalid ring specification: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1733"/> <source>Invalid key image: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1714"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1738"/> <source>Invalid ring type, expected relative or abosolute: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1720"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1732"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1744"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1756"/> <source>Error reading line: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1743"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1767"/> <source>Invalid ring: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1752"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1776"/> <source>Invalid relative ring: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1764"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1788"/> <source>Invalid absolute ring: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1773"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1797"/> <source>Failed to set ring for key image: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1773"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1797"/> <source>Continuing.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1803"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1827"/> <source>Missing absolute or relative keyword</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1813"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1820"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1837"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1844"/> <source>invalid index: must be a strictly positive unsigned integer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1828"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1852"/> <source>invalid index: indices wrap</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1838"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1862"/> <source>invalid index: indices should be in strictly ascending order</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1845"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1869"/> <source>failed to set ring</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1890"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1946"/> <source>First line is not an amount</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1904"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1960"/> <source>Invalid output: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1914"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1970"/> <source>Bad argument: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1914"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1970"/> <source>should be "add"</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1923"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1979"/> <source>Failed to open file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1929"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1985"/> <source>Invalid output key, and file doesn't exist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1935"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1991"/> <source>Failed to mark output spent: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1952"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1979"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2035"/> <source>Invalid output</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1962"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2018"/> <source>Failed to mark output unspent: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1986"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2042"/> <source>Spent: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2044"/> <source>Not spent: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1992"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2048"/> <source>Failed to check whether output is spent: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2007"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2063"/> <source>Failed to save known rings: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2022"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2171"/> <source>Please confirm the transaction on the device</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2069"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2088"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2218"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2237"/> <source>wallet is watch-only and cannot transfer</source> <translation>plånboken är enbart för granskning och kan inte göra överföringar</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2106"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5581"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2255"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5982"/> <source>WARNING: this is a non default ring size, which may harm your privacy. Default is recommended.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2108"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2257"/> <source>WARNING: from v8, ring size will be fixed and this setting will be ignored.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2137"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2160"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="2176"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2286"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2309"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2325"/> <source>priority must be either 0, 1, 2, 3, or 4, or one of: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2330"/> <source>could not change default priority</source> <translation>det gick inte att ändra standardinställning för prioritet</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2249"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2400"/> <source>invalid argument: must be either 0/never, 1/action, or 2/encrypt/decrypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2510"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2686"/> <source>Device name not specified</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2519"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2695"/> <source>Device reconnect failed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2524"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2700"/> <source>Device reconnect failed: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2583"/> - <source>Show the incoming transfers, all or filtered by availability and address index. - -Output format: -Amount, Spent("T"|"F"), "locked"|"unlocked", RingCT, Global Index, Transaction Hash, Address Index, [Public Key, Key Image] </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2595"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2771"/> <source>Transfer <amount> to <address>. If the parameter "index=<N1>[,<N2>,...]" is specified, the wallet uses outputs received by addresses of those indices. If omitted, the wallet randomly chooses address indices to be used. In any case, it tries its best not to combine outputs across multiple addresses. <priority> is the priority of the transaction. The higher the priority, the higher the transaction fee. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command "set priority") is used. <ring_size> is the number of inputs to include for untraceability. Multiple payments can be made at once by adding URI_2 or <address_2> <amount_2> etcetera (before the payment ID, if it's included)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2599"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2775"/> <source>Transfer <amount> to <address> and lock it for <lockblocks> (max. 1000000). If the parameter "index=<N1>[,<N2>,...]" is specified, the wallet uses outputs received by addresses of those indices. If omitted, the wallet randomly chooses address indices to be used. In any case, it tries its best not to combine outputs across multiple addresses. <priority> is the priority of the transaction. The higher the priority, the higher the transaction fee. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command "set priority") is used. <ring_size> is the number of inputs to include for untraceability. Multiple payments can be made at once by adding URI_2 or <address_2> <amount_2> etcetera (before the payment ID, if it's included)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2603"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2779"/> <source>Send all unlocked balance to an address and lock it for <lockblocks> (max. 1000000). If the parameter "index<N1>[,<N2>,...]" is specified, the wallet sweeps outputs received by those address indices. If omitted, the wallet randomly chooses an address index to be used. <priority> is the priority of the sweep. The higher the priority, the higher the transaction fee. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command "set priority") is used. <ring_size> is the number of inputs to include for untraceability.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2609"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2785"/> <source>Send all unlocked balance to an address. If the parameter "index<N1>[,<N2>,...]" is specified, the wallet sweeps outputs received by those address indices. If omitted, the wallet randomly chooses an address index to be used. If the parameter "outputs=<N>" is specified and N > 0, wallet splits the transaction into N even outputs.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2625"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2801"/> <source>Sign a transaction from a file. If the parameter "export_raw" is specified, transaction raw hex data suitable for the daemon RPC /sendrawtransaction is exported.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2646"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2822"/> <source>If no arguments are specified or <index> is specified, the wallet shows the default or specified address. If "all" is specified, the wallet shows all the existing addresses in the currently selected account. If "new " is specified, the wallet creates a new address with the provided label text (which can be empty). If "label" is specified, the wallet sets the label of the address specified by <index> to the provided label text.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2673"/> - <source>Available options: - seed language - Set the wallet's seed language. - always-confirm-transfers <1|0> - Whether to confirm unsplit txes. - print-ring-members <1|0> - Whether to print detailed information about ring members during confirmation. - store-tx-info <1|0> - Whether to store outgoing tx info (destination address, payment ID, tx secret key) for future reference. - default-ring-size <n> - Set the default ring size (obsolete). - auto-refresh <1|0> - Whether to automatically synchronize new blocks from the daemon. - refresh-type <full|optimize-coinbase|no-coinbase|default> - Set the wallet's refresh behaviour. - priority [0|1|2|3|4] - Set the fee to default/unimportant/normal/elevated/priority. - confirm-missing-payment-id <1|0> - ask-password <0|1|2 (or never|action|decrypt)> - unit <monero|millinero|micronero|nanonero|piconero> - Set the default monero (sub-)unit. - min-outputs-count [n] - Try to keep at least that many outputs of value at least min-outputs-value. - min-outputs-value [n] - Try to keep at least min-outputs-count outputs of at least that value. - merge-destinations <1|0> - Whether to merge multiple payments to the same destination address. - confirm-backlog <1|0> - Whether to warn if there is transaction backlog. - confirm-backlog-threshold [n] - Set a threshold for confirm-backlog to only warn if the transaction backlog is greater than n blocks. - refresh-from-block-height [n] - Set the height before which to ignore blocks. - auto-low-priority <1|0> - Whether to automatically use the low priority fee level when it's safe to do so. - segregate-pre-fork-outputs <1|0> - Set this if you intend to spend outputs on both Monero AND a key reusing fork. - key-reuse-mitigation2 <1|0> - Set this if you are not sure whether you will spend on a key reusing Monero fork later. -subaddress-lookahead <major>:<minor> - Set the lookahead sizes for the subaddress hash table. - Set this if you are not sure whether you will spend on a key reusing Monero fork later. - segregation-height <n> - Set to the height of a key reusing fork you want to use, 0 to use default.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2730"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2908"/> <source>Set the transaction key (r) for a given <txid> in case the tx was made by some other device or 3rd party wallet.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2943"/> <source>Show the incoming/outgoing transfers within an optional height range. Output format: @@ -2863,42 +3015,42 @@ Pending or Failed: "failed"|"pending", "o <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2775"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2953"/> <source>export_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] [output=<filepath>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2776"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2954"/> <source>Export to CSV the incoming/outgoing transfers within an optional height range.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2784"/> - <source>Rescan the blockchain from scratch, losing any information which can not be recovered from the blockchain itself.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2818"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="2996"/> <source>Export a signed set of key images to a <filename>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2826"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3004"/> <source>Synchronizes key images with the hw wallet.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2830"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3008"/> <source>Attempts to reconnect HW wallet.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2865"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3027"/> + <source>Generate a new random full size payment id (obsolete). These will be unencrypted on the blockchain, see integrated_address for encrypted short payment ids.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3043"/> <source>Performs extra multisig keys exchange rounds. Needed for arbitrary M/N multisig wallets</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2889"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3067"/> <source>Interface with the MMS (Multisig Messaging System) <subcommand> is one of: init, info, signer, list, next, sync, transfer, delete, send, receive, export, note, show, set, help @@ -2907,73 +3059,73 @@ Get help about a subcommand with: help mms <subcommand>, or mms help <s <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2897"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3075"/> <source>Initialize and configure the MMS for M/N = number of required signers/number of authorized signers multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2901"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3079"/> <source>Display current MMS configuration</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2905"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3083"/> <source>Set or modify authorized signer info (single-word label, transport address, Monero address), or list all signers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2909"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3087"/> <source>List all messages</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2913"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3091"/> <source>Evaluate the next possible multisig-related action(s) according to wallet state, and execute or offer for choice By using 'sync' processing of waiting messages with multisig sync info can be forced regardless of wallet state</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2918"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3096"/> <source>Force generation of multisig sync info regardless of wallet state, to recover from special situations like "stale data" errors</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2922"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3100"/> <source>Initiate transfer with MMS support; arguments identical to normal 'transfer' command arguments, for info see there</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2926"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3104"/> <source>Delete a single message by giving its id, or delete all messages by using 'all'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2930"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3108"/> <source>Send a single message by giving its id, or send all waiting messages</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2934"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3112"/> <source>Check right away for new messages to receive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2938"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3116"/> <source>Write the content of a message to a file "mms_message_content"</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2942"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3120"/> <source>Send a one-line message to an authorized signer, identified by its label, or show any waiting unread notes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2946"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3124"/> <source>Show detailed info about a single message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2950"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3128"/> <source>Available options: auto-send <1|0> Whether to automatically send newly generated messages right away. @@ -2981,27 +3133,27 @@ By using 'sync' processing of waiting messages with multisig sync info <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2956"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3134"/> <source>Send completed signer config to all other authorized signers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2960"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3138"/> <source>Start auto-config at the auto-config manager's wallet by issuing auto-config tokens and optionally set others' labels</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2964"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3142"/> <source>Delete any auto-config tokens and abort a auto-config process</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2968"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3146"/> <source>Start auto-config by using the token received from the auto-config manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3150"/> <source>Print the ring(s) used to spend a given key image or transaction (if the ring size is > 1) Output format: @@ -3009,1099 +3161,1170 @@ Key Image, "absolute", list of rings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2978"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3156"/> <source>Set the ring used for a given key image, so it can be reused in a fork</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2982"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3164"/> <source>Save known rings to the shared rings database</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2986"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3168"/> <source>Mark output(s) as spent so they never get selected as fake outputs in a ring</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2990"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3172"/> <source>Marks an output as unspent so it may get selected as a fake output in a ring</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2994"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3176"/> <source>Checks whether an output is marked as spent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="2998"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3200"/> <source>Returns version information</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3087"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3297"/> <source>full (slowest, no assumptions); optimize-coinbase (fast, assumes the whole coinbase is paid to a single address); no-coinbase (fastest, assumes we receive no coinbase transaction), default (same as optimize-coinbase)</source> <translation>full (långsammast, inga antaganden); optimize-coinbase (snabb, antar att hela coinbase-transaktionen betalas till en enda adress); no-coinbase (snabbast, antar att ingen coinbase-transaktion tas emot), default (samma som optimize-coinbase)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3088"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3298"/> <source>0, 1, 2, 3, or 4, or one of </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3090"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3300"/> <source>0|1|2 (or never|action|decrypt)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3091"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3301"/> <source>monero, millinero, micronero, nanonero, piconero</source> <translation>monero, millinero, micronero, nanonero, piconero</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3102"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3312"/> <source><major>:<minor></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3106"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3317"/> <source><device_name[:device_spec]></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3127"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3338"/> <source>wrong number range, use: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3166"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3377"/> <source>Wallet name not valid. Please try again or use Ctrl-C to quit.</source> <translation>Plånbokens namn ej giltigt. Försök igen eller använd Ctrl-C för att avsluta.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3183"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3394"/> <source>Wallet and key files found, loading...</source> <translation>Plånbok och nyckelfil hittades, läser in …</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3189"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3400"/> <source>Key file found but not wallet file. Regenerating...</source> <translation>Nyckelfilen hittades men inte plånboksfilen. Återskapar …</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3195"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3406"/> <source>Key file not found. Failed to open wallet: </source> <translation>Nyckelfilen kunde inte hittas. Det gick inte att öppna plånbok: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3214"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3425"/> <source>Generating new wallet...</source> <translation>Skapar ny plånbok …</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3232"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3443"/> <source>NOTE: the following %s can be used to recover access to your wallet. Write them down and store them somewhere safe and secure. Please do not store them in your email or on file storage services outside of your immediate control. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3445"/> <source>string</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3445"/> <source>25 words</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3273"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3506"/> <source>Can't specify more than one of --testnet and --stagenet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3285"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3521"/> <source>can't specify more than one of --generate-new-wallet="wallet_name", --wallet-file="wallet_name", --generate-from-view-key="wallet_name", --generate-from-spend-key="wallet_name", --generate-from-keys="wallet_name", --generate-from-multisig-keys="wallet_name", --generate-from-json="jsonfilename" and --generate-from-device="wallet_name"</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3364"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3600"/> <source>Electrum-style word list failed verification</source> <translation>Det gick inte att verifiera ordlista av Electrum-typ</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3369"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3605"/> <source>Enter seed offset passphrase, empty if none</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3395"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3415"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3450"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3470"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3490"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3505"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3553"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3578"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3594"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3633"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3630"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3650"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3686"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3707"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3727"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3742"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3791"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3816"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3832"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3871"/> <source>No data supplied, cancelled</source> <translation>Inga data angivna, avbryter</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3401"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3476"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3584"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5371"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5969"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6243"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6818"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6886"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6950"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7154"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8193"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8454"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3636"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3713"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3822"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5770"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6360"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6631"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7218"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7286"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7350"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7554"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8636"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8899"/> <source>failed to parse address</source> <translation>det gick inte att parsa adressen</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3421"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3511"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3656"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3748"/> <source>failed to parse view key secret key</source> <translation>det gick inte att parsa hemlig granskningsnyckel</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3430"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3528"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3665"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3765"/> <source>failed to verify view key secret key</source> <translation>det gick inte att verifiera hemlig granskningsnyckel</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3434"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3532"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3613"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3769"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3851"/> <source>view key does not match standard address</source> <translation>granskningsnyckel matchar inte standardadress</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3439"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3459"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3536"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3669"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3674"/> <location filename="../src/simplewallet/simplewallet.cpp" line="3695"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3726"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3773"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3907"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3934"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3966"/> <source>account creation failed</source> <translation>det gick inte att skapa konto</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3455"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3496"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3638"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3691"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3733"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3876"/> <source>failed to parse spend key secret key</source> <translation>det gick inte att parsa spendernyckel hemlig nyckel</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3520"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3658"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3757"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3896"/> <source>failed to verify spend key secret key</source> <translation>det gick inte att verifiera spendernyckel hemlig nyckel</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3524"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3663"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3761"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3901"/> <source>spend key does not match standard address</source> <translation>spendernyckel matchar inte standardadress</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3701"/> - <source>No restore height is specified.</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="3866"/> + <source>Secret spend key (%u of %u)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3702"/> - <source>Assumed you are creating a new account, restore will be done from current estimated blockchain height.</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="3941"/> + <source>No restore height is specified.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3703"/> - <source>Use --restore-height if you want to restore an already setup account from a specific height</source> + <location filename="../src/simplewallet/simplewallet.cpp" line="3942"/> + <source>Assumed you are creating a new account, restore will be done from current estimated blockchain height.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3707"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3947"/> <source>account creation aborted</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3816"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4069"/> <source>can't specify --subaddress-lookahead and --wallet-file at the same time</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3820"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4073"/> <source>failed to open account</source> <translation>det gick inte att öppna konto</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3824"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4391"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4444"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4529"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6854"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4078"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4779"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4832"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4917"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7254"/> <source>wallet is null</source> <translation>plånbok är null</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3832"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4086"/> <source>Failed to initialize ring database: privacy enhancing features will be inactive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3917"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4194"/> <source>If your display freezes, exit blind with ^C, then run again with --use-english-language-names</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="3935"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="3940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4212"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4217"/> <source>invalid language choice entered. Please try again. </source> <translation>ogiltigt språkval har angivits. Försök igen. </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4019"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4296"/> <source>View key: </source> <translation>Granskningsnyckel: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4407"/> <source>Generated new wallet on hw device: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4209"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4486"/> <source>Key file not found. Failed to open wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4286"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4563"/> <source>You may want to remove the file "%s" and try again</source> <translation>Du kan också prova att bort filen "%s" och försöka igen</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4314"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4591"/> <source>failed to deinitialize wallet</source> <translation>det gick inte att avinitiera plånboken</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4367"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4644"/> <source>Watch only wallet saved as: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4371"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4648"/> <source>Failed to save watch only wallet: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4382"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5024"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8522"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4770"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5432"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8967"/> <source>this command requires a trusted daemon. Enable with --trusted-daemon</source> <translation>detta kommando kräver en betrodd daemon. Aktivera med --trusted-daemon</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4498"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4886"/> <source>Expected trusted or untrusted, got </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4515"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4903"/> <source>trusted</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4515"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4903"/> <source>untrusted</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4539"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4927"/> <source>blockchain can't be saved: </source> <translation>blockkedjan kan inte sparas: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4569"/> - <source>NOTE: this transaction uses an encrypted payment ID: consider using subaddresses instead</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4572"/> - <source>WARNING: this transaction uses an unencrypted payment ID: consider using subaddresses instead</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4608"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4992"/> <source>Password needed (%s) - use the refresh command</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4616"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5000"/> <source>Enter password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4631"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5015"/> <source>Device requires attention</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4639"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5023"/> <source>Enter device PIN</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4641"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5025"/> <source>Failed to read device PIN</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4648"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5032"/> <source>Please enter the device passphrase on the device</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4655"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5039"/> <source>Enter device passphrase</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4657"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5041"/> <source>Failed to read device passphrase</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4673"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5057"/> <source>The first refresh has finished for the HW-based wallet with received money. hw_key_images_sync is needed. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4675"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4753"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5059"/> <source>Do you want to do it now? (Y/Yes/N/No): </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4677"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5061"/> <source>hw_key_images_sync skipped. Run command manually before a transfer.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4720"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5038"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5123"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5446"/> <source>daemon is busy. Please try again later.</source> <translation>daemonen är upptagen. Försök igen senare.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4724"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="5042"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5127"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5450"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation>ingen anslutning till daemonen. Se till att daemonen körs.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4734"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5137"/> <source>refresh error: </source> <translation>fel vid uppdatering: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4782"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5185"/> <source> (Some owned outputs have missing key images - import_key_images needed)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4786"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5194"/> <source>Balance: </source> <translation>Saldo: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4855"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5263"/> <source>Invalid keyword: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5301"/> <source>pubkey</source> <translation>publik nyckel</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5301"/> <source>key image</source> <translation>nyckelavbildning</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="4910"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7518"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5318"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7922"/> <source>unlocked</source> <translation>upplåst</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4894"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5302"/> <source>ringct</source> <translation>ringct</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4904"/> - <source>Heights: </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4909"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5317"/> <source>T</source> <translation>S</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4909"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5317"/> <source>F</source> <translation>F</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4910"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5318"/> <source>locked</source> <translation>låst</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4911"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5319"/> <source>RingCT</source> <translation>RingCT</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4911"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5319"/> <source>-</source> <translation>-</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="4990"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5398"/> <source>payment ID has invalid format, expected 16 or 64 character hex string: </source> <translation>betalnings-ID har ogiltigt format. En hexadecimal sträng med 16 eller 64 tecken förväntades: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5046"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5454"/> <source>failed to get spent status</source> <translation>det gick inte att hämta spenderstatus</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5538"/> <source>failed to find construction data for tx input</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5543"/> + <source> +Input %llu/%llu (%s): amount=%s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5601"/> <source>the same transaction</source> <translation>samma transaktion</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5601"/> <source>blocks that are temporally very close</source> <translation>block som ligger väldigt nära varandra i tiden</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9015"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6295"/> + <source>Locked blocks too high, max 1000000 (˜4 yrs)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5818"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6387"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6656"/> + <source>No payment id is included with this transaction. Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5882"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5892"/> + <source>Is this okay anyway?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="5887"/> + <source>There is currently a %u block backlog at that fee level. Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="6124"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6435"/> + <source>Sweeping %s in %llu transactions for a total fee of %s. Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="6130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6441"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6698"/> + <source>Sweeping %s for a total fee of %s. Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="6177"/> + <source>Discarding %s of unmixable outputs that cannot be spent, which can be undone by "rescan_spent". Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="6980"/> + <source>Loaded %lu transactions, for %s, fee %s, %s, %s, with min ring size %lu, %s. %sIs this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="8161"/> + <source>Rescan anyway?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="8654"/> + <source>Short payment IDs are to be used within an integrated address only</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="9457"/> <source> (Y/Yes/N/No): </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9042"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9484"/> <source>Choose processing:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9051"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9493"/> <source>Sign tx</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9059"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9501"/> <source>Send the tx for submission to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9063"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9505"/> <source>Send the tx for signing to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9070"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9512"/> <source>Submit tx</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9073"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9515"/> <source>unknown</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9079"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9521"/> <source>Choice: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9091"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9533"/> <source>Wrong choice</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9540"/> <source>Id</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9540"/> <source>I/O</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9098"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9540"/> <source>Authorized Signer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Message Type</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Height</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>R</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Message State</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9099"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9541"/> <source>Since</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9116"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9558"/> <source> ago</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9122"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> <source>#</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9122"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> <source>Transport Address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9123"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9565"/> <source>Auto-Config Token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9123"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9565"/> <source>Monero Address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9127"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9135"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9137"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9569"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9577"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9579"/> <source><not set></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9178"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9620"/> <source>Message </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9179"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9621"/> <source>In/out: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9623"/> <source>State: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9623"/> <source>%s since %s, %s ago</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9185"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9627"/> <source>Sent: Never</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9189"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9631"/> <source>Sent: %s, %s ago</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9192"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9634"/> <source>Authorized signer: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9635"/> <source>Content size: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9193"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9635"/> <source> bytes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9194"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9636"/> <source>Content: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9194"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9636"/> <source>(binary data)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9224"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9666"/> <source>Send these messages now?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9234"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9676"/> <source>Queued for sending.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9254"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9696"/> <source>Invalid message id</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9263"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9705"/> <source>usage: mms init <required_signers>/<authorized_signers> <own_label> <own_transport_address></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9269"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9711"/> <source>The MMS is already initialized. Re-initialize by deleting all signer info and messages?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9284"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9726"/> <source>Error in the number of required signers and/or authorized signers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9301"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9743"/> <source>The MMS is not active.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9324"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9766"/> <source>Invalid signer number </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9329"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9771"/> <source>mms signer [<number> <label> [<transport_address> [<monero_address>]]]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9348"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9790"/> <source>Invalid Monero address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9355"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9797"/> <source>Wallet state does not allow changing Monero addresses anymore</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9367"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9809"/> <source>Usage: mms list</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9380"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9822"/> <source>Usage: mms next [sync]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9405"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9847"/> <source>No next step: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9415"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9857"/> <source>prepare_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9421"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9863"/> <source>make_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9436"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9878"/> <source>exchange_multisig_keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9451"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10013"/> <source>export_multisig_info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9460"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9902"/> <source>import_multisig_info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9473"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9915"/> <source>sign_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9483"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9925"/> <source>submit_multisig</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9493"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9935"/> <source>Send tx</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9504"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9946"/> <source>Process signer config</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9516"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9958"/> <source>Replace current signer config with the one displayed above?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9530"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9972"/> <source>Process auto config data</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9544"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9986"/> <source>Nothing ready to process</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9564"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10006"/> <source>Usage: mms sync</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9588"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10030"/> <source>Usage: mms delete (<message_id> | all)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9595"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10037"/> <source>Delete all messages?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9621"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10063"/> <source>Usage: mms send [<message_id>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9638"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10080"/> <source>Usage: mms receive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9655"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10097"/> <source>Usage: mms export <message_id></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9667"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10109"/> <source>Message content saved to: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9671"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10113"/> <source>Failed to to save message content</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9695"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10137"/> <source>Usage: mms note [<label> <text>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9702"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10144"/> <source>No signer found with label </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9724"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10166"/> <source>Usage: mms show <message_id></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9743"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10185"/> <source>Usage: mms set <option_name> [<option_value>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9760"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10202"/> <source>Wrong option value</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10207"/> <source>Auto-send is on</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9765"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10207"/> <source>Auto-send is off</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9770"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10212"/> <source>Unknown option</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9778"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10220"/> <source>Usage: mms help [<subcommand>]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9794"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10236"/> <source>Usage: mms send_signer_config</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9800"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10242"/> <source>Signer config not yet complete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9815"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10257"/> <source>Usage: mms start_auto_config [<label> <label> ...]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9820"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10262"/> <source>There are signers without a label set. Complete labels before auto-config or specify them as parameters here.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9826"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10268"/> <source>Auto-config is already running. Cancel and restart?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9850"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10292"/> <source>Usage: mms stop_auto_config</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9853"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10295"/> <source>Delete any auto-config tokens and stop auto-config?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9866"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10308"/> <source>Usage: mms auto_config <auto_config_token></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9873"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10315"/> <source>Invalid auto-config token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9879"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10321"/> <source>Auto-config already running. Cancel and restart?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9911"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10339"/> + <source>MMS not available in this wallet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="10363"/> <source>The MMS is not active. Activate using the "mms init" command</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10440"/> <source>Invalid MMS subcommand</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="9993"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9997"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10445"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="10449"/> <source>Error in MMS command: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6969"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7079"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7369"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7479"/> <source>Good signature</source> <translation>Godkänd signatur</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6996"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7081"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7181"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7396"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7481"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7581"/> <source>Bad signature</source> <translation>Felaktig signatur</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8169"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8612"/> <source>Standard address: </source> <translation>Standardadress: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8174"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8617"/> <source>failed to parse payment ID or address</source> <translation>det gick inte att parsa betalnings-ID eller adress</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8215"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8659"/> <source>failed to parse payment ID</source> <translation>det gick inte att parsa betalnings-ID</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8233"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8677"/> <source>failed to parse index</source> <translation>det gick inte att parsa index</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8241"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8685"/> <source>Address book is empty.</source> <translation>Adressboken är tom.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8247"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8691"/> <source>Index: </source> <translation>Index: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8248"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8378"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8692"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8823"/> <source>Address: </source> <translation>Adress: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8249"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8693"/> <source>Payment ID: </source> <translation>Betalnings-ID: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8250"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8377"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8694"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8822"/> <source>Description: </source> <translation>Beskrivning: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8407"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8852"/> <source>wallet is watch-only and cannot sign</source> <translation>plånboken är enbart för granskning och kan inte signera</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1289"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8421"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8447"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8684"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1313"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8866"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8892"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9124"/> <source>failed to read file </source> <translation>det gick inte att läsa filen </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6958"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7072"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7166"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="3943"/> + <source>Use --restore-height or --restore-date if you want to restore an already setup account from a specific height.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="3945"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="4033"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5984"/> + <source>Is this okay?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="4056"/> + <source>Still apply restore height?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="7358"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7472"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7566"/> <source>failed to load signature file</source> <translation>det gick inte att läsa in signaturfil</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7020"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7420"/> <source>wallet is watch-only and cannot generate the proof</source> <translation>plånboken är enbart för granskning och kan inte skapa beviset</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7104"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7504"/> <source>The reserve proof can be generated only by a full wallet</source> <translation>Beviset på reserv kan endast skapas av en standardplånbok</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7159"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7559"/> <source>Address must not be a subaddress</source> <translation>Adressen får inte vara en underadress</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7177"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7577"/> <source>Good signature -- total: %s, spent: %s, unspent: %s</source> <translation>Godkänd signatur -- summa: %s, spenderat: %s, ej spenderat: %s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7365"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7767"/> <source>[Double spend seen on the network: this transaction may or may not end up being mined] </source> <translation>[En dubbelspendering upptäcktes på nätverket: denna transaktion kanske aldrig blir verifierad] </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7641"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8045"/> <source>There is no unspent output in the specified address</source> <translation>Det finns ingen ej spenderad utgång i den angivna adressen</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7799"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8242"/> <source> (no daemon)</source> <translation> (ingen daemon)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7801"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8244"/> <source> (out of sync)</source> <translation> (inte synkroniserad)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7852"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8295"/> <source>(Untitled account)</source> <translation>(Ej namngivet konto)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7865"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7883"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7908"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7931"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8077"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8100"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8308"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8326"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8351"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8374"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8520"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8543"/> <source>failed to parse index: </source> <translation>det gick inte att parsa index: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7870"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8082"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8313"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8525"/> <source>specify an index between 0 and </source> <translation>ange ett index mellan 0 och </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8431"/> <source> Grand total: Balance: </source> @@ -4110,386 +4333,386 @@ Totalsumma: Saldo: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7988"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8431"/> <source>, unlocked balance: </source> <translation>, upplåst saldo: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7996"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8439"/> <source>Untagged accounts:</source> <translation>Otaggade konton:</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8002"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8445"/> <source>Tag %s is unregistered.</source> <translation>Taggen %s har inte registrerats.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8005"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8448"/> <source>Accounts with tag: </source> <translation>Konton med tagg: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8006"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8449"/> <source>Tag's description: </source> <translation>Taggens beskrivning: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8008"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8451"/> <source>Account</source> <translation>Konto</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8014"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8457"/> <source> %c%8u %6s %21s %21s %21s</source> <translation> %c%8u %6s %21s %21s %21s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8024"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8467"/> <source>----------------------------------------------------------------------------------</source> <translation>----------------------------------------------------------------------------------</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8025"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8468"/> <source>%15s %21s %21s</source> <translation>%15s %21s %21s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8048"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8491"/> <source>Primary address</source> <translation>Primär adress</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8048"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8491"/> <source>(used)</source> <translation>(används)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8069"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8512"/> <source>(Untitled address)</source> <translation>(Ej namngiven adress)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8109"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8552"/> <source><index_min> is already out of bound</source> <translation><index_min> är redan utanför tillåtet intervall</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8114"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8557"/> <source><index_max> exceeds the bound</source> <translation><index_max> är utanför tillåtet intervall</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8140"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8152"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8583"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8595"/> <source>Integrated addresses can only be created for account 0</source> <translation>Integrerade adresser kan bara skapas för konto 0</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8164"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8607"/> <source>Integrated address: %s, payment ID: %s</source> <translation>Integrerad adress: %s, betalnings-ID: %s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8169"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8612"/> <source>Subaddress: </source> <translation>Underadress: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8335"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8779"/> <source>no description found</source> <translation>ingen beskrivning hittades</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8337"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8781"/> <source>description found: </source> <translation>beskrivning hittades: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8376"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8821"/> <source>Filename: </source> <translation>Filnamn: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8381"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8826"/> <source>Watch only</source> <translation>Endast granskning</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8383"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8828"/> <source>%u/%u multisig%s</source> <translation>%u/%u multisig%s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8385"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8830"/> <source>Normal</source> <translation>Normal</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8386"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="9180"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8831"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9622"/> <source>Type: </source> <translation>Typ: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8412"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8857"/> <source>This wallet is multisig and cannot sign</source> <translation>Plånboken är multisig och kan inte signera</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8461"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8906"/> <source>Bad signature from </source> <translation>Felaktig signatur från </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8465"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8910"/> <source>Good signature from </source> <translation>Godkänd signatur från </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8484"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8929"/> <source>wallet is watch-only and cannot export key images</source> <translation>plånboken är enbart för granskning och kan inte exportera nyckelavbildningar</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1228"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8498"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8651"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1252"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8943"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9091"/> <source>failed to save file </source> <translation>det gick inte att spara fil </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8509"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8954"/> <source>Signed key images exported to </source> <translation>Signerade nyckelavbildningar exporterades till </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8662"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9102"/> <source>Outputs exported to </source> <translation>Utgångar exporterades till </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5354"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6417"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7115"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7600"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7608"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5752"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6805"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7515"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8004"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8012"/> <source>amount is wrong: </source> <translation>beloppet är fel: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5355"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6417"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="5753"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6805"/> <source>expected number from 0 to </source> <translation>förväntades: ett tal från 0 till </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="5721"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6122"/> <source>Sweeping </source> <translation>Sveper upp </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6350"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6738"/> <source>Money successfully sent, transaction: </source> <translation>Pengar skickades, transaktion: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6530"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6933"/> <source>Change goes to more than one address</source> <translation>Växel går till fler än en adress</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6974"/> <source>%s change to %s</source> <translation>%s växel till %s</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6574"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="6977"/> <source>no change</source> <translation>ingen växel</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="1435"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="1448"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6646"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1459"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="1472"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7049"/> <source>Transaction successfully signed to file </source> <translation>Transaktionen signerades till fil </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6713"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6749"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6811"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6860"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6942"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7027"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7062"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8267"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8295"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8714"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7116"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7154"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7211"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7260"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7342"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7427"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7462"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8711"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8739"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9154"/> <source>failed to parse txid</source> <translation>det gick inte att parsa txid</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6727"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7132"/> <source>Tx key: </source> <translation>Tx-nyckel: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6732"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7137"/> <source>no tx keys found for this txid</source> <translation>inga tx-nycklar kunde hittas för detta txid</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6829"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7041"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7229"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7441"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7530"/> <source>signature file saved to: </source> <translation>signaturfilen sparades till: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6831"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7043"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7132"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7231"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7443"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7532"/> <source>failed to save signature file</source> <translation>det gick inte att spara signaturfilen</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6868"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6877"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7268"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7277"/> <source>failed to parse tx key</source> <translation>det gick inte att parsa txnyckel</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6835"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6923"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="7001"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7235"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7323"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7401"/> <source>error: </source> <translation>fel: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6899"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7299"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7372"/> <source>received</source> <translation>mottaget</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6899"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6972"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7299"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7372"/> <source>in txid</source> <translation>i txid</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6918"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6991"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7318"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7391"/> <source>received nothing in txid</source> <translation>tog emot ingenting i txid</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6902"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6975"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7375"/> <source>WARNING: this transaction is not yet included in the blockchain!</source> <translation>VARNING: denna transaktion är ännu inte inkluderad i blockkedjan!</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6908"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6981"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7308"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7381"/> <source>This transaction has %u confirmations</source> <translation>Denna transaktion har %u bekräftelser</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="6912"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="6985"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7312"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7385"/> <source>WARNING: failed to determine number of confirmations!</source> <translation>VARNING: det gick inte att bestämma antal bekräftelser!</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7266"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7666"/> <source>bad min_height parameter:</source> <translation>felaktig parameter för min_höjd:</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7278"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7678"/> <source>bad max_height parameter:</source> <translation>felaktig parameter för max_höjd:</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7296"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7696"/> <source>in</source> <translation>in</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7615"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8019"/> <source><min_amount> should be smaller than <max_amount></source> <translation><min_belopp> måste vara mindre än <max_belopp></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7647"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8051"/> <source> Amount: </source> <translation> Belopp: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7647"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8051"/> <source>, number of keys: </source> <translation>, antal nycklar: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7652"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8056"/> <source> </source> <translation></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7657"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8061"/> <source> Min block height: </source> <translation> Minblockhöjd: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7658"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8062"/> <source> Max block height: </source> <translation> Maxblockhöjd: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7659"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8063"/> <source> Min amount found: </source> <translation> Minbelopp funnet: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7660"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8064"/> <source> Max amount found: </source> <translation> Maxbelopp funnet: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7661"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8065"/> <source> Total count: </source> <translation> Totalt antal: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7701"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8105"/> <source> Bin size: </source> <translation> Storlek för binge: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7702"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8106"/> <source> Outputs per *: </source> <translation> Utgångar per *: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7704"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8108"/> <source>count ^ </source> @@ -4498,52 +4721,52 @@ Utgångar per *: </translation> </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7706"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8110"/> <source> |</source> <translation> |</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7708"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8112"/> <source> +</source> <translation> +</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7708"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8112"/> <source>+--> block height </source> <translation>+--> blockhöjd </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8113"/> <source> ^</source> <translation> ^</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7709"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8113"/> <source>^ </source> <translation>^ </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7710"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8114"/> <source> </source> <translation></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7797"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8240"/> <source>wallet</source> <translation>plånbok</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="870"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8144"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="893"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8587"/> <source>Random payment ID: </source> <translation>Slumpmässigt betalnings-ID: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8145"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="8588"/> <source>Matching integrated address: </source> <translation>Matchande integrerad adress: </translation> </message> @@ -4795,311 +5018,321 @@ Use "mms note" to display the waiting notes</source> <context> <name>sw</name> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="125"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="135"/> <source>Generate new wallet and save it to <arg></source> <translation>Skapa ny plånbok och spara den till <arg></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="126"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="136"/> <source>Generate new wallet from device and save it to <arg></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="127"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="137"/> <source>Generate incoming-only wallet from view key</source> <translation>Skapa granskningsplånbok från granskningsnyckel</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="128"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="138"/> <source>Generate deterministic wallet from spend key</source> <translation>Skapa deterministisk plånbok från spendernyckel</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="129"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="139"/> <source>Generate wallet from private keys</source> <translation>Skapa plånbok från privata nycklar</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="130"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="140"/> <source>Generate a master wallet from multisig wallet keys</source> <translation>Skapa en huvudplånbok från multisig-plånboksnycklar</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="132"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="142"/> <source>Language for mnemonic</source> <translation>Språk för minnesbaserat startvärde</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="133"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="143"/> <source>Specify Electrum seed for wallet recovery/creation</source> <translation>Ange Electrum-startvärde för att återställa/skapa plånbok</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="134"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="144"/> <source>Recover wallet using Electrum-style mnemonic seed</source> <translation>Återställ plånbok genom att använda minnesbaserat startvärde (Electrum-typ)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="135"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="145"/> <source>Recover multisig wallet using Electrum-style mnemonic seed</source> <translation>Återställ multisig-plånbok genom att använda minnesbaserat startvärde (Electrum-typ)</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="136"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="146"/> <source>Generate non-deterministic view and spend keys</source> <translation>Skapa icke-deterministisk granskningsnyckel och spendernyckel</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="361"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="149"/> + <source>Restore from estimated blockchain height on specified date</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="382"/> <source>invalid argument: must be either 0/1, true/false, y/n, yes/no</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="417"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="438"/> <source>DNSSEC validation passed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="421"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="442"/> <source>WARNING: DNSSEC validation was unsuccessful, this address may not be correct!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="424"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="445"/> <source>For URL: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="426"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="447"/> <source> Monero Address = </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="428"/> - <source>Is this OK? (Y/n) </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="438"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="459"/> <source>you have cancelled the transfer request</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="459"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="480"/> <source>failed to parse index: </source> <translation type="unfinished">det gick inte att parsa index: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="472"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="493"/> <source>invalid format for subaddress lookahead; must be <major>:<minor></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="489"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="510"/> <source>no connection to daemon. Please make sure daemon is running.</source> <translation type="unfinished">ingen anslutning till daemonen. Se till att daemonen körs.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="494"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="515"/> <source>RPC error: </source> <translation type="unfinished">RPC-fel: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="498"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="519"/> <source>failed to get random outputs to mix: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="505"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="513"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="526"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="534"/> <source>Not enough money in unlocked balance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="523"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="544"/> <source>Failed to find a way to create transactions. This is usually due to dust which is so small it cannot pay for itself in fees, or trying to send more money than the unlocked balance, or not leaving enough for fees</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="529"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="550"/> <source>not enough outputs for specified ring size</source> <translation type="unfinished">inte tillräckligt med utgångar för angiven ringstorlek</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="532"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="553"/> <source>output amount</source> <translation type="unfinished">utgångens belopp</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="532"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="553"/> <source>found outputs to use</source> <translation type="unfinished">hittade utgångar att använda</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="534"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="555"/> <source>Please use sweep_unmixable.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="538"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="559"/> <source>transaction was not constructed</source> <translation type="unfinished">transaktionen konstruerades inte</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="543"/> - <source>transaction %s was rejected by daemon with status: </source> - <translation type="unfinished">transaktionen %s avvisades av daemonen med status: </translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="546"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="567"/> <source>Reason: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="555"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="576"/> <source>one of destinations is zero</source> <translation type="unfinished">ett av målen är noll</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="560"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="581"/> <source>failed to find a suitable way to split transactions</source> <translation type="unfinished">det gick inte att hitta ett lämpligt sätt att dela upp transaktioner</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="566"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="587"/> <source>unknown transfer error: </source> <translation type="unfinished">okänt överföringsfel: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="571"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="592"/> <source>Multisig error: </source> <translation type="unfinished">Multisig-fel: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="577"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="598"/> <source>internal error: </source> <translation type="unfinished">internt fel: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="582"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="603"/> <source>unexpected error: </source> <translation type="unfinished">oväntat fel: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="586"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="607"/> <source>There was an error, which could mean the node may be trying to get you to retry creating a transaction, and zero in on which outputs you own. Or it could be a bona fide error. It may be prudent to disconnect from this node, and not try to send a transaction immediately. Alternatively, connect to another node so the original node cannot correlate information.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="596"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="617"/> <source>File %s likely stores wallet private keys! Use a different file name.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="599"/> - <source>File %s already exists. Are you sure to overwrite it? (Y/Yes/N/No): </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7195"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7595"/> <source> seconds</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7197"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7597"/> <source> minutes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7199"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7599"/> <source> hours</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7201"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7601"/> <source> days</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7203"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7603"/> <source> months</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="7204"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="7604"/> <source>a long time</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8940"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9382"/> <source>This is the command line monero wallet. It needs to connect to a monero daemon to work correctly. WARNING: Do not reuse your Monero keys on another fork, UNLESS this fork has key reuse mitigations built in. Doing so will harm your privacy.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8965"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9407"/> <source>Unknown command: </source> <translation type="unfinished">Okänt kommando: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="137"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="147"/> <source>Allow communicating with a daemon that uses a different RPC version</source> <translation>Tillåt kommunikation med en daemon som använder en annan version av RPC</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="138"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="148"/> <source>Restore from specific blockchain height</source> <translation>Återställ från angiven blockkedjehöjd</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="139"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="150"/> <source>The newly created transaction will not be relayed to the monero network</source> <translation>Den nyss skapade transaktionen kommer inte att skickas vidare till monero-nätverket</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="140"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="151"/> <source>Create an address file for new wallets</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="142"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="153"/> <source>Display English language names</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="276"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="154"/> + <source>Support obsolete long (unencrypted) payment ids (using them harms your privacy)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="297"/> <source>failed to read wallet password</source> <translation type="unfinished">det gick inte att läsa lösenord för plånboken</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="283"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="304"/> <source>Enter a new password for the wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="283"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="304"/> <source>Wallet password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="293"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="485"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="314"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="506"/> <source>daemon is busy. Please try again later.</source> <translation>daemonen är upptagen. Försök igen senare.</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="302"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="323"/> <source>possibly lost connection to daemon</source> <translation>anslutning till daemonen kan ha förlorats</translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="319"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="340"/> <source>Error: </source> <translation>Fel: </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="8959"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="449"/> + <source>Is this OK?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="564"/> + <source>transaction %s was rejected by daemon</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="620"/> + <source>File %s already exists. Are you sure to overwrite it?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/simplewallet/simplewallet.cpp" line="9401"/> <source>Failed to initialize wallet</source> <translation>Det gick inte att initiera plånbok</translation> </message> @@ -5107,360 +5340,448 @@ WARNING: Do not reuse your Monero keys on another fork, UNLESS this fork has key <context> <name>tools::wallet2</name> <message> - <location filename="../src/wallet/wallet2.cpp" line="201"/> + <location filename="../src/wallet/wallet2.cpp" line="234"/> <source>Use daemon instance at <host>:<port></source> <translation>Använd daemonen på <värddator>:<port></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="202"/> + <location filename="../src/wallet/wallet2.cpp" line="235"/> <source>Use daemon instance at host <arg> instead of localhost</source> <translation>Använd daemonen på värddatorn <arg> istället för localhost</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="206"/> + <location filename="../src/wallet/wallet2.cpp" line="240"/> <source>Wallet password file</source> <translation>Lösenordsfil för plånboken</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="207"/> + <location filename="../src/wallet/wallet2.cpp" line="241"/> <source>Use daemon instance at port <arg> instead of 18081</source> <translation>Använd daemonen på port <arg> istället för 18081</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="209"/> + <location filename="../src/wallet/wallet2.cpp" line="250"/> <source>For testnet. Daemon must also be launched with --testnet flag</source> <translation>För testnet. Daemonen måste också startas med flaggan --testnet</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="282"/> + <location filename="../src/wallet/wallet2.cpp" line="361"/> <source>can't specify daemon host or port more than once</source> <translation>det går inte ange värd eller port för daemonen mer än en gång</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="355"/> + <location filename="../src/wallet/wallet2.cpp" line="480"/> <source>can't specify more than one of --password and --password-file</source> <translation>det går inte att ange fler än en av --password och --password-file</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="368"/> + <location filename="../src/wallet/wallet2.cpp" line="493"/> <source>the password file specified could not be read</source> <translation>det gick inte att läsa angiven lösenordsfil</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="394"/> + <location filename="../src/wallet/wallet2.cpp" line="519"/> <source>Failed to load file </source> <translation>Det gick inte att läsa in fil </translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="205"/> + <location filename="../src/wallet/wallet2.cpp" line="239"/> <source>Wallet password (escape/quote as needed)</source> <translation>Lösenord för plånboken (använd escape-sekvenser eller citattecken efter behov)</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="203"/> + <location filename="../src/wallet/wallet2.cpp" line="236"/> + <source>[<ip>:]<port> socks proxy to use for daemon connections</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="237"/> <source>Enable commands which rely on a trusted daemon</source> <translation type="unfinished">Aktivera kommandon som kräver en betrodd daemon</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="204"/> + <location filename="../src/wallet/wallet2.cpp" line="238"/> <source>Disable commands which rely on a trusted daemon</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="208"/> + <location filename="../src/wallet/wallet2.cpp" line="242"/> <source>Specify username[:password] for daemon RPC client</source> <translation>Ange användarnamn[:lösenord] för RPC-klient till daemonen</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="210"/> + <location filename="../src/wallet/wallet2.cpp" line="243"/> + <source>Enable SSL on daemon RPC connections: enabled|disabled|autodetect</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="247"/> + <source>List of valid fingerprints of allowed RPC servers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="248"/> + <source>Allow any SSL certificate from the daemon</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="249"/> + <source>Allow user (via --daemon-ssl-ca-certificates) chain certificates</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="251"/> <source>For stagenet. Daemon must also be launched with --stagenet flag</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="212"/> + <location filename="../src/wallet/wallet2.cpp" line="253"/> <source>Set shared ring database path</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="223"/> + <location filename="../src/wallet/wallet2.cpp" line="264"/> <source>Number of rounds for the key derivation function</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="224"/> + <location filename="../src/wallet/wallet2.cpp" line="265"/> <source>HW device to use</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="225"/> + <location filename="../src/wallet/wallet2.cpp" line="266"/> <source>HW device wallet derivation path (e.g., SLIP-10)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="313"/> + <location filename="../src/wallet/wallet2.cpp" line="268"/> + <source>Do not use DNS</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="269"/> + <source>Do not connect to a daemon, nor use DNS</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="353"/> + <source>Invalid argument for </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="397"/> + <source>Enabling --</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="397"/> + <source> requires --</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="398"/> + <source> or --</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="398"/> + <source> or use of a .onion/.i2p domain</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet2.cpp" line="432"/> <source>--trusted-daemon and --untrusted-daemon are both seen, assuming untrusted</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="323"/> + <location filename="../src/wallet/wallet2.cpp" line="442"/> <source>Daemon is local, assuming trusted</source> <translation type="unfinished">Daemonen är lokal, utgår från att den är betrodd</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="375"/> + <location filename="../src/wallet/wallet2.cpp" line="500"/> <source>no password specified; use --prompt-for-password to prompt for a password</source> <translation>inget lösenord har angivits; använd --prompt-for-password för att fråga efter lösenord</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="377"/> + <location filename="../src/wallet/wallet2.cpp" line="502"/> <source>Enter a new password for the wallet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="377"/> + <location filename="../src/wallet/wallet2.cpp" line="502"/> <source>Wallet password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="400"/> + <location filename="../src/wallet/wallet2.cpp" line="525"/> <source>Failed to parse JSON</source> <translation>Det gick inte att parsa JSON</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="407"/> + <location filename="../src/wallet/wallet2.cpp" line="532"/> <source>Version %u too new, we can only grok up to %u</source> <translation>Version %u är för ny, vi förstår bara upp till %u</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="423"/> + <location filename="../src/wallet/wallet2.cpp" line="548"/> <source>failed to parse view key secret key</source> <translation>det gick inte att parsa hemlig granskningsnyckel</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="428"/> - <location filename="../src/wallet/wallet2.cpp" line="496"/> - <location filename="../src/wallet/wallet2.cpp" line="539"/> + <location filename="../src/wallet/wallet2.cpp" line="553"/> + <location filename="../src/wallet/wallet2.cpp" line="621"/> + <location filename="../src/wallet/wallet2.cpp" line="666"/> <source>failed to verify view key secret key</source> <translation>det gick inte att verifiera hemlig granskningsnyckel</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="439"/> + <location filename="../src/wallet/wallet2.cpp" line="564"/> <source>failed to parse spend key secret key</source> <translation>det gick inte att parsa spendernyckel hemlig nyckel</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="444"/> - <location filename="../src/wallet/wallet2.cpp" line="506"/> - <location filename="../src/wallet/wallet2.cpp" line="565"/> + <location filename="../src/wallet/wallet2.cpp" line="569"/> + <location filename="../src/wallet/wallet2.cpp" line="631"/> + <location filename="../src/wallet/wallet2.cpp" line="692"/> <source>failed to verify spend key secret key</source> <translation>det gick inte att verifiera spendernyckel hemlig nyckel</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="456"/> + <location filename="../src/wallet/wallet2.cpp" line="581"/> <source>Electrum-style word list failed verification</source> <translation>Det gick inte att verifiera ordlista av Electrum-typ</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="476"/> + <location filename="../src/wallet/wallet2.cpp" line="601"/> <source>At least one of either an Electrum-style word list, private view key, or private spend key must be specified</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="480"/> + <location filename="../src/wallet/wallet2.cpp" line="605"/> <source>Both Electrum-style word list and private key(s) specified</source> <translation>Både ordlista av Electrum-typ och privat nyckel har angivits</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="490"/> + <location filename="../src/wallet/wallet2.cpp" line="615"/> <source>invalid address</source> <translation>ogiltig adress</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="499"/> + <location filename="../src/wallet/wallet2.cpp" line="624"/> <source>view key does not match standard address</source> <translation>granskningsnyckel matchar inte standardadress</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="509"/> + <location filename="../src/wallet/wallet2.cpp" line="634"/> <source>spend key does not match standard address</source> <translation>spendernyckel matchar inte standardadress</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="517"/> + <location filename="../src/wallet/wallet2.cpp" line="642"/> <source>Cannot generate deprecated wallets from JSON</source> <translation>Det går inte att skapa inaktuella plånböcker från JSON</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="551"/> + <location filename="../src/wallet/wallet2.cpp" line="678"/> <source>failed to parse address: </source> <translation>det gick inte att parsa adressen: </translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="557"/> + <location filename="../src/wallet/wallet2.cpp" line="684"/> <source>Address must be specified in order to create watch-only wallet</source> <translation>Adress måste anges för att kunna skapa granskningsplånbok</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="574"/> + <location filename="../src/wallet/wallet2.cpp" line="701"/> <source>failed to generate new wallet: </source> <translation>det gick inte att skapa ny plånbok: </translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="1382"/> + <location filename="../src/wallet/wallet2.cpp" line="1625"/> <source>Password is needed to compute key image for incoming monero</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="1383"/> + <location filename="../src/wallet/wallet2.cpp" line="1626"/> <source>Invalid password: password is needed to compute key image for incoming monero</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="3770"/> - <location filename="../src/wallet/wallet2.cpp" line="4374"/> - <location filename="../src/wallet/wallet2.cpp" line="4926"/> + <location filename="../src/wallet/wallet2.cpp" line="4122"/> + <location filename="../src/wallet/wallet2.cpp" line="4712"/> + <location filename="../src/wallet/wallet2.cpp" line="5308"/> <source>Primary account</source> <translation>Primärt konto</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="10157"/> + <location filename="../src/wallet/wallet2.cpp" line="10885"/> <source>No funds received in this tx.</source> <translation>Inga pengar togs emot i denna tx.</translation> </message> <message> - <location filename="../src/wallet/wallet2.cpp" line="10899"/> + <location filename="../src/wallet/wallet2.cpp" line="11645"/> <source>failed to read file </source> <translation>det gick inte att läsa filen </translation> </message> <message> - <location filename="../src/simplewallet/simplewallet.cpp" line="141"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="152"/> <source>Set subaddress lookahead sizes to <major>:<minor></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="68"/> + <source>Enable SSL on wallet RPC connections: enabled|disabled|autodetect</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="69"/> + <location filename="../src/wallet/wallet2.cpp" line="244"/> + <source>Path to a PEM format private key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="70"/> + <location filename="../src/wallet/wallet2.cpp" line="245"/> + <source>Path to a PEM format certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="71"/> + <location filename="../src/wallet/wallet2.cpp" line="246"/> + <source>Path to file containing concatenated PEM format certificate(s) to replace system CA(s).</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="72"/> + <source>List of certificate fingerprints to allow</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>tools::wallet_rpc_server</name> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="180"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="192"/> <source>Failed to create directory </source> <translation>Det gick inte att skapa mapp </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="182"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="194"/> <source>Failed to create directory %s: %s</source> <translation>Det gick inte att skapa mapp %s: %s</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="193"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="205"/> <source>Cannot specify --</source> <translation>Det går inte att ange --</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="193"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="205"/> <source> and --</source> <translation> och --</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="212"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="224"/> <source>Failed to create file </source> <translation>Det gick inte att skapa fil </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="212"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="224"/> <source>. Check permissions or remove file</source> <translation>. Kontrollera behörigheter eller ta bort filen</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="222"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="234"/> <source>Error writing to file </source> <translation>Ett fel uppstod vid skrivning till fil </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="225"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="237"/> <source>RPC username/password is stored in file </source> <translation>Användarnamn/lösenord för RPC har sparats i fil </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="479"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="613"/> <source>Tag %s is unregistered.</source> <translation>Taggen %s har inte registrerats.</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3081"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="3242"/> <source>Transaction not possible. Available only %s, transaction amount %s = %s + %s (fee)</source> <translation>Transaktion är inte möjlig. Endast tillgängligt %s, transaktionsbelopp %s = %s + %s (avgift)</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3947"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4409"/> <source>This is the RPC monero wallet. It needs to connect to a monero daemon to work correctly.</source> <translation>Detta är RPC-plånboken för monero. Den måste ansluta till en Monero- daemon för att fungera korrekt.</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3788"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4245"/> <source>Can't specify more than one of --wallet-file and --generate-from-json</source> <translation>Det går inte att ange fler än en av --wallet-file och --generate-from-json</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3773"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4230"/> <source>Can't specify more than one of --testnet and --stagenet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3800"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4257"/> <source>Must specify --wallet-file or --generate-from-json or --wallet-dir</source> <translation>Måste ange --wallet-file eller --generate-from-json eller --wallet-dir</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3804"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4261"/> <source>Loading wallet...</source> <translation>Läser in plånbok …</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3838"/> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3870"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4295"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4327"/> <source>Saving wallet...</source> <translation>Sparar plånbok …</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3840"/> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3872"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4297"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4329"/> <source>Successfully saved</source> <translation>Plånboken sparades</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3843"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4300"/> <source>Successfully loaded</source> <translation>Plånboken lästes in</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3847"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4304"/> <source>Wallet initialization failed: </source> <translation>Det gick inte att initiera plånbok: </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3853"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4310"/> <source>Failed to initialize wallet RPC server</source> <translation>Det gick inte att initiera RPC-servern för plånbok</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3857"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4314"/> <source>Starting wallet RPC server</source> <translation>Startar RPC-server för plånboken</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3864"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4321"/> <source>Failed to run wallet: </source> <translation>Det gick inte att köra plånboken: </translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3867"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4324"/> <source>Stopped wallet RPC server</source> <translation>Stoppade RPC-server för plånboken</translation> </message> <message> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3876"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4333"/> <source>Failed to save wallet: </source> <translation>Det gick inte spara plånboken: </translation> </message> @@ -5469,8 +5790,8 @@ daemon för att fungera korrekt.</translation> <name>wallet_args</name> <message> <location filename="../src/gen_multisig/gen_multisig.cpp" line="168"/> - <location filename="../src/simplewallet/simplewallet.cpp" line="8908"/> - <location filename="../src/wallet/wallet_rpc_server.cpp" line="3928"/> + <location filename="../src/wallet/wallet_rpc_server.cpp" line="4385"/> + <location filename="../src/simplewallet/simplewallet.cpp" line="9348"/> <source>Wallet options</source> <translation>Alternativ för plånbok</translation> </message> |