From 40297f1555147dd3a8ab333d52ab7ec654226a27 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Sat, 28 Feb 2015 04:09:43 +0200 Subject: [PATCH 001/321] [TEST] make Sauce Labs tests work --- .gitignore | 1 + .travis.yml | 27 +++++++------ test/sauce/launch_connect.js | 51 +++++++++++++++++++++++++ test/sauce/package.json | 20 ++++++++++ test/sauce/wait_for_browser_provider.sh | 7 ++++ test/travis-run.sh | 5 ++- test/travis/config-travis.js | 3 +- test/travis/nginx.conf | 1 + 8 files changed, 100 insertions(+), 15 deletions(-) create mode 100644 test/sauce/launch_connect.js create mode 100644 test/sauce/package.json create mode 100755 test/sauce/wait_for_browser_provider.sh diff --git a/.gitignore b/.gitignore index b510ad9bd..7ddb45e91 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ js/.DS_Store npm-debug.log .DS_Store node_modules +test/sauce/node_modules/ build/ src/js/config.js test/e2e/protractor.conf.js diff --git a/.travis.yml b/.travis.yml index 9e99c538f..e6350da1a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,8 @@ language: node_js node_js: - "0.10" -addons: - sauce_connect: true +#addons: +# sauce_connect: true before_install: - "export DISPLAY=:99.0" - "sh -e /etc/init.d/xvfb start" @@ -12,28 +12,31 @@ before_install: - echo "deb-src http://nginx.org/packages/ubuntu/ precise nginx" | sudo tee -a /etc/apt/sources.list - sudo apt-get update -qq - sudo apt-get install nginx - - sudo mkdir -p /var/log/nginx/ + - sudo nginx -s stop - npm install -g grunt-cli + - echo "$TRAVIS_BUILD_DIR" + - echo "$SAUCE_USERNAME" + - cd test/sauce && npm install + - node launch_connect.js & + - $TRAVIS_BUILD_DIR/test/sauce/wait_for_browser_provider.sh + - cd $TRAVIS_BUILD_DIR before_script: - "cp test/travis/config-travis.js src/js/config.js" - "cp test/travis/ripple-travis.txt ripple.txt" - npm install -g bower - bower install - npm install -g se-interpreter - - sudo nginx -c "$TRAVIS_BUILD_DIR/test/travis/nginx.conf" & + - sudo nginx -c "$TRAVIS_BUILD_DIR/test/travis/nginx.conf" + - curl -i http://localhost:9002 - grunt connect:sauce & - sudo ps aux - sudo ls -l /proc/*/exe || true script: "./test/travis-run.sh" after_script: - - echo "nginx/error:" - sudo cat /var/log/nginx/error.log - - echo "nginx/access:" - sudo cat /var/log/nginx/access.log - - echo "config.js:" - - curl http://localhost:9001/config.js - - echo "ripple.txt:" - - curl http://localhost:9001/ripple.txt + - curl -i http://localhost:9001/config.js + - curl -i http://localhost:9001/ripple.txt notifications: email: false @@ -45,7 +48,9 @@ notifications: on_start: false env: global: + - SAUCE_CONNECT_VERSION=4.3.6 - SAUCE_USERNAME=tonga - - secure: "VJFHj5fr46Qf7h34xa/W6FmGvknPH57eQLJoEjKlZUYn0EGx9EliCdENfzAbtr3e4GnNvQh6X2bLA/lB7TRzoD84oyGkllkMayevQm/dViJbUBQsl7HOa6VwUwugW+o7T3+vPM4y5qqFv1B/fs3Fthl+eKUatccy9qK4xra1Hso=" + - SAUCE_ACCESS_KEY=1553f141-1258-4319-b20d-7743def99fbb +# - secure: "VJFHj5fr46Qf7h34xa/W6FmGvknPH57eQLJoEjKlZUYn0EGx9EliCdENfzAbtr3e4GnNvQh6X2bLA/lB7TRzoD84oyGkllkMayevQm/dViJbUBQsl7HOa6VwUwugW+o7T3+vPM4y5qqFv1B/fs3Fthl+eKUatccy9qK4xra1Hso=" diff --git a/test/sauce/launch_connect.js b/test/sauce/launch_connect.js new file mode 100644 index 000000000..fb6e0f323 --- /dev/null +++ b/test/sauce/launch_connect.js @@ -0,0 +1,51 @@ + +var fs = require("fs"); +var sauceConnectLauncher = require('sauce-connect-launcher'); + +var options = { + username: 'tonga', + accessKey: '1553f141-1258-4319-b20d-7743def99fbb', + verbose: true, + varnish: true, + logger: console.log +}; + +if (process.env.TRAVIS_JOB_NUMBER) { + options.tunnelIdentifier = process.env.TRAVIS_JOB_NUMBER; +} + +if (process.env.SAUCE_USERNAME) { + options.username = process.env.SAUCE_USERNAME; +} + + +if (process.env.SAUCE_ACCESS_KEY) { + options.accessKey = process.env.SAUCE_ACCESS_KEY; +} + + +process.env.SAUCE_USERNAME = options.username; +process.env.SAUCE_ACCESS_KEY = options.accessKey; + + +sauceConnectLauncher(options, function (err, sauceConnectProcess) { + console.log("Started Sauce Connect Process", err, sauceConnectProcess != null); + if (err) { + process.exit(1); + } else { + // keep sc running in background + //console.log('keep sc running in background'); + //sauceConnectProcess.unref(); + //process.exit(0); + console.log('gut'); + fs.writeFile('./sc-launcher-readyfile.tmp', '', function(err) { + if (err) console.log('error writing to sc-launcher-readyfile.tmp', err); + //if (err) throw err; + }); + } + /* + sauceConnectProcess.close(function () { + console.log("Closed Sauce Connect process"); + }); + */ +}); diff --git a/test/sauce/package.json b/test/sauce/package.json new file mode 100644 index 000000000..825ba21ec --- /dev/null +++ b/test/sauce/package.json @@ -0,0 +1,20 @@ +{ + "name": "sauce-connect-launcher-cmd", + "version": "0.1.1", + "description": "launch sauce connect", + "author": { + "name": "Ivan Tivonenko", + "email": "darkdarkdragon@gmail.com" + }, + "dependencies": { + "sauce-connect-launcher": "git://github.com/darkdarkdragon/sauce-connect-launcher" + }, + "license": "MIT", + "scripts": {}, + "repository": { + "type": "git", + "url": "git@github.com:darkdarkdragon/travis-test.git" + }, + "readmeFilename": "README.md", + "devDependencies": {} +} diff --git a/test/sauce/wait_for_browser_provider.sh b/test/sauce/wait_for_browser_provider.sh new file mode 100755 index 000000000..4eebdd632 --- /dev/null +++ b/test/sauce/wait_for_browser_provider.sh @@ -0,0 +1,7 @@ +#!/bin/bash +set -v + +# Wait for Connect to be ready before exiting +while [ ! -f "$TRAVIS_BUILD_DIR/test/sauce/sc-launcher-readyfile.tmp" ]; do + sleep .5 +done diff --git a/test/travis-run.sh b/test/travis-run.sh index 02ba132b1..791b1b164 100755 --- a/test/travis-run.sh +++ b/test/travis-run.sh @@ -2,6 +2,7 @@ set -ev grunt npm run test-travis -if [ "${TRAVIS_SECURE_ENV_VARS}" = "true" ]; then +#if [ "${TRAVIS_SECURE_ENV_VARS}" = "true" ]; then se-interpreter test/selenium/interpreter_config.json -fi +#fi + diff --git a/test/travis/config-travis.js b/test/travis/config-travis.js index 834d18a04..9fdacd6ac 100644 --- a/test/travis/config-travis.js +++ b/test/travis/config-travis.js @@ -19,8 +19,7 @@ var Options = { { host: 'localhost', port: 9002, secure: false } ], - connection_offset: 0, - allow_partial_history: false + connection_offset: 0 }, // DEPRECATED: Blobvault server (old blob protocol) diff --git a/test/travis/nginx.conf b/test/travis/nginx.conf index ac9597fd8..d9cd8297c 100644 --- a/test/travis/nginx.conf +++ b/test/travis/nginx.conf @@ -55,3 +55,4 @@ http { } } + From cf7a9d6c65a3c58e23d958698945d5c33142ab62 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 3 Mar 2015 04:38:14 +0200 Subject: [PATCH 002/321] [TEST] split tests to public and private to use encrypt funded users username to variable FUNDED_USER_NAME and password to FUNDED_USER_PASSWORD and put to .travis.yml use as in LoginPrivate.json --- .travis.yml | 2 +- test/selenium/interpreter_config_private.json | 26 ++++++++ test/selenium/interpreter_config_public.json | 26 ++++++++ test/selenium/tests-private/LoginPrivate.json | 66 +++++++++++++++++++ .../{tests => tests-public}/LoginRT.json | 0 .../{tests => tests-public}/openRT.json | 0 test/travis-run.sh | 7 +- 7 files changed, 123 insertions(+), 4 deletions(-) create mode 100644 test/selenium/interpreter_config_private.json create mode 100644 test/selenium/interpreter_config_public.json create mode 100644 test/selenium/tests-private/LoginPrivate.json rename test/selenium/{tests => tests-public}/LoginRT.json (100%) rename test/selenium/{tests => tests-public}/openRT.json (100%) diff --git a/.travis.yml b/.travis.yml index e6350da1a..aceea26bb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,7 +25,7 @@ before_script: - "cp test/travis/ripple-travis.txt ripple.txt" - npm install -g bower - bower install - - npm install -g se-interpreter + - npm install -g darkdarkdragon/se-interpreter - sudo nginx -c "$TRAVIS_BUILD_DIR/test/travis/nginx.conf" - curl -i http://localhost:9002 - grunt connect:sauce & diff --git a/test/selenium/interpreter_config_private.json b/test/selenium/interpreter_config_private.json new file mode 100644 index 000000000..5519662b8 --- /dev/null +++ b/test/selenium/interpreter_config_private.json @@ -0,0 +1,26 @@ +{ + "type": "interpreter-config", + "configurations": [ + { + "settings": [ + { + "driverOptions": { + "host": "localhost", + "port": 4445 + }, + "browserOptions": { + "browserName": "googlechrome", + "username": "${SAUCE_USERNAME}", + "accessKey": "${SAUCE_ACCESS_KEY}", + "tunnel-identifier": "${TRAVIS_JOB_NUMBER}", + "build": "${TRAVIS_BUILD_NUMBER}", + "tags": "${TRAVIS_BRANCH}" + } + } + ], + "scripts": [ + "test/selenium/tests-private/*" + ] + } + ] +} diff --git a/test/selenium/interpreter_config_public.json b/test/selenium/interpreter_config_public.json new file mode 100644 index 000000000..5794e6d13 --- /dev/null +++ b/test/selenium/interpreter_config_public.json @@ -0,0 +1,26 @@ +{ + "type": "interpreter-config", + "configurations": [ + { + "settings": [ + { + "driverOptions": { + "host": "localhost", + "port": 4445 + }, + "browserOptions": { + "browserName": "googlechrome", + "username": "${SAUCE_USERNAME}", + "accessKey": "${SAUCE_ACCESS_KEY}", + "tunnel-identifier": "${TRAVIS_JOB_NUMBER}", + "build": "${TRAVIS_BUILD_NUMBER}", + "tags": "${TRAVIS_BRANCH}" + } + } + ], + "scripts": [ + "test/selenium/tests-public/*" + ] + } + ] +} diff --git a/test/selenium/tests-private/LoginPrivate.json b/test/selenium/tests-private/LoginPrivate.json new file mode 100644 index 000000000..05dc11dc7 --- /dev/null +++ b/test/selenium/tests-private/LoginPrivate.json @@ -0,0 +1,66 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://localhost:9001/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "Your account needs to be activated" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='mainnav']/div/div[2]/ul[2]/li[3]/a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests/LoginRT.json b/test/selenium/tests-public/LoginRT.json similarity index 100% rename from test/selenium/tests/LoginRT.json rename to test/selenium/tests-public/LoginRT.json diff --git a/test/selenium/tests/openRT.json b/test/selenium/tests-public/openRT.json similarity index 100% rename from test/selenium/tests/openRT.json rename to test/selenium/tests-public/openRT.json diff --git a/test/travis-run.sh b/test/travis-run.sh index 791b1b164..eeec78a68 100755 --- a/test/travis-run.sh +++ b/test/travis-run.sh @@ -2,7 +2,8 @@ set -ev grunt npm run test-travis -#if [ "${TRAVIS_SECURE_ENV_VARS}" = "true" ]; then - se-interpreter test/selenium/interpreter_config.json -#fi +se-interpreter test/selenium/interpreter_config_public.json +if [ "${TRAVIS_SECURE_ENV_VARS}" = "true" ]; then + se-interpreter --hideSetTexValue true test/selenium/interpreter_config_private.json +fi From e48edf46cc2c3597f84cfbf78ff4da3d370301a5 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Tue, 3 Mar 2015 17:11:15 -0800 Subject: [PATCH 003/321] [TASK] gitignore: add angular-messages --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 7ddb45e91..4993fdde3 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,7 @@ deps/js/ripple/ deps/js/angular/ deps/js/angular-route/ deps/js/angular-mocks/ +deps/js/angular-messages/ deps/js/jquery/ deps/js/moment/ deps/js/spin.js/ From c3cb0062a14c9f13ed35b6f6178414a480a8157d Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Tue, 3 Mar 2015 17:13:21 -0800 Subject: [PATCH 004/321] [TASK] Remove cache bust --- Gruntfile.js | 30 +++++++----------------------- package.json | 1 - 2 files changed, 7 insertions(+), 24 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 3d762b2b4..3192295d5 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -11,7 +11,6 @@ module.exports = function(grunt) { grunt.loadNpmTasks('grunt-recess'); grunt.loadNpmTasks('grunt-webpack'); grunt.loadNpmTasks('grunt-preprocess'); - grunt.loadNpmTasks('grunt-cache-bust'); grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-cssmin'); grunt.loadNpmTasks('grunt-contrib-imagemin'); @@ -202,19 +201,6 @@ module.exports = function(grunt) { dest: 'build/dist/compat_nw-debug.js' } }, - cacheBust: { - options: { - encoding: 'utf8', - algorithm: 'md5', - length: 16, - baseDir: 'build/bundle/web/' - }, - assets: { - files: [{ - src: ['build/bundle/web/index.html', 'build/bundle/web/index_debug.html', 'build/bundle/web/callback.html'] - }] - } - }, uglify: { // JavaScript dependencies deps: { @@ -354,27 +340,27 @@ module.exports = function(grunt) { }, scriptsDebug: { files: ['src/js/**/*.js', 'src/jade/**/*.jade'], - tasks: ['webpack:webDebug', 'copy', 'cacheBust'], + tasks: ['webpack:webDebug', 'copy'], options: { nospawn: true, livereload: true } }, deps: { files: deps, - tasks: ['uglify:deps', 'uglify:individualDeps', 'concat:depsDebug', 'copy', 'cacheBust'], + tasks: ['uglify:deps', 'uglify:individualDeps', 'concat:depsDebug', 'copy'], options: { livereload: true } }, styles: { files: 'src/less/**/*.less', - tasks: ['recess', 'cssmin', 'copy', 'cacheBust'], + tasks: ['recess', 'cssmin', 'copy'], options: { livereload: true } }, index: { files: ['src/index.html'], - tasks: ['version', 'versionBranch', 'preprocess:webDebug', 'copy', 'cacheBust'], + tasks: ['version', 'versionBranch', 'preprocess:webDebug', 'copy'], options: { livereload: true } }, callback: { files: ['src/callback.html'], - tasks: ['copy', 'cacheBust'] + tasks: ['copy'] }, config: { files: ['src/js/config.js'], @@ -527,8 +513,7 @@ module.exports = function(grunt) { 'cssmin', 'deps', 'copy', - 'imagemin', - 'cacheBust']); + 'imagemin']); // Dev - builds the web version of the client excluding any locales // Be sure to use English version for testing @@ -541,8 +526,7 @@ module.exports = function(grunt) { 'recess', 'cssmin', 'deps', - 'copy', - 'cacheBust']); + 'copy']); // Deps only - only rebuilds the dependencies grunt.registerTask('deps', ['uglify:deps', 'uglify:individualDeps', diff --git a/package.json b/package.json index 3af248a60..5d6b9790a 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,6 @@ "extend": "~1.2.1", "grunt": "~0.4.2", "grunt-bower-task": "~0.4.0", - "grunt-cache-bust": "^0.4.5", "grunt-contrib-concat": "~0.3.0", "grunt-contrib-connect": "~0.5.0", "grunt-contrib-copy": "~0.4.1", From 8aad65b8572d61d7e5072c76ff66503ef47db88a Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Tue, 3 Mar 2015 17:52:25 -0800 Subject: [PATCH 005/321] [FIX] Gruntfile: fix the watch --- Gruntfile.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 3192295d5..3e4fcb7a6 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -340,17 +340,17 @@ module.exports = function(grunt) { }, scriptsDebug: { files: ['src/js/**/*.js', 'src/jade/**/*.jade'], - tasks: ['webpack:webDebug', 'copy'], + tasks: ['version', 'versionBranch', 'webpack:webDebug', 'copy'], options: { nospawn: true, livereload: true } }, deps: { files: deps, - tasks: ['uglify:deps', 'uglify:individualDeps', 'concat:depsDebug', 'copy'], + tasks: ['version', 'versionBranch', 'uglify:deps', 'uglify:individualDeps', 'concat:depsDebug', 'copy'], options: { livereload: true } }, styles: { files: 'src/less/**/*.less', - tasks: ['recess', 'cssmin', 'copy'], + tasks: ['version', 'versionBranch', 'recess', 'cssmin', 'copy'], options: { livereload: true } }, index: { From 8713011fb21daa11bd04396ebcdebade583c9814 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Wed, 4 Feb 2015 10:21:30 +0200 Subject: [PATCH 006/321] [FIX] optimize rpAddressPopover if popover is not used, do not create popover, and make only one interaction with dom - add one 'mouseenter' handler --- src/jade/directives/addresspopover.jade | 11 +- src/jade/tabs/trade.jade | 18 +- src/js/directives/addressPopover.js | 228 ++++++++++++++++++++++++ src/js/directives/directives.js | 165 ----------------- src/js/entry/web.js | 1 + 5 files changed, 242 insertions(+), 181 deletions(-) create mode 100644 src/js/directives/addressPopover.js diff --git a/src/jade/directives/addresspopover.jade b/src/jade/directives/addresspopover.jade index d7148fe98..d2d005ac8 100644 --- a/src/jade/directives/addresspopover.jade +++ b/src/jade/directives/addresspopover.jade @@ -1,8 +1,3 @@ -div - div(ng-show="summ") {{ summ }} - span(l10n, ng-show="type==1 && identity") Ripple address {{ identity }} - div(ng-show="type==2") - div(ng-show="rippleName") {{ rippleName }} - span {{ identity }} - br - a(l10n, target="_blank", href="http://www.ripplecharts.com/#/graph/{{ identity }}") Show in graph +span(l10n) Ripple address +br +span(l10n) Show in graph diff --git a/src/jade/tabs/trade.jade b/src/jade/tabs/trade.jade index 708200534..75536f797 100644 --- a/src/jade/tabs/trade.jade +++ b/src/jade/tabs/trade.jade @@ -455,7 +455,8 @@ section.col-xs-12.content(ng-controller="TradeCtrl") .col-md-1.type(l10n-data-label="Type") span.rp-hidden-md.rp-hidden-lg {{entry.type | rpucfirst}} span.rp-hidden-xs.rp-hidden-sm {{entry.type | rptruncate:1}} - .col-md-2.amount.rpamount(l10n-data-label="QTY", + .col-md-2.amount.rpamount(l10n-data-label="QTY" + rp-address-popover, rp-address-popover-sum="entry.first" ng-hide="editOrder.seq == entry.seq") {{entry.first | rpamount:{hard_precision: true, precision: 6, tiny_precision: 6} }} .col-md-2(l10n-data-label="BASE", ng-hide="editOrder.seq == entry.seq") a(href="",ng-click="goto_order_currency()") @@ -475,7 +476,8 @@ section.col-xs-12.content(ng-controller="TradeCtrl") rp-pretty-issuer="entry.second.issuer().to_json()" rp-pretty-issuer-contacts="userBlob.data.contacts" ) ??? - .col-md-2.price.rpamount(l10n-data-label="Limit", + .col-md-2.price.rpamount(l10n-data-label="Limit" + rp-address-popover, rp-address-popover-sum="entry.second | rpamountratio:entry.first" ng-hide="editOrder.seq == entry.seq") {{entry.second | rpamountratio:entry.first | rpamount:{hard_precision: true, precision: 6, tiny_precision: 6} }} //- .col-md-2.action(l10n-data-label="Time placed(UTC)", ng-hide="editOrder.seq == entry.seq") ... .col-md-3.action(ng-hide="editOrder.seq == entry.seq") @@ -631,11 +633,11 @@ section.col-xs-12.content(ng-controller="TradeCtrl") .row(ng-repeat='order in bookShow.bids track by order.index' ng-class="{my: order.my, cancelling: cancelling}") - .col-xs-4.rpamount.sum + .col-xs-4.rpamount.sum(rp-address-popover="order.Account", rp-address-popover-link-to-charts) a(href="", ng-click="fill_widget('sell', order, true)") span(rp-bind-color-amount="order.showSum") - .col-xs-4.rpamount.size(rp-bind-color-amount="order.showTakerPays") - .col-xs-4.rpamount.price + .col-xs-4.rpamount.size(rp-bind-color-amount="order.showTakerPays", rp-address-popover="order.Account", rp-address-popover-link-to-charts) + .col-xs-4.rpamount.price(rp-address-popover="order.Account", rp-address-popover-link-to-charts) a(href="", ng-click="fill_widget('sell', order, true)", ng-bind="order.showPrice") .message(ng-show='!bookShow.bids.length', l10n) There are currently no bids for this pair. @@ -667,10 +669,10 @@ section.col-xs-12.content(ng-controller="TradeCtrl") .row(ng-repeat='order in bookShow.asks track by order.index' ng-class="{my: order.my, cancelling: cancelling}") - .col-xs-4.rpamount.price + .col-xs-4.rpamount.price(rp-address-popover="order.Account", rp-address-popover-link-to-charts) a(href="", ng-click="fill_widget('buy', order, true)", ng-bind="order.showPrice") - .col-xs-4.rpamount.size(rp-bind-color-amount="order.showTakerGets") - .col-xs-4.rpamount.sum + .col-xs-4.rpamount.size(rp-bind-color-amount="order.showTakerGets", rp-address-popover="order.Account", rp-address-popover-link-to-charts) + .col-xs-4.rpamount.sum(rp-address-popover="order.Account", rp-address-popover-link-to-charts) a(href="" ng-click="fill_widget('buy', order, true)") span(rp-bind-color-amount="order.showSum") diff --git a/src/js/directives/addressPopover.js b/src/js/directives/addressPopover.js new file mode 100644 index 000000000..d6c182774 --- /dev/null +++ b/src/js/directives/addressPopover.js @@ -0,0 +1,228 @@ + +(function() { + // 'use strict'; + + /* global ripple: false, angular: false, _: false, jQuery: false, store: false, Options: false */ + + function AddressPopover($timeout, id, $filter, $parse, scope, element, attr) { + this.$timeout = $timeout; + this.$parse = $parse; + this.scope = scope; + this.element = element; + + this.cancelHidePopoverTimeout = null; + this.cancelShowPopoverTimeout = null; + this.tip = null; + this.shown = false; + this.identity = ''; + this.summ = ''; + this.rippleName = ''; + this.rpamountFilter = $filter('rpamount'); + this.popoverCreated = false; + this.rpAddressPopoverSum = attr.rpAddressPopoverSum; + this.rpAddressPopoverSumMinus = attr.rpAddressPopoverSumMinus; + + if (attr.rpAddressPopover && attr.rpAddressPopover != 'rp-address-popover') { + this.identity = $parse(attr.rpAddressPopover)(scope); + } + + this.onPopoverEnterBound = null; + this.onPopoverLeaveBound = null; + this.onElemLeaveBound = null; + this.onElemEnterBound = this.onElemEnter.bind(this); + element.bind('mouseenter', this.onElemEnterBound); + + var _this = this; + if (attr.rpAddressPopoverLinkToCharts) { + id.resolveName(this.identity, { tilde: true }).then(function(name) { + _this.rippleName = name; + if (_this.popoverCreated) { + var data = element.data('popover'); + if (data) { + data.options.content = _this.makeContent(); + data.setContent(); + } + } + }); + } + + // Make sure popover is destroyed and removed. + scope.$on('$destroy', function onDestroyPopover() { + $timeout.cancel(_this.cancelHidePopoverTimeout); + _this.cancelHidePopoverTimeout = null; + $timeout.cancel(_this.cancelShowPopoverTimeout); + _this.cancelShowPopoverTimeout = null; + _this.unbindHanlders(); + if (_this.tip) { + _this.tip.remove(); + _this.tip = null; + } + this.scope = null; + this.element = null; + this.onPopoverEnterBound = null; + this.onPopoverLeaveBound = null; + this.onElemLeaveBound = null; + this.onElemEnterBound = null; + }); + } + + AddressPopover.popupDelay = 800; + AddressPopover.hideDelay = 700; + AddressPopover.summFilterOpts = { force_precision: 100, min_precision: 2 }; + + AddressPopover.prototype.create = function() { + if (this.rpAddressPopoverSum) { + var nowSumm = this.$parse(this.rpAddressPopoverSum)(this.scope); + nowSumm = this.rpamountFilter(nowSumm, AddressPopover.summFilterOpts); + if (nowSumm != this.summ) { + if (this.rpAddressPopoverSumMinus && nowSumm != 'n/a') { + nowSumm = '-' + nowSumm; + } + this.summ = nowSumm; + } + } + + var options = { + content: this.makeContent(), + html: true, + trigger: 'manual', placement: 'top', + container: 'body', + template: '
' + }; + + var popover = this.element.popover(options); + this.tip = this.element.data('popover').tip(); + this.onPopoverEnterBound = this.onPopoverEnter.bind(this); + this.tip.bind('mouseenter', this.onPopoverEnterBound); + this.onPopoverLeaveBound = this.onPopoverLeave.bind(this); + this.tip.bind('mouseleave', this.onPopoverLeaveBound); + this.popoverCreated = true; + } + + AddressPopover.prototype.makeContent = function() { + var htmlContent = ['
']; + if (this.summ) { + htmlContent.push('
', String(this.summ), '
'); + } + + if (this.rippleName) { + if (this.rippleName !== this.identity) { + htmlContent.push('
', this.rippleName, '
'); + } + htmlContent.push('', this.identity, '', '
'); + htmlContent.push('', AddressPopover.textShowInGraph, ''); + } else if (this.identity) { + htmlContent.push(AddressPopover.textRippleAddress, ' ', this.identity); + } + htmlContent.push('
'); + return htmlContent.join(''); + } + + AddressPopover.prototype.showPopover = function() { + if (!this.popoverCreated) { + this.create(); + } + + var _this = this; + // allow $compile to bind values to template + this.$timeout(function() { + _this.element.popover('show'); + _this.shown = true; + }, 10, false); + } + + AddressPopover.prototype.hidePopover = function() { + if (!this.cancelHidePopoverTimeout) { + var _this = this; + this.cancelHidePopoverTimeout = this.$timeout(function() { + _this.element.popover('hide'); + _this.shown = false; + }, AddressPopover.hideDelay, false); + this.cancelHidePopoverTimeout['finally'](function() { + _this.cancelHidePopoverTimeout = null; + }); + } + } + + AddressPopover.prototype.onPopoverEnter = function() { + if (this.cancelShowPopoverTimeout) { + this.$timeout.cancel(this.cancelShowPopoverTimeout); + this.cancelShowPopoverTimeout = null; + } + if (this.cancelHidePopoverTimeout) { + this.$timeout.cancel(this.cancelHidePopoverTimeout); + this.cancelHidePopoverTimeout = null; + } + } + + AddressPopover.prototype.onPopoverLeave = function() { + this.hidePopover(); + } + + AddressPopover.prototype.onElemEnter = function() { + if (!this.onElemLeaveBound) { + this.onElemLeaveBound = this.onElemLeave.bind(this) + this.element.bind('mouseleave', this.onElemLeaveBound); + } + + if (this.cancelHidePopoverTimeout) { + this.$timeout.cancel(this.cancelHidePopoverTimeout); + this.cancelHidePopoverTimeout = null; + } else if (!this.cancelShowPopoverTimeout) { + this.cancelShowPopoverTimeout = this.$timeout(this.showPopover.bind(this), AddressPopover.popupDelay, false); + this.cancelShowPopoverTimeout['finally'](this.onCancelShowPopoverTimeoutFinally.bind(this)); + } + } + + AddressPopover.prototype.onCancelShowPopoverTimeoutFinally = function() { + this.cancelShowPopoverTimeout = null; + } + + AddressPopover.prototype.onElemLeave = function() { + if (this.cancelShowPopoverTimeout) { + this.$timeout.cancel(this.cancelShowPopoverTimeout); + this.cancelShowPopoverTimeout = null; + } else if (this.shown) { + this.hidePopover(); + } + } + + AddressPopover.prototype.unbindHanlders = function() { + this.element.unbind('mouseenter', this.onElemEnterBound); + this.element.unbind('mouseleave', this.onElemLeaveBound); + + if (this.tip) { + this.tip.unbind('mouseenter', this.onPopoverEnterBound); + this.tip.unbind('mouseleave', this.onPopoverLeaveBound); + } + } + + var myTemplate = require('../../jade/directives/addresspopover.jade')(); + var texts = myTemplate.split('
'); + + AddressPopover.textRippleAddress = texts[0]; + AddressPopover.textShowInGraph = texts.length > 1 ? texts[1] : 'Show in graph'; + + /** + * Special popover to show ripple address with ability to double click on address to select. + * Also can link to www.ripplecharts.com. + * rp-address-popover-link-to-charts - show ling to ripple charts + * rp-address-popover-sum - show full sum of according model in popover + * rp-address-popover-sum-minus - put minus sign before sum + */ + angular.module('directives').directive('rpAddressPopover', rpAddressPopover); + + rpAddressPopover.$inject = ['$timeout', 'rpId', '$filter', '$parse']; + + function rpAddressPopover($timeout, id, $filter, $parse) { + return { + restrict: 'A', + replace: false, + compile: function (element, attr, linker) { + return function (scope, element, attr) { + var p = new AddressPopover($timeout, id, $filter, $parse, scope, element, attr); + }; + } + }; + } +})(); diff --git a/src/js/directives/directives.js b/src/js/directives/directives.js index c3db7c176..79d114616 100644 --- a/src/js/directives/directives.js +++ b/src/js/directives/directives.js @@ -220,171 +220,6 @@ module.directive('rpPopover', ['$interpolate', function($interpolate) { }; }]); -/** - * Special popover to show ripple address with ability to double click on address to select. - * Also can link to www.ripplecharts.com. - * rp-address-popover-link-to-charts - show ling to ripple charts - * rp-address-popover-sum - show full sum of according model in popover - * rp-address-popover-sum-minus - put minus sign before sum - */ -module.directive('rpAddressPopover', ['$timeout', '$interpolate', 'rpId', '$filter', '$parse', '$compile', - function($timeout, $interpolate, id, $filter, $parse, $compile) { - var popupDelay = 800; - var hideDelay = 700; - var rpamountFilter = $filter('rpamount'); - var summFilterOpts = { force_precision: 100, min_precision: 2 }; - var myTemplate = require('../../jade/directives/addresspopover.jade'); - - return { - restrict: 'A', - replace: false, - compile: function (element, attr, linker) { - return function (scope, element, attr) { - var cancelHidePopoverTimeout; - var cancelShowPopoverTimeout; - var tip; - var shown = false; - var identity = ''; - var summ = ''; - var rippleName = ''; - - if (attr.rpAddressPopover && attr.rpAddressPopover != 'rp-address-popover') { - identity = $interpolate('{{' + attr.rpAddressPopover + '}}')(scope); - } - - function makeContent() { - var s = scope.$new(true); - s.type = 1; - s.identity = identity; - s.rippleName = rippleName; - s.summ = summ; - if (rippleName) { - s.type = 2; - if (rippleName == identity) { - s.rippleName = ''; - } - } - - var htmlContent = $compile(myTemplate())(s); - return htmlContent; - } - - function showPopover() { - if (attr.rpAddressPopoverSum) { - var nowSumm = $parse(attr.rpAddressPopoverSum)(scope); - nowSumm = rpamountFilter(nowSumm, summFilterOpts); - if (nowSumm != summ && tip) { - if (attr.rpAddressPopoverSumMinus && nowSumm != 'n/a') { - nowSumm = '-' + nowSumm; - } - summ = nowSumm; - - element.data('popover').options.content = makeContent(); - element.data('popover').setContent(); - } - } - // allow $compile to bind values to template - $timeout(function () { - element.popover('show'); - shown = true; - }, 1, false); - } - - function hidePopover() { - if (!cancelHidePopoverTimeout) { - cancelHidePopoverTimeout = $timeout(function() { - element.popover('hide'); - shown = false; - }, hideDelay, false); - cancelHidePopoverTimeout['finally'](function() { - cancelHidePopoverTimeout = null; - }); - } - } - - function onPopoverEnter() { - if (cancelShowPopoverTimeout) { - $timeout.cancel(cancelShowPopoverTimeout); - cancelShowPopoverTimeout = null; - } - if (cancelHidePopoverTimeout) { - $timeout.cancel(cancelHidePopoverTimeout); - cancelHidePopoverTimeout = null; - } - } - - function onPopoverLeave() { - hidePopover(); - } - - function onElemEnter() { - if (cancelHidePopoverTimeout) { - $timeout.cancel(cancelHidePopoverTimeout); - cancelHidePopoverTimeout = null; - } else if (!cancelShowPopoverTimeout) { - cancelShowPopoverTimeout = $timeout(showPopover, popupDelay, false); - cancelShowPopoverTimeout['finally'](function() { cancelShowPopoverTimeout = null; }); - } - } - - function onElemLeave() { - if (cancelShowPopoverTimeout) { - $timeout.cancel(cancelShowPopoverTimeout); - cancelShowPopoverTimeout = null; - } else if (shown) { - hidePopover(); - } - } - - function unbindHanlders() { - element.unbind('mouseenter', onElemEnter); - element.unbind('mouseleave', onElemLeave); - tip.unbind('mouseenter', onPopoverEnter); - tip.bind('mouseleave', onPopoverLeave); - } - - element.popover('destroy'); - - var options = { - content: makeContent(), - html: true, - trigger: 'manual', placement: 'top', - container: 'body', - template: '
' - }; - - var popover = element.popover(options); - tip = element.data('popover').tip(); - element.bind('mouseenter', onElemEnter); - element.bind('mouseleave', onElemLeave); - tip.bind('mouseenter', onPopoverEnter); - tip.bind('mouseleave', onPopoverLeave); - - if (attr.rpAddressPopoverLinkToCharts) { - id.resolveName(identity, { tilde: true }).then(function(name) { - rippleName = name; - var data = element.data('popover'); - if (data) { - data.options.content = makeContent(); - data.setContent(); - } - }); - } - // Make sure popover is destroyed and removed. - scope.$on('$destroy', function onDestroyPopover() { - $timeout.cancel(cancelHidePopoverTimeout); - $timeout.cancel(cancelShowPopoverTimeout); - unbindHanlders(); - if (tip) { - tip.remove(); - tip = null; - } - }); - }; - } - }; -}]); - module.directive('rpAutofill', ['$parse', function($parse) { return { restrict: 'A', diff --git a/src/js/entry/web.js b/src/js/entry/web.js index 6139a395a..6744e8aa9 100644 --- a/src/js/entry/web.js +++ b/src/js/entry/web.js @@ -11,6 +11,7 @@ require('../directives/accountExists.js'); require('../directives/events'); require('../directives/formatters'); require('../directives/directives'); +require('../directives/addressPopover.js'); require('../directives/datalinks'); require('../directives/errors'); require('../directives/marketchart'); From 8e6ee8c4832d7fd822d25888b342be084cda4066 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Wed, 4 Mar 2015 05:27:43 +0200 Subject: [PATCH 007/321] [FIX] fix hover state (RT-3209) fix rpAddressPopover --- src/jade/tabs/trade.jade | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/jade/tabs/trade.jade b/src/jade/tabs/trade.jade index 75536f797..8dfb019c4 100644 --- a/src/jade/tabs/trade.jade +++ b/src/jade/tabs/trade.jade @@ -456,7 +456,6 @@ section.col-xs-12.content(ng-controller="TradeCtrl") span.rp-hidden-md.rp-hidden-lg {{entry.type | rpucfirst}} span.rp-hidden-xs.rp-hidden-sm {{entry.type | rptruncate:1}} .col-md-2.amount.rpamount(l10n-data-label="QTY" - rp-address-popover, rp-address-popover-sum="entry.first" ng-hide="editOrder.seq == entry.seq") {{entry.first | rpamount:{hard_precision: true, precision: 6, tiny_precision: 6} }} .col-md-2(l10n-data-label="BASE", ng-hide="editOrder.seq == entry.seq") a(href="",ng-click="goto_order_currency()") @@ -477,7 +476,6 @@ section.col-xs-12.content(ng-controller="TradeCtrl") rp-pretty-issuer-contacts="userBlob.data.contacts" ) ??? .col-md-2.price.rpamount(l10n-data-label="Limit" - rp-address-popover, rp-address-popover-sum="entry.second | rpamountratio:entry.first" ng-hide="editOrder.seq == entry.seq") {{entry.second | rpamountratio:entry.first | rpamount:{hard_precision: true, precision: 6, tiny_precision: 6} }} //- .col-md-2.action(l10n-data-label="Time placed(UTC)", ng-hide="editOrder.seq == entry.seq") ... .col-md-3.action(ng-hide="editOrder.seq == entry.seq") @@ -633,11 +631,11 @@ section.col-xs-12.content(ng-controller="TradeCtrl") .row(ng-repeat='order in bookShow.bids track by order.index' ng-class="{my: order.my, cancelling: cancelling}") - .col-xs-4.rpamount.sum(rp-address-popover="order.Account", rp-address-popover-link-to-charts) + .col-xs-4.rpamount.sum a(href="", ng-click="fill_widget('sell', order, true)") span(rp-bind-color-amount="order.showSum") - .col-xs-4.rpamount.size(rp-bind-color-amount="order.showTakerPays", rp-address-popover="order.Account", rp-address-popover-link-to-charts) - .col-xs-4.rpamount.price(rp-address-popover="order.Account", rp-address-popover-link-to-charts) + .col-xs-4.rpamount.size(rp-bind-color-amount="order.showTakerPays") + .col-xs-4.rpamount.price a(href="", ng-click="fill_widget('sell', order, true)", ng-bind="order.showPrice") .message(ng-show='!bookShow.bids.length', l10n) There are currently no bids for this pair. @@ -669,10 +667,10 @@ section.col-xs-12.content(ng-controller="TradeCtrl") .row(ng-repeat='order in bookShow.asks track by order.index' ng-class="{my: order.my, cancelling: cancelling}") - .col-xs-4.rpamount.price(rp-address-popover="order.Account", rp-address-popover-link-to-charts) + .col-xs-4.rpamount.price a(href="", ng-click="fill_widget('buy', order, true)", ng-bind="order.showPrice") - .col-xs-4.rpamount.size(rp-bind-color-amount="order.showTakerGets", rp-address-popover="order.Account", rp-address-popover-link-to-charts) - .col-xs-4.rpamount.sum(rp-address-popover="order.Account", rp-address-popover-link-to-charts) + .col-xs-4.rpamount.size(rp-bind-color-amount="order.showTakerGets") + .col-xs-4.rpamount.sum a(href="" ng-click="fill_widget('buy', order, true)") span(rp-bind-color-amount="order.showSum") From 43c6cd63b208c95df26399bac2e5d529e6291709 Mon Sep 17 00:00:00 2001 From: Malika Date: Wed, 4 Mar 2015 11:42:00 -0800 Subject: [PATCH 008/321] [FIX] Lock username after submit (RT-3084) --- src/jade/tabs/login/form.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jade/tabs/login/form.jade b/src/jade/tabs/login/form.jade index d6d5ba308..d44809cba 100644 --- a/src/jade/tabs/login/form.jade +++ b/src/jade/tabs/login/form.jade @@ -4,7 +4,7 @@ .input-group span.input-group-addon.ripple-addon ~ input.form-control#login_username(name='login_username', type='text', ng-model='username', required, - rp-focus-on-empty, rp-autofill='$routeParams.username') + rp-focus-on-empty, rp-autofill='$routeParams.username', ng-disabled="ajax_loading") .form-group(ng-hide="twoFactor || 'verifying' === verifyStatus") label(for='login_password', l10n) Password input.form-control#login_password(name='login_password', type='password', ng-model='password', required, rp-focus) From dfd89bf29afd8e4b9b7d43c871f1f7d2a41fdbe9 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 4 Mar 2015 13:13:46 -0800 Subject: [PATCH 009/321] [TASK] Landing: Remove ticker --- Gruntfile.js | 1 - deps/js/charts/ticker.js | 9 --------- src/jade/client/index.jade | 3 --- src/js/config-example.js | 39 +------------------------------------ src/js/directives/ticker.js | 20 ------------------- src/js/entry/web.js | 1 - 6 files changed, 1 insertion(+), 72 deletions(-) delete mode 100644 deps/js/charts/ticker.js delete mode 100644 src/js/directives/ticker.js diff --git a/Gruntfile.js b/Gruntfile.js index 3e4fcb7a6..da61a2fa2 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -49,7 +49,6 @@ module.exports = function(grunt) { 'deps/js/spin.js/spin.js', 'deps/js/snapjs/snap.js', 'deps/js/ng-sortable/dist/ng-sortable.js', - 'deps/js/charts/ticker.js', 'deps/js/charts/pricechart.js']; var compatIE = ['compat/ie/base64/base64.js', diff --git a/deps/js/charts/ticker.js b/deps/js/charts/ticker.js deleted file mode 100644 index 5705c8f46..000000000 --- a/deps/js/charts/ticker.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * ripplecharts - v0.0.1 - 2015-02-03 - * http://ripple.com - * - * Copyright (c) 2015 Ripple Labs, Inc. - * Licensed ISC <> - */ -var API="https://api.ripplecharts.com/api";var DOMAIN="https://ripplecharts.com";var TICKER_CSS=".closer{position:absolute;top:0;right:0;z-index:1;padding:3px 5px;font-size:12px;font-weight:300;line-height:10px;color:#000;cursor:pointer}.closer:hover{color:#666}.info{position:absolute;top:0;left:0;height:60px;color:#000}.infoText{width:20px;height:60px;padding:2px 1px;overflow:hidden;font-size:12px;text-align:center;cursor:pointer}#prices{position:relative;display:inline-block;width:100%;height:60px;overflow:hidden;white-space:nowrap;background-color:#f5f5f5}#prices .ticker{display:inline-block;margin:15px;cursor:pointer;opacity:.7}#prices .hidden{display:none}#prices .pct{display:inline-block;margin:5px 5px 5px 0;font-size:14px;font-weight:300}#prices .pctUp{color:#483}#prices .pctDown{color:#a22}#prices .price{display:inline-block;margin:5px;font-weight:700;color:#3c3c3c}#prices .baseGateway{display:inline-block;font-size:12px;color:#346aa9}#prices .counterGateway{display:inline-block;font-size:12px;color:#346aa9}#prices .baseCurrency{display:inline-block;font-weight:300}#prices .counterCurrency{display:inline-block;margin:5px 5px 5px 0;font-weight:300}#prices .priceStatus{display:inline-block;width:10px;height:5px;padding-bottom:2px}#prices #scrollingText{position:relative;top:150px;width:100%;height:16px;padding:2px 0;border:solid 1px #ccc}@keyframes rotating{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes rotating{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.tickerLoader{position:absolute;top:17px;right:0;left:0;width:auto;height:25px;margin:auto;-webkit-animation:rotating 1s linear infinite;-moz-animation:rotating 1s linear infinite;-ms-animation:rotating 1s linear infinite;-o-animation:rotating 1s linear infinite;animation:rotating 1s linear infinite}div.scrollingHotSpotLeft{position:absolute;left:0;z-index:200;width:10%;height:100%;min-width:75px}div.scrollingHotSpotRight{position:absolute;right:0;z-index:200;width:10%;height:100%;min-width:75px}div.scrollWrapper{position:relative;width:100%;height:100%;overflow:hidden}div.scrollableArea{position:relative;width:auto;height:100%}";var LOADER_PNG="iVBORw0KGgoAAAANSUhEUgAAAC8AAAAyCAYAAADMb4LpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAoBJREFUeNrsmb1uwjAQgCHK1uyww072ssPePAAPwEBZYOABYKEd0p2xAw8Q9rCHPex0JzM9VxcpWM6vL3GixpIVifz4u8P36+7j8eg0dehlfHT/se/DxYTZj/zsw/SW78s71TpdSs0DNAOewRwlPHaCeQAhbrWBB/A5XN4yPh7AtEEARzk8gK/hMinw6k5GAI0A3CoIzsYK3h8qgYeFDdzjMmOuSvNTmC+S3xgV1b4s/JjIUU1VwI+I4JVoXun41/BBk+E9Ig5PBbxLBO9UDo+h/UcS/Fw0SaMw2K2kzdjKvA1oje3XXUHwhUxqTJkSs2i7zpgusK22AXC/TsVIHxOt14THvgD6WLtKKiLEN1x6ZYKXGWFFgAEleJnwIiP0qRfRc2wFMwTL4CHMmLzdoOwe6ClVkoU5+4C7F2B0ddBVRu8NE/LzuSguwDtTXMfkvNUVo68jElposDnd3ikS3kNvk/TeBW3ijnm8FWPcfEw4ggCHRHjUwqqmWfAJBNgKDRY1XldwNibYZnmGxz2+bkANMkElPxmsRdAJ6HDGdkS3OSbqNISDtVtcXbaCT0hzN9FiA7TFjPqTSIAB82paZMv0COEdQfbpx0TeosPUZFoPcW4NQN2Sy0Y2jDLSA78qyw3h74Tf9CqFx/1I1ca4pVRdZMmfVkInIA3wSrWOJtt+EITvtIyTwuP8dRw07i89S3YCDhnbJbLat0XFyFbiw3aOTsBGwsZ24ToapxXmdRY5BQg6Oc+WcPFFAQGe1oktwCHqzjLkO1LHkhjZWf6fdqZ1wXW8XN0DzOCGOA0MQgzWpThLjbRMwkrK4DyXG9ff6Tb5+L49GWnhW/gWvprxK8AA17MEbNrj+u8AAAAASUVORK5CYII=";var ARROW_DOWN_PNG="iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTg5MDQ3ODc4RURBMTFFNEE3RTNENkQ0QUIyQzI1REQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTg5MDQ3ODg4RURBMTFFNEE3RTNENkQ0QUIyQzI1REQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBODkwNDc4NThFREExMUU0QTdFM0Q2RDRBQjJDMjVERCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBODkwNDc4NjhFREExMUU0QTdFM0Q2RDRBQjJDMjVERCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pvw5lsIAAABeSURBVHjaYnyeH9PBwMBQzkAd0MkIIqlkaKfkxCUVjDAehYaCDQMxGJFFyTQUbhiGgWQYimIYVgNJMBTDMJwGEmEoVsPwGojHUJyGETQQi6F4DSMagAyFGkwQAAQYAAHDL7jGnyjCAAAAAElFTkSuQmCC";var ARROW_UP_PNG="iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTg5MDQ3ODM4RURBMTFFNEE3RTNENkQ0QUIyQzI1REQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTg5MDQ3ODQ4RURBMTFFNEE3RTNENkQ0QUIyQzI1REQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBODkwNDc4MThFREExMUU0QTdFM0Q2RDRBQjJDMjVERCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBODkwNDc4MjhFREExMUU0QTdFM0Q2RDRBQjJDMjVERCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhMNcMcAAABcSURBVHjaYmQgAjgc6e4AUvxAnHXApvQ/PrWMRBpWDuXOIGQoIwmGMRBjKCOJhhE0lJEMw/AaykimYTgNZaTAMKyGMlJoGIahTFQwDAQygLgT7EIqGIYMOgECDACdeTWi/rI1HAAAAABJRU5ErkJggg==";var ICN_INFO_PNG="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxOTIwIDEwODAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE5MjAgMTA4MCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8cGF0aCBmaWxsPSIjNjY2QTZBIiBkPSJNOTYwLDMzLjJjLTI3OS41LDAtNTA2LjgsMjI3LjQtNTA2LjgsNTA2LjhzMjI3LjQsNTA2LjgsNTA2LjgsNTA2LjhzNTA2LjgtMjI3LjQsNTA2LjgtNTA2LjgNCgkJQzE0NjYuOCwyNjAuNSwxMjM5LjUsMzMuMiw5NjAsMzMuMnogTTk2MCw5NzUuOGMtMjQxLjYsMC00MzUuOC0xOTQuMi00MzUuOC00MzUuOFM3MTguNCwxMDQuMiw5NjAsMTA0LjJzNDM1LjgsMTk0LjIsNDM1LjgsNDM1LjgNCgkJQzEzOTUuOCw3ODEuNiwxMjAxLjYsOTc1LjgsOTYwLDk3NS44eiIvPg0KCTxjaXJjbGUgZmlsbD0iIzY2NkE2QSIgY3g9Ijk2MCIgY3k9IjI4OC45IiByPSI1Ni44Ii8+DQoJPHBhdGggZmlsbD0iIzY2NkE2QSIgZD0iTTEwMjYuMyw3MTUuM2gtMjguNFY0NDAuNWMwLTE4LjktMTQuMi0zNy45LTM3LjktMzcuOWgtNjYuM2MtMTguOSwwLTM3LjksMTQuMi0zNy45LDM3LjkNCgkJYzAsMjMuNywxOC45LDMzLjIsMzcuOSwzMy4yaDI4LjR2MjM2LjhoLTI4LjRjLTE4LjksMC0zNy45LDE0LjItMzcuOSwzNy45YzAsMTguOSwxNC4yLDM3LjksMzcuOSwzNy45aDEzMi42DQoJCWMxOC45LDAsMzcuOS0xNC4yLDM3LjktMzcuOUMxMDU5LjUsNzI5LjUsMTA0NS4zLDcxNS4zLDEwMjYuMyw3MTUuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K";function addTicker(a,b,c){new Ticker(a,b,self,c)}function getParams(){for(var a={},b=window.location.search.substring(1),c=b?b.split("&"):[],d=0;d"))}),e=d.append("div").attr("class","infoText").html("");d3.select("body").on("click",function(){d.classed("open",!1).classed("closed",!0).style({"background-color":"rgba(0,0,0,0)",color:"#000",width:null}),e.style({padding:"2px 1px",width:"20px",height:"60px"}).html("")})}$("#prices").smoothDivScroll({autoScrollingDirection:"endlessLoopRight",autoScrollingStep:1,autoScrollingInterval:15,hotSpotScrolling:!1}),$("#prices").smoothDivScroll("startAutoScrolling"),$("#prices").bind("mouseover",function(){$("#prices").smoothDivScroll("stopAutoScrolling")}),$("#prices").bind("mouseout",function(){$("#prices").smoothDivScroll("startAutoScrolling")})}})}}function addCommas(a){a+="",x=a.split("."),x1=x[0],x2=x.length>1?"."+x[1]:"";for(var b=/(\d+)(\d{3})/;b.test(x1);)x1=x1.replace(b,"$1,$2");return x1+x2}function OffersExercisedListener(a,b){remote?remote=remote:(remote=new Remote({servers:[{host:"s-west.ripple.com",port:443},{host:"s-east.ripple.com",port:443}]}),remote.connect()),"function"==typeof a&&(b=a,a={}),this.displayFn=b,this.txProcessor,this.interval,this.finishedInterval=function(){this.displayFn(formatReduceResult(this.storedResults),!0);var a=moment.utc(this.storedResults.startTime).add(this.viewOpts.timeIncrement,this.viewOpts.timeMultiple);this.resetStored([a.format()])},this.updateViewOpts(a)}function parseViewOpts(a){return a.openTime=moment.utc(a.openTime).toArray().slice(0,6),a.timeIncrement&&(a.reduce=!0,a.timeMultiple||(a.timeMultiple=1)),a.base&&a.counter?a.base&&""==a.base.issuer?delete a.base.issuer:a.counter&&""==a.counter.issuer&&delete a.counter.issuer:a.reduce=!1,a}function createTransactionProcessor(a,b){function c(c){var d={close_time_timestamp:(new Date).getTime(),transactions:[c.transaction]};d.transactions[0].metaData=c.meta,offersExercisedMap(d,function(c,d){(!a.counter||a.counter.currency===c[0][0]&&a.counter.issuer===c[0][1]||a.counter.currency===c[1][0]&&a.counter.issuer===c[1][1])&&(!a.base||a.base.currency===c[0][0]&&a.base.issuer===c[0][1]||a.base.currency===c[1][0]&&a.base.issuer===c[1][1])&&(a.base.currency===c[1][0]&&a.base.issuer===c[1][1]&&(c=[c[1],c[0]],d=[d[1],d[0],1/d[2],d[3],d[4],d[5],d[6]]),b(a.reduce?offersExercisedReduce([d],!1):{key:c,value:d}))})}return c}function offersExercisedMap(a,b){var c=new Date(a.close_time_timestamp),d=Math.round(c.getTime());a.transactions.forEach(function(a){"tesSUCCESS"===a.metaData.TransactionResult&&("Payment"===a.TransactionType||"OfferCreate"===a.TransactionType)&&a.metaData.AffectedNodes.forEach(function(c){var e=c.ModifiedNode||c.DeletedNode;if(e&&"Offer"===e.LedgerEntryType&&e.PreviousFields&&e.PreviousFields.TakerPays&&e.PreviousFields.TakerGets){(e.FinalFields||e.NewFields)&&"string"==typeof(e.FinalFields||e.NewFields).BookDirectory&&(e.exchange_rate=Amount.from_quality((e.FinalFields||e.NewFields).BookDirectory).to_json().value);var f,g,h,i,j=e.exchange_rate,k=e.FinalFields.Account;"object"==typeof e.PreviousFields.TakerPays?(f=[e.PreviousFields.TakerPays.currency,e.PreviousFields.TakerPays.issuer],g=e.PreviousFields.TakerPays.value-e.FinalFields.TakerPays.value):(f=["XRP"],g=(e.PreviousFields.TakerPays-e.FinalFields.TakerPays)/1e6,j/=1e6),"object"==typeof e.PreviousFields.TakerGets?(h=[e.PreviousFields.TakerGets.currency,e.PreviousFields.TakerGets.issuer],i=e.PreviousFields.TakerGets.value-e.FinalFields.TakerGets.value):(h=["XRP"],i=(e.PreviousFields.TakerGets-e.FinalFields.TakerGets)/1e6,j=1e6*j),b([f,h],[g,i,1/j,k,a.Account,d,a.hash])}})})}function offersExercisedReduce(a,b){var c;if(b)return c=a[0],"string"==typeof c.openTime&&(c.openTime=moment.utc(c.openTime).unix()),"string"==typeof c.closeTime&&(c.closeTime=moment.utc(c.closeTime).unix()),a.forEach(function(a,b){0!==b&&("string"==typeof a.openTime&&(a.openTime=moment.utc(a.openTime).unix()),"string"==typeof a.closeTime&&(a.closeTime=moment.utc(a.closeTime).unix()),(!c.open||a.openTimec.high)&&(c.high=a.high),(!c.low||a.lowc.high&&(c.high=d),dh;h++)for(e in g[h])f=g[h][e],g[h].hasOwnProperty(e)&&f!==b&&(c[e]=a.isPlainObject(f)?a.isPlainObject(c[e])?a.widget.extend({},c[e],f):a.widget.extend({},f):f);return c},a.widget.bridge=function(c,e){var f=e.prototype.widgetFullName||c;a.fn[c]=function(g){var h="string"==typeof g,i=d.call(arguments,1),j=this;return g=!h&&i.length?a.widget.extend.apply(null,[g].concat(i)):g,this.each(h?function(){var d,e=a.data(this,f);return e?a.isFunction(e[g])&&"_"!==g.charAt(0)?(d=e[g].apply(e,i),d!==e&&d!==b?(j=d&&d.jquery?j.pushStack(d.get()):d,!1):b):a.error("no such method '"+g+"' for "+c+" widget instance"):a.error("cannot call methods on "+c+" prior to initialization; attempted to call method '"+g+"'")}:function(){var b=a.data(this,f);b?b.option(g||{})._init():a.data(this,f,new e(g,this))}),j}},a.Widget=function(){},a.Widget._childConstructors=[],a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{disabled:!1,create:null},_createWidget:function(b,d){d=a(d||this.defaultElement||this)[0],this.element=a(d),this.uuid=c++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=a.widget.extend({},this.options,this._getCreateOptions(),b),this.bindings=a(),this.hoverable=a(),this.focusable=a(),d!==this&&(a.data(d,this.widgetFullName,this),this._on(!0,this.element,{remove:function(a){a.target===d&&this.destroy()}}),this.document=a(d.style?d.ownerDocument:d.document||d),this.window=a(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:a.noop,_getCreateEventData:a.noop,_create:a.noop,_init:a.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(a.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:a.noop,widget:function(){return this.element},option:function(c,d){var e,f,g,h=c;if(0===arguments.length)return a.widget.extend({},this.options);if("string"==typeof c)if(h={},e=c.split("."),c=e.shift(),e.length){for(f=h[c]=a.widget.extend({},this.options[c]),g=0;e.length-1>g;g++)f[e[g]]=f[e[g]]||{},f=f[e[g]];if(c=e.pop(),d===b)return f[c]===b?null:f[c];f[c]=d}else{if(d===b)return this.options[c]===b?null:this.options[c];h[c]=d}return this._setOptions(h),this},_setOptions:function(a){var b;for(b in a)this._setOption(b,a[b]);return this},_setOption:function(a,b){return this.options[a]=b,"disabled"===a&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!b).attr("aria-disabled",b),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(c,d,e){var f,g=this;"boolean"!=typeof c&&(e=d,d=c,c=!1),e?(d=f=a(d),this.bindings=this.bindings.add(d)):(e=d,d=this.element,f=this.widget()),a.each(e,function(e,h){function i(){return c||g.options.disabled!==!0&&!a(this).hasClass("ui-state-disabled")?("string"==typeof h?g[h]:h).apply(g,arguments):b}"string"!=typeof h&&(i.guid=h.guid=h.guid||i.guid||a.guid++);var j=e.match(/^(\w+)\s*(.*)$/),k=j[1]+g.eventNamespace,l=j[2];l?f.delegate(l,k,i):d.bind(k,i)})},_off:function(a,b){b=(b||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,a.unbind(b).undelegate(b)},_delay:function(a,b){function c(){return("string"==typeof a?d[a]:a).apply(d,arguments)}var d=this;return setTimeout(c,b||0)},_hoverable:function(b){this.hoverable=this.hoverable.add(b),this._on(b,{mouseenter:function(b){a(b.currentTarget).addClass("ui-state-hover")},mouseleave:function(b){a(b.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(b){this.focusable=this.focusable.add(b),this._on(b,{focusin:function(b){a(b.currentTarget).addClass("ui-state-focus")},focusout:function(b){a(b.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(b,c,d){var e,f,g=this.options[b];if(d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.apply(this.element[0],[c].concat(d))===!1||c.isDefaultPrevented())}},a.each({show:"fadeIn",hide:"fadeOut"},function(b,c){a.Widget.prototype["_"+b]=function(d,e,f){"string"==typeof e&&(e={effect:e});var g,h=e?e===!0||"number"==typeof e?c:e.effect||c:b;e=e||{},"number"==typeof e&&(e={duration:e}),g=!a.isEmptyObject(e),e.complete=f,e.delay&&d.delay(e.delay),g&&a.effects&&a.effects.effect[h]?d[b](e):h!==b&&d[h]?d[h](e.duration,e.easing,f):d.queue(function(c){a(this)[b](),f&&f.call(d[0]),c()})}})}(jQuery),function(a,b){var c="ui-effects-";a.effects={effect:{}},function(a,b){function c(a,b,c){var d=l[b.type]||{};return null==a?c||!b.def?null:b.def:(a=d.floor?~~a:parseFloat(a),isNaN(a)?b.def:d.mod?(a+d.mod)%d.mod:0>a?0:a>d.max?d.max:a)}function d(c){var d=j(),e=d._rgba=[];return c=c.toLowerCase(),o(i,function(a,f){var g,h=f.re.exec(c),i=h&&f.parse(h),j=f.space||"rgba";return i?(g=d[j](i),d[k[j].cache]=g[k[j].cache],e=d._rgba=g._rgba,!1):b}),e.length?("0,0,0,0"===e.join()&&a.extend(e,f.transparent),d):f[c]}function e(a,b,c){return c=(c+1)%1,1>6*c?a+6*(b-a)*c:1>2*c?b:2>3*c?a+6*(b-a)*(2/3-c):a}var f,g="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",h=/^([\-+])=\s*(\d+\.?\d*)/,i=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(a){return[a[1],a[2],a[3],a[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],a[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(a){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(a){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(a){return[a[1],a[2]/100,a[3]/100,a[4]]}}],j=a.Color=function(b,c,d,e){return new a.Color.fn.parse(b,c,d,e)},k={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},l={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},m=j.support={},n=a("

")[0],o=a.each;n.style.cssText="background-color:rgba(1,1,1,.5)",m.rgba=n.style.backgroundColor.indexOf("rgba")>-1,o(k,function(a,b){b.cache="_"+a,b.props.alpha={idx:3,type:"percent",def:1}}),j.fn=a.extend(j.prototype,{parse:function(e,g,h,i){if(e===b)return this._rgba=[null,null,null,null],this;(e.jquery||e.nodeType)&&(e=a(e).css(g),g=b);var l=this,m=a.type(e),n=this._rgba=[];return g!==b&&(e=[e,g,h,i],m="array"),"string"===m?this.parse(d(e)||f._default):"array"===m?(o(k.rgba.props,function(a,b){n[b.idx]=c(e[b.idx],b)}),this):"object"===m?(e instanceof j?o(k,function(a,b){e[b.cache]&&(l[b.cache]=e[b.cache].slice())}):o(k,function(b,d){var f=d.cache;o(d.props,function(a,b){if(!l[f]&&d.to){if("alpha"===a||null==e[a])return;l[f]=d.to(l._rgba)}l[f][b.idx]=c(e[a],b,!0)}),l[f]&&0>a.inArray(null,l[f].slice(0,3))&&(l[f][3]=1,d.from&&(l._rgba=d.from(l[f])))}),this):b},is:function(a){var c=j(a),d=!0,e=this;return o(k,function(a,f){var g,h=c[f.cache];return h&&(g=e[f.cache]||f.to&&f.to(e._rgba)||[],o(f.props,function(a,c){return null!=h[c.idx]?d=h[c.idx]===g[c.idx]:b})),d}),d},_space:function(){var a=[],b=this;return o(k,function(c,d){b[d.cache]&&a.push(c)}),a.pop()},transition:function(a,b){var d=j(a),e=d._space(),f=k[e],g=0===this.alpha()?j("transparent"):this,h=g[f.cache]||f.to(g._rgba),i=h.slice();return d=d[f.cache],o(f.props,function(a,e){var f=e.idx,g=h[f],j=d[f],k=l[e.type]||{};null!==j&&(null===g?i[f]=j:(k.mod&&(j-g>k.mod/2?g+=k.mod:g-j>k.mod/2&&(g-=k.mod)),i[f]=c((j-g)*b+g,e)))}),this[e](i)},blend:function(b){if(1===this._rgba[3])return this;var c=this._rgba.slice(),d=c.pop(),e=j(b)._rgba;return j(a.map(c,function(a,b){return(1-d)*e[b]+d*a}))},toRgbaString:function(){var b="rgba(",c=a.map(this._rgba,function(a,b){return null==a?b>2?1:0:a});return 1===c[3]&&(c.pop(),b="rgb("),b+c.join()+")"},toHslaString:function(){var b="hsla(",c=a.map(this.hsla(),function(a,b){return null==a&&(a=b>2?1:0),b&&3>b&&(a=Math.round(100*a)+"%"),a});return 1===c[3]&&(c.pop(),b="hsl("),b+c.join()+")"},toHexString:function(b){var c=this._rgba.slice(),d=c.pop();return b&&c.push(~~(255*d)),"#"+a.map(c,function(a){return a=(a||0).toString(16),1===a.length?"0"+a:a}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),j.fn.parse.prototype=j.fn,k.hsla.to=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var b,c,d=a[0]/255,e=a[1]/255,f=a[2]/255,g=a[3],h=Math.max(d,e,f),i=Math.min(d,e,f),j=h-i,k=h+i,l=.5*k;return b=i===h?0:d===h?60*(e-f)/j+360:e===h?60*(f-d)/j+120:60*(d-e)/j+240,c=0===j?0:.5>=l?j/k:j/(2-k),[Math.round(b)%360,c,l,null==g?1:g]},k.hsla.from=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var b=a[0]/360,c=a[1],d=a[2],f=a[3],g=.5>=d?d*(1+c):d+c-d*c,h=2*d-g;return[Math.round(255*e(h,g,b+1/3)),Math.round(255*e(h,g,b)),Math.round(255*e(h,g,b-1/3)),f]},o(k,function(d,e){var f=e.props,g=e.cache,i=e.to,k=e.from;j.fn[d]=function(d){if(i&&!this[g]&&(this[g]=i(this._rgba)),d===b)return this[g].slice();var e,h=a.type(d),l="array"===h||"object"===h?d:arguments,m=this[g].slice();return o(f,function(a,b){var d=l["object"===h?a:b.idx];null==d&&(d=m[b.idx]),m[b.idx]=c(d,b)}),k?(e=j(k(m)),e[g]=m,e):j(m)},o(f,function(b,c){j.fn[b]||(j.fn[b]=function(e){var f,g=a.type(e),i="alpha"===b?this._hsla?"hsla":"rgba":d,j=this[i](),k=j[c.idx];return"undefined"===g?k:("function"===g&&(e=e.call(this,k),g=a.type(e)),null==e&&c.empty?this:("string"===g&&(f=h.exec(e),f&&(e=k+parseFloat(f[2])*("+"===f[1]?1:-1))),j[c.idx]=e,this[i](j)))})})}),j.hook=function(b){var c=b.split(" ");o(c,function(b,c){a.cssHooks[c]={set:function(b,e){var f,g,h="";if("transparent"!==e&&("string"!==a.type(e)||(f=d(e)))){if(e=j(f||e),!m.rgba&&1!==e._rgba[3]){for(g="backgroundColor"===c?b.parentNode:b;(""===h||"transparent"===h)&&g&&g.style;)try{h=a.css(g,"backgroundColor"),g=g.parentNode}catch(i){}e=e.blend(h&&"transparent"!==h?h:"_default")}e=e.toRgbaString()}try{b.style[c]=e}catch(i){}}},a.fx.step[c]=function(b){b.colorInit||(b.start=j(b.elem,c),b.end=j(b.end),b.colorInit=!0),a.cssHooks[c].set(b.elem,b.start.transition(b.end,b.pos))}})},j.hook(g),a.cssHooks.borderColor={expand:function(a){var b={};return o(["Top","Right","Bottom","Left"],function(c,d){b["border"+d+"Color"]=a}),b}},f=a.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function c(b){var c,d,e=b.ownerDocument.defaultView?b.ownerDocument.defaultView.getComputedStyle(b,null):b.currentStyle,f={};if(e&&e.length&&e[0]&&e[e[0]])for(d=e.length;d--;)c=e[d],"string"==typeof e[c]&&(f[a.camelCase(c)]=e[c]);else for(c in e)"string"==typeof e[c]&&(f[c]=e[c]);return f}function d(b,c){var d,e,g={};for(d in c)e=c[d],b[d]!==e&&(f[d]||(a.fx.step[d]||!isNaN(parseFloat(e)))&&(g[d]=e));return g}var e=["add","remove","toggle"],f={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(b,c){a.fx.step[c]=function(a){("none"!==a.end&&!a.setAttr||1===a.pos&&!a.setAttr)&&(jQuery.style(a.elem,c,a.end),a.setAttr=!0)}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a.effects.animateClass=function(b,f,g,h){var i=a.speed(f,g,h);return this.queue(function(){var f,g=a(this),h=g.attr("class")||"",j=i.children?g.find("*").addBack():g;j=j.map(function(){var b=a(this);return{el:b,start:c(this)}}),f=function(){a.each(e,function(a,c){b[c]&&g[c+"Class"](b[c])})},f(),j=j.map(function(){return this.end=c(this.el[0]),this.diff=d(this.start,this.end),this}),g.attr("class",h),j=j.map(function(){var b=this,c=a.Deferred(),d=a.extend({},i,{queue:!1,complete:function(){c.resolve(b)}});return this.el.animate(this.diff,d),c.promise()}),a.when.apply(a,j.get()).done(function(){f(),a.each(arguments,function(){var b=this.el;a.each(this.diff,function(a){b.css(a,"")})}),i.complete.call(g[0])})})},a.fn.extend({addClass:function(b){return function(c,d,e,f){return d?a.effects.animateClass.call(this,{add:c},d,e,f):b.apply(this,arguments)}}(a.fn.addClass),removeClass:function(b){return function(c,d,e,f){return arguments.length>1?a.effects.animateClass.call(this,{remove:c},d,e,f):b.apply(this,arguments)}}(a.fn.removeClass),toggleClass:function(c){return function(d,e,f,g,h){return"boolean"==typeof e||e===b?f?a.effects.animateClass.call(this,e?{add:d}:{remove:d},f,g,h):c.apply(this,arguments):a.effects.animateClass.call(this,{toggle:d},e,f,g)}}(a.fn.toggleClass),switchClass:function(b,c,d,e,f){return a.effects.animateClass.call(this,{add:c,remove:b},d,e,f)}})}(),function(){function d(b,c,d,e){return a.isPlainObject(b)&&(c=b,b=b.effect),b={effect:b},null==c&&(c={}),a.isFunction(c)&&(e=c,d=null,c={}),("number"==typeof c||a.fx.speeds[c])&&(e=d,d=c,c={}),a.isFunction(d)&&(e=d,d=null),c&&a.extend(b,c),d=d||c.duration,b.duration=a.fx.off?0:"number"==typeof d?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,b.complete=e||c.complete,b}function e(b){return!b||"number"==typeof b||a.fx.speeds[b]?!0:"string"!=typeof b||a.effects.effect[b]?a.isFunction(b)?!0:"object"!=typeof b||b.effect?!1:!0:!0}a.extend(a.effects,{version:"1.10.3",save:function(a,b){for(var d=0;b.length>d;d++)null!==b[d]&&a.data(c+b[d],a[0].style[b[d]])},restore:function(a,d){var e,f;for(f=0;d.length>f;f++)null!==d[f]&&(e=a.data(c+d[f]),e===b&&(e=""),a.css(d[f],e))},setMode:function(a,b){return"toggle"===b&&(b=a.is(":hidden")?"show":"hide"),b},getBaseline:function(a,b){var c,d;switch(a[0]){case"top":c=0;break;case"middle":c=.5;break;case"bottom":c=1;break;default:c=a[0]/b.height}switch(a[1]){case"left":d=0;break;case"center":d=.5;break;case"right":d=1;break;default:d=a[1]/b.width}return{x:d,y:c}},createWrapper:function(b){if(b.parent().is(".ui-effects-wrapper"))return b.parent();var c={width:b.outerWidth(!0),height:b.outerHeight(!0),"float":b.css("float")},d=a("

").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e={width:b.width(),height:b.height()},f=document.activeElement;try{f.id}catch(g){f=document.body}return b.wrap(d),(b[0]===f||a.contains(b[0],f))&&a(f).focus(),d=b.parent(),"static"===b.css("position")?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),b.css(e),d.css(c).show()},removeWrapper:function(b){var c=document.activeElement;return b.parent().is(".ui-effects-wrapper")&&(b.parent().replaceWith(b),(b[0]===c||a.contains(b[0],c))&&a(c).focus()),b},setTransition:function(b,c,d,e){return e=e||{},a.each(c,function(a,c){var f=b.cssUnit(c);f[0]>0&&(e[c]=f[0]*d+f[1])}),e}}),a.fn.extend({effect:function(){function b(b){function d(){a.isFunction(f)&&f.call(e[0]),a.isFunction(b)&&b()}var e=a(this),f=c.complete,h=c.mode;(e.is(":hidden")?"hide"===h:"show"===h)?(e[h](),d()):g.call(e[0],c,d)}var c=d.apply(this,arguments),e=c.mode,f=c.queue,g=a.effects.effect[c.effect];return a.fx.off||!g?e?this[e](c.duration,c.complete):this.each(function(){c.complete&&c.complete.call(this)}):f===!1?this.each(b):this.queue(f||"fx",b)},show:function(a){return function(b){if(e(b))return a.apply(this,arguments);var c=d.apply(this,arguments);return c.mode="show",this.effect.call(this,c)}}(a.fn.show),hide:function(a){return function(b){if(e(b))return a.apply(this,arguments);var c=d.apply(this,arguments);return c.mode="hide",this.effect.call(this,c)}}(a.fn.hide),toggle:function(a){return function(b){if(e(b)||"boolean"==typeof b)return a.apply(this,arguments);var c=d.apply(this,arguments);return c.mode="toggle",this.effect.call(this,c)}}(a.fn.toggle),cssUnit:function(b){var c=this.css(b),d=[];return a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])}),d}})}(),function(){var b={};a.each(["Quad","Cubic","Quart","Quint","Expo"],function(a,c){b[c]=function(b){return Math.pow(b,a+2)}}),a.extend(b,{Sine:function(a){return 1-Math.cos(a*Math.PI/2)},Circ:function(a){return 1-Math.sqrt(1-a*a)},Elastic:function(a){return 0===a||1===a?a:-Math.pow(2,8*(a-1))*Math.sin((80*(a-1)-7.5)*Math.PI/15)},Back:function(a){return a*a*(3*a-2)},Bounce:function(a){for(var b,c=4;((b=Math.pow(2,--c))-1)/11>a;);return 1/Math.pow(4,3-c)-7.5625*Math.pow((3*b-2)/22-a,2)}}),a.each(b,function(b,c){a.easing["easeIn"+b]=c,a.easing["easeOut"+b]=function(a){return 1-c(1-a)},a.easing["easeInOut"+b]=function(a){return.5>a?c(2*a)/2:1-c(-2*a+2)/2}})}()}(jQuery),function(a){a.widget("thomaskahn.smoothDivScroll",{options:{scrollingHotSpotLeftClass:"scrollingHotSpotLeft",scrollingHotSpotRightClass:"scrollingHotSpotRight",scrollingHotSpotLeftVisibleClass:"scrollingHotSpotLeftVisible",scrollingHotSpotRightVisibleClass:"scrollingHotSpotRightVisible",scrollableAreaClass:"scrollableArea",scrollWrapperClass:"scrollWrapper",hiddenOnStart:!1,getContentOnLoad:{},countOnlyClass:"",startAtElementId:"",hotSpotScrolling:!0,hotSpotScrollingStep:15,hotSpotScrollingInterval:10,hotSpotMouseDownSpeedBooster:3,visibleHotSpotBackgrounds:"hover",hotSpotsVisibleTime:5e3,easingAfterHotSpotScrolling:!0,easingAfterHotSpotScrollingDistance:10,easingAfterHotSpotScrollingDuration:300,easingAfterHotSpotScrollingFunction:"easeOutQuart",mousewheelScrolling:"",mousewheelScrollingStep:70,easingAfterMouseWheelScrolling:!0,easingAfterMouseWheelScrollingDuration:300,easingAfterMouseWheelScrollingFunction:"easeOutQuart",manualContinuousScrolling:!1,autoScrollingMode:"",autoScrollingDirection:"endlessLoopRight",autoScrollingStep:1,autoScrollingInterval:10,touchScrolling:!1,scrollToAnimationDuration:1e3,scrollToEasingFunction:"easeOutQuart"},_create:function(){var b=this,c=this.options,d=this.element;d.data("scrollWrapper",d.find("."+c.scrollWrapperClass)),d.data("scrollingHotSpotRight",d.find("."+c.scrollingHotSpotRightClass)),d.data("scrollingHotSpotLeft",d.find("."+c.scrollingHotSpotLeftClass)),d.data("scrollableArea",d.find("."+c.scrollableAreaClass)),d.data("scrollingHotSpotRight").length>0&&d.data("scrollingHotSpotRight").detach(),d.data("scrollingHotSpotLeft").length>0&&d.data("scrollingHotSpotLeft").detach(),0===d.data("scrollableArea").length&&0===d.data("scrollWrapper").length?(d.wrapInner("
").wrapInner("
"),d.data("scrollWrapper",d.find("."+c.scrollWrapperClass)),d.data("scrollableArea",d.find("."+c.scrollableAreaClass))):0===d.data("scrollWrapper").length?(d.wrapInner("
"),d.data("scrollWrapper",d.find("."+c.scrollWrapperClass))):0===d.data("scrollableArea").length&&(d.data("scrollWrapper").wrapInner("
"),d.data("scrollableArea",d.find("."+c.scrollableAreaClass))),0===d.data("scrollingHotSpotRight").length?(d.prepend("
"),d.data("scrollingHotSpotRight",d.find("."+c.scrollingHotSpotRightClass))):d.prepend(d.data("scrollingHotSpotRight")),0===d.data("scrollingHotSpotLeft").length?(d.prepend("
"),d.data("scrollingHotSpotLeft",d.find("."+c.scrollingHotSpotLeftClass))):d.prepend(d.data("scrollingHotSpotLeft")),d.data("speedBooster",1),d.data("scrollXPos",0),d.data("hotSpotWidth",d.data("scrollingHotSpotLeft").innerWidth()),d.data("scrollableAreaWidth",0),d.data("startingPosition",0),d.data("rightScrollingInterval",null),d.data("leftScrollingInterval",null),d.data("autoScrollingInterval",null),d.data("hideHotSpotBackgroundsInterval",null),d.data("previousScrollLeft",0),d.data("pingPongDirection","right"),d.data("getNextElementWidth",!0),d.data("swapAt",null),d.data("startAtElementHasNotPassed",!0),d.data("swappedElement",null),d.data("originalElements",d.data("scrollableArea").children(c.countOnlyClass)),d.data("visible",!0),d.data("enabled",!0),d.data("scrollableAreaHeight",d.data("scrollableArea").height()),d.data("scrollerOffset",d.offset()),c.touchScrolling&&d.data("enabled")&&d.data("scrollWrapper").kinetic({y:!1,moved:function(){c.manualContinuousScrolling&&(d.data("scrollWrapper").scrollLeft()<=0?b._checkContinuousSwapLeft():b._checkContinuousSwapRight()),b._trigger("touchMoved")},stopped:function(){d.data("scrollWrapper").stop(!0,!1),b.stopAutoScrolling(),b._trigger("touchStopped")}}),d.data("scrollingHotSpotRight").bind("mousemove",function(b){if(c.hotSpotScrolling){var e=b.pageX-a(this).offset().left;d.data("scrollXPos",Math.round(e/d.data("hotSpotWidth")*c.hotSpotScrollingStep)),(1/0===d.data("scrollXPos")||d.data("scrollXPos")<1)&&d.data("scrollXPos",1)}}),d.data("scrollingHotSpotRight").bind("mouseover",function(){c.hotSpotScrolling&&(d.data("scrollWrapper").stop(!0,!1),b.stopAutoScrolling(),d.data("rightScrollingInterval",setInterval(function(){d.data("scrollXPos")>0&&d.data("enabled")&&(d.data("scrollWrapper").scrollLeft(d.data("scrollWrapper").scrollLeft()+d.data("scrollXPos")*d.data("speedBooster")),c.manualContinuousScrolling&&b._checkContinuousSwapRight(),b._showHideHotSpots())},c.hotSpotScrollingInterval)),b._trigger("mouseOverRightHotSpot"))}),d.data("scrollingHotSpotRight").bind("mouseout",function(){c.hotSpotScrolling&&(clearInterval(d.data("rightScrollingInterval")),d.data("scrollXPos",0),c.easingAfterHotSpotScrolling&&d.data("enabled")&&d.data("scrollWrapper").animate({scrollLeft:d.data("scrollWrapper").scrollLeft()+c.easingAfterHotSpotScrollingDistance},{duration:c.easingAfterHotSpotScrollingDuration,easing:c.easingAfterHotSpotScrollingFunction}))}),d.data("scrollingHotSpotRight").bind("mousedown",function(){d.data("speedBooster",c.hotSpotMouseDownSpeedBooster)}),a("body").bind("mouseup",function(){d.data("speedBooster",1)}),d.data("scrollingHotSpotLeft").bind("mousemove",function(b){if(c.hotSpotScrolling){var e=d.data("hotSpotWidth")-(b.pageX-a(this).offset().left);d.data("scrollXPos",Math.round(e/d.data("hotSpotWidth")*c.hotSpotScrollingStep)),(1/0===d.data("scrollXPos")||d.data("scrollXPos")<1)&&d.data("scrollXPos",1)}}),d.data("scrollingHotSpotLeft").bind("mouseover",function(){c.hotSpotScrolling&&(d.data("scrollWrapper").stop(!0,!1),b.stopAutoScrolling(),d.data("leftScrollingInterval",setInterval(function(){d.data("scrollXPos")>0&&d.data("enabled")&&(d.data("scrollWrapper").scrollLeft(d.data("scrollWrapper").scrollLeft()-d.data("scrollXPos")*d.data("speedBooster")),c.manualContinuousScrolling&&b._checkContinuousSwapLeft(),b._showHideHotSpots())},c.hotSpotScrollingInterval)),b._trigger("mouseOverLeftHotSpot"))}),d.data("scrollingHotSpotLeft").bind("mouseout",function(){c.hotSpotScrolling&&(clearInterval(d.data("leftScrollingInterval")),d.data("scrollXPos",0),c.easingAfterHotSpotScrolling&&d.data("enabled")&&d.data("scrollWrapper").animate({scrollLeft:d.data("scrollWrapper").scrollLeft()-c.easingAfterHotSpotScrollingDistance},{duration:c.easingAfterHotSpotScrollingDuration,easing:c.easingAfterHotSpotScrollingFunction}))}),d.data("scrollingHotSpotLeft").bind("mousedown",function(){d.data("speedBooster",c.hotSpotMouseDownSpeedBooster) -}),d.data("scrollableArea").mousewheel(function(a,e,f,g){if(d.data("enabled")&&c.mousewheelScrolling.length>0){var h;"vertical"===c.mousewheelScrolling&&0!==g?(b.stopAutoScrolling(),a.preventDefault(),h=Math.round(c.mousewheelScrollingStep*g*-1),b.move(h)):"horizontal"===c.mousewheelScrolling&&0!==f?(b.stopAutoScrolling(),a.preventDefault(),h=Math.round(c.mousewheelScrollingStep*f*-1),b.move(h)):"allDirections"===c.mousewheelScrolling&&(b.stopAutoScrolling(),a.preventDefault(),h=Math.round(c.mousewheelScrollingStep*e*-1),b.move(h))}}),c.mousewheelScrolling&&d.data("scrollingHotSpotLeft").add(d.data("scrollingHotSpotRight")).mousewheel(function(a){a.preventDefault()}),a(window).bind("resize",function(){b._showHideHotSpots(),b._trigger("windowResized")}),jQuery.isEmptyObject(c.getContentOnLoad)||b[c.getContentOnLoad.method](c.getContentOnLoad.content,c.getContentOnLoad.manipulationMethod,c.getContentOnLoad.addWhere,c.getContentOnLoad.filterTag),c.hiddenOnStart&&b.hide(),a(window).load(function(){if(c.hiddenOnStart||b.recalculateScrollableArea(),c.autoScrollingMode.length>0&&!c.hiddenOnStart&&b.startAutoScrolling(),"always"!==c.autoScrollingMode)switch(c.visibleHotSpotBackgrounds){case"always":b.showHotSpotBackgrounds();break;case"onStart":b.showHotSpotBackgrounds(),d.data("hideHotSpotBackgroundsInterval",setTimeout(function(){b.hideHotSpotBackgrounds(250)},c.hotSpotsVisibleTime));break;case"hover":d.mouseenter(function(a){c.hotSpotScrolling&&(a.stopPropagation(),b.showHotSpotBackgrounds(250))}).mouseleave(function(a){c.hotSpotScrolling&&(a.stopPropagation(),b.hideHotSpotBackgrounds(250))})}b._showHideHotSpots(),b._trigger("setupComplete")})},_init:function(){{var a=this;this.element}a.recalculateScrollableArea(),a._showHideHotSpots(),a._trigger("initializationComplete")},_setOption:function(a,b){var c=this,d=this.options,e=this.element;d[a]=b,"hotSpotScrolling"===a?b===!0?c._showHideHotSpots():(e.data("scrollingHotSpotLeft").hide(),e.data("scrollingHotSpotRight").hide()):"autoScrollingStep"===a||"easingAfterHotSpotScrollingDistance"===a||"easingAfterHotSpotScrollingDuration"===a||"easingAfterMouseWheelScrollingDuration"===a?d[a]=parseInt(b,10):"autoScrollingInterval"===a&&(d[a]=parseInt(b,10),c.startAutoScrolling())},showHotSpotBackgrounds:function(a){var b=this,c=this.element,d=this.options;void 0!==a?(c.data("scrollingHotSpotLeft").addClass(d.scrollingHotSpotLeftVisibleClass),c.data("scrollingHotSpotRight").addClass(d.scrollingHotSpotRightVisibleClass),c.data("scrollingHotSpotLeft").add(c.data("scrollingHotSpotRight")).fadeTo(a,.35)):(c.data("scrollingHotSpotLeft").addClass(d.scrollingHotSpotLeftVisibleClass),c.data("scrollingHotSpotLeft").removeAttr("style"),c.data("scrollingHotSpotRight").addClass(d.scrollingHotSpotRightVisibleClass),c.data("scrollingHotSpotRight").removeAttr("style")),b._showHideHotSpots()},hideHotSpotBackgrounds:function(a){var b=this.element,c=this.options;void 0!==a?(b.data("scrollingHotSpotLeft").fadeTo(a,0,function(){b.data("scrollingHotSpotLeft").removeClass(c.scrollingHotSpotLeftVisibleClass)}),b.data("scrollingHotSpotRight").fadeTo(a,0,function(){b.data("scrollingHotSpotRight").removeClass(c.scrollingHotSpotRightVisibleClass)})):(b.data("scrollingHotSpotLeft").removeClass(c.scrollingHotSpotLeftVisibleClass).removeAttr("style"),b.data("scrollingHotSpotRight").removeClass(c.scrollingHotSpotRightVisibleClass).removeAttr("style"))},_showHideHotSpots:function(){var a=this,b=this.element,c=this.options;c.hotSpotScrolling?c.hotSpotScrolling&&"always"!==c.autoScrollingMode&&null!==b.data("autoScrollingInterval")?(b.data("scrollingHotSpotLeft").show(),b.data("scrollingHotSpotRight").show()):"always"!==c.autoScrollingMode&&c.hotSpotScrolling?b.data("scrollableAreaWidth")<=b.data("scrollWrapper").innerWidth()?(b.data("scrollingHotSpotLeft").hide(),b.data("scrollingHotSpotRight").hide()):0===b.data("scrollWrapper").scrollLeft()?(b.data("scrollingHotSpotLeft").hide(),b.data("scrollingHotSpotRight").show(),a._trigger("scrollerLeftLimitReached"),clearInterval(b.data("leftScrollingInterval")),b.data("leftScrollingInterval",null)):b.data("scrollableAreaWidth")<=b.data("scrollWrapper").innerWidth()+b.data("scrollWrapper").scrollLeft()?(b.data("scrollingHotSpotLeft").show(),b.data("scrollingHotSpotRight").hide(),a._trigger("scrollerRightLimitReached"),clearInterval(b.data("rightScrollingInterval")),b.data("rightScrollingInterval",null)):(b.data("scrollingHotSpotLeft").show(),b.data("scrollingHotSpotRight").show()):(b.data("scrollingHotSpotLeft").hide(),b.data("scrollingHotSpotRight").hide()):(b.data("scrollingHotSpotLeft").hide(),b.data("scrollingHotSpotRight").hide())},_setElementScrollPosition:function(b,c){var d=this.element,e=this.options,f=0;switch(b){case"first":return d.data("scrollXPos",0),!0;case"start":return""!==e.startAtElementId&&d.data("scrollableArea").has("#"+e.startAtElementId)?(f=a("#"+e.startAtElementId).position().left,d.data("scrollXPos",f),!0):!1;case"last":return d.data("scrollXPos",d.data("scrollableAreaWidth")-d.data("scrollWrapper").innerWidth()),!0;case"number":return isNaN(c)?!1:(f=d.data("scrollableArea").children(e.countOnlyClass).eq(c-1).position().left,d.data("scrollXPos",f),!0);case"id":return c.length>0&&d.data("scrollableArea").has("#"+c)?(f=a("#"+c).position().left,d.data("scrollXPos",f),!0):!1;default:return!1}},jumpToElement:function(a,b){var c=this,d=this.element;if(d.data("enabled")&&c._setElementScrollPosition(a,b))switch(d.data("scrollWrapper").scrollLeft(d.data("scrollXPos")),c._showHideHotSpots(),a){case"first":c._trigger("jumpedToFirstElement");break;case"start":c._trigger("jumpedToStartElement");break;case"last":c._trigger("jumpedToLastElement");break;case"number":c._trigger("jumpedToElementNumber",null,{elementNumber:b});break;case"id":c._trigger("jumpedToElementId",null,{elementId:b})}},scrollToElement:function(a,b){var c=this,d=this.element,e=this.options,f=!1;d.data("enabled")&&c._setElementScrollPosition(a,b)&&(null!==d.data("autoScrollingInterval")&&(c.stopAutoScrolling(),f=!0),d.data("scrollWrapper").stop(!0,!1),d.data("scrollWrapper").animate({scrollLeft:d.data("scrollXPos")},{duration:e.scrollToAnimationDuration,easing:e.scrollToEasingFunction,complete:function(){switch(f&&c.startAutoScrolling(),c._showHideHotSpots(),a){case"first":c._trigger("scrolledToFirstElement");break;case"start":c._trigger("scrolledToStartElement");break;case"last":c._trigger("scrolledToLastElement");break;case"number":c._trigger("scrolledToElementNumber",null,{elementNumber:b});break;case"id":c._trigger("scrolledToElementId",null,{elementId:b})}}}))},move:function(a){var b=this,c=this.element,d=this.options;if(c.data("scrollWrapper").stop(!0,!0),0>a&&c.data("scrollWrapper").scrollLeft()>0||a>0&&c.data("scrollableAreaWidth")>c.data("scrollWrapper").innerWidth()+c.data("scrollWrapper").scrollLeft()||d.manualContinuousScrolling){var e=c.data("scrollableArea").width()-c.data("scrollWrapper").width(),f=c.data("scrollWrapper").scrollLeft()+a;if(0>f)for(var g=function(){c.data("swappedElement",c.data("scrollableArea").children(":last").detach()),c.data("scrollableArea").prepend(c.data("swappedElement")),c.data("scrollWrapper").scrollLeft(c.data("scrollWrapper").scrollLeft()+c.data("swappedElement").outerWidth(!0))};0>f;)g(),f=c.data("scrollableArea").children(":first").outerWidth(!0)+f;else if(f-e>0)for(var h=function(){c.data("swappedElement",c.data("scrollableArea").children(":first").detach()),c.data("scrollableArea").append(c.data("swappedElement"));var a=c.data("scrollWrapper").scrollLeft();c.data("scrollWrapper").scrollLeft(a-c.data("swappedElement").outerWidth(!0))};f-e>0;)h(),f-=c.data("scrollableArea").children(":last").outerWidth(!0);d.easingAfterMouseWheelScrolling?c.data("scrollWrapper").animate({scrollLeft:c.data("scrollWrapper").scrollLeft()+a},{duration:d.easingAfterMouseWheelScrollingDuration,easing:d.easingAfterMouseWheelFunction,complete:function(){b._showHideHotSpots(),d.manualContinuousScrolling&&(a>0?b._checkContinuousSwapRight():b._checkContinuousSwapLeft())}}):(c.data("scrollWrapper").scrollLeft(c.data("scrollWrapper").scrollLeft()+a),b._showHideHotSpots(),d.manualContinuousScrolling&&(a>0?b._checkContinuousSwapRight():b._checkContinuousSwapLeft()))}},getFlickrContent:function(b,c){var d=this,e=this.element;a.getJSON(b,function(b){function f(b,h){var n=b.media.m,o=n.replace("_m",i[h].letter),p=a("").attr("src",o);p.load(function(){if(this.height0?a("
").html(g).find(d):b:g,c){case"addFirst":f.data("scrollableArea").children(":first").before(h);break;case"addLast":f.data("scrollableArea").children(":last").after(h);break;default:f.data("scrollableArea").html(h)}e.recalculateScrollableArea(),e._showHideHotSpots(),e._trigger("addedAjaxContent")})},getHtmlContent:function(b,c,d){var e,f=this,g=this.element;switch(e=void 0!==d&&d.length>0?a("
").html(b).find(d):b,c){case"addFirst":g.data("scrollableArea").children(":first").before(e);break;case"addLast":g.data("scrollableArea").children(":last").after(e);break;default:g.data("scrollableArea").html(e)}f.recalculateScrollableArea(),f._showHideHotSpots(),f._trigger("addedHtmlContent")},recalculateScrollableArea:function(){var b=0,c=!1,d=this.options,e=this.element;e.data("scrollableArea").children(d.countOnlyClass).each(function(){d.startAtElementId.length>0&&a(this).attr("id")===d.startAtElementId&&(e.data("startingPosition",b),c=!0),b+=a(this).outerWidth(!0)}),c||e.data("startAtElementId",""),e.data("scrollableAreaWidth",b),e.data("scrollableArea").width(e.data("scrollableAreaWidth")),e.data("scrollWrapper").scrollLeft(e.data("startingPosition")),e.data("scrollXPos",e.data("startingPosition"))},getScrollerOffset:function(){var a=this.element;return a.data("scrollWrapper").scrollLeft()},stopAutoScrolling:function(){var a=this,b=this.element;null!==b.data("autoScrollingInterval")&&(clearInterval(b.data("autoScrollingInterval")),b.data("autoScrollingInterval",null),a._showHideHotSpots(),a._trigger("autoScrollingStopped"))},startAutoScrolling:function(){var a=this,b=this.element,c=this.options;b.data("enabled")&&(a._showHideHotSpots(),clearInterval(b.data("autoScrollingInterval")),b.data("autoScrollingInterval",null),a._trigger("autoScrollingStarted"),b.data("autoScrollingInterval",setInterval(function(){if(!b.data("visible")||b.data("scrollableAreaWidth")<=b.data("scrollWrapper").innerWidth())clearInterval(b.data("autoScrollingInterval")),b.data("autoScrollingInterval",null);else switch(b.data("previousScrollLeft",b.data("scrollWrapper").scrollLeft()),c.autoScrollingDirection){case"right":b.data("scrollWrapper").scrollLeft(b.data("scrollWrapper").scrollLeft()+c.autoScrollingStep),b.data("previousScrollLeft")===b.data("scrollWrapper").scrollLeft()&&(a._trigger("autoScrollingRightLimitReached"),a.stopAutoScrolling());break;case"left":b.data("scrollWrapper").scrollLeft(b.data("scrollWrapper").scrollLeft()-c.autoScrollingStep),b.data("previousScrollLeft")===b.data("scrollWrapper").scrollLeft()&&(a._trigger("autoScrollingLeftLimitReached"),a.stopAutoScrolling());break;case"backAndForth":b.data("scrollWrapper").scrollLeft("right"===b.data("pingPongDirection")?b.data("scrollWrapper").scrollLeft()+c.autoScrollingStep:b.data("scrollWrapper").scrollLeft()-c.autoScrollingStep),b.data("previousScrollLeft")===b.data("scrollWrapper").scrollLeft()&&("right"===b.data("pingPongDirection")?(b.data("pingPongDirection","left"),a._trigger("autoScrollingRightLimitReached")):(b.data("pingPongDirection","right"),a._trigger("autoScrollingLeftLimitReached")));break;case"endlessLoopRight":b.data("scrollWrapper").scrollLeft(b.data("scrollWrapper").scrollLeft()+c.autoScrollingStep),a._checkContinuousSwapRight();break;case"endlessLoopLeft":b.data("scrollWrapper").scrollLeft(b.data("scrollWrapper").scrollLeft()-c.autoScrollingStep),a._checkContinuousSwapLeft()}},c.autoScrollingInterval)))},_checkContinuousSwapRight:function(){var b=this.element,c=this.options;if(b.data("getNextElementWidth")&&(c.startAtElementId.length>0&&b.data("startAtElementHasNotPassed")?(b.data("swapAt",a("#"+c.startAtElementId).outerWidth(!0)),b.data("startAtElementHasNotPassed",!1)):b.data("swapAt",b.data("scrollableArea").children(":first").outerWidth(!0)),b.data("getNextElementWidth",!1)),b.data("swapAt")<=b.data("scrollWrapper").scrollLeft()){b.data("swappedElement",b.data("scrollableArea").children(":first").detach()),b.data("scrollableArea").append(b.data("swappedElement"));var d=b.data("scrollWrapper").scrollLeft();b.data("scrollWrapper").scrollLeft(d-b.data("swappedElement").outerWidth(!0)),b.data("getNextElementWidth",!0)}},_checkContinuousSwapLeft:function(){var b=this.element,c=this.options;b.data("getNextElementWidth")&&(c.startAtElementId.length>0&&b.data("startAtElementHasNotPassed")?(b.data("swapAt",a("#"+c.startAtElementId).outerWidth(!0)),b.data("startAtElementHasNotPassed",!1)):b.data("swapAt",b.data("scrollableArea").children(":first").outerWidth(!0)),b.data("getNextElementWidth",!1)),0===b.data("scrollWrapper").scrollLeft()&&(b.data("swappedElement",b.data("scrollableArea").children(":last").detach()),b.data("scrollableArea").prepend(b.data("swappedElement")),b.data("scrollWrapper").scrollLeft(b.data("scrollWrapper").scrollLeft()+b.data("swappedElement").outerWidth(!0)),b.data("getNextElementWidth",!0))},restoreOriginalElements:function(){var a=this,b=this.element;b.data("scrollableArea").html(b.data("originalElements")),a.recalculateScrollableArea(),a.jumpToElement("first")},show:function(){var a=this.element;a.data("visible",!0),a.show()},hide:function(){var a=this.element;a.data("visible",!1),a.hide()},enable:function(){var a=this.element;this.options.touchScrolling&&a.data("scrollWrapper").kinetic("attach"),a.data("enabled",!0)},disable:function(){var a=this,b=this.element;a.stopAutoScrolling(),clearInterval(b.data("rightScrollingInterval")),clearInterval(b.data("leftScrollingInterval")),clearInterval(b.data("hideHotSpotBackgroundsInterval")),this.options.touchScrolling&&b.data("scrollWrapper").kinetic("detach"),b.data("enabled",!1)},destroy:function(){var b=this,c=this.element;b.stopAutoScrolling(),clearInterval(c.data("rightScrollingInterval")),clearInterval(c.data("leftScrollingInterval")),clearInterval(c.data("hideHotSpotBackgroundsInterval")),c.data("scrollingHotSpotRight").unbind("mouseover"),c.data("scrollingHotSpotRight").unbind("mouseout"),c.data("scrollingHotSpotRight").unbind("mousedown"),c.data("scrollingHotSpotLeft").unbind("mouseover"),c.data("scrollingHotSpotLeft").unbind("mouseout"),c.data("scrollingHotSpotLeft").unbind("mousedown"),c.unbind("mousenter"),c.unbind("mouseleave"),c.data("scrollingHotSpotRight").remove(),c.data("scrollingHotSpotLeft").remove(),c.data("scrollableArea").remove(),c.data("scrollWrapper").remove(),c.html(c.data("originalElements")),a.Widget.prototype.destroy.apply(this,arguments)}})}(jQuery),function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function b(b){var e,f=b||window.event,g=[].slice.call(arguments,1),h=0,i=0,j=0,k=0,l=0;return b=a.event.fix(f),b.type="mousewheel",f.wheelDelta&&(h=f.wheelDelta),f.detail&&(h=-1*f.detail),j=h,void 0!==f.axis&&f.axis===f.HORIZONTAL_AXIS&&(j=0,i=-1*h),f.deltaY&&(j=-1*f.deltaY,h=j),f.deltaX&&(i=f.deltaX,h=-1*i),void 0!==f.wheelDeltaY&&(j=f.wheelDeltaY),void 0!==f.wheelDeltaX&&(i=-1*f.wheelDeltaX),k=Math.abs(h),(!c||c>k)&&(c=k),l=Math.max(Math.abs(j),Math.abs(i)),(!d||d>l)&&(d=l),e=h>0?"floor":"ceil",h=Math[e](h/c),i=Math[e](i/d),j=Math[e](j/d),g.unshift(b,h,i,j),(a.event.dispatch||a.event.handle).apply(this,g)}var c,d,e=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],f="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"];if(a.event.fixHooks)for(var g=e.length;g;)a.event.fixHooks[e[--g]]=a.event.mouseHooks;a.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=f.length;a;)this.addEventListener(f[--a],b,!1);else this.onmousewheel=b},teardown:function(){if(this.removeEventListener)for(var a=f.length;a;)this.removeEventListener(f[--a],b,!1);else this.onmousewheel=null}},a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}),ApiHandler=function(a){function b(a){var b=d3.xhr(d.url+"/"+a);return b.header("Content-Type","application/json"),b}function c(a,b,c){return a.post(JSON.stringify(b)).on("load",function(a){var b=JSON.parse(a.response);c(null,b)}).on("error",function(a){c({status:a.status,text:a.statusText,message:a.response})}),a}var d=this;d.url=a,this.offersExercised=function(a,c,d){var e=b("offersExercised");return e.post(JSON.stringify(a)).on("load",function(b){var d=JSON.parse(b.response),e=[];if(d.length>1)if(a.reduce===!1){d.shift(),e=d.map(function(a){return{time:moment.utc(a[0]),price:a[1],amount:a[2],amount2:a[3],tx:a[4],id:a[5],type:""}});for(var f=null,g=e.length;g>-1;g--)f&&f.price>e[g].price?e[g].type="bid":f&&f.price-.01&&(k.difference=0),k.difference=k.difference.toFixed(2)}function f(){k.difference>0?(k.direction="up",k.divPriceStatus.attr("src",ARROW_UP_PNG).style({height:5,width:10}),k.divPct.attr("class",null).attr("class","pct pctUp")):k.difference<0?(k.direction="down",k.divPriceStatus.attr("src",ARROW_DOWN_PNG).style({height:5,width:10}),k.divPct.attr("class",null).attr("class","pct pctDown")):(k.direction="unch",k.divPriceStatus.attr("src",BLANK_PNG).style({height:0,width:0}),k.divPct.attr("class",null).attr("class","pct"))}function g(){k.startTime=moment.utc().add(1,"h").startOf("day"),k.newUtcPrice=k.markets.apiHandler.offersExercised({base:a,counter:b,startTime:"2013-1-1",endTime:k.startTime,reduce:!1,limit:1,descending:!0},function(a){k.oldPrice=a[0].price,e(),k.divPct.text(k.difference+"%"),f()})}function h(){k.timeout=setInterval(function(){g()},864e5)}function i(a,b){var c={startTime:moment.utc(),baseVolume:0,counterVolume:0,count:0,open:0,high:0,low:0,close:0,vwap:0,openTime:null,closeTime:null},d={base:a,counter:b,timeIncrement:"minute",timeMultiple:15,incompleteApiRow:c};liveFeed=new OffersExercisedListener(d,j),listener_list.push(liveFeed)}function j(a){var b=k.price;0!==a.close&&(k.price=a.close),b>k.price?(k.div.select(".price").style("color","#a22"),k.div.select(".price").transition().delay(500).text(addCommas(parseFloat(k.price.toPrecision(6)))),k.div.select(".price").transition().delay(1500).duration(500).style("color","#3C3C3C")):b0?k.timeout=setTimeout(function(){h(),g()},n):h(),k.reqUtcPrice=k.markets.apiHandler.offersExercised({base:a,counter:b,startTime:"2013-1-1",endTime:k.startTime,reduce:!1,limit:1,descending:!0},function(c){k.oldPrice=c[0].price,k.reqCurrentPrice=k.markets.apiHandler.offersExercised({base:a,counter:b,startTime:moment.utc().subtract(1,"d"),endTime:moment.utc(),reduce:!1,limit:1,descending:!0},function(c){k.price=c[0].price,e(),k.div.on("click",function(){var c="markets/"+a.currency+(a.issuer?":"+a.issuer:"")+"/"+b.currency+(b.issuer?":"+b.issuer:"");window.open("http://www.ripplecharts.com/#/"+c,"_blank")}),k.div.on("mouseover",function(){k.div.style("opacity",1)}),k.div.on("mouseout",function(){k.div.style("opacity",.7)}),""!==a.name&&""!==b.name?k.div.append("div").attr("class","baseGateway").text(a.name+"/"):""!==a.name&&k.div.append("div").attr("class","baseGateway").text(a.name),""!==b.name&&k.div.append("div").attr("class","counterGateway").text(b.name),k.divPrice=k.div.append("div").attr("class","price priceWrapper").text(addCommas(parseFloat(k.price.toPrecision(6)))),k.div.append("div").attr("class","baseCurrency").text(a.currency+"/"),k.div.append("div").attr("class","counterCurrency").text(b.currency),k.divPct=k.div.append("div").attr("class","pct").text(k.difference+"%"),k.divPriceStatus=k.div.append("img").attr("class","priceStatus"),f(),d(),i(a,b)})})},default_markets=[{base:{currency:"XRP"},counter:{currency:"USD",issuer:"rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q"}},{base:{currency:"BTC",issuer:"rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q"},counter:{currency:"XRP"}},{base:{currency:"XRP"},counter:{currency:"KRW",issuer:"rUkMKjQitpgAM5WTGk79xpjT38DEJY283d"}},{base:{currency:"XRP"},counter:{currency:"JPY",issuer:"rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6"}},{base:{currency:"XRP"},counter:{currency:"USD",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B"}},{base:{currency:"BTC",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B"},counter:{currency:"XRP"}},{base:{currency:"XRP"},counter:{currency:"EUR",issuer:"rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q"}},{base:{currency:"XRP"},counter:{currency:"CNY",issuer:"rnuF96W4SZoCJmbHYBFoJZpR8eCaxNvekK"}}],itext="Each ticker represents the last traded price of each currency and gateway pair. The arrow and precentage represent the change in price since the start of the day (UTC). The prices and precentages update live and refresh at the start of each new day (UTC). The price flashing signifies that a trade just went through. A red flash signifies it lowering the price, whereas a green flash signifies that it raised the price.";!function(){var a,b,c,d=[];ripple.currencyDropdown=function(e){function f(a){d?d.push(function(){a.call(g)}):a.call(g)}function g(b){function d(){if(e)i.change(k.node().value);else{var b=k.node().value,c="XRP"==b?[""]:a[b].map(function(a){return a.gateway.name}),d=n.selectAll("option").data(c,String);if(d.enter().append("option").text(function(a){return a}),d.exit().remove(),"XRP"==b?n.attr("disabled","true"):n.attr("disabled",null),h){var g=l?l.name:"";d.property("selected",function(a){return a===g})}f()}}function f(){var b=n.node().value,c=k.node().value,d=a[c];if(account=d&&d.filter(function(a){return a.gateway.name===b})[0],issuer=account?account.address:null,account)for(j=0;j20736e5)return;e>0?c.timeout=setTimeout(function(){c.finishedInterval(),b(c)},e):(c.finishedInterval(),b(c))}else c.txProcessor=createTransactionProcessor(c.viewOpts,c.displayFn);remote.on("transaction_all",c.txProcessor)},"undefined"!=typeof module&&(module.exports=OffersExercisedListener);var gateways=[{name:"Bitstamp",startDate:"2013-02-22",accounts:[{address:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",currencies:["BTC","USD","EUR"],hotwallets:["rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1"]}]},{name:"RippleChina",startDate:"2013-05-21",accounts:[{address:"razqQKzJRdB4UxFPWf5NEpEG3WMkmwgcXA",currencies:["CNY"],hotwallets:["r45dBj4S3VvMMYXxr9vHX4Z4Ma6ifPMCkK"]}]},{name:"rippleCN",startDate:"2013-05-05",accounts:[{address:"rnuF96W4SZoCJmbHYBFoJZpR8eCaxNvekK",currencies:["BTC","CNY"],hotwallets:["rNaptDNfFXo1quhKwMaNPf66iwPqA8YLky","rno91tGDJeRcnM7EMXj8KG9UTyxRGMMz8s"]}]},{name:"Payroutes",startDate:"2013-04-24",accounts:[{address:"rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9",currencies:["BTC","ILS"],hotwallets:[]}]},{name:"SnapSwap",startDate:"2013-06-18",accounts:[{address:"rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",currencies:["USD","BTC","EUR","GBP"],hotwallets:["rUQTpMqAF5jhykj4FExVeXakrZpiKF6cQV","rhasPLL5GaXzBh5amQkN7Dr1SNF4Whb2ZT"]}]},{name:"The Rock Trading",startDate:"2013-05-19",accounts:[{address:"rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun",currencies:["BTC","EUR","USD"],hotwallets:["rUeFPRGNjtcbtezyQKKiDcS1eQyYLQ1gcr"]}]},{name:"WisePass",startDate:"2013-04-28",accounts:[{address:"rPDXxSZcuVL3ZWoyU82bcde3zwvmShkRyF",currencies:["BTC","LTC","USD"],hotwallets:["r9xAQUyqs53QH2PLxe7iFbNbpU2RA9QtZx"]}]},{name:"RippleUnion",startDate:"2013-03-22",accounts:[{address:"r3ADD8kXSUKHd6zTCKfnKT3zV9EZHjzp1S",currencies:["CAD"],hotwallets:[]}]},{name:"Justcoin",startDate:"2013-07-29",accounts:[{address:"rJHygWcTLVpSXkowott6kzgZU6viQSVYM1",currencies:["LTC","BTC","STR","EUR","NOK"],hotwallets:[]}]},{name:"DotPayco",startDate:"2013-06-02",accounts:[{address:"rM8199qFwspxiWNZRChZdZbGN5WrCepVP1",currencies:["CNY"],hotwallets:[]}]},{name:"Ripple Singapore",startDate:"2014-01-25",accounts:[{address:"r9Dr5xwkeLegBeXq6ujinjSBLQzQ1zQGjH",currencies:["XAU","XAG","USD","SGD"],hotwallets:[]}]},{name:"Ripple Trade Japan",startDate:"2014-02-21",accounts:[{address:"rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",currencies:["JPY"],hotwallets:[]}]},{name:"Bitso",startDate:"2014-05-22",accounts:[{address:"rG6FZ31hDHN1K5Dkbma3PSB5uVCuVVRzfn",currencies:["MXN","BTC"],hotwallets:["rHZaDC6tsGN2JWGeXhjKL6664RNCq5hu4B"]}]},{name:"Coinex",startDate:"2014-04-01",accounts:[{address:"rsP3mgGb2tcYUrxiLFiHJiQXhsziegtwBc",currencies:["NZD","BTC","USD","AUD","STR"],hotwallets:["rGAmy1w1ENyTJ9BCAEicYyRM2Yk1iWZ7Z5"],domain:"coinexgateway.com"}]},{name:"Ripple LatAm",startDate:"2014-05-01",accounts:[{address:"rP5ShE8dGBH6hHtNvRESdMceen36XFBQmh",currencies:["BRL","UYU","PEN","MXN","BTC","LTC","USD","CLP","ARS"],hotwallets:["raoFdQah8c8owTj4TPMr8o1WntnXybXCgB"],domain:"ripplelatam.com"}]},{name:"GBI",startDate:"2014-07-28",accounts:[{address:"rrh7rf1gV2pXAoqA8oYbpHd8TKv5ZQeo67",currencies:[{label:"XAU",code:"0158415500000000C1F76FF6ECB0BAC600000000"}]}],hotwallets:[],domain:"goldbullioninternational.com"},{name:"Lake BTC",startDate:"2014-05-19",accounts:[{address:"rpDMez6pm6dBve2TJsmDpv7Yae6V5Pyvy2",currencies:["USD"]}],hotwallets:["rP9gFJKqKGWdR4n6XjdsUPqmJfXkg4kSgZ"],domain:"lakebtc.com"},{name:"Ripple Fox",startDate:"2014-04-19",accounts:[{address:"rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y",currencies:["CNY","STR"]}],hotwallets:["rLSnkKvMfPD9abLoQFxQJMYyZqJcsqkL3o","rPcQaiyDxMwLr7Q9eFmn5VnVx2RN57MUmN","r3ipidkRUZWq8JYVjnSnNMf3v7o69vgLEW"],domain:"ripplefox.com"},{name:"TokyoJPY",startDate:"2014-08-18",accounts:[{address:"r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN",currencies:["JPY"]}],hotwallets:[],domain:"tokyojpy.com"},{name:"Rippex",startDate:"2014-09-13",accounts:[{address:"rfNZPxoZ5Uaamdp339U9dCLWz2T73nZJZH",currencies:["BRL"]}],hotwallets:["r37FUji17jCgCZvAUc8m5YqXquwHpgwa9q"],domain:"rippex.net"},{name:"Ripple Market Japan",startDate:"2014-08-12",accounts:[{address:"rJRi8WW24gt9X85PHAxfWNPCizMMhqUQwg",currencies:["JPY"]}],hotwallets:[],domain:"ripple-market.jp"},{name:"Pax Moneta",startDate:"2014-09-06",accounts:[{address:"rUkMKjQitpgAM5WTGk79xpjT38DEJY283d",currencies:["KRW"]}],hotwallets:["rhLSigWL4J9JBBW1JFMBvaduDkVghG7cc2"],domain:"paxmoneta.com"},{name:"Ripple Exchange Tokyo",startDate:"2014-09-25",accounts:[{address:"r9ZFPSb1TFdnJwbTMYHvVwFK1bQPUCVNfJ",currencies:["JPY"]}],hotwallets:[],domain:"ripple-exchange.tokyo"},{name:"Ripula",startDate:"2014-10-16",accounts:[{address:"rBycsjqxD8RVZP5zrrndiVtJwht7Z457A8",currencies:["GBP"]}],hotwallets:["rUR5QVHqFxRa8TSQawc1M6jKj7BvKzbHek"],domain:"ripula.co.uk"},{name:"Mr. Ripple",startDate:"2014-10-5",accounts:[{address:"rB3gZey7VWHYRqJHLoHDEJXJ2pEPNieKiS",currencies:["JPY"]}],hotwallets:[],domain:"mr-ripple.com"}]; diff --git a/src/jade/client/index.jade b/src/jade/client/index.jade index 50b3605c1..f4d2e8524 100755 --- a/src/jade/client/index.jade +++ b/src/jade/client/index.jade @@ -46,9 +46,6 @@ div#wrapper .landingWrapper(ng-class="{ 'loggedOut container-fluid': !loginStatus, 'container': loginStatus }") .landingContainer - - .tickerWrapper(ng-if="!loginStatus") - rp-ticker#ticker .loginContainer diff --git a/src/js/config-example.js b/src/js/config-example.js index d35ca9ef5..8d46d184a 100644 --- a/src/js/config-example.js +++ b/src/js/config-example.js @@ -83,44 +83,7 @@ var Options = { advanced_feature_switch: false, // Default gateway max trust amount under 'simplfied' view ie when advanced_feature_switch is false in trust/gateway page - gateway_max_limit: 1000000000, - - ticker: { - markets: [ - { - base: {currency: "XRP"}, - counter: {currency: "USD", issuer: "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q"} - }, - { - base: {currency: "XRP"}, - counter: {currency: "USD", issuer: "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B"} - }, - { - base: {currency: "BTC", issuer: "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q"}, - counter: {currency: "XRP"} - }, - { - base: {currency: "BTC", issuer: "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B"}, - counter: {currency: "XRP"} - }, - { - base: {currency: "XRP"}, - counter: {currency: "JPY", issuer: "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6"} - }, - { - base: {currency: "XRP"}, - counter: {currency: "CNY", issuer: "rnuF96W4SZoCJmbHYBFoJZpR8eCaxNvekK"} - }, - { - base: {currency: "XRP"}, - counter: {currency: "KRW", issuer: "rUkMKjQitpgAM5WTGk79xpjT38DEJY283d"} - }, - { - base: {currency: "XRP"}, - counter: {currency: "EUR", issuer: "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q"} - } - ] - } + gateway_max_limit: 1000000000 }; // Load client-side overrides diff --git a/src/js/directives/ticker.js b/src/js/directives/ticker.js deleted file mode 100644 index ed7dee36b..000000000 --- a/src/js/directives/ticker.js +++ /dev/null @@ -1,20 +0,0 @@ -var module = angular.module('app'); - -/** - * Ticker - */ -module.directive('rpTicker', function() { - return { - restrict: 'E', - link: function() { - var ticker = TickerWidget({ - url: API, // TODO not a good idea to have an API global variable - id: "ticker" - }); - - ticker.load({ - markets: Options.ticker.markets - }); - } - }; -}); diff --git a/src/js/entry/web.js b/src/js/entry/web.js index 6139a395a..6e7968b40 100644 --- a/src/js/entry/web.js +++ b/src/js/entry/web.js @@ -14,7 +14,6 @@ require('../directives/directives'); require('../directives/datalinks'); require('../directives/errors'); require('../directives/marketchart'); -require('../directives/ticker'); require('../filters/filters'); require('../filters/amountHasIssuer.js'); require('../services/globalwrappers'); From e1d47416d0e7c918edc4f13a5eaee6a9b034b04c Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 4 Mar 2015 13:14:00 -0800 Subject: [PATCH 010/321] [TASK] Landing: Set background-attachment to scroll Fixed background attachment makes the scrolling laggy --- src/less/ripple/landing.less | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/less/ripple/landing.less b/src/less/ripple/landing.less index aeb7e7d19..ec096f2ce 100644 --- a/src/less/ripple/landing.less +++ b/src/less/ripple/landing.less @@ -46,7 +46,6 @@ header.loggedOut { background: url('../../img/bg_title.png'), linear-gradient(160.57deg, rgba(67, 147, 184, 1) 0%, rgba(52, 106, 169, 1) 100%); background-repeat: no-repeat; background-position: 25% 60%; - background-attachment: fixed; z-index: 1; background-color: #4c8db8; /* Old browsers */ // height: 880px; @@ -61,7 +60,6 @@ header.loggedOut { background: url('../../img/bg_title_2x.png'), linear-gradient(160.57deg, rgba(67, 147, 184, 1) 0%, rgba(52, 106, 169, 1) 100%); background-repeat: no-repeat; background-position: 25% 60%; - background-attachment: fixed; z-index: 1; background-size: 100%; // height: 880px; From a05b787327816bf2818b7ae6b99f0b4488359502 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 4 Mar 2015 13:34:32 -0800 Subject: [PATCH 011/321] [TASK] Landing: Same background position for login/signup --- src/less/ripple/landing.less | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/less/ripple/landing.less b/src/less/ripple/landing.less index ec096f2ce..9111fdaf3 100644 --- a/src/less/ripple/landing.less +++ b/src/less/ripple/landing.less @@ -48,9 +48,8 @@ header.loggedOut { background-position: 25% 60%; z-index: 1; background-color: #4c8db8; /* Old browsers */ - // height: 880px; height: auto; - min-height: 750px; + min-height: 850px; // Pixel ratio: 2 @@ -62,9 +61,8 @@ header.loggedOut { background-position: 25% 60%; z-index: 1; background-size: 100%; - // height: 880px; height: auto; - min-height: 750px; + min-height: 850px; } .tickerWrapper { From 8a218b2492485356904cd96b3458f757a186b85c Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 4 Mar 2015 13:55:06 -0800 Subject: [PATCH 012/321] [TASK] Login: Simplify error messages --- Gruntfile.js | 2 +- src/jade/tabs/login.jade | 12 +++++------- src/js/tabs/login.js | 15 +++++---------- 3 files changed, 11 insertions(+), 18 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index da61a2fa2..20d0bc8ad 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -340,7 +340,7 @@ module.exports = function(grunt) { scriptsDebug: { files: ['src/js/**/*.js', 'src/jade/**/*.jade'], tasks: ['version', 'versionBranch', 'webpack:webDebug', 'copy'], - options: { nospawn: true, livereload: true } + options: { spawn: false, livereload: true } }, deps: { files: deps, diff --git a/src/jade/tabs/login.jade b/src/jade/tabs/login.jade index 47c41331f..bff0adb61 100644 --- a/src/jade/tabs/login.jade +++ b/src/jade/tabs/login.jade @@ -7,12 +7,12 @@ section.col-xs-12.content(ng-controller="LoginCtrl") .auth-form-wrapper.col-xs-12.col-sm-6.col-md-4 .tabAdjust .signUpWrapper - h2.signUpTop + h2.signUpTop a(href='#register', l10n-inc) Sign Up .loginWrapper h2.loginTop(l10n) Log In form(name='loginForm', ng-submit='submitForm()') - .auth-attention.text-center.spaceAdjust(ng-show="verifyStatus") + .auth-attention.text-center.spaceAdjust(ng-show="verifyStatus") .status(ng-show="'verifying' === verifyStatus", l10n) Verifying... .status(ng-show="'verified' === verifyStatus", l10n) You have successfully verified your email address. .status(ng-show="'error' === verifyStatus", l10n) Email verification token is invalid. It has either expired or has been resent. Please check your inbox for the most recent verification email. @@ -21,8 +21,7 @@ section.col-xs-12.content(ng-controller="LoginCtrl") span.loggingIn {{status}} br .backend.error(ng-repeat="message in backendMessages") - b {{message.backend}} - span.error {{message.message}} + span.error {{message}} .submit-btn-container button.btn.btn-submit.btn-block.btn-success#loginBtn(type='submit', ng-disabled="ajax_loading || loginForm.$invalid", ng-hide="twoFactor") @@ -42,7 +41,7 @@ section.col-xs-12.content(ng-controller="LoginCtrl") button.btn.btn-block.btn-primary(ng-click="") span(l10n) Account Recovery button.btn.btn-link.recover(ng-click="goto_recover()", ng-hide="showRecover", l10n) Account Recovery - + .row.action-login(ng-if="$routeParams.to") .col-xs-12.col-sm-6.col-md-6 @@ -91,8 +90,7 @@ section.col-xs-12.content(ng-controller="LoginCtrl") span {{status}} br .backend(ng-repeat="message in backendMessages") - b {{message.backend}} - span {{message.message}} + span {{message}} .row .col-xs-12 button.btn.btn-lg.btn-submit.btn-block.btn-primary(type='submit', ng-disabled="loginForm.$invalid || ajax_loading", l10n) diff --git a/src/js/tabs/login.js b/src/js/tabs/login.js index e0a8f747f..4c16e9319 100644 --- a/src/js/tabs/login.js +++ b/src/js/tabs/login.js @@ -56,7 +56,7 @@ LoginTab.prototype.angular = function (module) { //that the form will be valid if we are //only verifying via 2FA if ($scope.twoFactor && $scope.twoFactor.tokenError) { - $scope.backendMessages.push({'backend': "2FA", 'message': $scope.twoFactor.tokenError.message}); + $scope.backendMessages.push($scope.twoFactor.tokenError.message); } // Autofill fix @@ -67,11 +67,6 @@ LoginTab.prototype.angular = function (module) { }); }, 1000); -// $rootScope.$on("$blobError", function (e, err) { -// console.log("BLOB ERROR", arguments); -// $scope.backendMessages.push({'backend': err.backend, 'message': err.message}); -// }); - var updateFormFields = function(){ var username; var password; @@ -125,7 +120,7 @@ LoginTab.prototype.angular = function (module) { if (err) { $scope.status = 'Verification Falied:'; - $scope.backendMessages.push({'backend': "2FA", 'message': err.message}); + $scope.backendMessages.push(err.message); } else { var username = (""+$scope.username).trim(); @@ -185,7 +180,7 @@ LoginTab.prototype.angular = function (module) { if (err && err.twofactor) { if (err.twofactor.tokenError) { $scope.status = 'Request token:'; - $scope.backendMessages.push({'backend': "2FA", 'message': err.twofactor.tokenError.message}); + $scope.backendMessages.push(err.twofactor.tokenError.message); return; } @@ -223,7 +218,7 @@ LoginTab.prototype.angular = function (module) { } if (err.name !== "BlobError") { - $scope.backendMessages.push({'backend': "ID", 'message': err.message}); + $scope.backendMessages.push(err.message); } if (!$scope.$$phase) { @@ -249,7 +244,7 @@ LoginTab.prototype.angular = function (module) { authflow.requestToken($scope.twoFactor.blob_url, $scope.twoFactor.blob_id, force, function(tokenError, tokenResp) { if (tokenError) { $scope.status = 'token request failed...'; - $scope.backendMessages.push({'backend': "2FA", 'message': tokenError.message}); + $scope.backendMessages.push(tokenError.message); } else { $scope.status = 'token resent!'; } From 8c9de3e996b86590c6cb79c0c54f351b5b91c45d Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 4 Mar 2015 14:03:30 -0800 Subject: [PATCH 013/321] [TASK] Register: Add tabindexes for register form --- src/jade/tabs/register.jade | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/jade/tabs/register.jade b/src/jade/tabs/register.jade index dbf2b2fa5..a881ada4e 100644 --- a/src/jade/tabs/register.jade +++ b/src/jade/tabs/register.jade @@ -34,12 +34,13 @@ section.col-xs-12.content(ng-controller="RegisterCtrl") .input-group span.input-group-addon.ripple-addon ~ input.form-control#register_username( - name='register_username', type='text', ng-model="username" - required, rp-focus, autocomplete="off", maxlength="20", rpDest - rp-available-name - rp-available-name-invalid-reason="usernameInvalidReason" - rp-available-name-reserved-for="usernameReservedFor" - rp-loading="usernameLoading") + name='register_username', type='text', ng-model="username" + tabindex="1" + required, rp-focus, autocomplete="off", maxlength="20", rpDest + rp-available-name + rp-available-name-invalid-reason="usernameInvalidReason" + rp-available-name-reserved-for="usernameReservedFor" + rp-loading="usernameLoading") .errorGroup(ng-messages='registerForm.register_username.$error', ng-hide="usernameLoading") .success(ng-show='registerForm.register_username.$valid') i.fa.fa-check @@ -75,6 +76,7 @@ section.col-xs-12.content(ng-controller="RegisterCtrl") label(for='register_password', l10n) Password input.form-control#register_password( name='register_password1', type='password', autocomplete="off" + tabindex="2" ng-model="password1" rp-strong-password, required, rp-same-in-set="passwordSet") p(ng-show="strength=='weak'") @@ -87,6 +89,7 @@ section.col-xs-12.content(ng-controller="RegisterCtrl") label(for='register_password2', l10n) Confirm password input.form-control#register_password2( name='register_password2', autocomplete="off" + tabindex="3" type='password' ng-model="password2" required, rp-same-in-set="passwordSet") @@ -99,6 +102,7 @@ section.col-xs-12.content(ng-controller="RegisterCtrl") .form-group(ng-class="{'field-error': registerForm.register_email.$error.email && registerForm.register_email.$dirty}") label(for='register_email') Email input.form-control#register_email(type="email", name="register_email" + tabindex="4" placeholder="", ng-model="email", required) p(ng-show="registerForm.register_email.$error.email && registerForm.register_email.$dirty") i.fa.fa-exclamation-triangle @@ -127,7 +131,9 @@ section.col-xs-12.content(ng-controller="RegisterCtrl") .checkbox label(for='terms', l10n) I agree to the {{productName}} a(href="#tou", target="_blank", l10n-inc) Terms of Use - input#terms(type="checkbox", name="terms", ng-model="terms", required) + input#terms(type="checkbox", name="terms", ng-model="terms" + tabindex="5" + required) .see-privacy-text(l10n) | Please see our a(href="#privacypolicy", target="_blank") privacy policy @@ -135,6 +141,7 @@ section.col-xs-12.content(ng-controller="RegisterCtrl") | information about you .submit-btn-container button.btn.btn-block.btn-success(type='submit' + tabindex="6" ng-disabled='registerForm.$invalid || submitLoading') img(src="img/button-s.png", class="loader", ng-show="submitLoading") span(class="loading_text", ng-hide="oldUserBlob", l10n) Sign Up From 7f7d6156d38b94766a0959f5031e177573911d24 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 4 Mar 2015 14:23:51 -0800 Subject: [PATCH 014/321] [FIX] Landing: Padding fixes --- src/jade/tabs/recover.jade | 139 ++++++++++++++++++----------------- src/less/ripple/landing.less | 12 +-- src/less/ripple/tabs.less | 6 -- 3 files changed, 76 insertions(+), 81 deletions(-) diff --git a/src/jade/tabs/recover.jade b/src/jade/tabs/recover.jade index 1d5591e26..eac9d7a0c 100644 --- a/src/jade/tabs/recover.jade +++ b/src/jade/tabs/recover.jade @@ -1,70 +1,71 @@ section.col-xs-12.content(ng-controller="RecoverCtrl") - .col-xs-12.col-sm-4.col-md-8.hidden-xs - .welcomeText(l10n) Welcome to Ripple Trade - hr - p.heroText(l10n) Trade hundreds of assets, from XRP to crypto to gold to fiat. - .row.auth-form-container.col-xs-12.col-sm-6.col-md-4 - .auth-form-wrapper - form(name='recoverForm', ng-submit='submitForm()', ng-show="mode === 'recover'") - h2(l10n) Account Recovery - .auth-attention.text-center - .status(l10n) You can only recover your Ripple Trade account with a secret key. You will recover the account's Ripple name, contacts and other information. - .form-group - label(for='recover_username', l10n) Ripple Name - .input-group - span.input-group-addon.ripple-addon ~ - input.form-control#recover_username( - name='recover_username', type='text', ng-model="username" - required, rp-focus, autocomplete="off", maxlength="20", rpDest) - .form-group - label(for='recover_masterkey', l10n) Secret Key - input.form-control#recover_masterkey( - name='recover_masterkey', type='password', autocomplete="off" - required, ng-model="masterkey") - .error.text-center(ng-show="recoverError") - div(l10n) Unable to recover account. - div(ng-bind="recoverError") - .submit-btn-container - button.btn.btn-block.btn-success(type='submit' - ng-disabled='recoverForm.$invalid || submitLoading') - img(src="img/button-s.png", class="loader", ng-show="submitLoading") - span(ng-show="submitLoading", l10n) Loading... - span(ng-hide="submitLoading", l10n) Recover Account - form(name='setPasswordForm', ng-submit='submitForm()', ng-show="mode === 'setPassword'") - h2(l10n) Set Password - .auth-attention.text-center - .status(l10n) Your account was sucessfully recovered. Please re-encrypt your account with a new password. - .form-group - label(l10n) Ripple Name - .rippleName - span ~ - span(ng-bind="username") - .form-group(ng-class="{'field-error': 'weak' === strength || 'match' === strength}") - label(for='password1', l10n) Password - input.form-control#password1( - name='password1', type='password', autocomplete="off" - ng-model="password1" - rp-strong-password, required, rp-focus, rp-same-in-set="passwordSet") - p.error(ng-show="strength=='weak'") - span(l10n) Your password is weak. It does not contain numbers and symbols or it is too short. - p.error(ng-show="strength=='match'") - span(l10n) Your Ripple name and password cannot match. Please create a new password. - .form-group(ng-class="{'field-error': setPasswordForm.password1.$error.rpSameInSet && setPasswordForm.password2.$dirty}") - label(for='password2', l10n) Confirm password - input.form-control#password2( - name='password2', autocomplete="off", type='password' - ng-model="password2" - required, rp-same-in-set="passwordSet") - p.error(ng-show="setPasswordForm.password1.$error.rpSameInSet && setPasswordForm.password2.$dirty") - span(l10n) Passwords do not match - .error.text-center(ng-show="passwordError") - div(l10n) Unable to change your account password. - div(ng-bind="passwordError") - .submit-btn-container - button.btn.btn-block.btn-success(type='submit' - ng-disabled='setPasswordForm.$invalid || submitLoading') - img(src="img/button-s.png", class="loader", ng-show="submitLoading") - span(ng-show="submitLoading", l10n) Updating... - span(ng-hide="submitLoading", l10n) Set Password - .switch-mode-link-container.bottomText(l10n) Remember your password? - a(href='#login', l10n-inc) Log In + .row.auth-form-container + .col-xs-12.col-sm-4.col-md-8.hidden-xs + .welcomeText(l10n) Welcome to Ripple Trade + hr + p.heroText(l10n) Trade hundreds of assets, from XRP to crypto to gold to fiat. + .col-xs-12.col-sm-6.col-md-4 + .auth-form-wrapper + form(name='recoverForm', ng-submit='submitForm()', ng-show="mode === 'recover'") + h2(l10n) Account Recovery + .auth-attention.text-center + .status(l10n) You can only recover your Ripple Trade account with a secret key. You will recover the account's Ripple name, contacts and other information. + .form-group + label(for='recover_username', l10n) Ripple Name + .input-group + span.input-group-addon.ripple-addon ~ + input.form-control#recover_username( + name='recover_username', type='text', ng-model="username" + required, rp-focus, autocomplete="off", maxlength="20", rpDest) + .form-group + label(for='recover_masterkey', l10n) Secret Key + input.form-control#recover_masterkey( + name='recover_masterkey', type='password', autocomplete="off" + required, ng-model="masterkey") + .error.text-center(ng-show="recoverError") + div(l10n) Unable to recover account. + div(ng-bind="recoverError") + .submit-btn-container + button.btn.btn-block.btn-success(type='submit' + ng-disabled='recoverForm.$invalid || submitLoading') + img(src="img/button-s.png", class="loader", ng-show="submitLoading") + span(ng-show="submitLoading", l10n) Loading... + span(ng-hide="submitLoading", l10n) Recover Account + form(name='setPasswordForm', ng-submit='submitForm()', ng-show="mode === 'setPassword'") + h2(l10n) Set Password + .auth-attention.text-center + .status(l10n) Your account was sucessfully recovered. Please re-encrypt your account with a new password. + .form-group + label(l10n) Ripple Name + .rippleName + span ~ + span(ng-bind="username") + .form-group(ng-class="{'field-error': 'weak' === strength || 'match' === strength}") + label(for='password1', l10n) Password + input.form-control#password1( + name='password1', type='password', autocomplete="off" + ng-model="password1" + rp-strong-password, required, rp-focus, rp-same-in-set="passwordSet") + p.error(ng-show="strength=='weak'") + span(l10n) Your password is weak. It does not contain numbers and symbols or it is too short. + p.error(ng-show="strength=='match'") + span(l10n) Your Ripple name and password cannot match. Please create a new password. + .form-group(ng-class="{'field-error': setPasswordForm.password1.$error.rpSameInSet && setPasswordForm.password2.$dirty}") + label(for='password2', l10n) Confirm password + input.form-control#password2( + name='password2', autocomplete="off", type='password' + ng-model="password2" + required, rp-same-in-set="passwordSet") + p.error(ng-show="setPasswordForm.password1.$error.rpSameInSet && setPasswordForm.password2.$dirty") + span(l10n) Passwords do not match + .error.text-center(ng-show="passwordError") + div(l10n) Unable to change your account password. + div(ng-bind="passwordError") + .submit-btn-container + button.btn.btn-block.btn-success(type='submit' + ng-disabled='setPasswordForm.$invalid || submitLoading') + img(src="img/button-s.png", class="loader", ng-show="submitLoading") + span(ng-show="submitLoading", l10n) Updating... + span(ng-hide="submitLoading", l10n) Set Password + .switch-mode-link-container.bottomText(l10n) Remember your password? + a(href='#login', l10n-inc) Log In diff --git a/src/less/ripple/landing.less b/src/less/ripple/landing.less index 9111fdaf3..1ec509cd1 100644 --- a/src/less/ripple/landing.less +++ b/src/less/ripple/landing.less @@ -49,7 +49,7 @@ header.loggedOut { z-index: 1; background-color: #4c8db8; /* Old browsers */ height: auto; - min-height: 850px; + min-height: 820px; // Pixel ratio: 2 @@ -62,7 +62,7 @@ header.loggedOut { z-index: 1; background-size: 100%; height: auto; - min-height: 850px; + min-height: 820px; } .tickerWrapper { @@ -177,13 +177,13 @@ header.loggedOut { h2.loginTop { border-bottom: none !important; padding-bottom: 0px !important; - font-size: 40px; + font-size: 35px; } h2.signUpTop { border-bottom: none !important; padding-bottom: 0px !important; - font-size: 40px; + font-size: 35px; & a:hover { text-decoration: none; @@ -390,7 +390,7 @@ header.loggedOut { color: @midgray !important; display: block; background: rgba(0,0,0,0.2); - padding: 23px; + padding: 15px; &:hover { color: @white !important; } @@ -415,7 +415,7 @@ header.loggedOut { color: @midgray !important; display: block; background: rgba(0,0,0,0.2); - padding: 23px; + padding: 15px; &:hover { color: @white !important; } diff --git a/src/less/ripple/tabs.less b/src/less/ripple/tabs.less index 06a77d909..495a87d23 100644 --- a/src/less/ripple/tabs.less +++ b/src/less/ripple/tabs.less @@ -368,8 +368,6 @@ #t-register { .auth-form-container { - - padding-bottom: 50px; &.mode-verification { .auth-form-wrapper { .btn-cancel { @@ -428,10 +426,6 @@ } #t-login { - - .content { - padding-bottom: 50px; - } @media (max-width: @screen-xs-max) { .content { padding-top: 0; From c01eb17408909c91cd1c46db6a3ffa93c35fafda Mon Sep 17 00:00:00 2001 From: Malika Date: Wed, 4 Mar 2015 15:25:20 -0800 Subject: [PATCH 015/321] [FIX] Show partial payments correctly (RT-1974) --- src/jade/tabs/tx.jade | 4 ++-- src/js/util/jsonrewriter.js | 10 +++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/jade/tabs/tx.jade b/src/jade/tabs/tx.jade index 2af00c630..9d47291eb 100644 --- a/src/jade/tabs/tx.jade +++ b/src/jade/tabs/tx.jade @@ -38,11 +38,11 @@ section.single.ddpage.content(ng-controller="TxCtrl", ng-switch on="state") dt span(l10n) Amount received span : - dd {{transaction.Amount | rpamount}} {{transaction.Amount | rpcurrency}} + dd {{transaction.amount | rpamount}} {{transaction.amount | rpcurrency}} dt span(l10n) Currency received span : - dd {{transaction.Amount | rpcurrencyfull}} + dd {{transaction.amount | rpcurrencyfull}} hr group.clearfix dl.details.half diff --git a/src/js/util/jsonrewriter.js b/src/js/util/jsonrewriter.js index 1709dc0c1..84163100b 100644 --- a/src/js/util/jsonrewriter.js +++ b/src/js/util/jsonrewriter.js @@ -273,7 +273,15 @@ var JsonRewriter = module.exports = { if ('tesSUCCESS' === meta.TransactionResult) { switch (tx.TransactionType) { case 'Payment': - var amount = ripple.Amount.from_json(tx.Amount); + + var amount; + // If partial payment, use delivered amount + if(meta.DeliveredAmount){ + amount = ripple.Amount.from_json(meta.DeliveredAmount); + } + else { + amount = ripple.Amount.from_json(tx.Amount); + } if (tx.Account === account) { if (tx.Destination === account) { From 1aaebfeb83f6d14372467b478bde3dc0a57b03b1 Mon Sep 17 00:00:00 2001 From: Malika Date: Wed, 4 Mar 2015 16:36:02 -0800 Subject: [PATCH 016/321] [FIX] Remove ticker wrapper on landing page --- src/less/ripple/landing.less | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/less/ripple/landing.less b/src/less/ripple/landing.less index 1ec509cd1..2d4c89099 100644 --- a/src/less/ripple/landing.less +++ b/src/less/ripple/landing.less @@ -65,10 +65,6 @@ header.loggedOut { min-height: 820px; } - .tickerWrapper { - height: 60px; - background: @lightgray; - } } .loginContainer { From 4a3d91efbae672ede0e22e35643bec3d0ec00640 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 4 Mar 2015 16:44:39 -0800 Subject: [PATCH 017/321] [FIX] UI: Input loading spinner --- src/less/ripple/forms.less | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/less/ripple/forms.less b/src/less/ripple/forms.less index 9feb439cb..b57228d92 100644 --- a/src/less/ripple/forms.less +++ b/src/less/ripple/forms.less @@ -154,8 +154,8 @@ form.ng-invalid .btn-success { .inputSpinner { position: absolute; - top: 10px; - right: 10px; + top: 20px; + right: 20px; img { width: 20px; } From 5b70f8b871b42d9cdf7d4eb488dc116a73e1d921 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 4 Mar 2015 16:45:07 -0800 Subject: [PATCH 018/321] [FIX] Advanced: Server settings validators --- src/jade/tabs/advanced.jade | 19 ++++---- src/js/directives/validators.js | 61 +----------------------- src/js/entry/web.js | 1 + src/js/tabs/advanced.js | 3 +- src/js/validators/rpWebsocket.js | 80 ++++++++++++++++++++++++++++++++ 5 files changed, 94 insertions(+), 70 deletions(-) create mode 100644 src/js/validators/rpWebsocket.js diff --git a/src/jade/tabs/advanced.jade b/src/jade/tabs/advanced.jade index d3319c2ef..561f9a0cb 100644 --- a/src/jade/tabs/advanced.jade +++ b/src/jade/tabs/advanced.jade @@ -140,17 +140,20 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") .descriptor.portNumber(l10n) Port number .row.row-padding-small(ng-show="editing") .col-xs-6.col-sm-5.col-md-3.hostname-wrapper - input.form-control.host(name='host', type='text', ng-model='server.host' - rp-hostname - rp-server-loading='server_loading' - rp-spinner='{{server_loading ? 4: null}}') - .errorGroup + input.form-control.host(name='host', type='text' + ng-model='server.host', ng-model-options="{ debounce: 500 }" + rp-websocket, rp-websocket-port="{{server.port}}", rp-websocket-secure="{{server.secure}}" + rp-server-loading='server_loading' + rp-spinner='{{server_loading ? 4: null}}') + .errorGroup(ng-show="serverForm.$dirty") div(ng-messages='serverForm.host.$error') - .error(ng-message='rpHostname', l10n) Socket ip or hostname is invalid or is down. + .error(ng-message='rpWebsocket', l10n) Socket ip or hostname is invalid or is down. div(ng-messages='serverForm.port.$error') .error(ng-message='rpPortNumber', l10n) Port number is invalid. .col-xs-3.col-sm-2.col-md-2 - input.form-control.socketPort(name='port', type='text', ng-model='server.port', rp-port-number) + input.form-control.socketPort(name='port', type='text' + ng-model='server.port', ng-model-options="{ debounce: 500 }" + rp-port-number) .col-xs-3.col-md-1.col-sm-2.editable#secureSocket div.helperInput label @@ -159,7 +162,7 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") .col-xs-6.col-sm-6.col-md-3 button.btn.btn-block.btn-success.btn-xs.submit#save(type='submit' ng-disabled='serverForm.$invalid ? serverForm.$dirty: false', l10n) Save - .col-xs-3.col-sm-3.col-md-2(ng-show="hasRemove()") + .col-xs-3.col-sm-3.col-md-1(ng-show="hasRemove()") button.btn.btn-block.btn-danger.btn-xs.submit#delete(type="button", ng-click="remove()", ng-show="hasRemove()", l10n) Delete .col-xs-3.col-sm-3.col-md-1.text-center#cancel a.btn.btn-cancel.btn-block(href="", ng-click="cancel()", ng-hide="noCancel()", l10n) cancel diff --git a/src/js/directives/validators.js b/src/js/directives/validators.js index 59b38337a..c3a5868b8 100644 --- a/src/js/directives/validators.js +++ b/src/js/directives/validators.js @@ -908,7 +908,7 @@ module.directive('rpPortNumber', function () { if (!ctrl) return; var validator = function(value) { - ctrl.$setValidity('rpPortNumber', (parseInt(value,10) == value && value >= 1 && value <= 65535)); + ctrl.$setValidity('rpPortNumber', !value || (parseInt(value, 10) == value && value >= 1 && value <= 65535)); return value; }; @@ -922,65 +922,6 @@ module.directive('rpPortNumber', function () { }; }); -/** - * Hostname validator - * Check if hostname is up and is a valid websocket server - */ -module.directive('rpHostname', function($timeout, $parse) { - return { - restrict: 'A', - require: '?ngModel', - link: function (scope, elm, attr, ctrl) { - if (!ctrl) return; - - var timeoutPromise; - - function showLoading(doShow) { - if (attr.rpServerLoading) { - var getterL = $parse(attr.rpServerLoading); - getterL.assign(scope, doShow); - } - } - - var validator = function(value) { - if (timeoutPromise) $timeout.cancel(timeoutPromise); - - timeoutPromise = $timeout(function() { - showLoading(true); - - var connection = new WebSocket('wss:'+value); - - connection.onopen = function() { - connection.send('{"command": "ping"}'); - }; - connection.onerror = function(e) { - scope.$apply(function() { - ctrl.$setValidity('rpHostname', false); - showLoading(false); - }); - }; - connection.onmessage = function(e) { - var test = JSON.parse(e.data).status === 'success'; - scope.$apply(function() { - ctrl.$setValidity('rpHostname', test); - showLoading(false); - }); - }; - }, 500); - - return value; - }; - - ctrl.$formatters.push(validator); - ctrl.$parsers.unshift(validator); - - attr.$observe('rpHostname', function() { - validator(ctrl.$viewValue); - }); - } - }; -}); - /** * Used for currency selectors */ diff --git a/src/js/entry/web.js b/src/js/entry/web.js index 6e7968b40..aac25fb88 100644 --- a/src/js/entry/web.js +++ b/src/js/entry/web.js @@ -16,6 +16,7 @@ require('../directives/errors'); require('../directives/marketchart'); require('../filters/filters'); require('../filters/amountHasIssuer.js'); +require('../validators/rpWebsocket.js'); require('../services/globalwrappers'); require('../services/id'); require('../services/tracker'); diff --git a/src/js/tabs/advanced.js b/src/js/tabs/advanced.js index 7487454f7..2f25a3dd1 100644 --- a/src/js/tabs/advanced.js +++ b/src/js/tabs/advanced.js @@ -172,7 +172,7 @@ AdvancedTab.prototype.angular = function(module) // Delete the server $scope.remove = function () { - $scope.options.server.servers.splice($scope.index,1); + $scope.options.server.servers.splice($scope.index, 1); // Save in local storage if (!store.disabled) { @@ -195,7 +195,6 @@ AdvancedTab.prototype.angular = function(module) $scope.editing = false; $scope.server = $.extend({}, $scope.optionsBackup.server.servers[$scope.index]); - }; $scope.noCancel = function () { diff --git a/src/js/validators/rpWebsocket.js b/src/js/validators/rpWebsocket.js new file mode 100644 index 000000000..70eecdf58 --- /dev/null +++ b/src/js/validators/rpWebsocket.js @@ -0,0 +1,80 @@ +/** + * Websocket validator + */ + +var module = angular.module('validators'); + +module.directive('rpWebsocket', function($timeout, $parse) { + return { + restrict: 'A', + require: '?ngModel', + link: function (scope, elm, attr, ctrl) { + if (!ctrl) return; + + function showLoading(doShow) { + if (attr.rpServerLoading) { + var getterL = $parse(attr.rpServerLoading); + getterL.assign(scope, doShow); + } + } + + var validator = function(value) { + if (!value) return; + + var connection; + + showLoading(true); + + try { + connection = new WebSocket( + // something like 'wss://host:port' + (attr.rpWebsocketSecure === 'true' ? 'wss' : 'ws') + '://' + + value + + (attr.rpWebsocketPort ? ':' + attr.rpWebsocketPort : '') + ); + } catch (err) {} + + if (!connection) { + showLoading(false); + return; + } + + connection.onopen = function() { + connection.send('{"command": "ping"}'); + }; + + connection.onerror = function(e) { + scope.$apply(function() { + ctrl.$setValidity('rpWebsocket', false); + showLoading(false); + }); + }; + + connection.onmessage = function(e) { + var test = JSON.parse(e.data).status === 'success'; + scope.$apply(function() { + ctrl.$setValidity('rpWebsocket', test); + showLoading(false); + }); + }; + + return value; + }; + + ctrl.$formatters.push(validator); + ctrl.$parsers.unshift(validator); + + attr.$observe('rpWebsocket', function() { + validator(ctrl.$viewValue); + }); + + attr.$observe('rpWebsocketPort', function() { + validator(ctrl.$viewValue); + }); + + attr.$observe('rpWebsocketSecure', function() { + validator(ctrl.$viewValue); + }); + } + }; +}); \ No newline at end of file From 92cbe64dece1b08cb375ae0c95e444fbea30164f Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 4 Mar 2015 17:58:16 -0800 Subject: [PATCH 019/321] [TASK] Advanced: Default ports for server settings --- src/js/tabs/advanced.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/js/tabs/advanced.js b/src/js/tabs/advanced.js index 2f25a3dd1..88f78a123 100644 --- a/src/js/tabs/advanced.js +++ b/src/js/tabs/advanced.js @@ -205,6 +205,11 @@ AdvancedTab.prototype.angular = function(module) $scope.server.isEmptyServer = false; $scope.editing = false; + // Determine port if empty + if (!$scope.server.port) { + $scope.server.port = $scope.server.secure ? '443' : '80' + } + // Save in local storage if (!store.disabled) { store.set('ripple_settings', JSON.stringify($scope.options)); From c281d65a49bf31be9415609de27fa6fe40723260 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 4 Mar 2015 17:42:32 -0800 Subject: [PATCH 020/321] [TASK] Navbar: Add a server status icon --- src/jade/client/navbar.jade | 4 ++++ src/js/controllers/navbar.js | 22 ------------------- src/less/ripple/content.less | 7 +++++- src/less/ripple/layout.less | 12 ++++++++++ test/unit/controllers/navbarControllerSpec.js | 5 ----- 5 files changed, 22 insertions(+), 28 deletions(-) diff --git a/src/jade/client/navbar.jade b/src/jade/client/navbar.jade index 820512958..c401d11b0 100644 --- a/src/jade/client/navbar.jade +++ b/src/jade/client/navbar.jade @@ -40,6 +40,10 @@ nav.navbar(role="navigation", ng-controller="NavbarCtrl") //- li.balance(ng-repeat="balance in balances") //- span.balance {{balance.total | rpamount:{rel_precision: 2} }}  //- span.balance(rp-currency="balance.total", rp-currency-short) + li + span.serverStatus( + ng-class="{online: connected}" + rp-tooltip="{{connected ? 'Connected to the Ripple network' : 'Disconnected from the Ripple network'}}", rp-tooltip-placement="bottom") li a(href="#/account/public") ~{{userCredentials.username}} li.dropdown.notifications-dropdown(dropdown on-toggle="toggled(open)") diff --git a/src/js/controllers/navbar.js b/src/js/controllers/navbar.js index 455a8c252..21a9672c0 100644 --- a/src/js/controllers/navbar.js +++ b/src/js/controllers/navbar.js @@ -40,14 +40,6 @@ module.controller('NavbarCtrl', ['$scope', '$element', '$compile', 'rpId', } }, true); - $scope.$on('$netConnected', function (e) { - setConnectionStatus(true); - }); - - $scope.$on('$netDisconnected', function (e) { - setConnectionStatus(false); - }); - var updateNotifications = function () { if ($scope.events) { $scope.notifications = $scope.events.slice(0,10); @@ -108,25 +100,12 @@ module.controller('NavbarCtrl', ['$scope', '$element', '$compile', 'rpId', // } // }); - function setConnectionStatus(connected) { - if (connected) { - notifyEl.find('.type-offline').remove(); - } else { - notifyEl.append('
OFFLINE
'); - } - } - // A notification might have been queued already before the app was fully // initialized. If so, we display it now. if (queue.length) tick(); var notifyEl = $('
').attr('id', 'notification').insertAfter(el); - // Default to disconnected - setTimeout(function() { - setConnectionStatus($scope.connected); - }, 1000 * 3); - /** * Add the status message to the queue. */ @@ -181,7 +160,6 @@ module.controller('NavbarCtrl', ['$scope', '$element', '$compile', 'rpId', updateNotifications(); // Testing Hooks - this.setConnectionStatus = setConnectionStatus; this.enqueue = enqueue; this.tick = tick; }]); diff --git a/src/less/ripple/content.less b/src/less/ripple/content.less index d86b1ca74..a0a972d10 100644 --- a/src/less/ripple/content.less +++ b/src/less/ripple/content.less @@ -323,10 +323,15 @@ h1 { // Tooltip .tooltip { opacity: 1 !important; + min-width: 150px; + + &.bottom .tooltip-arrow { + border-bottom-color: @midgray; + } .tooltip-inner { background: @white; - border: 1px solid @lightgray; + border: 1px solid @midgray; .border-radius(3px,3px,3px,3px); color: @darkgray; padding: 8px 15px; diff --git a/src/less/ripple/layout.less b/src/less/ripple/layout.less index a7f3867c3..df19836e2 100644 --- a/src/less/ripple/layout.less +++ b/src/less/ripple/layout.less @@ -612,6 +612,18 @@ footer { } } +.serverStatus { + padding: 6px; + margin: 25px 0; + display: inline-block; + border-radius: 6px; + background: #888; + + &.online { + background: #00D200; + } +} + /* animation for png loader */ @keyframes rotating { from { diff --git a/test/unit/controllers/navbarControllerSpec.js b/test/unit/controllers/navbarControllerSpec.js index 3a9ce98c5..7889ca9ab 100644 --- a/test/unit/controllers/navbarControllerSpec.js +++ b/test/unit/controllers/navbarControllerSpec.js @@ -64,11 +64,6 @@ describe('NavbarCtrl', function(){ describe('private functions', function() { - it('should set the connection status', function (done) { - assert.isFunction(ctrl.setConnectionStatus); - run(scope,done); - }); - it('should enqueue', function (done) { assert.isFunction(ctrl.enqueue); run(scope,done); From 3e9f92f2e86b5f3ba3e7a5144073e79ac7f48263 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 5 Mar 2015 20:01:13 +0200 Subject: [PATCH 021/321] [FIX] use $validate to force model re-validation --- src/js/tabs/send.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/js/tabs/send.js b/src/js/tabs/send.js index 836c35d1d..697451ec3 100644 --- a/src/js/tabs/send.js +++ b/src/js/tabs/send.js @@ -90,10 +90,8 @@ SendTab.prototype.angular = function (module) setImmediate(function() { if ($scope.sendForm && $scope.sendForm.send_amount !== undefined) { $scope.$apply(function() { - // hack to re-validate input. remove this and uncomment $validate() when upgraded to angularjs 1.3 - $scope.sendForm.send_amount.$modelValue = ''; $scope.sendForm.send_amount.$setViewValue($scope.send.amount); - // $scope.sendForm.send_amount.$validate(); + $scope.sendForm.send_amount.$validate(); $scope.update_amount(); }); } From 1c2f69e643540fd95f566799a0259792922e04a2 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Thu, 5 Mar 2015 12:11:05 -0800 Subject: [PATCH 022/321] [TASK] Settings: Server should be secure by default --- src/js/tabs/advanced.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/tabs/advanced.js b/src/js/tabs/advanced.js index 2f25a3dd1..236959347 100644 --- a/src/js/tabs/advanced.js +++ b/src/js/tabs/advanced.js @@ -156,7 +156,7 @@ AdvancedTab.prototype.angular = function(module) $scope.addServer = function() { // Create a new server line if (!$scope.options.server.servers.isEmptyServer) - $scope.options.server.servers.push({isEmptyServer: true, secure: false}); + $scope.options.server.servers.push({isEmptyServer: true, secure: true}); // Set editing to true $scope.editing = true; From 8092c4610be864482f414df6b002dd46fd45502d Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Thu, 5 Mar 2015 15:04:42 -0800 Subject: [PATCH 023/321] [FIX] Trade: Check on empty book spread --- src/js/tabs/trade.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/js/tabs/trade.js b/src/js/tabs/trade.js index eeba5811f..3c7624f23 100644 --- a/src/js/tabs/trade.js +++ b/src/js/tabs/trade.js @@ -1388,7 +1388,10 @@ TradeTab.prototype.angular = function(module) if ($scope.book.ready) { $scope.editOrder.orderbookReady = true; - $scope.priceTicker.spread = rpamountFilter($scope.book.asks[0].price.subtract($scope.book.bids[0].price), OrderbookTickerFilterOpts); + + if ($scope.book.asks[0] && $scope.book.bids[0]) { + $scope.priceTicker.spread = rpamountFilter($scope.book.asks[0].price.subtract($scope.book.bids[0].price), OrderbookTickerFilterOpts); + } } }; From 514d2515f49d4dd7d2e050e9faa7ecee0f5b3a96 Mon Sep 17 00:00:00 2001 From: Malika Date: Thu, 5 Mar 2015 14:29:49 -0800 Subject: [PATCH 024/321] [TASK] Better loading experience when logging into RT (RT-3223) --- src/jade/client/navbar.jade | 2 +- src/jade/tabs/exchange.jade | 8 +++++--- src/jade/tabs/send.jade | 7 ++++++- src/jade/tabs/trade.jade | 4 ++-- src/jade/tabs/widgets/balances.jade | 3 --- src/js/controllers/navbar.js | 2 ++ src/less/ripple/layout.less | 10 ++++++++++ src/less/ripple/tabs.less | 21 ++------------------- 8 files changed, 28 insertions(+), 29 deletions(-) diff --git a/src/jade/client/navbar.jade b/src/jade/client/navbar.jade index c401d11b0..10ec4446f 100644 --- a/src/jade/client/navbar.jade +++ b/src/jade/client/navbar.jade @@ -45,7 +45,7 @@ nav.navbar(role="navigation", ng-controller="NavbarCtrl") ng-class="{online: connected}" rp-tooltip="{{connected ? 'Connected to the Ripple network' : 'Disconnected from the Ripple network'}}", rp-tooltip-placement="bottom") li - a(href="#/account/public") ~{{userCredentials.username}} + a(href="#/account/public", ng-hide="loading") ~{{userCredentials.username}} li.dropdown.notifications-dropdown(dropdown on-toggle="toggled(open)") a.dropdown-toggle(ng-click="read()", href dropdown-toggle) i.fa.fa-bell diff --git a/src/jade/tabs/exchange.jade b/src/jade/tabs/exchange.jade index 21e9815f8..2ddca7456 100644 --- a/src/jade/tabs/exchange.jade +++ b/src/jade/tabs/exchange.jade @@ -6,7 +6,9 @@ section.col-xs-12.content(ng-controller="ExchangeCtrl") p.literal(l10n) You have to be online to see this screen group.disconnected(ng-hide="!connected || loadState.account") - p.literal(l10n) Loading... + div(id="section_loader") + img(src="img/sections.png", class="loader") + div(class="loading_sections", l10n) Loading... div(ng-show="!loadingAccount && !account.Balance && loadState.account && connected") include banner/unfunded @@ -16,13 +18,13 @@ section.col-xs-12.content(ng-controller="ExchangeCtrl") //- Connected - .row(ng-show='connected && !debug') + .row(ng-show='connected && !debug && account.Balance') .widgets.hidden-xs.col-sm-4.col-md-4.col-lg-3 include widgets/balances .col-xs-12.col-sm-8.col-md-8.col-lg-9 .nameLine(l10n) Buy (Market Order) .instructions(l10n) Submit a buy order at the current market rate. Orders will execute instantly. - form.mode-form#exchangeForm(name="exchangeForm", ng-show='mode=="form" && account.Balance', ng-submit='exchange_prepared()') + form.mode-form#exchangeForm(name="exchangeForm", ng-show='mode=="form"', ng-submit='exchange_prepared()') .form-group label(for='amount', l10n="Receive (amount)") I want to buy .row.row-padding-small.amount diff --git a/src/jade/tabs/send.jade b/src/jade/tabs/send.jade index 1d95c39f2..f44ff9403 100644 --- a/src/jade/tabs/send.jade +++ b/src/jade/tabs/send.jade @@ -5,6 +5,11 @@ section.col-xs-12.content(ng-controller='SendCtrl') group.disconnected(ng-hide='connected') p.literal(l10n="err-you-must-be-online-to-see-this-screen", l10n) You have to be online to see this screen + group.disconnected(ng-hide="!connected || loadState.account") + div(id="section_loader") + img(src="img/sections.png", class="loader") + div(class="loading_sections", l10n) Loading... + //- Account is unfunded div(ng-show="!loadingAccount && !account.Balance && loadState.account && connected") @@ -13,7 +18,7 @@ section.col-xs-12.content(ng-controller='SendCtrl') div(ng-show='debug') This page is not available in debug mode - .row(ng-show='connected && !debug') + .row(ng-show='connected && !debug && account.Balance') .widgets.hidden-xs.col-sm-4.col-md-4.col-lg-3 include widgets/balances .col-xs-12.col-sm-8.col-md-8.col-lg-9 diff --git a/src/jade/tabs/trade.jade b/src/jade/tabs/trade.jade index 708200534..e18a59d71 100644 --- a/src/jade/tabs/trade.jade +++ b/src/jade/tabs/trade.jade @@ -18,11 +18,11 @@ section.col-xs-12.content(ng-controller="TradeCtrl") div(ng-show="!loadingAccount && !account.Balance && loadState.account && connected && !debug") include banner/unfunded - .row(ng-show='connected && !debug') + .row(ng-show='connected && !debug && loadState.offers') .widgets.hidden-xs.col-sm-4.col-md-4.col-lg-3 include widgets/balances .col-xs-12.col-sm-8.col-md-8.col-lg-9 - group(ng-show="loadState.offers") + group .settings .row .col-sm-10.col-md-9.col-lg-7.col-xs-10.currency-config diff --git a/src/jade/tabs/widgets/balances.jade b/src/jade/tabs/widgets/balances.jade index f801fdfb4..28639de37 100644 --- a/src/jade/tabs/widgets/balances.jade +++ b/src/jade/tabs/widgets/balances.jade @@ -82,8 +82,5 @@ l10n-rp-popover-content="Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, hard_precision: true} }} {{ entry.total | rpcurrency }}" ) {{ component | rpamount:{tiny_precision: 3} }} - div.widget_loader(ng-show="showWidgetBalances && !balances") - img(src="img/sections.png", class="loader") - p(ng-show="$route.current.tabName == 'balance'") a.btn.btn-cancel(href="#/trust", l10n) add gateway diff --git a/src/js/controllers/navbar.js b/src/js/controllers/navbar.js index 21a9672c0..c6e4e0474 100644 --- a/src/js/controllers/navbar.js +++ b/src/js/controllers/navbar.js @@ -15,6 +15,7 @@ module.controller('NavbarCtrl', ['$scope', '$element', '$compile', 'rpId', function ($scope, el, $compile, id, network, $location) { + $scope.loading = true; var queue = []; var tickInterval = 4000; var tickUpcoming = false; @@ -34,6 +35,7 @@ module.controller('NavbarCtrl', ['$scope', '$element', '$compile', 'rpId', // Username $scope.$watch('userCredentials', function(){ var username = $scope.userCredentials.username; + if(username) $scope.loading = false; $scope.shortUsername = null; if(username && username.length > 25) { $scope.shortUsername = username.substring(0,24)+'...'; diff --git a/src/less/ripple/layout.less b/src/less/ripple/layout.less index df19836e2..f1a9cdbb3 100644 --- a/src/less/ripple/layout.less +++ b/src/less/ripple/layout.less @@ -36,6 +36,16 @@ body { margin-top: 20px; } +#section_loader { + color: @midgray; + text-align: center; + position: absolute; + top: 50%; + left: 50%; + margin-right: -50%; + transform: translate(-50%, -50%); +} + body.loaded #version, body.loaded #versionbranch { display: none; diff --git a/src/less/ripple/tabs.less b/src/less/ripple/tabs.less index 495a87d23..79031ed14 100644 --- a/src/less/ripple/tabs.less +++ b/src/less/ripple/tabs.less @@ -906,15 +906,6 @@ } #t-history { - #section_loader { - color: @midgray; - text-align: center; - position: absolute; - top: 50%; - left: 50%; - margin-right: -50%; - transform: translate(-50%, -50%); - } @bg: @lightgray; @@ -1831,16 +1822,7 @@ } #t-trade { - #section_loader { - color: @midgray; - text-align: center; - position: absolute; - top: 50%; - left: 50%; - margin-right: -50%; - transform: translate(-50%, -50%); - z-index: 1; - } + .orderbook-wrapper { position: relative; #orderbook_loader { @@ -2451,6 +2433,7 @@ header nav.navbar .open > .dropdown-menu { } #t-exchange { + .nameLine { font: 28px OpenSansLight; From ebecc965c52510b32e1ae55d3104fbed6a707f04 Mon Sep 17 00:00:00 2001 From: Malika Date: Thu, 5 Mar 2015 16:16:06 -0800 Subject: [PATCH 025/321] [TASK] Use price currency2 per currency1 convention (RT-2730) --- src/jade/tabs/exchange.jade | 4 ++-- src/jade/tabs/send.jade | 4 ++-- src/jade/tabs/trade.jade | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/jade/tabs/exchange.jade b/src/jade/tabs/exchange.jade index 21e9815f8..de39a9d04 100644 --- a/src/jade/tabs/exchange.jade +++ b/src/jade/tabs/exchange.jade @@ -86,7 +86,7 @@ section.col-xs-12.content(ng-controller="ExchangeCtrl") rp-pretty-issuer-or-short) .ex ( span.rate {{alt.rate | rpamount:{rel_precision: 4} }} - span.pair {{exchange.currency_code}}/{{alt.amount | rpcurrency}} + span.pair {{alt.amount | rpcurrency}}/{{exchange.currency_code}} ) button.btn.btn-block.btn-success(type="submit", ng-disabled='exchangeForm.$invalid', ng-click="exchange.alt = alt", l10n) | Sell {{ alt.amount | rpcurrency }} @@ -128,7 +128,7 @@ section.col-xs-12.content(ng-controller="ExchangeCtrl") p span.literal(l10n-inc) Exchange rate: span.value {{exchange.alt.rate | rpamount:{rel_precision: 4} }} - span.currency {{exchange.currency_code}}/{{exchange.alt.amount | rpcurrency}} + span.currency {{exchange.alt.amount | rpcurrency}}/{{exchange.currency_code}} span.literal(l10n-inc) Ripple network fee: span.currency(rp-pretty-amount='networkFee') form.call-to-action(ng-submit='exchange_confirmed()') diff --git a/src/jade/tabs/send.jade b/src/jade/tabs/send.jade index 1d95c39f2..17696eb5a 100644 --- a/src/jade/tabs/send.jade +++ b/src/jade/tabs/send.jade @@ -224,7 +224,7 @@ section.col-xs-12.content(ng-controller='SendCtrl') rp-pretty-issuer-or-short) .ex ( span.rate {{alt.rate | rpamount:{rel_precision: 4} }} - span.pair {{send.currency_code}}/{{alt.amount | rpcurrency}} + span.pair {{alt.amount | rpcurrency}}/{{send.currency_code}} | ) button.btn.btn-block.btn-success(type="submit" ng-disabled='sendForm.$invalid', ng-click="send.alt = alt", l10n) @@ -272,7 +272,7 @@ section.col-xs-12.content(ng-controller='SendCtrl') p span.literal(l10n) Exchange rate: span.value {{send.alt.rate | rpamount:{rel_precision: 4} }} - span.currency {{send.currency_code}}/{{send.alt.amount | rpcurrency}} + span.currency {{send.alt.amount | rpcurrency}}/{{send.currency_code}} span.literal(l10n) Ripple network fee: span.currency(rp-pretty-amount='networkFee') form.call-to-action(name="sendUnlockForm", ng-submit="send_confirmed()") diff --git a/src/jade/tabs/trade.jade b/src/jade/tabs/trade.jade index 708200534..9c925b15d 100644 --- a/src/jade/tabs/trade.jade +++ b/src/jade/tabs/trade.jade @@ -334,7 +334,7 @@ section.col-xs-12.content(ng-controller="TradeCtrl") span.currency {{order[type].second_amount | rpcurrency}} .rate_feedback ( span.rate {{order[type].price}} - span.pair {{order[type].first_amount | rpcurrency}}/{{order[type].second_amount | rpcurrency}} + span.pair {{order[type].second_amount | rpcurrency}}/{{order[type].first_amount | rpcurrency}} | ) p.literal(l10n-inc) Are you sure? p.order-warning(ng-show="fatFingerErr", l10n) From 1c85a7d4ab9e9637e3e2d0b024c08b1171069637 Mon Sep 17 00:00:00 2001 From: Malika Date: Thu, 5 Mar 2015 16:31:43 -0800 Subject: [PATCH 026/321] [FIX] LoginRT Test --- test/selenium/tests-public/LoginRT.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/selenium/tests-public/LoginRT.json b/test/selenium/tests-public/LoginRT.json index de959cc97..e73408694 100644 --- a/test/selenium/tests-public/LoginRT.json +++ b/test/selenium/tests-public/LoginRT.json @@ -46,7 +46,7 @@ "type": "clickElement", "locator": { "type": "xpath", - "value": "//div[@class='mainnav']/div/div[2]/ul[2]/li[3]/a" + "value": "//div[@class='mainnav']/div/div[2]/ul[2]/li[4]/a" } }, { From 455b8d61550ad4f87f9fa76aab609790d459a418 Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Mon, 9 Mar 2015 12:15:28 +0400 Subject: [PATCH 027/321] [TASK] Landing page: Secret key spinner (RT-3230) --- src/less/ripple/forms.less | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/less/ripple/forms.less b/src/less/ripple/forms.less index b57228d92..9feb439cb 100644 --- a/src/less/ripple/forms.less +++ b/src/less/ripple/forms.less @@ -154,8 +154,8 @@ form.ng-invalid .btn-success { .inputSpinner { position: absolute; - top: 20px; - right: 20px; + top: 10px; + right: 10px; img { width: 20px; } From 2ce5b7d5f8051db039155f9d9eceb20caf03d10c Mon Sep 17 00:00:00 2001 From: Anna Tong Date: Mon, 9 Mar 2015 22:39:17 -0700 Subject: [PATCH 028/321] [FIX] Change fees --- src/jade/tabs/btc.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jade/tabs/btc.jade b/src/jade/tabs/btc.jade index 6e6e05661..c42f86efd 100644 --- a/src/jade/tabs/btc.jade +++ b/src/jade/tabs/btc.jade @@ -40,7 +40,7 @@ section.col-xs-12.content(ng-controller='BtcCtrl') .description(l10n) All countries .col-md-3 .title(l10n) Fees - .description(l10n) 0% + .description(l10n) 0% for deposits/withdrawals, .2% when transferring .col-md-3 .title(l10n) Rating .description(l10n) From 6a962371276f9b6898e2a82b560fe5b8d58bb008 Mon Sep 17 00:00:00 2001 From: Anna Tong Date: Mon, 9 Mar 2015 22:41:53 -0700 Subject: [PATCH 029/321] [TEXT] update SnapSwap USD fees --- src/jade/tabs/usd.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jade/tabs/usd.jade b/src/jade/tabs/usd.jade index 5379a782b..a00a29d1d 100644 --- a/src/jade/tabs/usd.jade +++ b/src/jade/tabs/usd.jade @@ -49,7 +49,7 @@ section.col-xs-12.content(ng-controller='UsdCtrl') .description(l10n) USA .col-md-3 .title(l10n) Fees - .description(l10n) $ 0.31-$ 5.00 + .description(l10n) $ 0.31-$ 5.00 for deposits/withdrawals, .2% when trasnferring .col-md-3 .title(l10n) Rating .description(l10n) From fa2d32d54f15cef144345bf38213b5cc9bfeac1c Mon Sep 17 00:00:00 2001 From: Matthew Fettig Date: Tue, 10 Mar 2015 16:36:37 -0700 Subject: [PATCH 030/321] [FIX] fixed bug in chart on resize --- deps/js/charts/pricechart.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deps/js/charts/pricechart.js b/deps/js/charts/pricechart.js index 216aff3f2..8e4fdb1ad 100644 --- a/deps/js/charts/pricechart.js +++ b/deps/js/charts/pricechart.js @@ -1,8 +1,8 @@ /** - * ripplecharts - v0.0.1 - 2015-02-03 + * ripplecharts - v0.0.1 - 2015-03-10 * http://ripple.com * * Copyright (c) 2015 Ripple Labs, Inc. - * Licensed ISC <> + * Licensed ISC <> */ -var API="https://api.ripplecharts.com/api";var DOMAIN="https://ripplecharts.com";var PRICECHART_CSS=".priceChart{position:relative;display:inline-block;width:100%;clear:both}.priceChart .background{pointer-events:all;fill:none;stroke:#999;stroke-width:1;shape-rendering:crispEdges}.priceChart .loader{position:absolute;top:50%;left:50%;width:40px;margin-top:-20px;margin-left:-20px}.priceChart .axis{fill:#999;shape-rendering:crispEdges}.priceChart .axis .title{stroke-width:1;stroke:#bbb;fill:#bbb}.priceChart .axis path,.priceChart .axis line{fill:none;stroke:#999;stroke-width:1}.priceChart .axis text{font-size:10px}.priceChart .axis.price text,.priceChart .axis.volume text{font-size:12px}.priceChart path{fill:none;stroke:#3369a8;stroke-width:2;stroke-linejoin:round}.priceChart line{stroke:#999;shape-rendering:crispEdges}.priceChart .status{position:absolute;top:30%;width:100%;color:#aaa;text-align:center}.priceChart .hover{stroke:#999;stroke-width:1}.priceChart .focus{fill:rgba(255,255,255,0.5);stroke:#999}.priceChart .focus.dark{fill:#555;stroke:none}.candlesticks rect{fill:#fff;stroke:#a22;stroke-width:1}.candlesticks line{stroke:#a22}.candlesticks .filled rect{fill:#a22}.candlesticks .up rect{stroke:#3a3}.candlesticks .up line{stroke:#3a3}.candlesticks .up.filled rect{fill:#3a3}.candlesticks line{stroke-width:1}.candlesticks line.extent{stroke-width:1}.priceChart .volumeBars rect{fill:#ddd;stroke:#bbb}.priceChart .title{font-size:15px}.priceChart .chartDetails{position:absolute;padding:1px 5px;font-size:14px;color:#333;text-align:right;background:rgba(255,255,255,0.5);border-bottom:1px solid rgba(150,150,150,0.2)}.priceChart .chartDetails span{display:inline-block;margin:0 .25em;font-size:12px;color:#999}.priceChart .chartDetails b{margin:0 .25em}.priceChart .chartDetails .date{margin-right:20px;text-align:right}.priceChart .chartDetails .high{color:#090}.priceChart .chartDetails .low{color:#900}.priceChart .chartDetails .vwap{color:#86b}.priceChart .chartDetails .volume{color:#369}.dark .priceChart .background,.dark .priceChart .hover,.dark .priceChart .axis path,.dark .priceChart .axis line{stroke:#404040}.dark .priceChart .axis text{fill:#666;stroke:#666}.dark .priceChart .volumeBars rect{opacity:.4;stroke:#888}.dark .priceChart .status{color:#666}.dark .candlesticks line{stroke-width:1;stroke:#a00}.dark .candlesticks .filled rect{fill:#a00}.dark .candlesticks .up line{stroke:#393}.dark .candlesticks .up rect{stroke:#393}.dark .candlesticks .filled.up rect{fill:#393;stroke:#393}.dark .candlesticks rect{fill:#000;stroke-width:1;stroke:#a00}.dark .priceChart .chartDetails{background:rgba(255,255,255,0.1)}.dark{color:#999;background:#000}.light{background:#fff}@keyframes rotating{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes rotating{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.loader{-webkit-animation:rotating 1s linear infinite;-moz-animation:rotating 1s linear infinite;-ms-animation:rotating 1s linear infinite;-o-animation:rotating 1s linear infinite;animation:rotating 1s linear infinite}";var LOADER_PNG="iVBORw0KGgoAAAANSUhEUgAAAC8AAAAyCAYAAADMb4LpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAoBJREFUeNrsmb1uwjAQgCHK1uyww072ssPePAAPwEBZYOABYKEd0p2xAw8Q9rCHPex0JzM9VxcpWM6vL3GixpIVifz4u8P36+7j8eg0dehlfHT/se/DxYTZj/zsw/SW78s71TpdSs0DNAOewRwlPHaCeQAhbrWBB/A5XN4yPh7AtEEARzk8gK/hMinw6k5GAI0A3CoIzsYK3h8qgYeFDdzjMmOuSvNTmC+S3xgV1b4s/JjIUU1VwI+I4JVoXun41/BBk+E9Ig5PBbxLBO9UDo+h/UcS/Fw0SaMw2K2kzdjKvA1oje3XXUHwhUxqTJkSs2i7zpgusK22AXC/TsVIHxOt14THvgD6WLtKKiLEN1x6ZYKXGWFFgAEleJnwIiP0qRfRc2wFMwTL4CHMmLzdoOwe6ClVkoU5+4C7F2B0ddBVRu8NE/LzuSguwDtTXMfkvNUVo68jElposDnd3ikS3kNvk/TeBW3ijnm8FWPcfEw4ggCHRHjUwqqmWfAJBNgKDRY1XldwNibYZnmGxz2+bkANMkElPxmsRdAJ6HDGdkS3OSbqNISDtVtcXbaCT0hzN9FiA7TFjPqTSIAB82paZMv0COEdQfbpx0TeosPUZFoPcW4NQN2Sy0Y2jDLSA78qyw3h74Tf9CqFx/1I1ca4pVRdZMmfVkInIA3wSrWOJtt+EITvtIyTwuP8dRw07i89S3YCDhnbJbLat0XFyFbiw3aOTsBGwsZ24ToapxXmdRY5BQg6Oc+WcPFFAQGe1oktwCHqzjLkO1LHkhjZWf6fdqZ1wXW8XN0DzOCGOA0MQgzWpThLjbRMwkrK4DyXG9ff6Tb5+L49GWnhW/gWvprxK8AA17MEbNrj+u8AAAAASUVORK5CYII=";function addFlowListener(a,b,c){var d="over"==b;a.addEventListener("OverflowEvent"in window?"overflowchanged":b+"flow",function(a){return a.type==b+"flow"||0==a.orient&&a.horizontalOverflow==d||1==a.orient&&a.verticalOverflow==d||2==a.orient&&a.horizontalOverflow==d&&a.verticalOverflow==d?(a.flow=b,c.call(this,a)):void 0},!1)}function fireEvent(a,b,c,d){var d=d||{},e=document.createEvent("Event");e.initEvent(b,"bubbles"in d?d.bubbles:!0,"cancelable"in d?d.cancelable:!0);for(var f in c)e[f]=c[f];a.dispatchEvent(e)}function addResizeListener(a,b){var c="onresize"in a;if(!c&&!a._resizeSensor){var d=a._resizeSensor=document.createElement("div");d.className="resize-sensor",d.innerHTML='
';var e=0,f=0,g=d.firstElementChild.firstChild,h=d.lastElementChild.firstChild,i=function(b){var c=!1,d=a.offsetWidth;e!=d&&(g.style.width=d-1+"px",h.style.width=d+1+"px",c=!0,e=d);var i=a.offsetHeight;f!=i&&(g.style.height=i-1+"px",h.style.height=i+1+"px",c=!0,f=i),c&&b.currentTarget!=a&&fireEvent(a,"resize")};"static"==getComputedStyle(a).position&&(a.style.position="relative",a._resizeSensor._resetPosition=!0),addFlowListener(d,"over",i),addFlowListener(d,"under",i),addFlowListener(d.firstElementChild,"over",i),addFlowListener(d.lastElementChild,"under",i),a.appendChild(d),i({})}var j=a._flowEvents||(a._flowEvents=[]);-1==j.indexOf(b)&&j.push(b),c||a.addEventListener("resize",b,!1),a.onresize=function(b){j.forEach(function(c){c.call(a,b)})}}function removeResizeListener(a,b){var c=a._flowEvents.indexOf(b);if(c>-1&&a._flowEvents.splice(c,1),!a._flowEvents.length){var d=a._resizeSensor;d&&(a.removeChild(d),d._resetPosition&&(a.style.position="static"),delete a._resizeSensor),"onresize"in a&&(a.onresize=null),delete a._flowEvents}a.removeEventListener("resize",b)}ApiHandler=function(a){function b(a){var b=d3.xhr(d.url+"/"+a);return b.header("Content-Type","application/json"),b}function c(a,b,c){return a.post(JSON.stringify(b)).on("load",function(a){var b=JSON.parse(a.response);c(null,b)}).on("error",function(a){c({status:a.status,text:a.statusText,message:a.response})}),a}var d=this;d.url=a,this.offersExercised=function(a,c,d){var e=b("offersExercised");return e.post(JSON.stringify(a)).on("load",function(b){var d=JSON.parse(b.response),e=[];if(d.length>1)if(a.reduce===!1){d.shift(),e=d.map(function(a){return{time:moment.utc(a[0]),price:a[1],amount:a[2],amount2:a[3],tx:a[4],id:a[5],type:""}});for(var f=null,g=e.length;g>-1;g--)f&&f.price>e[g].price?e[g].type="bid":f&&f.pricec?c=1:4>c&&(c=2);var d=n(N.currency),f=n(O.currency);F.select(".axis.price").select("text").text("Price ("+f+")"),F.select(".axis.volume").select("text").text("Volume ("+d+")"),D.datum(W,function(a){return a.startTime}).on("mousemove",i).on("touchmove",i).on("touchstart",i).on("touchend",i),r.domain([P,Q]).range([0,b.width]),t.domain([0,2*d3.max(W,function(a){return a.baseVolume})]).range([b.height,0]),"line"==R?(F.select(".line").style("opacity",1),F.select(".candlesticks").style("opacity",0),s.domain([.975*d3.min(W,function(a){return Math.min(a.close)}),1.025*d3.max(W,function(a){return Math.max(a.close)})]).range([b.height,0])):(F.select(".line").style("opacity",0),F.select(".candlesticks").style("opacity",1),s.domain([.975*d3.min(W,function(a){return Math.min(a.open,a.close,a.high,a.low)}),1.025*d3.max(W,function(a){return Math.max(a.open,a.close,a.high,a.low)})]).range([b.height,0]));var g=d3.svg.line().x(function(a){return r(a.startTime)}).y(function(a){return s(a.close)});F.select(".line").datum(W,function(a){return a.startTime}).transition().attr("d",g);var h=F.select(".candlesticks").selectAll("g").data(W,function(a){return a.startTime}),j=h.enter().append("g").attr("transform",function(a){return"translate("+r(a.startTime)+")"});j.append("line").attr("class","extent"),j.append("line").attr("class","high"),j.append("line").attr("class","low"),j.append("rect");var k=h.classed("up",function(a,b){if(b>0){var c=W[b-1];return c.close<=a.close}return a.open<=a.close}).classed("filled",function(a){return a.close<=a.open}).transition().attr("transform",function(a){return"translate("+r(a.startTime)+")"});k.select(".extent").attr("y1",function(a){return s(a.low)}).attr("y2",function(a){return s(a.high)}),k.select("rect").attr("x",-c/2).attr("width",c).attr("y",function(a){return s(Math.max(a.open,a.close))}).attr("height",function(a){return Math.abs(s(a.open)-s(a.close))+.5}),k.select(".high").attr("x1",-c/4).attr("x2",c/4).attr("y1",function(a){return s(a.high)}).attr("y2",function(a){return s(a.high)}),k.select(".low").attr("x1",-c/4).attr("x2",c/4).attr("y1",function(a){return s(a.low)}).attr("y2",function(a){return s(a.low)}),d3.transition(h.exit()).attr("transform",function(a){return"translate("+r(a.startTime)+")"}).style("opacity",1e-6).remove();var l=F.select(".volumeBars").selectAll("rect").data(W,function(a){return a.startTime});l.enter().append("rect"),l.data(W,function(a){return a.startTime}).transition().attr("x",function(a){return r(a.startTime)-c/3}).attr("y",function(a){return t(a.baseVolume)}).attr("width",c/1.2).attr("height",function(a){return b.height-t(a.baseVolume)}).style("fill","url(#gradient)"),l.exit().remove(),F.select(".x.axis").attr("transform","translate(0,"+s.range()[0]+")").call(u),F.select(".price.axis").attr("transform","translate("+r.range()[1]+", 0)").call(w),F.select(".volume.axis").call(v),p||(D.transition().duration(300).style("opacity",1),M.transition().duration(300).style("opacity",0))}function i(){var c,d,e,f,g,h=y.style("zoom")||1,i=d3.mouse(this)[0]/h,j=Math.max(0,Math.min(b.width+b.margin.left,i)),l=d3.bisect(W.map(function(a){return a.startTime}),r.invert(j-b.margin.left)),o=W[l];if(o){m?(c=m(o.open,O.currency),d=m(o.high,O.currency),e=m(o.low,O.currency),f=m(o.close,O.currency),a=m(o.vwap,O.currency),g=m(o.baseVolume,N.currency)):(c=o.open.toFixed(4),d=o.high.toFixed(4),e=o.low.toFixed(4),f=o.close.toFixed(4),f=o.vwap.toFixed(4),g=o.baseVolume.toFixed(2));var p=n(N.currency),q=z.select(".chartDetails");q.html(""+k(o.startTime.local(),S)+"O:"+c+"H:"+d+"L:"+e+"C:"+f+"VWAP:"+a+"Vol:"+g+" "+p+"").style("opacity",1),H.transition().duration(50).attr("transform","translate("+r(o.startTime)+")"),J.transition().duration(50).attr("transform","translate("+r(o.startTime)+","+s(o.close)+")"),I.transition().duration(50).attr("x1",r(o.startTime)).attr("x2",b.width).attr("y1",s(o.close)).attr("y2",s(o.close)),H.style("opacity",1),I.style("opacity",1),J.style("opacity",1)}}function j(a){var b;if(a||(a=moment().utc()),a.subtract("milliseconds",a.milliseconds()),"se"==S)b=a.subtract("seconds",a.seconds()%U);else if("mi"==S)b=a.subtract({seconds:a.seconds(),minutes:a.minutes()%U});else if("ho"==S)b=a.subtract({seconds:a.seconds(),minutes:a.minutes(),hours:a.hours()%U});else if("da"==S){var c,d;1===U?c=0:(d=a.diff(moment.utc([2013,0,1]),"hours")/24,c=0>d?U-(0-Math.floor(d))%U:Math.floor(d)%U),b=a.subtract({seconds:a.seconds(),minutes:a.minutes(),hours:a.hours(),days:c})}else"we"==S?b=a.subtract({seconds:a.seconds(),minutes:a.minutes(),hours:a.hours(),days:a.day(),weeks:a.isoWeek()%U}):"mo"==S&&(b=a.subtract({seconds:a.seconds(),minutes:a.minutes(),hours:a.hours(),days:a.date()-1,months:a.months()%U}));return b}function k(a,b){return"mi"==b?a.format("MMMM D")+" · "+a.format("hh:mm A")+" "+l(a):"ho"==b?a.format("MMMM D")+" · "+a.format("hh:mm A")+" "+l(a):"da"==b?a.utc().format("MMMM D")+" ("+a.utc().format("hh:mm A")+" UTC)":"mo"==b?a.utc().format("MMMM YYYY")+"UTC":"ye"==b?a.utc().format("YYYY"):a.format("MMMM D")+" · "+a.format("hh:mm:ss A")+" "+l(a)}function l(a){var b=a.toDate()||new Date,c=b+"",d=c.match(/\(([^\)]+)\)$/)||c.match(/([A-Z]+) [\d]{4}$/);return d&&(d=d[1].match(/[A-Z]/g).join("")),!d&&/(GMT\W*\d{4})/.test(c)?RegExp.$1:d}function m(a,b,c){return"undefined"!=typeof ripple&&ripple.Amount?(c||(c=6),ripple.Amount.from_human(a+" "+b).to_human({max_sig_digits:6})):a}function n(a){return"undefined"!=typeof ripple&&ripple.Currency?ripple.Currency.from_json(N.currency).to_human():a}var o,p,q=this,r=d3.time.scale(),s=d3.scale.linear(),t=d3.scale.linear(),u=d3.svg.axis().scale(r),v=d3.svg.axis().scale(t).orient("left").tickFormat(d3.format("s")),w=d3.svg.axis().scale(s).orient("right"),x=new ApiHandler(b.url);q.onStateChange=null;var y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W=[];if(R=b.type?b.type:"line",y=b.id?d3.select("#"+b.id):d3.select("body").append("div"),A=parseInt(y.style("height"),10),B=parseInt(y.style("width"),10),z=y.append("div").attr("class","priceChart"),y.classed("priceChartWrap"),b.margin||(b.margin={top:2,right:60,bottom:20,left:60}),b.width||(b.width=B-b.margin.left-b.margin.right),b.height?b.height-b.margin.top-b.margin.bottom:b.height=A?A-b.margin.top-b.margin.bottom:window.innerHeight-b.margin.top-b.margin.bottom,b.height<150&&(b.height=150),b.width<0&&(b.width=0),c(),b.resize&&"function"==typeof addResizeListener)addResizeListener(window,d);else{var X=parseInt(L.style("padding-left"),10)+parseInt(L.style("padding-right"),10);L.style("width",b.width-X+"px").style("right","auto"),z.style("width",b.width+b.margin.left+b.margin.right+"px"),z.style("height",(b.height||C)+b.margin.top+b.margin.bottom+"px")}this.resizeChart=function(){d()},this.fadeOut=function(){z.selectAll("svg").transition().duration(100).style("opacity",.5),D.on("mousemove",null).on("touchmove",null),L.style("opacity",0),K.style("opacity",0),z.selectAll(".hover").style("opacity",0),z.selectAll(".focus").style("opacity",0),M.transition().duration(100).style("opacity",1)},this.setType=function(a){R=a,W.length&&h()},this.getRawData=function(){return W},this.load=function(a,c,d){if(!a)return e("Base currency is required.");if(!c)return e("Counter currency is required.");if(!d||!d.interval)return e("Interval is required.");if(S=d.interval.slice(0,2),"se"==S)T=1;else if("mi"==S)T=60;else if("ho"==S)T=3600;else if("da"==S)T=86400;else if("we"==S)T=604800;else{if("mo"!=S)return e("Invalid Interval");T=2635200}q.onStateChange&&q.onStateChange("loading"),q.fadeOut(),N=a,O=c,U=d.multiple||1,W=[],p=!0,T*=U,V=j(d.end?moment.utc(d.end):null),Q=moment.utc(V).add("seconds",T),P=d.start?j(moment.utc(d.start)):moment.utc(d.offset(Q)),o&&o.stopListener(),b.live&&d.live&&f(),q.request&&q.request.abort(),q.request=x.offersExercised({startTime:P.toDate(),endTime:Q.toDate(),timeIncrement:d.interval,timeMultiple:d.multiple,descending:!1,base:N,counter:O},function(a){if(W.length&&a.length){var c=W.shift(),e=a[a.length-1],f=e.baseVolume+c.baseVolume;e.high>c.high&&(e.high=c.high),e.low365)c.interval="months",c.multiple=1;else if(d>120)c.interval="days",c.multiple=3;else if(d>30)c.interval="days",c.multiple=1;else if(d>5)c.interval="hours",c.multiple=4;else if(d>3)c.interval="hours",c.multiple=1;else{var f=Math.abs(c.start.diff(c.end,"hours"));f>12?(c.interval="minutes",c.multiple=15):f>2?(c.interval="minutes",c.multiple=5):(c.interval="minutes",c.multiple=1)}}console.log(c),e.load(c)},this.resize=g.resizeChart,this}; \ No newline at end of file +var API="https://api.ripplecharts.com/api";var DOMAIN="http://ripplecharts.com";var PRICECHART_CSS=".priceChart{position:relative;display:inline-block;width:100%;clear:both}.priceChart .background{pointer-events:all;fill:none;stroke:#999;stroke-width:1;shape-rendering:crispEdges}.priceChart .loader{position:absolute;top:50%;left:50%;width:40px;margin-top:-20px;margin-left:-20px}.priceChart .axis{fill:#999;shape-rendering:crispEdges}.priceChart .axis .title{stroke-width:1;stroke:#bbb;fill:#bbb}.priceChart .axis path,.priceChart .axis line{fill:none;stroke:#999;stroke-width:1}.priceChart .axis text{font-size:10px}.priceChart .axis.price text,.priceChart .axis.volume text{font-size:12px}.priceChart path{fill:none;stroke:#3369a8;stroke-width:2;stroke-linejoin:round}.priceChart line{stroke:#999;shape-rendering:crispEdges}.priceChart .status{position:absolute;top:30%;width:100%;color:#aaa;text-align:center}.priceChart .hover{stroke:#999;stroke-width:1}.priceChart .focus{fill:rgba(255,255,255,0.5);stroke:#999}.priceChart .focus.dark{fill:#555;stroke:none}.candlesticks rect{fill:#fff;stroke:#a22;stroke-width:1}.candlesticks line{stroke:#a22}.candlesticks .filled rect{fill:#a22}.candlesticks .up rect{stroke:#3a3}.candlesticks .up line{stroke:#3a3}.candlesticks .up.filled rect{fill:#3a3}.candlesticks line{stroke-width:1}.candlesticks line.extent{stroke-width:1}.priceChart .volumeBars rect{fill:#ddd;stroke:#bbb}.priceChart .title{font-size:15px}.priceChart .chartDetails{position:absolute;padding:1px 5px;font-size:14px;color:#333;text-align:right;background:rgba(255,255,255,0.5);border-bottom:1px solid rgba(150,150,150,0.2)}.priceChart .chartDetails span{display:inline-block;margin:0 .25em;font-size:12px;color:#999}.priceChart .chartDetails b{margin:0 .25em}.priceChart .chartDetails .date{margin-right:20px;text-align:right}.priceChart .chartDetails .high{color:#090}.priceChart .chartDetails .low{color:#900}.priceChart .chartDetails .vwap{color:#86b}.priceChart .chartDetails .volume{color:#369}.dark .priceChart .background,.dark .priceChart .hover,.dark .priceChart .axis path,.dark .priceChart .axis line{stroke:#404040}.dark .priceChart .axis text{fill:#666;stroke:#666}.dark .priceChart .volumeBars rect{opacity:.4;stroke:#888}.dark .priceChart .status{color:#666}.dark .candlesticks line{stroke-width:1;stroke:#a00}.dark .candlesticks .filled rect{fill:#a00}.dark .candlesticks .up line{stroke:#393}.dark .candlesticks .up rect{stroke:#393}.dark .candlesticks .filled.up rect{fill:#393;stroke:#393}.dark .candlesticks rect{fill:#000;stroke-width:1;stroke:#a00}.dark .priceChart .chartDetails{background:rgba(255,255,255,0.1)}.dark{color:#999;background:#000}.light{background:#fff}@keyframes rotating{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes rotating{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.loader{-webkit-animation:rotating 1s linear infinite;-moz-animation:rotating 1s linear infinite;-ms-animation:rotating 1s linear infinite;-o-animation:rotating 1s linear infinite;animation:rotating 1s linear infinite}";var LOADER_PNG="iVBORw0KGgoAAAANSUhEUgAAAC8AAAAyCAYAAADMb4LpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAoBJREFUeNrsmb1uwjAQgCHK1uyww072ssPePAAPwEBZYOABYKEd0p2xAw8Q9rCHPex0JzM9VxcpWM6vL3GixpIVifz4u8P36+7j8eg0dehlfHT/se/DxYTZj/zsw/SW78s71TpdSs0DNAOewRwlPHaCeQAhbrWBB/A5XN4yPh7AtEEARzk8gK/hMinw6k5GAI0A3CoIzsYK3h8qgYeFDdzjMmOuSvNTmC+S3xgV1b4s/JjIUU1VwI+I4JVoXun41/BBk+E9Ig5PBbxLBO9UDo+h/UcS/Fw0SaMw2K2kzdjKvA1oje3XXUHwhUxqTJkSs2i7zpgusK22AXC/TsVIHxOt14THvgD6WLtKKiLEN1x6ZYKXGWFFgAEleJnwIiP0qRfRc2wFMwTL4CHMmLzdoOwe6ClVkoU5+4C7F2B0ddBVRu8NE/LzuSguwDtTXMfkvNUVo68jElposDnd3ikS3kNvk/TeBW3ijnm8FWPcfEw4ggCHRHjUwqqmWfAJBNgKDRY1XldwNibYZnmGxz2+bkANMkElPxmsRdAJ6HDGdkS3OSbqNISDtVtcXbaCT0hzN9FiA7TFjPqTSIAB82paZMv0COEdQfbpx0TeosPUZFoPcW4NQN2Sy0Y2jDLSA78qyw3h74Tf9CqFx/1I1ca4pVRdZMmfVkInIA3wSrWOJtt+EITvtIyTwuP8dRw07i89S3YCDhnbJbLat0XFyFbiw3aOTsBGwsZ24ToapxXmdRY5BQg6Oc+WcPFFAQGe1oktwCHqzjLkO1LHkhjZWf6fdqZ1wXW8XN0DzOCGOA0MQgzWpThLjbRMwkrK4DyXG9ff6Tb5+L49GWnhW/gWvprxK8AA17MEbNrj+u8AAAAASUVORK5CYII=";!function(){function a(a){var b=a.__resizeTriggers__,c=b.firstElementChild,d=b.lastElementChild,e=c.firstElementChild;d.scrollLeft=d.scrollWidth,d.scrollTop=d.scrollHeight,e.style.width=c.offsetWidth+1+"px",e.style.height=c.offsetHeight+1+"px",c.scrollLeft=c.scrollWidth,c.scrollTop=c.scrollHeight}function b(a){return a.offsetWidth!=a.__resizeLast__.width||a.offsetHeight!=a.__resizeLast__.height}function c(c){var d=this;a(this),this.__resizeRAF__&&h(this.__resizeRAF__),this.__resizeRAF__=g(function(){b(d)&&(d.__resizeLast__.width=d.offsetWidth,d.__resizeLast__.height=d.offsetHeight,d.__resizeListeners__.forEach(function(a){a.call(d,c)}))})}function d(){if(!f){var a=(s?s:"")+".resize-triggers { "+(t?t:"")+'visibility: hidden; opacity: 0; } .resize-triggers, .resize-triggers > div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',b=document.head||document.getElementsByTagName("head")[0],c=document.createElement("style");c.type="text/css",c.styleSheet?c.styleSheet.cssText=a:c.appendChild(document.createTextNode(a)),b.appendChild(c),f=!0}}var e=document.attachEvent,f=!1;if(!e){var g=function(){var a=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(a){return window.setTimeout(a,20)};return function(b){return a(b)}}(),h=function(){var a=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.clearTimeout;return function(b){return a(b)}}(),i=!1,j="animation",k="",l="animationstart",m="Webkit Moz O ms".split(" "),n="webkitAnimationStart animationstart oAnimationStart MSAnimationStart".split(" "),o="",p=document.createElement("fakeelement");if(void 0!==p.style.animationName&&(i=!0),i===!1)for(var q=0;q
',b.appendChild(b.__resizeTriggers__),a(b),b.addEventListener("scroll",c,!0),l&&b.__resizeTriggers__.addEventListener(l,function(c){c.animationName==r&&a(b)})),b.__resizeListeners__.push(f))},window.removeResizeListener=function(a,b){e?a.detachEvent("onresize",b):(a.__resizeListeners__.splice(a.__resizeListeners__.indexOf(b),1),a.__resizeListeners__.length||(a.removeEventListener("scroll",c),a.__resizeTriggers__=!a.removeChild(a.__resizeTriggers__)))}}(),ApiHandler=function(a){function b(a){var b=d3.xhr(d.url+"/"+a);return b.header("Content-Type","application/json"),b}function c(a,b,c){return a.post(JSON.stringify(b)).on("load",function(a){var b=JSON.parse(a.response);c(null,b)}).on("error",function(a){c({status:a.status,text:a.statusText,message:a.response})}),a}var d=this;d.url=a,this.offersExercised=function(a,c,d){var e=b("offersExercised");return e.post(JSON.stringify(a)).on("load",function(b){var d=JSON.parse(b.response),e=[];if(d.length>1)if(a.reduce===!1){d.shift(),e=d.map(function(a){return{time:moment.utc(a[0]),price:a[1],amount:a[2],amount2:a[3],tx:a[4],id:a[5],type:""}});for(var f=null,g=e.length;g>-1;g--)f&&f.price>e[g].price?e[g].type="bid":f&&f.pricef?f=1:4>f&&(f=2);var g=n(N.currency),h=n(O.currency);F.select(".axis.price").select("text").text("Price ("+h+")"),F.select(".axis.volume").select("text").text("Volume ("+g+")"),D.datum(W,function(a){return a.startTime}).on("mousemove",i).on("touchmove",i).on("touchstart",i).on("touchend",i),r.domain([P,Q]).range([0,b.width]),t.domain([0,2*d3.max(W,function(a){return a.baseVolume})]).range([b.height,0]),"line"==R?(F.select(".line").style("opacity",1),F.select(".candlesticks").style("opacity",0),s.domain([.975*d3.min(W,function(a){return Math.min(a.close)}),1.025*d3.max(W,function(a){return Math.max(a.close)})]).range([b.height,0])):(F.select(".line").style("opacity",0),F.select(".candlesticks").style("opacity",1),s.domain([.975*d3.min(W,function(a){return Math.min(a.open,a.close,a.high,a.low)}),1.025*d3.max(W,function(a){return Math.max(a.open,a.close,a.high,a.low)})]).range([b.height,0]));var j=d3.svg.line().x(function(a){return r(a.startTime)}).y(function(a){return s(a.close)});F.select(".line").datum(W,function(a){return a.startTime}).transition().duration(c).attr("d",j);var k=F.select(".candlesticks").selectAll("g").data(W,function(a){return a.startTime}),l=k.enter().append("g").attr("transform",function(a){return"translate("+r(a.startTime)+")"});l.append("line").attr("class","extent"),l.append("line").attr("class","high"),l.append("line").attr("class","low"),l.append("rect");var m=k.classed("up",function(a,b){if(b>0){var c=W[b-1];return c.close<=a.close}return a.open<=a.close}).classed("filled",function(a){return a.close<=a.open}).transition().duration(c).attr("transform",function(a){return"translate("+r(a.startTime)+")"});m.select(".extent").attr("y1",function(a){return s(a.low)}).attr("y2",function(a){return s(a.high)}),m.select("rect").attr("x",-f/2).attr("width",f).attr("y",function(a){return s(Math.max(a.open,a.close))}).attr("height",function(a){return Math.abs(s(a.open)-s(a.close))+.5}),m.select(".high").attr("x1",-f/4).attr("x2",f/4).attr("y1",function(a){return s(a.high)}).attr("y2",function(a){return s(a.high)}),m.select(".low").attr("x1",-f/4).attr("x2",f/4).attr("y1",function(a){return s(a.low)}).attr("y2",function(a){return s(a.low)}),d3.transition(k.exit()).attr("transform",function(a){return"translate("+r(a.startTime)+")"}).style("opacity",1e-6).remove();var o=F.select(".volumeBars").selectAll("rect").data(W,function(a){return a.startTime});o.enter().append("rect"),o.data(W,function(a){return a.startTime}).transition().duration(c).attr("x",function(a){return r(a.startTime)-f/3}).attr("y",function(a){return t(a.baseVolume)}).attr("width",f/1.2).attr("height",function(a){return b.height-t(a.baseVolume)}).style("fill","url(#gradient)"),o.exit().remove(),F.select(".x.axis").attr("transform","translate(0,"+s.range()[0]+")").transition().duration(c).call(u),F.select(".price.axis").attr("transform","translate("+r.range()[1]+", 0)").transition().duration(c).call(w),F.select(".volume.axis").transition().duration(c).call(v),p||(D.transition().duration(c).style("opacity",1),M.transition().duration(c).style("opacity",0))}function i(){var c,d,e,f,g,h=y.style("zoom")||1,i=d3.mouse(this)[0]/h,j=Math.max(0,Math.min(b.width+b.margin.left,i)),l=d3.bisect(W.map(function(a){return a.startTime}),r.invert(j-b.margin.left)),o=W[l];if(o){m?(c=m(o.open,O.currency),d=m(o.high,O.currency),e=m(o.low,O.currency),f=m(o.close,O.currency),a=m(o.vwap,O.currency),g=m(o.baseVolume,N.currency)):(c=o.open.toFixed(4),d=o.high.toFixed(4),e=o.low.toFixed(4),f=o.close.toFixed(4),f=o.vwap.toFixed(4),g=o.baseVolume.toFixed(2));var p=n(N.currency),q=z.select(".chartDetails");q.html(""+k(o.startTime.local(),S)+"O:"+c+"H:"+d+"L:"+e+"C:"+f+"VWAP:"+a+"Vol:"+g+" "+p+"").style("opacity",1),H.transition().duration(50).attr("transform","translate("+r(o.startTime)+")"),J.transition().duration(50).attr("transform","translate("+r(o.startTime)+","+s(o.close)+")"),I.transition().duration(50).attr("x1",r(o.startTime)).attr("x2",b.width).attr("y1",s(o.close)).attr("y2",s(o.close)),H.style("opacity",1),I.style("opacity",1),J.style("opacity",1)}}function j(a){var b;if(a||(a=moment().utc()),a.subtract("milliseconds",a.milliseconds()),"se"==S)b=a.subtract("seconds",a.seconds()%U);else if("mi"==S)b=a.subtract({seconds:a.seconds(),minutes:a.minutes()%U});else if("ho"==S)b=a.subtract({seconds:a.seconds(),minutes:a.minutes(),hours:a.hours()%U});else if("da"==S){var c,d;1===U?c=0:(d=a.diff(moment.utc([2013,0,1]),"hours")/24,c=0>d?U-(0-Math.floor(d))%U:Math.floor(d)%U),b=a.subtract({seconds:a.seconds(),minutes:a.minutes(),hours:a.hours(),days:c})}else"we"==S?b=a.subtract({seconds:a.seconds(),minutes:a.minutes(),hours:a.hours(),days:a.day(),weeks:a.isoWeek()%U}):"mo"==S&&(b=a.subtract({seconds:a.seconds(),minutes:a.minutes(),hours:a.hours(),days:a.date()-1,months:a.months()%U}));return b}function k(a,b){return"mi"==b?a.format("MMMM D")+" · "+a.format("hh:mm A")+" "+l(a):"ho"==b?a.format("MMMM D")+" · "+a.format("hh:mm A")+" "+l(a):"da"==b?a.utc().format("MMMM D")+" ("+a.utc().format("hh:mm A")+" UTC)":"mo"==b?a.utc().format("MMMM YYYY")+"UTC":"ye"==b?a.utc().format("YYYY"):a.format("MMMM D")+" · "+a.format("hh:mm:ss A")+" "+l(a)}function l(a){var b=a.toDate()||new Date,c=b+"",d=c.match(/\(([^\)]+)\)$/)||c.match(/([A-Z]+) [\d]{4}$/);return d&&(d=d[1].match(/[A-Z]/g).join("")),!d&&/(GMT\W*\d{4})/.test(c)?RegExp.$1:d}function m(a,b,c){return"undefined"!=typeof ripple&&ripple.Amount?(c||(c=6),ripple.Amount.from_human(a+" "+b).to_human({max_sig_digits:6})):a}function n(a){return"undefined"!=typeof ripple&&ripple.Currency?ripple.Currency.from_json(N.currency).to_human():a}var o,p,q=this,r=d3.time.scale(),s=d3.scale.linear(),t=d3.scale.linear(),u=d3.svg.axis().scale(r),v=d3.svg.axis().scale(t).orient("left").tickFormat(d3.format("s")),w=d3.svg.axis().scale(s).orient("right"),x=new ApiHandler(b.url);q.onStateChange=null;var y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W=[];if(R=b.type?b.type:"line",y=b.id?d3.select("#"+b.id):d3.select("body").append("div"),A=parseInt(y.style("height"),10)||0,B=parseInt(y.style("width"),10)||0,z=y.append("div").attr("class","priceChart"),y.classed("priceChartWrap"),b.margin||(b.margin={top:2,right:60,bottom:20,left:60}),b.width||(b.width=B-b.margin.left-b.margin.right),b.height?b.height-b.margin.top-b.margin.bottom:b.height=A?A-b.margin.top-b.margin.bottom:window.innerHeight-b.margin.top-b.margin.bottom,b.height<150&&(b.height=150),b.width<0&&(b.width=0),c(),b.resize)addResizeListener(y.node(),d);else{var X=parseInt(L.style("padding-left"),10)+parseInt(L.style("padding-right"),10);L.style("width",b.width-X+"px").style("right","auto"),z.style("width",b.width+b.margin.left+b.margin.right+"px"),z.style("height",(b.height||C)+b.margin.top+b.margin.bottom+"px")}this.resizeChart=function(){d()},this.fadeOut=function(){z.selectAll("svg").transition().duration(100).style("opacity",.5),D.on("mousemove",null).on("touchmove",null),L.style("opacity",0),K.style("opacity",0),z.selectAll(".hover").style("opacity",0),z.selectAll(".focus").style("opacity",0),M.transition().duration(100).style("opacity",1)},this.setType=function(a){R=a,W.length&&h()},this.getRawData=function(){return W},this.load=function(a,c,d){if(!a)return e("Base currency is required.");if(!c)return e("Counter currency is required.");if(!d||!d.interval)return e("Interval is required.");if(S=d.interval.slice(0,2),"se"==S)T=1;else if("mi"==S)T=60;else if("ho"==S)T=3600;else if("da"==S)T=86400;else if("we"==S)T=604800;else{if("mo"!=S)return e("Invalid Interval");T=2635200}q.onStateChange&&q.onStateChange("loading"),q.fadeOut(),N=a,O=c,U=d.multiple||1,W=[],p=!0,T*=U,V=j(d.end?moment.utc(d.end):null),Q=moment.utc(V).add("seconds",T),P=d.start?j(moment.utc(d.start)):moment.utc(d.offset(Q)),o&&o.stopListener(),b.live&&d.live&&f(),q.request&&q.request.abort(),q.request=x.offersExercised({startTime:P.toDate(),endTime:Q.toDate(),timeIncrement:d.interval,timeMultiple:d.multiple,descending:!1,base:N,counter:O},function(a){if(W.length&&a.length){var c=W.shift(),e=a[a.length-1],f=e.baseVolume+c.baseVolume;e.high>c.high&&(e.high=c.high),e.low365)c.interval="months",c.multiple=1;else if(d>120)c.interval="days",c.multiple=3;else if(d>30)c.interval="days",c.multiple=1;else if(d>5)c.interval="hours",c.multiple=4;else if(d>3)c.interval="hours",c.multiple=1;else{var f=Math.abs(c.start.diff(c.end,"hours"));f>12?(c.interval="minutes",c.multiple=15):f>2?(c.interval="minutes",c.multiple=5):(c.interval="minutes",c.multiple=1)}}e.load(c)},this.resize=g.resizeChart,this.suspend=g.suspend(),this}; From d9ec6ddf8da31f59afcbff93cf2de58359f5f893 Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Wed, 11 Mar 2015 17:58:41 +0400 Subject: [PATCH 031/321] [TASK] Separate tabs.less to its own tab files (RT-3016) --- src/less/ripple/buttons.less | 8 +- src/less/ripple/icons/currency-icons.less | 64 + src/less/ripple/modals/modal.less | 77 + src/less/ripple/tabs.less | 3267 ++------------------- src/less/ripple/tabs/404.less | 34 + src/less/ripple/tabs/account.less | 130 + src/less/ripple/tabs/advanced.less | 152 + src/less/ripple/tabs/authorization.less | 386 +++ src/less/ripple/tabs/balance.less | 172 ++ src/less/ripple/tabs/contact.less | 74 + src/less/ripple/tabs/exchange.less | 61 + src/less/ripple/tabs/gateways.less | 285 ++ src/less/ripple/tabs/history.less | 319 ++ src/less/ripple/tabs/kyc.less | 52 + src/less/ripple/tabs/security.less | 169 ++ src/less/ripple/tabs/send.less | 101 + src/less/ripple/tabs/settingsTrade.less | 57 + src/less/ripple/tabs/trade.less | 557 ++++ src/less/ripple/tabs/trust.less | 116 + 19 files changed, 2988 insertions(+), 3093 deletions(-) create mode 100644 src/less/ripple/icons/currency-icons.less create mode 100644 src/less/ripple/modals/modal.less create mode 100644 src/less/ripple/tabs/404.less create mode 100644 src/less/ripple/tabs/account.less create mode 100644 src/less/ripple/tabs/advanced.less create mode 100644 src/less/ripple/tabs/authorization.less create mode 100644 src/less/ripple/tabs/balance.less create mode 100644 src/less/ripple/tabs/contact.less create mode 100644 src/less/ripple/tabs/exchange.less create mode 100644 src/less/ripple/tabs/gateways.less create mode 100644 src/less/ripple/tabs/history.less create mode 100644 src/less/ripple/tabs/kyc.less create mode 100644 src/less/ripple/tabs/security.less create mode 100644 src/less/ripple/tabs/send.less create mode 100644 src/less/ripple/tabs/settingsTrade.less create mode 100644 src/less/ripple/tabs/trade.less create mode 100644 src/less/ripple/tabs/trust.less diff --git a/src/less/ripple/buttons.less b/src/less/ripple/buttons.less index d39bea2f2..19e923317 100644 --- a/src/less/ripple/buttons.less +++ b/src/less/ripple/buttons.less @@ -75,4 +75,10 @@ } .btn-add-trust { float: right; -} \ No newline at end of file +} + +.custom-btn { + padding-top: 14px; + padding-bottom: 14px; + font-size: 14px; +} diff --git a/src/less/ripple/icons/currency-icons.less b/src/less/ripple/icons/currency-icons.less new file mode 100644 index 000000000..218f6ce53 --- /dev/null +++ b/src/less/ripple/icons/currency-icons.less @@ -0,0 +1,64 @@ +.currency-xrp i.fa-money { + color: @color-xrp !important; + .icon-ripple-logo; +} + +.currency-usd i { + color: @color-usd-dark !important; +} + +.currency-btc i { + color: @color-btc !important; +} + +.currency-eur i { + color: @color-eur-dark !important; +} + +// Commodity currencies +.currency-xau, .currency-xag, .currency-xpt, .currency-xpd, .currency-xal, +.currency-xcu, .currency-xni, .currency-xzn, .currency-xpb, .currency-xsn { + i { + .icon-metal-bars; + } +} + +.currency-xau i { + color: @color-xau !important; +} + +.currency-xag i { + color: @color-xag !important; +} + +.currency-xpt i { + color: @color-xpt !important; +} + +.currency-xpd i { + color: @color-xpd !important; +} + +.currency-xal i { + color: @color-xal !important; +} + +.currency-xcu i { + color: @color-xcu !important; +} + +.currency-xni i { + color: @color-xni !important; +} + +.currency-xzn i { + color: @color-xzn !important; +} + +.currency-xpb i { + color: @color-xpb !important; +} + +.currency-xsn i { + color: @color-xsn !important; +} \ No newline at end of file diff --git a/src/less/ripple/modals/modal.less b/src/less/ripple/modals/modal.less new file mode 100644 index 000000000..6f74ac72b --- /dev/null +++ b/src/less/ripple/modals/modal.less @@ -0,0 +1,77 @@ +.rp-modal { + + // Modal header + // Top section of the modal w/ title and dismiss + .modal-header { + background-color: @midblue; + color: @white; + } + + // Title text within header + .modal-title { + .rp-h4; + margin: 0 1.5em 0 1.7em; + } + + .modal-logo { + margin: -.8em -.1em -.6em -.9em; + } + + .modal-prompt { + .rp-base; + padding-left: 40px; + padding-top: 30px; + margin-bottom: 16px; + @media (max-width: @screen-xs-max) { + padding-left: 30px; + } + } + + .modal-buttons { + text-align: right; + padding: 0px 20px 20px 20px; + } + + .modal-btn { + padding-left: 2em; + padding-right: 2em; + margin-right: 5px; + } + + .modal-order { + background-color: @lightgray; + margin-bottom: 2em; + padding: 1em 20px; + } + + .modal-order-type { + .rp-h4; + width: 70px; + text-transform: uppercase; + text-align: right; + display: inline-block; + margin-right: 10px; + } + + .modal-body { + padding: 0px; + } + + .btn-success { + margin-bottom: 0px; + } + +} + +.modal2FA { + + .email { + font-family:"Helvetica Neue", Helvetica, Arial, sans-serif; + font-weight:bold; + font-size:1.1em; + } + + input { + font-family:"Helvetica Neue", Helvetica, Arial, sans-serif; + } +} diff --git a/src/less/ripple/tabs.less b/src/less/ripple/tabs.less index 79031ed14..88887ba23 100644 --- a/src/less/ripple/tabs.less +++ b/src/less/ripple/tabs.less @@ -1,3085 +1,210 @@ // TODO all _ or all - -.t-register, .t-login, .t-recover, .t-migrate { - - header nav { - display: none; - } -} - .loading_text { padding-left: 5px; -} - -.priceChart { - .loader { - display: none; - } -} - -.loading_sections { - padding-top: 10px; -} - -.fa-bell { - font-size: 0.8em; -} - -.delete-trust { - margin: 1.4em 0; -} - -.custom-btn { - padding-top: 14px; - padding-bottom: 14px; - font-size: 14px; -} - -.banner { - margin: 2% 8.5% 0 8.5%; - margin-right: 0; - margin-left: 0; - margin-bottom: 20px; - margin-top: 0; - - #hide { - float: right; - } -} - -#t-kyc { - .twoFAInfo{ - .icon-wrapper { - display: inline-block; - float: left; - } - } - .form-group { - &.authy-control { - .phone-number-wrapper { - padding-top: 15px; - .btn-link { - display: inline-block; - } - } - } - } - - - .kyc-error { - color: @midred; - } - - .question { - margin: 25px 0; - } - - .answer { - margin: 0 10px - } - - .lock { - margin-left: 50px; - } - .security-box-label { - padding-bottom: 20px; - } - .ssn-hidden { - font-size: 25px; - line-height: 42px; - } - - .kyc-align { - // margin: 15px 0 15px 1px; - margin-top: 15px; - margin-bottom: 15px; - } - - #resend-code-btn { - margin-top: 25px; - } -} - -#t-twofa { - .kyc-align { - margin: 15px 0 15px 1px; - } -} - -#t-register, #t-login, #t-recover, #t-account, #t-migrate { - a { - text-decoration: none; - &:hover, &:focus { - text-decoration: none; - } - } - .rippleName { - font-size: 18px; - color: @white; - } - .name-tooltip { - margin-left: 10px; - color: @midgray; - cursor: pointer; - } - button.recover { - text-align: center; - display: block; - font-size: 12px; - margin-right: auto; - margin-left: auto; - text-decoration: none; - &:hover { - color: @midgray; - } - } - - a.recover-btn { - text-decoration: none; - } - - .auth-form-container { - font-family: OpenSansRegular; - padding: 15px; - h2 { - margin: 10px 0 30px 0; - padding: 0 0 30px; - text-align: center; - border-bottom: 1px solid @midgray; - } - - .auth-form-wrapper { - background: @lightgray; - padding: 15px 20px; - border: 1px solid @midgray; - margin-bottom: 5px; - margin: 0 auto 10px; - float: none; - label { - font-weight: 400; - margin-bottom: 3px; - } - .recover-description { - margin-bottom: 15px; - font-size: 13px; - } - - } - .form-group { - p.error-text { - display: none; - } - - .form-control { - margin-bottom: 0; - } - - &.field-ok { - p > span { - padding-top: 3px; - line-height: 15px; - font-size: 12px; - color: @midgreen; - } - - .input-group:after { - content: ""; - position: absolute; - left: 100%; - bottom: 0; - margin-left: 4px; - width: 5px; - height: 100%; - background: @midgreen; - } - } - - &.field-error { - margin-bottom: 15px; - - p > span { - padding-top: 3px; - line-height: 15px; - font-size: 12px; - color: @midred; - } - - .input-group:after { - content: ""; - position: absolute; - left: 100%; - bottom: 0; - margin-left: 4px; - width: 5px; - height: 100%; - background: @midred; - } - } - - &.field-warning { - .input-group:after { - content: ""; - position: absolute; - left: 100%; - bottom: 0; - margin-left: 4px; - width: 5px; - height: 100%; - background: @lightyellow; - } - } - } - .secret-key-container { - margin-bottom: 30px; - background: @lightyellow; - padding: 15px; - border: 1px solid @midgray; - color: @darkyellow; - .rounded(5px); - - .secret-key { - padding-top: 15px; - margin-bottom: 10px; - span { - padding: 0 10px; - } - } - } - .switch-mode-link-container { - text-align: center; - - a { - text-decoration: none; - } - } - - .sign-up-steps-list { - margin-bottom: 15px; - li { - margin-right: 25px; - display: inline-block; - list-style: none; - padding-bottom: 5px; - border-bottom: 5px solid transparent; - &.active { - color: @darkgray; - font-weight: bold; - border-bottom: 5px solid @darkgray; - } - &.completed{ - color: @darkgray; - font-weight: bold; - } - - } - } - .see-privacy-text { - color: @darkgray; - font-size: 13px; - margin-bottom: 15px; - } - - &.mode-verify { - .code { - font-family: OpenSansBold; - font-size: 15px; - margin: 10px 0; - } - .status { - margin: 10px 0; - text-align: center; - } - } - } - - .switch-mode-wrapper { - text-align: center; - font-family: OpenSansRegular; - } - &.recover-form-container { - padding-top: 50px; - } - - .strength { - margin: 38px 0 0 0; - - &.match { - color: @midred; - } - &.weak { - color: @midred; - } - &.medium { - color: #ff8200; - } - &.strong { - color: @darkgreen; - } - } - - .text-error { - color: @midred; - margin: -20px 0 0 0; - } - - .storageinfo strong { - color: @black; - } - - .storageinfo a { - font-size: 0.7em; - } - - .storeChange { - display: block; - } - .auth-form-wrapper { - - .submit-btn-container { - width: 70%; - } - .submit-btn-container-recovery { - text-align: center; - .recover-btn { - display: inline-block; - width: 70%; - } - .btn { - min-height: 60px; - } - } - @media (max-width: @screen-xs-max) { - .submit-btn-container { - width: 100%; - button { - font-size: 14px; - } - } - .submit-btn-container-recovery { - text-align: center; - .recover-btn { - display: inline-block; - width: 100%; - - } - } - } - } -} - -#t-register { - .auth-form-container { - &.mode-verification { - .auth-form-wrapper { - .btn-cancel { - .loading_text { - text-transform: lowercase; - } - } - } - } - } - .register_masterkey { - position: relative; - - .auth-attention { - margin-top: 30px; - text-align: center; - - .recovery { - margin-top: 10px; - } - } - } - - .welcome-wrapper { - text-align: center; - } - - .platform, h4.new { - max-width: 700px; - margin: auto; - } - - h4.new { - padding: 25px 0; - border-top: 1px solid @midgray; - font-weight: 200; - font-size: 1.1em; - } - - span.currency { - font-weight: 500; - } - - .xrp-xau { - font-size: 1.2em; - } -} - -#t-migrate { - .text-status { - #error{ - font-size: 12px; - color: @midred; - } - } -} - -#t-login { - @media (max-width: @screen-xs-max) { - .content { - padding-top: 0; - .auth-form-container { - padding: 15px; - padding-bottom: 0; - } - } - } - .text-status { - .backend { - font-size: 12px; - span { - color: @midred; - } - } - } - - .maskedPhone { - font-size:16px; - margin:0 5px; - } - - .rememberMe { - margin: 4px 7px 0 0; - float: left; - } - - .action-login { - .info { - font-family: OpenSansLight; - border-right: 1px solid @midgray; - - @media (max-width: @screen-xs-max) { - border-right: none; - } - - .literal { - font-size: 20px; - } - - p { - padding-left: @grid-gutter-width/2; - padding-right: @grid-gutter-width/2; - - @media (max-width: @screen-sm-max) and (min-width: @screen-xs-max) { - padding-left: 0; - padding-right: 0; - } - - word-break: break-all; - font-size: 18px; - color: @black; - } - - .amount, - .address { - margin-left: -@grid-gutter-width/2; - background-color: @lightgray; - margin-bottom: 30px; - - padding-left: @grid-gutter-width; - padding-right: @grid-gutter-width; - - @media (max-width: @screen-xs-max) { - margin-right: -@grid-gutter-width/2; - } - - @media (max-width: @screen-sm-max) and (min-width: @screen-xs-max) { - padding-left: @grid-gutter-width/2; - padding-right: @grid-gutter-width/2; - } - } - - .amount { - padding-top: 30px; - padding-bottom: 25px; - - .number { - font-weight: bold; - font-size: 30px; - } - .currency { - padding: 0 0 0 5px; - font-size: 20px; - } - } - - .address { - padding-top: 25px; - padding-bottom: 25px; - font: 18px 'OpenSansRegular'; - color: @darkgray; - } - } - } -} - -#t-balance { - - .content { - padding-top: 0; - } - - #welcome { - font: 18px 'OpenSansLight'; - margin: 0 0 10px; - text-align: center; - background: @lightgreen; - padding: 50px; - - .title { - font: 18px 'OpenSansBold'; - } - - .actions { - margin: 40px 0 0 0; - - a,span { - display: inline-block; - width: 190px; - height: 270px; - background-image: url(../img/spritex.png); - margin: 0 15px; - } - .receive { - background-position: -2px -535px; - } - .buy { - background-position: -2px -263px; - } - .giveaway { - background-position: -2px -1079px; - } - .gateway { - background-position: -2px -807px; - } - } - } - - .component, .B2R { - font-family: OpenSansLight; - font-size: 16px; - line-height: 35px; - color: @darkgray; - padding-top: 5px; - padding-bottom: 5px; - border-top: 1px solid @midgray; - - .transfer { - float: right; - - a { - font-size: 12px; - margin: 0 5px; - padding: 0 2px; - border-bottom: 3px solid transparent; - line-height: 16px; - text-decoration: none; - } - - a.selected, a:hover{ - border-color: @darkgray; - cursor: pointer; - } - } - - .inactive { - padding-bottom: 15px; - - label { - font: 14px OpenSansLight; - line-height: 25px; - color: @black; - margin-bottom: 15px; - } - } - - .active { - .limit { - clear: both; - padding: 15px 0; - - .amount { - font-family: OpenSansBold; - margin: 0 15px; - } - - .remove { - font: 11px OpenSansLight; - } - } - - .instruction-value { - margin: 15px 0; - color: @black; - font-size: 16px; - } - } - - .head { - overflow: hidden; - @media (max-width: @screen-xs-max){ - font-size: 12px; - } - .status { - margin: 0 20px; - font: 10px OpenSansRegular; - padding: 3px 20px; - .rounded(2px); - background: @midgray; - border: 1px solid @darkgray; - - &.unverified { - color: @midred; - background: @lightyellow; - border-color: @midgray; - } - } - .balance-text-wrapper { - text-overflow: ellipsis; - overflow: hidden; - } - - } - - .add, .withdraw { - font-size: 14px; - color: @black; - border-top: 1px solid @midgray; - line-height: 20px; - padding: 15px 25px; - font-family: OpenSansRegular; - margin-top: 5px; - - button { - margin: 5px 0; - } - - .message { - margin: 5px 0; - } - - label { - font: 14px OpenSansLight; - line-height: 25px; - } - } - - .withdraw { - - .errorGroups { - min-height: 20px; - } - - .step2 { - - .amount { - font-family: OpenSansBold; - color: @black; - } - - .btc_address { - font: 18px OpenSansRegular; - margin: 10px 0 30px; - } - } - } - } -} - -#t-trust { - @media (max-width: @screen-xs-max) { - input[type="radio"], input[type="checkbox"] { - margin: 2px 0 0; - } - } - #trustForm { - margin-bottom: 20px; - - .verifying { - margin-top: 20px; - margin-bottom: 20px; - } - - .checkbox { - margin-bottom: 20px; - margin-top: -10px; - } - - .allow-rippling{ - & > label, & > i { - float: left; - } - @media (max-width: @screen-xs-max){ - .checkbox { - padding-left: 0; - input { - margin-right: 10px; - } - } - } - & > i { - float: left; - margin: -4px 0 0 5px; - @media (max-width: @screen-xs-max) { - margin: -6px 0 0 5px; - } - } - } - } - - a.disabled { - color: @gray-light; - - &:hover, &:focus { - text-decoration: none; - } - } - - .currencyBox { - margin: 0 0 30px; - } - - .editBox { - background: @lightgray; - margin: 10px 0 0 0; - padding: 20px 0 10px; - - .inputPadding { - padding-top: 10px; - padding-bottom: 10px; - } - .rippling-checkbox { - margin-left: -15px; - margin-right: -15px; - @media (max-width: @screen-xs-max) { - padding-left: 15px; - padding-right: 15px; - } - } - - } - .gateway { - text-overflow: ellipsis; - overflow: hidden; - } - .limit { - text-overflow: ellipsis; - overflow: hidden; - } - .currencyTitle { - font-size: @font-size-big; - - i { - width: 25px; - } - span { - margin: 0 0 0 10px; - } - } - - #divider { - margin-top: 5px; - margin-bottom: 5px; - } - - .head { - margin-top: 10px; - margin-bottom: 10px; - font-weight: bold; - - } - - .lines { - color: @darkgray; - - .line { - padding: 5px 0; - } - } - .trust-menu { - @media (max-width: @screen-xs-max) { - font-size: 10px; - } - } -} - -#t-contacts { - - .head { - padding-top: 10px; - padding-bottom: 10px; - line-height: 30px; - - div i { - padding-top: 10px; - padding-bottom: 10px; - line-height: 10px; - color: @midgray; - float: right; - display: inline-block; - } - - i.sorted { - color: @black; - } - - cursor: pointer; - } - - .addForm { - background: @lightgray; - padding-top: 15px; - padding-bottom: 15px; - margin-top: -10px; - margin-bottom: 10px; - margin-right: 0; - margin-left: 0; - } - - .contact { - padding-top: 10px; - padding-bottom: 10px; - line-height: 40px; - .edit-contact-btn-wrapper { - div { - float: inherit; - display: inline-block; - } - } - &.editing { - background: @lightgray; - margin-right: 0; - margin-left: 0; - margin-bottom: 20px; - input { - margin: 0; - } - label { - line-height: normal; - } - } - .contact-input-wrapper { - .inline-name-form { - display: inline-block; - width: 100%; - margin-bottom: 15px; - } - } - - @media (max-width: @screen-xs-max) { - .name { - font-weight: bold; - } - } - } - - .danger { - line-height: 42px; - } -} - -#t-options { - form .row { - margin-bottom: 10px; - } - .errorGroup { - height: auto; - } - .tracking { - margin: 0 10px 0 0; - } - - .btn-block { - margin-bottom: 20px; - } -} - -#t-history { - - @bg: @lightgray; - - .filters { - margin: 0; - - .filter { - margin-bottom: 10px; - - .filter-title { - display: block; - color: @darkblue; - font: 16px OpenSansLight; - background: @lightgray; - padding: 10px; - border: 1px solid @lightgray; - - &:hover { - text-decoration: none; - border: 1px solid @midgray; - } - - .fa { - margin-top: 3px; - float: right; - color: @black; - } - } - - .filter-description { - margin-top: 10px; - font: 12px OpenSansLight; - color: @darkgray; - } - - .filter-choices { - margin-top: 10px; - } - - .input-group { - margin: 0 0 10px; - - i.fa-fw { - margin-right: 5px; - } - } - } - } - - .type-filter { - - i { - margin: 0 10px 0 0; - } - - label { - width: 100%; - background: @lightgray; - padding: 6px 10px; - cursor: pointer; - text-transform: capitalize; - color: @darkgray; - font-size: 14px; - border: 1px solid darken(@lightgray,3%); - - .count { - float: right; - margin: -8px -15px; - background: @lightgray; - padding: 8px 12px; - } - - &.active { - color: @black; - background: @lightblue; - border: 1px solid @midgray; - - .count { - float: right; - margin: -8px -15px; - background: @midblue; - padding: 8px 12px; - } - } - - input { - display: none; - } - } - } - - .transactions { - .head { - display: inline-block; - width: 100%; - padding-bottom: 10px; - border-bottom: 1px solid @midgray; - margin-bottom: 30px; - margin-left: 0; - - div{ - float: left; - margin: 0 0 10px; - text-align: left; - } - - .dt { - margin: 0 0 0 23px; - width: 170px; - } - } - .export-btn-wrapper { - padding-right: 0 !important; - @media (max-width: @screen-xs-max) { - padding-left: 0; - margin-bottom: 20px; - } - } - .message { - background-color: @lightgray; - padding: 10px; - } - - & > ul { - list-style-type: none; - margin: 0; - padding: 0; - - & > li { - padding: 0 15px; - margin: 5px 0; - cursor: pointer; - background-color: @lightgray; - - &.open { - - } - - &.odd{ - background-color: @lightgray; - } - - .info { - display: inline-block; - width: 100%; - background-color: @lightgray; - @media (max-width: @screen-xs-max) { - font-size: 11px; - } - & > span { - display: inline-block; - line-height: 22px; - padding: 9px 0; - vertical-align: top; - } - - span.address, span.amount { - font-weight: bold; - } - } - - .type { - width: 8px; - display: block; - margin: 0 0 0 -15px; - background: @midblue; - } - &.sent .type { - background: @midgreen; - } - &.received .type { - background: @midgreen; - } - &.trusted .type { - background: @darkgray; - } - &.trusting .type { - background: @darkgray; - } - &.accountset .type { - background: @midgray; - } - &.failed .type, &.error .type { - background: @midred; - } - - .i { - width: 30px; - display: inline-block; - text-align: center; - } - - .dt { - width: 170px; - } - - .desc { - - } - - .effects > li > span { - font-size: 12px; - } - - .details { - padding: 10px 0; - @media (max-width: @screen-xs-max) { - font-size: 12px; - } - .effects { - border-top: 1px solid @midgray; - border-bottom: 1px solid @midgray; - padding-top: 10px; - padding-bottom: 10px; - margin-bottom: 10px; - - & > .title { - display: block; - margin: 0 0 10px; - } - - .effect { - &.header { - font-weight: bold; - } - & > span { - display: inline-block; - } - - .description { - width: 25%; - } - .issuer { - width: 35%; - } - .amount { - width: 20%; - text-align: right; - } - .balance { - width: 20%; - text-align: right; - } - } - - @media (max-width: 1023px) { - .effect { - padding: 10px 0; - border-top: 1px solid @midgray; - - &.header { - display: none; - } - - span { - display: block; - width: auto !important; - text-align: left !important; - } - span:before { - display: inline-block; - width: 150px; - font-weight: bold; - content: " "attr(data-label); - } - } - } - - @media (max-width: 600px) { - .effect { - span:before { - display: block; - font-weight: bold; - content: " "attr(data-label); - } - } - } - } - - .links { - display: inline-block; - width: 100%; - @media (max-width: @screen-xs-max) { - font-size: 10px; - } - .txLink { - float: left; - } - .addLink { - float: right; - } - - @media (max-width: 600px) { - a { - display: block; - float: none !important; - background: @midgray; - padding: 10px; - margin: 5px 0; - } - } - } - } - } - - .add { - display: none; - } - - .effects { - margin: 0; - padding: 0; - list-style-type: none; - } - } - - } -} - -.foot { - margin: 10px 0 0 0; - clear: both; - padding: 0; - background: @lightgray; - - a,div { - display: block; - padding: 15px 40px; - text-align: center; - color: @darkblue; - border: 1px solid @lightgray; - } - - #button_loader { - display: inline-block; - margin-left: auto; - margin-right: auto; - } - - a { - text-decoration: none; - color: @black; - - &:hover { - background: @lightgray; - border: 1px solid @midgray - } - } -} - -#t-send { - - .rp-combobox { - display: block; - } - - .toggle { - margin-left: 10px; - color: @midblue; - cursor: pointer; - } - - .toggle:hover { - text-decoration: underline; - } - - .mode-form { - .currency_force { - margin-bottom: 20px; - } - - .remote { - margin: 20px 0 0 0; - } - - .tagsLinks { - padding: 0; - list-style-type: none; - } - - label[for=send_dt] { - margin-right: 20px; - } - - .errorGroup { - height: auto; - // margin-bottom: -10px; - } - .form-group { - margin-bottom: 0px; - } - } - - .mode-status { - .address { - font-size: 25px; - font: 34px 'OpenSansLight'; - margin: 0 0 30px; - } - p { - margin: 0 0 40px; - font-size: 16px; - } - .actionLink { - margin-top: 20px; - margin-bottom: 20px; - font-size: 16px; - } - } - - .mode-confirm { - .amount_feedback, .dest_feedback, .sendmax_feedback { - font-size: 26px; - margin: 0; - background-color: @lightgray; - - .extra { - font-size: 18px; - color: @darkgray; - margin-top: 0.5em; - - @media (max-width: 380px) { - font-size: 14px; - } - } - .dt { - font-size: 15px; - margin-top: 1em; - } - } - - .dest_feedback { - padding: 20px; - overflow: hidden; - text-overflow: ellipsis; - } - - .amount_feedback, .sendmax_feedback { - font: 34px 'OpenSansLight'; - padding: 10px 20px; - - .currency { - font-size: 20px; - } - } - } - - .actions { - margin: 60px 0 0 0; - } -} - -.currency_sets { - .label { - margin: 10px 0; - font-size: 18px; - color: @black; - } - .alternatives { - list-style-type: none; - font-family: 'OpenSansLight'; - - & > div { - text-align: center; - padding-top: 10px; - - .am { - padding: 12px 0; - border: 1px solid @midgray; - border-bottom: none; - .border-radius(5px,0,0,5px); - - .amnt { - font-size: 30px; - padding: 0 8px 0 0; - } - .currency { - font-size: 20px; - color: @darkgray; - } - - .ex { - color: @darkgray; - - .pair { - margin-left: 5px; - font-size: 12px; - } - } - } - .btn { - .border-radius(0,5px,5px,0); - margin: 0; - } - } - } - .pathupdate, .orderbookupdate { - font-size: 12px; - color: @darkgray; - margin-top: 10px; - } -} - -.save-address-form { - form { - max-height: 0; - overflow: hidden; - .transition-duration(0.6s); - margin: 0; - - &.show { - max-height: 300px; - } - - input { - width: 300px; - } - - .btn { - width: 150px; - margin: 0 20px 0 0; - } - - hr { - margin: 15px 0 0 0; - } - .add-contact-btns-wrapper { - .btn { - width: 100%; - } - } - } -} - -#t-security { - #button_loader{ - display: inline-block; - } - - .save-btn-wrapper { - float: left; - } - .edit-security-pswd{ - line-height: 45px; - } - .settingPage a { - display: block; - padding: 10px; - border-radius: 2px; - margin: 0 0 3px; - background: @lightgray; - - &:hover, &.active { - color: @lightgray; - text-decoration: none; - background: @midblue; - } - } - - .notices { - list-style-type: none; - margin: 10px 0 0 0; - } - .important { - font-size: 20px; - line-height: 25px; - } - .title { - .clearfix; - margin: 20px 0 0; - - .name { - margin: 0 20px 0 10px; - line-height: 40px; - float: left; - } - .more { - line-height: 40px; - float: left; - } - } - .description { - margin: 11px 0 11px 0; - span.value { - overflow: hidden; - display: inherit; - &.ng-binding { - text-overflow: ellipsis; - } - } - } - - .descriptor { - color: @darkgray; - margin: 0 0 10px; - border-top: 1px solid @midgray; - padding-top: 20px; - } - - div#password.row { - padding-top: 10px; - padding-bottom: 10px; - - } - .infoBox { - .clearfix; - border: 1px solid @midgray; - padding: 20px; - margin-top: 5px; - margin-bottom: 5px; - } - - div.section { - padding-bottom: 20px; - } - - div.part { - padding-top: 10px; - a { - float: right; - } - } - - .show-keys { - margin: 20px 0 0 40px; - } - - .twoFactorSettings { - margin-top:40px; - - .enabled2FA { - margin-right:5px - } - - input:disabled { - opacity:.5; - } - } - - .confirm2FA { - margin:10px 0; - } - - .verify2FA { - margin-bottom:10px; - - .status { - margin:20px 0; - } - - button.spinner { - padding-left:0; - } - .sms-txt { - text-transform: lowercase; - } - } - - .sessionUnlock { - margin-left: 15px; - - label { - margin-top: 15px - } - - button.spinner { - padding-left:0; - } - } - - label[for=persistUnlock]{ - padding-left: 5px; - } - - .note { - font-size:12px; - color:@darkgray; - } - - #renameForm { - // padding-left: 15px; - } - - - .btn-link { - padding-top: 0; - - } - .edit-security-pswd { - #save { - - } - } - .show-security { - a { - vertical-align: top; - text-transform: lowercase; - @media(max-width: @screen-xs-max) { - line-height: 18px; - } - } - } -} - -#t-settingstrade{ - .settingPage a { - display: block; - padding: 10px; - border-radius: 2px; - margin: 0 0 3px; - background: @lightgray; - - &:hover, &.active { - color: @lightgray; - text-decoration: none; - background: @midblue; - } - } - - .descriptor { - color: @darkgray; - margin: 0 0 10px; - border-top: 1px solid @midgray; - padding-top: 20px; - } - - .pair { - background-color: @lightgray; - padding: 10px; - margin: 0; - margin-bottom: 10px; - overflow: hidden; - position: relative; - } - - .grip { - display: inline-block; - position: relative;; - left: -10px; - width: 3px; - height: 9px; - background-repeat: no-repeat; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAJAgMAAACK3X5KAAAACVBMVEUAAAAiIiIiIiIxJsNmAAAAAnRSTlMAGRL4ZfgAAAANSURBVAjXY+hgcEHFACGKA7njBRNQAAAAAElFTkSuQmCC); - } - - .delete { - float: right; - color: @midred; - } - - .as-sortable-item, .as-sortable-placeholder { - min-height: 20px; - margin: 1px 2px 5px 1px; - } - - .as-sortable-placeholder { - border: 1px dashed @darkgray; - background-color: @lightgray; - } - -} - -#t-advanced { - .settingPage a { - display: block; - padding: 10px; - border-radius: 2px; - margin: 0 0 3px; - background: @lightgray; - - &:hover, &.active { - color: @lightgray; - text-decoration: none; - background: @midblue; - } - } - - #serverSettings { - margin-top: 40px; - } - - .description { - margin: 5px 0 5px 0; - font-size: 13px; - - } - - .descriptor { - color: @darkgray; - margin: 0 0 10px; - border-top: 1px solid @midgray; - padding-top: 20px; - } - - .websocket{ - padding-right: 0; - } - - .port{ - padding-left: 0; - } - - .portNumber{ - padding-left: 10px; - @media (max-width: @screen-xs-max) { - padding-left: 0; - } - } - - div.section { - padding-bottom: 20px; - } - - div.part { - padding-top: 10px; - a { - float: right; - } - } - - #save { - margin-top: 0; - } - - #delete { - // background-color: @midred; - // border-color: @midred; - margin-top: 0; - } - - #cancel { - margin-top: 0; - } - - #newServer { - width: 100%; - margin-top: 20px; - } - - #servers { - padding-top: 0; - - .trust-line-form { - .edit-trust-line { - line-height: 34px; - } - } - @media (max-width: @screen-xs-max){ - font-size: 12px; - } - .field-edit-row { - padding-bottom: 20px; - } - .advanced-form-row { - line-height: 32px; - margin-bottom: 15px; - @media (max-width: @screen-xs-max) { - line-height: 26px; - } - } - .server-row-form { - border-top: 1px solid #ccccca; - margin-bottom: 10px; - .descriptor { - border: 0; - } - .hostname-wrapper { - padding-right: 0; - } - @media (max-width: @screen-xs-max) { - .port-wrapper { - - padding-left: 0; - - } - } - - } - .helperInput { - line-height: 44px; - } - .edit-btn { - line-height: 28px; - } - - } - - #secureSocket { - padding-left: 0; - padding-right: 0; - @media (max-width: @screen-xs-max) { - padding-left: 15px; - } - &.editable { - line-height: 35px; - // padding-left: 15px; - - } - .helperInput { - // padding-top: 7px; - line-height: 40px; - } - } - - #renameForm { - padding-left: 15px; - - } - - .editButton { - padding-top: 4px; - } - -} - -#t-trade { - - .orderbook-wrapper { - position: relative; - #orderbook_loader { - color: @midgray; - text-align: center; - position: absolute; - top: 200px; - left: 50%; - margin-right: -50%; - transform: translate(-50%, -50%); - z-index: 1; - } - } - - .orderbook-hide { - font-size: 85%; - } - - @bg: @white; - - .btn-group { - margin-bottom: -1px; - - .btn { - width: 120px; - } - .btn:first-child { - .border-radius(0, 0, 0, 4px); - } - .btn:last-child { - .border-radius(4px, 0, 0, 0); - } - } - - #add_button, #cancel_button { - float: right; - } - - ul.inline { - margin: 0; - padding: 0; - - .label { - color: @darkgray; - text-align: left; - } - .value { - font-weight: bold; - } - - li { - display: inline-block; - font-size: 12px; - - .icon { - margin: 0 0 0 3px; - } - .up { - color: @darkgreen; - } - .down { - color: @midred; - } - @media (max-width: @screen-xs-max) { - padding-left: 0; - } - @media (max-width: @screen-sm-max) { - padding-left: 0; - } - } - - &.issuers { - .label { - width: 120px; - } - .value { - margin-right: 15px; - @media (max-width: @screen-xs-max) { - margin-right: 0; - padding-right: 15px; - } - } - } - } - - .issuerSelector, .message-select-issuer { - padding: 15px; - border: 1px solid darken(@bg, 10%); - border-top: none; - border-bottom: none; - background: @bg; - } - - .settings { - padding: 15px; - border: 1px solid darken(@bg, 10%); - border-bottom: none; - background-color: darken(@bg, 2%); - .issuers-wrapper { - display: inline-block; - } - button { - &.btn-block { - outline: none; - } - } - } - - .message-select-issuer { - line-height: 25px; - font-size: 16px; - font-family: 'OpenSansRegular'; - text-align: center; - - border-bottom: 1px solid darken(@bg, 10%); - } - - .ticker { - margin: 0 0 30px; - padding: 5px 15px; - border: 1px solid darken(@bg, 10%); - border-top: none; - background-color: darken(@bg, 5%); - list-style-type: none; - @media (max-width: @screen-xs-max) { - font-size: 11px; - } - .value { - font-weight: bold; - } - } - - .slash { - padding-top: 25px; - font-size: 24px; - } - - .order-type { - p.literal { - margin: 0; - line-height: 48px; - } - } - - .trade-widget { - min-height: 430px; - padding: 15px; - border: 1px solid darken(@bg, 10%); - background: darken(@bg, 2%); - - .head { - margin: -15px -15px 15px -15px; - padding: 10px 15px; - background-color: darken(@bg, 5%); - font: 18px 'OpenSansRegular'; - - .available { - font-size: 11px; - color: @darkgray; - padding-left: 10px; - .amount { - font-weight: bold; - &:after { - content: " "; - } - } - } - } - - .input-group { - margin: 0 0 20px; - } - .errorGroup { - position: relative; - } - .order-values { - .value-field { - .input-group { - width: 100%; - .input-group-addon { - width: 33.3333333%; - @media (max-width: @screen-xs-max) { - width: 25%; - } - } - } - } - } - } - - .mode-form { - .order-values { - .sign { - text-align: center; - margin: 40px 0 0 0; - } - .error { - margin-bottom: 0; - height: 0; - overflow: visible; - } - - .input-group-addon { - color: @white; - background-color: @midgray; - padding: 0 10px; - min-width: 70px; - - .issuer { - font-size: 10px; - } - } - } - .message { - color: @midgreen; - height: 40px; - line-height: 20px; - } - .btns-row { - .btns-wrapper { - float: none; - margin: 7px auto; - } - } - } - - .mode-confirm { - text-align: center; - - .title { - margin: 30px 0; - } - - .amount_feedback { - font-size: 30px; - margin: 50px 0 0 0; - } - - .dest_feedback { - font-size: 30px; - margin: 0 0 10px 0; - } - - .rate_feedback { - margin: 0 0 30px 0; - color: @darkgray; - font-size: 18px; - - .pair { - margin-left: 5px; - font-size: 14px; - } - } - } - - .widget-myorders-table(); - - .toggle { - margin-left: 10px; - color: @midblue; - cursor: pointer; - } - - .toggle:hover { - text-decoration: underline; - } - .orderlists { - .transition-duration(0.5s); - } - .listings { - padding: 0 15px; - border: 1px solid darken(@bg, 10%); - background: @bg; - - transition: 0.2s; - max-height: 0; - - .my { - .head { - font-weight: bold; - } - .row:first-child { - border-top: none; - } - .row { - border-top: 1px solid @lightgray; - - &:nth-child(even) { - background-color: darken(@bg, 2%); - } - - & > div { - padding: 8px; - border-right: 1px solid @lightgray; - } - - & > div:last-child { - border-right: none; - } - - .issuer { - color: lighten(@black,70%); - font-size: 11px; - } - - @media (max-width: @screen-xs-max) { - border: none; - padding: 4px; - - & > div { - padding: 4px; - border: none; - } - - div:before { - display: inline-block; - width: 100px; - font-weight: bold; - text-transform: uppercase; - content: " "attr(data-label); - } - } - - .align-right { - text-align: right; - } - - .btn-link { - padding-left: 0px; - padding-right: 0px; - } - - .btn-link[disabled] { - text-decoration: none; - color: #999999; - } - - .form-control { - font-size: 14px; - height: 36px; - padding: 5px 10px; - } - - .form-control.changed { - background-color: #fcf8e3; - } - - .input-group { - margin-bottom: 10px; - } - - .input-group .input-group-addon.inline-inputs-group { - text-align: center; - font-size: 10px; - line-height: 1; - padding: 10px; - @media(max-width: @screen-xs-max) { - &:before { - display: block; - } - } - } - - .action { - padding-left: 0; - padding-right: 0; - } - } - } - - .emptyMessage { - margin: 10px 0; - } - - .alert { - line-height: 1.428571429; - padding: 8px; - float: left; - } - } - - .alert { - line-height: 1; - } - - .alert-danger .dismiss { - margin:0 5px; - color:darken(@midred, 10%); - } - - .alert-danger .dismiss:hover { - color:darken(@midred, 30%); - } - - .listings.offers { - max-height: 1000px; - overflow: auto; - } - .orderlists { - opacity: 1; - &.loading { - opacity: 0; - } - } - .listings.orders { - max-height: 9999px; - overflow: auto; - min-height: 720px; - } - - .orderbookupdate { - padding-top: 15px; - line-height: 68px; - .orderbook-title { - font-family: OpenSansSemibold, "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - font-weight: normal; - text-transform: uppercase; - small { - text-transform: none; - } - } - .last-update { - text-align: right; - } - @media (max-width: @screen-xs-max) { - line-height: 34px; - padding-bottom: 0; - .last-update { - text-align: left; - } - h3 { - margin-bottom: 0; - margin-top: 5px; - } - } - } - - .orderbook { - @media (max-width: @screen-xs-max) { - font-size: 10px; - } - .title { - margin: 0 -15px 15px -15px; - font: bold 15px 'OpenSansRegular'; - text-transform: uppercase; - background: darken(@bg, 5%); - padding: 10px; - text-align: center; - } - .head { - font: 15px 'OpenSansRegular'; - margin-bottom: 10px; - - .currency { - color: @darkgray; - } - } - - .my { - font-weight: bold; - color: @darkgreen; - - .insig { - color: @darkgreen; - font-weight: normal; - } - - .delete { - margin: 0 10px 0 0; - - text-decoration: none; - } - } - - @media (min-width: @screen-md-max) { - .bids { - border-right: 1px solid darken(@bg, 20%); - } - .asks { - border-left: 1px solid darken(@bg, 20%); - } - } - - @media (max-width: @screen-md-max) { - .asks { - border-top: 6px solid @midgray; - padding-top: 10px; - } - } - - .bids, .asks { - .row { - padding: 4px 0; - text-align: right; - - .rpamount { - font-size: 14px; - padding-left: 5px; - padding-right: 5px; - } - - .sum, .size, .price { - padding-left: 5px; - padding-right: 5px; - } - - &:nth-child(odd) { - background-color: darken(@bg, 5%); - } - } - - background-color: darken(@bg, 2%); - } - - a { - color: inherit; - } - - .message { - text-align: center; - padding-bottom: 20px; - } - - .issuer { - font-size: 10px; - color: @darkgray; - } - } - - .cancelling { - color: lighten(@black,70%); - - a { - color: lighten(@black,70%); - } - - .cancelling.changed { - background-color: #fcf8e3; - } - - .action a { - display: none; - } - } - - .btn-cancel-order { - color: @midred; - } - -} - -header nav.navbar .open > .dropdown-menu { - background-color: @lightgray; -} - -.dropdown-menu { - padding: 0; - - > li > a { - color: @midblue; - padding: 12px 20px; - } - li { - a { - i { - width: 20px; - height: 20px; - margin-right: 10px; - background-image: url(../img/icons-dropdown.png); - opacity: .5; - background-repeat: no-repeat; - display: inline-block; - vertical-align: top; - &.icon-profile { - background-position: 0 0; - } - &.icon-settings { - background-position: -20px 0; - - } - &.icon-logout { - background-position: -40px 0; - } - } - &:hover { - i { - &.icon-profile { - // background-position: 0 -20px; - } - &.icon-settings { - //background-position: -20px -20px; - } - &.icon-logout { - //background-position: -40px -20px; - } - } - } - } - } - .divider { - margin: 0; - } -} - -.t-trade header nav ul > .active#nav-advanced > a:after { - border-bottom-color: @lightgray; -} - -#t-exchange { - - .nameLine { - font: 28px OpenSansLight; - - .name { - font-weight: bold; - } - } - - .instructions { - border-bottom: 1px solid @midgray; - margin: 0 0 20px; - padding: 0 0 20px; - } - - .no-gateway { - text-align: center; - - .big-icon { - font-size: 70px; - } - } - - .toggle { - margin-left: 10px; - color: @midblue; - cursor: pointer; - } - - .toggle:hover { - text-decoration: underline; - } - - .mode-confirm { - .amount_feedback { - font: 34px 'OpenSansLight'; - margin: 0 0 10px 0; - padding: 20px; - background: @lightgray; - - .extra { - font-size: 18px; - color: @darkgray; - margin-top: 0.5em; - } - - .currency { - font-size: 20px; - } - } - } - #exchangeForm { - button { - &.btn-cancel { - white-space: normal; - } - } - } -} - -#t-fund, #t-xrp, #t-btc, #t-usd, #t-gold, #t-trust, #t-jpy, #t-brl, #t-mxn, #t-eur, #t-sgd, #t-aud, #t-nzd { - - .currencies a { - display: block; - padding: 10px; - border-radius: 2px; - margin: 0 0 3px; - background: @lightgray; - i{ - margin-right: 5px; - width: 13px; - text-align: center; - } - &:hover, &.active { - color: @lightgray; - text-decoration: none; - background: @midblue; - i:before{ - color:@white; - } - } - - } - - .menu_item { - padding-top: 10px; - padding-bottom: 5px; - } - - .first_menu_item { - padding-bottom: 5px; - } -} - -#t-fund, #t-xrp, #t-btc, #t-usd, #t-gold, #t-jpy, #t-brl, #t-mxn, #t-eur, #t-sgd, #t-aud, #t-nzd { - .B2R-wrap { - font-size: 12px; - .dismiss { - float: right; - font-size: 14px; - } - } - .instructions { - display: block; - border-radius: 2px; - background: @lightgray; - margin: 15px; - border: 1px solid @midgray; - padding-top: 10px; - padding-bottom: 10px; - .title { - font-family: OpenSansSemibold; - font-size: 14px; - font-weight: 600; - color: #1e1e1e; - text-transform: uppercase; - } - } - .fund-tab-description { - &.gateway { - padding-left: 15px; - padding-right: 15px; - } - h4 { - font-family: OpenSansSemibold; - font-size: 14px; - font-weight: 600; - color: #1e1e1e; - text-transform: uppercase; - } - .description { - font-size: 14px; - } - .descriptor{ - padding-bottom: 20px; - } - .connect { - line-height: 42px; - font-size: 14px; - i { - padding-right: 4px; - } - @media (max-width: @screen-xs-max) { - line-height: 36px; - } - } - } -} -#t-fund, #t-xrp, #t-btc, #t-usd, #t-gold, #t-brl, #t-jpy, #t-mxn, #t-eur, #t-sgd, #t-aud, #t-nzd { - .currency { - font-size: 18px; - margin: 0 0 0 5px; - color: darken(@darkgray, 15%); - } - - .lbl { - font-size : 1.2em; - font-family : OpenSansBold; - - .desc { - color: @darkgray; - font: 12px OpenSansLight; - } - } - - .amount { - color: @darkblue; - - .fraction { - font-family: OpenSansLight; - color: @lightgreen; - } - - .currency { - font-family: OpenSansLight; - margin-left: 15px; - } - } - - .total { - margin: 10px 0; - font-size: 15px; - - .fraction { - font-size: 30px; - } - - select.currency { - font-size: 20px; - padding-right: 20px; - border: none; - background: transparent url('../../img/dropdown_arrow.svg') no-repeat; - background-position: center right; - appearance: none; - moz-appearance: none; - -webkit-appearance: none; - - } - } - - - .nameLine { - margin: 0 0 20px; - padding: 0 0 20px; - font: 28px OpenSansLight; - border-bottom: 1px solid @midgray; - - .name { - font-weight: bold; - } - } - - - .fundXrp { - .address { - font-size: 14px; - } - } - - .fundBtc { - .action { - margin-top: 20px; - } - } - - .B2R { - border-top: none; - - .instructions { - } - - .btc-address { - font-size: 14px; - font-weight: bold; - color: @black; - } - - .about { - float: left; - padding: 5px 15px; - width: 300px; - line-height: 30px; - } - - .instructions-b2r { - font-size: 12px; - } - .btc-instructions { - font-size: 12px; - } - - .active { - .qr-code { - height: 100px; - width: 100px; - background: @darkgray; - float: left; - } - - .limit { - clear: both; - padding: 15px 0; - - .amount { - font-family: OpenSansBold; - margin: 0 15px; - } - - .remove { - font: 11px OpenSansLight; - } - } - - .instruction-value { - margin: 15px 0; - color: @black; - font-size: 16px; - } - } - } -} - -#t-account, #t-public, #t-private { - - .accountPage a { - display: block; - padding: 10px; - border-radius: 2px; - margin: 0 0 3px; - background: @lightgray; - - &:hover, &.active { - color: @lightgray; - text-decoration: none; - background: @midblue; - } - } - - #open_name_change { - float: left; - padding-left: 20px; - } - - .nameLine { - margin: 0 0 20px; - padding: 0 0 20px; - font: 20px OpenSansLight; - - .name { - font-weight: bold; - } - } - - .descriptor { - color: @darkgray; - margin: 0 0 20px; - border-top: 1px solid @midgray; - padding-top: 20px; - color: @darkgray; - } - - .edit { - padding-top: 0; - } - - .username { - color: @black; - line-height: 42px; - font-family: OpenSansRegular; - @media (max-width: @screen-xs-max) { - line-height: 36px; - } - } - - - - #nameChangeForm { - margin: 10px 0 0 0; - - } - - .auth-form-container { - padding-bottom: 0; - } - .public-account-row { - margin-bottom: 10px; - } - #renameForm { - width: 400px; - padding-top: 20px; - padding-bottom: 30px; - - .form-group { - - - label { - color: @darkgray; - } - - label[for=password]{ - padding-top: 20px; - } - .input-group { - .input-group-addon:first-child { - background: @midblue; - border-color: @midblue; - color: @white; +} - } - } - } - @media (max-width: @screen-xs-max) { - width: 100%; - display: inline-block; - padding-right: 15px; - padding-left: 15px; - #open_name_change { - padding-left: 0; - } - } +.priceChart { + .loader { + display: none; } +} - .sessionUnlock { - margin-left: 15px; - - label { - margin-top: 15px - } - - button.spinner { - padding-left:0; - } - } +.loading_sections { + padding-top: 10px; +} - .confirm2FA { - margin-top:20px; - margin-bottom:20px; - } +.fa-bell { + font-size: 0.8em; +} - .verify2FA { - margin-bottom:10px; +.delete-trust { + margin: 1.4em 0; +} - .status { - margin:20px 0; - } +.banner { + margin: 2% 8.5% 0 8.5%; + margin-right: 0; + margin-left: 0; + margin-bottom: 20px; + margin-top: 0; - button.spinner { - padding-left:0; - } + #hide { + float: right; } - } - -#t-usd { - .button-group { - text-align: center; - } - button { - text-align: center; - &:disabled { - background-color: @midblue; - color: #fff; - border-color: @midblue; - } +#t-twofa { + .kyc-align { + margin: 15px 0 15px 1px; } +} - .description { - padding-bottom: 20px; - - } +.foot { + margin: 10px 0 0 0; + clear: both; + padding: 0; + background: @lightgray; - h5 { - font-weight: bold; + a,div { + display: block; + padding: 15px 40px; + text-align: center; + color: @darkblue; + border: 1px solid @lightgray; } - .ssText { - font-size: 14px; - font-family: OpenSansLight; - font-weight: 300; + #button_loader { + display: inline-block; + margin-left: auto; + margin-right: auto; } - .nameLine { - padding: 0 0 20px; - font: 28px OpenSansLight; + a { + text-decoration: none; + color: @black; - .name { - font-weight: bold; + &:hover { + background: @lightgray; + border: 1px solid @midgray } - - - } - - #knoxFrame { - height: 600px; - border: 0; } } -#t-gold, #t-jpy, #t-btc, #t-brl, #t-mxn, #t-usd, #t-eur, #t-sgd, #t-aud, #t-nzd { - .title { - font-family: OpenSansSemibold; - font-size: 14px; - color: #1e1e1e; - font-weight: 600; - text-transform: uppercase; - // padding-bottom: 5px; +.currency_sets { + .label { + margin: 10px 0; + font-size: 18px; + color: @black; } + .alternatives { + list-style-type: none; + font-family: 'OpenSansLight'; - .description { - font-size: 14px; - padding-bottom: 10px; - //border-right: thin solid @black; - - } + & > div { + text-align: center; + padding-top: 10px; - .descriptor { - font-size: 14px; - } + .am { + padding: 12px 0; + border: 1px solid @midgray; + border-bottom: none; + .border-radius(5px,0,0,5px); - button { - text-align: center; - border: 1px solid @midblue; - font-weight: bold; - background: @midblue; - color: @white; - width: 100%; + .amnt { + font-size: 30px; + padding: 0 8px 0 0; + } + .currency { + font-size: 20px; + color: @darkgray; + } - &:hover, &.active { - background: darken(@midblue, 15%); - border-color: darken(@midblue, 15%); - } - } + .ex { + color: @darkgray; - .connect{ - ::before { - padding-right: 5px; + .pair { + margin-left: 5px; + font-size: 12px; + } + } + } + .btn { + .border-radius(0,5px,5px,0); + margin: 0; + } } } - - .dismiss { - float: right; + .pathupdate, .orderbookupdate { + font-size: 12px; + color: @darkgray; + margin-top: 10px; } +} - .gateway { - margin-left: 0; - padding-bottom: 20px; - } +.save-address-form { + form { + max-height: 0; + overflow: hidden; + .transition-duration(0.6s); + margin: 0; - .tos { - padding-bottom: 20px; - padding-left: 5px; - } -} -#t-jpy, #t-usd, #t-eur, #t-sgd, #t-aud, #t-nzd { - .description { - p { - margin: 0; - } - } -} -#t-404 { - .not-found-wrapper-row { - padding: 70px 0 30px 0; - a { - font-size: 14px; - &:hover { - text-decoration: none; - } + &.show { + max-height: 300px; } - .not-found-title { - font-size: 60px; - color: @midblue; - margin: 0.67em 0; - margin-bottom: 11px; + + input { + width: 300px; } - .not-found-text { - margin-bottom: 11px; - font-size: 24px; - color: @darkgray; - font-weight: 300; + + .btn { + width: 150px; + margin: 0 20px 0 0; } + hr { - margin-top: 22px; - margin-bottom: 22px; + margin: 15px 0 0 0; } - ul { - padding-left: 0; - list-style: 22px; - li { - margin-bottom: 2px; + .add-contact-btns-wrapper { + .btn { + width: 100%; } } } } -#t-brl { - p { - margin: 0; - } - .btc-tab-description { - .connect { - line-height: normal; - } - } +header nav.navbar .open > .dropdown-menu { + background-color: @lightgray; } +.dropdown-menu { + padding: 0; -.modal2FA { - - .email { - font-family:"Helvetica Neue", Helvetica, Arial, sans-serif; - font-weight:bold; - font-size:1.1em; + > li > a { + color: @midblue; + padding: 12px 20px; } + li { + a { + i { + width: 20px; + height: 20px; + margin-right: 10px; + background-image: url(../img/icons-dropdown.png); + opacity: .5; + background-repeat: no-repeat; + display: inline-block; + vertical-align: top; + &.icon-profile { + background-position: 0 0; + } + &.icon-settings { + background-position: -20px 0; - input { - font-family:"Helvetica Neue", Helvetica, Arial, sans-serif; + } + &.icon-logout { + background-position: -40px 0; + } + } + &:hover { + i { + &.icon-profile { + // background-position: 0 -20px; + } + &.icon-settings { + //background-position: -20px -20px; + } + &.icon-logout { + //background-position: -40px -20px; + } + } + } + } } -} - -.currency-xrp i.fa-money { - color: @color-xrp !important; - .icon-ripple-logo; -} - -.currency-usd i { - color: @color-usd-dark !important; -} - -.currency-btc i { - color: @color-btc !important; -} - -.currency-eur i { - color: @color-eur-dark !important; -} - -// Commodity currencies -.currency-xau, .currency-xag, .currency-xpt, .currency-xpd, .currency-xal, -.currency-xcu, .currency-xni, .currency-xzn, .currency-xpb, .currency-xsn { - i { - .icon-metal-bars; + .divider { + margin: 0; } } -.currency-xau i { - color: @color-xau !important; -} - -.currency-xag i { - color: @color-xag !important; -} - -.currency-xpt i { - color: @color-xpt !important; -} - -.currency-xpd i { - color: @color-xpd !important; -} - -.currency-xal i { - color: @color-xal !important; -} - -.currency-xcu i { - color: @color-xcu !important; -} - -.currency-xni i { - color: @color-xni !important; -} - -.currency-xzn i { - color: @color-xzn !important; -} - -.currency-xpb i { - color: @color-xpb !important; -} - -.currency-xsn i { - color: @color-xsn !important; -} - - .rp-h4 { font-family: OpenSansSemibold, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: normal; @@ -3128,71 +253,6 @@ header nav.navbar .open > .dropdown-menu { } } -.rp-modal { - - // Modal header - // Top section of the modal w/ title and dismiss - .modal-header { - background-color: @midblue; - color: @white; - } - - // Title text within header - .modal-title { - .rp-h4; - margin: 0 1.5em 0 1.7em; - } - - .modal-logo { - margin: -.8em -.1em -.6em -.9em; - } - - .modal-prompt { - .rp-base; - padding-left: 40px; - padding-top: 30px; - margin-bottom: 16px; - @media (max-width: @screen-xs-max) { - padding-left: 30px; - } - } - - .modal-buttons { - text-align: right; - padding: 0px 20px 20px 20px; - } - - .modal-btn { - padding-left: 2em; - padding-right: 2em; - margin-right: 5px; - } - - .modal-order { - background-color: @lightgray; - margin-bottom: 2em; - padding: 1em 20px; - } - - .modal-order-type { - .rp-h4; - width: 70px; - text-transform: uppercase; - text-align: right; - display: inline-block; - margin-right: 10px; - } - - .modal-body { - padding: 0px; - } - - .btn-success { - margin-bottom: 0px; - } - -} - // this taken from bootstrap 3.3.1 .rp-hidden-xs { @media (max-width: @screen-xs-max) { @@ -3214,3 +274,26 @@ header nav.navbar .open > .dropdown-menu { .responsive-invisibility(); } } + +// tabs +@import "tabs/balance.less"; +@import "tabs/history.less"; +@import "tabs/contact.less"; +@import "tabs/send.less"; +@import "tabs/exchange.less"; +@import "tabs/trade.less"; +@import "tabs/security.less"; +@import "tabs/settingsTrade.less"; +@import "tabs/advanced.less"; +@import "tabs/account.less"; +@import "tabs/kyc.less"; +@import "tabs/trust.less"; +@import "tabs/gateways.less"; +@import "tabs/404.less"; +@import "tabs/authorization.less"; + +// modal +@import "modals/modal.less"; + +// icons +@import "icons/currency-icons.less"; diff --git a/src/less/ripple/tabs/404.less b/src/less/ripple/tabs/404.less new file mode 100644 index 000000000..bbb65228b --- /dev/null +++ b/src/less/ripple/tabs/404.less @@ -0,0 +1,34 @@ +#t-404 { + .not-found-wrapper-row { + padding: 70px 0 30px 0; + a { + font-size: 14px; + &:hover { + text-decoration: none; + } + } + .not-found-title { + font-size: 60px; + color: @midblue; + margin: 0.67em 0; + margin-bottom: 11px; + } + .not-found-text { + margin-bottom: 11px; + font-size: 24px; + color: @darkgray; + font-weight: 300; + } + hr { + margin-top: 22px; + margin-bottom: 22px; + } + ul { + padding-left: 0; + list-style: 22px; + li { + margin-bottom: 2px; + } + } + } +} diff --git a/src/less/ripple/tabs/account.less b/src/less/ripple/tabs/account.less new file mode 100644 index 000000000..d6dac3def --- /dev/null +++ b/src/less/ripple/tabs/account.less @@ -0,0 +1,130 @@ +#t-account, #t-public, #t-private { + + .accountPage a { + display: block; + padding: 10px; + border-radius: 2px; + margin: 0 0 3px; + background: @lightgray; + + &:hover, &.active { + color: @lightgray; + text-decoration: none; + background: @midblue; + } + } + + #open_name_change { + float: left; + padding-left: 20px; + } + + .nameLine { + margin: 0 0 20px; + padding: 0 0 20px; + font: 20px OpenSansLight; + + .name { + font-weight: bold; + } + } + + .descriptor { + color: @darkgray; + margin: 0 0 20px; + border-top: 1px solid @midgray; + padding-top: 20px; + color: @darkgray; + } + + .edit { + padding-top: 0; + } + + .username { + color: @black; + line-height: 42px; + font-family: OpenSansRegular; + @media (max-width: @screen-xs-max) { + line-height: 36px; + } + } + + + + #nameChangeForm { + margin: 10px 0 0 0; + + } + + .auth-form-container { + padding-bottom: 0; + } + .public-account-row { + margin-bottom: 10px; + } + #renameForm { + width: 400px; + padding-top: 20px; + padding-bottom: 30px; + + .form-group { + + + label { + color: @darkgray; + } + + label[for=password]{ + padding-top: 20px; + } + .input-group { + .input-group-addon:first-child { + background: @midblue; + border-color: @midblue; + color: @white; + + } + } + } + @media (max-width: @screen-xs-max) { + width: 100%; + display: inline-block; + padding-right: 15px; + padding-left: 15px; + #open_name_change { + padding-left: 0; + } + } + } + + .sessionUnlock { + margin-left: 15px; + + label { + margin-top: 15px + } + + button.spinner { + padding-left:0; + } + } + + .confirm2FA { + margin-top:20px; + margin-bottom:20px; + } + + .verify2FA { + margin-bottom:10px; + + .status { + margin:20px 0; + } + + button.spinner { + padding-left:0; + } + } + +} diff --git a/src/less/ripple/tabs/advanced.less b/src/less/ripple/tabs/advanced.less new file mode 100644 index 000000000..cbeeb272a --- /dev/null +++ b/src/less/ripple/tabs/advanced.less @@ -0,0 +1,152 @@ +#t-advanced { + .settingPage a { + display: block; + padding: 10px; + border-radius: 2px; + margin: 0 0 3px; + background: @lightgray; + + &:hover, &.active { + color: @lightgray; + text-decoration: none; + background: @midblue; + } + } + + #serverSettings { + margin-top: 40px; + } + + .description { + margin: 5px 0 5px 0; + font-size: 13px; + + } + + .descriptor { + color: @darkgray; + margin: 0 0 10px; + border-top: 1px solid @midgray; + padding-top: 20px; + } + + .websocket{ + padding-right: 0; + } + + .port{ + padding-left: 0; + } + + .portNumber{ + padding-left: 10px; + @media (max-width: @screen-xs-max) { + padding-left: 0; + } + } + + div.section { + padding-bottom: 20px; + } + + div.part { + padding-top: 10px; + a { + float: right; + } + } + + #save { + margin-top: 0; + } + + #delete { + // background-color: @midred; + // border-color: @midred; + margin-top: 0; + } + + #cancel { + margin-top: 0; + } + + #newServer { + width: 100%; + margin-top: 20px; + } + + #servers { + padding-top: 0; + + .trust-line-form { + .edit-trust-line { + line-height: 34px; + } + } + @media (max-width: @screen-xs-max){ + font-size: 12px; + } + .field-edit-row { + padding-bottom: 20px; + } + .advanced-form-row { + line-height: 32px; + margin-bottom: 15px; + @media (max-width: @screen-xs-max) { + line-height: 26px; + } + } + .server-row-form { + border-top: 1px solid #ccccca; + margin-bottom: 10px; + .descriptor { + border: 0; + } + .hostname-wrapper { + padding-right: 0; + } + @media (max-width: @screen-xs-max) { + .port-wrapper { + + padding-left: 0; + + } + } + + } + .helperInput { + line-height: 44px; + } + .edit-btn { + line-height: 28px; + } + + } + + #secureSocket { + padding-left: 0; + padding-right: 0; + @media (max-width: @screen-xs-max) { + padding-left: 15px; + } + &.editable { + line-height: 35px; + // padding-left: 15px; + + } + .helperInput { + // padding-top: 7px; + line-height: 40px; + } + } + + #renameForm { + padding-left: 15px; + + } + + .editButton { + padding-top: 4px; + } + +} diff --git a/src/less/ripple/tabs/authorization.less b/src/less/ripple/tabs/authorization.less new file mode 100644 index 000000000..e49764df8 --- /dev/null +++ b/src/less/ripple/tabs/authorization.less @@ -0,0 +1,386 @@ +.t-register, .t-login, .t-recover, .t-migrate { + header nav { + display: none; + } +} +#t-register, #t-login, #t-recover, #t-account, #t-migrate { + a { + text-decoration: none; + &:hover, &:focus { + text-decoration: none; + } + } + .rippleName { + font-size: 18px; + color: @white; + } + .name-tooltip { + margin-left: 10px; + color: @midgray; + cursor: pointer; + } + button.recover { + text-align: center; + display: block; + font-size: 12px; + margin-right: auto; + margin-left: auto; + text-decoration: none; + &:hover { + color: @midgray; + } + } + a.recover-btn { + text-decoration: none; + } + .auth-form-container { + font-family: OpenSansRegular; + padding: 15px; + h2 { + margin: 10px 0 30px 0; + padding: 0 0 30px; + text-align: center; + border-bottom: 1px solid @midgray; + } + .auth-form-wrapper { + background: @lightgray; + padding: 15px 20px; + border: 1px solid @midgray; + margin-bottom: 5px; + margin: 0 auto 10px; + float: none; + label { + font-weight: 400; + margin-bottom: 3px; + } + .recover-description { + margin-bottom: 15px; + font-size: 13px; + } + } + .form-group { + p.error-text { + display: none; + } + .form-control { + margin-bottom: 0; + } + &.field-ok { + p > span { + padding-top: 3px; + line-height: 15px; + font-size: 12px; + color: @midgreen; + } + .input-group:after { + content: ""; + position: absolute; + left: 100%; + bottom: 0; + margin-left: 4px; + width: 5px; + height: 100%; + background: @midgreen; + } + } + &.field-error { + margin-bottom: 15px; + p > span { + padding-top: 3px; + line-height: 15px; + font-size: 12px; + color: @midred; + } + .input-group:after { + content: ""; + position: absolute; + left: 100%; + bottom: 0; + margin-left: 4px; + width: 5px; + height: 100%; + background: @midred; + } + } + &.field-warning { + .input-group:after { + content: ""; + position: absolute; + left: 100%; + bottom: 0; + margin-left: 4px; + width: 5px; + height: 100%; + background: @lightyellow; + } + } + } + .secret-key-container { + margin-bottom: 30px; + background: @lightyellow; + padding: 15px; + border: 1px solid @midgray; + color: @darkyellow; + .rounded(5px); + .secret-key { + padding-top: 15px; + margin-bottom: 10px; + span { + padding: 0 10px; + } + } + } + .switch-mode-link-container { + text-align: center; + a { + text-decoration: none; + } + } + .sign-up-steps-list { + margin-bottom: 15px; + li { + margin-right: 25px; + display: inline-block; + list-style: none; + padding-bottom: 5px; + border-bottom: 5px solid transparent; + &.active { + color: @darkgray; + font-weight: bold; + border-bottom: 5px solid @darkgray; + } + &.completed { + color: @darkgray; + font-weight: bold; + } + } + } + .see-privacy-text { + color: @darkgray; + font-size: 13px; + margin-bottom: 15px; + } + &.mode-verify { + .code { + font-family: OpenSansBold; + font-size: 15px; + margin: 10px 0; + } + .status { + margin: 10px 0; + text-align: center; + } + } + } + .switch-mode-wrapper { + text-align: center; + font-family: OpenSansRegular; + } + &.recover-form-container { + padding-top: 50px; + } + .strength { + margin: 38px 0 0 0; + &.match { + color: @midred; + } + &.weak { + color: @midred; + } + &.medium { + color: #ff8200; + } + &.strong { + color: @darkgreen; + } + } + .text-error { + color: @midred; + margin: -20px 0 0 0; + } + .storageinfo strong { + color: @black; + } + .storageinfo a { + font-size: 0.7em; + } + .storeChange { + display: block; + } + .auth-form-wrapper { + .submit-btn-container { + width: 70%; + } + .submit-btn-container-recovery { + text-align: center; + .recover-btn { + display: inline-block; + width: 70%; + } + .btn { + min-height: 60px; + } + } + @media (max-width: @screen-xs-max) { + .submit-btn-container { + width: 100%; + button { + font-size: 14px; + } + } + .submit-btn-container-recovery { + text-align: center; + .recover-btn { + display: inline-block; + width: 100%; + } + } + } + } +} +#t-register { + .auth-form-container { + &.mode-verification { + .auth-form-wrapper { + .btn-cancel { + .loading_text { + text-transform: lowercase; + } + } + } + } + } + .register_masterkey { + position: relative; + .auth-attention { + margin-top: 30px; + text-align: center; + .recovery { + margin-top: 10px; + } + } + } + .welcome-wrapper { + text-align: center; + } + .platform, h4.new { + max-width: 700px; + margin: auto; + } + h4.new { + padding: 25px 0; + border-top: 1px solid @midgray; + font-weight: 200; + font-size: 1.1em; + } + span.currency { + font-weight: 500; + } + .xrp-xau { + font-size: 1.2em; + } +} +#t-migrate { + .text-status { + #error { + font-size: 12px; + color: @midred; + } + } +} +#t-login { + @media (max-width: @screen-xs-max) { + .content { + padding-top: 0; + .auth-form-container { + padding: 15px; + padding-bottom: 0; + } + } + } + .text-status { + .backend { + font-size: 12px; + span { + color: @midred; + } + } + } + .maskedPhone { + font-size: 16px; + margin: 0 5px; + } + .rememberMe { + margin: 4px 7px 0 0; + float: left; + } + .action-login { + .info { + font-family: OpenSansLight; + border-right: 1px solid @midgray; + @media (max-width: @screen-xs-max) { + border-right: none; + } + .literal { + font-size: 20px; + } + p { + padding-left: @grid-gutter-width/2; + padding-right: @grid-gutter-width/2; + @media (max-width: @screen-sm-max) and (min-width: @screen-xs-max) { + padding-left: 0; + padding-right: 0; + } + word-break: break-all; + font-size: 18px; + color: @black; + } + .amount, .address { + margin-left: -@grid-gutter-width/2; + background-color: @lightgray; + margin-bottom: 30px; + padding-left: @grid-gutter-width; + padding-right: @grid-gutter-width; + @media (max-width: @screen-xs-max) { + margin-right: -@grid-gutter-width/2; + } + @media (max-width: @screen-sm-max) and (min-width: @screen-xs-max) { + padding-left: @grid-gutter-width/2; + padding-right: @grid-gutter-width/2; + } + } + .amount { + padding-top: 30px; + padding-bottom: 25px; + .number { + font-weight: bold; + font-size: 30px; + } + .currency { + padding: 0 0 0 5px; + font-size: 20px; + } + } + .address { + padding-top: 25px; + padding-bottom: 25px; + font: 18px 'OpenSansRegular'; + color: @darkgray; + } + } + } +} +#t-options { + form .row { + margin-bottom: 10px; + } + .errorGroup { + height: auto; + } + .tracking { + margin: 0 10px 0 0; + } + .btn-block { + margin-bottom: 20px; + } +} diff --git a/src/less/ripple/tabs/balance.less b/src/less/ripple/tabs/balance.less new file mode 100644 index 000000000..e83c9bdeb --- /dev/null +++ b/src/less/ripple/tabs/balance.less @@ -0,0 +1,172 @@ +#t-balance { + + .content { + padding-top: 0; + } + + #welcome { + font: 18px 'OpenSansLight'; + margin: 0 0 10px; + text-align: center; + background: @lightgreen; + padding: 50px; + + .title { + font: 18px 'OpenSansBold'; + } + + .actions { + margin: 40px 0 0 0; + + a,span { + display: inline-block; + width: 190px; + height: 270px; + background-image: url(../img/spritex.png); + margin: 0 15px; + } + .receive { + background-position: -2px -535px; + } + .buy { + background-position: -2px -263px; + } + .giveaway { + background-position: -2px -1079px; + } + .gateway { + background-position: -2px -807px; + } + } + } + + .component, .B2R { + font-family: OpenSansLight; + font-size: 16px; + line-height: 35px; + color: @darkgray; + padding-top: 5px; + padding-bottom: 5px; + border-top: 1px solid @midgray; + + .transfer { + float: right; + + a { + font-size: 12px; + margin: 0 5px; + padding: 0 2px; + border-bottom: 3px solid transparent; + line-height: 16px; + text-decoration: none; + } + + a.selected, a:hover{ + border-color: @darkgray; + cursor: pointer; + } + } + + .inactive { + padding-bottom: 15px; + + label { + font: 14px OpenSansLight; + line-height: 25px; + color: @black; + margin-bottom: 15px; + } + } + + .active { + .limit { + clear: both; + padding: 15px 0; + + .amount { + font-family: OpenSansBold; + margin: 0 15px; + } + + .remove { + font: 11px OpenSansLight; + } + } + + .instruction-value { + margin: 15px 0; + color: @black; + font-size: 16px; + } + } + + .head { + overflow: hidden; + @media (max-width: @screen-xs-max){ + font-size: 12px; + } + .status { + margin: 0 20px; + font: 10px OpenSansRegular; + padding: 3px 20px; + .rounded(2px); + background: @midgray; + border: 1px solid @darkgray; + + &.unverified { + color: @midred; + background: @lightyellow; + border-color: @midgray; + } + } + .balance-text-wrapper { + text-overflow: ellipsis; + overflow: hidden; + } + + } + + .add, .withdraw { + font-size: 14px; + color: @black; + border-top: 1px solid @midgray; + line-height: 20px; + padding: 15px 25px; + font-family: OpenSansRegular; + margin-top: 5px; + + button { + margin: 5px 0; + } + + .message { + margin: 5px 0; + } + + label { + font: 14px OpenSansLight; + line-height: 25px; + } + } + + .withdraw { + + .errorGroups { + min-height: 20px; + } + + .step2 { + + .amount { + font-family: OpenSansBold; + color: @black; + } + + .btc_address { + font: 18px OpenSansRegular; + margin: 10px 0 30px; + } + } + } + } +} \ No newline at end of file diff --git a/src/less/ripple/tabs/contact.less b/src/less/ripple/tabs/contact.less new file mode 100644 index 000000000..42d85d72a --- /dev/null +++ b/src/less/ripple/tabs/contact.less @@ -0,0 +1,74 @@ +#t-contacts { + + .head { + padding-top: 10px; + padding-bottom: 10px; + line-height: 30px; + + div i { + padding-top: 10px; + padding-bottom: 10px; + line-height: 10px; + color: @midgray; + float: right; + display: inline-block; + } + + i.sorted { + color: @black; + } + + cursor: pointer; + } + + .addForm { + background: @lightgray; + padding-top: 15px; + padding-bottom: 15px; + margin-top: -10px; + margin-bottom: 10px; + margin-right: 0; + margin-left: 0; + } + + .contact { + padding-top: 10px; + padding-bottom: 10px; + line-height: 40px; + .edit-contact-btn-wrapper { + div { + float: inherit; + display: inline-block; + } + } + &.editing { + background: @lightgray; + margin-right: 0; + margin-left: 0; + margin-bottom: 20px; + input { + margin: 0; + } + label { + line-height: normal; + } + } + .contact-input-wrapper { + .inline-name-form { + display: inline-block; + width: 100%; + margin-bottom: 15px; + } + } + + @media (max-width: @screen-xs-max) { + .name { + font-weight: bold; + } + } + } + + .danger { + line-height: 42px; + } +} diff --git a/src/less/ripple/tabs/exchange.less b/src/less/ripple/tabs/exchange.less new file mode 100644 index 000000000..b73690bda --- /dev/null +++ b/src/less/ripple/tabs/exchange.less @@ -0,0 +1,61 @@ + +#t-exchange { + + .nameLine { + font: 28px OpenSansLight; + + .name { + font-weight: bold; + } + } + + .instructions { + border-bottom: 1px solid @midgray; + margin: 0 0 20px; + padding: 0 0 20px; + } + + .no-gateway { + text-align: center; + + .big-icon { + font-size: 70px; + } + } + + .toggle { + margin-left: 10px; + color: @midblue; + cursor: pointer; + } + + .toggle:hover { + text-decoration: underline; + } + + .mode-confirm { + .amount_feedback { + font: 34px 'OpenSansLight'; + margin: 0 0 10px 0; + padding: 20px; + background: @lightgray; + + .extra { + font-size: 18px; + color: @darkgray; + margin-top: 0.5em; + } + + .currency { + font-size: 20px; + } + } + } + #exchangeForm { + button { + &.btn-cancel { + white-space: normal; + } + } + } +} diff --git a/src/less/ripple/tabs/gateways.less b/src/less/ripple/tabs/gateways.less new file mode 100644 index 000000000..27f12e579 --- /dev/null +++ b/src/less/ripple/tabs/gateways.less @@ -0,0 +1,285 @@ +#t-fund, #t-xrp, #t-btc, #t-usd, #t-gold, #t-trust, #t-jpy, #t-brl, #t-mxn, #t-eur, #t-sgd, #t-aud, #t-nzd { + .currencies a { + display: block; + padding: 10px; + border-radius: 2px; + margin: 0 0 3px; + background: @lightgray; + i { + margin-right: 5px; + width: 13px; + text-align: center; + } + &:hover, &.active { + color: @lightgray; + text-decoration: none; + background: @midblue; + i:before { + color: @white; + } + } + } + .menu_item { + padding-top: 10px; + padding-bottom: 5px; + } + .first_menu_item { + padding-bottom: 5px; + } + .B2R-wrap { + font-size: 12px; + .dismiss { + float: right; + font-size: 14px; + } + } + .instructions { + display: block; + border-radius: 2px; + background: @lightgray; + margin: 15px; + border: 1px solid @midgray; + padding-top: 10px; + padding-bottom: 10px; + .title { + font-family: OpenSansSemibold; + font-size: 14px; + font-weight: 600; + color: #1e1e1e; + text-transform: uppercase; + } + } + .fund-tab-description { + &.gateway { + padding-left: 15px; + padding-right: 15px; + } + h4 { + font-family: OpenSansSemibold; + font-size: 14px; + font-weight: 600; + color: #1e1e1e; + text-transform: uppercase; + } + .description { + font-size: 14px; + } + .descriptor { + padding-bottom: 20px; + } + .connect { + line-height: 42px; + font-size: 14px; + i { + padding-right: 4px; + } + @media (max-width: @screen-xs-max) { + line-height: 36px; + } + } + } + .currency { + font-size: 18px; + margin: 0 0 0 5px; + color: darken(@darkgray, 15%); + } + .lbl { + font-size: 1.2em; + font-family: OpenSansBold; + .desc { + color: @darkgray; + font: 12px OpenSansLight; + } + } + .amount { + color: @darkblue; + .fraction { + font-family: OpenSansLight; + color: @lightgreen; + } + .currency { + font-family: OpenSansLight; + margin-left: 15px; + } + } + .total { + margin: 10px 0; + font-size: 15px; + .fraction { + font-size: 30px; + } + select.currency { + font-size: 20px; + padding-right: 20px; + border: none; + background: transparent url('../../img/dropdown_arrow.svg') no-repeat; + background-position: center right; + appearance: none; + moz-appearance: none; + -webkit-appearance: none; + } + } + .nameLine { + margin: 0 0 20px; + padding: 0 0 20px; + font: 28px OpenSansLight; + border-bottom: 1px solid @midgray; + .name { + font-weight: bold; + } + } + .fundXrp { + .address { + font-size: 14px; + } + } + .fundBtc { + .action { + margin-top: 20px; + } + } + .B2R { + border-top: none; + .instructions {} .btc-address { + font-size: 14px; + font-weight: bold; + color: @black; + } + .about { + float: left; + padding: 5px 15px; + width: 300px; + line-height: 30px; + } + .instructions-b2r { + font-size: 12px; + } + .btc-instructions { + font-size: 12px; + } + .active { + .qr-code { + height: 100px; + width: 100px; + background: @darkgray; + float: left; + } + .limit { + clear: both; + padding: 15px 0; + .amount { + font-family: OpenSansBold; + margin: 0 15px; + } + .remove { + font: 11px OpenSansLight; + } + } + .instruction-value { + margin: 15px 0; + color: @black; + font-size: 16px; + } + } + } + .button-group { + text-align: center; + } + button { + text-align: center; + &:disabled { + background-color: @midblue; + color: #fff; + border-color: @midblue; + } + } + .description { + padding-bottom: 20px; + } + h5 { + font-weight: bold; + } + .ssText { + font-size: 14px; + font-family: OpenSansLight; + font-weight: 300; + } + .nameLine { + padding: 0 0 20px; + font: 28px OpenSansLight; + .name { + font-weight: bold; + } + } + #knoxFrame { + height: 600px; + border: 0; + } + + .title { + font-family: OpenSansSemibold; + font-size: 14px; + color: #1e1e1e; + font-weight: 600; + text-transform: uppercase; + // padding-bottom: 5px; + } + + .description { + font-size: 14px; + padding-bottom: 10px; + //border-right: thin solid @black; + + } + + .descriptor { + font-size: 14px; + } + + button { + text-align: center; + border: 1px solid @midblue; + font-weight: bold; + background: @midblue; + color: @white; + width: 100%; + + &:hover, &.active { + background: darken(@midblue, 15%); + border-color: darken(@midblue, 15%); + } + } + + .connect{ + ::before { + padding-right: 5px; + } + } + + .dismiss { + float: right; + } + + .gateway { + margin-left: 0; + padding-bottom: 20px; + } + + .tos { + padding-bottom: 20px; + padding-left: 5px; + } + .description { + p { + margin: 0; + } + } + p { + margin: 0; + } + .btc-tab-description { + .connect { + line-height: normal; + } + } +} diff --git a/src/less/ripple/tabs/history.less b/src/less/ripple/tabs/history.less new file mode 100644 index 000000000..5b8a3c5d1 --- /dev/null +++ b/src/less/ripple/tabs/history.less @@ -0,0 +1,319 @@ +#t-history { + + @bg: @lightgray; + + .filters { + margin: 0; + + .filter { + margin-bottom: 10px; + + .filter-title { + display: block; + color: @darkblue; + font: 16px OpenSansLight; + background: @lightgray; + padding: 10px; + border: 1px solid @lightgray; + + &:hover { + text-decoration: none; + border: 1px solid @midgray; + } + + .fa { + margin-top: 3px; + float: right; + color: @black; + } + } + + .filter-description { + margin-top: 10px; + font: 12px OpenSansLight; + color: @darkgray; + } + + .filter-choices { + margin-top: 10px; + } + + .input-group { + margin: 0 0 10px; + + i.fa-fw { + margin-right: 5px; + } + } + } + } + + .type-filter { + + i { + margin: 0 10px 0 0; + } + + label { + width: 100%; + background: @lightgray; + padding: 6px 10px; + cursor: pointer; + text-transform: capitalize; + color: @darkgray; + font-size: 14px; + border: 1px solid darken(@lightgray,3%); + + .count { + float: right; + margin: -8px -15px; + background: @lightgray; + padding: 8px 12px; + } + + &.active { + color: @black; + background: @lightblue; + border: 1px solid @midgray; + + .count { + float: right; + margin: -8px -15px; + background: @midblue; + padding: 8px 12px; + } + } + + input { + display: none; + } + } + } + + .transactions { + .head { + display: inline-block; + width: 100%; + padding-bottom: 10px; + border-bottom: 1px solid @midgray; + margin-bottom: 30px; + margin-left: 0; + + div{ + float: left; + margin: 0 0 10px; + text-align: left; + } + + .dt { + margin: 0 0 0 23px; + width: 170px; + } + } + .export-btn-wrapper { + padding-right: 0 !important; + @media (max-width: @screen-xs-max) { + padding-left: 0; + margin-bottom: 20px; + } + } + .message { + background-color: @lightgray; + padding: 10px; + } + + & > ul { + list-style-type: none; + margin: 0; + padding: 0; + + & > li { + padding: 0 15px; + margin: 5px 0; + cursor: pointer; + background-color: @lightgray; + + &.open { + + } + + &.odd{ + background-color: @lightgray; + } + + .info { + display: inline-block; + width: 100%; + background-color: @lightgray; + @media (max-width: @screen-xs-max) { + font-size: 11px; + } + & > span { + display: inline-block; + line-height: 22px; + padding: 9px 0; + vertical-align: top; + } + + span.address, span.amount { + font-weight: bold; + } + } + + .type { + width: 8px; + display: block; + margin: 0 0 0 -15px; + background: @midblue; + } + &.sent .type { + background: @midgreen; + } + &.received .type { + background: @midgreen; + } + &.trusted .type { + background: @darkgray; + } + &.trusting .type { + background: @darkgray; + } + &.accountset .type { + background: @midgray; + } + &.failed .type, &.error .type { + background: @midred; + } + + .i { + width: 30px; + display: inline-block; + text-align: center; + } + + .dt { + width: 170px; + } + + .desc { + + } + + .effects > li > span { + font-size: 12px; + } + + .details { + padding: 10px 0; + @media (max-width: @screen-xs-max) { + font-size: 12px; + } + .effects { + border-top: 1px solid @midgray; + border-bottom: 1px solid @midgray; + padding-top: 10px; + padding-bottom: 10px; + margin-bottom: 10px; + + & > .title { + display: block; + margin: 0 0 10px; + } + + .effect { + &.header { + font-weight: bold; + } + & > span { + display: inline-block; + } + + .description { + width: 25%; + } + .issuer { + width: 35%; + } + .amount { + width: 20%; + text-align: right; + } + .balance { + width: 20%; + text-align: right; + } + } + + @media (max-width: 1023px) { + .effect { + padding: 10px 0; + border-top: 1px solid @midgray; + + &.header { + display: none; + } + + span { + display: block; + width: auto !important; + text-align: left !important; + } + span:before { + display: inline-block; + width: 150px; + font-weight: bold; + content: " "attr(data-label); + } + } + } + + @media (max-width: 600px) { + .effect { + span:before { + display: block; + font-weight: bold; + content: " "attr(data-label); + } + } + } + } + + .links { + display: inline-block; + width: 100%; + @media (max-width: @screen-xs-max) { + font-size: 10px; + } + .txLink { + float: left; + } + .addLink { + float: right; + } + + @media (max-width: 600px) { + a { + display: block; + float: none !important; + background: @midgray; + padding: 10px; + margin: 5px 0; + } + } + } + } + } + + .add { + display: none; + } + + .effects { + margin: 0; + padding: 0; + list-style-type: none; + } + } + + } +} diff --git a/src/less/ripple/tabs/kyc.less b/src/less/ripple/tabs/kyc.less new file mode 100644 index 000000000..2893988e6 --- /dev/null +++ b/src/less/ripple/tabs/kyc.less @@ -0,0 +1,52 @@ +#t-kyc { + .twoFAInfo{ + .icon-wrapper { + display: inline-block; + float: left; + } + } + .form-group { + &.authy-control { + .phone-number-wrapper { + padding-top: 15px; + .btn-link { + display: inline-block; + } + } + } + } + + + .kyc-error { + color: @midred; + } + + .question { + margin: 25px 0; + } + + .answer { + margin: 0 10px + } + + .lock { + margin-left: 50px; + } + .security-box-label { + padding-bottom: 20px; + } + .ssn-hidden { + font-size: 25px; + line-height: 42px; + } + + .kyc-align { + // margin: 15px 0 15px 1px; + margin-top: 15px; + margin-bottom: 15px; + } + + #resend-code-btn { + margin-top: 25px; + } +} \ No newline at end of file diff --git a/src/less/ripple/tabs/security.less b/src/less/ripple/tabs/security.less new file mode 100644 index 000000000..7f0a6f89d --- /dev/null +++ b/src/less/ripple/tabs/security.less @@ -0,0 +1,169 @@ +#t-security { + #button_loader{ + display: inline-block; + } + + .save-btn-wrapper { + float: left; + } + .edit-security-pswd{ + line-height: 45px; + } + .settingPage a { + display: block; + padding: 10px; + border-radius: 2px; + margin: 0 0 3px; + background: @lightgray; + + &:hover, &.active { + color: @lightgray; + text-decoration: none; + background: @midblue; + } + } + + .notices { + list-style-type: none; + margin: 10px 0 0 0; + } + .important { + font-size: 20px; + line-height: 25px; + } + .title { + .clearfix; + margin: 20px 0 0; + + .name { + margin: 0 20px 0 10px; + line-height: 40px; + float: left; + } + .more { + line-height: 40px; + float: left; + } + } + .description { + margin: 11px 0 11px 0; + span.value { + overflow: hidden; + display: inherit; + &.ng-binding { + text-overflow: ellipsis; + } + } + } + + .descriptor { + color: @darkgray; + margin: 0 0 10px; + border-top: 1px solid @midgray; + padding-top: 20px; + } + + div#password.row { + padding-top: 10px; + padding-bottom: 10px; + + } + .infoBox { + .clearfix; + border: 1px solid @midgray; + padding: 20px; + margin-top: 5px; + margin-bottom: 5px; + } + + div.section { + padding-bottom: 20px; + } + + div.part { + padding-top: 10px; + a { + float: right; + } + } + + .show-keys { + margin: 20px 0 0 40px; + } + + .twoFactorSettings { + margin-top:40px; + + .enabled2FA { + margin-right:5px + } + + input:disabled { + opacity:.5; + } + } + + .confirm2FA { + margin:10px 0; + } + + .verify2FA { + margin-bottom:10px; + + .status { + margin:20px 0; + } + + button.spinner { + padding-left:0; + } + .sms-txt { + text-transform: lowercase; + } + } + + .sessionUnlock { + margin-left: 15px; + + label { + margin-top: 15px + } + + button.spinner { + padding-left:0; + } + } + + label[for=persistUnlock]{ + padding-left: 5px; + } + + .note { + font-size:12px; + color:@darkgray; + } + + #renameForm { + // padding-left: 15px; + } + + + .btn-link { + padding-top: 0; + + } + .edit-security-pswd { + #save { + + } + } + .show-security { + a { + vertical-align: top; + text-transform: lowercase; + @media(max-width: @screen-xs-max) { + line-height: 18px; + } + } + } +} diff --git a/src/less/ripple/tabs/send.less b/src/less/ripple/tabs/send.less new file mode 100644 index 000000000..2f565526c --- /dev/null +++ b/src/less/ripple/tabs/send.less @@ -0,0 +1,101 @@ +#t-send { + + .rp-combobox { + display: block; + } + + .toggle { + margin-left: 10px; + color: @midblue; + cursor: pointer; + } + + .toggle:hover { + text-decoration: underline; + } + + .mode-form { + .currency_force { + margin-bottom: 20px; + } + + .remote { + margin: 20px 0 0 0; + } + + .tagsLinks { + padding: 0; + list-style-type: none; + } + + label[for=send_dt] { + margin-right: 20px; + } + + .errorGroup { + height: auto; + // margin-bottom: -10px; + } + .form-group { + margin-bottom: 0px; + } + } + + .mode-status { + .address { + font-size: 25px; + font: 34px 'OpenSansLight'; + margin: 0 0 30px; + } + p { + margin: 0 0 40px; + font-size: 16px; + } + .actionLink { + margin-top: 20px; + margin-bottom: 20px; + font-size: 16px; + } + } + + .mode-confirm { + .amount_feedback, .dest_feedback, .sendmax_feedback { + font-size: 26px; + margin: 0; + background-color: @lightgray; + + .extra { + font-size: 18px; + color: @darkgray; + margin-top: 0.5em; + + @media (max-width: 380px) { + font-size: 14px; + } + } + .dt { + font-size: 15px; + margin-top: 1em; + } + } + + .dest_feedback { + padding: 20px; + overflow: hidden; + text-overflow: ellipsis; + } + + .amount_feedback, .sendmax_feedback { + font: 34px 'OpenSansLight'; + padding: 10px 20px; + + .currency { + font-size: 20px; + } + } + } + + .actions { + margin: 60px 0 0 0; + } +} diff --git a/src/less/ripple/tabs/settingsTrade.less b/src/less/ripple/tabs/settingsTrade.less new file mode 100644 index 000000000..c6de9567d --- /dev/null +++ b/src/less/ripple/tabs/settingsTrade.less @@ -0,0 +1,57 @@ +#t-settingstrade{ + .settingPage a { + display: block; + padding: 10px; + border-radius: 2px; + margin: 0 0 3px; + background: @lightgray; + + &:hover, &.active { + color: @lightgray; + text-decoration: none; + background: @midblue; + } + } + + .descriptor { + color: @darkgray; + margin: 0 0 10px; + border-top: 1px solid @midgray; + padding-top: 20px; + } + + .pair { + background-color: @lightgray; + padding: 10px; + margin: 0; + margin-bottom: 10px; + overflow: hidden; + position: relative; + } + + .grip { + display: inline-block; + position: relative;; + left: -10px; + width: 3px; + height: 9px; + background-repeat: no-repeat; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAJAgMAAACK3X5KAAAACVBMVEUAAAAiIiIiIiIxJsNmAAAAAnRSTlMAGRL4ZfgAAAANSURBVAjXY+hgcEHFACGKA7njBRNQAAAAAElFTkSuQmCC); + } + + .delete { + float: right; + color: @midred; + } + + .as-sortable-item, .as-sortable-placeholder { + min-height: 20px; + margin: 1px 2px 5px 1px; + } + + .as-sortable-placeholder { + border: 1px dashed @darkgray; + background-color: @lightgray; + } + +} \ No newline at end of file diff --git a/src/less/ripple/tabs/trade.less b/src/less/ripple/tabs/trade.less new file mode 100644 index 000000000..1ac87f43f --- /dev/null +++ b/src/less/ripple/tabs/trade.less @@ -0,0 +1,557 @@ +#t-trade { + + .orderbook-wrapper { + position: relative; + #orderbook_loader { + color: @midgray; + text-align: center; + position: absolute; + top: 200px; + left: 50%; + margin-right: -50%; + transform: translate(-50%, -50%); + z-index: 1; + } + } + + .orderbook-hide { + font-size: 85%; + } + + @bg: @white; + + .btn-group { + margin-bottom: -1px; + + .btn { + width: 120px; + } + .btn:first-child { + .border-radius(0, 0, 0, 4px); + } + .btn:last-child { + .border-radius(4px, 0, 0, 0); + } + } + + #add_button, #cancel_button { + float: right; + } + + ul.inline { + margin: 0; + padding: 0; + + .label { + color: @darkgray; + text-align: left; + } + .value { + font-weight: bold; + } + + li { + display: inline-block; + font-size: 12px; + + .icon { + margin: 0 0 0 3px; + } + .up { + color: @darkgreen; + } + .down { + color: @midred; + } + @media (max-width: @screen-xs-max) { + padding-left: 0; + } + @media (max-width: @screen-sm-max) { + padding-left: 0; + } + } + + &.issuers { + .label { + width: 120px; + } + .value { + margin-right: 15px; + @media (max-width: @screen-xs-max) { + margin-right: 0; + padding-right: 15px; + } + } + } + } + + .issuerSelector, .message-select-issuer { + padding: 15px; + border: 1px solid darken(@bg, 10%); + border-top: none; + border-bottom: none; + background: @bg; + } + + .settings { + padding: 15px; + border: 1px solid darken(@bg, 10%); + border-bottom: none; + background-color: darken(@bg, 2%); + .issuers-wrapper { + display: inline-block; + } + button { + &.btn-block { + outline: none; + } + } + } + + .message-select-issuer { + line-height: 25px; + font-size: 16px; + font-family: 'OpenSansRegular'; + text-align: center; + + border-bottom: 1px solid darken(@bg, 10%); + } + + .ticker { + margin: 0 0 30px; + padding: 5px 15px; + border: 1px solid darken(@bg, 10%); + border-top: none; + background-color: darken(@bg, 5%); + list-style-type: none; + @media (max-width: @screen-xs-max) { + font-size: 11px; + } + .value { + font-weight: bold; + } + } + + .slash { + padding-top: 25px; + font-size: 24px; + } + + .order-type { + p.literal { + margin: 0; + line-height: 48px; + } + } + + .trade-widget { + min-height: 430px; + padding: 15px; + border: 1px solid darken(@bg, 10%); + background: darken(@bg, 2%); + + .head { + margin: -15px -15px 15px -15px; + padding: 10px 15px; + background-color: darken(@bg, 5%); + font: 18px 'OpenSansRegular'; + + .available { + font-size: 11px; + color: @darkgray; + padding-left: 10px; + .amount { + font-weight: bold; + &:after { + content: " "; + } + } + } + } + + .input-group { + margin: 0 0 20px; + } + .errorGroup { + position: relative; + } + .order-values { + .value-field { + .input-group { + width: 100%; + .input-group-addon { + width: 33.3333333%; + @media (max-width: @screen-xs-max) { + width: 25%; + } + } + } + } + } + } + + .mode-form { + .order-values { + .sign { + text-align: center; + margin: 40px 0 0 0; + } + .error { + margin-bottom: 0; + height: 0; + overflow: visible; + } + + .input-group-addon { + color: @white; + background-color: @midgray; + padding: 0 10px; + min-width: 70px; + + .issuer { + font-size: 10px; + } + } + } + .message { + color: @midgreen; + height: 40px; + line-height: 20px; + } + .btns-row { + .btns-wrapper { + float: none; + margin: 7px auto; + } + } + } + + .mode-confirm { + text-align: center; + + .title { + margin: 30px 0; + } + + .amount_feedback { + font-size: 30px; + margin: 50px 0 0 0; + } + + .dest_feedback { + font-size: 30px; + margin: 0 0 10px 0; + } + + .rate_feedback { + margin: 0 0 30px 0; + color: @darkgray; + font-size: 18px; + + .pair { + margin-left: 5px; + font-size: 14px; + } + } + } + + .widget-myorders-table(); + + .toggle { + margin-left: 10px; + color: @midblue; + cursor: pointer; + } + + .toggle:hover { + text-decoration: underline; + } + .orderlists { + .transition-duration(0.5s); + } + .listings { + padding: 0 15px; + border: 1px solid darken(@bg, 10%); + background: @bg; + + transition: 0.2s; + max-height: 0; + + .my { + .head { + font-weight: bold; + } + .row:first-child { + border-top: none; + } + .row { + border-top: 1px solid @lightgray; + + &:nth-child(even) { + background-color: darken(@bg, 2%); + } + + & > div { + padding: 8px; + border-right: 1px solid @lightgray; + } + + & > div:last-child { + border-right: none; + } + + .issuer { + color: lighten(@black,70%); + font-size: 11px; + } + + @media (max-width: @screen-xs-max) { + border: none; + padding: 4px; + + & > div { + padding: 4px; + border: none; + } + + div:before { + display: inline-block; + width: 100px; + font-weight: bold; + text-transform: uppercase; + content: " "attr(data-label); + } + } + + .align-right { + text-align: right; + } + + .btn-link { + padding-left: 0px; + padding-right: 0px; + } + + .btn-link[disabled] { + text-decoration: none; + color: #999999; + } + + .form-control { + font-size: 14px; + height: 36px; + padding: 5px 10px; + } + + .form-control.changed { + background-color: #fcf8e3; + } + + .input-group { + margin-bottom: 10px; + } + + .input-group .input-group-addon.inline-inputs-group { + text-align: center; + font-size: 10px; + line-height: 1; + padding: 10px; + @media(max-width: @screen-xs-max) { + &:before { + display: block; + } + } + } + + .action { + padding-left: 0; + padding-right: 0; + } + } + } + + .emptyMessage { + margin: 10px 0; + } + + .alert { + line-height: 1.428571429; + padding: 8px; + float: left; + } + } + + .alert { + line-height: 1; + } + + .alert-danger .dismiss { + margin:0 5px; + color:darken(@midred, 10%); + } + + .alert-danger .dismiss:hover { + color:darken(@midred, 30%); + } + + .listings.offers { + max-height: 1000px; + overflow: auto; + } + .orderlists { + opacity: 1; + &.loading { + opacity: 0; + } + } + .listings.orders { + max-height: 9999px; + overflow: auto; + min-height: 720px; + } + + .orderbookupdate { + padding-top: 15px; + line-height: 68px; + .orderbook-title { + font-family: OpenSansSemibold, "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + font-weight: normal; + text-transform: uppercase; + small { + text-transform: none; + } + } + .last-update { + text-align: right; + } + @media (max-width: @screen-xs-max) { + line-height: 34px; + padding-bottom: 0; + .last-update { + text-align: left; + } + h3 { + margin-bottom: 0; + margin-top: 5px; + } + } + } + + .orderbook { + @media (max-width: @screen-xs-max) { + font-size: 10px; + } + .title { + margin: 0 -15px 15px -15px; + font: bold 15px 'OpenSansRegular'; + text-transform: uppercase; + background: darken(@bg, 5%); + padding: 10px; + text-align: center; + } + .head { + font: 15px 'OpenSansRegular'; + margin-bottom: 10px; + + .currency { + color: @darkgray; + } + } + + .my { + font-weight: bold; + color: @darkgreen; + + .insig { + color: @darkgreen; + font-weight: normal; + } + + .delete { + margin: 0 10px 0 0; + + text-decoration: none; + } + } + + @media (min-width: @screen-md-max) { + .bids { + border-right: 1px solid darken(@bg, 20%); + } + .asks { + border-left: 1px solid darken(@bg, 20%); + } + } + + @media (max-width: @screen-md-max) { + .asks { + border-top: 6px solid @midgray; + padding-top: 10px; + } + } + + .bids, .asks { + .row { + padding: 4px 0; + text-align: right; + + .rpamount { + font-size: 14px; + padding-left: 5px; + padding-right: 5px; + } + + .sum, .size, .price { + padding-left: 5px; + padding-right: 5px; + } + + &:nth-child(odd) { + background-color: darken(@bg, 5%); + } + } + + background-color: darken(@bg, 2%); + } + + a { + color: inherit; + } + + .message { + text-align: center; + padding-bottom: 20px; + } + + .issuer { + font-size: 10px; + color: @darkgray; + } + } + + .cancelling { + color: lighten(@black,70%); + + a { + color: lighten(@black,70%); + } + + .cancelling.changed { + background-color: #fcf8e3; + } + + .action a { + display: none; + } + } + + .btn-cancel-order { + color: @midred; + } + +} + +.t-trade header nav ul > .active#nav-advanced > a:after { + border-bottom-color: @lightgray; +} diff --git a/src/less/ripple/tabs/trust.less b/src/less/ripple/tabs/trust.less new file mode 100644 index 000000000..9694df0e5 --- /dev/null +++ b/src/less/ripple/tabs/trust.less @@ -0,0 +1,116 @@ +#t-trust { + @media (max-width: @screen-xs-max) { + input[type="radio"], input[type="checkbox"] { + margin: 2px 0 0; + } + } + #trustForm { + margin-bottom: 20px; + + .verifying { + margin-top: 20px; + margin-bottom: 20px; + } + + .checkbox { + margin-bottom: 20px; + margin-top: -10px; + } + + .allow-rippling{ + & > label, & > i { + float: left; + } + @media (max-width: @screen-xs-max){ + .checkbox { + padding-left: 0; + input { + margin-right: 10px; + } + } + } + & > i { + float: left; + margin: -4px 0 0 5px; + @media (max-width: @screen-xs-max) { + margin: -6px 0 0 5px; + } + } + } + } + + a.disabled { + color: @gray-light; + + &:hover, &:focus { + text-decoration: none; + } + } + + .currencyBox { + margin: 0 0 30px; + } + + .editBox { + background: @lightgray; + margin: 10px 0 0 0; + padding: 20px 0 10px; + + .inputPadding { + padding-top: 10px; + padding-bottom: 10px; + } + .rippling-checkbox { + margin-left: -15px; + margin-right: -15px; + @media (max-width: @screen-xs-max) { + padding-left: 15px; + padding-right: 15px; + } + } + + } + .gateway { + text-overflow: ellipsis; + overflow: hidden; + } + .limit { + text-overflow: ellipsis; + overflow: hidden; + } + .currencyTitle { + font-size: @font-size-big; + + i { + width: 25px; + } + span { + margin: 0 0 0 10px; + } + } + + #divider { + margin-top: 5px; + margin-bottom: 5px; + } + + .head { + margin-top: 10px; + margin-bottom: 10px; + font-weight: bold; + + } + + .lines { + color: @darkgray; + + .line { + padding: 5px 0; + } + } + .trust-menu { + @media (max-width: @screen-xs-max) { + font-size: 10px; + } + } +} \ No newline at end of file From e3cc475d66433ef0011c7b157fe7a0a3a5add667 Mon Sep 17 00:00:00 2001 From: rht Date: Wed, 11 Mar 2015 10:11:41 +0700 Subject: [PATCH 032/321] [TASK] Remove cssmin (RT-3235) Note: this is a revert from https://github.com/ripple/ripple-client/commit/eb271ff699a85464b78f4fc43d6b7b22f8b35a62 --- Gruntfile.js | 16 +--------------- res/fonts/generator_config.txt | 2 +- src/index.html | 4 ++-- 3 files changed, 4 insertions(+), 18 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 20d0bc8ad..890ff6263 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -12,7 +12,6 @@ module.exports = function(grunt) { grunt.loadNpmTasks('grunt-webpack'); grunt.loadNpmTasks('grunt-preprocess'); grunt.loadNpmTasks('grunt-contrib-concat'); - grunt.loadNpmTasks('grunt-contrib-cssmin'); grunt.loadNpmTasks('grunt-contrib-imagemin'); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-watch'); @@ -300,17 +299,6 @@ module.exports = function(grunt) { ] } }, - cssmin: { - options: { - rebase: false - }, - target: { - files: [{ - 'build/dist/ripple.min.css': 'build/dist/ripple.css', - 'res/fonts/stylesheet.min.css': 'res/fonts/stylesheet.css' - }] - } - }, imagemin: { // note, this is done after 'copy' task so as not to rewrite the original img files dynamic: { @@ -349,7 +337,7 @@ module.exports = function(grunt) { }, styles: { files: 'src/less/**/*.less', - tasks: ['version', 'versionBranch', 'recess', 'cssmin', 'copy'], + tasks: ['version', 'versionBranch', 'recess', 'copy'], options: { livereload: true } }, index: { @@ -509,7 +497,6 @@ module.exports = function(grunt) { 'preprocess', 'webpack', 'recess', - 'cssmin', 'deps', 'copy', 'imagemin']); @@ -523,7 +510,6 @@ module.exports = function(grunt) { 'webpack:webDebug', 'webpack:webL10n-english', 'recess', - 'cssmin', 'deps', 'copy']); diff --git a/res/fonts/generator_config.txt b/res/fonts/generator_config.txt index 70c57be09..7988bb5fe 100644 --- a/res/fonts/generator_config.txt +++ b/res/fonts/generator_config.txt @@ -2,4 +2,4 @@ # Upload this file to the generator to recreate the settings # you used to create these fonts. -{"mode":"expert","formats":["ttf","woff","woff2","eotz"],"tt_instructor":"keep","fix_vertical_metrics":"Y","fix_gasp":"xy","add_spaces":"Y","add_hyphens":"Y","fallback":"none","fallback_custom":"100","options_subset":"none","subset_range":["macroman","lowercase","uppercase","numbers","punctuation","currency","typographics","math","altpunctuation","accentedlower","accentedupper","diacriticals","cyrillic","german","greek","hebrew","ubasic","ucurrency","ulatinb","ulatinaddl"],"subset_custom":"","subset_custom_range":"","subset_ot_features":"all","subset_ot_features_list":"","css_stylesheet":"stylesheet.min.css","filename_suffix":"-webfont","emsquare":"2048","spacing_adjustment":"0","rememberme":"Y"} +{"mode":"expert","formats":["ttf","woff","woff2","eotz"],"tt_instructor":"keep","fix_vertical_metrics":"Y","fix_gasp":"xy","add_spaces":"Y","add_hyphens":"Y","fallback":"none","fallback_custom":"100","options_subset":"none","subset_range":["macroman","lowercase","uppercase","numbers","punctuation","currency","typographics","math","altpunctuation","accentedlower","accentedupper","diacriticals","cyrillic","german","greek","hebrew","ubasic","ucurrency","ulatinb","ulatinaddl"],"subset_custom":"","subset_custom_range":"","subset_ot_features":"all","subset_ot_features_list":"","css_stylesheet":"stylesheet.css","filename_suffix":"-webfont","emsquare":"2048","spacing_adjustment":"0","rememberme":"Y"} diff --git a/src/index.html b/src/index.html index c8fd73a4b..06589d032 100644 --- a/src/index.html +++ b/src/index.html @@ -30,8 +30,8 @@ - - + + From 50fd6c701d2c16336524acece89c3acd74df26eb Mon Sep 17 00:00:00 2001 From: Malika Date: Tue, 10 Mar 2015 11:45:17 -0700 Subject: [PATCH 033/321] [TASK] Display fees and load in RT (RT-3228) --- src/jade/client/navbar.jade | 5 ++-- src/js/config-example.js | 5 +++- src/js/controllers/app.js | 2 ++ src/js/controllers/navbar.js | 21 ++++++++++++++- src/less/ripple/layout.less | 50 ++++++++++++++++++++++++++++++++---- 5 files changed, 73 insertions(+), 10 deletions(-) diff --git a/src/jade/client/navbar.jade b/src/jade/client/navbar.jade index 10ec4446f..5b93756f5 100644 --- a/src/jade/client/navbar.jade +++ b/src/jade/client/navbar.jade @@ -41,9 +41,8 @@ nav.navbar(role="navigation", ng-controller="NavbarCtrl") //- span.balance {{balance.total | rpamount:{rel_precision: 2} }}  //- span.balance(rp-currency="balance.total", rp-currency-short) li - span.serverStatus( - ng-class="{online: connected}" - rp-tooltip="{{connected ? 'Connected to the Ripple network' : 'Disconnected from the Ripple network'}}", rp-tooltip-placement="bottom") + span(class="serverStatus {{connected ? 'online' : 'offline'}} {{serverLoad}}" + rp-tooltip="{{message}}", rp-tooltip-placement="bottom") li a(href="#/account/public", ng-hide="loading") ~{{userCredentials.username}} li.dropdown.notifications-dropdown(dropdown on-toggle="toggled(open)") diff --git a/src/js/config-example.js b/src/js/config-example.js index 8d46d184a..7439d354e 100644 --- a/src/js/config-example.js +++ b/src/js/config-example.js @@ -83,7 +83,10 @@ var Options = { advanced_feature_switch: false, // Default gateway max trust amount under 'simplfied' view ie when advanced_feature_switch is false in trust/gateway page - gateway_max_limit: 1000000000 + gateway_max_limit: 1000000000, + + // Default threshold in XRPs for fee on RT to show higher load status + low_load_threshold: 0.012 }; // Load client-side overrides diff --git a/src/js/controllers/app.js b/src/js/controllers/app.js index a3ee1d78a..8665e6dcd 100644 --- a/src/js/controllers/app.js +++ b/src/js/controllers/app.js @@ -105,6 +105,8 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, accountObj.on('entry', function(data){ $scope.$apply(function () { + $scope.fee = remote.createTransaction()._computeFee(); + // console.log('fee', remote.createTransaction()._computeFee()); $scope.loadingAccount = false; myHandleAccountEntry(data); diff --git a/src/js/controllers/navbar.js b/src/js/controllers/navbar.js index c6e4e0474..02d84eec6 100644 --- a/src/js/controllers/navbar.js +++ b/src/js/controllers/navbar.js @@ -31,12 +31,31 @@ module.controller('NavbarCtrl', ['$scope', '$element', '$compile', 'rpId', // Reload location.reload(); }; - // Username $scope.$watch('userCredentials', function(){ var username = $scope.userCredentials.username; if(username) $scope.loading = false; + $scope.currentFee = ripple.Amount.from_json($scope.fee).to_human(); $scope.shortUsername = null; + if(!$scope.connected && username) { + $scope.message = 'Disconnected from the Ripple network'; + } + else if ($scope.currentFee && $scope.currentFee > Options.low_load_threshold && $scope.currentFee < ripple.Amount.from_json(Options.max_tx_network_fee).to_human()) { + $scope.serverLoad = 'mediumLoad'; + $scope.message = 'Network fees are currently higher than normal. Fee: ' + $scope.currentFee + ' XRP'; + } + else if ($scope.currentFee && $scope.currentFee >= ripple.Amount.from_json(Options.max_tx_network_fee).to_human()) { + $scope.serverLoad = 'highLoad'; + $scope.message = 'Network fees are currently higher than your maximum. Fee: ' + $scope.currentFee + ' XRP'; + } + else if ($scope.currentFee) { + $scope.message = 'Connected to the Ripple network. Fee: ' + $scope.currentFee + ' XRP'; + } + else { + $scope.message = 'Connected to the Ripple network.'; + } + + if(username && username.length > 25) { $scope.shortUsername = username.substring(0,24)+'...'; } diff --git a/src/less/ripple/layout.less b/src/less/ripple/layout.less index f1a9cdbb3..a70c54a55 100644 --- a/src/less/ripple/layout.less +++ b/src/less/ripple/layout.less @@ -627,11 +627,7 @@ footer { margin: 25px 0; display: inline-block; border-radius: 6px; - background: #888; - - &.online { - background: #00D200; - } + background: #cccccc; } /* animation for png loader */ @@ -675,4 +671,48 @@ footer { animation: rotating 1s linear infinite; } +.animation-keyframes (color-change, #4dae4c, #81d181, online, ease-in-out, 2s, infinite, alternate); +.animation-keyframes (color-change2, #fbdfa0, #feca5d, mediumLoad, ease-in-out, 2s, infinite, alternate); +.animation-keyframes (color-change3, #cb514f, #e38c8f, highLoad, ease-in-out, 2s, infinite, alternate); +.from (color-change, @color) { + background: @color; +} +.to (color-change, @color) { + background: @color; +} + +.keyframes (@name, @from, @to, @vendor:"", @bind:"") { + @keyf: ~"@{bind}@@{vendor}keyframes @{name} { `'\n'`from "; + @{keyf} { + .from(color-change,@from); + } + to { + .to(color-change,@to); + } +} + +// keyframes without any vendor prefix +.animation-keyframes-novendor (@name, @from, @to, @anim-selector) { + .keyframes (@name, @from, @to); + @anim: ~"} `'\n'`.@{anim-selector}"; + @{anim} { + animation-name:@name; + } +} + +// keyframes with vendor prefix +.animation-keyframes (@name, @from, @to, @anim-selector, @func, @duration, @iteration-count, @direction) { + @bind: "} `'\n'`"; + .keyframes (@name, @from, @to, "-moz-"); + .keyframes (@name, @from, @to, "-webkit-", @bind); + .keyframes (@name, @from, @to, "-o-", @bind); + .keyframes (@name, @from, @to, "", @bind); + @anim: ~"} `'\n'`.@{anim-selector}"; + @{anim} { + -moz-animation: @name @func @duration @iteration-count @direction; + -webkit-animation: @name @func @duration @iteration-count @direction; + -o-animation: @name @func @duration @iteration-count @direction; + animation: @name @func @duration @iteration-count @direction; + } +} \ No newline at end of file From 57fc7c54472ce78eeff50302f96422332b04cd85 Mon Sep 17 00:00:00 2001 From: Anna Tong Date: Wed, 11 Mar 2015 15:07:41 -0700 Subject: [PATCH 034/321] Update usd.jade --- src/jade/tabs/usd.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jade/tabs/usd.jade b/src/jade/tabs/usd.jade index a00a29d1d..d242fbd6d 100644 --- a/src/jade/tabs/usd.jade +++ b/src/jade/tabs/usd.jade @@ -49,7 +49,7 @@ section.col-xs-12.content(ng-controller='UsdCtrl') .description(l10n) USA .col-md-3 .title(l10n) Fees - .description(l10n) $ 0.31-$ 5.00 for deposits/withdrawals, .2% when trasnferring + .description(l10n) $ 0.31-$ 5.00 for deposits/withdrawals, .2% when transferring .col-md-3 .title(l10n) Rating .description(l10n) From ee137b06eab23f0f8ecfd6a422352913e20523db Mon Sep 17 00:00:00 2001 From: Malika Date: Thu, 12 Mar 2015 09:53:27 -0700 Subject: [PATCH 035/321] [TASK] Remove demurraging GBI (RM-3225) --- deps/gateways.json | 15 +++---- src/jade/tabs/gold.jade | 4 +- src/js/data/currencies.js | 2 +- src/js/directives/formatters.js | 3 +- src/js/tabs/gold.js | 4 +- src/js/tabs/trade.js | 72 +++------------------------------ 6 files changed, 17 insertions(+), 83 deletions(-) diff --git a/deps/gateways.json b/deps/gateways.json index 773df5cc3..505563ad5 100644 --- a/deps/gateways.json +++ b/deps/gateways.json @@ -110,16 +110,11 @@ "name": "GBI", "accounts": [{ "address": "rrh7rf1gV2pXAoqA8oYbpHd8TKv5ZQeo67", - "currencies": [ - { - "label" : "XAU", - "code" : "0158415500000000C1F76FF6ECB0BAC600000000" - } - ] - }], - "hotwallets": [ - ], - "domain": "goldbullioninternational.com" + "currencies": ["XAU"], + "hotwallets": [ + ], + "domain": "goldbullioninternational.com" + }] }, { "name": "LakeBTC", "accounts": [{ diff --git a/src/jade/tabs/gold.jade b/src/jade/tabs/gold.jade index dc74d56d1..43924427b 100644 --- a/src/jade/tabs/gold.jade +++ b/src/jade/tabs/gold.jade @@ -49,7 +49,7 @@ section.col-xs-12.content(ng-controller='GoldCtrl') .description(l10n) All countries .col-md-3 .title(l10n) Fees - .description(l10n) 0.5% per year + .description(l10n) 0.3% .col-md-3 .title(l10n) Rating .description(l10n) @@ -80,7 +80,7 @@ section.col-xs-12.content(ng-controller='GoldCtrl') a.dismiss#hide(href="", ng-click="toggle_instructions()", l10n) × .title(l10n) Deposit .description(l10n) GBI does not currently support direct deposits. You can - a(href="#/trade") trade XAU(-.5%pa) + a(href="#/trade") trade XAU | or a(href="#/exchange") convert some of your current holdings | . diff --git a/src/js/data/currencies.js b/src/js/data/currencies.js index eeff3d4b3..ce26fb80f 100644 --- a/src/js/data/currencies.js +++ b/src/js/data/currencies.js @@ -186,7 +186,7 @@ module.exports = [ // Precious Metals {value: 'XAU', name: 'Gold', display: true, custom_trade_currency_dropdown: true, standard_precision: 2, order: 0}, - {value: 'XAU (-0.5%pa)', name: 'Gold', display: false, custom_trade_currency_dropdown: true, standard_precision: 2, order: 0}, + {value: 'XAU (-0.5%pa)', name: 'Gold', display: false, custom_trade_currency_dropdown: false, standard_precision: 2, order: 0}, {value: 'XAG', name: 'Silver', display: true, custom_trade_currency_dropdown: true, standard_precision: 2, order: 0}, {value: 'XPT', name: 'Platinum', display: true, custom_trade_currency_dropdown: true, standard_precision: 2, order: 0}, diff --git a/src/js/directives/formatters.js b/src/js/directives/formatters.js index cac7a2d7b..77151d0a2 100644 --- a/src/js/directives/formatters.js +++ b/src/js/directives/formatters.js @@ -161,8 +161,7 @@ module.directive('rpCurrency', function () { currency = amount.currency(); } - //TODO: Delete once Malika pushes her changes for trading pairs - mainText = currency.has_interest() ? currency.to_human().slice(0,3) + ' (-0.5%pa) - Gold' : currency.to_human(); + mainText = currency.to_human(); if (attr.rpCurrencyFull) { var currencyInfo = $.grep(scope.currencies_all, function(e){ return e.value == mainText; })[0]; diff --git a/src/js/tabs/gold.js b/src/js/tabs/gold.js index fbdd74592..35be27304 100644 --- a/src/js/tabs/gold.js +++ b/src/js/tabs/gold.js @@ -31,7 +31,7 @@ GoldTab.prototype.angular = function (module) $scope.loading = true; var amount = ripple.Amount.from_human( - Options.gateway_max_limit + ' ' + '0158415500000000C1F76FF6ECB0BAC600000000', + Options.gateway_max_limit + ' ' + 'XAU', {reference_date: new Date(+new Date() + 5*60000)} ); @@ -129,7 +129,7 @@ GoldTab.prototype.angular = function (module) }; $scope.$watch('lines', function () { - if($scope.lines['rrh7rf1gV2pXAoqA8oYbpHd8TKv5ZQeo670158415500000000C1F76FF6ECB0BAC600000000']){ + if($scope.lines['rrh7rf1gV2pXAoqA8oYbpHd8TKv5ZQeo67XAU']){ $scope.gbiConnected = true; } else { diff --git a/src/js/tabs/trade.js b/src/js/tabs/trade.js index 3c7624f23..8a11a5f14 100644 --- a/src/js/tabs/trade.js +++ b/src/js/tabs/trade.js @@ -890,17 +890,12 @@ TradeTab.prototype.angular = function(module) updateMRU(); }; - // TODO: Remove all hardcoded GBI code eventually $scope.$watch('first_currency_selected', function () { $scope.first_issuer_selected = ''; if($scope.first_currency_selected == 'XRP') { $scope.gateway_change_form.first_iss.$setValidity('rpDest', true); $scope.disable_first_issuer = true; } - else if($scope.first_currency_selected == 'XAU (-0.5%pa)'){ - $scope.first_iss = {}; - $scope.first_iss['GBI'] = 'GBI'; - } else { $scope.disable_first_issuer = false; $scope.first_iss = {}; @@ -924,10 +919,6 @@ TradeTab.prototype.angular = function(module) $scope.gateway_change_form.second_iss.$setValidity('rpDest', true); $scope.disable_second_issuer = true; } - else if($scope.second_currency_selected == 'XAU (-0.5%pa)'){ - $scope.second_iss = {}; - $scope.second_iss['GBI'] = 'GBI'; - } else { $scope.disable_second_issuer = false; $scope.second_iss = {}; @@ -992,57 +983,20 @@ TradeTab.prototype.angular = function(module) return; } - var first_currency; - var second_currency; - var contact_to_address1; - var contact_to_address2; - - var first_currency_gbi = pair[0].substring(0,13) == 'XAU (-0.5%pa)' - ? true - : false; - - var second_currency_gbi = pair[1].substring(0,13) == 'XAU (-0.5%pa)' - ? true - : false; - - if(first_currency_gbi){ - first_currency = order.first_currency = ripple.Currency.from_json(pair[0].substring(0,13)); - } - else { - first_currency = order.first_currency = ripple.Currency.from_json(pair[0].substring(0,3)); - } + var first_currency = order.first_currency = ripple.Currency.from_json(pair[0].substring(0,3)); - if(second_currency_gbi){ - second_currency = order.second_currency = ripple.Currency.from_json(pair[1].substring(0,13)); - } - else { - second_currency = order.second_currency = ripple.Currency.from_json(pair[1].substring(0,3)); - } + var second_currency = order.second_currency = ripple.Currency.from_json(pair[1].substring(0,3)); if(first_currency.is_native()) { order.first_issuer = ''; } else { - if(pair[0].substring(0,13) == 'XAU (-0.5%pa)'){ - contact_to_address1 = webutil.resolveContact($scope.userBlob.data.contacts, pair[0].substring(14)); - } - else { - contact_to_address1 = webutil.resolveContact($scope.userBlob.data.contacts, pair[0].substring(4)); - } + var contact_to_address1 = webutil.resolveContact($scope.userBlob.data.contacts, pair[0].substring(4)); if (contact_to_address1) { order.first_issuer = contact_to_address1; } else { - if(pair[0].substring(14, 17) == 'GBI') { - rippleVaultClient.AuthInfo.get(Options.domain, '~' + pair[0].substring(14), function (err, response1) { - if (err) return; - $scope.$apply(function () { - order.first_issuer = response1.address; - }); - - }); - } - else if (pair[0].substring(4, 5) == '~') { + if (pair[0].substring(4, 5) == '~') { rippleVaultClient.AuthInfo.get(Options.domain, pair[0].substring(4), function (err, response1) { if (err) return; $scope.$apply(function () { @@ -1069,26 +1023,12 @@ TradeTab.prototype.angular = function(module) order.second_issuer = ''; } else { - if(pair[1].substring(0,13) == 'XAU (-0.5%pa)'){ - contact_to_address2 = webutil.resolveContact($scope.userBlob.data.contacts, pair[1].substring(14)); - } - else { - contact_to_address2 = webutil.resolveContact($scope.userBlob.data.contacts, pair[1].substring(4)); - } + var contact_to_address2 = webutil.resolveContact($scope.userBlob.data.contacts, pair[1].substring(4)); if (contact_to_address2) { order.second_issuer = contact_to_address2; } else { - if(pair[1].substring(14, 17) == 'GBI') { - rippleVaultClient.AuthInfo.get(Options.domain, '~' + pair[1].substring(14), function (err, response1) { - if (err) return; - $scope.$apply(function () { - order.first_issuer = response1.address; - }); - - }); - } - else if (pair[1].substring(4, 5) == '~') { + if (pair[1].substring(4, 5) == '~') { rippleVaultClient.AuthInfo.get(Options.domain, pair[1].substring(4), function (err, response2) { if (err) return; $scope.$apply(function () { From 8af59ee0caea9b717ff660afdda46eb1257f9886 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Fri, 6 Mar 2015 15:08:58 -0800 Subject: [PATCH 036/321] [TASK] History: UI improvements --- src/jade/tabs/history.jade | 239 ++++++++++++++++++------------------- 1 file changed, 115 insertions(+), 124 deletions(-) diff --git a/src/jade/tabs/history.jade b/src/jade/tabs/history.jade index b62d6db81..45e62d986 100644 --- a/src/jade/tabs/history.jade +++ b/src/jade/tabs/history.jade @@ -1,23 +1,18 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") - //- Disconnected - - group.disconnected(ng-hide="connected") - p.literal(l10n) You have to be online to see this screen - - group.disconnected(ng-hide="!connected || loadState.transactions || (!loadingAccount && !account.Balance && loadState.account)") + group.disconnected(ng-hide="loadState.transactions || (!loadingAccount && !account.Balance && loadState.account)") div(id="section_loader") img(src="img/sections.png", class="loader") div(class="loading_sections", l10n) Loading History //- Account is unfunded - div(ng-show="!loadingAccount && !account.Balance && loadState.account && connected") + div(ng-show="loadState.transactions && !account.Balance") include banner/unfunded p.literal(l10n) Your account history is empty //- Connected - group.row(ng-show="connected && loadState.transactions && account.Balance") + group.row(ng-show="loadState.transactions && historyShow.length") .filters.row-padding-small.col-lg-3.col-md-4.col-sm-5.col-xs-12 .filter.type-filter.row .col-xs-12.filters-wrapper @@ -58,100 +53,96 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") .transactions.col-lg-9.col-md-8.col-sm-7.col-xs-12 .head.row.hidden-xs - .col-md-9.hidden-sm - .type - .i - .dt(l10n) Date - .desc(l10n) Description - .visible-sm.col-sm-5 - .col-md-3.col-sm-7.export-btn-wrapper.text-right - a#csv.btn.btn-primary.btn-block.btn-sm(href='', ng-click='exportCsv()', rp-download='historyCsv', rp-download-csv='true', rp-download-filename='ripple_historic.csv', l10n) Export to CSV - .message(ng-hide="historyState=='loading' || historyShow", l10n) - | Sorry, no transactions match your current filter. + .col-md-12.export-btn-wrapper.text-right + a#csv.btn.btn-primary.btn-sm(href='', ng-click='exportCsv()' + rp-download='historyCsv', + rp-download-csv='true', + rp-download-filename='ripple_historic.csv', l10n) Export to CSV .head.row.visible-xs .col-xs-12.export-btn-wrapper.text-right - a#csv.btn.btn-primary.btn-block.btn-sm(href='', ng-click='exportCsv()', rp-download='historyCsv', rp-download-csv='true', rp-download-filename='ripple_historic.csv', l10n) Export to CSV + a#csv.btn.btn-primary.btn-sm(href='', ng-click='exportCsv()', rp-download='historyCsv', rp-download-csv='true', rp-download-filename='ripple_historic.csv', l10n) Export to CSV + .message(ng-hide="historyState=='loading' || historyShow", l10n) + | Sorry, no transactions match your current filter. ul li(class="{{entry.transaction.type}}", ng-repeat="entry in historyShow track by entry.hash" ng-click='details[entry.hash] = !details[entry.hash]' ng-class="{open: details[entry.hash]}" - ng-class-odd="'odd'" rp-pretty-amount-date="entry.dateRaw") - div - span.type   - span.i(ng-hide="entry.details") - i.fa.fa-arrow-down(ng-show="entry.transaction.type=='received'") - i.fa.fa-arrow-up(ng-show="entry.transaction.type=='sent'") - i.fa.fa-download.fa-rotate-90(ng-show="entry.transaction.type=='trusted'") - i.fa.fa-download.fa-rotate-270(ng-show="entry.transaction.type=='trusting'") - i.fa.fa-exchange(ng-show="!entry.transaction.type || entry.transaction.type=='offernew' || entry.transaction.type=='offercancel' || entry.transaction.type=='exchange' || entry.transaction.type=='rippling'") - i.fa.fa-cogs(ng-show="entry.transaction.type=='accountset'") - i.fa.fa-exclamation-triangle(ng-show="entry.transaction.type=='failed'") - span.i(ng-show="entry.details") - i.fa.fa-arrow-down - span.dt {{entry.date | date:'EEE, MMM d, h:mm:ss a'}} - span.desc(ng-hide="entry.details", ng-switch on="entry.transaction.type") - span(ng-switch-when="sent") - span(l10n, rp-span-spacing) You sent - span.amount(rp-pretty-amount-high-precision="entry.transaction.amountSent || entry.transaction.amount", rp-address-popover, rp-address-popover-sum="entry.transaction.amountSent || entry.transaction.amount") - | to - span.address(rp-pretty-identity="entry.transaction.counterparty", rp-address-popover="entry.transaction.counterparty") - != require("./history/effects.jade")() - span(ng-switch-when="received") - span(l10n, rp-span-spacing) - span.address(rp-pretty-identity="entry.transaction.counterparty", rp-address-popover="entry.transaction.counterparty") - | sent you - span.amount(rp-pretty-amount="entry.transaction.amount", rp-address-popover, rp-address-popover-sum="entry.transaction.amount") - != require("./history/effects.jade")() - span(ng-switch-when="exchange") - span(l10n, rp-span-spacing) You requested to exchange - span.amount(rp-pretty-amount="entry.transaction.spent", rp-address-popover, rp-address-popover-sum="entry.transaction.spent") - | to - span.amount(rp-pretty-amount="entry.transaction.amount", rp-address-popover, rp-address-popover-sum="entry.transaction.amount") - != require("./history/effects.jade")() - span(ng-switch-when="trusted") - span(l10n, rp-span-spacing) - span.address(title="{{entry.transaction.counterparty}}") {{entry.transaction.counterparty | rpcontactname}} - | now trusts you for - span.amount(rp-pretty-amount="entry.transaction.amount", rp-address-popover, rp-address-popover-sum="entry.transaction.amount") - != require("./history/effects.jade")() - span(ng-switch-when="trusting") - span(l10n, rp-span-spacing) You have now connected to the gateway - span.address(rp-pretty-identity="entry.transaction.counterparty", rp-address-popover="entry.transaction.counterparty") - span(ng-show="globalOptions.advanced_feature_switch", l10n-inc) for - span.amount(ng-show="globalOptions.advanced_feature_switch", rp-pretty-amount="entry.transaction.amount", rp-address-popover, rp-address-popover-sum="entry.transaction.amount") - | . - != require("./history/effects.jade")() - span(ng-switch-when="offernew") - span(ng-show="entry.transaction.sell", l10n, rp-span-spacing) You created an order to sell - span.amount(rp-pretty-amount-high-precision="entry.transaction.gets", rp-address-popover, rp-address-popover-sum="entry.transaction.gets") - | for - span.amount(rp-pretty-amount-high-precision="entry.transaction.pays", rp-address-popover, rp-address-popover-sum="entry.transaction.pays") - span(ng-hide="entry.transaction.sell", l10n, rp-span-spacing) You created an order to buy - span.amount(rp-pretty-amount-high-precision="entry.transaction.pays", rp-address-popover, rp-address-popover-sum="entry.transaction.pays") - | for - span.amount(rp-pretty-amount-high-precision="entry.transaction.gets", rp-address-popover, rp-address-popover-sum="entry.transaction.gets") - != require("./history/effects.jade")() - span(ng-switch-when="offercancel") - span(l10n, rp-span-spacing) You cancelled an order accepting - span.amount(rp-pretty-amount-high-precision="entry.transaction.pays", rp-address-popover, rp-address-popover-sum="entry.transaction.pays") - | for - span.amount(rp-pretty-amount-high-precision="entry.transaction.gets", rp-address-popover, rp-address-popover-sum="entry.transaction.gets") - != require("./history/effects.jade")() - span(ng-switch-when="accountset") - span(l10n) Account details have been changed - != require("./history/effects.jade")() - span(ng-switch-when="rippling") - span(l10n) Rippling - != require("./history/effects.jade")() - span(ng-switch-when="failed", l10n) Failed transaction - span(ng-switch-when="error") - strong(l10n) Unknown transaction - ul.effects(rp-if="details[entry.hash]") - li - span(l10n) The client failed to parse this transaction. The developers have been notified of the issue. - span(ng-switch-default) - != require("./history/effects.jade")() + .cont + .top + span.i(ng-hide="entry.details") + i.fa.fa-arrow-down(ng-show="entry.transaction.type=='received'") + i.fa.fa-arrow-up(ng-show="entry.transaction.type=='sent'") + i.fa.fa-download.fa-rotate-90(ng-show="entry.transaction.type=='trusted'") + i.fa.fa-download.fa-rotate-270(ng-show="entry.transaction.type=='trusting'") + i.fa.fa-exchange(ng-show="!entry.transaction.type || entry.transaction.type=='offernew' || entry.transaction.type=='offercancel' || entry.transaction.type=='exchange' || entry.transaction.type=='rippling'") + i.fa.fa-cogs(ng-show="entry.transaction.type=='accountset'") + i.fa.fa-exclamation-triangle(ng-show="entry.transaction.type=='failed'") + span.i(ng-show="entry.details") + i.fa.fa-arrow-down + span.desc(ng-hide="entry.details", ng-switch on="entry.transaction.type") + span(ng-switch-when="sent") + span(l10n, rp-span-spacing) You sent + span.amount(rp-pretty-amount-high-precision="entry.transaction.amountSent || entry.transaction.amount", rp-address-popover, rp-address-popover-sum="entry.transaction.amountSent || entry.transaction.amount") + | to + span.address(rp-pretty-identity="entry.transaction.counterparty", rp-address-popover="entry.transaction.counterparty") + != require("./history/effects.jade")() + span(ng-switch-when="received") + span(l10n, rp-span-spacing) + span.address(rp-pretty-identity="entry.transaction.counterparty", rp-address-popover="entry.transaction.counterparty") + | sent you + span.amount(rp-pretty-amount="entry.transaction.amount", rp-address-popover, rp-address-popover-sum="entry.transaction.amount") + != require("./history/effects.jade")() + span(ng-switch-when="exchange") + span(l10n, rp-span-spacing) You requested to exchange + span.amount(rp-pretty-amount="entry.transaction.spent", rp-address-popover, rp-address-popover-sum="entry.transaction.spent") + | to + span.amount(rp-pretty-amount="entry.transaction.amount", rp-address-popover, rp-address-popover-sum="entry.transaction.amount") + != require("./history/effects.jade")() + span(ng-switch-when="trusted") + span(l10n, rp-span-spacing) + span.address(title="{{entry.transaction.counterparty}}") {{entry.transaction.counterparty | rpcontactname}} + | now trusts you for + span.amount(rp-pretty-amount="entry.transaction.amount", rp-address-popover, rp-address-popover-sum="entry.transaction.amount") + != require("./history/effects.jade")() + span(ng-switch-when="trusting") + span(l10n, rp-span-spacing) You have now connected to the gateway + span.address(rp-pretty-identity="entry.transaction.counterparty", rp-address-popover="entry.transaction.counterparty") + span(ng-show="globalOptions.advanced_feature_switch", l10n-inc) for + span.amount(ng-show="globalOptions.advanced_feature_switch", rp-pretty-amount="entry.transaction.amount", rp-address-popover, rp-address-popover-sum="entry.transaction.amount") + | . + != require("./history/effects.jade")() + span(ng-switch-when="offernew") + span(ng-show="entry.transaction.sell", l10n, rp-span-spacing) You created an order to sell + span.amount(rp-pretty-amount-high-precision="entry.transaction.gets", rp-address-popover, rp-address-popover-sum="entry.transaction.gets") + | for + span.amount(rp-pretty-amount-high-precision="entry.transaction.pays", rp-address-popover, rp-address-popover-sum="entry.transaction.pays") + span(ng-hide="entry.transaction.sell", l10n, rp-span-spacing) You created an order to buy + span.amount(rp-pretty-amount-high-precision="entry.transaction.pays", rp-address-popover, rp-address-popover-sum="entry.transaction.pays") + | for + span.amount(rp-pretty-amount-high-precision="entry.transaction.gets", rp-address-popover, rp-address-popover-sum="entry.transaction.gets") + != require("./history/effects.jade")() + span(ng-switch-when="offercancel") + span(l10n, rp-span-spacing) You cancelled an order accepting + span.amount(rp-pretty-amount-high-precision="entry.transaction.pays", rp-address-popover, rp-address-popover-sum="entry.transaction.pays") + | for + span.amount(rp-pretty-amount-high-precision="entry.transaction.gets", rp-address-popover, rp-address-popover-sum="entry.transaction.gets") + != require("./history/effects.jade")() + span(ng-switch-when="accountset") + span(l10n) Account details have been changed + != require("./history/effects.jade")() + span(ng-switch-when="rippling") + span(l10n) Rippling + != require("./history/effects.jade")() + span(ng-switch-when="failed", l10n) Failed transaction + span(ng-switch-when="error") + strong(l10n) Unknown transaction + ul.effects(rp-if="details[entry.hash]") + li + span(l10n) The client failed to parse this transaction. The developers have been notified of the issue. + span(ng-switch-default) + != require("./history/effects.jade")() + span.dt {{entry.date | date:'EEE, MMM d, h:mm:ss a'}} span.desc(ng-show="entry.details", ng-switch on="entry.details.type") span(ng-switch-when="giveaway") span(l10n, rp-span-spacing) @@ -167,35 +158,35 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") | using {{entry.details.app.name}} != require("./history/effects.jade")() - .details(ng-if="details[entry.hash]") - .effects(ng-show="entry.balanceEffects") - .title(l10n) Balance Changes - .effect.header - span.description(l10n) Description - span.issuer(l10n, ng-show="entry.balanceEffects | rpAmountHasIssuer") Issuer - span.amount(l10n) Amount - span.balance(l10n) Final balance - .effect(ng-repeat="effect in entry.balanceEffects") - span.description - span(ng-show="effect.type == 'balance_change'", data-label="Description", l10n) XRP Balance Change - span(ng-show="effect.type == 'trust_change_balance'", data-label="Description", l10n) {{effect.currency}} Balance Change - span(ng-show="effect.type == 'fee'", data-label="Description", l10n) Fee - span.issuer( - ng-show="entry.balanceEffects | rpAmountHasIssuer" - rp-pretty-issuer="effect.amount.issuer().to_json()" - rp-pretty-issuer-contacts="userBlob.data.contacts" - rp-pretty-issuer-default="-" - data-label="Issuer" - ) - span.amount(data-label="Amount", rp-pretty-amount="effect.amount", rp-address-popover, rp-address-popover-sum="effect.amount") - span.balance(data-label="Final balance", rp-pretty-amount="effect.balance", rp-address-popover, rp-address-popover-sum="effect.balance") - .links - a.txLink(rp-link-tx="entry.hash", l10n) Transaction details - a.addLink(href="#/contact?to={{entry.transaction.counterparty}}", rp-no-propagate - ng-show="entry.transaction.counterparty && !(entry.transaction.counterparty | rponlycontactname)", l10n) - | Add - strong {{entry.transaction.counterparty | rpcontactname}} - | to contact list + .details(ng-if="details[entry.hash]") + .effects(ng-show="entry.balanceEffects") + .title(l10n) Balance Changes + .effect.header + span.description(l10n) Description + span.issuer(l10n, ng-show="entry.balanceEffects | rpAmountHasIssuer") Issuer + span.amount(l10n) Amount + span.balance(l10n) Final balance + .effect(ng-repeat="effect in entry.balanceEffects") + span.description + span(ng-show="effect.type == 'balance_change'", data-label="Description", l10n) XRP Balance Change + span(ng-show="effect.type == 'trust_change_balance'", data-label="Description", l10n) {{effect.currency}} Balance Change + span(ng-show="effect.type == 'fee'", data-label="Description", l10n) Fee + span.issuer( + ng-show="entry.balanceEffects | rpAmountHasIssuer" + rp-pretty-issuer="effect.amount.issuer().to_json()" + rp-pretty-issuer-contacts="userBlob.data.contacts" + rp-pretty-issuer-default="-" + data-label="Issuer" + ) + span.amount(data-label="Amount", rp-pretty-amount="effect.amount", rp-address-popover, rp-address-popover-sum="effect.amount") + span.balance(data-label="Final balance", rp-pretty-amount="effect.balance", rp-address-popover, rp-address-popover-sum="effect.balance") + .links + a.txLink(rp-link-tx="entry.hash", l10n) Transaction details + a.addLink(href="#/contact?to={{entry.transaction.counterparty}}", rp-no-propagate + ng-show="entry.transaction.counterparty && !(entry.transaction.counterparty | rponlycontactname)", l10n) + | Add + strong {{entry.transaction.counterparty | rpcontactname}} + | to contact list .foot div(ng-show="historyState=='loading'", l10n) img(src="img/button-s.png", class="loader", id="button_loader") From 1f5befe0fbc00170af4a77d400b9350dd3dd028e Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Fri, 6 Mar 2015 15:30:43 -0800 Subject: [PATCH 037/321] [TASK] History: Remove complicated popovers --- src/jade/tabs/history.jade | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/jade/tabs/history.jade b/src/jade/tabs/history.jade index 45e62d986..410fabda5 100644 --- a/src/jade/tabs/history.jade +++ b/src/jade/tabs/history.jade @@ -83,7 +83,7 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") span.desc(ng-hide="entry.details", ng-switch on="entry.transaction.type") span(ng-switch-when="sent") span(l10n, rp-span-spacing) You sent - span.amount(rp-pretty-amount-high-precision="entry.transaction.amountSent || entry.transaction.amount", rp-address-popover, rp-address-popover-sum="entry.transaction.amountSent || entry.transaction.amount") + span.amount(rp-pretty-amount-high-precision="entry.transaction.amountSent || entry.transaction.amount") | to span.address(rp-pretty-identity="entry.transaction.counterparty", rp-address-popover="entry.transaction.counterparty") != require("./history/effects.jade")() @@ -91,42 +91,42 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") span(l10n, rp-span-spacing) span.address(rp-pretty-identity="entry.transaction.counterparty", rp-address-popover="entry.transaction.counterparty") | sent you - span.amount(rp-pretty-amount="entry.transaction.amount", rp-address-popover, rp-address-popover-sum="entry.transaction.amount") + span.amount(rp-pretty-amount="entry.transaction.amount") != require("./history/effects.jade")() span(ng-switch-when="exchange") span(l10n, rp-span-spacing) You requested to exchange - span.amount(rp-pretty-amount="entry.transaction.spent", rp-address-popover, rp-address-popover-sum="entry.transaction.spent") + span.amount(rp-pretty-amount="entry.transaction.spent") | to - span.amount(rp-pretty-amount="entry.transaction.amount", rp-address-popover, rp-address-popover-sum="entry.transaction.amount") + span.amount(rp-pretty-amount="entry.transaction.amount") != require("./history/effects.jade")() span(ng-switch-when="trusted") span(l10n, rp-span-spacing) span.address(title="{{entry.transaction.counterparty}}") {{entry.transaction.counterparty | rpcontactname}} | now trusts you for - span.amount(rp-pretty-amount="entry.transaction.amount", rp-address-popover, rp-address-popover-sum="entry.transaction.amount") + span.amount(rp-pretty-amount="entry.transaction.amount") != require("./history/effects.jade")() span(ng-switch-when="trusting") span(l10n, rp-span-spacing) You have now connected to the gateway span.address(rp-pretty-identity="entry.transaction.counterparty", rp-address-popover="entry.transaction.counterparty") span(ng-show="globalOptions.advanced_feature_switch", l10n-inc) for - span.amount(ng-show="globalOptions.advanced_feature_switch", rp-pretty-amount="entry.transaction.amount", rp-address-popover, rp-address-popover-sum="entry.transaction.amount") + span.amount(ng-show="globalOptions.advanced_feature_switch", rp-pretty-amount="entry.transaction.amount") | . != require("./history/effects.jade")() span(ng-switch-when="offernew") span(ng-show="entry.transaction.sell", l10n, rp-span-spacing) You created an order to sell - span.amount(rp-pretty-amount-high-precision="entry.transaction.gets", rp-address-popover, rp-address-popover-sum="entry.transaction.gets") + span.amount(rp-pretty-amount-high-precision="entry.transaction.gets") | for - span.amount(rp-pretty-amount-high-precision="entry.transaction.pays", rp-address-popover, rp-address-popover-sum="entry.transaction.pays") + span.amount(rp-pretty-amount-high-precision="entry.transaction.pays") span(ng-hide="entry.transaction.sell", l10n, rp-span-spacing) You created an order to buy - span.amount(rp-pretty-amount-high-precision="entry.transaction.pays", rp-address-popover, rp-address-popover-sum="entry.transaction.pays") + span.amount(rp-pretty-amount-high-precision="entry.transaction.pays") | for - span.amount(rp-pretty-amount-high-precision="entry.transaction.gets", rp-address-popover, rp-address-popover-sum="entry.transaction.gets") + span.amount(rp-pretty-amount-high-precision="entry.transaction.gets") != require("./history/effects.jade")() span(ng-switch-when="offercancel") span(l10n, rp-span-spacing) You cancelled an order accepting - span.amount(rp-pretty-amount-high-precision="entry.transaction.pays", rp-address-popover, rp-address-popover-sum="entry.transaction.pays") + span.amount(rp-pretty-amount-high-precision="entry.transaction.pays") | for - span.amount(rp-pretty-amount-high-precision="entry.transaction.gets", rp-address-popover, rp-address-popover-sum="entry.transaction.gets") + span.amount(rp-pretty-amount-high-precision="entry.transaction.gets") != require("./history/effects.jade")() span(ng-switch-when="accountset") span(l10n) Account details have been changed @@ -148,13 +148,13 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") span(l10n, rp-span-spacing) span {{entry.details.app.name}} | sent you - span.amount(rp-pretty-amount="entry.transaction.amount", rp-address-popover, rp-address-popover-sum="entry.transaction.amount") + span.amount(rp-pretty-amount="entry.transaction.amount") | and activated your account! != require("./history/effects.jade")() span(ng-switch-when="deposit") span(l10n, rp-span-spacing) | You deposited - span.amount(rp-pretty-amount="entry.transaction.amount", rp-address-popover, rp-address-popover-sum="entry.transaction.amount") + span.amount(rp-pretty-amount="entry.transaction.amount") | using {{entry.details.app.name}} != require("./history/effects.jade")() @@ -178,8 +178,8 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") rp-pretty-issuer-default="-" data-label="Issuer" ) - span.amount(data-label="Amount", rp-pretty-amount="effect.amount", rp-address-popover, rp-address-popover-sum="effect.amount") - span.balance(data-label="Final balance", rp-pretty-amount="effect.balance", rp-address-popover, rp-address-popover-sum="effect.balance") + span.amount(data-label="Amount", rp-pretty-amount="effect.amount") + span.balance(data-label="Final balance", rp-pretty-amount="effect.balance") .links a.txLink(rp-link-tx="entry.hash", l10n) Transaction details a.addLink(href="#/contact?to={{entry.transaction.counterparty}}", rp-no-propagate From 152cd9d71579c2dd01aef661ababf7e0820658ef Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Fri, 6 Mar 2015 16:42:08 -0800 Subject: [PATCH 038/321] [TASK] Add rprange filter --- src/js/filters/filters.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/js/filters/filters.js b/src/js/filters/filters.js index c350c6705..8765990ba 100755 --- a/src/js/filters/filters.js +++ b/src/js/filters/filters.js @@ -555,3 +555,12 @@ module.filter('rpsortcontacts', function() { return arrayCopy; } }); + +module.filter('rprange', function() { + return function(input, total) { + total = parseInt(total, 10); + for (var i = 1; i <= total; i++) + input.push(i); + return input; + }; +}); From 69a5718e57d820ef5f9a9cd9dd8faff3be29006b Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Fri, 6 Mar 2015 16:43:34 -0800 Subject: [PATCH 039/321] [TASK] rpHistory: callbacks -> promises, add getCount --- src/js/controllers/app.js | 11 +++-------- src/js/services/history.js | 24 +++++++++++++----------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/src/js/controllers/app.js b/src/js/controllers/app.js index 8665e6dcd..ad9fdb47c 100644 --- a/src/js/controllers/app.js +++ b/src/js/controllers/app.js @@ -120,14 +120,9 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, limit: Options.transactions_per_page }; - $scope.userHistory.getHistory(options, function(err, data){ - if (err) { - handleAccountTxError(err); - return; - } - - handleAccountTx(data); - }); + $scope.userHistory.getHistory(options) + .success(handleAccountTx) + .error(handleAccountTxError) }); }); diff --git a/src/js/services/history.js b/src/js/services/history.js index 64b674dfb..42eb652a6 100644 --- a/src/js/services/history.js +++ b/src/js/services/history.js @@ -2,27 +2,29 @@ * Ripple Transaction History API */ -var module = angular.module('history', []); +angular + .module('history', []) + .factory('rpHistory', RpHistory); -module.factory('rpHistory', ['$rootScope', '$http', 'rpNetwork', function ($scope, $http, network) +RpHistory.$inject = ['$rootScope', '$http', 'rpNetwork']; + +function RpHistory ($scope, $http, network) { var rpHistory = function(account){ this.account = account; this.accountObj = network.remote.account(this.account); }; - rpHistory.prototype.getHistory = function (opts, callback) { - $http({ + rpHistory.prototype.getHistory = function (opts) { + return $http({ url: Options.historyApi + '/accounts/' + this.account + '/transactions', method: 'GET', params: opts }) - .success(function(data) { - callback(null, data); - }) - .error(function(err){ - callback(err); - }); + }; + + rpHistory.prototype.getCount = function () { + return this.getHistory({count: true}) }; rpHistory.prototype.onTransaction = function (callback) { @@ -30,4 +32,4 @@ module.factory('rpHistory', ['$rootScope', '$http', 'rpNetwork', function ($scop }; return rpHistory; -}]); \ No newline at end of file +} \ No newline at end of file From bc5465812a31b97196b2781edcc5f6a6b2bf2024 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Fri, 6 Mar 2015 17:00:29 -0800 Subject: [PATCH 040/321] [TASK] History: Add pagination --- src/jade/tabs/history.jade | 25 +++- src/js/tabs/history.js | 263 ++++++++----------------------------- 2 files changed, 73 insertions(+), 215 deletions(-) diff --git a/src/jade/tabs/history.jade b/src/jade/tabs/history.jade index 410fabda5..771713c74 100644 --- a/src/jade/tabs/history.jade +++ b/src/jade/tabs/history.jade @@ -187,12 +187,25 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") | Add strong {{entry.transaction.counterparty | rpcontactname}} | to contact list - .foot - div(ng-show="historyState=='loading'", l10n) - img(src="img/button-s.png", class="loader", id="button_loader") - | Loading more - a.loadmore(ng-show="historyState=='ready'", href="", ng-click="loadMore()", l10n) Load more - div(ng-show="historyState=='full'", l10n) No more transactions left + nav + ul.pagination + li(ng-class="{disabled: $routeParams.page == 1}") + a(href='#/history/{{$routeParams.page-1}}', aria-label='Previous' + ng-hide="$routeParams.page == 1") + span(aria-hidden='true') « + span(ng-show="$routeParams.page == 1") + span(aria-hidden='true') « + li(ng-repeat="n in [] | rprange:pagination.pages" + ng-class="{active: $routeParams.page == n}") + a(href='#/history/{{n}}') {{n}} + li(ng-class="{disabled: $routeParams.page == pagination.pages}") + a(href='#/history/{{$routeParams.page+1}}', aria-label='Next' + ng-hide="$routeParams.page == pagination.pages") + span(aria-hidden='true') » + span(ng-show="$routeParams.page == pagination.pages") + span(aria-hidden='true') » + + // TODO filter calendar: High/low limits. // TODO filter calendar: High limit calculation after the low limit diff --git a/src/js/tabs/history.js b/src/js/tabs/history.js index 9684dc785..6ec54996d 100644 --- a/src/js/tabs/history.js +++ b/src/js/tabs/history.js @@ -19,6 +19,10 @@ HistoryTab.prototype.generateHtml = function () return require('../../jade/tabs/history.jade')(); }; +HistoryTab.prototype.extraRoutes = [ + { name: '/history/:page' } +]; + HistoryTab.prototype.angular = function (module) { module.controller('HistoryCtrl', ['$scope', 'rpId', 'rpNetwork', 'rpTracker', 'rpAppManager', '$routeParams', function ($scope, id, network, rpTracker, appManager, $routeParams) @@ -26,18 +30,17 @@ HistoryTab.prototype.angular = function (module) { // Open/close states of individual history items $scope.details = []; + $scope.pagination = {}; + + // Current page number + if (!$routeParams.page) $routeParams.page = 1; + var history = []; // History collection $scope.historyShow = []; $scope.historyCsv = ''; - // Currencies from history - var historyCurrencies = []; - - // Latest transaction - var latest; - $scope.orderedTypes = ['sent', 'received', 'gateways', 'trades', 'orders', 'other']; $scope.types = { @@ -68,12 +71,53 @@ HistoryTab.prototype.angular = function (module) { }; // History states - $scope.$watch('loadState.transactions',function(){ + $scope.$watch('loadState.transactions', function(){ $scope.historyState = !$scope.loadState.transactions ? 'loading' : 'ready'; - }); - //$scope.typeUsage = []; - //$scope.currencyUsage = []; + if ($scope.loadState.transactions) { + // Get history + if ($routeParams.page == 1) { + // New transactions + $scope.$watchCollection('history', function(){ + history = $scope.history; + + updateHistory(); + }, true); + } else { + $scope.userHistory.getHistory({ + limit: Options.transactions_per_page, + offset: ($routeParams.page - 1) * Options.transactions_per_page + }) + .success(function(data){ + if (!data.transactions.length) return; + + for (var i = 0; i < data.transactions.length; i++) { + // Push + var tx = rewriter.processTxn( + data.transactions[i].tx, + data.transactions[i].meta, + id.account); + + if (tx) { + history.push(tx); + } + } + + updateHistory(); + }) + .error(function(){ + // TODO + }) + } + + // Get transaction count + $scope.userHistory.getCount() + .success(function(response){ + $scope.pagination.count = response.count; + $scope.pagination.pages = Math.ceil($scope.pagination.count / Options.transactions_per_page); + }); + } + }); if (store.get('ripple_history_type_selections')) { $scope.types = $.extend(true,$scope.types,store.get('ripple_history_type_selections')); @@ -90,69 +134,11 @@ HistoryTab.prototype.angular = function (module) { $scope.filters = store.get('ripple_history_filters'); } else { $scope.filters = { - 'currencies_is_active': false, // we do the currency filter only if this is true, which happens when at least one currency is off - 'currencies': {}, 'types': ['sent','received','exchange','trusting','trusted','offernew','offercancel','rippling'], 'minimumAmount': 0.000001 }; } - var getDateRangeHistory = function(dateMin,dateMax,callback) - { - var completed = false; - var history = []; - - var params = { - account: id.account, - ledger_index_min: -1, - limit: 200, - binary: false - }; - - getTx(); - - function getTx() { - network.remote.request_account_tx(params, function(err, data) { - if (!data.transactions.length) { - return callback(history); - } - - for (var i=0;i dateMax.getTime()) { - continue; - } - - // Push - var tx = rewriter.processTxn(data.transactions[i].tx, data.transactions[i].meta, id.account); - if (tx) { - history.push(tx); - } - } - - if (data.marker) { - params.marker = data.marker; - $scope.tx_marker = params.marker; - } else { - // Received all transactions since a marker was not returned - completed = true; - } - - if (completed) { - callback(history); - } else { - getTx(); - } - }); - } - }; - // DateRange filter form $scope.submitDateRangeForm = function() { $scope.dateMaxView.setDate($scope.dateMaxView.getDate() + 1); // Including last date @@ -176,11 +162,6 @@ HistoryTab.prototype.angular = function (module) { }); }; - // All the currencies - $scope.$watch('balances', function(){ - updateCurrencies(); - }); - // Types filter has been changed $scope.$watch('types', function(){ var arr = []; @@ -211,28 +192,8 @@ HistoryTab.prototype.angular = function (module) { updateHistory(); }, true); - // Currency filter has been changed - $scope.$watch('filters.currencies', function(){ - updateCurrencies(); - updateHistory(); - }, true); - - // New transactions - $scope.$watchCollection('history',function(){ - history = $scope.history; - - updateHistory(); - - // Update currencies - if (history.length) - updateCurrencies(); - },true); - // Updates the history collection var updateHistory = function (){ - - //$scope.typeUsage = []; - //$scope.currencyUsage = []; $scope.historyShow = []; if (history.length) { @@ -240,10 +201,8 @@ HistoryTab.prototype.angular = function (module) { $scope.minLedger = 0; - var currencies = _.map($scope.filters.currencies,function(obj,key){return obj.checked ? key : false;}); history.forEach(function(event) { - // Calculate dateMin/dateMax. Used in date filter view if (!$scope.dateMinView) { if (!dateMin || dateMin > event.date) @@ -253,13 +212,6 @@ HistoryTab.prototype.angular = function (module) { dateMax = event.date; } - var affectedCurrencies = _.map(event.affectedCurrencies, function (currencyCode) { - return ripple.Currency.from_json(currencyCode).to_human(); - }); - - // Update currencies - historyCurrencies = _.union(historyCurrencies, affectedCurrencies); // TODO put in one large array, then union outside of foreach - // Calculate min ledger. Used in "load more" if (!$scope.minLedger || $scope.minLedger > event.ledger_index) $scope.minLedger = event.ledger_index; @@ -273,10 +225,6 @@ HistoryTab.prototype.angular = function (module) { else if (!event.transaction && !_.contains($scope.filters.types,'offernew')) return; - // Currency filter - //if ($scope.filters.currencies_is_active && _.intersection(currencies,event.affectedCurrencies).length <= 0) - // return; - var effects = []; var isFundedTrade = false; // Partially/fully funded var isCancellation = false; @@ -350,113 +298,10 @@ HistoryTab.prototype.angular = function (module) { // Push events to history collection $scope.historyShow.push(event); - - // Type and currency usages - // TODO offers/trusts - //if (event.transaction) - // $scope.typeUsage[event.transaction.type] = $scope.typeUsage[event.transaction.type] ? $scope.typeUsage[event.transaction.type]+1 : 1; - - //event.affectedCurrencies.forEach(function(currency){ - // $scope.currencyUsage[currency] = $scope.currencyUsage[currency]? $scope.currencyUsage[currency]+1 : 1; - //}); }); - - if ($scope.historyShow.length && !$scope.dateMinView) { - //setValidDateOnScopeOrNullify('dateMinView', dateMin); - //setValidDateOnScopeOrNullify('dateMaxView', dateMax); - } } }; - // Update the currency list - var updateCurrencies = function (){ - if (!$.isEmptyObject($scope.balances)) { - var currencies = _.union( - ['XRP'], - _.map($scope.balances,function(obj,key){return obj.total.currency().to_human();}), - historyCurrencies - ); - - var objCurrencies = {}; - - var firstProcess = $.isEmptyObject($scope.filters.currencies); - - $scope.filters.currencies_is_active = false; - - _.each(currencies, function(currency){ - var checked = ($scope.filters.currencies[currency] && $scope.filters.currencies[currency].checked) || firstProcess; - objCurrencies[currency] = {'checked':checked}; - - if (!checked) - $scope.filters.currencies_is_active = true; - }); - - $scope.filters.currencies = objCurrencies; - } - }; - - var setValidDateOnScopeOrNullify = function(key, value) { - if (isNaN(value) || value == null) { - $scope[key] = null; - } else { - $scope[key] = new Date(value); - } - }; - - $scope.loadMore = function () { - var dateMin = $scope.dateMinView; - var dateMax = $scope.dateMaxView; - - $scope.historyState = 'loading'; - - var limit = 100; // TODO why 100? - - var params = { - account: id.account, - ledger_index_min: -1, - limit: limit, - marker: $scope.tx_marker, - binary: false - }; - - network.remote.request_account_tx(params, function(err, data) { - $scope.$apply(function () { - if (data.transactions.length < limit) { - - } - - $scope.tx_marker = data.marker; - - if (data.transactions) { - var transactions = []; - - data.transactions.forEach(function (e) { - var tx = rewriter.processTxn(e.tx, e.meta, id.account); - if (tx) { - var date = ripple.utils.toTimestamp(tx.date); - - if (dateMin && dateMax) { - if (date < dateMin.getTime() || date > dateMax.getTime()) - return; - } else if (dateMax && date > dateMax.getTime()) { - return; - } else if (dateMin && date < dateMin.getTime()) { - return; - } - transactions.push(tx); - } - }); - - var newHistory = _.uniq(history.concat(transactions),false,function(ev) {return ev.hash;}); - - $scope.historyState = (history.length === newHistory.length) ? 'full' : 'ready'; - history = newHistory; - updateHistory(); - } - }); - }); - }; - var exists = function(pty) { return typeof pty !== 'undefined'; }; From 524d0a3cbca150a79b9fc1e1ad024454c3f6acf3 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Mon, 9 Mar 2015 16:55:20 -0700 Subject: [PATCH 041/321] [TASK] History effects: Remove complicated popovers --- src/jade/tabs/history/effects.jade | 42 +++++++++++++++--------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/jade/tabs/history/effects.jade b/src/jade/tabs/history/effects.jade index fa8f56670..ef7e9a770 100644 --- a/src/jade/tabs/history/effects.jade +++ b/src/jade/tabs/history/effects.jade @@ -2,13 +2,13 @@ ul.effects(ng-show="entry.effects") li(ng-repeat="effect in entry.showEffects", ng-switch on="effect.type") span(ng-switch-when="offer_funded") span(ng-show="effect.sell", l10n, rp-span-spacing) You sold - span.amount(rp-pretty-amount-high-precision="effect.gets", rp-address-popover, rp-address-popover-sum="effect.gets") + span.amount(rp-pretty-amount-high-precision="effect.gets") | for - span.amount(rp-pretty-amount-high-precision="effect.pays", rp-address-popover, rp-address-popover-sum="effect.pays") + span.amount(rp-pretty-amount-high-precision="effect.pays") span(ng-hide="effect.sell", l10n, rp-span-spacing) You bought - span.amount(rp-pretty-amount-high-precision="effect.pays", rp-address-popover, rp-address-popover-sum="effect.pays") + span.amount(rp-pretty-amount-high-precision="effect.pays") | for - span.amount(rp-pretty-amount-high-precision="effect.gets", rp-address-popover, rp-address-popover-sum="effect.gets") + span.amount(rp-pretty-amount-high-precision="effect.gets") | ( span(l10n) price span : @@ -17,13 +17,13 @@ ul.effects(ng-show="entry.effects") span(l10n) This order has been filled. span(ng-switch-when="offer_partially_funded") span(ng-show="effect.sell", l10n, rp-span-spacing) You sold - span.amount(rp-pretty-amount-high-precision="effect.got", rp-address-popover, rp-address-popover-sum="effect.got") + span.amount(rp-pretty-amount-high-precision="effect.got") | for - span.amount(rp-pretty-amount-high-precision="effect.paid", rp-address-popover, rp-address-popover-sum="effect.paid") + span.amount(rp-pretty-amount-high-precision="effect.paid") span(ng-hide="effect.sell", l10n, rp-span-spacing) You bought - span.amount(rp-pretty-amount-high-precision="effect.paid", rp-address-popover, rp-address-popover-sum="effect.paid") + span.amount(rp-pretty-amount-high-precision="effect.paid") | for - span.amount(rp-pretty-amount-high-precision="effect.got", rp-address-popover, rp-address-popover-sum="effect.got") + span.amount(rp-pretty-amount-high-precision="effect.got") | ( span(l10n) price span : @@ -31,29 +31,29 @@ ul.effects(ng-show="entry.effects") | ). span(ng-show="effect.cancelled", l10n) The rest of your order has been cancelled due to lack of funds. span(ng-hide="effect.deleted", l10n, rp-span-spacing) This order has - span(rp-pretty-amount-high-precision="effect.remaining", rp-address-popover, rp-address-popover-sum="effect.remaining") + span(rp-pretty-amount-high-precision="effect.remaining") | remaining. //- We don't show this if it's an offer_cancel transaction. //- Instead we show it if the order has been cancelled because of luck of //- funds by some other non related transaction. span(ng-switch-when="offer_cancelled", l10n) Order ( - span.amount(rp-pretty-amount-high-precision="effect.pays", rp-address-popover, rp-address-popover-sum="effect.pays") + span.amount(rp-pretty-amount-high-precision="effect.pays") | for - span.amount(rp-pretty-amount-high-precision="effect.gets", rp-address-popover, rp-address-popover-sum="effect.gets") + span.amount(rp-pretty-amount-high-precision="effect.gets") | ) has been cancelled due to lack of funds. span(ng-switch-when="offer_created") span(ng-show="effect.sell", l10n, rp-span-spacing) You created an order to sell - span.amount(rp-pretty-amount-high-precision="effect.pays", rp-address-popover, rp-address-popover-sum="effect.pays") + span.amount(rp-pretty-amount-high-precision="effect.pays") | for - span.amount(rp-pretty-amount-high-precision="effect.pays", rp-address-popover, rp-address-popover-sum="effect.pays") + span.amount(rp-pretty-amount-high-precision="effect.pays") span(ng-hide="effect.sell", l10n, rp-span-spacing) You created an order to buy - span.amount(rp-pretty-amount-high-precision="effect.pays", rp-address-popover, rp-address-popover-sum="effect.pays") + span.amount(rp-pretty-amount-high-precision="effect.pays") | for - span.amount(rp-pretty-amount-high-precision="effect.pays", rp-address-popover, rp-address-popover-sum="effect.pays") + span.amount(rp-pretty-amount-high-precision="effect.pays") span(ng-switch-when="offer_bought", l10n, rp-span-spacing) You bought - span.amount(rp-pretty-amount-high-precision="effect.got", rp-address-popover, rp-address-popover-sum="effect.got") + span.amount(rp-pretty-amount-high-precision="effect.got") | for - span.amount(rp-pretty-amount-high-precision="effect.paid", rp-address-popover, rp-address-popover-sum="effect.paid") + span.amount(rp-pretty-amount-high-precision="effect.paid") | ( span(l10n-inc) price span : @@ -63,12 +63,12 @@ ul.effects(ng-show="entry.effects") span(ng-switch-when="trust_create_local", l10n) You have now connected to the gateway span(rp-pretty-identity="effect.counterparty", rp-address-popover="effect.counterparty") span(l10n-inc) for - span(rp-pretty-amount="effect.limit", rp-address-popover, rp-address-popover-sum="effect.limit") + span(rp-pretty-amount="effect.limit") | . span(ng-switch-when="trust_create_remote", l10n, rp-span-spacing) span(rp-pretty-identity="effect.counterparty", rp-address-popover="effect.counterparty") | is trusting you for - span(rp-pretty-amount="effect.limit", rp-address-popover, rp-address-popover-sum="effect.limit") + span(rp-pretty-amount="effect.limit") | . span(ng-switch-when="trust_change_local", l10n, rp-span-spacing) | You have changed @@ -93,9 +93,9 @@ ul.effects(ng-show="entry.effects") | Trust balance between you and span(rp-pretty-identity="effect.counterparty", rp-address-popover="effect.counterparty") | has been changed by - span(rp-pretty-amount="effect.amount", rp-address-popover, rp-address-popover-sum="effect.amount") + span(rp-pretty-amount="effect.amount") | . span(ng-switch-when="balance_change", l10n, rp-span-spacing) Your balance has been changed by - span(rp-pretty-amount="effect.amount", rp-address-popover, rp-address-popover-sum="effect.amount") + span(rp-pretty-amount="effect.amount") | . From b8556880823233f0804bf12caa0f0d1bcb5d3b42 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Mon, 9 Mar 2015 19:27:26 -0700 Subject: [PATCH 042/321] [TASK] History: Add transaction type filter --- src/jade/tabs/history.jade | 315 +++++++++++++++---------------- src/js/services/history.js | 11 +- src/js/tabs/history.js | 378 +++++++++++++------------------------ 3 files changed, 296 insertions(+), 408 deletions(-) diff --git a/src/jade/tabs/history.jade b/src/jade/tabs/history.jade index 771713c74..fa66f7846 100644 --- a/src/jade/tabs/history.jade +++ b/src/jade/tabs/history.jade @@ -1,10 +1,5 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") - group.disconnected(ng-hide="loadState.transactions || (!loadingAccount && !account.Balance && loadState.account)") - div(id="section_loader") - img(src="img/sections.png", class="loader") - div(class="loading_sections", l10n) Loading History - //- Account is unfunded div(ng-show="loadState.transactions && !account.Balance") include banner/unfunded @@ -12,7 +7,7 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") //- Connected - group.row(ng-show="loadState.transactions && historyShow.length") + group.row .filters.row-padding-small.col-lg-3.col-md-4.col-sm-5.col-xs-12 .filter.type-filter.row .col-xs-12.filters-wrapper @@ -20,13 +15,12 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") .fa.fa-caret-right(ng-show="showFilterTxTypes") .fa.fa-caret-down(ng-hide="showFilterTxTypes") .filter-choices(ng-hide="showFilterTxTypes") - div(ng-repeat="name in orderedTypes") - label(ng-class="{active: types[name].checked}") - i.fa.fa-plus(ng-show="types[name].checked") - i.fa.fa-minus(ng-hide="types[name].checked") - span.name {{name}} - //span.count {{typeUsage[name] || 0}} - input(type="checkbox", name="type-filter", ng-model="types[name].checked") + div(ng-repeat="type in types") + label(ng-class="{active: type.checked}") + i.fa.fa-plus(ng-show="type.checked") + i.fa.fa-minus(ng-hide="type.checked") + span.name {{type.name}} + input(type="checkbox", name="type-filter", ng-model="type.checked") .filter.date-filter.row .col-xs-12.filters-wrapper a.filter-title(href="", ng-click="showFilterDate=!showFilterDate", l10n) Date @@ -52,158 +46,163 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") button.btn.btn-block.btn-primary.submit(type='submit', l10n) Filter .transactions.col-lg-9.col-md-8.col-sm-7.col-xs-12 - .head.row.hidden-xs - .col-md-12.export-btn-wrapper.text-right - a#csv.btn.btn-primary.btn-sm(href='', ng-click='exportCsv()' - rp-download='historyCsv', - rp-download-csv='true', - rp-download-filename='ripple_historic.csv', l10n) Export to CSV - .head.row.visible-xs - .col-xs-12.export-btn-wrapper.text-right - a#csv.btn.btn-primary.btn-sm(href='', ng-click='exportCsv()', rp-download='historyCsv', rp-download-csv='true', rp-download-filename='ripple_historic.csv', l10n) Export to CSV - .message(ng-hide="historyState=='loading' || historyShow", l10n) - | Sorry, no transactions match your current filter. - ul - li(class="{{entry.transaction.type}}", ng-repeat="entry in historyShow track by entry.hash" - ng-click='details[entry.hash] = !details[entry.hash]' - ng-class="{open: details[entry.hash]}" - rp-pretty-amount-date="entry.dateRaw") - .cont - .top - span.i(ng-hide="entry.details") - i.fa.fa-arrow-down(ng-show="entry.transaction.type=='received'") - i.fa.fa-arrow-up(ng-show="entry.transaction.type=='sent'") - i.fa.fa-download.fa-rotate-90(ng-show="entry.transaction.type=='trusted'") - i.fa.fa-download.fa-rotate-270(ng-show="entry.transaction.type=='trusting'") - i.fa.fa-exchange(ng-show="!entry.transaction.type || entry.transaction.type=='offernew' || entry.transaction.type=='offercancel' || entry.transaction.type=='exchange' || entry.transaction.type=='rippling'") - i.fa.fa-cogs(ng-show="entry.transaction.type=='accountset'") - i.fa.fa-exclamation-triangle(ng-show="entry.transaction.type=='failed'") - span.i(ng-show="entry.details") - i.fa.fa-arrow-down - span.desc(ng-hide="entry.details", ng-switch on="entry.transaction.type") - span(ng-switch-when="sent") - span(l10n, rp-span-spacing) You sent - span.amount(rp-pretty-amount-high-precision="entry.transaction.amountSent || entry.transaction.amount") - | to - span.address(rp-pretty-identity="entry.transaction.counterparty", rp-address-popover="entry.transaction.counterparty") - != require("./history/effects.jade")() - span(ng-switch-when="received") + div(ng-show="historyShow.length") + .head.row.hidden-xs + .col-md-12.export-btn-wrapper.text-right + a#csv.btn.btn-primary.btn-sm(href='', ng-click='exportCsv()' + rp-download='historyCsv', + rp-download-csv='true', + rp-download-filename='ripple_historic.csv', l10n) Export to CSV + .head.row.visible-xs + .col-xs-12.export-btn-wrapper.text-right + a#csv.btn.btn-primary.btn-sm(href='', ng-click='exportCsv()', rp-download='historyCsv', rp-download-csv='true', rp-download-filename='ripple_historic.csv', l10n) Export to CSV + .message(ng-hide="historyState=='loading' || historyShow", l10n) + | Sorry, no transactions match your current filter. + ul + li(class="{{entry.transaction.type}}", ng-repeat="entry in historyShow track by entry.hash" + ng-click='details[entry.hash] = !details[entry.hash]' + ng-class="{open: details[entry.hash]}" + rp-pretty-amount-date="entry.dateRaw") + .cont + .top + span.i(ng-hide="entry.details") + i.fa.fa-arrow-down(ng-show="entry.transaction.type=='received'") + i.fa.fa-arrow-up(ng-show="entry.transaction.type=='sent'") + i.fa.fa-download.fa-rotate-90(ng-show="entry.transaction.type=='trusted'") + i.fa.fa-download.fa-rotate-270(ng-show="entry.transaction.type=='trusting'") + i.fa.fa-exchange(ng-show="!entry.transaction.type || entry.transaction.type=='offernew' || entry.transaction.type=='offercancel' || entry.transaction.type=='exchange' || entry.transaction.type=='rippling'") + i.fa.fa-cogs(ng-show="entry.transaction.type=='accountset'") + i.fa.fa-exclamation-triangle(ng-show="entry.transaction.type=='failed'") + span.i(ng-show="entry.details") + i.fa.fa-arrow-down + span.desc(ng-hide="entry.details", ng-switch on="entry.transaction.type") + span(ng-switch-when="sent") + span(l10n, rp-span-spacing) You sent + span.amount(rp-pretty-amount-high-precision="entry.transaction.amountSent || entry.transaction.amount") + | to + span.address(rp-pretty-identity="entry.transaction.counterparty", rp-address-popover="entry.transaction.counterparty") + != require("./history/effects.jade")() + span(ng-switch-when="received") + span(l10n, rp-span-spacing) + span.address(rp-pretty-identity="entry.transaction.counterparty", rp-address-popover="entry.transaction.counterparty") + | sent you + span.amount(rp-pretty-amount="entry.transaction.amount") + != require("./history/effects.jade")() + span(ng-switch-when="exchange") + span(l10n, rp-span-spacing) You requested to exchange + span.amount(rp-pretty-amount="entry.transaction.spent") + | to + span.amount(rp-pretty-amount="entry.transaction.amount") + != require("./history/effects.jade")() + span(ng-switch-when="trusted") + span(l10n, rp-span-spacing) + span.address(title="{{entry.transaction.counterparty}}") {{entry.transaction.counterparty | rpcontactname}} + | now trusts you for + span.amount(rp-pretty-amount="entry.transaction.amount") + != require("./history/effects.jade")() + span(ng-switch-when="trusting") + span(l10n, rp-span-spacing) You have now connected to the gateway + span.address(rp-pretty-identity="entry.transaction.counterparty", rp-address-popover="entry.transaction.counterparty") + span(ng-show="globalOptions.advanced_feature_switch", l10n-inc) for + span.amount(ng-show="globalOptions.advanced_feature_switch", rp-pretty-amount="entry.transaction.amount") + | . + != require("./history/effects.jade")() + span(ng-switch-when="offernew") + span(ng-show="entry.transaction.sell", l10n, rp-span-spacing) You created an order to sell + span.amount(rp-pretty-amount-high-precision="entry.transaction.gets") + | for + span.amount(rp-pretty-amount-high-precision="entry.transaction.pays") + span(ng-hide="entry.transaction.sell", l10n, rp-span-spacing) You created an order to buy + span.amount(rp-pretty-amount-high-precision="entry.transaction.pays") + | for + span.amount(rp-pretty-amount-high-precision="entry.transaction.gets") + != require("./history/effects.jade")() + span(ng-switch-when="offercancel") + span(l10n, rp-span-spacing) You cancelled an order accepting + span.amount(rp-pretty-amount-high-precision="entry.transaction.pays") + | for + span.amount(rp-pretty-amount-high-precision="entry.transaction.gets") + != require("./history/effects.jade")() + span(ng-switch-when="accountset") + span(l10n) Account details have been changed + != require("./history/effects.jade")() + span(ng-switch-when="rippling") + span(l10n) Rippling + != require("./history/effects.jade")() + span(ng-switch-when="failed", l10n) Failed transaction + span(ng-switch-when="error") + strong(l10n) Unknown transaction + ul.effects(rp-if="details[entry.hash]") + li + span(l10n) The client failed to parse this transaction. The developers have been notified of the issue. + span(ng-switch-default) + != require("./history/effects.jade")() + span.dt {{entry.date | date:'EEE, MMM d, h:mm:ss a'}} + span.desc(ng-show="entry.details", ng-switch on="entry.details.type") + span(ng-switch-when="giveaway") span(l10n, rp-span-spacing) - span.address(rp-pretty-identity="entry.transaction.counterparty", rp-address-popover="entry.transaction.counterparty") - | sent you + span {{entry.details.app.name}} + | sent you span.amount(rp-pretty-amount="entry.transaction.amount") + | and activated your account! != require("./history/effects.jade")() - span(ng-switch-when="exchange") - span(l10n, rp-span-spacing) You requested to exchange - span.amount(rp-pretty-amount="entry.transaction.spent") - | to - span.amount(rp-pretty-amount="entry.transaction.amount") - != require("./history/effects.jade")() - span(ng-switch-when="trusted") + span(ng-switch-when="deposit") span(l10n, rp-span-spacing) - span.address(title="{{entry.transaction.counterparty}}") {{entry.transaction.counterparty | rpcontactname}} - | now trusts you for + | You deposited span.amount(rp-pretty-amount="entry.transaction.amount") + | using {{entry.details.app.name}} != require("./history/effects.jade")() - span(ng-switch-when="trusting") - span(l10n, rp-span-spacing) You have now connected to the gateway - span.address(rp-pretty-identity="entry.transaction.counterparty", rp-address-popover="entry.transaction.counterparty") - span(ng-show="globalOptions.advanced_feature_switch", l10n-inc) for - span.amount(ng-show="globalOptions.advanced_feature_switch", rp-pretty-amount="entry.transaction.amount") - | . - != require("./history/effects.jade")() - span(ng-switch-when="offernew") - span(ng-show="entry.transaction.sell", l10n, rp-span-spacing) You created an order to sell - span.amount(rp-pretty-amount-high-precision="entry.transaction.gets") - | for - span.amount(rp-pretty-amount-high-precision="entry.transaction.pays") - span(ng-hide="entry.transaction.sell", l10n, rp-span-spacing) You created an order to buy - span.amount(rp-pretty-amount-high-precision="entry.transaction.pays") - | for - span.amount(rp-pretty-amount-high-precision="entry.transaction.gets") - != require("./history/effects.jade")() - span(ng-switch-when="offercancel") - span(l10n, rp-span-spacing) You cancelled an order accepting - span.amount(rp-pretty-amount-high-precision="entry.transaction.pays") - | for - span.amount(rp-pretty-amount-high-precision="entry.transaction.gets") - != require("./history/effects.jade")() - span(ng-switch-when="accountset") - span(l10n) Account details have been changed - != require("./history/effects.jade")() - span(ng-switch-when="rippling") - span(l10n) Rippling - != require("./history/effects.jade")() - span(ng-switch-when="failed", l10n) Failed transaction - span(ng-switch-when="error") - strong(l10n) Unknown transaction - ul.effects(rp-if="details[entry.hash]") - li - span(l10n) The client failed to parse this transaction. The developers have been notified of the issue. - span(ng-switch-default) - != require("./history/effects.jade")() - span.dt {{entry.date | date:'EEE, MMM d, h:mm:ss a'}} - span.desc(ng-show="entry.details", ng-switch on="entry.details.type") - span(ng-switch-when="giveaway") - span(l10n, rp-span-spacing) - span {{entry.details.app.name}} - | sent you - span.amount(rp-pretty-amount="entry.transaction.amount") - | and activated your account! - != require("./history/effects.jade")() - span(ng-switch-when="deposit") - span(l10n, rp-span-spacing) - | You deposited - span.amount(rp-pretty-amount="entry.transaction.amount") - | using {{entry.details.app.name}} - != require("./history/effects.jade")() - .details(ng-if="details[entry.hash]") - .effects(ng-show="entry.balanceEffects") - .title(l10n) Balance Changes - .effect.header - span.description(l10n) Description - span.issuer(l10n, ng-show="entry.balanceEffects | rpAmountHasIssuer") Issuer - span.amount(l10n) Amount - span.balance(l10n) Final balance - .effect(ng-repeat="effect in entry.balanceEffects") - span.description - span(ng-show="effect.type == 'balance_change'", data-label="Description", l10n) XRP Balance Change - span(ng-show="effect.type == 'trust_change_balance'", data-label="Description", l10n) {{effect.currency}} Balance Change - span(ng-show="effect.type == 'fee'", data-label="Description", l10n) Fee - span.issuer( - ng-show="entry.balanceEffects | rpAmountHasIssuer" - rp-pretty-issuer="effect.amount.issuer().to_json()" - rp-pretty-issuer-contacts="userBlob.data.contacts" - rp-pretty-issuer-default="-" - data-label="Issuer" - ) - span.amount(data-label="Amount", rp-pretty-amount="effect.amount") - span.balance(data-label="Final balance", rp-pretty-amount="effect.balance") - .links - a.txLink(rp-link-tx="entry.hash", l10n) Transaction details - a.addLink(href="#/contact?to={{entry.transaction.counterparty}}", rp-no-propagate - ng-show="entry.transaction.counterparty && !(entry.transaction.counterparty | rponlycontactname)", l10n) - | Add - strong {{entry.transaction.counterparty | rpcontactname}} - | to contact list - nav - ul.pagination - li(ng-class="{disabled: $routeParams.page == 1}") - a(href='#/history/{{$routeParams.page-1}}', aria-label='Previous' - ng-hide="$routeParams.page == 1") - span(aria-hidden='true') « - span(ng-show="$routeParams.page == 1") - span(aria-hidden='true') « - li(ng-repeat="n in [] | rprange:pagination.pages" - ng-class="{active: $routeParams.page == n}") - a(href='#/history/{{n}}') {{n}} - li(ng-class="{disabled: $routeParams.page == pagination.pages}") - a(href='#/history/{{$routeParams.page+1}}', aria-label='Next' - ng-hide="$routeParams.page == pagination.pages") - span(aria-hidden='true') » - span(ng-show="$routeParams.page == pagination.pages") - span(aria-hidden='true') » + .details(ng-if="details[entry.hash]") + .effects(ng-show="entry.balanceEffects") + .title(l10n) Balance Changes + .effect.header + span.description(l10n) Description + span.issuer(l10n, ng-show="entry.balanceEffects | rpAmountHasIssuer") Issuer + span.amount(l10n) Amount + span.balance(l10n) Final balance + .effect(ng-repeat="effect in entry.balanceEffects") + span.description + span(ng-show="effect.type == 'balance_change'", data-label="Description", l10n) XRP Balance Change + span(ng-show="effect.type == 'trust_change_balance'", data-label="Description", l10n) {{effect.currency}} Balance Change + span(ng-show="effect.type == 'fee'", data-label="Description", l10n) Fee + span.issuer( + ng-show="entry.balanceEffects | rpAmountHasIssuer" + rp-pretty-issuer="effect.amount.issuer().to_json()" + rp-pretty-issuer-contacts="userBlob.data.contacts" + rp-pretty-issuer-default="-" + data-label="Issuer" + ) + span.amount(data-label="Amount", rp-pretty-amount="effect.amount") + span.balance(data-label="Final balance", rp-pretty-amount="effect.balance") + .links + a.txLink(rp-link-tx="entry.hash", l10n) Transaction details + a.addLink(href="#/contact?to={{entry.transaction.counterparty}}", rp-no-propagate + ng-show="entry.transaction.counterparty && !(entry.transaction.counterparty | rponlycontactname)", l10n) + | Add + strong {{entry.transaction.counterparty | rpcontactname}} + | to contact list + nav + ul.pagination + li(ng-class="{disabled: pagination.currentPage == 1}") + a(ng-href='{{"#" + generateUrl(pagination.currentPage-1)}}', aria-label='Previous' + ng-hide="pagination.currentPage == 1") + span(aria-hidden='true') « + span(ng-show="pagination.currentPage == 1") + span(aria-hidden='true') « + li(ng-repeat="n in [] | rprange:pagination.pages" + ng-class="{active: pagination.currentPage == n}") + a(ng-href='{{"#" + generateUrl(n)}}') {{n}} + li(ng-class="{disabled: pagination.currentPage == pagination.pages}") + a(ng-href='{{"#" + generateUrl(pagination.currentPage+1)}}', aria-label='Next' + ng-hide="pagination.currentPage == pagination.pages") + span(aria-hidden='true') » + span(ng-show="pagination.currentPage == pagination.pages") + span(aria-hidden='true') » + div(ng-show="loadingHistory") + div(id="section_loader") + img(src="img/sections.png", class="loader") + div(class="loading_sections", l10n) Loading History diff --git a/src/js/services/history.js b/src/js/services/history.js index 42eb652a6..c8725545e 100644 --- a/src/js/services/history.js +++ b/src/js/services/history.js @@ -23,8 +23,15 @@ function RpHistory ($scope, $http, network) }) }; - rpHistory.prototype.getCount = function () { - return this.getHistory({count: true}) + rpHistory.prototype.getCount = function (opts) { + opts = jQuery.extend(true, {}, opts); + + delete opts.limit; + delete opts.offset; + + opts.count = true; + + return this.getHistory(opts) }; rpHistory.prototype.onTransaction = function (callback) { diff --git a/src/js/tabs/history.js b/src/js/tabs/history.js index 6ec54996d..d19596198 100644 --- a/src/js/tabs/history.js +++ b/src/js/tabs/history.js @@ -19,288 +19,171 @@ HistoryTab.prototype.generateHtml = function () return require('../../jade/tabs/history.jade')(); }; -HistoryTab.prototype.extraRoutes = [ - { name: '/history/:page' } -]; - HistoryTab.prototype.angular = function (module) { - module.controller('HistoryCtrl', ['$scope', 'rpId', 'rpNetwork', 'rpTracker', 'rpAppManager', '$routeParams', - function ($scope, id, network, rpTracker, appManager, $routeParams) + module.controller('HistoryCtrl', ['$scope', 'rpId', 'rpNetwork', 'rpTracker', 'rpAppManager', '$routeParams', '$location', + function ($scope, id, network, rpTracker, appManager, $routeParams, $location) { // Open/close states of individual history items $scope.details = []; + $scope.pagination = { + currentPage: $routeParams.page ? $routeParams.page : 1 + }; - $scope.pagination = {}; - - // Current page number - if (!$routeParams.page) $routeParams.page = 1; + $routeParams.types = "" + $routeParams.types; - var history = []; + // Types + $scope.types = [ + { + name: 'Payments & Orders', + types: ['Payment', 'OfferCreate', 'OfferCancel'], + checked: $routeParams.types.indexOf('Payment,OfferCreate,OfferCancel') !== -1 + }, + { + name: 'Gateways', + types: ['TrustSet'], + checked: $routeParams.types.indexOf('TrustSet') !== -1 + }, + { + name: 'Other', + types: ['AccountSet'], + checked: $routeParams.types.indexOf('AccountSet') !== -1 + } + ]; // History collection $scope.historyShow = []; $scope.historyCsv = ''; - $scope.orderedTypes = ['sent', 'received', 'gateways', 'trades', 'orders', 'other']; - - $scope.types = { - sent: { - 'types': ['sent'], - 'checked': true - }, - received: { - 'types': ['received'], - 'checked': true - }, - gateways: { - 'types': ['trusting','trusted'], - 'checked': true - }, - trades: { - 'types': ['offernew','exchange'], - 'checked': true - }, - orders: { - 'types': ['offernew','offercancel','exchange'], - 'checked': true - }, - other: { - 'types': ['accountset','failed','rippling'], - 'checked': true - } - }; - - // History states - $scope.$watch('loadState.transactions', function(){ - $scope.historyState = !$scope.loadState.transactions ? 'loading' : 'ready'; - - if ($scope.loadState.transactions) { - // Get history - if ($routeParams.page == 1) { - // New transactions - $scope.$watchCollection('history', function(){ - history = $scope.history; - - updateHistory(); - }, true); - } else { - $scope.userHistory.getHistory({ - limit: Options.transactions_per_page, - offset: ($routeParams.page - 1) * Options.transactions_per_page - }) - .success(function(data){ - if (!data.transactions.length) return; - - for (var i = 0; i < data.transactions.length; i++) { - // Push - var tx = rewriter.processTxn( - data.transactions[i].tx, - data.transactions[i].meta, - id.account); - - if (tx) { - history.push(tx); - } - } + // Type filter + $scope.$watch('types', function(){ + $location.url($scope.generateUrl()); + }, true); - updateHistory(); - }) - .error(function(){ - // TODO - }) - } + // Initial history load + var initialLoad = $scope.$watch('userHistory', function(){ + if (!$scope.userHistory) return; - // Get transaction count - $scope.userHistory.getCount() - .success(function(response){ - $scope.pagination.count = response.count; - $scope.pagination.pages = Math.ceil($scope.pagination.count / Options.transactions_per_page); - }); - } + loadHistory(); + initialLoad(); }); - if (store.get('ripple_history_type_selections')) { - $scope.types = $.extend(true,$scope.types,store.get('ripple_history_type_selections')); - } + $scope.generateUrl = function (page) { + // Types + var selectedTypesObjects = _.where($scope.types, {checked: true}); + var selectedTypesString = _.map(selectedTypesObjects, 'types').join(','); - if ($routeParams.f && _.has($scope.types, $routeParams.f)) { - _.each($scope.types, function(value, key) { - value.checked = $routeParams.f == key; - }); - } + // select all types if empty + selectedTypesString = selectedTypesString + ? selectedTypesString + : _.map($scope.types, 'types').join(','); - // Filters - if (store.get('ripple_history_filters')) { - $scope.filters = store.get('ripple_history_filters'); - } else { - $scope.filters = { - 'types': ['sent','received','exchange','trusting','trusted','offernew','offercancel','rippling'], - 'minimumAmount': 0.000001 - }; - } + // Page + if (!page) + page = $scope.pagination.currentPage; - // DateRange filter form - $scope.submitDateRangeForm = function() { - $scope.dateMaxView.setDate($scope.dateMaxView.getDate() + 1); // Including last date - changeDateRange($scope.dateMinView,$scope.dateMaxView); - }; + if ($routeParams.types !== selectedTypesString) + page = 1; - $scope.submitMinimumAmountForm = function() { - updateHistory(); + return '/history' + + '?types=' + selectedTypesString + + '&page=' + page; }; - var changeDateRange = function(dateMin,dateMax) { - history = []; - $scope.historyState = 'loading'; + function loadHistory() { + if (!$scope.userHistory) return; - getDateRangeHistory(dateMin,dateMax,function(hist){ - $scope.$apply(function () { - history = hist; - $scope.historyState = 'ready'; - updateHistory(); - }); - }); - }; + $scope.historyShow = []; - // Types filter has been changed - $scope.$watch('types', function(){ - var arr = []; - var checked = {}; - _.each($scope.types, function(type,index){ - if (type.checked) { - arr = arr.concat(type.types); - } + var appliedFilters = { + type: $routeParams.types, + limit: Options.transactions_per_page, + offset: $scope.pagination.currentPage > 1 + ? ($scope.pagination.currentPage - 1) * Options.transactions_per_page + : 0 + }; - checked[index] = { - checked: !!type.checked - }; - }); - $scope.filters.types = arr; + // Get history + $scope.userHistory.getHistory(appliedFilters) + .success(function(data){ + $scope.loadingHistory = false; + updateHistory(data); + }) + .error(function(){ + $scope.loadingHistory = false; + }); - if (!store.disabled) { - store.set('ripple_history_type_selections', checked); - } - }, true); + // Get transaction count + $scope.userHistory.getCount(appliedFilters) + .success(function(response){ + $scope.pagination.count = response.count; + $scope.pagination.pages = Math.ceil($scope.pagination.count / Options.transactions_per_page); + }); - if (!store.disabled) { - $scope.$watch('filters', function(){ - store.set('ripple_history_filters', $scope.filters); - }, true); + $scope.loadingHistory = true; } - $scope.$watch('filters.types', function(){ - updateHistory(); - }, true); - - // Updates the history collection - var updateHistory = function (){ - $scope.historyShow = []; - - if (history.length) { - var dateMin, dateMax; + function updateHistory(data){ + if (!data.transactions.length) return; + + data.transactions.forEach(function(transaction) + { + var event = rewriter.processTxn( + transaction.tx, + transaction.meta, + id.account); + + if (!event) return; + + var effects = []; + var isFundedTrade = false; // Partially / fully funded + var isCancellation = false; + + if (event.effects) { + // Show effects + $.each(event.effects, function(){ + var _this = this; + + switch (_this.type) { + case 'offer_funded': + case 'offer_partially_funded': + case 'offer_bought': + isFundedTrade = true; + /* falls through */ + case 'offer_cancelled': + if (_this.type === 'offer_cancelled') { + isCancellation = true; + if (event.transaction && event.transaction.type === 'offercancel') + return; + } + effects.push(_this); + break; + } + }); - $scope.minLedger = 0; + event.showEffects = effects; - history.forEach(function(event) - { - // Calculate dateMin/dateMax. Used in date filter view - if (!$scope.dateMinView) { - if (!dateMin || dateMin > event.date) - dateMin = event.date; + effects = []; - if (!dateMax || dateMax < event.date) - dateMax = event.date; - } + // Balance changer effects + $.each(event.effects, function(){ + var _this = this; - // Calculate min ledger. Used in "load more" - if (!$scope.minLedger || $scope.minLedger > event.ledger_index) - $scope.minLedger = event.ledger_index; - - // Type filter - if (event.transaction && event.transaction.type === 'error') ; // Always show errors - else if (event.transaction && !_.contains($scope.filters.types,event.transaction.type)) - return; - - // Some events don't have transactions.. this is a temporary fix for filtering offers - else if (!event.transaction && !_.contains($scope.filters.types,'offernew')) - return; - - var effects = []; - var isFundedTrade = false; // Partially/fully funded - var isCancellation = false; - - if (event.effects) { - // Show effects - $.each(event.effects, function(){ - var effect = this; - switch (effect.type) { - case 'offer_funded': - case 'offer_partially_funded': - case 'offer_bought': - isFundedTrade = true; - /* falls through */ - case 'offer_cancelled': - if (effect.type === 'offer_cancelled') { - isCancellation = true; - if (event.transaction && event.transaction.type === 'offercancel') - return; - } - effects.push(effect); - break; - } - }); - - event.showEffects = effects; - - // Trade filter - remove open orders that haven't been filled/partially filled - if (_.contains($scope.filters.types,'exchange') && !_.contains($scope.filters.types,'offercancel')) { - if ((event.transaction && event.transaction.type === 'offernew' && !isFundedTrade) || isCancellation) - return; + switch (_this.type) { + case 'fee': + case 'balance_change': + case 'trust_change_balance': + effects.push(_this); + break; } + }); - effects = [ ]; - - var amount, maxAmount; - var minimumAmount = $scope.filters.minimumAmount; - - // Balance changer effects - $.each(event.effects, function(){ - var effect = this; - switch (effect.type) { - case 'fee': - case 'balance_change': - case 'trust_change_balance': - effects.push(effect); - - // Minimum amount filter - if (effect.type === 'balance_change' || effect.type === 'trust_change_balance') { - amount = effect.amount.abs().is_native() - ? effect.amount.abs().to_number() / 1000000 - : effect.amount.abs().to_number(); - - if (!maxAmount || amount > maxAmount) - maxAmount = amount; - } - break; - } - }); - - // Minimum amount filter - if (maxAmount && minimumAmount > maxAmount) - return; - - event.balanceEffects = effects; - } - - // Don't show sequence update events - if (event.effects && 1 === event.effects.length && event.effects[0].type == 'fee') - return; + event.balanceEffects = effects; + } - // Push events to history collection - $scope.historyShow.push(event); - }); - } - }; + // Push events to history collection + $scope.historyShow.push(event); + }); + } var exists = function(pty) { return typeof pty !== 'undefined'; @@ -524,7 +407,6 @@ HistoryTab.prototype.angular = function (module) { // otherwise the file download will be a single line with header and no data $scope.historyCsv = $scope.historyShow.length ? csv : ''; }; - }]); }; From 5c23f772ed171a32abc80f1c41c285962ba422b4 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 11 Mar 2015 14:31:31 -0700 Subject: [PATCH 043/321] [TASK] History: Add date filter --- src/js/directives/fields.js | 7 +++---- src/js/tabs/history.js | 34 ++++++++++++++++++++++++++++------ 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/src/js/directives/fields.js b/src/js/directives/fields.js index 29d9d39dc..52860d564 100644 --- a/src/js/directives/fields.js +++ b/src/js/directives/fields.js @@ -257,7 +257,9 @@ module.directive('rpDatepicker', [function() { require: '?ngModel', link: function(scope, element, attr, ngModel) { attr.$observe('rpDatepicker', function() { - var dp = $(element).datepicker(); + var dp = $(element).datepicker({ + format: 'mm/dd/yyyy' + }); dp.on('changeDate', function(e) { scope.$apply(function () { ngModel.$setViewValue(e.date.getMonth() ? e.date : new Date(e.date)); @@ -272,9 +274,6 @@ module.directive('rpDatepicker', [function() { (update == null || (update instanceof Date && isNaN(update.getYear())) )) { return; - } else { - dp.datepicker('setValue', update) - .datepicker('update'); } }); }); diff --git a/src/js/tabs/history.js b/src/js/tabs/history.js index d19596198..6d1c3abb0 100644 --- a/src/js/tabs/history.js +++ b/src/js/tabs/history.js @@ -50,6 +50,9 @@ HistoryTab.prototype.angular = function (module) { } ]; + $scope.dateMinView = $routeParams.start ? new Date($routeParams.start) : ''; + $scope.dateMaxView = $routeParams.end ? new Date($routeParams.end) : ''; + // History collection $scope.historyShow = []; $scope.historyCsv = ''; @@ -67,7 +70,17 @@ HistoryTab.prototype.angular = function (module) { initialLoad(); }); + $scope.submitDateRangeForm = function() { + $location.url($scope.generateUrl()); + }; + $scope.generateUrl = function (page) { + var filtersLine = ''; + + // Page + if (!page) + page = $scope.pagination.currentPage; + // Types var selectedTypesObjects = _.where($scope.types, {checked: true}); var selectedTypesString = _.map(selectedTypesObjects, 'types').join(','); @@ -77,26 +90,35 @@ HistoryTab.prototype.angular = function (module) { ? selectedTypesString : _.map($scope.types, 'types').join(','); - // Page - if (!page) - page = $scope.pagination.currentPage; + filtersLine += '&types=' + selectedTypesString; + + // Date range + if ($scope.dateMinView) { + filtersLine += '&start=' + $scope.dateMinView.toISOString(); + } + + if ($scope.dateMaxView) { + filtersLine += '&end=' + $scope.dateMaxView.toISOString(); + } if ($routeParams.types !== selectedTypesString) page = 1; return '/history' - + '?types=' + selectedTypesString - + '&page=' + page; + + '?page=' + page + + filtersLine }; function loadHistory() { - if (!$scope.userHistory) return; + if (!$scope.userHistory || !$routeParams.types) return; $scope.historyShow = []; var appliedFilters = { type: $routeParams.types, limit: Options.transactions_per_page, + start: $routeParams.start, + end: $routeParams.end, offset: $scope.pagination.currentPage > 1 ? ($scope.pagination.currentPage - 1) * Options.transactions_per_page : 0 From ec7c8a88e94f4419f9a993693ed28706fbc0516f Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 11 Mar 2015 15:08:55 -0700 Subject: [PATCH 044/321] [TASK] History: style changes --- src/less/ripple/tabs/history.less | 68 ++++++++++++++----------------- 1 file changed, 30 insertions(+), 38 deletions(-) diff --git a/src/less/ripple/tabs/history.less b/src/less/ripple/tabs/history.less index 5b8a3c5d1..2439d8cf1 100644 --- a/src/less/ripple/tabs/history.less +++ b/src/less/ripple/tabs/history.less @@ -1,4 +1,9 @@ #t-history { + #section_loader { + color: @midgray; + text-align: center; + margin: 50px 0 0 0; + } @bg: @lightgray; @@ -15,9 +20,9 @@ background: @lightgray; padding: 10px; border: 1px solid @lightgray; + text-decoration: none; &:hover { - text-decoration: none; border: 1px solid @midgray; } @@ -74,7 +79,7 @@ &.active { color: @black; background: @lightblue; - border: 1px solid @midgray; + border: 1px solid @lightblue; .count { float: right; @@ -99,12 +104,6 @@ margin-bottom: 30px; margin-left: 0; - div{ - float: left; - margin: 0 0 10px; - text-align: left; - } - .dt { margin: 0 0 0 23px; width: 170px; @@ -122,24 +121,16 @@ padding: 10px; } - & > ul { + & > div > ul { list-style-type: none; margin: 0; padding: 0; & > li { - padding: 0 15px; + padding: 0 0 0 5px; margin: 5px 0; cursor: pointer; - background-color: @lightgray; - - &.open { - - } - - &.odd{ - background-color: @lightgray; - } + background-color: @midgray; .info { display: inline-block; @@ -160,43 +151,44 @@ } } - .type { - width: 8px; - display: block; - margin: 0 0 0 -15px; - background: @midblue; + .cont { + padding: 10px; + background-color: @lightgray; } - &.sent .type { + &.sent { background: @midgreen; } - &.received .type { + &.received { background: @midgreen; } - &.trusted .type { + &.trusted { background: @darkgray; } - &.trusting .type { + &.trusting { background: @darkgray; } - &.accountset .type { + &.accountset { background: @midgray; } - &.failed .type, &.error .type { + &.failed, &.error { background: @midred; } .i { - width: 30px; + padding: 0 10px 0 0; display: inline-block; text-align: center; } - .dt { - width: 170px; - } - - .desc { + .top { + overflow: auto; + .i, .desc { + float: left; + } + .dt { + float: right; + } } .effects > li > span { @@ -204,7 +196,7 @@ } .details { - padding: 10px 0; + padding: 10px 0 0; @media (max-width: @screen-xs-max) { font-size: 12px; } @@ -316,4 +308,4 @@ } } -} +} \ No newline at end of file From 91f2b07c6b892e9828ad569f1b3ac1edba41bc2b Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 11 Mar 2015 16:54:55 -0700 Subject: [PATCH 045/321] [FIX] History: Remove the redundant historyApi call --- src/js/tabs/history.js | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/js/tabs/history.js b/src/js/tabs/history.js index 6d1c3abb0..3258e0ffe 100644 --- a/src/js/tabs/history.js +++ b/src/js/tabs/history.js @@ -29,24 +29,22 @@ HistoryTab.prototype.angular = function (module) { currentPage: $routeParams.page ? $routeParams.page : 1 }; - $routeParams.types = "" + $routeParams.types; - // Types $scope.types = [ { name: 'Payments & Orders', types: ['Payment', 'OfferCreate', 'OfferCancel'], - checked: $routeParams.types.indexOf('Payment,OfferCreate,OfferCancel') !== -1 + checked: $routeParams.types && $routeParams.types.indexOf('Payment,OfferCreate,OfferCancel') !== -1 }, { name: 'Gateways', types: ['TrustSet'], - checked: $routeParams.types.indexOf('TrustSet') !== -1 + checked: $routeParams.types && $routeParams.types.indexOf('TrustSet') !== -1 }, { name: 'Other', types: ['AccountSet'], - checked: $routeParams.types.indexOf('AccountSet') !== -1 + checked: $routeParams.types && $routeParams.types.indexOf('AccountSet') !== -1 } ]; @@ -90,7 +88,7 @@ HistoryTab.prototype.angular = function (module) { ? selectedTypesString : _.map($scope.types, 'types').join(','); - filtersLine += '&types=' + selectedTypesString; + if (selectedTypesString) filtersLine += '&types=' + selectedTypesString; // Date range if ($scope.dateMinView) { @@ -114,18 +112,21 @@ HistoryTab.prototype.angular = function (module) { $scope.historyShow = []; - var appliedFilters = { - type: $routeParams.types, + var options = { limit: Options.transactions_per_page, - start: $routeParams.start, - end: $routeParams.end, offset: $scope.pagination.currentPage > 1 ? ($scope.pagination.currentPage - 1) * Options.transactions_per_page : 0 }; + if ($routeParams.types) { + options.type = $routeParams.types; + } + if ($routeParams.start) options.start = $routeParams.start; + if ($routeParams.end) options.start = $routeParams.end; + // Get history - $scope.userHistory.getHistory(appliedFilters) + $scope.userHistory.getHistory(options) .success(function(data){ $scope.loadingHistory = false; updateHistory(data); @@ -135,7 +136,7 @@ HistoryTab.prototype.angular = function (module) { }); // Get transaction count - $scope.userHistory.getCount(appliedFilters) + $scope.userHistory.getCount(options) .success(function(response){ $scope.pagination.count = response.count; $scope.pagination.pages = Math.ceil($scope.pagination.count / Options.transactions_per_page); From 30963d4fcf3f22035b711437a36cc419085a4ac4 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Thu, 12 Mar 2015 11:49:43 -0700 Subject: [PATCH 046/321] [TASK] History: UX for date filter --- src/jade/tabs/history.jade | 16 ++++++++++++++-- src/js/tabs/history.js | 12 +++++++++++- src/less/ripple/tabs/history.less | 2 +- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/jade/tabs/history.jade b/src/jade/tabs/history.jade index fa66f7846..281204cc2 100644 --- a/src/jade/tabs/history.jade +++ b/src/jade/tabs/history.jade @@ -26,9 +26,21 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") a.filter-title(href="", ng-click="showFilterDate=!showFilterDate", l10n) Date .fa.fa-caret-right(ng-show="showFilterDate") .fa.fa-caret-down(ng-hide="showFilterDate") - div.row(ng-hide="showFilterDate") + .filter-choices + div + label(ng-class="{active: !customDate}") + i.fa.fa-plus(ng-hide="customDate") + i.fa.fa-minus(ng-show="customDate") + span.name(l10n) All dates + input(type="radio", name="date-filter", ng-model="customDate", value="") + div + label(ng-class="{active: customDate}") + i.fa.fa-plus(ng-show="customDate") + i.fa.fa-minus(ng-hide="customDate") + span.name(l10n) Custom date + input(type="radio", name="date-filter", ng-model="customDate", value="1") + div.row(ng-show="customDate") .col-xs-12 - .filter-description(l10n) Load history for specific date range .filter-form-wrapper form.filter-choices(ng-submit="submitDateRangeForm()") .input-group.inline-inputs-group diff --git a/src/js/tabs/history.js b/src/js/tabs/history.js index 3258e0ffe..546bd268c 100644 --- a/src/js/tabs/history.js +++ b/src/js/tabs/history.js @@ -50,6 +50,7 @@ HistoryTab.prototype.angular = function (module) { $scope.dateMinView = $routeParams.start ? new Date($routeParams.start) : ''; $scope.dateMaxView = $routeParams.end ? new Date($routeParams.end) : ''; + $scope.customDate = $scope.dateMinView || $scope.dateMaxView; // History collection $scope.historyShow = []; @@ -60,6 +61,15 @@ HistoryTab.prototype.angular = function (module) { $location.url($scope.generateUrl()); }, true); + // Custom date + $scope.$watch('customDate', function(){ + if (!$scope.customDate && ($scope.dateMinView || $scope.dateMaxView)) { + $scope.dateMinView = null; + $scope.dateMaxView = null; + $location.url($scope.generateUrl()); + } + }); + // Initial history load var initialLoad = $scope.$watch('userHistory', function(){ if (!$scope.userHistory) return; @@ -123,7 +133,7 @@ HistoryTab.prototype.angular = function (module) { options.type = $routeParams.types; } if ($routeParams.start) options.start = $routeParams.start; - if ($routeParams.end) options.start = $routeParams.end; + if ($routeParams.end) options.end = $routeParams.end; // Get history $scope.userHistory.getHistory(options) diff --git a/src/less/ripple/tabs/history.less b/src/less/ripple/tabs/history.less index 2439d8cf1..abcbc5cd9 100644 --- a/src/less/ripple/tabs/history.less +++ b/src/less/ripple/tabs/history.less @@ -53,7 +53,7 @@ } } - .type-filter { + .type-filter, .date-filter { i { margin: 0 10px 0 0; From a8d0fd4b7a20dd95542ed296eeb051dd684d6fc8 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Thu, 12 Mar 2015 12:03:01 -0700 Subject: [PATCH 047/321] [TASK] History: Make filters uncollapsable --- src/jade/tabs/history.jade | 10 +++------- src/less/ripple/tabs/history.less | 14 +------------- 2 files changed, 4 insertions(+), 20 deletions(-) diff --git a/src/jade/tabs/history.jade b/src/jade/tabs/history.jade index 281204cc2..b891d6ff6 100644 --- a/src/jade/tabs/history.jade +++ b/src/jade/tabs/history.jade @@ -11,10 +11,8 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") .filters.row-padding-small.col-lg-3.col-md-4.col-sm-5.col-xs-12 .filter.type-filter.row .col-xs-12.filters-wrapper - a.filter-title(href="", ng-click="showFilterTxTypes=!showFilterTxTypes", l10n) Transaction type - .fa.fa-caret-right(ng-show="showFilterTxTypes") - .fa.fa-caret-down(ng-hide="showFilterTxTypes") - .filter-choices(ng-hide="showFilterTxTypes") + .filter-title(l10n) Transaction type + .filter-choices div(ng-repeat="type in types") label(ng-class="{active: type.checked}") i.fa.fa-plus(ng-show="type.checked") @@ -23,9 +21,7 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") input(type="checkbox", name="type-filter", ng-model="type.checked") .filter.date-filter.row .col-xs-12.filters-wrapper - a.filter-title(href="", ng-click="showFilterDate=!showFilterDate", l10n) Date - .fa.fa-caret-right(ng-show="showFilterDate") - .fa.fa-caret-down(ng-hide="showFilterDate") + .filter-title(l10n) Date .filter-choices div label(ng-class="{active: !customDate}") diff --git a/src/less/ripple/tabs/history.less b/src/less/ripple/tabs/history.less index abcbc5cd9..a024fc373 100644 --- a/src/less/ripple/tabs/history.less +++ b/src/less/ripple/tabs/history.less @@ -15,22 +15,10 @@ .filter-title { display: block; - color: @darkblue; font: 16px OpenSansLight; - background: @lightgray; padding: 10px; - border: 1px solid @lightgray; + border-bottom: 1px solid @midgray; text-decoration: none; - - &:hover { - border: 1px solid @midgray; - } - - .fa { - margin-top: 3px; - float: right; - color: @black; - } } .filter-description { From 360b7acc707818d2c0a9afa54aff5be61dbdd992 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Thu, 12 Mar 2015 12:07:57 -0700 Subject: [PATCH 048/321] [TASK] History: Convert export button to a link --- src/jade/tabs/history.jade | 2 +- src/less/ripple/tabs/history.less | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/jade/tabs/history.jade b/src/jade/tabs/history.jade index b891d6ff6..8bfc19d9c 100644 --- a/src/jade/tabs/history.jade +++ b/src/jade/tabs/history.jade @@ -57,7 +57,7 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") div(ng-show="historyShow.length") .head.row.hidden-xs .col-md-12.export-btn-wrapper.text-right - a#csv.btn.btn-primary.btn-sm(href='', ng-click='exportCsv()' + a#csv(href='', ng-click='exportCsv()' rp-download='historyCsv', rp-download-csv='true', rp-download-filename='ripple_historic.csv', l10n) Export to CSV diff --git a/src/less/ripple/tabs/history.less b/src/less/ripple/tabs/history.less index a024fc373..0291aec85 100644 --- a/src/less/ripple/tabs/history.less +++ b/src/less/ripple/tabs/history.less @@ -98,9 +98,8 @@ } } .export-btn-wrapper { - padding-right: 0 !important; + padding: 6px; @media (max-width: @screen-xs-max) { - padding-left: 0; margin-bottom: 20px; } } From 45b446afc21737ba49c152ce6e58923429923605 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Thu, 12 Mar 2015 13:24:00 -0700 Subject: [PATCH 049/321] [TASK] History: Use Angular UI pagination --- bower.json | 2 +- src/jade/tabs/history.jade | 21 ++++----------------- src/js/tabs/history.js | 15 ++++++++++++--- src/less/ripple/tabs/history.less | 4 ++++ 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/bower.json b/bower.json index 986872350..591d912ca 100644 --- a/bower.json +++ b/bower.json @@ -13,7 +13,7 @@ "store.js": "~1.3.16", "spin.js": "~2.0.1", "snapjs": "~1.9.3", - "angular-bootstrap": "~0.12.0", + "angular-bootstrap": "~0.12.1", "ng-sortable": "~1.1.9", "d3": "~3.5.3" }, diff --git a/src/jade/tabs/history.jade b/src/jade/tabs/history.jade index 8bfc19d9c..b3fed3ab0 100644 --- a/src/jade/tabs/history.jade +++ b/src/jade/tabs/history.jade @@ -190,23 +190,10 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") | Add strong {{entry.transaction.counterparty | rpcontactname}} | to contact list - nav - ul.pagination - li(ng-class="{disabled: pagination.currentPage == 1}") - a(ng-href='{{"#" + generateUrl(pagination.currentPage-1)}}', aria-label='Previous' - ng-hide="pagination.currentPage == 1") - span(aria-hidden='true') « - span(ng-show="pagination.currentPage == 1") - span(aria-hidden='true') « - li(ng-repeat="n in [] | rprange:pagination.pages" - ng-class="{active: pagination.currentPage == n}") - a(ng-href='{{"#" + generateUrl(n)}}') {{n}} - li(ng-class="{disabled: pagination.currentPage == pagination.pages}") - a(ng-href='{{"#" + generateUrl(pagination.currentPage+1)}}', aria-label='Next' - ng-hide="pagination.currentPage == pagination.pages") - span(aria-hidden='true') » - span(ng-show="pagination.currentPage == pagination.pages") - span(aria-hidden='true') » + nav.paging(ng-if="pagination.count") {{pagination.pages}} + pagination.pagination-sm(total-items="pagination.count" + ng-model="pagination.currentPage", items-per-page="pagination.transactionsPerPage" + max-size="10", boundary-links="true") div(ng-show="loadingHistory") div(id="section_loader") img(src="img/sections.png", class="loader") diff --git a/src/js/tabs/history.js b/src/js/tabs/history.js index 546bd268c..c5f7e4651 100644 --- a/src/js/tabs/history.js +++ b/src/js/tabs/history.js @@ -26,7 +26,8 @@ HistoryTab.prototype.angular = function (module) { // Open/close states of individual history items $scope.details = []; $scope.pagination = { - currentPage: $routeParams.page ? $routeParams.page : 1 + currentPage: $routeParams.page ? $routeParams.page : 1, + transactionsPerPage: Options.transactions_per_page }; // Types @@ -57,7 +58,9 @@ HistoryTab.prototype.angular = function (module) { $scope.historyCsv = ''; // Type filter - $scope.$watch('types', function(){ + $scope.$watch('types', function(newVal, oldVal){ + if (!oldVal || newVal == oldVal) return; + $location.url($scope.generateUrl()); }, true); @@ -66,10 +69,17 @@ HistoryTab.prototype.angular = function (module) { if (!$scope.customDate && ($scope.dateMinView || $scope.dateMaxView)) { $scope.dateMinView = null; $scope.dateMaxView = null; + $location.url($scope.generateUrl()); } }); + $scope.$watch('pagination.currentPage', function(){ + if ($scope.pagination.currentPage === $routeParams.page) return; + + $location.url($scope.generateUrl()); + }); + // Initial history load var initialLoad = $scope.$watch('userHistory', function(){ if (!$scope.userHistory) return; @@ -149,7 +159,6 @@ HistoryTab.prototype.angular = function (module) { $scope.userHistory.getCount(options) .success(function(response){ $scope.pagination.count = response.count; - $scope.pagination.pages = Math.ceil($scope.pagination.count / Options.transactions_per_page); }); $scope.loadingHistory = true; diff --git a/src/less/ripple/tabs/history.less b/src/less/ripple/tabs/history.less index 0291aec85..41a36976c 100644 --- a/src/less/ripple/tabs/history.less +++ b/src/less/ripple/tabs/history.less @@ -295,4 +295,8 @@ } } + + nav.paging { + text-align: right; + } } \ No newline at end of file From 92c302be400d4c9e62663bd9445cc13b6c50d4e1 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Thu, 12 Mar 2015 13:39:19 -0700 Subject: [PATCH 050/321] [TASK] History: Add empty history message --- src/jade/tabs/history.jade | 14 ++++++-------- src/js/tabs/history.js | 4 ++-- src/less/ripple/tabs/history.less | 6 ++++++ 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/jade/tabs/history.jade b/src/jade/tabs/history.jade index b3fed3ab0..4c1354240 100644 --- a/src/jade/tabs/history.jade +++ b/src/jade/tabs/history.jade @@ -54,6 +54,12 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") button.btn.btn-block.btn-primary.submit(type='submit', l10n) Filter .transactions.col-lg-9.col-md-8.col-sm-7.col-xs-12 + div(ng-show="loadingHistory", id="section_loader") + img(src="img/sections.png", class="loader") + div(class="loading_sections", l10n) Loading History + div.emptyHistory(ng-show="!loadingHistory && !historyShow.length") + | Sorry, no transactions match your current filter. + div(ng-show="historyShow.length") .head.row.hidden-xs .col-md-12.export-btn-wrapper.text-right @@ -64,8 +70,6 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") .head.row.visible-xs .col-xs-12.export-btn-wrapper.text-right a#csv.btn.btn-primary.btn-sm(href='', ng-click='exportCsv()', rp-download='historyCsv', rp-download-csv='true', rp-download-filename='ripple_historic.csv', l10n) Export to CSV - .message(ng-hide="historyState=='loading' || historyShow", l10n) - | Sorry, no transactions match your current filter. ul li(class="{{entry.transaction.type}}", ng-repeat="entry in historyShow track by entry.hash" ng-click='details[entry.hash] = !details[entry.hash]' @@ -194,12 +198,6 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") pagination.pagination-sm(total-items="pagination.count" ng-model="pagination.currentPage", items-per-page="pagination.transactionsPerPage" max-size="10", boundary-links="true") - div(ng-show="loadingHistory") - div(id="section_loader") - img(src="img/sections.png", class="loader") - div(class="loading_sections", l10n) Loading History - - // TODO filter calendar: High/low limits. // TODO filter calendar: High limit calculation after the low limit diff --git a/src/js/tabs/history.js b/src/js/tabs/history.js index c5f7e4651..a80ecd779 100644 --- a/src/js/tabs/history.js +++ b/src/js/tabs/history.js @@ -30,6 +30,8 @@ HistoryTab.prototype.angular = function (module) { transactionsPerPage: Options.transactions_per_page }; + $scope.loadingHistory = true; + // Types $scope.types = [ { @@ -160,8 +162,6 @@ HistoryTab.prototype.angular = function (module) { .success(function(response){ $scope.pagination.count = response.count; }); - - $scope.loadingHistory = true; } function updateHistory(data){ diff --git a/src/less/ripple/tabs/history.less b/src/less/ripple/tabs/history.less index 41a36976c..e697bdf95 100644 --- a/src/less/ripple/tabs/history.less +++ b/src/less/ripple/tabs/history.less @@ -84,6 +84,12 @@ } .transactions { + .emptyHistory { + padding: 10px; + font: 16px OpenSansLight; + text-align: center; + } + .head { display: inline-block; width: 100%; From f4dc066fb3945da4ae37dd4ba1fdb909f68fafa4 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Thu, 12 Mar 2015 14:10:33 -0700 Subject: [PATCH 051/321] [TASK] Tx: Switch to historyApi --- src/js/services/history.js | 7 ++++++ src/js/tabs/tx.js | 44 +++++++++++++------------------------- 2 files changed, 22 insertions(+), 29 deletions(-) diff --git a/src/js/services/history.js b/src/js/services/history.js index c8725545e..c719262cd 100644 --- a/src/js/services/history.js +++ b/src/js/services/history.js @@ -34,6 +34,13 @@ function RpHistory ($scope, $http, network) return this.getHistory(opts) }; + rpHistory.prototype.getTransaction = function (hash) { + return $http({ + url: Options.historyApi + '/transactions/' + hash, + method: 'GET' + }) + }; + rpHistory.prototype.onTransaction = function (callback) { this.accountObj.on('transaction', callback); }; diff --git a/src/js/tabs/tx.js b/src/js/tabs/tx.js index 91c54cb68..1bdfbd4a2 100644 --- a/src/js/tabs/tx.js +++ b/src/js/tabs/tx.js @@ -18,42 +18,28 @@ TxTab.prototype.generateHtml = function () TxTab.prototype.angular = function (module) { - module.controller('TxCtrl', ['$scope', 'rpNetwork', '$routeParams', 'rpId', '$location', - function ($scope, net, $routeParams, id, $location) + module.controller('TxCtrl', ['$scope', '$routeParams', + function ($scope, $routeParams) { $scope.state = 'loading'; $scope.transaction = { hash: $routeParams.id }; - function loadTx() { - // XXX: Dirty, dirty. But it's going to change soon anyway. - var request = net.remote.request_ledger_hash(); - request.message.command = 'tx'; - request.message.transaction = $routeParams.id; - request.on('success', function (res) { - $scope.$apply(function () { + var initialLoad = $scope.$watch('userHistory', function(){ + if (!$scope.userHistory) return; + + // Get transaction + $scope.userHistory.getTransaction($routeParams.id) + .success(function(data){ + $.extend($scope.transaction, data.transaction.tx); + + $scope.amountSent = rewriter.getAmountSent(data.transaction.tx, data.transaction.meta); $scope.state = 'loaded'; - // XXX This is for the upcoming tx RPC call format change. - var tx = res.tx ? res.tx : res; - _.extend($scope.transaction, res); - - $scope.amountSent = rewriter.getAmountSent(tx, tx.meta); - }); - }); - request.on('error', function (res) { - $scope.$apply(function () { - $scope.state = 'error'; - console.log(res); - }); - }); - request.request(); - } - - if (net.connected) loadTx(); - else var removeListener = $scope.$on('$netConnected', function () { - removeListener(); - loadTx(); + }) + .error(function(){}); + + initialLoad(); }); }]); }; From 309e74bf522146b7332691b7422c86dcee56bc0c Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Thu, 12 Mar 2015 14:30:11 -0700 Subject: [PATCH 052/321] [TASK] Balance: Remove balance trend code --- src/js/tabs/balance.js | 127 ----------------------------------------- 1 file changed, 127 deletions(-) diff --git a/src/js/tabs/balance.js b/src/js/tabs/balance.js index c2742b5bc..a0d6133bd 100644 --- a/src/js/tabs/balance.js +++ b/src/js/tabs/balance.js @@ -46,8 +46,6 @@ BalanceTab.prototype.angular = function (module) var history = []; - $scope.selectedTrendSpan = 86400000; - ($scope.selectedValueMetric = store.get('balance')) || ($scope.selectedValueMetric = 'XRP'); /*** My Orders widget */ @@ -220,131 +218,6 @@ BalanceTab.prototype.angular = function (module) updateExchangeRates(); } - /** - * Currency value trends, will be needed for red/green colorization - * of balances widget - * TODO: Needs outsourcing to Balances widget controller - */ - - var getDateRangeHistory = function(dateMin, dateMax, callback) - { - if (!id.account) return; - var completed = false; - var history = []; - - var params = { - account: id.account, - ledger_index_min: -1, - binary: false - }; - - getTx(); - - function getTx() { - network.remote.request_account_tx(params, function(err, data) { - if (!data.transactions.length) { - return callback(history); - } - - for (var i = 0;i < data.transactions.length;i++) { - var date = ripple.utils.toTimestamp(data.transactions[i].tx.date); - - if (date < dateMin.getTime()) { - completed = true; - break; - } - - if (date > dateMax.getTime()) { - continue; - } - - // Push - var tx = rewriter.processTxn(data.transactions[i].tx, data.transactions[i].meta, id.account); - if (tx) { - history.push(tx); - } - } - - if (data.marker) { - params.marker = data.marker; - $scope.tx_marker = params.marker; - } else { - // Received all transactions since a marker was not returned - completed = true; - } - - if (completed) { - callback(history); - } else { - getTx(); - } - }); - } - }; - - var changeDateRange = function(dateMin, dateMax) { - history = []; - $scope.trendValueAsPercentage = undefined; - - getDateRangeHistory(dateMin, dateMax, function(hist){ - $scope.$apply(function () { - history = hist; - updateTrend(); - }); - }); - }; - - var updateTrend = function() { - $scope.trendMap = {}; - var trendMap = _.reduce(history, function(map, event) { - _.forEach(event.effects, function(effect){ - switch (effect.type) { - case 'fee': - case 'balance_change': - case 'trust_change_balance': - currency = effect.amount.is_native() ? 'XRP' : (effect.currency + ':' + effect.counterparty); - if (typeof map[currency] === 'undefined') map[currency] = 0; - - map[currency] += effect.amount.is_native() - ? effect.amount.to_number() / 1000000 - : effect.amount.to_number(); - break; - } - }); - return map; - }, {}); - $scope.trendMap = trendMap; - }; - - $scope.changeTrendSpan = function(scope) { - $scope.selectedTrendSpan = scope.selectedTrendSpan; - }; - - var refreshTrend = function() { - changeDateRange(new Date(new Date() - $scope.selectedTrendSpan), new Date()); - }; - - //NOTE: lines below are used for the - //balance trend module, which is not implemented - //uncommenting these lines causes performance problems - - //$scope.$watch('selectedTrendSpan', refreshTrend); - //$scope.$watch('account.Balance', refreshTrend); - - //$scope.$watch('aggregateValueAsXrp', updateTrendValue); - //$scope.$watch('trendMap', updateTrendValue); - - function updateTrendValue() { - if (!$scope.trendMap) return; - var av = $scope.aggregateValueAsXrp; - for (var cur in $scope.trendMap) {if ($scope.trendMap.hasOwnProperty(cur)){ - var rate = ($scope.exchangeRates[cur] || 0); - var sbAsXrp = $scope.trendMap[cur] * rate; - av -= sbAsXrp; - }} - $scope.trendValueAsPercentage = ($scope.aggregateValueAsXrp - av) / av; - } - /** * Market chart widget */ From 41d47d00a75c4e7166a9fc7a0e791210ace2b7e5 Mon Sep 17 00:00:00 2001 From: Malika Date: Thu, 12 Mar 2015 15:28:43 -0700 Subject: [PATCH 053/321] [TASK] Better XRP reserve messaging on fund tabs and always show reserve amount --- src/jade/tabs/aud.jade | 2 +- src/jade/tabs/brl.jade | 2 +- src/jade/tabs/eur.jade | 2 +- src/jade/tabs/gold.jade | 2 +- src/jade/tabs/jpy.jade | 2 +- src/jade/tabs/mxn.jade | 2 +- src/jade/tabs/nzd.jade | 2 +- src/jade/tabs/sgd.jade | 2 +- src/jade/tabs/usd.jade | 2 +- src/jade/tabs/widgets/balances.jade | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/jade/tabs/aud.jade b/src/jade/tabs/aud.jade index ddad32ffc..b4133f88c 100644 --- a/src/jade/tabs/aud.jade +++ b/src/jade/tabs/aud.jade @@ -64,7 +64,7 @@ section.col-xs-12.content(ng-controller='AudCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large(ng-show="!audConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance") Add Coinex AUD + button.btn.btn-large(ng-show="!audConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust") Add Coinex AUD button.btn.btn-large(ng-show="!audConnected && loading", type="submit", ng-disabled="loading") Adding... button.btn.btn-large(ng-show="showInstructions && audConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large(ng-show="audConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions diff --git a/src/jade/tabs/brl.jade b/src/jade/tabs/brl.jade index 1485aa120..6c0b9910c 100644 --- a/src/jade/tabs/brl.jade +++ b/src/jade/tabs/brl.jade @@ -69,7 +69,7 @@ section.col-xs-12.content(ng-controller='BrlCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4.action-btn-wrapper - button.btn.btn-large(type="submit",ng-click="save_account()", ng-hide="brlConnected", ng-disabled="loading || !account.Balance") + button.btn.btn-large(type="submit",ng-click="save_account()", ng-hide="brlConnected", ng-disabled="loading || !account.Balance || !can_add_trust") span(ng-show="!loading", l10n) Add Rippex span(ng-show="loading", l10n) Adding... button.btn.btn-large(ng-show="showInstructions && brlConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions diff --git a/src/jade/tabs/eur.jade b/src/jade/tabs/eur.jade index c76d90f04..2499961d9 100644 --- a/src/jade/tabs/eur.jade +++ b/src/jade/tabs/eur.jade @@ -64,7 +64,7 @@ section.col-xs-12.content(ng-controller='EurCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large(ng-show="!eurConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance") Add SnapSwap.eu + button.btn.btn-large(ng-show="!eurConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust") Add SnapSwap.eu button.btn.btn-large(ng-show="!eurConnected && loading", type="submit", ng-disabled="loading") Adding... button.btn.btn-large(ng-show="showInstructions && eurConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large(ng-show="eurConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions diff --git a/src/jade/tabs/gold.jade b/src/jade/tabs/gold.jade index 43924427b..1e243ef73 100644 --- a/src/jade/tabs/gold.jade +++ b/src/jade/tabs/gold.jade @@ -62,7 +62,7 @@ section.col-xs-12.content(ng-controller='GoldCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large(ng-show="!gbiConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance") Add GBI + button.btn.btn-large(ng-show="!gbiConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust") Add GBI button.btn.btn-large(ng-show="!gbiConnected && loading", type="submit", ng-disabled="loading") Adding... button.btn.btn-large(ng-show="showInstructions && gbiConnected", type="submit", ng-click="toggle_instructions()") Hide instructions button.btn.btn-large(ng-show="gbiConnected && !showInstructions", type="submit", ng-click="toggle_instructions()") Show instructions diff --git a/src/jade/tabs/jpy.jade b/src/jade/tabs/jpy.jade index 20b65cb9e..dc9d68a6b 100644 --- a/src/jade/tabs/jpy.jade +++ b/src/jade/tabs/jpy.jade @@ -63,7 +63,7 @@ section.col-xs-12.content(ng-controller='JpyCtrl') .descriptor(ng-show="!jpyConnected", l10n) Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your behalf. .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large(ng-show="!jpyConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance") Add Tokyo JPY + button.btn.btn-large(ng-show="!jpyConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust") Add Tokyo JPY button.btn.btn-large(ng-show="!jpyConnected && loading", type="submit", ng-disabled="loading") Adding... button.btn.btn-large(ng-show="showInstructions && jpyConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large(ng-show="jpyConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions diff --git a/src/jade/tabs/mxn.jade b/src/jade/tabs/mxn.jade index 14c79d5b8..0dbc1ff75 100644 --- a/src/jade/tabs/mxn.jade +++ b/src/jade/tabs/mxn.jade @@ -65,7 +65,7 @@ section.col-xs-12.content(ng-controller='MxnCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large(ng-show="!mxnConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance") Add Bitso + button.btn.btn-large(ng-show="!mxnConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust") Add Bitso button.btn.btn-large(ng-show="!mxnConnected && loading", type="submit", ng-disabled="loading") Adding... button.btn.btn-large(ng-show="showInstructions && mxnConnected", type="submit", ng-click="toggle_instructions()") Hide instructions button.btn.btn-large(ng-show="mxnConnected && !showInstructions", type="submit", ng-click="toggle_instructions()") Show instructions diff --git a/src/jade/tabs/nzd.jade b/src/jade/tabs/nzd.jade index c244f62e4..7aebecf26 100644 --- a/src/jade/tabs/nzd.jade +++ b/src/jade/tabs/nzd.jade @@ -64,7 +64,7 @@ section.col-xs-12.content(ng-controller='NzdCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large(ng-show="!nzdConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance") Add Coinex NZD + button.btn.btn-large(ng-show="!nzdConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust") Add Coinex NZD button.btn.btn-large(ng-show="!nzdConnected && loading", type="submit", ng-disabled="loading") Adding... button.btn.btn-large(ng-show="showInstructions && nzdConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large(ng-show="nzdConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions diff --git a/src/jade/tabs/sgd.jade b/src/jade/tabs/sgd.jade index 1557beae4..7f4456426 100644 --- a/src/jade/tabs/sgd.jade +++ b/src/jade/tabs/sgd.jade @@ -64,7 +64,7 @@ section.col-xs-12.content(ng-controller='SgdCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large(ng-show="!sgdConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance") Add Ripple Singapore + button.btn.btn-large(ng-show="!sgdConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust") Add Ripple Singapore button.btn.btn-large(ng-show="!sgdConnected && loading", type="submit", ng-disabled="loading") Adding... button.btn.btn-large(ng-show="showInstructions && sgdConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large(ng-show="sgdConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions diff --git a/src/jade/tabs/usd.jade b/src/jade/tabs/usd.jade index d242fbd6d..7a6db442d 100644 --- a/src/jade/tabs/usd.jade +++ b/src/jade/tabs/usd.jade @@ -61,7 +61,7 @@ section.col-xs-12.content(ng-controller='UsdCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large(ng-show="!usdConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance") Add SnapSwap.us + button.btn.btn-large(ng-show="!usdConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust") Add SnapSwap.us button.btn.btn-large(ng-show="!usdConnected && loading", type="submit", ng-disabled="loading") Adding... button.btn.btn-large(ng-show="showInstructions && usdConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large(ng-show="usdConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions diff --git a/src/jade/tabs/widgets/balances.jade b/src/jade/tabs/widgets/balances.jade index 28639de37..5db9e432d 100644 --- a/src/jade/tabs/widgets/balances.jade +++ b/src/jade/tabs/widgets/balances.jade @@ -17,7 +17,7 @@ l10n-rp-popover-content="Balance
{{ account.Balance | rpamount }} XRP" ) {{ account.Balance | rpamount:{abs_precision: 2} }} div(ng-hide="account.Balance") 0.00 - dl(rp-slide="entry.show") + dl dt span(l10n) Reserve | From c0b2d48d754498e3a50b4c9345d37857708b75a1 Mon Sep 17 00:00:00 2001 From: Malika Date: Thu, 12 Mar 2015 16:18:55 -0700 Subject: [PATCH 054/321] [FIX] Slide for XRP reserve on balances --- src/jade/tabs/widgets/balances.jade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/jade/tabs/widgets/balances.jade b/src/jade/tabs/widgets/balances.jade index 5db9e432d..488810dfd 100644 --- a/src/jade/tabs/widgets/balances.jade +++ b/src/jade/tabs/widgets/balances.jade @@ -6,7 +6,7 @@ div(rp-slide='showWidgetBalances') ul.fa-ul(ng-class="{'blank': !balances}") - li.currency-xrp(ng-click="entry.show=!entry.show") + li.currency-xrp(ng-click="entry.show=!entry.show", ng-init="entry.show=true") i.fa-li.fa-money h5 XRP div(ng-show="account.Balance") @@ -17,7 +17,7 @@ l10n-rp-popover-content="Balance
{{ account.Balance | rpamount }} XRP" ) {{ account.Balance | rpamount:{abs_precision: 2} }} div(ng-hide="account.Balance") 0.00 - dl + dl(rp-slide="entry.show") dt span(l10n) Reserve | From 4c0fc11b18fe71fef35d7e3af165ba13fe71574d Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Wed, 11 Mar 2015 19:28:44 +0400 Subject: [PATCH 055/321] [TASK] renaming tabs controllers (RT-3014) --- .../controllers/{app.js => app.controller.js} | 0 .../{navbar.js => navbar.controller.js} | 0 src/js/entry/web.js | 72 +++++++++---------- src/js/tabs/{404.js => 404.controller.js} | 0 .../{account.js => account.controller.js} | 0 .../{advanced.js => advanced.controller.js} | 0 src/js/tabs/{aud.js => aud.controller.js} | 0 .../{balance.js => balance.controller.js} | 0 src/js/tabs/{brl.js => brl.controller.js} | 0 src/js/tabs/{btc.js => btc.controller.js} | 0 .../{contacts.js => contacts.controller.js} | 0 src/js/tabs/{debug.js => debug.controller.js} | 0 src/js/tabs/{eur.js => eur.controller.js} | 0 .../{exchange.js => exchange.controller.js} | 0 src/js/tabs/{gold.js => gold.controller.js} | 0 .../{history.js => history.controller.js} | 0 src/js/tabs/{jpy.js => jpy.controller.js} | 0 src/js/tabs/{kyc.js => kyc.controller.js} | 0 src/js/tabs/{login.js => login.controller.js} | 0 .../{migrate.js => migrate.controller.js} | 0 src/js/tabs/{mxn.js => mxn.controller.js} | 0 src/js/tabs/{nzd.js => nzd.controller.js} | 0 ...ypolicy.js => privacypolicy.controller.js} | 0 .../{recover.js => recover.controller.js} | 0 .../{register.js => register.controller.js} | 0 .../{security.js => security.controller.js} | 0 src/js/tabs/{send.js => send.controller.js} | 0 ...gstrade.js => settingstrade.controller.js} | 0 src/js/tabs/{sgd.js => sgd.controller.js} | 0 src/js/tabs/{tou.js => tou.controller.js} | 0 src/js/tabs/{trade.js => trade.controller.js} | 0 src/js/tabs/{trust.js => trust.controller.js} | 0 src/js/tabs/{twofa.js => twofa.controller.js} | 0 src/js/tabs/{tx.js => tx.controller.js} | 0 src/js/tabs/{usd.js => usd.controller.js} | 0 .../{withdraw.js => withdraw.controller.js} | 0 src/js/tabs/{xrp.js => xrp.controller.js} | 0 37 files changed, 36 insertions(+), 36 deletions(-) rename src/js/controllers/{app.js => app.controller.js} (100%) rename src/js/controllers/{navbar.js => navbar.controller.js} (100%) rename src/js/tabs/{404.js => 404.controller.js} (100%) rename src/js/tabs/{account.js => account.controller.js} (100%) rename src/js/tabs/{advanced.js => advanced.controller.js} (100%) rename src/js/tabs/{aud.js => aud.controller.js} (100%) rename src/js/tabs/{balance.js => balance.controller.js} (100%) rename src/js/tabs/{brl.js => brl.controller.js} (100%) rename src/js/tabs/{btc.js => btc.controller.js} (100%) rename src/js/tabs/{contacts.js => contacts.controller.js} (100%) rename src/js/tabs/{debug.js => debug.controller.js} (100%) rename src/js/tabs/{eur.js => eur.controller.js} (100%) rename src/js/tabs/{exchange.js => exchange.controller.js} (100%) rename src/js/tabs/{gold.js => gold.controller.js} (100%) rename src/js/tabs/{history.js => history.controller.js} (100%) rename src/js/tabs/{jpy.js => jpy.controller.js} (100%) rename src/js/tabs/{kyc.js => kyc.controller.js} (100%) rename src/js/tabs/{login.js => login.controller.js} (100%) rename src/js/tabs/{migrate.js => migrate.controller.js} (100%) rename src/js/tabs/{mxn.js => mxn.controller.js} (100%) rename src/js/tabs/{nzd.js => nzd.controller.js} (100%) rename src/js/tabs/{privacypolicy.js => privacypolicy.controller.js} (100%) rename src/js/tabs/{recover.js => recover.controller.js} (100%) rename src/js/tabs/{register.js => register.controller.js} (100%) rename src/js/tabs/{security.js => security.controller.js} (100%) rename src/js/tabs/{send.js => send.controller.js} (100%) rename src/js/tabs/{settingstrade.js => settingstrade.controller.js} (100%) rename src/js/tabs/{sgd.js => sgd.controller.js} (100%) rename src/js/tabs/{tou.js => tou.controller.js} (100%) rename src/js/tabs/{trade.js => trade.controller.js} (100%) rename src/js/tabs/{trust.js => trust.controller.js} (100%) rename src/js/tabs/{twofa.js => twofa.controller.js} (100%) rename src/js/tabs/{tx.js => tx.controller.js} (100%) rename src/js/tabs/{usd.js => usd.controller.js} (100%) rename src/js/tabs/{withdraw.js => withdraw.controller.js} (100%) rename src/js/tabs/{xrp.js => xrp.controller.js} (100%) diff --git a/src/js/controllers/app.js b/src/js/controllers/app.controller.js similarity index 100% rename from src/js/controllers/app.js rename to src/js/controllers/app.controller.js diff --git a/src/js/controllers/navbar.js b/src/js/controllers/navbar.controller.js similarity index 100% rename from src/js/controllers/navbar.js rename to src/js/controllers/navbar.controller.js diff --git a/src/js/entry/web.js b/src/js/entry/web.js index 8e09063bd..edd95a314 100644 --- a/src/js/entry/web.js +++ b/src/js/entry/web.js @@ -1,8 +1,8 @@ var types = require('../util/types'); // Load app modules -require('../controllers/app'); -require('../controllers/navbar'); +require('../controllers/app.controller'); +require('../controllers/navbar.controller'); require('../directives/charts'); require('../directives/fields'); require('../directives/effects'); @@ -75,40 +75,40 @@ var appDependencies = [ // Load tabs var tabdefs = [ - require('../tabs/register'), - require('../tabs/login'), - require('../tabs/migrate'), - require('../tabs/recover'), - require('../tabs/balance'), - require('../tabs/history'), - require('../tabs/contacts'), - require('../tabs/exchange'), - require('../tabs/account'), - require('../tabs/trust'), - require('../tabs/send'), - require('../tabs/trade'), - require('../tabs/advanced'), - require('../tabs/security'), - require('../tabs/kyc'), - require('../tabs/tx'), - require('../tabs/xrp'), - require('../tabs/debug'), - require('../tabs/btc'), - require('../tabs/withdraw'), - require('../tabs/usd'), - require('../tabs/eur'), - require('../tabs/sgd'), - require('../tabs/aud'), - require('../tabs/gold'), - require('../tabs/tou'), - require('../tabs/privacypolicy'), - require('../tabs/twofa'), - require('../tabs/jpy'), - require('../tabs/mxn'), - require('../tabs/nzd'), - require('../tabs/404'), - require('../tabs/brl'), - require('../tabs/settingstrade'), + require('../tabs/register.controller'), + require('../tabs/login.controller'), + require('../tabs/migrate.controller'), + require('../tabs/recover.controller'), + require('../tabs/balance.controller'), + require('../tabs/history.controller'), + require('../tabs/contacts.controller'), + require('../tabs/exchange.controller'), + require('../tabs/account.controller'), + require('../tabs/trust.controller'), + require('../tabs/send.controller'), + require('../tabs/trade.controller'), + require('../tabs/advanced.controller'), + require('../tabs/security.controller'), + require('../tabs/kyc.controller'), + require('../tabs/tx.controller'), + require('../tabs/xrp.controller'), + require('../tabs/debug.controller'), + require('../tabs/btc.controller'), + require('../tabs/withdraw.controller'), + require('../tabs/usd.controller'), + require('../tabs/eur.controller'), + require('../tabs/sgd.controller'), + require('../tabs/aud.controller'), + require('../tabs/gold.controller'), + require('../tabs/tou.controller'), + require('../tabs/privacypolicy.controller'), + require('../tabs/twofa.controller'), + require('../tabs/jpy.controller'), + require('../tabs/mxn.controller'), + require('../tabs/nzd.controller'), + require('../tabs/404.controller'), + require('../tabs/brl.controller'), + require('../tabs/settingstrade.controller'), // Hidden tabs require('../tabs/apps'), diff --git a/src/js/tabs/404.js b/src/js/tabs/404.controller.js similarity index 100% rename from src/js/tabs/404.js rename to src/js/tabs/404.controller.js diff --git a/src/js/tabs/account.js b/src/js/tabs/account.controller.js similarity index 100% rename from src/js/tabs/account.js rename to src/js/tabs/account.controller.js diff --git a/src/js/tabs/advanced.js b/src/js/tabs/advanced.controller.js similarity index 100% rename from src/js/tabs/advanced.js rename to src/js/tabs/advanced.controller.js diff --git a/src/js/tabs/aud.js b/src/js/tabs/aud.controller.js similarity index 100% rename from src/js/tabs/aud.js rename to src/js/tabs/aud.controller.js diff --git a/src/js/tabs/balance.js b/src/js/tabs/balance.controller.js similarity index 100% rename from src/js/tabs/balance.js rename to src/js/tabs/balance.controller.js diff --git a/src/js/tabs/brl.js b/src/js/tabs/brl.controller.js similarity index 100% rename from src/js/tabs/brl.js rename to src/js/tabs/brl.controller.js diff --git a/src/js/tabs/btc.js b/src/js/tabs/btc.controller.js similarity index 100% rename from src/js/tabs/btc.js rename to src/js/tabs/btc.controller.js diff --git a/src/js/tabs/contacts.js b/src/js/tabs/contacts.controller.js similarity index 100% rename from src/js/tabs/contacts.js rename to src/js/tabs/contacts.controller.js diff --git a/src/js/tabs/debug.js b/src/js/tabs/debug.controller.js similarity index 100% rename from src/js/tabs/debug.js rename to src/js/tabs/debug.controller.js diff --git a/src/js/tabs/eur.js b/src/js/tabs/eur.controller.js similarity index 100% rename from src/js/tabs/eur.js rename to src/js/tabs/eur.controller.js diff --git a/src/js/tabs/exchange.js b/src/js/tabs/exchange.controller.js similarity index 100% rename from src/js/tabs/exchange.js rename to src/js/tabs/exchange.controller.js diff --git a/src/js/tabs/gold.js b/src/js/tabs/gold.controller.js similarity index 100% rename from src/js/tabs/gold.js rename to src/js/tabs/gold.controller.js diff --git a/src/js/tabs/history.js b/src/js/tabs/history.controller.js similarity index 100% rename from src/js/tabs/history.js rename to src/js/tabs/history.controller.js diff --git a/src/js/tabs/jpy.js b/src/js/tabs/jpy.controller.js similarity index 100% rename from src/js/tabs/jpy.js rename to src/js/tabs/jpy.controller.js diff --git a/src/js/tabs/kyc.js b/src/js/tabs/kyc.controller.js similarity index 100% rename from src/js/tabs/kyc.js rename to src/js/tabs/kyc.controller.js diff --git a/src/js/tabs/login.js b/src/js/tabs/login.controller.js similarity index 100% rename from src/js/tabs/login.js rename to src/js/tabs/login.controller.js diff --git a/src/js/tabs/migrate.js b/src/js/tabs/migrate.controller.js similarity index 100% rename from src/js/tabs/migrate.js rename to src/js/tabs/migrate.controller.js diff --git a/src/js/tabs/mxn.js b/src/js/tabs/mxn.controller.js similarity index 100% rename from src/js/tabs/mxn.js rename to src/js/tabs/mxn.controller.js diff --git a/src/js/tabs/nzd.js b/src/js/tabs/nzd.controller.js similarity index 100% rename from src/js/tabs/nzd.js rename to src/js/tabs/nzd.controller.js diff --git a/src/js/tabs/privacypolicy.js b/src/js/tabs/privacypolicy.controller.js similarity index 100% rename from src/js/tabs/privacypolicy.js rename to src/js/tabs/privacypolicy.controller.js diff --git a/src/js/tabs/recover.js b/src/js/tabs/recover.controller.js similarity index 100% rename from src/js/tabs/recover.js rename to src/js/tabs/recover.controller.js diff --git a/src/js/tabs/register.js b/src/js/tabs/register.controller.js similarity index 100% rename from src/js/tabs/register.js rename to src/js/tabs/register.controller.js diff --git a/src/js/tabs/security.js b/src/js/tabs/security.controller.js similarity index 100% rename from src/js/tabs/security.js rename to src/js/tabs/security.controller.js diff --git a/src/js/tabs/send.js b/src/js/tabs/send.controller.js similarity index 100% rename from src/js/tabs/send.js rename to src/js/tabs/send.controller.js diff --git a/src/js/tabs/settingstrade.js b/src/js/tabs/settingstrade.controller.js similarity index 100% rename from src/js/tabs/settingstrade.js rename to src/js/tabs/settingstrade.controller.js diff --git a/src/js/tabs/sgd.js b/src/js/tabs/sgd.controller.js similarity index 100% rename from src/js/tabs/sgd.js rename to src/js/tabs/sgd.controller.js diff --git a/src/js/tabs/tou.js b/src/js/tabs/tou.controller.js similarity index 100% rename from src/js/tabs/tou.js rename to src/js/tabs/tou.controller.js diff --git a/src/js/tabs/trade.js b/src/js/tabs/trade.controller.js similarity index 100% rename from src/js/tabs/trade.js rename to src/js/tabs/trade.controller.js diff --git a/src/js/tabs/trust.js b/src/js/tabs/trust.controller.js similarity index 100% rename from src/js/tabs/trust.js rename to src/js/tabs/trust.controller.js diff --git a/src/js/tabs/twofa.js b/src/js/tabs/twofa.controller.js similarity index 100% rename from src/js/tabs/twofa.js rename to src/js/tabs/twofa.controller.js diff --git a/src/js/tabs/tx.js b/src/js/tabs/tx.controller.js similarity index 100% rename from src/js/tabs/tx.js rename to src/js/tabs/tx.controller.js diff --git a/src/js/tabs/usd.js b/src/js/tabs/usd.controller.js similarity index 100% rename from src/js/tabs/usd.js rename to src/js/tabs/usd.controller.js diff --git a/src/js/tabs/withdraw.js b/src/js/tabs/withdraw.controller.js similarity index 100% rename from src/js/tabs/withdraw.js rename to src/js/tabs/withdraw.controller.js diff --git a/src/js/tabs/xrp.js b/src/js/tabs/xrp.controller.js similarity index 100% rename from src/js/tabs/xrp.js rename to src/js/tabs/xrp.controller.js From 68176a0f506e69054d8827aa6934d436212de7e1 Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Thu, 12 Mar 2015 18:16:19 +0400 Subject: [PATCH 056/321] [TASK] renaming services, directives, filters (RT-3014) --- ...ntExists.js => accountExists.directive.js} | 0 ...Popover.js => addressPopover.directive.js} | 0 .../{charts.js => charts.directive.js} | 0 .../{datalinks.js => datalinks.directive.js} | 0 ...{directives.js => directives.directive.js} | 0 .../{effects.js => effects.directive.js} | 0 .../{errors.js => errors.directive.js} | 0 .../{events.js => events.directive.js} | 0 .../{fields.js => fields.directive.js} | 0 ...{formatters.js => formatters.directive.js} | 0 ...arketchart.js => marketchart.directive.js} | 0 ...{validators.js => validators.directive.js} | 0 src/js/entry/web.js | 154 +++++++++--------- ...HasIssuer.js => amountHasIssuer.filter.js} | 0 .../filters/{filters.js => filters.filter.js} | 0 ...hflowLocal.js => authflowLocal.service.js} | 0 ...lowRemote.js => authflowRemote.service.js} | 0 .../{blobLocal.js => blobLocal.service.js} | 0 .../{blobRemote.js => blobRemote.service.js} | 0 .../services/{books.js => books.service.js} | 0 ...{domainalias.js => domainalias.service.js} | 0 .../{federation.js => federation.service.js} | 0 ...lwrappers.js => globalwrappers.service.js} | 0 .../{history.js => history.service.js} | 0 src/js/services/{id.js => id.service.js} | 0 .../{account.js => account.service.js} | 0 .../{appManager.js => appManager.service.js} | 0 .../{history.js => history.service.js} | 0 ...oundBridge.js => inboundBridge.service.js} | 0 ...leManager.js => profileManager.service.js} | 0 .../{trust.js => trust.service.js} | 0 .../{keychain.js => keychain.service.js} | 0 .../services/{ledger.js => ledger.service.js} | 0 .../{network.js => network.service.js} | 0 .../{oldblob.js => oldblob.service.js} | 0 .../services/{popup.js => popup.service.js} | 0 .../{rippletxt.js => rippletxt.service.js} | 0 .../{tracker.js => tracker.service.js} | 0 ...ransactions.js => transactions.service.js} | 0 .../{txqueue.js => txqueue.service.js} | 0 src/js/tabs/{apps.js => apps.controller.js} | 0 src/js/tabs/{su.js => su.controller.js} | 0 ...pWebsocket.js => rpWebsocket.directive.js} | 0 43 files changed, 77 insertions(+), 77 deletions(-) rename src/js/directives/{accountExists.js => accountExists.directive.js} (100%) rename src/js/directives/{addressPopover.js => addressPopover.directive.js} (100%) rename src/js/directives/{charts.js => charts.directive.js} (100%) rename src/js/directives/{datalinks.js => datalinks.directive.js} (100%) rename src/js/directives/{directives.js => directives.directive.js} (100%) rename src/js/directives/{effects.js => effects.directive.js} (100%) rename src/js/directives/{errors.js => errors.directive.js} (100%) rename src/js/directives/{events.js => events.directive.js} (100%) rename src/js/directives/{fields.js => fields.directive.js} (100%) rename src/js/directives/{formatters.js => formatters.directive.js} (100%) rename src/js/directives/{marketchart.js => marketchart.directive.js} (100%) rename src/js/directives/{validators.js => validators.directive.js} (100%) rename src/js/filters/{amountHasIssuer.js => amountHasIssuer.filter.js} (100%) rename src/js/filters/{filters.js => filters.filter.js} (100%) rename src/js/services/{authflowLocal.js => authflowLocal.service.js} (100%) rename src/js/services/{authflowRemote.js => authflowRemote.service.js} (100%) rename src/js/services/{blobLocal.js => blobLocal.service.js} (100%) rename src/js/services/{blobRemote.js => blobRemote.service.js} (100%) rename src/js/services/{books.js => books.service.js} (100%) rename src/js/services/{domainalias.js => domainalias.service.js} (100%) rename src/js/services/{federation.js => federation.service.js} (100%) rename src/js/services/{globalwrappers.js => globalwrappers.service.js} (100%) rename src/js/services/{history.js => history.service.js} (100%) rename src/js/services/{id.js => id.service.js} (100%) rename src/js/services/integration/{account.js => account.service.js} (100%) rename src/js/services/integration/{appManager.js => appManager.service.js} (100%) rename src/js/services/integration/{history.js => history.service.js} (100%) rename src/js/services/integration/{inboundBridge.js => inboundBridge.service.js} (100%) rename src/js/services/integration/{profileManager.js => profileManager.service.js} (100%) rename src/js/services/integration/{trust.js => trust.service.js} (100%) rename src/js/services/{keychain.js => keychain.service.js} (100%) rename src/js/services/{ledger.js => ledger.service.js} (100%) rename src/js/services/{network.js => network.service.js} (100%) rename src/js/services/{oldblob.js => oldblob.service.js} (100%) rename src/js/services/{popup.js => popup.service.js} (100%) rename src/js/services/{rippletxt.js => rippletxt.service.js} (100%) rename src/js/services/{tracker.js => tracker.service.js} (100%) rename src/js/services/{transactions.js => transactions.service.js} (100%) rename src/js/services/{txqueue.js => txqueue.service.js} (100%) rename src/js/tabs/{apps.js => apps.controller.js} (100%) rename src/js/tabs/{su.js => su.controller.js} (100%) rename src/js/validators/{rpWebsocket.js => rpWebsocket.directive.js} (100%) diff --git a/src/js/directives/accountExists.js b/src/js/directives/accountExists.directive.js similarity index 100% rename from src/js/directives/accountExists.js rename to src/js/directives/accountExists.directive.js diff --git a/src/js/directives/addressPopover.js b/src/js/directives/addressPopover.directive.js similarity index 100% rename from src/js/directives/addressPopover.js rename to src/js/directives/addressPopover.directive.js diff --git a/src/js/directives/charts.js b/src/js/directives/charts.directive.js similarity index 100% rename from src/js/directives/charts.js rename to src/js/directives/charts.directive.js diff --git a/src/js/directives/datalinks.js b/src/js/directives/datalinks.directive.js similarity index 100% rename from src/js/directives/datalinks.js rename to src/js/directives/datalinks.directive.js diff --git a/src/js/directives/directives.js b/src/js/directives/directives.directive.js similarity index 100% rename from src/js/directives/directives.js rename to src/js/directives/directives.directive.js diff --git a/src/js/directives/effects.js b/src/js/directives/effects.directive.js similarity index 100% rename from src/js/directives/effects.js rename to src/js/directives/effects.directive.js diff --git a/src/js/directives/errors.js b/src/js/directives/errors.directive.js similarity index 100% rename from src/js/directives/errors.js rename to src/js/directives/errors.directive.js diff --git a/src/js/directives/events.js b/src/js/directives/events.directive.js similarity index 100% rename from src/js/directives/events.js rename to src/js/directives/events.directive.js diff --git a/src/js/directives/fields.js b/src/js/directives/fields.directive.js similarity index 100% rename from src/js/directives/fields.js rename to src/js/directives/fields.directive.js diff --git a/src/js/directives/formatters.js b/src/js/directives/formatters.directive.js similarity index 100% rename from src/js/directives/formatters.js rename to src/js/directives/formatters.directive.js diff --git a/src/js/directives/marketchart.js b/src/js/directives/marketchart.directive.js similarity index 100% rename from src/js/directives/marketchart.js rename to src/js/directives/marketchart.directive.js diff --git a/src/js/directives/validators.js b/src/js/directives/validators.directive.js similarity index 100% rename from src/js/directives/validators.js rename to src/js/directives/validators.directive.js diff --git a/src/js/entry/web.js b/src/js/entry/web.js index edd95a314..f9274c181 100644 --- a/src/js/entry/web.js +++ b/src/js/entry/web.js @@ -1,49 +1,49 @@ var types = require('../util/types'); // Load app modules -require('../controllers/app.controller'); -require('../controllers/navbar.controller'); -require('../directives/charts'); -require('../directives/fields'); -require('../directives/effects'); -require('../directives/validators'); -require('../directives/accountExists.js'); -require('../directives/events'); -require('../directives/formatters'); -require('../directives/directives'); -require('../directives/addressPopover.js'); -require('../directives/datalinks'); -require('../directives/errors'); -require('../directives/marketchart'); -require('../filters/filters'); -require('../filters/amountHasIssuer.js'); -require('../validators/rpWebsocket.js'); -require('../services/globalwrappers'); -require('../services/id'); -require('../services/tracker'); -require('../services/blobRemote'); -require('../services/oldblob'); -require('../services/txqueue'); -require('../services/authflowRemote'); -require('../services/keychain'); -require('../services/network'); -require('../services/books'); -require('../services/popup'); -require('../services/rippletxt'); -require('../services/federation'); -require('../services/domainalias'); -require('../services/history'); - -require('../services/integration/appManager'); -require('../services/integration/profileManager'); -require('../services/integration/account'); -require('../services/integration/history'); -require('../services/integration/trust'); -require('../services/integration/inboundBridge'); +require('../controllers/app.controller.js'); +require('../controllers/navbar.controller.js'); +require('../directives/charts.directive.js'); +require('../directives/fields.directive.js'); +require('../directives/effects.directive.js'); +require('../directives/validators.directive.js'); +require('../directives/accountExists.directive.js'); +require('../directives/events.directive.js'); +require('../directives/formatters.directive.js'); +require('../directives/directives.directive.js'); +require('../directives/addressPopover.directive.js'); +require('../directives/datalinks.directive.js'); +require('../directives/errors.directive.js'); +require('../directives/marketchart.directive.js'); +require('../filters/filters.filter.js'); +require('../filters/amountHasIssuer.filter.js'); +require('../validators/rpWebsocket.directive.js'); +require('../services/globalwrappers.service.js'); +require('../services/id.service.js'); +require('../services/tracker.service.js'); +require('../services/blobRemote.service.js'); +require('../services/oldblob.service.js'); +require('../services/txqueue.service.js'); +require('../services/authflowRemote.service.js'); +require('../services/keychain.service.js'); +require('../services/network.service.js'); +require('../services/books.service.js'); +require('../services/popup.service.js'); +require('../services/rippletxt.service.js'); +require('../services/federation.service.js'); +require('../services/domainalias.service.js'); +require('../services/history.service.js'); + +require('../services/integration/appManager.service.js'); +require('../services/integration/profileManager.service.js'); +require('../services/integration/account.service.js'); +require('../services/integration/history.service.js'); +require('../services/integration/trust.service.js'); +require('../services/integration/inboundBridge.service.js'); // Unused services -// require('../services/ledger'); -// require('../services/transactions'); +// require('../services/ledger.service.js'); +// require('../services/transactions.service.js'); // Angular module dependencies var appDependencies = [ @@ -75,44 +75,44 @@ var appDependencies = [ // Load tabs var tabdefs = [ - require('../tabs/register.controller'), - require('../tabs/login.controller'), - require('../tabs/migrate.controller'), - require('../tabs/recover.controller'), - require('../tabs/balance.controller'), - require('../tabs/history.controller'), - require('../tabs/contacts.controller'), - require('../tabs/exchange.controller'), - require('../tabs/account.controller'), - require('../tabs/trust.controller'), - require('../tabs/send.controller'), - require('../tabs/trade.controller'), - require('../tabs/advanced.controller'), - require('../tabs/security.controller'), - require('../tabs/kyc.controller'), - require('../tabs/tx.controller'), - require('../tabs/xrp.controller'), - require('../tabs/debug.controller'), - require('../tabs/btc.controller'), - require('../tabs/withdraw.controller'), - require('../tabs/usd.controller'), - require('../tabs/eur.controller'), - require('../tabs/sgd.controller'), - require('../tabs/aud.controller'), - require('../tabs/gold.controller'), - require('../tabs/tou.controller'), - require('../tabs/privacypolicy.controller'), - require('../tabs/twofa.controller'), - require('../tabs/jpy.controller'), - require('../tabs/mxn.controller'), - require('../tabs/nzd.controller'), - require('../tabs/404.controller'), - require('../tabs/brl.controller'), - require('../tabs/settingstrade.controller'), + require('../tabs/register.controller.js'), + require('../tabs/login.controller.js'), + require('../tabs/migrate.controller.js'), + require('../tabs/recover.controller.js'), + require('../tabs/balance.controller.js'), + require('../tabs/history.controller.js'), + require('../tabs/contacts.controller.js'), + require('../tabs/exchange.controller.js'), + require('../tabs/account.controller.js'), + require('../tabs/trust.controller.js'), + require('../tabs/send.controller.js'), + require('../tabs/trade.controller.js'), + require('../tabs/advanced.controller.js'), + require('../tabs/security.controller.js'), + require('../tabs/kyc.controller.js'), + require('../tabs/tx.controller.js'), + require('../tabs/xrp.controller.js'), + require('../tabs/debug.controller.js'), + require('../tabs/btc.controller.js'), + require('../tabs/withdraw.controller.js'), + require('../tabs/usd.controller.js'), + require('../tabs/eur.controller.js'), + require('../tabs/sgd.controller.js'), + require('../tabs/aud.controller.js'), + require('../tabs/gold.controller.js'), + require('../tabs/tou.controller.js'), + require('../tabs/privacypolicy.controller.js'), + require('../tabs/twofa.controller.js'), + require('../tabs/jpy.controller.js'), + require('../tabs/mxn.controller.js'), + require('../tabs/nzd.controller.js'), + require('../tabs/404.controller.js'), + require('../tabs/brl.controller.js'), + require('../tabs/settingstrade.controller.js'), // Hidden tabs - require('../tabs/apps'), - require('../tabs/su') + require('../tabs/apps.controller.js'), + require('../tabs/su.controller.js') ]; // Prepare tab modules diff --git a/src/js/filters/amountHasIssuer.js b/src/js/filters/amountHasIssuer.filter.js similarity index 100% rename from src/js/filters/amountHasIssuer.js rename to src/js/filters/amountHasIssuer.filter.js diff --git a/src/js/filters/filters.js b/src/js/filters/filters.filter.js similarity index 100% rename from src/js/filters/filters.js rename to src/js/filters/filters.filter.js diff --git a/src/js/services/authflowLocal.js b/src/js/services/authflowLocal.service.js similarity index 100% rename from src/js/services/authflowLocal.js rename to src/js/services/authflowLocal.service.js diff --git a/src/js/services/authflowRemote.js b/src/js/services/authflowRemote.service.js similarity index 100% rename from src/js/services/authflowRemote.js rename to src/js/services/authflowRemote.service.js diff --git a/src/js/services/blobLocal.js b/src/js/services/blobLocal.service.js similarity index 100% rename from src/js/services/blobLocal.js rename to src/js/services/blobLocal.service.js diff --git a/src/js/services/blobRemote.js b/src/js/services/blobRemote.service.js similarity index 100% rename from src/js/services/blobRemote.js rename to src/js/services/blobRemote.service.js diff --git a/src/js/services/books.js b/src/js/services/books.service.js similarity index 100% rename from src/js/services/books.js rename to src/js/services/books.service.js diff --git a/src/js/services/domainalias.js b/src/js/services/domainalias.service.js similarity index 100% rename from src/js/services/domainalias.js rename to src/js/services/domainalias.service.js diff --git a/src/js/services/federation.js b/src/js/services/federation.service.js similarity index 100% rename from src/js/services/federation.js rename to src/js/services/federation.service.js diff --git a/src/js/services/globalwrappers.js b/src/js/services/globalwrappers.service.js similarity index 100% rename from src/js/services/globalwrappers.js rename to src/js/services/globalwrappers.service.js diff --git a/src/js/services/history.js b/src/js/services/history.service.js similarity index 100% rename from src/js/services/history.js rename to src/js/services/history.service.js diff --git a/src/js/services/id.js b/src/js/services/id.service.js similarity index 100% rename from src/js/services/id.js rename to src/js/services/id.service.js diff --git a/src/js/services/integration/account.js b/src/js/services/integration/account.service.js similarity index 100% rename from src/js/services/integration/account.js rename to src/js/services/integration/account.service.js diff --git a/src/js/services/integration/appManager.js b/src/js/services/integration/appManager.service.js similarity index 100% rename from src/js/services/integration/appManager.js rename to src/js/services/integration/appManager.service.js diff --git a/src/js/services/integration/history.js b/src/js/services/integration/history.service.js similarity index 100% rename from src/js/services/integration/history.js rename to src/js/services/integration/history.service.js diff --git a/src/js/services/integration/inboundBridge.js b/src/js/services/integration/inboundBridge.service.js similarity index 100% rename from src/js/services/integration/inboundBridge.js rename to src/js/services/integration/inboundBridge.service.js diff --git a/src/js/services/integration/profileManager.js b/src/js/services/integration/profileManager.service.js similarity index 100% rename from src/js/services/integration/profileManager.js rename to src/js/services/integration/profileManager.service.js diff --git a/src/js/services/integration/trust.js b/src/js/services/integration/trust.service.js similarity index 100% rename from src/js/services/integration/trust.js rename to src/js/services/integration/trust.service.js diff --git a/src/js/services/keychain.js b/src/js/services/keychain.service.js similarity index 100% rename from src/js/services/keychain.js rename to src/js/services/keychain.service.js diff --git a/src/js/services/ledger.js b/src/js/services/ledger.service.js similarity index 100% rename from src/js/services/ledger.js rename to src/js/services/ledger.service.js diff --git a/src/js/services/network.js b/src/js/services/network.service.js similarity index 100% rename from src/js/services/network.js rename to src/js/services/network.service.js diff --git a/src/js/services/oldblob.js b/src/js/services/oldblob.service.js similarity index 100% rename from src/js/services/oldblob.js rename to src/js/services/oldblob.service.js diff --git a/src/js/services/popup.js b/src/js/services/popup.service.js similarity index 100% rename from src/js/services/popup.js rename to src/js/services/popup.service.js diff --git a/src/js/services/rippletxt.js b/src/js/services/rippletxt.service.js similarity index 100% rename from src/js/services/rippletxt.js rename to src/js/services/rippletxt.service.js diff --git a/src/js/services/tracker.js b/src/js/services/tracker.service.js similarity index 100% rename from src/js/services/tracker.js rename to src/js/services/tracker.service.js diff --git a/src/js/services/transactions.js b/src/js/services/transactions.service.js similarity index 100% rename from src/js/services/transactions.js rename to src/js/services/transactions.service.js diff --git a/src/js/services/txqueue.js b/src/js/services/txqueue.service.js similarity index 100% rename from src/js/services/txqueue.js rename to src/js/services/txqueue.service.js diff --git a/src/js/tabs/apps.js b/src/js/tabs/apps.controller.js similarity index 100% rename from src/js/tabs/apps.js rename to src/js/tabs/apps.controller.js diff --git a/src/js/tabs/su.js b/src/js/tabs/su.controller.js similarity index 100% rename from src/js/tabs/su.js rename to src/js/tabs/su.controller.js diff --git a/src/js/validators/rpWebsocket.js b/src/js/validators/rpWebsocket.directive.js similarity index 100% rename from src/js/validators/rpWebsocket.js rename to src/js/validators/rpWebsocket.directive.js From 25ec363ca3064115f7f3cd98a11c003a58112026 Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Fri, 13 Mar 2015 18:33:35 +0400 Subject: [PATCH 057/321] [TASK] renaming tests filenames (RT-3014) --- test/e2e/{accountPublic.js => account-public.controller.spec.js} | 0 .../{gatewayAdvanced.js => gateway-advanced.controller.spec.js} | 0 test/e2e/{gatewaySimple.js => gateway-simple.controller.spec.js} | 0 test/e2e/{login.js => login.controller.spec.js} | 0 test/e2e/{register.js => register.controller.spec.js} | 0 test/e2e/{security.js => security.controller.spec.js} | 0 test/e2e/{send.js => send.controller.spec.js} | 0 .../controllers/{appControllerSpec.js => app.controller.spec.js} | 0 .../{navbarControllerSpec.js => navbar.controller.spec.js} | 0 test/unit/{directivesSpec.js => directives.directive.spec.js} | 0 .../unit/tabs/{exchangeTabSpec.js => exchange.controller.spec.js} | 0 test/unit/tabs/{sendTabSpec.js => send.controller.spec.js} | 0 12 files changed, 0 insertions(+), 0 deletions(-) rename test/e2e/{accountPublic.js => account-public.controller.spec.js} (100%) rename test/e2e/{gatewayAdvanced.js => gateway-advanced.controller.spec.js} (100%) rename test/e2e/{gatewaySimple.js => gateway-simple.controller.spec.js} (100%) rename test/e2e/{login.js => login.controller.spec.js} (100%) rename test/e2e/{register.js => register.controller.spec.js} (100%) rename test/e2e/{security.js => security.controller.spec.js} (100%) rename test/e2e/{send.js => send.controller.spec.js} (100%) rename test/unit/controllers/{appControllerSpec.js => app.controller.spec.js} (100%) rename test/unit/controllers/{navbarControllerSpec.js => navbar.controller.spec.js} (100%) rename test/unit/{directivesSpec.js => directives.directive.spec.js} (100%) rename test/unit/tabs/{exchangeTabSpec.js => exchange.controller.spec.js} (100%) rename test/unit/tabs/{sendTabSpec.js => send.controller.spec.js} (100%) diff --git a/test/e2e/accountPublic.js b/test/e2e/account-public.controller.spec.js similarity index 100% rename from test/e2e/accountPublic.js rename to test/e2e/account-public.controller.spec.js diff --git a/test/e2e/gatewayAdvanced.js b/test/e2e/gateway-advanced.controller.spec.js similarity index 100% rename from test/e2e/gatewayAdvanced.js rename to test/e2e/gateway-advanced.controller.spec.js diff --git a/test/e2e/gatewaySimple.js b/test/e2e/gateway-simple.controller.spec.js similarity index 100% rename from test/e2e/gatewaySimple.js rename to test/e2e/gateway-simple.controller.spec.js diff --git a/test/e2e/login.js b/test/e2e/login.controller.spec.js similarity index 100% rename from test/e2e/login.js rename to test/e2e/login.controller.spec.js diff --git a/test/e2e/register.js b/test/e2e/register.controller.spec.js similarity index 100% rename from test/e2e/register.js rename to test/e2e/register.controller.spec.js diff --git a/test/e2e/security.js b/test/e2e/security.controller.spec.js similarity index 100% rename from test/e2e/security.js rename to test/e2e/security.controller.spec.js diff --git a/test/e2e/send.js b/test/e2e/send.controller.spec.js similarity index 100% rename from test/e2e/send.js rename to test/e2e/send.controller.spec.js diff --git a/test/unit/controllers/appControllerSpec.js b/test/unit/controllers/app.controller.spec.js similarity index 100% rename from test/unit/controllers/appControllerSpec.js rename to test/unit/controllers/app.controller.spec.js diff --git a/test/unit/controllers/navbarControllerSpec.js b/test/unit/controllers/navbar.controller.spec.js similarity index 100% rename from test/unit/controllers/navbarControllerSpec.js rename to test/unit/controllers/navbar.controller.spec.js diff --git a/test/unit/directivesSpec.js b/test/unit/directives.directive.spec.js similarity index 100% rename from test/unit/directivesSpec.js rename to test/unit/directives.directive.spec.js diff --git a/test/unit/tabs/exchangeTabSpec.js b/test/unit/tabs/exchange.controller.spec.js similarity index 100% rename from test/unit/tabs/exchangeTabSpec.js rename to test/unit/tabs/exchange.controller.spec.js diff --git a/test/unit/tabs/sendTabSpec.js b/test/unit/tabs/send.controller.spec.js similarity index 100% rename from test/unit/tabs/sendTabSpec.js rename to test/unit/tabs/send.controller.spec.js From 6e7249b68b15da5a67fb636c4e20159a7c07afd4 Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Fri, 13 Mar 2015 14:22:16 +0400 Subject: [PATCH 058/321] [TASK] Gateways: If the number in the "Min" column is 0, do not show a "-" sign, just show 0 (RT-3241) --- src/jade/tabs/trust.jade | 2 +- src/js/tabs/trust.controller.js | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/jade/tabs/trust.jade b/src/jade/tabs/trust.jade index 097d1a5a9..6b6e182a2 100644 --- a/src/jade/tabs/trust.jade +++ b/src/jade/tabs/trust.jade @@ -231,7 +231,7 @@ section.col-xs-12.content(ng-controller="TrustCtrl") span(rp-address-popover, rp-address-popover-sum="component.limit_peer") {{ component.limit_peer | rpamount }} .col-sm-1.col-xs-2(ng-show="globalOptions.advanced_feature_switch && component.limit_peer._offset !== '-100'", ng-hide="component.limit_peer._offset == '-100' || !globalOptions.advanced_feature_switch") - span(rp-address-popover, rp-address-popover-sum="component.limit_peer", rp-address-popover-sum-minus) -{{ component.limit_peer | rpamount }} + span(rp-address-popover, rp-address-popover-sum="component.limit_peer", rp-address-popover-sum-minus) {{minVal}} .col-sm-2.col-xs-2(ng-show="globalOptions.advanced_feature_switch") div(ng-show="component.no_ripple", l10n) Off div(ng-hide="component.no_ripple", l10n) On diff --git a/src/js/tabs/trust.controller.js b/src/js/tabs/trust.controller.js index a81165db9..486e2577b 100644 --- a/src/js/tabs/trust.controller.js +++ b/src/js/tabs/trust.controller.js @@ -348,7 +348,16 @@ TrustTab.prototype.angular = function (module) module.controller('AccountRowCtrl', ['$scope', 'rpBooks', 'rpNetwork', 'rpId', 'rpKeychain', '$timeout', function ($scope, books, network, id, keychain, $timeout) { - + $scope.minVal = $scope.entry.components[0].limit_peer.to_human({rel_precision: 2}); + // if($scope.minVal % 10 === 0) { + // $scope.minVal = String($scope.minVal) + ".00"; + // console.warn($scope.minVal) + // console.warn($scope.minVal) + // } + if($scope.minVal !== 0) { + $scope.minVal = -(1) * $scope.minVal; + } + $scope.minVal = Number($scope.minVal).toFixed(2); function setEngineStatus(res, accepted) { $scope.engine_result = res.engine_result; $scope.engine_result_message = res.engine_result_message; From 1a67fd39b7b223e11ba911f6caae9ac3d531e2ae Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Thu, 12 Feb 2015 18:42:13 +0400 Subject: [PATCH 059/321] [TASK] Triskelion spinning endlessly on chart (only with not activated wallets) (RT-3164) --- src/jade/tabs/widgets/markets.jade | 3 --- src/js/directives/marketchart.directive.js | 1 + src/less/ripple/tabs.less | 6 ------ 3 files changed, 1 insertion(+), 9 deletions(-) diff --git a/src/jade/tabs/widgets/markets.jade b/src/jade/tabs/widgets/markets.jade index 04bab0574..e86d509da 100644 --- a/src/jade/tabs/widgets/markets.jade +++ b/src/jade/tabs/widgets/markets.jade @@ -50,6 +50,3 @@ counter-currency="{{ secondCurrencySelected }}" counter-currency-issuer="{{ issuerNameToAddress(secondIssuerSelected, secondCurrencySelected) }}" ) - - div.widget_loader(ng-show="showWidgetAssetAllocation && !exchangeRatesNonempty") - img(src="img/sections.png", class="loader") diff --git a/src/js/directives/marketchart.directive.js b/src/js/directives/marketchart.directive.js index 112e11bc2..0059ae94e 100644 --- a/src/js/directives/marketchart.directive.js +++ b/src/js/directives/marketchart.directive.js @@ -62,6 +62,7 @@ module.directive('rpMarketChart', [function() { type: 'line' }; chart.load(options); + $elem.find('img')[0].src = 'img/sections.png'; }; attrs.$observe('baseCurrency', render); diff --git a/src/less/ripple/tabs.less b/src/less/ripple/tabs.less index 88887ba23..68843be7e 100644 --- a/src/less/ripple/tabs.less +++ b/src/less/ripple/tabs.less @@ -3,12 +3,6 @@ padding-left: 5px; } -.priceChart { - .loader { - display: none; - } -} - .loading_sections { padding-top: 10px; } From 2eb11b04451f19aed468cacb64f4bbf5e5a025f9 Mon Sep 17 00:00:00 2001 From: rht Date: Fri, 6 Mar 2015 09:29:05 +0700 Subject: [PATCH 060/321] [TASK] Rewrite server-side validators in $asyncValidators (RT-3217) Side effect: simplify rpSpinner --- src/jade/tabs/account/public.jade | 9 +- src/jade/tabs/advanced.jade | 5 +- src/jade/tabs/contacts.jade | 4 +- src/jade/tabs/debug.jade | 3 +- src/jade/tabs/fund.jade | 3 +- src/jade/tabs/register.jade | 19 +- src/jade/tabs/send.jade | 6 +- src/jade/tabs/trust.jade | 3 +- src/js/directives/directives.directive.js | 9 +- src/js/directives/validators.directive.js | 197 ++++++++------------- src/js/validators/rpWebsocket.directive.js | 103 +++++------ 11 files changed, 143 insertions(+), 218 deletions(-) diff --git a/src/jade/tabs/account/public.jade b/src/jade/tabs/account/public.jade index 355dac064..56aa56e06 100644 --- a/src/jade/tabs/account/public.jade +++ b/src/jade/tabs/account/public.jade @@ -16,11 +16,8 @@ h4(l10n) Account settings input.form-control#username( name='username', type='text', ng-model="username" required, rp-focus, autocomplete="off", maxlength="20", rpDest - rp-available-name - rp-available-name-invalid-reason="usernameInvalidReason" - rp-available-name-reserved-for="usernameReservedFor" - rp-loading="usernameLoading") - .errorGroup(ng-messages='renameForm.username.$error', ng-hide="usernameLoading") + rp-available-name) + .errorGroup(ng-messages='renameForm.username.$error', ng-hide="renameForm.username.$pending") .success(ng-show='renameForm.username.$valid', l10n) Available .error(ng-message='rpAvailableName') span(ng-switch on="usernameInvalidReason") @@ -40,7 +37,7 @@ h4(l10n) Account settings span(ng-switch-when="starthyphen", l10n) Cannot start with hyphen (-) span(ng-switch-when="endhyphen", l10n) Cannot end with hyphen (-) span(ng-switch-when="multhyphen", l10n) Cannot bundle hyphens (--) - span(ng-show="usernameLoading", l10n) Checking... + span(ng-show="renameForm.username.$pending", l10n) Checking... .form-group label(type="password", for='password', l10n) Current password input.form-control#password(type="password", name="password" diff --git a/src/jade/tabs/advanced.jade b/src/jade/tabs/advanced.jade index 561f9a0cb..6deccbba9 100644 --- a/src/jade/tabs/advanced.jade +++ b/src/jade/tabs/advanced.jade @@ -143,8 +143,7 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") input.form-control.host(name='host', type='text' ng-model='server.host', ng-model-options="{ debounce: 500 }" rp-websocket, rp-websocket-port="{{server.port}}", rp-websocket-secure="{{server.secure}}" - rp-server-loading='server_loading' - rp-spinner='{{server_loading ? 4: null}}') + rp-spinner) .errorGroup(ng-show="serverForm.$dirty") div(ng-messages='serverForm.host.$error') .error(ng-message='rpWebsocket', l10n) Socket ip or hostname is invalid or is down. @@ -161,7 +160,7 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") span(l10n) Secure .col-xs-6.col-sm-6.col-md-3 button.btn.btn-block.btn-success.btn-xs.submit#save(type='submit' - ng-disabled='serverForm.$invalid ? serverForm.$dirty: false', l10n) Save + ng-disabled='serverForm.$invalid || serverForm.$pending', l10n) Save .col-xs-3.col-sm-3.col-md-1(ng-show="hasRemove()") button.btn.btn-block.btn-danger.btn-xs.submit#delete(type="button", ng-click="remove()", ng-show="hasRemove()", l10n) Delete .col-xs-3.col-sm-3.col-md-1.text-center#cancel diff --git a/src/jade/tabs/contacts.jade b/src/jade/tabs/contacts.jade index bb26fe26d..42d8f1730 100644 --- a/src/jade/tabs/contacts.jade +++ b/src/jade/tabs/contacts.jade @@ -58,11 +58,11 @@ section.col-xs-12.content(ng-controller="ContactsCtrl") ng-model='contact.view' rp-dest, rp-dest-address, rp-dest-bitcoin, rp-dest-ripple-name, rp-dest-ripple-name-no-tilde rp-dest-email, rp-dest-check-federation, rp-dest-federation-model="contact.federation" - rp-dest-model="contact.address", rp-dest-loading="address_loading" + rp-dest-model="contact.address" rp-unique='userBlob.data.contacts' rp-unique-field='address' rp-unique-group='address-dt-web' - rp-spinner="{{address_loading ? 4 : null}}" + rp-spinner rp-autofill='$routeParams.to', rp-autofill-on='addform_visible = true' required) .errorGroup(ng-messages='addForm.address_web.$dirty && addForm.address_web.$error') diff --git a/src/jade/tabs/debug.jade b/src/jade/tabs/debug.jade index e75ad349c..65624b1ec 100644 --- a/src/jade/tabs/debug.jade +++ b/src/jade/tabs/debug.jade @@ -10,12 +10,11 @@ section.col-xs-12.content(ng-controller='DebugPretendCtrl') name='pretendAddr', type='text' rp-combobox="pretend_query" rp-combobox-value-as-ripple-name - rp-dest-loading="pretend_loading" l10n-placeholder="Enter a Ripple name or address" ng-model='pretend.pretendAs' required rp-dest, rp-dest-address, rp-dest-ripple-name, rp-dest-contact - rp-spinner="{{pretend_loading ? 4 : null}}" + rp-spinner ) .errorGroup(ng-messages='debugPretendForm.pretendAddr.$error') .success(ng-show='debugPretendForm.pretendAddr.$valid && pretend.pretendAs != pretend.address') diff --git a/src/jade/tabs/fund.jade b/src/jade/tabs/fund.jade index ef5b85496..fe0d78796 100644 --- a/src/jade/tabs/fund.jade +++ b/src/jade/tabs/fund.jade @@ -31,12 +31,11 @@ section.col-xs-12.content(ng-controller='FundCtrl') ng-model='counterparty_view' rp-dest, rp-dest-address, rp-dest-contact, rp-not-me, rp-dest-email rp-dest-ripple-name, rp-dest-model="counterparty" - rp-dest-loading="counterparty_loading" required rp-autofill='$routeParams.to' rp-autofill-counterparty_view rp-autofill-on='addform_visible = true' - rp-focus, rp-spinner="{{counterparty_loading ? 4 : null}}") + rp-focus, rp-spinner) .errorGroup(ng-messages='trustForm.trust_counterparty.$dirty && trustForm.trust_counterparty.$error') div(ng-show='trustForm.trust_counterparty.$valid') .success(ng-show='counterparty != counterparty_address && counterparty_name && !error_account_reserve') diff --git a/src/jade/tabs/register.jade b/src/jade/tabs/register.jade index a881ada4e..9f4e9ca69 100644 --- a/src/jade/tabs/register.jade +++ b/src/jade/tabs/register.jade @@ -37,11 +37,8 @@ section.col-xs-12.content(ng-controller="RegisterCtrl") name='register_username', type='text', ng-model="username" tabindex="1" required, rp-focus, autocomplete="off", maxlength="20", rpDest - rp-available-name - rp-available-name-invalid-reason="usernameInvalidReason" - rp-available-name-reserved-for="usernameReservedFor" - rp-loading="usernameLoading") - .errorGroup(ng-messages='registerForm.register_username.$error', ng-hide="usernameLoading") + rp-available-name) + .errorGroup(ng-messages='registerForm.register_username.$error', ng-hide="registerForm.register_username.$pending") .success(ng-show='registerForm.register_username.$valid') i.fa.fa-check span(l10n) Available @@ -71,7 +68,7 @@ section.col-xs-12.content(ng-controller="RegisterCtrl") span.statusText(l10n) Cannot end with hyphen (-) i.fa.fa-exclamation-triangle(ng-switch-when="multhyphen") span.statusText(l10n) Cannot use hyphens in a row (--) - span.checking(ng-show="usernameLoading", l10n) Checking... + span.checking(ng-show="registerForm.register_username.$pending", l10n) Checking... .form-group(ng-class="{'field-error': 'weak' === strength || 'match' === strength}") label(for='register_password', l10n) Password input.form-control#register_password( @@ -112,15 +109,15 @@ section.col-xs-12.content(ng-controller="RegisterCtrl") label(for='register_masterkey', l10n) Secret key a.hide-key(href="", ng-click="showMasterKeyInput=false", l10n) hide div.register_masterkey - input.form-control#register_masterkey(name='register_masterkey', type='password', - autocomplete='off', ng-model="masterkey", rp-master-key, rp-master-address-exists, + input.form-control#register_masterkey(name='register_masterkey', type='password', + autocomplete='off', ng-model="masterkey", rp-master-key, rp-master-address-exists, rp-focus) - div.inputSpinner(ng-hide="!checkingMasterkey") + div.inputSpinner(ng-show="registerForm.register_masterkey.$pending") img.loader(src="img/sections.png") p(ng-show="registerForm.register_masterkey.$error.rpMasterKey") i.fa.fa-exclamation-triangle span.error.statusText(l10n) Secret Account Key is invalid - .auth-attention(ng-show="registerForm.register_masterkey.$error.rpMasterAddressExists && masterkeyAddress") + .auth-attention(ng-show="registerForm.register_masterkey.$error.rpMasterAddressExists && masterkeyAddress") div(l10n) | The account ~ span {{ masterkeyUsername }} @@ -142,7 +139,7 @@ section.col-xs-12.content(ng-controller="RegisterCtrl") .submit-btn-container button.btn.btn-block.btn-success(type='submit' tabindex="6" - ng-disabled='registerForm.$invalid || submitLoading') + ng-disabled='registerForm.$invalid || registerForm.$pending') img(src="img/button-s.png", class="loader", ng-show="submitLoading") span(class="loading_text", ng-hide="oldUserBlob", l10n) Sign Up span(ng-show="oldUserBlob", l10n) Migrate Account diff --git a/src/jade/tabs/send.jade b/src/jade/tabs/send.jade index 508f39b1a..cf053ff11 100644 --- a/src/jade/tabs/send.jade +++ b/src/jade/tabs/send.jade @@ -34,12 +34,12 @@ section.col-xs-12.content(ng-controller='SendCtrl') name='send_destination', type='text' rp-combobox="recipient_query", rp-combobox-value-as-ripple-name l10n-placeholder="Enter a Ripple name or contact" - ng-model='send.recipient' + ng-model='send.recipient', ng-model-options='{debounce: 500}' rp-dest, rp-dest-address, rp-dest-contact, rp-dest-bitcoin - rp-dest-email, rp-dest-ripple-name, rp-dest-loading="recipient_loading" + rp-dest-email, rp-dest-ripple-name required rp-autofill='$routeParams.to' - rp-focus, rp-spinner="{{recipient_loading ? 4 : null}}") + rp-focus, rp-spinner) .errorGroup(ng-messages='sendForm.send_destination.$dirty && sendForm.send_destination.$error') .success(ng-show='sendForm.send_destination.$valid && send.recipient != send.recipient_address') | {{send.recipient_address}} diff --git a/src/jade/tabs/trust.jade b/src/jade/tabs/trust.jade index 097d1a5a9..440080a22 100644 --- a/src/jade/tabs/trust.jade +++ b/src/jade/tabs/trust.jade @@ -78,12 +78,11 @@ section.col-xs-12.content(ng-controller="TrustCtrl") rp-account-exists-loading="counterparty_loading" rp-dest, rp-dest-address, rp-dest-contact, rp-not-me, rp-dest-email rp-dest-ripple-name, rp-dest-model="counterparty" - rp-dest-loading="counterparty_loading" required rp-autofill='$routeParams.to' rp-autofill-counterparty_view rp-autofill-on='addform_visible = true' - rp-focus, rp-spinner="{{counterparty_loading ? 4 : null}}") + rp-focus, rp-spinner) .errorGroup(ng-messages='trustForm.trust_counterparty.$dirty && trustForm.trust_counterparty.$error') div(ng-show='trustForm.trust_counterparty.$valid') .success(ng-show='counterparty != counterparty_address && counterparty_name && !error_account_reserve') diff --git a/src/js/directives/directives.directive.js b/src/js/directives/directives.directive.js index 79d114616..e7544d289 100644 --- a/src/js/directives/directives.directive.js +++ b/src/js/directives/directives.directive.js @@ -321,21 +321,22 @@ module.directive('rpNoPropagate', [function() { module.directive('rpSpinner', [function() { return { restrict: 'A', - link: function(scope, element, attr) { + require: '^form', + link: function(scope, element, attr, ctrl) { var spinner = null; - attr.$observe('rpSpinner', function(value) { + scope.$watch(ctrl.$name + '.' + element.attr('name') + '.$pending', function(pending) { element.removeClass('spinner'); if (spinner) { spinner.stop(); spinner = null; } - if (value > 0) { + if (pending) { spinner = new Spinner({ lines: 9, // The number of lines to draw length: 3, // The length of each line width: 2, // The line thickness - radius: value, // The radius of the inner circle + radius: 4, // The radius of the inner circle className: 'spinnerInner' }); diff --git a/src/js/directives/validators.directive.js b/src/js/directives/validators.directive.js index c3a5868b8..dd1e96e78 100644 --- a/src/js/directives/validators.directive.js +++ b/src/js/directives/validators.directive.js @@ -45,49 +45,42 @@ module.directive('rpMasterKey', function () { * Invalidate duplicate accountId's * consider the masterkey invalid unless the database does not have the derived accountId */ -module.directive('rpMasterAddressExists', function ($http) { +module.directive('rpMasterAddressExists', function ($q, $timeout, $http) { return { restrict: 'A', require: '?ngModel', link: function (scope, elm, attr, ctrl) { if (!ctrl) return; - var validator = function(value) { + ctrl.$asyncValidators.rpMasterAddressExists = function(value) { if (!value || !Base.decode_check(33, value)) { - ctrl.$setValidity('rpMasterAddressExists', true); - return value; - } - else if (value) { - ctrl.$setValidity('rpMasterAddressExists', false); //while checking - scope.checkingMasterkey = true; - var accountId = ripple.Seed.from_json(value).get_key().get_address().to_json(); - - rippleVaultClient.AuthInfo.get(Options.domain, accountId, function(err, data) { - if (err) { - scope.checkingMasterkey = false; - return; - } - - if (data.username) { - scope.masterkeyUsername = data.username; - scope.masterkeyAddress = accountId; - ctrl.$setValidity('rpMasterAddressExists', false); - scope.checkingMasterkey = false; - } else { - ctrl.$setValidity('rpMasterAddressExists', true); - scope.checkingMasterkey = false; - } - }); + return $q.when(true); + } else if (value) { + var accountId = ripple.Seed.from_json(value).get_key().get_address().to_json(), + defer = $q.defer(); + + $timeout(function() { + rippleVaultClient.AuthInfo.get(Options.domain, accountId, function(err, data) { + if (err) { + defer.reject(); + } + + if (data.username) { + scope.masterkeyUsername = data.username; + scope.masterkeyAddress = accountId; + defer.reject(); + } else { + defer.resolve(); + } + }); + }, 500); - return value; + return defer.promise; } }; - ctrl.$formatters.push(validator); - ctrl.$parsers.unshift(validator); - attr.$observe('rpMasterAddressExists', function() { - validator(ctrl.$viewValue); + ctrl.$validate(); }); } }; @@ -109,25 +102,18 @@ module.directive('rpMasterAddressExists', function ($http) { * If the input can be validly interpreted as one of these types, the validation * will succeed. */ -module.directive('rpDest', ['$timeout', '$parse', 'rpFederation', function ($timeout, $parse, $federation) { +module.directive('rpDest', ['$q', '$timeout', '$parse', 'rpFederation', function ($q, $timeout, $parse, $federation) { var emailRegex = /^\S+@\S+\.[^\s.]+$/; return { restrict: 'A', require: '?ngModel', link: function (scope, elm, attr, ctrl) { if (!ctrl) return; - - function showLoading(doShow) { - if (attr.rpDestLoading) { - var getterL = $parse(attr.rpDestLoading); - getterL.assign(scope,doShow); - } - } - var timeoutPromise, getter; - var validator = function(value) { - var strippedValue = webutil.stripRippleAddress(value); - var address = ripple.UInt160.from_json(strippedValue); + var getter; + ctrl.$asyncValidators.rpDest = function(value) { + var strippedValue = webutil.stripRippleAddress(value), + address = ripple.UInt160.from_json(strippedValue); ctrl.rpDestType = null; if (attr.rpDestFederationModel) { @@ -135,60 +121,50 @@ module.directive('rpDest', ['$timeout', '$parse', 'rpFederation', function ($tim getter.assign(scope,null); } + // client-side validation if (attr.rpDestAddress && address.is_valid()) { ctrl.rpDestType = "address"; - ctrl.$setValidity('rpDest', true); if (attr.rpDestModel) { getter = $parse(attr.rpDestModel); getter.assign(scope,value); } - return value; + return $q.when(true); } if (attr.rpDestContact && scope.userBlob && webutil.getContact(scope.userBlob.data.contacts,strippedValue)) { ctrl.rpDestType = "contact"; - ctrl.$setValidity('rpDest', true); if (attr.rpDestModel) { getter = $parse(attr.rpDestModel); getter.assign(scope,webutil.getContact(scope.userBlob.data.contacts,strippedValue).address); } - return value; + return $q.when(true); } if (attr.rpDestBitcoin && !isNaN(Base.decode_check([0, 5], strippedValue, 'bitcoin'))) { ctrl.rpDestType = "bitcoin"; - ctrl.$setValidity('rpDest', true); if (attr.rpDestModel) { getter = $parse(attr.rpDestModel); getter.assign(scope,value); } - return value; + return $q.when(true); } + // server-side validation if (attr.rpDestEmail && emailRegex.test(strippedValue)) { ctrl.rpDestType = "email"; if (attr.rpDestCheckFederation) { - ctrl.$setValidity('rpDest', false); - showLoading(true); - - $federation.check_email(value) + return $federation.check_email(value) .then(function (result) { // Check if this request is still current, exit if not if (value != ctrl.$viewValue) return; - showLoading(false); - ctrl.$setValidity('rpDest', true); - // Check if this request is still current, exit if not - // var now_recipient = send.recipient_address; - // if (recipient !== now_recipient) return; - // ctrl.$viewValue if (attr.rpDestModel) { getter = $parse(attr.rpDestModel); getter.assign(scope,value); @@ -197,57 +173,49 @@ module.directive('rpDest', ['$timeout', '$parse', 'rpFederation', function ($tim getter = $parse(attr.rpDestFederationModel); getter.assign(scope,result); } - }, function () { - // Check if this request is still current, exit if not - if (value != ctrl.$viewValue) return; - showLoading(false); + return true; + }, function() { + return false; }); } else { - ctrl.$setValidity('rpDest', true); - if (attr.rpDestModel) { getter = $parse(attr.rpDestModel); getter.assign(scope,value); } + + return $q.when(true); } - return value; } if (((attr.rpDestRippleName && webutil.isRippleName(value)) || (attr.rpDestRippleNameNoTilde && value && value[0] !== '~' && webutil.isRippleName('~'+value)))) { // TODO Don't do a client check in validators ctrl.rpDestType = "rippleName"; - if (timeoutPromise) $timeout.cancel(timeoutPromise); - - timeoutPromise = $timeout(function(){ - showLoading(true); - + var defer = $q.defer(); + $timeout(function() { rippleVaultClient.AuthInfo.get(Options.domain, value, function(err, info){ scope.$apply(function(){ - ctrl.$setValidity('rpDest', info.exists); - if (attr.rpDestModel && info.exists) { getter = $parse(attr.rpDestModel); getter.assign(scope,info.address); } - showLoading(false); + if (info.exists) { + defer.resolve(info.exists); + } else { + defer.reject(); + } }); }); }, 500); - - return value; + return defer.promise; } - ctrl.$setValidity('rpDest', false); - return; + return $q.when(false); }; - ctrl.$formatters.push(validator); - ctrl.$parsers.unshift(validator); - attr.$observe('rpDest', function() { - validator(ctrl.$viewValue); + ctrl.$validate(); }); } }; @@ -256,76 +224,57 @@ module.directive('rpDest', ['$timeout', '$parse', 'rpFederation', function ($tim /** * Check if the ripple name is valid and is available for use */ -module.directive('rpAvailableName', function ($timeout, $parse) { +module.directive('rpAvailableName', function ($q, $timeout, $parse) { return { restrict: 'A', require: '?ngModel', link: function (scope, elm, attr, ctrl) { if (!ctrl) return; - var timeoutPromise; - - var validator = function(value) { - var getterInvalidReason = $parse(attr.rpAvailableNameInvalidReason); - var getterReserved = $parse(attr.rpAvailableNameReservedFor); - - if (timeoutPromise) $timeout.cancel(timeoutPromise); + ctrl.$asyncValidators.rpAvailableName = function(value) { + scope.usernameInvalidReason = ''; + scope.usernameReservedFor = ''; if (!value) { // No name entered, show nothing, do nothing - getterInvalidReason.assign(scope,false); + return $q.when(true); } else if (value.length < 2) { - getterInvalidReason.assign(scope,'tooshort'); + scope.usernameInvalidReason = 'tooshort'; } else if (value.length > 20) { - getterInvalidReason.assign(scope,'toolong'); + scope.usernameInvalidReason = 'toolong'; } else if (!/^[a-zA-Z0-9\-]+$/.exec(value)) { - getterInvalidReason.assign(scope,'charset'); + scope.usernameInvalidReason = 'charset'; } else if (/^-/.exec(value)) { - getterInvalidReason.assign(scope,'starthyphen'); + scope.usernameInvalidReason = 'starthyphen'; } else if (/-$/.exec(value)) { - getterInvalidReason.assign(scope,'endhyphen'); + scope.usernameInvalidReason = 'endhyphen'; } else if (/--/.exec(value)) { - getterInvalidReason.assign(scope,'multhyphen'); + scope.usernameInvalidReason = 'multhyphen'; } else { - - timeoutPromise = $timeout(function(){ - if (attr.rpLoading) { - var getterL = $parse(attr.rpLoading); - getterL.assign(scope,true); - } - + var defer = $q.defer(); + $timeout(function(){ rippleVaultClient.AuthInfo.get(Options.domain, value, function(err, info){ scope.$apply(function(){ if (info.exists) { - ctrl.$setValidity('rpAvailableName', false); - getterInvalidReason.assign(scope,'exists'); + scope.usernameInvalidReason = 'exists'; + defer.reject('exists'); } else if (info.reserved) { - ctrl.$setValidity('rpAvailableName', false); - getterInvalidReason.assign(scope,'reserved'); - getterReserved.assign(scope,info.reserved); + scope.usernameInvalidReason = 'reserved'; + scope.usernameReservedFor = info.reserved; + defer.reject('reserved'); } else { - ctrl.$setValidity('rpAvailableName', true); - } - - if (attr.rpLoading) { - getterL.assign(scope,false); + defer.resolve(); } }); }); }, 500); - return value; + return defer.promise; } - - ctrl.$setValidity('rpAvailableName', false); - return; + return $q.when(false); }; - - ctrl.$formatters.push(validator); - ctrl.$parsers.unshift(validator); - - attr.$observe('rpAvailableName', function() { - validator(ctrl.$viewValue); + attr.$observe('rpAvailableName', function(val) { + ctrl.$validate(); }); } }; diff --git a/src/js/validators/rpWebsocket.directive.js b/src/js/validators/rpWebsocket.directive.js index 70eecdf58..77c3b2f87 100644 --- a/src/js/validators/rpWebsocket.directive.js +++ b/src/js/validators/rpWebsocket.directive.js @@ -4,77 +4,62 @@ var module = angular.module('validators'); -module.directive('rpWebsocket', function($timeout, $parse) { +module.directive('rpWebsocket', function($q, $timeout, $parse) { return { restrict: 'A', require: '?ngModel', link: function (scope, elm, attr, ctrl) { if (!ctrl) return; - function showLoading(doShow) { - if (attr.rpServerLoading) { - var getterL = $parse(attr.rpServerLoading); - getterL.assign(scope, doShow); - } - } - - var validator = function(value) { - if (!value) return; - - var connection; - - showLoading(true); - - try { - connection = new WebSocket( - // something like 'wss://host:port' - (attr.rpWebsocketSecure === 'true' ? 'wss' : 'ws') + '://' - + value - + (attr.rpWebsocketPort ? ':' + attr.rpWebsocketPort : '') - ); - } catch (err) {} - - if (!connection) { - showLoading(false); - return; - } - - connection.onopen = function() { - connection.send('{"command": "ping"}'); - }; - - connection.onerror = function(e) { - scope.$apply(function() { - ctrl.$setValidity('rpWebsocket', false); - showLoading(false); - }); - }; - - connection.onmessage = function(e) { - var test = JSON.parse(e.data).status === 'success'; - scope.$apply(function() { - ctrl.$setValidity('rpWebsocket', test); - showLoading(false); - }); - }; - - return value; + ctrl.$asyncValidators.rpWebsocket = function(value) { + + var defer = $q.defer(), + connection; + + if (!value) return $q.when(false); + + $timeout(function() { + try { + connection = new WebSocket( + // something like 'wss://host:port' + (attr.rpWebsocketSecure === 'true' ? 'wss' : 'ws') + '://' + + value + + (attr.rpWebsocketPort ? ':' + attr.rpWebsocketPort : '') + ); + } catch (err) {} + + if (!connection) return $q.when(false); + + connection.onopen = function() { + connection.send('{"command": "ping"}'); + }; + + connection.onerror = function(e) { + defer.reject(); + }; + + connection.onmessage = function(e) { + if (JSON.parse(e.data).status === 'success') { + defer.resolve(); + } else { + defer.reject(); + } + }; + }, 500); + return defer.promise; }; - ctrl.$formatters.push(validator); - ctrl.$parsers.unshift(validator); - - attr.$observe('rpWebsocket', function() { - validator(ctrl.$viewValue); + attr.$observe('rpWebsocket', function(val) { + ctrl.$validate(); }); - attr.$observe('rpWebsocketPort', function() { - validator(ctrl.$viewValue); + attr.$observe('rpWebsocketPort', function(val) { + ctrl.$validate(); }); - attr.$observe('rpWebsocketSecure', function() { - validator(ctrl.$viewValue); + attr.$observe('rpWebsocketSecure', function(val) { + ctrl.$validate(); }); } }; -}); \ No newline at end of file +}); From 53390e78d5a4826c9bf6ab29cb1a517f65b1af57 Mon Sep 17 00:00:00 2001 From: Malika Date: Fri, 13 Mar 2015 11:46:26 -0700 Subject: [PATCH 061/321] [TASK] Performance: use ng-bind (RT-3155) --- src/jade/tabs/account/public.jade | 2 +- src/jade/tabs/advanced.jade | 4 ++-- src/jade/tabs/apps.jade | 4 ++-- src/jade/tabs/btc.jade | 4 ++-- src/jade/tabs/contacts.jade | 2 +- src/jade/tabs/debug.jade | 3 +-- src/jade/tabs/exchange.jade | 4 ++-- src/jade/tabs/fund.jade | 5 ++--- src/jade/tabs/history.jade | 4 ++-- src/jade/tabs/login.jade | 14 +++++++------- src/jade/tabs/migrate.jade | 6 +++--- src/jade/tabs/register.jade | 10 +++++----- src/jade/tabs/security.jade | 6 +++--- src/jade/tabs/send.jade | 26 ++++++++++++-------------- src/jade/tabs/settingstrade.jade | 2 +- src/jade/tabs/trade.jade | 13 +++++-------- src/jade/tabs/trust.jade | 7 +++---- src/jade/tabs/tx.jade | 12 ++++++------ src/jade/tabs/xrp.jade | 2 +- 19 files changed, 61 insertions(+), 69 deletions(-) diff --git a/src/jade/tabs/account/public.jade b/src/jade/tabs/account/public.jade index 355dac064..90871806f 100644 --- a/src/jade/tabs/account/public.jade +++ b/src/jade/tabs/account/public.jade @@ -64,4 +64,4 @@ h4(l10n) Account settings a.btn.btn-cancel.btn-block(href="", ng-click="openForm=!openForm", l10n) cancel .section .descriptor#address(l10n) Ripple address - div {{address}} + div(ng-bind="address") diff --git a/src/jade/tabs/advanced.jade b/src/jade/tabs/advanced.jade index 561f9a0cb..8df8e8874 100644 --- a/src/jade/tabs/advanced.jade +++ b/src/jade/tabs/advanced.jade @@ -168,9 +168,9 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") a.btn.btn-cancel.btn-block(href="", ng-click="cancel()", ng-hide="noCancel()", l10n) cancel .row.advanced-form-row(ng-hide="editing") .col-xs-6.col-sm-5.col-md-3 - .description {{server.host}} + .description(ng-bind="server.host") .col-xs-3.col-sm-3.col-md-2.port-wrapper - .description {{server.port}} + .description(ng-bind="server.port") .col-xs-3.col-sm-2.col-md-2#secureSocket .description(ng-show="server.secure", l10n) Secure .description(ng-hide="server.secure", l10n) Not Secure diff --git a/src/jade/tabs/apps.jade b/src/jade/tabs/apps.jade index 75757870f..33948eb49 100644 --- a/src/jade/tabs/apps.jade +++ b/src/jade/tabs/apps.jade @@ -14,7 +14,7 @@ section.col-xs-12.content(ng-controller="AppsCtrl") hr div(ng-show="userBlob.data.apps", ng-repeat="app in userBlob.data.apps") .row - .col-sm-10 {{app.name}} + .col-sm-10(ng-bind="app.name") .col-sm-2 button.btn.btn-sm.btn-block.btn-danger(ng-click="remove(app.rippleAddress)") Remove .row @@ -38,4 +38,4 @@ section.col-xs-12.content(ng-controller="AppsCtrl") button.btn.btn-block.btn-success( type='submit', ng-disabled='addForm.$invalid') Add .col-sm-2.success(ng-show="success && !error") Awesome! - .col-sm-2.error(ng-show="error") {{error}} + .col-sm-2.error(ng-show="error", ng-bind="error") diff --git a/src/jade/tabs/btc.jade b/src/jade/tabs/btc.jade index c42f86efd..b05409a66 100644 --- a/src/jade/tabs/btc.jade +++ b/src/jade/tabs/btc.jade @@ -98,10 +98,10 @@ section.col-xs-12.content(ng-controller='BtcCtrl') .active.col-xs-12(ng-show="B2R.active") .title(l10n) Personal Deposit address - .btc-address {{B2R.instructions.instructionParams[0].value}} + .btc-address(ng-bind="B2R.instructions.instructionParams[0].value") .description(l10n) Your account is fully verified. div(ng-show="loadState.B2RInstructions") - .description {{B2R.instructions.instruction}} + .description(ng-bind="B2R.instructions.instruction") //.about(ng-hide="account.Balance", l10n) A small amount (~.001 BTC) of your first | transfer will be converted to XRP to activate your wallet. a.why(href="https://ripple.com/wiki/Reserves", diff --git a/src/jade/tabs/contacts.jade b/src/jade/tabs/contacts.jade index bb26fe26d..c681d6ba9 100644 --- a/src/jade/tabs/contacts.jade +++ b/src/jade/tabs/contacts.jade @@ -96,7 +96,7 @@ section.col-xs-12.content(ng-controller="ContactsCtrl") ng-controller="ContactRowCtrl" ng-show='!debug') .col-xs-3.col-md-3.col-sm-3(ng-hide='editing') - span.name(ng-hide='editing') {{entry.name}} + span.name(ng-hide='editing', ng-bind="entry.name") .col-xs-12.col-sm-6.col-md-6(ng-hide='editing') div b.hidden-xs {{entry.address | rpaddressorigin}}: {{entry.address}} diff --git a/src/jade/tabs/debug.jade b/src/jade/tabs/debug.jade index e75ad349c..94f8536c3 100644 --- a/src/jade/tabs/debug.jade +++ b/src/jade/tabs/debug.jade @@ -18,8 +18,7 @@ section.col-xs-12.content(ng-controller='DebugPretendCtrl') rp-spinner="{{pretend_loading ? 4 : null}}" ) .errorGroup(ng-messages='debugPretendForm.pretendAddr.$error') - .success(ng-show='debugPretendForm.pretendAddr.$valid && pretend.pretendAs != pretend.address') - | {{pretend.address}} + .success(ng-show='debugPretendForm.pretendAddr.$valid && pretend.pretendAs != pretend.address', ng-bind='pretend.address') .error(ng-message='required', l10n) Please enter an address. .error(ng-message='rpDest', l10n) Not a valid address. .row.row-padding-small.amount diff --git a/src/jade/tabs/exchange.jade b/src/jade/tabs/exchange.jade index 8f3a80c28..493730a6d 100644 --- a/src/jade/tabs/exchange.jade +++ b/src/jade/tabs/exchange.jade @@ -99,8 +99,8 @@ section.col-xs-12.content(ng-controller="ExchangeCtrl") rp-pretty-issuer-or-short) | ) .row.pathupdate(ng-show="exchange.alternatives.length && lastUpdate") - .col-xs-12(l10n) Price last updated - span {{lastUpdate}} + .col-xs-12(l10n) Price last updated + span(ng-bind='lastUpdate') span(ng-show="lastUpdate > '1'", l10n-inc) seconds span(ng-show="lastUpdate == '1'", l10n-inc) second | ago diff --git a/src/jade/tabs/fund.jade b/src/jade/tabs/fund.jade index ef5b85496..07c50cb8c 100644 --- a/src/jade/tabs/fund.jade +++ b/src/jade/tabs/fund.jade @@ -23,7 +23,7 @@ section.col-xs-12.content(ng-controller='FundCtrl') form.row-padding-small#trustForm(name='trustForm', ng-submit='grant()') .row .col-xs-12.form-group - label(for='trust_counterparty', ng-show="edituser") {{ edituser }} + label(for='trust_counterparty', ng-show="edituser", ng-bind="edituser") input.form-control#trust_counterparty( name='trust_counterparty', type='text', rp-combobox="counterparty_query" rp-combobox-value-as-ripple-name @@ -39,8 +39,7 @@ section.col-xs-12.content(ng-controller='FundCtrl') rp-focus, rp-spinner="{{counterparty_loading ? 4 : null}}") .errorGroup(ng-messages='trustForm.trust_counterparty.$dirty && trustForm.trust_counterparty.$error') div(ng-show='trustForm.trust_counterparty.$valid') - .success(ng-show='counterparty != counterparty_address && counterparty_name && !error_account_reserve') - | {{counterparty_address}} + .success(ng-show='counterparty != counterparty_address && counterparty_name && !error_account_reserve', ng-bind="counterparty_address") .error(ng-show='error_account_reserve') span(l10n) Account does not meet the minimum XRP reserve. a(href="https://ripple.com/wiki/Account_Creation", target="_blank", l10n) diff --git a/src/jade/tabs/history.jade b/src/jade/tabs/history.jade index 4c1354240..b66666bbd 100644 --- a/src/jade/tabs/history.jade +++ b/src/jade/tabs/history.jade @@ -17,7 +17,7 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") label(ng-class="{active: type.checked}") i.fa.fa-plus(ng-show="type.checked") i.fa.fa-minus(ng-hide="type.checked") - span.name {{type.name}} + span.name(ng-bind="type.name") input(type="checkbox", name="type-filter", ng-model="type.checked") .filter.date-filter.row .col-xs-12.filters-wrapper @@ -194,7 +194,7 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") | Add strong {{entry.transaction.counterparty | rpcontactname}} | to contact list - nav.paging(ng-if="pagination.count") {{pagination.pages}} + nav.paging(ng-if="pagination.count", ng-bind="pagination.pages") pagination.pagination-sm(total-items="pagination.count" ng-model="pagination.currentPage", items-per-page="pagination.transactionsPerPage" max-size="10", boundary-links="true") diff --git a/src/jade/tabs/login.jade b/src/jade/tabs/login.jade index bff0adb61..ac0c938cc 100644 --- a/src/jade/tabs/login.jade +++ b/src/jade/tabs/login.jade @@ -18,10 +18,10 @@ section.col-xs-12.content(ng-controller="LoginCtrl") .status(ng-show="'error' === verifyStatus", l10n) Email verification token is invalid. It has either expired or has been resent. Please check your inbox for the most recent verification email. include login/form .text-status(ng-show='status') - span.loggingIn {{status}} + span.loggingIn(ng-bind="status") br .backend.error(ng-repeat="message in backendMessages") - span.error {{message}} + span.error(ng-bind="message") .submit-btn-container button.btn.btn-submit.btn-block.btn-success#loginBtn(type='submit', ng-disabled="ajax_loading || loginForm.$invalid", ng-hide="twoFactor") @@ -46,7 +46,7 @@ section.col-xs-12.content(ng-controller="LoginCtrl") .row.action-login(ng-if="$routeParams.to") .col-xs-12.col-sm-6.col-md-6 div.info(ng-show="'send' == $route.current.tabName") - p.literal {{$routeParams.label}} + p.literal(ng-bind="$routeParams.label") div(ng-hide="$routeParams.amount", l10n) p(l10n-inc) You're sending money to .address {{ $routeParams.to | rpripplename:{tilde:true} }} @@ -67,7 +67,7 @@ section.col-xs-12.content(ng-controller="LoginCtrl") div(ng-show="$routeParams.currency", l10n-inc) | for .amount - span.currency {{$routeParams.currency}} + span.currency(ng-bind="$routeParams.currency") div(ng-show="$routeParams.amount", l10n-inc) | with a limit of .amount @@ -75,7 +75,7 @@ section.col-xs-12.content(ng-controller="LoginCtrl") | . div.info(ng-show="'contacts' == $route.current.tabName") - p.literal {{$routeParams.label}} + p.literal(ng-bind="$routeParams.label") span(l10n) p(l10n-inc) You're adding .address {{ $routeParams.to | rpripplename:{tilde:true} }} @@ -87,10 +87,10 @@ section.col-xs-12.content(ng-controller="LoginCtrl") include login/form .row .col-xs-12.text-status(ng-show='status') - span {{status}} + span(ng-bind="status") br .backend(ng-repeat="message in backendMessages") - span {{message}} + span(ng-bind="message") .row .col-xs-12 button.btn.btn-lg.btn-submit.btn-block.btn-primary(type='submit', ng-disabled="loginForm.$invalid || ajax_loading", l10n) diff --git a/src/jade/tabs/migrate.jade b/src/jade/tabs/migrate.jade index 75b606e4f..4f12dc9a4 100644 --- a/src/jade/tabs/migrate.jade +++ b/src/jade/tabs/migrate.jade @@ -21,13 +21,13 @@ section.col-xs-12.content(ng-controller="MigrateCtrl") input.form-control#login_password(name='login_password', type='password' ng-model='password', required, rp-focus) .text-status(ng-show='status') - span {{status}} + span(ng-bind="status") br - span#error {{error}} + span#error(ng-bind="error") br .backend(ng-repeat="message in backendMessages") b {{message.backend}} - span {{message.message}} + span(ng-bind="message.message") .submit-btn-container button.btn.btn-submit.btn-block.btn-success(type='submit' ng-disabled="ajax_loading || loginForm.$invalid") diff --git a/src/jade/tabs/register.jade b/src/jade/tabs/register.jade index a881ada4e..cbb7b6aaa 100644 --- a/src/jade/tabs/register.jade +++ b/src/jade/tabs/register.jade @@ -98,7 +98,7 @@ section.col-xs-12.content(ng-controller="RegisterCtrl") span.error.statusText(l10n) Passwords do not match div(ng-show="") .form-group - div(class="strength {{strength}}") {{strength}} + div(class="strength {{strength}}", ng-bind="strength") .form-group(ng-class="{'field-error': registerForm.register_email.$error.email && registerForm.register_email.$dirty}") label(for='register_email') Email input.form-control#register_email(type="email", name="register_email" @@ -123,7 +123,7 @@ section.col-xs-12.content(ng-controller="RegisterCtrl") .auth-attention(ng-show="registerForm.register_masterkey.$error.rpMasterAddressExists && masterkeyAddress") div(l10n) | The account ~ - span {{ masterkeyUsername }} + span(ng-bind="masterkeyUsername") //- span ({{ masterkeyAddress }}) | has already been created using this secret key. a.btn.btn-primary.recovery(ng-href="#/recover/{{masterkeyUsername}}", l10n) Recover Account @@ -210,7 +210,7 @@ section.col-xs-12.content(ng-controller="RegisterCtrl") div.secret-key span.fa.fa-key span(ng-hide="showSecret") ••••••••••••••••••••••••••••• - span(ng-show="showSecret") {{keyOpen}} + span(ng-show="showSecret", ng-bind="keyOpen") a.secretText(href="", ng-click="showSecret=!showSecret") span(ng-hide="showSecret", l10n) Show secret key span(ng-show="showSecret", l10n) Hide secret key @@ -233,8 +233,8 @@ section.col-xs-12.content(ng-controller="RegisterCtrl") span 2 li.active(l10n) Step span 3 - .auth-attention(l10n) We’ve sent an email to - span {{userBlob.data.email}} + .auth-attention(l10n) We’ve sent an email to + span(ng-bind="userBlob.data.email") | . To complete registration, click the link in the email. .auth-attention(ng-show="resendSuccess", l10n) Email token has been resent. form(name="resendForm").row diff --git a/src/jade/tabs/security.jade b/src/jade/tabs/security.jade index b965c21a9..516399d4f 100644 --- a/src/jade/tabs/security.jade +++ b/src/jade/tabs/security.jade @@ -68,7 +68,7 @@ section.col-xs-12.content(ng-controller="SecurityCtrl") div.grey-focus .row.modal-permissions .col-xs-12.col-sm-4(l10n) - Your email address: - .col-xs-12.col-sm-8.email {{userBlob.data.email}} + .col-xs-12.col-sm-8.email(ng-bind="userBlob.data.email") .row.modal-permissions .col-xs-12.col-sm-4(l10n) - Your phone number: include 2fa/form @@ -151,7 +151,7 @@ section.col-xs-12.content(ng-controller="SecurityCtrl") span(l10n) Passwords do not match div(ng-show="") .form-group - div(class="strength {{strength}}") {{strength}} + div(class="strength {{strength}}", ng-bind="strength") .row .col-xs-6.col-sm-6 button.btn.btn-success.btn-block(type="submit" @@ -169,7 +169,7 @@ section.col-xs-12.content(ng-controller="SecurityCtrl") .row.row-padding-small-xs .col-xs-9.col-sm-8.col-md-6 .description - span.value(ng-show="security.master_seed") {{security.master_seed}} + span.value(ng-show="security.master_seed", ng-bind="security.master_seed") span.value(ng-hide="security.master_seed") •••••••••••••••••••••••••••••••••••••••••••• .col-xs-3.col-sm-4.col-md-3 a.btn.btn-cancel(href="", ng-click="unmaskSecret()", ng-hide="security.master_seed", l10n) Show diff --git a/src/jade/tabs/send.jade b/src/jade/tabs/send.jade index 508f39b1a..b6a26c24f 100644 --- a/src/jade/tabs/send.jade +++ b/src/jade/tabs/send.jade @@ -41,8 +41,7 @@ section.col-xs-12.content(ng-controller='SendCtrl') rp-autofill='$routeParams.to' rp-focus, rp-spinner="{{recipient_loading ? 4 : null}}") .errorGroup(ng-messages='sendForm.send_destination.$dirty && sendForm.send_destination.$error') - .success(ng-show='sendForm.send_destination.$valid && send.recipient != send.recipient_address') - | {{send.recipient_address}} + .success(ng-show='sendForm.send_destination.$valid && send.recipient != send.recipient_address', ng-bind='send.recipient_address') .error(ng-message='required', l10n) | Please enter a recipient. .error(ng-message='rpDest', l10n) @@ -241,8 +240,8 @@ section.col-xs-12.content(ng-controller='SendCtrl') rp-pretty-issuer-or-short) | ) .row.row-padding-small.pathupdate(ng-show="send.alternatives.length && lastUpdate") - .col-xs-12(l10n) Paths last updated - span {{lastUpdate}} + .col-xs-12(l10n) Paths last updated + span(ng-bind='lastUpdate') span(ng-show="lastUpdate > '1'", l10n-inc) seconds span(ng-show="lastUpdate == '1'", l10n-inc) second | ago @@ -261,10 +260,9 @@ section.col-xs-12.content(ng-controller='SendCtrl') span {{ (send.alt.amount || send.currency) | rpcurrency}} | to .dest_feedback - .recipient(ng-show='send.recipient_name') {{send.recipient_name}} - .recipient(ng-hide='send.recipient_name') {{send.recipient_address}} - .extra(href='', ng-show='send.recipient != send.recipient_address || send.recipient_name') - | {{send.recipient_address}} + .recipient(ng-show='send.recipient_name', ng-bind='send.recipient_name') + .recipient(ng-hide='send.recipient_name', ng-bind='send.recipient_address') + .extra(href='', ng-show='send.recipient != send.recipient_address || send.recipient_name', ng-bind='send.recipient_address') .dt(ng-show='send.dt', l10n) Destination tag: {{send.dt}} p.literal(l10n) They will receive p.amount_feedback(rp-pretty-amount='send.amount_feedback') @@ -330,9 +328,9 @@ section.col-xs-12.content(ng-controller='SendCtrl') form(name="saveAddressForm" ng-class="{ show: show_save_address_form }" ng-submit='saveAddress()') - .name(ng-show="send.federation") {{send.recipient}} - .address(ng-show="send.recipient_name") {{send.recipient_name}} - .address(ng-hide="send.recipient_name") {{send.recipient_address}} + .name(ng-show="send.federation", ng-bind="send.recipient") + .address(ng-show="send.recipient_name", ng-bind="send.recipient_name") + .address(ng-hide="send.recipient_name", ng-bind="send.recipient_address") label(for='save_address_name', l10n) Name this user input.form-control#contact_name( name='save_address_name', type="text" @@ -368,9 +366,9 @@ section.col-xs-12.content(ng-controller='SendCtrl') | Add this address to contacts form(name="saveAddressForm", ng-class="{ show: show_save_address_form }" ng-submit='saveAddress()') - .name(ng-show="send.federation") {{send.recipient}} - .address(ng-show="send.recipient_name") {{send.recipient_name}} - .address(ng-hide="send.recipient_name") {{send.recipient_address}} + .name(ng-show="send.federation", ng-bind="send.recipient") + .address(ng-show="send.recipient_name", ng-bind="send.recipient_name") + .address(ng-hide="send.recipient_name", ng-bind="send.recipient_address") label(for='save_address_name', l10n) Name this user input.form-control#contact_name( name='save_address_name', type="text" diff --git a/src/jade/tabs/settingstrade.jade b/src/jade/tabs/settingstrade.jade index 4cdaa97c3..d15cfbc43 100644 --- a/src/jade/tabs/settingstrade.jade +++ b/src/jade/tabs/settingstrade.jade @@ -21,6 +21,6 @@ section.col-xs-12.content(ng-controller="SettingsTradeCtrl") div.pair(ng-repeat="entry in pairs", as-sortable-item) .col-xs-12(as-sortable-item-handle) i.grip - span.description {{entry.name}} + span.description(ng-bind="entry.name") a(href="", ng-click="deletePair($index)") span.delete remove diff --git a/src/jade/tabs/trade.jade b/src/jade/tabs/trade.jade index 861a5f8e6..8ebb4d704 100644 --- a/src/jade/tabs/trade.jade +++ b/src/jade/tabs/trade.jade @@ -120,18 +120,15 @@ section.col-xs-12.content(ng-controller="TradeCtrl") li.col-xs-6.col-sm-3 span(l10n) Bid span = - span.value - | {{ priceTicker.bid }} + span.value(ng-bind="priceTicker.bid") li.col-xs-6.col-sm-3 span(l10n) Ask span = - span.value - | {{ priceTicker.ask }} + span.value(ng-bind="priceTicker.ask") li.col-xs-6.col-sm-3 span(l10n) Spread span = - span.value - | {{ priceTicker.spread }} + span.value(ng-bind="priceTicker.spread") li.col-xs-6.col-sm-3 span(l10n) Last price span = @@ -588,8 +585,8 @@ section.col-xs-12.content(ng-controller="TradeCtrl") small.toggle.orderbook-hide(ng-click="visualState.hideOrderBook = !visualState.hideOrderBook") span(ng-show="visualState.hideOrderBook", l10n) show span(ng-hide="visualState.hideOrderBook", l10n) hide - .col-xs-12.col-sm-6.last-update(l10n, ng-show="lastUpdate") Last updated - span {{lastUpdate}} + .col-xs-12.col-sm-6.last-update(l10n, ng-show="lastUpdate") Last updated + span(ng-bind="lastUpdate") span(ng-show="lastUpdate > '1'", l10n-inc) seconds span(ng-show="lastUpdate == '1'", l10n-inc) second | ago diff --git a/src/jade/tabs/trust.jade b/src/jade/tabs/trust.jade index 6b6e182a2..ca071d199 100644 --- a/src/jade/tabs/trust.jade +++ b/src/jade/tabs/trust.jade @@ -86,8 +86,7 @@ section.col-xs-12.content(ng-controller="TrustCtrl") rp-focus, rp-spinner="{{counterparty_loading ? 4 : null}}") .errorGroup(ng-messages='trustForm.trust_counterparty.$dirty && trustForm.trust_counterparty.$error') div(ng-show='trustForm.trust_counterparty.$valid') - .success(ng-show='counterparty != counterparty_address && counterparty_name && !error_account_reserve') - | {{counterparty_address}} + .success(ng-show='counterparty != counterparty_address && counterparty_name && !error_account_reserve', ng-bind='counterparty_address') .error(ng-show='error_account_reserve') span(l10n) This account does not meet the minimum XRP reserve, so you cannot use it as a gateway. .error(ng-message='required', l10n) Please enter a Ripple name, contact, or address. @@ -168,7 +167,7 @@ section.col-xs-12.content(ng-controller="TrustCtrl") span.modal-permissions(l10n-inc) on your behalf div.grey-focus(ng-hide="globalOptions.advanced_feature_switch", l10n) span.modal-permissions(l10n-inc) - Hold - span {{ currency }} + span(ng-bind="currency") span.modal-permissions(l10n-inc) on your behalf div.modal-buttons button.modal-btn.btn.btn-default.btn-success.btn-md(data-dismiss="modal", ng-click="grant_confirmed()", @@ -231,7 +230,7 @@ section.col-xs-12.content(ng-controller="TrustCtrl") span(rp-address-popover, rp-address-popover-sum="component.limit_peer") {{ component.limit_peer | rpamount }} .col-sm-1.col-xs-2(ng-show="globalOptions.advanced_feature_switch && component.limit_peer._offset !== '-100'", ng-hide="component.limit_peer._offset == '-100' || !globalOptions.advanced_feature_switch") - span(rp-address-popover, rp-address-popover-sum="component.limit_peer", rp-address-popover-sum-minus) {{minVal}} + span(rp-address-popover, rp-address-popover-sum="component.limit_peer", rp-address-popover-sum-minus, ng-bind="minVal") .col-sm-2.col-xs-2(ng-show="globalOptions.advanced_feature_switch") div(ng-show="component.no_ripple", l10n) Off div(ng-hide="component.no_ripple", l10n) On diff --git a/src/jade/tabs/tx.jade b/src/jade/tabs/tx.jade index 9d47291eb..abd5a96dc 100644 --- a/src/jade/tabs/tx.jade +++ b/src/jade/tabs/tx.jade @@ -8,12 +8,12 @@ section.single.ddpage.content(ng-controller="TxCtrl", ng-switch on="state") group(ng-switch-when="loaded") p.literal.hash span(l10n) Transaction # - span {{transaction.hash}} + span(ng-bind="transaction.hash") div a(href="{{'https://ripplecharts.com/#/graph/' + transaction.hash}}", target="_blank", l10n) Show in graph hr p.literal.type(l10n) Transaction type: - strong {{transaction.TransactionType}} + strong(ng-bind="transaction.TransactionType") group(ng-switch on="transaction.TransactionType") group(ng-switch-when="Payment") group.clearfix @@ -21,7 +21,7 @@ section.single.ddpage.content(ng-controller="TxCtrl", ng-switch on="state") dt span(l10n) Address sent from span : - dd {{transaction.Account}} + dd(ng-bind="transaction.Account") dt span(l10n) Amount sent span : @@ -55,18 +55,18 @@ section.single.ddpage.content(ng-controller="TxCtrl", ng-switch on="state") dt span(l10n) Destination tag span : - dd {{transaction.DestinationTag}} + dd(ng-bind="transaction.DestinationTag") hr dl.details dt span(l10n) Ledger number span : - dd {{transaction.inLedger}} + dd(ng-bind="transaction.inLedger") group(ng-switch-default) group.clearfix dl.details.half dt(l10n) Address sent from: - dd {{transaction.Account}} + dd(ng-bind="transaction.Account") dl.details.half hr p.literal(l10n="Sorry, we don't have an info page layout for this transaction type yet.") diff --git a/src/jade/tabs/xrp.jade b/src/jade/tabs/xrp.jade index c3fe98b2f..44c1092ae 100644 --- a/src/jade/tabs/xrp.jade +++ b/src/jade/tabs/xrp.jade @@ -22,7 +22,7 @@ section.col-xs-12.content(ng-controller='XrpCtrl') .address a(href="", ng-click="showRippleAddress=true" ng-hide="showRippleAddress", l10n) Show address - div(ng-show="showRippleAddress") {{address}} + div(ng-show="showRippleAddress", ng-bind="address") .description(l10n) Ripple names are a new feature on Ripple! Use your | Ripple name (~{{userCredentials.username}}) to receive money. | You can still use your full Ripple address, and while we are From 587c3f043984d796280fd04e6c7733a9a889d562 Mon Sep 17 00:00:00 2001 From: "J.M" Date: Fri, 13 Mar 2015 20:17:20 +0100 Subject: [PATCH 062/321] [TASK] Update existing localizations --- l10n/de/messages.po | 3064 ++++++++++++++++--------- l10n/en/messages.po | 4791 ++++++++++++++++++++++++++-------------- l10n/es/messages.po | 3074 +++++++++++++++++--------- l10n/it/messages.po | 3106 +++++++++++++++++--------- l10n/ja/messages.po | 3071 ++++++++++++++++--------- l10n/nl_NL/messages.po | 3444 ++++++++++++++++++----------- l10n/ru/messages.po | 3071 ++++++++++++++++--------- 7 files changed, 15364 insertions(+), 8257 deletions(-) diff --git a/l10n/de/messages.po b/l10n/de/messages.po index 443c9adce..ce064849f 100644 --- a/l10n/de/messages.po +++ b/l10n/de/messages.po @@ -2,7 +2,7 @@ # Translators: # chi.monow , 2014 # chi.monow , 2014 -# Ettore Atalan , 2014 +# Ettore Atalan , 2014-2015 # FabianRuehle , 2014 # FabianRuehle , 2014 # J.M. , 2014-2015 @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: Ripple Trade\n" -"PO-Revision-Date: 2015-01-12 18:07+0000\n" +"PO-Revision-Date: 2015-01-24 17:46+0000\n" "Last-Translator: J.M. \n" "Language-Team: German (http://www.transifex.com/projects/p/ripple-trade/language/de/)\n" "MIME-Version: 1.0\n" @@ -25,47 +25,49 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/jade/client/index.jade:5 src/jade/client/navbar.jade:112 -#: src/jade/tabs/trust.jade:86 src/jade/tabs/trust.jade:228 +#: src/jade/client/index.jade:5 src/jade/client/navbar.jade:117 +#: src/jade/tabs/trust.jade:59 src/jade/tabs/trust.jade:168 msgid "Balance" msgstr "Kontostand" -#: src/jade/client/index.jade:7 src/jade/client/navbar.jade:114 +#: src/jade/client/index.jade:7 src/jade/client/navbar.jade:119 msgid "History" msgstr "Kontoauszug" -#: src/jade/client/index.jade:8 src/jade/client/navbar.jade:116 -#: src/jade/tabs/contacts.jade:5 +#: src/jade/client/index.jade:8 src/jade/client/navbar.jade:121 msgid "Contacts" msgstr "Kontakte" -#: src/jade/client/index.jade:12 src/jade/client/navbar.jade:13 -#: src/jade/tabs/contacts.jade:73 +#: src/jade/client/index.jade:12 src/jade/client/navbar.jade:21 +#: src/jade/tabs/contacts.jade:65 msgid "Send" msgstr "Senden" -#: src/jade/client/index.jade:16 src/jade/client/navbar.jade:123 +#: src/jade/client/index.jade:16 msgid "Convert" msgstr "Market-Order (Einfach)" -#: src/jade/client/index.jade:18 src/jade/client/navbar.jade:121 +#: src/jade/client/index.jade:18 src/jade/client/navbar.jade:23 +#: src/jade/client/navbar.jade:25 src/jade/tabs/settings/navbar.jade:3 msgid "Trade" msgstr "Handel" -#: src/jade/client/index.jade:22 src/jade/client/navbar.jade:19 -#: src/jade/client/navbar.jade:128 +#: src/jade/client/index.jade:22 src/jade/client/navbar.jade:27 +#: src/jade/client/navbar.jade:133 msgid "Fund" msgstr "Kapital" -#: src/jade/client/index.jade:24 src/jade/tabs/fund/menu.jade:5 +#: src/jade/client/index.jade:24 src/jade/tabs/fund/menu.jade:29 msgid "Gateways" msgstr "Gateways" -#: src/jade/client/index.jade:29 src/jade/tabs/su.jade:12 +#: src/jade/client/index.jade:29 src/jade/client/navbar.jade:107 +#: src/jade/tabs/su.jade:12 msgid "Account" msgstr "Konto" -#: src/jade/client/index.jade:32 src/jade/tabs/advanced.jade:9 +#: src/jade/client/index.jade:32 src/jade/client/navbar.jade:109 +#: src/jade/tabs/advanced.jade:19 msgid "Settings" msgstr "Einstellungen" @@ -73,198 +75,437 @@ msgstr "Einstellungen" msgid "Logout" msgstr "Abmelden" -#: src/jade/client/index.jade:41 -msgid "Welcome to {{productName}}, a global value exchange" -msgstr "Willkommen bei {{productName}}, einer globalen Werte-Handelsplattform" - -#: src/jade/client/index.jade:51 +#: src/jade/client/index.jade:61 +msgid "Why Use Ripple Trade?" +msgstr "Warum Ripple Trade verwenden?" + +#: src/jade/client/index.jade:66 +msgid "Home of XRP -" +msgstr "Heimat von XRP -" + +#: src/jade/client/index.jade:67 +msgid "the best place to buy and sell XRP" +msgstr "der beste Ort zum Kaufen und Verkaufen von XRP" + +#: src/jade/client/index.jade:71 +msgid "Free -" +msgstr "Kostenlos -" + +#: src/jade/client/index.jade:72 +msgid "no fees to sign up and use Ripple Trade" +msgstr "keine Gebühren zum Registrieren und Verwenden von Ripple Trade" + +#: src/jade/client/index.jade:76 +msgid "No Middlemen -" +msgstr "Keine Makler -" + +#: src/jade/client/index.jade:77 +msgid "" +"When you submit orders, Ripple automatically finds the best available match," +" without a clearinghouse or broker." +msgstr "Beim Absenden von Ordern findet Ripple automatisch die beste verfügbare Kombination, ohne Girozentrale oder Broker." + +#: src/jade/client/index.jade:81 +msgid "Deposit, trade and withdraw money on Ripple via gateways." +msgstr "Einzahlen, Handeln und Abheben von Geld auf Ripple über Gateways." + +#: src/jade/client/index.jade:89 +msgid "Featured Ripple Gateways" +msgstr "Nennenswerte Ripple-Gateways" + +#: src/jade/client/index.jade:91 +msgid "Ripple's growing gateway network." +msgstr "Das wachsende Gateway-Netzwerk von Ripple." + +#: src/jade/client/index.jade:93 src/jade/client/index.jade:96 +#: src/jade/client/index.jade:99 src/jade/client/index.jade:102 +#: src/jade/client/index.jade:105 src/jade/client/index.jade:108 +#: src/jade/client/index.jade:111 src/jade/client/index.jade:114 +#: src/jade/client/index.jade:117 src/jade/tabs/banner/unfunded.jade:6 +#: src/jade/tabs/brl.jade:53 src/jade/tabs/brl.jade:57 +#: src/jade/tabs/brl.jade:93 src/jade/tabs/btc.jade:46 +#: src/jade/tabs/eur.jade:50 src/jade/tabs/eur.jade:54 +#: src/jade/tabs/eur.jade:86 src/jade/tabs/eur.jade:93 +#: src/jade/tabs/gold.jade:51 src/jade/tabs/jpy.jade:55 +#: src/jade/tabs/jpy.jade:91 src/jade/tabs/jpy.jade:97 +#: src/jade/tabs/mxn.jade:53 src/jade/tabs/send.jade:63 +#: src/jade/tabs/trade.jade:320 src/jade/tabs/usd.jade:51 +#: src/jade/tabs/usd.jade:83 src/jade/tabs/usd.jade:90 +#: src/jade/tabs/usd.jade:100 src/jade/tabs/widgets/orders.jade:31 +msgid "{{1}}" +msgstr "{{1}}" + +#: src/jade/client/index.jade:123 msgid "Version: {{version}}" msgstr "Version: {{version}}" -#: src/jade/client/index.jade:55 -msgid "End-User License Agreement" -msgstr "Endbenutzer-Lizenzvertrag" +#: src/jade/client/index.jade:128 +msgid "Terms of Use" +msgstr "Nutzungsbedingungen" -#: src/jade/client/index.jade:56 +#: src/jade/client/index.jade:129 +msgid "Privacy Policy" +msgstr "Datenschutzerklärung" + +#: src/jade/client/index.jade:130 msgid "Support" msgstr "Support" -#: src/jade/client/index.jade:57 +#: src/jade/client/index.jade:131 msgid "Bug reports" msgstr "Fehlerberichte" -#: src/jade/client/index.jade:64 +#: src/jade/client/index.jade:138 msgid "more..." msgstr "mehr..." -#: src/jade/client/index.jade:68 +#: src/jade/client/index.jade:142 msgid "Select a language" msgstr "Sprachen Auswahl" -#: src/jade/client/navbar.jade:11 +#: src/jade/client/navbar.jade:2 +msgid "" +"You are viewing an account in {{1}} mode. While in this mode, you can view " +"publicly available data, but you cannot initiate any transactions. Click " +"{{2}} to exit." +msgstr "Sie zeigen ein Konto im {{1}}-Modus an. In diesem Modus können Sie öffentlich verfügbare Daten sehen, aber keine Transaktionen auslösen. Zum Beenden auf {{2}} klicken." + +#: src/jade/client/navbar.jade:8 +msgid "" +"Warning: this account has over 200 trust lines, so the displayed account " +"balance may not be accurate." +msgstr "Warnung: Dieses Konto hat mehr als 200 Vertrauenslinien, der angezeigte Kontostand stimmt unter Umständen nicht genau." + +#: src/jade/client/navbar.jade:19 msgid "Overview" msgstr "Übersicht" -#: src/jade/client/navbar.jade:15 src/jade/client/navbar.jade:17 -#: src/jade/tabs/exchange.jade:43 -msgid "Exchange" -msgstr "Umtausch" - -#: src/jade/client/navbar.jade:39 src/jade/tabs/account/public.jade:45 -#: src/jade/tabs/apps.jade:8 src/jade/tabs/balance.jade:8 -#: src/jade/tabs/balance.jade:27 src/jade/tabs/btc.jade:60 -#: src/jade/tabs/exchange.jade:9 src/jade/tabs/history.jade:207 -#: src/jade/tabs/kyc.jade:38 src/jade/tabs/recover.jade:21 -#: src/jade/tabs/security.jade:134 src/jade/tabs/su.jade:8 -#: src/jade/tabs/trust.jade:9 src/jade/tabs/trust.jade:175 +#: src/jade/client/navbar.jade:49 src/jade/tabs/account/private.jade:7 +#: src/jade/tabs/account/private.jade:16 src/jade/tabs/account/public.jade:45 +#: src/jade/tabs/apps.jade:8 src/jade/tabs/btc.jade:72 +#: src/jade/tabs/exchange.jade:9 src/jade/tabs/kyc.jade:45 +#: src/jade/tabs/recover.jade:26 src/jade/tabs/security.jade:147 +#: src/jade/tabs/su.jade:8 src/jade/tabs/trust.jade:9 +#: src/jade/tabs/trust.jade:139 msgid "Loading..." msgstr "Bitte warten..." -#: src/jade/client/navbar.jade:40 +#: src/jade/client/navbar.jade:50 msgid "There are no recent notifications." msgstr "Es gibt keine neuen Meldungen." -#: src/jade/client/navbar.jade:44 +#: src/jade/client/navbar.jade:54 msgid "You sent {{1}} to {{2}}" msgstr "Sie haben {{1}} zu {{2}} gesendet" -#: src/jade/client/navbar.jade:50 +#: src/jade/client/navbar.jade:60 msgid "{{1}} sent you {{2}}" msgstr "{{1}} hat Ihnen {{2}} gesendet" -#: src/jade/client/navbar.jade:58 +#: src/jade/client/navbar.jade:68 msgid "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" msgstr "{{entry.transaction.counterparty | rpcontactname}} vertraut Ihnen jetzt über" -#: src/jade/client/navbar.jade:64 src/jade/notification/account.jade:25 -#: src/jade/tabs/history.jade:133 src/jade/tabs/history/effects.jade:63 +#: src/jade/client/navbar.jade:74 src/jade/notification/account.jade:25 +#: src/jade/tabs/history.jade:115 src/jade/tabs/history/effects.jade:63 msgid "You have now connected to the gateway {{1}}{{2: for }}{{3}}." msgstr "Sie haben sich jetzt mit dem Gateway {{1}}{{2: für }}{{3}} verbunden." -#: src/jade/client/navbar.jade:75 +#: src/jade/client/navbar.jade:85 msgid "You cancelled an order accepting {{1}} for {{2}}" msgstr "Sie haben ihr Angebot {{1}} für {{2}} zu akzeptieren storniert" -#: src/jade/client/navbar.jade:82 src/jade/tabs/history.jade:156 +#: src/jade/client/navbar.jade:92 src/jade/tabs/history.jade:138 msgid "Account details have been changed" msgstr "Kontodaten wurden geändert" -#: src/jade/client/navbar.jade:85 src/jade/tabs/history.jade:159 -#: src/jade/tabs/trust.jade:231 +#: src/jade/client/navbar.jade:95 src/jade/tabs/history.jade:141 +#: src/jade/tabs/trust.jade:171 msgid "Rippling" msgstr "Rippling" -#: src/jade/client/navbar.jade:87 src/jade/tabs/history.jade:161 +#: src/jade/client/navbar.jade:97 src/jade/tabs/history.jade:143 msgid "Failed transaction" msgstr "Fehlgeschlagene Transaktion" -#: src/jade/client/navbar.jade:93 +#: src/jade/client/navbar.jade:103 msgid "View Full History" msgstr "Vollständigen Verlauf anzeigen" -#: src/jade/client/navbar.jade:97 -msgid "{{1}} Account" -msgstr "{{1}} Konto" +#: src/jade/client/navbar.jade:111 +msgid "Log Out" +msgstr "Abmelden" -#: src/jade/client/navbar.jade:101 -msgid "{{1}} Settings" -msgstr "{{1}} Einstellungen" +#: src/jade/client/navbar.jade:126 +msgid "Simple" +msgstr "Einfach" -#: src/jade/client/navbar.jade:105 -msgid "{{1}} Log Out" -msgstr "{{1}} Abmelden" +#: src/jade/client/navbar.jade:128 src/jade/tabs/settings/navbar.jade:4 +msgid "Advanced" +msgstr "Erweitert" -#: src/jade/client/navbar.jade:130 src/jade/tabs/balance.jade:110 +#: src/jade/client/navbar.jade:135 msgid "Withdraw" msgstr "Abhebung" -#: src/jade/client/navbar.jade:132 +#: src/jade/client/navbar.jade:137 msgid "" "Your account was successfully recovered and encrypted with the new password " "you provided!" msgstr "Ihr Konto wurde erfolgreich wiederhergestellt und mit dem neuen Kennwort verschlüsselt, das Sie bereitgestellt haben!" -#: src/jade/client/navbar.jade:133 +#: src/jade/client/navbar.jade:138 msgid "dismiss" msgstr "schließen" -#: src/jade/directives/transactionerror.jade:5 +#: src/jade/directives/addresspopover.jade:3 +msgid "Ripple address {{ identity }}" +msgstr "Ripple-Adresse {{ identity }}" + +#: src/jade/directives/addresspopover.jade:8 src/jade/tabs/tx.jade:13 +msgid "Show in graph" +msgstr "In Diagramm anzeigen" + +#: src/jade/directives/transactionerror.jade:8 +msgid "Connecting gateway to your account..." +msgstr "Gateway wird mit Ihrem Konto verbunden…" + +#: src/jade/directives/transactionerror.jade:10 +msgid "Gateway connected." +msgstr "Gateway verbunden." + +#: src/jade/directives/transactionerror.jade:12 +msgid "There was a problem connecting to the gateway. Please try again later." +msgstr "Beim Verbinden des Gateways ist ein Problem aufgetreten. Bitte versuchen Sie es später erneut." + +#: src/jade/directives/transactionerror.jade:14 +#: src/jade/directives/transactionerror.jade:73 +#: src/jade/directives/transactionerror.jade:158 +#: src/jade/messages/sendconvert/confirmation.jade:13 +msgid "Error code: {{engine_result}} - {{engine_result_message}}" +msgstr "Fehlercode: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:19 +#: src/jade/directives/transactionerror.jade:23 +#: src/jade/directives/transactionerror.jade:28 +#: src/jade/directives/transactionerror.jade:33 +#: src/jade/directives/transactionerror.jade:45 +#: src/jade/directives/transactionerror.jade:52 +#: src/jade/directives/transactionerror.jade:156 +#: src/jade/directives/transactionerror.jade:163 +#: src/jade/directives/transactionerror.jade:167 +#: src/jade/directives/transactionerror.jade:172 +#: src/jade/directives/transactionerror.jade:177 +#: src/jade/directives/transactionerror.jade:186 +#: src/jade/directives/transactionerror.jade:193 +msgid "Request failed" +msgstr "Anfrage gescheitert" + +#: src/jade/directives/transactionerror.jade:21 +#: src/jade/directives/transactionerror.jade:165 +msgid "Your request timed out, please try again." +msgstr "Zeitüberschreitung bei Ihrer Anfrage, bitte erneut versuchen." + +#: src/jade/directives/transactionerror.jade:25 +#: src/jade/directives/transactionerror.jade:84 +#: src/jade/directives/transactionerror.jade:169 +#: src/jade/messages/sendconvert/confirmation.jade:18 +msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." +msgstr "Fehlercode: Zielmarker erforderlich [tefDST_TAG_NEEDED]." + +#: src/jade/directives/transactionerror.jade:30 +#: src/jade/directives/transactionerror.jade:174 +msgid "" +"Error code: This request failed because it exceeded the maximum network fee," +" please try again later [telINSUF_FEE_P]." +msgstr "Fehlercode: Diese Anfrage ist gescheitert, da die maximale Netzwerkgebühr überschritten wird, bitte später erneut versuchen [tellNSUF_FEE_P]." + +#: src/jade/directives/transactionerror.jade:35 +msgid "" +"Error code: You have no gateway connected in this currency [terNO_LINE]." +msgstr "Fehlercode: Sie haben kein Gateway in dieser Währung verbunden [terNO_LINE]." + +#: src/jade/directives/transactionerror.jade:37 +msgid "" +"Error code: Insufficient reserve to connect gateway [tecINSUF_RESERVE_LINE]." +msgstr "Fehlercode: Ungenügende Reserve zum Verbinden des Gateways [tecINSUF_RESERVE_LINE]." + +#: src/jade/directives/transactionerror.jade:39 +msgid "" +"Error code: You have an insufficient reserve amount to connect a gateway " +"[tecNO_LINE_INSUF_RESERVE]. {{1}}" +msgstr "Fehlercode: Ihre Reserve reicht nicht aus, um ein Gateway zu verbinden [tecNO_LINE_INSUF_RESERVE]. {{1}}" + +#: src/jade/directives/transactionerror.jade:41 src/jade/tabs/fund.jade:34 +#: src/jade/tabs/send.jade:110 src/jade/tabs/trust.jade:74 +msgid "More information" +msgstr "Mehr Infos" + +#: src/jade/directives/transactionerror.jade:42 +#: src/jade/directives/transactionerror.jade:98 +#: src/jade/directives/transactionerror.jade:135 +#: src/jade/directives/transactionerror.jade:183 +#: src/jade/messages/sendconvert/confirmation.jade:27 +msgid "Error: {{engine_result_message}}" +msgstr "Fehler: {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:47 +#: src/jade/directives/transactionerror.jade:103 +#: src/jade/directives/transactionerror.jade:188 +#: src/jade/messages/sendconvert/confirmation.jade:32 +msgid "Error code: You have no trust line in this currency [terNO_LINE]." +msgstr "Fehlercode: Sie haben keine Vertrauens-Linie in dieser Währung [terNO_LINE]." + +#: src/jade/directives/transactionerror.jade:49 +#: src/jade/directives/transactionerror.jade:190 +msgid "Your request failed: {{engine_result}} - {{engine_result_message}}" +msgstr "Ihre Anfrage ist gescheitert: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:54 +#: src/jade/directives/transactionerror.jade:195 +msgid "Error code: request could not be submitted [tejLost]." +msgstr "Fehlercode: Anfrage konnte nicht übermittelt werden [tejLost]." + +#: src/jade/directives/transactionerror.jade:56 +#: src/jade/directives/transactionerror.jade:197 src/jade/tabs/trust.jade:36 +msgid "" +"This request failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "Diese Anfrage ist fehlgeschlagen, da die aktuelle Netzwerkgebühr höher ist als das Limit Ihres Accounts. Sie können Ihre maximale Netzwerkgebühr in Einstellungen > Erweitert anpassen, oder Sie versuchen es später erneut.
Fehlercode: Netzwerkgebühr überschritten [tejMaxFeeExceeded]." + +#: src/jade/directives/transactionerror.jade:59 +#: src/jade/directives/transactionerror.jade:200 +msgid "" +"Your request could not be submitted: {{engine_result}} - " +"{{engine_result_message}}" +msgstr "Ihre Anfrage konnte nicht übermittelt werden: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:67 msgid "Payment pending" msgstr "Zahlung ausstehend" -#: src/jade/directives/transactionerror.jade:7 +#: src/jade/directives/transactionerror.jade:69 msgid "Payment successful" msgstr "Zahlung erfolgreich" -#: src/jade/directives/transactionerror.jade:9 -#: src/jade/directives/transactionerror.jade:16 -#: src/jade/directives/transactionerror.jade:20 -#: src/jade/directives/transactionerror.jade:25 -#: src/jade/directives/transactionerror.jade:30 -#: src/jade/directives/transactionerror.jade:39 -#: src/jade/directives/transactionerror.jade:46 +#: src/jade/directives/transactionerror.jade:71 +#: src/jade/directives/transactionerror.jade:82 +#: src/jade/directives/transactionerror.jade:87 +#: src/jade/directives/transactionerror.jade:92 +#: src/jade/directives/transactionerror.jade:101 +#: src/jade/directives/transactionerror.jade:108 msgid "Payment failed" msgstr "Zahlung fehlgeschlagen" -#: src/jade/directives/transactionerror.jade:11 -#: src/jade/messages/sendconvert/confirmation.jade:13 -msgid "Error code: {{engine_result}} - {{engine_result_message}}" -msgstr "Fehlercode: {{engine_result}} - {{engine_result_message}}" +#: src/jade/directives/transactionerror.jade:78 +msgid "Payment failed [tefMAX_LEDGER]." +msgstr "Zahlung fehlgeschlagen [tefMAX_LEDGER]." -#: src/jade/directives/transactionerror.jade:18 +#: src/jade/directives/transactionerror.jade:80 msgid "Your payment timed out, please try again." msgstr "Zeitüberschreitung bei Ihrer Zahlung, bitte versuchen Sie es erneut." -#: src/jade/directives/transactionerror.jade:22 -#: src/jade/messages/sendconvert/confirmation.jade:18 -msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." -msgstr "Fehlercode: Zielmarker erforderlich [tefDST_TAG_NEEDED]." - -#: src/jade/directives/transactionerror.jade:27 +#: src/jade/directives/transactionerror.jade:89 #: src/jade/messages/sendconvert/confirmation.jade:39 msgid "" "Error code: This transaction failed because it exceeded the maximum network " "fee, please try again later [telINSUF_FEE_P]." msgstr "Fehlercode: Diese Transaktion ist fehlgeschlagen, da die maximale Netzwerkgebühr überschritten wurde, bitte versuchen Sie es später erneut [tellNSUF_FEE_P]." -#: src/jade/directives/transactionerror.jade:32 +#: src/jade/directives/transactionerror.jade:94 +#: src/jade/directives/transactionerror.jade:179 msgid "Error code: No destination [tecNO_DST]." msgstr "Fehlercode: Kein Ziel [tecNO_DST]." -#: src/jade/directives/transactionerror.jade:34 +#: src/jade/directives/transactionerror.jade:96 +#: src/jade/directives/transactionerror.jade:181 #: src/jade/messages/sendconvert/confirmation.jade:25 msgid "" "Error code: Insufficient XRP sent to destination [tecNO_DST_INSUF_XRP]." msgstr "Fehlercode: Nicht ausreichende XRP an Ziel gesendet [tecNO_DST_INSUF_XRP]." -#: src/jade/directives/transactionerror.jade:36 -#: src/jade/messages/sendconvert/confirmation.jade:27 -msgid "Error: {{engine_result_message}}" -msgstr "Fehler: {{engine_result_message}}" - -#: src/jade/directives/transactionerror.jade:41 -#: src/jade/messages/sendconvert/confirmation.jade:32 -msgid "Error code: You have no trust line in this currency [terNO_LINE]." -msgstr "Fehlercode: Sie haben keine Vertrauens-Linie in dieser Währung [terNO_LINE]." - -#: src/jade/directives/transactionerror.jade:43 +#: src/jade/directives/transactionerror.jade:105 msgid "Your payment failed: {{engine_result}} - {{engine_result_message}}" msgstr "Ihre Zahlung ist fehlgeschlagen: {{engine_result}} - {{engine_result_message}}" -#: src/jade/directives/transactionerror.jade:48 +#: src/jade/directives/transactionerror.jade:110 msgid "Error code: Transaction could not be submitted [tejLost]." msgstr "Fehlercode: Transaktion konnte nicht übermittelt werden [tejLost]." -#: src/jade/directives/transactionerror.jade:50 -msgid "Error code: Network fee exceeded [tejMaxFeeExceeded]." -msgstr "Fehlercode: Netzwerkgebühr überschritten [tejMaxFeeExceeded]." +#: src/jade/directives/transactionerror.jade:112 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "Diese Transaktion ist fehlgeschlagen, da die aktuelle Netzwerkgebühr höher ist als das Limit Ihres Kontos. Sie können Ihre maximale Netzwerkgebühr in Einstellungen > Erweitert anpassen, oder Sie versuchen es später erneut.
Fehlercode: Netzwerkgebühr überschritten [tejMaxFeeExceeded]." -#: src/jade/directives/transactionerror.jade:52 +#: src/jade/directives/transactionerror.jade:115 msgid "" "Your payment could not be submitted: {{engine_result}} - " "{{engine_result_message}}" msgstr "Ihre Zahlung konnte nicht übermittelt werden: {{engine_result}} - {{engine_result_message}}" +#: src/jade/directives/transactionerror.jade:121 +msgid "Request is malformed." +msgstr "Anfrage ist nicht korrekt formatiert." + +#: src/jade/directives/transactionerror.jade:122 +msgid "" +"Your request is invalid, reason: {{engine_result_message}} - " +"{{engine_result_message}}" +msgstr "Ihre Anfrage ist ungültig, Grund: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:125 +#: src/jade/directives/transactionerror.jade:142 +msgid "Transaction failed." +msgstr "Transaktion gescheitert." + +#: src/jade/directives/transactionerror.jade:127 +msgid "You do not have enough funds to create this order [tecUNFUNDED_ORDER]." +msgstr "Sie haben nicht genug Mittel, um diese Order aufzugeben [tecUNFUNDED_ORDER]." + +#: src/jade/directives/transactionerror.jade:129 +msgid "" +"Insufficient reserve amount to submit an order [tecINSUF_RESERVE_OFFER]." +msgstr "Fehlercode: Ihre Reserve reicht nicht aus, um eine Order aufzugeben [tecINSUF_RESERVE_OFFER]." + +#: src/jade/directives/transactionerror.jade:131 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]. {{1}}" +msgstr "Diese Transaktion ist fehlgeschlagen, da die aktuelle Netzwerkgebühr höher ist als das Limit Ihres Accounts. Sie können Ihre maximale Netzwerkgebühr in Einstellungen > Erweitert anpassen, oder Sie versuchen es später erneut.
Fehlercode: Netzwerkgebühr überschritten [tejMaxFeeExceeded]. {{1}}" + +#: src/jade/directives/transactionerror.jade:134 +msgid "More information." +msgstr "Mehr Infos." + +#: src/jade/directives/transactionerror.jade:138 +msgid "Trade failed." +msgstr "Wechsel gescheitert." + +#: src/jade/directives/transactionerror.jade:140 +msgid "Trade failed, reason: {{engine_result_message}}" +msgstr "Handel fehlgeschlagen, Grund: {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:144 +msgid "" +"The particular server you sent the transaction to was too busy to forward or" +" process your transaction at the fee you included in it [telINSUF_FEE_P]." +msgstr "Der Server, an den die Transaktion gesendet wurde, ist im Moment zu beschäftigt, um sie für die inkludierte Gebühr weiterzuverarbeiten oder weiterzuleiten [telINSUF_FEE_P]." + +#: src/jade/directives/transactionerror.jade:152 +msgid "Request pending" +msgstr "Anfrage ausstehend" + +#: src/jade/directives/transactionerror.jade:154 +msgid "Request successful" +msgstr "Anfrage erfolgreich" + #: src/jade/messages/sendconvert/confirmation.jade:4 msgid "Transaction pending." msgstr "Transaktion ausstehend." @@ -286,8 +527,11 @@ msgstr "Transaktion erfolgreich" msgid "Transaction failed" msgstr "Transaktion fehlgeschlagen" -#: src/jade/messages/sendconvert/confirmation.jade:9 -#: src/jade/tabs/trust.jade:58 src/jade/tabs/trust.jade:70 +#: src/jade/messages/sendconvert/confirmation.jade:9 src/jade/tabs/brl.jade:25 +#: src/jade/tabs/btc.jade:22 src/jade/tabs/eur.jade:25 +#: src/jade/tabs/gold.jade:25 src/jade/tabs/jpy.jade:25 +#: src/jade/tabs/mxn.jade:25 src/jade/tabs/trust.jade:43 +#: src/jade/tabs/usd.jade:25 msgid "Please try again later." msgstr "Bitte versuchen Sie es später noch einmal." @@ -328,6 +572,7 @@ msgid "Account unlock failed" msgstr "Entsperren des Kontos fehlgeschlagen" #: src/jade/messages/sendconvert/localerror.jade:18 +#: src/jade/tabs/trust.jade:40 msgid "Your account could not be unlocked. Please try again later." msgstr "Ihr Konto konnte nicht entsperrt werden. Bitte versuchen Sie es später erneut." @@ -343,7 +588,7 @@ msgid "" "executed already." msgstr "Bevor Sie es erneut versuchen, bitte versichern Sie sich, dass die Transaktion nicht schon ausgeführt wurde." -#: src/jade/messages/sendconvert/waiting.jade:3 +#: src/jade/messages/sendconvert/waiting.jade:5 msgid "Sending transaction to the Ripple network" msgstr "Transaktion wird an das Ripple-Netzwerk gesendet" @@ -359,13 +604,49 @@ msgstr "{{tx.counterparty | rpcontactname}} hat ihnen folgendes gesendet" msgid "{{tx.counterparty | rpcontactname}} now trusts you for" msgstr "{{tx.counterparty | rpcontactname}} vertraut Ihnen jetzt über" +#: src/jade/popup/modifyOrderError.jade:2 +msgid "Modify Order Error" +msgstr "Fehler beim Ändern der Order" + +#: src/jade/popup/modifyOrderError.jade:4 +msgid "Sorry, your order could not be modified." +msgstr "Leider konnte Ihre Order nicht geändert werden." + +#: src/jade/popup/modifyOrderError.jade:5 +msgid "" +"Your original order was cancelled but the modified order was not placed. " +"
" +msgstr "Ihre ursprüngliche Order wurde entfernt, doch die geänderte Order wurde nicht gesetzt.
" + +#: src/jade/popup/modifyOrderError.jade:6 +msgid "" +"The quantity of your order changed by {{order.qtyChangeAfterCancel | " +"rpamount}} before the order could be modified.

" +msgstr "Die Menge Ihrer Order hat sich um {{order.qtyChangeAfterCancel | rpamount}} geändert, bevor die Order geändert werden konnte.

" + +#: src/jade/popup/modifyOrderError.jade:7 +msgid "" +"To safeguard against the possibility of overfills a new order has not been " +"placed.
" +msgstr "Um sicherzugehen, dass kein höheres Volumen gewechselt wird, wurde keine neue Order eingetragen.
" + +#: src/jade/popup/modifyOrderError.jade:8 +msgid "" +"Please check your balance and history before placing the new order manually." +"
" +msgstr "Bitte prüfen Sie Ihr Guthaben und Ihren Kontoverlauf, bevor Sie manuell die neue Order eintragen.
" + +#: src/jade/popup/modifyOrderError.jade:10 src/jade/popup/unlock.jade:17 +msgid "Close" +msgstr "Schließen" + #: src/jade/popup/unlock.jade:2 msgid "Unlock account" msgstr "Konto entsperren" -#: src/jade/popup/unlock.jade:5 src/jade/tabs/desktop/register.jade:28 -#: src/jade/tabs/login/form.jade:7 src/jade/tabs/recover.jade:33 -#: src/jade/tabs/register.jade:42 src/jade/tabs/security.jade:10 +#: src/jade/popup/unlock.jade:5 src/jade/tabs/login/form.jade:8 +#: src/jade/tabs/recover.jade:38 src/jade/tabs/register.jade:58 +#: src/jade/tabs/security.jade:12 msgid "Password" msgstr "Kennwort" @@ -373,7 +654,7 @@ msgstr "Kennwort" msgid "Please enter your password to show your secret key." msgstr "Bitte geben Sie Ihr Kennwort ein, um Ihren geheimen Schlüssel anzuzeigen." -#: src/jade/popup/unlock.jade:9 src/jade/tabs/send.jade:195 +#: src/jade/popup/unlock.jade:9 src/jade/tabs/send.jade:205 msgid "Please enter your password to confirm this transaction." msgstr "Bitte geben Sie Ihr Kennwort ein, um diese Transaktion zu bestätigen." @@ -381,52 +662,146 @@ msgstr "Bitte geben Sie Ihr Kennwort ein, um diese Transaktion zu bestätigen." msgid "This password is incorrect, please try again." msgstr "Kennwort ungültig. Versuchen Sie es erneut." -#: src/jade/popup/unlock.jade:11 +#: src/jade/popup/unlock.jade:13 msgid "Confirming password" msgstr "Kennwort bestätigen" -#: src/jade/popup/unlock.jade:14 src/jade/tabs/account/public.jade:44 -#: src/jade/tabs/security.jade:133 +#: src/jade/popup/unlock.jade:16 src/jade/tabs/account/public.jade:44 +#: src/jade/tabs/security.jade:146 msgid "Submit" msgstr "Senden" -#: src/jade/popup/unlock.jade:15 -msgid "Close" -msgstr "Schließen" - #: src/jade/tabs/2fa/form.jade:3 msgid "Country Code" msgstr "Landesvorwahl" -#: src/jade/tabs/2fa/form.jade:6 src/jade/tabs/kyc.jade:146 +#: src/jade/tabs/2fa/form.jade:6 src/jade/tabs/kyc.jade:162 msgid "Phone Number" msgstr "Telefonnummer" +#: src/jade/tabs/_usd.jade:6 src/jade/tabs/apps.jade:5 +#: src/jade/tabs/balance.jade:5 src/jade/tabs/brl.jade:6 +#: src/jade/tabs/btc.jade:9 src/jade/tabs/eur.jade:6 +#: src/jade/tabs/exchange.jade:6 src/jade/tabs/fund.jade:6 +#: src/jade/tabs/gold.jade:6 src/jade/tabs/history.jade:6 +#: src/jade/tabs/jpy.jade:6 src/jade/tabs/kyc.jade:6 src/jade/tabs/mxn.jade:6 +#: src/jade/tabs/send.jade:6 src/jade/tabs/su.jade:5 +#: src/jade/tabs/trade.jade:7 src/jade/tabs/trust.jade:6 +#: src/jade/tabs/usd.jade:6 src/jade/tabs/withdraw.jade:6 +#: src/jade/tabs/xrp.jade:6 +msgid "You have to be online to see this screen" +msgstr "Sie müssen online sein um dieses Fenster zu sehen" + +#: src/jade/tabs/_usd.jade:17 +msgid "USD instant deposit" +msgstr "USD-Sofort-Überweisung" + +#: src/jade/tabs/_usd.jade:19 src/jade/tabs/_usd.jade:21 +msgid "Step 1 (Amount)" +msgstr "Schritt 1 (Betrag)" + +#: src/jade/tabs/_usd.jade:22 +msgid "Step 2 (Confirmation)" +msgstr "Schritt 2 (Bestätigung)" + +#: src/jade/tabs/_usd.jade:23 +msgid "Step 3 (Complete deposit)" +msgstr "Schritt 3 (Einzahlung abschließen)" + +#: src/jade/tabs/_usd.jade:26 +msgid "STEP 1: AMOUNT" +msgstr "SCHRITT 1: BETRAG" + +#: src/jade/tabs/_usd.jade:28 +msgid "STEP 2: CONFIRMATION" +msgstr "SCHRITT 2: BESTÄTIGUNG" + +#: src/jade/tabs/_usd.jade:30 +msgid "STEP 3: COMPLETE DEPOSIT" +msgstr "SCHRITT 3: EINZAHLUNG ABSCHLIESSEN" + +#: src/jade/tabs/_usd.jade:34 +msgid "" +"Success! You've completed your USD deposit. Your funds should be available " +"within a few minutes." +msgstr "Erfolgreich! Ihre USD wurden eingezahlt und stehen binnen weniger Minuten zur Verfügung." + +#: src/jade/tabs/_usd.jade:36 +msgid "You cancelled your deposit." +msgstr "Sie haben Ihre Einzahlung abgebrochen." + +#: src/jade/tabs/_usd.jade:38 +msgid "" +"Your deposit failed. Your bank account was not charged. Please contact " +"{{1}}." +msgstr "Ihre Einzahlung ist gescheitert. Ihr Bankkonto wurde nicht belastet. Bitte kontaktieren Sie {{1}}." + +#: src/jade/tabs/_usd.jade:49 src/jade/tabs/_usd.jade:91 +#: src/jade/tabs/fund.jade:41 src/jade/tabs/history.jade:172 +#: src/jade/tabs/trust.jade:89 +msgid "Amount" +msgstr "Betrag" + +#: src/jade/tabs/_usd.jade:59 src/jade/tabs/_usd.jade:62 +msgid "Select your bank" +msgstr "Wählen Sie Ihre Bank aus" + +#: src/jade/tabs/_usd.jade:77 +msgid "" +"Ripple Trade has partnered with SnapSwap to make USD deposits easier. By " +"continuing, you agree to SnapSwap's {{1}}To contact support, email {{2}}." +msgstr "Ripple Trade und SnapSwap sind Partner, um USD-Einzahlungen einfacher zu machen. Indem Sie fortfahren, akzeptieren Sie die {{1}} von SnapSwap. Um sich an den Kundendienst zu wenden, senden Sie eine E-Mail an {{2}}." + +#: src/jade/tabs/_usd.jade:93 src/jade/tabs/history.jade:178 +msgid "Fee" +msgstr "Gebühr" + +#: src/jade/tabs/_usd.jade:95 +msgid "Total" +msgstr "Insgesamt" + +#: src/jade/tabs/_usd.jade:98 +msgid "Calculating..." +msgstr "Berechnung läuft..." + +#: src/jade/tabs/_usd.jade:109 src/jade/tabs/register.jade:126 +#: src/jade/tabs/register.jade:133 +msgid "Back" +msgstr "Zurück" + +#: src/jade/tabs/_usd.jade:111 src/jade/tabs/btc.jade:73 +#: src/jade/tabs/exchange.jade:111 src/jade/tabs/send.jade:213 +#: src/jade/tabs/trade.jade:67 src/jade/tabs/trade.jade:77 +#: src/jade/tabs/trade.jade:248 src/jade/tabs/trade.jade:407 +#: src/jade/tabs/trust.jade:140 +msgid "Confirm" +msgstr "Bestätigen" + #: src/jade/tabs/account/navbar.jade:2 msgid "Public Information" msgstr "Öffentliche Informationen" -#: src/jade/tabs/account/private.jade:2 +#: src/jade/tabs/account/private.jade:1 msgid "Profile Information" msgstr "Profil-Informationen" -#: src/jade/tabs/account/private.jade:5 +#: src/jade/tabs/account/private.jade:3 msgid "Identity Information" msgstr "Identitäts-Informationen" -#: src/jade/tabs/account/private.jade:8 src/jade/tabs/account/private.jade:19 +#: src/jade/tabs/account/private.jade:8 src/jade/tabs/account/private.jade:17 msgid "Completed" msgstr "Vollständig" -#: src/jade/tabs/account/private.jade:11 src/jade/tabs/account/private.jade:22 +#: src/jade/tabs/account/private.jade:9 src/jade/tabs/account/private.jade:18 msgid "Incomplete" msgstr "Unvollständig" -#: src/jade/tabs/account/private.jade:13 src/jade/tabs/account/private.jade:24 +#: src/jade/tabs/account/private.jade:10 src/jade/tabs/account/private.jade:19 msgid "Complete your profile" msgstr "Vervollständigen Sie Ihr Profil" -#: src/jade/tabs/account/private.jade:16 +#: src/jade/tabs/account/private.jade:12 msgid "Identity Questions" msgstr "Identitäts-Fragen" @@ -442,15 +817,17 @@ msgstr "Ihr Ripple-Name wurde erfolgreich geändert." msgid "Account settings" msgstr "Konto-Einstellungen" -#: src/jade/tabs/account/public.jade:5 src/jade/tabs/login/form.jade:2 +#: src/jade/tabs/account/public.jade:5 src/jade/tabs/fund/menu.jade:2 +#: src/jade/tabs/login/form.jade:3 msgid "Ripple name" msgstr "Ripple Name" -#: src/jade/tabs/account/public.jade:9 src/jade/tabs/advanced.jade:17 -#: src/jade/tabs/advanced.jade:34 src/jade/tabs/advanced.jade:53 -#: src/jade/tabs/advanced.jade:106 src/jade/tabs/contacts.jade:69 -#: src/jade/tabs/security.jade:107 src/jade/tabs/security.jade:165 -#: src/jade/tabs/trust.jade:219 src/jade/tabs/trust.jade:248 +#: src/jade/tabs/account/public.jade:9 src/jade/tabs/advanced.jade:27 +#: src/jade/tabs/advanced.jade:44 src/jade/tabs/advanced.jade:63 +#: src/jade/tabs/advanced.jade:86 src/jade/tabs/advanced.jade:134 +#: src/jade/tabs/contacts.jade:61 src/jade/tabs/security.jade:120 +#: src/jade/tabs/security.jade:180 src/jade/tabs/trust.jade:191 +#: src/jade/tabs/trust.jade:193 msgid "edit" msgstr "Ändern" @@ -458,23 +835,24 @@ msgstr "Ändern" msgid "New Ripple name" msgstr "Neuer Ripple-Name" -#: src/jade/tabs/account/public.jade:17 src/jade/tabs/balance.jade:60 +#: src/jade/tabs/account/public.jade:17 src/jade/tabs/register.jade:35 +#: src/jade/tabs/widgets/balances.jade:24 msgid "Available" msgstr "Verfügbar" -#: src/jade/tabs/account/public.jade:20 src/jade/tabs/register.jade:30 +#: src/jade/tabs/account/public.jade:20 src/jade/tabs/register.jade:39 msgid "Already taken!" msgstr "Schon vergeben!" -#: src/jade/tabs/account/public.jade:21 src/jade/tabs/register.jade:31 +#: src/jade/tabs/account/public.jade:21 msgid "Reserved for {{usernameReservedFor}}{{1}}{{2}}" msgstr "Reserviert für {{usernameReservedFor}}{{1}}{{2}}" -#: src/jade/tabs/account/public.jade:24 src/jade/tabs/register.jade:34 +#: src/jade/tabs/account/public.jade:24 src/jade/tabs/register.jade:45 msgid "Must be at least 2 characters" msgstr "Muss mindestens 2 Zeichen haben" -#: src/jade/tabs/account/public.jade:25 src/jade/tabs/register.jade:35 +#: src/jade/tabs/account/public.jade:25 src/jade/tabs/register.jade:47 msgid "Must be at most 20 characters" msgstr "Darf höchstens 20 Zeichen haben" @@ -482,11 +860,11 @@ msgstr "Darf höchstens 20 Zeichen haben" msgid "Only a-z, 0-9 and hyphen (-)" msgstr "Nur a-z, 0-9 und Bindestrich (-)" -#: src/jade/tabs/account/public.jade:27 src/jade/tabs/register.jade:37 +#: src/jade/tabs/account/public.jade:27 src/jade/tabs/register.jade:51 msgid "Cannot start with hyphen (-)" msgstr "Kann nicht mit Bindestrich (-) anfangen" -#: src/jade/tabs/account/public.jade:28 src/jade/tabs/register.jade:38 +#: src/jade/tabs/account/public.jade:28 src/jade/tabs/register.jade:53 msgid "Cannot end with hyphen (-)" msgstr "Kann nicht mit Bindestrich (-) enden" @@ -494,16 +872,16 @@ msgstr "Kann nicht mit Bindestrich (-) enden" msgid "Cannot bundle hyphens (--)" msgstr "Darf keine aufeinanderfolgenden Bindestriche (--) enthalten" -#: src/jade/tabs/account/public.jade:30 src/jade/tabs/register.jade:40 +#: src/jade/tabs/account/public.jade:30 src/jade/tabs/register.jade:56 msgid "Checking..." msgstr "Wird geprüft" -#: src/jade/tabs/account/public.jade:32 src/jade/tabs/security.jade:113 +#: src/jade/tabs/account/public.jade:32 src/jade/tabs/security.jade:126 msgid "Current password" msgstr "Aktuelles Kennwort" -#: src/jade/tabs/account/public.jade:35 src/jade/tabs/security.jade:15 -#: src/jade/tabs/security.jade:20 +#: src/jade/tabs/account/public.jade:35 src/jade/tabs/security.jade:18 +#: src/jade/tabs/security.jade:23 msgid "Entered password is wrong." msgstr "Das eingegebene Kennwort ist falsch." @@ -515,107 +893,135 @@ msgstr "Ihr Ripple-Name wurde geändert. Bitte melden Sie sich erneut an." msgid "Couldn't change your Ripple name, please try again later." msgstr "Ihr Ripple-Name konnte nicht geändert werden, bitte später erneut versuchen." -#: src/jade/tabs/account/public.jade:47 src/jade/tabs/advanced.jade:26 -#: src/jade/tabs/advanced.jade:43 src/jade/tabs/advanced.jade:67 -#: src/jade/tabs/advanced.jade:96 src/jade/tabs/btc.jade:62 -#: src/jade/tabs/contacts.jade:58 src/jade/tabs/contacts.jade:101 -#: src/jade/tabs/exchange.jade:94 src/jade/tabs/exchange.jade:107 -#: src/jade/tabs/kyc.jade:106 src/jade/tabs/kyc.jade:118 -#: src/jade/tabs/kyc.jade:140 src/jade/tabs/kyc.jade:141 -#: src/jade/tabs/kyc.jade:167 src/jade/tabs/login/form.jade:25 -#: src/jade/tabs/security.jade:71 src/jade/tabs/security.jade:101 -#: src/jade/tabs/security.jade:136 src/jade/tabs/send.jade:205 -#: src/jade/tabs/send.jade:217 src/jade/tabs/send.jade:238 -#: src/jade/tabs/send.jade:268 src/jade/tabs/trade.jade:32 -#: src/jade/tabs/trade.jade:43 src/jade/tabs/trust.jade:177 -#: src/jade/tabs/trust.jade:179 src/jade/tabs/trust.jade:263 -#: src/jade/tabs/trust.jade:296 +#: src/jade/tabs/account/public.jade:47 src/jade/tabs/advanced.jade:36 +#: src/jade/tabs/advanced.jade:53 src/jade/tabs/advanced.jade:77 +#: src/jade/tabs/advanced.jade:94 src/jade/tabs/advanced.jade:124 +#: src/jade/tabs/btc.jade:74 src/jade/tabs/contacts.jade:50 +#: src/jade/tabs/contacts.jade:93 src/jade/tabs/exchange.jade:113 +#: src/jade/tabs/exchange.jade:126 src/jade/tabs/kyc.jade:116 +#: src/jade/tabs/kyc.jade:131 src/jade/tabs/kyc.jade:156 +#: src/jade/tabs/kyc.jade:157 src/jade/tabs/kyc.jade:186 +#: src/jade/tabs/login/form.jade:26 src/jade/tabs/security.jade:79 +#: src/jade/tabs/security.jade:112 src/jade/tabs/security.jade:149 +#: src/jade/tabs/send.jade:215 src/jade/tabs/send.jade:227 +#: src/jade/tabs/send.jade:252 src/jade/tabs/send.jade:286 +#: src/jade/tabs/trade.jade:55 src/jade/tabs/trust.jade:141 +#: src/jade/tabs/trust.jade:143 src/jade/tabs/trust.jade:213 +#: src/jade/tabs/trust.jade:251 msgid "cancel" msgstr "abbrechen" -#: src/jade/tabs/account/public.jade:49 src/jade/tabs/contacts.jade:7 -#: src/jade/tabs/contacts.jade:34 src/jade/tabs/desktop/register.jade:88 +#: src/jade/tabs/account/public.jade:49 msgid "Ripple address" msgstr "Ripple Adresse" +#: src/jade/tabs/advanced.jade:8 +msgid "Your blob vault has been changed successfully." +msgstr "Ihr Datentresor wurde erfolgreich geändert." + +#: src/jade/tabs/advanced.jade:9 +msgid "Your bitcoin bridge has been changed successfully." +msgstr "Ihre Bitcoin-Brücke wurde erfolgreich geändert." + +#: src/jade/tabs/advanced.jade:10 +msgid "Trustline advanced settings has been changed successfully." +msgstr "Die erweiterten Einstellungen der Vertrauenslinie wurden erfolgreich geändert." + #: src/jade/tabs/advanced.jade:11 +msgid "Maximum network fee has been changed successfully." +msgstr "Die maximale Netzwerkgebühr wurde erfolgreich geändert." + +#: src/jade/tabs/advanced.jade:12 +msgid "A new server has been successfully added." +msgstr "Ein neuer Server wurde erfolgreich hinzugefügt." + +#: src/jade/tabs/advanced.jade:13 +msgid "A server has been successfully removed." +msgstr "Ein Server wurde erfolgreich entfernt." + +#: src/jade/tabs/advanced.jade:14 +msgid "A server has been changed successfully." +msgstr "Ein Server wurde erfolgreich geändert." + +#: src/jade/tabs/advanced.jade:21 msgid "Blob vault" msgstr "Blob-Tresor" -#: src/jade/tabs/advanced.jade:22 src/jade/tabs/advanced.jade:39 -#: src/jade/tabs/advanced.jade:63 src/jade/tabs/advanced.jade:92 -#: src/jade/tabs/contacts.jade:96 src/jade/tabs/fund.jade:79 -#: src/jade/tabs/security.jade:175 src/jade/tabs/send.jade:237 -#: src/jade/tabs/send.jade:266 src/jade/tabs/trust.jade:156 -#: src/jade/tabs/trust.jade:282 +#: src/jade/tabs/advanced.jade:32 src/jade/tabs/advanced.jade:49 +#: src/jade/tabs/advanced.jade:73 src/jade/tabs/advanced.jade:92 +#: src/jade/tabs/advanced.jade:120 src/jade/tabs/contacts.jade:88 +#: src/jade/tabs/fund.jade:65 src/jade/tabs/security.jade:190 +#: src/jade/tabs/send.jade:251 src/jade/tabs/send.jade:284 +#: src/jade/tabs/trust.jade:119 src/jade/tabs/trust.jade:232 msgid "Save" msgstr "Speichern" -#: src/jade/tabs/advanced.jade:24 src/jade/tabs/advanced.jade:41 -#: src/jade/tabs/advanced.jade:65 src/jade/tabs/advanced.jade:94 -#: src/jade/tabs/contacts.jade:99 +#: src/jade/tabs/advanced.jade:34 src/jade/tabs/advanced.jade:51 +#: src/jade/tabs/advanced.jade:75 src/jade/tabs/advanced.jade:122 +#: src/jade/tabs/contacts.jade:91 src/jade/tabs/security.jade:198 msgid "Delete" msgstr "Löschen" -#: src/jade/tabs/advanced.jade:28 +#: src/jade/tabs/advanced.jade:38 msgid "Bitcoin bridge" msgstr "Bitcoin-Brücke" -#: src/jade/tabs/advanced.jade:45 +#: src/jade/tabs/advanced.jade:55 msgid "Trust line" msgstr "Vertrauens-Linie" -#: src/jade/tabs/advanced.jade:50 src/jade/tabs/advanced.jade:61 -#: src/jade/tabs/desktop/register.jade:85 src/jade/tabs/security.jade:148 +#: src/jade/tabs/advanced.jade:60 src/jade/tabs/advanced.jade:71 +#: src/jade/tabs/security.jade:162 msgid "Show" msgstr "Zeigen" -#: src/jade/tabs/advanced.jade:51 src/jade/tabs/desktop/register.jade:86 -#: src/jade/tabs/security.jade:149 +#: src/jade/tabs/advanced.jade:61 src/jade/tabs/security.jade:163 msgid "Hide" msgstr "Verstecken" -#: src/jade/tabs/advanced.jade:68 +#: src/jade/tabs/advanced.jade:78 +msgid "Network settings" +msgstr "Netzwerkeinstellungen" + +#: src/jade/tabs/advanced.jade:80 +msgid "Maximum network fee" +msgstr "Maximale Netzwerkgebühr" + +#: src/jade/tabs/advanced.jade:96 msgid "Server settings" msgstr "Server-Einstellungen" -#: src/jade/tabs/advanced.jade:73 +#: src/jade/tabs/advanced.jade:101 msgid "WebSocket host name" msgstr "WebSocket-Hostname" -#: src/jade/tabs/advanced.jade:75 +#: src/jade/tabs/advanced.jade:103 msgid "Port number" msgstr "Portnummer" -#: src/jade/tabs/advanced.jade:81 +#: src/jade/tabs/advanced.jade:109 msgid "Socket ip or hostname is invalid." msgstr "Socket IP oder Hostname sind falsch." -#: src/jade/tabs/advanced.jade:83 +#: src/jade/tabs/advanced.jade:111 msgid "Port number is invalid." msgstr "Die Portnummer ist falsch." -#: src/jade/tabs/advanced.jade:90 src/jade/tabs/advanced.jade:103 +#: src/jade/tabs/advanced.jade:118 src/jade/tabs/advanced.jade:131 msgid "Secure" msgstr "Sicher" -#: src/jade/tabs/advanced.jade:104 +#: src/jade/tabs/advanced.jade:132 msgid "Not Secure" msgstr "Unsicher" -#: src/jade/tabs/advanced.jade:110 +#: src/jade/tabs/advanced.jade:138 msgid "Add new server" msgstr "Neuen Server hinzufügen" -#: src/jade/tabs/apps.jade:5 src/jade/tabs/balance.jade:5 -#: src/jade/tabs/btc.jade:6 src/jade/tabs/exchange.jade:6 -#: src/jade/tabs/fund.jade:6 src/jade/tabs/history.jade:6 -#: src/jade/tabs/kyc.jade:6 src/jade/tabs/send.jade:6 src/jade/tabs/su.jade:5 -#: src/jade/tabs/trade.jade:7 src/jade/tabs/trust.jade:6 -#: src/jade/tabs/usd.jade:6 src/jade/tabs/withdraw.jade:6 -#: src/jade/tabs/xrp.jade:6 -msgid "You have to be online to see this screen" -msgstr "Sie müssen online sein um dieses Fenster zu sehen" +#: src/jade/tabs/apps.jade:27 +msgid "App Ripple Address" +msgstr "Ripple-Adresse der App" #: src/jade/tabs/apps.jade:29 msgid "Please enter a ripple address." @@ -625,454 +1031,535 @@ msgstr "Bitte geben Sie eine Ripple Adresse ein." msgid "Please enter a valid ripple address." msgstr "Bitte geben Sie eine gültige Ripple-Adresse ein." -#: src/jade/tabs/balance.jade:21 -msgid "Total Balance{{1}}" -msgstr "Gesamt-Kontostand{{1}}" - -#: src/jade/tabs/balance.jade:22 -msgid "Estimated from latest trade price" -msgstr "Geschätzt vom neuesten Handelspreis" - -#: src/jade/tabs/balance.jade:29 -msgid "(excluding negative balances)" -msgstr "(exklusive negative Kontostände)" - -#: src/jade/tabs/balance.jade:67 -msgid "Reserve" -msgstr "Rücklage" - -#: src/jade/tabs/balance.jade:85 -msgid "Unverified" -msgstr "Unbestätigt" - -#: src/jade/tabs/balance.jade:92 -msgid "Enter bitcoin address." -msgstr "Bitcoin-Adresse eingeben." +#: src/jade/tabs/banner/announcement.jade:2 +msgid "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" +msgstr "Helfen Sie unserem Team, Ripple Trade zu verbessern! {{1:Nehmen Sie an einer schnellen Nutzer-Umfrage teil.}}" -#: src/jade/tabs/balance.jade:95 -msgid "Enter amount to withdraw." -msgstr "Betrag eingeben, den Sie abheben möchten." +#: src/jade/tabs/banner/unfunded.jade:2 +msgid "" +"Welcome to Ripple Trade! Your account needs to be activated. You can " +"activate it in 2 ways:" +msgstr "Willkommen bei Ripple Trade! Ihr Konto muss freigeschaltet werden. Sie können es auf 2 Arten freischalten:" -#: src/jade/tabs/balance.jade:100 src/jade/tabs/balance.jade:102 -msgid "Enter a valid bitcoin address" -msgstr "Geben Sie eine gültige Bitcoin-Adresse ein" +#: src/jade/tabs/banner/unfunded.jade:4 +msgid "" +"Have another user send XRP to your Ripple name " +"(~{{userCredentials.username}}). {{1}}" +msgstr "Lassen Sie sich von einem anderen Nutzer XRP an Ihren Ripple-Namen (~{{userCredentials.username}}) senden. {{1}}" -#: src/jade/tabs/balance.jade:106 -msgid "Enter a valid amount" -msgstr "Geben Sie einen gültigen Betrag ein" +#: src/jade/tabs/brl.jade:24 src/jade/tabs/eur.jade:24 +#: src/jade/tabs/gold.jade:24 src/jade/tabs/jpy.jade:24 +#: src/jade/tabs/mxn.jade:24 src/jade/tabs/trust.jade:42 +#: src/jade/tabs/usd.jade:24 +msgid "There was an error while saving your changes." +msgstr "Beim Speichern Ihrer Änderungen ist ein Fehler aufgetreten." -#: src/jade/tabs/balance.jade:113 -msgid "You are sending {{1}} BTC to:" -msgstr "Sie senden {{1}} BTC an:" +#: src/jade/tabs/brl.jade:28 src/jade/tabs/eur.jade:27 +#: src/jade/tabs/gold.jade:27 src/jade/tabs/jpy.jade:28 +#: src/jade/tabs/mxn.jade:28 src/jade/tabs/trust.jade:45 +#: src/jade/tabs/usd.jade:27 +msgid "You must have at least {{1}} to add a new trust line. {{2}}" +msgstr "Sie benötigen zumindest {{1}} um eine Vertrauenslinie hinzuzufügen. {{2}}" -#: src/jade/tabs/balance.jade:119 src/jade/tabs/balance.jade:134 -#: src/jade/tabs/register.jade:105 src/jade/tabs/register.jade:111 -msgid "Back" -msgstr "Zurück" +#: src/jade/tabs/brl.jade:38 +msgid "Brazilian Real Deposit" +msgstr "Einzahlen von Brasilianischen Real" -#: src/jade/tabs/balance.jade:122 src/jade/tabs/btc.jade:61 -#: src/jade/tabs/exchange.jade:92 src/jade/tabs/send.jade:203 -#: src/jade/tabs/trade.jade:57 src/jade/tabs/trade.jade:67 -#: src/jade/tabs/trade.jade:241 src/jade/tabs/trust.jade:176 -msgid "Confirm" -msgstr "Bestätigen" +#: src/jade/tabs/brl.jade:41 src/jade/tabs/btc.jade:35 +#: src/jade/tabs/eur.jade:38 src/jade/tabs/gold.jade:40 +#: src/jade/tabs/jpy.jade:41 src/jade/tabs/mxn.jade:41 +#: src/jade/tabs/trust.jade:167 src/jade/tabs/usd.jade:38 +msgid "Gateway" +msgstr "Gateway" -#: src/jade/tabs/balance.jade:127 -msgid "Reconnecting to Ripple network" -msgstr "Verbindung zum Ripple-Netzwerk wird wiederhergestellt" +#: src/jade/tabs/brl.jade:42 src/jade/tabs/eur.jade:48 +#: src/jade/tabs/mxn.jade:81 src/jade/tabs/mxn.jade:93 +#: src/jade/tabs/mxn.jade:103 src/jade/tabs/security.jade:49 +msgid "{{1}}{{2}}" +msgstr "{{1}}{{2}}" + +#: src/jade/tabs/brl.jade:43 +msgid "Ripple (~rippex)" +msgstr "Ripple (~rippex)" + +#: src/jade/tabs/brl.jade:46 src/jade/tabs/btc.jade:39 +#: src/jade/tabs/eur.jade:44 src/jade/tabs/gold.jade:44 +#: src/jade/tabs/jpy.jade:45 src/jade/tabs/mxn.jade:46 +#: src/jade/tabs/usd.jade:44 +msgid "Availability" +msgstr "Verfügbarkeit" + +#: src/jade/tabs/brl.jade:47 +msgid "Brazil" +msgstr "Brasilien" + +#: src/jade/tabs/brl.jade:49 src/jade/tabs/btc.jade:42 +#: src/jade/tabs/eur.jade:47 src/jade/tabs/gold.jade:47 +#: src/jade/tabs/jpy.jade:48 src/jade/tabs/mxn.jade:49 +#: src/jade/tabs/usd.jade:47 +msgid "Fees" +msgstr "Gebühren" + +#: src/jade/tabs/brl.jade:50 src/jade/tabs/jpy.jade:49 +#: src/jade/tabs/kyc.jade:111 src/jade/tabs/kyc.jade:126 +#: src/jade/tabs/kyc.jade:151 +msgid "{{1}}{{2}}{{3}}" +msgstr "{{1}}{{2}}{{3}}" + +#: src/jade/tabs/brl.jade:51 +msgid "Deposit: 1.50 BRL + 0.5%" +msgstr "Einzahlung: 1,50 BRL + 0,5%" + +#: src/jade/tabs/brl.jade:52 +msgid "Transfer: 0%" +msgstr "Überweisung: 0%" + +#: src/jade/tabs/brl.jade:56 src/jade/tabs/btc.jade:45 +#: src/jade/tabs/eur.jade:53 src/jade/tabs/gold.jade:50 +#: src/jade/tabs/jpy.jade:54 src/jade/tabs/mxn.jade:52 +#: src/jade/tabs/usd.jade:50 +msgid "Rating" +msgstr "Bewertung" + +#: src/jade/tabs/brl.jade:62 +msgid "" +"Ripple Trade has partnered with Rippex to provide easy access to BRL. By " +"continuing, you agree with Rippex's {{1}}Following this action will enable " +"Rippex to hold BRL on your behalf." +msgstr "Ripple Trade und Rippex sind Partner, um einfachen Zugriff auf BRL anzubieten. Indem Sie fortfahren, akzeptieren Sie die {{1}} von Rippex. Rippex kann dann BRL in Ihrem Auftrag halten." + +#: src/jade/tabs/brl.jade:69 +msgid "Add Rippex" +msgstr "Rippex hinzufügen" + +#: src/jade/tabs/brl.jade:70 +msgid "Adding..." +msgstr "Wird hinzugefügt..." + +#: src/jade/tabs/brl.jade:71 src/jade/tabs/eur.jade:65 +#: src/jade/tabs/jpy.jade:64 src/jade/tabs/usd.jade:62 +msgid "Hide instructions" +msgstr "Anweisungen ausblenden" + +#: src/jade/tabs/brl.jade:72 src/jade/tabs/eur.jade:66 +#: src/jade/tabs/jpy.jade:65 src/jade/tabs/usd.jade:63 +msgid "Show instructions" +msgstr "Anweisungen anzeigen" + +#: src/jade/tabs/brl.jade:75 src/jade/tabs/btc.jade:83 +msgid "{{1}}Not connected" +msgstr "{{1}}Nicht verbunden" + +#: src/jade/tabs/brl.jade:78 src/jade/tabs/btc.jade:86 +msgid "{{1}}Connected" +msgstr "{{1}}Verbunden" + +#: src/jade/tabs/brl.jade:81 src/jade/tabs/eur.jade:71 +#: src/jade/tabs/gold.jade:73 src/jade/tabs/jpy.jade:74 +#: src/jade/tabs/mxn.jade:76 src/jade/tabs/usd.jade:68 +msgid "Your account has to be activated before you can add a gateway account." +msgstr "Ihr Konto muss freigeschaltet werden, bevor Sie ein neues Gateway-Konto hinzufügen können." + +#: src/jade/tabs/brl.jade:84 src/jade/tabs/eur.jade:75 +#: src/jade/tabs/gold.jade:76 src/jade/tabs/jpy.jade:77 +#: src/jade/tabs/mxn.jade:79 src/jade/tabs/usd.jade:72 +msgid "×" +msgstr "×" + +#: src/jade/tabs/brl.jade:85 +msgid "NEW CUSTOMERS- SIGN UP AT RIPPEX" +msgstr "NEUKUNDEN- BEI RIPPEX REGISTRIEREN" + +#: src/jade/tabs/brl.jade:86 +msgid "" +"{{1}} at Rippex.net to initiate deposits and withdrawals. You will " +"need:{{2}}" +msgstr "" -#: src/jade/tabs/balance.jade:128 -msgid "Transaction Successful" -msgstr "Transaktion erfolgreich" +#: src/jade/tabs/brl.jade:90 +msgid "A {{1}}" +msgstr "" -#: src/jade/tabs/balance.jade:129 -msgid "Warning" -msgstr "Warnung" +#: src/jade/tabs/brl.jade:92 +msgid "A bank account in Brazil." +msgstr "" -#: src/jade/tabs/balance.jade:130 -msgid "Transaction Failed" -msgstr "Transaktion fehlgeschlagen" +#: src/jade/tabs/brl.jade:96 +msgid "EXISTING RIPPEX CUSTOMERS" +msgstr "" -#: src/jade/tabs/balance.jade:131 -msgid "Message" -msgstr "Nachricht" +#: src/jade/tabs/brl.jade:97 +msgid "If you have a Rippex account, {{1}}" +msgstr "" -#: src/jade/tabs/banner/announcement.jade:2 -msgid "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" -msgstr "Helfen Sie unserem Team, Ripple Trade zu verbessern! {{1:Nehmen Sie an einer schnellen Nutzer-Umfrage teil.}}" +#: src/jade/tabs/brl.jade:100 +msgid "DEPOSIT INSTRUCTIONS" +msgstr "" -#: src/jade/tabs/banner/unfunded.jade:2 -msgid "" -"Welcome to Ripple Trade! To activate your account, you'll need at least 20 " -"XRP." -msgstr "Willkommen bei Ripple Trade. Um Ihr Konto zu aktivieren, benötigen Sie mindestens 20 XRP." +#: src/jade/tabs/brl.jade:101 +msgid "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" +msgstr "" -#: src/jade/tabs/banner/unfunded.jade:4 -msgid "" -"Have another user send XRP to your Ripple name " -"(~{{userCredentials.username}})" -msgstr "Lassen Sie sich von einem anderen Nutzer XRP an Ihren Ripple-Namen senden (~{{userCredentials.username}})" +#: src/jade/tabs/btc.jade:19 +msgid "Success! You can deposit BTC via your generated BTC receiving address." +msgstr "" -#: src/jade/tabs/banner/unfunded.jade:5 -msgid "" -"Use the {{1}}. A small amount of your first deposit will be used to " -"activate your account." -msgstr "Verwenden Sie die {{1}}. Ein kleiner Betrag Ihrer ersten Einzahlung wird dazu genutzt, Ihr Konto freizuschalten." +#: src/jade/tabs/btc.jade:21 +msgid "There was an error with your request. {{1}}" +msgstr "" -#: src/jade/tabs/btc.jade:18 +#: src/jade/tabs/btc.jade:30 msgid "Bitcoin Deposit" msgstr "Bitcoin-Guthaben" -#: src/jade/tabs/btc.jade:26 -msgid "" -"A small amount (~.001 BTC) of your first transfer will be converted to XRP " -"to activate your wallet. {{1:Why?}}" -msgstr "Ein kleiner Betrag (~.001 BTC) Ihrer ersten Überweisung wird zu XRP umgewandelt, um Ihre Brieftasche freizuschalten. {{1:Weshalb?}}" - -#: src/jade/tabs/btc.jade:30 -msgid "Your current deposit limit is:" -msgstr "Ihr aktuelles Einzahlungs-Limit beträgt:" +#: src/jade/tabs/btc.jade:36 +msgid "btc2ripple (~snapswap) {{1}}" +msgstr "" -#: src/jade/tabs/btc.jade:32 -msgid "Remove Limit" -msgstr "Limit entfernen" +#: src/jade/tabs/btc.jade:40 src/jade/tabs/gold.jade:45 +#: src/jade/tabs/jpy.jade:46 +msgid "All countries" +msgstr "" -#: src/jade/tabs/btc.jade:36 -msgid "Waiting for response from SnapSwap service..." -msgstr "Auf Antwort des SnapSwap-Dienstes wird gewartet" +#: src/jade/tabs/btc.jade:43 src/jade/tabs/mxn.jade:50 +msgid "0%" +msgstr "" -#: src/jade/tabs/btc.jade:38 +#: src/jade/tabs/btc.jade:50 msgid "" -"To deposit, generate a bitcoin receiving address using the {{1}} service " -"powered by SnapSwap." -msgstr "Zur Einzahlung erzeugen Sie eine Bitcoin-Empfänger-Adresse mit dem {{1}}-Dienst, mit freundlicher Unterstützung von SnapSwap." +"Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By" +" proceeding, you agree to the btc2ripple {{1}} Following this action will " +"allow btc2ripple to hold BTC on your behalf." +msgstr "" -#: src/jade/tabs/btc.jade:45 -msgid "Generate bitcoin address" -msgstr "Bitcoin-Adresse erzeugen" +#: src/jade/tabs/btc.jade:56 +msgid "Add btc2ripple" +msgstr "" -#: src/jade/tabs/btc.jade:49 src/jade/tabs/security.jade:56 -#: src/jade/tabs/trust.jade:160 +#: src/jade/tabs/btc.jade:60 src/jade/tabs/security.jade:64 +#: src/jade/tabs/trust.jade:123 msgid "Connect" msgstr "Verbinden" -#: src/jade/tabs/btc.jade:51 +#: src/jade/tabs/btc.jade:62 msgid "btc2ripple would like to:" msgstr "btc2ripple möchte gern:" -#: src/jade/tabs/btc.jade:53 -msgid "- Receive your email address{{1}}" -msgstr "- Ihre E-Mail-Adresse erhalten{{1}}" +#: src/jade/tabs/btc.jade:64 +msgid "- Receive your email address {{1}}" +msgstr "" -#: src/jade/tabs/btc.jade:54 +#: src/jade/tabs/btc.jade:65 msgid "({{userBlob.data.email}})" msgstr "({{userBlob.data.email}})" -#: src/jade/tabs/btc.jade:55 +#: src/jade/tabs/btc.jade:66 msgid "- Hold deposited BTC on your behalf" msgstr "- Eingezahlte BTC in Ihrem Auftrag verwalten" -#: src/jade/tabs/btc.jade:56 +#: src/jade/tabs/btc.jade:67 msgid "By proceeding, you agree to the btc2ripple {{1}}" msgstr "Indem Sie fortfahren, akzeptieren Sie die btc2ripple {{1}}" -#: src/jade/tabs/btc.jade:63 +#: src/jade/tabs/btc.jade:75 msgid "" "SnapSwap's btc2ripple service is currently unavailable. Please check back " "later." msgstr "SnapSwap's btc2ripple-Service ist im Moment nicht verfügbar. Bitte versuchen Sie es später erneut." -#: src/jade/tabs/contacts.jade:6 src/jade/tabs/contacts.jade:26 -msgid "Ripple name or address" -msgstr "Ripple Name oder Ripple-Adresse." +#: src/jade/tabs/btc.jade:94 +msgid "Personal Deposit address" +msgstr "" -#: src/jade/tabs/contacts.jade:9 src/jade/tabs/contacts.jade:13 -#: src/jade/tabs/contacts.jade:56 -msgid "Add contact" -msgstr "Kontakt hinzufügen" +#: src/jade/tabs/btc.jade:96 +msgid "Your account is fully verified." +msgstr "" + +#: src/jade/tabs/btc.jade:104 +msgid "Withdrawal instructions" +msgstr "" + +#: src/jade/tabs/btc.jade:105 +msgid "" +"To withdraw to a BTC address, go to the Send tab and enter the BTC address. " +"Using the btc2ripple service, you will be able tosend to that BTC address." +msgstr "" + +#: src/jade/tabs/btc.jade:110 +msgid "Waiting for response from SnapSwap service..." +msgstr "Auf Antwort des SnapSwap-Dienstes wird gewartet" + +#: src/jade/tabs/btc.jade:112 +msgid "" +"To deposit, generate a bitcoin receiving address using the {{1}} service " +"powered by SnapSwap." +msgstr "Zur Einzahlung erzeugen Sie eine Bitcoin-Empfänger-Adresse mit dem {{1}}-Dienst, mit freundlicher Unterstützung von SnapSwap." + +#: src/jade/tabs/contacts.jade:8 +msgid "A new contact has been successfully added." +msgstr "" -#: src/jade/tabs/contacts.jade:18 +#: src/jade/tabs/contacts.jade:9 +msgid "Your contact has been successfully updated." +msgstr "" + +#: src/jade/tabs/contacts.jade:10 +msgid "A contact has been successfully removed." +msgstr "" + +#: src/jade/tabs/contacts.jade:12 src/jade/tabs/contacts.jade:24 msgid "Contact" msgstr "Kontakt" -#: src/jade/tabs/contacts.jade:21 +#: src/jade/tabs/contacts.jade:13 src/jade/tabs/contacts.jade:32 +msgid "Ripple name or address" +msgstr "Ripple Name oder Ripple-Adresse." + +#: src/jade/tabs/contacts.jade:15 src/jade/tabs/contacts.jade:19 +#: src/jade/tabs/contacts.jade:48 +msgid "Add contact" +msgstr "Kontakt hinzufügen" + +#: src/jade/tabs/contacts.jade:27 src/jade/tabs/send.jade:245 +#: src/jade/tabs/send.jade:277 msgid "Please enter a contact." msgstr "Bitte geben Sie einen Kontakt ein." -#: src/jade/tabs/contacts.jade:22 +#: src/jade/tabs/contacts.jade:28 msgid "This contact already exists." msgstr "Dieser Kontakt ist bereits vorhanden." -#: src/jade/tabs/contacts.jade:30 +#: src/jade/tabs/contacts.jade:36 msgid "Please enter a Ripple name." msgstr "Bitte Ihren Ripple Name eingeben." -#: src/jade/tabs/contacts.jade:31 src/jade/tabs/contacts.jade:47 +#: src/jade/tabs/contacts.jade:37 src/jade/tabs/contacts.jade:45 msgid "" "You already have a contact with the same Ripple name and/or the same " "Destination tag." msgstr "Sie haben bereits einen Kontakt mit dem gleichen Ripple-Namen und/oder dem gleichen Zielmarker." -#: src/jade/tabs/contacts.jade:32 +#: src/jade/tabs/contacts.jade:38 msgid "Not a valid Ripple name or address." msgstr "Kein gültiger Ripple-Name oder Adresse." -#: src/jade/tabs/contacts.jade:38 -msgid "Please enter a Ripple address." -msgstr "Bitte geben Sie eine Ripple-Adresse ein." - -#: src/jade/tabs/contacts.jade:39 src/jade/tabs/contacts.jade:53 -msgid "" -"You already have a contact with the same Ripple address and/or the same " -"Destination tag." -msgstr "Sie haben bereits einen Kontakt mit der gleichen Ripple-Adresse und/oder dem gleichen Zielmarker." - -#: src/jade/tabs/contacts.jade:40 -msgid "Not a valid Ripple address." -msgstr "Keine gültige Ripple-Adresse." - -#: src/jade/tabs/contacts.jade:43 src/jade/tabs/contacts.jade:49 -#: src/jade/tabs/contacts.jade:89 src/jade/tabs/send.jade:49 -#: src/jade/tabs/tx.jade:54 +#: src/jade/tabs/contacts.jade:41 src/jade/tabs/contacts.jade:81 +#: src/jade/tabs/send.jade:42 src/jade/tabs/tx.jade:56 msgid "Destination tag" msgstr "Zielmarker" -#: src/jade/tabs/contacts.jade:46 src/jade/tabs/contacts.jade:52 -#: src/jade/tabs/send.jade:53 +#: src/jade/tabs/contacts.jade:42 +msgid "Leave blank if not applicable" +msgstr "" + +#: src/jade/tabs/contacts.jade:44 src/jade/tabs/send.jade:46 msgid "Invalid destination tag" msgstr "Ungültiger Zielmarker" -#: src/jade/tabs/contacts.jade:80 src/jade/tabs/send.jade:232 -#: src/jade/tabs/send.jade:260 +#: src/jade/tabs/contacts.jade:72 msgid "You already have a contact with the same name." msgstr "Sie haben bereits einen Kontakt mit demselben Namen." -#: src/jade/tabs/contacts.jade:86 +#: src/jade/tabs/contacts.jade:78 msgid "You already have this address." msgstr "Sie haben diese Adresse bereits." -#: src/jade/tabs/contacts.jade:87 +#: src/jade/tabs/contacts.jade:79 src/jade/tabs/debug.jade:14 msgid "Not a valid address." msgstr "Keine gültige Adresse." -#: src/jade/tabs/contacts.jade:92 +#: src/jade/tabs/contacts.jade:84 msgid "Invalid destination tag." msgstr "Ungültiger Zielmarker." -#: src/jade/tabs/contacts.jade:102 +#: src/jade/tabs/contacts.jade:94 msgid "" "You don't have any contacts yet. Click on 'Add contact' button in the top " "right corner to add a new contact." msgstr "Sie haben noch keine Kontakte. Klicken Sie auf die Schaltfläche 'Kontakt hinzufügen' in der oberen rechten Ecke, um einen neuen Kontakt hinzuzufügen." -#: src/jade/tabs/desktop/login.jade:3 -msgid "" -"You will not be able to login to the downloadable client using a " -"username/password you create on Ripple Trade or the web version of the " -"Ripple Client. You can only use a secret key to access an existing Ripple " -"account. This is because the downloadable client stores your login " -"information locally on your computer, so your account is as safe as the " -"security of your personal computer." -msgstr "Sie werden sich auf dem herunterladbaren Client nicht mit einem Nutzernamen/Kennwort einloggen können, den Sie bei Ripple Trade oder der Web-Version des Ripple-Clients anlegen. Sie können nur einen geheimen Schlüssel verwenden, um auf ein bestehendes Ripple-Konto zuzugreifen. Denn der herunterladbare Client speichert Ihre Anmelde-Informationen lokal auf Ihrem Computer, die Sicherheit Ihres Kontos steht und fällt also mit der Sicherheit Ihres persönlichen Computers." - -#: src/jade/tabs/desktop/login.jade:12 src/jade/tabs/desktop/login.jade:34 -msgid "Open account" -msgstr "Konto eröffnen" - -#: src/jade/tabs/desktop/login.jade:15 src/jade/tabs/desktop/register.jade:5 -#: src/jade/tabs/desktop/register.jade:65 -msgid "Create new account" -msgstr "Neues Konto erstellen" - -#: src/jade/tabs/desktop/login.jade:18 -msgid "Select account file {{walletfile}}" -msgstr "Konto-Datei auswählen {{walletfile}}" - -#: src/jade/tabs/desktop/login.jade:21 -msgid "Select account file" -msgstr "Kontodatei auswählen" - -#: src/jade/tabs/desktop/login.jade:24 -msgid "Account password" -msgstr "Konto-Kennwort" +#: src/jade/tabs/debug.jade:9 +msgid "Enter a Ripple name or address" +msgstr "" -#: src/jade/tabs/desktop/register.jade:8 -msgid "Open existing account" -msgstr "Bestehendes Konto öffnen" +#: src/jade/tabs/debug.jade:13 +msgid "Please enter an address." +msgstr "" -#: src/jade/tabs/desktop/register.jade:11 -msgid "Create an empty account" -msgstr "Leeres Konto erstellen" +#: src/jade/tabs/debug.jade:17 +msgid "Turn on debug mode" +msgstr "" -#: src/jade/tabs/desktop/register.jade:14 -msgid "Create a new account with a secret key" -msgstr "Neues Konto mit Sicherheitsschlüssel erstellen" +#: src/jade/tabs/eur.jade:35 +msgid "Euro Deposit" +msgstr "" -#: src/jade/tabs/desktop/register.jade:18 -msgid "Create empty account" -msgstr "Leeres Konto erstellen" +#: src/jade/tabs/eur.jade:39 +msgid "SnapSwap EU (~SnapSwap){{1}}{{2}}" +msgstr "" -#: src/jade/tabs/desktop/register.jade:20 -msgid "Encrypt your new account file: {{walletfile}}" -msgstr "Verschlüsseln Sie Ihre neue Konto-Datei: {{walletfile}}" +#: src/jade/tabs/eur.jade:45 +msgid "All countries, except USA" +msgstr "" -#: src/jade/tabs/desktop/register.jade:24 -msgid "Wallet file" -msgstr "Wallet-Datei" +#: src/jade/tabs/eur.jade:49 +msgid "€ 0.31 – € 15.00" +msgstr "" -#: src/jade/tabs/desktop/register.jade:31 +#: src/jade/tabs/eur.jade:59 msgid "" -"Your password is weak. It is not a mix of letters, numbers and symbols or it" -" is the same as your Ripple name." -msgstr "Ihr Kennwort ist zu schwach. Es besteht nicht aus Buchstaben, Ziffern und Sonderzeichen, oder entspricht ihrem Ripple-Namen." - -#: src/jade/tabs/desktop/register.jade:33 src/jade/tabs/recover.jade:40 -#: src/jade/tabs/register.jade:49 src/jade/tabs/security.jade:123 -msgid "Confirm password" -msgstr "Kennwort bestätigen" - -#: src/jade/tabs/desktop/register.jade:36 src/jade/tabs/recover.jade:43 -#: src/jade/tabs/register.jade:52 src/jade/tabs/security.jade:126 -msgid "Passwords do not match" -msgstr "Die Passwörter stimmen nicht überein" - -#: src/jade/tabs/desktop/register.jade:42 -msgid "Encrypt account" -msgstr "Konto verschlüsseln" - -#: src/jade/tabs/desktop/register.jade:44 -msgid "Cancel and delete account file" -msgstr "Abbrechen und Konto-Datei löschen" - -#: src/jade/tabs/desktop/register.jade:50 -msgid "Create account with secret key" -msgstr "Konto mit Sicherheitsschlüssel erstellen" - -#: src/jade/tabs/desktop/register.jade:55 -msgid "Enter your secret key" -msgstr "Geben Sie Ihren Sicherheitsschlüssel ein" +"Ripple Trade has partnered with SnapSwap to provide easier access to EUR. " +"Following this action will enable SnapSwap to hold EUR on your behalf." +msgstr "" -#: src/jade/tabs/desktop/register.jade:62 -msgid "Secret is invalid" -msgstr "Sicherheitsschlüssel ist ungültig" +#: src/jade/tabs/eur.jade:69 src/jade/tabs/usd.jade:66 +msgid "Not connected" +msgstr "" -#: src/jade/tabs/desktop/register.jade:67 src/jade/tabs/fund.jade:77 -#: src/jade/tabs/trade.jade:325 -msgid "Cancel" -msgstr "Abbrechen" +#: src/jade/tabs/eur.jade:70 src/jade/tabs/usd.jade:67 +msgid "Connected" +msgstr "" -#: src/jade/tabs/desktop/register.jade:69 src/jade/tabs/register.jade:95 -msgid "Have an account? {{1:Log In}}" -msgstr "Haben Sie ein Konto? {{1:Anmelden}}" +#: src/jade/tabs/eur.jade:76 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.EU" +msgstr "" -#: src/jade/tabs/desktop/register.jade:75 -msgid "Important:" -msgstr "Wichtig:" +#: src/jade/tabs/eur.jade:77 +msgid "Register and verify your account at SnapSwap EU. You will need: {{1}}" +msgstr "" -#: src/jade/tabs/desktop/register.jade:76 +#: src/jade/tabs/eur.jade:81 src/jade/tabs/usd.jade:78 msgid "" -"The secret key below gives access to your money in the unlikely case that " -"you lose your password. In that case your contacts will be lost, but with " -"this secret key alone anyone can retrieve your money. So please store it " -"somewhere PRIVATE AND SAFE. Read more about keys and wallet safety in {{1}}" -msgstr "Der geheime Schlüssel unten gewährt Zugriff auf Ihr Geld für den unwahrscheinlichen Fall, dass Sie Ihr Kennwort verlieren. In diesem Fall sind Ihre Kontakte verloren, doch dieser geheime Schlüssel reicht aus, damit jeder, der in seinem Besitz ist, auf Ihr Geld zugreifen kann. Bewahren Sie ihn also an einem PRIVATEN UND SICHEREN Ort auf. Lesen Sie mehr über Schlüssel und die Sicherheit Ihrer Brieftasche unter {{1}}" +"A valid government-issued ID: driver license, passport, ID card, or visa " +"stamp." +msgstr "" -#: src/jade/tabs/desktop/register.jade:79 src/jade/tabs/settings/navbar.jade:2 -msgid "Security" -msgstr "Sicherheit" +#: src/jade/tabs/eur.jade:83 src/jade/tabs/usd.jade:80 +msgid "A proof of address: driver license, utility bill, bank statement, etc." +msgstr "" -#: src/jade/tabs/desktop/register.jade:81 -msgid "Passphrase:{{1}}{{2}}{{3}}{{4}}" -msgstr "Passphrase:{{1}}{{2}}{{3}}{{4}}" +#: src/jade/tabs/eur.jade:85 +msgid "EXISTING SNAPSWAP EU CUSTOMERS" +msgstr "" -#: src/jade/tabs/desktop/register.jade:90 -msgid "Secret key:" -msgstr "Sicherheitsschlüssel:" +#: src/jade/tabs/eur.jade:89 src/jade/tabs/jpy.jade:94 +#: src/jade/tabs/usd.jade:86 +msgid "Login to your account {{1}}" +msgstr "" -#: src/jade/tabs/desktop/register.jade:95 src/jade/tabs/register.jade:150 -msgid "Show secret key" -msgstr "Sicherheitsschlüssel anzeigen" +#: src/jade/tabs/eur.jade:92 src/jade/tabs/jpy.jade:96 +msgid "DEPOSITS AND WITHDRAWALS:" +msgstr "" -#: src/jade/tabs/desktop/register.jade:97 src/jade/tabs/register.jade:151 -msgid "Hide secret key" -msgstr "Sicherheitsschlüssel verbergen" +#: src/jade/tabs/eur.jade:96 +msgid "Deposit from your bank (2-4 business days)" +msgstr "" -#: src/jade/tabs/desktop/register.jade:98 -msgid "Have you saved your secret key somewhere safe?" -msgstr "Haben Sie Ihren Sicherheitsschlüssel an einem sichern Ort notiert?" +#: src/jade/tabs/eur.jade:98 +msgid "Withdraw to your bank account in SEPA (2-4 business days)" +msgstr "" -#: src/jade/tabs/desktop/register.jade:101 -msgid "Yes, I saved my secret key" -msgstr "Ja, Ich habe meinen Sicherheitsschlüssel notiert" +#: src/jade/tabs/eur.jade:100 +msgid "Withdraw to SmartyCash Card (instant)" +msgstr "" #: src/jade/tabs/exchange.jade:13 msgid "You have to be funded before you can exchange money" msgstr "Ihr Konto benötigt einen gewissen Mindestbetrag, bevor Sie in der Lage sind, Handel zu treiben" +#: src/jade/tabs/exchange.jade:23 +msgid "Buy (Market Order)" +msgstr "" + +#: src/jade/tabs/exchange.jade:24 +msgid "" +"Submit a buy order at the current market rate. Orders will execute " +"instantly." +msgstr "" + # Receive (amount) -#: src/jade/tabs/exchange.jade:19 +#: src/jade/tabs/exchange.jade:27 msgid "Receive (amount)" -msgstr "Empfangen" +msgstr "" + +#: src/jade/tabs/exchange.jade:34 src/jade/tabs/widgets/balances.jade:49 +msgid "add gateway" +msgstr "" -#: src/jade/tabs/exchange.jade:26 src/jade/tabs/send.jade:88 +#: src/jade/tabs/exchange.jade:37 src/jade/tabs/send.jade:90 msgid "Please enter an amount." msgstr "Bitte geben Sie einen Betrag ein." -#: src/jade/tabs/exchange.jade:27 src/jade/tabs/send.jade:89 -#: src/jade/tabs/trade.jade:146 src/jade/tabs/trade.jade:161 -#: src/jade/tabs/trade.jade:176 +#: src/jade/tabs/exchange.jade:38 src/jade/tabs/send.jade:91 +#: src/jade/tabs/trade.jade:153 src/jade/tabs/trade.jade:168 +#: src/jade/tabs/trade.jade:183 src/jade/tabs/trust.jade:101 msgid "Not a valid amount." msgstr "Kein gültiger Betrag." -#: src/jade/tabs/exchange.jade:28 +#: src/jade/tabs/exchange.jade:39 +msgid "" +"You are either trying to convert too little or too much XRP.Minimum amount " +"is 0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "" + +#: src/jade/tabs/exchange.jade:42 src/jade/tabs/send.jade:96 +#: src/jade/tabs/trust.jade:103 +msgid "Your amount has too many digits. The max number of digits is 16." +msgstr "" + +#: src/jade/tabs/exchange.jade:43 msgid "Please enter an amount greater than zero." msgstr "Bitte geben Sie einen Betrag größer als Null ein." -#: src/jade/tabs/exchange.jade:31 -msgid "Calculating..." -msgstr "Berechnung läuft..." +#: src/jade/tabs/exchange.jade:46 +msgid "{{1}} Calculating..." +msgstr "" -#: src/jade/tabs/exchange.jade:33 +#: src/jade/tabs/exchange.jade:50 msgid "" "Cannot convert to {{exchange.amount}} {{exchange.currency_name}}. Please " "make sure your account has enough funds, and a {{1}} to a " "{{exchange.currency_name}} gateway." msgstr "Umwandeln zu {{exchange.amount}} {{exchange.currency_name}} nicht möglich. Bitte stellen Sie sicher, dass Ihr Konto genug Guthaben hat, und einen {{1}} zu einem {{exchange.currency_name}}-Gateway." -#: src/jade/tabs/exchange.jade:37 +#: src/jade/tabs/exchange.jade:54 msgid "" "Sorry! Cannot convert {{exchange.amount}} {{exchange.currency_name}}. Please" " make sure your account has enough funds." msgstr "Leider kann {{exchange.amount}} {{exchange.currency_name}} nicht gewechselt werden. Bitte stellen Sie sicher, dass Ihr Konto genügend Guthaben aufweist." -#: src/jade/tabs/exchange.jade:39 src/jade/tabs/send.jade:133 +#: src/jade/tabs/exchange.jade:56 src/jade/tabs/send.jade:142 msgid "Error while calculating path" msgstr "Fehler bei der Berechnung des Pfads" -#: src/jade/tabs/exchange.jade:55 +#: src/jade/tabs/exchange.jade:60 +msgid "Exchange" +msgstr "Umtausch" + +#: src/jade/tabs/exchange.jade:72 msgid "Exchange {{ alt.amount | rpcurrency }} {{1}}" msgstr "{{ alt.amount | rpcurrency }} wechseln {{1}}" -#: src/jade/tabs/exchange.jade:61 src/jade/tabs/send.jade:161 +#: src/jade/tabs/exchange.jade:78 src/jade/tabs/send.jade:170 msgid "Paths last updated {{1}} {{2: seconds}} {{3: second}} ago" msgstr "Zuletzt aktualisiert vor {{1}} {{2: Sekunden}} {{3: Sekunde}}" -#: src/jade/tabs/exchange.jade:70 +#: src/jade/tabs/exchange.jade:89 msgid "Ripple is calculating a path for your conversion." msgstr "Ripple berechnet einen Pfad für Ihren Umtausch." -#: src/jade/tabs/exchange.jade:75 +#: src/jade/tabs/exchange.jade:94 msgid "" "{{1:You are exchanging}}{{2}}{{3:to}}{{4}}{{5:You will pay at " "most}}{{6}}{{7:Are you sure?}}" msgstr "{{1:Sie tauschen}}{{2}}{{3:um in}}{{4}}{{5:Sie bezahlen maximal}}{{6}}{{7:Sind Sie sicher?}}" -#: src/jade/tabs/exchange.jade:116 +#: src/jade/tabs/exchange.jade:139 msgid "Do another conversion" msgstr "Einen weiteren Umtausch ausführen" -#: src/jade/tabs/exchange.jade:118 src/jade/tabs/send.jade:243 -#: src/jade/tabs/send.jade:273 +#: src/jade/tabs/exchange.jade:141 src/jade/tabs/send.jade:257 +#: src/jade/tabs/send.jade:291 msgid "Back to balance" msgstr "Zurück zum Kontostand" @@ -1080,215 +1567,280 @@ msgstr "Zurück zum Kontostand" msgid "Add trust" msgstr "Vertrauen hinzufügen" -#: src/jade/tabs/fund.jade:33 src/jade/tabs/fund.jade:47 -#: src/jade/tabs/trust.jade:100 src/jade/tabs/trust.jade:121 +#: src/jade/tabs/fund.jade:27 src/jade/tabs/send.jade:26 +msgid "Enter a Ripple name or contact" +msgstr "" + +#: src/jade/tabs/fund.jade:33 src/jade/tabs/trust.jade:73 msgid "Account does not meet the minimum XRP reserve." msgstr "Account erfüllt nicht die mindest XRP Reserve." -#: src/jade/tabs/fund.jade:34 src/jade/tabs/fund.jade:48 -#: src/jade/tabs/send.jade:107 src/jade/tabs/trust.jade:101 -#: src/jade/tabs/trust.jade:122 -msgid "More information" -msgstr "Mehr Infos" - -#: src/jade/tabs/fund.jade:36 src/jade/tabs/trust.jade:103 +#: src/jade/tabs/fund.jade:36 src/jade/tabs/trust.jade:76 msgid "Please enter a Ripple name, contact, or address." msgstr "Bitte geben Sie einen Ripple-Namen, Kontakt, oder eine Adresse ein." -#: src/jade/tabs/fund.jade:37 src/jade/tabs/fund.jade:51 -#: src/jade/tabs/trust.jade:104 src/jade/tabs/trust.jade:125 +#: src/jade/tabs/fund.jade:37 src/jade/tabs/trust.jade:77 msgid "You've entered your own address." msgstr "Sie haben Ihre eigene Adresse eingegeben." -#: src/jade/tabs/fund.jade:38 src/jade/tabs/trust.jade:105 +#: src/jade/tabs/fund.jade:38 src/jade/tabs/trust.jade:78 msgid "Please enter a valid Ripple name, contact, or address." msgstr "Bitte geben Sie einen gültigen Ripple-Namen, Kontakt, oder eine gültige Adresse ein." -#: src/jade/tabs/fund.jade:50 src/jade/tabs/trust.jade:124 -msgid "Please enter a Ripple address or contact." -msgstr "Bitte geben Sie eine Ripple-Adresse oder einen Kontakt ein." - -#: src/jade/tabs/fund.jade:52 src/jade/tabs/trust.jade:126 -msgid "Please enter a valid Ripple address or contact." -msgstr "Bitte geben Sie eine gültige Ripple-Adresse oder einen gültigen Kontakt ein." - -#: src/jade/tabs/fund.jade:55 src/jade/tabs/history.jade:190 -#: src/jade/tabs/trade.jade:303 src/jade/tabs/trust.jade:129 -msgid "Amount" -msgstr "Betrag" - -#: src/jade/tabs/fund.jade:62 src/jade/tabs/trust.jade:107 -#: src/jade/tabs/trust.jade:140 +#: src/jade/tabs/fund.jade:48 src/jade/tabs/trust.jade:80 msgid "Amount field is required" msgstr "Das Betragsfeld ist erforderlich" -#: src/jade/tabs/fund.jade:64 src/jade/tabs/trust.jade:109 -#: src/jade/tabs/trust.jade:142 +#: src/jade/tabs/fund.jade:50 src/jade/tabs/trust.jade:82 +#: src/jade/tabs/trust.jade:105 msgid "" "XRP can be sent without extending trust. If you really want to trust in XRP," " please use XRR currency code." msgstr "XRP können versandt werden, ohne Vertrauen auszusprechen. Wenn sie wirklich jemandem für XRP vertrauen wollen, verwenden Sie bitte XRR als Währungscode." -#: src/jade/tabs/fund.jade:67 src/jade/tabs/trust.jade:112 -#: src/jade/tabs/trust.jade:145 +#: src/jade/tabs/fund.jade:53 src/jade/tabs/trust.jade:85 +#: src/jade/tabs/trust.jade:108 msgid "Currency field is required" msgstr "Das Währungsfeld ist erforderlich" -#: src/jade/tabs/fund.jade:73 src/jade/tabs/trust.jade:151 +#: src/jade/tabs/fund.jade:59 src/jade/tabs/fund.jade:60 +#: src/jade/tabs/trust.jade:114 src/jade/tabs/trust.jade:115 msgid "Allow Rippling" msgstr "Rippling erlauben" -#: src/jade/tabs/fund/menu.jade:2 -msgid "XRP" -msgstr "XRP" +#: src/jade/tabs/fund.jade:60 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"trust. More " +"information" +msgstr "" + +#: src/jade/tabs/fund.jade:63 +msgid "Cancel" +msgstr "Abbrechen" #: src/jade/tabs/fund/menu.jade:3 -msgid "BTC" -msgstr "BTC" +msgid "{{1}}XRP" +msgstr "" #: src/jade/tabs/fund/menu.jade:6 +msgid "Featured gateways" +msgstr "" + +#: src/jade/tabs/fund/menu.jade:7 +msgid "{{1}}BRL" +msgstr "" + +#: src/jade/tabs/fund/menu.jade:10 +msgid "{{1}}BTC" +msgstr "" + +#: src/jade/tabs/fund/menu.jade:13 +msgid "{{1}}EUR" +msgstr "" + +#: src/jade/tabs/fund/menu.jade:16 +msgid "{{1}}JPY" +msgstr "" + +#: src/jade/tabs/fund/menu.jade:19 +msgid "{{1}}MXN" +msgstr "" + +#: src/jade/tabs/fund/menu.jade:22 +msgid "{{1}}USD" +msgstr "" + +#: src/jade/tabs/fund/menu.jade:25 +msgid "{{1}}XAU" +msgstr "" + +#: src/jade/tabs/fund/menu.jade:28 +msgid "Add any gateway" +msgstr "" + +#: src/jade/tabs/fund/menu.jade:30 msgid "Learn more about gateways" msgstr "Mehr über Gateways erfahren" -#: src/jade/tabs/history.jade:9 -msgid "Loading history..." -msgstr "Kontoverlauf wird geladen…" +#: src/jade/tabs/gold.jade:37 +msgid "Gold Deposit" +msgstr "" + +#: src/jade/tabs/gold.jade:41 +msgid "Gold Bullion International (~gbi) {{1}}" +msgstr "" + +#: src/jade/tabs/gold.jade:48 +msgid "0.5% per year" +msgstr "" + +#: src/jade/tabs/gold.jade:56 +msgid "" +"Ripple Trade has partnered with GBI to provide easy access toXAU. By " +"continuing, you are allowing GBI to hold gold on your behalf." +msgstr "" + +#: src/jade/tabs/gold.jade:67 src/jade/tabs/jpy.jade:68 +#: src/jade/tabs/mxn.jade:70 +msgid "{{1}} Not connected" +msgstr "" + +#: src/jade/tabs/gold.jade:70 src/jade/tabs/jpy.jade:71 +#: src/jade/tabs/mxn.jade:73 +msgid "{{1}} Connected" +msgstr "" + +#: src/jade/tabs/gold.jade:77 +msgid "Deposit" +msgstr "" + +#: src/jade/tabs/gold.jade:78 +msgid "" +"GBI does not currently support direct deposits. You can {{1}} or {{2}}." +msgstr "" -#: src/jade/tabs/history.jade:14 +#: src/jade/tabs/gold.jade:84 +msgid "Withdrawal" +msgstr "" + +#: src/jade/tabs/gold.jade:85 +msgid "" +"You can redeem the physical gold in 1 oz increments.To do so, you'll need to" +" {{1}} and arrange to have the gold shipped to you." +msgstr "" + +#: src/jade/tabs/history.jade:11 +msgid "Loading History" +msgstr "" + +#: src/jade/tabs/history.jade:16 msgid "Your account history is empty" msgstr "Ihr Kontoauszug ist leer" -#: src/jade/tabs/history.jade:20 -msgid "Filters" -msgstr "Filter" - -#: src/jade/tabs/history.jade:23 +#: src/jade/tabs/history.jade:24 msgid "Transaction type{{1}}{{2}}" msgstr "Transaktions-Typ{{1}}{{2}}" -#: src/jade/tabs/history.jade:48 +#: src/jade/tabs/history.jade:37 msgid "Date{{1}}{{2}}" msgstr "Datum:{{1}}{{2}}" -#: src/jade/tabs/history.jade:53 +#: src/jade/tabs/history.jade:42 msgid "Load history for specific date range" msgstr "Lade Kontoauszug für spezifischen Datumsbereich" -#: src/jade/tabs/history.jade:59 +#: src/jade/tabs/history.jade:48 msgid "From" msgstr "Von" -#: src/jade/tabs/history.jade:65 +#: src/jade/tabs/history.jade:54 msgid "To" msgstr "An" -#: src/jade/tabs/history.jade:68 +#: src/jade/tabs/history.jade:57 msgid "Filter" msgstr "Filter" -#: src/jade/tabs/history.jade:82 -msgid "Transaction History" -msgstr "Transaktions-Verlauf" - -#: src/jade/tabs/history.jade:84 -msgid "Export to CSV" -msgstr "Als CSV exportieren" - -#: src/jade/tabs/history.jade:88 +#: src/jade/tabs/history.jade:64 msgid "Date" msgstr "Datum" -#: src/jade/tabs/history.jade:89 src/jade/tabs/history.jade:188 +#: src/jade/tabs/history.jade:65 src/jade/tabs/history.jade:170 msgid "Description" msgstr "Beschreibung" -#: src/jade/tabs/history.jade:90 +#: src/jade/tabs/history.jade:68 src/jade/tabs/history.jade:73 +msgid "Export to CSV" +msgstr "Als CSV exportieren" + +#: src/jade/tabs/history.jade:69 msgid "Sorry, no transactions match your current filter." msgstr "Es tut uns leid, keine Transaktionen passen zu Ihrem aktuellen Filter." -#: src/jade/tabs/history.jade:109 +#: src/jade/tabs/history.jade:91 msgid "You sent{{1}}to{{2}}" msgstr "Sie haben {{1}} an {{2}} gesendet" -#: src/jade/tabs/history.jade:115 +#: src/jade/tabs/history.jade:97 msgid "{{1}}sent you{{2}}" msgstr "{{1}} hat Ihnen {{2}} gesendet" -#: src/jade/tabs/history.jade:121 +#: src/jade/tabs/history.jade:103 msgid "You requested to exchange{{1}}to{{2}}" msgstr "Sie möchten {{1}} gegen {{2}} tauschen" -#: src/jade/tabs/history.jade:127 +#: src/jade/tabs/history.jade:109 msgid "{{1}}now trusts you for{{2}}" msgstr "{{1}}vertraut Ihnen jetzt für{{2}}" -#: src/jade/tabs/history.jade:140 src/jade/tabs/history/effects.jade:45 +#: src/jade/tabs/history.jade:122 src/jade/tabs/history/effects.jade:45 msgid "You created an order to sell{{1}}for{{2}}" msgstr "Ihre Order {{1}} für {{2}} zu verkaufen wurde erteilt." -#: src/jade/tabs/history.jade:144 src/jade/tabs/history/effects.jade:49 +#: src/jade/tabs/history.jade:126 src/jade/tabs/history/effects.jade:49 msgid "You created an order to buy{{1}}for{{2}}" msgstr "Ihre Order {{1}} für {{2}} zu kaufen wurde erteilt." -#: src/jade/tabs/history.jade:150 +#: src/jade/tabs/history.jade:132 msgid "You cancelled an order accepting {{1}}for{{2}}" msgstr "Ihre Order {{1}} für {{2}} zu akzeptieren wurde storniert" -#: src/jade/tabs/history.jade:163 +#: src/jade/tabs/history.jade:145 msgid "Unknown transaction" msgstr "Unbekannte Transaktion" -#: src/jade/tabs/history.jade:166 +#: src/jade/tabs/history.jade:148 msgid "" "The client failed to parse this transaction. The developers have been " "notified of the issue." msgstr "Der Client konnte diese Transaktion nicht auslesen. Die Entwickler wurden über das Problem benachrichtigt." -#: src/jade/tabs/history.jade:171 +#: src/jade/tabs/history.jade:153 msgid "{{1}} sent you{{2}} and activated your account!" msgstr "{{1}} hat Ihnen{{2}} gesendet und Ihr Konto freigeschaltet!" -#: src/jade/tabs/history.jade:178 +#: src/jade/tabs/history.jade:160 msgid "You deposited{{1}} using {{entry.details.app.name}}" msgstr "Sie haben{{1}} über {{entry.details.app.name}} eingezahlt" -#: src/jade/tabs/history.jade:186 +#: src/jade/tabs/history.jade:168 msgid "Balance Changes" msgstr "Kontostand Änderungen" -#: src/jade/tabs/history.jade:189 +#: src/jade/tabs/history.jade:171 msgid "Issuer" msgstr "Gateway" -#: src/jade/tabs/history.jade:191 +#: src/jade/tabs/history.jade:173 msgid "Final balance" msgstr "Finaler Kontostand" -#: src/jade/tabs/history.jade:194 +#: src/jade/tabs/history.jade:176 msgid "XRP Balance Change" msgstr "Änderung XRP-Kontostand" -#: src/jade/tabs/history.jade:195 +#: src/jade/tabs/history.jade:177 msgid "{{effect.currency}} Balance Change" msgstr "Änderung {{effect.currency}}-Kontostand" -#: src/jade/tabs/history.jade:196 -msgid "Fee" -msgstr "Gebühr" - -#: src/jade/tabs/history.jade:201 +#: src/jade/tabs/history.jade:183 msgid "Transaction details" msgstr "Transaktionsdetails" -#: src/jade/tabs/history.jade:202 +#: src/jade/tabs/history.jade:184 msgid "Add {{1}} to contact list" msgstr "{{1}} zur Kontaktliste hinzufügen" -#: src/jade/tabs/history.jade:208 src/jade/tabs/trade.jade:386 +#: src/jade/tabs/history.jade:189 +msgid "{{1}} Loading more" +msgstr "" + +#: src/jade/tabs/history.jade:192 src/jade/tabs/trade.jade:500 msgid "Load more" msgstr "Weitere laden" -#: src/jade/tabs/history.jade:209 +#: src/jade/tabs/history.jade:193 msgid "No more transactions left" msgstr "Keine weiteren Transaktionen" @@ -1344,439 +1896,633 @@ msgstr "Vertrauens-Kontostand zwischen Ihnen und{{1}}wurde geändert von{{2}}." msgid "Your balance has been changed by{{1}}." msgstr "Ihr Kontostand wurde geändert von {{1}}." -#: src/jade/tabs/kyc.jade:16 +#: src/jade/tabs/jpy.jade:38 +msgid "Japanese Yen Deposit" +msgstr "" + +#: src/jade/tabs/jpy.jade:42 +msgid "Tokyo JPY Issuer (~tokyojpy) {{1}}" +msgstr "" + +#: src/jade/tabs/jpy.jade:59 +msgid "" +"Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to" +" JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your" +" behalf." +msgstr "" + +#: src/jade/tabs/jpy.jade:78 +msgid "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" +msgstr "" + +#: src/jade/tabs/jpy.jade:79 +msgid "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" +msgstr "" + +#: src/jade/tabs/jpy.jade:84 +msgid "A valid government-issued ID." +msgstr "" + +#: src/jade/tabs/jpy.jade:86 +msgid "A proof of address (utility bill, etc)." +msgstr "" + +#: src/jade/tabs/jpy.jade:88 +msgid "A bank account under the same name." +msgstr "" + +#: src/jade/tabs/jpy.jade:90 +msgid "EXISTING TOKYO JPY ISSUER CUSTOMERS" +msgstr "" + +#: src/jade/tabs/jpy.jade:100 +msgid "" +"Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details" +" {{1}}" +msgstr "" + +#: src/jade/tabs/jpy.jade:103 +msgid "" +"To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account " +"and then initiate a transfer into your Ripple account." +msgstr "" + +#: src/jade/tabs/jpy.jade:105 +msgid "" +"To withdraw to a bank account, you’ll first send money from your Ripple " +"account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo " +"JPY Issuer site to send to your bank account." +msgstr "" + +#: src/jade/tabs/kyc.jade:14 +msgid "Profile completion is only available to US residents." +msgstr "" + +#: src/jade/tabs/kyc.jade:21 src/jade/tabs/trade.jade:285 msgid "Verifying your information. Please wait..." msgstr "Ihre Informationen werden verifiziert. Bitte warten" -#: src/jade/tabs/kyc.jade:18 +#: src/jade/tabs/kyc.jade:23 msgid "Your identity information has been verified." msgstr "Ihre Identitäts-Informationen wurden verifiziert." -#: src/jade/tabs/kyc.jade:20 +#: src/jade/tabs/kyc.jade:25 msgid "Your identity questions have been verified." msgstr "Ihre Identitäts-Fragen wurden verifiziert." -#: src/jade/tabs/kyc.jade:22 +#: src/jade/tabs/kyc.jade:27 msgid "" "Congratulations, you've verified your identity! You will now be redirected " "back to the instant deposit page." msgstr "Herzlichen Glückwunsch, Sie haben Ihre Identität erfolgreich bestätigt! Sie werden jetzt auf die Seite für Sofort-Einzahlungen zurückgeleitet." -#: src/jade/tabs/kyc.jade:24 +#: src/jade/tabs/kyc.jade:29 msgid "There was an error with your request. Please try again later." msgstr "Ein Fehler mit Ihrer Anfrage ist aufgetreten. Bitte versuchen Sie es später erneut." -#: src/jade/tabs/kyc.jade:26 +#: src/jade/tabs/kyc.jade:31 msgid "" "There was an error with your request. Make sure your phone number is valid " "and try again." msgstr "Bei Ihrer Anfrage ist ein Fehler aufgetreten. Stellen Sie sicher, dass Ihre Telefonnummer gültig ist, und versuchen Sie es erneut." -#: src/jade/tabs/kyc.jade:28 +#: src/jade/tabs/kyc.jade:33 msgid "Please check your verification code and try again." msgstr "Bitte prüfen Sie Ihren Verifizierungs-Code und versuchen Sie es erneut." -#: src/jade/tabs/kyc.jade:30 +#: src/jade/tabs/kyc.jade:35 msgid "" "There was an error while requesting the verification code. Please try again " "later." msgstr "Beim Anfordern des Verifizierungs-Codes ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut." -#: src/jade/tabs/kyc.jade:32 +#: src/jade/tabs/kyc.jade:37 msgid "" "We are unable to validate your identity information. Please check your " "information and try again." msgstr "Wir konnten Ihre Identitäts-Informationen nicht verifizieren. Bitte prüfen Sie Ihre Informationen und versuchen Sie es erneut." -#: src/jade/tabs/kyc.jade:34 +#: src/jade/tabs/kyc.jade:39 msgid "" "We are unable to validate your identity questions. Please check your answers" " and try again." msgstr "Wir konnten Ihre Identitäts-Fragen nicht verifizieren. Bitte prüfen Sie Ihre Antworten und versuchen Sie es erneut." -#: src/jade/tabs/kyc.jade:36 +#: src/jade/tabs/kyc.jade:41 +msgid "" +"Sorry, you've reached your maximum number of verification attempts. Please " +"try again in 24 hours." +msgstr "" + +#: src/jade/tabs/kyc.jade:43 msgid "" "We can't verify your identity. Please contact us at support@ripple.com." msgstr "Wir können Ihre Identität nicht verifizieren. Bitte kontaktieren Sie uns unter support@ripple.com." -#: src/jade/tabs/kyc.jade:41 +#: src/jade/tabs/kyc.jade:48 msgid "Profile Completion" msgstr "Profil-Vollständigkeit" -#: src/jade/tabs/kyc.jade:45 +#: src/jade/tabs/kyc.jade:52 msgid "STEP 1: IDENTITY INFORMATION" msgstr "SCHRITT 1: IDENTITÄTS-INFORMATIONEN" -#: src/jade/tabs/kyc.jade:47 +#: src/jade/tabs/kyc.jade:54 msgid "STEP 2: IDENTITY QUESTIONS" msgstr "SCHRITT 2: IDENTITÄTS-FRAGEN" -#: src/jade/tabs/kyc.jade:49 +#: src/jade/tabs/kyc.jade:56 msgid "STEP 3: TWO-FACTOR AUTHENTICATION" msgstr "SCHRITT 3: ZWEI-FAKTOR-AUTHENTIFIZIERUNG" -#: src/jade/tabs/kyc.jade:56 +#: src/jade/tabs/kyc.jade:63 msgid "First Name" msgstr "Vorname" -#: src/jade/tabs/kyc.jade:60 +#: src/jade/tabs/kyc.jade:67 msgid "Last Name" msgstr "Nachname" -#: src/jade/tabs/kyc.jade:64 +#: src/jade/tabs/kyc.jade:71 msgid "Street Address" msgstr "Straße" -#: src/jade/tabs/kyc.jade:69 +#: src/jade/tabs/kyc.jade:76 msgid "City" msgstr "Ort" -#: src/jade/tabs/kyc.jade:73 +#: src/jade/tabs/kyc.jade:80 msgid "State" msgstr "Bundesland" -#: src/jade/tabs/kyc.jade:77 +#: src/jade/tabs/kyc.jade:84 msgid "ZIP" msgstr "PLZ" -#: src/jade/tabs/kyc.jade:81 +#: src/jade/tabs/kyc.jade:88 msgid "Date of Birth" msgstr "Geburtsdatum" -#: src/jade/tabs/kyc.jade:85 +#: src/jade/tabs/kyc.jade:92 msgid "Month{{1}}" msgstr "Monat{{1}}" -#: src/jade/tabs/kyc.jade:88 +#: src/jade/tabs/kyc.jade:95 msgid "Day{{1}}" msgstr "Tag{{1}}" -#: src/jade/tabs/kyc.jade:91 +#: src/jade/tabs/kyc.jade:98 msgid "Year{{1}}" msgstr "Jahr{{1}}" -#: src/jade/tabs/kyc.jade:104 +#: src/jade/tabs/kyc.jade:113 msgid "Continue to identity questions" msgstr "Weiter zu Identitäts-Fragen" -#: src/jade/tabs/kyc.jade:110 +#: src/jade/tabs/kyc.jade:114 src/jade/tabs/kyc.jade:129 +#: src/jade/tabs/kyc.jade:154 src/jade/tabs/kyc.jade:184 +#: src/jade/tabs/login.jade:17 +msgid "Verifying..." +msgstr "Überprüfen..." + +#: src/jade/tabs/kyc.jade:120 msgid "{{ q.question }}{{1}}" msgstr "{{ q.question }}{{1}}" -#: src/jade/tabs/kyc.jade:113 +#: src/jade/tabs/kyc.jade:123 msgid "{{ a.answer }}" msgstr "{{ a.answer }}" -#: src/jade/tabs/kyc.jade:116 +#: src/jade/tabs/kyc.jade:128 msgid "Continue to two-factor authentication" msgstr "Weiter zur Zwei-Faktor-Authentifizierung" -#: src/jade/tabs/kyc.jade:124 +#: src/jade/tabs/kyc.jade:137 msgid "Two-factor authentication provides extra security for your account." msgstr "Die Zwei-Faktor-Authentifizierung bietet zusätzlichen Schutz für Ihr Konto" -#: src/jade/tabs/kyc.jade:132 +#: src/jade/tabs/kyc.jade:145 msgid "" "Ripple Trade has partnered with Authy to provide better security for your " "account.By continuing, you agree to Authy's {{1:Terms of Service}}." msgstr "Ripple Trade arbeitet mit Authy zusammen, um bessere Sicherheit für Ihr Konto anzubieten. Indem Sie fortfahren, akzeptieren Sie die {{1:Nutzungsbedingungen}} von Authy." -#: src/jade/tabs/kyc.jade:138 +#: src/jade/tabs/kyc.jade:153 msgid "Verify phone number" msgstr "Telefonnummer verifizieren" -#: src/jade/tabs/kyc.jade:148 +#: src/jade/tabs/kyc.jade:164 msgid "change" msgstr "ändern" -#: src/jade/tabs/kyc.jade:152 +#: src/jade/tabs/kyc.jade:168 msgid "" "A verification code has been sent to +{{ currentCountryCode }} {{ " "phoneNumber }}." msgstr "Ein Verifizierungs-Code wurde an +{{ currentCountryCode }} {{ phoneNumber }} gesendet." -#: src/jade/tabs/kyc.jade:156 src/jade/tabs/login/form.jade:15 -#: src/jade/tabs/security.jade:88 +#: src/jade/tabs/kyc.jade:172 src/jade/tabs/login/form.jade:16 +#: src/jade/tabs/security.jade:97 msgid "Verification Code" msgstr "Verifizierungs-Code" -#: src/jade/tabs/login.jade:5 src/jade/tabs/login.jade:19 -#: src/jade/tabs/login.jade:83 +#: src/jade/tabs/kyc.jade:183 +msgid "Submit code" +msgstr "" + +#: src/jade/tabs/login.jade:4 src/jade/tabs/migrate.jade:4 +#: src/jade/tabs/recover.jade:3 src/jade/tabs/register.jade:5 +#: src/jade/tabs/register.jade:137 src/jade/tabs/register.jade:184 +msgid "Welcome to Ripple Trade" +msgstr "" + +#: src/jade/tabs/login.jade:6 src/jade/tabs/migrate.jade:6 +#: src/jade/tabs/recover.jade:5 src/jade/tabs/register.jade:7 +#: src/jade/tabs/register.jade:139 src/jade/tabs/register.jade:186 +msgid "Trade hundreds of assets, from XRP to crypto to gold to fiat." +msgstr "" + +#: src/jade/tabs/login.jade:15 src/jade/tabs/login.jade:31 msgid "Log In" msgstr "Anmelden" -#: src/jade/tabs/login.jade:7 -msgid "Verifying..." -msgstr "Überprüfen..." - -#: src/jade/tabs/login.jade:8 +#: src/jade/tabs/login.jade:18 msgid "You have successfully verified your email address." msgstr "Sie haben erfolgreich Ihre E-Mail-Adresse verifiziert." -#: src/jade/tabs/login.jade:9 +#: src/jade/tabs/login.jade:19 msgid "" "Email verification token is invalid. It has either expired or has been " "resent. Please check your inbox for the most recent verification email." msgstr "E-Mail-Verifizierungs-Token ist ungültig. Es ist entweder abgelaufen oder ein neueres wurde gesendet. Bitte sehen Sie in Ihrem Posteingang nach, um die neuste Verifizierungs-E-Mail zu verwenden." -#: src/jade/tabs/login.jade:21 +#: src/jade/tabs/login.jade:30 +msgid "Logging in" +msgstr "" + +#: src/jade/tabs/login.jade:34 msgid "Verify" msgstr "Verifizieren" -#: src/jade/tabs/login.jade:25 src/jade/tabs/login.jade:26 -#: src/jade/tabs/recover.jade:5 -msgid "Account Recovery" -msgstr "Konto-Wiederherstellung" - -#: src/jade/tabs/login.jade:28 src/jade/tabs/register.jade:93 +#: src/jade/tabs/login.jade:36 src/jade/tabs/register.jade:114 msgid "Already have a ripple.com/client account? {{1:Migrate}}" msgstr "Sie haben schon ein Konto bei ripple.com/client? {{1:Umstellen}}" -#: src/jade/tabs/login.jade:30 src/jade/tabs/migrate.jade:26 -msgid "New to {{productName}}? {{1:Sign Up}}" -msgstr "Neu bei {{productName}}? {{1:Registrieren}}" +#: src/jade/tabs/login.jade:41 src/jade/tabs/login.jade:42 +#: src/jade/tabs/recover.jade:9 +msgid "Account Recovery" +msgstr "Konto-Wiederherstellung" -#: src/jade/tabs/login.jade:37 +#: src/jade/tabs/login.jade:49 msgid "{{1:You're sending money to}}{{2}}." msgstr "{{1:Sie senden Geld an}}{{2}}." -#: src/jade/tabs/login.jade:41 +#: src/jade/tabs/login.jade:53 msgid "{{1:You're sending}}{{2}}{{3: to }}{{4}}." msgstr "{{1:Sie senden}}{{2}}{{3: an }}{{4}}." -#: src/jade/tabs/login.jade:51 +#: src/jade/tabs/login.jade:63 msgid "" "{{1:You're connecting to the gateway}}{{2}}{{3:for{{1}}}}{{4:with a limit " "of{{1}}}}." msgstr "{{1:Sie verbinden sich mit dem Gateway}}{{2}}{{3:für{{1}}}}{{4:mit einem Limit von{{1}}}}." -#: src/jade/tabs/login.jade:66 +#: src/jade/tabs/login.jade:78 msgid "{{1:You're adding}}{{2}}{{3:to your contacts list}}" msgstr "{{1:Sie fügen}}{{2}}{{3:zu Ihrer Kontaktliste hinzu}}" -#: src/jade/tabs/login.jade:84 +#: src/jade/tabs/login.jade:95 +msgid "{{1}} Log In" +msgstr "" + +#: src/jade/tabs/login.jade:98 msgid "You can confirm this transaction on the next page." msgstr "Sie können diese Transaktion auf der nächsten Seite bestätigen." -#: src/jade/tabs/login.jade:85 +#: src/jade/tabs/login.jade:99 msgid "New to {{productName}}? {{1:Create a wallet}}" msgstr "Neu bei {{productName}}? {{1:Brieftasche anlegen}}" -#: src/jade/tabs/login/form.jade:11 src/jade/tabs/security.jade:82 +#: src/jade/tabs/login/form.jade:12 src/jade/tabs/security.jade:91 msgid "" "Please enter the verification code from the SMS message sent to your device:" msgstr "Bitte geben Sie den Verifizierungs-Code aus der SMS an, die an Ihr Gerät gesendet wurde:" -#: src/jade/tabs/login/form.jade:12 src/jade/tabs/security.jade:83 +#: src/jade/tabs/login/form.jade:13 src/jade/tabs/security.jade:92 msgid "" "Please enter the verification code from the Authy app installed on your " "device:" msgstr "Bitte geben Sie den Verifizierungs-Code aus der Authy-App an, die auf Ihrem Gerät installiert ist:" -#: src/jade/tabs/login/form.jade:22 +#: src/jade/tabs/login/form.jade:23 msgid "Resend" msgstr "Erneut senden" -#: src/jade/tabs/login/form.jade:23 src/jade/tabs/security.jade:95 +#: src/jade/tabs/login/form.jade:24 src/jade/tabs/security.jade:105 msgid "Send Via SMS" msgstr "Via SMS senden" -#: src/jade/tabs/login/form.jade:29 +#: src/jade/tabs/login/form.jade:30 msgid "Remember me on this device for 30 days" msgstr "An diesem Gerät für 30 Tage angemeldet bleiben" -#: src/jade/tabs/migrate.jade:5 src/jade/tabs/register.jade:10 -#: src/jade/tabs/register.jade:116 src/jade/tabs/register.jade:159 +#: src/jade/tabs/migrate.jade:10 src/jade/tabs/register.jade:17 +#: src/jade/tabs/register.jade:142 src/jade/tabs/register.jade:189 msgid "Migrate" msgstr "Portieren" -#: src/jade/tabs/migrate.jade:6 +#: src/jade/tabs/migrate.jade:11 msgid "" "To begin migration, enter the name and passphrase used to encrypt your " "ripple.com/client wallet below. After migration, you will no longer be able " "to login on ripple.com/client." msgstr "Um mit der Umstellung zu beginnen, geben Sie unten den Namen und die Passphrase ein, mit der Ihre Brieftasche von ripple.com/client verschlüsselt ist. Nach der Umstellung können Sie sich nicht mehr bei ripple.com/client anmelden." -#: src/jade/tabs/migrate.jade:10 +#: src/jade/tabs/migrate.jade:15 msgid "Existing ripple.com/client Wallet name" msgstr "Name der bestehenden Brieftasche bei ripple.com/client" -#: src/jade/tabs/migrate.jade:13 +#: src/jade/tabs/migrate.jade:18 msgid "Passphrase" msgstr "Passphrase" -#: src/jade/tabs/migrate.jade:25 +#: src/jade/tabs/migrate.jade:31 msgid "Begin Migration" msgstr "Umstellung beginnen" -#: src/jade/tabs/migrate.jade:28 +#: src/jade/tabs/migrate.jade:32 +msgid "New to {{productName}}? {{1:Sign Up}}" +msgstr "Neu bei {{productName}}? {{1:Registrieren}}" + +#: src/jade/tabs/migrate.jade:34 msgid "Have a {{productName}} account? {{1:Log In}}" msgstr "Sie haben ein Konto bei {{productName}}? {{1:Anmelden}}" -#: src/jade/tabs/recover.jade:7 -msgid "" -"You can only recover your Ripple Trade account with a secret key. You will " -"recover the account's Ripple name, contacts and other information." -msgstr "Sie können Ihr Ripple Trade-Konto nur mit einem geheimen Schlüssel wiederherstellen. Wiederhergestellt werden der Ripple-Name des Kontos, die Kontakte und weitere Informationen." +#: src/jade/tabs/mxn.jade:38 +msgid "Mexican Peso Deposit" +msgstr "" -#: src/jade/tabs/recover.jade:9 src/jade/tabs/recover.jade:28 -msgid "Ripple Name" -msgstr "Ripple Name" +#: src/jade/tabs/mxn.jade:42 +msgid "Bitso (~bitso) {{1}}{{2}}" +msgstr "" -#: src/jade/tabs/recover.jade:14 +#: src/jade/tabs/mxn.jade:47 +msgid "All countries except the US" +msgstr "" + +#: src/jade/tabs/mxn.jade:58 +msgid "" +"Ripple Trade has partnered with Bitso to provide easy access to MXN (Mexican" +" Peso). By continuing, you agree with Bitso’s terms of service. Following " +"this action will enable Bitso to hold MXN on your behalf." +msgstr "" + +#: src/jade/tabs/mxn.jade:80 +msgid "TO FUND/REDEEM MEXICAN PESO:" +msgstr "" + +#: src/jade/tabs/mxn.jade:82 +msgid "Register or login at {{1}}to initiate deposits and withdrawals." +msgstr "" + +#: src/jade/tabs/mxn.jade:86 +msgid "" +"A valid, non-US, state-issued ID (passport, driver's license, etc)." +msgstr "" + +#: src/jade/tabs/mxn.jade:87 +msgid "" +"Proof of address (utility bill or other type of bill that has your address " +"on it). Verification is required for peso deposits or withdrawals." +msgstr "" + +#: src/jade/tabs/mxn.jade:89 +msgid "" +"To fund your Ripple account, see the below options. Once a balance is " +"deposited with Bitso, you can send it to your Ripple account using the Bitso" +" Dashboard." +msgstr "" + +#: src/jade/tabs/mxn.jade:90 +msgid "" +"To withdraw from your Ripple account, click on the 'Redeem from Ripple' " +"button on the Bitso Dashboard." +msgstr "" + +#: src/jade/tabs/mxn.jade:92 src/jade/tabs/usd.jade:89 +msgid "DEPOSIT OPTIONS" +msgstr "" + +#: src/jade/tabs/mxn.jade:94 +msgid "Bitso accepts deposits by the following methods:" +msgstr "" + +#: src/jade/tabs/mxn.jade:96 src/jade/tabs/mxn.jade:106 +msgid "Bank Wire" +msgstr "" + +#: src/jade/tabs/mxn.jade:97 src/jade/tabs/mxn.jade:107 +msgid "SPEI (Mexican instant inter-bank transfer)" +msgstr "" + +#: src/jade/tabs/mxn.jade:98 src/jade/tabs/mxn.jade:108 +msgid "Bitcoin" +msgstr "" + +#: src/jade/tabs/mxn.jade:99 +msgid "MXN Cash (at locations across Mexico)" +msgstr "" + +#: src/jade/tabs/mxn.jade:100 +msgid "Pademobile wallet" +msgstr "" + +#: src/jade/tabs/mxn.jade:102 src/jade/tabs/usd.jade:99 +msgid "WITHDRAWAL OPTIONS" +msgstr "" + +#: src/jade/tabs/mxn.jade:104 +msgid "Bitso offers withdrawals via the following methods:" +msgstr "" + +#: src/jade/tabs/recover.jade:11 +msgid "" +"You can only recover your Ripple Trade account with a secret key. You will " +"recover the account's Ripple name, contacts and other information." +msgstr "Sie können Ihr Ripple Trade-Konto nur mit einem geheimen Schlüssel wiederherstellen. Wiederhergestellt werden der Ripple-Name des Kontos, die Kontakte und weitere Informationen." + +#: src/jade/tabs/recover.jade:13 src/jade/tabs/recover.jade:33 +msgid "Ripple Name" +msgstr "Ripple Name" + +#: src/jade/tabs/recover.jade:18 msgid "Secret Key" msgstr "Geheimschlüssel" -#: src/jade/tabs/recover.jade:17 +#: src/jade/tabs/recover.jade:21 msgid "Unable to recover account." msgstr "Fehler beim Wiederherstellen des Kontos." -#: src/jade/tabs/recover.jade:22 src/jade/tabs/register.jade:74 +#: src/jade/tabs/recover.jade:27 src/jade/tabs/register.jade:95 msgid "Recover Account" msgstr "Konto wiederherstellen" -#: src/jade/tabs/recover.jade:24 src/jade/tabs/recover.jade:50 +#: src/jade/tabs/recover.jade:29 src/jade/tabs/recover.jade:56 msgid "Set Password" msgstr "Kennwort setzen" -#: src/jade/tabs/recover.jade:26 +#: src/jade/tabs/recover.jade:31 msgid "" "Your account was sucessfully recovered. Please re-encrypt your account with " "a new password." msgstr "Ihr Konto wurde erfolgreich wiederhergestellt. Bitte verschlüsseln Sie Ihr Konto neu, indem Sie ein neues Kennwort setzen." -#: src/jade/tabs/recover.jade:36 src/jade/tabs/register.jade:45 -#: src/jade/tabs/security.jade:119 +#: src/jade/tabs/recover.jade:41 src/jade/tabs/register.jade:62 +#: src/jade/tabs/security.jade:132 msgid "" "Your password is weak. It does not contain numbers and symbols or it is too " "short." msgstr "Ihr Kennwort ist schwach. Es enthält keine Ziffern oder Sonderzeichen oder ist zu kurz." -#: src/jade/tabs/recover.jade:38 src/jade/tabs/register.jade:47 -#: src/jade/tabs/security.jade:121 +#: src/jade/tabs/recover.jade:43 src/jade/tabs/register.jade:65 +#: src/jade/tabs/security.jade:134 msgid "" "Your Ripple name and password cannot match. Please create a new password." msgstr "Ihr Ripple-Name und Ihr Kennwort dürfen nicht identisch sein. Bitte erstellen Sie ein neues Kennwort." -#: src/jade/tabs/recover.jade:45 +#: src/jade/tabs/recover.jade:45 src/jade/tabs/register.jade:67 +#: src/jade/tabs/security.jade:136 +msgid "Confirm password" +msgstr "Kennwort bestätigen" + +#: src/jade/tabs/recover.jade:48 src/jade/tabs/register.jade:71 +#: src/jade/tabs/security.jade:139 +msgid "Passwords do not match" +msgstr "Die Passwörter stimmen nicht überein" + +#: src/jade/tabs/recover.jade:50 msgid "Unable to change your account password." msgstr "Fehler beim Ändern Ihres Konto-Kennworts." -#: src/jade/tabs/recover.jade:49 +#: src/jade/tabs/recover.jade:55 msgid "Updating..." msgstr "Wird aktualisiert…" -#: src/jade/tabs/recover.jade:51 +#: src/jade/tabs/recover.jade:57 msgid "Remember your password? {{1:Log In}}" msgstr "Sie erinnern sich an Ihr Kennwort? {{1:Anmelden}}" -#: src/jade/tabs/register.jade:5 -msgid "" -"Ripple Trade is the only platform where you can trade between stores of " -"value spanning fiat, crypto, precious metals and more." -msgstr "Ripple Trade ist die einzige Plattform, bei der Sie Wertspeicher wie Rechengeld, verschlüsselten Währungen, wertvollen Metallen und mehr, gegeneinander wechseln können." - -#: src/jade/tabs/register.jade:9 src/jade/tabs/register.jade:90 -#: src/jade/tabs/register.jade:115 src/jade/tabs/register.jade:158 +#: src/jade/tabs/register.jade:13 src/jade/tabs/register.jade:109 +#: src/jade/tabs/register.jade:141 src/jade/tabs/register.jade:188 msgid "Sign Up" msgstr "Registrieren" -#: src/jade/tabs/register.jade:12 src/jade/tabs/register.jade:14 -#: src/jade/tabs/register.jade:16 src/jade/tabs/register.jade:120 -#: src/jade/tabs/register.jade:122 src/jade/tabs/register.jade:161 -#: src/jade/tabs/register.jade:163 src/jade/tabs/register.jade:165 +#: src/jade/tabs/register.jade:19 src/jade/tabs/register.jade:21 +#: src/jade/tabs/register.jade:23 src/jade/tabs/register.jade:146 +#: src/jade/tabs/register.jade:148 src/jade/tabs/register.jade:191 +#: src/jade/tabs/register.jade:193 src/jade/tabs/register.jade:195 msgid "Step {{1}}" msgstr "Schritt {{1}}" -#: src/jade/tabs/register.jade:19 +#: src/jade/tabs/register.jade:26 msgid "Create Ripple name" msgstr "Ripple-Namen erstellen" -#: src/jade/tabs/register.jade:20 +#: src/jade/tabs/register.jade:27 msgid "" "Please choose a Ripple name below. You will use this Ripple name to login to" " Ripple Trade, so remember it! Ripple names are unique and public, like your" " current Ripple address. {{1}}" msgstr "Bitte wählen Sie unten einen Ripple-Namen. Sie verwenden diesen Ripple-Namen, um sich bei Ripple Trade anzumelden, merken Sie ihn sich also! Ripple-Namen sind eindeutig und öffentlich, so wie Ihre aktuelle Ripple-Adresse. {{1}}" -#: src/jade/tabs/register.jade:21 +#: src/jade/tabs/register.jade:28 msgid "Learn More" msgstr "Mehr erfahren" -#: src/jade/tabs/register.jade:36 +#: src/jade/tabs/register.jade:41 +msgid "Reserved for {{usernameReservedFor}}" +msgstr "" + +#: src/jade/tabs/register.jade:43 +msgid "" +"This name belongs to a high-traffic website and has been reserved to prevent" +" phishing." +msgstr "" + +#: src/jade/tabs/register.jade:49 msgid "You can only use the following characters: a-z, 0-9 and hyphens (-)" msgstr "Sie können nur die folgenden Zeichen verwenden: a-z, 0-9 und Bindestrich (-)" -#: src/jade/tabs/register.jade:39 +#: src/jade/tabs/register.jade:55 msgid "Cannot use hyphens in a row (--)" msgstr "Aufeinanderfolgende Bindestriche (--) sind nicht erlaubt" -#: src/jade/tabs/register.jade:60 +#: src/jade/tabs/register.jade:80 msgid "Email address is invalid" msgstr "Ihre E-Mail-Adresse ist ungültig" -#: src/jade/tabs/register.jade:62 src/jade/tabs/security.jade:138 +#: src/jade/tabs/register.jade:82 src/jade/tabs/security.jade:151 msgid "Secret key" msgstr "Geheimer Schlüssel" -#: src/jade/tabs/register.jade:63 src/jade/tabs/send.jade:50 -#: src/jade/tabs/trade.jade:331 src/jade/tabs/trade.jade:337 +#: src/jade/tabs/register.jade:83 src/jade/tabs/send.jade:43 +#: src/jade/tabs/trade.jade:441 msgid "hide" msgstr "verstecken" -#: src/jade/tabs/register.jade:67 +#: src/jade/tabs/register.jade:88 msgid "Secret Account Key is invalid" msgstr "Geheimer Konto-Schlüssel ist ungültig" -#: src/jade/tabs/register.jade:69 +#: src/jade/tabs/register.jade:90 msgid "" "The account ~{{1}}{{2}} has already been created using this secret key." msgstr "Das Konto ~{{1}}{{2}} wurde bereits mit diesem geheimen Schlüssel angelegt." -#: src/jade/tabs/register.jade:75 -msgid "Need to use your secret key? {{1}}" -msgstr "Sie müssen Ihren geheimen Schlüssel verwenden? {{1}}" - -#: src/jade/tabs/register.jade:77 -msgid "Use key" -msgstr "Schlüssel verwenden" - -#: src/jade/tabs/register.jade:80 -msgid "I agree to the {{productName}} {{1:end-user license agreement}}" -msgstr "Ich akzeptiere den {{1:Endbenutzer-Lizenzvertrag}} von {{productName}}" +#: src/jade/tabs/register.jade:98 +msgid "I agree to the {{productName}} {{1:Terms of Use}}" +msgstr "" -#: src/jade/tabs/register.jade:83 +#: src/jade/tabs/register.jade:101 msgid "" "Please see our {{1}} to see how we collect, use and share information about " "you" msgstr "Bitte lesen Sie unsere {{1}}, um zu erfahren, wie wir Informationen über Sie sammeln, verwenden und weitergeben" -#: src/jade/tabs/register.jade:91 +#: src/jade/tabs/register.jade:110 msgid "Migrate Account" msgstr "Konto portieren" -#: src/jade/tabs/register.jade:100 +#: src/jade/tabs/register.jade:111 +msgid "Need to use your secret key? {{1}}" +msgstr "Sie müssen Ihren geheimen Schlüssel verwenden? {{1}}" + +#: src/jade/tabs/register.jade:113 +msgid "Use key" +msgstr "Schlüssel verwenden" + +#: src/jade/tabs/register.jade:121 msgid "An error occurred during registration. Please try again later." msgstr "Während der Registrierung ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut." -#: src/jade/tabs/register.jade:101 +#: src/jade/tabs/register.jade:122 msgid "The reported error was: {{1}}" msgstr "Der gemeldete Fehler war: {{1}}" -#: src/jade/tabs/register.jade:109 +#: src/jade/tabs/register.jade:131 msgid "" "There is already a wallet using this username, please choose a different " "username and try again." msgstr "Es existiert schon eine Brieftasche mit diesem Nutzernamen, bitte wählen Sie einen anderen Nutzernamen und versuchen Sie es erneut." -#: src/jade/tabs/register.jade:124 +#: src/jade/tabs/register.jade:150 msgid "" "By proceeding, you understand that Ripple Trade does not provide a password " "or secret key recovery mechanism. If you forget your Ripple name/password " "and secret key, you will be unable to access this Ripple account." msgstr "Indem Sie fortfahren, verstehen Sie, dass Ripple Trade keinen Mechanismus zur Wiederherstellung Ihres Kennworts oder Ihres geheimen Schlüssels bereitstellt. Falls Sie sowohl Ihren Ripple-Namen/Ihr Kennwort als auch Ihren geheimen Schlüssel vergessen, können Sie nicht mehr auf dieses Ripple-Konto zugreifen." -#: src/jade/tabs/register.jade:129 +#: src/jade/tabs/register.jade:155 msgid "" "You are now migrating your account- meaning you'll no longer be able to " "access your account from ripple.com/client. You will retain all of your " @@ -1785,907 +2531,1123 @@ msgid "" "continue your migration." msgstr "Sie stellen Ihr Konto jetzt um. Das bedeutet, dass Sie nicht länger über ripple.com/client darauf zugreifen können. Sämtliche Kontostände, Kontakte und der Kontoverlauf bleiben erhalten. Ihr Konto verwendet den gleichen geheimen Schlüssel wie zuvor. Wenn Sie Ihren geheimen Schlüssel bereits gesichert haben, fahren Sie bitte mit der Umstellung fort." -#: src/jade/tabs/register.jade:136 +#: src/jade/tabs/register.jade:162 msgid "" "The secret key unlocks access to all your account funds in the event you " "lose your Ripple name or password. Please write it down and store it " "somewhere private and safe. {{1:Read more}} about keys and wallet safety." msgstr "Der geheime Schlüssel entsperrt den Zugriff auf sämtliches Konto-Guthaben für den Fall, dass Sie Ihren Ripple-Namen oder Ihr Kennwort verlieren. Bitte schreiben Sie ihn auf und bewahren ihn an einem privaten und sicheren Ort auf. {{1:Mehr erfahren}} über Schlüssel und die Sicherheit der Brieftasche." -#: src/jade/tabs/register.jade:141 +#: src/jade/tabs/register.jade:167 msgid "" "If you have not saved your secret key, please write it down and store it " "somewhere private and safe. In the event you lose your Ripple name or " "password, you can use this secret key to recover your funds." msgstr "Falls Sie Ihren geheimen Schlüssel nicht gesichert haben, notieren Sie ihn und bewahren Sie ihn an einem privaten und sicheren Ort auf. Für den Fall, dass Sie Ihren Ripple-Namen oder Ihr Kennwort verlieren, können Sie diesen geheimen Schlüssel nutzen, um Ihr Guthaben wiederherzustellen" -#: src/jade/tabs/register.jade:154 +#: src/jade/tabs/register.jade:176 +msgid "Show secret key" +msgstr "Sicherheitsschlüssel anzeigen" + +#: src/jade/tabs/register.jade:177 +msgid "Hide secret key" +msgstr "Sicherheitsschlüssel verbergen" + +#: src/jade/tabs/register.jade:180 msgid "Continue to email verification" msgstr "Weiter zur E-Mail-Bestätigung" -#: src/jade/tabs/register.jade:167 +#: src/jade/tabs/register.jade:197 msgid "" "We’ve sent an email to {{1}}. To complete registration, click the link in " "the email." msgstr "Wir haben eine E-Mail an {{1}} gesendet. Um die Registrierung abzuschließen, klicken Sie auf den Link in der E-Mail." -#: src/jade/tabs/register.jade:170 +#: src/jade/tabs/register.jade:200 msgid "Email token has been resent." msgstr "E-Mail-Token wurde erneut gesendet." -#: src/jade/tabs/register.jade:173 +#: src/jade/tabs/register.jade:203 msgid "Email Address:" msgstr "E-Mail-Adresse:" -#: src/jade/tabs/register.jade:178 +#: src/jade/tabs/register.jade:210 msgid "Re-send Email" msgstr "E-Mail erneut senden" -#: src/jade/tabs/security.jade:5 +#: src/jade/tabs/security.jade:7 msgid "Active Session Timeout" msgstr "Zeitüberschreitung der aktiven Sitzung" -#: src/jade/tabs/security.jade:6 +#: src/jade/tabs/security.jade:8 msgid "" "To view or edit your security settings, you must currently have an active " "session." msgstr "Um Ihre Sicherheits-Einstellungen anzuzeigen oder zu bearbeiten, müssen Sie über eine momentan aktive Sitzung verfügen." -#: src/jade/tabs/security.jade:13 +#: src/jade/tabs/security.jade:16 msgid "Restore Session" msgstr "Sitzung wiederherstellen" -#: src/jade/tabs/security.jade:22 +#: src/jade/tabs/security.jade:25 msgid "Your Ripple password has been changed, please login again" msgstr "Ihr Ripple-Kennwort wurde geändert, bitte melden Sie sich erneut an." -#: src/jade/tabs/security.jade:24 +#: src/jade/tabs/security.jade:27 msgid "Couldn't change your Ripple password, please try again later." msgstr "Fehler beim Ändern Ihres Ripple-Kennworts, bitte versuchen Sie es später erneut." -#: src/jade/tabs/security.jade:27 +#: src/jade/tabs/security.jade:30 msgid "Changing your Ripple password..." msgstr "Ihr Ripple-Kennwort wird geändert" -#: src/jade/tabs/security.jade:28 +#: src/jade/tabs/security.jade:31 msgid "Your Ripple password has been changed successfully." msgstr "Ihr Ripple-Kennwort wurde erfolgreich geändert." -#: src/jade/tabs/security.jade:29 +#: src/jade/tabs/security.jade:32 msgid "Unable to load Two-factor authentication settings." msgstr "Fehler beim Laden der Einstellungen für die Zwei-Faktor-Authentifizierung." -#: src/jade/tabs/security.jade:30 +#: src/jade/tabs/security.jade:33 msgid "Error saving Two-factor authentication settings." msgstr "Fehler beim Speichern der Einstellungen für die Zwei-Faktor-Authentifizierung." -#: src/jade/tabs/security.jade:31 +#: src/jade/tabs/security.jade:34 msgid "The verification code is invalid." msgstr "Der Verifizierungs-Code ist ungültig." -#: src/jade/tabs/security.jade:32 +#: src/jade/tabs/security.jade:36 msgid "Two-factor authentication has been successfully enabled." msgstr "Die Zwei-Faktor-Authentifizierung wurde erfolgreich aktiviert." -#: src/jade/tabs/security.jade:33 +#: src/jade/tabs/security.jade:37 msgid "Two-factor authentication has been successfully disabled." msgstr "Die Zwei-Faktor-Authentifizierung wurde erfolgreich deaktiviert." +#: src/jade/tabs/security.jade:38 +msgid "Password protection has been successfully enabled." +msgstr "" + #: src/jade/tabs/security.jade:39 +msgid "Password protection has been successfully disabled." +msgstr "" + +#: src/jade/tabs/security.jade:45 msgid "Security settings" msgstr "Sicherheits-Einstellungen" -#: src/jade/tabs/security.jade:44 +#: src/jade/tabs/security.jade:51 msgid "Loading Two-factor authentication settings..." msgstr "Einstellungen für die Zwei-Faktor-Authentifizierung werden geladen" -#: src/jade/tabs/security.jade:47 +#: src/jade/tabs/security.jade:55 msgid "Enabled" msgstr "Aktiviert" -#: src/jade/tabs/security.jade:48 +#: src/jade/tabs/security.jade:56 msgid "Disabled" msgstr "Deaktiviert" -#: src/jade/tabs/security.jade:50 +#: src/jade/tabs/security.jade:58 msgid "disable" msgstr "deaktivieren" -#: src/jade/tabs/security.jade:52 +#: src/jade/tabs/security.jade:60 msgid "enable" msgstr "aktivieren" -#: src/jade/tabs/security.jade:58 +#: src/jade/tabs/security.jade:66 msgid "" "Authy is providing two-factor authentication for Ripple Trade. To enable " "two-factor authentication, you must share some information with Authy." msgstr "Authy stellt Zwei-Faktor-Authentifizierung für Ripple Trade bereit. Um die Zwei-Faktor-Authentifizierung zu aktivieren, müssen Sie einige Informationen für Authy freigeben." -#: src/jade/tabs/security.jade:61 +#: src/jade/tabs/security.jade:69 msgid "- Your email address:" msgstr "- Ihre E-Mail-Adresse:" -#: src/jade/tabs/security.jade:64 +#: src/jade/tabs/security.jade:72 msgid "- Your phone number:" msgstr "- Ihre Telefonnummer:" -#: src/jade/tabs/security.jade:66 +#: src/jade/tabs/security.jade:74 msgid "By proceeding, you agree to the Authy {{1: terms of service.}}" msgstr "Indem Sie fortfahren, akzeptieren Sie die Authy-{{1: Nutzungsbedingungen}}" -#: src/jade/tabs/security.jade:70 +#: src/jade/tabs/security.jade:78 msgid "Share" msgstr "Freigeben" -#: src/jade/tabs/security.jade:75 +#: src/jade/tabs/security.jade:84 msgid "Saving settings..." msgstr "Einstellungen werden gespeichert..." -#: src/jade/tabs/security.jade:76 +#: src/jade/tabs/security.jade:85 msgid "Disabling Two-factor authentication..." msgstr "Zwei-Faktor-Authentifizierung wird deaktiviert..." -#: src/jade/tabs/security.jade:77 +#: src/jade/tabs/security.jade:86 msgid "Enabling Two-factor authentication..." msgstr "Zwei-Faktor-Authentifizierung wird aktiviert..." -#: src/jade/tabs/security.jade:94 +#: src/jade/tabs/security.jade:104 msgid "Resend Code" msgstr "Code erneut senden" -#: src/jade/tabs/security.jade:99 +#: src/jade/tabs/security.jade:110 msgid "Enable" msgstr "Aktivieren" -#: src/jade/tabs/security.jade:103 +#: src/jade/tabs/security.jade:114 msgid "Ripple password" msgstr "Ripple-Kennwort" -#: src/jade/tabs/security.jade:116 +#: src/jade/tabs/security.jade:129 msgid "New password" msgstr "Neues Kennwort" -#: src/jade/tabs/security.jade:140 +#: src/jade/tabs/security.jade:153 msgid "" "Your secret key unlocks access to your account funds. Please write it down " "and store it somewhere private and safe. In the event you lose your Ripple " "name or password, you can use this secret key to recover your funds." msgstr "Ihr geheimer Schlüssel entsperrt den Zugriff auf Ihr Konto-Guthaben. Bitte notieren Sie ihn sich und bewahren Sie ihn an einem privaten und sicheren Ort auf. Für den Fall, dass Sie Ihren Ripple-Namen oder Ihr Kennwort verlieren, können Sie diesen sicheren Schlüssel verwenden, um Ihr Guthaben wiederherzustellen." -#: src/jade/tabs/security.jade:150 +#: src/jade/tabs/security.jade:165 msgid "Password protection for transactions" msgstr "Kennwortschutz für Transaktionen" -#: src/jade/tabs/security.jade:153 +#: src/jade/tabs/security.jade:168 msgid "" "If you turn off password requests, you’ll still need to enter your password " "after each page refresh." msgstr "Wenn Sie Kennwort-Anfragen deaktivieren, müssen Sie Ihr Kennwort trotzdem noch nach jedem Neu-Laden der Seite eingeben." -#: src/jade/tabs/security.jade:161 +#: src/jade/tabs/security.jade:176 msgid "Yes" msgstr "Ja" -#: src/jade/tabs/security.jade:162 +#: src/jade/tabs/security.jade:177 msgid "No" msgstr "Nein" +#: src/jade/tabs/security.jade:192 +msgid "Delete Ripple Trade account" +msgstr "" + +#: src/jade/tabs/security.jade:194 +msgid "" +"This deletes your Ripple Trade account. You will no longer be able to login " +"to Ripple Trade and your account data will be deleted. However, you can " +"still access your funds using your secret key." +msgstr "" + #: src/jade/tabs/send.jade:12 msgid "You have to be funded before you can send money" msgstr "Sie müssen finanziert werden, bevor Sie in der Lage sind, Geld zu senden" -#: src/jade/tabs/send.jade:19 src/jade/tabs/send.jade:32 +#: src/jade/tabs/send.jade:25 msgid "Recipient" msgstr "Empfänger" -#: src/jade/tabs/send.jade:24 src/jade/tabs/send.jade:37 +#: src/jade/tabs/send.jade:30 msgid "Please enter a recipient." msgstr "Bitte geben Sie einen Empfänger an." -#: src/jade/tabs/send.jade:26 +#: src/jade/tabs/send.jade:32 msgid "" "Recipient should be a Ripple name, a contact, or Ripple/Bitcoin address." msgstr "Empfänger sollte ein Ripple-Name, ein Kontakt, oder eine Ripple-/Bitcoin-Adresse sein." -#: src/jade/tabs/send.jade:28 src/jade/tabs/send.jade:41 +#: src/jade/tabs/send.jade:34 msgid "This email address is not Ripple-enabled." msgstr "Diese Email-Adresse ist nicht für Ripple aktiviert." -#: src/jade/tabs/send.jade:39 -msgid "Recipient should be a contact or Ripple/Bitcoin address." -msgstr "Empfänger sollte ein Kontakt oder eine Ripple-/Bitcoin-Adresse sein." - -#: src/jade/tabs/send.jade:45 +#: src/jade/tabs/send.jade:38 msgid "Show destination tag" msgstr "Zielmarker anzeigen" -#: src/jade/tabs/send.jade:54 +#: src/jade/tabs/send.jade:47 msgid "Destination cannot be blank." msgstr "Ziel darf nicht leer sein." -#: src/jade/tabs/send.jade:55 +#: src/jade/tabs/send.jade:48 msgid "" "Recipient requires a destination tag to be specified for the transaction. If" " you don't know the destination tag, please contact them before doing a " "transaction." msgstr "Der Empfänger verlangt einen Zielmarker für diese Transaktion. Falls Sie den korrekten Zielmarker nicht wissen, kontaktieren Sie bitte den Empfänger bevor Sie Geld senden." -#: src/jade/tabs/send.jade:60 +#: src/jade/tabs/send.jade:53 msgid "Source tag" msgstr "Ursprungsmarker" -#: src/jade/tabs/send.jade:63 +#: src/jade/tabs/send.jade:56 msgid "Invalid source tag" msgstr "Falscher Ursprungsmarker" -#: src/jade/tabs/send.jade:75 +#: src/jade/tabs/send.jade:59 +msgid "Invoice ID" +msgstr "" + +#: src/jade/tabs/send.jade:62 +msgid "Invoice ID must not be more than 64 characters long." +msgstr "" + +#: src/jade/tabs/send.jade:77 msgid "Recipient will receive" msgstr "Empfänger erhält" -#: src/jade/tabs/send.jade:86 +#: src/jade/tabs/send.jade:88 msgid "{{send.recipient | rpcontactname}} can't receive this currency." msgstr "{{send.recipient | rpcontactname}} kann diese Währung nicht empfangen." -#: src/jade/tabs/send.jade:90 +#: src/jade/tabs/send.jade:92 src/jade/tabs/trust.jade:102 msgid "Amount must be greater than zero." msgstr "Die Menge muss größer als Null sein." -#: src/jade/tabs/send.jade:91 +#: src/jade/tabs/send.jade:93 msgid "" -"This transaction exceeds your balance, you can send a max. of " -"{{account.max_spend | rpamount:{rel_precision: 0} }} XRP" -msgstr "Diese Transaktion überschreitet Ihr Guthaben, Sie können maximal {{account.max_spend | rpamount:{rel_precision: 0} }} XRP verwenden" +"You are either trying to send too little or too much XRP.Minimum amount is " +"0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "" -#: src/jade/tabs/send.jade:94 +#: src/jade/tabs/send.jade:97 msgid "" "Recipient does not allow XRP payments. Are you sure you want to send XRP " "anyway?" msgstr "Der Empfänger erlaubt keine XRP-Zahlungen. Sind Sie sicher, dass Sie trotzdem XRP senden möchten?" -#: src/jade/tabs/send.jade:96 +#: src/jade/tabs/send.jade:99 msgid "" "{{send.recipient | rpcontactname}}trusts you for {{send.trust_limit | " "rpamount}} {{send.trust_limit | rpcurrency}}." msgstr "{{send.recipient | rpcontactname}}vertraut Ihnen über {{send.trust_limit | rpamount}} {{send.trust_limit | rpcurrency}}." -#: src/jade/tabs/send.jade:100 +#: src/jade/tabs/send.jade:103 msgid "Send XRP" msgstr "XRP senden" -#: src/jade/tabs/send.jade:104 +#: src/jade/tabs/send.jade:107 msgid "" "Destination account is unfunded; send at least {{send.xrp_deficiency | " "rpamount}} XRP to fund it.{{1}}" msgstr "Das Zielkonto wurde noch nicht finanziert; Sie müssen mindestens {{send.xrp_deficiency | rpamount}} XRP senden um es zu finanzieren.{{1}}" -#: src/jade/tabs/send.jade:109 +#: src/jade/tabs/send.jade:114 msgid "Checking" msgstr "Untersuche" -#: src/jade/tabs/send.jade:111 +#: src/jade/tabs/send.jade:117 msgid "Analyzing address" msgstr "Analysiere adresse" -#: src/jade/tabs/send.jade:113 +#: src/jade/tabs/send.jade:120 msgid "Scanning accepted currencies" msgstr "Akzeptierte Währungen werden gesucht" -#: src/jade/tabs/send.jade:115 +#: src/jade/tabs/send.jade:123 msgid "Requesting quote" msgstr "Kosten abfragen" -#: src/jade/tabs/send.jade:117 +#: src/jade/tabs/send.jade:126 msgid "Calculating paths" msgstr "Berechne Pfade" -#: src/jade/tabs/send.jade:119 +#: src/jade/tabs/send.jade:129 msgid "Calculating alternatives" msgstr "Berechne Alternativen" -#: src/jade/tabs/send.jade:121 +#: src/jade/tabs/send.jade:130 msgid "" "You cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. " "Either your account has insufficient funds, or {{send.recipient}} doesn't " "accept {{send.currency}}." msgstr "Sie können nicht {{send.amount}} {{send.currency}} an {{send.recipient}} senden. Entweder verfügt Ihr Konto nicht über genügend Guthaben, oder {{send.recipient}} akzeptiert {{send.currency}} nicht." -#: src/jade/tabs/send.jade:125 +#: src/jade/tabs/send.jade:134 msgid "" "You cannot send {{send.amount}} {{send.currency}} to{{send.recipient}}. Your" " account has insufficient funds." msgstr "Sie können nicht {{send.amount}} {{send.currency}} an{{send.recipient}} senden. Ihr Konto hat nicht genug Guthaben." -#: src/jade/tabs/send.jade:128 +#: src/jade/tabs/send.jade:137 msgid "There are no valid currency choices for this destination." msgstr "Es gibt keine gültigen Währungen für dieses Ziel." -#: src/jade/tabs/send.jade:130 +#: src/jade/tabs/send.jade:139 msgid "Error while retrieving quote for outbound payment. {{1}}" msgstr "Fehler beim Empfangen der Quote für ausgehende Zahlung. {{1}}" -#: src/jade/tabs/send.jade:139 +#: src/jade/tabs/send.jade:148 msgid "You can send" msgstr "Sie könne folgendes senden" -#: src/jade/tabs/send.jade:141 +#: src/jade/tabs/send.jade:150 msgid "Or you can send" msgstr "Oder Sie senden folgendes" -#: src/jade/tabs/send.jade:155 +#: src/jade/tabs/send.jade:164 msgid "Send {{ alt.amount | rpcurrency }} {{1}}" msgstr "{{ alt.amount | rpcurrency }} senden {{1}}" -#: src/jade/tabs/send.jade:170 +#: src/jade/tabs/send.jade:181 msgid "Ripple is calculating a path for your payment." msgstr "Ripple berechnet den Pfad für Ihre Zahlung." -#: src/jade/tabs/send.jade:176 +#: src/jade/tabs/send.jade:186 msgid "You are sending {{1}} to" msgstr "Sie senden {{1}} an" -#: src/jade/tabs/send.jade:184 +#: src/jade/tabs/send.jade:194 msgid "Destination tag: {{send.dt}}" msgstr "Zielmarker: {{send.dt}}" -#: src/jade/tabs/send.jade:185 +#: src/jade/tabs/send.jade:195 msgid "They will receive" msgstr "Der Empfänger erhält" -#: src/jade/tabs/send.jade:188 +#: src/jade/tabs/send.jade:198 msgid "You will pay at most" msgstr "Sie werden maximal folgendes bezahlen" -#: src/jade/tabs/send.jade:194 +#: src/jade/tabs/send.jade:204 msgid "Are you sure?" msgstr "Sind Sie sicher?" -#: src/jade/tabs/send.jade:200 +#: src/jade/tabs/send.jade:210 msgid "Password required to unlock wallet" msgstr "Kennwort zum Entsperren der Brieftasche erforderlich" -#: src/jade/tabs/send.jade:224 src/jade/tabs/send.jade:252 +#: src/jade/tabs/send.jade:234 src/jade/tabs/send.jade:266 msgid "Contact saved!" msgstr "Kontakt gespeichert!" -#: src/jade/tabs/send.jade:226 src/jade/tabs/send.jade:254 +#: src/jade/tabs/send.jade:236 src/jade/tabs/send.jade:268 msgid "Add this address to contacts" msgstr "Füge diese Adresse der Kontaktliste hinzu" -#: src/jade/tabs/send.jade:230 src/jade/tabs/send.jade:258 +#: src/jade/tabs/send.jade:242 src/jade/tabs/send.jade:274 msgid "Name this user" msgstr "Name des Users" -#: src/jade/tabs/send.jade:236 src/jade/tabs/send.jade:265 -#: src/jade/tabs/trust.jade:283 +#: src/jade/tabs/send.jade:246 src/jade/tabs/send.jade:278 +msgid "This contact already exists, please choose another name." +msgstr "" + +#: src/jade/tabs/send.jade:250 src/jade/tabs/send.jade:283 +#: src/jade/tabs/trust.jade:233 msgid "Saving..." msgstr "Speichert..." -#: src/jade/tabs/send.jade:241 src/jade/tabs/send.jade:271 +#: src/jade/tabs/send.jade:255 src/jade/tabs/send.jade:289 msgid "Send another payment" msgstr "Eine weitere Zahlung durchführen" -#: src/jade/tabs/settings/navbar.jade:3 -msgid "Advanced" -msgstr "Erweitert" +#: src/jade/tabs/settings/navbar.jade:2 +msgid "Security" +msgstr "Sicherheit" + +#: src/jade/tabs/settingstrade.jade:12 +msgid "Trade settings" +msgstr "" + +#: src/jade/tabs/settingstrade.jade:14 +msgid "Trade currency pairs" +msgstr "" -#: src/jade/tabs/trade.jade:10 -msgid "Loading order book..." -msgstr "Orderbuch wird geladen…" +#: src/jade/tabs/trade.jade:12 src/jade/tabs/trade.jade:451 +msgid "Loading Order Book" +msgstr "" -#: src/jade/tabs/trade.jade:23 +#: src/jade/tabs/trade.jade:31 src/jade/tabs/widgets/markets.jade:24 msgid "flip" msgstr "umschalten" -#: src/jade/tabs/trade.jade:27 src/jade/tabs/trade.jade:35 -msgid "Base currency" -msgstr "Basiswährung" +#: src/jade/tabs/trade.jade:34 +msgid "add pair" +msgstr "" + +#: src/jade/tabs/trade.jade:37 +msgid "edit pairs" +msgstr "" + +#: src/jade/tabs/trade.jade:41 +msgid "Base Currency" +msgstr "" + +#: src/jade/tabs/trade.jade:44 +msgid "Base Gateway" +msgstr "" -#: src/jade/tabs/trade.jade:30 src/jade/tabs/trade.jade:41 -msgid "Change gateway" -msgstr "Gateway ändern" +#: src/jade/tabs/trade.jade:49 +msgid "Counter Currency" +msgstr "" -#: src/jade/tabs/trade.jade:38 src/jade/tabs/trade.jade:46 -msgid "Counter currency" -msgstr "Gegenwährung" +#: src/jade/tabs/trade.jade:52 +msgid "Counter Gateway" +msgstr "" -#: src/jade/tabs/trade.jade:50 +#: src/jade/tabs/trade.jade:57 +msgid "Add" +msgstr "" + +#: src/jade/tabs/trade.jade:60 msgid "Base currency issuer ({{order.first_currency | rpcurrency}})" msgstr "Ausgeber der Quell-Währung ({{order.first_currency | rpcurrency}})" -#: src/jade/tabs/trade.jade:55 +#: src/jade/tabs/trade.jade:63 +msgid "Ripple name or contact" +msgstr "" + +#: src/jade/tabs/trade.jade:65 msgid "Not a valid Ripple address or contact" msgstr "Keine gültige Ripple-Adresse oder Kontakt" -#: src/jade/tabs/trade.jade:60 +#: src/jade/tabs/trade.jade:70 msgid "Counter currency issuer ({{order.second_currency | rpcurrency}})" msgstr "Ausgeber der Ziel-Währung ({{order.second_currency | rpcurrency}})" -#: src/jade/tabs/trade.jade:65 +#: src/jade/tabs/trade.jade:75 msgid "Not a valid Ripple name or address" msgstr "Ripple-Name oder -Adresse ungültig" -#: src/jade/tabs/trade.jade:69 +#: src/jade/tabs/trade.jade:79 msgid "" -"You must select a gateway to trade currencies. Click the “Change gateway” " -"link above and enter the gateway's address or Ripple name. {{1:Find a " -"gateway.}}" -msgstr "Sie müssen ein Gateway auswählen, um Währungen zu wechseln. Klicken Sie oben auf den Link „Gateway ändern“ und geben Sie die Adresse oder den Ripple-Namen des Gateways ein. {{1:Ein Gateway finden.}}" +"To show an orderbook, choose from the dropdown above or click \"Add custom " +"pair\"." +msgstr "" -#: src/jade/tabs/trade.jade:79 +#: src/jade/tabs/trade.jade:86 msgid "Bid" msgstr "Angebot" -#: src/jade/tabs/trade.jade:84 +#: src/jade/tabs/trade.jade:91 msgid "Ask" msgstr "Nachfrage" -#: src/jade/tabs/trade.jade:89 +#: src/jade/tabs/trade.jade:96 msgid "Spread" msgstr "Streuung" -#: src/jade/tabs/trade.jade:94 +#: src/jade/tabs/trade.jade:101 msgid "Last price" msgstr "Letzter Preis" -#: src/jade/tabs/trade.jade:101 +#: src/jade/tabs/trade.jade:108 msgid "You have to be funded before you can trade" msgstr "Sie müssen finanziert werden, bevor Sie handeln können" -#: src/jade/tabs/trade.jade:108 +#: src/jade/tabs/trade.jade:115 msgid "Buy {{1}} {{order.first_currency | rpcurrency}}" msgstr "{{1}} kaufen {{order.first_currency | rpcurrency}}" -#: src/jade/tabs/trade.jade:111 +#: src/jade/tabs/trade.jade:118 msgid "Sell {{1}} {{order.first_currency | rpcurrency}}" msgstr "{{1}} verkaufen {{order.first_currency | rpcurrency}}" -#: src/jade/tabs/trade.jade:114 src/jade/tabs/trade.jade:123 +#: src/jade/tabs/trade.jade:121 src/jade/tabs/trade.jade:130 msgid "{{1}} available" msgstr "{{1}} verfügbar" -#: src/jade/tabs/trade.jade:137 +#: src/jade/tabs/trade.jade:144 msgid "Amount To Buy" msgstr "Zu kaufender Betrag" -#: src/jade/tabs/trade.jade:138 +#: src/jade/tabs/trade.jade:145 msgid "Amount To Sell" msgstr "Zu verkaufender Betrag" -#: src/jade/tabs/trade.jade:145 src/jade/tabs/trade.jade:160 -#: src/jade/tabs/trade.jade:175 +#: src/jade/tabs/trade.jade:152 src/jade/tabs/trade.jade:167 +#: src/jade/tabs/trade.jade:182 msgid "Required" msgstr "Erforderlich" -#: src/jade/tabs/trade.jade:147 src/jade/tabs/trade.jade:162 -#: src/jade/tabs/trade.jade:177 +#: src/jade/tabs/trade.jade:154 src/jade/tabs/trade.jade:169 +#: src/jade/tabs/trade.jade:184 msgid "Must be greater than zero" msgstr "Die Menge muss größer als Null sein." -#: src/jade/tabs/trade.jade:149 src/jade/tabs/trade.jade:164 -#: src/jade/tabs/trade.jade:179 -msgid "Minimum is a drop (0.000001) and maximum is 100 billion XRPs" -msgstr "Mindestbetrag: ein Drop (0.000001); Maximalbetrag: 100 Milliarden XRP" +#: src/jade/tabs/trade.jade:156 src/jade/tabs/trade.jade:171 +#: src/jade/tabs/trade.jade:186 +msgid "" +"Minimum amount of XRP you can send is a drop (0.000001) and the maximum is " +"100 billion XRPs." +msgstr "" -#: src/jade/tabs/trade.jade:153 +#: src/jade/tabs/trade.jade:160 msgid "Price of Each" msgstr "Preis von jeweils" -#: src/jade/tabs/trade.jade:168 +#: src/jade/tabs/trade.jade:175 msgid "Order Value (max)" msgstr "Bestellwert (max)" -#: src/jade/tabs/trade.jade:185 +#: src/jade/tabs/trade.jade:192 msgid "You are wanting to buy {{1}} for {{2}} ({{3}} per {{4}})" msgstr "Sie möchten {{1}} für {{2}} kaufen ({{3}} pro {{4}})" -#: src/jade/tabs/trade.jade:194 +#: src/jade/tabs/trade.jade:201 msgid "You are wanting to sell {{1}} for {{2}} ({{3}} per {{4}})" msgstr "Sie möchten {{1}} für {{2}} verkaufen ({{3}} pro {{4}})" -#: src/jade/tabs/trade.jade:206 +#: src/jade/tabs/trade.jade:213 msgid "Buy" msgstr "Kaufen" -#: src/jade/tabs/trade.jade:207 +#: src/jade/tabs/trade.jade:214 msgid "Sell" msgstr "Verkaufen" -#: src/jade/tabs/trade.jade:213 +#: src/jade/tabs/trade.jade:220 msgid "You do not have sufficient funds to create an order." msgstr "Sie haben nicht genug Mittel, um eine Order aufzugeben." -#: src/jade/tabs/trade.jade:218 -msgid "CAUTION: Your order is far off from the current market price." -msgstr "VORSICHT: Ihre Anweisung ist weit vom aktuellen Marktpreis entfernt." - -#: src/jade/tabs/trade.jade:220 +#: src/jade/tabs/trade.jade:225 msgid "" "You are about to create an order to {{1: buy}} {{2: " -"sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}" -msgstr "Sie erstellen gerade eine Anweisung, {{3}}{{4:für}}{{5}}{{6}}zu {{1: kaufen}} {{2: verkaufen}}{{7:Sind Sie sicher?}}" +"sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" +msgstr "" + +#: src/jade/tabs/trade.jade:242 +msgid "CAUTION: Your order is far off from the current market price." +msgstr "VORSICHT: Ihre Anweisung ist weit vom aktuellen Marktpreis entfernt." -#: src/jade/tabs/trade.jade:239 +#: src/jade/tabs/trade.jade:246 src/jade/tabs/trade.jade:407 msgid "« Back" msgstr "« Zurück" -#: src/jade/tabs/trade.jade:246 +#: src/jade/tabs/trade.jade:255 msgid "Sending order to Ripple network..." msgstr "Order wird an Ripple-Netzwerk gesendet..." -#: src/jade/tabs/trade.jade:252 +#: src/jade/tabs/trade.jade:261 msgid "Your order has been submitted." msgstr "Ihre Order wurde übermittelt." -#: src/jade/tabs/trade.jade:254 +#: src/jade/tabs/trade.jade:263 msgid "Your order is now active." msgstr "Ihre Order ist jetzt aktiv." -#: src/jade/tabs/trade.jade:256 -msgid "Your order is filled." -msgstr "Ihre Order wurde erfüllt." +#: src/jade/tabs/trade.jade:265 +msgid "Your order has been filled." +msgstr "" -#: src/jade/tabs/trade.jade:258 -msgid "Request has been denied." -msgstr "Anfrage wurde abgelehnt." +#: src/jade/tabs/trade.jade:267 +msgid "" +"Your order has been partially filled. The remaining amount is now active." +msgstr "" -#: src/jade/tabs/trade.jade:259 -msgid "We were unable to submit the request. Please try again later." -msgstr "Wir konnten Ihre Anfrage nicht an den Server übermitteln. Bitte versuchen Sie es später erneut." +#: src/jade/tabs/trade.jade:276 +msgid "Submit another order" +msgstr "Eine weitere Order einreichen" -#: src/jade/tabs/trade.jade:261 -msgid "Request is malformed." -msgstr "Anfrage ist nicht korrekt formatiert." +#: src/jade/tabs/trade.jade:278 +msgid "My Orders{{1}}{{2}}" +msgstr "Meine Aufträge{{1}}{{2}}" -#: src/jade/tabs/trade.jade:262 -msgid "" -"Your request is invalid, reason: {{order[type].engine_result}} - " -"{{order[type].engine_result_message}}" -msgstr "Ihre Anfrage ist ungültig, Grund: {{order[type].engine_result}} - {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:287 +msgid "Your order has been modified." +msgstr "" -#: src/jade/tabs/trade.jade:265 src/jade/tabs/trade.jade:279 -msgid "Transaction failed." -msgstr "Transaktion gescheitert." +#: src/jade/tabs/trade.jade:289 +msgid "Your order #{{ cancelOrder.seq }} has been cancelled." +msgstr "" -#: src/jade/tabs/trade.jade:267 +#: src/jade/tabs/trade.jade:291 msgid "" -"You do not have enough {{(type == 'buy' ? order.second_currency : " -"order.first_currency) | rpcurrency}} to create this order." -msgstr "Sie haben nicht genug {{(type == 'buy' ? order.second_currency : order.first_currency) | rpcurrency}}, um diese Order zu erstellen." +"Your order could not be modified and no longer exists. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "" -#: src/jade/tabs/trade.jade:269 -msgid "" -"You must have at least {{account.reserve_to_add_trust | rpamount}} XRP to " -"submit an order. {{1}}" -msgstr "Sie benötigen mindestens {{account.reserve_to_add_trust | rpamount}} XRP, um eine Order zu übermittlen. {{1}}" +#: src/jade/tabs/trade.jade:293 +msgid "Unable to cancel order as it no longer exists." +msgstr "" -#: src/jade/tabs/trade.jade:271 -msgid "More information." -msgstr "Mehr Infos." +#: src/jade/tabs/trade.jade:295 +msgid "Modifying your order (Placing new order) ..." +msgstr "" -#: src/jade/tabs/trade.jade:272 -msgid "Error: {{order[type].engine_result_message}}" -msgstr "Fehler: {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:299 +msgid "Current pair only" +msgstr "" -#: src/jade/tabs/trade.jade:275 -msgid "Trade failed." -msgstr "Wechsel gescheitert." +#: src/jade/tabs/trade.jade:313 src/jade/tabs/widgets/orders.jade:24 +msgid "reverse" +msgstr "" -#: src/jade/tabs/trade.jade:277 -msgid "Trade failed, reason: {{order[type].engine_result_message}}" -msgstr "Handel fehlgeschlagen, Grund: {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:322 src/jade/tabs/widgets/orders.jade:33 +msgid "QTY{{1}}" +msgstr "" -#: src/jade/tabs/trade.jade:281 src/jade/tabs/trust.jade:45 -msgid "" -"The particular server you sent the transaction to was too busy to forward or" -" process your transaction at the fee you included in it." -msgstr "Der Server, an den die Transaktion gesendet wurde, ist im Moment zu beschäftigt, um sie für die inkludierte Gebühr weiterzuverarbeiten oder weiterzuleiten." +#: src/jade/tabs/trade.jade:324 src/jade/tabs/widgets/orders.jade:35 +msgid "Base{{1}}" +msgstr "" -#: src/jade/tabs/trade.jade:290 -msgid "Submit another order" -msgstr "Eine weitere Order einreichen" +#: src/jade/tabs/trade.jade:326 src/jade/tabs/widgets/orders.jade:37 +msgid "Counter{{1}}" +msgstr "" -#: src/jade/tabs/trade.jade:292 -msgid "My Orders{{1}}{{2}}" -msgstr "Meine Aufträge{{1}}{{2}}" +#: src/jade/tabs/trade.jade:328 src/jade/tabs/widgets/orders.jade:39 +msgid "Limit{{1}}" +msgstr "" -#: src/jade/tabs/trade.jade:299 -msgid "Type" -msgstr "Typ" +#: src/jade/tabs/trade.jade:334 +msgid "Action" +msgstr "Aktion" -#: src/jade/tabs/trade.jade:300 -msgid "Currencies {{1: (Issuer)}}" -msgstr "Währungen {{1: (Herausgeber)}}" +#: src/jade/tabs/trade.jade:360 src/jade/tabs/trade.jade:424 +msgid "TRADE CONFIRMATION" +msgstr "" -#: src/jade/tabs/trade.jade:302 -msgid "Price" -msgstr "Preis" +#: src/jade/tabs/trade.jade:362 +msgid "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" +msgstr "" -#: src/jade/tabs/trade.jade:304 -msgid "Action" -msgstr "Aktion" +#: src/jade/tabs/trade.jade:364 +msgid "" +"{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div" +" span.modal-order-type(l10n-inc) REMAIN: span remain data div span" +".modal-order-type(l10n-inc) PLACED: span time data" +msgstr "" -#: src/jade/tabs/trade.jade:313 +#: src/jade/tabs/trade.jade:371 msgid "with" msgstr "mit" -#: src/jade/tabs/trade.jade:314 +#: src/jade/tabs/trade.jade:372 msgid "for" msgstr "für" -# You haven't placed any orders. -#: src/jade/tabs/trade.jade:327 -msgid "You haven't placed any orders." -msgstr "Sie haben bisher keine Order gesetzt." +#: src/jade/tabs/trade.jade:376 +msgid "at" +msgstr "" -#: src/jade/tabs/trade.jade:329 -msgid "Unable to cancel order." -msgstr "Order konnte nicht abgebrochen werden." +#: src/jade/tabs/trade.jade:389 +msgid "Cancel order" +msgstr "" -#: src/jade/tabs/trade.jade:330 -msgid "Error: {{cancelError}}" -msgstr "Fehler: {{cancelError}}" +#: src/jade/tabs/trade.jade:390 src/jade/tabs/trade.jade:431 +msgid "back" +msgstr "" -#: src/jade/tabs/trade.jade:334 -msgid "Orderbook" -msgstr "Auftragsbuch" +#: src/jade/tabs/trade.jade:407 +msgid "" +"CAUTION: Your new order is far off from the current market price.
Do " +"you still want to replace your order ?" +msgstr "" + +#: src/jade/tabs/trade.jade:410 +msgid "Unable to cancel order. Error: {{entry.errorMsg}}" +msgstr "" + +#: src/jade/tabs/trade.jade:412 +msgid "" +"Your order amount has been updated by Ripple. Please go back and edit again " +"to modify this order." +msgstr "" + +#: src/jade/tabs/trade.jade:414 +msgid "" +"Your order could not be modified. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "" + +#: src/jade/tabs/trade.jade:415 +msgid "X" +msgstr "" + +#: src/jade/tabs/trade.jade:420 +msgid "cancel all" +msgstr "" -#: src/jade/tabs/trade.jade:336 +#: src/jade/tabs/trade.jade:426 +msgid "{{1:Please confirm that you wish to cancel all orders.}}" +msgstr "" + +#: src/jade/tabs/trade.jade:430 +msgid "Cancel all orders" +msgstr "" + +#: src/jade/tabs/trade.jade:433 src/jade/tabs/widgets/orders.jade:64 +msgid "No current orders. {{1}}" +msgstr "" + +#: src/jade/tabs/trade.jade:434 src/jade/tabs/widgets/orders.jade:65 +msgid "View orders history" +msgstr "" + +#: src/jade/tabs/trade.jade:437 +msgid "Orderbook{{1}}" +msgstr "" + +#: src/jade/tabs/trade.jade:440 msgid "show" msgstr "anzeigen" -#: src/jade/tabs/trade.jade:344 +#: src/jade/tabs/trade.jade:442 +msgid "Last updated {{1}} {{2: seconds}} {{3: second}} ago" +msgstr "" + +#: src/jade/tabs/trade.jade:458 msgid "Bids" msgstr "Angebote" -#: src/jade/tabs/trade.jade:346 src/jade/tabs/trade.jade:373 +#: src/jade/tabs/trade.jade:460 src/jade/tabs/trade.jade:487 msgid "Sum{{1}}{{2}}" msgstr "Summe{{1}}{{2}}" -#: src/jade/tabs/trade.jade:349 src/jade/tabs/trade.jade:370 +#: src/jade/tabs/trade.jade:463 src/jade/tabs/trade.jade:484 msgid "Size{{1}}{{2}}" msgstr "Größe{{1}}{{2}}" -#: src/jade/tabs/trade.jade:352 +#: src/jade/tabs/trade.jade:466 msgid "Bid Price{{1}}{{2}}" msgstr "Bid-preis{{1}}{{2}}" -#: src/jade/tabs/trade.jade:363 +#: src/jade/tabs/trade.jade:477 msgid "There are currently no bids for this pair." msgstr "Für dieses Paar gibt es momentan keine Angebote." -#: src/jade/tabs/trade.jade:365 +#: src/jade/tabs/trade.jade:479 msgid "Asks" msgstr "Nachfragen" -#: src/jade/tabs/trade.jade:367 +#: src/jade/tabs/trade.jade:481 msgid "Ask Price{{1}}{{2}}" msgstr "Ask-preis{{1}}{{2}}" -#: src/jade/tabs/trade.jade:384 +#: src/jade/tabs/trade.jade:498 msgid "There are currently no asks for this pair." msgstr "Es gibt momentan keine Nachfragen zu diesem Paar." -#: src/jade/tabs/trade.jade:387 +#: src/jade/tabs/trade.jade:501 msgid "No more orders" msgstr "Keine weiteren Aufträge" -#: src/jade/tabs/trust.jade:23 -msgid "Connecting a gateway to your Ripple account..." -msgstr "Gateway wird mit Ihrem Ripple-Konto verbunden…" - -#: src/jade/tabs/trust.jade:25 -msgid "Gateway connected." -msgstr "Gateway verbunden." - -#: src/jade/tabs/trust.jade:27 -msgid "Gateway could not be connected!" -msgstr "Gateway konnte nicht verbunden werden!" - -#: src/jade/tabs/trust.jade:28 src/jade/tabs/trust.jade:30 -msgid "There was a problem connecting the gateway. Please try again later." -msgstr "Beim Verbinden des Gateways ist ein Problem aufgetreten. Bitte versuchen Sie es später erneut." +#: src/jade/tabs/trust.jade:29 +msgid "Removing gateway..." +msgstr "Gateway wird entfernt..." #: src/jade/tabs/trust.jade:31 -msgid "" -"Your request is invalid, reason: {{engine_result}} - " -"{{engine_result_message}}" -msgstr "Ihre Anfrage ist ungültig, Grund: {{engine_result}} - {{engine_result_message}}" +msgid "Gateway removed." +msgstr "" #: src/jade/tabs/trust.jade:33 -msgid "Gateway connection failed!" -msgstr "Gateway-Verbindung fehlgeschlagen!" +msgid "Your changes have been saved." +msgstr "" #: src/jade/tabs/trust.jade:35 -msgid "You have no gateway connected in this currency." -msgstr "Sie haben kein Gateway in dieser Währung verbunden." - -#: src/jade/tabs/trust.jade:36 -msgid "Insufficient reserve to connect gateway." -msgstr "Reserve reicht zum Verbinden des Gateways nicht aus." - -#: src/jade/tabs/trust.jade:37 -msgid "" -"You must have at least {{account.reserve_to_add_trust | rpamount:0}} XRP to " -"connect a gateway. {{1}}" -msgstr "Sie müssen mindestens {{account.reserve_to_add_trust | rpamount:0}} XRP haben, um ein Gateway zu verbinden. {{1}}" +msgid "Request failed." +msgstr "" #: src/jade/tabs/trust.jade:39 -msgid "Read more." -msgstr "Lesen Sie mehr." - -#: src/jade/tabs/trust.jade:40 -msgid "Gateway connection failed to clear, reason: {{engine_result_message}}" -msgstr "Fehler beim Schließen der Gateway-Verbindung, Grund: {{engine_result_message}}" - -#: src/jade/tabs/trust.jade:43 -msgid "Transaction failed!" -msgstr "Transaktion fehlgeschlagen!" - -#: src/jade/tabs/trust.jade:53 -msgid "Saving changes..." -msgstr "Änderungen werden gespeichert..." +msgid "Account unlock failed." +msgstr "" #: src/jade/tabs/trust.jade:55 -msgid "Changes saved!" -msgstr "Änderungen gespeichert!" - -#: src/jade/tabs/trust.jade:57 src/jade/tabs/trust.jade:69 -msgid "There was an error while saving your changes." -msgstr "Beim Speichern Ihrer Änderungen ist ein Fehler aufgetreten." - -#: src/jade/tabs/trust.jade:65 -msgid "Removing gateway..." -msgstr "Gateway wird entfernt..." - -#: src/jade/tabs/trust.jade:67 -msgid "Gateway removed!" -msgstr "Gateway entfernt!" - -#: src/jade/tabs/trust.jade:72 src/jade/tabs/trust.jade:194 -msgid "You must have at least {{1}} to add a new trust line. {{2}}" -msgstr "Sie benötigen zumindest {{1}} um eine Vertrauenslinie hinzuzufügen. {{2}}" - -#: src/jade/tabs/trust.jade:82 msgid "Name / Address" msgstr "Name / Adresse" -#: src/jade/tabs/trust.jade:84 src/jade/tabs/trust.jade:130 +#: src/jade/tabs/trust.jade:57 src/jade/tabs/trust.jade:90 msgid "Currency" msgstr "Währung" -#: src/jade/tabs/trust.jade:87 +#: src/jade/tabs/trust.jade:60 msgid "Trust Limit" msgstr "Vertrauensgrenze" -#: src/jade/tabs/trust.jade:93 +#: src/jade/tabs/trust.jade:66 msgid "Gateway's Ripple name or address" msgstr "Ripple-Name oder Adresse des Gateways" -#: src/jade/tabs/trust.jade:162 +#: src/jade/tabs/trust.jade:100 +msgid "Amount field is required." +msgstr "" + +#: src/jade/tabs/trust.jade:115 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"connect to. More " +"information" +msgstr "" + +#: src/jade/tabs/trust.jade:125 msgid "" "{{1:You are connecting a gateway, which means}}{{2:{{ counterparty_address |" " rpripplename:{tilde: true} }} can:}}" msgstr "{{1:Sie verbinden ein Gateway. Das bedeutet,}}{{2:{{ counterparty_address | rpripplename:{tilde: true} }} kann:}}" -#: src/jade/tabs/trust.jade:165 +#: src/jade/tabs/trust.jade:128 msgid "{{1:- Hold up to }}{{2}} {{3: on your behalf}}" msgstr "{{1:- Bis zu }}{{2}} {{3: in Ihrem Auftrag halten}}" -#: src/jade/tabs/trust.jade:169 +#: src/jade/tabs/trust.jade:132 msgid "{{1:- Hold }}{{2}} {{3: on your behalf}}" msgstr "{{1:- In Ihrem Auftrag }}{{2}} {{3: halten}}" -#: src/jade/tabs/trust.jade:183 src/jade/tabs/trust.jade:186 -#: src/jade/tabs/trust.jade:189 src/jade/tabs/trust.jade:255 -#: src/jade/tabs/trust.jade:258 src/jade/tabs/trust.jade:261 -#: src/jade/tabs/trust.jade:288 src/jade/tabs/trust.jade:291 -#: src/jade/tabs/trust.jade:294 -msgid "Remove" -msgstr "Entfernen" - -#: src/jade/tabs/trust.jade:192 +#: src/jade/tabs/trust.jade:148 msgid "Verifying address" msgstr "Prüfe Adresse" -#: src/jade/tabs/trust.jade:201 +#: src/jade/tabs/trust.jade:151 msgid "" "Your account has to be {{1:activated}} before you can add a gateway account." msgstr "Ihr Konto muss {{1:aktiviert}} sein, bevor Sie ein Gateway-Konto hinzufügen können." -#: src/jade/tabs/trust.jade:209 +#: src/jade/tabs/trust.jade:159 msgid "Connect gateway" msgstr "Gateway verbinden" -#: src/jade/tabs/trust.jade:227 -msgid "Gateway" -msgstr "Gateway" - -#: src/jade/tabs/trust.jade:229 src/jade/tabs/trust.jade:271 +#: src/jade/tabs/trust.jade:169 src/jade/tabs/trust.jade:221 msgid "Limit" msgstr "Limit" -#: src/jade/tabs/trust.jade:230 +#: src/jade/tabs/trust.jade:170 msgid "Min" msgstr "Min" -#: src/jade/tabs/trust.jade:232 +#: src/jade/tabs/trust.jade:172 msgid "Edit" msgstr "Bearbeiten" -#: src/jade/tabs/trust.jade:245 +#: src/jade/tabs/trust.jade:188 msgid "Off" msgstr "Aus" -#: src/jade/tabs/trust.jade:246 +#: src/jade/tabs/trust.jade:189 msgid "On" msgstr "Ein" -#: src/jade/tabs/trust.jade:276 +#: src/jade/tabs/trust.jade:192 src/jade/tabs/trust.jade:201 +#: src/jade/tabs/trust.jade:206 src/jade/tabs/trust.jade:210 +#: src/jade/tabs/trust.jade:239 src/jade/tabs/trust.jade:244 +#: src/jade/tabs/trust.jade:248 +msgid "Incoming trust" +msgstr "" + +#: src/jade/tabs/trust.jade:192 +msgid "" +"You can't edit incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "" + +#: src/jade/tabs/trust.jade:200 src/jade/tabs/trust.jade:202 +#: src/jade/tabs/trust.jade:205 src/jade/tabs/trust.jade:207 +#: src/jade/tabs/trust.jade:209 src/jade/tabs/trust.jade:211 +#: src/jade/tabs/trust.jade:238 src/jade/tabs/trust.jade:240 +#: src/jade/tabs/trust.jade:243 src/jade/tabs/trust.jade:245 +#: src/jade/tabs/trust.jade:247 src/jade/tabs/trust.jade:249 +msgid "Remove" +msgstr "Entfernen" + +#: src/jade/tabs/trust.jade:201 src/jade/tabs/trust.jade:206 +#: src/jade/tabs/trust.jade:210 src/jade/tabs/trust.jade:239 +#: src/jade/tabs/trust.jade:244 src/jade/tabs/trust.jade:248 +msgid "" +"You can't delete incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "" + +#: src/jade/tabs/trust.jade:226 msgid "Rippling {{1}}" msgstr "{{1}} wird geripplet" -#: src/jade/tabs/tx.jade:3 +#: src/jade/tabs/tx.jade:5 msgid "Loading transaction details..." msgstr "Lade Transaktionsdetails..." -#: src/jade/tabs/tx.jade:5 +#: src/jade/tabs/tx.jade:7 msgid "An error occurred while loading the transaction details." msgstr "Ein Fehler ist während des ladens der Transaktionsdetails aufgetreten." -#: src/jade/tabs/tx.jade:8 +#: src/jade/tabs/tx.jade:10 msgid "Transaction #" msgstr "Transaktions #" -#: src/jade/tabs/tx.jade:11 -msgid "Show in graph" -msgstr "In Diagramm anzeigen" - -#: src/jade/tabs/tx.jade:13 +#: src/jade/tabs/tx.jade:15 msgid "Transaction type: {{1}}" msgstr "Transaktionstyp: {{1}}" -#: src/jade/tabs/tx.jade:20 +#: src/jade/tabs/tx.jade:22 msgid "Address sent from" msgstr "Adresse gesendet von" -#: src/jade/tabs/tx.jade:24 +#: src/jade/tabs/tx.jade:26 msgid "Amount sent" msgstr "Betrag gesendet" -#: src/jade/tabs/tx.jade:28 +#: src/jade/tabs/tx.jade:30 msgid "Currency sent" msgstr "Währung gesendet" -#: src/jade/tabs/tx.jade:33 +#: src/jade/tabs/tx.jade:35 msgid "Address sent to" msgstr "Adresse gesendet an" -#: src/jade/tabs/tx.jade:37 +#: src/jade/tabs/tx.jade:39 msgid "Amount received" msgstr "Betrag erhalten" -#: src/jade/tabs/tx.jade:41 +#: src/jade/tabs/tx.jade:43 msgid "Currency received" msgstr "Währung erhalten" -#: src/jade/tabs/tx.jade:48 +#: src/jade/tabs/tx.jade:50 msgid "Network fee paid" msgstr "Netzwerkgebühr bezahlt" -#: src/jade/tabs/tx.jade:60 +#: src/jade/tabs/tx.jade:62 msgid "Ledger number" msgstr "Ledger-Nummer" -#: src/jade/tabs/tx.jade:66 +#: src/jade/tabs/tx.jade:68 msgid "Address sent from:" msgstr "Quelladresse:" # Sorry, we don't have an info page layout for this transaction type yet. -#: src/jade/tabs/tx.jade:70 +#: src/jade/tabs/tx.jade:72 msgid "" "Sorry, we don't have an info page layout for this transaction type yet." msgstr "Entschuldigung, wir haben bisher keine Informationsseite zu diesem Transaktionstyp." +#: src/jade/tabs/usd.jade:35 +msgid "US Dollar Deposit" +msgstr "" + +#: src/jade/tabs/usd.jade:39 +msgid "SnapSwap US (~SnapSwap){{1}}{{2}}" +msgstr "" + +#: src/jade/tabs/usd.jade:45 +msgid "USA" +msgstr "" + +#: src/jade/tabs/usd.jade:48 +msgid "$ 0.31-$ 5.00" +msgstr "" + +#: src/jade/tabs/usd.jade:56 +msgid "" +"Ripple Trade has partnered with SnapSwap to provide easier access to USD. " +"Following this action will enable SnapSwap to hold USD on your behalf." +msgstr "" + +#: src/jade/tabs/usd.jade:73 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" +msgstr "" + +#: src/jade/tabs/usd.jade:74 +msgid "Register and verify your account at SnapSwap US. You will need: {{1}}" +msgstr "" + +#: src/jade/tabs/usd.jade:82 +msgid "EXISTING SNAPSWAP US CUSTOMERS" +msgstr "" + +#: src/jade/tabs/usd.jade:93 +msgid "Deposit instantly via selected banks" +msgstr "" + +#: src/jade/tabs/usd.jade:95 +msgid "Deposit cash at Bank of America branches (3 business days)" +msgstr "" + +#: src/jade/tabs/usd.jade:97 +msgid "Deposit via online bank transfer (3 business days)" +msgstr "" + +#: src/jade/tabs/usd.jade:103 +msgid "Directly to your bank account (3-4 business days)" +msgstr "" + +#: src/jade/tabs/usd.jade:105 +msgid "Directly to your PayPal account (several minutes)" +msgstr "" + +#: src/jade/tabs/widgets/assetallocation.jade:3 +msgid "Asset Allocation" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:3 +msgid "Balances" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:12 +msgid "Balance
{{ account.Balance | rpamount }} XRP" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:16 +msgid "Reserve" +msgstr "Rücklage" + +#: src/jade/tabs/widgets/balances.jade:18 +msgid "Reserve amount" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:18 +msgid "" +"Minimum amount of XRP required to fund your account. You cannot spend the " +"reserve." +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:20 +msgid "Reserve amount
{{ account.reserve | rpamount }} XRP" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Available amount" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Total amount of XRP in your account minus the reserve amount." +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:28 +msgid "Available amount
{{ account.max_spend | rpamount }} XRP" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:35 +msgid "" +"Balance
{{ entry.total | rpamount:{precision: 30, hard_precision: true} " +"}} {{ entry.total | rpcurrency }}" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:43 +msgid "" +"Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, " +"hard_precision: true} }} {{ entry.total | rpcurrency }}" +msgstr "" + +#: src/jade/tabs/widgets/markets.jade:3 +msgid "Markets" +msgstr "" + +#: src/jade/tabs/widgets/networth.jade:3 +msgid "Net Worth" +msgstr "" + +#: src/jade/tabs/widgets/networth.jade:8 +msgid "{{1:{{1:In}}}}{{2}}" +msgstr "" + +#: src/jade/tabs/widgets/networth.jade:14 +msgid "Estimated from latest trade price" +msgstr "Geschätzt vom neuesten Handelspreis" + +#: src/jade/tabs/widgets/networth.jade:23 +msgid "(excluding negative balances)" +msgstr "(exklusive negative Kontostände)" + +#: src/jade/tabs/widgets/orders.jade:3 +msgid "My Orders" +msgstr "" + +#: src/jade/tabs/widgets/orders.jade:68 +msgid "trade currencies" +msgstr "" + #: src/jade/tabs/xrp.jade:19 msgid "Ripple name: {{1}}{{2}}{{3}}" msgstr "Ripple-Name: {{1}}{{2}}{{3}}" @@ -2705,7 +3667,3 @@ msgid "" "full Ripple address, and while we are working to transition to Ripple names," " some gateways may still ask for your full address." msgstr "Ripple-Namen sind eine neue Funktion bei Ripple! Verwenden Sie Ihren Ripple-Namen (~{{userCredentials.username}}), um Geld zu empfangen. Sie können weiterhin Ihre volle Ripple-Adresse verwenden, und während wir an der Umstellung auf Ripple-Namen arbeiten, werden Sie von einigen Gateways möglicherweise immer noch nach Ihrer vollen Adresse gefragt." - -#: src/jade/tabs/xrp.jade:31 -msgid "Ripple address {{1}}" -msgstr "Ripple-Adresse {{1}}" diff --git a/l10n/en/messages.po b/l10n/en/messages.po index b992a5440..71a262978 100644 --- a/l10n/en/messages.po +++ b/l10n/en/messages.po @@ -1,2285 +1,3656 @@ -# #-#-#-#-# messages.pot #-#-#-#-# -# Generated by grunt-jade-l10n-extractor -# #-#-#-#-# messages.po (Ripple Client) #-#-#-#-# # Generated by grunt-jade-l10n-extractor # Translators: -#, fuzzy msgid "" msgstr "" -"#-#-#-#-# messages.pot #-#-#-#-#\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"#-#-#-#-# messages.po (Ripple Client) #-#-#-#-#\n" -"Project-Id-Version: Ripple Client\n" -"PO-Revision-Date: 2013-12-10 22:07+0000\n" -"Last-Translator: vhpoet \n" +"Project-Id-Version: Ripple Trade\n" +"PO-Revision-Date: 2015-01-14 09:50+0000\n" +"Last-Translator: Stefan Thomas \n" +"Language-Team: English (http://www.transifex.com/projects/p/ripple-trade/language/en/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: en\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/jade/client/status.jade:10 -msgid "logout" -msgstr "logout" +#: src/jade/client/index.jade:5 src/jade/client/navbar.jade:117 +#: src/jade/tabs/trust.jade:59 src/jade/tabs/trust.jade:168 +msgid "Balance" +msgstr "Balance" -#: src/jade/client/status.jade:12 -msgid "Loading your balance..." -msgstr "Loading your balance..." +#: src/jade/client/index.jade:7 src/jade/client/navbar.jade:119 +msgid "History" +msgstr "History" -#: src/jade/client/status.jade:14 -msgid "Unfunded account" -msgstr "Unfunded account" +#: src/jade/client/index.jade:8 src/jade/client/navbar.jade:121 +msgid "Contacts" +msgstr "Contacts" -#: src/jade/client/status.jade:26 src/jade/index.jade:29 -#: src/jade/menu/advanced.jade:7 src/jade/tabs/options.jade:4 -msgid "Options" -msgstr "Options" +#: src/jade/client/index.jade:12 src/jade/client/navbar.jade:21 +#: src/jade/tabs/contacts.jade:65 +msgid "Send" +msgstr "Send" -#: src/jade/directives/transactionerror.jade:4 src/jade/tabs/convert.jade:103 -#: src/jade/tabs/send.jade:223 src/jade/tabs/send.jade:218 -msgid "Your transaction has been submitted." -msgstr "Your transaction has been submitted." +#: src/jade/client/index.jade:16 +msgid "Convert" +msgstr "Convert" -#: src/jade/directives/transactionerror.jade:5 -msgid "Your account balance will update once the transaction has cleared." -msgstr "Your account balance will update once the transaction has cleared." +#: src/jade/client/index.jade:18 src/jade/client/navbar.jade:23 +#: src/jade/client/navbar.jade:25 src/jade/tabs/settings/navbar.jade:3 +msgid "Trade" +msgstr "Trade" -#: src/jade/directives/transactionerror.jade:7 src/jade/tabs/convert.jade:106 -#: src/jade/tabs/send.jade:226 src/jade/tabs/send.jade:221 -msgid "Transaction cleared!" -msgstr "Transaction cleared!" +#: src/jade/client/index.jade:22 src/jade/client/navbar.jade:27 +#: src/jade/client/navbar.jade:133 +msgid "Fund" +msgstr "Fund" -#: src/jade/directives/transactionerror.jade:9 src/jade/tabs/convert.jade:108 -#: src/jade/tabs/send.jade:228 src/jade/tabs/send.jade:223 -msgid "Transaction partially valid!" -msgstr "Transaction partially valid!" +#: src/jade/client/index.jade:24 src/jade/tabs/fund/menu.jade:29 +msgid "Gateways" +msgstr "Gateways" -#: src/jade/directives/transactionerror.jade:10 src/jade/tabs/convert.jade:109 -#: src/jade/tabs/send.jade:229 src/jade/tabs/send.jade:224 -msgid "Your transaction could only be partially applied." -msgstr "Your transaction could only be partially applied." +#: src/jade/client/index.jade:29 src/jade/client/navbar.jade:107 +#: src/jade/tabs/su.jade:12 +msgid "Account" +msgstr "Account" + +#: src/jade/client/index.jade:32 src/jade/client/navbar.jade:109 +#: src/jade/tabs/advanced.jade:19 +msgid "Settings" +msgstr "Settings" + +#: src/jade/client/index.jade:35 +msgid "Logout" +msgstr "Logout" + +#: src/jade/client/index.jade:61 +msgid "Why Use Ripple Trade?" +msgstr "Why Use Ripple Trade?" + +#: src/jade/client/index.jade:66 +msgid "Home of XRP -" +msgstr "Home of XRP -" + +#: src/jade/client/index.jade:67 +msgid "the best place to buy and sell XRP" +msgstr "the best place to buy and sell XRP" + +#: src/jade/client/index.jade:71 +msgid "Free -" +msgstr "Free -" + +#: src/jade/client/index.jade:72 +msgid "no fees to sign up and use Ripple Trade" +msgstr "no fees to sign up and use Ripple Trade" + +#: src/jade/client/index.jade:76 +msgid "No Middlemen -" +msgstr "No Middlemen -" + +#: src/jade/client/index.jade:77 +msgid "" +"When you submit orders, Ripple automatically finds the best available match," +" without a clearinghouse or broker." +msgstr "When you submit orders, Ripple automatically finds the best available match, without a clearinghouse or broker." + +#: src/jade/client/index.jade:81 +msgid "Deposit, trade and withdraw money on Ripple via gateways." +msgstr "Deposit, trade and withdraw money on Ripple via gateways." + +#: src/jade/client/index.jade:89 +msgid "Featured Ripple Gateways" +msgstr "Featured Ripple Gateways" + +#: src/jade/client/index.jade:91 +msgid "Ripple's growing gateway network." +msgstr "Ripple's growing gateway network." + +#: src/jade/client/index.jade:93 src/jade/client/index.jade:96 +#: src/jade/client/index.jade:99 src/jade/client/index.jade:102 +#: src/jade/client/index.jade:105 src/jade/client/index.jade:108 +#: src/jade/client/index.jade:111 src/jade/client/index.jade:114 +#: src/jade/client/index.jade:117 src/jade/tabs/banner/unfunded.jade:6 +#: src/jade/tabs/brl.jade:53 src/jade/tabs/brl.jade:57 +#: src/jade/tabs/brl.jade:93 src/jade/tabs/btc.jade:46 +#: src/jade/tabs/eur.jade:50 src/jade/tabs/eur.jade:54 +#: src/jade/tabs/eur.jade:86 src/jade/tabs/eur.jade:93 +#: src/jade/tabs/gold.jade:51 src/jade/tabs/jpy.jade:55 +#: src/jade/tabs/jpy.jade:91 src/jade/tabs/jpy.jade:97 +#: src/jade/tabs/mxn.jade:53 src/jade/tabs/send.jade:63 +#: src/jade/tabs/trade.jade:320 src/jade/tabs/usd.jade:51 +#: src/jade/tabs/usd.jade:83 src/jade/tabs/usd.jade:90 +#: src/jade/tabs/usd.jade:100 src/jade/tabs/widgets/orders.jade:31 +msgid "{{1}}" +msgstr "{{1}}" + +#: src/jade/client/index.jade:123 +msgid "Version: {{version}}" +msgstr "Version: {{version}}" + +#: src/jade/client/index.jade:128 +msgid "Terms of Use" +msgstr "Terms of Use" + +#: src/jade/client/index.jade:129 +msgid "Privacy Policy" +msgstr "Privacy Policy" + +#: src/jade/client/index.jade:130 +msgid "Support" +msgstr "Support" + +#: src/jade/client/index.jade:131 +msgid "Bug reports" +msgstr "Bug reports" + +#: src/jade/client/index.jade:138 +msgid "more..." +msgstr "more..." + +#: src/jade/client/index.jade:142 +msgid "Select a language" +msgstr "Select a language" + +#: src/jade/client/navbar.jade:2 +msgid "" +"You are viewing an account in {{1}} mode. While in this mode, you can view " +"publicly available data, but you cannot initiate any transactions. Click " +"{{2}} to exit." +msgstr "You are viewing an account in {{1}} mode. While in this mode, you can view publicly available data, but you cannot initiate any transactions. Click {{2}} to exit." + +#: src/jade/client/navbar.jade:8 +msgid "" +"Warning: this account has over 200 trust lines, so the displayed account " +"balance may not be accurate." +msgstr "Warning: this account has over 200 trust lines, so the displayed account balance may not be accurate." + +#: src/jade/client/navbar.jade:19 +msgid "Overview" +msgstr "Overview" + +#: src/jade/client/navbar.jade:49 src/jade/tabs/account/private.jade:7 +#: src/jade/tabs/account/private.jade:16 src/jade/tabs/account/public.jade:45 +#: src/jade/tabs/apps.jade:8 src/jade/tabs/btc.jade:72 +#: src/jade/tabs/exchange.jade:9 src/jade/tabs/kyc.jade:45 +#: src/jade/tabs/recover.jade:26 src/jade/tabs/security.jade:147 +#: src/jade/tabs/su.jade:8 src/jade/tabs/trust.jade:9 +#: src/jade/tabs/trust.jade:139 +msgid "Loading..." +msgstr "Loading..." -#: src/jade/directives/transactionerror.jade:12 -#: src/jade/directives/transactionerror.jade:17 src/jade/tabs/convert.jade:115 -#: src/jade/tabs/convert.jade:120 src/jade/tabs/send.jade:235 -#: src/jade/tabs/send.jade:240 src/jade/tabs/send.jade:230 -msgid "Transaction malformed!" -msgstr "Transaction malformed!" +#: src/jade/client/navbar.jade:50 +msgid "There are no recent notifications." +msgstr "There are no recent notifications." -#: src/jade/directives/transactionerror.jade:14 src/jade/tabs/convert.jade:117 -#: src/jade/tabs/send.jade:237 src/jade/tabs/send.jade:232 -msgid "" -"Your transaction is invalid, reason: {{engine_result}} - " -"{{engine_result_message}}" -msgstr "" -"Your transaction is invalid, reason: {{engine_result}} - " -"{{engine_result_message}}" +#: src/jade/client/navbar.jade:54 +msgid "You sent {{1}} to {{2}}" +msgstr "You sent {{1}} to {{2}}" + +#: src/jade/client/navbar.jade:60 +msgid "{{1}} sent you {{2}}" +msgstr "{{1}} sent you {{2}}" -#: src/jade/directives/transactionerror.jade:19 src/jade/tabs/convert.jade:122 -#: src/jade/tabs/send.jade:242 src/jade/tabs/send.jade:237 +#: src/jade/client/navbar.jade:68 +msgid "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" +msgstr "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" + +#: src/jade/client/navbar.jade:74 src/jade/notification/account.jade:25 +#: src/jade/tabs/history.jade:115 src/jade/tabs/history/effects.jade:63 +msgid "You have now connected to the gateway {{1}}{{2: for }}{{3}}." +msgstr "You have now connected to the gateway {{1}}{{2: for }}{{3}}." + +#: src/jade/client/navbar.jade:85 +msgid "You cancelled an order accepting {{1}} for {{2}}" +msgstr "You cancelled an order accepting {{1}} for {{2}}" + +#: src/jade/client/navbar.jade:92 src/jade/tabs/history.jade:138 +msgid "Account details have been changed" +msgstr "Account details have been changed" + +#: src/jade/client/navbar.jade:95 src/jade/tabs/history.jade:141 +#: src/jade/tabs/trust.jade:171 +msgid "Rippling" +msgstr "Rippling" + +#: src/jade/client/navbar.jade:97 src/jade/tabs/history.jade:143 +msgid "Failed transaction" +msgstr "Failed transaction" + +#: src/jade/client/navbar.jade:103 +msgid "View Full History" +msgstr "View Full History" + +#: src/jade/client/navbar.jade:111 +msgid "Log Out" +msgstr "Log Out" + +#: src/jade/client/navbar.jade:126 +msgid "Simple" +msgstr "Simple" + +#: src/jade/client/navbar.jade:128 src/jade/tabs/settings/navbar.jade:4 +msgid "Advanced" +msgstr "Advanced" + +#: src/jade/client/navbar.jade:135 +msgid "Withdraw" +msgstr "Withdraw" + +#: src/jade/client/navbar.jade:137 msgid "" -"Destination account requires destination tag to be specified when making " -"payments." -msgstr "" -"Destination account requires destination tag to be specified when making " -"payments." +"Your account was successfully recovered and encrypted with the new password " +"you provided!" +msgstr "Your account was successfully recovered and encrypted with the new password you provided!" + +#: src/jade/client/navbar.jade:138 +msgid "dismiss" +msgstr "dismiss" + +#: src/jade/directives/addresspopover.jade:3 +msgid "Ripple address {{ identity }}" +msgstr "Ripple address {{ identity }}" + +#: src/jade/directives/addresspopover.jade:8 src/jade/tabs/tx.jade:13 +msgid "Show in graph" +msgstr "Show in graph" -#: src/jade/directives/transactionerror.jade:22 +#: src/jade/directives/transactionerror.jade:8 +msgid "Connecting gateway to your account..." +msgstr "Connecting gateway to your account..." + +#: src/jade/directives/transactionerror.jade:10 +msgid "Gateway connected." +msgstr "Gateway connected." + +#: src/jade/directives/transactionerror.jade:12 +msgid "There was a problem connecting to the gateway. Please try again later." +msgstr "There was a problem connecting to the gateway. Please try again later." + +#: src/jade/directives/transactionerror.jade:14 +#: src/jade/directives/transactionerror.jade:73 +#: src/jade/directives/transactionerror.jade:158 +#: src/jade/messages/sendconvert/confirmation.jade:13 +msgid "Error code: {{engine_result}} - {{engine_result_message}}" +msgstr "Error code: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:19 +#: src/jade/directives/transactionerror.jade:23 #: src/jade/directives/transactionerror.jade:28 -#: src/jade/directives/transactionerror.jade:37 -#: src/jade/directives/transactionerror.jade:44 src/jade/tabs/convert.jade:125 -#: src/jade/tabs/convert.jade:134 src/jade/tabs/convert.jade:141 -#: src/jade/tabs/send.jade:245 src/jade/tabs/send.jade:251 -#: src/jade/tabs/send.jade:260 src/jade/tabs/trade.jade:194 -#: src/jade/tabs/trade.jade:208 src/jade/tabs/trust.jade:160 -#: src/jade/tabs/send.jade:240 src/jade/tabs/send.jade:246 -#: src/jade/tabs/send.jade:255 src/jade/tabs/trade.jade:190 -#: src/jade/tabs/trade.jade:204 -msgid "Transaction failed!" -msgstr "Transaction failed!" - -#: src/jade/directives/transactionerror.jade:24 src/jade/tabs/convert.jade:143 -#: src/jade/tabs/send.jade:247 src/jade/tabs/trade.jade:210 -#: src/jade/tabs/trust.jade:162 src/jade/tabs/send.jade:242 -#: src/jade/tabs/trade.jade:206 -msgid "" -"The particular server you sent the transaction to was too busy to forward or " -"process your transaction at the fee you included in it." -msgstr "" -"The particular server you sent the transaction to was too busy to forward or " -"process your transaction at the fee you included in it." +#: src/jade/directives/transactionerror.jade:33 +#: src/jade/directives/transactionerror.jade:45 +#: src/jade/directives/transactionerror.jade:52 +#: src/jade/directives/transactionerror.jade:156 +#: src/jade/directives/transactionerror.jade:163 +#: src/jade/directives/transactionerror.jade:167 +#: src/jade/directives/transactionerror.jade:172 +#: src/jade/directives/transactionerror.jade:177 +#: src/jade/directives/transactionerror.jade:186 +#: src/jade/directives/transactionerror.jade:193 +msgid "Request failed" +msgstr "Request failed" + +#: src/jade/directives/transactionerror.jade:21 +#: src/jade/directives/transactionerror.jade:165 +msgid "Your request timed out, please try again." +msgstr "Your request timed out, please try again." + +#: src/jade/directives/transactionerror.jade:25 +#: src/jade/directives/transactionerror.jade:84 +#: src/jade/directives/transactionerror.jade:169 +#: src/jade/messages/sendconvert/confirmation.jade:18 +msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." +msgstr "Error code: Destination tag needed [tefDST_TAG_NEEDED]." + +#: src/jade/directives/transactionerror.jade:30 +#: src/jade/directives/transactionerror.jade:174 +msgid "" +"Error code: This request failed because it exceeded the maximum network fee," +" please try again later [telINSUF_FEE_P]." +msgstr "Error code: This request failed because it exceeded the maximum network fee, please try again later [telINSUF_FEE_P]." + +#: src/jade/directives/transactionerror.jade:35 +msgid "" +"Error code: You have no gateway connected in this currency [terNO_LINE]." +msgstr "Error code: You have no gateway connected in this currency [terNO_LINE]." -#: src/jade/directives/transactionerror.jade:30 src/jade/tabs/convert.jade:127 -#: src/jade/tabs/send.jade:253 src/jade/tabs/send.jade:248 -msgid "The destination account does not exist." -msgstr "The destination account does not exist." +#: src/jade/directives/transactionerror.jade:37 +msgid "" +"Error code: Insufficient reserve to connect gateway [tecINSUF_RESERVE_LINE]." +msgstr "Error code: Insufficient reserve to connect gateway [tecINSUF_RESERVE_LINE]." -#: src/jade/directives/transactionerror.jade:32 src/jade/tabs/convert.jade:129 -#: src/jade/tabs/send.jade:255 src/jade/tabs/send.jade:250 +#: src/jade/directives/transactionerror.jade:39 msgid "" -"The destination account does not exist. Too little XRP sent to create it." -msgstr "" -"The destination account does not exist. Too little XRP sent to create it." +"Error code: You have an insufficient reserve amount to connect a gateway " +"[tecNO_LINE_INSUF_RESERVE]. {{1}}" +msgstr "Error code: You have an insufficient reserve amount to connect a gateway [tecNO_LINE_INSUF_RESERVE]. {{1}}" -#: src/jade/directives/transactionerror.jade:34 src/jade/tabs/convert.jade:131 -#: src/jade/tabs/send.jade:257 src/jade/tabs/send.jade:252 +#: src/jade/directives/transactionerror.jade:41 src/jade/tabs/fund.jade:34 +#: src/jade/tabs/send.jade:110 src/jade/tabs/trust.jade:74 +msgid "More information" +msgstr "More information" + +#: src/jade/directives/transactionerror.jade:42 +#: src/jade/directives/transactionerror.jade:98 +#: src/jade/directives/transactionerror.jade:135 +#: src/jade/directives/transactionerror.jade:183 +#: src/jade/messages/sendconvert/confirmation.jade:27 msgid "Error: {{engine_result_message}}" msgstr "Error: {{engine_result_message}}" -#: src/jade/directives/transactionerror.jade:39 src/jade/tabs/convert.jade:136 -#: src/jade/tabs/send.jade:262 src/jade/tabs/trust.jade:152 -#: src/jade/tabs/send.jade:257 -msgid "You have no trust line in this currency." -msgstr "You have no trust line in this currency." +#: src/jade/directives/transactionerror.jade:47 +#: src/jade/directives/transactionerror.jade:103 +#: src/jade/directives/transactionerror.jade:188 +#: src/jade/messages/sendconvert/confirmation.jade:32 +msgid "Error code: You have no trust line in this currency [terNO_LINE]." +msgstr "Error code: You have no trust line in this currency [terNO_LINE]." + +#: src/jade/directives/transactionerror.jade:49 +#: src/jade/directives/transactionerror.jade:190 +msgid "Your request failed: {{engine_result}} - {{engine_result_message}}" +msgstr "Your request failed: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:54 +#: src/jade/directives/transactionerror.jade:195 +msgid "Error code: request could not be submitted [tejLost]." +msgstr "Error code: request could not be submitted [tejLost]." -#: src/jade/directives/transactionerror.jade:41 +#: src/jade/directives/transactionerror.jade:56 +#: src/jade/directives/transactionerror.jade:197 src/jade/tabs/trust.jade:36 msgid "" -"Your transaction failed to clear: {{engine_result}} - " -"{{engine_result_message}}" -msgstr "" -"Your transaction failed to clear: {{engine_result}} - " +"This request failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "This request failed because the current network fee is higher than your account limit. You can adjust your maximum network fee in Settings > Advanced, or try again later.
Error code: Network fee exceeded [tejMaxFeeExceeded]." + +#: src/jade/directives/transactionerror.jade:59 +#: src/jade/directives/transactionerror.jade:200 +msgid "" +"Your request could not be submitted: {{engine_result}} - " "{{engine_result_message}}" +msgstr "Your request could not be submitted: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:67 +msgid "Payment pending" +msgstr "Payment pending" + +#: src/jade/directives/transactionerror.jade:69 +msgid "Payment successful" +msgstr "Payment successful" + +#: src/jade/directives/transactionerror.jade:71 +#: src/jade/directives/transactionerror.jade:82 +#: src/jade/directives/transactionerror.jade:87 +#: src/jade/directives/transactionerror.jade:92 +#: src/jade/directives/transactionerror.jade:101 +#: src/jade/directives/transactionerror.jade:108 +msgid "Payment failed" +msgstr "Payment failed" -#: src/jade/directives/transactionerror.jade:46 -msgid "Ripple client gave up trying to submit this transaction." -msgstr "Ripple client gave up trying to submit this transaction." +#: src/jade/directives/transactionerror.jade:78 +msgid "Payment failed [tefMAX_LEDGER]." +msgstr "Payment failed [tefMAX_LEDGER]." -#: src/jade/directives/transactionerror.jade:48 +#: src/jade/directives/transactionerror.jade:80 +msgid "Your payment timed out, please try again." +msgstr "Your payment timed out, please try again." + +#: src/jade/directives/transactionerror.jade:89 +#: src/jade/messages/sendconvert/confirmation.jade:39 +msgid "" +"Error code: This transaction failed because it exceeded the maximum network " +"fee, please try again later [telINSUF_FEE_P]." +msgstr "Error code: This transaction failed because it exceeded the maximum network fee, please try again later [telINSUF_FEE_P]." + +#: src/jade/directives/transactionerror.jade:94 +#: src/jade/directives/transactionerror.jade:179 +msgid "Error code: No destination [tecNO_DST]." +msgstr "Error code: No destination [tecNO_DST]." + +#: src/jade/directives/transactionerror.jade:96 +#: src/jade/directives/transactionerror.jade:181 +#: src/jade/messages/sendconvert/confirmation.jade:25 msgid "" -"Your transaction could not be submitted: {{engine_result}} - " +"Error code: Insufficient XRP sent to destination [tecNO_DST_INSUF_XRP]." +msgstr "Error code: Insufficient XRP sent to destination [tecNO_DST_INSUF_XRP]." + +#: src/jade/directives/transactionerror.jade:105 +msgid "Your payment failed: {{engine_result}} - {{engine_result_message}}" +msgstr "Your payment failed: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:110 +msgid "Error code: Transaction could not be submitted [tejLost]." +msgstr "Error code: Transaction could not be submitted [tejLost]." + +#: src/jade/directives/transactionerror.jade:112 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "This transaction failed because the current network fee is higher than your account limit. You can adjust your maximum network fee in Settings > Advanced, or try again later.
Error code: Network fee exceeded [tejMaxFeeExceeded]." + +#: src/jade/directives/transactionerror.jade:115 +msgid "" +"Your payment could not be submitted: {{engine_result}} - " "{{engine_result_message}}" -msgstr "" -"Your transaction could not be submitted: {{engine_result}} - " +msgstr "Your payment could not be submitted: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:121 +msgid "Request is malformed." +msgstr "Request is malformed." + +#: src/jade/directives/transactionerror.jade:122 +msgid "" +"Your request is invalid, reason: {{engine_result_message}} - " "{{engine_result_message}}" +msgstr "Your request is invalid, reason: {{engine_result_message}} - {{engine_result_message}}" -#: src/jade/index.jade:5 src/jade/index.jade:45 -msgid "Wallet" -msgstr "Wallet" +#: src/jade/directives/transactionerror.jade:125 +#: src/jade/directives/transactionerror.jade:142 +msgid "Transaction failed." +msgstr "Transaction failed." -#: src/jade/index.jade:6 src/jade/menu/wallet.jade:5 -#: src/jade/tabs/trust.jade:29 -msgid "Balance" -msgstr "Balance" +#: src/jade/directives/transactionerror.jade:127 +msgid "You do not have enough funds to create this order [tecUNFUNDED_ORDER]." +msgstr "You do not have enough funds to create this order [tecUNFUNDED_ORDER]." -#: src/jade/index.jade:7 src/jade/menu/wallet.jade:7 -msgid "History" -msgstr "History" +#: src/jade/directives/transactionerror.jade:129 +msgid "" +"Insufficient reserve amount to submit an order [tecINSUF_RESERVE_OFFER]." +msgstr "Insufficient reserve amount to submit an order [tecINSUF_RESERVE_OFFER]." -#: src/jade/index.jade:8 src/jade/menu/wallet.jade:9 -msgid "Contacts" -msgstr "Contacts" +#: src/jade/directives/transactionerror.jade:131 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]. {{1}}" +msgstr "This transaction failed because the current network fee is higher than your account limit. You can adjust your maximum network fee in Settings > Advanced, or try again later.
Error code: Network fee exceeded [tejMaxFeeExceeded]. {{1}}" -#: src/jade/index.jade:9 src/jade/menu/wallet.jade:11 -#: src/jade/tabs/convert.jade:43 -msgid "Convert" -msgstr "Convert" +#: src/jade/directives/transactionerror.jade:134 +msgid "More information." +msgstr "More information." -#: src/jade/index.jade:10 src/jade/menu/wallet.jade:15 -#: src/jade/tabs/register.jade:87 -msgid "Security" -msgstr "Security" +#: src/jade/directives/transactionerror.jade:138 +msgid "Trade failed." +msgstr "Trade failed." -#: src/jade/index.jade:14 src/jade/index.jade:48 -#: src/jade/tabs/contacts.jade:75 -msgid "Send" -msgstr "Send" +#: src/jade/directives/transactionerror.jade:140 +msgid "Trade failed, reason: {{engine_result_message}}" +msgstr "Trade failed, reason: {{engine_result_message}}" -#: src/jade/index.jade:18 src/jade/index.jade:51 src/jade/tabs/convert.jade:22 -msgid "Receive" -msgstr "Receive" +#: src/jade/directives/transactionerror.jade:144 +msgid "" +"The particular server you sent the transaction to was too busy to forward or" +" process your transaction at the fee you included in it [telINSUF_FEE_P]." +msgstr "The particular server you sent the transaction to was too busy to forward or process your transaction at the fee you included in it [telINSUF_FEE_P]." -#: src/jade/index.jade:22 src/jade/index.jade:54 -msgid "Trade" -msgstr "Trade" +#: src/jade/directives/transactionerror.jade:152 +msgid "Request pending" +msgstr "Request pending" -#: src/jade/index.jade:26 src/jade/index.jade:57 -msgid "Advanced" -msgstr "Advanced" +#: src/jade/directives/transactionerror.jade:154 +msgid "Request successful" +msgstr "Request successful" -#: src/jade/index.jade:28 src/jade/menu/advanced.jade:5 -msgid "Trust" -msgstr "Trust" +#: src/jade/messages/sendconvert/confirmation.jade:4 +msgid "Transaction pending." +msgstr "Transaction pending." -#: src/jade/menu/wallet.jade:13 src/jade/tabs/gateways.jade:19 -msgid "Gateways" -msgstr "Gateways" +#: src/jade/messages/sendconvert/confirmation.jade:6 +msgid "Transaction successful" +msgstr "Transaction successful" + +#: src/jade/messages/sendconvert/confirmation.jade:8 +#: src/jade/messages/sendconvert/confirmation.jade:11 +#: src/jade/messages/sendconvert/confirmation.jade:16 +#: src/jade/messages/sendconvert/confirmation.jade:21 +#: src/jade/messages/sendconvert/confirmation.jade:30 +#: src/jade/messages/sendconvert/confirmation.jade:37 +#: src/jade/messages/sendconvert/localerror.jade:5 +#: src/jade/messages/sendconvert/localerror.jade:8 +#: src/jade/messages/sendconvert/localerror.jade:11 +#: src/jade/messages/sendconvert/localerror.jade:14 +msgid "Transaction failed" +msgstr "Transaction failed" + +#: src/jade/messages/sendconvert/confirmation.jade:9 src/jade/tabs/brl.jade:25 +#: src/jade/tabs/btc.jade:22 src/jade/tabs/eur.jade:25 +#: src/jade/tabs/gold.jade:25 src/jade/tabs/jpy.jade:25 +#: src/jade/tabs/mxn.jade:25 src/jade/tabs/trust.jade:43 +#: src/jade/tabs/usd.jade:25 +msgid "Please try again later." +msgstr "Please try again later." + +#: src/jade/messages/sendconvert/confirmation.jade:23 +msgid "Error code: The destination account does not exist [tecNO_DST]." +msgstr "Error code: The destination account does not exist [tecNO_DST]." + +#: src/jade/messages/sendconvert/confirmation.jade:34 +msgid "Your transaction failed: {{engine_result_message}}" +msgstr "Your transaction failed: {{engine_result_message}}" + +#: src/jade/messages/sendconvert/localerror.jade:6 +msgid "" +"Error code: The account you're trying to send to does not exist " +"[noDest]." +msgstr "Error code: The account you're trying to send to does not exist [noDest]." + +#: src/jade/messages/sendconvert/localerror.jade:9 +msgid "" +"Error code: Ripple was unable to find a path between you and the destination" +" account [noPath]." +msgstr "Error code: Ripple was unable to find a path between you and the destination account [noPath]." + +#: src/jade/messages/sendconvert/localerror.jade:12 +msgid "" +"Error code: This transaction failed because it exceeded the maximum network " +"fee. [maxfeeExceeded]." +msgstr "Error code: This transaction failed because it exceeded the maximum network fee. [maxfeeExceeded]." + +#: src/jade/messages/sendconvert/localerror.jade:15 +msgid "" +"Error code: The transaction was rejected by the Ripple network " +"[invalidTransaction]." +msgstr "Error code: The transaction was rejected by the Ripple network [invalidTransaction]." + +#: src/jade/messages/sendconvert/localerror.jade:17 +msgid "Account unlock failed" +msgstr "Account unlock failed" + +#: src/jade/messages/sendconvert/localerror.jade:18 +#: src/jade/tabs/trust.jade:40 +msgid "Your account could not be unlocked. Please try again later." +msgstr "Your account could not be unlocked. Please try again later." + +#: src/jade/messages/sendconvert/localerror.jade:20 +msgid "" +"Sorry, an error occurred while submitting your transaction.Make sure you are" +" connected to the Internet and try again later." +msgstr "Sorry, an error occurred while submitting your transaction.Make sure you are connected to the Internet and try again later." + +#: src/jade/messages/sendconvert/localerror.jade:22 +msgid "" +"Before trying again, please ensure that the transaction has not been " +"executed already." +msgstr "Before trying again, please ensure that the transaction has not been executed already." + +#: src/jade/messages/sendconvert/waiting.jade:5 +msgid "Sending transaction to the Ripple network" +msgstr "Sending transaction to the Ripple network" #: src/jade/notification/account.jade:3 -msgid "You sent {{1}} {{2}} {{3}}" -msgstr "You sent {{1}} {{2}} {{3}}" +msgid "You sent {{1}} {{2}} to {{3}}" +msgstr "You sent {{1}} {{2}} to {{3}}" -#: src/jade/notification/account.jade:9 +#: src/jade/notification/account.jade:11 msgid "{{tx.counterparty | rpcontactname}} sent you" -msgstr "{{tx.counterparty | rpcontactname}} sent you " +msgstr "{{tx.counterparty | rpcontactname}} sent you" -#: src/jade/notification/account.jade:14 +#: src/jade/notification/account.jade:18 msgid "{{tx.counterparty | rpcontactname}} now trusts you for" -msgstr "{{tx.counterparty | rpcontactname}} now trusts you for " +msgstr "{{tx.counterparty | rpcontactname}} now trusts you for" + +#: src/jade/popup/modifyOrderError.jade:2 +msgid "Modify Order Error" +msgstr "Modify Order Error" -#: src/jade/notification/account.jade:19 -msgid "You now trust {{tx.counterparty | rpcontactname}} for" -msgstr "You now trust {{tx.counterparty | rpcontactname}} for " +#: src/jade/popup/modifyOrderError.jade:4 +msgid "Sorry, your order could not be modified." +msgstr "Sorry, your order could not be modified." + +#: src/jade/popup/modifyOrderError.jade:5 +msgid "" +"Your original order was cancelled but the modified order was not placed. " +"
" +msgstr "Your original order was cancelled but the modified order was not placed.
" + +#: src/jade/popup/modifyOrderError.jade:6 +msgid "" +"The quantity of your order changed by {{order.qtyChangeAfterCancel | " +"rpamount}} before the order could be modified.

" +msgstr "The quantity of your order changed by {{order.qtyChangeAfterCancel | rpamount}} before the order could be modified.

" + +#: src/jade/popup/modifyOrderError.jade:7 +msgid "" +"To safeguard against the possibility of overfills a new order has not been " +"placed.
" +msgstr "To safeguard against the possibility of overfills a new order has not been placed.
" -#: src/jade/tabs/balance.jade:7 src/jade/tabs/convert.jade:7 -#: src/jade/tabs/gateways.jade:7 src/jade/tabs/history.jade:7 -#: src/jade/tabs/send.jade:6 src/jade/tabs/trade.jade:6 -#: src/jade/tabs/trust.jade:7 +#: src/jade/popup/modifyOrderError.jade:8 +msgid "" +"Please check your balance and history before placing the new order manually." +"
" +msgstr "Please check your balance and history before placing the new order manually.
" + +#: src/jade/popup/modifyOrderError.jade:10 src/jade/popup/unlock.jade:17 +msgid "Close" +msgstr "Close" + +#: src/jade/popup/unlock.jade:2 +msgid "Unlock account" +msgstr "Unlock account" + +#: src/jade/popup/unlock.jade:5 src/jade/tabs/login/form.jade:8 +#: src/jade/tabs/recover.jade:38 src/jade/tabs/register.jade:58 +#: src/jade/tabs/security.jade:12 +msgid "Password" +msgstr "Password" + +#: src/jade/popup/unlock.jade:8 +msgid "Please enter your password to show your secret key." +msgstr "Please enter your password to show your secret key." + +#: src/jade/popup/unlock.jade:9 src/jade/tabs/send.jade:205 +msgid "Please enter your password to confirm this transaction." +msgstr "Please enter your password to confirm this transaction." + +#: src/jade/popup/unlock.jade:10 +msgid "This password is incorrect, please try again." +msgstr "This password is incorrect, please try again." + +#: src/jade/popup/unlock.jade:13 +msgid "Confirming password" +msgstr "Confirming password" + +#: src/jade/popup/unlock.jade:16 src/jade/tabs/account/public.jade:44 +#: src/jade/tabs/security.jade:146 +msgid "Submit" +msgstr "Submit" + +#: src/jade/tabs/2fa/form.jade:3 +msgid "Country Code" +msgstr "Country Code" + +#: src/jade/tabs/2fa/form.jade:6 src/jade/tabs/kyc.jade:162 +msgid "Phone Number" +msgstr "Phone Number" + +#: src/jade/tabs/_usd.jade:6 src/jade/tabs/apps.jade:5 +#: src/jade/tabs/balance.jade:5 src/jade/tabs/brl.jade:6 +#: src/jade/tabs/btc.jade:9 src/jade/tabs/eur.jade:6 +#: src/jade/tabs/exchange.jade:6 src/jade/tabs/fund.jade:6 +#: src/jade/tabs/gold.jade:6 src/jade/tabs/history.jade:6 +#: src/jade/tabs/jpy.jade:6 src/jade/tabs/kyc.jade:6 src/jade/tabs/mxn.jade:6 +#: src/jade/tabs/send.jade:6 src/jade/tabs/su.jade:5 +#: src/jade/tabs/trade.jade:7 src/jade/tabs/trust.jade:6 +#: src/jade/tabs/usd.jade:6 src/jade/tabs/withdraw.jade:6 +#: src/jade/tabs/xrp.jade:6 msgid "You have to be online to see this screen" msgstr "You have to be online to see this screen" -#: src/jade/tabs/balance.jade:10 src/jade/tabs/balance.jade:121 -#: src/jade/tabs/convert.jade:10 src/jade/tabs/gateways.jade:10 -#: src/jade/tabs/gateways.jade:26 src/jade/tabs/gateways.jade:68 -#: src/jade/tabs/gateways.jade:152 src/jade/tabs/history.jade:169 -#: src/jade/tabs/register.jade:46 src/jade/tabs/trust.jade:10 -msgid "Loading..." -msgstr "Loading..." +#: src/jade/tabs/_usd.jade:17 +msgid "USD instant deposit" +msgstr "USD instant deposit" + +#: src/jade/tabs/_usd.jade:19 src/jade/tabs/_usd.jade:21 +msgid "Step 1 (Amount)" +msgstr "Step 1 (Amount)" + +#: src/jade/tabs/_usd.jade:22 +msgid "Step 2 (Confirmation)" +msgstr "Step 2 (Confirmation)" + +#: src/jade/tabs/_usd.jade:23 +msgid "Step 3 (Complete deposit)" +msgstr "Step 3 (Complete deposit)" + +#: src/jade/tabs/_usd.jade:26 +msgid "STEP 1: AMOUNT" +msgstr "STEP 1: AMOUNT" + +#: src/jade/tabs/_usd.jade:28 +msgid "STEP 2: CONFIRMATION" +msgstr "STEP 2: CONFIRMATION" + +#: src/jade/tabs/_usd.jade:30 +msgid "STEP 3: COMPLETE DEPOSIT" +msgstr "STEP 3: COMPLETE DEPOSIT" + +#: src/jade/tabs/_usd.jade:34 +msgid "" +"Success! You've completed your USD deposit. Your funds should be available " +"within a few minutes." +msgstr "Success! You've completed your USD deposit. Your funds should be available within a few minutes." + +#: src/jade/tabs/_usd.jade:36 +msgid "You cancelled your deposit." +msgstr "You cancelled your deposit." + +#: src/jade/tabs/_usd.jade:38 +msgid "" +"Your deposit failed. Your bank account was not charged. Please contact " +"{{1}}." +msgstr "Your deposit failed. Your bank account was not charged. Please contact {{1}}." + +#: src/jade/tabs/_usd.jade:49 src/jade/tabs/_usd.jade:91 +#: src/jade/tabs/fund.jade:41 src/jade/tabs/history.jade:172 +#: src/jade/tabs/trust.jade:89 +msgid "Amount" +msgstr "Amount" + +#: src/jade/tabs/_usd.jade:59 src/jade/tabs/_usd.jade:62 +msgid "Select your bank" +msgstr "Select your bank" + +#: src/jade/tabs/_usd.jade:77 +msgid "" +"Ripple Trade has partnered with SnapSwap to make USD deposits easier. By " +"continuing, you agree to SnapSwap's {{1}}To contact support, email {{2}}." +msgstr "Ripple Trade has partnered with SnapSwap to make USD deposits easier. By continuing, you agree to SnapSwap's {{1}}To contact support, email {{2}}." + +#: src/jade/tabs/_usd.jade:93 src/jade/tabs/history.jade:178 +msgid "Fee" +msgstr "Fee" + +#: src/jade/tabs/_usd.jade:95 +msgid "Total" +msgstr "Total" + +#: src/jade/tabs/_usd.jade:98 +msgid "Calculating..." +msgstr "Calculating..." + +#: src/jade/tabs/_usd.jade:109 src/jade/tabs/register.jade:126 +#: src/jade/tabs/register.jade:133 +msgid "Back" +msgstr "Back" + +#: src/jade/tabs/_usd.jade:111 src/jade/tabs/btc.jade:73 +#: src/jade/tabs/exchange.jade:111 src/jade/tabs/send.jade:213 +#: src/jade/tabs/trade.jade:67 src/jade/tabs/trade.jade:77 +#: src/jade/tabs/trade.jade:248 src/jade/tabs/trade.jade:407 +#: src/jade/tabs/trust.jade:140 +msgid "Confirm" +msgstr "Confirm" + +#: src/jade/tabs/account/navbar.jade:2 +msgid "Public Information" +msgstr "Public Information" + +#: src/jade/tabs/account/private.jade:1 +msgid "Profile Information" +msgstr "Profile Information" + +#: src/jade/tabs/account/private.jade:3 +msgid "Identity Information" +msgstr "Identity Information" + +#: src/jade/tabs/account/private.jade:8 src/jade/tabs/account/private.jade:17 +msgid "Completed" +msgstr "Completed" + +#: src/jade/tabs/account/private.jade:9 src/jade/tabs/account/private.jade:18 +msgid "Incomplete" +msgstr "Incomplete" + +#: src/jade/tabs/account/private.jade:10 src/jade/tabs/account/private.jade:19 +msgid "Complete your profile" +msgstr "Complete your profile" + +#: src/jade/tabs/account/private.jade:12 +msgid "Identity Questions" +msgstr "Identity Questions" + +#: src/jade/tabs/account/public.jade:1 +msgid "Changing your Ripple name..." +msgstr "Changing your Ripple name..." + +#: src/jade/tabs/account/public.jade:2 +msgid "Your Ripple name has been changed successfully." +msgstr "Your Ripple name has been changed successfully." + +#: src/jade/tabs/account/public.jade:3 +msgid "Account settings" +msgstr "Account settings" + +#: src/jade/tabs/account/public.jade:5 src/jade/tabs/fund/menu.jade:2 +#: src/jade/tabs/login/form.jade:3 +msgid "Ripple name" +msgstr "Ripple name" + +#: src/jade/tabs/account/public.jade:9 src/jade/tabs/advanced.jade:27 +#: src/jade/tabs/advanced.jade:44 src/jade/tabs/advanced.jade:63 +#: src/jade/tabs/advanced.jade:86 src/jade/tabs/advanced.jade:134 +#: src/jade/tabs/contacts.jade:61 src/jade/tabs/security.jade:120 +#: src/jade/tabs/security.jade:180 src/jade/tabs/trust.jade:191 +#: src/jade/tabs/trust.jade:193 +msgid "edit" +msgstr "edit" + +#: src/jade/tabs/account/public.jade:12 +msgid "New Ripple name" +msgstr "New Ripple name" + +#: src/jade/tabs/account/public.jade:17 src/jade/tabs/register.jade:35 +#: src/jade/tabs/widgets/balances.jade:24 +msgid "Available" +msgstr "Available" + +#: src/jade/tabs/account/public.jade:20 src/jade/tabs/register.jade:39 +msgid "Already taken!" +msgstr "Already taken!" + +#: src/jade/tabs/account/public.jade:21 +msgid "Reserved for {{usernameReservedFor}}{{1}}{{2}}" +msgstr "Reserved for {{usernameReservedFor}}{{1}}{{2}}" + +#: src/jade/tabs/account/public.jade:24 src/jade/tabs/register.jade:45 +msgid "Must be at least 2 characters" +msgstr "Must be at least 2 characters" + +#: src/jade/tabs/account/public.jade:25 src/jade/tabs/register.jade:47 +msgid "Must be at most 20 characters" +msgstr "Must be at most 20 characters" + +#: src/jade/tabs/account/public.jade:26 +msgid "Only a-z, 0-9 and hyphen (-)" +msgstr "Only a-z, 0-9 and hyphen (-)" + +#: src/jade/tabs/account/public.jade:27 src/jade/tabs/register.jade:51 +msgid "Cannot start with hyphen (-)" +msgstr "Cannot start with hyphen (-)" + +#: src/jade/tabs/account/public.jade:28 src/jade/tabs/register.jade:53 +msgid "Cannot end with hyphen (-)" +msgstr "Cannot end with hyphen (-)" + +#: src/jade/tabs/account/public.jade:29 +msgid "Cannot bundle hyphens (--)" +msgstr "Cannot bundle hyphens (--)" + +#: src/jade/tabs/account/public.jade:30 src/jade/tabs/register.jade:56 +msgid "Checking..." +msgstr "Checking..." + +#: src/jade/tabs/account/public.jade:32 src/jade/tabs/security.jade:126 +msgid "Current password" +msgstr "Current password" + +#: src/jade/tabs/account/public.jade:35 src/jade/tabs/security.jade:18 +#: src/jade/tabs/security.jade:23 +msgid "Entered password is wrong." +msgstr "Entered password is wrong." + +#: src/jade/tabs/account/public.jade:37 +msgid "Your Ripple name has been changed. Please login again." +msgstr "Your Ripple name has been changed. Please login again." + +#: src/jade/tabs/account/public.jade:39 +msgid "Couldn't change your Ripple name, please try again later." +msgstr "Couldn't change your Ripple name, please try again later." + +#: src/jade/tabs/account/public.jade:47 src/jade/tabs/advanced.jade:36 +#: src/jade/tabs/advanced.jade:53 src/jade/tabs/advanced.jade:77 +#: src/jade/tabs/advanced.jade:94 src/jade/tabs/advanced.jade:124 +#: src/jade/tabs/btc.jade:74 src/jade/tabs/contacts.jade:50 +#: src/jade/tabs/contacts.jade:93 src/jade/tabs/exchange.jade:113 +#: src/jade/tabs/exchange.jade:126 src/jade/tabs/kyc.jade:116 +#: src/jade/tabs/kyc.jade:131 src/jade/tabs/kyc.jade:156 +#: src/jade/tabs/kyc.jade:157 src/jade/tabs/kyc.jade:186 +#: src/jade/tabs/login/form.jade:26 src/jade/tabs/security.jade:79 +#: src/jade/tabs/security.jade:112 src/jade/tabs/security.jade:149 +#: src/jade/tabs/send.jade:215 src/jade/tabs/send.jade:227 +#: src/jade/tabs/send.jade:252 src/jade/tabs/send.jade:286 +#: src/jade/tabs/trade.jade:55 src/jade/tabs/trust.jade:141 +#: src/jade/tabs/trust.jade:143 src/jade/tabs/trust.jade:213 +#: src/jade/tabs/trust.jade:251 +msgid "cancel" +msgstr "cancel" + +#: src/jade/tabs/account/public.jade:49 +msgid "Ripple address" +msgstr "Ripple address" + +#: src/jade/tabs/advanced.jade:8 +msgid "Your blob vault has been changed successfully." +msgstr "Your blob vault has been changed successfully." + +#: src/jade/tabs/advanced.jade:9 +msgid "Your bitcoin bridge has been changed successfully." +msgstr "Your bitcoin bridge has been changed successfully." + +#: src/jade/tabs/advanced.jade:10 +msgid "Trustline advanced settings has been changed successfully." +msgstr "Trustline advanced settings has been changed successfully." + +#: src/jade/tabs/advanced.jade:11 +msgid "Maximum network fee has been changed successfully." +msgstr "Maximum network fee has been changed successfully." + +#: src/jade/tabs/advanced.jade:12 +msgid "A new server has been successfully added." +msgstr "A new server has been successfully added." + +#: src/jade/tabs/advanced.jade:13 +msgid "A server has been successfully removed." +msgstr "A server has been successfully removed." + +#: src/jade/tabs/advanced.jade:14 +msgid "A server has been changed successfully." +msgstr "A server has been changed successfully." + +#: src/jade/tabs/advanced.jade:21 +msgid "Blob vault" +msgstr "Blob vault" + +#: src/jade/tabs/advanced.jade:32 src/jade/tabs/advanced.jade:49 +#: src/jade/tabs/advanced.jade:73 src/jade/tabs/advanced.jade:92 +#: src/jade/tabs/advanced.jade:120 src/jade/tabs/contacts.jade:88 +#: src/jade/tabs/fund.jade:65 src/jade/tabs/security.jade:190 +#: src/jade/tabs/send.jade:251 src/jade/tabs/send.jade:284 +#: src/jade/tabs/trust.jade:119 src/jade/tabs/trust.jade:232 +msgid "Save" +msgstr "Save" + +#: src/jade/tabs/advanced.jade:34 src/jade/tabs/advanced.jade:51 +#: src/jade/tabs/advanced.jade:75 src/jade/tabs/advanced.jade:122 +#: src/jade/tabs/contacts.jade:91 src/jade/tabs/security.jade:198 +msgid "Delete" +msgstr "Delete" + +#: src/jade/tabs/advanced.jade:38 +msgid "Bitcoin bridge" +msgstr "Bitcoin bridge" + +#: src/jade/tabs/advanced.jade:55 +msgid "Trust line" +msgstr "Trust line" + +#: src/jade/tabs/advanced.jade:60 src/jade/tabs/advanced.jade:71 +#: src/jade/tabs/security.jade:162 +msgid "Show" +msgstr "Show" + +#: src/jade/tabs/advanced.jade:61 src/jade/tabs/security.jade:163 +msgid "Hide" +msgstr "Hide" + +#: src/jade/tabs/advanced.jade:78 +msgid "Network settings" +msgstr "Network settings" + +#: src/jade/tabs/advanced.jade:80 +msgid "Maximum network fee" +msgstr "Maximum network fee" + +#: src/jade/tabs/advanced.jade:96 +msgid "Server settings" +msgstr "Server settings" + +#: src/jade/tabs/advanced.jade:101 +msgid "WebSocket host name" +msgstr "WebSocket host name" + +#: src/jade/tabs/advanced.jade:103 +msgid "Port number" +msgstr "Port number" + +#: src/jade/tabs/advanced.jade:109 +msgid "Socket ip or hostname is invalid." +msgstr "Socket ip or hostname is invalid." + +#: src/jade/tabs/advanced.jade:111 +msgid "Port number is invalid." +msgstr "Port number is invalid." + +#: src/jade/tabs/advanced.jade:118 src/jade/tabs/advanced.jade:131 +msgid "Secure" +msgstr "Secure" + +#: src/jade/tabs/advanced.jade:132 +msgid "Not Secure" +msgstr "Not Secure" + +#: src/jade/tabs/advanced.jade:138 +msgid "Add new server" +msgstr "Add new server" + +#: src/jade/tabs/apps.jade:27 +msgid "App Ripple Address" +msgstr "App Ripple Address" + +#: src/jade/tabs/apps.jade:29 +msgid "Please enter a ripple address." +msgstr "Please enter a ripple address." + +#: src/jade/tabs/apps.jade:31 +msgid "Please enter a valid ripple address." +msgstr "Please enter a valid ripple address." + +#: src/jade/tabs/banner/announcement.jade:2 +msgid "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" +msgstr "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" + +#: src/jade/tabs/banner/unfunded.jade:2 +msgid "" +"Welcome to Ripple Trade! Your account needs to be activated. You can " +"activate it in 2 ways:" +msgstr "Welcome to Ripple Trade! Your account needs to be activated. You can activate it in 2 ways:" + +#: src/jade/tabs/banner/unfunded.jade:4 +msgid "" +"Have another user send XRP to your Ripple name " +"(~{{userCredentials.username}}). {{1}}" +msgstr "Have another user send XRP to your Ripple name (~{{userCredentials.username}}). {{1}}" + +#: src/jade/tabs/brl.jade:24 src/jade/tabs/eur.jade:24 +#: src/jade/tabs/gold.jade:24 src/jade/tabs/jpy.jade:24 +#: src/jade/tabs/mxn.jade:24 src/jade/tabs/trust.jade:42 +#: src/jade/tabs/usd.jade:24 +msgid "There was an error while saving your changes." +msgstr "There was an error while saving your changes." + +#: src/jade/tabs/brl.jade:28 src/jade/tabs/eur.jade:27 +#: src/jade/tabs/gold.jade:27 src/jade/tabs/jpy.jade:28 +#: src/jade/tabs/mxn.jade:28 src/jade/tabs/trust.jade:45 +#: src/jade/tabs/usd.jade:27 +msgid "You must have at least {{1}} to add a new trust line. {{2}}" +msgstr "You must have at least {{1}} to add a new trust line. {{2}}" + +#: src/jade/tabs/brl.jade:38 +msgid "Brazilian Real Deposit" +msgstr "Brazilian Real Deposit" + +#: src/jade/tabs/brl.jade:41 src/jade/tabs/btc.jade:35 +#: src/jade/tabs/eur.jade:38 src/jade/tabs/gold.jade:40 +#: src/jade/tabs/jpy.jade:41 src/jade/tabs/mxn.jade:41 +#: src/jade/tabs/trust.jade:167 src/jade/tabs/usd.jade:38 +msgid "Gateway" +msgstr "Gateway" + +#: src/jade/tabs/brl.jade:42 src/jade/tabs/eur.jade:48 +#: src/jade/tabs/mxn.jade:81 src/jade/tabs/mxn.jade:93 +#: src/jade/tabs/mxn.jade:103 src/jade/tabs/security.jade:49 +msgid "{{1}}{{2}}" +msgstr "{{1}}{{2}}" + +#: src/jade/tabs/brl.jade:43 +msgid "Ripple (~rippex)" +msgstr "Ripple (~rippex)" + +#: src/jade/tabs/brl.jade:46 src/jade/tabs/btc.jade:39 +#: src/jade/tabs/eur.jade:44 src/jade/tabs/gold.jade:44 +#: src/jade/tabs/jpy.jade:45 src/jade/tabs/mxn.jade:46 +#: src/jade/tabs/usd.jade:44 +msgid "Availability" +msgstr "Availability" + +#: src/jade/tabs/brl.jade:47 +msgid "Brazil" +msgstr "Brazil" + +#: src/jade/tabs/brl.jade:49 src/jade/tabs/btc.jade:42 +#: src/jade/tabs/eur.jade:47 src/jade/tabs/gold.jade:47 +#: src/jade/tabs/jpy.jade:48 src/jade/tabs/mxn.jade:49 +#: src/jade/tabs/usd.jade:47 +msgid "Fees" +msgstr "Fees" + +#: src/jade/tabs/brl.jade:50 src/jade/tabs/jpy.jade:49 +#: src/jade/tabs/kyc.jade:111 src/jade/tabs/kyc.jade:126 +#: src/jade/tabs/kyc.jade:151 +msgid "{{1}}{{2}}{{3}}" +msgstr "{{1}}{{2}}{{3}}" + +#: src/jade/tabs/brl.jade:51 +msgid "Deposit: 1.50 BRL + 0.5%" +msgstr "Deposit: 1.50 BRL + 0.5%" + +#: src/jade/tabs/brl.jade:52 +msgid "Transfer: 0%" +msgstr "Transfer: 0%" + +#: src/jade/tabs/brl.jade:56 src/jade/tabs/btc.jade:45 +#: src/jade/tabs/eur.jade:53 src/jade/tabs/gold.jade:50 +#: src/jade/tabs/jpy.jade:54 src/jade/tabs/mxn.jade:52 +#: src/jade/tabs/usd.jade:50 +msgid "Rating" +msgstr "Rating" + +#: src/jade/tabs/brl.jade:62 +msgid "" +"Ripple Trade has partnered with Rippex to provide easy access to BRL. By " +"continuing, you agree with Rippex's {{1}}Following this action will enable " +"Rippex to hold BRL on your behalf." +msgstr "Ripple Trade has partnered with Rippex to provide easy access to BRL. By continuing, you agree with Rippex's {{1}}Following this action will enable Rippex to hold BRL on your behalf." + +#: src/jade/tabs/brl.jade:69 +msgid "Add Rippex" +msgstr "Add Rippex" + +#: src/jade/tabs/brl.jade:70 +msgid "Adding..." +msgstr "Adding..." + +#: src/jade/tabs/brl.jade:71 src/jade/tabs/eur.jade:65 +#: src/jade/tabs/jpy.jade:64 src/jade/tabs/usd.jade:62 +msgid "Hide instructions" +msgstr "Hide instructions" + +#: src/jade/tabs/brl.jade:72 src/jade/tabs/eur.jade:66 +#: src/jade/tabs/jpy.jade:65 src/jade/tabs/usd.jade:63 +msgid "Show instructions" +msgstr "Show instructions" + +#: src/jade/tabs/brl.jade:75 src/jade/tabs/btc.jade:83 +msgid "{{1}}Not connected" +msgstr "{{1}}Not connected" + +#: src/jade/tabs/brl.jade:78 src/jade/tabs/btc.jade:86 +msgid "{{1}}Connected" +msgstr "{{1}}Connected" + +#: src/jade/tabs/brl.jade:81 src/jade/tabs/eur.jade:71 +#: src/jade/tabs/gold.jade:73 src/jade/tabs/jpy.jade:74 +#: src/jade/tabs/mxn.jade:76 src/jade/tabs/usd.jade:68 +msgid "Your account has to be activated before you can add a gateway account." +msgstr "Your account has to be activated before you can add a gateway account." + +#: src/jade/tabs/brl.jade:84 src/jade/tabs/eur.jade:75 +#: src/jade/tabs/gold.jade:76 src/jade/tabs/jpy.jade:77 +#: src/jade/tabs/mxn.jade:79 src/jade/tabs/usd.jade:72 +msgid "×" +msgstr "×" + +#: src/jade/tabs/brl.jade:85 +msgid "NEW CUSTOMERS- SIGN UP AT RIPPEX" +msgstr "NEW CUSTOMERS- SIGN UP AT RIPPEX" + +#: src/jade/tabs/brl.jade:86 +msgid "" +"{{1}} at Rippex.net to initiate deposits and withdrawals. You will " +"need:{{2}}" +msgstr "{{1}} at Rippex.net to initiate deposits and withdrawals. You will need:{{2}}" + +#: src/jade/tabs/brl.jade:90 +msgid "A {{1}}" +msgstr "A {{1}}" + +#: src/jade/tabs/brl.jade:92 +msgid "A bank account in Brazil." +msgstr "A bank account in Brazil." + +#: src/jade/tabs/brl.jade:96 +msgid "EXISTING RIPPEX CUSTOMERS" +msgstr "EXISTING RIPPEX CUSTOMERS" + +#: src/jade/tabs/brl.jade:97 +msgid "If you have a Rippex account, {{1}}" +msgstr "If you have a Rippex account, {{1}}" + +#: src/jade/tabs/brl.jade:100 +msgid "DEPOSIT INSTRUCTIONS" +msgstr "DEPOSIT INSTRUCTIONS" + +#: src/jade/tabs/brl.jade:101 +msgid "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" +msgstr "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" + +#: src/jade/tabs/btc.jade:19 +msgid "Success! You can deposit BTC via your generated BTC receiving address." +msgstr "Success! You can deposit BTC via your generated BTC receiving address." + +#: src/jade/tabs/btc.jade:21 +msgid "There was an error with your request. {{1}}" +msgstr "There was an error with your request. {{1}}" + +#: src/jade/tabs/btc.jade:30 +msgid "Bitcoin Deposit" +msgstr "Bitcoin Deposit" + +#: src/jade/tabs/btc.jade:36 +msgid "btc2ripple (~snapswap) {{1}}" +msgstr "btc2ripple (~snapswap) {{1}}" + +#: src/jade/tabs/btc.jade:40 src/jade/tabs/gold.jade:45 +#: src/jade/tabs/jpy.jade:46 +msgid "All countries" +msgstr "All countries" + +#: src/jade/tabs/btc.jade:43 src/jade/tabs/mxn.jade:50 +msgid "0%" +msgstr "0%" + +#: src/jade/tabs/btc.jade:50 +msgid "" +"Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By" +" proceeding, you agree to the btc2ripple {{1}} Following this action will " +"allow btc2ripple to hold BTC on your behalf." +msgstr "Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By proceeding, you agree to the btc2ripple {{1}} Following this action will allow btc2ripple to hold BTC on your behalf." + +#: src/jade/tabs/btc.jade:56 +msgid "Add btc2ripple" +msgstr "Add btc2ripple" + +#: src/jade/tabs/btc.jade:60 src/jade/tabs/security.jade:64 +#: src/jade/tabs/trust.jade:123 +msgid "Connect" +msgstr "Connect" + +#: src/jade/tabs/btc.jade:62 +msgid "btc2ripple would like to:" +msgstr "btc2ripple would like to:" + +#: src/jade/tabs/btc.jade:64 +msgid "- Receive your email address {{1}}" +msgstr "- Receive your email address {{1}}" + +#: src/jade/tabs/btc.jade:65 +msgid "({{userBlob.data.email}})" +msgstr "({{userBlob.data.email}})" + +#: src/jade/tabs/btc.jade:66 +msgid "- Hold deposited BTC on your behalf" +msgstr "- Hold deposited BTC on your behalf" + +#: src/jade/tabs/btc.jade:67 +msgid "By proceeding, you agree to the btc2ripple {{1}}" +msgstr "By proceeding, you agree to the btc2ripple {{1}}" + +#: src/jade/tabs/btc.jade:75 +msgid "" +"SnapSwap's btc2ripple service is currently unavailable. Please check back " +"later." +msgstr "SnapSwap's btc2ripple service is currently unavailable. Please check back later." + +#: src/jade/tabs/btc.jade:94 +msgid "Personal Deposit address" +msgstr "Personal Deposit address" + +#: src/jade/tabs/btc.jade:96 +msgid "Your account is fully verified." +msgstr "Your account is fully verified." + +#: src/jade/tabs/btc.jade:104 +msgid "Withdrawal instructions" +msgstr "Withdrawal instructions" + +#: src/jade/tabs/btc.jade:105 +msgid "" +"To withdraw to a BTC address, go to the Send tab and enter the BTC address. " +"Using the btc2ripple service, you will be able tosend to that BTC address." +msgstr "To withdraw to a BTC address, go to the Send tab and enter the BTC address. Using the btc2ripple service, you will be able tosend to that BTC address." + +#: src/jade/tabs/btc.jade:110 +msgid "Waiting for response from SnapSwap service..." +msgstr "Waiting for response from SnapSwap service..." + +#: src/jade/tabs/btc.jade:112 +msgid "" +"To deposit, generate a bitcoin receiving address using the {{1}} service " +"powered by SnapSwap." +msgstr "To deposit, generate a bitcoin receiving address using the {{1}} service powered by SnapSwap." + +#: src/jade/tabs/contacts.jade:8 +msgid "A new contact has been successfully added." +msgstr "A new contact has been successfully added." + +#: src/jade/tabs/contacts.jade:9 +msgid "Your contact has been successfully updated." +msgstr "Your contact has been successfully updated." + +#: src/jade/tabs/contacts.jade:10 +msgid "A contact has been successfully removed." +msgstr "A contact has been successfully removed." + +#: src/jade/tabs/contacts.jade:12 src/jade/tabs/contacts.jade:24 +msgid "Contact" +msgstr "Contact" + +#: src/jade/tabs/contacts.jade:13 src/jade/tabs/contacts.jade:32 +msgid "Ripple name or address" +msgstr "Ripple name or address" + +#: src/jade/tabs/contacts.jade:15 src/jade/tabs/contacts.jade:19 +#: src/jade/tabs/contacts.jade:48 +msgid "Add contact" +msgstr "Add contact" + +#: src/jade/tabs/contacts.jade:27 src/jade/tabs/send.jade:245 +#: src/jade/tabs/send.jade:277 +msgid "Please enter a contact." +msgstr "Please enter a contact." + +#: src/jade/tabs/contacts.jade:28 +msgid "This contact already exists." +msgstr "This contact already exists." + +#: src/jade/tabs/contacts.jade:36 +msgid "Please enter a Ripple name." +msgstr "Please enter a Ripple name." + +#: src/jade/tabs/contacts.jade:37 src/jade/tabs/contacts.jade:45 +msgid "" +"You already have a contact with the same Ripple name and/or the same " +"Destination tag." +msgstr "You already have a contact with the same Ripple name and/or the same Destination tag." + +#: src/jade/tabs/contacts.jade:38 +msgid "Not a valid Ripple name or address." +msgstr "Not a valid Ripple name or address." + +#: src/jade/tabs/contacts.jade:41 src/jade/tabs/contacts.jade:81 +#: src/jade/tabs/send.jade:42 src/jade/tabs/tx.jade:56 +msgid "Destination tag" +msgstr "Destination tag" + +#: src/jade/tabs/contacts.jade:42 +msgid "Leave blank if not applicable" +msgstr "Leave blank if not applicable" + +#: src/jade/tabs/contacts.jade:44 src/jade/tabs/send.jade:46 +msgid "Invalid destination tag" +msgstr "Invalid destination tag" + +#: src/jade/tabs/contacts.jade:72 +msgid "You already have a contact with the same name." +msgstr "You already have a contact with the same name." + +#: src/jade/tabs/contacts.jade:78 +msgid "You already have this address." +msgstr "You already have this address." + +#: src/jade/tabs/contacts.jade:79 src/jade/tabs/debug.jade:14 +msgid "Not a valid address." +msgstr "Not a valid address." + +#: src/jade/tabs/contacts.jade:84 +msgid "Invalid destination tag." +msgstr "Invalid destination tag." + +#: src/jade/tabs/contacts.jade:94 +msgid "" +"You don't have any contacts yet. Click on 'Add contact' button in the top " +"right corner to add a new contact." +msgstr "You don't have any contacts yet. Click on 'Add contact' button in the top right corner to add a new contact." + +#: src/jade/tabs/debug.jade:9 +msgid "Enter a Ripple name or address" +msgstr "Enter a Ripple name or address" + +#: src/jade/tabs/debug.jade:13 +msgid "Please enter an address." +msgstr "Please enter an address." + +#: src/jade/tabs/debug.jade:17 +msgid "Turn on debug mode" +msgstr "Turn on debug mode" + +#: src/jade/tabs/eur.jade:35 +msgid "Euro Deposit" +msgstr "Euro Deposit" + +#: src/jade/tabs/eur.jade:39 +msgid "SnapSwap EU (~SnapSwap){{1}}{{2}}" +msgstr "SnapSwap EU (~SnapSwap){{1}}{{2}}" + +#: src/jade/tabs/eur.jade:45 +msgid "All countries, except USA" +msgstr "All countries, except USA" + +#: src/jade/tabs/eur.jade:49 +msgid "€ 0.31 – € 15.00" +msgstr "€ 0.31 – € 15.00" + +#: src/jade/tabs/eur.jade:59 +msgid "" +"Ripple Trade has partnered with SnapSwap to provide easier access to EUR. " +"Following this action will enable SnapSwap to hold EUR on your behalf." +msgstr "Ripple Trade has partnered with SnapSwap to provide easier access to EUR. Following this action will enable SnapSwap to hold EUR on your behalf." + +#: src/jade/tabs/eur.jade:69 src/jade/tabs/usd.jade:66 +msgid "Not connected" +msgstr "Not connected" + +#: src/jade/tabs/eur.jade:70 src/jade/tabs/usd.jade:67 +msgid "Connected" +msgstr "Connected" + +#: src/jade/tabs/eur.jade:76 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.EU" +msgstr "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.EU" + +#: src/jade/tabs/eur.jade:77 +msgid "Register and verify your account at SnapSwap EU. You will need: {{1}}" +msgstr "Register and verify your account at SnapSwap EU. You will need: {{1}}" + +#: src/jade/tabs/eur.jade:81 src/jade/tabs/usd.jade:78 +msgid "" +"A valid government-issued ID: driver license, passport, ID card, or visa " +"stamp." +msgstr "A valid government-issued ID: driver license, passport, ID card, or visa stamp." + +#: src/jade/tabs/eur.jade:83 src/jade/tabs/usd.jade:80 +msgid "A proof of address: driver license, utility bill, bank statement, etc." +msgstr "A proof of address: driver license, utility bill, bank statement, etc." + +#: src/jade/tabs/eur.jade:85 +msgid "EXISTING SNAPSWAP EU CUSTOMERS" +msgstr "EXISTING SNAPSWAP EU CUSTOMERS" + +#: src/jade/tabs/eur.jade:89 src/jade/tabs/jpy.jade:94 +#: src/jade/tabs/usd.jade:86 +msgid "Login to your account {{1}}" +msgstr "Login to your account {{1}}" + +#: src/jade/tabs/eur.jade:92 src/jade/tabs/jpy.jade:96 +msgid "DEPOSITS AND WITHDRAWALS:" +msgstr "DEPOSITS AND WITHDRAWALS:" + +#: src/jade/tabs/eur.jade:96 +msgid "Deposit from your bank (2-4 business days)" +msgstr "Deposit from your bank (2-4 business days)" + +#: src/jade/tabs/eur.jade:98 +msgid "Withdraw to your bank account in SEPA (2-4 business days)" +msgstr "Withdraw to your bank account in SEPA (2-4 business days)" + +#: src/jade/tabs/eur.jade:100 +msgid "Withdraw to SmartyCash Card (instant)" +msgstr "Withdraw to SmartyCash Card (instant)" + +#: src/jade/tabs/exchange.jade:13 +msgid "You have to be funded before you can exchange money" +msgstr "You have to be funded before you can exchange money" + +#: src/jade/tabs/exchange.jade:23 +msgid "Buy (Market Order)" +msgstr "Buy (Market Order)" + +#: src/jade/tabs/exchange.jade:24 +msgid "" +"Submit a buy order at the current market rate. Orders will execute " +"instantly." +msgstr "Submit a buy order at the current market rate. Orders will execute instantly." + +# Receive (amount) +#: src/jade/tabs/exchange.jade:27 +msgid "Receive (amount)" +msgstr "I want to buy" + +#: src/jade/tabs/exchange.jade:34 src/jade/tabs/widgets/balances.jade:49 +msgid "add gateway" +msgstr "add gateway" + +#: src/jade/tabs/exchange.jade:37 src/jade/tabs/send.jade:90 +msgid "Please enter an amount." +msgstr "Please enter an amount." + +#: src/jade/tabs/exchange.jade:38 src/jade/tabs/send.jade:91 +#: src/jade/tabs/trade.jade:153 src/jade/tabs/trade.jade:168 +#: src/jade/tabs/trade.jade:183 src/jade/tabs/trust.jade:101 +msgid "Not a valid amount." +msgstr "Not a valid amount." + +#: src/jade/tabs/exchange.jade:39 +msgid "" +"You are either trying to convert too little or too much XRP.Minimum amount " +"is 0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "You are either trying to convert too little or too much XRP.Minimum amount is 0.000001 XRP and maximum amount is 100 billion XRP." + +#: src/jade/tabs/exchange.jade:42 src/jade/tabs/send.jade:96 +#: src/jade/tabs/trust.jade:103 +msgid "Your amount has too many digits. The max number of digits is 16." +msgstr "Your amount has too many digits. The max number of digits is 16." + +#: src/jade/tabs/exchange.jade:43 +msgid "Please enter an amount greater than zero." +msgstr "Please enter an amount greater than zero." + +#: src/jade/tabs/exchange.jade:46 +msgid "{{1}} Calculating..." +msgstr "{{1}} Calculating..." + +#: src/jade/tabs/exchange.jade:50 +msgid "" +"Cannot convert to {{exchange.amount}} {{exchange.currency_name}}. Please " +"make sure your account has enough funds, and a {{1}} to a " +"{{exchange.currency_name}} gateway." +msgstr "Cannot convert to {{exchange.amount}} {{exchange.currency_name}}. Please make sure your account has enough funds, and a {{1}} to a {{exchange.currency_name}} gateway." + +#: src/jade/tabs/exchange.jade:54 +msgid "" +"Sorry! Cannot convert {{exchange.amount}} {{exchange.currency_name}}. Please" +" make sure your account has enough funds." +msgstr "Sorry! Cannot convert {{exchange.amount}} {{exchange.currency_name}}. Please make sure your account has enough funds." + +#: src/jade/tabs/exchange.jade:56 src/jade/tabs/send.jade:142 +msgid "Error while calculating path" +msgstr "Error while calculating path" + +#: src/jade/tabs/exchange.jade:60 +msgid "Exchange" +msgstr "Exchange" + +#: src/jade/tabs/exchange.jade:72 +msgid "Exchange {{ alt.amount | rpcurrency }} {{1}}" +msgstr "Exchange {{ alt.amount | rpcurrency }} {{1}}" + +#: src/jade/tabs/exchange.jade:78 src/jade/tabs/send.jade:170 +msgid "Paths last updated {{1}} {{2: seconds}} {{3: second}} ago" +msgstr "Paths last updated {{1}} {{2: seconds}} {{3: second}} ago" + +#: src/jade/tabs/exchange.jade:89 +msgid "Ripple is calculating a path for your conversion." +msgstr "Ripple is calculating a path for your conversion." + +#: src/jade/tabs/exchange.jade:94 +msgid "" +"{{1:You are exchanging}}{{2}}{{3:to}}{{4}}{{5:You will pay at " +"most}}{{6}}{{7:Are you sure?}}" +msgstr "{{1:You are exchanging}}{{2}}{{3:to}}{{4}}{{5:You will pay at most}}{{6}}{{7:Are you sure?}}" + +#: src/jade/tabs/exchange.jade:139 +msgid "Do another conversion" +msgstr "Do another conversion" + +#: src/jade/tabs/exchange.jade:141 src/jade/tabs/send.jade:257 +#: src/jade/tabs/send.jade:291 +msgid "Back to balance" +msgstr "Back to balance" + +#: src/jade/tabs/fund.jade:20 +msgid "Add trust" +msgstr "Add trust" + +#: src/jade/tabs/fund.jade:27 src/jade/tabs/send.jade:26 +msgid "Enter a Ripple name or contact" +msgstr "Enter a Ripple name or contact" + +#: src/jade/tabs/fund.jade:33 src/jade/tabs/trust.jade:73 +msgid "Account does not meet the minimum XRP reserve." +msgstr "Account does not meet the minimum XRP reserve." + +#: src/jade/tabs/fund.jade:36 src/jade/tabs/trust.jade:76 +msgid "Please enter a Ripple name, contact, or address." +msgstr "Please enter a Ripple name, contact, or address." + +#: src/jade/tabs/fund.jade:37 src/jade/tabs/trust.jade:77 +msgid "You've entered your own address." +msgstr "You've entered your own address." + +#: src/jade/tabs/fund.jade:38 src/jade/tabs/trust.jade:78 +msgid "Please enter a valid Ripple name, contact, or address." +msgstr "Please enter a valid Ripple name, contact, or address." + +#: src/jade/tabs/fund.jade:48 src/jade/tabs/trust.jade:80 +msgid "Amount field is required" +msgstr "Amount field is required" + +#: src/jade/tabs/fund.jade:50 src/jade/tabs/trust.jade:82 +#: src/jade/tabs/trust.jade:105 +msgid "" +"XRP can be sent without extending trust. If you really want to trust in XRP," +" please use XRR currency code." +msgstr "XRP can be sent without extending trust. If you really want to trust in XRP, please use XRR currency code." + +#: src/jade/tabs/fund.jade:53 src/jade/tabs/trust.jade:85 +#: src/jade/tabs/trust.jade:108 +msgid "Currency field is required" +msgstr "Currency field is required" + +#: src/jade/tabs/fund.jade:59 src/jade/tabs/fund.jade:60 +#: src/jade/tabs/trust.jade:114 src/jade/tabs/trust.jade:115 +msgid "Allow Rippling" +msgstr "Allow Rippling" + +#: src/jade/tabs/fund.jade:60 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"trust. More " +"information" +msgstr "Allow this trust line's balances to be transferred to another issuer you trust. More information" + +#: src/jade/tabs/fund.jade:63 +msgid "Cancel" +msgstr "Cancel" + +#: src/jade/tabs/fund/menu.jade:3 +msgid "{{1}}XRP" +msgstr "{{1}}XRP" + +#: src/jade/tabs/fund/menu.jade:6 +msgid "Featured gateways" +msgstr "Featured gateways" + +#: src/jade/tabs/fund/menu.jade:7 +msgid "{{1}}BRL" +msgstr "{{1}}BRL" + +#: src/jade/tabs/fund/menu.jade:10 +msgid "{{1}}BTC" +msgstr "{{1}}BTC" + +#: src/jade/tabs/fund/menu.jade:13 +msgid "{{1}}EUR" +msgstr "{{1}}EUR" + +#: src/jade/tabs/fund/menu.jade:16 +msgid "{{1}}JPY" +msgstr "{{1}}JPY" + +#: src/jade/tabs/fund/menu.jade:19 +msgid "{{1}}MXN" +msgstr "{{1}}MXN" + +#: src/jade/tabs/fund/menu.jade:22 +msgid "{{1}}USD" +msgstr "{{1}}USD" + +#: src/jade/tabs/fund/menu.jade:25 +msgid "{{1}}XAU" +msgstr "{{1}}XAU" + +#: src/jade/tabs/fund/menu.jade:28 +msgid "Add any gateway" +msgstr "Add any gateway" + +#: src/jade/tabs/fund/menu.jade:30 +msgid "Learn more about gateways" +msgstr "Learn more about gateways" + +#: src/jade/tabs/gold.jade:37 +msgid "Gold Deposit" +msgstr "Gold Deposit" + +#: src/jade/tabs/gold.jade:41 +msgid "Gold Bullion International (~gbi) {{1}}" +msgstr "Gold Bullion International (~gbi) {{1}}" + +#: src/jade/tabs/gold.jade:48 +msgid "0.5% per year" +msgstr "0.5% per year" + +#: src/jade/tabs/gold.jade:56 +msgid "" +"Ripple Trade has partnered with GBI to provide easy access toXAU. By " +"continuing, you are allowing GBI to hold gold on your behalf." +msgstr "Ripple Trade has partnered with GBI to provide easy access toXAU. By continuing, you are allowing GBI to hold gold on your behalf." + +#: src/jade/tabs/gold.jade:67 src/jade/tabs/jpy.jade:68 +#: src/jade/tabs/mxn.jade:70 +msgid "{{1}} Not connected" +msgstr "{{1}} Not connected" + +#: src/jade/tabs/gold.jade:70 src/jade/tabs/jpy.jade:71 +#: src/jade/tabs/mxn.jade:73 +msgid "{{1}} Connected" +msgstr "{{1}} Connected" + +#: src/jade/tabs/gold.jade:77 +msgid "Deposit" +msgstr "Deposit" + +#: src/jade/tabs/gold.jade:78 +msgid "" +"GBI does not currently support direct deposits. You can {{1}} or {{2}}." +msgstr "GBI does not currently support direct deposits. You can {{1}} or {{2}}." + +#: src/jade/tabs/gold.jade:84 +msgid "Withdrawal" +msgstr "Withdrawal" + +#: src/jade/tabs/gold.jade:85 +msgid "" +"You can redeem the physical gold in 1 oz increments.To do so, you'll need to" +" {{1}} and arrange to have the gold shipped to you." +msgstr "You can redeem the physical gold in 1 oz increments.To do so, you'll need to {{1}} and arrange to have the gold shipped to you." + +#: src/jade/tabs/history.jade:11 +msgid "Loading History" +msgstr "Loading History" + +#: src/jade/tabs/history.jade:16 +msgid "Your account history is empty" +msgstr "Your account history is empty" + +#: src/jade/tabs/history.jade:24 +msgid "Transaction type{{1}}{{2}}" +msgstr "Transaction type{{1}}{{2}}" + +#: src/jade/tabs/history.jade:37 +msgid "Date{{1}}{{2}}" +msgstr "Date{{1}}{{2}}" + +#: src/jade/tabs/history.jade:42 +msgid "Load history for specific date range" +msgstr "Load history for specific date range" + +#: src/jade/tabs/history.jade:48 +msgid "From" +msgstr "From" + +#: src/jade/tabs/history.jade:54 +msgid "To" +msgstr "To" + +#: src/jade/tabs/history.jade:57 +msgid "Filter" +msgstr "Filter" + +#: src/jade/tabs/history.jade:64 +msgid "Date" +msgstr "Date" + +#: src/jade/tabs/history.jade:65 src/jade/tabs/history.jade:170 +msgid "Description" +msgstr "Description" + +#: src/jade/tabs/history.jade:68 src/jade/tabs/history.jade:73 +msgid "Export to CSV" +msgstr "Export to CSV" + +#: src/jade/tabs/history.jade:69 +msgid "Sorry, no transactions match your current filter." +msgstr "Sorry, no transactions match your current filter." + +#: src/jade/tabs/history.jade:91 +msgid "You sent{{1}}to{{2}}" +msgstr "You sent{{1}}to{{2}}" + +#: src/jade/tabs/history.jade:97 +msgid "{{1}}sent you{{2}}" +msgstr "{{1}}sent you{{2}}" + +#: src/jade/tabs/history.jade:103 +msgid "You requested to exchange{{1}}to{{2}}" +msgstr "You requested to exchange{{1}}to{{2}}" + +#: src/jade/tabs/history.jade:109 +msgid "{{1}}now trusts you for{{2}}" +msgstr "{{1}}now trusts you for{{2}}" + +#: src/jade/tabs/history.jade:122 src/jade/tabs/history/effects.jade:45 +msgid "You created an order to sell{{1}}for{{2}}" +msgstr "You created an order to sell{{1}}for{{2}}" + +#: src/jade/tabs/history.jade:126 src/jade/tabs/history/effects.jade:49 +msgid "You created an order to buy{{1}}for{{2}}" +msgstr "You created an order to buy{{1}}for{{2}}" + +#: src/jade/tabs/history.jade:132 +msgid "You cancelled an order accepting {{1}}for{{2}}" +msgstr "You cancelled an order accepting {{1}}for{{2}}" + +#: src/jade/tabs/history.jade:145 +msgid "Unknown transaction" +msgstr "Unknown transaction" + +#: src/jade/tabs/history.jade:148 +msgid "" +"The client failed to parse this transaction. The developers have been " +"notified of the issue." +msgstr "The client failed to parse this transaction. The developers have been notified of the issue." + +#: src/jade/tabs/history.jade:153 +msgid "{{1}} sent you{{2}} and activated your account!" +msgstr "{{1}} sent you{{2}} and activated your account!" -#: src/jade/tabs/balance.jade:16 -msgid "Welcome to Ripple." -msgstr "Welcome to Ripple." +#: src/jade/tabs/history.jade:160 +msgid "You deposited{{1}} using {{entry.details.app.name}}" +msgstr "You deposited{{1}} using {{entry.details.app.name}}" -#: src/jade/tabs/balance.jade:17 -msgid "You currently don't have any ripples (XRP). To get started you can:" -msgstr "" -"You currently don't have any ripples (XRP). To get started you can:" +#: src/jade/tabs/history.jade:168 +msgid "Balance Changes" +msgstr "Balance Changes" -#: src/jade/tabs/balance.jade:24 -msgid "XRP - Ripple" -msgstr "XRP - Ripple" +#: src/jade/tabs/history.jade:171 +msgid "Issuer" +msgstr "Issuer" -#: src/jade/tabs/balance.jade:35 -msgid "Activity" -msgstr "Activity" +#: src/jade/tabs/history.jade:173 +msgid "Final balance" +msgstr "Final balance" -#: src/jade/tabs/balance.jade:39 -msgid "Loading activity..." -msgstr "Loading activity..." +#: src/jade/tabs/history.jade:176 +msgid "XRP Balance Change" +msgstr "XRP Balance Change" -#: src/jade/tabs/balance.jade:43 src/jade/tabs/history.jade:83 -msgid "Date" -msgstr "Date" +#: src/jade/tabs/history.jade:177 +msgid "{{effect.currency}} Balance Change" +msgstr "{{effect.currency}} Balance Change" -#: src/jade/tabs/balance.jade:44 -msgid "Event" -msgstr "Event" +#: src/jade/tabs/history.jade:183 +msgid "Transaction details" +msgstr "Transaction details" -#: src/jade/tabs/balance.jade:50 src/jade/tabs/history.jade:101 -msgid "You sent {{1}} {{2}}" -msgstr "You sent {{1}} {{2}}" +#: src/jade/tabs/history.jade:184 +msgid "Add {{1}} to contact list" +msgstr "Add {{1}} to contact list" -#: src/jade/tabs/balance.jade:54 src/jade/tabs/balance.jade:63 -#: src/jade/tabs/balance.jade:81 src/jade/tabs/balance.jade:92 -msgid "Add to contacts" -msgstr "Add to contacts" +#: src/jade/tabs/history.jade:189 +msgid "{{1}} Loading more" +msgstr "{{1}} Loading more" -#: src/jade/tabs/balance.jade:59 -msgid "{{entry.transaction.counterparty | rpcontactname}} sent you" -msgstr "{{entry.transaction.counterparty | rpcontactname}} sent you" +#: src/jade/tabs/history.jade:192 src/jade/tabs/trade.jade:500 +msgid "Load more" +msgstr "Load more" -#: src/jade/tabs/balance.jade:68 src/jade/tabs/history.jade:112 -msgid "You requested to convert {{1}} to {{2}}" -msgstr "You requested to convert {{1}} to {{2}}" +#: src/jade/tabs/history.jade:193 +msgid "No more transactions left" +msgstr "No more transactions left" -#: src/jade/tabs/balance.jade:76 -msgid "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" -msgstr "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" +#: src/jade/tabs/history/effects.jade:4 src/jade/tabs/history/effects.jade:19 +msgid "You sold{{1}}for{{2}}" +msgstr "You sold{{1}}for{{2}}" -#: src/jade/tabs/balance.jade:86 -msgid "You now trust {{1}} {{2}}" -msgstr "You now trust {{1}} {{2}}" +#: src/jade/tabs/history/effects.jade:8 src/jade/tabs/history/effects.jade:23 +msgid "You bought{{1}}for{{2}}" +msgstr "You bought{{1}}for{{2}}" -#: src/jade/tabs/balance.jade:97 src/jade/tabs/balance/effects.jade:17 -#: src/jade/tabs/history.jade:130 src/jade/tabs/history/effects.jade:17 -msgid "You created an offer accepting {{1}} for {{2}}" -msgstr "You created an offer accepting {{1}} for {{2}}" +#: src/jade/tabs/history/effects.jade:13 src/jade/tabs/history/effects.jade:28 +msgid "price" +msgstr "price" -#: src/jade/tabs/balance.jade:105 src/jade/tabs/balance/effects.jade:13 -#: src/jade/tabs/history.jade:136 src/jade/tabs/history/effects.jade:13 -msgid "You cancelled an offer accepting {{1}} for {{2}}" -msgstr "You cancelled an offer accepting {{1}} for {{2}}" +#: src/jade/tabs/history/effects.jade:17 +msgid "This order has been filled." +msgstr "This order has been filled." -#: src/jade/tabs/balance.jade:112 -msgid "Account details have been changed" -msgstr "Account details have been changed" +#: src/jade/tabs/history/effects.jade:32 +msgid "The rest of your order has been cancelled due to lack of funds." +msgstr "The rest of your order has been cancelled due to lack of funds." -#: src/jade/tabs/balance.jade:120 src/jade/tabs/history.jade:171 -msgid "Load more" -msgstr "Load more" +#: src/jade/tabs/history/effects.jade:33 +msgid "This order has{{1}}remaining." +msgstr "This order has{{1}}remaining." -#: src/jade/tabs/balance.jade:122 -msgid "Error" -msgstr "Error" +#: src/jade/tabs/history/effects.jade:39 +msgid "Order ({{1}} for {{2}}) has been cancelled due to lack of funds." +msgstr "Order ({{1}} for {{2}}) has been cancelled due to lack of funds." -#: src/jade/tabs/balance.jade:123 -msgid "No past transactions found" -msgstr "No past transactions found" +#: src/jade/tabs/history/effects.jade:53 +msgid "You bought{{1}}for{{2}}({{3:price}}{{4}})." +msgstr "You bought{{1}}for{{2}}({{3:price}}{{4}})." -#: src/jade/tabs/balance/effects.jade:3 src/jade/tabs/history/effects.jade:3 -msgid "You sold {{1}} for {{2}} This order has been funded." -msgstr "You sold {{1}} for {{2}} This order has been funded." +#: src/jade/tabs/history/effects.jade:68 +msgid "{{1}}is trusting you for{{2}}." +msgstr "{{1}}is trusting you for{{2}}." -#: src/jade/tabs/balance/effects.jade:8 src/jade/tabs/history/effects.jade:8 -msgid "You sold {{1}} for {{2}} {{3}}" -msgstr "You sold {{1}} for {{2}} {{3}}" +#: src/jade/tabs/history/effects.jade:73 +msgid "You have changed {{1}}trust for{{2}}from{{3}}to{{4}}." +msgstr "You have changed {{1}}trust for{{2}}from{{3}}to{{4}}." -#: src/jade/tabs/balance/effects.jade:12 src/jade/tabs/history/effects.jade:12 -msgid "" -"This order has {{effect.remaining | rpamount}} {{effect.remaining | " -"rpcurrency}} remaining." -msgstr "" -"This order has {{effect.remaining | rpamount}} {{effect.remaining | " -"rpcurrency}} remaining." +#: src/jade/tabs/history/effects.jade:83 +msgid "{{1}}changed the{{2}}trust from{{3}}to{{4}}." +msgstr "{{1}}changed the{{2}}trust from{{3}}to{{4}}." -#: src/jade/tabs/balance/effects.jade:21 src/jade/tabs/history/effects.jade:21 -msgid "You bought {{1}} for {{2}}" -msgstr "You bought {{1}} for {{2}}" +#: src/jade/tabs/history/effects.jade:92 +msgid "Trust balance between you and{{1}}has been changed by{{2}}." +msgstr "Trust balance between you and{{1}}has been changed by{{2}}." -#: src/jade/tabs/balance/effects.jade:26 src/jade/tabs/history/effects.jade:26 -msgid "" -"You now trust {{effect.counterparty | rpcontactname}} for {{effect.limit | " -"rpamount}} {{effect.limit | rpcurrency}}" -msgstr "" -"You now trust {{effect.counterparty | rpcontactname}} for {{effect.limit | " -"rpamount}} {{effect.limit | rpcurrency}}" +#: src/jade/tabs/history/effects.jade:99 +msgid "Your balance has been changed by{{1}}." +msgstr "Your balance has been changed by{{1}}." -#: src/jade/tabs/balance/effects.jade:28 src/jade/tabs/history/effects.jade:28 -msgid "" -"{{effect.counterparty | rpcontactname}} is trusting you for {{effect.limit " -"| rpamount}} {{effect.limit | rpcurrency}}" -msgstr "" -"{{effect.counterparty | rpcontactname}} is trusting you for {{effect.limit " -"| rpamount}} {{effect.limit | rpcurrency}}" +#: src/jade/tabs/jpy.jade:38 +msgid "Japanese Yen Deposit" +msgstr "Japanese Yen Deposit" -#: src/jade/tabs/balance/effects.jade:30 src/jade/tabs/history/effects.jade:30 -msgid "" -"You have changed {{effect.limit | rpcurrency}} trust for {{effect." -"counterparty | rpcontactname}} from {{effect.prevLimit | rpamount}} to " -"{{effect.limit | rpamount}}" -msgstr "" -"You have changed {{effect.limit | rpcurrency}} trust for {{effect." -"counterparty | rpcontactname}} from {{effect.prevLimit | rpamount}} to " -"{{effect.limit | rpamount}}" +#: src/jade/tabs/jpy.jade:42 +msgid "Tokyo JPY Issuer (~tokyojpy) {{1}}" +msgstr "Tokyo JPY Issuer (~tokyojpy) {{1}}" -#: src/jade/tabs/balance/effects.jade:33 src/jade/tabs/history/effects.jade:33 +#: src/jade/tabs/jpy.jade:59 msgid "" -"{{effect.counterparty | rpcontactname}} changed the {{effect.limit | " -"rpcurrency}} trust from {{effect.prevLimit | rpamount}} to {{effect.limit | " -"rpamount}}" -msgstr "" -"{{effect.counterparty | rpcontactname}} changed the {{effect.limit | " -"rpcurrency}} trust from {{effect.prevLimit | rpamount}} to {{effect.limit | " -"rpamount}}" +"Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to" +" JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your" +" behalf." +msgstr "Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your behalf." -#: src/jade/tabs/balance/effects.jade:36 src/jade/tabs/history/effects.jade:36 -msgid "" -"Trust balance between you and {{effect.counterparty | rpcontactname}} has " -"been changed by {{effect.amount | rpamount}} {{effect.amount | rpcurrency}}" -msgstr "" -"Trust balance between you and {{effect.counterparty | rpcontactname}} has " -"been changed by {{effect.amount | rpamount}} {{effect.amount | rpcurrency}}" +#: src/jade/tabs/jpy.jade:78 +msgid "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" +msgstr "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" -#: src/jade/tabs/balance/effects.jade:40 src/jade/tabs/history/effects.jade:40 -msgid "" -"Your balance has been changed by {{effect.amount | rpamount}} {{effect." -"amount | rpcurrency}}" -msgstr "" -"Your balance has been changed by {{effect.amount | rpamount}} {{effect." -"amount | rpcurrency}}" +#: src/jade/tabs/jpy.jade:79 +msgid "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" +msgstr "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" -#: src/jade/tabs/contacts.jade:4 src/jade/tabs/contacts.jade:15 -msgid "Name" -msgstr "Name" +#: src/jade/tabs/jpy.jade:84 +msgid "A valid government-issued ID." +msgstr "A valid government-issued ID." -#: src/jade/tabs/contacts.jade:5 src/jade/tabs/contacts.jade:22 -msgid "Address" -msgstr "Address" +#: src/jade/tabs/jpy.jade:86 +msgid "A proof of address (utility bill, etc)." +msgstr "A proof of address (utility bill, etc)." -#: src/jade/tabs/contacts.jade:7 src/jade/tabs/contacts.jade:10 -#: src/jade/tabs/contacts.jade:37 src/jade/tabs/login.jade:45 -#: src/jade/tabs/login.jade:44 -msgid "Add contact" -msgstr "Add contact" +#: src/jade/tabs/jpy.jade:88 +msgid "A bank account under the same name." +msgstr "A bank account under the same name." -#: src/jade/tabs/contacts.jade:18 -msgid "Please enter a name." -msgstr "Please enter a name." +#: src/jade/tabs/jpy.jade:90 +msgid "EXISTING TOKYO JPY ISSUER CUSTOMERS" +msgstr "EXISTING TOKYO JPY ISSUER CUSTOMERS" -#: src/jade/tabs/contacts.jade:19 src/jade/tabs/contacts.jade:44 -#: src/jade/tabs/send.jade:205 src/jade/tabs/send.jade:276 -#: src/jade/tabs/trust.jade:174 src/jade/tabs/send.jade:200 -#: src/jade/tabs/send.jade:271 -msgid "You already have a contact with the same name." -msgstr "You already have a contact with the same name." +#: src/jade/tabs/jpy.jade:100 +msgid "" +"Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details" +" {{1}}" +msgstr "Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details {{1}}" -#: src/jade/tabs/contacts.jade:25 -msgid "Please enter an address." -msgstr "Please enter an address." +#: src/jade/tabs/jpy.jade:103 +msgid "" +"To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account " +"and then initiate a transfer into your Ripple account." +msgstr "To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account and then initiate a transfer into your Ripple account." -#: src/jade/tabs/contacts.jade:26 -msgid "You already have a contact with the same address." -msgstr "You already have a contact with the same address." +#: src/jade/tabs/jpy.jade:105 +msgid "" +"To withdraw to a bank account, you’ll first send money from your Ripple " +"account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo " +"JPY Issuer site to send to your bank account." +msgstr "To withdraw to a bank account, you’ll first send money from your Ripple account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo JPY Issuer site to send to your bank account." -#: src/jade/tabs/contacts.jade:27 src/jade/tabs/contacts.jade:53 -msgid "Not a valid address." -msgstr "Not a valid address." +#: src/jade/tabs/kyc.jade:14 +msgid "Profile completion is only available to US residents." +msgstr "Profile completion is only available to US residents." -#: src/jade/tabs/contacts.jade:29 src/jade/tabs/contacts.jade:55 -#: src/jade/tabs/send.jade:34 -msgid "Destination tag" -msgstr "Destination tag" +#: src/jade/tabs/kyc.jade:21 src/jade/tabs/trade.jade:285 +msgid "Verifying your information. Please wait..." +msgstr "Verifying your information. Please wait..." -#: src/jade/tabs/contacts.jade:32 src/jade/tabs/send.jade:37 -msgid "Invalid destination tag" -msgstr "Invalid destination tag" +#: src/jade/tabs/kyc.jade:23 +msgid "Your identity information has been verified." +msgstr "Your identity information has been verified." -#: src/jade/tabs/contacts.jade:35 src/jade/tabs/contacts.jade:73 -#: src/jade/tabs/send.jade:211 src/jade/tabs/send.jade:282 -#: src/jade/tabs/trade.jade:251 src/jade/tabs/trust.jade:76 -#: src/jade/tabs/send.jade:206 src/jade/tabs/send.jade:277 -#: src/jade/tabs/trade.jade:247 -msgid "Cancel" -msgstr "Cancel" +#: src/jade/tabs/kyc.jade:25 +msgid "Your identity questions have been verified." +msgstr "Your identity questions have been verified." -#: src/jade/tabs/contacts.jade:52 -msgid "You already have this address." -msgstr "You already have this address." +#: src/jade/tabs/kyc.jade:27 +msgid "" +"Congratulations, you've verified your identity! You will now be redirected " +"back to the instant deposit page." +msgstr "Congratulations, you've verified your identity! You will now be redirected back to the instant deposit page." -#: src/jade/tabs/contacts.jade:58 -msgid "Invalid destination tag." -msgstr "Invalid destination tag." +#: src/jade/tabs/kyc.jade:29 +msgid "There was an error with your request. Please try again later." +msgstr "There was an error with your request. Please try again later." -#: src/jade/tabs/contacts.jade:62 -msgid "Delete" -msgstr "Delete" +#: src/jade/tabs/kyc.jade:31 +msgid "" +"There was an error with your request. Make sure your phone number is valid " +"and try again." +msgstr "There was an error with your request. Make sure your phone number is valid and try again." -#: src/jade/tabs/contacts.jade:64 src/jade/tabs/options.jade:47 -#: src/jade/tabs/send.jade:210 src/jade/tabs/send.jade:281 -#: src/jade/tabs/trust.jade:179 src/jade/tabs/send.jade:205 -#: src/jade/tabs/send.jade:276 -msgid "Save" -msgstr "Save" +#: src/jade/tabs/kyc.jade:33 +msgid "Please check your verification code and try again." +msgstr "Please check your verification code and try again." -#: src/jade/tabs/contacts.jade:71 -msgid "Edit" -msgstr "Edit" +#: src/jade/tabs/kyc.jade:35 +msgid "" +"There was an error while requesting the verification code. Please try again " +"later." +msgstr "There was an error while requesting the verification code. Please try again later." -#: src/jade/tabs/contacts.jade:76 +#: src/jade/tabs/kyc.jade:37 msgid "" -"You don't have any contacts yet. Click on \"Add contact\" button in the top " -"right corner to add a new contact." -msgstr "" -"You don't have any contacts yet. Click on \"Add contact\" button in the top " -"right corner to add a new contact." +"We are unable to validate your identity information. Please check your " +"information and try again." +msgstr "We are unable to validate your identity information. Please check your information and try again." -#: src/jade/tabs/convert.jade:13 src/jade/tabs/gateways.jade:13 -msgid "You have to be funded before you can convert money" -msgstr "You have to be funded before you can convert money" +#: src/jade/tabs/kyc.jade:39 +msgid "" +"We are unable to validate your identity questions. Please check your answers" +" and try again." +msgstr "We are unable to validate your identity questions. Please check your answers and try again." -#: src/jade/tabs/convert.jade:14 src/jade/tabs/convert.jade:151 -#: src/jade/tabs/gateways.jade:14 src/jade/tabs/send.jade:12 -#: src/jade/tabs/send.jade:216 src/jade/tabs/send.jade:287 -#: src/jade/tabs/trust.jade:18 src/jade/tabs/trust.jade:130 -#: src/jade/tabs/send.jade:211 src/jade/tabs/send.jade:282 -msgid "Back to balance" -msgstr "Back to balance" +#: src/jade/tabs/kyc.jade:41 +msgid "" +"Sorry, you've reached your maximum number of verification attempts. Please " +"try again in 24 hours." +msgstr "Sorry, you've reached your maximum number of verification attempts. Please try again in 24 hours." -#: src/jade/tabs/convert.jade:19 -msgid "Convert one currency into another." -msgstr "Convert one currency into another." +#: src/jade/tabs/kyc.jade:43 +msgid "" +"We can't verify your identity. Please contact us at support@ripple.com." +msgstr "We can't verify your identity. Please contact us at support@ripple.com." -#: src/jade/tabs/convert.jade:29 src/jade/tabs/send.jade:70 -#: src/jade/tabs/send.jade:65 -msgid "Please enter an amount." -msgstr "Please enter an amount." +#: src/jade/tabs/kyc.jade:48 +msgid "Profile Completion" +msgstr "Profile Completion" -#: src/jade/tabs/convert.jade:30 src/jade/tabs/send.jade:71 -#: src/jade/tabs/trade.jade:112 src/jade/tabs/trade.jade:125 -#: src/jade/tabs/trade.jade:138 src/jade/tabs/send.jade:66 -#: src/jade/tabs/trade.jade:108 src/jade/tabs/trade.jade:121 -#: src/jade/tabs/trade.jade:134 -msgid "Not a valid amount." -msgstr "Not a valid amount." +#: src/jade/tabs/kyc.jade:52 +msgid "STEP 1: IDENTITY INFORMATION" +msgstr "STEP 1: IDENTITY INFORMATION" -#: src/jade/tabs/convert.jade:31 -msgid "Please enter an amount greater than zero." -msgstr "Please enter an amount greater than zero." +#: src/jade/tabs/kyc.jade:54 +msgid "STEP 2: IDENTITY QUESTIONS" +msgstr "STEP 2: IDENTITY QUESTIONS" -#: src/jade/tabs/convert.jade:33 -msgid "Please enter the conversion details." -msgstr "Please enter the conversion details." +#: src/jade/tabs/kyc.jade:56 +msgid "STEP 3: TWO-FACTOR AUTHENTICATION" +msgstr "STEP 3: TWO-FACTOR AUTHENTICATION" -#: src/jade/tabs/convert.jade:34 -msgid "Calculating..." -msgstr "Calculating..." +#: src/jade/tabs/kyc.jade:63 +msgid "First Name" +msgstr "First Name" -#: src/jade/tabs/convert.jade:36 -msgid "" -"Sorry! Cannot convert {{convert.amount}} {{convert.currency}}. Please make " -"sure your account has enough funds, and a {{1}} to a {{convert.currency}} " -"gateway." -msgstr "" -"Sorry! Cannot convert {{convert.amount}} {{convert.currency}}. Please make " -"sure your account has enough funds, and a {{1}} to a {{convert." -"currency}} gateway." +#: src/jade/tabs/kyc.jade:67 +msgid "Last Name" +msgstr "Last Name" -#: src/jade/tabs/convert.jade:40 src/jade/tabs/send.jade:112 -#: src/jade/tabs/send.jade:107 -msgid "Error while calculating path" -msgstr "Error while calculating path" +#: src/jade/tabs/kyc.jade:71 +msgid "Street Address" +msgstr "Street Address" -#: src/jade/tabs/convert.jade:49 -msgid "Convert {{ alt.amount | rpcurrency }}" -msgstr "Convert {{ alt.amount | rpcurrency }}" +#: src/jade/tabs/kyc.jade:76 +msgid "City" +msgstr "City" -#: src/jade/tabs/convert.jade:54 -msgid "Ripple is calculating a path for your conversion." -msgstr "Ripple is calculating a path for your conversion." +#: src/jade/tabs/kyc.jade:80 +msgid "State" +msgstr "State" -#: src/jade/tabs/convert.jade:59 -msgid "You are converting" -msgstr "You are converting" +#: src/jade/tabs/kyc.jade:84 +msgid "ZIP" +msgstr "ZIP" -#: src/jade/tabs/convert.jade:63 -msgid "to" -msgstr "to" +#: src/jade/tabs/kyc.jade:88 +msgid "Date of Birth" +msgstr "Date of Birth" -#: src/jade/tabs/convert.jade:67 src/jade/tabs/send.jade:152 -#: src/jade/tabs/send.jade:147 -msgid "You will pay at most" -msgstr "You will pay at most" +#: src/jade/tabs/kyc.jade:92 +msgid "Month{{1}}" +msgstr "Month{{1}}" -#: src/jade/tabs/convert.jade:72 src/jade/tabs/send.jade:158 -#: src/jade/tabs/send.jade:153 -msgid "Are you sure?" -msgstr "Are you sure?" +#: src/jade/tabs/kyc.jade:95 +msgid "Day{{1}}" +msgstr "Day{{1}}" -#: src/jade/tabs/convert.jade:75 src/jade/tabs/convert.jade:97 -#: src/jade/tabs/send.jade:161 src/jade/tabs/send.jade:190 -#: src/jade/tabs/trade.jade:170 src/jade/tabs/trust.jade:114 -#: src/jade/tabs/trust.jade:134 src/jade/tabs/send.jade:156 -#: src/jade/tabs/send.jade:185 src/jade/tabs/trade.jade:166 -msgid "« Back" -msgstr "« Back" +#: src/jade/tabs/kyc.jade:98 +msgid "Year{{1}}" +msgstr "Year{{1}}" -#: src/jade/tabs/convert.jade:77 src/jade/tabs/send.jade:164 -#: src/jade/tabs/trade.jade:50 src/jade/tabs/trade.jade:60 -#: src/jade/tabs/trade.jade:172 src/jade/tabs/trust.jade:116 -#: src/jade/tabs/send.jade:159 src/jade/tabs/trade.jade:168 -msgid "Confirm" -msgstr "Confirm" +#: src/jade/tabs/kyc.jade:113 +msgid "Continue to identity questions" +msgstr "Continue to identity questions" -#: src/jade/tabs/convert.jade:82 src/jade/tabs/send.jade:170 -#: src/jade/tabs/send.jade:165 -msgid "Sending transaction to Ripple network" -msgstr "Sending transaction to Ripple network" +#: src/jade/tabs/kyc.jade:114 src/jade/tabs/kyc.jade:129 +#: src/jade/tabs/kyc.jade:154 src/jade/tabs/kyc.jade:184 +#: src/jade/tabs/login.jade:17 +msgid "Verifying..." +msgstr "Verifying..." -#: src/jade/tabs/convert.jade:84 src/jade/tabs/send.jade:172 -#: src/jade/tabs/trust.jade:123 src/jade/tabs/send.jade:167 -msgid "Stop waiting" -msgstr "Stop waiting" +#: src/jade/tabs/kyc.jade:120 +msgid "{{ q.question }}{{1}}" +msgstr "{{ q.question }}{{1}}" -#: src/jade/tabs/convert.jade:90 src/jade/tabs/send.jade:181 -msgid "No Path" -msgstr "No Path" +#: src/jade/tabs/kyc.jade:123 +msgid "{{ a.answer }}" +msgstr "{{ a.answer }}" -#: src/jade/tabs/convert.jade:91 src/jade/tabs/send.jade:182 -msgid "" -"Ripple was unable to find a path between you and the destination account." -msgstr "" -"Ripple was unable to find a path between you and the destination account." +#: src/jade/tabs/kyc.jade:128 +msgid "Continue to two-factor authentication" +msgstr "Continue to two-factor authentication" -#: src/jade/tabs/convert.jade:93 src/jade/tabs/send.jade:187 -msgid "" -"Sorry, an error occurred while submitting your transaction. Make sure you " -"are connected to the Internet and try again later." -msgstr "" -"Sorry, an error occurred while submitting your transaction. Make sure you " -"are connected to the Internet and try again later." +#: src/jade/tabs/kyc.jade:137 +msgid "Two-factor authentication provides extra security for your account." +msgstr "Two-factor authentication provides extra security for your account." -#: src/jade/tabs/convert.jade:95 +#: src/jade/tabs/kyc.jade:145 msgid "" -"Before trying again, please ensure that the transaction has not been " -"executed already." -msgstr "" -"Before trying again, please ensure that the transaction has not been " -"executed already." +"Ripple Trade has partnered with Authy to provide better security for your " +"account.By continuing, you agree to Authy's {{1:Terms of Service}}." +msgstr "Ripple Trade has partnered with Authy to provide better security for your account.By continuing, you agree to Authy's {{1:Terms of Service}}." -#: src/jade/tabs/convert.jade:104 src/jade/tabs/send.jade:224 -#: src/jade/tabs/send.jade:219 -msgid "Your account balance will update once the payment has cleared." -msgstr "Your account balance will update once the payment has cleared." +#: src/jade/tabs/kyc.jade:153 +msgid "Verify phone number" +msgstr "Verify phone number" -#: src/jade/tabs/convert.jade:111 src/jade/tabs/send.jade:231 -#: src/jade/tabs/send.jade:226 -msgid "Transaction could not be submitted!" -msgstr "Transaction could not be submitted!" +#: src/jade/tabs/kyc.jade:164 +msgid "change" +msgstr "change" -#: src/jade/tabs/convert.jade:112 src/jade/tabs/send.jade:232 -#: src/jade/tabs/send.jade:227 +#: src/jade/tabs/kyc.jade:168 msgid "" -"We were unable to submit the transaction to the server. Please try again " -"later." -msgstr "" -"We were unable to submit the transaction to the server. Please try again " -"later." +"A verification code has been sent to +{{ currentCountryCode }} {{ " +"phoneNumber }}." +msgstr "A verification code has been sent to +{{ currentCountryCode }} {{ phoneNumber }}." -#: src/jade/tabs/convert.jade:138 src/jade/tabs/send.jade:264 -#: src/jade/tabs/send.jade:259 -msgid "Your transaction failed to clear, reason: {{engine_result_message}}" -msgstr "Your transaction failed to clear, reason: {{engine_result_message}}" +#: src/jade/tabs/kyc.jade:172 src/jade/tabs/login/form.jade:16 +#: src/jade/tabs/security.jade:97 +msgid "Verification Code" +msgstr "Verification Code" -#: src/jade/tabs/convert.jade:149 -msgid "Do another conversion" -msgstr "Do another conversion" +#: src/jade/tabs/kyc.jade:183 +msgid "Submit code" +msgstr "Submit code" -#: src/jade/tabs/gateways.jade:24 -msgid "" -"ZipZap, Inc. is a cash payment network, enabling users to use cash to fill " -"up the ripple balance. Users can complete transactions conveniently and " -"easily at one of ZipZap’s Payment Center locations." -msgstr "" -"ZipZap, Inc. is a cash payment network, enabling users to use cash to fill " -"up the ripple balance. Users can complete transactions conveniently and " -"easily at one of ZipZap’s Payment Center locations." +#: src/jade/tabs/login.jade:4 src/jade/tabs/migrate.jade:4 +#: src/jade/tabs/recover.jade:3 src/jade/tabs/register.jade:5 +#: src/jade/tabs/register.jade:137 src/jade/tabs/register.jade:184 +msgid "Welcome to Ripple Trade" +msgstr "Welcome to Ripple Trade" -#: src/jade/tabs/gateways.jade:32 src/jade/tabs/register.jade:95 -#: src/jade/tabs/security.jade:33 src/jade/tabs/security.jade:52 -msgid "Show" -msgstr "Show" +#: src/jade/tabs/login.jade:6 src/jade/tabs/migrate.jade:6 +#: src/jade/tabs/recover.jade:5 src/jade/tabs/register.jade:7 +#: src/jade/tabs/register.jade:139 src/jade/tabs/register.jade:186 +msgid "Trade hundreds of assets, from XRP to crypto to gold to fiat." +msgstr "Trade hundreds of assets, from XRP to crypto to gold to fiat." -#: src/jade/tabs/gateways.jade:33 -msgid "Hide Details" -msgstr "Hide Details" +#: src/jade/tabs/login.jade:15 src/jade/tabs/login.jade:31 +msgid "Log In" +msgstr "Log In" -#: src/jade/tabs/gateways.jade:35 -msgid "Sign Up" -msgstr "Sign Up" +#: src/jade/tabs/login.jade:18 +msgid "You have successfully verified your email address." +msgstr "You have successfully verified your email address." -#: src/jade/tabs/gateways.jade:62 +#: src/jade/tabs/login.jade:19 msgid "" -"Present the ZipZap account number to the cashier on any payment center. " -"ZipZap will confirm with you that your payment has been received and that " -"your transaction is complete." -msgstr "" -"Present the ZipZap account number to the cashier on any payment center. " -"ZipZap will confirm with you that your payment has been received and that " -"your transaction is complete." +"Email verification token is invalid. It has either expired or has been " +"resent. Please check your inbox for the most recent verification email." +msgstr "Email verification token is invalid. It has either expired or has been resent. Please check your inbox for the most recent verification email." -#: src/jade/tabs/gateways.jade:63 -msgid "Locate a payment center" -msgstr "Locate a payment center" +#: src/jade/tabs/login.jade:30 +msgid "Logging in" +msgstr "Logging in" -#: src/jade/tabs/gateways.jade:67 -msgid "Search!" -msgstr "Search!" +#: src/jade/tabs/login.jade:34 +msgid "Verify" +msgstr "Verify" -#: src/jade/tabs/gateways.jade:72 -msgid "show on map" -msgstr "show on map" +#: src/jade/tabs/login.jade:36 src/jade/tabs/register.jade:114 +msgid "Already have a ripple.com/client account? {{1:Migrate}}" +msgstr "Already have a ripple.com/client account? {{1:Migrate}}" -#: src/jade/tabs/gateways.jade:73 +#: src/jade/tabs/login.jade:41 src/jade/tabs/login.jade:42 +#: src/jade/tabs/recover.jade:9 +msgid "Account Recovery" +msgstr "Account Recovery" + +#: src/jade/tabs/login.jade:49 +msgid "{{1:You're sending money to}}{{2}}." +msgstr "{{1:You're sending money to}}{{2}}." + +#: src/jade/tabs/login.jade:53 +msgid "{{1:You're sending}}{{2}}{{3: to }}{{4}}." +msgstr "{{1:You're sending}}{{2}}{{3: to }}{{4}}." + +#: src/jade/tabs/login.jade:63 msgid "" -"Address: {{location.Address}}, {{location.City}}, {{location.State}}, " -"{{location.PostalCode}}." -msgstr "" -"Address: {{location.Address}}, {{location.City}}, {{location.State}}, " -"{{location.PostalCode}}." +"{{1:You're connecting to the gateway}}{{2}}{{3:for{{1}}}}{{4:with a limit " +"of{{1}}}}." +msgstr "{{1:You're connecting to the gateway}}{{2}}{{3:for{{1}}}}{{4:with a limit of{{1}}}}." -#: src/jade/tabs/gateways.jade:74 -msgid "Phone: {{location.Phone}}" -msgstr "Phone: {{location.Phone}}" +#: src/jade/tabs/login.jade:78 +msgid "{{1:You're adding}}{{2}}{{3:to your contacts list}}" +msgstr "{{1:You're adding}}{{2}}{{3:to your contacts list}}" -#: src/jade/tabs/gateways.jade:75 -msgid "Sorry, there are no payment centers for your query." -msgstr "Sorry, there are no payment centers for your query." +#: src/jade/tabs/login.jade:95 +msgid "{{1}} Log In" +msgstr "{{1}} Log In" -#: src/jade/tabs/gateways.jade:151 -msgid "Signup" -msgstr "Signup" +#: src/jade/tabs/login.jade:98 +msgid "You can confirm this transaction on the next page." +msgstr "You can confirm this transaction on the next page." -#: src/jade/tabs/history.jade:10 -msgid "Loading history..." -msgstr "Loading history..." +#: src/jade/tabs/login.jade:99 +msgid "New to {{productName}}? {{1:Create a wallet}}" +msgstr "New to {{productName}}? {{1:Create a wallet}}" -#: src/jade/tabs/history.jade:15 -msgid "Your account history is empty" -msgstr "Your account history is empty" +#: src/jade/tabs/login/form.jade:12 src/jade/tabs/security.jade:91 +msgid "" +"Please enter the verification code from the SMS message sent to your device:" +msgstr "Please enter the verification code from the SMS message sent to your device:" -#: src/jade/tabs/history.jade:23 -msgid "Transaction type: {{1}} {{2}} {{3}}" -msgstr "Transaction type: {{1}} {{2}} {{3}}" +#: src/jade/tabs/login/form.jade:13 src/jade/tabs/security.jade:92 +msgid "" +"Please enter the verification code from the Authy app installed on your " +"device:" +msgstr "Please enter the verification code from the Authy app installed on your device:" -#: src/jade/tabs/history.jade:25 src/jade/tabs/history.jade:29 -#: src/jade/tabs/history.jade:33 src/jade/tabs/history.jade:37 -msgid "Change" -msgstr "Change" +#: src/jade/tabs/login/form.jade:23 +msgid "Resend" +msgstr "Resend" -#: src/jade/tabs/history.jade:26 src/jade/tabs/history.jade:30 -#: src/jade/tabs/history.jade:34 src/jade/tabs/history.jade:38 -#: src/jade/tabs/register.jade:96 src/jade/tabs/security.jade:34 -#: src/jade/tabs/security.jade:53 -msgid "Hide" -msgstr "Hide" +#: src/jade/tabs/login/form.jade:24 src/jade/tabs/security.jade:105 +msgid "Send Via SMS" +msgstr "Send Via SMS" -#: src/jade/tabs/history.jade:27 -msgid "Currency: {{1}} {{2}} {{3}}" -msgstr "Currency: {{1}} {{2}} {{3}}" +#: src/jade/tabs/login/form.jade:30 +msgid "Remember me on this device for 30 days" +msgstr "Remember me on this device for 30 days" -#: src/jade/tabs/history.jade:31 -msgid "Date: {{1}} {{2}} {{3}}" -msgstr "Date: {{1}} {{2}} {{3}}" +#: src/jade/tabs/migrate.jade:10 src/jade/tabs/register.jade:17 +#: src/jade/tabs/register.jade:142 src/jade/tabs/register.jade:189 +msgid "Migrate" +msgstr "Migrate" -#: src/jade/tabs/history.jade:35 -msgid "Minimum Amount: {{1}} {{2}} {{3}}" -msgstr "Minimum Amount: {{1}} {{2}} {{3}}" +#: src/jade/tabs/migrate.jade:11 +msgid "" +"To begin migration, enter the name and passphrase used to encrypt your " +"ripple.com/client wallet below. After migration, you will no longer be able " +"to login on ripple.com/client." +msgstr "To begin migration, enter the name and passphrase used to encrypt your ripple.com/client wallet below. After migration, you will no longer be able to login on ripple.com/client." -#: src/jade/tabs/history.jade:57 -msgid "Load history for specific date range" -msgstr "Load history for specific date range" +#: src/jade/tabs/migrate.jade:15 +msgid "Existing ripple.com/client Wallet name" +msgstr "Existing ripple.com/client Wallet name" -#: src/jade/tabs/history.jade:62 -msgid "From" -msgstr "From" +#: src/jade/tabs/migrate.jade:18 +msgid "Passphrase" +msgstr "Passphrase" -#: src/jade/tabs/history.jade:67 -msgid "To" -msgstr "To" +#: src/jade/tabs/migrate.jade:31 +msgid "Begin Migration" +msgstr "Begin Migration" -#: src/jade/tabs/history.jade:70 src/jade/tabs/history.jade:77 -msgid "Filter" -msgstr "Filter" +#: src/jade/tabs/migrate.jade:32 +msgid "New to {{productName}}? {{1:Sign Up}}" +msgstr "New to {{productName}}? {{1:Sign Up}}" -#: src/jade/tabs/history.jade:72 -msgid "Minimum amount filter" -msgstr "Minimum amount filter" +#: src/jade/tabs/migrate.jade:34 +msgid "Have a {{productName}} account? {{1:Log In}}" +msgstr "Have a {{productName}} account? {{1:Log In}}" -#: src/jade/tabs/history.jade:84 src/jade/tabs/history.jade:150 -msgid "Description" -msgstr "Description" +#: src/jade/tabs/mxn.jade:38 +msgid "Mexican Peso Deposit" +msgstr "Mexican Peso Deposit" -#: src/jade/tabs/history.jade:85 -msgid "Sorry, no transactions match your current filter." -msgstr "Sorry, no transactions match your current filter." +#: src/jade/tabs/mxn.jade:42 +msgid "Bitso (~bitso) {{1}}{{2}}" +msgstr "Bitso (~bitso) {{1}}{{2}}" -#: src/jade/tabs/history.jade:106 -msgid "{{1}} sent you {{2}}" -msgstr "{{1}} sent you {{2}}" +#: src/jade/tabs/mxn.jade:47 +msgid "All countries except the US" +msgstr "All countries except the US" -#: src/jade/tabs/history.jade:118 -msgid "{{1}} now trusts you for {{2}}" -msgstr "{{1}} now trusts you for {{2}}" +#: src/jade/tabs/mxn.jade:58 +msgid "" +"Ripple Trade has partnered with Bitso to provide easy access to MXN (Mexican" +" Peso). By continuing, you agree with Bitso’s terms of service. Following " +"this action will enable Bitso to hold MXN on your behalf." +msgstr "Ripple Trade has partnered with Bitso to provide easy access to MXN (Mexican Peso). By continuing, you agree with Bitso’s terms of service. Following this action will enable Bitso to hold MXN on your behalf." -#: src/jade/tabs/history.jade:124 -msgid "You now trust {{1}} for {{2}}" -msgstr "You now trust {{1}} for {{2}}" +#: src/jade/tabs/mxn.jade:80 +msgid "TO FUND/REDEEM MEXICAN PESO:" +msgstr "TO FUND/REDEEM MEXICAN PESO:" -#: src/jade/tabs/history.jade:141 -msgid "Account details have been Changed" -msgstr "Account details have been Changed" +#: src/jade/tabs/mxn.jade:82 +msgid "Register or login at {{1}}to initiate deposits and withdrawals." +msgstr "Register or login at {{1}}to initiate deposits and withdrawals." -#: src/jade/tabs/history.jade:148 -msgid "Balance Changes" -msgstr "Balance Changes" +#: src/jade/tabs/mxn.jade:86 +msgid "" +"A valid, non-US, state-issued ID (passport, driver's license, etc)." +msgstr "A valid, non-US, state-issued ID (passport, driver's license, etc)." -#: src/jade/tabs/history.jade:151 -msgid "Issuer" -msgstr "Issuer" +#: src/jade/tabs/mxn.jade:87 +msgid "" +"Proof of address (utility bill or other type of bill that has your address " +"on it). Verification is required for peso deposits or withdrawals." +msgstr "Proof of address (utility bill or other type of bill that has your address on it). Verification is required for peso deposits or withdrawals." -#: src/jade/tabs/history.jade:152 src/jade/tabs/trade.jade:232 -#: src/jade/tabs/trust.jade:54 src/jade/tabs/trade.jade:228 -msgid "Amount" -msgstr "Amount" +#: src/jade/tabs/mxn.jade:89 +msgid "" +"To fund your Ripple account, see the below options. Once a balance is " +"deposited with Bitso, you can send it to your Ripple account using the Bitso" +" Dashboard." +msgstr "To fund your Ripple account, see the below options. Once a balance is deposited with Bitso, you can send it to your Ripple account using the Bitso Dashboard." -#: src/jade/tabs/history.jade:153 -msgid "Final balance" -msgstr "Final balance" +#: src/jade/tabs/mxn.jade:90 +msgid "" +"To withdraw from your Ripple account, click on the 'Redeem from Ripple' " +"button on the Bitso Dashboard." +msgstr "To withdraw from your Ripple account, click on the 'Redeem from Ripple' button on the Bitso Dashboard." -#: src/jade/tabs/history.jade:156 -msgid "XRP balance Change" -msgstr "XRP balance Change" +#: src/jade/tabs/mxn.jade:92 src/jade/tabs/usd.jade:89 +msgid "DEPOSIT OPTIONS" +msgstr "DEPOSIT OPTIONS" -#: src/jade/tabs/history.jade:157 -msgid "{{effect.currency}} balance Change" -msgstr "{{effect.currency}} balance Change" +#: src/jade/tabs/mxn.jade:94 +msgid "Bitso accepts deposits by the following methods:" +msgstr "Bitso accepts deposits by the following methods:" -#: src/jade/tabs/history.jade:158 -msgid "Fee" -msgstr "Fee" +#: src/jade/tabs/mxn.jade:96 src/jade/tabs/mxn.jade:106 +msgid "Bank Wire" +msgstr "Bank Wire" -#: src/jade/tabs/history.jade:163 -msgid "Transaction details" -msgstr "Transaction details" +#: src/jade/tabs/mxn.jade:97 src/jade/tabs/mxn.jade:107 +msgid "SPEI (Mexican instant inter-bank transfer)" +msgstr "SPEI (Mexican instant inter-bank transfer)" -#: src/jade/tabs/history.jade:164 -msgid "Add {{1}} to contact list" -msgstr "Add {{1}} to contact list" +#: src/jade/tabs/mxn.jade:98 src/jade/tabs/mxn.jade:108 +msgid "Bitcoin" +msgstr "Bitcoin" -#: src/jade/tabs/history.jade:172 -msgid "No more transactions left" -msgstr "No more transactions left" +#: src/jade/tabs/mxn.jade:99 +msgid "MXN Cash (at locations across Mexico)" +msgstr "MXN Cash (at locations across Mexico)" -#: src/jade/tabs/login.jade:4 src/jade/tabs/login.jade:26 -#: src/jade/tabs/login.jade:93 src/jade/tabs/login.jade:25 -#: src/jade/tabs/login.jade:92 -msgid "Open Wallet" -msgstr "Open Wallet" +#: src/jade/tabs/mxn.jade:100 +msgid "Pademobile wallet" +msgstr "Pademobile wallet" -#: src/jade/tabs/login.jade:8 -msgid "Enter the Name and Passphrase used to encrypt your Wallet below." -msgstr "Enter the Name and Passphrase used to encrypt your Wallet below." +#: src/jade/tabs/mxn.jade:102 src/jade/tabs/usd.jade:99 +msgid "WITHDRAWAL OPTIONS" +msgstr "WITHDRAWAL OPTIONS" -#: src/jade/tabs/login.jade:29 src/jade/tabs/login.jade:28 -msgid "Fetch wallet from" -msgstr "Fetch wallet from" +#: src/jade/tabs/mxn.jade:104 +msgid "Bitso offers withdrawals via the following methods:" +msgstr "Bitso offers withdrawals via the following methods:" -#: src/jade/tabs/login.jade:32 src/jade/tabs/login.jade:79 -#: src/jade/tabs/register.jade:52 src/jade/tabs/login.jade:31 -#: src/jade/tabs/login.jade:78 -msgid "change" -msgstr "change" +#: src/jade/tabs/recover.jade:11 +msgid "" +"You can only recover your Ripple Trade account with a secret key. You will " +"recover the account's Ripple name, contacts and other information." +msgstr "You can only recover your Ripple Trade account with a secret key. You will recover the account's Ripple name, contacts and other information." -#: src/jade/tabs/login.jade:35 src/jade/tabs/login.jade:82 -#: src/jade/tabs/login.jade:34 src/jade/tabs/login.jade:81 -msgid "ok" -msgstr "ok" +#: src/jade/tabs/recover.jade:13 src/jade/tabs/recover.jade:33 +msgid "Ripple Name" +msgstr "Ripple Name" -#: src/jade/tabs/login.jade:39 -msgid "New to ripple?" -msgstr "New to ripple? " +#: src/jade/tabs/recover.jade:18 +msgid "Secret Key" +msgstr "Secret Key" -#: src/jade/tabs/login.jade:40 src/jade/tabs/login.jade:39 -msgid "Create a wallet" -msgstr "Create a wallet" +#: src/jade/tabs/recover.jade:21 +msgid "Unable to recover account." +msgstr "Unable to recover account." -#: src/jade/tabs/login.jade:43 src/jade/tabs/login.jade:42 -msgid "Transaction summary" -msgstr "Transaction summary" +#: src/jade/tabs/recover.jade:27 src/jade/tabs/register.jade:95 +msgid "Recover Account" +msgstr "Recover Account" -#: src/jade/tabs/login.jade:44 src/jade/tabs/trust.jade:78 -#: src/jade/tabs/login.jade:43 -msgid "Grant Trust" -msgstr "Grant Trust" +#: src/jade/tabs/recover.jade:29 src/jade/tabs/recover.jade:56 +msgid "Set Password" +msgstr "Set Password" -#: src/jade/tabs/login.jade:50 src/jade/tabs/login.jade:49 -msgid "you will send" -msgstr "you will send" +#: src/jade/tabs/recover.jade:31 +msgid "" +"Your account was sucessfully recovered. Please re-encrypt your account with " +"a new password." +msgstr "Your account was sucessfully recovered. Please re-encrypt your account with a new password." -#: src/jade/tabs/login.jade:51 src/jade/tabs/login.jade:50 -msgid "you will send money to the ripple address" -msgstr "you will send money to the ripple address" +#: src/jade/tabs/recover.jade:41 src/jade/tabs/register.jade:62 +#: src/jade/tabs/security.jade:132 +msgid "" +"Your password is weak. It does not contain numbers and symbols or it is too " +"short." +msgstr "Your password is weak. It does not contain numbers and symbols or it is too short." -#: src/jade/tabs/login.jade:55 src/jade/tabs/login.jade:54 -msgid "To the ripple address" -msgstr "To the ripple address" +#: src/jade/tabs/recover.jade:43 src/jade/tabs/register.jade:65 +#: src/jade/tabs/security.jade:134 +msgid "" +"Your Ripple name and password cannot match. Please create a new password." +msgstr "Your Ripple name and password cannot match. Please create a new password." -#: src/jade/tabs/login.jade:59 src/jade/tabs/login.jade:58 -msgid "you will trust" -msgstr "you will trust" +#: src/jade/tabs/recover.jade:45 src/jade/tabs/register.jade:67 +#: src/jade/tabs/security.jade:136 +msgid "Confirm password" +msgstr "Confirm password" -#: src/jade/tabs/login.jade:63 src/jade/tabs/login.jade:62 -msgid "To ripple address" -msgstr "To ripple address" +#: src/jade/tabs/recover.jade:48 src/jade/tabs/register.jade:71 +#: src/jade/tabs/security.jade:139 +msgid "Passwords do not match" +msgstr "Passwords do not match" -#: src/jade/tabs/login.jade:64 src/jade/tabs/login.jade:63 -msgid "To {{$routeParams.name}} with a ripple address" -msgstr "To {{$routeParams.name}} with a ripple address" +#: src/jade/tabs/recover.jade:50 +msgid "Unable to change your account password." +msgstr "Unable to change your account password." -#: src/jade/tabs/login.jade:68 src/jade/tabs/trust.jade:91 -#: src/jade/tabs/login.jade:67 -msgid "{{1}} {{2}} {{3}}" -msgstr "{{1}} {{2}} {{3}}" +#: src/jade/tabs/recover.jade:55 +msgid "Updating..." +msgstr "Updating..." -#: src/jade/tabs/login.jade:94 src/jade/tabs/login.jade:93 -msgid "You can confirm this transaction on the next page." -msgstr "You can confirm this transaction on the next page." +#: src/jade/tabs/recover.jade:57 +msgid "Remember your password? {{1:Log In}}" +msgstr "Remember your password? {{1:Log In}}" -#: src/jade/tabs/login.jade:95 -msgid "New to ripple? {{1}}" -msgstr "New to ripple? {{1}}" +#: src/jade/tabs/register.jade:13 src/jade/tabs/register.jade:109 +#: src/jade/tabs/register.jade:141 src/jade/tabs/register.jade:188 +msgid "Sign Up" +msgstr "Sign Up" -#: src/jade/tabs/login/form.jade:2 -msgid "Wallet name" -msgstr "Wallet name" +#: src/jade/tabs/register.jade:19 src/jade/tabs/register.jade:21 +#: src/jade/tabs/register.jade:23 src/jade/tabs/register.jade:146 +#: src/jade/tabs/register.jade:148 src/jade/tabs/register.jade:191 +#: src/jade/tabs/register.jade:193 src/jade/tabs/register.jade:195 +msgid "Step {{1}}" +msgstr "Step {{1}}" -#: src/jade/tabs/login/form.jade:5 -msgid "Passphrase" -msgstr "Passphrase" +#: src/jade/tabs/register.jade:26 +msgid "Create Ripple name" +msgstr "Create Ripple name" -#: src/jade/tabs/options.jade:8 -msgid "Ripple Servers" -msgstr "Ripple Servers" +#: src/jade/tabs/register.jade:27 +msgid "" +"Please choose a Ripple name below. You will use this Ripple name to login to" +" Ripple Trade, so remember it! Ripple names are unique and public, like your" +" current Ripple address. {{1}}" +msgstr "Please choose a Ripple name below. You will use this Ripple name to login to Ripple Trade, so remember it! Ripple names are unique and public, like your current Ripple address. {{1}}" -#: src/jade/tabs/options.jade:12 -msgid "WebSocket hostname, port, secure" -msgstr "WebSocket hostname, port, secure" +#: src/jade/tabs/register.jade:28 +msgid "Learn More" +msgstr "Learn More" -#: src/jade/tabs/options.jade:18 -msgid "Socket ip or hostname is invalid." -msgstr "Socket ip or hostname is invalid." +#: src/jade/tabs/register.jade:41 +msgid "Reserved for {{usernameReservedFor}}" +msgstr "Reserved for {{usernameReservedFor}}" -#: src/jade/tabs/options.jade:20 -msgid "Port number is invalid." -msgstr "Port number is invalid." +#: src/jade/tabs/register.jade:43 +msgid "" +"This name belongs to a high-traffic website and has been reserved to prevent" +" phishing." +msgstr "This name belongs to a high-traffic website and has been reserved to prevent phishing." -#: src/jade/tabs/options.jade:24 -msgid "Remove" -msgstr "Remove" +#: src/jade/tabs/register.jade:49 +msgid "You can only use the following characters: a-z, 0-9 and hyphens (-)" +msgstr "You can only use the following characters: a-z, 0-9 and hyphens (-)" -#: src/jade/tabs/options.jade:29 -msgid "Use secure WebSocket" -msgstr "Use secure WebSocket" +#: src/jade/tabs/register.jade:55 +msgid "Cannot use hyphens in a row (--)" +msgstr "Cannot use hyphens in a row (--)" -#: src/jade/tabs/options.jade:32 -msgid "Add new server" -msgstr "Add new server" +#: src/jade/tabs/register.jade:80 +msgid "Email address is invalid" +msgstr "Email address is invalid" -#: src/jade/tabs/options.jade:34 -msgid "Blob Vault" -msgstr "Blob Vault" +#: src/jade/tabs/register.jade:82 src/jade/tabs/security.jade:151 +msgid "Secret key" +msgstr "Secret key" -#: src/jade/tabs/options.jade:37 -msgid "Blob vault URL" -msgstr "Blob vault URL" +#: src/jade/tabs/register.jade:83 src/jade/tabs/send.jade:43 +#: src/jade/tabs/trade.jade:441 +msgid "hide" +msgstr "hide" -#: src/jade/tabs/options.jade:40 -msgid "Anonymous statistics" -msgstr "Anonymous statistics" +#: src/jade/tabs/register.jade:88 +msgid "Secret Account Key is invalid" +msgstr "Secret Account Key is invalid" -#: src/jade/tabs/options.jade:42 src/jade/tabs/register.jade:41 +#: src/jade/tabs/register.jade:90 msgid "" -"Help Ripple Labs make a better product through sending anonymous client " -"usage data." -msgstr "" -"Help Ripple Labs make a better product through sending anonymous client " -"usage data." +"The account ~{{1}}{{2}} has already been created using this secret key." +msgstr "The account ~{{1}}{{2}} has already been created using this secret key." + +#: src/jade/tabs/register.jade:98 +msgid "I agree to the {{productName}} {{1:Terms of Use}}" +msgstr "I agree to the {{productName}} {{1:Terms of Use}}" -#: src/jade/tabs/receive.jade:2 +#: src/jade/tabs/register.jade:101 msgid "" -"This is your public address. Give this address to other users so they can " -"send you money." -msgstr "" -"This is your public address. Give this address to other users so they can " -"send you money." +"Please see our {{1}} to see how we collect, use and share information about " +"you" +msgstr "Please see our {{1}} to see how we collect, use and share information about you" -#: src/jade/tabs/receive.jade:7 -msgid "Tip: {{1:Select}} and copy using Ctrl+C." -msgstr "Tip: {{1:Select}} and copy using Ctrl+C." +#: src/jade/tabs/register.jade:110 +msgid "Migrate Account" +msgstr "Migrate Account" -#: src/jade/tabs/receive.jade:12 -msgid "Copy Address" -msgstr "Copy Address" +#: src/jade/tabs/register.jade:111 +msgid "Need to use your secret key? {{1}}" +msgstr "Need to use your secret key? {{1}}" -#: src/jade/tabs/register.jade:4 -msgid "Create a Ripple Wallet" -msgstr "Create a Ripple Wallet" +#: src/jade/tabs/register.jade:113 +msgid "Use key" +msgstr "Use key" -#: src/jade/tabs/register.jade:5 -msgid "" -"Ripple is a global open payments system — a fast, easy way to send any kind " -"of money to anyone in the world." -msgstr "" -"Ripple is a global open payments system — a fast, easy way to send any kind " -"of money to anyone in the world." +#: src/jade/tabs/register.jade:121 +msgid "An error occurred during registration. Please try again later." +msgstr "An error occurred during registration. Please try again later." -#: src/jade/tabs/register.jade:7 -msgid "" -"Your Wallet is only as safe as your Wallet username and passphrase, used to " -"encrypt your Wallet data. Choose a passphrase you can easily remember but " -"others cannot guess. Hint: Mix letters, numbers, and symbols." -msgstr "" -"Your Wallet is only as safe as your Wallet username and passphrase, used to " -"encrypt your Wallet data. Choose a passphrase you can easily remember but " -"others cannot guess. Hint: Mix letters, numbers, and symbols." +#: src/jade/tabs/register.jade:122 +msgid "The reported error was: {{1}}" +msgstr "The reported error was: {{1}}" -#: src/jade/tabs/register.jade:10 +#: src/jade/tabs/register.jade:131 msgid "" -"Only you have this Wallet username and passphrase and are responsible for " -"their safekeeping. Ripple cannot recover them if you forget them! {{1}}" -msgstr "" -"Only you have this Wallet username and passphrase and are responsible for " -"their safekeeping. Ripple cannot recover them if you forget them! {{1}}" - -#: src/jade/tabs/register.jade:19 -msgid "Create Wallet username" -msgstr "Create Wallet username" - -#: src/jade/tabs/register.jade:23 -msgid "Create Wallet passphrase" -msgstr "Create Wallet passphrase" +"There is already a wallet using this username, please choose a different " +"username and try again." +msgstr "There is already a wallet using this username, please choose a different username and try again." -#: src/jade/tabs/register.jade:26 -msgid "Re-enter passphrase" -msgstr "Re-enter passphrase" +#: src/jade/tabs/register.jade:150 +msgid "" +"By proceeding, you understand that Ripple Trade does not provide a password " +"or secret key recovery mechanism. If you forget your Ripple name/password " +"and secret key, you will be unable to access this Ripple account." +msgstr "By proceeding, you understand that Ripple Trade does not provide a password or secret key recovery mechanism. If you forget your Ripple name/password and secret key, you will be unable to access this Ripple account." -#: src/jade/tabs/register.jade:31 -msgid "Passwords do not match" -msgstr "Passwords do not match" +#: src/jade/tabs/register.jade:155 +msgid "" +"You are now migrating your account- meaning you'll no longer be able to " +"access your account from ripple.com/client. You will retain all of your " +"balances, contacts, and account history. Your account will use the same " +"secret key as before. If you have already saved your secret key, please " +"continue your migration." +msgstr "You are now migrating your account- meaning you'll no longer be able to access your account from ripple.com/client. You will retain all of your balances, contacts, and account history. Your account will use the same secret key as before. If you have already saved your secret key, please continue your migration." -#: src/jade/tabs/register.jade:32 +#: src/jade/tabs/register.jade:162 msgid "" -"Your password is weak. It is not a mix of letters, numbers and symbols or it " -"is the same as your Wallet name." -msgstr "" -"Your password is weak. It is not a mix of letters, numbers and symbols or it " -"is the same as your Wallet name." +"The secret key unlocks access to all your account funds in the event you " +"lose your Ripple name or password. Please write it down and store it " +"somewhere private and safe. {{1:Read more}} about keys and wallet safety." +msgstr "The secret key unlocks access to all your account funds in the event you lose your Ripple name or password. Please write it down and store it somewhere private and safe. {{1:Read more}} about keys and wallet safety." -#: src/jade/tabs/register.jade:35 -msgid "Secret Account Key {{1}}" -msgstr "Secret Account Key {{1}}" +#: src/jade/tabs/register.jade:167 +msgid "" +"If you have not saved your secret key, please write it down and store it " +"somewhere private and safe. In the event you lose your Ripple name or " +"password, you can use this secret key to recover your funds." +msgstr "If you have not saved your secret key, please write it down and store it somewhere private and safe. In the event you lose your Ripple name or password, you can use this secret key to recover your funds." -#: src/jade/tabs/register.jade:36 -msgid "hide" -msgstr "hide" +#: src/jade/tabs/register.jade:176 +msgid "Show secret key" +msgstr "Show secret key" -#: src/jade/tabs/register.jade:39 -msgid "Secret Account Key is invalid" -msgstr "Secret Account Key is invalid" +#: src/jade/tabs/register.jade:177 +msgid "Hide secret key" +msgstr "Hide secret key" -#: src/jade/tabs/register.jade:47 -msgid "Create Wallet" -msgstr "Create Wallet" +#: src/jade/tabs/register.jade:180 +msgid "Continue to email verification" +msgstr "Continue to email verification" -#: src/jade/tabs/register.jade:48 -msgid "Store your Wallet with: {{1}} {{2}} {{3}}" -msgstr "Store your Wallet with: {{1}} {{2}} {{3}}" +#: src/jade/tabs/register.jade:197 +msgid "" +"We’ve sent an email to {{1}}. To complete registration, click the link in " +"the email." +msgstr "We’ve sent an email to {{1}}. To complete registration, click the link in the email." -#: src/jade/tabs/register.jade:57 -msgid "Already have a Wallet?" -msgstr "Already have a Wallet? " +#: src/jade/tabs/register.jade:200 +msgid "Email token has been resent." +msgstr "Email token has been resent." -#: src/jade/tabs/register.jade:58 -msgid "Open wallet" -msgstr "Open wallet" +#: src/jade/tabs/register.jade:203 +msgid "Email Address:" +msgstr "Email Address:" -#: src/jade/tabs/register.jade:60 -msgid "Need to use your Secret Key? {{1}}" -msgstr "Need to use your Secret Key? {{1}}" +#: src/jade/tabs/register.jade:210 +msgid "Re-send Email" +msgstr "Re-send Email" -#: src/jade/tabs/register.jade:66 -msgid "Secret Account Key error" -msgstr "Secret Account Key error" +#: src/jade/tabs/security.jade:7 +msgid "Active Session Timeout" +msgstr "Active Session Timeout" -#: src/jade/tabs/register.jade:67 +#: src/jade/tabs/security.jade:8 msgid "" -"There is a Wallet with your Wallet username and passphrase, but the given " -"Secret Account Key is not connected to it. If you decide to continue " -"registration your new Secret Account Key will be used for current Wallet " -"name and passphrase." -msgstr "" -"There is a Wallet with your Wallet username and passphrase, but the given " -"Secret Account Key is not connected to it. If you decide to continue " -"registration your new Secret Account Key will be used for current Wallet " -"name and passphrase." - -#: src/jade/tabs/register.jade:69 src/jade/tabs/register.jade:78 -msgid "Back" -msgstr "Back" +"To view or edit your security settings, you must currently have an active " +"session." +msgstr "To view or edit your security settings, you must currently have an active session." -#: src/jade/tabs/register.jade:71 -msgid "Overwrite current key" -msgstr "Overwrite current key" +#: src/jade/tabs/security.jade:16 +msgid "Restore Session" +msgstr "Restore Session" -#: src/jade/tabs/register.jade:75 -msgid "Existing account error" -msgstr "Existing account error" +#: src/jade/tabs/security.jade:25 +msgid "Your Ripple password has been changed, please login again" +msgstr "Your Ripple password has been changed, please login again" -#: src/jade/tabs/register.jade:76 -msgid "" -"There is a Wallet with a similar Wallet name and passphrase, but this wallet " -"could not be decrypted. Try choosing a different wallet name and/or " -"passphrase." -msgstr "" -"There is a Wallet with a similar Wallet name and passphrase, but this wallet " -"could not be decrypted. Try choosing a different wallet name and/or " -"passphrase." +#: src/jade/tabs/security.jade:27 +msgid "Couldn't change your Ripple password, please try again later." +msgstr "Couldn't change your Ripple password, please try again later." -#: src/jade/tabs/register.jade:82 -msgid "Welcome To ripple" -msgstr "Welcome To ripple" +#: src/jade/tabs/security.jade:30 +msgid "Changing your Ripple password..." +msgstr "Changing your Ripple password..." -#: src/jade/tabs/register.jade:83 -msgid "Important:" -msgstr "Important:" +#: src/jade/tabs/security.jade:31 +msgid "Your Ripple password has been changed successfully." +msgstr "Your Ripple password has been changed successfully." -#: src/jade/tabs/register.jade:84 -msgid "" -"The Secret Account Key below gives access to your money in the unlikely case " -"that you lose your wallet name or passphrase. In that case your contacts " -"will be lost, but with this Secret Account Key alone anyone can retrieve " -"your money. So please store it somewhere PRIVATE AND SAFE. Read more about " -"keys and wallet safety in {{1}}" -msgstr "" -"The Secret Account Key below gives access to your money in the unlikely case " -"that you lose your wallet name or passphrase. In that case your contacts " -"will be lost, but with this Secret Account Key alone anyone can retrieve " -"your money. So please store it somewhere PRIVATE AND SAFE. Read more about " -"keys and wallet safety in {{1}}" +#: src/jade/tabs/security.jade:32 +msgid "Unable to load Two-factor authentication settings." +msgstr "Unable to load Two-factor authentication settings." -#: src/jade/tabs/register.jade:89 -msgid "Wallet name: {{1}}" -msgstr "Wallet name: {{1}}" +#: src/jade/tabs/security.jade:33 +msgid "Error saving Two-factor authentication settings." +msgstr "Error saving Two-factor authentication settings." -#: src/jade/tabs/register.jade:91 -msgid "Pass phrase: {{1}} {{2}} {{3}} {{4}}" -msgstr "Pass phrase: {{1}} {{2}} {{3}} {{4}}" +#: src/jade/tabs/security.jade:34 +msgid "The verification code is invalid." +msgstr "The verification code is invalid." -#: src/jade/tabs/register.jade:98 -msgid "Ripple Address" -msgstr "Ripple Address" +#: src/jade/tabs/security.jade:36 +msgid "Two-factor authentication has been successfully enabled." +msgstr "Two-factor authentication has been successfully enabled." -#: src/jade/tabs/register.jade:100 -msgid "Secret Account key:" -msgstr "Secret Account key:" +#: src/jade/tabs/security.jade:37 +msgid "Two-factor authentication has been successfully disabled." +msgstr "Two-factor authentication has been successfully disabled." -#: src/jade/tabs/register.jade:105 -msgid "Show secret account key" -msgstr "Show secret account key" +#: src/jade/tabs/security.jade:38 +msgid "Password protection has been successfully enabled." +msgstr "Password protection has been successfully enabled." -#: src/jade/tabs/register.jade:107 -msgid "Hide secret account key" -msgstr "Hide secret account key" +#: src/jade/tabs/security.jade:39 +msgid "Password protection has been successfully disabled." +msgstr "Password protection has been successfully disabled." -#: src/jade/tabs/register.jade:108 -msgid "Have you saved your Secret Account Key somewhere safe?" -msgstr "Have you saved your Secret Account Key somewhere safe?" +#: src/jade/tabs/security.jade:45 +msgid "Security settings" +msgstr "Security settings" -#: src/jade/tabs/register.jade:111 -msgid "Yes, I saved my secret account key" -msgstr "Yes, I saved my secret account key" +#: src/jade/tabs/security.jade:51 +msgid "Loading Two-factor authentication settings..." +msgstr "Loading Two-factor authentication settings..." -#: src/jade/tabs/security.jade:3 -msgid "" -"Your money and wallet are protected digitally through encryption algorithms " -"that can be unlocked {{1}}" -msgstr "" -"Your money and wallet are protected digitally through encryption algorithms " -"that can be unlocked {{1}}" +#: src/jade/tabs/security.jade:55 +msgid "Enabled" +msgstr "Enabled" -#: src/jade/tabs/security.jade:6 -msgid "– No one else has them, so don't lose them!" -msgstr "– No one else has them, so don't lose them!" +#: src/jade/tabs/security.jade:56 +msgid "Disabled" +msgstr "Disabled" -#: src/jade/tabs/security.jade:7 -msgid "– Never share them!" -msgstr "– Never share them!" +#: src/jade/tabs/security.jade:58 +msgid "disable" +msgstr "disable" -#: src/jade/tabs/security.jade:10 -msgid "Wallet Key" -msgstr "Wallet Key" +#: src/jade/tabs/security.jade:60 +msgid "enable" +msgstr "enable" -#: src/jade/tabs/security.jade:12 -msgid "{{userBlob.data.contacts.length}} contacts, {{1}}" -msgstr "{{userBlob.data.contacts.length}} contacts, {{1}}" +#: src/jade/tabs/security.jade:66 +msgid "" +"Authy is providing two-factor authentication for Ripple Trade. To enable " +"two-factor authentication, you must share some information with Authy." +msgstr "Authy is providing two-factor authentication for Ripple Trade. To enable two-factor authentication, you must share some information with Authy." -#: src/jade/tabs/security.jade:15 -msgid "You can {{1}}" -msgstr "You can {{1}}" +#: src/jade/tabs/security.jade:69 +msgid "- Your email address:" +msgstr "- Your email address:" -#: src/jade/tabs/security.jade:18 -msgid "This is the key you use every time you use ripple." -msgstr "This is the key you use every time you use ripple." +#: src/jade/tabs/security.jade:72 +msgid "- Your phone number:" +msgstr "- Your phone number:" -#: src/jade/tabs/security.jade:19 -msgid "You created it when you chose your Wallet Name and Passphrase." -msgstr "You created it when you chose your Wallet Name and Passphrase." +#: src/jade/tabs/security.jade:74 +msgid "By proceeding, you agree to the Authy {{1: terms of service.}}" +msgstr "By proceeding, you agree to the Authy {{1: terms of service.}}" -#: src/jade/tabs/security.jade:20 -msgid "It protects Your money + Your contacts and history." -msgstr "It protects Your money + Your contacts and history." +#: src/jade/tabs/security.jade:78 +msgid "Share" +msgstr "Share" -#: src/jade/tabs/security.jade:22 -msgid "Never forget it, never share it." -msgstr "Never forget it, never share it." +#: src/jade/tabs/security.jade:84 +msgid "Saving settings..." +msgstr "Saving settings..." -#: src/jade/tabs/security.jade:26 -msgid "Wallet name:" -msgstr "Wallet name:" +#: src/jade/tabs/security.jade:85 +msgid "Disabling Two-factor authentication..." +msgstr "Disabling Two-factor authentication..." -#: src/jade/tabs/security.jade:29 -msgid "Pass Phrase:" -msgstr "Pass Phrase:" +#: src/jade/tabs/security.jade:86 +msgid "Enabling Two-factor authentication..." +msgstr "Enabling Two-factor authentication..." -#: src/jade/tabs/security.jade:35 -msgid "" -"This gives access to your wallet. DO NOT SHARE THIS WITH ANYONE. Keep it " -"safe. Keep it private." -msgstr "" -"This gives access to your wallet. DO NOT SHARE THIS WITH ANYONE. Keep it " -"safe. Keep it private." +#: src/jade/tabs/security.jade:104 +msgid "Resend Code" +msgstr "Resend Code" -#: src/jade/tabs/security.jade:39 -msgid "Secret Key" -msgstr "Secret Key" +#: src/jade/tabs/security.jade:110 +msgid "Enable" +msgstr "Enable" -#: src/jade/tabs/security.jade:41 -msgid "" -"This key is for emergency use only. You did not choose it. The network " -"created it. You don't have to memorize it." -msgstr "" -"This key is for emergency use only. You did not choose it. The network " -"created it. You don't have to memorize it." +#: src/jade/tabs/security.jade:114 +msgid "Ripple password" +msgstr "Ripple password" -#: src/jade/tabs/security.jade:42 -msgid "" -"The Secret Key accesses Your money, which is already contained inside your " -"wallet." -msgstr "" -"The Secret Key accesses Your money, which is already contained inside your " -"wallet." +#: src/jade/tabs/security.jade:129 +msgid "New password" +msgstr "New password" -#: src/jade/tabs/security.jade:43 +#: src/jade/tabs/security.jade:153 msgid "" -"But if you ever lose your wallet, you can recover just your money with this " -"key." -msgstr "" -"But if you ever lose your wallet, you can recover just your money with this " -"key." +"Your secret key unlocks access to your account funds. Please write it down " +"and store it somewhere private and safe. In the event you lose your Ripple " +"name or password, you can use this secret key to recover your funds." +msgstr "Your secret key unlocks access to your account funds. Please write it down and store it somewhere private and safe. In the event you lose your Ripple name or password, you can use this secret key to recover your funds." -#: src/jade/tabs/security.jade:45 -msgid "Store it somewhere safe, never share it." -msgstr "Store it somewhere safe, never share it." +#: src/jade/tabs/security.jade:165 +msgid "Password protection for transactions" +msgstr "Password protection for transactions" -#: src/jade/tabs/security.jade:54 +#: src/jade/tabs/security.jade:168 msgid "" -"This gives access to your money. DO NOT SHARE THIS WITH ANYONE. Keep it " -"safe. Keep it private." -msgstr "" -"This gives access to your money. DO NOT SHARE THIS WITH ANYONE. Keep it " -"safe. Keep it private." +"If you turn off password requests, you’ll still need to enter your password " +"after each page refresh." +msgstr "If you turn off password requests, you’ll still need to enter your password after each page refresh." -#: src/jade/tabs/security.jade:56 -msgid "Show my keys" -msgstr "Show my keys" +#: src/jade/tabs/security.jade:176 +msgid "Yes" +msgstr "Yes" -#: src/jade/tabs/send.jade:11 +#: src/jade/tabs/security.jade:177 +msgid "No" +msgstr "No" + +#: src/jade/tabs/security.jade:192 +msgid "Delete Ripple Trade account" +msgstr "Delete Ripple Trade account" + +#: src/jade/tabs/security.jade:194 +msgid "" +"This deletes your Ripple Trade account. You will no longer be able to login " +"to Ripple Trade and your account data will be deleted. However, you can " +"still access your funds using your secret key." +msgstr "This deletes your Ripple Trade account. You will no longer be able to login to Ripple Trade and your account data will be deleted. However, you can still access your funds using your secret key." + +#: src/jade/tabs/send.jade:12 msgid "You have to be funded before you can send money" msgstr "You have to be funded before you can send money" -#: src/jade/tabs/send.jade:17 -msgid "Send money." -msgstr "Send money." - -#: src/jade/tabs/send.jade:21 +#: src/jade/tabs/send.jade:25 msgid "Recipient" msgstr "Recipient" -#: src/jade/tabs/send.jade:26 +#: src/jade/tabs/send.jade:30 msgid "Please enter a recipient." msgstr "Please enter a recipient." -#: src/jade/tabs/send.jade:28 +#: src/jade/tabs/send.jade:32 msgid "" -"Recipient should be either a name from your contact list or Ripple/Bitcoin " -"address." -msgstr "" -"Recipient should be either a name from your contact list or Ripple/Bitcoin " -"address." +"Recipient should be a Ripple name, a contact, or Ripple/Bitcoin address." +msgstr "Recipient should be a Ripple name, a contact, or Ripple/Bitcoin address." -#: src/jade/tabs/send.jade:30 +#: src/jade/tabs/send.jade:34 msgid "This email address is not Ripple-enabled." msgstr "This email address is not Ripple-enabled." #: src/jade/tabs/send.jade:38 +msgid "Show destination tag" +msgstr "Show destination tag" + +#: src/jade/tabs/send.jade:47 msgid "Destination cannot be blank." msgstr "Destination cannot be blank." -#: src/jade/tabs/send.jade:39 +#: src/jade/tabs/send.jade:48 msgid "" -"Recipient requires a destination tag to be specified for the transaction. If " -"you don't know the destination tag, please contact them before doing a " -"transaction." -msgstr "" -"Recipient requires a destination tag to be specified for the transaction. If " -"you don't know the destination tag, please contact them before doing a " +"Recipient requires a destination tag to be specified for the transaction. If" +" you don't know the destination tag, please contact them before doing a " "transaction." +msgstr "Recipient requires a destination tag to be specified for the transaction. If you don't know the destination tag, please contact them before doing a transaction." -#: src/jade/tabs/send.jade:44 +#: src/jade/tabs/send.jade:53 msgid "Source tag" msgstr "Source tag" -#: src/jade/tabs/send.jade:47 +#: src/jade/tabs/send.jade:56 msgid "Invalid source tag" msgstr "Invalid source tag" -#: src/jade/tabs/send.jade:59 src/jade/tabs/send.jade:54 +#: src/jade/tabs/send.jade:59 +msgid "Invoice ID" +msgstr "Invoice ID" + +#: src/jade/tabs/send.jade:62 +msgid "Invoice ID must not be more than 64 characters long." +msgstr "Invoice ID must not be more than 64 characters long." + +#: src/jade/tabs/send.jade:77 msgid "Recipient will receive" msgstr "Recipient will receive" -#: src/jade/tabs/send.jade:72 src/jade/tabs/send.jade:67 +#: src/jade/tabs/send.jade:88 +msgid "{{send.recipient | rpcontactname}} can't receive this currency." +msgstr "{{send.recipient | rpcontactname}} can't receive this currency." + +#: src/jade/tabs/send.jade:92 src/jade/tabs/trust.jade:102 msgid "Amount must be greater than zero." msgstr "Amount must be greater than zero." -#: src/jade/tabs/send.jade:73 src/jade/tabs/send.jade:68 +#: src/jade/tabs/send.jade:93 msgid "" -"This transaction exceeds your balance, you can send a max. of {{account." -"max_spend | rpamount:{rel_precision: 0} }} XRP" -msgstr "" -"This transaction exceeds your balance, you can send a max. of {{account." -"max_spend | rpamount:{rel_precision: 0} }} XRP" +"You are either trying to send too little or too much XRP.Minimum amount is " +"0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "You are either trying to send too little or too much XRP.Minimum amount is 0.000001 XRP and maximum amount is 100 billion XRP." -#: src/jade/tabs/send.jade:76 src/jade/tabs/send.jade:71 +#: src/jade/tabs/send.jade:97 msgid "" "Recipient does not allow XRP payments. Are you sure you want to send XRP " "anyway?" -msgstr "" -"Recipient does not allow XRP payments. Are you sure you want to send XRP " -"anyway?" +msgstr "Recipient does not allow XRP payments. Are you sure you want to send XRP anyway?" -#: src/jade/tabs/send.jade:78 src/jade/tabs/send.jade:73 +#: src/jade/tabs/send.jade:99 msgid "" -"{{send.recipient | rpcontactname}} trusts you for {{send.trust_limit | " -"rpamount}} {{send.trust_limit | rpcurrency}}." -msgstr "" -"{{send.recipient | rpcontactname}} trusts you for {{send.trust_limit | " +"{{send.recipient | rpcontactname}}trusts you for {{send.trust_limit | " "rpamount}} {{send.trust_limit | rpcurrency}}." +msgstr "{{send.recipient | rpcontactname}}trusts you for {{send.trust_limit | rpamount}} {{send.trust_limit | rpcurrency}}." -#: src/jade/tabs/send.jade:82 src/jade/tabs/send.jade:77 -msgid "Add Destination tag" -msgstr "Add Destination tag" - -#: src/jade/tabs/send.jade:86 src/jade/tabs/send.jade:81 +#: src/jade/tabs/send.jade:103 msgid "Send XRP" msgstr "Send XRP" -#: src/jade/tabs/send.jade:90 src/jade/tabs/send.jade:85 +#: src/jade/tabs/send.jade:107 msgid "" -"Destination account is unfunded; send at least {{send.xrp_deficiency | " -"rpamount}} XRP to fund it. {{1}}" -msgstr "" -"Destination account is unfunded; send at least {{send.xrp_deficiency | " -"rpamount}} XRP to fund it. {{1}}" - -#: src/jade/tabs/send.jade:93 src/jade/tabs/trust.jade:46 -#: src/jade/tabs/send.jade:88 -msgid "More information" -msgstr "More information" +"Destination account is unfunded; send at least {{send.xrp_deficiency | " +"rpamount}} XRP to fund it.{{1}}" +msgstr "Destination account is unfunded; send at least {{send.xrp_deficiency | rpamount}} XRP to fund it.{{1}}" -#: src/jade/tabs/send.jade:96 src/jade/tabs/send.jade:91 +#: src/jade/tabs/send.jade:114 msgid "Checking" msgstr "Checking" -#: src/jade/tabs/send.jade:98 src/jade/tabs/send.jade:93 +#: src/jade/tabs/send.jade:117 msgid "Analyzing address" msgstr "Analyzing address" -#: src/jade/tabs/send.jade:100 src/jade/tabs/send.jade:95 +#: src/jade/tabs/send.jade:120 +msgid "Scanning accepted currencies" +msgstr "Scanning accepted currencies" + +#: src/jade/tabs/send.jade:123 msgid "Requesting quote" msgstr "Requesting quote" -#: src/jade/tabs/send.jade:102 src/jade/tabs/send.jade:97 +#: src/jade/tabs/send.jade:126 msgid "Calculating paths" msgstr "Calculating paths" -#: src/jade/tabs/send.jade:104 src/jade/tabs/send.jade:99 +#: src/jade/tabs/send.jade:129 msgid "Calculating alternatives" msgstr "Calculating alternatives" -#: src/jade/tabs/send.jade:105 src/jade/tabs/send.jade:100 +#: src/jade/tabs/send.jade:130 msgid "" -"Sorry! Cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. " -"Please make sure your account has enough funds, and the recipient accepts " -"the currency you're sending. If it still doesn't work, try again later." -msgstr "" -"Sorry! Cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. " -"Please make sure your account has enough funds, and the recipient accepts " -"the currency you're sending. If it still doesn't work, try again later." +"You cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. " +"Either your account has insufficient funds, or {{send.recipient}} doesn't " +"accept {{send.currency}}." +msgstr "You cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. Either your account has insufficient funds, or {{send.recipient}} doesn't accept {{send.currency}}." + +#: src/jade/tabs/send.jade:134 +msgid "" +"You cannot send {{send.amount}} {{send.currency}} to{{send.recipient}}. Your" +" account has insufficient funds." +msgstr "You cannot send {{send.amount}} {{send.currency}} to{{send.recipient}}. Your account has insufficient funds." + +#: src/jade/tabs/send.jade:137 +msgid "There are no valid currency choices for this destination." +msgstr "There are no valid currency choices for this destination." -#: src/jade/tabs/send.jade:110 src/jade/tabs/send.jade:105 -msgid "Error while retrieving quote for outbound payment" -msgstr "Error while retrieving quote for outbound payment" +#: src/jade/tabs/send.jade:139 +msgid "Error while retrieving quote for outbound payment. {{1}}" +msgstr "Error while retrieving quote for outbound payment. {{1}}" -#: src/jade/tabs/send.jade:117 src/jade/tabs/send.jade:112 +#: src/jade/tabs/send.jade:148 msgid "You can send" msgstr "You can send" -#: src/jade/tabs/send.jade:119 src/jade/tabs/send.jade:114 +#: src/jade/tabs/send.jade:150 msgid "Or you can send" msgstr "Or you can send" -#: src/jade/tabs/send.jade:127 src/jade/tabs/send.jade:122 -msgid "Send {{ alt.amount | rpcurrency }}" -msgstr "Send {{ alt.amount | rpcurrency }}" +#: src/jade/tabs/send.jade:164 +msgid "Send {{ alt.amount | rpcurrency }} {{1}}" +msgstr "Send {{ alt.amount | rpcurrency }} {{1}}" -#: src/jade/tabs/send.jade:134 src/jade/tabs/send.jade:129 +#: src/jade/tabs/send.jade:181 msgid "Ripple is calculating a path for your payment." msgstr "Ripple is calculating a path for your payment." -#: src/jade/tabs/send.jade:140 src/jade/tabs/send.jade:135 -msgid "You are sending {{ (send.alt.amount || send.currency) | rpcurrency}} to" -msgstr "" -"You are sending {{ (send.alt.amount || send.currency) | rpcurrency}} to" +#: src/jade/tabs/send.jade:186 +msgid "You are sending {{1}} to" +msgstr "You are sending {{1}} to" -#: src/jade/tabs/send.jade:146 src/jade/tabs/send.jade:141 +#: src/jade/tabs/send.jade:194 msgid "Destination tag: {{send.dt}}" msgstr "Destination tag: {{send.dt}}" -#: src/jade/tabs/send.jade:147 src/jade/tabs/send.jade:142 +#: src/jade/tabs/send.jade:195 msgid "They will receive" msgstr "They will receive" -#: src/jade/tabs/send.jade:178 -msgid "Destination does not exist" -msgstr "Destination does not exist" - -#: src/jade/tabs/send.jade:179 -msgid "The wallet you're trying to send to does not exist." -msgstr "The wallet you're trying to send to does not exist." - -#: src/jade/tabs/send.jade:184 -msgid "Invalid transaction" -msgstr "Invalid transaction" +#: src/jade/tabs/send.jade:198 +msgid "You will pay at most" +msgstr "You will pay at most" -#: src/jade/tabs/send.jade:185 -msgid "The transaction was rejected by the server due to a client issue." -msgstr "The transaction was rejected by the server due to a client issue." +#: src/jade/tabs/send.jade:204 +msgid "Are you sure?" +msgstr "Are you sure?" -#: src/jade/tabs/send.jade:189 -msgid "Please ensure you don't send your payment more than once." -msgstr "Please ensure you don't send your payment more than once." +#: src/jade/tabs/send.jade:210 +msgid "Password required to unlock wallet" +msgstr "Password required to unlock wallet" -#: src/jade/tabs/send.jade:197 src/jade/tabs/send.jade:268 -#: src/jade/tabs/send.jade:192 src/jade/tabs/send.jade:263 +#: src/jade/tabs/send.jade:234 src/jade/tabs/send.jade:266 msgid "Contact saved!" msgstr "Contact saved!" -#: src/jade/tabs/send.jade:199 src/jade/tabs/send.jade:270 -#: src/jade/tabs/trust.jade:169 src/jade/tabs/send.jade:194 -#: src/jade/tabs/send.jade:265 +#: src/jade/tabs/send.jade:236 src/jade/tabs/send.jade:268 msgid "Add this address to contacts" msgstr "Add this address to contacts" -#: src/jade/tabs/send.jade:203 src/jade/tabs/send.jade:274 -#: src/jade/tabs/trust.jade:172 src/jade/tabs/send.jade:198 -#: src/jade/tabs/send.jade:269 +#: src/jade/tabs/send.jade:242 src/jade/tabs/send.jade:274 msgid "Name this user" msgstr "Name this user" -#: src/jade/tabs/send.jade:209 src/jade/tabs/send.jade:280 -#: src/jade/tabs/trust.jade:178 src/jade/tabs/send.jade:204 -#: src/jade/tabs/send.jade:275 +#: src/jade/tabs/send.jade:246 src/jade/tabs/send.jade:278 +msgid "This contact already exists, please choose another name." +msgstr "This contact already exists, please choose another name." + +#: src/jade/tabs/send.jade:250 src/jade/tabs/send.jade:283 +#: src/jade/tabs/trust.jade:233 msgid "Saving..." msgstr "Saving..." -#: src/jade/tabs/send.jade:214 src/jade/tabs/send.jade:285 -#: src/jade/tabs/send.jade:209 src/jade/tabs/send.jade:280 +#: src/jade/tabs/send.jade:255 src/jade/tabs/send.jade:289 msgid "Send another payment" msgstr "Send another payment" -#: src/jade/tabs/trade.jade:9 -msgid "Loading order book..." -msgstr "Loading order book..." +#: src/jade/tabs/settings/navbar.jade:2 +msgid "Security" +msgstr "Security" -#: src/jade/tabs/trade.jade:20 src/jade/tabs/trade.jade:28 -msgid "Base currency" -msgstr "Base currency" +#: src/jade/tabs/settingstrade.jade:12 +msgid "Trade settings" +msgstr "Trade settings" -#: src/jade/tabs/trade.jade:23 src/jade/tabs/trade.jade:34 -msgid "change issuer" -msgstr "change issuer" +#: src/jade/tabs/settingstrade.jade:14 +msgid "Trade currency pairs" +msgstr "Trade currency pairs" -#: src/jade/tabs/trade.jade:25 src/jade/tabs/trade.jade:36 -msgid "cancel" -msgstr "cancel" +#: src/jade/tabs/trade.jade:12 src/jade/tabs/trade.jade:451 +msgid "Loading Order Book" +msgstr "Loading Order Book" -#: src/jade/tabs/trade.jade:31 src/jade/tabs/trade.jade:39 -msgid "Counter currency" -msgstr "Counter currency" +#: src/jade/tabs/trade.jade:31 src/jade/tabs/widgets/markets.jade:24 +msgid "flip" +msgstr "flip" -#: src/jade/tabs/trade.jade:32 -msgid "{{order.second_currency}}  {{1}}" -msgstr "{{order.second_currency}}  {{1}}" +#: src/jade/tabs/trade.jade:34 +msgid "add pair" +msgstr "add pair" -#: src/jade/tabs/trade.jade:43 -msgid "Base currency issuer ({{order.first_currency}})" -msgstr "Base currency issuer ({{order.first_currency}})" +#: src/jade/tabs/trade.jade:37 +msgid "edit pairs" +msgstr "edit pairs" -#: src/jade/tabs/trade.jade:48 +#: src/jade/tabs/trade.jade:41 +msgid "Base Currency" +msgstr "Base Currency" + +#: src/jade/tabs/trade.jade:44 +msgid "Base Gateway" +msgstr "Base Gateway" + +#: src/jade/tabs/trade.jade:49 +msgid "Counter Currency" +msgstr "Counter Currency" + +#: src/jade/tabs/trade.jade:52 +msgid "Counter Gateway" +msgstr "Counter Gateway" + +#: src/jade/tabs/trade.jade:57 +msgid "Add" +msgstr "Add" + +#: src/jade/tabs/trade.jade:60 +msgid "Base currency issuer ({{order.first_currency | rpcurrency}})" +msgstr "Base currency issuer ({{order.first_currency | rpcurrency}})" + +#: src/jade/tabs/trade.jade:63 +msgid "Ripple name or contact" +msgstr "Ripple name or contact" + +#: src/jade/tabs/trade.jade:65 msgid "Not a valid Ripple address or contact" msgstr "Not a valid Ripple address or contact" -#: src/jade/tabs/trade.jade:53 -msgid "Counter currency issuer ({{order.second_currency}})" -msgstr "Counter currency issuer ({{order.second_currency}})" +#: src/jade/tabs/trade.jade:70 +msgid "Counter currency issuer ({{order.second_currency | rpcurrency}})" +msgstr "Counter currency issuer ({{order.second_currency | rpcurrency}})" -#: src/jade/tabs/trade.jade:58 -msgid "Not a valid ripple address or contact" -msgstr "Not a valid ripple address or contact" +#: src/jade/tabs/trade.jade:75 +msgid "Not a valid Ripple name or address" +msgstr "Not a valid Ripple name or address" -#: src/jade/tabs/trade.jade:62 +#: src/jade/tabs/trade.jade:79 msgid "" -"You must select an issuer to trade currencies. Click the “change issuer”, " -"link above and enter your trusted gateway address or nickname." -msgstr "" -"You must select an issuer to trade currencies. Click the “change issuer”, " -"link above and enter your trusted gateway address or nickname." +"To show an orderbook, choose from the dropdown above or click \"Add custom " +"pair\"." +msgstr "To show an orderbook, choose from the dropdown above or click \"Add custom pair\"." -#: src/jade/tabs/trade.jade:71 +#: src/jade/tabs/trade.jade:86 msgid "Bid" msgstr "Bid" -#: src/jade/tabs/trade.jade:76 +#: src/jade/tabs/trade.jade:91 msgid "Ask" msgstr "Ask" -#: src/jade/tabs/trade.jade:81 +#: src/jade/tabs/trade.jade:96 msgid "Spread" msgstr "Spread" -#: src/jade/tabs/trade.jade:86 +#: src/jade/tabs/trade.jade:101 msgid "Last price" msgstr "Last price" -#: src/jade/tabs/trade.jade:93 src/jade/tabs/trade.jade:89 +#: src/jade/tabs/trade.jade:108 msgid "You have to be funded before you can trade" msgstr "You have to be funded before you can trade" -#: src/jade/tabs/trade.jade:106 src/jade/tabs/trade.jade:102 -msgid "Amount To {{type}}" -msgstr "Amount To {{type}}" +#: src/jade/tabs/trade.jade:115 +msgid "Buy {{1}} {{order.first_currency | rpcurrency}}" +msgstr "Buy {{1}} {{order.first_currency | rpcurrency}}" + +#: src/jade/tabs/trade.jade:118 +msgid "Sell {{1}} {{order.first_currency | rpcurrency}}" +msgstr "Sell {{1}} {{order.first_currency | rpcurrency}}" + +#: src/jade/tabs/trade.jade:121 src/jade/tabs/trade.jade:130 +msgid "{{1}} available" +msgstr "{{1}} available" + +#: src/jade/tabs/trade.jade:144 +msgid "Amount To Buy" +msgstr "Amount To Buy" + +#: src/jade/tabs/trade.jade:145 +msgid "Amount To Sell" +msgstr "Amount To Sell" -#: src/jade/tabs/trade.jade:111 src/jade/tabs/trade.jade:124 -#: src/jade/tabs/trade.jade:137 src/jade/tabs/trade.jade:107 -#: src/jade/tabs/trade.jade:120 src/jade/tabs/trade.jade:133 +#: src/jade/tabs/trade.jade:152 src/jade/tabs/trade.jade:167 +#: src/jade/tabs/trade.jade:182 msgid "Required" msgstr "Required" -#: src/jade/tabs/trade.jade:113 src/jade/tabs/trade.jade:126 -#: src/jade/tabs/trade.jade:139 src/jade/tabs/trade.jade:109 -#: src/jade/tabs/trade.jade:122 src/jade/tabs/trade.jade:135 +#: src/jade/tabs/trade.jade:154 src/jade/tabs/trade.jade:169 +#: src/jade/tabs/trade.jade:184 msgid "Must be greater than zero" msgstr "Must be greater than zero" -#: src/jade/tabs/trade.jade:115 src/jade/tabs/trade.jade:128 -#: src/jade/tabs/trade.jade:140 src/jade/tabs/trade.jade:111 -#: src/jade/tabs/trade.jade:124 src/jade/tabs/trade.jade:136 -msgid "There is a limit of 100 billion XRPs" -msgstr "There is a limit of 100 billion XRPs" +#: src/jade/tabs/trade.jade:156 src/jade/tabs/trade.jade:171 +#: src/jade/tabs/trade.jade:186 +msgid "" +"Minimum amount of XRP you can send is a drop (0.000001) and the maximum is " +"100 billion XRPs." +msgstr "Minimum amount of XRP you can send is a drop (0.000001) and the maximum is 100 billion XRPs." -#: src/jade/tabs/trade.jade:119 src/jade/tabs/trade.jade:115 +#: src/jade/tabs/trade.jade:160 msgid "Price of Each" msgstr "Price of Each" -#: src/jade/tabs/trade.jade:132 src/jade/tabs/trade.jade:128 +#: src/jade/tabs/trade.jade:175 msgid "Order Value (max)" msgstr "Order Value (max)" -#: src/jade/tabs/trade.jade:142 src/jade/tabs/trade.jade:138 -msgid "" -"You are wanting to {{type}} {{order[type].first_amount | rpamount:" -"{precision: 10} }} {{order[type].first_amount | rpcurrency}} for " -"{{order[type].second_amount | rpamount:{precision: 10} }} {{order[type]." -"second_amount | rpcurrency}} ({{order[type].price_amount | rpamount:" -"{precision: 10} }} {{order[type].second_amount | rpcurrency}} per " -"{{order[type].first_amount | rpcurrency}})" -msgstr "" -"You are wanting to {{type}} {{order[type].first_amount | rpamount:" -"{precision: 10} }} {{order[type].first_amount | rpcurrency}} for " -"{{order[type].second_amount | rpamount:{precision: 10} }} {{order[type]." -"second_amount | rpcurrency}} ({{order[type].price_amount | rpamount:" -"{precision: 10} }} {{order[type].second_amount | rpcurrency}} per " -"{{order[type].first_amount | rpcurrency}})" - -#: src/jade/tabs/trade.jade:154 src/jade/tabs/trade.jade:150 +#: src/jade/tabs/trade.jade:192 +msgid "You are wanting to buy {{1}} for {{2}} ({{3}} per {{4}})" +msgstr "You are wanting to buy {{1}} for {{2}} ({{3}} per {{4}})" + +#: src/jade/tabs/trade.jade:201 +msgid "You are wanting to sell {{1}} for {{2}} ({{3}} per {{4}})" +msgstr "You are wanting to sell {{1}} for {{2}} ({{3}} per {{4}})" + +#: src/jade/tabs/trade.jade:213 +msgid "Buy" +msgstr "Buy" + +#: src/jade/tabs/trade.jade:214 +msgid "Sell" +msgstr "Sell" + +#: src/jade/tabs/trade.jade:220 msgid "You do not have sufficient funds to create an order." msgstr "You do not have sufficient funds to create an order." -#: src/jade/tabs/trade.jade:159 src/jade/tabs/trade.jade:155 -msgid "You are about to create an order to {{type}} {{1}} {{2}} {{3}} {{4}}" -msgstr "You are about to create an order to {{type}} {{1}} {{2}} {{3}} {{4}}" +#: src/jade/tabs/trade.jade:225 +msgid "" +"You are about to create an order to {{1: buy}} {{2: " +"sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" +msgstr "You are about to create an order to {{1: buy}} {{2: sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" + +#: src/jade/tabs/trade.jade:242 +msgid "CAUTION: Your order is far off from the current market price." +msgstr "CAUTION: Your order is far off from the current market price." + +#: src/jade/tabs/trade.jade:246 src/jade/tabs/trade.jade:407 +msgid "« Back" +msgstr "« Back" -#: src/jade/tabs/trade.jade:177 src/jade/tabs/trade.jade:173 +#: src/jade/tabs/trade.jade:255 msgid "Sending order to Ripple network..." msgstr "Sending order to Ripple network..." -#: src/jade/tabs/trade.jade:183 src/jade/tabs/trade.jade:179 +#: src/jade/tabs/trade.jade:261 msgid "Your order has been submitted." msgstr "Your order has been submitted." -#: src/jade/tabs/trade.jade:185 src/jade/tabs/trade.jade:181 -msgid "Your order is now active!" -msgstr "Your order is now active!" +#: src/jade/tabs/trade.jade:263 +msgid "Your order is now active." +msgstr "Your order is now active." -#: src/jade/tabs/trade.jade:187 src/jade/tabs/trade.jade:183 -msgid "Request has been denied!" -msgstr "Request has been denied!" +#: src/jade/tabs/trade.jade:265 +msgid "Your order has been filled." +msgstr "Your order has been filled." -#: src/jade/tabs/trade.jade:188 src/jade/tabs/trust.jade:145 -#: src/jade/tabs/trade.jade:184 -msgid "We were unable to submit the request. Please try again later." -msgstr "We were unable to submit the request. Please try again later." +#: src/jade/tabs/trade.jade:267 +msgid "" +"Your order has been partially filled. The remaining amount is now active." +msgstr "Your order has been partially filled. The remaining amount is now active." + +#: src/jade/tabs/trade.jade:276 +msgid "Submit another order" +msgstr "Submit another order" + +#: src/jade/tabs/trade.jade:278 +msgid "My Orders{{1}}{{2}}" +msgstr "My Orders{{1}}{{2}}" + +#: src/jade/tabs/trade.jade:287 +msgid "Your order has been modified." +msgstr "Your order has been modified." -#: src/jade/tabs/trade.jade:190 src/jade/tabs/trade.jade:186 -msgid "Request is malformed!" -msgstr "Request is malformed!" +#: src/jade/tabs/trade.jade:289 +msgid "Your order #{{ cancelOrder.seq }} has been cancelled." +msgstr "Your order #{{ cancelOrder.seq }} has been cancelled." -#: src/jade/tabs/trade.jade:191 src/jade/tabs/trade.jade:187 +#: src/jade/tabs/trade.jade:291 msgid "" -"Your request is invalid, reason: {{order[type].engine_result}} - " -"{{order[type].engine_result_message}}" -msgstr "" -"Your request is invalid, reason: {{order[type].engine_result}} - " -"{{order[type].engine_result_message}}" +"Your order could not be modified and no longer exists. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "Your order could not be modified and no longer exists. Error: {{order[editOrder.type].engine_result_message}}" + +#: src/jade/tabs/trade.jade:293 +msgid "Unable to cancel order as it no longer exists." +msgstr "Unable to cancel order as it no longer exists." + +#: src/jade/tabs/trade.jade:295 +msgid "Modifying your order (Placing new order) ..." +msgstr "Modifying your order (Placing new order) ..." + +#: src/jade/tabs/trade.jade:299 +msgid "Current pair only" +msgstr "Current pair only" -#: src/jade/tabs/trade.jade:196 src/jade/tabs/trade.jade:192 +#: src/jade/tabs/trade.jade:313 src/jade/tabs/widgets/orders.jade:24 +msgid "reverse" +msgstr "reverse" + +#: src/jade/tabs/trade.jade:322 src/jade/tabs/widgets/orders.jade:33 +msgid "QTY{{1}}" +msgstr "QTY{{1}}" + +#: src/jade/tabs/trade.jade:324 src/jade/tabs/widgets/orders.jade:35 +msgid "Base{{1}}" +msgstr "Base{{1}}" + +#: src/jade/tabs/trade.jade:326 src/jade/tabs/widgets/orders.jade:37 +msgid "Counter{{1}}" +msgstr "Counter{{1}}" + +#: src/jade/tabs/trade.jade:328 src/jade/tabs/widgets/orders.jade:39 +msgid "Limit{{1}}" +msgstr "Limit{{1}}" + +#: src/jade/tabs/trade.jade:334 +msgid "Action" +msgstr "Action" + +#: src/jade/tabs/trade.jade:360 src/jade/tabs/trade.jade:424 +msgid "TRADE CONFIRMATION" +msgstr "TRADE CONFIRMATION" + +#: src/jade/tabs/trade.jade:362 +msgid "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" +msgstr "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" + +#: src/jade/tabs/trade.jade:364 msgid "" -"You do not have enough {{type == 'buy' ? order.second_currency : order." -"first_currency}} to create this order." -msgstr "" -"You do not have enough {{type == 'buy' ? order.second_currency : order." -"first_currency}} to create this order." +"{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div" +" span.modal-order-type(l10n-inc) REMAIN: span remain data div span" +".modal-order-type(l10n-inc) PLACED: span time data" +msgstr "{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div span.modal-order-type(l10n-inc) REMAIN: span remain data div span.modal-order-type(l10n-inc) PLACED: span time data" + +#: src/jade/tabs/trade.jade:371 +msgid "with" +msgstr "with" + +#: src/jade/tabs/trade.jade:372 +msgid "for" +msgstr "for" + +#: src/jade/tabs/trade.jade:376 +msgid "at" +msgstr "at" + +#: src/jade/tabs/trade.jade:389 +msgid "Cancel order" +msgstr "Cancel order" + +#: src/jade/tabs/trade.jade:390 src/jade/tabs/trade.jade:431 +msgid "back" +msgstr "back" -#: src/jade/tabs/trade.jade:198 +#: src/jade/tabs/trade.jade:407 msgid "" -"You must have at least {{account.reserve_to_add_trust | rpamount}} XRP to " -"submit an order. {{1}}" -msgstr "" -"You must have at least {{account.reserve_to_add_trust | rpamount}} XRP to " -"submit an order. {{1}}" +"CAUTION: Your new order is far off from the current market price.
Do " +"you still want to replace your order ?" +msgstr "CAUTION: Your new order is far off from the current market price.
Do you still want to replace your order ?" -#: src/jade/tabs/trade.jade:200 src/jade/tabs/trade.jade:196 -msgid "More information." -msgstr "More information." +#: src/jade/tabs/trade.jade:410 +msgid "Unable to cancel order. Error: {{entry.errorMsg}}" +msgstr "Unable to cancel order. Error: {{entry.errorMsg}}" -#: src/jade/tabs/trade.jade:201 src/jade/tabs/trade.jade:197 -msgid "Error: {{order[type].engine_result_message}}" -msgstr "Error: {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:412 +msgid "" +"Your order amount has been updated by Ripple. Please go back and edit again " +"to modify this order." +msgstr "Your order amount has been updated by Ripple. Please go back and edit again to modify this order." -#: src/jade/tabs/trade.jade:204 src/jade/tabs/trade.jade:200 -msgid "Trade failed!" -msgstr "Trade failed!" +#: src/jade/tabs/trade.jade:414 +msgid "" +"Your order could not be modified. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "Your order could not be modified. Error: {{order[editOrder.type].engine_result_message}}" -#: src/jade/tabs/trade.jade:206 src/jade/tabs/trade.jade:202 -msgid "Trade failed, reason: {{order[type].engine_result_message}}" -msgstr "Trade failed, reason: {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:415 +msgid "X" +msgstr "X" -#: src/jade/tabs/trade.jade:219 src/jade/tabs/trade.jade:215 -msgid "Submit another order" -msgstr "Submit another order" +#: src/jade/tabs/trade.jade:420 +msgid "cancel all" +msgstr "cancel all" -#: src/jade/tabs/trade.jade:222 src/jade/tabs/trade.jade:218 -msgid "Order book" -msgstr "Order book" +#: src/jade/tabs/trade.jade:426 +msgid "{{1:Please confirm that you wish to cancel all orders.}}" +msgstr "{{1:Please confirm that you wish to cancel all orders.}}" -#: src/jade/tabs/trade.jade:223 src/jade/tabs/trade.jade:219 -msgid "My Orders" -msgstr "My Orders" +#: src/jade/tabs/trade.jade:430 +msgid "Cancel all orders" +msgstr "Cancel all orders" -#: src/jade/tabs/trade.jade:229 src/jade/tabs/trade.jade:225 -msgid "Type" -msgstr "Type" +#: src/jade/tabs/trade.jade:433 src/jade/tabs/widgets/orders.jade:64 +msgid "No current orders. {{1}}" +msgstr "No current orders. {{1}}" -#: src/jade/tabs/trade.jade:230 src/jade/tabs/trade.jade:226 -msgid "Pair" -msgstr "Pair" +#: src/jade/tabs/trade.jade:434 src/jade/tabs/widgets/orders.jade:65 +msgid "View orders history" +msgstr "View orders history" -#: src/jade/tabs/trade.jade:231 src/jade/tabs/trade.jade:227 -msgid "Price" -msgstr "Price" +#: src/jade/tabs/trade.jade:437 +msgid "Orderbook{{1}}" +msgstr "Orderbook{{1}}" -#: src/jade/tabs/trade.jade:233 src/jade/tabs/trade.jade:229 -msgid "Action" -msgstr "Action" +#: src/jade/tabs/trade.jade:440 +msgid "show" +msgstr "show" -#: src/jade/tabs/trade.jade:253 -msgid "You haven't placed any orders." -msgstr "You haven't placed any orders." +#: src/jade/tabs/trade.jade:442 +msgid "Last updated {{1}} {{2: seconds}} {{3: second}} ago" +msgstr "Last updated {{1}} {{2: seconds}} {{3: second}} ago" -#: src/jade/tabs/trade.jade:259 src/jade/tabs/trade.jade:255 +#: src/jade/tabs/trade.jade:458 msgid "Bids" msgstr "Bids" -#: src/jade/tabs/trade.jade:261 src/jade/tabs/trade.jade:283 -#: src/jade/tabs/trade.jade:257 src/jade/tabs/trade.jade:279 -msgid "Sum {{1}}" -msgstr "Sum {{1}}" +#: src/jade/tabs/trade.jade:460 src/jade/tabs/trade.jade:487 +msgid "Sum{{1}}{{2}}" +msgstr "Sum{{1}}{{2}}" -#: src/jade/tabs/trade.jade:263 src/jade/tabs/trade.jade:281 -#: src/jade/tabs/trade.jade:259 src/jade/tabs/trade.jade:277 -msgid "Size {{1}}" -msgstr "Size {{1}}" +#: src/jade/tabs/trade.jade:463 src/jade/tabs/trade.jade:484 +msgid "Size{{1}}{{2}}" +msgstr "Size{{1}}{{2}}" -#: src/jade/tabs/trade.jade:265 src/jade/tabs/trade.jade:261 -msgid "Bid Price {{1}}" -msgstr "Bid Price {{1}}" +#: src/jade/tabs/trade.jade:466 +msgid "Bid Price{{1}}{{2}}" +msgstr "Bid Price{{1}}{{2}}" -#: src/jade/tabs/trade.jade:275 src/jade/tabs/trade.jade:271 +#: src/jade/tabs/trade.jade:477 msgid "There are currently no bids for this pair." msgstr "There are currently no bids for this pair." -#: src/jade/tabs/trade.jade:277 src/jade/tabs/trade.jade:273 +#: src/jade/tabs/trade.jade:479 msgid "Asks" msgstr "Asks" -#: src/jade/tabs/trade.jade:279 src/jade/tabs/trade.jade:275 -msgid "Ask Price {{1}}" -msgstr "Ask Price {{1}}" +#: src/jade/tabs/trade.jade:481 +msgid "Ask Price{{1}}{{2}}" +msgstr "Ask Price{{1}}{{2}}" -#: src/jade/tabs/trade.jade:293 src/jade/tabs/trade.jade:289 +#: src/jade/tabs/trade.jade:498 msgid "There are currently no asks for this pair." msgstr "There are currently no asks for this pair." -#: src/jade/tabs/trust.jade:17 -msgid "You have to be funded before you can grant a trust" -msgstr "You have to be funded before you can grant a trust" +#: src/jade/tabs/trade.jade:501 +msgid "No more orders" +msgstr "No more orders" + +#: src/jade/tabs/trust.jade:29 +msgid "Removing gateway..." +msgstr "Removing gateway..." + +#: src/jade/tabs/trust.jade:31 +msgid "Gateway removed." +msgstr "Gateway removed." + +#: src/jade/tabs/trust.jade:33 +msgid "Your changes have been saved." +msgstr "Your changes have been saved." + +#: src/jade/tabs/trust.jade:35 +msgid "Request failed." +msgstr "Request failed." -#: src/jade/tabs/trust.jade:25 +#: src/jade/tabs/trust.jade:39 +msgid "Account unlock failed." +msgstr "Account unlock failed." + +#: src/jade/tabs/trust.jade:55 msgid "Name / Address" msgstr "Name / Address" -#: src/jade/tabs/trust.jade:27 +#: src/jade/tabs/trust.jade:57 src/jade/tabs/trust.jade:90 msgid "Currency" msgstr "Currency" -#: src/jade/tabs/trust.jade:30 +#: src/jade/tabs/trust.jade:60 msgid "Trust Limit" msgstr "Trust Limit" -#: src/jade/tabs/trust.jade:32 -msgid "Add trust" -msgstr "Add trust" - -#: src/jade/tabs/trust.jade:44 -msgid "Account does not meet the minimum XRP reserve. {{1}}" -msgstr "Account does not meet the minimum XRP reserve. {{1}}" - -#: src/jade/tabs/trust.jade:48 -msgid "Please enter a User." -msgstr "Please enter a User." - -#: src/jade/tabs/trust.jade:49 -msgid "You've entered your address." -msgstr "You've entered your address." - -#: src/jade/tabs/trust.jade:50 -msgid "User should be either a name from your contact list or Ripple address." -msgstr "" -"User should be either a name from your contact list or Ripple address." - -#: src/jade/tabs/trust.jade:61 -msgid "Amount field is required" -msgstr "Amount field is required" - -#: src/jade/tabs/trust.jade:63 -msgid "" -"XRP can be sent without extending trust. If you really want to trust in " -"XRP, please use XRR currency code." -msgstr "" -"XRP can be sent without extending trust. If you really want to trust in " -"XRP, please use XRR currency code." - #: src/jade/tabs/trust.jade:66 -msgid "Currency field is required" -msgstr "Currency field is required" - -#: src/jade/tabs/trust.jade:72 -msgid "Allow Rippling" -msgstr "Allow Rippling" +msgid "Gateway's Ripple name or address" +msgstr "Gateway's Ripple name or address" -#: src/jade/tabs/trust.jade:81 -msgid "Verifying address" -msgstr "Verifying address" +#: src/jade/tabs/trust.jade:100 +msgid "Amount field is required." +msgstr "Amount field is required." -#: src/jade/tabs/trust.jade:83 -msgid "You must have at least {{1}} to add a new trust line. {{2}}" -msgstr "You must have at least {{1}} to add a new trust line. {{2}}" - -#: src/jade/tabs/trust.jade:101 +#: src/jade/tabs/trust.jade:115 msgid "" -"By pressing CONFIRM you are extending trust to another Ripple user. This " -"action carries the risk of potential loss up to the amount of the trust " -"line. Make sure you understand these consequences, and that all the issuers " -"are trustworthy." -msgstr "" -"By pressing CONFIRM you are extending trust to another Ripple user. This " -"action carries the risk of potential loss up to the amount of the trust " -"line. Make sure you understand these consequences, and that all the issuers " -"are trustworthy." +"Allow this trust line's balances to be transferred to another issuer you " +"connect to. More " +"information" +msgstr "Allow this trust line's balances to be transferred to another issuer you connect to. More information" -#: src/jade/tabs/trust.jade:106 +#: src/jade/tabs/trust.jade:125 msgid "" -"By pressing CONFIRM you are extending trust to {{1}} for the same currency " -"which may result in your account balances changing without your direct " -"action. Make sure you understand these consequences, and that all your " -"issuers are trustworthy." -msgstr "" -"By pressing CONFIRM you are extending trust to {{1}} for the same " -"currency which may result in your account balances changing without your " -"direct action. Make sure you understand these consequences, and that all " -"your issuers are trustworthy." +"{{1:You are connecting a gateway, which means}}{{2:{{ counterparty_address |" +" rpripplename:{tilde: true} }} can:}}" +msgstr "{{1:You are connecting a gateway, which means}}{{2:{{ counterparty_address | rpripplename:{tilde: true} }} can:}}" -#: src/jade/tabs/trust.jade:121 -msgid "Granting is in progress" -msgstr "Granting is in progress" +#: src/jade/tabs/trust.jade:128 +msgid "{{1:- Hold up to }}{{2}} {{3: on your behalf}}" +msgstr "{{1:- Hold up to }}{{2}} {{3: on your behalf}}" #: src/jade/tabs/trust.jade:132 -msgid "" -"Sorry, an error occurred while granting. Make sure you are connected to the " -"Internet and try again later." -msgstr "" -"Sorry, an error occurred while granting. Make sure you are connected to the " -"Internet and try again later." - -#: src/jade/tabs/trust.jade:140 -msgid "Your grant request has been submitted." -msgstr "Your grant request has been submitted." - -#: src/jade/tabs/trust.jade:142 -msgid "Trust is granted!" -msgstr "Trust is granted!" - -#: src/jade/tabs/trust.jade:144 -msgid "Trust could not be granted!" -msgstr "Trust could not be granted!" - -#: src/jade/tabs/trust.jade:147 -msgid "Grant is malformed!" -msgstr "Grant is malformed!" +msgid "{{1:- Hold }}{{2}} {{3: on your behalf}}" +msgstr "{{1:- Hold }}{{2}} {{3: on your behalf}}" #: src/jade/tabs/trust.jade:148 -msgid "" -"Your request is invalid, reason: {{engine_result}} - " -"{{engine_result_message}}" -msgstr "" -"Your request is invalid, reason: {{engine_result}} - " -"{{engine_result_message}}" +msgid "Verifying address" +msgstr "Verifying address" -#: src/jade/tabs/trust.jade:150 -msgid "Granting failed!" -msgstr "Granting failed!" +#: src/jade/tabs/trust.jade:151 +msgid "" +"Your account has to be {{1:activated}} before you can add a gateway account." +msgstr "Your account has to be {{1:activated}} before you can add a gateway account." -#: src/jade/tabs/trust.jade:153 -msgid "Insufficient reserve to add trust line." -msgstr "Insufficient reserve to add trust line." +#: src/jade/tabs/trust.jade:159 +msgid "Connect gateway" +msgstr "Connect gateway" -#: src/jade/tabs/trust.jade:154 -msgid "" -"You must have at least {{account.reserve_to_add_trust | rpamount:0}} XRP to " -"add a trust line. {{1}}" -msgstr "" -"You must have at least {{account.reserve_to_add_trust | rpamount:0}} XRP to " -"add a trust line. {{1}}" +#: src/jade/tabs/trust.jade:169 src/jade/tabs/trust.jade:221 +msgid "Limit" +msgstr "Limit" -#: src/jade/tabs/trust.jade:156 -msgid "Read more." -msgstr "Read more." +#: src/jade/tabs/trust.jade:170 +msgid "Min" +msgstr "Min" -#: src/jade/tabs/trust.jade:157 -msgid "Trust granting failed to clear, reason: {{engine_result_message}}" -msgstr "Trust granting failed to clear, reason: {{engine_result_message}}" +#: src/jade/tabs/trust.jade:172 +msgid "Edit" +msgstr "Edit" -#: src/jade/tabs/trust.jade:167 -msgid "Address saved!" -msgstr "Address saved!" +#: src/jade/tabs/trust.jade:188 +msgid "Off" +msgstr "Off" + +#: src/jade/tabs/trust.jade:189 +msgid "On" +msgstr "On" + +#: src/jade/tabs/trust.jade:192 src/jade/tabs/trust.jade:201 +#: src/jade/tabs/trust.jade:206 src/jade/tabs/trust.jade:210 +#: src/jade/tabs/trust.jade:239 src/jade/tabs/trust.jade:244 +#: src/jade/tabs/trust.jade:248 +msgid "Incoming trust" +msgstr "Incoming trust" + +#: src/jade/tabs/trust.jade:192 +msgid "" +"You can't edit incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "You can't edit incoming trust lines. Incoming trust lines are when other Ripple users trust you." + +#: src/jade/tabs/trust.jade:200 src/jade/tabs/trust.jade:202 +#: src/jade/tabs/trust.jade:205 src/jade/tabs/trust.jade:207 +#: src/jade/tabs/trust.jade:209 src/jade/tabs/trust.jade:211 +#: src/jade/tabs/trust.jade:238 src/jade/tabs/trust.jade:240 +#: src/jade/tabs/trust.jade:243 src/jade/tabs/trust.jade:245 +#: src/jade/tabs/trust.jade:247 src/jade/tabs/trust.jade:249 +msgid "Remove" +msgstr "Remove" -#: src/jade/tabs/trust.jade:183 -msgid "Back to trust page" -msgstr "Back to trust page" +#: src/jade/tabs/trust.jade:201 src/jade/tabs/trust.jade:206 +#: src/jade/tabs/trust.jade:210 src/jade/tabs/trust.jade:239 +#: src/jade/tabs/trust.jade:244 src/jade/tabs/trust.jade:248 +msgid "" +"You can't delete incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you." -#: src/jade/tabs/trust.jade:194 -msgid "edit" -msgstr "edit" +#: src/jade/tabs/trust.jade:226 +msgid "Rippling {{1}}" +msgstr "Rippling {{1}}" -#: src/jade/tabs/tx.jade:3 +#: src/jade/tabs/tx.jade:5 msgid "Loading transaction details..." msgstr "Loading transaction details..." -#: src/jade/tabs/tx.jade:5 +#: src/jade/tabs/tx.jade:7 msgid "An error occurred while loading the transaction details." msgstr "An error occurred while loading the transaction details." -#: src/jade/tabs/tx.jade:7 -msgid "Transaction # {{transaction.hash}}" -msgstr "Transaction # {{transaction.hash}}" +#: src/jade/tabs/tx.jade:10 +msgid "Transaction #" +msgstr "Transaction #" -#: src/jade/tabs/tx.jade:9 +#: src/jade/tabs/tx.jade:15 msgid "Transaction type: {{1}}" msgstr "Transaction type: {{1}}" -#: src/jade/tabs/tx.jade:16 +#: src/jade/tabs/tx.jade:22 msgid "Address sent from" msgstr "Address sent from" -#: src/jade/tabs/tx.jade:20 +#: src/jade/tabs/tx.jade:26 msgid "Amount sent" msgstr "Amount sent" -#: src/jade/tabs/tx.jade:24 +#: src/jade/tabs/tx.jade:30 msgid "Currency sent" msgstr "Currency sent" -#: src/jade/tabs/tx.jade:29 +#: src/jade/tabs/tx.jade:35 msgid "Address sent to" msgstr "Address sent to" -#: src/jade/tabs/tx.jade:33 +#: src/jade/tabs/tx.jade:39 msgid "Amount received" msgstr "Amount received" -#: src/jade/tabs/tx.jade:37 +#: src/jade/tabs/tx.jade:43 msgid "Currency received" msgstr "Currency received" -#: src/jade/tabs/tx.jade:43 +#: src/jade/tabs/tx.jade:50 msgid "Network fee paid" msgstr "Network fee paid" -#: src/jade/tabs/tx.jade:47 -msgid "Conversion rate" -msgstr "Conversion rate" - -#: src/jade/tabs/tx.jade:53 +#: src/jade/tabs/tx.jade:62 msgid "Ledger number" msgstr "Ledger number" -#: src/jade/tabs/tx.jade:59 -msgid "Address sent from {{1}}" -msgstr "Address sent from {{1}}" - -#: src/jade/tabs/tx.jade:64 -msgid "Sorry, we don't have an info page layout for this transaction type yet." -msgstr "" -"Sorry, we don't have an info page layout for this transaction type yet." - -#: src/jade/notification/account.jade:3 -msgid "You sent  {{1}} {{2}} {{3}}" -msgstr "You sent  {{1}} {{2}} {{3}}" - -#: src/jade/notification/account.jade:9 -msgid "{{tx.counterparty | rpcontactname}} sent you " -msgstr "{{tx.counterparty | rpcontactname}} sent you " - -#: src/jade/notification/account.jade:14 -msgid "{{tx.counterparty | rpcontactname}} now trusts you for " -msgstr "{{tx.counterparty | rpcontactname}} now trusts you for " - -#: src/jade/notification/account.jade:19 -msgid "You now trust {{tx.counterparty | rpcontactname}} for " -msgstr "You now trust {{tx.counterparty | rpcontactname}} for " - -#: src/jade/tabs/balance.jade:50 src/jade/tabs/history.jade:101 -msgid "You sent  {{1}} {{2}}" -msgstr "You sent  {{1}} {{2}}" - -#: src/jade/tabs/balance.jade:86 -msgid "You now trust  {{1}} {{2}}" -msgstr "You now trust  {{1}} {{2}}" - -#: src/jade/tabs/balance.jade:97 src/jade/tabs/history.jade:130 -#: src/jade/tabs/history/effects.jade:17 -msgid "You created an offer accepting  {{1}} for  {{2}}" -msgstr "You created an offer accepting  {{1}} for  {{2}}" - -#: src/jade/tabs/balance.jade:105 src/jade/tabs/history.jade:136 -#: src/jade/tabs/history/effects.jade:13 -msgid "You cancelled an offer accepting  {{1}} for  {{2}}" -msgstr "You cancelled an offer accepting  {{1}} for  {{2}}" - -#: src/jade/tabs/balance.jade:121 -msgid " Loading..." -msgstr " Loading..." - -#: src/jade/tabs/balance.jade:122 -msgid " Error" -msgstr " Error" - -#: src/jade/tabs/balance.jade:123 -msgid " No past transactions found" -msgstr " No past transactions found" - -#: src/jade/tabs/balance/effects.jade:3 -msgid "– You sold  {{1}} for  {{2}} This order has been funded." -msgstr "– You sold  {{1}} for  {{2}} This order has been funded." - -#: src/jade/tabs/balance/effects.jade:8 -msgid "– You sold  {{1}} for  {{2}} {{3}}" -msgstr "– You sold  {{1}} for  {{2}} {{3}}" - -#: src/jade/tabs/balance/effects.jade:12 src/jade/tabs/history/effects.jade:12 -msgid "" -" This order has {{effect.remaining | rpamount}} {{effect.remaining | " -"rpcurrency}} remaining." -msgstr "" -" This order has {{effect.remaining | rpamount}} {{effect.remaining | " -"rpcurrency}} remaining." - -#: src/jade/tabs/balance/effects.jade:13 -msgid "– You cancelled an offer accepting  {{1}} for  {{2}}" -msgstr "– You cancelled an offer accepting  {{1}} for  {{2}}" - -#: src/jade/tabs/balance/effects.jade:17 -msgid "– You created an offer accepting  {{1}} for  {{2}}" -msgstr "– You created an offer accepting  {{1}} for  {{2}}" - -#: src/jade/tabs/balance/effects.jade:21 -msgid "– You bought  {{1}} for  {{2}}" -msgstr "– You bought  {{1}} for  {{2}}" - -#: src/jade/tabs/balance/effects.jade:26 -msgid "" -"– You now trust {{effect.counterparty | rpcontactname}} for {{effect.limit " -"| rpamount}} {{effect.limit | rpcurrency}}" -msgstr "" -"– You now trust {{effect.counterparty | rpcontactname}} for {{effect.limit " -"| rpamount}} {{effect.limit | rpcurrency}}" +#: src/jade/tabs/tx.jade:68 +msgid "Address sent from:" +msgstr "Address sent from:" -#: src/jade/tabs/balance/effects.jade:28 +# Sorry, we don't have an info page layout for this transaction type yet. +#: src/jade/tabs/tx.jade:72 msgid "" -"– {{effect.counterparty | rpcontactname}} is trusting you for {{effect." -"limit | rpamount}} {{effect.limit | rpcurrency}}" -msgstr "" -"– {{effect.counterparty | rpcontactname}} is trusting you for {{effect." -"limit | rpamount}} {{effect.limit | rpcurrency}}" +"Sorry, we don't have an info page layout for this transaction type yet." +msgstr "Sorry, we don't have an info page layout for this transaction type yet." -#: src/jade/tabs/balance/effects.jade:30 -msgid "" -"– You have changed {{effect.limit | rpcurrency}} trust for {{effect." -"counterparty | rpcontactname}} from {{effect.prevLimit | rpamount}} to " -"{{effect.limit | rpamount}}" -msgstr "" -"– You have changed {{effect.limit | rpcurrency}} trust for {{effect." -"counterparty | rpcontactname}} from {{effect.prevLimit | rpamount}} to " -"{{effect.limit | rpamount}}" +#: src/jade/tabs/usd.jade:35 +msgid "US Dollar Deposit" +msgstr "US Dollar Deposit" -#: src/jade/tabs/balance/effects.jade:33 -msgid "" -"– {{effect.counterparty | rpcontactname}} changed the {{effect.limit | " -"rpcurrency}} trust from {{effect.prevLimit | rpamount}} to {{effect.limit | " -"rpamount}}" -msgstr "" -"– {{effect.counterparty | rpcontactname}} changed the {{effect.limit | " -"rpcurrency}} trust from {{effect.prevLimit | rpamount}} to {{effect.limit | " -"rpamount}}" +#: src/jade/tabs/usd.jade:39 +msgid "SnapSwap US (~SnapSwap){{1}}{{2}}" +msgstr "SnapSwap US (~SnapSwap){{1}}{{2}}" -#: src/jade/tabs/balance/effects.jade:36 -msgid "" -"– Trust balance between you and {{effect.counterparty | rpcontactname}} has " -"been changed by {{effect.amount | rpamount}} {{effect.amount | rpcurrency}}" -msgstr "" -"– Trust balance between you and {{effect.counterparty | rpcontactname}} has " -"been changed by {{effect.amount | rpamount}} {{effect.amount | rpcurrency}}" +#: src/jade/tabs/usd.jade:45 +msgid "USA" +msgstr "USA" -#: src/jade/tabs/balance/effects.jade:40 -msgid "" -"– Your balance has been changed by {{effect.amount | rpamount}} {{effect." -"amount | rpcurrency}}" -msgstr "" -"– Your balance has been changed by {{effect.amount | rpamount}} {{effect." -"amount | rpcurrency}}" +#: src/jade/tabs/usd.jade:48 +msgid "$ 0.31-$ 5.00" +msgstr "$ 0.31-$ 5.00" -#: src/jade/tabs/convert.jade:36 +#: src/jade/tabs/usd.jade:56 msgid "" -"Sorry! Cannot convert {{convert.amount}} {{convert.currency}}. Please make " -"sure your account has enough funds, and a  {{1}} to a {{convert." -"currency}} gateway." -msgstr "" -"Sorry! Cannot convert {{convert.amount}} {{convert.currency}}. Please make " -"sure your account has enough funds, and a  {{1}} to a {{convert." -"currency}} gateway." +"Ripple Trade has partnered with SnapSwap to provide easier access to USD. " +"Following this action will enable SnapSwap to hold USD on your behalf." +msgstr "Ripple Trade has partnered with SnapSwap to provide easier access to USD. Following this action will enable SnapSwap to hold USD on your behalf." -#: src/jade/tabs/history.jade:124 -msgid "You now trust  {{1}} for  {{2}}" -msgstr "You now trust  {{1}} for  {{2}}" +#: src/jade/tabs/usd.jade:73 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" +msgstr "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" -#: src/jade/tabs/history/effects.jade:3 -msgid "You sold  {{1}} for  {{2}} This order has been funded." -msgstr "You sold  {{1}} for  {{2}} This order has been funded." +#: src/jade/tabs/usd.jade:74 +msgid "Register and verify your account at SnapSwap US. You will need: {{1}}" +msgstr "Register and verify your account at SnapSwap US. You will need: {{1}}" -#: src/jade/tabs/history/effects.jade:8 -msgid "You sold  {{1}} for  {{2}} {{3}}" -msgstr "You sold  {{1}} for  {{2}} {{3}}" +#: src/jade/tabs/usd.jade:82 +msgid "EXISTING SNAPSWAP US CUSTOMERS" +msgstr "EXISTING SNAPSWAP US CUSTOMERS" -#: src/jade/tabs/history/effects.jade:21 -msgid "You bought  {{1}} for  {{2}}" -msgstr "You bought  {{1}} for  {{2}}" +#: src/jade/tabs/usd.jade:93 +msgid "Deposit instantly via selected banks" +msgstr "Deposit instantly via selected banks" -#: src/jade/tabs/login.jade:38 -msgid "New to ripple? " -msgstr "New to ripple? " +#: src/jade/tabs/usd.jade:95 +msgid "Deposit cash at Bank of America branches (3 business days)" +msgstr "Deposit cash at Bank of America branches (3 business days)" -#: src/jade/tabs/login.jade:94 -msgid "New to ripple?  {{1}}" -msgstr "New to ripple?  {{1}}" +#: src/jade/tabs/usd.jade:97 +msgid "Deposit via online bank transfer (3 business days)" +msgstr "Deposit via online bank transfer (3 business days)" -#: src/jade/tabs/options.jade:42 -msgid "" -" Help Ripple Labs make a better product through sending anonymous client " -"usage data." -msgstr "" -" Help Ripple Labs make a better product through sending anonymous client " -"usage data." - -#: src/jade/tabs/receive.jade:7 -msgid "Tip:  {{1:Select}} and copy using Ctrl+C." -msgstr "Tip:  {{1:Select}} and copy using Ctrl+C." - -#: src/jade/tabs/register.jade:10 -msgid "" -"Only you have this Wallet username and passphrase and are responsible for " -"their safekeeping. Ripple cannot recover them if you forget them!  {{1}}" -msgstr "" -"Only you have this Wallet username and passphrase and are responsible for " -"their safekeeping. Ripple cannot recover them if you forget them!  {{1}}" +#: src/jade/tabs/usd.jade:103 +msgid "Directly to your bank account (3-4 business days)" +msgstr "Directly to your bank account (3-4 business days)" -#: src/jade/tabs/register.jade:35 -msgid "Secret Account Key  {{1}}" -msgstr "Secret Account Key  {{1}}" +#: src/jade/tabs/usd.jade:105 +msgid "Directly to your PayPal account (several minutes)" +msgstr "Directly to your PayPal account (several minutes)" -#: src/jade/tabs/register.jade:36 -msgid "(hide)" -msgstr "(hide)" +#: src/jade/tabs/widgets/assetallocation.jade:3 +msgid "Asset Allocation" +msgstr "Asset Allocation" -#: src/jade/tabs/register.jade:48 -msgid "Store your Wallet with:  {{1}} {{2}} {{3}}" -msgstr "Store your Wallet with:  {{1}} {{2}} {{3}}" +#: src/jade/tabs/widgets/balances.jade:3 +msgid "Balances" +msgstr "Balances" -#: src/jade/tabs/register.jade:57 -msgid "Already have a Wallet? " -msgstr "Already have a Wallet? " +#: src/jade/tabs/widgets/balances.jade:12 +msgid "Balance
{{ account.Balance | rpamount }} XRP" +msgstr "Balance
{{ account.Balance | rpamount }} XRP" -#: src/jade/tabs/register.jade:60 -msgid "Need to use your Secret Key?  {{1}}" -msgstr "Need to use your Secret Key?  {{1}}" +#: src/jade/tabs/widgets/balances.jade:16 +msgid "Reserve" +msgstr "Reserve" -#: src/jade/tabs/register.jade:84 -msgid "" -"The Secret Account Key below gives access to your money in the unlikely case " -"that you lose your wallet name or passphrase. In that case your contacts " -"will be lost, but with this Secret Account Key alone anyone can retrieve " -"your money. So please store it somewhere PRIVATE AND SAFE. Read more about " -"keys and wallet safety in  {{1}}" -msgstr "" -"The Secret Account Key below gives access to your money in the unlikely case " -"that you lose your wallet name or passphrase. In that case your contacts " -"will be lost, but with this Secret Account Key alone anyone can retrieve " -"your money. So please store it somewhere PRIVATE AND SAFE. Read more about " -"keys and wallet safety in  {{1}}" +#: src/jade/tabs/widgets/balances.jade:18 +msgid "Reserve amount" +msgstr "Reserve amount" -#: src/jade/tabs/security.jade:3 +#: src/jade/tabs/widgets/balances.jade:18 msgid "" -"Your money and wallet are protected digitally through encryption algorithms " -"that can be unlocked  {{1}}" -msgstr "" -"Your money and wallet are protected digitally through encryption algorithms " -"that can be unlocked  {{1}}" - -#: src/jade/tabs/security.jade:12 -msgid "{{userBlob.data.contacts.length}} contacts,  {{1}}" -msgstr "{{userBlob.data.contacts.length}} contacts,  {{1}}" - -#: src/jade/tabs/security.jade:15 -msgid "You can  {{1}}" -msgstr "You can  {{1}}" +"Minimum amount of XRP required to fund your account. You cannot spend the " +"reserve." +msgstr "Minimum amount of XRP required to fund your account. You cannot spend the reserve." -#: src/jade/tabs/send.jade:24 -msgid "{{send.recipient_address}}" -msgstr "{{send.recipient_address}}" +#: src/jade/tabs/widgets/balances.jade:20 +msgid "Reserve amount
{{ account.reserve | rpamount }} XRP" +msgstr "Reserve amount
{{ account.reserve | rpamount }} XRP" -#: src/jade/tabs/send.jade:172 src/jade/tabs/send.jade:175 -#: src/jade/tabs/send.jade:178 src/jade/tabs/send.jade:181 -msgid "{{1}} {{2}}" -msgstr "{{1}} {{2}}" - -#: src/jade/tabs/trade.jade:29 src/jade/tabs/trade.jade:40 -msgid "XRP" -msgstr "XRP" - -#: src/jade/tabs/trade.jade:71 -msgid "Bid = " -msgstr "Bid = " - -#: src/jade/tabs/trade.jade:75 -msgid "Ask = " -msgstr "Ask = " +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Available amount" +msgstr "Available amount" -#: src/jade/tabs/trade.jade:79 -msgid "Spread = " -msgstr "Spread = " +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Total amount of XRP in your account minus the reserve amount." +msgstr "Total amount of XRP in your account minus the reserve amount." -#: src/jade/tabs/trade.jade:83 -msgid "Last price = " -msgstr "Last price = " +#: src/jade/tabs/widgets/balances.jade:28 +msgid "Available amount
{{ account.max_spend | rpamount }} XRP" +msgstr "Available amount
{{ account.max_spend | rpamount }} XRP" -#: src/jade/tabs/trade.jade:194 +#: src/jade/tabs/widgets/balances.jade:35 msgid "" -"You must have at least {{account.reserve_to_add_trust | rpamount}} XRP to " -"submit an order.  {{1}}" -msgstr "" -"You must have at least {{account.reserve_to_add_trust | rpamount}} XRP to " -"submit an order.  {{1}}" - -#: src/jade/tabs/trade.jade:249 -msgid "You haven't placed any orders." -msgstr "You haven't placed any orders." - -#: src/jade/tabs/trust.jade:44 -msgid "Account does not meet the minimum XRP reserve.  {{1}}" -msgstr "Account does not meet the minimum XRP reserve.  {{1}}" +"Balance
{{ entry.total | rpamount:{precision: 30, hard_precision: true} " +"}} {{ entry.total | rpcurrency }}" +msgstr "Balance
{{ entry.total | rpamount:{precision: 30, hard_precision: true} }} {{ entry.total | rpcurrency }}" -#: src/jade/tabs/trust.jade:83 -msgid "You must have at least {{1}} to add a new trust line.  {{2}}" -msgstr "You must have at least {{1}} to add a new trust line.  {{2}}" - -#: src/jade/tabs/trust.jade:106 +#: src/jade/tabs/widgets/balances.jade:43 msgid "" -"By pressing CONFIRM you are extending trust to  {{1}} for the same " -"currency which may result in your account balances changing without your " -"direct action. Make sure you understand these consequences, and that all " -"your issuers are trustworthy." -msgstr "" -"By pressing CONFIRM you are extending trust to  {{1}} for the same " -"currency which may result in your account balances changing without your " -"direct action. Make sure you understand these consequences, and that all " -"your issuers are trustworthy." +"Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, " +"hard_precision: true} }} {{ entry.total | rpcurrency }}" +msgstr "Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, hard_precision: true} }} {{ entry.total | rpcurrency }}" -#: src/jade/tabs/trust.jade:154 -msgid "" -"You must have at least {{account.reserve_to_add_trust | rpamount:0}} XRP to " -"add a trust line.  {{1}}" -msgstr "" -"You must have at least {{account.reserve_to_add_trust | rpamount:0}} XRP to " -"add a trust line.  {{1}}" +#: src/jade/tabs/widgets/markets.jade:3 +msgid "Markets" +msgstr "Markets" -#: src/jade/tabs/tx.jade:15 src/jade/tabs/tx.jade:41 -msgid "Address sent from:" -msgstr "Address sent from:" +#: src/jade/tabs/widgets/networth.jade:3 +msgid "Net Worth" +msgstr "Net Worth" -#: src/jade/tabs/tx.jade:17 -msgid "Amount sent:" -msgstr "Amount sent:" +#: src/jade/tabs/widgets/networth.jade:8 +msgid "{{1:{{1:In}}}}{{2}}" +msgstr "{{1:{{1:In}}}}{{2}}" -#: src/jade/tabs/tx.jade:19 -msgid "Currency sent:" -msgstr "Currency sent:" +#: src/jade/tabs/widgets/networth.jade:14 +msgid "Estimated from latest trade price" +msgstr "Estimated from latest trade price" -#: src/jade/tabs/tx.jade:22 -msgid "Address sent to:" -msgstr "Address sent to:" +#: src/jade/tabs/widgets/networth.jade:23 +msgid "(excluding negative balances)" +msgstr "(excluding negative balances)" -#: src/jade/tabs/tx.jade:24 -msgid "Amount received:" -msgstr "Amount received:" +#: src/jade/tabs/widgets/orders.jade:3 +msgid "My Orders" +msgstr "My Orders" -#: src/jade/tabs/tx.jade:26 -msgid "Currency received:" -msgstr "Currency received:" +#: src/jade/tabs/widgets/orders.jade:68 +msgid "trade currencies" +msgstr "trade currencies" -#: src/jade/tabs/tx.jade:30 -msgid "Network fee paid:" -msgstr "Network fee paid:" +#: src/jade/tabs/xrp.jade:19 +msgid "Ripple name: {{1}}{{2}}{{3}}" +msgstr "Ripple name: {{1}}{{2}}{{3}}" -#: src/jade/tabs/tx.jade:32 -msgid "Conversion rate:" -msgstr "Conversion rate:" +#: src/jade/tabs/xrp.jade:21 +msgid "loading..." +msgstr "loading..." -#: src/jade/tabs/tx.jade:36 -msgid "Ledger number:" -msgstr "Ledger number:" +#: src/jade/tabs/xrp.jade:23 +msgid "Show address" +msgstr "Show address" -#: src/jade/tabs/tx.jade:45 +#: src/jade/tabs/xrp.jade:25 msgid "" -"Sorry, we don't have an info page layout for this transaction type yet." -msgstr "" -"Sorry, we don't have an info page layout for this transaction type yet." +"Ripple names are a new feature on Ripple! Use your Ripple name " +"(~{{userCredentials.username}}) to receive money. You can still use your " +"full Ripple address, and while we are working to transition to Ripple names," +" some gateways may still ask for your full address." +msgstr "Ripple names are a new feature on Ripple! Use your Ripple name (~{{userCredentials.username}}) to receive money. You can still use your full Ripple address, and while we are working to transition to Ripple names, some gateways may still ask for your full address." diff --git a/l10n/es/messages.po b/l10n/es/messages.po index 36f5cf13e..639a6526c 100644 --- a/l10n/es/messages.po +++ b/l10n/es/messages.po @@ -1,11 +1,11 @@ # Generated by grunt-jade-l10n-extractor # Translators: # Ignacio Elizalde , 2014 -# Leonardo , 2013-2014 +# Leonardo , 2013-2015 msgid "" msgstr "" "Project-Id-Version: Ripple Trade\n" -"PO-Revision-Date: 2014-12-19 19:26+0000\n" +"PO-Revision-Date: 2015-01-21 19:24+0000\n" "Last-Translator: Leonardo \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/ripple-trade/language/es/)\n" "MIME-Version: 1.0\n" @@ -14,47 +14,49 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/jade/client/index.jade:5 src/jade/client/navbar.jade:112 -#: src/jade/tabs/trust.jade:86 src/jade/tabs/trust.jade:228 +#: src/jade/client/index.jade:5 src/jade/client/navbar.jade:117 +#: src/jade/tabs/trust.jade:59 src/jade/tabs/trust.jade:168 msgid "Balance" msgstr "Balance" -#: src/jade/client/index.jade:7 src/jade/client/navbar.jade:114 +#: src/jade/client/index.jade:7 src/jade/client/navbar.jade:119 msgid "History" msgstr "Historial" -#: src/jade/client/index.jade:8 src/jade/client/navbar.jade:116 -#: src/jade/tabs/contacts.jade:5 +#: src/jade/client/index.jade:8 src/jade/client/navbar.jade:121 msgid "Contacts" msgstr "Contactos" -#: src/jade/client/index.jade:12 src/jade/client/navbar.jade:13 -#: src/jade/tabs/contacts.jade:73 +#: src/jade/client/index.jade:12 src/jade/client/navbar.jade:21 +#: src/jade/tabs/contacts.jade:65 msgid "Send" msgstr "Enviar" -#: src/jade/client/index.jade:16 src/jade/client/navbar.jade:123 +#: src/jade/client/index.jade:16 msgid "Convert" msgstr "Convertir" -#: src/jade/client/index.jade:18 src/jade/client/navbar.jade:121 +#: src/jade/client/index.jade:18 src/jade/client/navbar.jade:23 +#: src/jade/client/navbar.jade:25 src/jade/tabs/settings/navbar.jade:3 msgid "Trade" msgstr "Cambio" -#: src/jade/client/index.jade:22 src/jade/client/navbar.jade:19 -#: src/jade/client/navbar.jade:128 +#: src/jade/client/index.jade:22 src/jade/client/navbar.jade:27 +#: src/jade/client/navbar.jade:133 msgid "Fund" msgstr "Financiar" -#: src/jade/client/index.jade:24 src/jade/tabs/fund/menu.jade:5 +#: src/jade/client/index.jade:24 src/jade/tabs/fund/menu.jade:29 msgid "Gateways" msgstr "Pasarelas" -#: src/jade/client/index.jade:29 src/jade/tabs/su.jade:12 +#: src/jade/client/index.jade:29 src/jade/client/navbar.jade:107 +#: src/jade/tabs/su.jade:12 msgid "Account" msgstr "Cuenta" -#: src/jade/client/index.jade:32 src/jade/tabs/advanced.jade:9 +#: src/jade/client/index.jade:32 src/jade/client/navbar.jade:109 +#: src/jade/tabs/advanced.jade:19 msgid "Settings" msgstr "Configuración" @@ -62,198 +64,437 @@ msgstr "Configuración" msgid "Logout" msgstr "Desconectar" -#: src/jade/client/index.jade:41 -msgid "Welcome to {{productName}}, a global value exchange" -msgstr "Bienvenido a {{productName}}, cambio de valores global" - -#: src/jade/client/index.jade:51 +#: src/jade/client/index.jade:61 +msgid "Why Use Ripple Trade?" +msgstr "Por qué usar Ripple Trade?" + +#: src/jade/client/index.jade:66 +msgid "Home of XRP -" +msgstr "Casa de XRP -" + +#: src/jade/client/index.jade:67 +msgid "the best place to buy and sell XRP" +msgstr "el mejor sitio para comprar y vender XRP" + +#: src/jade/client/index.jade:71 +msgid "Free -" +msgstr "Gratis -" + +#: src/jade/client/index.jade:72 +msgid "no fees to sign up and use Ripple Trade" +msgstr "sin comisiones de registro y uso de Ripple Trade" + +#: src/jade/client/index.jade:76 +msgid "No Middlemen -" +msgstr "Sin Intermediarios -" + +#: src/jade/client/index.jade:77 +msgid "" +"When you submit orders, Ripple automatically finds the best available match," +" without a clearinghouse or broker." +msgstr "Cuando emite sus ordenes, Ripple automaticamente encuentra el mejor resultado posible, sin brokers ni oficinas de inversion." + +#: src/jade/client/index.jade:81 +msgid "Deposit, trade and withdraw money on Ripple via gateways." +msgstr "Deposite, cambie y retire dinero de Ripple via pasarelas." + +#: src/jade/client/index.jade:89 +msgid "Featured Ripple Gateways" +msgstr "Principales Pasarelas Ripple" + +#: src/jade/client/index.jade:91 +msgid "Ripple's growing gateway network." +msgstr "La creciente red de pasarelas de Ripple." + +#: src/jade/client/index.jade:93 src/jade/client/index.jade:96 +#: src/jade/client/index.jade:99 src/jade/client/index.jade:102 +#: src/jade/client/index.jade:105 src/jade/client/index.jade:108 +#: src/jade/client/index.jade:111 src/jade/client/index.jade:114 +#: src/jade/client/index.jade:117 src/jade/tabs/banner/unfunded.jade:6 +#: src/jade/tabs/brl.jade:53 src/jade/tabs/brl.jade:57 +#: src/jade/tabs/brl.jade:93 src/jade/tabs/btc.jade:46 +#: src/jade/tabs/eur.jade:50 src/jade/tabs/eur.jade:54 +#: src/jade/tabs/eur.jade:86 src/jade/tabs/eur.jade:93 +#: src/jade/tabs/gold.jade:51 src/jade/tabs/jpy.jade:55 +#: src/jade/tabs/jpy.jade:91 src/jade/tabs/jpy.jade:97 +#: src/jade/tabs/mxn.jade:53 src/jade/tabs/send.jade:63 +#: src/jade/tabs/trade.jade:320 src/jade/tabs/usd.jade:51 +#: src/jade/tabs/usd.jade:83 src/jade/tabs/usd.jade:90 +#: src/jade/tabs/usd.jade:100 src/jade/tabs/widgets/orders.jade:31 +msgid "{{1}}" +msgstr "{{1}}" + +#: src/jade/client/index.jade:123 msgid "Version: {{version}}" msgstr "Versión: {{version}}" -#: src/jade/client/index.jade:55 -msgid "End-User License Agreement" -msgstr "Acuerdo de Licencia de Usuario" +#: src/jade/client/index.jade:128 +msgid "Terms of Use" +msgstr "Condiciones de Uso" -#: src/jade/client/index.jade:56 +#: src/jade/client/index.jade:129 +msgid "Privacy Policy" +msgstr "Política de Privacidad" + +#: src/jade/client/index.jade:130 msgid "Support" msgstr "Soporte" -#: src/jade/client/index.jade:57 +#: src/jade/client/index.jade:131 msgid "Bug reports" msgstr "Informes de errores" -#: src/jade/client/index.jade:64 +#: src/jade/client/index.jade:138 msgid "more..." msgstr "más..." -#: src/jade/client/index.jade:68 +#: src/jade/client/index.jade:142 msgid "Select a language" msgstr "Seleccione un idioma" -#: src/jade/client/navbar.jade:11 +#: src/jade/client/navbar.jade:2 +msgid "" +"You are viewing an account in {{1}} mode. While in this mode, you can view " +"publicly available data, but you cannot initiate any transactions. Click " +"{{2}} to exit." +msgstr "Esta viendo una cuenta en modo {{1}}. Mientras siga en este modo puede ver informacion publica, pero no puede iniciar ninguna transaccion. Haga click en para {{2}} salir." + +#: src/jade/client/navbar.jade:8 +msgid "" +"Warning: this account has over 200 trust lines, so the displayed account " +"balance may not be accurate." +msgstr "Atencion: esta cuenta tiene mas de 200 lineas de credito, por lo que el balance mostrado puede no ser preciso." + +#: src/jade/client/navbar.jade:19 msgid "Overview" msgstr "Resumen" -#: src/jade/client/navbar.jade:15 src/jade/client/navbar.jade:17 -#: src/jade/tabs/exchange.jade:43 -msgid "Exchange" -msgstr "Cambio" - -#: src/jade/client/navbar.jade:39 src/jade/tabs/account/public.jade:45 -#: src/jade/tabs/apps.jade:8 src/jade/tabs/balance.jade:8 -#: src/jade/tabs/balance.jade:27 src/jade/tabs/btc.jade:60 -#: src/jade/tabs/exchange.jade:9 src/jade/tabs/history.jade:207 -#: src/jade/tabs/kyc.jade:38 src/jade/tabs/recover.jade:21 -#: src/jade/tabs/security.jade:134 src/jade/tabs/su.jade:8 -#: src/jade/tabs/trust.jade:9 src/jade/tabs/trust.jade:175 +#: src/jade/client/navbar.jade:49 src/jade/tabs/account/private.jade:7 +#: src/jade/tabs/account/private.jade:16 src/jade/tabs/account/public.jade:45 +#: src/jade/tabs/apps.jade:8 src/jade/tabs/btc.jade:72 +#: src/jade/tabs/exchange.jade:9 src/jade/tabs/kyc.jade:45 +#: src/jade/tabs/recover.jade:26 src/jade/tabs/security.jade:147 +#: src/jade/tabs/su.jade:8 src/jade/tabs/trust.jade:9 +#: src/jade/tabs/trust.jade:139 msgid "Loading..." msgstr "Cargando..." -#: src/jade/client/navbar.jade:40 +#: src/jade/client/navbar.jade:50 msgid "There are no recent notifications." msgstr "No hay notificaciones recientes" -#: src/jade/client/navbar.jade:44 +#: src/jade/client/navbar.jade:54 msgid "You sent {{1}} to {{2}}" msgstr "Ha enviado {{1}} a {{2}}" -#: src/jade/client/navbar.jade:50 +#: src/jade/client/navbar.jade:60 msgid "{{1}} sent you {{2}}" msgstr "{{1}} le ha enviado {{2}}" -#: src/jade/client/navbar.jade:58 +#: src/jade/client/navbar.jade:68 msgid "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" msgstr "{{entry.transaction.counterparty | rpcontactname}} le ha acreditado por" -#: src/jade/client/navbar.jade:64 src/jade/notification/account.jade:25 -#: src/jade/tabs/history.jade:133 src/jade/tabs/history/effects.jade:63 +#: src/jade/client/navbar.jade:74 src/jade/notification/account.jade:25 +#: src/jade/tabs/history.jade:115 src/jade/tabs/history/effects.jade:63 msgid "You have now connected to the gateway {{1}}{{2: for }}{{3}}." msgstr "Se acaba de conectar a la pasarela {{1}}{{2: por }}{{3}}." -#: src/jade/client/navbar.jade:75 +#: src/jade/client/navbar.jade:85 msgid "You cancelled an order accepting {{1}} for {{2}}" msgstr "Ha cancelado una orden aceptando {{1}} por {{2}}" -#: src/jade/client/navbar.jade:82 src/jade/tabs/history.jade:156 +#: src/jade/client/navbar.jade:92 src/jade/tabs/history.jade:138 msgid "Account details have been changed" msgstr "Los datos de la cuenta han sido modificados" -#: src/jade/client/navbar.jade:85 src/jade/tabs/history.jade:159 -#: src/jade/tabs/trust.jade:231 +#: src/jade/client/navbar.jade:95 src/jade/tabs/history.jade:141 +#: src/jade/tabs/trust.jade:171 msgid "Rippling" msgstr "Rippleando" -#: src/jade/client/navbar.jade:87 src/jade/tabs/history.jade:161 +#: src/jade/client/navbar.jade:97 src/jade/tabs/history.jade:143 msgid "Failed transaction" msgstr "Transacción fallida" -#: src/jade/client/navbar.jade:93 +#: src/jade/client/navbar.jade:103 msgid "View Full History" msgstr "Ver el Historial Completo" -#: src/jade/client/navbar.jade:97 -msgid "{{1}} Account" -msgstr "{{1}} Cuenta" +#: src/jade/client/navbar.jade:111 +msgid "Log Out" +msgstr "Desconectar" -#: src/jade/client/navbar.jade:101 -msgid "{{1}} Settings" -msgstr "{{1}} Configuración" +#: src/jade/client/navbar.jade:126 +msgid "Simple" +msgstr "Simple" -#: src/jade/client/navbar.jade:105 -msgid "{{1}} Log Out" -msgstr "{{1}} Desconectar" +#: src/jade/client/navbar.jade:128 src/jade/tabs/settings/navbar.jade:4 +msgid "Advanced" +msgstr "Avanzado" -#: src/jade/client/navbar.jade:130 src/jade/tabs/balance.jade:110 +#: src/jade/client/navbar.jade:135 msgid "Withdraw" msgstr "Retirar" -#: src/jade/client/navbar.jade:132 +#: src/jade/client/navbar.jade:137 msgid "" "Your account was successfully recovered and encrypted with the new password " "you provided!" msgstr "Su cuenta ha sido recuperada y encriptada con la nueva contraseña indicada con éxito!" -#: src/jade/client/navbar.jade:133 +#: src/jade/client/navbar.jade:138 msgid "dismiss" msgstr "Omitir" -#: src/jade/directives/transactionerror.jade:5 +#: src/jade/directives/addresspopover.jade:3 +msgid "Ripple address {{ identity }}" +msgstr "Dirección Ripple {{ identity }}" + +#: src/jade/directives/addresspopover.jade:8 src/jade/tabs/tx.jade:13 +msgid "Show in graph" +msgstr "Mostrar en un gráfico" + +#: src/jade/directives/transactionerror.jade:8 +msgid "Connecting gateway to your account..." +msgstr "Conectando pasarela a su cuenta..." + +#: src/jade/directives/transactionerror.jade:10 +msgid "Gateway connected." +msgstr "Pasarela conectada." + +#: src/jade/directives/transactionerror.jade:12 +msgid "There was a problem connecting to the gateway. Please try again later." +msgstr "Ha habido un problema conectando con la pasarela. Por favor inténtelo más tarde." + +#: src/jade/directives/transactionerror.jade:14 +#: src/jade/directives/transactionerror.jade:73 +#: src/jade/directives/transactionerror.jade:158 +#: src/jade/messages/sendconvert/confirmation.jade:13 +msgid "Error code: {{engine_result}} - {{engine_result_message}}" +msgstr "Código de error: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:19 +#: src/jade/directives/transactionerror.jade:23 +#: src/jade/directives/transactionerror.jade:28 +#: src/jade/directives/transactionerror.jade:33 +#: src/jade/directives/transactionerror.jade:45 +#: src/jade/directives/transactionerror.jade:52 +#: src/jade/directives/transactionerror.jade:156 +#: src/jade/directives/transactionerror.jade:163 +#: src/jade/directives/transactionerror.jade:167 +#: src/jade/directives/transactionerror.jade:172 +#: src/jade/directives/transactionerror.jade:177 +#: src/jade/directives/transactionerror.jade:186 +#: src/jade/directives/transactionerror.jade:193 +msgid "Request failed" +msgstr "Petición fallida" + +#: src/jade/directives/transactionerror.jade:21 +#: src/jade/directives/transactionerror.jade:165 +msgid "Your request timed out, please try again." +msgstr "Su petición ha expirado, por favor inténtelo de nuevo." + +#: src/jade/directives/transactionerror.jade:25 +#: src/jade/directives/transactionerror.jade:84 +#: src/jade/directives/transactionerror.jade:169 +#: src/jade/messages/sendconvert/confirmation.jade:18 +msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." +msgstr "Código de error: Etiqueta de destino requerida [tefDST_TAG_NEEDED]." + +#: src/jade/directives/transactionerror.jade:30 +#: src/jade/directives/transactionerror.jade:174 +msgid "" +"Error code: This request failed because it exceeded the maximum network fee," +" please try again later [telINSUF_FEE_P]." +msgstr "Código de error: Esta petición ha fallado porque supera la comisión máxima de red, por favor inténtelo más tarde [telINSUF_FEE_P]." + +#: src/jade/directives/transactionerror.jade:35 +msgid "" +"Error code: You have no gateway connected in this currency [terNO_LINE]." +msgstr "Código de error: No tiene ninguna pasarela conectada para esta divisa [terNO_LINE]." + +#: src/jade/directives/transactionerror.jade:37 +msgid "" +"Error code: Insufficient reserve to connect gateway [tecINSUF_RESERVE_LINE]." +msgstr "Código de error: Reserva insuficiente para conectar con pasarela [tecINSUF_RESERVE_LINE]." + +#: src/jade/directives/transactionerror.jade:39 +msgid "" +"Error code: You have an insufficient reserve amount to connect a gateway " +"[tecNO_LINE_INSUF_RESERVE]. {{1}}" +msgstr "Código de error: Su reserva es insuficiente para conectar con pasarela [tecNO_LINE_INSUF_RESERVE]. {{1}}" + +#: src/jade/directives/transactionerror.jade:41 src/jade/tabs/fund.jade:34 +#: src/jade/tabs/send.jade:110 src/jade/tabs/trust.jade:74 +msgid "More information" +msgstr "Más información" + +#: src/jade/directives/transactionerror.jade:42 +#: src/jade/directives/transactionerror.jade:98 +#: src/jade/directives/transactionerror.jade:135 +#: src/jade/directives/transactionerror.jade:183 +#: src/jade/messages/sendconvert/confirmation.jade:27 +msgid "Error: {{engine_result_message}}" +msgstr "Error: {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:47 +#: src/jade/directives/transactionerror.jade:103 +#: src/jade/directives/transactionerror.jade:188 +#: src/jade/messages/sendconvert/confirmation.jade:32 +msgid "Error code: You have no trust line in this currency [terNO_LINE]." +msgstr "Código de error: No tiene linea de crédito en esta moneda [terNO_LINE]." + +#: src/jade/directives/transactionerror.jade:49 +#: src/jade/directives/transactionerror.jade:190 +msgid "Your request failed: {{engine_result}} - {{engine_result_message}}" +msgstr "Su peticion ha fallado: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:54 +#: src/jade/directives/transactionerror.jade:195 +msgid "Error code: request could not be submitted [tejLost]." +msgstr "Código de error: La petición no se pudo enviar [tejLost]. " + +#: src/jade/directives/transactionerror.jade:56 +#: src/jade/directives/transactionerror.jade:197 src/jade/tabs/trust.jade:36 +msgid "" +"This request failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "Esta peticion ha fallado porque la comision de red actual es superior a su limite de cuenta. Puede ajustar su comision maxima de red en Ajustes > Avanzado, o intentarlo de nuevo mas tarde.
Error code: Network fee exceeded [tejMaxFeeExceeded]." + +#: src/jade/directives/transactionerror.jade:59 +#: src/jade/directives/transactionerror.jade:200 +msgid "" +"Your request could not be submitted: {{engine_result}} - " +"{{engine_result_message}}" +msgstr "Su peticion no ha podido ser enviada: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:67 msgid "Payment pending" msgstr "Pago pendiente" -#: src/jade/directives/transactionerror.jade:7 +#: src/jade/directives/transactionerror.jade:69 msgid "Payment successful" msgstr "Pago efectuado" -#: src/jade/directives/transactionerror.jade:9 -#: src/jade/directives/transactionerror.jade:16 -#: src/jade/directives/transactionerror.jade:20 -#: src/jade/directives/transactionerror.jade:25 -#: src/jade/directives/transactionerror.jade:30 -#: src/jade/directives/transactionerror.jade:39 -#: src/jade/directives/transactionerror.jade:46 +#: src/jade/directives/transactionerror.jade:71 +#: src/jade/directives/transactionerror.jade:82 +#: src/jade/directives/transactionerror.jade:87 +#: src/jade/directives/transactionerror.jade:92 +#: src/jade/directives/transactionerror.jade:101 +#: src/jade/directives/transactionerror.jade:108 msgid "Payment failed" msgstr "Pago fallido" -#: src/jade/directives/transactionerror.jade:11 -#: src/jade/messages/sendconvert/confirmation.jade:13 -msgid "Error code: {{engine_result}} - {{engine_result_message}}" -msgstr "Código de error: {{engine_result}} - {{engine_result_message}}" +#: src/jade/directives/transactionerror.jade:78 +msgid "Payment failed [tefMAX_LEDGER]." +msgstr "Pago fallido [tefMAX_LEDGER]." -#: src/jade/directives/transactionerror.jade:18 +#: src/jade/directives/transactionerror.jade:80 msgid "Your payment timed out, please try again." msgstr "Su pago ha expirado, por favor inténtelo de nuevo." -#: src/jade/directives/transactionerror.jade:22 -#: src/jade/messages/sendconvert/confirmation.jade:18 -msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." -msgstr "Código de error: Etiqueta de destino requerida [tefDST_TAG_NEEDED]." - -#: src/jade/directives/transactionerror.jade:27 +#: src/jade/directives/transactionerror.jade:89 #: src/jade/messages/sendconvert/confirmation.jade:39 msgid "" "Error code: This transaction failed because it exceeded the maximum network " "fee, please try again later [telINSUF_FEE_P]." msgstr "Código de error: Esta transacción ha fallado porque supera la comisión máxima de red, por favor inténtelo más tarde [telINSUF_FEE_P]." -#: src/jade/directives/transactionerror.jade:32 +#: src/jade/directives/transactionerror.jade:94 +#: src/jade/directives/transactionerror.jade:179 msgid "Error code: No destination [tecNO_DST]." msgstr "Código de error: No hay destino [tecNO_DST]." -#: src/jade/directives/transactionerror.jade:34 +#: src/jade/directives/transactionerror.jade:96 +#: src/jade/directives/transactionerror.jade:181 #: src/jade/messages/sendconvert/confirmation.jade:25 msgid "" "Error code: Insufficient XRP sent to destination [tecNO_DST_INSUF_XRP]." msgstr "Código de error: Cantidad de XRP enviados al destino insuficiente [tecNO_DST_INSUF_XRP]." -#: src/jade/directives/transactionerror.jade:36 -#: src/jade/messages/sendconvert/confirmation.jade:27 -msgid "Error: {{engine_result_message}}" -msgstr "Error: {{engine_result_message}}" - -#: src/jade/directives/transactionerror.jade:41 -#: src/jade/messages/sendconvert/confirmation.jade:32 -msgid "Error code: You have no trust line in this currency [terNO_LINE]." -msgstr "Código de error: No tiene linea de crédito en esta moneda [terNO_LINE]." - -#: src/jade/directives/transactionerror.jade:43 +#: src/jade/directives/transactionerror.jade:105 msgid "Your payment failed: {{engine_result}} - {{engine_result_message}}" msgstr "Su pago ha fallado: {{engine_result}} - {{engine_result_message}}" -#: src/jade/directives/transactionerror.jade:48 +#: src/jade/directives/transactionerror.jade:110 msgid "Error code: Transaction could not be submitted [tejLost]." msgstr "Código de error: La transaccóin no se pudo enviar [tejLost]. " -#: src/jade/directives/transactionerror.jade:50 -msgid "Error code: Network fee exceeded [tejMaxFeeExceeded]." -msgstr "Código de error: Comisión de red excedida [tejMaxFeeExceeded]. " +#: src/jade/directives/transactionerror.jade:112 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "Esta peticion ha fallado porque la comision de red actual es superior a su limite de cuenta. Puede ajustar su comision maxima de red en Ajustes > Avanzado, o intentarlo de nuevo mas tarde.
Error code: Network fee exceeded [tejMaxFeeExceeded]." -#: src/jade/directives/transactionerror.jade:52 +#: src/jade/directives/transactionerror.jade:115 msgid "" "Your payment could not be submitted: {{engine_result}} - " "{{engine_result_message}}" msgstr "Su pago no ha podido ser enviado: {{engine_result}} - {{engine_result_message}}" +#: src/jade/directives/transactionerror.jade:121 +msgid "Request is malformed." +msgstr "La petición no esta bien hecha." + +#: src/jade/directives/transactionerror.jade:122 +msgid "" +"Your request is invalid, reason: {{engine_result_message}} - " +"{{engine_result_message}}" +msgstr "Su peticion no es valida, motivo: {{engine_result_message}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:125 +#: src/jade/directives/transactionerror.jade:142 +msgid "Transaction failed." +msgstr "Transacción fallida." + +#: src/jade/directives/transactionerror.jade:127 +msgid "You do not have enough funds to create this order [tecUNFUNDED_ORDER]." +msgstr "No tiene suficentes fondos para crear esta orden [tecUNFUNDED_ORDER]." + +#: src/jade/directives/transactionerror.jade:129 +msgid "" +"Insufficient reserve amount to submit an order [tecINSUF_RESERVE_OFFER]." +msgstr "Cantidad de reserva insuficiente para emitir una orden [tecINSUF_RESERVE_OFFER]." + +#: src/jade/directives/transactionerror.jade:131 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]. {{1}}" +msgstr "Esta transaccion ha fallado porque la comision de red actual es superior a su limite de cuenta. Puede ajustar su comision maxima de red en Ajustes > Avanzado, o intentarlo de nuevo mas tarde.
Error code: Network fee exceeded [tejMaxFeeExceeded]. {{1}}" + +#: src/jade/directives/transactionerror.jade:134 +msgid "More information." +msgstr "Más información." + +#: src/jade/directives/transactionerror.jade:138 +msgid "Trade failed." +msgstr "Cambio fallido." + +#: src/jade/directives/transactionerror.jade:140 +msgid "Trade failed, reason: {{engine_result_message}}" +msgstr "El Cambio ha fallado, motivo: {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:144 +msgid "" +"The particular server you sent the transaction to was too busy to forward or" +" process your transaction at the fee you included in it [telINSUF_FEE_P]." +msgstr "El servidor al que envio la transaccion estaba demasiado ocupado para procesar o redirigir su transaccion con la comision que ha incluido [telINSUF_FEE_P]." + +#: src/jade/directives/transactionerror.jade:152 +msgid "Request pending" +msgstr "Petición pendiente" + +#: src/jade/directives/transactionerror.jade:154 +msgid "Request successful" +msgstr "Petición efectuada" + #: src/jade/messages/sendconvert/confirmation.jade:4 msgid "Transaction pending." msgstr "Transacción pendiente." @@ -275,8 +516,11 @@ msgstr "Transacción efectuada" msgid "Transaction failed" msgstr "Transaccion fallida" -#: src/jade/messages/sendconvert/confirmation.jade:9 -#: src/jade/tabs/trust.jade:58 src/jade/tabs/trust.jade:70 +#: src/jade/messages/sendconvert/confirmation.jade:9 src/jade/tabs/brl.jade:25 +#: src/jade/tabs/btc.jade:22 src/jade/tabs/eur.jade:25 +#: src/jade/tabs/gold.jade:25 src/jade/tabs/jpy.jade:25 +#: src/jade/tabs/mxn.jade:25 src/jade/tabs/trust.jade:43 +#: src/jade/tabs/usd.jade:25 msgid "Please try again later." msgstr "Por favor inténtelo de nuevo más tarde." @@ -317,6 +561,7 @@ msgid "Account unlock failed" msgstr "Desbloqueo de cuenta fallido" #: src/jade/messages/sendconvert/localerror.jade:18 +#: src/jade/tabs/trust.jade:40 msgid "Your account could not be unlocked. Please try again later." msgstr "Su cuentq no ha podido ser desbloqueada. Por favor inténtelo más tarde." @@ -332,7 +577,7 @@ msgid "" "executed already." msgstr "Antes de intentarlo de nuevo, por favor asegurese de que la transaccion no se haya ejecutado ya." -#: src/jade/messages/sendconvert/waiting.jade:3 +#: src/jade/messages/sendconvert/waiting.jade:5 msgid "Sending transaction to the Ripple network" msgstr "Enviando transacción a la red Ripple" @@ -348,13 +593,49 @@ msgstr "{{tx.counterparty | rpcontactname}} le ha enviado " msgid "{{tx.counterparty | rpcontactname}} now trusts you for" msgstr "{{tx.counterparty | rpcontactname}} le ha acreditado por " +#: src/jade/popup/modifyOrderError.jade:2 +msgid "Modify Order Error" +msgstr "Modificar Error de Orden" + +#: src/jade/popup/modifyOrderError.jade:4 +msgid "Sorry, your order could not be modified." +msgstr "Lo sentimos, su orden no ha podido modificarse." + +#: src/jade/popup/modifyOrderError.jade:5 +msgid "" +"Your original order was cancelled but the modified order was not placed. " +"
" +msgstr "Su orden original fue cancelada pero su orden modificada no podido ponerse.
" + +#: src/jade/popup/modifyOrderError.jade:6 +msgid "" +"The quantity of your order changed by {{order.qtyChangeAfterCancel | " +"rpamount}} before the order could be modified.

" +msgstr "La cantidad de su orden ha cambiado en {{order.qtyChangeAfterCancel | rpamount}} antes de que la orden pudiese ser modificada.

" + +#: src/jade/popup/modifyOrderError.jade:7 +msgid "" +"To safeguard against the possibility of overfills a new order has not been " +"placed.
" +msgstr "Para prevenir la posibilidad de sobrecarga la nueva orden no ha sido enviada.
" + +#: src/jade/popup/modifyOrderError.jade:8 +msgid "" +"Please check your balance and history before placing the new order manually." +"
" +msgstr "Por favor compruebe su balance e historial antes de introducir una orden manualmente.
" + +#: src/jade/popup/modifyOrderError.jade:10 src/jade/popup/unlock.jade:17 +msgid "Close" +msgstr "Cerrar" + #: src/jade/popup/unlock.jade:2 msgid "Unlock account" msgstr "Desbloquear cuenta" -#: src/jade/popup/unlock.jade:5 src/jade/tabs/desktop/register.jade:28 -#: src/jade/tabs/login/form.jade:7 src/jade/tabs/recover.jade:33 -#: src/jade/tabs/register.jade:42 src/jade/tabs/security.jade:10 +#: src/jade/popup/unlock.jade:5 src/jade/tabs/login/form.jade:8 +#: src/jade/tabs/recover.jade:38 src/jade/tabs/register.jade:58 +#: src/jade/tabs/security.jade:12 msgid "Password" msgstr "Contraseña" @@ -362,7 +643,7 @@ msgstr "Contraseña" msgid "Please enter your password to show your secret key." msgstr "Por favor intoroduzca su contraseña para mostrar su clave secreta." -#: src/jade/popup/unlock.jade:9 src/jade/tabs/send.jade:195 +#: src/jade/popup/unlock.jade:9 src/jade/tabs/send.jade:205 msgid "Please enter your password to confirm this transaction." msgstr "Por favor introduzca su contraseña para confirmar esta transacción." @@ -370,52 +651,146 @@ msgstr "Por favor introduzca su contraseña para confirmar esta transacción." msgid "This password is incorrect, please try again." msgstr "La contraseña es incorrecta, por favor inténtelo de nuevo." -#: src/jade/popup/unlock.jade:11 +#: src/jade/popup/unlock.jade:13 msgid "Confirming password" msgstr "Comprobando contraseña" -#: src/jade/popup/unlock.jade:14 src/jade/tabs/account/public.jade:44 -#: src/jade/tabs/security.jade:133 +#: src/jade/popup/unlock.jade:16 src/jade/tabs/account/public.jade:44 +#: src/jade/tabs/security.jade:146 msgid "Submit" msgstr "Enviar" -#: src/jade/popup/unlock.jade:15 -msgid "Close" -msgstr "Cerrar" - #: src/jade/tabs/2fa/form.jade:3 msgid "Country Code" msgstr "Código de País" -#: src/jade/tabs/2fa/form.jade:6 src/jade/tabs/kyc.jade:146 +#: src/jade/tabs/2fa/form.jade:6 src/jade/tabs/kyc.jade:162 msgid "Phone Number" msgstr "Número de Teléfono" +#: src/jade/tabs/_usd.jade:6 src/jade/tabs/apps.jade:5 +#: src/jade/tabs/balance.jade:5 src/jade/tabs/brl.jade:6 +#: src/jade/tabs/btc.jade:9 src/jade/tabs/eur.jade:6 +#: src/jade/tabs/exchange.jade:6 src/jade/tabs/fund.jade:6 +#: src/jade/tabs/gold.jade:6 src/jade/tabs/history.jade:6 +#: src/jade/tabs/jpy.jade:6 src/jade/tabs/kyc.jade:6 src/jade/tabs/mxn.jade:6 +#: src/jade/tabs/send.jade:6 src/jade/tabs/su.jade:5 +#: src/jade/tabs/trade.jade:7 src/jade/tabs/trust.jade:6 +#: src/jade/tabs/usd.jade:6 src/jade/tabs/withdraw.jade:6 +#: src/jade/tabs/xrp.jade:6 +msgid "You have to be online to see this screen" +msgstr "Debe estar online para ver esto" + +#: src/jade/tabs/_usd.jade:17 +msgid "USD instant deposit" +msgstr "Deposito instantaneo USD" + +#: src/jade/tabs/_usd.jade:19 src/jade/tabs/_usd.jade:21 +msgid "Step 1 (Amount)" +msgstr "Paso 1 (Cantidad)" + +#: src/jade/tabs/_usd.jade:22 +msgid "Step 2 (Confirmation)" +msgstr "Paso 2 (Confirmacion)" + +#: src/jade/tabs/_usd.jade:23 +msgid "Step 3 (Complete deposit)" +msgstr "Paso 3 (Completar deposito)" + +#: src/jade/tabs/_usd.jade:26 +msgid "STEP 1: AMOUNT" +msgstr "PASO 1: CANTIDAD" + +#: src/jade/tabs/_usd.jade:28 +msgid "STEP 2: CONFIRMATION" +msgstr "PASO 2: CONFIRMACION" + +#: src/jade/tabs/_usd.jade:30 +msgid "STEP 3: COMPLETE DEPOSIT" +msgstr "PASO 3: COMPLETAR DEPOSITO" + +#: src/jade/tabs/_usd.jade:34 +msgid "" +"Success! You've completed your USD deposit. Your funds should be available " +"within a few minutes." +msgstr "Hecho! Ha completado su deposito de USD. Sus fondos estaran disponibles en unos minutos." + +#: src/jade/tabs/_usd.jade:36 +msgid "You cancelled your deposit." +msgstr "Ha cancelado su deposito." + +#: src/jade/tabs/_usd.jade:38 +msgid "" +"Your deposit failed. Your bank account was not charged. Please contact " +"{{1}}." +msgstr "Su deposito ha fallado. No se ha cargado nada en su cuenta bancaria. Por favor contacte {{1}}." + +#: src/jade/tabs/_usd.jade:49 src/jade/tabs/_usd.jade:91 +#: src/jade/tabs/fund.jade:41 src/jade/tabs/history.jade:172 +#: src/jade/tabs/trust.jade:89 +msgid "Amount" +msgstr "Cantidad" + +#: src/jade/tabs/_usd.jade:59 src/jade/tabs/_usd.jade:62 +msgid "Select your bank" +msgstr "Seleccione su banco" + +#: src/jade/tabs/_usd.jade:77 +msgid "" +"Ripple Trade has partnered with SnapSwap to make USD deposits easier. By " +"continuing, you agree to SnapSwap's {{1}}To contact support, email {{2}}." +msgstr "Ripple Trade se ha asociado con SnapSwap para facilitar los depositos de USD. Al continuar acepta las {{1}} de SnapSwap. Para contactar con soporte envie un email a {{2}}." + +#: src/jade/tabs/_usd.jade:93 src/jade/tabs/history.jade:178 +msgid "Fee" +msgstr "Comisión" + +#: src/jade/tabs/_usd.jade:95 +msgid "Total" +msgstr "Total" + +#: src/jade/tabs/_usd.jade:98 +msgid "Calculating..." +msgstr "Calculando..." + +#: src/jade/tabs/_usd.jade:109 src/jade/tabs/register.jade:126 +#: src/jade/tabs/register.jade:133 +msgid "Back" +msgstr "Atrás" + +#: src/jade/tabs/_usd.jade:111 src/jade/tabs/btc.jade:73 +#: src/jade/tabs/exchange.jade:111 src/jade/tabs/send.jade:213 +#: src/jade/tabs/trade.jade:67 src/jade/tabs/trade.jade:77 +#: src/jade/tabs/trade.jade:248 src/jade/tabs/trade.jade:407 +#: src/jade/tabs/trust.jade:140 +msgid "Confirm" +msgstr "Confirmar" + #: src/jade/tabs/account/navbar.jade:2 msgid "Public Information" msgstr "Información Pública" -#: src/jade/tabs/account/private.jade:2 +#: src/jade/tabs/account/private.jade:1 msgid "Profile Information" msgstr "Información de Perfil" -#: src/jade/tabs/account/private.jade:5 +#: src/jade/tabs/account/private.jade:3 msgid "Identity Information" msgstr "Información de Identidad" -#: src/jade/tabs/account/private.jade:8 src/jade/tabs/account/private.jade:19 +#: src/jade/tabs/account/private.jade:8 src/jade/tabs/account/private.jade:17 msgid "Completed" msgstr "Completado" -#: src/jade/tabs/account/private.jade:11 src/jade/tabs/account/private.jade:22 +#: src/jade/tabs/account/private.jade:9 src/jade/tabs/account/private.jade:18 msgid "Incomplete" msgstr "Incompleto" -#: src/jade/tabs/account/private.jade:13 src/jade/tabs/account/private.jade:24 +#: src/jade/tabs/account/private.jade:10 src/jade/tabs/account/private.jade:19 msgid "Complete your profile" msgstr "Complete su perfil" -#: src/jade/tabs/account/private.jade:16 +#: src/jade/tabs/account/private.jade:12 msgid "Identity Questions" msgstr "Preguntas de Identidad" @@ -431,15 +806,17 @@ msgstr "Su nombre Ripple ha sido cambiado con éxito." msgid "Account settings" msgstr "Configuración de cuenta" -#: src/jade/tabs/account/public.jade:5 src/jade/tabs/login/form.jade:2 +#: src/jade/tabs/account/public.jade:5 src/jade/tabs/fund/menu.jade:2 +#: src/jade/tabs/login/form.jade:3 msgid "Ripple name" msgstr "Nombre Ripple" -#: src/jade/tabs/account/public.jade:9 src/jade/tabs/advanced.jade:17 -#: src/jade/tabs/advanced.jade:34 src/jade/tabs/advanced.jade:53 -#: src/jade/tabs/advanced.jade:106 src/jade/tabs/contacts.jade:69 -#: src/jade/tabs/security.jade:107 src/jade/tabs/security.jade:165 -#: src/jade/tabs/trust.jade:219 src/jade/tabs/trust.jade:248 +#: src/jade/tabs/account/public.jade:9 src/jade/tabs/advanced.jade:27 +#: src/jade/tabs/advanced.jade:44 src/jade/tabs/advanced.jade:63 +#: src/jade/tabs/advanced.jade:86 src/jade/tabs/advanced.jade:134 +#: src/jade/tabs/contacts.jade:61 src/jade/tabs/security.jade:120 +#: src/jade/tabs/security.jade:180 src/jade/tabs/trust.jade:191 +#: src/jade/tabs/trust.jade:193 msgid "edit" msgstr "Editar" @@ -447,23 +824,24 @@ msgstr "Editar" msgid "New Ripple name" msgstr "Nuevo nombre Ripple" -#: src/jade/tabs/account/public.jade:17 src/jade/tabs/balance.jade:60 +#: src/jade/tabs/account/public.jade:17 src/jade/tabs/register.jade:35 +#: src/jade/tabs/widgets/balances.jade:24 msgid "Available" msgstr "Disponible" -#: src/jade/tabs/account/public.jade:20 src/jade/tabs/register.jade:30 +#: src/jade/tabs/account/public.jade:20 src/jade/tabs/register.jade:39 msgid "Already taken!" msgstr "Ya asignado!" -#: src/jade/tabs/account/public.jade:21 src/jade/tabs/register.jade:31 +#: src/jade/tabs/account/public.jade:21 msgid "Reserved for {{usernameReservedFor}}{{1}}{{2}}" msgstr "Reservado para {{usernameReservedFor}}{{1}}{{2}} " -#: src/jade/tabs/account/public.jade:24 src/jade/tabs/register.jade:34 +#: src/jade/tabs/account/public.jade:24 src/jade/tabs/register.jade:45 msgid "Must be at least 2 characters" msgstr "Debe tener al menos 2 caracteres." -#: src/jade/tabs/account/public.jade:25 src/jade/tabs/register.jade:35 +#: src/jade/tabs/account/public.jade:25 src/jade/tabs/register.jade:47 msgid "Must be at most 20 characters" msgstr "Debe tener como máximo 20 caracteres." @@ -471,11 +849,11 @@ msgstr "Debe tener como máximo 20 caracteres." msgid "Only a-z, 0-9 and hyphen (-)" msgstr "Solo a-z, 0-9 y guión (-)" -#: src/jade/tabs/account/public.jade:27 src/jade/tabs/register.jade:37 +#: src/jade/tabs/account/public.jade:27 src/jade/tabs/register.jade:51 msgid "Cannot start with hyphen (-)" msgstr "No puede empezar por guión (-)" -#: src/jade/tabs/account/public.jade:28 src/jade/tabs/register.jade:38 +#: src/jade/tabs/account/public.jade:28 src/jade/tabs/register.jade:53 msgid "Cannot end with hyphen (-)" msgstr "No puede acabar en guión (-)" @@ -483,16 +861,16 @@ msgstr "No puede acabar en guión (-)" msgid "Cannot bundle hyphens (--)" msgstr "No puede enlazar guiones (--)" -#: src/jade/tabs/account/public.jade:30 src/jade/tabs/register.jade:40 +#: src/jade/tabs/account/public.jade:30 src/jade/tabs/register.jade:56 msgid "Checking..." msgstr "Comprobando..." -#: src/jade/tabs/account/public.jade:32 src/jade/tabs/security.jade:113 +#: src/jade/tabs/account/public.jade:32 src/jade/tabs/security.jade:126 msgid "Current password" msgstr "Contraseña actual" -#: src/jade/tabs/account/public.jade:35 src/jade/tabs/security.jade:15 -#: src/jade/tabs/security.jade:20 +#: src/jade/tabs/account/public.jade:35 src/jade/tabs/security.jade:18 +#: src/jade/tabs/security.jade:23 msgid "Entered password is wrong." msgstr "La contraseña introducida es incorrecta." @@ -504,107 +882,135 @@ msgstr "Su nombre Ripple ha sido cambiado. Por favor conéctese de nuevo." msgid "Couldn't change your Ripple name, please try again later." msgstr "No se ha podido cambiar su nombre Ripple, por favor inténtelo de nuevo más tarde." -#: src/jade/tabs/account/public.jade:47 src/jade/tabs/advanced.jade:26 -#: src/jade/tabs/advanced.jade:43 src/jade/tabs/advanced.jade:67 -#: src/jade/tabs/advanced.jade:96 src/jade/tabs/btc.jade:62 -#: src/jade/tabs/contacts.jade:58 src/jade/tabs/contacts.jade:101 -#: src/jade/tabs/exchange.jade:94 src/jade/tabs/exchange.jade:107 -#: src/jade/tabs/kyc.jade:106 src/jade/tabs/kyc.jade:118 -#: src/jade/tabs/kyc.jade:140 src/jade/tabs/kyc.jade:141 -#: src/jade/tabs/kyc.jade:167 src/jade/tabs/login/form.jade:25 -#: src/jade/tabs/security.jade:71 src/jade/tabs/security.jade:101 -#: src/jade/tabs/security.jade:136 src/jade/tabs/send.jade:205 -#: src/jade/tabs/send.jade:217 src/jade/tabs/send.jade:238 -#: src/jade/tabs/send.jade:268 src/jade/tabs/trade.jade:32 -#: src/jade/tabs/trade.jade:43 src/jade/tabs/trust.jade:177 -#: src/jade/tabs/trust.jade:179 src/jade/tabs/trust.jade:263 -#: src/jade/tabs/trust.jade:296 +#: src/jade/tabs/account/public.jade:47 src/jade/tabs/advanced.jade:36 +#: src/jade/tabs/advanced.jade:53 src/jade/tabs/advanced.jade:77 +#: src/jade/tabs/advanced.jade:94 src/jade/tabs/advanced.jade:124 +#: src/jade/tabs/btc.jade:74 src/jade/tabs/contacts.jade:50 +#: src/jade/tabs/contacts.jade:93 src/jade/tabs/exchange.jade:113 +#: src/jade/tabs/exchange.jade:126 src/jade/tabs/kyc.jade:116 +#: src/jade/tabs/kyc.jade:131 src/jade/tabs/kyc.jade:156 +#: src/jade/tabs/kyc.jade:157 src/jade/tabs/kyc.jade:186 +#: src/jade/tabs/login/form.jade:26 src/jade/tabs/security.jade:79 +#: src/jade/tabs/security.jade:112 src/jade/tabs/security.jade:149 +#: src/jade/tabs/send.jade:215 src/jade/tabs/send.jade:227 +#: src/jade/tabs/send.jade:252 src/jade/tabs/send.jade:286 +#: src/jade/tabs/trade.jade:55 src/jade/tabs/trust.jade:141 +#: src/jade/tabs/trust.jade:143 src/jade/tabs/trust.jade:213 +#: src/jade/tabs/trust.jade:251 msgid "cancel" msgstr "cancelar" -#: src/jade/tabs/account/public.jade:49 src/jade/tabs/contacts.jade:7 -#: src/jade/tabs/contacts.jade:34 src/jade/tabs/desktop/register.jade:88 +#: src/jade/tabs/account/public.jade:49 msgid "Ripple address" msgstr "Dirección Ripple" +#: src/jade/tabs/advanced.jade:8 +msgid "Your blob vault has been changed successfully." +msgstr "Su camara blob se ha cambiado con exito." + +#: src/jade/tabs/advanced.jade:9 +msgid "Your bitcoin bridge has been changed successfully." +msgstr "Su puente Bitcoin ha sido cambiado con exito." + +#: src/jade/tabs/advanced.jade:10 +msgid "Trustline advanced settings has been changed successfully." +msgstr "Los ajustes avanzados de lineas de credito se han cambiado con éxito." + #: src/jade/tabs/advanced.jade:11 +msgid "Maximum network fee has been changed successfully." +msgstr "La comision de red maxima se ha cambiado con éxito." + +#: src/jade/tabs/advanced.jade:12 +msgid "A new server has been successfully added." +msgstr "Un nuevo servidor se ha añadido con éxito." + +#: src/jade/tabs/advanced.jade:13 +msgid "A server has been successfully removed." +msgstr "El servidor se ha eliminado con éxito." + +#: src/jade/tabs/advanced.jade:14 +msgid "A server has been changed successfully." +msgstr "El servidor se ha cambiado con éxito." + +#: src/jade/tabs/advanced.jade:21 msgid "Blob vault" msgstr "Blob vault" -#: src/jade/tabs/advanced.jade:22 src/jade/tabs/advanced.jade:39 -#: src/jade/tabs/advanced.jade:63 src/jade/tabs/advanced.jade:92 -#: src/jade/tabs/contacts.jade:96 src/jade/tabs/fund.jade:79 -#: src/jade/tabs/security.jade:175 src/jade/tabs/send.jade:237 -#: src/jade/tabs/send.jade:266 src/jade/tabs/trust.jade:156 -#: src/jade/tabs/trust.jade:282 +#: src/jade/tabs/advanced.jade:32 src/jade/tabs/advanced.jade:49 +#: src/jade/tabs/advanced.jade:73 src/jade/tabs/advanced.jade:92 +#: src/jade/tabs/advanced.jade:120 src/jade/tabs/contacts.jade:88 +#: src/jade/tabs/fund.jade:65 src/jade/tabs/security.jade:190 +#: src/jade/tabs/send.jade:251 src/jade/tabs/send.jade:284 +#: src/jade/tabs/trust.jade:119 src/jade/tabs/trust.jade:232 msgid "Save" msgstr "Guardar" -#: src/jade/tabs/advanced.jade:24 src/jade/tabs/advanced.jade:41 -#: src/jade/tabs/advanced.jade:65 src/jade/tabs/advanced.jade:94 -#: src/jade/tabs/contacts.jade:99 +#: src/jade/tabs/advanced.jade:34 src/jade/tabs/advanced.jade:51 +#: src/jade/tabs/advanced.jade:75 src/jade/tabs/advanced.jade:122 +#: src/jade/tabs/contacts.jade:91 src/jade/tabs/security.jade:198 msgid "Delete" msgstr "Eliminar" -#: src/jade/tabs/advanced.jade:28 +#: src/jade/tabs/advanced.jade:38 msgid "Bitcoin bridge" msgstr "Puente Bitcoin" -#: src/jade/tabs/advanced.jade:45 +#: src/jade/tabs/advanced.jade:55 msgid "Trust line" msgstr "Linea de crédito" -#: src/jade/tabs/advanced.jade:50 src/jade/tabs/advanced.jade:61 -#: src/jade/tabs/desktop/register.jade:85 src/jade/tabs/security.jade:148 +#: src/jade/tabs/advanced.jade:60 src/jade/tabs/advanced.jade:71 +#: src/jade/tabs/security.jade:162 msgid "Show" msgstr "Mostrar" -#: src/jade/tabs/advanced.jade:51 src/jade/tabs/desktop/register.jade:86 -#: src/jade/tabs/security.jade:149 +#: src/jade/tabs/advanced.jade:61 src/jade/tabs/security.jade:163 msgid "Hide" msgstr "Ocultar" -#: src/jade/tabs/advanced.jade:68 +#: src/jade/tabs/advanced.jade:78 +msgid "Network settings" +msgstr "Configuración de red" + +#: src/jade/tabs/advanced.jade:80 +msgid "Maximum network fee" +msgstr "Maxima comision de red" + +#: src/jade/tabs/advanced.jade:96 msgid "Server settings" msgstr "Configuración de servidor" -#: src/jade/tabs/advanced.jade:73 +#: src/jade/tabs/advanced.jade:101 msgid "WebSocket host name" msgstr "Nombre WebSocket host " -#: src/jade/tabs/advanced.jade:75 +#: src/jade/tabs/advanced.jade:103 msgid "Port number" msgstr "Número de puerto" -#: src/jade/tabs/advanced.jade:81 +#: src/jade/tabs/advanced.jade:109 msgid "Socket ip or hostname is invalid." msgstr "Socket ip o hostname son inválidos." -#: src/jade/tabs/advanced.jade:83 +#: src/jade/tabs/advanced.jade:111 msgid "Port number is invalid." msgstr "Número de puerto es inválido" -#: src/jade/tabs/advanced.jade:90 src/jade/tabs/advanced.jade:103 +#: src/jade/tabs/advanced.jade:118 src/jade/tabs/advanced.jade:131 msgid "Secure" msgstr "Seguro" -#: src/jade/tabs/advanced.jade:104 +#: src/jade/tabs/advanced.jade:132 msgid "Not Secure" msgstr "No Seguro" -#: src/jade/tabs/advanced.jade:110 +#: src/jade/tabs/advanced.jade:138 msgid "Add new server" msgstr "Añadir nuevo servidor" -#: src/jade/tabs/apps.jade:5 src/jade/tabs/balance.jade:5 -#: src/jade/tabs/btc.jade:6 src/jade/tabs/exchange.jade:6 -#: src/jade/tabs/fund.jade:6 src/jade/tabs/history.jade:6 -#: src/jade/tabs/kyc.jade:6 src/jade/tabs/send.jade:6 src/jade/tabs/su.jade:5 -#: src/jade/tabs/trade.jade:7 src/jade/tabs/trust.jade:6 -#: src/jade/tabs/usd.jade:6 src/jade/tabs/withdraw.jade:6 -#: src/jade/tabs/xrp.jade:6 -msgid "You have to be online to see this screen" -msgstr "Debe estar online para ver esto" +#: src/jade/tabs/apps.jade:27 +msgid "App Ripple Address" +msgstr "Añadir Dirección Ripple" #: src/jade/tabs/apps.jade:29 msgid "Please enter a ripple address." @@ -614,454 +1020,535 @@ msgstr "Por favor introduzca una dirección Ripple." msgid "Please enter a valid ripple address." msgstr "Por favor introduzca una dirección Ripple válida." -#: src/jade/tabs/balance.jade:21 -msgid "Total Balance{{1}}" -msgstr "Balance Total{{1}}" - -#: src/jade/tabs/balance.jade:22 -msgid "Estimated from latest trade price" -msgstr "Estimado por último precio de cambio." - -#: src/jade/tabs/balance.jade:29 -msgid "(excluding negative balances)" -msgstr "(excluyendo balances negativos)" - -#: src/jade/tabs/balance.jade:67 -msgid "Reserve" -msgstr "Reserva" - -#: src/jade/tabs/balance.jade:85 -msgid "Unverified" -msgstr "Sin verificar" - -#: src/jade/tabs/balance.jade:92 -msgid "Enter bitcoin address." -msgstr "Introduzca dirección Bitcoin." - -#: src/jade/tabs/balance.jade:95 -msgid "Enter amount to withdraw." -msgstr "Introduzca la cantidad a retirar." - -#: src/jade/tabs/balance.jade:100 src/jade/tabs/balance.jade:102 -msgid "Enter a valid bitcoin address" -msgstr "Introduzca una dirección bitcoin válida." - -#: src/jade/tabs/balance.jade:106 -msgid "Enter a valid amount" -msgstr "Introduzca una cantidad válida." - -#: src/jade/tabs/balance.jade:113 -msgid "You are sending {{1}} BTC to:" -msgstr "Está enviando {{1}} BTC a:" - -#: src/jade/tabs/balance.jade:119 src/jade/tabs/balance.jade:134 -#: src/jade/tabs/register.jade:105 src/jade/tabs/register.jade:111 -msgid "Back" -msgstr "Atrás" - -#: src/jade/tabs/balance.jade:122 src/jade/tabs/btc.jade:61 -#: src/jade/tabs/exchange.jade:92 src/jade/tabs/send.jade:203 -#: src/jade/tabs/trade.jade:57 src/jade/tabs/trade.jade:67 -#: src/jade/tabs/trade.jade:241 src/jade/tabs/trust.jade:176 -msgid "Confirm" -msgstr "Confirmar" - -#: src/jade/tabs/balance.jade:127 -msgid "Reconnecting to Ripple network" -msgstr "Reconectando con la red Ripple" - -#: src/jade/tabs/balance.jade:128 -msgid "Transaction Successful" -msgstr "Transacción Efectuada" - -#: src/jade/tabs/balance.jade:129 -msgid "Warning" -msgstr "Atención" - -#: src/jade/tabs/balance.jade:130 -msgid "Transaction Failed" -msgstr "Transacción Fallida" - -#: src/jade/tabs/balance.jade:131 -msgid "Message" -msgstr "Mensaje" - #: src/jade/tabs/banner/announcement.jade:2 msgid "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" msgstr "Ayúdenos a mejorar Ripple Trade! {{1:Realice una rápida encuesta.}}" #: src/jade/tabs/banner/unfunded.jade:2 msgid "" -"Welcome to Ripple Trade! To activate your account, you'll need at least 20 " -"XRP." -msgstr "Bienvenido a Ripple Trade! Para activar su cuenta necesitará al menos 20 XRP." +"Welcome to Ripple Trade! Your account needs to be activated. You can " +"activate it in 2 ways:" +msgstr "Bienvenido a Ripple Trade! Su cuenta debe ser activada. Puede activarla de 2 formas:" #: src/jade/tabs/banner/unfunded.jade:4 msgid "" "Have another user send XRP to your Ripple name " -"(~{{userCredentials.username}})" -msgstr "Hace hacer que otro usuario envie XRP a tu nombre Ripple (~{{userCredentials.username}})" +"(~{{userCredentials.username}}). {{1}}" +msgstr "Hacer que otro usuario envie XRP a su nombre Ripple (~{{userCredentials.username}}). {{1}}" -#: src/jade/tabs/banner/unfunded.jade:5 -msgid "" -"Use the {{1}}. A small amount of your first deposit will be used to " -"activate your account." -msgstr "Use el {{1}}. Una pequeña cantidad de su primer depósito se usará para activar su cuenta." +#: src/jade/tabs/brl.jade:24 src/jade/tabs/eur.jade:24 +#: src/jade/tabs/gold.jade:24 src/jade/tabs/jpy.jade:24 +#: src/jade/tabs/mxn.jade:24 src/jade/tabs/trust.jade:42 +#: src/jade/tabs/usd.jade:24 +msgid "There was an error while saving your changes." +msgstr "Ha habido un error al guardar sus cambios." -#: src/jade/tabs/btc.jade:18 -msgid "Bitcoin Deposit" -msgstr "Depositar Bitcoin" +#: src/jade/tabs/brl.jade:28 src/jade/tabs/eur.jade:27 +#: src/jade/tabs/gold.jade:27 src/jade/tabs/jpy.jade:28 +#: src/jade/tabs/mxn.jade:28 src/jade/tabs/trust.jade:45 +#: src/jade/tabs/usd.jade:27 +msgid "You must have at least {{1}} to add a new trust line. {{2}}" +msgstr "Debe tener al menos {{1}} para añadir una nueva línea de crédito. {{2}}" -#: src/jade/tabs/btc.jade:26 -msgid "" -"A small amount (~.001 BTC) of your first transfer will be converted to XRP " -"to activate your wallet. {{1:Why?}}" -msgstr "Una pequeña cantidad (~.001 BTC) de su primera transferencia será convertida a XRP para activar su monedero. {{1:Por qué?}}" +#: src/jade/tabs/brl.jade:38 +msgid "Brazilian Real Deposit" +msgstr "Depósito Real Brasileño" -#: src/jade/tabs/btc.jade:30 -msgid "Your current deposit limit is:" -msgstr "Tu límite de depósito actual es:" +#: src/jade/tabs/brl.jade:41 src/jade/tabs/btc.jade:35 +#: src/jade/tabs/eur.jade:38 src/jade/tabs/gold.jade:40 +#: src/jade/tabs/jpy.jade:41 src/jade/tabs/mxn.jade:41 +#: src/jade/tabs/trust.jade:167 src/jade/tabs/usd.jade:38 +msgid "Gateway" +msgstr "Pasarela" -#: src/jade/tabs/btc.jade:32 -msgid "Remove Limit" -msgstr "Quitar Límite" +#: src/jade/tabs/brl.jade:42 src/jade/tabs/eur.jade:48 +#: src/jade/tabs/mxn.jade:81 src/jade/tabs/mxn.jade:93 +#: src/jade/tabs/mxn.jade:103 src/jade/tabs/security.jade:49 +msgid "{{1}}{{2}}" +msgstr "{{1}}{{2}}" + +#: src/jade/tabs/brl.jade:43 +msgid "Ripple (~rippex)" +msgstr "Ripple (~rippex)" + +#: src/jade/tabs/brl.jade:46 src/jade/tabs/btc.jade:39 +#: src/jade/tabs/eur.jade:44 src/jade/tabs/gold.jade:44 +#: src/jade/tabs/jpy.jade:45 src/jade/tabs/mxn.jade:46 +#: src/jade/tabs/usd.jade:44 +msgid "Availability" +msgstr "Disponibilidad" + +#: src/jade/tabs/brl.jade:47 +msgid "Brazil" +msgstr "Brasil" + +#: src/jade/tabs/brl.jade:49 src/jade/tabs/btc.jade:42 +#: src/jade/tabs/eur.jade:47 src/jade/tabs/gold.jade:47 +#: src/jade/tabs/jpy.jade:48 src/jade/tabs/mxn.jade:49 +#: src/jade/tabs/usd.jade:47 +msgid "Fees" +msgstr "Comisiones" + +#: src/jade/tabs/brl.jade:50 src/jade/tabs/jpy.jade:49 +#: src/jade/tabs/kyc.jade:111 src/jade/tabs/kyc.jade:126 +#: src/jade/tabs/kyc.jade:151 +msgid "{{1}}{{2}}{{3}}" +msgstr "{{1}}{{2}}{{3}}" + +#: src/jade/tabs/brl.jade:51 +msgid "Deposit: 1.50 BRL + 0.5%" +msgstr "Deposito: 1.50 BRL + 0.5%" + +#: src/jade/tabs/brl.jade:52 +msgid "Transfer: 0%" +msgstr "Transferencia: 0%" + +#: src/jade/tabs/brl.jade:56 src/jade/tabs/btc.jade:45 +#: src/jade/tabs/eur.jade:53 src/jade/tabs/gold.jade:50 +#: src/jade/tabs/jpy.jade:54 src/jade/tabs/mxn.jade:52 +#: src/jade/tabs/usd.jade:50 +msgid "Rating" +msgstr "Puntuacion" + +#: src/jade/tabs/brl.jade:62 +msgid "" +"Ripple Trade has partnered with Rippex to provide easy access to BRL. By " +"continuing, you agree with Rippex's {{1}}Following this action will enable " +"Rippex to hold BRL on your behalf." +msgstr "Ripple Trade se ha asociado con Rippew para proveer facil acceso a BRL. Al continuar acepta las {{1}} de Rippex. Al continuar permitira que Rippex guarde BRL en su nombre." + +#: src/jade/tabs/brl.jade:69 +msgid "Add Rippex" +msgstr "Añadir Rippex" + +#: src/jade/tabs/brl.jade:70 +msgid "Adding..." +msgstr "Añadiendo..." + +#: src/jade/tabs/brl.jade:71 src/jade/tabs/eur.jade:65 +#: src/jade/tabs/jpy.jade:64 src/jade/tabs/usd.jade:62 +msgid "Hide instructions" +msgstr "Ocultar instrucciones" + +#: src/jade/tabs/brl.jade:72 src/jade/tabs/eur.jade:66 +#: src/jade/tabs/jpy.jade:65 src/jade/tabs/usd.jade:63 +msgid "Show instructions" +msgstr "Mostrar instrucciones" + +#: src/jade/tabs/brl.jade:75 src/jade/tabs/btc.jade:83 +msgid "{{1}}Not connected" +msgstr "{{1}}No conectado" + +#: src/jade/tabs/brl.jade:78 src/jade/tabs/btc.jade:86 +msgid "{{1}}Connected" +msgstr "{{1}}Conectado" + +#: src/jade/tabs/brl.jade:81 src/jade/tabs/eur.jade:71 +#: src/jade/tabs/gold.jade:73 src/jade/tabs/jpy.jade:74 +#: src/jade/tabs/mxn.jade:76 src/jade/tabs/usd.jade:68 +msgid "Your account has to be activated before you can add a gateway account." +msgstr "Su cuenta debe estar activada antes de poder añadir una cuenta de pasarela." + +#: src/jade/tabs/brl.jade:84 src/jade/tabs/eur.jade:75 +#: src/jade/tabs/gold.jade:76 src/jade/tabs/jpy.jade:77 +#: src/jade/tabs/mxn.jade:79 src/jade/tabs/usd.jade:72 +msgid "×" +msgstr "×" + +#: src/jade/tabs/brl.jade:85 +msgid "NEW CUSTOMERS- SIGN UP AT RIPPEX" +msgstr "NUEVOS CLIENTES- REGISTRARSE EN RIPPEX" + +#: src/jade/tabs/brl.jade:86 +msgid "" +"{{1}} at Rippex.net to initiate deposits and withdrawals. You will " +"need:{{2}}" +msgstr "{{1}} en Rippex.net para iniciar depositos y retiradas. Necesitara:{{2}}" + +#: src/jade/tabs/brl.jade:90 +msgid "A {{1}}" +msgstr "UN {{1}}" + +#: src/jade/tabs/brl.jade:92 +msgid "A bank account in Brazil." +msgstr "Una cuenta bancaria en Brasil." + +#: src/jade/tabs/brl.jade:96 +msgid "EXISTING RIPPEX CUSTOMERS" +msgstr "CLIENTES RIPPEX EXISTENTES" + +#: src/jade/tabs/brl.jade:97 +msgid "If you have a Rippex account, {{1}}" +msgstr "Si tiene una cuenta Rippex, {{1}}" + +#: src/jade/tabs/brl.jade:100 +msgid "DEPOSIT INSTRUCTIONS" +msgstr "INSTRUCCIONES DE DEPOSITO" + +#: src/jade/tabs/brl.jade:101 +msgid "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" +msgstr "Rippex acepta depositos de todos los banco Brasileños. Instrucciones {{1}}" + +#: src/jade/tabs/btc.jade:19 +msgid "Success! You can deposit BTC via your generated BTC receiving address." +msgstr "Hecho! Ya puede depositar BTC via su direccion de recepcion BTC." + +#: src/jade/tabs/btc.jade:21 +msgid "There was an error with your request. {{1}}" +msgstr "Ha habido un error con su petición. {{1}}" + +#: src/jade/tabs/btc.jade:30 +msgid "Bitcoin Deposit" +msgstr "Depositar Bitcoin" #: src/jade/tabs/btc.jade:36 -msgid "Waiting for response from SnapSwap service..." -msgstr "Esperando respuesta desde el servicio SnapSwap..." +msgid "btc2ripple (~snapswap) {{1}}" +msgstr "btc2ripple (~snapswap) {{1}}" -#: src/jade/tabs/btc.jade:38 +#: src/jade/tabs/btc.jade:40 src/jade/tabs/gold.jade:45 +#: src/jade/tabs/jpy.jade:46 +msgid "All countries" +msgstr "Todos los paises" + +#: src/jade/tabs/btc.jade:43 src/jade/tabs/mxn.jade:50 +msgid "0%" +msgstr "0%" + +#: src/jade/tabs/btc.jade:50 msgid "" -"To deposit, generate a bitcoin receiving address using the {{1}} service " -"powered by SnapSwap." -msgstr "Para depositar, genere una dirección receptora bitcoin usando el {{1}} servicio proporcionado por SnapSwap." +"Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By" +" proceeding, you agree to the btc2ripple {{1}} Following this action will " +"allow btc2ripple to hold BTC on your behalf." +msgstr "Ripple Trade se ha asociado con btc2ripple para facilitar los depositos de BTC. Al continuar acepta las {{1}} de btc2ripple . Al continuar permitira que btc2ripple guarde BTC en su nombre." -#: src/jade/tabs/btc.jade:45 -msgid "Generate bitcoin address" -msgstr "Generar dirección bitcoin" +#: src/jade/tabs/btc.jade:56 +msgid "Add btc2ripple" +msgstr "Añadir btc2ripple" -#: src/jade/tabs/btc.jade:49 src/jade/tabs/security.jade:56 -#: src/jade/tabs/trust.jade:160 +#: src/jade/tabs/btc.jade:60 src/jade/tabs/security.jade:64 +#: src/jade/tabs/trust.jade:123 msgid "Connect" msgstr "Conectar" -#: src/jade/tabs/btc.jade:51 +#: src/jade/tabs/btc.jade:62 msgid "btc2ripple would like to:" msgstr "btc2ripple quiere:" -#: src/jade/tabs/btc.jade:53 -msgid "- Receive your email address{{1}}" -msgstr "- Recibir su dirección de email{{1}}" +#: src/jade/tabs/btc.jade:64 +msgid "- Receive your email address {{1}}" +msgstr "- Recibir su dirección de email {{1}}" -#: src/jade/tabs/btc.jade:54 +#: src/jade/tabs/btc.jade:65 msgid "({{userBlob.data.email}})" msgstr "({{userBlob.data.email}})" -#: src/jade/tabs/btc.jade:55 +#: src/jade/tabs/btc.jade:66 msgid "- Hold deposited BTC on your behalf" msgstr "- Guardar por usted los BTC depositados " -#: src/jade/tabs/btc.jade:56 +#: src/jade/tabs/btc.jade:67 msgid "By proceeding, you agree to the btc2ripple {{1}}" msgstr "Al continuar, acepta el btc2ripple {{1}}" -#: src/jade/tabs/btc.jade:63 +#: src/jade/tabs/btc.jade:75 msgid "" "SnapSwap's btc2ripple service is currently unavailable. Please check back " "later." msgstr "El servicio btc2ripple de SnapSwap no está disponible en este momento. Por favor pruebe más tarde. " -#: src/jade/tabs/contacts.jade:6 src/jade/tabs/contacts.jade:26 +#: src/jade/tabs/btc.jade:94 +msgid "Personal Deposit address" +msgstr "Direccion de Deposito Personal" + +#: src/jade/tabs/btc.jade:96 +msgid "Your account is fully verified." +msgstr "Su cuenta esta completamente verificada." + +#: src/jade/tabs/btc.jade:104 +msgid "Withdrawal instructions" +msgstr "Instrucciones de retirada" + +#: src/jade/tabs/btc.jade:105 +msgid "" +"To withdraw to a BTC address, go to the Send tab and enter the BTC address. " +"Using the btc2ripple service, you will be able tosend to that BTC address." +msgstr "Para retirar a una direccion BTC, vaya a la pestaña Enviar e introduzca la direccion BTC. A traves del servicio btc2ripple, podra enviar a esa direccion BTC." + +#: src/jade/tabs/btc.jade:110 +msgid "Waiting for response from SnapSwap service..." +msgstr "Esperando respuesta desde el servicio SnapSwap..." + +#: src/jade/tabs/btc.jade:112 +msgid "" +"To deposit, generate a bitcoin receiving address using the {{1}} service " +"powered by SnapSwap." +msgstr "Para depositar, genere una dirección receptora bitcoin usando el {{1}} servicio proporcionado por SnapSwap." + +#: src/jade/tabs/contacts.jade:8 +msgid "A new contact has been successfully added." +msgstr "Un nuevo contacto se ha añadido con éxito." + +#: src/jade/tabs/contacts.jade:9 +msgid "Your contact has been successfully updated." +msgstr "Su contacto se ha actualizado con éxito." + +#: src/jade/tabs/contacts.jade:10 +msgid "A contact has been successfully removed." +msgstr "El contacto se ha eliminado con éxito." + +#: src/jade/tabs/contacts.jade:12 src/jade/tabs/contacts.jade:24 +msgid "Contact" +msgstr "Contacto" + +#: src/jade/tabs/contacts.jade:13 src/jade/tabs/contacts.jade:32 msgid "Ripple name or address" msgstr "Nombre o dirección Ripple" -#: src/jade/tabs/contacts.jade:9 src/jade/tabs/contacts.jade:13 -#: src/jade/tabs/contacts.jade:56 +#: src/jade/tabs/contacts.jade:15 src/jade/tabs/contacts.jade:19 +#: src/jade/tabs/contacts.jade:48 msgid "Add contact" msgstr "Añadir contacto" -#: src/jade/tabs/contacts.jade:18 -msgid "Contact" -msgstr "Contacto" - -#: src/jade/tabs/contacts.jade:21 +#: src/jade/tabs/contacts.jade:27 src/jade/tabs/send.jade:245 +#: src/jade/tabs/send.jade:277 msgid "Please enter a contact." msgstr "Por favor introduzca un contacto." -#: src/jade/tabs/contacts.jade:22 +#: src/jade/tabs/contacts.jade:28 msgid "This contact already exists." msgstr "Este contacto ya existe." -#: src/jade/tabs/contacts.jade:30 +#: src/jade/tabs/contacts.jade:36 msgid "Please enter a Ripple name." msgstr "Por favor introduzca un nombre Ripple." -#: src/jade/tabs/contacts.jade:31 src/jade/tabs/contacts.jade:47 +#: src/jade/tabs/contacts.jade:37 src/jade/tabs/contacts.jade:45 msgid "" "You already have a contact with the same Ripple name and/or the same " "Destination tag." msgstr "Ya tiene un contacto con ese nombre Ripple y/o con la misma etiqueta de Destino." -#: src/jade/tabs/contacts.jade:32 +#: src/jade/tabs/contacts.jade:38 msgid "Not a valid Ripple name or address." msgstr "No es un nombre o dirección Ripple válido." -#: src/jade/tabs/contacts.jade:38 -msgid "Please enter a Ripple address." -msgstr "Por favor introduzca una dirección Ripple." - -#: src/jade/tabs/contacts.jade:39 src/jade/tabs/contacts.jade:53 -msgid "" -"You already have a contact with the same Ripple address and/or the same " -"Destination tag." -msgstr "Ya tiene un contacto con esa dirección Ripple y/o con la misma etiqueta de Destino." - -#: src/jade/tabs/contacts.jade:40 -msgid "Not a valid Ripple address." -msgstr "No es una dirección Ripple válida." - -#: src/jade/tabs/contacts.jade:43 src/jade/tabs/contacts.jade:49 -#: src/jade/tabs/contacts.jade:89 src/jade/tabs/send.jade:49 -#: src/jade/tabs/tx.jade:54 +#: src/jade/tabs/contacts.jade:41 src/jade/tabs/contacts.jade:81 +#: src/jade/tabs/send.jade:42 src/jade/tabs/tx.jade:56 msgid "Destination tag" msgstr "Etiqueta de destino" -#: src/jade/tabs/contacts.jade:46 src/jade/tabs/contacts.jade:52 -#: src/jade/tabs/send.jade:53 +#: src/jade/tabs/contacts.jade:42 +msgid "Leave blank if not applicable" +msgstr "Dejar en blanco si no corresponde" + +#: src/jade/tabs/contacts.jade:44 src/jade/tabs/send.jade:46 msgid "Invalid destination tag" msgstr "Etiqueta de destino inválida" -#: src/jade/tabs/contacts.jade:80 src/jade/tabs/send.jade:232 -#: src/jade/tabs/send.jade:260 +#: src/jade/tabs/contacts.jade:72 msgid "You already have a contact with the same name." msgstr "Ya tiene un contacto con el mismo nombre." -#: src/jade/tabs/contacts.jade:86 +#: src/jade/tabs/contacts.jade:78 msgid "You already have this address." msgstr "Ya tiene esta dirección." -#: src/jade/tabs/contacts.jade:87 +#: src/jade/tabs/contacts.jade:79 src/jade/tabs/debug.jade:14 msgid "Not a valid address." msgstr "No es una dirección válida." -#: src/jade/tabs/contacts.jade:92 +#: src/jade/tabs/contacts.jade:84 msgid "Invalid destination tag." msgstr "Etiqueta de destino inválida" -#: src/jade/tabs/contacts.jade:102 +#: src/jade/tabs/contacts.jade:94 msgid "" "You don't have any contacts yet. Click on 'Add contact' button in the top " "right corner to add a new contact." msgstr "Todavía no tiene ningun contacto. Haz click en el botón \"Añadir contacto\" en la esquina superior derecha para añadir un contacto." -#: src/jade/tabs/desktop/login.jade:3 -msgid "" -"You will not be able to login to the downloadable client using a " -"username/password you create on Ripple Trade or the web version of the " -"Ripple Client. You can only use a secret key to access an existing Ripple " -"account. This is because the downloadable client stores your login " -"information locally on your computer, so your account is as safe as the " -"security of your personal computer." -msgstr "No podrá conectarse al cliente descargable usando un nombre/contraseña creado en Ripple Trade o en la versión web del Cliente Ripple. Solo puede usar una clave secreta para acceder a una cuenta Ripple existente. Ésto sucede porque el cliente descargable guarda su información de conexión localmente en su ordenador, por lo que su cuenta está tan segura como su ordenador." - -#: src/jade/tabs/desktop/login.jade:12 src/jade/tabs/desktop/login.jade:34 -msgid "Open account" -msgstr "Abrir cuenta" - -#: src/jade/tabs/desktop/login.jade:15 src/jade/tabs/desktop/register.jade:5 -#: src/jade/tabs/desktop/register.jade:65 -msgid "Create new account" -msgstr "Crear nueva cuenta" +#: src/jade/tabs/debug.jade:9 +msgid "Enter a Ripple name or address" +msgstr "Introduzca un nombre o dirección Ripple" -#: src/jade/tabs/desktop/login.jade:18 -msgid "Select account file {{walletfile}}" -msgstr "Seleccionar archivo de cuenta {{walletfile}}" +#: src/jade/tabs/debug.jade:13 +msgid "Please enter an address." +msgstr "Por favor introduzca una direccion." -#: src/jade/tabs/desktop/login.jade:21 -msgid "Select account file" -msgstr "Seleccionar archivo de cuenta" +#: src/jade/tabs/debug.jade:17 +msgid "Turn on debug mode" +msgstr "Activar modo debug" -#: src/jade/tabs/desktop/login.jade:24 -msgid "Account password" -msgstr "Contraseña de cuenta" +#: src/jade/tabs/eur.jade:35 +msgid "Euro Deposit" +msgstr "Depósito Euro" -#: src/jade/tabs/desktop/register.jade:8 -msgid "Open existing account" -msgstr "Abrir cuenta existente" +#: src/jade/tabs/eur.jade:39 +msgid "SnapSwap EU (~SnapSwap){{1}}{{2}}" +msgstr "SnapSwap EU (~SnapSwap){{1}}{{2}}" -#: src/jade/tabs/desktop/register.jade:11 -msgid "Create an empty account" -msgstr "Crear una cuenta vacía" +#: src/jade/tabs/eur.jade:45 +msgid "All countries, except USA" +msgstr "Todos los paises, menos USA" -#: src/jade/tabs/desktop/register.jade:14 -msgid "Create a new account with a secret key" -msgstr "Crear una nueva cuenta con una clave secreta" +#: src/jade/tabs/eur.jade:49 +msgid "€ 0.31 – € 15.00" +msgstr "€ 0.31 – € 15.00" -#: src/jade/tabs/desktop/register.jade:18 -msgid "Create empty account" -msgstr "Crear cuenta vacía" - -#: src/jade/tabs/desktop/register.jade:20 -msgid "Encrypt your new account file: {{walletfile}}" -msgstr "Encriptar su nuevo archivo de cuenta: {{walletfile}} " - -#: src/jade/tabs/desktop/register.jade:24 -msgid "Wallet file" -msgstr "Archivo de cartera" - -#: src/jade/tabs/desktop/register.jade:31 +#: src/jade/tabs/eur.jade:59 msgid "" -"Your password is weak. It is not a mix of letters, numbers and symbols or it" -" is the same as your Ripple name." -msgstr "Su contraseña es débil. No es una mezcla de letras, numeros y símbolos o es la misma que su nombre Ripple." +"Ripple Trade has partnered with SnapSwap to provide easier access to EUR. " +"Following this action will enable SnapSwap to hold EUR on your behalf." +msgstr "Ripple Trade se ha asociado con SnapSwap para proveer facil acceso a EUR. Al continuar permitira que SnapSwap guarde EUR en su nombre." -#: src/jade/tabs/desktop/register.jade:33 src/jade/tabs/recover.jade:40 -#: src/jade/tabs/register.jade:49 src/jade/tabs/security.jade:123 -msgid "Confirm password" -msgstr "Confirmar contraseña" +#: src/jade/tabs/eur.jade:69 src/jade/tabs/usd.jade:66 +msgid "Not connected" +msgstr "No conectado" -#: src/jade/tabs/desktop/register.jade:36 src/jade/tabs/recover.jade:43 -#: src/jade/tabs/register.jade:52 src/jade/tabs/security.jade:126 -msgid "Passwords do not match" -msgstr "Las contraseñas no coinciden" - -#: src/jade/tabs/desktop/register.jade:42 -msgid "Encrypt account" -msgstr "Encriptar cuenta" - -#: src/jade/tabs/desktop/register.jade:44 -msgid "Cancel and delete account file" -msgstr "Cancelar y eliminar archivo de cuenta" - -#: src/jade/tabs/desktop/register.jade:50 -msgid "Create account with secret key" -msgstr "Crear cuenta con clave secreta" - -#: src/jade/tabs/desktop/register.jade:55 -msgid "Enter your secret key" -msgstr "Introduzca su clave secreta" - -#: src/jade/tabs/desktop/register.jade:62 -msgid "Secret is invalid" -msgstr "El Secreto no es válido" - -#: src/jade/tabs/desktop/register.jade:67 src/jade/tabs/fund.jade:77 -#: src/jade/tabs/trade.jade:325 -msgid "Cancel" -msgstr "Cancelar" +#: src/jade/tabs/eur.jade:70 src/jade/tabs/usd.jade:67 +msgid "Connected" +msgstr "Conectado" -#: src/jade/tabs/desktop/register.jade:69 src/jade/tabs/register.jade:95 -msgid "Have an account? {{1:Log In}}" -msgstr "Tiene una cuenta? {{1:Conectarse}}" +#: src/jade/tabs/eur.jade:76 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.EU" +msgstr "NUEVOS CLIENTES- REGISTRARSE EN SNAPSWAP.EU" -#: src/jade/tabs/desktop/register.jade:75 -msgid "Important:" -msgstr "Importante:" +#: src/jade/tabs/eur.jade:77 +msgid "Register and verify your account at SnapSwap EU. You will need: {{1}}" +msgstr "Registrese y verifique su cuenta en SnapSwap EU. Necesitara: {{1}}" -#: src/jade/tabs/desktop/register.jade:76 +#: src/jade/tabs/eur.jade:81 src/jade/tabs/usd.jade:78 msgid "" -"The secret key below gives access to your money in the unlikely case that " -"you lose your password. In that case your contacts will be lost, but with " -"this secret key alone anyone can retrieve your money. So please store it " -"somewhere PRIVATE AND SAFE. Read more about keys and wallet safety in {{1}}" -msgstr "La clave secreta escrita abajo le da acceso a su dinero en caso de que pierda su contraseña. En ese caso perderá los contactos, con esa clave secreta cualquiera puede recuperar su dinero. Así que por favor guárdela en un lugar PRIVADO Y SEGURO. Más sobre claves y seguridad de cartera en {{1}}" +"A valid government-issued ID: driver license, passport, ID card, or visa " +"stamp." +msgstr "Un documento de identificacion valido emitido por su gobierno: Licencia de conduccion, pasaporte, tarjeta de identidad o visado." -#: src/jade/tabs/desktop/register.jade:79 src/jade/tabs/settings/navbar.jade:2 -msgid "Security" -msgstr "Seguridad" +#: src/jade/tabs/eur.jade:83 src/jade/tabs/usd.jade:80 +msgid "A proof of address: driver license, utility bill, bank statement, etc." +msgstr "Una prueba de residencia: licencia de conduccion, factura, extracto bancario, etc." -#: src/jade/tabs/desktop/register.jade:81 -msgid "Passphrase:{{1}}{{2}}{{3}}{{4}}" -msgstr "Frase clave:{{1}}{{2}}{{3}}{{4}}" +#: src/jade/tabs/eur.jade:85 +msgid "EXISTING SNAPSWAP EU CUSTOMERS" +msgstr "CLIENTES SNAPSWAP EU EXISTENTES" -#: src/jade/tabs/desktop/register.jade:90 -msgid "Secret key:" -msgstr "Clave secreta:" +#: src/jade/tabs/eur.jade:89 src/jade/tabs/jpy.jade:94 +#: src/jade/tabs/usd.jade:86 +msgid "Login to your account {{1}}" +msgstr "Conectese a su cuenta {{1}}" -#: src/jade/tabs/desktop/register.jade:95 src/jade/tabs/register.jade:150 -msgid "Show secret key" -msgstr "Mostrar clave secreta" +#: src/jade/tabs/eur.jade:92 src/jade/tabs/jpy.jade:96 +msgid "DEPOSITS AND WITHDRAWALS:" +msgstr "DEPOSITOS Y RETIRADAS:" -#: src/jade/tabs/desktop/register.jade:97 src/jade/tabs/register.jade:151 -msgid "Hide secret key" -msgstr "Ocultar clave secreta" +#: src/jade/tabs/eur.jade:96 +msgid "Deposit from your bank (2-4 business days)" +msgstr "Deposite desde su banco (2-4 dias laborables)" -#: src/jade/tabs/desktop/register.jade:98 -msgid "Have you saved your secret key somewhere safe?" -msgstr "Ha guardado su clave secreta en un lugar seguro?" +#: src/jade/tabs/eur.jade:98 +msgid "Withdraw to your bank account in SEPA (2-4 business days)" +msgstr "Retire a su banco por SEPA (2-4 dias laborables)" -#: src/jade/tabs/desktop/register.jade:101 -msgid "Yes, I saved my secret key" -msgstr "Sí, he guardado my clave secreta" +#: src/jade/tabs/eur.jade:100 +msgid "Withdraw to SmartyCash Card (instant)" +msgstr "Retire a SmartyCash Card (instantaneo)" #: src/jade/tabs/exchange.jade:13 msgid "You have to be funded before you can exchange money" msgstr "Debe tener crédito antes de poder cambiar dinero" +#: src/jade/tabs/exchange.jade:23 +msgid "Buy (Market Order)" +msgstr "Comprar (Orden de Mercado)" + +#: src/jade/tabs/exchange.jade:24 +msgid "" +"Submit a buy order at the current market rate. Orders will execute " +"instantly." +msgstr "Emitir una orden de compra al actual valor de mercado. Las ordenes se ejecutaran instantaneamente." + # Receive (amount) -#: src/jade/tabs/exchange.jade:19 +#: src/jade/tabs/exchange.jade:27 msgid "Receive (amount)" -msgstr "Recibir" +msgstr "Quiero comprar" -#: src/jade/tabs/exchange.jade:26 src/jade/tabs/send.jade:88 +#: src/jade/tabs/exchange.jade:34 src/jade/tabs/widgets/balances.jade:49 +msgid "add gateway" +msgstr "añadir pasarela" + +#: src/jade/tabs/exchange.jade:37 src/jade/tabs/send.jade:90 msgid "Please enter an amount." msgstr "Por favor introduzca una cantidad." -#: src/jade/tabs/exchange.jade:27 src/jade/tabs/send.jade:89 -#: src/jade/tabs/trade.jade:146 src/jade/tabs/trade.jade:161 -#: src/jade/tabs/trade.jade:176 +#: src/jade/tabs/exchange.jade:38 src/jade/tabs/send.jade:91 +#: src/jade/tabs/trade.jade:153 src/jade/tabs/trade.jade:168 +#: src/jade/tabs/trade.jade:183 src/jade/tabs/trust.jade:101 msgid "Not a valid amount." msgstr "La cantidad no es válida." -#: src/jade/tabs/exchange.jade:28 +#: src/jade/tabs/exchange.jade:39 +msgid "" +"You are either trying to convert too little or too much XRP.Minimum amount " +"is 0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "Esta intentando convertir demasiado o demasiado poco XRP. La cantidad minima es 0.000001 XRP y la cantidad maxima es 100 billones XRP." + +#: src/jade/tabs/exchange.jade:42 src/jade/tabs/send.jade:96 +#: src/jade/tabs/trust.jade:103 +msgid "Your amount has too many digits. The max number of digits is 16." +msgstr "Su cantidad tiene demasiados digitos. El maximo numero de digitos es 16." + +#: src/jade/tabs/exchange.jade:43 msgid "Please enter an amount greater than zero." msgstr "Por favor introduzca una cantidad superior a cero." -#: src/jade/tabs/exchange.jade:31 -msgid "Calculating..." -msgstr "Calculando..." +#: src/jade/tabs/exchange.jade:46 +msgid "{{1}} Calculating..." +msgstr "{{1}} Calculando..." -#: src/jade/tabs/exchange.jade:33 +#: src/jade/tabs/exchange.jade:50 msgid "" "Cannot convert to {{exchange.amount}} {{exchange.currency_name}}. Please " "make sure your account has enough funds, and a {{1}} to a " "{{exchange.currency_name}} gateway." msgstr "No puede convertir a {{exchange.amount}} {{exchange.currency_name}}. Por favor asegúrese de que su cuenta tiene fondos suficientes, y una {{1}} a {{exchange.currency_name}} gateway." -#: src/jade/tabs/exchange.jade:37 +#: src/jade/tabs/exchange.jade:54 msgid "" "Sorry! Cannot convert {{exchange.amount}} {{exchange.currency_name}}. Please" " make sure your account has enough funds." msgstr "Lo sentimos! No se puede convertir {{exchange.amount}} {{exchange.currency_name}}. Por favor asegúrese de que su cuenta tiene fondos suficientes." -#: src/jade/tabs/exchange.jade:39 src/jade/tabs/send.jade:133 +#: src/jade/tabs/exchange.jade:56 src/jade/tabs/send.jade:142 msgid "Error while calculating path" msgstr "Error al calcular el camino" -#: src/jade/tabs/exchange.jade:55 +#: src/jade/tabs/exchange.jade:60 +msgid "Exchange" +msgstr "Cambio" + +#: src/jade/tabs/exchange.jade:72 msgid "Exchange {{ alt.amount | rpcurrency }} {{1}}" msgstr "Cambiar {{ alt.amount | rpcurrency }} {{1}}" -#: src/jade/tabs/exchange.jade:61 src/jade/tabs/send.jade:161 +#: src/jade/tabs/exchange.jade:78 src/jade/tabs/send.jade:170 msgid "Paths last updated {{1}} {{2: seconds}} {{3: second}} ago" msgstr "Caminos actualizados hace {{1}} {{2: seconds}} {{3: second}}" -#: src/jade/tabs/exchange.jade:70 +#: src/jade/tabs/exchange.jade:89 msgid "Ripple is calculating a path for your conversion." msgstr "Ripple esta calculando un camino para la conversión. " -#: src/jade/tabs/exchange.jade:75 +#: src/jade/tabs/exchange.jade:94 msgid "" "{{1:You are exchanging}}{{2}}{{3:to}}{{4}}{{5:You will pay at " "most}}{{6}}{{7:Are you sure?}}" msgstr "{{1:Esta cambiando}}{{2}}{{3:a}}{{4}}{{5:Pagará como máximo}}{{6}}{{7:Está seguro?}}" -#: src/jade/tabs/exchange.jade:116 +#: src/jade/tabs/exchange.jade:139 msgid "Do another conversion" msgstr "Hacer otra conversión" -#: src/jade/tabs/exchange.jade:118 src/jade/tabs/send.jade:243 -#: src/jade/tabs/send.jade:273 +#: src/jade/tabs/exchange.jade:141 src/jade/tabs/send.jade:257 +#: src/jade/tabs/send.jade:291 msgid "Back to balance" msgstr "Volver a balance" @@ -1069,215 +1556,280 @@ msgstr "Volver a balance" msgid "Add trust" msgstr "Añadir crédito" -#: src/jade/tabs/fund.jade:33 src/jade/tabs/fund.jade:47 -#: src/jade/tabs/trust.jade:100 src/jade/tabs/trust.jade:121 +#: src/jade/tabs/fund.jade:27 src/jade/tabs/send.jade:26 +msgid "Enter a Ripple name or contact" +msgstr "Introduzca un nombre o contacto Ripple" + +#: src/jade/tabs/fund.jade:33 src/jade/tabs/trust.jade:73 msgid "Account does not meet the minimum XRP reserve." msgstr "La cuenta no cumple la reserva mínima de XRP. " -#: src/jade/tabs/fund.jade:34 src/jade/tabs/fund.jade:48 -#: src/jade/tabs/send.jade:107 src/jade/tabs/trust.jade:101 -#: src/jade/tabs/trust.jade:122 -msgid "More information" -msgstr "Más información" - -#: src/jade/tabs/fund.jade:36 src/jade/tabs/trust.jade:103 +#: src/jade/tabs/fund.jade:36 src/jade/tabs/trust.jade:76 msgid "Please enter a Ripple name, contact, or address." msgstr "Por favor introduzca un nombre Ripple, un contacto, o una dirección." -#: src/jade/tabs/fund.jade:37 src/jade/tabs/fund.jade:51 -#: src/jade/tabs/trust.jade:104 src/jade/tabs/trust.jade:125 +#: src/jade/tabs/fund.jade:37 src/jade/tabs/trust.jade:77 msgid "You've entered your own address." msgstr "Ha introducido su propia dirección." -#: src/jade/tabs/fund.jade:38 src/jade/tabs/trust.jade:105 +#: src/jade/tabs/fund.jade:38 src/jade/tabs/trust.jade:78 msgid "Please enter a valid Ripple name, contact, or address." msgstr "Por favor introduzca un nombre Ripple válido, un contacto, o una dirección." -#: src/jade/tabs/fund.jade:50 src/jade/tabs/trust.jade:124 -msgid "Please enter a Ripple address or contact." -msgstr "Por favor introduzca una dirección Ripple o un contacto." - -#: src/jade/tabs/fund.jade:52 src/jade/tabs/trust.jade:126 -msgid "Please enter a valid Ripple address or contact." -msgstr "Por favor introduzca una dirección Ripple o un contacto válido." - -#: src/jade/tabs/fund.jade:55 src/jade/tabs/history.jade:190 -#: src/jade/tabs/trade.jade:303 src/jade/tabs/trust.jade:129 -msgid "Amount" -msgstr "Cantidad" - -#: src/jade/tabs/fund.jade:62 src/jade/tabs/trust.jade:107 -#: src/jade/tabs/trust.jade:140 +#: src/jade/tabs/fund.jade:48 src/jade/tabs/trust.jade:80 msgid "Amount field is required" msgstr "El campo Cantidad es necesario" -#: src/jade/tabs/fund.jade:64 src/jade/tabs/trust.jade:109 -#: src/jade/tabs/trust.jade:142 +#: src/jade/tabs/fund.jade:50 src/jade/tabs/trust.jade:82 +#: src/jade/tabs/trust.jade:105 msgid "" "XRP can be sent without extending trust. If you really want to trust in XRP," " please use XRR currency code." msgstr "Se pueden enviar XRP sin extender crédito. Si realmente quiere extender crédito en XRP, por favor utilice el código de divisa XRR." -#: src/jade/tabs/fund.jade:67 src/jade/tabs/trust.jade:112 -#: src/jade/tabs/trust.jade:145 +#: src/jade/tabs/fund.jade:53 src/jade/tabs/trust.jade:85 +#: src/jade/tabs/trust.jade:108 msgid "Currency field is required" msgstr "El campo Divisa es necesario" -#: src/jade/tabs/fund.jade:73 src/jade/tabs/trust.jade:151 +#: src/jade/tabs/fund.jade:59 src/jade/tabs/fund.jade:60 +#: src/jade/tabs/trust.jade:114 src/jade/tabs/trust.jade:115 msgid "Allow Rippling" msgstr "Pemitir Ripplear" -#: src/jade/tabs/fund/menu.jade:2 -msgid "XRP" -msgstr "XRP" +#: src/jade/tabs/fund.jade:60 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"trust. More " +"information" +msgstr "Permitir que los balances de ésta línea de crédito sean transferidos a otro emisor acreditado por usted. Mas informacion" + +#: src/jade/tabs/fund.jade:63 +msgid "Cancel" +msgstr "Cancelar" #: src/jade/tabs/fund/menu.jade:3 -msgid "BTC" -msgstr "BTC" +msgid "{{1}}XRP" +msgstr "{{1}}XRP" #: src/jade/tabs/fund/menu.jade:6 +msgid "Featured gateways" +msgstr "Principales Pasarelas" + +#: src/jade/tabs/fund/menu.jade:7 +msgid "{{1}}BRL" +msgstr "{{1}}BRL" + +#: src/jade/tabs/fund/menu.jade:10 +msgid "{{1}}BTC" +msgstr "{{1}}BTC" + +#: src/jade/tabs/fund/menu.jade:13 +msgid "{{1}}EUR" +msgstr "{{1}}EUR" + +#: src/jade/tabs/fund/menu.jade:16 +msgid "{{1}}JPY" +msgstr "{{1}}JPY" + +#: src/jade/tabs/fund/menu.jade:19 +msgid "{{1}}MXN" +msgstr "{{1}}MXN" + +#: src/jade/tabs/fund/menu.jade:22 +msgid "{{1}}USD" +msgstr "{{1}}USD" + +#: src/jade/tabs/fund/menu.jade:25 +msgid "{{1}}XAU" +msgstr "{{1}}XAU" + +#: src/jade/tabs/fund/menu.jade:28 +msgid "Add any gateway" +msgstr "Añadir cualquier pasarela" + +#: src/jade/tabs/fund/menu.jade:30 msgid "Learn more about gateways" msgstr "Más sobre pasarelas" -#: src/jade/tabs/history.jade:9 -msgid "Loading history..." -msgstr "Cargando historial..." +#: src/jade/tabs/gold.jade:37 +msgid "Gold Deposit" +msgstr "Depósito Oro" + +#: src/jade/tabs/gold.jade:41 +msgid "Gold Bullion International (~gbi) {{1}}" +msgstr "Gold Bullion International (~gbi) {{1}}" + +#: src/jade/tabs/gold.jade:48 +msgid "0.5% per year" +msgstr "0.5% al año" + +#: src/jade/tabs/gold.jade:56 +msgid "" +"Ripple Trade has partnered with GBI to provide easy access toXAU. By " +"continuing, you are allowing GBI to hold gold on your behalf." +msgstr "Ripple Trade se ha asociado con GBI para proveer facil acceso a XAU. Al continuar permitira que GBI guarde XAU en su nombre." + +#: src/jade/tabs/gold.jade:67 src/jade/tabs/jpy.jade:68 +#: src/jade/tabs/mxn.jade:70 +msgid "{{1}} Not connected" +msgstr "{{1}} No conectado" + +#: src/jade/tabs/gold.jade:70 src/jade/tabs/jpy.jade:71 +#: src/jade/tabs/mxn.jade:73 +msgid "{{1}} Connected" +msgstr "{{1}} Conectado" + +#: src/jade/tabs/gold.jade:77 +msgid "Deposit" +msgstr "Depósito" + +#: src/jade/tabs/gold.jade:78 +msgid "" +"GBI does not currently support direct deposits. You can {{1}} or {{2}}." +msgstr "GBI no soporta depositos directos en este momento. Puede {{1}} o {{2}}." + +#: src/jade/tabs/gold.jade:84 +msgid "Withdrawal" +msgstr "Retirada" -#: src/jade/tabs/history.jade:14 +#: src/jade/tabs/gold.jade:85 +msgid "" +"You can redeem the physical gold in 1 oz increments.To do so, you'll need to" +" {{1}} and arrange to have the gold shipped to you." +msgstr "Puede retirar el oro fisico en incrementos de 1 oz. Para hacerlo, necesitara {{1}} y concertar el transporte del oro hasta usted." + +#: src/jade/tabs/history.jade:11 +msgid "Loading History" +msgstr "Cargando Historial" + +#: src/jade/tabs/history.jade:16 msgid "Your account history is empty" msgstr "Su historial de cuenta está vacio" -#: src/jade/tabs/history.jade:20 -msgid "Filters" -msgstr "Filtros" - -#: src/jade/tabs/history.jade:23 +#: src/jade/tabs/history.jade:24 msgid "Transaction type{{1}}{{2}}" msgstr "Tipo de transacción{{1}}{{2}}" -#: src/jade/tabs/history.jade:48 +#: src/jade/tabs/history.jade:37 msgid "Date{{1}}{{2}}" msgstr "Fecha{{1}}{{2}}" -#: src/jade/tabs/history.jade:53 +#: src/jade/tabs/history.jade:42 msgid "Load history for specific date range" msgstr "Cargar historial para un determinado rango de fechas" -#: src/jade/tabs/history.jade:59 +#: src/jade/tabs/history.jade:48 msgid "From" msgstr "Desde" -#: src/jade/tabs/history.jade:65 +#: src/jade/tabs/history.jade:54 msgid "To" msgstr "A" -#: src/jade/tabs/history.jade:68 +#: src/jade/tabs/history.jade:57 msgid "Filter" msgstr "Filtro" -#: src/jade/tabs/history.jade:82 -msgid "Transaction History" -msgstr "Historial de Transacciones" - -#: src/jade/tabs/history.jade:84 -msgid "Export to CSV" -msgstr "Exportar a CSV" - -#: src/jade/tabs/history.jade:88 +#: src/jade/tabs/history.jade:64 msgid "Date" msgstr "Fecha" -#: src/jade/tabs/history.jade:89 src/jade/tabs/history.jade:188 +#: src/jade/tabs/history.jade:65 src/jade/tabs/history.jade:170 msgid "Description" msgstr "Descripción" -#: src/jade/tabs/history.jade:90 +#: src/jade/tabs/history.jade:68 src/jade/tabs/history.jade:73 +msgid "Export to CSV" +msgstr "Exportar a CSV" + +#: src/jade/tabs/history.jade:69 msgid "Sorry, no transactions match your current filter." msgstr "Lo sentimos, ninguna transacción concuerda con su filtro actual." -#: src/jade/tabs/history.jade:109 +#: src/jade/tabs/history.jade:91 msgid "You sent{{1}}to{{2}}" msgstr "Ha enviado{{1}}a{{2}}" -#: src/jade/tabs/history.jade:115 +#: src/jade/tabs/history.jade:97 msgid "{{1}}sent you{{2}}" msgstr "{{1}}le ha enviado{{2}}" -#: src/jade/tabs/history.jade:121 +#: src/jade/tabs/history.jade:103 msgid "You requested to exchange{{1}}to{{2}}" msgstr "Ha solicitado cambiar{{1}}a{{2}}" -#: src/jade/tabs/history.jade:127 +#: src/jade/tabs/history.jade:109 msgid "{{1}}now trusts you for{{2}}" msgstr "{{1}}le ha acreditado por{{2}}" -#: src/jade/tabs/history.jade:140 src/jade/tabs/history/effects.jade:45 +#: src/jade/tabs/history.jade:122 src/jade/tabs/history/effects.jade:45 msgid "You created an order to sell{{1}}for{{2}}" msgstr "Ha creado una orden para vender{{1}}por{{2}}" -#: src/jade/tabs/history.jade:144 src/jade/tabs/history/effects.jade:49 +#: src/jade/tabs/history.jade:126 src/jade/tabs/history/effects.jade:49 msgid "You created an order to buy{{1}}for{{2}}" msgstr "Ha creado una orden para comprar{{1}}por{{2}}" -#: src/jade/tabs/history.jade:150 +#: src/jade/tabs/history.jade:132 msgid "You cancelled an order accepting {{1}}for{{2}}" msgstr "Ha cancelado una orden aceptando {{1}}por{{2}}" -#: src/jade/tabs/history.jade:163 +#: src/jade/tabs/history.jade:145 msgid "Unknown transaction" msgstr "Transacción desconocida" -#: src/jade/tabs/history.jade:166 +#: src/jade/tabs/history.jade:148 msgid "" "The client failed to parse this transaction. The developers have been " "notified of the issue." msgstr "El cliente ha fallado al analizar esta transacción. Los desarrolladores han sido notificados de este incidente." -#: src/jade/tabs/history.jade:171 +#: src/jade/tabs/history.jade:153 msgid "{{1}} sent you{{2}} and activated your account!" msgstr "{{1}} le ha enviado{{2}}y ha activado su cuenta!" -#: src/jade/tabs/history.jade:178 +#: src/jade/tabs/history.jade:160 msgid "You deposited{{1}} using {{entry.details.app.name}}" msgstr "Ha depositado{{1}} usando {{entry.details.app.name}}" -#: src/jade/tabs/history.jade:186 +#: src/jade/tabs/history.jade:168 msgid "Balance Changes" msgstr "Cambios de Balance" -#: src/jade/tabs/history.jade:189 +#: src/jade/tabs/history.jade:171 msgid "Issuer" msgstr "Emisor" -#: src/jade/tabs/history.jade:191 +#: src/jade/tabs/history.jade:173 msgid "Final balance" msgstr "Balance final" -#: src/jade/tabs/history.jade:194 +#: src/jade/tabs/history.jade:176 msgid "XRP Balance Change" msgstr "Cambio de Balance de XRP" -#: src/jade/tabs/history.jade:195 +#: src/jade/tabs/history.jade:177 msgid "{{effect.currency}} Balance Change" msgstr "{{effect.currency}} Cambio de Balance" -#: src/jade/tabs/history.jade:196 -msgid "Fee" -msgstr "Comisión" - -#: src/jade/tabs/history.jade:201 +#: src/jade/tabs/history.jade:183 msgid "Transaction details" msgstr "Datos de transacción" -#: src/jade/tabs/history.jade:202 +#: src/jade/tabs/history.jade:184 msgid "Add {{1}} to contact list" msgstr "Añadir {{1}} a la lista de contactos" -#: src/jade/tabs/history.jade:208 src/jade/tabs/trade.jade:386 +#: src/jade/tabs/history.jade:189 +msgid "{{1}} Loading more" +msgstr "{{1}} Cargando mas" + +#: src/jade/tabs/history.jade:192 src/jade/tabs/trade.jade:500 msgid "Load more" msgstr "Cargar más" -#: src/jade/tabs/history.jade:209 +#: src/jade/tabs/history.jade:193 msgid "No more transactions left" msgstr "No quedan transacciones" @@ -1333,439 +1885,633 @@ msgstr "El balance de credito entre usted y{{1}}ha cambiado por{{2}}." msgid "Your balance has been changed by{{1}}." msgstr "Su balance has sido cambiado por{{1}}. " -#: src/jade/tabs/kyc.jade:16 +#: src/jade/tabs/jpy.jade:38 +msgid "Japanese Yen Deposit" +msgstr "Depósito Yen Japonés" + +#: src/jade/tabs/jpy.jade:42 +msgid "Tokyo JPY Issuer (~tokyojpy) {{1}}" +msgstr "Tokyo JPY Issuer (~tokyojpy) {{1}}" + +#: src/jade/tabs/jpy.jade:59 +msgid "" +"Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to" +" JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your" +" behalf." +msgstr "Ripple Trade se ha asociado con Tokyo JPY Issuer para proveer facil acceso a JPY. Al continuar permitira que Tokyo JPY Issuer guarde JPY en su nombre." + +#: src/jade/tabs/jpy.jade:78 +msgid "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" +msgstr "NUEVOS CLIENTES- REGISTRARSE EN JPY TOKYO ISSUER" + +#: src/jade/tabs/jpy.jade:79 +msgid "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" +msgstr "{{1}}en Tokyo JPY Issuer. Necesitara:{{2}}" + +#: src/jade/tabs/jpy.jade:84 +msgid "A valid government-issued ID." +msgstr "Un documento de identidad expedido por su gobierno." + +#: src/jade/tabs/jpy.jade:86 +msgid "A proof of address (utility bill, etc)." +msgstr "Una prueba de residencia (factura, etc)." + +#: src/jade/tabs/jpy.jade:88 +msgid "A bank account under the same name." +msgstr "Una cuenta bancaria bajo el mismo nombre." + +#: src/jade/tabs/jpy.jade:90 +msgid "EXISTING TOKYO JPY ISSUER CUSTOMERS" +msgstr "CLIENTES TOKYO JPY ISSUER EXISTENTES" + +#: src/jade/tabs/jpy.jade:100 +msgid "" +"Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details" +" {{1}}" +msgstr "Tokyo JPY Issuer acepta depositos y retiradas via transferencia bancaria. Detalles {{1}}" + +#: src/jade/tabs/jpy.jade:103 +msgid "" +"To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account " +"and then initiate a transfer into your Ripple account." +msgstr "Para depositar, primero tendra que depositar en su cuenta Tokyo JPY Issuer y despues transferirlo a su cuenta Ripple." + +#: src/jade/tabs/jpy.jade:105 +msgid "" +"To withdraw to a bank account, you’ll first send money from your Ripple " +"account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo " +"JPY Issuer site to send to your bank account." +msgstr "Para retirar a su cuenta bancaria, primero tendra que enviar dinero de su cuenta Ripple a su cuenta Tokyo JPY Issuer. Siga las instrucciones en la web de Tokyo JPY Issuer para enviarlo a su cuenta bancaria." + +#: src/jade/tabs/kyc.jade:14 +msgid "Profile completion is only available to US residents." +msgstr "Completar Perfil solo esta disponible para los residentes de US." + +#: src/jade/tabs/kyc.jade:21 src/jade/tabs/trade.jade:285 msgid "Verifying your information. Please wait..." msgstr "Verificando su información. Espere por favor..." -#: src/jade/tabs/kyc.jade:18 +#: src/jade/tabs/kyc.jade:23 msgid "Your identity information has been verified." msgstr "Su identidad ha sido verificada." -#: src/jade/tabs/kyc.jade:20 +#: src/jade/tabs/kyc.jade:25 msgid "Your identity questions have been verified." msgstr "Sus preguntas de identificación han sido verificadas." -#: src/jade/tabs/kyc.jade:22 +#: src/jade/tabs/kyc.jade:27 msgid "" "Congratulations, you've verified your identity! You will now be redirected " "back to the instant deposit page." msgstr "Enhorabuena, ha verificado su identidad! Ahora será redirigido a la página de depósito instantáneo," -#: src/jade/tabs/kyc.jade:24 +#: src/jade/tabs/kyc.jade:29 msgid "There was an error with your request. Please try again later." msgstr "Ha habido un error con su petición, Por favorm inténtelo más tarde." -#: src/jade/tabs/kyc.jade:26 +#: src/jade/tabs/kyc.jade:31 msgid "" "There was an error with your request. Make sure your phone number is valid " "and try again." msgstr "Ha habido un error con su petición. Asegúrese de que su número de teléfono es válido e inténtelo de nuevo." -#: src/jade/tabs/kyc.jade:28 +#: src/jade/tabs/kyc.jade:33 msgid "Please check your verification code and try again." msgstr "Por favor compruebe su código de verificación e inténtelo de nuevo," -#: src/jade/tabs/kyc.jade:30 +#: src/jade/tabs/kyc.jade:35 msgid "" "There was an error while requesting the verification code. Please try again " "later." msgstr "Ha habido un error mientras solicitaba el código de verificación. Por favor inténtelo más tarde." -#: src/jade/tabs/kyc.jade:32 +#: src/jade/tabs/kyc.jade:37 msgid "" "We are unable to validate your identity information. Please check your " "information and try again." msgstr "No hemos podido validar su información de identidad. Por favor compruebe sus datos e inténtelo de nuevo." -#: src/jade/tabs/kyc.jade:34 +#: src/jade/tabs/kyc.jade:39 msgid "" "We are unable to validate your identity questions. Please check your answers" " and try again." msgstr "No hemos podido validar sus cuestiones de identidad. Por favor compruebe sus respuestas e inténtelo de nuevo." -#: src/jade/tabs/kyc.jade:36 +#: src/jade/tabs/kyc.jade:41 +msgid "" +"Sorry, you've reached your maximum number of verification attempts. Please " +"try again in 24 hours." +msgstr "Lo sentimos, ha alcanzado el maximo numero de intentos de verificacion. Por favor intentelo de nuevo en 24 horas." + +#: src/jade/tabs/kyc.jade:43 msgid "" "We can't verify your identity. Please contact us at support@ripple.com." msgstr "No podemos verificar su identidad, Por favor contáctenos en support@ripple.com." -#: src/jade/tabs/kyc.jade:41 +#: src/jade/tabs/kyc.jade:48 msgid "Profile Completion" msgstr "Perfil Completo" -#: src/jade/tabs/kyc.jade:45 +#: src/jade/tabs/kyc.jade:52 msgid "STEP 1: IDENTITY INFORMATION" msgstr "PASO 1: INFORMACION DE IDENTIDAD" -#: src/jade/tabs/kyc.jade:47 +#: src/jade/tabs/kyc.jade:54 msgid "STEP 2: IDENTITY QUESTIONS" msgstr "PASO 2: CUESTIONES DE IDENTIDAD" -#: src/jade/tabs/kyc.jade:49 +#: src/jade/tabs/kyc.jade:56 msgid "STEP 3: TWO-FACTOR AUTHENTICATION" msgstr "PASO 3: AUTENTICACION DOBLE-FACTOR" -#: src/jade/tabs/kyc.jade:56 +#: src/jade/tabs/kyc.jade:63 msgid "First Name" msgstr "Nombre" -#: src/jade/tabs/kyc.jade:60 +#: src/jade/tabs/kyc.jade:67 msgid "Last Name" msgstr "Apellido" -#: src/jade/tabs/kyc.jade:64 +#: src/jade/tabs/kyc.jade:71 msgid "Street Address" msgstr "Dirección" -#: src/jade/tabs/kyc.jade:69 +#: src/jade/tabs/kyc.jade:76 msgid "City" msgstr "Ciudad" -#: src/jade/tabs/kyc.jade:73 +#: src/jade/tabs/kyc.jade:80 msgid "State" msgstr "Provincia/Estado" -#: src/jade/tabs/kyc.jade:77 +#: src/jade/tabs/kyc.jade:84 msgid "ZIP" msgstr "Código Postal" -#: src/jade/tabs/kyc.jade:81 +#: src/jade/tabs/kyc.jade:88 msgid "Date of Birth" msgstr "Fecha de Nacimiento" -#: src/jade/tabs/kyc.jade:85 +#: src/jade/tabs/kyc.jade:92 msgid "Month{{1}}" msgstr "Mes{{1}}" -#: src/jade/tabs/kyc.jade:88 +#: src/jade/tabs/kyc.jade:95 msgid "Day{{1}}" msgstr "Dia{{1}}" -#: src/jade/tabs/kyc.jade:91 +#: src/jade/tabs/kyc.jade:98 msgid "Year{{1}}" msgstr "Año{{1}}" -#: src/jade/tabs/kyc.jade:104 +#: src/jade/tabs/kyc.jade:113 msgid "Continue to identity questions" msgstr "Continuar a preguntas de identidad" -#: src/jade/tabs/kyc.jade:110 +#: src/jade/tabs/kyc.jade:114 src/jade/tabs/kyc.jade:129 +#: src/jade/tabs/kyc.jade:154 src/jade/tabs/kyc.jade:184 +#: src/jade/tabs/login.jade:17 +msgid "Verifying..." +msgstr "Verificando..." + +#: src/jade/tabs/kyc.jade:120 msgid "{{ q.question }}{{1}}" msgstr "{{ q.question }}{{1}}" -#: src/jade/tabs/kyc.jade:113 +#: src/jade/tabs/kyc.jade:123 msgid "{{ a.answer }}" msgstr "{{ a.answer }}" -#: src/jade/tabs/kyc.jade:116 +#: src/jade/tabs/kyc.jade:128 msgid "Continue to two-factor authentication" msgstr "Continuar a autenticación doble-factor" -#: src/jade/tabs/kyc.jade:124 +#: src/jade/tabs/kyc.jade:137 msgid "Two-factor authentication provides extra security for your account." msgstr "Autenticación doble-factor proporciona un extra de seguridad a su cuenta." -#: src/jade/tabs/kyc.jade:132 +#: src/jade/tabs/kyc.jade:145 msgid "" "Ripple Trade has partnered with Authy to provide better security for your " "account.By continuing, you agree to Authy's {{1:Terms of Service}}." msgstr "RippleTrade se ha asociado con Authy para ofrecer una mayor seguridad a su cuenta. Al continuar acepta los {{1:Terminos de Servicio}} de Authy." -#: src/jade/tabs/kyc.jade:138 +#: src/jade/tabs/kyc.jade:153 msgid "Verify phone number" msgstr "Verificar número de teléfono" -#: src/jade/tabs/kyc.jade:148 +#: src/jade/tabs/kyc.jade:164 msgid "change" msgstr "cambio" -#: src/jade/tabs/kyc.jade:152 +#: src/jade/tabs/kyc.jade:168 msgid "" "A verification code has been sent to +{{ currentCountryCode }} {{ " "phoneNumber }}." msgstr "Se ha enviado un código de verificación a+{{ currentCountryCode }} {{ phoneNumber }}." -#: src/jade/tabs/kyc.jade:156 src/jade/tabs/login/form.jade:15 -#: src/jade/tabs/security.jade:88 +#: src/jade/tabs/kyc.jade:172 src/jade/tabs/login/form.jade:16 +#: src/jade/tabs/security.jade:97 msgid "Verification Code" msgstr "Código de Verificación" -#: src/jade/tabs/login.jade:5 src/jade/tabs/login.jade:19 -#: src/jade/tabs/login.jade:83 +#: src/jade/tabs/kyc.jade:183 +msgid "Submit code" +msgstr "Enviar codigo" + +#: src/jade/tabs/login.jade:4 src/jade/tabs/migrate.jade:4 +#: src/jade/tabs/recover.jade:3 src/jade/tabs/register.jade:5 +#: src/jade/tabs/register.jade:137 src/jade/tabs/register.jade:184 +msgid "Welcome to Ripple Trade" +msgstr "Bienvenido a Ripple Trade" + +#: src/jade/tabs/login.jade:6 src/jade/tabs/migrate.jade:6 +#: src/jade/tabs/recover.jade:5 src/jade/tabs/register.jade:7 +#: src/jade/tabs/register.jade:139 src/jade/tabs/register.jade:186 +msgid "Trade hundreds of assets, from XRP to crypto to gold to fiat." +msgstr "Cambie cientos de bienes, desde XRP a crypto, a oro, a fiat." + +#: src/jade/tabs/login.jade:15 src/jade/tabs/login.jade:31 msgid "Log In" msgstr "Entrar" -#: src/jade/tabs/login.jade:7 -msgid "Verifying..." -msgstr "Verificando..." - -#: src/jade/tabs/login.jade:8 +#: src/jade/tabs/login.jade:18 msgid "You have successfully verified your email address." msgstr "Ha verificado su email correctamente." -#: src/jade/tabs/login.jade:9 +#: src/jade/tabs/login.jade:19 msgid "" "Email verification token is invalid. It has either expired or has been " "resent. Please check your inbox for the most recent verification email." msgstr "El código de verificación no es válido. Ha expirado o ha sido reenviado. Por favor busque en su bandeja de entrada el código más reciente." -#: src/jade/tabs/login.jade:21 +#: src/jade/tabs/login.jade:30 +msgid "Logging in" +msgstr "Conectando" + +#: src/jade/tabs/login.jade:34 msgid "Verify" msgstr "Verificar" -#: src/jade/tabs/login.jade:25 src/jade/tabs/login.jade:26 -#: src/jade/tabs/recover.jade:5 -msgid "Account Recovery" -msgstr "Recuperación de Cuenta" - -#: src/jade/tabs/login.jade:28 src/jade/tabs/register.jade:93 +#: src/jade/tabs/login.jade:36 src/jade/tabs/register.jade:114 msgid "Already have a ripple.com/client account? {{1:Migrate}}" msgstr "Ya tiene una cuenta ripple.com/client? {{1:Migrar}}" -#: src/jade/tabs/login.jade:30 src/jade/tabs/migrate.jade:26 -msgid "New to {{productName}}? {{1:Sign Up}}" -msgstr "Nuevo en {{productName}}? {{1:Registrarse}}" +#: src/jade/tabs/login.jade:41 src/jade/tabs/login.jade:42 +#: src/jade/tabs/recover.jade:9 +msgid "Account Recovery" +msgstr "Recuperación de Cuenta" -#: src/jade/tabs/login.jade:37 +#: src/jade/tabs/login.jade:49 msgid "{{1:You're sending money to}}{{2}}." msgstr "{{1:Está enviando dinero a}}{{2}}." -#: src/jade/tabs/login.jade:41 +#: src/jade/tabs/login.jade:53 msgid "{{1:You're sending}}{{2}}{{3: to }}{{4}}." msgstr "{{1:Está enviando}}{{2}}{{3: a }}{{4}}." -#: src/jade/tabs/login.jade:51 +#: src/jade/tabs/login.jade:63 msgid "" "{{1:You're connecting to the gateway}}{{2}}{{3:for{{1}}}}{{4:with a limit " "of{{1}}}}." msgstr "{{1:Está conectándose a la pasarela}}{{2}}{{3:por{{1}}}}{{4:con un límite de{{1}}}}." -#: src/jade/tabs/login.jade:66 +#: src/jade/tabs/login.jade:78 msgid "{{1:You're adding}}{{2}}{{3:to your contacts list}}" msgstr "{{1:Va a añadir}}{{2}}{{3:a su lista de contactos}}" -#: src/jade/tabs/login.jade:84 +#: src/jade/tabs/login.jade:95 +msgid "{{1}} Log In" +msgstr "{{1}} Conectar" + +#: src/jade/tabs/login.jade:98 msgid "You can confirm this transaction on the next page." msgstr "Puede confirmar esta transacción en la pagina siguiente" -#: src/jade/tabs/login.jade:85 +#: src/jade/tabs/login.jade:99 msgid "New to {{productName}}? {{1:Create a wallet}}" msgstr "Nuevo en {{productName}}? {{1:Crear una cartera}}" -#: src/jade/tabs/login/form.jade:11 src/jade/tabs/security.jade:82 +#: src/jade/tabs/login/form.jade:12 src/jade/tabs/security.jade:91 msgid "" "Please enter the verification code from the SMS message sent to your device:" msgstr "Por favor, introduzca el código de verificación del mensaje SMS enviado a su dispositivo:" -#: src/jade/tabs/login/form.jade:12 src/jade/tabs/security.jade:83 +#: src/jade/tabs/login/form.jade:13 src/jade/tabs/security.jade:92 msgid "" "Please enter the verification code from the Authy app installed on your " "device:" msgstr "Por favor, introduzca el código de verificación de la app Authy instalada en su dispositivo:" -#: src/jade/tabs/login/form.jade:22 +#: src/jade/tabs/login/form.jade:23 msgid "Resend" msgstr "Reenviar" -#: src/jade/tabs/login/form.jade:23 src/jade/tabs/security.jade:95 +#: src/jade/tabs/login/form.jade:24 src/jade/tabs/security.jade:105 msgid "Send Via SMS" msgstr "Enviar Via SMS" -#: src/jade/tabs/login/form.jade:29 +#: src/jade/tabs/login/form.jade:30 msgid "Remember me on this device for 30 days" msgstr "Recordarme en este dispositivo durante 30 dias" -#: src/jade/tabs/migrate.jade:5 src/jade/tabs/register.jade:10 -#: src/jade/tabs/register.jade:116 src/jade/tabs/register.jade:159 +#: src/jade/tabs/migrate.jade:10 src/jade/tabs/register.jade:17 +#: src/jade/tabs/register.jade:142 src/jade/tabs/register.jade:189 msgid "Migrate" msgstr "Migrar" -#: src/jade/tabs/migrate.jade:6 +#: src/jade/tabs/migrate.jade:11 msgid "" "To begin migration, enter the name and passphrase used to encrypt your " "ripple.com/client wallet below. After migration, you will no longer be able " "to login on ripple.com/client." msgstr "Para comenzar la migración, introduzca abajo el nombre y contraseña usados para encriptar su cartera ripple.com/client. Después de la migración no podrá conectarse a ripple.com/client." -#: src/jade/tabs/migrate.jade:10 -msgid "Existing ripple.com/client Wallet name" -msgstr "Nombre ripple.com/Cartera de cliente existente" +#: src/jade/tabs/migrate.jade:15 +msgid "Existing ripple.com/client Wallet name" +msgstr "Nombre ripple.com/Cartera de cliente existente" + +#: src/jade/tabs/migrate.jade:18 +msgid "Passphrase" +msgstr "Clave" + +#: src/jade/tabs/migrate.jade:31 +msgid "Begin Migration" +msgstr "Comenzar Migración" + +#: src/jade/tabs/migrate.jade:32 +msgid "New to {{productName}}? {{1:Sign Up}}" +msgstr "Nuevo en {{productName}}? {{1:Registrarse}}" + +#: src/jade/tabs/migrate.jade:34 +msgid "Have a {{productName}} account? {{1:Log In}}" +msgstr "Tiene una cuenta {{productName}}? {{1:Conectarse}}" + +#: src/jade/tabs/mxn.jade:38 +msgid "Mexican Peso Deposit" +msgstr "Depositar Peso Mexicano" + +#: src/jade/tabs/mxn.jade:42 +msgid "Bitso (~bitso) {{1}}{{2}}" +msgstr "Bitso (~bitso) {{1}}{{2}}" + +#: src/jade/tabs/mxn.jade:47 +msgid "All countries except the US" +msgstr "Todos los paises menos US" + +#: src/jade/tabs/mxn.jade:58 +msgid "" +"Ripple Trade has partnered with Bitso to provide easy access to MXN (Mexican" +" Peso). By continuing, you agree with Bitso’s terms of service. Following " +"this action will enable Bitso to hold MXN on your behalf." +msgstr "Ripple Trade se ha asociado con Bitso para proveer facil acceso a MXN (Peso Mexicano). Al continuar acepta los terminos de servicio de Bitso. Al continuar permitira que Bitso guarde MXN en su nombre." + +#: src/jade/tabs/mxn.jade:80 +msgid "TO FUND/REDEEM MEXICAN PESO:" +msgstr "PARA FUNDAR/RETIRAR PESO MEXICANO:" + +#: src/jade/tabs/mxn.jade:82 +msgid "Register or login at {{1}}to initiate deposits and withdrawals." +msgstr "Registrese o entre en {{1}}para iniciar depositos y retiradas." + +#: src/jade/tabs/mxn.jade:86 +msgid "" +"A valid, non-US, state-issued ID (passport, driver's license, etc)." +msgstr "Un documento de identidad oficial, no de US (pasaporte, licencia's conduccion, etc)." + +#: src/jade/tabs/mxn.jade:87 +msgid "" +"Proof of address (utility bill or other type of bill that has your address " +"on it). Verification is required for peso deposits or withdrawals." +msgstr "Prueba de residencia (factura que incluya su direccion). La verificacion es obligatoria para depositar y retirar pesos." + +#: src/jade/tabs/mxn.jade:89 +msgid "" +"To fund your Ripple account, see the below options. Once a balance is " +"deposited with Bitso, you can send it to your Ripple account using the Bitso" +" Dashboard." +msgstr "Para fundar tu cuenta Ripple, mire las opciones de abajo. Una vez se haya depositado fondos en Bitso, puede enviarlo a su cuenta Ripple usando el Escritorio Bitso." + +#: src/jade/tabs/mxn.jade:90 +msgid "" +"To withdraw from your Ripple account, click on the 'Redeem from Ripple' " +"button on the Bitso Dashboard." +msgstr "Para retirar fondos de su cuenta Ripple, haga click en el boton \"Retirar desde Ripple\" en el Escritorio Bitso." + +#: src/jade/tabs/mxn.jade:92 src/jade/tabs/usd.jade:89 +msgid "DEPOSIT OPTIONS" +msgstr "OPCIONES DE DEPOSITO" + +#: src/jade/tabs/mxn.jade:94 +msgid "Bitso accepts deposits by the following methods:" +msgstr "Bitso acepta depositos por los siguientes metodos:" + +#: src/jade/tabs/mxn.jade:96 src/jade/tabs/mxn.jade:106 +msgid "Bank Wire" +msgstr "Transferencia bancaria" + +#: src/jade/tabs/mxn.jade:97 src/jade/tabs/mxn.jade:107 +msgid "SPEI (Mexican instant inter-bank transfer)" +msgstr "SPEI (Transferencia instantanea inter-bancaria de Mexico)" + +#: src/jade/tabs/mxn.jade:98 src/jade/tabs/mxn.jade:108 +msgid "Bitcoin" +msgstr "Bitcoin" -#: src/jade/tabs/migrate.jade:13 -msgid "Passphrase" -msgstr "Clave" +#: src/jade/tabs/mxn.jade:99 +msgid "MXN Cash (at locations across Mexico)" +msgstr "MXN Cash (para sitios en Mexico)" -#: src/jade/tabs/migrate.jade:25 -msgid "Begin Migration" -msgstr "Comenzar Migración" +#: src/jade/tabs/mxn.jade:100 +msgid "Pademobile wallet" +msgstr "Cartera Pademobile" -#: src/jade/tabs/migrate.jade:28 -msgid "Have a {{productName}} account? {{1:Log In}}" -msgstr "Tiene una cuenta {{productName}}? {{1:Conectarse}}" +#: src/jade/tabs/mxn.jade:102 src/jade/tabs/usd.jade:99 +msgid "WITHDRAWAL OPTIONS" +msgstr "OPCIONES DE RETIRADA" -#: src/jade/tabs/recover.jade:7 +#: src/jade/tabs/mxn.jade:104 +msgid "Bitso offers withdrawals via the following methods:" +msgstr "Bitso ofrece retirada via los siguientes metodos:" + +#: src/jade/tabs/recover.jade:11 msgid "" "You can only recover your Ripple Trade account with a secret key. You will " "recover the account's Ripple name, contacts and other information." msgstr "Sólo puede recuperar su cuenta Ripple Trade con una clave secreta. Recuperara el nombre Ripple de la cuenta, los contactos y otra información." -#: src/jade/tabs/recover.jade:9 src/jade/tabs/recover.jade:28 +#: src/jade/tabs/recover.jade:13 src/jade/tabs/recover.jade:33 msgid "Ripple Name" msgstr "Nombre Ripple" -#: src/jade/tabs/recover.jade:14 +#: src/jade/tabs/recover.jade:18 msgid "Secret Key" msgstr "Clave Secreta" -#: src/jade/tabs/recover.jade:17 +#: src/jade/tabs/recover.jade:21 msgid "Unable to recover account." msgstr "Imposible recuperar esa cuenta." -#: src/jade/tabs/recover.jade:22 src/jade/tabs/register.jade:74 +#: src/jade/tabs/recover.jade:27 src/jade/tabs/register.jade:95 msgid "Recover Account" msgstr "Recuperar Cuenta" -#: src/jade/tabs/recover.jade:24 src/jade/tabs/recover.jade:50 +#: src/jade/tabs/recover.jade:29 src/jade/tabs/recover.jade:56 msgid "Set Password" msgstr "Establecer Contraseña" -#: src/jade/tabs/recover.jade:26 +#: src/jade/tabs/recover.jade:31 msgid "" "Your account was sucessfully recovered. Please re-encrypt your account with " "a new password." msgstr "Su cuenta ha sido recuperada con éxito. Por favor reencripte su cuenta con una nueva contraseña." -#: src/jade/tabs/recover.jade:36 src/jade/tabs/register.jade:45 -#: src/jade/tabs/security.jade:119 +#: src/jade/tabs/recover.jade:41 src/jade/tabs/register.jade:62 +#: src/jade/tabs/security.jade:132 msgid "" "Your password is weak. It does not contain numbers and symbols or it is too " "short." msgstr "Su contraseña es débil. No contiene numeros y simbolos o es demasiado corta." -#: src/jade/tabs/recover.jade:38 src/jade/tabs/register.jade:47 -#: src/jade/tabs/security.jade:121 +#: src/jade/tabs/recover.jade:43 src/jade/tabs/register.jade:65 +#: src/jade/tabs/security.jade:134 msgid "" "Your Ripple name and password cannot match. Please create a new password." msgstr "Su nombre Ripple y su contraseña no concuerdan. Por favor cree una nueva contraseña." -#: src/jade/tabs/recover.jade:45 +#: src/jade/tabs/recover.jade:45 src/jade/tabs/register.jade:67 +#: src/jade/tabs/security.jade:136 +msgid "Confirm password" +msgstr "Confirmar contraseña" + +#: src/jade/tabs/recover.jade:48 src/jade/tabs/register.jade:71 +#: src/jade/tabs/security.jade:139 +msgid "Passwords do not match" +msgstr "Las contraseñas no coinciden" + +#: src/jade/tabs/recover.jade:50 msgid "Unable to change your account password." msgstr "Imposible cambiar su contraseña de cuenta." -#: src/jade/tabs/recover.jade:49 +#: src/jade/tabs/recover.jade:55 msgid "Updating..." msgstr "Actualizando..." -#: src/jade/tabs/recover.jade:51 +#: src/jade/tabs/recover.jade:57 msgid "Remember your password? {{1:Log In}}" msgstr "Recuerda su contraseña? {{1:Conectarse}}" -#: src/jade/tabs/register.jade:5 -msgid "" -"Ripple Trade is the only platform where you can trade between stores of " -"value spanning fiat, crypto, precious metals and more." -msgstr "Ripple Trade es la única plataforma donde puede cambiar entre valores fiat, crypto, metales preciosos y más." - -#: src/jade/tabs/register.jade:9 src/jade/tabs/register.jade:90 -#: src/jade/tabs/register.jade:115 src/jade/tabs/register.jade:158 +#: src/jade/tabs/register.jade:13 src/jade/tabs/register.jade:109 +#: src/jade/tabs/register.jade:141 src/jade/tabs/register.jade:188 msgid "Sign Up" msgstr "Registrarse" -#: src/jade/tabs/register.jade:12 src/jade/tabs/register.jade:14 -#: src/jade/tabs/register.jade:16 src/jade/tabs/register.jade:120 -#: src/jade/tabs/register.jade:122 src/jade/tabs/register.jade:161 -#: src/jade/tabs/register.jade:163 src/jade/tabs/register.jade:165 +#: src/jade/tabs/register.jade:19 src/jade/tabs/register.jade:21 +#: src/jade/tabs/register.jade:23 src/jade/tabs/register.jade:146 +#: src/jade/tabs/register.jade:148 src/jade/tabs/register.jade:191 +#: src/jade/tabs/register.jade:193 src/jade/tabs/register.jade:195 msgid "Step {{1}}" msgstr "Paso {{1}}" -#: src/jade/tabs/register.jade:19 +#: src/jade/tabs/register.jade:26 msgid "Create Ripple name" msgstr "Crear nombre Ripple" -#: src/jade/tabs/register.jade:20 +#: src/jade/tabs/register.jade:27 msgid "" "Please choose a Ripple name below. You will use this Ripple name to login to" " Ripple Trade, so remember it! Ripple names are unique and public, like your" " current Ripple address. {{1}}" msgstr "Por favor elija un nombre Ripple más abajo. Usará este nombre Ripple para conectarse a Ripple Trade, recuérdelo! Los nombres Ripple son únicos y públicos, como su dirección Ripple actual. {{1}}" -#: src/jade/tabs/register.jade:21 +#: src/jade/tabs/register.jade:28 msgid "Learn More" msgstr "Más Información" -#: src/jade/tabs/register.jade:36 +#: src/jade/tabs/register.jade:41 +msgid "Reserved for {{usernameReservedFor}}" +msgstr "Reservado para {{usernameReservedFor}}" + +#: src/jade/tabs/register.jade:43 +msgid "" +"This name belongs to a high-traffic website and has been reserved to prevent" +" phishing." +msgstr "Este nombre pertenece a una web conocida y ha sido reservado para prevenir phishing." + +#: src/jade/tabs/register.jade:49 msgid "You can only use the following characters: a-z, 0-9 and hyphens (-)" msgstr "Sólo puede usar los siguientes caracteres: a-z, 0-9 y guiones (-)" -#: src/jade/tabs/register.jade:39 +#: src/jade/tabs/register.jade:55 msgid "Cannot use hyphens in a row (--)" msgstr "No puede enlazar guiones (--)" -#: src/jade/tabs/register.jade:60 +#: src/jade/tabs/register.jade:80 msgid "Email address is invalid" msgstr "Dirección email no valida" -#: src/jade/tabs/register.jade:62 src/jade/tabs/security.jade:138 +#: src/jade/tabs/register.jade:82 src/jade/tabs/security.jade:151 msgid "Secret key" msgstr "Clave secreta" -#: src/jade/tabs/register.jade:63 src/jade/tabs/send.jade:50 -#: src/jade/tabs/trade.jade:331 src/jade/tabs/trade.jade:337 +#: src/jade/tabs/register.jade:83 src/jade/tabs/send.jade:43 +#: src/jade/tabs/trade.jade:441 msgid "hide" msgstr "ocultar" -#: src/jade/tabs/register.jade:67 +#: src/jade/tabs/register.jade:88 msgid "Secret Account Key is invalid" msgstr "La Clave Secreta de Cuenta no es valida" -#: src/jade/tabs/register.jade:69 +#: src/jade/tabs/register.jade:90 msgid "" "The account ~{{1}}{{2}} has already been created using this secret key." msgstr "La cuenta ~{{1}}{{2}} ya ha sido creada usando esta clave secreta. " -#: src/jade/tabs/register.jade:75 -msgid "Need to use your secret key? {{1}}" -msgstr "Necesita usar su clave secreta? {{1}}" - -#: src/jade/tabs/register.jade:77 -msgid "Use key" -msgstr "Usar clave" - -#: src/jade/tabs/register.jade:80 -msgid "I agree to the {{productName}} {{1:end-user license agreement}}" -msgstr "Acepto el {{productName}} {{1:end-user license agreement}}" +#: src/jade/tabs/register.jade:98 +msgid "I agree to the {{productName}} {{1:Terms of Use}}" +msgstr "Acepto el {{productName}} {{1:Terminos de Uso}}" -#: src/jade/tabs/register.jade:83 +#: src/jade/tabs/register.jade:101 msgid "" "Please see our {{1}} to see how we collect, use and share information about " "you" msgstr "Por favor mire nuestro {{1}} para ver como recogemos, usamos y compartimos su información." -#: src/jade/tabs/register.jade:91 +#: src/jade/tabs/register.jade:110 msgid "Migrate Account" msgstr "Migrar Cuenta" -#: src/jade/tabs/register.jade:100 +#: src/jade/tabs/register.jade:111 +msgid "Need to use your secret key? {{1}}" +msgstr "Necesita usar su clave secreta? {{1}}" + +#: src/jade/tabs/register.jade:113 +msgid "Use key" +msgstr "Usar clave" + +#: src/jade/tabs/register.jade:121 msgid "An error occurred during registration. Please try again later." msgstr "Ha ocurrido un error durante el registro. Por favor inténtelo más tarde." -#: src/jade/tabs/register.jade:101 +#: src/jade/tabs/register.jade:122 msgid "The reported error was: {{1}}" msgstr "El error reportado fue: {{1}}" -#: src/jade/tabs/register.jade:109 +#: src/jade/tabs/register.jade:131 msgid "" "There is already a wallet using this username, please choose a different " "username and try again." msgstr "Ya hay una cartera con este nombre de usuario, por favor elija un nombre diferente y pruebe de nuevo." -#: src/jade/tabs/register.jade:124 +#: src/jade/tabs/register.jade:150 msgid "" "By proceeding, you understand that Ripple Trade does not provide a password " "or secret key recovery mechanism. If you forget your Ripple name/password " "and secret key, you will be unable to access this Ripple account." msgstr "Al porceder, entiende que Ripple Trade no provee un mecanismo de recuperación de contraseña o clave secreta. Si olvida su nombre Ripple/contraseña y clave secreta, no podrá acceder a su cuenta Ripple." -#: src/jade/tabs/register.jade:129 +#: src/jade/tabs/register.jade:155 msgid "" "You are now migrating your account- meaning you'll no longer be able to " "access your account from ripple.com/client. You will retain all of your " @@ -1774,907 +2520,1123 @@ msgid "" "continue your migration." msgstr "Esta a punto de migrar su cuenta- esto significa que no podrá volver a conectarse a su cuenta desde ripple.com/client. Mantendrá todos sus balances, contactos e historial de cuenta. Su cuenta usará la misma clave secreta que antes. Si ya ha guardado su clave secreta, por favor continue la migración." -#: src/jade/tabs/register.jade:136 +#: src/jade/tabs/register.jade:162 msgid "" "The secret key unlocks access to all your account funds in the event you " "lose your Ripple name or password. Please write it down and store it " "somewhere private and safe. {{1:Read more}} about keys and wallet safety." msgstr "La clave secreta desbloquea el acceso a todos los fondos de su cuenta en caso de que olvide o pierda su nombre Ripple o contraseña. Por favor guárdela en un lugar privado y seguro. {{1:Leer más}} sobre claves y seguridad de cartera." -#: src/jade/tabs/register.jade:141 +#: src/jade/tabs/register.jade:167 msgid "" "If you have not saved your secret key, please write it down and store it " "somewhere private and safe. In the event you lose your Ripple name or " "password, you can use this secret key to recover your funds." msgstr "Si no ha guardado su clave secreta, por favor guárdela en un lugar privado y seguro. En caso de que pierda su nombre Ripple o contraseña, puede usar esta clave secreta para recuperar sus fondos." -#: src/jade/tabs/register.jade:154 +#: src/jade/tabs/register.jade:176 +msgid "Show secret key" +msgstr "Mostrar clave secreta" + +#: src/jade/tabs/register.jade:177 +msgid "Hide secret key" +msgstr "Ocultar clave secreta" + +#: src/jade/tabs/register.jade:180 msgid "Continue to email verification" msgstr "Seguir a verificación de mail" -#: src/jade/tabs/register.jade:167 +#: src/jade/tabs/register.jade:197 msgid "" "We’ve sent an email to {{1}}. To complete registration, click the link in " "the email." msgstr "Hemos enviado un email a {{1}}. Para complear el registro haga click en el link que hay dentro del email." -#: src/jade/tabs/register.jade:170 +#: src/jade/tabs/register.jade:200 msgid "Email token has been resent." msgstr "Un Email ha sido reenviado." -#: src/jade/tabs/register.jade:173 +#: src/jade/tabs/register.jade:203 msgid "Email Address:" msgstr "Dirección Email:" -#: src/jade/tabs/register.jade:178 +#: src/jade/tabs/register.jade:210 msgid "Re-send Email" msgstr "Reenviar Email" -#: src/jade/tabs/security.jade:5 +#: src/jade/tabs/security.jade:7 msgid "Active Session Timeout" msgstr "Expiración de Sesión Activa" -#: src/jade/tabs/security.jade:6 +#: src/jade/tabs/security.jade:8 msgid "" "To view or edit your security settings, you must currently have an active " "session." msgstr "Para ver o editar su configuración de seguridad, debe tener una sesión activa." -#: src/jade/tabs/security.jade:13 +#: src/jade/tabs/security.jade:16 msgid "Restore Session" msgstr "Reestablecer Sesión" -#: src/jade/tabs/security.jade:22 +#: src/jade/tabs/security.jade:25 msgid "Your Ripple password has been changed, please login again" msgstr "Su contraseña Ripple ha sido cambiada, por favor conéctese de nuevo" -#: src/jade/tabs/security.jade:24 +#: src/jade/tabs/security.jade:27 msgid "Couldn't change your Ripple password, please try again later." msgstr "No se ha podido cambiar su contraseña Ripple, por favor inténtelo de nuevo más tarde." -#: src/jade/tabs/security.jade:27 +#: src/jade/tabs/security.jade:30 msgid "Changing your Ripple password..." msgstr "Cambiando su contraseña Ripple..." -#: src/jade/tabs/security.jade:28 +#: src/jade/tabs/security.jade:31 msgid "Your Ripple password has been changed successfully." msgstr "Su contraseña Ripple ha sido cambiada con éxito." -#: src/jade/tabs/security.jade:29 +#: src/jade/tabs/security.jade:32 msgid "Unable to load Two-factor authentication settings." msgstr "No se ha podido cargar la configuración de la autenticación Two-factor." -#: src/jade/tabs/security.jade:30 +#: src/jade/tabs/security.jade:33 msgid "Error saving Two-factor authentication settings." msgstr "Error guardando la configuración de la autenticación Two-factor." -#: src/jade/tabs/security.jade:31 +#: src/jade/tabs/security.jade:34 msgid "The verification code is invalid." msgstr "El código de verificación no es válido." -#: src/jade/tabs/security.jade:32 +#: src/jade/tabs/security.jade:36 msgid "Two-factor authentication has been successfully enabled." msgstr "Autenticación Two-factor se ha activado con éxito." -#: src/jade/tabs/security.jade:33 +#: src/jade/tabs/security.jade:37 msgid "Two-factor authentication has been successfully disabled." msgstr "Autenticación Two-factor se ha desactivado con éxito." +#: src/jade/tabs/security.jade:38 +msgid "Password protection has been successfully enabled." +msgstr "Protección de contraseña se ha activado con éxito." + #: src/jade/tabs/security.jade:39 +msgid "Password protection has been successfully disabled." +msgstr "Protección de contraseña se ha desactivado con éxito." + +#: src/jade/tabs/security.jade:45 msgid "Security settings" msgstr "Configuración de seguridad" -#: src/jade/tabs/security.jade:44 +#: src/jade/tabs/security.jade:51 msgid "Loading Two-factor authentication settings..." msgstr "Cargando la configuración de la autenticación Two-factor..." -#: src/jade/tabs/security.jade:47 +#: src/jade/tabs/security.jade:55 msgid "Enabled" msgstr "Activado" -#: src/jade/tabs/security.jade:48 +#: src/jade/tabs/security.jade:56 msgid "Disabled" msgstr "Desactivado" -#: src/jade/tabs/security.jade:50 +#: src/jade/tabs/security.jade:58 msgid "disable" msgstr "desactivar" -#: src/jade/tabs/security.jade:52 +#: src/jade/tabs/security.jade:60 msgid "enable" msgstr "activar" -#: src/jade/tabs/security.jade:58 +#: src/jade/tabs/security.jade:66 msgid "" "Authy is providing two-factor authentication for Ripple Trade. To enable " "two-factor authentication, you must share some information with Authy." msgstr "Authy provee autenticación two-factor para Ripple Trade. Para activar la autenticación two-factor, debe compartir cierta información con Authy." -#: src/jade/tabs/security.jade:61 +#: src/jade/tabs/security.jade:69 msgid "- Your email address:" msgstr "- Su dirección de email:" -#: src/jade/tabs/security.jade:64 +#: src/jade/tabs/security.jade:72 msgid "- Your phone number:" msgstr "- Su número de teléfono:" -#: src/jade/tabs/security.jade:66 +#: src/jade/tabs/security.jade:74 msgid "By proceeding, you agree to the Authy {{1: terms of service.}}" msgstr "Al continuar, acepta los {{1: términos de servicio.}} de Authy" -#: src/jade/tabs/security.jade:70 +#: src/jade/tabs/security.jade:78 msgid "Share" msgstr "Compartir" -#: src/jade/tabs/security.jade:75 +#: src/jade/tabs/security.jade:84 msgid "Saving settings..." msgstr "Guardando configuración..." -#: src/jade/tabs/security.jade:76 +#: src/jade/tabs/security.jade:85 msgid "Disabling Two-factor authentication..." msgstr "Desactivando la autenticación Two-factor..." -#: src/jade/tabs/security.jade:77 +#: src/jade/tabs/security.jade:86 msgid "Enabling Two-factor authentication..." msgstr "Activando la autenticación Two-factor..." -#: src/jade/tabs/security.jade:94 +#: src/jade/tabs/security.jade:104 msgid "Resend Code" msgstr "Reenviar Código" -#: src/jade/tabs/security.jade:99 +#: src/jade/tabs/security.jade:110 msgid "Enable" msgstr "Activar" -#: src/jade/tabs/security.jade:103 +#: src/jade/tabs/security.jade:114 msgid "Ripple password" msgstr "Contraseña Ripple" -#: src/jade/tabs/security.jade:116 +#: src/jade/tabs/security.jade:129 msgid "New password" msgstr "Nueva contraseña" -#: src/jade/tabs/security.jade:140 +#: src/jade/tabs/security.jade:153 msgid "" "Your secret key unlocks access to your account funds. Please write it down " "and store it somewhere private and safe. In the event you lose your Ripple " "name or password, you can use this secret key to recover your funds." msgstr "Su clave secreta desbloquea el acceso a los fondos de su cuenta. Por favor cópiela y guárdela en un lugar privado y seguro. En caso de que pierda su nombre Ripple o contraseña, puede usar esta clave secreta para recuperar sus fondos." -#: src/jade/tabs/security.jade:150 +#: src/jade/tabs/security.jade:165 msgid "Password protection for transactions" msgstr "Protección por contraseña para transacciones." -#: src/jade/tabs/security.jade:153 +#: src/jade/tabs/security.jade:168 msgid "" "If you turn off password requests, you’ll still need to enter your password " "after each page refresh." msgstr "Aunque apague la petición de contraseña, tendrá que introducir su contraseña al refrescar la página." -#: src/jade/tabs/security.jade:161 +#: src/jade/tabs/security.jade:176 msgid "Yes" msgstr "Si" -#: src/jade/tabs/security.jade:162 +#: src/jade/tabs/security.jade:177 msgid "No" msgstr "No" +#: src/jade/tabs/security.jade:192 +msgid "Delete Ripple Trade account" +msgstr "Eliminar cuenta Ripple Trade" + +#: src/jade/tabs/security.jade:194 +msgid "" +"This deletes your Ripple Trade account. You will no longer be able to login " +"to Ripple Trade and your account data will be deleted. However, you can " +"still access your funds using your secret key." +msgstr "Esto borrara su cuenta Ripple Trade. Ya no podra conectarse a Ripple Trade y sus datos seran borrados. Sin embargo, aun podra acceder a sus fondos usando su clave secreta." + #: src/jade/tabs/send.jade:12 msgid "You have to be funded before you can send money" msgstr "Debe tener crédito antes de poder enviar dinero" -#: src/jade/tabs/send.jade:19 src/jade/tabs/send.jade:32 +#: src/jade/tabs/send.jade:25 msgid "Recipient" msgstr "Receptor" -#: src/jade/tabs/send.jade:24 src/jade/tabs/send.jade:37 +#: src/jade/tabs/send.jade:30 msgid "Please enter a recipient." msgstr "Por favor introduzca un receptor." -#: src/jade/tabs/send.jade:26 +#: src/jade/tabs/send.jade:32 msgid "" "Recipient should be a Ripple name, a contact, or Ripple/Bitcoin address." msgstr "El receptor debe ser un nombre Ripple, un contacto, o una dirección Ripple/Bitcoin." -#: src/jade/tabs/send.jade:28 src/jade/tabs/send.jade:41 +#: src/jade/tabs/send.jade:34 msgid "This email address is not Ripple-enabled." msgstr "Esta dirección de email no ha sido Ripple-activada." -#: src/jade/tabs/send.jade:39 -msgid "Recipient should be a contact or Ripple/Bitcoin address." -msgstr "El receptor debe ser un contacto o una dirección Ripple/Bitcoin." - -#: src/jade/tabs/send.jade:45 +#: src/jade/tabs/send.jade:38 msgid "Show destination tag" msgstr "Mostrar etiqueta de destino" -#: src/jade/tabs/send.jade:54 +#: src/jade/tabs/send.jade:47 msgid "Destination cannot be blank." msgstr "Destino no puede quedar en blanco." -#: src/jade/tabs/send.jade:55 +#: src/jade/tabs/send.jade:48 msgid "" "Recipient requires a destination tag to be specified for the transaction. If" " you don't know the destination tag, please contact them before doing a " "transaction." msgstr "El receptor requiere que se especifique una etiqueta de destino en la transacción. Si no conoce la etiqueta de destino, por favor contacte con ellos antes de efectuar una transacción." -#: src/jade/tabs/send.jade:60 +#: src/jade/tabs/send.jade:53 msgid "Source tag" msgstr "Etiqueta de fuente" -#: src/jade/tabs/send.jade:63 +#: src/jade/tabs/send.jade:56 msgid "Invalid source tag" msgstr "Etiqueta de fuente inválida" -#: src/jade/tabs/send.jade:75 +#: src/jade/tabs/send.jade:59 +msgid "Invoice ID" +msgstr "ID de Recibo" + +#: src/jade/tabs/send.jade:62 +msgid "Invoice ID must not be more than 64 characters long." +msgstr "ID de recibo no de ser de mas de 64 caracteres de largo." + +#: src/jade/tabs/send.jade:77 msgid "Recipient will receive" msgstr "El receptor recibirá" -#: src/jade/tabs/send.jade:86 +#: src/jade/tabs/send.jade:88 msgid "{{send.recipient | rpcontactname}} can't receive this currency." msgstr "{{send.recipient | rpcontactname}} no puede recibir esta moneda." -#: src/jade/tabs/send.jade:90 +#: src/jade/tabs/send.jade:92 src/jade/tabs/trust.jade:102 msgid "Amount must be greater than zero." msgstr "La cantidad debe ser superior a cero." -#: src/jade/tabs/send.jade:91 +#: src/jade/tabs/send.jade:93 msgid "" -"This transaction exceeds your balance, you can send a max. of " -"{{account.max_spend | rpamount:{rel_precision: 0} }} XRP" -msgstr "Esta transaccion excede sus fondos, puede enviar un max. de {{account.max_spend | rpamount:{rel_precision: 0} }} XRP" +"You are either trying to send too little or too much XRP.Minimum amount is " +"0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "Esta intentando enviar demasiado o demasiado poco XRP. La cantidad minima es 0.000001 XRP y la cantidad maxima es 100 billones XRP." -#: src/jade/tabs/send.jade:94 +#: src/jade/tabs/send.jade:97 msgid "" "Recipient does not allow XRP payments. Are you sure you want to send XRP " "anyway?" msgstr "El receptor no acepta pagos XRP. Está seguro de querer enviar XRP de todas formas?" -#: src/jade/tabs/send.jade:96 +#: src/jade/tabs/send.jade:99 msgid "" "{{send.recipient | rpcontactname}}trusts you for {{send.trust_limit | " "rpamount}} {{send.trust_limit | rpcurrency}}." msgstr "{{send.recipient | rpcontactname}} le ha acreditado por {{send.trust_limit | rpamount}} {{send.trust_limit | rpcurrency}}." -#: src/jade/tabs/send.jade:100 +#: src/jade/tabs/send.jade:103 msgid "Send XRP" msgstr "Enviar XRP" -#: src/jade/tabs/send.jade:104 +#: src/jade/tabs/send.jade:107 msgid "" "Destination account is unfunded; send at least {{send.xrp_deficiency | " "rpamount}} XRP to fund it.{{1}}" msgstr "La cuenta de destino no tiene fondos; envíe al menos {{send.xrp_deficiency | rpamount}} XRP para activarla.{{1}}" -#: src/jade/tabs/send.jade:109 +#: src/jade/tabs/send.jade:114 msgid "Checking" msgstr "Comprobando" -#: src/jade/tabs/send.jade:111 +#: src/jade/tabs/send.jade:117 msgid "Analyzing address" msgstr "Analizando dirección" -#: src/jade/tabs/send.jade:113 +#: src/jade/tabs/send.jade:120 msgid "Scanning accepted currencies" msgstr "Escaneando divisas aceptadas" -#: src/jade/tabs/send.jade:115 +#: src/jade/tabs/send.jade:123 msgid "Requesting quote" msgstr "Solicitando cotización" -#: src/jade/tabs/send.jade:117 +#: src/jade/tabs/send.jade:126 msgid "Calculating paths" msgstr "Calculando caminos" -#: src/jade/tabs/send.jade:119 +#: src/jade/tabs/send.jade:129 msgid "Calculating alternatives" msgstr "Calculando alternativas" -#: src/jade/tabs/send.jade:121 +#: src/jade/tabs/send.jade:130 msgid "" "You cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. " "Either your account has insufficient funds, or {{send.recipient}} doesn't " "accept {{send.currency}}." msgstr "No puede enviar {{send.amount}} {{send.currency}} a {{send.recipient}}. O su cuenta no tiene fondos suficientes, o {{send.recipient}} no acepta {{send.currency}}." -#: src/jade/tabs/send.jade:125 +#: src/jade/tabs/send.jade:134 msgid "" "You cannot send {{send.amount}} {{send.currency}} to{{send.recipient}}. Your" " account has insufficient funds." msgstr "No puede enviar {{send.amount}} {{send.currency}} a{{send.recipient}}. Su cuenta no tiene fondos suficientes" -#: src/jade/tabs/send.jade:128 +#: src/jade/tabs/send.jade:137 msgid "There are no valid currency choices for this destination." msgstr "No hay opciones de divisas válidas para este destino." -#: src/jade/tabs/send.jade:130 +#: src/jade/tabs/send.jade:139 msgid "Error while retrieving quote for outbound payment. {{1}}" msgstr "Se ha producido un error al recuperar la cuota para el pago saliente. {{1}}" -#: src/jade/tabs/send.jade:139 +#: src/jade/tabs/send.jade:148 msgid "You can send" msgstr "Puede enviar" -#: src/jade/tabs/send.jade:141 +#: src/jade/tabs/send.jade:150 msgid "Or you can send" msgstr "O puede enviar" -#: src/jade/tabs/send.jade:155 +#: src/jade/tabs/send.jade:164 msgid "Send {{ alt.amount | rpcurrency }} {{1}}" msgstr "Enviar {{ alt.amount | rpcurrency }} {{1}}" -#: src/jade/tabs/send.jade:170 +#: src/jade/tabs/send.jade:181 msgid "Ripple is calculating a path for your payment." msgstr "Ripple está calculando un camino para su pago." -#: src/jade/tabs/send.jade:176 +#: src/jade/tabs/send.jade:186 msgid "You are sending {{1}} to" msgstr "Está enviando {{1}} a" -#: src/jade/tabs/send.jade:184 +#: src/jade/tabs/send.jade:194 msgid "Destination tag: {{send.dt}}" msgstr "Etiqueta de destino: {{send.dt}}" -#: src/jade/tabs/send.jade:185 +#: src/jade/tabs/send.jade:195 msgid "They will receive" msgstr "Recibirán" -#: src/jade/tabs/send.jade:188 +#: src/jade/tabs/send.jade:198 msgid "You will pay at most" msgstr "Pagarás como máximo" -#: src/jade/tabs/send.jade:194 +#: src/jade/tabs/send.jade:204 msgid "Are you sure?" msgstr "Estás seguro?" -#: src/jade/tabs/send.jade:200 +#: src/jade/tabs/send.jade:210 msgid "Password required to unlock wallet" msgstr "Contraseña requerida para desbloquear la cartera" -#: src/jade/tabs/send.jade:224 src/jade/tabs/send.jade:252 +#: src/jade/tabs/send.jade:234 src/jade/tabs/send.jade:266 msgid "Contact saved!" msgstr "Contacto guardado!" -#: src/jade/tabs/send.jade:226 src/jade/tabs/send.jade:254 +#: src/jade/tabs/send.jade:236 src/jade/tabs/send.jade:268 msgid "Add this address to contacts" msgstr "Añadir esta dirección a contactos" -#: src/jade/tabs/send.jade:230 src/jade/tabs/send.jade:258 +#: src/jade/tabs/send.jade:242 src/jade/tabs/send.jade:274 msgid "Name this user" msgstr "Nombre a este usuario" -#: src/jade/tabs/send.jade:236 src/jade/tabs/send.jade:265 -#: src/jade/tabs/trust.jade:283 +#: src/jade/tabs/send.jade:246 src/jade/tabs/send.jade:278 +msgid "This contact already exists, please choose another name." +msgstr "Este contacto ya existe, por favor elija otro nombre." + +#: src/jade/tabs/send.jade:250 src/jade/tabs/send.jade:283 +#: src/jade/tabs/trust.jade:233 msgid "Saving..." msgstr "Guardando..." -#: src/jade/tabs/send.jade:241 src/jade/tabs/send.jade:271 +#: src/jade/tabs/send.jade:255 src/jade/tabs/send.jade:289 msgid "Send another payment" msgstr "Enviar otro pago" -#: src/jade/tabs/settings/navbar.jade:3 -msgid "Advanced" -msgstr "Avanzado" +#: src/jade/tabs/settings/navbar.jade:2 +msgid "Security" +msgstr "Seguridad" + +#: src/jade/tabs/settingstrade.jade:12 +msgid "Trade settings" +msgstr "Configuracion de Cambio" -#: src/jade/tabs/trade.jade:10 -msgid "Loading order book..." -msgstr "Cargando libro de ordenes..." +#: src/jade/tabs/settingstrade.jade:14 +msgid "Trade currency pairs" +msgstr "Cambiar pares de divisas" -#: src/jade/tabs/trade.jade:23 +#: src/jade/tabs/trade.jade:12 src/jade/tabs/trade.jade:451 +msgid "Loading Order Book" +msgstr "Cargando Libro de Ordenes" + +#: src/jade/tabs/trade.jade:31 src/jade/tabs/widgets/markets.jade:24 msgid "flip" msgstr "cambiar" -#: src/jade/tabs/trade.jade:27 src/jade/tabs/trade.jade:35 -msgid "Base currency" -msgstr "Divisa base" +#: src/jade/tabs/trade.jade:34 +msgid "add pair" +msgstr "añadir par" + +#: src/jade/tabs/trade.jade:37 +msgid "edit pairs" +msgstr "editar pares" + +#: src/jade/tabs/trade.jade:41 +msgid "Base Currency" +msgstr "Divisa Base" + +#: src/jade/tabs/trade.jade:44 +msgid "Base Gateway" +msgstr "Pasarela Base" -#: src/jade/tabs/trade.jade:30 src/jade/tabs/trade.jade:41 -msgid "Change gateway" -msgstr "Cambiar pasarela" +#: src/jade/tabs/trade.jade:49 +msgid "Counter Currency" +msgstr "Contra Divisa" -#: src/jade/tabs/trade.jade:38 src/jade/tabs/trade.jade:46 -msgid "Counter currency" -msgstr "Divisa secundaria" +#: src/jade/tabs/trade.jade:52 +msgid "Counter Gateway" +msgstr "Contra Divisa" -#: src/jade/tabs/trade.jade:50 +#: src/jade/tabs/trade.jade:57 +msgid "Add" +msgstr "Añadir" + +#: src/jade/tabs/trade.jade:60 msgid "Base currency issuer ({{order.first_currency | rpcurrency}})" msgstr "Emisor de moneda base ({{order.first_currency | rpcurrency}})" -#: src/jade/tabs/trade.jade:55 +#: src/jade/tabs/trade.jade:63 +msgid "Ripple name or contact" +msgstr "Nombre o contacto Ripple" + +#: src/jade/tabs/trade.jade:65 msgid "Not a valid Ripple address or contact" msgstr "La dirección Ripple o el contacto no son válidos" -#: src/jade/tabs/trade.jade:60 +#: src/jade/tabs/trade.jade:70 msgid "Counter currency issuer ({{order.second_currency | rpcurrency}})" msgstr "Emisor de moneda secundaria ({{order.second_currency | rpcurrency}})" -#: src/jade/tabs/trade.jade:65 +#: src/jade/tabs/trade.jade:75 msgid "Not a valid Ripple name or address" msgstr "No es un nombre o dirección Ripple válido" -#: src/jade/tabs/trade.jade:69 +#: src/jade/tabs/trade.jade:79 msgid "" -"You must select a gateway to trade currencies. Click the “Change gateway” " -"link above and enter the gateway's address or Ripple name. {{1:Find a " -"gateway.}}" -msgstr "Debe seleccionar una plataforma para cambiar divisas. Haga click en el link \"Cambiar pasarela\" arriba e introduzca la dirección o el nombre Ripple de la plataforma. {{1:Buscar una pasarela.}}" +"To show an orderbook, choose from the dropdown above or click \"Add custom " +"pair\"." +msgstr "Para ver un libro de ordenes, elija uno del menu desplegable de arriba o haga click en \"Añadir par personalizado\"." -#: src/jade/tabs/trade.jade:79 +#: src/jade/tabs/trade.jade:86 msgid "Bid" msgstr "Oferta" -#: src/jade/tabs/trade.jade:84 +#: src/jade/tabs/trade.jade:91 msgid "Ask" msgstr "Demanda" -#: src/jade/tabs/trade.jade:89 +#: src/jade/tabs/trade.jade:96 msgid "Spread" msgstr "Diferencia" -#: src/jade/tabs/trade.jade:94 +#: src/jade/tabs/trade.jade:101 msgid "Last price" msgstr "Último precio" -#: src/jade/tabs/trade.jade:101 +#: src/jade/tabs/trade.jade:108 msgid "You have to be funded before you can trade" msgstr "Debe tener fondos antes de poder operar" -#: src/jade/tabs/trade.jade:108 +#: src/jade/tabs/trade.jade:115 msgid "Buy {{1}} {{order.first_currency | rpcurrency}}" msgstr "Comprar {{1}} {{order.first_currency | rpcurrency}}" -#: src/jade/tabs/trade.jade:111 +#: src/jade/tabs/trade.jade:118 msgid "Sell {{1}} {{order.first_currency | rpcurrency}}" msgstr "Vender {{1}} {{order.first_currency | rpcurrency}}" -#: src/jade/tabs/trade.jade:114 src/jade/tabs/trade.jade:123 +#: src/jade/tabs/trade.jade:121 src/jade/tabs/trade.jade:130 msgid "{{1}} available" msgstr "{{1}} disponible" -#: src/jade/tabs/trade.jade:137 +#: src/jade/tabs/trade.jade:144 msgid "Amount To Buy" msgstr "Cantidad A Comprar" -#: src/jade/tabs/trade.jade:138 +#: src/jade/tabs/trade.jade:145 msgid "Amount To Sell" msgstr "Cantidad A Vender" -#: src/jade/tabs/trade.jade:145 src/jade/tabs/trade.jade:160 -#: src/jade/tabs/trade.jade:175 +#: src/jade/tabs/trade.jade:152 src/jade/tabs/trade.jade:167 +#: src/jade/tabs/trade.jade:182 msgid "Required" msgstr "Requerido" -#: src/jade/tabs/trade.jade:147 src/jade/tabs/trade.jade:162 -#: src/jade/tabs/trade.jade:177 +#: src/jade/tabs/trade.jade:154 src/jade/tabs/trade.jade:169 +#: src/jade/tabs/trade.jade:184 msgid "Must be greater than zero" msgstr "Debe ser mayor que cero" -#: src/jade/tabs/trade.jade:149 src/jade/tabs/trade.jade:164 -#: src/jade/tabs/trade.jade:179 -msgid "Minimum is a drop (0.000001) and maximum is 100 billion XRPs" -msgstr "Lo minimo es una nimiedad (0.000001) y el maximo es 100 billones de XRPs" +#: src/jade/tabs/trade.jade:156 src/jade/tabs/trade.jade:171 +#: src/jade/tabs/trade.jade:186 +msgid "" +"Minimum amount of XRP you can send is a drop (0.000001) and the maximum is " +"100 billion XRPs." +msgstr "La cantidad minima es un drop (0.000001) y la maxima es 100 billones de XRPs." -#: src/jade/tabs/trade.jade:153 +#: src/jade/tabs/trade.jade:160 msgid "Price of Each" msgstr "Precio de Cada" -#: src/jade/tabs/trade.jade:168 +#: src/jade/tabs/trade.jade:175 msgid "Order Value (max)" msgstr "Valor de Orden (máx.)" -#: src/jade/tabs/trade.jade:185 +#: src/jade/tabs/trade.jade:192 msgid "You are wanting to buy {{1}} for {{2}} ({{3}} per {{4}})" msgstr "Quiere comprar {{1}} por {{2}} ({{3}} a {{4}})" -#: src/jade/tabs/trade.jade:194 +#: src/jade/tabs/trade.jade:201 msgid "You are wanting to sell {{1}} for {{2}} ({{3}} per {{4}})" msgstr "Quiere vender {{1}} por {{2}} ({{3}} a {{4}})" -#: src/jade/tabs/trade.jade:206 +#: src/jade/tabs/trade.jade:213 msgid "Buy" msgstr "Comprar" -#: src/jade/tabs/trade.jade:207 +#: src/jade/tabs/trade.jade:214 msgid "Sell" msgstr "Vender" -#: src/jade/tabs/trade.jade:213 +#: src/jade/tabs/trade.jade:220 msgid "You do not have sufficient funds to create an order." msgstr "No tiene suficentes fondos para crear una orden" -#: src/jade/tabs/trade.jade:218 -msgid "CAUTION: Your order is far off from the current market price." -msgstr "ATENCIÓN: Su orden esta muy alejada del precio de mercado actual." - -#: src/jade/tabs/trade.jade:220 +#: src/jade/tabs/trade.jade:225 msgid "" "You are about to create an order to {{1: buy}} {{2: " -"sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}" -msgstr "Va a crear una orden para {{1: comprar}} {{2: vender}}{{3}}{{4:por}}{{5}}{{6}}{{7::Esta seguro?}}" +"sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" +msgstr "Va a crear una orden para {{1: comprar}} {{2: vender}}{{3}}{{4:por}}{{5}}{{6}}{{7::Esta seguro?}}{{8}}" + +#: src/jade/tabs/trade.jade:242 +msgid "CAUTION: Your order is far off from the current market price." +msgstr "ATENCIÓN: Su orden esta muy alejada del precio de mercado actual." -#: src/jade/tabs/trade.jade:239 +#: src/jade/tabs/trade.jade:246 src/jade/tabs/trade.jade:407 msgid "« Back" msgstr "« Atrás" -#: src/jade/tabs/trade.jade:246 +#: src/jade/tabs/trade.jade:255 msgid "Sending order to Ripple network..." msgstr "Enviando orden a la red Ripple..." -#: src/jade/tabs/trade.jade:252 +#: src/jade/tabs/trade.jade:261 msgid "Your order has been submitted." msgstr "Su orden ha sido enviada. " -#: src/jade/tabs/trade.jade:254 +#: src/jade/tabs/trade.jade:263 msgid "Your order is now active." msgstr "Su orden está ahora activada." -#: src/jade/tabs/trade.jade:256 -msgid "Your order is filled." -msgstr "Su orden está completa." +#: src/jade/tabs/trade.jade:265 +msgid "Your order has been filled." +msgstr "Su orden ha sido completada." -#: src/jade/tabs/trade.jade:258 -msgid "Request has been denied." -msgstr "La petición ha sido denegada. " +#: src/jade/tabs/trade.jade:267 +msgid "" +"Your order has been partially filled. The remaining amount is now active." +msgstr "Su orden ha sido parcialmente completada. La cantidad restante esta activa." -#: src/jade/tabs/trade.jade:259 -msgid "We were unable to submit the request. Please try again later." -msgstr "No ha sido posible enviar la peticion. Por favor intentelo mas tarde." +#: src/jade/tabs/trade.jade:276 +msgid "Submit another order" +msgstr "Enviar otra orden" -#: src/jade/tabs/trade.jade:261 -msgid "Request is malformed." -msgstr "La petición no esta bien hecha." +#: src/jade/tabs/trade.jade:278 +msgid "My Orders{{1}}{{2}}" +msgstr "Mis Ordenes {{1}}{{2}}" -#: src/jade/tabs/trade.jade:262 -msgid "" -"Your request is invalid, reason: {{order[type].engine_result}} - " -"{{order[type].engine_result_message}}" -msgstr "Su peticion no es valida, motivo: {{order[type].engine_result}} - {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:287 +msgid "Your order has been modified." +msgstr "Su orden ha sido modificada." -#: src/jade/tabs/trade.jade:265 src/jade/tabs/trade.jade:279 -msgid "Transaction failed." -msgstr "Transacción fallida." +#: src/jade/tabs/trade.jade:289 +msgid "Your order #{{ cancelOrder.seq }} has been cancelled." +msgstr "Su orden #{{ cancelOrder.seq }} ha sido cancelada." -#: src/jade/tabs/trade.jade:267 +#: src/jade/tabs/trade.jade:291 msgid "" -"You do not have enough {{(type == 'buy' ? order.second_currency : " -"order.first_currency) | rpcurrency}} to create this order." -msgstr "No tiene suficientes {{(type == 'buy' ? order.second_currency : order.first_currency) | rpcurrency}} para crear esta orden." +"Your order could not be modified and no longer exists. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "Su orden no ha podido ser modificada y ya no existe. Error: {{order[editOrder.type].engine_result_message}}" -#: src/jade/tabs/trade.jade:269 -msgid "" -"You must have at least {{account.reserve_to_add_trust | rpamount}} XRP to " -"submit an order. {{1}}" -msgstr "Debe tener al menos {{account.reserve_to_add_trust | rpamount}} XRP para enviar una orden. {{1}}" +#: src/jade/tabs/trade.jade:293 +msgid "Unable to cancel order as it no longer exists." +msgstr "Imposible cancelar la orden porque ya no existe." -#: src/jade/tabs/trade.jade:271 -msgid "More information." -msgstr "Más información." +#: src/jade/tabs/trade.jade:295 +msgid "Modifying your order (Placing new order) ..." +msgstr "Modificando su orden (Poniendo nueva orden) ..." -#: src/jade/tabs/trade.jade:272 -msgid "Error: {{order[type].engine_result_message}}" -msgstr "Error: {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:299 +msgid "Current pair only" +msgstr "Solo par actual" -#: src/jade/tabs/trade.jade:275 -msgid "Trade failed." -msgstr "Cambio fallido." +#: src/jade/tabs/trade.jade:313 src/jade/tabs/widgets/orders.jade:24 +msgid "reverse" +msgstr "inverso" -#: src/jade/tabs/trade.jade:277 -msgid "Trade failed, reason: {{order[type].engine_result_message}}" -msgstr "Cambio fallido, motivo: {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:322 src/jade/tabs/widgets/orders.jade:33 +msgid "QTY{{1}}" +msgstr "CTD{{1}}" -#: src/jade/tabs/trade.jade:281 src/jade/tabs/trust.jade:45 -msgid "" -"The particular server you sent the transaction to was too busy to forward or" -" process your transaction at the fee you included in it." -msgstr "El servidor al que envio la transaccion estaba demasiado ocupado para procesar o redirigir su transaccion con la comision que ha incluido." +#: src/jade/tabs/trade.jade:324 src/jade/tabs/widgets/orders.jade:35 +msgid "Base{{1}}" +msgstr "Base{{1}}" -#: src/jade/tabs/trade.jade:290 -msgid "Submit another order" -msgstr "Enviar otra orden" +#: src/jade/tabs/trade.jade:326 src/jade/tabs/widgets/orders.jade:37 +msgid "Counter{{1}}" +msgstr "Contra{{1}}" -#: src/jade/tabs/trade.jade:292 -msgid "My Orders{{1}}{{2}}" -msgstr "Mis Ordenes {{1}}{{2}}" +#: src/jade/tabs/trade.jade:328 src/jade/tabs/widgets/orders.jade:39 +msgid "Limit{{1}}" +msgstr "Limite{{1}}" -#: src/jade/tabs/trade.jade:299 -msgid "Type" -msgstr "Tipo" +#: src/jade/tabs/trade.jade:334 +msgid "Action" +msgstr "Acción" -#: src/jade/tabs/trade.jade:300 -msgid "Currencies {{1: (Issuer)}}" -msgstr "Monedas {{1: (Emisor)}}" +#: src/jade/tabs/trade.jade:360 src/jade/tabs/trade.jade:424 +msgid "TRADE CONFIRMATION" +msgstr "CONFIRMACION DE CAMBIO" -#: src/jade/tabs/trade.jade:302 -msgid "Price" -msgstr "Precio" +#: src/jade/tabs/trade.jade:362 +msgid "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" +msgstr "{{1:Por favor confirme que desea cancelar la orden #{{entry.seq}}}}" -#: src/jade/tabs/trade.jade:304 -msgid "Action" -msgstr "Acción" +#: src/jade/tabs/trade.jade:364 +msgid "" +"{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div" +" span.modal-order-type(l10n-inc) REMAIN: span remain data div span" +".modal-order-type(l10n-inc) PLACED: span time data" +msgstr "{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div span.modal-order-type(l10n-inc) REMAIN: span remain data div span.modal-order-type(l10n-inc) PLACED: span time data" -#: src/jade/tabs/trade.jade:313 +#: src/jade/tabs/trade.jade:371 msgid "with" msgstr "con" -#: src/jade/tabs/trade.jade:314 +#: src/jade/tabs/trade.jade:372 msgid "for" msgstr "para" -# You haven't placed any orders. -#: src/jade/tabs/trade.jade:327 -msgid "You haven't placed any orders." -msgstr "No ha emitido ninguna orden." +#: src/jade/tabs/trade.jade:376 +msgid "at" +msgstr "en" -#: src/jade/tabs/trade.jade:329 -msgid "Unable to cancel order." -msgstr "Imposible cancelar orden." +#: src/jade/tabs/trade.jade:389 +msgid "Cancel order" +msgstr "Cancelar orden" -#: src/jade/tabs/trade.jade:330 -msgid "Error: {{cancelError}}" -msgstr "Error: {{cancelError}}" +#: src/jade/tabs/trade.jade:390 src/jade/tabs/trade.jade:431 +msgid "back" +msgstr "atras" -#: src/jade/tabs/trade.jade:334 -msgid "Orderbook" -msgstr "Libro de órdenes" +#: src/jade/tabs/trade.jade:407 +msgid "" +"CAUTION: Your new order is far off from the current market price.
Do " +"you still want to replace your order ?" +msgstr "ATENCIÓN: Su orden esta muy alejada del precio de mercado actual.
Sigue queriendo reemplazar su orden?" + +#: src/jade/tabs/trade.jade:410 +msgid "Unable to cancel order. Error: {{entry.errorMsg}}" +msgstr "Imposible cancelar orden. Error: {{entry.errorMsg}}" + +#: src/jade/tabs/trade.jade:412 +msgid "" +"Your order amount has been updated by Ripple. Please go back and edit again " +"to modify this order." +msgstr "La cantidad de la orden ha sido actualizada por Ripple. Por favor retroceda y edite de nuevo para modificar esta orden." + +#: src/jade/tabs/trade.jade:414 +msgid "" +"Your order could not be modified. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "Su orden no ha podido ser modificada. Error: {{order[editOrder.type].engine_result_message}}" + +#: src/jade/tabs/trade.jade:415 +msgid "X" +msgstr "X" + +#: src/jade/tabs/trade.jade:420 +msgid "cancel all" +msgstr "cancelar todo" + +#: src/jade/tabs/trade.jade:426 +msgid "{{1:Please confirm that you wish to cancel all orders.}}" +msgstr "{{1:Por favor confirme que desea cancelar todas las ordenes.}}" + +#: src/jade/tabs/trade.jade:430 +msgid "Cancel all orders" +msgstr "Cancelar todas las ordenes" + +#: src/jade/tabs/trade.jade:433 src/jade/tabs/widgets/orders.jade:64 +msgid "No current orders. {{1}}" +msgstr "No hay órdenes. {{1}}" + +#: src/jade/tabs/trade.jade:434 src/jade/tabs/widgets/orders.jade:65 +msgid "View orders history" +msgstr "Ver historial de ordenes" + +#: src/jade/tabs/trade.jade:437 +msgid "Orderbook{{1}}" +msgstr "Libro de órdenes{{1}}" -#: src/jade/tabs/trade.jade:336 +#: src/jade/tabs/trade.jade:440 msgid "show" msgstr "mostrar" -#: src/jade/tabs/trade.jade:344 +#: src/jade/tabs/trade.jade:442 +msgid "Last updated {{1}} {{2: seconds}} {{3: second}} ago" +msgstr "Actualizado hace {{1}} {{2: segundoss}} {{3: segundos}}" + +#: src/jade/tabs/trade.jade:458 msgid "Bids" msgstr "Ofertas" -#: src/jade/tabs/trade.jade:346 src/jade/tabs/trade.jade:373 +#: src/jade/tabs/trade.jade:460 src/jade/tabs/trade.jade:487 msgid "Sum{{1}}{{2}}" msgstr "Suma{{1}}{{2}}" -#: src/jade/tabs/trade.jade:349 src/jade/tabs/trade.jade:370 +#: src/jade/tabs/trade.jade:463 src/jade/tabs/trade.jade:484 msgid "Size{{1}}{{2}}" msgstr "Tamaño{{1}}{{2}}" -#: src/jade/tabs/trade.jade:352 +#: src/jade/tabs/trade.jade:466 msgid "Bid Price{{1}}{{2}}" msgstr "Precio de Oferta{{1}}{{2}}" -#: src/jade/tabs/trade.jade:363 +#: src/jade/tabs/trade.jade:477 msgid "There are currently no bids for this pair." msgstr "Actualmente no hay ofertas para este par." -#: src/jade/tabs/trade.jade:365 +#: src/jade/tabs/trade.jade:479 msgid "Asks" msgstr "Demandas" -#: src/jade/tabs/trade.jade:367 +#: src/jade/tabs/trade.jade:481 msgid "Ask Price{{1}}{{2}}" msgstr "Precio de Demanda{{1}}{{2}}" -#: src/jade/tabs/trade.jade:384 +#: src/jade/tabs/trade.jade:498 msgid "There are currently no asks for this pair." msgstr "Actualmente no hay demandas para este par." -#: src/jade/tabs/trade.jade:387 +#: src/jade/tabs/trade.jade:501 msgid "No more orders" msgstr "No más órdenes" -#: src/jade/tabs/trust.jade:23 -msgid "Connecting a gateway to your Ripple account..." -msgstr "Conectando una pasarela a su cuenta Ripple..." - -#: src/jade/tabs/trust.jade:25 -msgid "Gateway connected." -msgstr "Pasarela conectada." - -#: src/jade/tabs/trust.jade:27 -msgid "Gateway could not be connected!" -msgstr "No se ha podido conectar con la pasarela!" - -#: src/jade/tabs/trust.jade:28 src/jade/tabs/trust.jade:30 -msgid "There was a problem connecting the gateway. Please try again later." -msgstr "Ha habido un problema conectando con la pasarela. Por favor inténtelo más tarde." +#: src/jade/tabs/trust.jade:29 +msgid "Removing gateway..." +msgstr "Quitando pasarela..." #: src/jade/tabs/trust.jade:31 -msgid "" -"Your request is invalid, reason: {{engine_result}} - " -"{{engine_result_message}}" -msgstr "Su peticion no es valida, motivo: {{engine_result}} - {{engine_result_message}}" +msgid "Gateway removed." +msgstr "Pasarela eliminada." #: src/jade/tabs/trust.jade:33 -msgid "Gateway connection failed!" -msgstr "Conexión con pasarela fallida!" +msgid "Your changes have been saved." +msgstr "Se han guardado los cambios." #: src/jade/tabs/trust.jade:35 -msgid "You have no gateway connected in this currency." -msgstr "No tiene ninguna pasarela conectada para esta divisa." - -#: src/jade/tabs/trust.jade:36 -msgid "Insufficient reserve to connect gateway." -msgstr "Reserva insuficiente para conectar con pasarela." - -#: src/jade/tabs/trust.jade:37 -msgid "" -"You must have at least {{account.reserve_to_add_trust | rpamount:0}} XRP to " -"connect a gateway. {{1}}" -msgstr "Debe tener al menos {{account.reserve_to_add_trust | rpamount:0}} XRP para conectarse con una pasarela. {{1}}" +msgid "Request failed." +msgstr "Petición fallida." #: src/jade/tabs/trust.jade:39 -msgid "Read more." -msgstr "Seguir leyendo." - -#: src/jade/tabs/trust.jade:40 -msgid "Gateway connection failed to clear, reason: {{engine_result_message}}" -msgstr "La conexión con la pasarela no se ha efectuado, motivo: {{engine_result_message}}" - -#: src/jade/tabs/trust.jade:43 -msgid "Transaction failed!" -msgstr "Transaccion fallida!" - -#: src/jade/tabs/trust.jade:53 -msgid "Saving changes..." -msgstr "Guardando cambios..." +msgid "Account unlock failed." +msgstr "Desbloqueo de cuenta fallido." #: src/jade/tabs/trust.jade:55 -msgid "Changes saved!" -msgstr "Cambios guardados!" - -#: src/jade/tabs/trust.jade:57 src/jade/tabs/trust.jade:69 -msgid "There was an error while saving your changes." -msgstr "Ha habido un error al guardar sus cambios." - -#: src/jade/tabs/trust.jade:65 -msgid "Removing gateway..." -msgstr "Quitando pasarela..." - -#: src/jade/tabs/trust.jade:67 -msgid "Gateway removed!" -msgstr "Pasarela eliminada!" - -#: src/jade/tabs/trust.jade:72 src/jade/tabs/trust.jade:194 -msgid "You must have at least {{1}} to add a new trust line. {{2}}" -msgstr "Debe tener al menos {{1}} para añadir una nueva línea de crédito. {{2}}" - -#: src/jade/tabs/trust.jade:82 msgid "Name / Address" msgstr "Nombre / Dirección" -#: src/jade/tabs/trust.jade:84 src/jade/tabs/trust.jade:130 +#: src/jade/tabs/trust.jade:57 src/jade/tabs/trust.jade:90 msgid "Currency" msgstr "Divisa" -#: src/jade/tabs/trust.jade:87 +#: src/jade/tabs/trust.jade:60 msgid "Trust Limit" msgstr "Límite de Crédito" -#: src/jade/tabs/trust.jade:93 +#: src/jade/tabs/trust.jade:66 msgid "Gateway's Ripple name or address" msgstr "Nombre Ripple o dirección de la pasarela" -#: src/jade/tabs/trust.jade:162 +#: src/jade/tabs/trust.jade:100 +msgid "Amount field is required." +msgstr "El campo Cantidad es necesario." + +#: src/jade/tabs/trust.jade:115 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"connect to. More " +"information" +msgstr "Permitir que los balances de ésta línea de crédito sean transferidos a otro emisor al que se conecte. Mas informacion" + +#: src/jade/tabs/trust.jade:125 msgid "" "{{1:You are connecting a gateway, which means}}{{2:{{ counterparty_address |" " rpripplename:{tilde: true} }} can:}}" msgstr "{{1:Está conectando una pasarela, lo cual significa que}}{{2:{{ counterparty_address | rpripplename:{tilde: true} }} puede:}}" -#: src/jade/tabs/trust.jade:165 +#: src/jade/tabs/trust.jade:128 msgid "{{1:- Hold up to }}{{2}} {{3: on your behalf}}" msgstr "{{1:- Guardar hasta }}{{2}} {{3: en su nombre}}" -#: src/jade/tabs/trust.jade:169 +#: src/jade/tabs/trust.jade:132 msgid "{{1:- Hold }}{{2}} {{3: on your behalf}}" msgstr "{{1:- Guardar }}{{2}} {{3: en su nombre}}" -#: src/jade/tabs/trust.jade:183 src/jade/tabs/trust.jade:186 -#: src/jade/tabs/trust.jade:189 src/jade/tabs/trust.jade:255 -#: src/jade/tabs/trust.jade:258 src/jade/tabs/trust.jade:261 -#: src/jade/tabs/trust.jade:288 src/jade/tabs/trust.jade:291 -#: src/jade/tabs/trust.jade:294 -msgid "Remove" -msgstr "Quitar" - -#: src/jade/tabs/trust.jade:192 +#: src/jade/tabs/trust.jade:148 msgid "Verifying address" msgstr "Comprobando dirección" -#: src/jade/tabs/trust.jade:201 +#: src/jade/tabs/trust.jade:151 msgid "" "Your account has to be {{1:activated}} before you can add a gateway account." msgstr "Su cuenta debe estar {{1:activada}} antes de poder añadir una cuenta de pasarela." -#: src/jade/tabs/trust.jade:209 +#: src/jade/tabs/trust.jade:159 msgid "Connect gateway" msgstr "Conectar pasarela" -#: src/jade/tabs/trust.jade:227 -msgid "Gateway" -msgstr "Pasarela" - -#: src/jade/tabs/trust.jade:229 src/jade/tabs/trust.jade:271 +#: src/jade/tabs/trust.jade:169 src/jade/tabs/trust.jade:221 msgid "Limit" msgstr "Límite" -#: src/jade/tabs/trust.jade:230 +#: src/jade/tabs/trust.jade:170 msgid "Min" msgstr "Min" -#: src/jade/tabs/trust.jade:232 +#: src/jade/tabs/trust.jade:172 msgid "Edit" msgstr "Editar" -#: src/jade/tabs/trust.jade:245 +#: src/jade/tabs/trust.jade:188 msgid "Off" msgstr "Off" -#: src/jade/tabs/trust.jade:246 +#: src/jade/tabs/trust.jade:189 msgid "On" msgstr "On" -#: src/jade/tabs/trust.jade:276 +#: src/jade/tabs/trust.jade:192 src/jade/tabs/trust.jade:201 +#: src/jade/tabs/trust.jade:206 src/jade/tabs/trust.jade:210 +#: src/jade/tabs/trust.jade:239 src/jade/tabs/trust.jade:244 +#: src/jade/tabs/trust.jade:248 +msgid "Incoming trust" +msgstr "Credito entrante" + +#: src/jade/tabs/trust.jade:192 +msgid "" +"You can't edit incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "No puede editar lineas de credito entrantes. Las lineas de credito entrantes es el credito que otros usuarios Ripple le conceden." + +#: src/jade/tabs/trust.jade:200 src/jade/tabs/trust.jade:202 +#: src/jade/tabs/trust.jade:205 src/jade/tabs/trust.jade:207 +#: src/jade/tabs/trust.jade:209 src/jade/tabs/trust.jade:211 +#: src/jade/tabs/trust.jade:238 src/jade/tabs/trust.jade:240 +#: src/jade/tabs/trust.jade:243 src/jade/tabs/trust.jade:245 +#: src/jade/tabs/trust.jade:247 src/jade/tabs/trust.jade:249 +msgid "Remove" +msgstr "Quitar" + +#: src/jade/tabs/trust.jade:201 src/jade/tabs/trust.jade:206 +#: src/jade/tabs/trust.jade:210 src/jade/tabs/trust.jade:239 +#: src/jade/tabs/trust.jade:244 src/jade/tabs/trust.jade:248 +msgid "" +"You can't delete incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "No puede borrar lineas de credito entrantes. Las lineas de credito entrantes es el credito que otros usuarios Ripple le conceden." + +#: src/jade/tabs/trust.jade:226 msgid "Rippling {{1}}" msgstr "Rippleando {{1}}" -#: src/jade/tabs/tx.jade:3 +#: src/jade/tabs/tx.jade:5 msgid "Loading transaction details..." msgstr "Cargando los detalles de la transacción..." -#: src/jade/tabs/tx.jade:5 +#: src/jade/tabs/tx.jade:7 msgid "An error occurred while loading the transaction details." msgstr "Ha ocurrido un error mientras se cargaban los detalles de la transacción." -#: src/jade/tabs/tx.jade:8 +#: src/jade/tabs/tx.jade:10 msgid "Transaction #" msgstr "Transacción #" -#: src/jade/tabs/tx.jade:11 -msgid "Show in graph" -msgstr "Mostrar en un gráfico" - -#: src/jade/tabs/tx.jade:13 +#: src/jade/tabs/tx.jade:15 msgid "Transaction type: {{1}}" msgstr "Tipo de transacción: {{1}} " -#: src/jade/tabs/tx.jade:20 +#: src/jade/tabs/tx.jade:22 msgid "Address sent from" msgstr "Dirección enviada desde" -#: src/jade/tabs/tx.jade:24 +#: src/jade/tabs/tx.jade:26 msgid "Amount sent" msgstr "Cantidad enviada" -#: src/jade/tabs/tx.jade:28 +#: src/jade/tabs/tx.jade:30 msgid "Currency sent" msgstr "Divisa enviada" -#: src/jade/tabs/tx.jade:33 +#: src/jade/tabs/tx.jade:35 msgid "Address sent to" msgstr "Dirección enviada a" -#: src/jade/tabs/tx.jade:37 +#: src/jade/tabs/tx.jade:39 msgid "Amount received" msgstr "Cantidad recibida" -#: src/jade/tabs/tx.jade:41 +#: src/jade/tabs/tx.jade:43 msgid "Currency received" msgstr "Divisa recibida" -#: src/jade/tabs/tx.jade:48 +#: src/jade/tabs/tx.jade:50 msgid "Network fee paid" msgstr "Comisión de red pagada" -#: src/jade/tabs/tx.jade:60 +#: src/jade/tabs/tx.jade:62 msgid "Ledger number" msgstr "Libro número" -#: src/jade/tabs/tx.jade:66 +#: src/jade/tabs/tx.jade:68 msgid "Address sent from:" msgstr "Dirección enviada desde:" # Sorry, we don't have an info page layout for this transaction type yet. -#: src/jade/tabs/tx.jade:70 +#: src/jade/tabs/tx.jade:72 msgid "" "Sorry, we don't have an info page layout for this transaction type yet." msgstr "Lo sentimos, todavía no tenemos un formato de página de información para este tipo de transacción." +#: src/jade/tabs/usd.jade:35 +msgid "US Dollar Deposit" +msgstr "Depósito US Dollar" + +#: src/jade/tabs/usd.jade:39 +msgid "SnapSwap US (~SnapSwap){{1}}{{2}}" +msgstr "SnapSwap US (~SnapSwap){{1}}{{2}}" + +#: src/jade/tabs/usd.jade:45 +msgid "USA" +msgstr "USA" + +#: src/jade/tabs/usd.jade:48 +msgid "$ 0.31-$ 5.00" +msgstr "$ 0.31-$ 5.00" + +#: src/jade/tabs/usd.jade:56 +msgid "" +"Ripple Trade has partnered with SnapSwap to provide easier access to USD. " +"Following this action will enable SnapSwap to hold USD on your behalf." +msgstr "Ripple Trade se ha asociado con SnapSwap para proveer facil acceso a USD. Al continuar permitira que SnapSwap guarde USD en su nombre." + +#: src/jade/tabs/usd.jade:73 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" +msgstr "NUEVOS CLIENTES- REGISTRARSE EN SNAPSWAP.US" + +#: src/jade/tabs/usd.jade:74 +msgid "Register and verify your account at SnapSwap US. You will need: {{1}}" +msgstr "Registrese y verifique su cuenta en SnapSwap US. Necesitara: {{1}}" + +#: src/jade/tabs/usd.jade:82 +msgid "EXISTING SNAPSWAP US CUSTOMERS" +msgstr "CLIENTES SNAPSWAP US EXISTENTES" + +#: src/jade/tabs/usd.jade:93 +msgid "Deposit instantly via selected banks" +msgstr "Deposite instantaneamente via los siguientes bancos" + +#: src/jade/tabs/usd.jade:95 +msgid "Deposit cash at Bank of America branches (3 business days)" +msgstr "Deposite dinero en oficinas de Bank of America (3 dias laborables)" + +#: src/jade/tabs/usd.jade:97 +msgid "Deposit via online bank transfer (3 business days)" +msgstr "Deposite desde su banco online (3 dias laborables)" + +#: src/jade/tabs/usd.jade:103 +msgid "Directly to your bank account (3-4 business days)" +msgstr "Directo a su cuenta bancaria (3-4 dias laborables)" + +#: src/jade/tabs/usd.jade:105 +msgid "Directly to your PayPal account (several minutes)" +msgstr "Directo a su cuenta Paypal (unos minutos)" + +#: src/jade/tabs/widgets/assetallocation.jade:3 +msgid "Asset Allocation" +msgstr "Distribucion de Bienes" + +#: src/jade/tabs/widgets/balances.jade:3 +msgid "Balances" +msgstr "Balances" + +#: src/jade/tabs/widgets/balances.jade:12 +msgid "Balance
{{ account.Balance | rpamount }} XRP" +msgstr "Balance
{{ account.Balance | rpamount }} XRP" + +#: src/jade/tabs/widgets/balances.jade:16 +msgid "Reserve" +msgstr "Reserva" + +#: src/jade/tabs/widgets/balances.jade:18 +msgid "Reserve amount" +msgstr "Cantidad de reserva" + +#: src/jade/tabs/widgets/balances.jade:18 +msgid "" +"Minimum amount of XRP required to fund your account. You cannot spend the " +"reserve." +msgstr "Cantidad mínima de XRP requerida para fundar su cuenta. No puede gastar la reserva. " + +#: src/jade/tabs/widgets/balances.jade:20 +msgid "Reserve amount
{{ account.reserve | rpamount }} XRP" +msgstr "Cantidad de reserva
{{ account.reserve | rpamount }} XRP" + +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Available amount" +msgstr "Cantidad disponible" + +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Total amount of XRP in your account minus the reserve amount." +msgstr "Cantidad total de XRP en su cuenta menos la cantidad de reserva." + +#: src/jade/tabs/widgets/balances.jade:28 +msgid "Available amount
{{ account.max_spend | rpamount }} XRP" +msgstr "Cantidad disponible
{{ account.max_spend | rpamount }} XRP" + +#: src/jade/tabs/widgets/balances.jade:35 +msgid "" +"Balance
{{ entry.total | rpamount:{precision: 30, hard_precision: true} " +"}} {{ entry.total | rpcurrency }}" +msgstr "Balance
{{ entry.total | rpamount:{precision: 30, hard_precision: true} }} {{ entry.total | rpcurrency }}" + +#: src/jade/tabs/widgets/balances.jade:43 +msgid "" +"Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, " +"hard_precision: true} }} {{ entry.total | rpcurrency }}" +msgstr "Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, hard_precision: true} }} {{ entry.total | rpcurrency }}" + +#: src/jade/tabs/widgets/markets.jade:3 +msgid "Markets" +msgstr "Mercados" + +#: src/jade/tabs/widgets/networth.jade:3 +msgid "Net Worth" +msgstr "Valor de Red" + +#: src/jade/tabs/widgets/networth.jade:8 +msgid "{{1:{{1:In}}}}{{2}}" +msgstr "{{1:{{1:En}}}}{{2}}" + +#: src/jade/tabs/widgets/networth.jade:14 +msgid "Estimated from latest trade price" +msgstr "Estimado por último precio de cambio." + +#: src/jade/tabs/widgets/networth.jade:23 +msgid "(excluding negative balances)" +msgstr "(excluyendo balances negativos)" + +#: src/jade/tabs/widgets/orders.jade:3 +msgid "My Orders" +msgstr "Mis Ordenes" + +#: src/jade/tabs/widgets/orders.jade:68 +msgid "trade currencies" +msgstr "cambiar divisas" + #: src/jade/tabs/xrp.jade:19 msgid "Ripple name: {{1}}{{2}}{{3}}" msgstr "Nombre Ripple: {{1}}{{2}}{{3}}" @@ -2694,7 +3656,3 @@ msgid "" "full Ripple address, and while we are working to transition to Ripple names," " some gateways may still ask for your full address." msgstr "Nombres Ripple es una novedad en Ripple! Use su nombre Ripple (~{{userCredentials.username}}) para recibir dinero. Sigue pudiendo utilizar su dirección Ripple completa, y mientras estemos trabajando con la transicion a nombres Ripple, algunas pasarelas pueden seguir pidiendo su dirección completa. " - -#: src/jade/tabs/xrp.jade:31 -msgid "Ripple address {{1}}" -msgstr "Dirección Ripple {{1}}" diff --git a/l10n/it/messages.po b/l10n/it/messages.po index c268fa15b..2a8e8fb56 100644 --- a/l10n/it/messages.po +++ b/l10n/it/messages.po @@ -8,15 +8,15 @@ # Luigigiuseppe Prosperi , 2013 # Luigigiuseppe Prosperi , 2013 # Marco Montesi , 2013 -# tuloski, 2014 +# tuloski, 2014-2015 # oblo , 2013-2015 # oblo , 2013 # Marco Montesi , 2013 -# Roberto Catini , 2014 +# Roberto Catini , 2014-2015 msgid "" msgstr "" "Project-Id-Version: Ripple Trade\n" -"PO-Revision-Date: 2015-01-07 20:40+0000\n" +"PO-Revision-Date: 2015-02-11 16:24+0000\n" "Last-Translator: oblo \n" "Language-Team: Italian (http://www.transifex.com/projects/p/ripple-trade/language/it/)\n" "MIME-Version: 1.0\n" @@ -25,47 +25,49 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/jade/client/index.jade:5 src/jade/client/navbar.jade:112 -#: src/jade/tabs/trust.jade:86 src/jade/tabs/trust.jade:228 +#: src/jade/client/index.jade:5 src/jade/client/navbar.jade:117 +#: src/jade/tabs/trust.jade:59 src/jade/tabs/trust.jade:168 msgid "Balance" msgstr "Saldo" -#: src/jade/client/index.jade:7 src/jade/client/navbar.jade:114 +#: src/jade/client/index.jade:7 src/jade/client/navbar.jade:119 msgid "History" msgstr "Cronologia" -#: src/jade/client/index.jade:8 src/jade/client/navbar.jade:116 -#: src/jade/tabs/contacts.jade:5 +#: src/jade/client/index.jade:8 src/jade/client/navbar.jade:121 msgid "Contacts" msgstr "Contatti" -#: src/jade/client/index.jade:12 src/jade/client/navbar.jade:13 -#: src/jade/tabs/contacts.jade:73 +#: src/jade/client/index.jade:12 src/jade/client/navbar.jade:21 +#: src/jade/tabs/contacts.jade:65 msgid "Send" msgstr "Invia" -#: src/jade/client/index.jade:16 src/jade/client/navbar.jade:123 +#: src/jade/client/index.jade:16 msgid "Convert" msgstr "Cambio" -#: src/jade/client/index.jade:18 src/jade/client/navbar.jade:121 +#: src/jade/client/index.jade:18 src/jade/client/navbar.jade:23 +#: src/jade/client/navbar.jade:25 src/jade/tabs/settings/navbar.jade:3 msgid "Trade" msgstr "Scambia" -#: src/jade/client/index.jade:22 src/jade/client/navbar.jade:19 -#: src/jade/client/navbar.jade:128 +#: src/jade/client/index.jade:22 src/jade/client/navbar.jade:27 +#: src/jade/client/navbar.jade:133 msgid "Fund" msgstr "Deposita" -#: src/jade/client/index.jade:24 src/jade/tabs/fund/menu.jade:5 +#: src/jade/client/index.jade:24 src/jade/tabs/fund/menu.jade:29 msgid "Gateways" msgstr "Gateways" -#: src/jade/client/index.jade:29 src/jade/tabs/su.jade:12 +#: src/jade/client/index.jade:29 src/jade/client/navbar.jade:107 +#: src/jade/tabs/su.jade:12 msgid "Account" msgstr "Account" -#: src/jade/client/index.jade:32 src/jade/tabs/advanced.jade:9 +#: src/jade/client/index.jade:32 src/jade/client/navbar.jade:109 +#: src/jade/tabs/advanced.jade:19 msgid "Settings" msgstr "Impostazioni" @@ -73,198 +75,437 @@ msgstr "Impostazioni" msgid "Logout" msgstr "Esci" -#: src/jade/client/index.jade:41 -msgid "Welcome to {{productName}}, a global value exchange" -msgstr "Benvenuto in {{productName}}, un mercato globale per lo scambio di valori " - -#: src/jade/client/index.jade:51 +#: src/jade/client/index.jade:61 +msgid "Why Use Ripple Trade?" +msgstr "Perchè usare Ripple Trade?" + +#: src/jade/client/index.jade:66 +msgid "Home of XRP -" +msgstr "La casa degli XRP -" + +#: src/jade/client/index.jade:67 +msgid "the best place to buy and sell XRP" +msgstr "il luogo migliore dove comprare e vendere XRP" + +#: src/jade/client/index.jade:71 +msgid "Free -" +msgstr "Gratuito -" + +#: src/jade/client/index.jade:72 +msgid "no fees to sign up and use Ripple Trade" +msgstr "nessun costo per iscriversi e utilizzare Ripple Trade" + +#: src/jade/client/index.jade:76 +msgid "No Middlemen -" +msgstr "Nessun Intermediario -" + +#: src/jade/client/index.jade:77 +msgid "" +"When you submit orders, Ripple automatically finds the best available match," +" without a clearinghouse or broker." +msgstr "Quando invii un ordine, Ripple trova automaticamente la migliore corrispondenza disponibile senza bisogno di intermediari." + +#: src/jade/client/index.jade:81 +msgid "Deposit, trade and withdraw money on Ripple via gateways." +msgstr "Deposita, scambia e preleva denaro su Ripple tramite i gateways." + +#: src/jade/client/index.jade:89 +msgid "Featured Ripple Gateways" +msgstr "Principali Gateways Ripple" + +#: src/jade/client/index.jade:91 +msgid "Ripple's growing gateway network." +msgstr "Il network dei sempre più numerosi gateways Ripple." + +#: src/jade/client/index.jade:93 src/jade/client/index.jade:96 +#: src/jade/client/index.jade:99 src/jade/client/index.jade:102 +#: src/jade/client/index.jade:105 src/jade/client/index.jade:108 +#: src/jade/client/index.jade:111 src/jade/client/index.jade:114 +#: src/jade/client/index.jade:117 src/jade/tabs/banner/unfunded.jade:6 +#: src/jade/tabs/brl.jade:53 src/jade/tabs/brl.jade:57 +#: src/jade/tabs/brl.jade:93 src/jade/tabs/btc.jade:46 +#: src/jade/tabs/eur.jade:50 src/jade/tabs/eur.jade:54 +#: src/jade/tabs/eur.jade:86 src/jade/tabs/eur.jade:93 +#: src/jade/tabs/gold.jade:51 src/jade/tabs/jpy.jade:55 +#: src/jade/tabs/jpy.jade:91 src/jade/tabs/jpy.jade:97 +#: src/jade/tabs/mxn.jade:53 src/jade/tabs/send.jade:63 +#: src/jade/tabs/trade.jade:320 src/jade/tabs/usd.jade:51 +#: src/jade/tabs/usd.jade:83 src/jade/tabs/usd.jade:90 +#: src/jade/tabs/usd.jade:100 src/jade/tabs/widgets/orders.jade:31 +msgid "{{1}}" +msgstr "{{1}}" + +#: src/jade/client/index.jade:123 msgid "Version: {{version}}" msgstr "Versione: {{version}}" -#: src/jade/client/index.jade:55 -msgid "End-User License Agreement" -msgstr "Accordo di Licenza con l'utente finale" +#: src/jade/client/index.jade:128 +msgid "Terms of Use" +msgstr "Termini di Utilizzo" -#: src/jade/client/index.jade:56 +#: src/jade/client/index.jade:129 +msgid "Privacy Policy" +msgstr "Norme sulla Privacy" + +#: src/jade/client/index.jade:130 msgid "Support" msgstr "Supporto" -#: src/jade/client/index.jade:57 +#: src/jade/client/index.jade:131 msgid "Bug reports" msgstr "Rapporto errori" -#: src/jade/client/index.jade:64 +#: src/jade/client/index.jade:138 msgid "more..." msgstr "altro..." -#: src/jade/client/index.jade:68 +#: src/jade/client/index.jade:142 msgid "Select a language" msgstr "Seleziona una lingua" -#: src/jade/client/navbar.jade:11 +#: src/jade/client/navbar.jade:2 +msgid "" +"You are viewing an account in {{1}} mode. While in this mode, you can view " +"publicly available data, but you cannot initiate any transactions. Click " +"{{2}} to exit." +msgstr "Stai vedendo l'account in modalità {{1}}. In tale modalità puoi visualizzare pubblicamente i dati ma non puoi iniziare nessuna transazione. Clicca {{2}} per uscire." + +#: src/jade/client/navbar.jade:8 +msgid "" +"Warning: this account has over 200 trust lines, so the displayed account " +"balance may not be accurate." +msgstr "Attenzione: questo account ha più di 200 linee di fiducia, il saldo visualizzato potrebbe non essere esatto." + +#: src/jade/client/navbar.jade:19 msgid "Overview" msgstr "Panoramica" -#: src/jade/client/navbar.jade:15 src/jade/client/navbar.jade:17 -#: src/jade/tabs/exchange.jade:43 -msgid "Exchange" -msgstr "Scambia" - -#: src/jade/client/navbar.jade:39 src/jade/tabs/account/public.jade:45 -#: src/jade/tabs/apps.jade:8 src/jade/tabs/balance.jade:8 -#: src/jade/tabs/balance.jade:27 src/jade/tabs/btc.jade:60 -#: src/jade/tabs/exchange.jade:9 src/jade/tabs/history.jade:207 -#: src/jade/tabs/kyc.jade:38 src/jade/tabs/recover.jade:21 -#: src/jade/tabs/security.jade:134 src/jade/tabs/su.jade:8 -#: src/jade/tabs/trust.jade:9 src/jade/tabs/trust.jade:175 +#: src/jade/client/navbar.jade:49 src/jade/tabs/account/private.jade:7 +#: src/jade/tabs/account/private.jade:16 src/jade/tabs/account/public.jade:45 +#: src/jade/tabs/apps.jade:8 src/jade/tabs/btc.jade:72 +#: src/jade/tabs/exchange.jade:9 src/jade/tabs/kyc.jade:45 +#: src/jade/tabs/recover.jade:26 src/jade/tabs/security.jade:147 +#: src/jade/tabs/su.jade:8 src/jade/tabs/trust.jade:9 +#: src/jade/tabs/trust.jade:139 msgid "Loading..." msgstr "Caricamento..." -#: src/jade/client/navbar.jade:40 +#: src/jade/client/navbar.jade:50 msgid "There are no recent notifications." msgstr "Non ci sono notifiche recenti." -#: src/jade/client/navbar.jade:44 +#: src/jade/client/navbar.jade:54 msgid "You sent {{1}} to {{2}}" msgstr "Hai inviato {{1}} a {{2}}" -#: src/jade/client/navbar.jade:50 +#: src/jade/client/navbar.jade:60 msgid "{{1}} sent you {{2}}" msgstr "{{1}} ti ha inviato {{2}}" -#: src/jade/client/navbar.jade:58 +#: src/jade/client/navbar.jade:68 msgid "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" msgstr "{{entry.transaction.counterparty | rpcontactname}} ti ha dato fiducia per" -#: src/jade/client/navbar.jade:64 src/jade/notification/account.jade:25 -#: src/jade/tabs/history.jade:133 src/jade/tabs/history/effects.jade:63 +#: src/jade/client/navbar.jade:74 src/jade/notification/account.jade:25 +#: src/jade/tabs/history.jade:115 src/jade/tabs/history/effects.jade:63 msgid "You have now connected to the gateway {{1}}{{2: for }}{{3}}." msgstr "Sei stato collegato al gateway {{1}}{{2: per }}{{3}}." -#: src/jade/client/navbar.jade:75 +#: src/jade/client/navbar.jade:85 msgid "You cancelled an order accepting {{1}} for {{2}}" msgstr "Hai cancellato un'offerta per accettare {{1}} in cambio di {{2}}" -#: src/jade/client/navbar.jade:82 src/jade/tabs/history.jade:156 +#: src/jade/client/navbar.jade:92 src/jade/tabs/history.jade:138 msgid "Account details have been changed" msgstr "I dettagli dell'account sono stati cambiati" -#: src/jade/client/navbar.jade:85 src/jade/tabs/history.jade:159 -#: src/jade/tabs/trust.jade:231 +#: src/jade/client/navbar.jade:95 src/jade/tabs/history.jade:141 +#: src/jade/tabs/trust.jade:171 msgid "Rippling" msgstr "Rippling" -#: src/jade/client/navbar.jade:87 src/jade/tabs/history.jade:161 +#: src/jade/client/navbar.jade:97 src/jade/tabs/history.jade:143 msgid "Failed transaction" -msgstr "Transazione fallita" +msgstr "Transazione non riuscita" -#: src/jade/client/navbar.jade:93 +#: src/jade/client/navbar.jade:103 msgid "View Full History" msgstr "Visualizza la cronologia completa" -#: src/jade/client/navbar.jade:97 -msgid "{{1}} Account" -msgstr "{{1}} Account" +#: src/jade/client/navbar.jade:111 +msgid "Log Out" +msgstr "Esci" -#: src/jade/client/navbar.jade:101 -msgid "{{1}} Settings" -msgstr "{{1}} Impostazioni" +#: src/jade/client/navbar.jade:126 +msgid "Simple" +msgstr "Semplice" -#: src/jade/client/navbar.jade:105 -msgid "{{1}} Log Out" -msgstr "{{1}} Esci" +#: src/jade/client/navbar.jade:128 src/jade/tabs/settings/navbar.jade:4 +msgid "Advanced" +msgstr "Avanzate" -#: src/jade/client/navbar.jade:130 src/jade/tabs/balance.jade:110 +#: src/jade/client/navbar.jade:135 msgid "Withdraw" msgstr "Preleva" -#: src/jade/client/navbar.jade:132 +#: src/jade/client/navbar.jade:137 msgid "" "Your account was successfully recovered and encrypted with the new password " "you provided!" msgstr "Il tuo account è stato recuperato con successo e criptato con la nuova password da te fornita!" -#: src/jade/client/navbar.jade:133 +#: src/jade/client/navbar.jade:138 msgid "dismiss" msgstr "annulla" -#: src/jade/directives/transactionerror.jade:5 +#: src/jade/directives/addresspopover.jade:3 +msgid "Ripple address {{ identity }}" +msgstr "Indirizzo Ripple {{ identity }}" + +#: src/jade/directives/addresspopover.jade:8 src/jade/tabs/tx.jade:13 +msgid "Show in graph" +msgstr "Mostra sulla mappa" + +#: src/jade/directives/transactionerror.jade:8 +msgid "Connecting gateway to your account..." +msgstr "Collegamento del gateway al tuo account..." + +#: src/jade/directives/transactionerror.jade:10 +msgid "Gateway connected." +msgstr "Gateway connesso." + +#: src/jade/directives/transactionerror.jade:12 +msgid "There was a problem connecting to the gateway. Please try again later." +msgstr "C'è stato un problema di connessione al gateway. Per favore riprova più tardi." + +#: src/jade/directives/transactionerror.jade:14 +#: src/jade/directives/transactionerror.jade:73 +#: src/jade/directives/transactionerror.jade:158 +#: src/jade/messages/sendconvert/confirmation.jade:13 +msgid "Error code: {{engine_result}} - {{engine_result_message}}" +msgstr "Errore: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:19 +#: src/jade/directives/transactionerror.jade:23 +#: src/jade/directives/transactionerror.jade:28 +#: src/jade/directives/transactionerror.jade:33 +#: src/jade/directives/transactionerror.jade:45 +#: src/jade/directives/transactionerror.jade:52 +#: src/jade/directives/transactionerror.jade:156 +#: src/jade/directives/transactionerror.jade:163 +#: src/jade/directives/transactionerror.jade:167 +#: src/jade/directives/transactionerror.jade:172 +#: src/jade/directives/transactionerror.jade:177 +#: src/jade/directives/transactionerror.jade:186 +#: src/jade/directives/transactionerror.jade:193 +msgid "Request failed" +msgstr "Richiesta non riuscita" + +#: src/jade/directives/transactionerror.jade:21 +#: src/jade/directives/transactionerror.jade:165 +msgid "Your request timed out, please try again." +msgstr "La tua richiesta non è riuscita, per favore riprova ancora." + +#: src/jade/directives/transactionerror.jade:25 +#: src/jade/directives/transactionerror.jade:84 +#: src/jade/directives/transactionerror.jade:169 +#: src/jade/messages/sendconvert/confirmation.jade:18 +msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." +msgstr "Errore: Manca l'etichetta del destinatario [tefDST_TAG_NEEDED]." + +#: src/jade/directives/transactionerror.jade:30 +#: src/jade/directives/transactionerror.jade:174 +msgid "" +"Error code: This request failed because it exceeded the maximum network fee," +" please try again later [telINSUF_FEE_P]." +msgstr "Errore: Questa richiesta non è riuscita perchè ha superato il limite massimo delle commissioni del network, per favore riprova più tardi [telINSUF_FEE_P]." + +#: src/jade/directives/transactionerror.jade:35 +msgid "" +"Error code: You have no gateway connected in this currency [terNO_LINE]." +msgstr "Errore: Non hai nessun gateway collegato a questa valuta [terNO_LINE]." + +#: src/jade/directives/transactionerror.jade:37 +msgid "" +"Error code: Insufficient reserve to connect gateway [tecINSUF_RESERVE_LINE]." +msgstr "Errore: Riserva insufficiente per connettersi ad un gateway [tecINSUF_RESERVE_LINE]." + +#: src/jade/directives/transactionerror.jade:39 +msgid "" +"Error code: You have an insufficient reserve amount to connect a gateway " +"[tecNO_LINE_INSUF_RESERVE]. {{1}}" +msgstr "Errore: L'ammontare della tua riserva non è sufficiente per collegarti ad un gateway\n[tecNO_LINE_INSUF_RESERVE]. {{1}}" + +#: src/jade/directives/transactionerror.jade:41 src/jade/tabs/fund.jade:34 +#: src/jade/tabs/send.jade:110 src/jade/tabs/trust.jade:74 +msgid "More information" +msgstr "Maggiori informazioni" + +#: src/jade/directives/transactionerror.jade:42 +#: src/jade/directives/transactionerror.jade:98 +#: src/jade/directives/transactionerror.jade:135 +#: src/jade/directives/transactionerror.jade:183 +#: src/jade/messages/sendconvert/confirmation.jade:27 +msgid "Error: {{engine_result_message}}" +msgstr "Errore: {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:47 +#: src/jade/directives/transactionerror.jade:103 +#: src/jade/directives/transactionerror.jade:188 +#: src/jade/messages/sendconvert/confirmation.jade:32 +msgid "Error code: You have no trust line in this currency [terNO_LINE]." +msgstr "Errore: Non hai una linea di fiducia per questa valuta [terNO_LINE]." + +#: src/jade/directives/transactionerror.jade:49 +#: src/jade/directives/transactionerror.jade:190 +msgid "Your request failed: {{engine_result}} - {{engine_result_message}}" +msgstr "La tua richiesta non è riuscita: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:54 +#: src/jade/directives/transactionerror.jade:195 +msgid "Error code: request could not be submitted [tejLost]." +msgstr "Errore: la richiesta non può essere inviata [tejLost]." + +#: src/jade/directives/transactionerror.jade:56 +#: src/jade/directives/transactionerror.jade:197 src/jade/tabs/trust.jade:36 +msgid "" +"This request failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "Questa richiesta non è riuscita perchè le attuali commissioni del network sono più alte del limite del tuo account. Puoi cambiare il limite massimo sulle commissioni in Impostazioni & Avanzate.
Errore: Commissioni del network superate [tejMaxFeeExceeded]." + +#: src/jade/directives/transactionerror.jade:59 +#: src/jade/directives/transactionerror.jade:200 +msgid "" +"Your request could not be submitted: {{engine_result}} - " +"{{engine_result_message}}" +msgstr "La tua richiesta non può essere inviata: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:67 msgid "Payment pending" msgstr "Pagamento pendente" -#: src/jade/directives/transactionerror.jade:7 +#: src/jade/directives/transactionerror.jade:69 msgid "Payment successful" msgstr "Pagamento riuscito" -#: src/jade/directives/transactionerror.jade:9 -#: src/jade/directives/transactionerror.jade:16 -#: src/jade/directives/transactionerror.jade:20 -#: src/jade/directives/transactionerror.jade:25 -#: src/jade/directives/transactionerror.jade:30 -#: src/jade/directives/transactionerror.jade:39 -#: src/jade/directives/transactionerror.jade:46 +#: src/jade/directives/transactionerror.jade:71 +#: src/jade/directives/transactionerror.jade:82 +#: src/jade/directives/transactionerror.jade:87 +#: src/jade/directives/transactionerror.jade:92 +#: src/jade/directives/transactionerror.jade:101 +#: src/jade/directives/transactionerror.jade:108 msgid "Payment failed" msgstr "Pagamento non riuscito" -#: src/jade/directives/transactionerror.jade:11 -#: src/jade/messages/sendconvert/confirmation.jade:13 -msgid "Error code: {{engine_result}} - {{engine_result_message}}" -msgstr "Errore: {{engine_result}} - {{engine_result_message}}" +#: src/jade/directives/transactionerror.jade:78 +msgid "Payment failed [tefMAX_LEDGER]." +msgstr "Pagamento non riuscito [tefMAX_LEDGER]." -#: src/jade/directives/transactionerror.jade:18 +#: src/jade/directives/transactionerror.jade:80 msgid "Your payment timed out, please try again." msgstr "Il tuo pagamento non è riuscito, per favore prova di nuovo." -#: src/jade/directives/transactionerror.jade:22 -#: src/jade/messages/sendconvert/confirmation.jade:18 -msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." -msgstr "Errore: Manca l'etichetta del destinatario [tefDST_TAG_NEEDED]." - -#: src/jade/directives/transactionerror.jade:27 +#: src/jade/directives/transactionerror.jade:89 #: src/jade/messages/sendconvert/confirmation.jade:39 msgid "" "Error code: This transaction failed because it exceeded the maximum network " "fee, please try again later [telINSUF_FEE_P]." msgstr "Errore: La transazione non è riuscita perchè supera il limite massimo delle commissioni del network, per favore riprova più tardi [telINSUF_FEE_P]." -#: src/jade/directives/transactionerror.jade:32 +#: src/jade/directives/transactionerror.jade:94 +#: src/jade/directives/transactionerror.jade:179 msgid "Error code: No destination [tecNO_DST]." msgstr "Errore: Nessun destinatario [tecNO_DST]." -#: src/jade/directives/transactionerror.jade:34 +#: src/jade/directives/transactionerror.jade:96 +#: src/jade/directives/transactionerror.jade:181 #: src/jade/messages/sendconvert/confirmation.jade:25 msgid "" "Error code: Insufficient XRP sent to destination [tecNO_DST_INSUF_XRP]." msgstr "Errore: Non sono stati inviati abbastanza XRP al destinatario [tecNO_DST_INSUF_XRP]." -#: src/jade/directives/transactionerror.jade:36 -#: src/jade/messages/sendconvert/confirmation.jade:27 -msgid "Error: {{engine_result_message}}" -msgstr "Errore: {{engine_result_message}}" - -#: src/jade/directives/transactionerror.jade:41 -#: src/jade/messages/sendconvert/confirmation.jade:32 -msgid "Error code: You have no trust line in this currency [terNO_LINE]." -msgstr "Errore: Non hai una linea di fiducia per questa valuta [terNO_LINE]." - -#: src/jade/directives/transactionerror.jade:43 +#: src/jade/directives/transactionerror.jade:105 msgid "Your payment failed: {{engine_result}} - {{engine_result_message}}" msgstr "Il tuo pagamento non è riuscito: {{engine_result}} - {{engine_result_message}}" -#: src/jade/directives/transactionerror.jade:48 +#: src/jade/directives/transactionerror.jade:110 msgid "Error code: Transaction could not be submitted [tejLost]." msgstr "Errore: La transazione potrebbe non essere stata effettuata [tejLost]." -#: src/jade/directives/transactionerror.jade:50 -msgid "Error code: Network fee exceeded [tejMaxFeeExceeded]." -msgstr "Errore: Commissioni del network superate [tejMaxFeeExceeded]." +#: src/jade/directives/transactionerror.jade:112 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "Questa transazione non è riuscita perchè le attuali commissioni del network sono più alte del limite del tuo account. Puoi cambiare il limite massimo sulle commissioni in Impostazioni & Avanzate oppure puoi riprovare più tardi.
Errore: Commissioni del network superate [tejMaxFeeExceeded]." -#: src/jade/directives/transactionerror.jade:52 +#: src/jade/directives/transactionerror.jade:115 msgid "" "Your payment could not be submitted: {{engine_result}} - " "{{engine_result_message}}" msgstr "Non è stato possibile effettuare il tuo pagamento: {{engine_result}} - {{engine_result_message}}" +#: src/jade/directives/transactionerror.jade:121 +msgid "Request is malformed." +msgstr "La richiesta non è valida." + +#: src/jade/directives/transactionerror.jade:122 +msgid "" +"Your request is invalid, reason: {{engine_result_message}} - " +"{{engine_result_message}}" +msgstr "La tua richiesta è non valida, motivo: {{engine_result_message}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:125 +#: src/jade/directives/transactionerror.jade:142 +msgid "Transaction failed." +msgstr "Transazione non riuscita." + +#: src/jade/directives/transactionerror.jade:127 +msgid "You do not have enough funds to create this order [tecUNFUNDED_ORDER]." +msgstr "Non hai abbastanza fondi per effettuare questo ordine [tecUNFUNDED_ORDER]." + +#: src/jade/directives/transactionerror.jade:129 +msgid "" +"Insufficient reserve amount to submit an order [tecINSUF_RESERVE_OFFER]." +msgstr "Ammontare della riserva non sufficiente per effettuare un ordine [tecINSUF_RESERVE_OFFER]." + +#: src/jade/directives/transactionerror.jade:131 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]. {{1}}" +msgstr "Questa transazione non è riuscita perchè le attuali commissioni del network sono più alte del limite del tuo account. Puoi cambiare il limite massimo sulle commissioni in Impostazioni & Avanzate oppure puoi riprovare più tardi.
Errore: Commissioni del network superate [tejMaxFeeExceeded]. {{1}}" + +#: src/jade/directives/transactionerror.jade:134 +msgid "More information." +msgstr "Maggiori informazioni." + +#: src/jade/directives/transactionerror.jade:138 +msgid "Trade failed." +msgstr "Scambio non riuscito." + +#: src/jade/directives/transactionerror.jade:140 +msgid "Trade failed, reason: {{engine_result_message}}" +msgstr "Scambio non riuscito, motivo: {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:144 +msgid "" +"The particular server you sent the transaction to was too busy to forward or" +" process your transaction at the fee you included in it [telINSUF_FEE_P]." +msgstr "Il server cui hai inviato la transazione era troppo occupato per trasmettere o elaborare la tua transazione alle commissioni che avevi specificato [telINSUF_FEE_P]." + +#: src/jade/directives/transactionerror.jade:152 +msgid "Request pending" +msgstr "Richiesta in corso" + +#: src/jade/directives/transactionerror.jade:154 +msgid "Request successful" +msgstr "Richiesta riuscita" + #: src/jade/messages/sendconvert/confirmation.jade:4 msgid "Transaction pending." msgstr "Transazione pendente." @@ -286,8 +527,11 @@ msgstr "Transazione eseguita" msgid "Transaction failed" msgstr "Transazione non riuscita" -#: src/jade/messages/sendconvert/confirmation.jade:9 -#: src/jade/tabs/trust.jade:58 src/jade/tabs/trust.jade:70 +#: src/jade/messages/sendconvert/confirmation.jade:9 src/jade/tabs/brl.jade:25 +#: src/jade/tabs/btc.jade:22 src/jade/tabs/eur.jade:25 +#: src/jade/tabs/gold.jade:25 src/jade/tabs/jpy.jade:25 +#: src/jade/tabs/mxn.jade:25 src/jade/tabs/trust.jade:43 +#: src/jade/tabs/usd.jade:25 msgid "Please try again later." msgstr "Per favore riprova più tardi." @@ -328,6 +572,7 @@ msgid "Account unlock failed" msgstr "Sblocco dell'account fallito" #: src/jade/messages/sendconvert/localerror.jade:18 +#: src/jade/tabs/trust.jade:40 msgid "Your account could not be unlocked. Please try again later." msgstr "Il tuo account non può essere sbloccato. Per favore riprova più tardi." @@ -343,7 +588,7 @@ msgid "" "executed already." msgstr "Prima di provare ancora, assicurati che la transazione non sia già stata eseguita." -#: src/jade/messages/sendconvert/waiting.jade:3 +#: src/jade/messages/sendconvert/waiting.jade:5 msgid "Sending transaction to the Ripple network" msgstr "Inviando la transazione alla rete Ripple" @@ -359,13 +604,49 @@ msgstr "{{tx.counterparty | rpcontactname}} ti ha inviato" msgid "{{tx.counterparty | rpcontactname}} now trusts you for" msgstr "{{tx.counterparty | rpcontactname}} ti sta dando fiducia per" +#: src/jade/popup/modifyOrderError.jade:2 +msgid "Modify Order Error" +msgstr "Modifica Ordine Errore" + +#: src/jade/popup/modifyOrderError.jade:4 +msgid "Sorry, your order could not be modified." +msgstr "Spiacenti, il tuo ordine non può essere modificato." + +#: src/jade/popup/modifyOrderError.jade:5 +msgid "" +"Your original order was cancelled but the modified order was not placed. " +"
" +msgstr "Il tuo precedente ordine è stato cancellato ma quello modificato non è stato piazzato.
" + +#: src/jade/popup/modifyOrderError.jade:6 +msgid "" +"The quantity of your order changed by {{order.qtyChangeAfterCancel | " +"rpamount}} before the order could be modified.

" +msgstr "La quantità del tuo ordine è cambiata di {{order.qtyChangeAfterCancel | rpamount}} prima che l'ordine potesse essere modificato.

" + +#: src/jade/popup/modifyOrderError.jade:7 +msgid "" +"To safeguard against the possibility of overfills a new order has not been " +"placed.
" +msgstr "Per evitare che tu possa aver piazzato un ordine superiore al tuo saldo, il nuovo ordine non è stato piazzato.

" + +#: src/jade/popup/modifyOrderError.jade:8 +msgid "" +"Please check your balance and history before placing the new order manually." +"
" +msgstr "Per favore controlla il tuo saldo e la cronologia prima di piazzare un nuovo ordine.
" + +#: src/jade/popup/modifyOrderError.jade:10 src/jade/popup/unlock.jade:17 +msgid "Close" +msgstr "Chiudi" + #: src/jade/popup/unlock.jade:2 msgid "Unlock account" msgstr "Sblocca account" -#: src/jade/popup/unlock.jade:5 src/jade/tabs/desktop/register.jade:28 -#: src/jade/tabs/login/form.jade:7 src/jade/tabs/recover.jade:33 -#: src/jade/tabs/register.jade:42 src/jade/tabs/security.jade:10 +#: src/jade/popup/unlock.jade:5 src/jade/tabs/login/form.jade:8 +#: src/jade/tabs/recover.jade:38 src/jade/tabs/register.jade:58 +#: src/jade/tabs/security.jade:12 msgid "Password" msgstr "Password" @@ -373,7 +654,7 @@ msgstr "Password" msgid "Please enter your password to show your secret key." msgstr "Prego inserisci la password per vedere la chiave segreta." -#: src/jade/popup/unlock.jade:9 src/jade/tabs/send.jade:195 +#: src/jade/popup/unlock.jade:9 src/jade/tabs/send.jade:205 msgid "Please enter your password to confirm this transaction." msgstr "Per favore inserisci la tua password per confermare questa transazione." @@ -381,52 +662,146 @@ msgstr "Per favore inserisci la tua password per confermare questa transazione." msgid "This password is incorrect, please try again." msgstr "La password non è corretta, riprova." -#: src/jade/popup/unlock.jade:11 +#: src/jade/popup/unlock.jade:13 msgid "Confirming password" msgstr "Conferma password" -#: src/jade/popup/unlock.jade:14 src/jade/tabs/account/public.jade:44 -#: src/jade/tabs/security.jade:133 +#: src/jade/popup/unlock.jade:16 src/jade/tabs/account/public.jade:44 +#: src/jade/tabs/security.jade:146 msgid "Submit" msgstr "Immetti" -#: src/jade/popup/unlock.jade:15 -msgid "Close" -msgstr "Chiudi" - #: src/jade/tabs/2fa/form.jade:3 msgid "Country Code" msgstr "Codice paese" -#: src/jade/tabs/2fa/form.jade:6 src/jade/tabs/kyc.jade:146 +#: src/jade/tabs/2fa/form.jade:6 src/jade/tabs/kyc.jade:162 msgid "Phone Number" msgstr "Numero di telefono" +#: src/jade/tabs/_usd.jade:6 src/jade/tabs/apps.jade:5 +#: src/jade/tabs/balance.jade:5 src/jade/tabs/brl.jade:6 +#: src/jade/tabs/btc.jade:9 src/jade/tabs/eur.jade:6 +#: src/jade/tabs/exchange.jade:6 src/jade/tabs/fund.jade:6 +#: src/jade/tabs/gold.jade:6 src/jade/tabs/history.jade:6 +#: src/jade/tabs/jpy.jade:6 src/jade/tabs/kyc.jade:6 src/jade/tabs/mxn.jade:6 +#: src/jade/tabs/send.jade:6 src/jade/tabs/su.jade:5 +#: src/jade/tabs/trade.jade:7 src/jade/tabs/trust.jade:6 +#: src/jade/tabs/usd.jade:6 src/jade/tabs/withdraw.jade:6 +#: src/jade/tabs/xrp.jade:6 +msgid "You have to be online to see this screen" +msgstr "Devi essere online per vedere questa schermata" + +#: src/jade/tabs/_usd.jade:17 +msgid "USD instant deposit" +msgstr "deposito USD immediato" + +#: src/jade/tabs/_usd.jade:19 src/jade/tabs/_usd.jade:21 +msgid "Step 1 (Amount)" +msgstr "Passo 1 (Ammontare)" + +#: src/jade/tabs/_usd.jade:22 +msgid "Step 2 (Confirmation)" +msgstr "Passo 2 (Conferma)" + +#: src/jade/tabs/_usd.jade:23 +msgid "Step 3 (Complete deposit)" +msgstr "Passo 3 (Completa deposito)" + +#: src/jade/tabs/_usd.jade:26 +msgid "STEP 1: AMOUNT" +msgstr "PASSO 1: AMMONTARE" + +#: src/jade/tabs/_usd.jade:28 +msgid "STEP 2: CONFIRMATION" +msgstr "STEP 2: CONFERMA" + +#: src/jade/tabs/_usd.jade:30 +msgid "STEP 3: COMPLETE DEPOSIT" +msgstr "STEP 3: COMPLETA DEPOSITO" + +#: src/jade/tabs/_usd.jade:34 +msgid "" +"Success! You've completed your USD deposit. Your funds should be available " +"within a few minutes." +msgstr "Fatto! Hai completato il deposito in USD. I tuoi fondi dovrebbero essere disponibili in pochi minuti." + +#: src/jade/tabs/_usd.jade:36 +msgid "You cancelled your deposit." +msgstr "Hai cancellato il tuo deposito." + +#: src/jade/tabs/_usd.jade:38 +msgid "" +"Your deposit failed. Your bank account was not charged. Please contact " +"{{1}}." +msgstr "Il deposito non è riuscito. Non sono state addebitate commissioni sul tuo conto bancario. Per favore contatta {{1}}." + +#: src/jade/tabs/_usd.jade:49 src/jade/tabs/_usd.jade:91 +#: src/jade/tabs/fund.jade:41 src/jade/tabs/history.jade:172 +#: src/jade/tabs/trust.jade:89 +msgid "Amount" +msgstr "Quantità" + +#: src/jade/tabs/_usd.jade:59 src/jade/tabs/_usd.jade:62 +msgid "Select your bank" +msgstr "Seleziona la tua banca" + +#: src/jade/tabs/_usd.jade:77 +msgid "" +"Ripple Trade has partnered with SnapSwap to make USD deposits easier. By " +"continuing, you agree to SnapSwap's {{1}}To contact support, email {{2}}." +msgstr "Ripple Trade ha stretto accordi con SnapSwap per rendere più facili i depositi in USD. Continuando accetti il {{1}} SnapSwap. Per contattare il supporto, email {{2}}." + +#: src/jade/tabs/_usd.jade:93 src/jade/tabs/history.jade:178 +msgid "Fee" +msgstr "Commissione" + +#: src/jade/tabs/_usd.jade:95 +msgid "Total" +msgstr "Totale" + +#: src/jade/tabs/_usd.jade:98 +msgid "Calculating..." +msgstr "Sto calcolando..." + +#: src/jade/tabs/_usd.jade:109 src/jade/tabs/register.jade:126 +#: src/jade/tabs/register.jade:133 +msgid "Back" +msgstr "Indietro" + +#: src/jade/tabs/_usd.jade:111 src/jade/tabs/btc.jade:73 +#: src/jade/tabs/exchange.jade:111 src/jade/tabs/send.jade:213 +#: src/jade/tabs/trade.jade:67 src/jade/tabs/trade.jade:77 +#: src/jade/tabs/trade.jade:248 src/jade/tabs/trade.jade:407 +#: src/jade/tabs/trust.jade:140 +msgid "Confirm" +msgstr "Conferma" + #: src/jade/tabs/account/navbar.jade:2 msgid "Public Information" msgstr "Informazioni pubbliche" -#: src/jade/tabs/account/private.jade:2 +#: src/jade/tabs/account/private.jade:1 msgid "Profile Information" msgstr "Informazioni del profilo" -#: src/jade/tabs/account/private.jade:5 +#: src/jade/tabs/account/private.jade:3 msgid "Identity Information" msgstr "Informazione identità" -#: src/jade/tabs/account/private.jade:8 src/jade/tabs/account/private.jade:19 +#: src/jade/tabs/account/private.jade:8 src/jade/tabs/account/private.jade:17 msgid "Completed" msgstr "Completato" -#: src/jade/tabs/account/private.jade:11 src/jade/tabs/account/private.jade:22 +#: src/jade/tabs/account/private.jade:9 src/jade/tabs/account/private.jade:18 msgid "Incomplete" msgstr "Incompleto" -#: src/jade/tabs/account/private.jade:13 src/jade/tabs/account/private.jade:24 +#: src/jade/tabs/account/private.jade:10 src/jade/tabs/account/private.jade:19 msgid "Complete your profile" msgstr "Completa il tuo profilo" -#: src/jade/tabs/account/private.jade:16 +#: src/jade/tabs/account/private.jade:12 msgid "Identity Questions" msgstr "Domande di Identità" @@ -442,15 +817,17 @@ msgstr "Il tuo nome Ripple è stato modificato correttamente." msgid "Account settings" msgstr "Impostazioni account" -#: src/jade/tabs/account/public.jade:5 src/jade/tabs/login/form.jade:2 +#: src/jade/tabs/account/public.jade:5 src/jade/tabs/fund/menu.jade:2 +#: src/jade/tabs/login/form.jade:3 msgid "Ripple name" msgstr "Nome Ripple" -#: src/jade/tabs/account/public.jade:9 src/jade/tabs/advanced.jade:17 -#: src/jade/tabs/advanced.jade:34 src/jade/tabs/advanced.jade:53 -#: src/jade/tabs/advanced.jade:106 src/jade/tabs/contacts.jade:69 -#: src/jade/tabs/security.jade:107 src/jade/tabs/security.jade:165 -#: src/jade/tabs/trust.jade:219 src/jade/tabs/trust.jade:248 +#: src/jade/tabs/account/public.jade:9 src/jade/tabs/advanced.jade:27 +#: src/jade/tabs/advanced.jade:44 src/jade/tabs/advanced.jade:63 +#: src/jade/tabs/advanced.jade:86 src/jade/tabs/advanced.jade:134 +#: src/jade/tabs/contacts.jade:61 src/jade/tabs/security.jade:120 +#: src/jade/tabs/security.jade:180 src/jade/tabs/trust.jade:191 +#: src/jade/tabs/trust.jade:193 msgid "edit" msgstr "modifica" @@ -458,23 +835,24 @@ msgstr "modifica" msgid "New Ripple name" msgstr "Nuovo nome Ripple" -#: src/jade/tabs/account/public.jade:17 src/jade/tabs/balance.jade:60 +#: src/jade/tabs/account/public.jade:17 src/jade/tabs/register.jade:35 +#: src/jade/tabs/widgets/balances.jade:24 msgid "Available" msgstr "Disponibile" -#: src/jade/tabs/account/public.jade:20 src/jade/tabs/register.jade:30 +#: src/jade/tabs/account/public.jade:20 src/jade/tabs/register.jade:39 msgid "Already taken!" msgstr "Già preso!" -#: src/jade/tabs/account/public.jade:21 src/jade/tabs/register.jade:31 +#: src/jade/tabs/account/public.jade:21 msgid "Reserved for {{usernameReservedFor}}{{1}}{{2}}" msgstr "Riservato per {{usernameReservedFor}}{{1}}{{2}}" -#: src/jade/tabs/account/public.jade:24 src/jade/tabs/register.jade:34 +#: src/jade/tabs/account/public.jade:24 src/jade/tabs/register.jade:45 msgid "Must be at least 2 characters" msgstr "Deve essere di almeno 2 caratteri" -#: src/jade/tabs/account/public.jade:25 src/jade/tabs/register.jade:35 +#: src/jade/tabs/account/public.jade:25 src/jade/tabs/register.jade:47 msgid "Must be at most 20 characters" msgstr "Non deve superare i 20 caratteri" @@ -482,11 +860,11 @@ msgstr "Non deve superare i 20 caratteri" msgid "Only a-z, 0-9 and hyphen (-)" msgstr "Solo a-z, 0-9 e trattino (-)" -#: src/jade/tabs/account/public.jade:27 src/jade/tabs/register.jade:37 +#: src/jade/tabs/account/public.jade:27 src/jade/tabs/register.jade:51 msgid "Cannot start with hyphen (-)" msgstr "Impossibile iniziare con un trattino (-)" -#: src/jade/tabs/account/public.jade:28 src/jade/tabs/register.jade:38 +#: src/jade/tabs/account/public.jade:28 src/jade/tabs/register.jade:53 msgid "Cannot end with hyphen (-)" msgstr "Impossibile finire con un trattino (-)" @@ -494,16 +872,16 @@ msgstr "Impossibile finire con un trattino (-)" msgid "Cannot bundle hyphens (--)" msgstr "Impossibile ripetere i trattini (--)" -#: src/jade/tabs/account/public.jade:30 src/jade/tabs/register.jade:40 +#: src/jade/tabs/account/public.jade:30 src/jade/tabs/register.jade:56 msgid "Checking..." msgstr "Controllo..." -#: src/jade/tabs/account/public.jade:32 src/jade/tabs/security.jade:113 +#: src/jade/tabs/account/public.jade:32 src/jade/tabs/security.jade:126 msgid "Current password" msgstr "Password corrente" -#: src/jade/tabs/account/public.jade:35 src/jade/tabs/security.jade:15 -#: src/jade/tabs/security.jade:20 +#: src/jade/tabs/account/public.jade:35 src/jade/tabs/security.jade:18 +#: src/jade/tabs/security.jade:23 msgid "Entered password is wrong." msgstr "La password inserita è sbagliata." @@ -515,107 +893,135 @@ msgstr "Il tuo nome Ripple è cambiato. Per favore accedi di nuovo." msgid "Couldn't change your Ripple name, please try again later." msgstr "Non è stato possibile cambiare il tuo nome Ripple, per favore riprova più tardi." -#: src/jade/tabs/account/public.jade:47 src/jade/tabs/advanced.jade:26 -#: src/jade/tabs/advanced.jade:43 src/jade/tabs/advanced.jade:67 -#: src/jade/tabs/advanced.jade:96 src/jade/tabs/btc.jade:62 -#: src/jade/tabs/contacts.jade:58 src/jade/tabs/contacts.jade:101 -#: src/jade/tabs/exchange.jade:94 src/jade/tabs/exchange.jade:107 -#: src/jade/tabs/kyc.jade:106 src/jade/tabs/kyc.jade:118 -#: src/jade/tabs/kyc.jade:140 src/jade/tabs/kyc.jade:141 -#: src/jade/tabs/kyc.jade:167 src/jade/tabs/login/form.jade:25 -#: src/jade/tabs/security.jade:71 src/jade/tabs/security.jade:101 -#: src/jade/tabs/security.jade:136 src/jade/tabs/send.jade:205 -#: src/jade/tabs/send.jade:217 src/jade/tabs/send.jade:238 -#: src/jade/tabs/send.jade:268 src/jade/tabs/trade.jade:32 -#: src/jade/tabs/trade.jade:43 src/jade/tabs/trust.jade:177 -#: src/jade/tabs/trust.jade:179 src/jade/tabs/trust.jade:263 -#: src/jade/tabs/trust.jade:296 +#: src/jade/tabs/account/public.jade:47 src/jade/tabs/advanced.jade:36 +#: src/jade/tabs/advanced.jade:53 src/jade/tabs/advanced.jade:77 +#: src/jade/tabs/advanced.jade:94 src/jade/tabs/advanced.jade:124 +#: src/jade/tabs/btc.jade:74 src/jade/tabs/contacts.jade:50 +#: src/jade/tabs/contacts.jade:93 src/jade/tabs/exchange.jade:113 +#: src/jade/tabs/exchange.jade:126 src/jade/tabs/kyc.jade:116 +#: src/jade/tabs/kyc.jade:131 src/jade/tabs/kyc.jade:156 +#: src/jade/tabs/kyc.jade:157 src/jade/tabs/kyc.jade:186 +#: src/jade/tabs/login/form.jade:26 src/jade/tabs/security.jade:79 +#: src/jade/tabs/security.jade:112 src/jade/tabs/security.jade:149 +#: src/jade/tabs/send.jade:215 src/jade/tabs/send.jade:227 +#: src/jade/tabs/send.jade:252 src/jade/tabs/send.jade:286 +#: src/jade/tabs/trade.jade:55 src/jade/tabs/trust.jade:141 +#: src/jade/tabs/trust.jade:143 src/jade/tabs/trust.jade:213 +#: src/jade/tabs/trust.jade:251 msgid "cancel" msgstr "cancella" -#: src/jade/tabs/account/public.jade:49 src/jade/tabs/contacts.jade:7 -#: src/jade/tabs/contacts.jade:34 src/jade/tabs/desktop/register.jade:88 +#: src/jade/tabs/account/public.jade:49 msgid "Ripple address" msgstr "Indirizzo Ripple" +#: src/jade/tabs/advanced.jade:8 +msgid "Your blob vault has been changed successfully." +msgstr "Il tuo blob vault è stato cambiato correttamente." + +#: src/jade/tabs/advanced.jade:9 +msgid "Your bitcoin bridge has been changed successfully." +msgstr "Il tuo ponte bitcoin è stato cambiato correttamente." + +#: src/jade/tabs/advanced.jade:10 +msgid "Trustline advanced settings has been changed successfully." +msgstr "Le impostazioni avanzate sulle linee di fiducia sono state modificate correttamente." + #: src/jade/tabs/advanced.jade:11 +msgid "Maximum network fee has been changed successfully." +msgstr "La commissione massima del network è stata cambiata correttamente." + +#: src/jade/tabs/advanced.jade:12 +msgid "A new server has been successfully added." +msgstr "Un nuovo server è stato aggiunto correttamente." + +#: src/jade/tabs/advanced.jade:13 +msgid "A server has been successfully removed." +msgstr "Un server è stato rimosso correttamente." + +#: src/jade/tabs/advanced.jade:14 +msgid "A server has been changed successfully." +msgstr "Un server è stato cambiato correttamente." + +#: src/jade/tabs/advanced.jade:21 msgid "Blob vault" msgstr "Blob vault" -#: src/jade/tabs/advanced.jade:22 src/jade/tabs/advanced.jade:39 -#: src/jade/tabs/advanced.jade:63 src/jade/tabs/advanced.jade:92 -#: src/jade/tabs/contacts.jade:96 src/jade/tabs/fund.jade:79 -#: src/jade/tabs/security.jade:175 src/jade/tabs/send.jade:237 -#: src/jade/tabs/send.jade:266 src/jade/tabs/trust.jade:156 -#: src/jade/tabs/trust.jade:282 +#: src/jade/tabs/advanced.jade:32 src/jade/tabs/advanced.jade:49 +#: src/jade/tabs/advanced.jade:73 src/jade/tabs/advanced.jade:92 +#: src/jade/tabs/advanced.jade:120 src/jade/tabs/contacts.jade:88 +#: src/jade/tabs/fund.jade:65 src/jade/tabs/security.jade:190 +#: src/jade/tabs/send.jade:251 src/jade/tabs/send.jade:284 +#: src/jade/tabs/trust.jade:119 src/jade/tabs/trust.jade:232 msgid "Save" msgstr "Salva" -#: src/jade/tabs/advanced.jade:24 src/jade/tabs/advanced.jade:41 -#: src/jade/tabs/advanced.jade:65 src/jade/tabs/advanced.jade:94 -#: src/jade/tabs/contacts.jade:99 +#: src/jade/tabs/advanced.jade:34 src/jade/tabs/advanced.jade:51 +#: src/jade/tabs/advanced.jade:75 src/jade/tabs/advanced.jade:122 +#: src/jade/tabs/contacts.jade:91 src/jade/tabs/security.jade:198 msgid "Delete" msgstr "Elimina" -#: src/jade/tabs/advanced.jade:28 +#: src/jade/tabs/advanced.jade:38 msgid "Bitcoin bridge" msgstr "Ponte bitcoin" -#: src/jade/tabs/advanced.jade:45 +#: src/jade/tabs/advanced.jade:55 msgid "Trust line" msgstr "Linea di fiducia" -#: src/jade/tabs/advanced.jade:50 src/jade/tabs/advanced.jade:61 -#: src/jade/tabs/desktop/register.jade:85 src/jade/tabs/security.jade:148 +#: src/jade/tabs/advanced.jade:60 src/jade/tabs/advanced.jade:71 +#: src/jade/tabs/security.jade:162 msgid "Show" msgstr "Visualizza" -#: src/jade/tabs/advanced.jade:51 src/jade/tabs/desktop/register.jade:86 -#: src/jade/tabs/security.jade:149 +#: src/jade/tabs/advanced.jade:61 src/jade/tabs/security.jade:163 msgid "Hide" msgstr "Nascondi" -#: src/jade/tabs/advanced.jade:68 +#: src/jade/tabs/advanced.jade:78 +msgid "Network settings" +msgstr "Impostazioni del network" + +#: src/jade/tabs/advanced.jade:80 +msgid "Maximum network fee" +msgstr "Commissione massima del network" + +#: src/jade/tabs/advanced.jade:96 msgid "Server settings" msgstr "Impostazioni del server" -#: src/jade/tabs/advanced.jade:73 +#: src/jade/tabs/advanced.jade:101 msgid "WebSocket host name" msgstr "Hostname del WebSocket" -#: src/jade/tabs/advanced.jade:75 +#: src/jade/tabs/advanced.jade:103 msgid "Port number" msgstr "Numero della porta" -#: src/jade/tabs/advanced.jade:81 +#: src/jade/tabs/advanced.jade:109 msgid "Socket ip or hostname is invalid." msgstr "Socket ip o hostname non valido." -#: src/jade/tabs/advanced.jade:83 +#: src/jade/tabs/advanced.jade:111 msgid "Port number is invalid." msgstr "Numero della porta non valido." -#: src/jade/tabs/advanced.jade:90 src/jade/tabs/advanced.jade:103 +#: src/jade/tabs/advanced.jade:118 src/jade/tabs/advanced.jade:131 msgid "Secure" msgstr "Sicuro" -#: src/jade/tabs/advanced.jade:104 +#: src/jade/tabs/advanced.jade:132 msgid "Not Secure" msgstr "Non sicuro" -#: src/jade/tabs/advanced.jade:110 +#: src/jade/tabs/advanced.jade:138 msgid "Add new server" msgstr "Aggiungi un nuovo server" -#: src/jade/tabs/apps.jade:5 src/jade/tabs/balance.jade:5 -#: src/jade/tabs/btc.jade:6 src/jade/tabs/exchange.jade:6 -#: src/jade/tabs/fund.jade:6 src/jade/tabs/history.jade:6 -#: src/jade/tabs/kyc.jade:6 src/jade/tabs/send.jade:6 src/jade/tabs/su.jade:5 -#: src/jade/tabs/trade.jade:7 src/jade/tabs/trust.jade:6 -#: src/jade/tabs/usd.jade:6 src/jade/tabs/withdraw.jade:6 -#: src/jade/tabs/xrp.jade:6 -msgid "You have to be online to see this screen" -msgstr "Devi essere online per vedere questa schermata" +#: src/jade/tabs/apps.jade:27 +msgid "App Ripple Address" +msgstr "Indirizzo Ripple di Applicazione" #: src/jade/tabs/apps.jade:29 msgid "Please enter a ripple address." @@ -625,454 +1031,535 @@ msgstr "Per favore inserisci un indirizzo ripple." msgid "Please enter a valid ripple address." msgstr "Per favore inserisci un indirizzo ripple valido." -#: src/jade/tabs/balance.jade:21 -msgid "Total Balance{{1}}" -msgstr "Saldo Totale{{1}}" - -#: src/jade/tabs/balance.jade:22 -msgid "Estimated from latest trade price" -msgstr "Stima in base all'ultimo prezzo di mercato" - -#: src/jade/tabs/balance.jade:29 -msgid "(excluding negative balances)" -msgstr "(escludendo bilanci negativi)" - -#: src/jade/tabs/balance.jade:67 -msgid "Reserve" -msgstr "Riserva" - -#: src/jade/tabs/balance.jade:85 -msgid "Unverified" -msgstr "Non verificato" - -#: src/jade/tabs/balance.jade:92 -msgid "Enter bitcoin address." -msgstr "Inserisci un indirizzo bitcoin." - -#: src/jade/tabs/balance.jade:95 -msgid "Enter amount to withdraw." -msgstr "Inserisci un importo da ritirare." - -#: src/jade/tabs/balance.jade:100 src/jade/tabs/balance.jade:102 -msgid "Enter a valid bitcoin address" -msgstr "Inserisci un indirizzo bitcoin valido" - -#: src/jade/tabs/balance.jade:106 -msgid "Enter a valid amount" -msgstr "Inserisci un importo valido" - -#: src/jade/tabs/balance.jade:113 -msgid "You are sending {{1}} BTC to:" -msgstr "Stai inviando {{1}} BTC a:" - -#: src/jade/tabs/balance.jade:119 src/jade/tabs/balance.jade:134 -#: src/jade/tabs/register.jade:105 src/jade/tabs/register.jade:111 -msgid "Back" -msgstr "Indietro" - -#: src/jade/tabs/balance.jade:122 src/jade/tabs/btc.jade:61 -#: src/jade/tabs/exchange.jade:92 src/jade/tabs/send.jade:203 -#: src/jade/tabs/trade.jade:57 src/jade/tabs/trade.jade:67 -#: src/jade/tabs/trade.jade:241 src/jade/tabs/trust.jade:176 -msgid "Confirm" -msgstr "Conferma" - -#: src/jade/tabs/balance.jade:127 -msgid "Reconnecting to Ripple network" -msgstr "Riconnessione al network Ripple" - -#: src/jade/tabs/balance.jade:128 -msgid "Transaction Successful" -msgstr "Transazione Eseguita" - -#: src/jade/tabs/balance.jade:129 -msgid "Warning" -msgstr "Attenzione" - -#: src/jade/tabs/balance.jade:130 -msgid "Transaction Failed" -msgstr "Transazione non riuscita" - -#: src/jade/tabs/balance.jade:131 -msgid "Message" -msgstr "Messaggio" - #: src/jade/tabs/banner/announcement.jade:2 msgid "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" msgstr "Aiuta il nostro team a migliorare Ripple Trade!{{1:Compila un breve questionario.}}" #: src/jade/tabs/banner/unfunded.jade:2 msgid "" -"Welcome to Ripple Trade! To activate your account, you'll need at least 20 " -"XRP." -msgstr "Benvenuto in Ripple Trade! Per attivare il tuo account hai bisogno di almeno 20 XRP." +"Welcome to Ripple Trade! Your account needs to be activated. You can " +"activate it in 2 ways:" +msgstr "Benvenuto in Ripple Trade! Il tuo account deve essere attivato. Puoi farlo in 2 modi:" #: src/jade/tabs/banner/unfunded.jade:4 msgid "" "Have another user send XRP to your Ripple name " -"(~{{userCredentials.username}})" -msgstr "Devi avere un altro utente che invii XRP al tuo nome Ripple (~{{userCredentials.username}})" +"(~{{userCredentials.username}}). {{1}}" +msgstr "Devi avere un altro utente che invii XRP al tuo nome Ripple (~{{userCredentials.username}}). {{1}}" -#: src/jade/tabs/banner/unfunded.jade:5 -msgid "" -"Use the {{1}}. A small amount of your first deposit will be used to " -"activate your account." -msgstr "Usa il{{1}}. Un piccolo ammontare del tuo primo deposito sarà usato per attivare il tuo account." +#: src/jade/tabs/brl.jade:24 src/jade/tabs/eur.jade:24 +#: src/jade/tabs/gold.jade:24 src/jade/tabs/jpy.jade:24 +#: src/jade/tabs/mxn.jade:24 src/jade/tabs/trust.jade:42 +#: src/jade/tabs/usd.jade:24 +msgid "There was an error while saving your changes." +msgstr "C'è stato un errore durante il salvataggio delle modifiche." -#: src/jade/tabs/btc.jade:18 -msgid "Bitcoin Deposit" -msgstr "Deposita bitcoin" +#: src/jade/tabs/brl.jade:28 src/jade/tabs/eur.jade:27 +#: src/jade/tabs/gold.jade:27 src/jade/tabs/jpy.jade:28 +#: src/jade/tabs/mxn.jade:28 src/jade/tabs/trust.jade:45 +#: src/jade/tabs/usd.jade:27 +msgid "You must have at least {{1}} to add a new trust line. {{2}}" +msgstr "Devi avere almeno {{1}} per aggiungere una nuova linea di fiducia. {{2}}" -#: src/jade/tabs/btc.jade:26 -msgid "" -"A small amount (~.001 BTC) of your first transfer will be converted to XRP " -"to activate your wallet. {{1:Why?}}" -msgstr "Un piccolo ammontare (~.001 BTC) del tuo primo trasferimento sarà convertito in XRP per attivare il tuo portafoglio. {{1:Perchè?}}" +#: src/jade/tabs/brl.jade:38 +msgid "Brazilian Real Deposit" +msgstr "Deposito in Real brasiliani" -#: src/jade/tabs/btc.jade:30 -msgid "Your current deposit limit is:" -msgstr "Il tuo limite attuale di deposito è:" +#: src/jade/tabs/brl.jade:41 src/jade/tabs/btc.jade:35 +#: src/jade/tabs/eur.jade:38 src/jade/tabs/gold.jade:40 +#: src/jade/tabs/jpy.jade:41 src/jade/tabs/mxn.jade:41 +#: src/jade/tabs/trust.jade:167 src/jade/tabs/usd.jade:38 +msgid "Gateway" +msgstr "Gateway" + +#: src/jade/tabs/brl.jade:42 src/jade/tabs/eur.jade:48 +#: src/jade/tabs/mxn.jade:81 src/jade/tabs/mxn.jade:93 +#: src/jade/tabs/mxn.jade:103 src/jade/tabs/security.jade:49 +msgid "{{1}}{{2}}" +msgstr "{{1}}{{2}}" + +#: src/jade/tabs/brl.jade:43 +msgid "Ripple (~rippex)" +msgstr "Ripple (~rippex)" + +#: src/jade/tabs/brl.jade:46 src/jade/tabs/btc.jade:39 +#: src/jade/tabs/eur.jade:44 src/jade/tabs/gold.jade:44 +#: src/jade/tabs/jpy.jade:45 src/jade/tabs/mxn.jade:46 +#: src/jade/tabs/usd.jade:44 +msgid "Availability" +msgstr "Disponibilità" + +#: src/jade/tabs/brl.jade:47 +msgid "Brazil" +msgstr "Brasile" + +#: src/jade/tabs/brl.jade:49 src/jade/tabs/btc.jade:42 +#: src/jade/tabs/eur.jade:47 src/jade/tabs/gold.jade:47 +#: src/jade/tabs/jpy.jade:48 src/jade/tabs/mxn.jade:49 +#: src/jade/tabs/usd.jade:47 +msgid "Fees" +msgstr "Commissioni" + +#: src/jade/tabs/brl.jade:50 src/jade/tabs/jpy.jade:49 +#: src/jade/tabs/kyc.jade:111 src/jade/tabs/kyc.jade:126 +#: src/jade/tabs/kyc.jade:151 +msgid "{{1}}{{2}}{{3}}" +msgstr "{{1}}{{2}}{{3}}" + +#: src/jade/tabs/brl.jade:51 +msgid "Deposit: 1.50 BRL + 0.5%" +msgstr "Deposito: 1.50 BRL + 0.5%" + +#: src/jade/tabs/brl.jade:52 +msgid "Transfer: 0%" +msgstr "Trasferimento: 0%" + +#: src/jade/tabs/brl.jade:56 src/jade/tabs/btc.jade:45 +#: src/jade/tabs/eur.jade:53 src/jade/tabs/gold.jade:50 +#: src/jade/tabs/jpy.jade:54 src/jade/tabs/mxn.jade:52 +#: src/jade/tabs/usd.jade:50 +msgid "Rating" +msgstr "Valutazione" + +#: src/jade/tabs/brl.jade:62 +msgid "" +"Ripple Trade has partnered with Rippex to provide easy access to BRL. By " +"continuing, you agree with Rippex's {{1}}Following this action will enable " +"Rippex to hold BRL on your behalf." +msgstr "Ripple Trade ha stretto accordi con Rippex per rendere più facili i depositi in BRL. Continuando accetti il {{1}} Rippex. A seguito di ciò Rippex deterrà BRL a tuo nome." + +#: src/jade/tabs/brl.jade:69 +msgid "Add Rippex" +msgstr "Aggiungi Rippex" + +#: src/jade/tabs/brl.jade:70 +msgid "Adding..." +msgstr "Sto aggiungendo..." + +#: src/jade/tabs/brl.jade:71 src/jade/tabs/eur.jade:65 +#: src/jade/tabs/jpy.jade:64 src/jade/tabs/usd.jade:62 +msgid "Hide instructions" +msgstr "Nascondi le istruzioni" + +#: src/jade/tabs/brl.jade:72 src/jade/tabs/eur.jade:66 +#: src/jade/tabs/jpy.jade:65 src/jade/tabs/usd.jade:63 +msgid "Show instructions" +msgstr "Mostra le istruzioni" + +#: src/jade/tabs/brl.jade:75 src/jade/tabs/btc.jade:83 +msgid "{{1}}Not connected" +msgstr "{{1}}Non connesso" + +#: src/jade/tabs/brl.jade:78 src/jade/tabs/btc.jade:86 +msgid "{{1}}Connected" +msgstr "{{1}}Connesso" + +#: src/jade/tabs/brl.jade:81 src/jade/tabs/eur.jade:71 +#: src/jade/tabs/gold.jade:73 src/jade/tabs/jpy.jade:74 +#: src/jade/tabs/mxn.jade:76 src/jade/tabs/usd.jade:68 +msgid "Your account has to be activated before you can add a gateway account." +msgstr "Il tuo account deve essere attivato prima di poter aggiungere un gateway." + +#: src/jade/tabs/brl.jade:84 src/jade/tabs/eur.jade:75 +#: src/jade/tabs/gold.jade:76 src/jade/tabs/jpy.jade:77 +#: src/jade/tabs/mxn.jade:79 src/jade/tabs/usd.jade:72 +msgid "×" +msgstr "×" + +#: src/jade/tabs/brl.jade:85 +msgid "NEW CUSTOMERS- SIGN UP AT RIPPEX" +msgstr "NUOVI CLIENTI - ISCRIVITI A RIPPEX" + +#: src/jade/tabs/brl.jade:86 +msgid "" +"{{1}} at Rippex.net to initiate deposits and withdrawals. You will " +"need:{{2}}" +msgstr "{{1}} a Rippex.net per iniziare a depositare e prelevare. Avrai bisogno di:{{2}}" + +#: src/jade/tabs/brl.jade:90 +msgid "A {{1}}" +msgstr "Un {{1}}" + +#: src/jade/tabs/brl.jade:92 +msgid "A bank account in Brazil." +msgstr "Un conto bancario in Brasile." + +#: src/jade/tabs/brl.jade:96 +msgid "EXISTING RIPPEX CUSTOMERS" +msgstr "ATTUALI CLIENTI RIPPEX" + +#: src/jade/tabs/brl.jade:97 +msgid "If you have a Rippex account, {{1}}" +msgstr "Se hai un account Rippex, {{1}}" + +#: src/jade/tabs/brl.jade:100 +msgid "DEPOSIT INSTRUCTIONS" +msgstr "ISTRUZIONI SUL DEPOSITO" + +#: src/jade/tabs/brl.jade:101 +msgid "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" +msgstr "Rippex accetta depositi da tutte le banche brasiliane. Istruzioni {{1}}" + +#: src/jade/tabs/btc.jade:19 +msgid "Success! You can deposit BTC via your generated BTC receiving address." +msgstr "Fatto! Ora puoi depositare BTC tramite l'indirizzo BTC di ricezione che hai creato." + +#: src/jade/tabs/btc.jade:21 +msgid "There was an error with your request. {{1}}" +msgstr "C'è stato un errore con la tua richiesta. {{1}}" -#: src/jade/tabs/btc.jade:32 -msgid "Remove Limit" -msgstr "Rimuovi Limite" +#: src/jade/tabs/btc.jade:30 +msgid "Bitcoin Deposit" +msgstr "Deposita bitcoin" #: src/jade/tabs/btc.jade:36 -msgid "Waiting for response from SnapSwap service..." -msgstr "Aspettando il responso dal supporto di SnapSwap..." +msgid "btc2ripple (~snapswap) {{1}}" +msgstr "btc2ripple (~snapswap) {{1}}" + +#: src/jade/tabs/btc.jade:40 src/jade/tabs/gold.jade:45 +#: src/jade/tabs/jpy.jade:46 +msgid "All countries" +msgstr "Tutti i paesi" + +#: src/jade/tabs/btc.jade:43 src/jade/tabs/mxn.jade:50 +msgid "0%" +msgstr "0%" -#: src/jade/tabs/btc.jade:38 +#: src/jade/tabs/btc.jade:50 msgid "" -"To deposit, generate a bitcoin receiving address using the {{1}} service " -"powered by SnapSwap." -msgstr "Per depositare, crea un indirizzo bitcoin usando il {{1}} servizio fornito da SnapSwap." +"Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By" +" proceeding, you agree to the btc2ripple {{1}} Following this action will " +"allow btc2ripple to hold BTC on your behalf." +msgstr "Ripple Trade ha stretto accordi con btc2ripple per rendere più facili i depositi in BTC. Continuando accetti il {{1}} btc2ripple. A seguito di ciò btc2ripple deterrà BTC a tuo nome." -#: src/jade/tabs/btc.jade:45 -msgid "Generate bitcoin address" -msgstr "Crea un indirizzo bitcoin" +#: src/jade/tabs/btc.jade:56 +msgid "Add btc2ripple" +msgstr "Aggiungi btc2ripple" -#: src/jade/tabs/btc.jade:49 src/jade/tabs/security.jade:56 -#: src/jade/tabs/trust.jade:160 +#: src/jade/tabs/btc.jade:60 src/jade/tabs/security.jade:64 +#: src/jade/tabs/trust.jade:123 msgid "Connect" msgstr "Connetti" -#: src/jade/tabs/btc.jade:51 +#: src/jade/tabs/btc.jade:62 msgid "btc2ripple would like to:" msgstr "btc2ripple vorrebbe:" -#: src/jade/tabs/btc.jade:53 -msgid "- Receive your email address{{1}}" -msgstr "- Ricevere il vostro indirizzo email{{1}}" +#: src/jade/tabs/btc.jade:64 +msgid "- Receive your email address {{1}}" +msgstr "- Ricevere il vostro indirizzo email {{1}}" -#: src/jade/tabs/btc.jade:54 +#: src/jade/tabs/btc.jade:65 msgid "({{userBlob.data.email}})" msgstr "({{userBlob.data.email}})" -#: src/jade/tabs/btc.jade:55 +#: src/jade/tabs/btc.jade:66 msgid "- Hold deposited BTC on your behalf" msgstr "- Tenere depositati BTC a vostro nome" -#: src/jade/tabs/btc.jade:56 +#: src/jade/tabs/btc.jade:67 msgid "By proceeding, you agree to the btc2ripple {{1}}" msgstr "Proseguendo, sei d'accordo con btc2ripple {{1}}" -#: src/jade/tabs/btc.jade:63 +#: src/jade/tabs/btc.jade:75 msgid "" "SnapSwap's btc2ripple service is currently unavailable. Please check back " "later." msgstr "Il servizio btc2ripple di SnapSwap non è attualmente disponibile. Per favore riprova più tardi." -#: src/jade/tabs/contacts.jade:6 src/jade/tabs/contacts.jade:26 +#: src/jade/tabs/btc.jade:94 +msgid "Personal Deposit address" +msgstr "Indirizzo personale di Deposito" + +#: src/jade/tabs/btc.jade:96 +msgid "Your account is fully verified." +msgstr "Il tuo account è del tutto verificato." + +#: src/jade/tabs/btc.jade:104 +msgid "Withdrawal instructions" +msgstr "Istruzioni per il prelievo" + +#: src/jade/tabs/btc.jade:105 +msgid "" +"To withdraw to a BTC address, go to the Send tab and enter the BTC address. " +"Using the btc2ripple service, you will be able tosend to that BTC address." +msgstr "Per inviare ad un indirizzo BTC, vai nella sezione Invia e inserisci l'indirizzo BTC. Se usi il servizio btc2ripple, potrai inviare a questo indirizzo BTC." + +#: src/jade/tabs/btc.jade:110 +msgid "Waiting for response from SnapSwap service..." +msgstr "Aspettando il responso dal supporto di SnapSwap..." + +#: src/jade/tabs/btc.jade:112 +msgid "" +"To deposit, generate a bitcoin receiving address using the {{1}} service " +"powered by SnapSwap." +msgstr "Per depositare, crea un indirizzo bitcoin usando il servizio {{1}} fornito da SnapSwap." + +#: src/jade/tabs/contacts.jade:8 +msgid "A new contact has been successfully added." +msgstr "Un nuovo contatto è stato aggiunto correttamente." + +#: src/jade/tabs/contacts.jade:9 +msgid "Your contact has been successfully updated." +msgstr "Il tuo contatto è stato correttamente aggiornato." + +#: src/jade/tabs/contacts.jade:10 +msgid "A contact has been successfully removed." +msgstr "Un contatto è stato rimosso correttamente." + +#: src/jade/tabs/contacts.jade:12 src/jade/tabs/contacts.jade:24 +msgid "Contact" +msgstr "Contatto" + +#: src/jade/tabs/contacts.jade:13 src/jade/tabs/contacts.jade:32 msgid "Ripple name or address" msgstr "Nome o indirizzo Ripple" -#: src/jade/tabs/contacts.jade:9 src/jade/tabs/contacts.jade:13 -#: src/jade/tabs/contacts.jade:56 +#: src/jade/tabs/contacts.jade:15 src/jade/tabs/contacts.jade:19 +#: src/jade/tabs/contacts.jade:48 msgid "Add contact" msgstr "Aggiungi contatto" -#: src/jade/tabs/contacts.jade:18 -msgid "Contact" -msgstr "Contatti" - -#: src/jade/tabs/contacts.jade:21 +#: src/jade/tabs/contacts.jade:27 src/jade/tabs/send.jade:245 +#: src/jade/tabs/send.jade:277 msgid "Please enter a contact." msgstr "Per favore inserisci un contatto." -#: src/jade/tabs/contacts.jade:22 +#: src/jade/tabs/contacts.jade:28 msgid "This contact already exists." msgstr "Contatto già presente." -#: src/jade/tabs/contacts.jade:30 +#: src/jade/tabs/contacts.jade:36 msgid "Please enter a Ripple name." msgstr "Per favore inserisci un nome Ripple." -#: src/jade/tabs/contacts.jade:31 src/jade/tabs/contacts.jade:47 +#: src/jade/tabs/contacts.jade:37 src/jade/tabs/contacts.jade:45 msgid "" "You already have a contact with the same Ripple name and/or the same " "Destination tag." msgstr "Hai già un contatto con lo stesso indirizzo Ripple e/o la stessa etichetta di destinazione." -#: src/jade/tabs/contacts.jade:32 +#: src/jade/tabs/contacts.jade:38 msgid "Not a valid Ripple name or address." msgstr "Nome o indirizzo Ripple non valido." -#: src/jade/tabs/contacts.jade:38 -msgid "Please enter a Ripple address." -msgstr "Per favore inserisci un indirizzo Ripple." - -#: src/jade/tabs/contacts.jade:39 src/jade/tabs/contacts.jade:53 -msgid "" -"You already have a contact with the same Ripple address and/or the same " -"Destination tag." -msgstr "Hai già un contatto con lo stesso indirizzo Ripple e/o la stessa etichetta di destinazione." - -#: src/jade/tabs/contacts.jade:40 -msgid "Not a valid Ripple address." -msgstr "Indirizzo Ripple non valido." - -#: src/jade/tabs/contacts.jade:43 src/jade/tabs/contacts.jade:49 -#: src/jade/tabs/contacts.jade:89 src/jade/tabs/send.jade:49 -#: src/jade/tabs/tx.jade:54 +#: src/jade/tabs/contacts.jade:41 src/jade/tabs/contacts.jade:81 +#: src/jade/tabs/send.jade:42 src/jade/tabs/tx.jade:56 msgid "Destination tag" msgstr "Etichetta destinatario" -#: src/jade/tabs/contacts.jade:46 src/jade/tabs/contacts.jade:52 -#: src/jade/tabs/send.jade:53 +#: src/jade/tabs/contacts.jade:42 +msgid "Leave blank if not applicable" +msgstr "Lascia vuoto se non applicabile" + +#: src/jade/tabs/contacts.jade:44 src/jade/tabs/send.jade:46 msgid "Invalid destination tag" msgstr "Etichetta del destinatario non valida" -#: src/jade/tabs/contacts.jade:80 src/jade/tabs/send.jade:232 -#: src/jade/tabs/send.jade:260 +#: src/jade/tabs/contacts.jade:72 msgid "You already have a contact with the same name." msgstr "Hai già un contatto con lo stesso nome." -#: src/jade/tabs/contacts.jade:86 +#: src/jade/tabs/contacts.jade:78 msgid "You already have this address." msgstr "Hai già questo indirizzo." -#: src/jade/tabs/contacts.jade:87 +#: src/jade/tabs/contacts.jade:79 src/jade/tabs/debug.jade:14 msgid "Not a valid address." msgstr "Indirizzo non valido." -#: src/jade/tabs/contacts.jade:92 +#: src/jade/tabs/contacts.jade:84 msgid "Invalid destination tag." msgstr "Etichetta del destinatario non valida." -#: src/jade/tabs/contacts.jade:102 +#: src/jade/tabs/contacts.jade:94 msgid "" "You don't have any contacts yet. Click on 'Add contact' button in the top " "right corner to add a new contact." msgstr "Non hai ancora contatti. Premi il bottone 'Aggiungi Contatto' nell'angolo in alto a destra per aggiungere un nuovo contatto." -#: src/jade/tabs/desktop/login.jade:3 -msgid "" -"You will not be able to login to the downloadable client using a " -"username/password you create on Ripple Trade or the web version of the " -"Ripple Client. You can only use a secret key to access an existing Ripple " -"account. This is because the downloadable client stores your login " -"information locally on your computer, so your account is as safe as the " -"security of your personal computer." -msgstr "Non potrai fare il login nel client scaricabile usando il nome utente o la password che hai creato su Ripple Trade o sulla versione web del Client Ripple. Puoi solo usare la chiave segreta per accedere ad un account Ripple esistente. Questo è dovuto al fatto che il client scaricabile salva sul tuo computer le informazioni di login, in questo modo il tuo account è sicuro se è sicuro il tuo pc." - -#: src/jade/tabs/desktop/login.jade:12 src/jade/tabs/desktop/login.jade:34 -msgid "Open account" -msgstr "Apri account" - -#: src/jade/tabs/desktop/login.jade:15 src/jade/tabs/desktop/register.jade:5 -#: src/jade/tabs/desktop/register.jade:65 -msgid "Create new account" -msgstr "Crea un nuovo account" - -#: src/jade/tabs/desktop/login.jade:18 -msgid "Select account file {{walletfile}}" -msgstr "Seleziona il file dell'account {{walletfile}}" +#: src/jade/tabs/debug.jade:9 +msgid "Enter a Ripple name or address" +msgstr "Inserisci un nome Ripple o un indirizzo" -#: src/jade/tabs/desktop/login.jade:21 -msgid "Select account file" -msgstr "Seleziona il file dell'account" +#: src/jade/tabs/debug.jade:13 +msgid "Please enter an address." +msgstr "Per favore inserisci un indirizzo." -#: src/jade/tabs/desktop/login.jade:24 -msgid "Account password" -msgstr "Password dell'account" +#: src/jade/tabs/debug.jade:17 +msgid "Turn on debug mode" +msgstr "Attiva modalità di debug" -#: src/jade/tabs/desktop/register.jade:8 -msgid "Open existing account" -msgstr "Apri un account esistente" +#: src/jade/tabs/eur.jade:35 +msgid "Euro Deposit" +msgstr "Deposito in Euro" -#: src/jade/tabs/desktop/register.jade:11 -msgid "Create an empty account" -msgstr "Crea un account vuoto" +#: src/jade/tabs/eur.jade:39 +msgid "SnapSwap EU (~SnapSwap){{1}}{{2}}" +msgstr "SnapSwap EU (~SnapSwap){{1}}{{2}}" -#: src/jade/tabs/desktop/register.jade:14 -msgid "Create a new account with a secret key" -msgstr "Crea un nuovo account con la chiave segreta" +#: src/jade/tabs/eur.jade:45 +msgid "All countries, except USA" +msgstr "Tutti i paesi tranne gli USA" -#: src/jade/tabs/desktop/register.jade:18 -msgid "Create empty account" -msgstr "Crea account vuoto" +#: src/jade/tabs/eur.jade:49 +msgid "€ 0.31 – € 15.00" +msgstr "€ 0.31 – € 15.00" -#: src/jade/tabs/desktop/register.jade:20 -msgid "Encrypt your new account file: {{walletfile}}" -msgstr "Cripta il tuo nuovo file dell'account: {{walletfile}}" - -#: src/jade/tabs/desktop/register.jade:24 -msgid "Wallet file" -msgstr "File del portafoglio" - -#: src/jade/tabs/desktop/register.jade:31 +#: src/jade/tabs/eur.jade:59 msgid "" -"Your password is weak. It is not a mix of letters, numbers and symbols or it" -" is the same as your Ripple name." -msgstr "La tua password è debole. Non è una combinazione di lettere, numeri e simboli o coincide con il tuo nome Ripple." +"Ripple Trade has partnered with SnapSwap to provide easier access to EUR. " +"Following this action will enable SnapSwap to hold EUR on your behalf." +msgstr "Ripple Trade ha stretto accordi con SnapSwap per rendere più facili i depositi in EUR. Continuando permetterai a SnapSwap di detenere EUR a tuo nome." -#: src/jade/tabs/desktop/register.jade:33 src/jade/tabs/recover.jade:40 -#: src/jade/tabs/register.jade:49 src/jade/tabs/security.jade:123 -msgid "Confirm password" -msgstr "Conferma password" +#: src/jade/tabs/eur.jade:69 src/jade/tabs/usd.jade:66 +msgid "Not connected" +msgstr "Non connesso" -#: src/jade/tabs/desktop/register.jade:36 src/jade/tabs/recover.jade:43 -#: src/jade/tabs/register.jade:52 src/jade/tabs/security.jade:126 -msgid "Passwords do not match" -msgstr "Le password non corrispondono" +#: src/jade/tabs/eur.jade:70 src/jade/tabs/usd.jade:67 +msgid "Connected" +msgstr "Connesso" -#: src/jade/tabs/desktop/register.jade:42 -msgid "Encrypt account" -msgstr "Cripta l'account" +#: src/jade/tabs/eur.jade:76 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.EU" +msgstr "NUOVI CLIENTI - ISCRIVITI A SNAPSWAP.EU" -#: src/jade/tabs/desktop/register.jade:44 -msgid "Cancel and delete account file" -msgstr "Cancella ed elimina il file dell'account" +#: src/jade/tabs/eur.jade:77 +msgid "Register and verify your account at SnapSwap EU. You will need: {{1}}" +msgstr "Registra e verifica il tuo account SnapSwap EU. Avrai bisogno di: {{1}}" -#: src/jade/tabs/desktop/register.jade:50 -msgid "Create account with secret key" -msgstr "Crea un account con una chiave segreta" - -#: src/jade/tabs/desktop/register.jade:55 -msgid "Enter your secret key" -msgstr "Inserisci la tua chiave segreta" - -#: src/jade/tabs/desktop/register.jade:62 -msgid "Secret is invalid" -msgstr "Chiave non valida" - -#: src/jade/tabs/desktop/register.jade:67 src/jade/tabs/fund.jade:77 -#: src/jade/tabs/trade.jade:325 -msgid "Cancel" -msgstr "Cancella" - -#: src/jade/tabs/desktop/register.jade:69 src/jade/tabs/register.jade:95 -msgid "Have an account? {{1:Log In}}" -msgstr "Hai un account? {{1:Entra}}" - -#: src/jade/tabs/desktop/register.jade:75 -msgid "Important:" -msgstr "Importante:" - -#: src/jade/tabs/desktop/register.jade:76 +#: src/jade/tabs/eur.jade:81 src/jade/tabs/usd.jade:78 msgid "" -"The secret key below gives access to your money in the unlikely case that " -"you lose your password. In that case your contacts will be lost, but with " -"this secret key alone anyone can retrieve your money. So please store it " -"somewhere PRIVATE AND SAFE. Read more about keys and wallet safety in {{1}}" -msgstr "La chiave segreta di seguito dà accesso al tuo denaro nel caso sfortunato che si sia persa la password. In tal caso i tuoi contatti andranno persi, ma con la chiave segreta chiunque può recuperare il tuo denaro. Per favore salvala in un luogo PRIVATO e SICURO. Informati sulle chiavi e sulla sicurezza del portafoglio in {{1}}" +"A valid government-issued ID: driver license, passport, ID card, or visa " +"stamp." +msgstr "Un documento d'identità: carta d'identità, patente, passaporto, o timbro sul passaporto" -#: src/jade/tabs/desktop/register.jade:79 src/jade/tabs/settings/navbar.jade:2 -msgid "Security" -msgstr "Sicurezza" +#: src/jade/tabs/eur.jade:83 src/jade/tabs/usd.jade:80 +msgid "A proof of address: driver license, utility bill, bank statement, etc." +msgstr "Dimostrare il tuo indirizzo: patente, bolletta della luce, estratto conto, etc." -#: src/jade/tabs/desktop/register.jade:81 -msgid "Passphrase:{{1}}{{2}}{{3}}{{4}}" -msgstr "Password:{{1}}{{2}}{{3}}{{4}}" +#: src/jade/tabs/eur.jade:85 +msgid "EXISTING SNAPSWAP EU CUSTOMERS" +msgstr "ATTUALI CLIENTI SNAPSWAP EU" -#: src/jade/tabs/desktop/register.jade:90 -msgid "Secret key:" -msgstr "Chiave segreta:" +#: src/jade/tabs/eur.jade:89 src/jade/tabs/jpy.jade:94 +#: src/jade/tabs/usd.jade:86 +msgid "Login to your account {{1}}" +msgstr "Entra nel tuo account {{1}}" -#: src/jade/tabs/desktop/register.jade:95 src/jade/tabs/register.jade:150 -msgid "Show secret key" -msgstr "Mostra chiave segreta" +#: src/jade/tabs/eur.jade:92 src/jade/tabs/jpy.jade:96 +msgid "DEPOSITS AND WITHDRAWALS:" +msgstr "DEPOSITI E PRELIEVI:" -#: src/jade/tabs/desktop/register.jade:97 src/jade/tabs/register.jade:151 -msgid "Hide secret key" -msgstr "Nascondi chiave segreta" +#: src/jade/tabs/eur.jade:96 +msgid "Deposit from your bank (2-4 business days)" +msgstr "Deposito dal tuo conto bancario (2-4 giorni lavorativi)" -#: src/jade/tabs/desktop/register.jade:98 -msgid "Have you saved your secret key somewhere safe?" -msgstr "Hai salvato la chiave segreta del tuo account in un luogo sicuro?" +#: src/jade/tabs/eur.jade:98 +msgid "Withdraw to your bank account in SEPA (2-4 business days)" +msgstr "Versamento sul tuo conto bancario in SEPA (2-4 giorni lavorativi)" -#: src/jade/tabs/desktop/register.jade:101 -msgid "Yes, I saved my secret key" -msgstr "Sì, ho salvato la mia chiave segreta" +#: src/jade/tabs/eur.jade:100 +msgid "Withdraw to SmartyCash Card (instant)" +msgstr "Versamento su Carta SmartyCash (istantaneo)" #: src/jade/tabs/exchange.jade:13 msgid "You have to be funded before you can exchange money" msgstr "Devi avere dei fondi prima di poter scambiare denaro" +#: src/jade/tabs/exchange.jade:23 +msgid "Buy (Market Order)" +msgstr "Compra (Ordine di Mercato)" + +#: src/jade/tabs/exchange.jade:24 +msgid "" +"Submit a buy order at the current market rate. Orders will execute " +"instantly." +msgstr "Invia un ordine di acquisto al prezzo di mercato corrente. Gli ordini verranno eseguiti immediatamente." + # Receive (amount) -#: src/jade/tabs/exchange.jade:19 +#: src/jade/tabs/exchange.jade:27 msgid "Receive (amount)" -msgstr "Ricevere" +msgstr "Voglio comprare" + +#: src/jade/tabs/exchange.jade:34 src/jade/tabs/widgets/balances.jade:49 +msgid "add gateway" +msgstr "aggiungi gateway" -#: src/jade/tabs/exchange.jade:26 src/jade/tabs/send.jade:88 +#: src/jade/tabs/exchange.jade:37 src/jade/tabs/send.jade:90 msgid "Please enter an amount." msgstr "Per favore inserisci un importo." -#: src/jade/tabs/exchange.jade:27 src/jade/tabs/send.jade:89 -#: src/jade/tabs/trade.jade:146 src/jade/tabs/trade.jade:161 -#: src/jade/tabs/trade.jade:176 +#: src/jade/tabs/exchange.jade:38 src/jade/tabs/send.jade:91 +#: src/jade/tabs/trade.jade:153 src/jade/tabs/trade.jade:168 +#: src/jade/tabs/trade.jade:183 src/jade/tabs/trust.jade:101 msgid "Not a valid amount." msgstr "Importo non valido." -#: src/jade/tabs/exchange.jade:28 +#: src/jade/tabs/exchange.jade:39 +msgid "" +"You are either trying to convert too little or too much XRP.Minimum amount " +"is 0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "Stai cercando di convertire troppi o troppo pochi XRP. Il minimo è 0.000001 XRP e il massimo è 100 miliardi di XRP." + +#: src/jade/tabs/exchange.jade:42 src/jade/tabs/send.jade:96 +#: src/jade/tabs/trust.jade:103 +msgid "Your amount has too many digits. The max number of digits is 16." +msgstr "L'importo ha troppe cifre. Il numero massimo di cifre è 16." + +#: src/jade/tabs/exchange.jade:43 msgid "Please enter an amount greater than zero." msgstr "Inserire una quantità maggiore di zero." -#: src/jade/tabs/exchange.jade:31 -msgid "Calculating..." -msgstr "Sto calcolando..." +#: src/jade/tabs/exchange.jade:46 +msgid "{{1}} Calculating..." +msgstr "{{1}} Sto calcolando..." -#: src/jade/tabs/exchange.jade:33 +#: src/jade/tabs/exchange.jade:50 msgid "" "Cannot convert to {{exchange.amount}} {{exchange.currency_name}}. Please " "make sure your account has enough funds, and a {{1}} to a " "{{exchange.currency_name}} gateway." msgstr "Impossibile cambiare {{exchange.amount}} {{exchange.currency_name}}. Per favore assicurati che il tuo conto abbia fondi sufficienti, e un {{1}} a un {{exchange.currency_name}} gateway." -#: src/jade/tabs/exchange.jade:37 +#: src/jade/tabs/exchange.jade:54 msgid "" "Sorry! Cannot convert {{exchange.amount}} {{exchange.currency_name}}. Please" " make sure your account has enough funds." msgstr "Spiacenti! Impossibile convertire {{exchange.amount}} {{exchange.currency_name}}. Per favore assicurati che il tuo conto abbia fondi sufficienti." -#: src/jade/tabs/exchange.jade:39 src/jade/tabs/send.jade:133 +#: src/jade/tabs/exchange.jade:56 src/jade/tabs/send.jade:142 msgid "Error while calculating path" msgstr "Errore durante il calcolo del percorso" -#: src/jade/tabs/exchange.jade:55 +#: src/jade/tabs/exchange.jade:60 +msgid "Exchange" +msgstr "Scambia" + +#: src/jade/tabs/exchange.jade:72 msgid "Exchange {{ alt.amount | rpcurrency }} {{1}}" msgstr "Cambia {{ alt.amount | rpcurrency }} {{1}}" -#: src/jade/tabs/exchange.jade:61 src/jade/tabs/send.jade:161 +#: src/jade/tabs/exchange.jade:78 src/jade/tabs/send.jade:170 msgid "Paths last updated {{1}} {{2: seconds}} {{3: second}} ago" msgstr "Ultimo aggiornamento dei percorsi {{1}} {{2: secondi}} {{3: secondo}} fa" -#: src/jade/tabs/exchange.jade:70 +#: src/jade/tabs/exchange.jade:89 msgid "Ripple is calculating a path for your conversion." msgstr "Ripple sta calcolando il percorso per il tuo cambio." -#: src/jade/tabs/exchange.jade:75 +#: src/jade/tabs/exchange.jade:94 msgid "" "{{1:You are exchanging}}{{2}}{{3:to}}{{4}}{{5:You will pay at " "most}}{{6}}{{7:Are you sure?}}" msgstr "{{1:Stai cambiando}}{{2}}{{3:in}}{{4}}{{5:Pagherai al massimo}}{{6}}{{7:Sei sicuro?}}" -#: src/jade/tabs/exchange.jade:116 +#: src/jade/tabs/exchange.jade:139 msgid "Do another conversion" msgstr "Fai un altro cambio" -#: src/jade/tabs/exchange.jade:118 src/jade/tabs/send.jade:243 -#: src/jade/tabs/send.jade:273 +#: src/jade/tabs/exchange.jade:141 src/jade/tabs/send.jade:257 +#: src/jade/tabs/send.jade:291 msgid "Back to balance" msgstr "Torna al saldo" @@ -1080,215 +1567,280 @@ msgstr "Torna al saldo" msgid "Add trust" msgstr "Aggiungi fiducia" -#: src/jade/tabs/fund.jade:33 src/jade/tabs/fund.jade:47 -#: src/jade/tabs/trust.jade:100 src/jade/tabs/trust.jade:121 +#: src/jade/tabs/fund.jade:27 src/jade/tabs/send.jade:26 +msgid "Enter a Ripple name or contact" +msgstr "Inserisci un nome Ripple o un contatto" + +#: src/jade/tabs/fund.jade:33 src/jade/tabs/trust.jade:73 msgid "Account does not meet the minimum XRP reserve." msgstr "Il conto non ha la quantità minima di riserva di XRP." -#: src/jade/tabs/fund.jade:34 src/jade/tabs/fund.jade:48 -#: src/jade/tabs/send.jade:107 src/jade/tabs/trust.jade:101 -#: src/jade/tabs/trust.jade:122 -msgid "More information" -msgstr "Maggiori informazioni" - -#: src/jade/tabs/fund.jade:36 src/jade/tabs/trust.jade:103 +#: src/jade/tabs/fund.jade:36 src/jade/tabs/trust.jade:76 msgid "Please enter a Ripple name, contact, or address." msgstr "Per favore inserisci un nome Ripple, un contatto o un indirizzo." -#: src/jade/tabs/fund.jade:37 src/jade/tabs/fund.jade:51 -#: src/jade/tabs/trust.jade:104 src/jade/tabs/trust.jade:125 +#: src/jade/tabs/fund.jade:37 src/jade/tabs/trust.jade:77 msgid "You've entered your own address." msgstr "Hai inserito il tuo indirizzo." -#: src/jade/tabs/fund.jade:38 src/jade/tabs/trust.jade:105 +#: src/jade/tabs/fund.jade:38 src/jade/tabs/trust.jade:78 msgid "Please enter a valid Ripple name, contact, or address." msgstr "Per favore inserisci un nome Ripple valido, un contatto o un indirizzo." -#: src/jade/tabs/fund.jade:50 src/jade/tabs/trust.jade:124 -msgid "Please enter a Ripple address or contact." -msgstr "Per favore inserisci un indirizzo Ripple o un contatto." - -#: src/jade/tabs/fund.jade:52 src/jade/tabs/trust.jade:126 -msgid "Please enter a valid Ripple address or contact." -msgstr "Per favore inserisci un indirizzo Ripple valido o un contatto." - -#: src/jade/tabs/fund.jade:55 src/jade/tabs/history.jade:190 -#: src/jade/tabs/trade.jade:303 src/jade/tabs/trust.jade:129 -msgid "Amount" -msgstr "Quantità" - -#: src/jade/tabs/fund.jade:62 src/jade/tabs/trust.jade:107 -#: src/jade/tabs/trust.jade:140 +#: src/jade/tabs/fund.jade:48 src/jade/tabs/trust.jade:80 msgid "Amount field is required" msgstr "Il campo quantità è obbligatorio" -#: src/jade/tabs/fund.jade:64 src/jade/tabs/trust.jade:109 -#: src/jade/tabs/trust.jade:142 +#: src/jade/tabs/fund.jade:50 src/jade/tabs/trust.jade:82 +#: src/jade/tabs/trust.jade:105 msgid "" "XRP can be sent without extending trust. If you really want to trust in XRP," " please use XRR currency code." msgstr "Gli XRP possono essere inviati anche senza dare Fiducia. Se vuoi dare Fiducia in XRP, per favore utilizza il codice della valuta XRR." -#: src/jade/tabs/fund.jade:67 src/jade/tabs/trust.jade:112 -#: src/jade/tabs/trust.jade:145 +#: src/jade/tabs/fund.jade:53 src/jade/tabs/trust.jade:85 +#: src/jade/tabs/trust.jade:108 msgid "Currency field is required" msgstr "Il campo valuta è obbligatorio" -#: src/jade/tabs/fund.jade:73 src/jade/tabs/trust.jade:151 +#: src/jade/tabs/fund.jade:59 src/jade/tabs/fund.jade:60 +#: src/jade/tabs/trust.jade:114 src/jade/tabs/trust.jade:115 msgid "Allow Rippling" msgstr "Permetti Rippling" -#: src/jade/tabs/fund/menu.jade:2 -msgid "XRP" -msgstr "XRP" +#: src/jade/tabs/fund.jade:60 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"trust. More " +"information" +msgstr "Permetti che il saldo su questa linea di fiducia possa essere trasferito ad un altro emittente di cui hai fiducia. Maggiori informazioni" + +#: src/jade/tabs/fund.jade:63 +msgid "Cancel" +msgstr "Cancella" #: src/jade/tabs/fund/menu.jade:3 -msgid "BTC" -msgstr "BTC" +msgid "{{1}}XRP" +msgstr "{{1}}XRP" #: src/jade/tabs/fund/menu.jade:6 +msgid "Featured gateways" +msgstr "Principali gateways" + +#: src/jade/tabs/fund/menu.jade:7 +msgid "{{1}}BRL" +msgstr "{{1}}BRL" + +#: src/jade/tabs/fund/menu.jade:10 +msgid "{{1}}BTC" +msgstr "{{1}}BTC" + +#: src/jade/tabs/fund/menu.jade:13 +msgid "{{1}}EUR" +msgstr "{{1}}EUR" + +#: src/jade/tabs/fund/menu.jade:16 +msgid "{{1}}JPY" +msgstr "{{1}}JPY" + +#: src/jade/tabs/fund/menu.jade:19 +msgid "{{1}}MXN" +msgstr "{{1}}MXN" + +#: src/jade/tabs/fund/menu.jade:22 +msgid "{{1}}USD" +msgstr "{{1}}USD" + +#: src/jade/tabs/fund/menu.jade:25 +msgid "{{1}}XAU" +msgstr "{{1}}XAU" + +#: src/jade/tabs/fund/menu.jade:28 +msgid "Add any gateway" +msgstr "Aggiungi un qualsiasi gateway" + +#: src/jade/tabs/fund/menu.jade:30 msgid "Learn more about gateways" -msgstr "Informati di più sui gateways" +msgstr "Per saperne di più sui gateways" + +#: src/jade/tabs/gold.jade:37 +msgid "Gold Deposit" +msgstr "Deposito in Oro" -#: src/jade/tabs/history.jade:9 -msgid "Loading history..." -msgstr "Caricamento della cronologia..." +#: src/jade/tabs/gold.jade:41 +msgid "Gold Bullion International (~gbi) {{1}}" +msgstr "Gold Bullion International (~gbi) {{1}}" + +#: src/jade/tabs/gold.jade:48 +msgid "0.5% per year" +msgstr "0.5% l'anno" + +#: src/jade/tabs/gold.jade:56 +msgid "" +"Ripple Trade has partnered with GBI to provide easy access toXAU. By " +"continuing, you are allowing GBI to hold gold on your behalf." +msgstr "Ripple Trade ha stretto accordi con GBI per rendere più facili i depositi in XAU. Continuando permetterai a GBI di detenere oro a tuo nome." -#: src/jade/tabs/history.jade:14 +#: src/jade/tabs/gold.jade:67 src/jade/tabs/jpy.jade:68 +#: src/jade/tabs/mxn.jade:70 +msgid "{{1}} Not connected" +msgstr "{{1}} Non connesso" + +#: src/jade/tabs/gold.jade:70 src/jade/tabs/jpy.jade:71 +#: src/jade/tabs/mxn.jade:73 +msgid "{{1}} Connected" +msgstr "{{1}} Connesso" + +#: src/jade/tabs/gold.jade:77 +msgid "Deposit" +msgstr "Deposito" + +#: src/jade/tabs/gold.jade:78 +msgid "" +"GBI does not currently support direct deposits. You can {{1}} or {{2}}." +msgstr "Attualmente GBI non permette depositi diretti. Puoi {{1}} oppure {{2}}." + +#: src/jade/tabs/gold.jade:84 +msgid "Withdrawal" +msgstr "Prelievo" + +#: src/jade/tabs/gold.jade:85 +msgid "" +"You can redeem the physical gold in 1 oz increments.To do so, you'll need to" +" {{1}} and arrange to have the gold shipped to you." +msgstr "Puoi riscattare l'oro fisico per incrementi di un'oncia. Per farlo dovrai {{1}} e ti dovrai accordare per la spedizione dell'oro." + +#: src/jade/tabs/history.jade:11 +msgid "Loading History" +msgstr "Caricamento della Cronologia" + +#: src/jade/tabs/history.jade:16 msgid "Your account history is empty" msgstr "La cronologia del tuo account è vuota" -#: src/jade/tabs/history.jade:20 -msgid "Filters" -msgstr "Filtri" - -#: src/jade/tabs/history.jade:23 +#: src/jade/tabs/history.jade:24 msgid "Transaction type{{1}}{{2}}" msgstr "Tipo di transazione{{1}}{{2}}" -#: src/jade/tabs/history.jade:48 +#: src/jade/tabs/history.jade:37 msgid "Date{{1}}{{2}}" msgstr "Data{{1}}{{2}}" -#: src/jade/tabs/history.jade:53 +#: src/jade/tabs/history.jade:42 msgid "Load history for specific date range" msgstr "Carica la cronologia nell'intervallo indicato" -#: src/jade/tabs/history.jade:59 +#: src/jade/tabs/history.jade:48 msgid "From" msgstr "Da" -#: src/jade/tabs/history.jade:65 +#: src/jade/tabs/history.jade:54 msgid "To" msgstr "A" -#: src/jade/tabs/history.jade:68 +#: src/jade/tabs/history.jade:57 msgid "Filter" msgstr "Filtro" -#: src/jade/tabs/history.jade:82 -msgid "Transaction History" -msgstr "Cronologia della transazione" - -#: src/jade/tabs/history.jade:84 -msgid "Export to CSV" -msgstr "Esporta in CSV" - -#: src/jade/tabs/history.jade:88 +#: src/jade/tabs/history.jade:64 msgid "Date" msgstr "Data" -#: src/jade/tabs/history.jade:89 src/jade/tabs/history.jade:188 +#: src/jade/tabs/history.jade:65 src/jade/tabs/history.jade:170 msgid "Description" msgstr "Descrizione" -#: src/jade/tabs/history.jade:90 +#: src/jade/tabs/history.jade:68 src/jade/tabs/history.jade:73 +msgid "Export to CSV" +msgstr "Esporta in CSV" + +#: src/jade/tabs/history.jade:69 msgid "Sorry, no transactions match your current filter." msgstr "Mi dispiace, nessuna transazione corrisponde con il filtro corrente." -#: src/jade/tabs/history.jade:109 +#: src/jade/tabs/history.jade:91 msgid "You sent{{1}}to{{2}}" msgstr "Hai inviato{{1}}a{{2}}" -#: src/jade/tabs/history.jade:115 +#: src/jade/tabs/history.jade:97 msgid "{{1}}sent you{{2}}" msgstr "{{1}}ti ha inviato{{2}}" -#: src/jade/tabs/history.jade:121 +#: src/jade/tabs/history.jade:103 msgid "You requested to exchange{{1}}to{{2}}" msgstr "Hai richiesto di convertire{{1}}in{{2}}" -#: src/jade/tabs/history.jade:127 +#: src/jade/tabs/history.jade:109 msgid "{{1}}now trusts you for{{2}}" msgstr "{{1}}ti sta dando fiducia per{{2}}" -#: src/jade/tabs/history.jade:140 src/jade/tabs/history/effects.jade:45 +#: src/jade/tabs/history.jade:122 src/jade/tabs/history/effects.jade:45 msgid "You created an order to sell{{1}}for{{2}}" msgstr "Hai creato un'offerta per vendere{{1}}per{{2}}" -#: src/jade/tabs/history.jade:144 src/jade/tabs/history/effects.jade:49 +#: src/jade/tabs/history.jade:126 src/jade/tabs/history/effects.jade:49 msgid "You created an order to buy{{1}}for{{2}}" msgstr "Hai creato un'offerta per comprare{{1}}per{{2}}" -#: src/jade/tabs/history.jade:150 +#: src/jade/tabs/history.jade:132 msgid "You cancelled an order accepting {{1}}for{{2}}" msgstr "Hai cancellato un'offerta accettando {{1}}per{{2}}" -#: src/jade/tabs/history.jade:163 +#: src/jade/tabs/history.jade:145 msgid "Unknown transaction" msgstr "Transazione sconosciuta" -#: src/jade/tabs/history.jade:166 +#: src/jade/tabs/history.jade:148 msgid "" "The client failed to parse this transaction. The developers have been " "notified of the issue." msgstr "Il client non è riuscito ad analizzare questa transazione. Gli sviluppatori sono stati informati del problema." -#: src/jade/tabs/history.jade:171 +#: src/jade/tabs/history.jade:153 msgid "{{1}} sent you{{2}} and activated your account!" msgstr "{{1}} ti ha inviato {{2}} e ha attivato il tuo account!" -#: src/jade/tabs/history.jade:178 +#: src/jade/tabs/history.jade:160 msgid "You deposited{{1}} using {{entry.details.app.name}}" msgstr "Hai depositato{{1}} usando {{entry.details.app.name}}" -#: src/jade/tabs/history.jade:186 +#: src/jade/tabs/history.jade:168 msgid "Balance Changes" msgstr "Cambiamenti del Saldo " -#: src/jade/tabs/history.jade:189 +#: src/jade/tabs/history.jade:171 msgid "Issuer" msgstr "Emittente" -#: src/jade/tabs/history.jade:191 +#: src/jade/tabs/history.jade:173 msgid "Final balance" msgstr "Saldo finale" -#: src/jade/tabs/history.jade:194 +#: src/jade/tabs/history.jade:176 msgid "XRP Balance Change" msgstr "Variazione saldo XRP" -#: src/jade/tabs/history.jade:195 +#: src/jade/tabs/history.jade:177 msgid "{{effect.currency}} Balance Change" -msgstr "{{effect.currency}} Cambia Bilancio" - -#: src/jade/tabs/history.jade:196 -msgid "Fee" -msgstr "Commissione" +msgstr "{{effect.currency}} Cambia Saldo" -#: src/jade/tabs/history.jade:201 +#: src/jade/tabs/history.jade:183 msgid "Transaction details" msgstr "Dettagli della transazione" -#: src/jade/tabs/history.jade:202 +#: src/jade/tabs/history.jade:184 msgid "Add {{1}} to contact list" msgstr "Aggiungi {{1}} alla lista dei contatti" -#: src/jade/tabs/history.jade:208 src/jade/tabs/trade.jade:386 +#: src/jade/tabs/history.jade:189 +msgid "{{1}} Loading more" +msgstr "{{1}} Carica di più" + +#: src/jade/tabs/history.jade:192 src/jade/tabs/trade.jade:500 msgid "Load more" msgstr "Carica di più" -#: src/jade/tabs/history.jade:209 +#: src/jade/tabs/history.jade:193 msgid "No more transactions left" msgstr "Nessuna transazione rimasta" @@ -1306,7 +1858,7 @@ msgstr "prezzo" #: src/jade/tabs/history/effects.jade:17 msgid "This order has been filled." -msgstr "L'ordine è stato completato." +msgstr "L'ordine è stato eseguito." #: src/jade/tabs/history/effects.jade:32 msgid "The rest of your order has been cancelled due to lack of funds." @@ -1344,439 +1896,633 @@ msgstr "La Fiducia tra te e{{1}}è stata modificata di{{2}}." msgid "Your balance has been changed by{{1}}." msgstr "Il tuo saldo è cambiato di{{1}}." -#: src/jade/tabs/kyc.jade:16 +#: src/jade/tabs/jpy.jade:38 +msgid "Japanese Yen Deposit" +msgstr "Deposito in Yen giapponesi" + +#: src/jade/tabs/jpy.jade:42 +msgid "Tokyo JPY Issuer (~tokyojpy) {{1}}" +msgstr "Emittente Tokyo JPY (~tokyojpy) {{1}}" + +#: src/jade/tabs/jpy.jade:59 +msgid "" +"Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to" +" JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your" +" behalf." +msgstr "Ripple Trade ha stretto accordi con l'emittente Tokyo JPY per rendere più facile l'accesso ai JPY. Continuando permetterai a Tokyo JPY di detenere JPY a tuo nome." + +#: src/jade/tabs/jpy.jade:78 +msgid "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" +msgstr "NUOVI CLIENTI - ISCRIVITI ALL'EMITTENTE TOKYO JPY" + +#: src/jade/tabs/jpy.jade:79 +msgid "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" +msgstr "{{1}}all'emittente Tokyo JPY. Avrai bisogno di:{{2}}" + +#: src/jade/tabs/jpy.jade:84 +msgid "A valid government-issued ID." +msgstr "Un documento di identità valido." + +#: src/jade/tabs/jpy.jade:86 +msgid "A proof of address (utility bill, etc)." +msgstr "Dimostrare il tuo indirizzo (bolletta, etc)." + +#: src/jade/tabs/jpy.jade:88 +msgid "A bank account under the same name." +msgstr "Un conto corrente bancario con lo stesso nome." + +#: src/jade/tabs/jpy.jade:90 +msgid "EXISTING TOKYO JPY ISSUER CUSTOMERS" +msgstr "ATTUALI CLIENTI DELL'EMITTENTE TOKYO JPY" + +#: src/jade/tabs/jpy.jade:100 +msgid "" +"Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details" +" {{1}}" +msgstr "L'emittente Tokyo JPY accetta depositi e prelievi tramite bonifico bancario. Dettagli {{1}}" + +#: src/jade/tabs/jpy.jade:103 +msgid "" +"To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account " +"and then initiate a transfer into your Ripple account." +msgstr "Per depositare innanzitutto dovrai farlo nel tuo account Tokyo JPY e quindi, da lì, versare sul tuo conto Ripple." + +#: src/jade/tabs/jpy.jade:105 +msgid "" +"To withdraw to a bank account, you’ll first send money from your Ripple " +"account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo " +"JPY Issuer site to send to your bank account." +msgstr "Se vuoi versare sul tuo conto corrente bancario, innanzitutto invia i soldi dal tuo conto Ripple al tuo account Tokyo JPY. Segui le istruzioni sul sito di Tokyo JPY per inviare denaro sul tuo conto corrente bancario." + +#: src/jade/tabs/kyc.jade:14 +msgid "Profile completion is only available to US residents." +msgstr "Il completamento del profilo è disponibile solo per i residenti USA." + +#: src/jade/tabs/kyc.jade:21 src/jade/tabs/trade.jade:285 msgid "Verifying your information. Please wait..." msgstr "Verifica delle informazioni. Per favore aspetta.." -#: src/jade/tabs/kyc.jade:18 +#: src/jade/tabs/kyc.jade:23 msgid "Your identity information has been verified." msgstr "Le informazioni sulla tua identità sono state verificate." -#: src/jade/tabs/kyc.jade:20 +#: src/jade/tabs/kyc.jade:25 msgid "Your identity questions have been verified." msgstr "Le domande sulla tua identità sono state verificate." -#: src/jade/tabs/kyc.jade:22 +#: src/jade/tabs/kyc.jade:27 msgid "" "Congratulations, you've verified your identity! You will now be redirected " "back to the instant deposit page." msgstr "Congratulazioni, hai verificato la tua identità! Sarai indirizzato alla pagina del deposito." -#: src/jade/tabs/kyc.jade:24 +#: src/jade/tabs/kyc.jade:29 msgid "There was an error with your request. Please try again later." msgstr "C'è stato un errore con la tua richiesta. Per favore riprova più tardi." -#: src/jade/tabs/kyc.jade:26 +#: src/jade/tabs/kyc.jade:31 msgid "" "There was an error with your request. Make sure your phone number is valid " "and try again." msgstr "C'è stato un errore con la tua richiesta. Assicurati che il numero di telefono sia giusto e riprova." -#: src/jade/tabs/kyc.jade:28 +#: src/jade/tabs/kyc.jade:33 msgid "Please check your verification code and try again." msgstr "Per favore controlla il tuo codice di verifica e riprova." -#: src/jade/tabs/kyc.jade:30 +#: src/jade/tabs/kyc.jade:35 msgid "" "There was an error while requesting the verification code. Please try again " "later." msgstr "C'è stato un problema durante la richiesta del codice di verifica. Per favore riprova più tardi." -#: src/jade/tabs/kyc.jade:32 +#: src/jade/tabs/kyc.jade:37 msgid "" "We are unable to validate your identity information. Please check your " "information and try again." msgstr "Non siamo in grado di convalidare le informazioni sulla tua identità. Per favore inserisci le tue informazioni e prova ancora." -#: src/jade/tabs/kyc.jade:34 +#: src/jade/tabs/kyc.jade:39 msgid "" "We are unable to validate your identity questions. Please check your answers" " and try again." msgstr "Non siamo in grado di convalidare le informazioni sulla tua identità. Per favore controlla le tue risposte e riprova." -#: src/jade/tabs/kyc.jade:36 +#: src/jade/tabs/kyc.jade:41 +msgid "" +"Sorry, you've reached your maximum number of verification attempts. Please " +"try again in 24 hours." +msgstr "Spiacenti, hai raggiunto il numero massimo di tentativi di verifica. Per favore riprova tra 24 ore." + +#: src/jade/tabs/kyc.jade:43 msgid "" "We can't verify your identity. Please contact us at support@ripple.com." msgstr "Non possiamo verificare la tua identità. Per favore contattaci support@ripple.com." -#: src/jade/tabs/kyc.jade:41 +#: src/jade/tabs/kyc.jade:48 msgid "Profile Completion" msgstr "Completamento Profilo" -#: src/jade/tabs/kyc.jade:45 +#: src/jade/tabs/kyc.jade:52 msgid "STEP 1: IDENTITY INFORMATION" msgstr "PASSO 1: INFORMAZIONI SULLA IDENTITà" -#: src/jade/tabs/kyc.jade:47 +#: src/jade/tabs/kyc.jade:54 msgid "STEP 2: IDENTITY QUESTIONS" msgstr "PASSO 2: DOMANDE SULLA IDENTITà" -#: src/jade/tabs/kyc.jade:49 +#: src/jade/tabs/kyc.jade:56 msgid "STEP 3: TWO-FACTOR AUTHENTICATION" msgstr "PASSO 3: AUTENTICAZIONE A DUE FATTORI" -#: src/jade/tabs/kyc.jade:56 +#: src/jade/tabs/kyc.jade:63 msgid "First Name" msgstr "Nome" -#: src/jade/tabs/kyc.jade:60 +#: src/jade/tabs/kyc.jade:67 msgid "Last Name" msgstr "Cognome" -#: src/jade/tabs/kyc.jade:64 +#: src/jade/tabs/kyc.jade:71 msgid "Street Address" msgstr "Via e numero civico" -#: src/jade/tabs/kyc.jade:69 +#: src/jade/tabs/kyc.jade:76 msgid "City" msgstr "Città" -#: src/jade/tabs/kyc.jade:73 +#: src/jade/tabs/kyc.jade:80 msgid "State" msgstr "Stato" -#: src/jade/tabs/kyc.jade:77 +#: src/jade/tabs/kyc.jade:84 msgid "ZIP" msgstr "CAP" -#: src/jade/tabs/kyc.jade:81 +#: src/jade/tabs/kyc.jade:88 msgid "Date of Birth" msgstr "Data di nascita" -#: src/jade/tabs/kyc.jade:85 +#: src/jade/tabs/kyc.jade:92 msgid "Month{{1}}" msgstr "Mese{{1}}" -#: src/jade/tabs/kyc.jade:88 +#: src/jade/tabs/kyc.jade:95 msgid "Day{{1}}" msgstr "Giorno{{1}}" -#: src/jade/tabs/kyc.jade:91 +#: src/jade/tabs/kyc.jade:98 msgid "Year{{1}}" msgstr "Anno{{1}}" -#: src/jade/tabs/kyc.jade:104 +#: src/jade/tabs/kyc.jade:113 msgid "Continue to identity questions" msgstr "Continua con le domande sulla identità" -#: src/jade/tabs/kyc.jade:110 +#: src/jade/tabs/kyc.jade:114 src/jade/tabs/kyc.jade:129 +#: src/jade/tabs/kyc.jade:154 src/jade/tabs/kyc.jade:184 +#: src/jade/tabs/login.jade:17 +msgid "Verifying..." +msgstr "Verifica in corso..." + +#: src/jade/tabs/kyc.jade:120 msgid "{{ q.question }}{{1}}" msgstr "{{ q.question }}{{1}}" -#: src/jade/tabs/kyc.jade:113 +#: src/jade/tabs/kyc.jade:123 msgid "{{ a.answer }}" msgstr "{{ a.answer }}" -#: src/jade/tabs/kyc.jade:116 +#: src/jade/tabs/kyc.jade:128 msgid "Continue to two-factor authentication" msgstr "Continua con l'autentificazione a due fattori" -#: src/jade/tabs/kyc.jade:124 +#: src/jade/tabs/kyc.jade:137 msgid "Two-factor authentication provides extra security for your account." msgstr "L'autentificazione a due fattori fornisce una sicurezza maggiore al tuo account." -#: src/jade/tabs/kyc.jade:132 +#: src/jade/tabs/kyc.jade:145 msgid "" "Ripple Trade has partnered with Authy to provide better security for your " "account.By continuing, you agree to Authy's {{1:Terms of Service}}." msgstr "Ripple Trade ha stretto accordi con Authy per rendere più sicuro il tuo account. Continuando tu accetti i {{1:Termini di Servizio}} di Authy." -#: src/jade/tabs/kyc.jade:138 +#: src/jade/tabs/kyc.jade:153 msgid "Verify phone number" msgstr "Verifica numero di telefono" -#: src/jade/tabs/kyc.jade:148 +#: src/jade/tabs/kyc.jade:164 msgid "change" msgstr "modifica" -#: src/jade/tabs/kyc.jade:152 +#: src/jade/tabs/kyc.jade:168 msgid "" "A verification code has been sent to +{{ currentCountryCode }} {{ " "phoneNumber }}." msgstr "Un codice di verifica è stato inviato a +{{ currentCountryCode }} {{ phoneNumber }}." -#: src/jade/tabs/kyc.jade:156 src/jade/tabs/login/form.jade:15 -#: src/jade/tabs/security.jade:88 +#: src/jade/tabs/kyc.jade:172 src/jade/tabs/login/form.jade:16 +#: src/jade/tabs/security.jade:97 msgid "Verification Code" msgstr "Codice di verifica" -#: src/jade/tabs/login.jade:5 src/jade/tabs/login.jade:19 -#: src/jade/tabs/login.jade:83 +#: src/jade/tabs/kyc.jade:183 +msgid "Submit code" +msgstr "Invia codice" + +#: src/jade/tabs/login.jade:4 src/jade/tabs/migrate.jade:4 +#: src/jade/tabs/recover.jade:3 src/jade/tabs/register.jade:5 +#: src/jade/tabs/register.jade:137 src/jade/tabs/register.jade:184 +msgid "Welcome to Ripple Trade" +msgstr "Benvenuto in Ripple Trade" + +#: src/jade/tabs/login.jade:6 src/jade/tabs/migrate.jade:6 +#: src/jade/tabs/recover.jade:5 src/jade/tabs/register.jade:7 +#: src/jade/tabs/register.jade:139 src/jade/tabs/register.jade:186 +msgid "Trade hundreds of assets, from XRP to crypto to gold to fiat." +msgstr "Scambia centinaia di beni, dagli XRP alle crypto, dall'oro alle valute." + +#: src/jade/tabs/login.jade:15 src/jade/tabs/login.jade:31 msgid "Log In" msgstr "Entra" -#: src/jade/tabs/login.jade:7 -msgid "Verifying..." -msgstr "Verifica in corso..." - -#: src/jade/tabs/login.jade:8 +#: src/jade/tabs/login.jade:18 msgid "You have successfully verified your email address." msgstr "Hai verificato con successo il tuo indirizzo email." -#: src/jade/tabs/login.jade:9 +#: src/jade/tabs/login.jade:19 msgid "" "Email verification token is invalid. It has either expired or has been " "resent. Please check your inbox for the most recent verification email." msgstr "Il codice di verifica dell'email non è valido. E' scaduto o ne è stato inviato uno nuovo. Per favore controlla la tua casella di posta per una email di verifica più recente." -#: src/jade/tabs/login.jade:21 +#: src/jade/tabs/login.jade:30 +msgid "Logging in" +msgstr "Entra" + +#: src/jade/tabs/login.jade:34 msgid "Verify" msgstr "Verifica" -#: src/jade/tabs/login.jade:25 src/jade/tabs/login.jade:26 -#: src/jade/tabs/recover.jade:5 -msgid "Account Recovery" -msgstr "Recupero Account" - -#: src/jade/tabs/login.jade:28 src/jade/tabs/register.jade:93 +#: src/jade/tabs/login.jade:36 src/jade/tabs/register.jade:114 msgid "Already have a ripple.com/client account? {{1:Migrate}}" msgstr "Hai già un account ripple.com/client? {{1:Migra}}" -#: src/jade/tabs/login.jade:30 src/jade/tabs/migrate.jade:26 -msgid "New to {{productName}}? {{1:Sign Up}}" -msgstr "Nuovo in {{productName}}? {{1:Registrati}}" +#: src/jade/tabs/login.jade:41 src/jade/tabs/login.jade:42 +#: src/jade/tabs/recover.jade:9 +msgid "Account Recovery" +msgstr "Recupero Account" -#: src/jade/tabs/login.jade:37 +#: src/jade/tabs/login.jade:49 msgid "{{1:You're sending money to}}{{2}}." msgstr "{{1:Stai inviando denaro a}}{{2}}." -#: src/jade/tabs/login.jade:41 +#: src/jade/tabs/login.jade:53 msgid "{{1:You're sending}}{{2}}{{3: to }}{{4}}." msgstr "{{1:Stai inviando}}{{2}}{{3: a }}{{4}}." -#: src/jade/tabs/login.jade:51 +#: src/jade/tabs/login.jade:63 msgid "" "{{1:You're connecting to the gateway}}{{2}}{{3:for{{1}}}}{{4:with a limit " "of{{1}}}}." msgstr "{{1:Ti stai collegando al gateway}}{{2}}{{3:per{{1}}}}{{4:con un limite di{{1}}}}." -#: src/jade/tabs/login.jade:66 +#: src/jade/tabs/login.jade:78 msgid "{{1:You're adding}}{{2}}{{3:to your contacts list}}" msgstr "{{1:Stai aggiungendo}}{{2}}{{3:alla tua lista contatti}}" -#: src/jade/tabs/login.jade:84 +#: src/jade/tabs/login.jade:95 +msgid "{{1}} Log In" +msgstr "{{1}} Entra" + +#: src/jade/tabs/login.jade:98 msgid "You can confirm this transaction on the next page." msgstr "Puoi confermare questa transazione nella prossima pagina." -#: src/jade/tabs/login.jade:85 +#: src/jade/tabs/login.jade:99 msgid "New to {{productName}}? {{1:Create a wallet}}" msgstr "Nuovo in {{productName}}? {{1:Crea un portafoglio}}" -#: src/jade/tabs/login/form.jade:11 src/jade/tabs/security.jade:82 +#: src/jade/tabs/login/form.jade:12 src/jade/tabs/security.jade:91 msgid "" "Please enter the verification code from the SMS message sent to your device:" msgstr "Prego inserisci il codice di verifica inviato attraverso SMS al tuo dispositivo:" -#: src/jade/tabs/login/form.jade:12 src/jade/tabs/security.jade:83 +#: src/jade/tabs/login/form.jade:13 src/jade/tabs/security.jade:92 msgid "" "Please enter the verification code from the Authy app installed on your " "device:" msgstr "Per favore inserisci il codice di verifica dall'app di Authy installata sul tuo dispositivo:" -#: src/jade/tabs/login/form.jade:22 +#: src/jade/tabs/login/form.jade:23 msgid "Resend" msgstr "Reinvia" -#: src/jade/tabs/login/form.jade:23 src/jade/tabs/security.jade:95 +#: src/jade/tabs/login/form.jade:24 src/jade/tabs/security.jade:105 msgid "Send Via SMS" -msgstr "Invia via SMS" +msgstr "Invia tramite SMS" -#: src/jade/tabs/login/form.jade:29 +#: src/jade/tabs/login/form.jade:30 msgid "Remember me on this device for 30 days" msgstr "Ricordami su questo dispositivo per 30 giorni" -#: src/jade/tabs/migrate.jade:5 src/jade/tabs/register.jade:10 -#: src/jade/tabs/register.jade:116 src/jade/tabs/register.jade:159 +#: src/jade/tabs/migrate.jade:10 src/jade/tabs/register.jade:17 +#: src/jade/tabs/register.jade:142 src/jade/tabs/register.jade:189 msgid "Migrate" msgstr "Migrare" -#: src/jade/tabs/migrate.jade:6 +#: src/jade/tabs/migrate.jade:11 msgid "" "To begin migration, enter the name and passphrase used to encrypt your " "ripple.com/client wallet below. After migration, you will no longer be able " "to login on ripple.com/client." msgstr "Per iniziare la migrazione inserisci il nome o la password usata per crittografare il tuo client ripple.com. Dopo la migrazione non potrai più accedere con il client ripple.com." -#: src/jade/tabs/migrate.jade:10 -msgid "Existing ripple.com/client Wallet name" -msgstr " Esistente ripple.com/client nome Portafoglio" +#: src/jade/tabs/migrate.jade:15 +msgid "Existing ripple.com/client Wallet name" +msgstr " Nome portafoglio esistente ripple.com/client" + +#: src/jade/tabs/migrate.jade:18 +msgid "Passphrase" +msgstr "Password" + +#: src/jade/tabs/migrate.jade:31 +msgid "Begin Migration" +msgstr "Inizia Migrazione" + +#: src/jade/tabs/migrate.jade:32 +msgid "New to {{productName}}? {{1:Sign Up}}" +msgstr "Nuovo in {{productName}}? {{1:Registrati}}" + +#: src/jade/tabs/migrate.jade:34 +msgid "Have a {{productName}} account? {{1:Log In}}" +msgstr "Hai {{productName}} account? {{1:Entra}}" + +#: src/jade/tabs/mxn.jade:38 +msgid "Mexican Peso Deposit" +msgstr "Deposito di Pesos messicani" + +#: src/jade/tabs/mxn.jade:42 +msgid "Bitso (~bitso) {{1}}{{2}}" +msgstr "Bitso (~bitso) {{1}}{{2}}" + +#: src/jade/tabs/mxn.jade:47 +msgid "All countries except the US" +msgstr "Tutti i paesi tranne gli USA" + +#: src/jade/tabs/mxn.jade:58 +msgid "" +"Ripple Trade has partnered with Bitso to provide easy access to MXN (Mexican" +" Peso). By continuing, you agree with Bitso’s terms of service. Following " +"this action will enable Bitso to hold MXN on your behalf." +msgstr "Ripple Trade ha stretto accordi con Bitso per rendere più facile l'accesso ai MXN (Pesos Messicani). Continuando, tu accetti i termini di servizio di Bitso. Ciò permetterà a Bitso di detenere MXN a tuo nome." + +#: src/jade/tabs/mxn.jade:80 +msgid "TO FUND/REDEEM MEXICAN PESO:" +msgstr "PER DEPOSITARE/RISCATTARE PESOS MESSICANI:" + +#: src/jade/tabs/mxn.jade:82 +msgid "Register or login at {{1}}to initiate deposits and withdrawals." +msgstr "Registrati o entra in {{1}} per iniziare a depositare e prelevare." + +#: src/jade/tabs/mxn.jade:86 +msgid "" +"A valid, non-US, state-issued ID (passport, driver's license, etc)." +msgstr "Un documento di identità valido, non US (passaporto, patente, etc)." + +#: src/jade/tabs/mxn.jade:87 +msgid "" +"Proof of address (utility bill or other type of bill that has your address " +"on it). Verification is required for peso deposits or withdrawals." +msgstr "Dimostrare il tuo indirizzo (bolletta della luce o un'altra bolletta che contiene il tuo indirizzo). La verifica è necessaria per depositare o prelevare pesos." + +#: src/jade/tabs/mxn.jade:89 +msgid "" +"To fund your Ripple account, see the below options. Once a balance is " +"deposited with Bitso, you can send it to your Ripple account using the Bitso" +" Dashboard." +msgstr "Per depositare sul tuo conto Ripple scegli tra le seguenti opzioni. Quando il saldo sarà depositato con Bitso potrai inviarlo al tuo conto Ripple tramite la Dashboard di Bitso." + +#: src/jade/tabs/mxn.jade:90 +msgid "" +"To withdraw from your Ripple account, click on the 'Redeem from Ripple' " +"button on the Bitso Dashboard." +msgstr "Per prelevare dal tuo conto Ripple clicca sul bottone 'Redeem from Ripple' sulla Bitso Dashboard." + +#: src/jade/tabs/mxn.jade:92 src/jade/tabs/usd.jade:89 +msgid "DEPOSIT OPTIONS" +msgstr "OPZIONI DI DEPOSITO" + +#: src/jade/tabs/mxn.jade:94 +msgid "Bitso accepts deposits by the following methods:" +msgstr "Bitso accetta depositi tramite le seguenti modalità:" + +#: src/jade/tabs/mxn.jade:96 src/jade/tabs/mxn.jade:106 +msgid "Bank Wire" +msgstr "Bonifico Bancario" + +#: src/jade/tabs/mxn.jade:97 src/jade/tabs/mxn.jade:107 +msgid "SPEI (Mexican instant inter-bank transfer)" +msgstr "SPEI (bonifico messicano interbancario)" + +#: src/jade/tabs/mxn.jade:98 src/jade/tabs/mxn.jade:108 +msgid "Bitcoin" +msgstr "Bitcoin" -#: src/jade/tabs/migrate.jade:13 -msgid "Passphrase" -msgstr "Password" +#: src/jade/tabs/mxn.jade:99 +msgid "MXN Cash (at locations across Mexico)" +msgstr "MXN in Contante (presso le filiali messicane)" -#: src/jade/tabs/migrate.jade:25 -msgid "Begin Migration" -msgstr "Inizia Migrazione" +#: src/jade/tabs/mxn.jade:100 +msgid "Pademobile wallet" +msgstr "Portafoglio Pademobile" -#: src/jade/tabs/migrate.jade:28 -msgid "Have a {{productName}} account? {{1:Log In}}" -msgstr "Hai {{productName}} account? {{1:Entra}}" +#: src/jade/tabs/mxn.jade:102 src/jade/tabs/usd.jade:99 +msgid "WITHDRAWAL OPTIONS" +msgstr "OPZIONI DI PRELIEVO" + +#: src/jade/tabs/mxn.jade:104 +msgid "Bitso offers withdrawals via the following methods:" +msgstr "Bitso offre opzioni di prelievo tramite le seguenti modalità:" -#: src/jade/tabs/recover.jade:7 +#: src/jade/tabs/recover.jade:11 msgid "" "You can only recover your Ripple Trade account with a secret key. You will " "recover the account's Ripple name, contacts and other information." msgstr "Puoi solo recuperare il tuo account Ripple Trade con la chiave segreta. Recupererai il nome Ripple, i contatti e altre informazioni relative all'account." -#: src/jade/tabs/recover.jade:9 src/jade/tabs/recover.jade:28 +#: src/jade/tabs/recover.jade:13 src/jade/tabs/recover.jade:33 msgid "Ripple Name" msgstr "Nome Ripple" -#: src/jade/tabs/recover.jade:14 +#: src/jade/tabs/recover.jade:18 msgid "Secret Key" msgstr "Chiave Segreta" -#: src/jade/tabs/recover.jade:17 +#: src/jade/tabs/recover.jade:21 msgid "Unable to recover account." msgstr "Impossibile recuperare l'account." -#: src/jade/tabs/recover.jade:22 src/jade/tabs/register.jade:74 +#: src/jade/tabs/recover.jade:27 src/jade/tabs/register.jade:95 msgid "Recover Account" -msgstr "Recupera Password" +msgstr "Recupera Account" -#: src/jade/tabs/recover.jade:24 src/jade/tabs/recover.jade:50 +#: src/jade/tabs/recover.jade:29 src/jade/tabs/recover.jade:56 msgid "Set Password" msgstr "Imposta Password" -#: src/jade/tabs/recover.jade:26 +#: src/jade/tabs/recover.jade:31 msgid "" "Your account was sucessfully recovered. Please re-encrypt your account with " "a new password." msgstr "Il tuo account è stato ripristinato con successo. Per favore rendi il tuo account più sicuro con una nuova password." -#: src/jade/tabs/recover.jade:36 src/jade/tabs/register.jade:45 -#: src/jade/tabs/security.jade:119 +#: src/jade/tabs/recover.jade:41 src/jade/tabs/register.jade:62 +#: src/jade/tabs/security.jade:132 msgid "" "Your password is weak. It does not contain numbers and symbols or it is too " "short." msgstr "La tua password è debole. Non contiene numeri e simboli oppure è troppo corta." -#: src/jade/tabs/recover.jade:38 src/jade/tabs/register.jade:47 -#: src/jade/tabs/security.jade:121 +#: src/jade/tabs/recover.jade:43 src/jade/tabs/register.jade:65 +#: src/jade/tabs/security.jade:134 msgid "" "Your Ripple name and password cannot match. Please create a new password." msgstr "Il tuo nome Ripple e la password non possono coincidere. Per favore digita una nuova password." -#: src/jade/tabs/recover.jade:45 +#: src/jade/tabs/recover.jade:45 src/jade/tabs/register.jade:67 +#: src/jade/tabs/security.jade:136 +msgid "Confirm password" +msgstr "Conferma password" + +#: src/jade/tabs/recover.jade:48 src/jade/tabs/register.jade:71 +#: src/jade/tabs/security.jade:139 +msgid "Passwords do not match" +msgstr "Le password non corrispondono" + +#: src/jade/tabs/recover.jade:50 msgid "Unable to change your account password." msgstr "Impossibile cambiare la password del tuo account." -#: src/jade/tabs/recover.jade:49 +#: src/jade/tabs/recover.jade:55 msgid "Updating..." msgstr "Aggiornamento in corso..." -#: src/jade/tabs/recover.jade:51 +#: src/jade/tabs/recover.jade:57 msgid "Remember your password? {{1:Log In}}" msgstr "Ricordi la password? {{1:Entra}}" -#: src/jade/tabs/register.jade:5 -msgid "" -"Ripple Trade is the only platform where you can trade between stores of " -"value spanning fiat, crypto, precious metals and more." -msgstr "Ripple Trade è l'unica piattaforma dove puoi scambiare valute diverse, fiat, crypto, metalli preziosi e altro ancora." - -#: src/jade/tabs/register.jade:9 src/jade/tabs/register.jade:90 -#: src/jade/tabs/register.jade:115 src/jade/tabs/register.jade:158 +#: src/jade/tabs/register.jade:13 src/jade/tabs/register.jade:109 +#: src/jade/tabs/register.jade:141 src/jade/tabs/register.jade:188 msgid "Sign Up" msgstr "Registrati" -#: src/jade/tabs/register.jade:12 src/jade/tabs/register.jade:14 -#: src/jade/tabs/register.jade:16 src/jade/tabs/register.jade:120 -#: src/jade/tabs/register.jade:122 src/jade/tabs/register.jade:161 -#: src/jade/tabs/register.jade:163 src/jade/tabs/register.jade:165 +#: src/jade/tabs/register.jade:19 src/jade/tabs/register.jade:21 +#: src/jade/tabs/register.jade:23 src/jade/tabs/register.jade:146 +#: src/jade/tabs/register.jade:148 src/jade/tabs/register.jade:191 +#: src/jade/tabs/register.jade:193 src/jade/tabs/register.jade:195 msgid "Step {{1}}" msgstr "Step {{1}}" -#: src/jade/tabs/register.jade:19 +#: src/jade/tabs/register.jade:26 msgid "Create Ripple name" -msgstr "Crea nome Ripple" +msgstr "Crea un nome Ripple" -#: src/jade/tabs/register.jade:20 +#: src/jade/tabs/register.jade:27 msgid "" "Please choose a Ripple name below. You will use this Ripple name to login to" " Ripple Trade, so remember it! Ripple names are unique and public, like your" " current Ripple address. {{1}}" msgstr "Per favore scegli un nome Ripple qui sotto. Userai questo nome Ripple per accedere a Ripple Trade quindi ricordatelo! I nomi Ripple sono unici e pubblici, così come il tuo indirizzo Ripple. {{1}}" -#: src/jade/tabs/register.jade:21 +#: src/jade/tabs/register.jade:28 msgid "Learn More" msgstr "Più informazioni" -#: src/jade/tabs/register.jade:36 +#: src/jade/tabs/register.jade:41 +msgid "Reserved for {{usernameReservedFor}}" +msgstr "Riservato per {{usernameReservedFor}}" + +#: src/jade/tabs/register.jade:43 +msgid "" +"This name belongs to a high-traffic website and has been reserved to prevent" +" phishing." +msgstr "Questo nome coincide con quello di un sito web noto ed è stato riservato per prevenire il phishing." + +#: src/jade/tabs/register.jade:49 msgid "You can only use the following characters: a-z, 0-9 and hyphens (-)" msgstr "Puoi usare solo i seguenti caratteri: a-z, 0-9 e trattini (-)" -#: src/jade/tabs/register.jade:39 +#: src/jade/tabs/register.jade:55 msgid "Cannot use hyphens in a row (--)" msgstr "Impossibile ripetere i trattini (--)" -#: src/jade/tabs/register.jade:60 +#: src/jade/tabs/register.jade:80 msgid "Email address is invalid" msgstr "Indirizzo email non valido" -#: src/jade/tabs/register.jade:62 src/jade/tabs/security.jade:138 +#: src/jade/tabs/register.jade:82 src/jade/tabs/security.jade:151 msgid "Secret key" msgstr "Chiave segreta" -#: src/jade/tabs/register.jade:63 src/jade/tabs/send.jade:50 -#: src/jade/tabs/trade.jade:331 src/jade/tabs/trade.jade:337 +#: src/jade/tabs/register.jade:83 src/jade/tabs/send.jade:43 +#: src/jade/tabs/trade.jade:441 msgid "hide" msgstr "nascondi" -#: src/jade/tabs/register.jade:67 +#: src/jade/tabs/register.jade:88 msgid "Secret Account Key is invalid" msgstr "La Chiave Segreta dell'Account non è valida" -#: src/jade/tabs/register.jade:69 +#: src/jade/tabs/register.jade:90 msgid "" "The account ~{{1}}{{2}} has already been created using this secret key." msgstr "L'account ~{{1}}{{2}} è già stato creato usando questa chiave segreta." -#: src/jade/tabs/register.jade:75 -msgid "Need to use your secret key? {{1}}" -msgstr "Hai bisogno di utilizzare la tua chiave segreta? {{1}}" - -#: src/jade/tabs/register.jade:77 -msgid "Use key" -msgstr "Usa chiave" - -#: src/jade/tabs/register.jade:80 -msgid "I agree to the {{productName}} {{1:end-user license agreement}}" -msgstr "Accetto {{productName}} {{1:accordo di licenza con l'utente finale}}" +#: src/jade/tabs/register.jade:98 +msgid "I agree to the {{productName}} {{1:Terms of Use}}" +msgstr "Accetto i {{1:Termini di Utilizzo}} di {{productName}}" -#: src/jade/tabs/register.jade:83 +#: src/jade/tabs/register.jade:101 msgid "" "Please see our {{1}} to see how we collect, use and share information about " "you" -msgstr "Per favore controlla il nostro {{1}} per vedere come noi raccogliamo, usiamo e condividiamo le tue informazioni" +msgstr "Per favore controlla le nostre {{1}} per vedere come noi raccogliamo, usiamo e condividiamo le tue informazioni" -#: src/jade/tabs/register.jade:91 +#: src/jade/tabs/register.jade:110 msgid "Migrate Account" msgstr "Migrare Account" -#: src/jade/tabs/register.jade:100 +#: src/jade/tabs/register.jade:111 +msgid "Need to use your secret key? {{1}}" +msgstr "Hai bisogno di utilizzare la tua chiave segreta? {{1}}" + +#: src/jade/tabs/register.jade:113 +msgid "Use key" +msgstr "Usa chiave" + +#: src/jade/tabs/register.jade:121 msgid "An error occurred during registration. Please try again later." msgstr "C'è stato un problema durante la registrazione. Per favore riprova più tardi." -#: src/jade/tabs/register.jade:101 +#: src/jade/tabs/register.jade:122 msgid "The reported error was: {{1}}" msgstr "L'errore è stato il seguente: {{1}}" -#: src/jade/tabs/register.jade:109 +#: src/jade/tabs/register.jade:131 msgid "" "There is already a wallet using this username, please choose a different " "username and try again." msgstr "C'è già un portafoglio con questo nome, per favore scegli un nome differente e prova ancora." -#: src/jade/tabs/register.jade:124 +#: src/jade/tabs/register.jade:150 msgid "" "By proceeding, you understand that Ripple Trade does not provide a password " "or secret key recovery mechanism. If you forget your Ripple name/password " "and secret key, you will be unable to access this Ripple account." -msgstr "Procedendo, prendi atto che Ripple Trade non prevede un meccanismo per il recupero della password o della chiave segreta. Se dimentichi il nome/password di Ripple e la chiave segreta, sarà impossibile accedere all'account Ripple." +msgstr "Procedendo, prendi atto che Ripple Trade non prevede un meccanismo per il recupero della password o della chiave segreta. Se dimentichi il nome/password di Ripple e la chiave segreta, sarà impossibile accedere a questo account Ripple." -#: src/jade/tabs/register.jade:129 +#: src/jade/tabs/register.jade:155 msgid "" "You are now migrating your account- meaning you'll no longer be able to " "access your account from ripple.com/client. You will retain all of your " @@ -1785,906 +2531,1122 @@ msgid "" "continue your migration." msgstr "Ora stai migrando il tuo account; questo significa che non sarai più in grado di accedere al tuo account dal client ripple.com. Continuerai ad avere il tuo saldo, i contatti e la cronologia. Il tuo account avrà la stessa chiave segreta di prima. Se hai già salvato la chiave segreta, per favore continua la migrazione." -#: src/jade/tabs/register.jade:136 +#: src/jade/tabs/register.jade:162 msgid "" "The secret key unlocks access to all your account funds in the event you " "lose your Ripple name or password. Please write it down and store it " "somewhere private and safe. {{1:Read more}} about keys and wallet safety." msgstr "La chiave segreta sblocca l'accesso a tutti i fondi del tuo account anche se hai perso il tuo nome Ripple o la password. Per favore scrivila e salvala in un luogo privato e sicuro. {{1:Leggi di più}} riguardo le chiavi e la sicurezza dell'account." -#: src/jade/tabs/register.jade:141 +#: src/jade/tabs/register.jade:167 msgid "" "If you have not saved your secret key, please write it down and store it " "somewhere private and safe. In the event you lose your Ripple name or " "password, you can use this secret key to recover your funds." msgstr "Se non hai salvato la tua chiave segreta, per favore scrivila e salvala in un luogo privato e sicuro. Se dimentichi il tuo nome Ripple o la password, puoi usare questa chiave per accedere ai tuoi fondi." -#: src/jade/tabs/register.jade:154 +#: src/jade/tabs/register.jade:176 +msgid "Show secret key" +msgstr "Mostra chiave segreta" + +#: src/jade/tabs/register.jade:177 +msgid "Hide secret key" +msgstr "Nascondi chiave segreta" + +#: src/jade/tabs/register.jade:180 msgid "Continue to email verification" msgstr "Procedi alla verifica dell'email" -#: src/jade/tabs/register.jade:167 +#: src/jade/tabs/register.jade:197 msgid "" "We’ve sent an email to {{1}}. To complete registration, click the link in " "the email." msgstr "Abbiamo inviato una email a {{1}}. Per completare la registrazione clicca il link nella email." -#: src/jade/tabs/register.jade:170 +#: src/jade/tabs/register.jade:200 msgid "Email token has been resent." msgstr "L'email con il codice di verifica è stata reinviata." -#: src/jade/tabs/register.jade:173 +#: src/jade/tabs/register.jade:203 msgid "Email Address:" msgstr "Indirizzo email:" -#: src/jade/tabs/register.jade:178 +#: src/jade/tabs/register.jade:210 msgid "Re-send Email" msgstr "Rinvia Email" -#: src/jade/tabs/security.jade:5 +#: src/jade/tabs/security.jade:7 msgid "Active Session Timeout" msgstr "Sessione Scaduta" -#: src/jade/tabs/security.jade:6 +#: src/jade/tabs/security.jade:8 msgid "" "To view or edit your security settings, you must currently have an active " "session." msgstr "Per vedere o modificare le impostazioni si sicurezza, devi avere una sessione attiva." -#: src/jade/tabs/security.jade:13 +#: src/jade/tabs/security.jade:16 msgid "Restore Session" -msgstr "Ripristina sessione" +msgstr "Ripristina Sessione" -#: src/jade/tabs/security.jade:22 +#: src/jade/tabs/security.jade:25 msgid "Your Ripple password has been changed, please login again" msgstr "La tua password di Ripple è stata cambiata, per favore accedi di nuovo." -#: src/jade/tabs/security.jade:24 +#: src/jade/tabs/security.jade:27 msgid "Couldn't change your Ripple password, please try again later." msgstr "Non è stato possibile cambiare la tua password Ripple, per favore riprova più tardi." -#: src/jade/tabs/security.jade:27 +#: src/jade/tabs/security.jade:30 msgid "Changing your Ripple password..." msgstr "Sto cambiando la tua password Ripple.." -#: src/jade/tabs/security.jade:28 +#: src/jade/tabs/security.jade:31 msgid "Your Ripple password has been changed successfully." msgstr "La tua password Ripple è stata cambiata." -#: src/jade/tabs/security.jade:29 +#: src/jade/tabs/security.jade:32 msgid "Unable to load Two-factor authentication settings." msgstr "Impossibile caricare le impostazioni dell'autenticazione a due fattori." -#: src/jade/tabs/security.jade:30 +#: src/jade/tabs/security.jade:33 msgid "Error saving Two-factor authentication settings." msgstr "Errore durante il salvataggio dell'autenticazione a due fattori." -#: src/jade/tabs/security.jade:31 +#: src/jade/tabs/security.jade:34 msgid "The verification code is invalid." msgstr "Il codice di verifica non è valido." -#: src/jade/tabs/security.jade:32 +#: src/jade/tabs/security.jade:36 msgid "Two-factor authentication has been successfully enabled." msgstr "L'autenticazione a due fattori è stata abilitata con successo." -#: src/jade/tabs/security.jade:33 +#: src/jade/tabs/security.jade:37 msgid "Two-factor authentication has been successfully disabled." msgstr "L'autenticazione a due fattori è stata disabilitata con successo." +#: src/jade/tabs/security.jade:38 +msgid "Password protection has been successfully enabled." +msgstr "La protezione con password è stata abilitata con successo." + #: src/jade/tabs/security.jade:39 +msgid "Password protection has been successfully disabled." +msgstr "La protezione con password è stata disabilitata con successo." + +#: src/jade/tabs/security.jade:45 msgid "Security settings" msgstr "Impostazioni di sicurezza" -#: src/jade/tabs/security.jade:44 +#: src/jade/tabs/security.jade:51 msgid "Loading Two-factor authentication settings..." msgstr "Sto caricando le impostazioni dell'autenticazione a due fattori..." -#: src/jade/tabs/security.jade:47 +#: src/jade/tabs/security.jade:55 msgid "Enabled" msgstr "Abilitato" -#: src/jade/tabs/security.jade:48 +#: src/jade/tabs/security.jade:56 msgid "Disabled" msgstr "Disabilitato" -#: src/jade/tabs/security.jade:50 +#: src/jade/tabs/security.jade:58 msgid "disable" msgstr "disabilita" -#: src/jade/tabs/security.jade:52 +#: src/jade/tabs/security.jade:60 msgid "enable" msgstr "abilita" -#: src/jade/tabs/security.jade:58 +#: src/jade/tabs/security.jade:66 msgid "" "Authy is providing two-factor authentication for Ripple Trade. To enable " "two-factor authentication, you must share some information with Authy." msgstr "Authy fornisce l'autenticazione a due fattori in Ripple Trade. Per abilitare l'autenticazione a due fattori, devi condividere delle informazioni con Authy." -#: src/jade/tabs/security.jade:61 +#: src/jade/tabs/security.jade:69 msgid "- Your email address:" msgstr "- Il tuo indirizzo email:" -#: src/jade/tabs/security.jade:64 +#: src/jade/tabs/security.jade:72 msgid "- Your phone number:" msgstr "- Il tuo numero di telefono:" -#: src/jade/tabs/security.jade:66 +#: src/jade/tabs/security.jade:74 msgid "By proceeding, you agree to the Authy {{1: terms of service.}}" msgstr "Proseguendo, sei d'accordo con i {{1: termini di servizio.}} di Authy" -#: src/jade/tabs/security.jade:70 +#: src/jade/tabs/security.jade:78 msgid "Share" msgstr "Condividi" -#: src/jade/tabs/security.jade:75 +#: src/jade/tabs/security.jade:84 msgid "Saving settings..." msgstr "Salvataggio impostazioni..." -#: src/jade/tabs/security.jade:76 +#: src/jade/tabs/security.jade:85 msgid "Disabling Two-factor authentication..." msgstr "Sto disabilitando l'autenticazione a due fattori..." -#: src/jade/tabs/security.jade:77 +#: src/jade/tabs/security.jade:86 msgid "Enabling Two-factor authentication..." msgstr "Sto abilitando l'autenticazione a due fattori..." -#: src/jade/tabs/security.jade:94 +#: src/jade/tabs/security.jade:104 msgid "Resend Code" msgstr "Reinvia il codice" -#: src/jade/tabs/security.jade:99 +#: src/jade/tabs/security.jade:110 msgid "Enable" msgstr "Abilita" -#: src/jade/tabs/security.jade:103 +#: src/jade/tabs/security.jade:114 msgid "Ripple password" msgstr "Password di Ripple" -#: src/jade/tabs/security.jade:116 +#: src/jade/tabs/security.jade:129 msgid "New password" msgstr "Nuova password" -#: src/jade/tabs/security.jade:140 +#: src/jade/tabs/security.jade:153 msgid "" "Your secret key unlocks access to your account funds. Please write it down " "and store it somewhere private and safe. In the event you lose your Ripple " "name or password, you can use this secret key to recover your funds." msgstr "La tua chiave segreta sblocca l'accesso ai fondi del tuo account. Per favore scrivila e salvala in un luogo privato e sicuro. Se dimentichi il tuo nome Ripple o la password, puoi usare questa chiave segreta per recuperare i tuoi fondi." -#: src/jade/tabs/security.jade:150 +#: src/jade/tabs/security.jade:165 msgid "Password protection for transactions" msgstr "Protezione password per le transazioni" -#: src/jade/tabs/security.jade:153 +#: src/jade/tabs/security.jade:168 msgid "" "If you turn off password requests, you’ll still need to enter your password " "after each page refresh." msgstr "Se disabiliti la richiesta della password, dovrai comunque inserire la tua password dopo ogni refresh della pagina." -#: src/jade/tabs/security.jade:161 +#: src/jade/tabs/security.jade:176 msgid "Yes" msgstr "Sì" -#: src/jade/tabs/security.jade:162 +#: src/jade/tabs/security.jade:177 msgid "No" msgstr "No" +#: src/jade/tabs/security.jade:192 +msgid "Delete Ripple Trade account" +msgstr "Elimina l'account Ripple Trade" + +#: src/jade/tabs/security.jade:194 +msgid "" +"This deletes your Ripple Trade account. You will no longer be able to login " +"to Ripple Trade and your account data will be deleted. However, you can " +"still access your funds using your secret key." +msgstr "Ciò cancellerà il tuo account Ripple Trade. Non sarai più in grado di entrare in Ripple Trade e i dati del tuo account saranno cancellati. In ogni caso potrai sempre accedere ai tuoi fondi usando la tua chiave segreta." + #: src/jade/tabs/send.jade:12 msgid "You have to be funded before you can send money" msgstr "Devi avere dei fondi prima di poter inviare denaro" -#: src/jade/tabs/send.jade:19 src/jade/tabs/send.jade:32 +#: src/jade/tabs/send.jade:25 msgid "Recipient" msgstr "Destinatario" -#: src/jade/tabs/send.jade:24 src/jade/tabs/send.jade:37 +#: src/jade/tabs/send.jade:30 msgid "Please enter a recipient." msgstr "Per favore inserisci un destinatario." -#: src/jade/tabs/send.jade:26 +#: src/jade/tabs/send.jade:32 msgid "" "Recipient should be a Ripple name, a contact, or Ripple/Bitcoin address." msgstr "Il destinatario deve essere un nome Ripple, un contatto o un indirizzo Ripple/Bitcoin." -#: src/jade/tabs/send.jade:28 src/jade/tabs/send.jade:41 +#: src/jade/tabs/send.jade:34 msgid "This email address is not Ripple-enabled." msgstr "Questo indirizzo email non è abilitato per Ripple." -#: src/jade/tabs/send.jade:39 -msgid "Recipient should be a contact or Ripple/Bitcoin address." -msgstr "Il destinatario deve essere un contatto o un indirizzo Ripple/Bitcoin." - -#: src/jade/tabs/send.jade:45 +#: src/jade/tabs/send.jade:38 msgid "Show destination tag" msgstr "Visualizza l'etichetta del destinatario" -#: src/jade/tabs/send.jade:54 +#: src/jade/tabs/send.jade:47 msgid "Destination cannot be blank." msgstr "Il destinatario non può essere vuoto." -#: src/jade/tabs/send.jade:55 +#: src/jade/tabs/send.jade:48 msgid "" "Recipient requires a destination tag to be specified for the transaction. If" " you don't know the destination tag, please contact them before doing a " "transaction." msgstr "Il destinatario richiede un'etichetta di destinazione da specificare per la transazione. Se non si conosce l'etichetta di destinazione, si prega di contattarlo prima di fare una transazione." -#: src/jade/tabs/send.jade:60 +#: src/jade/tabs/send.jade:53 msgid "Source tag" msgstr "Etichetta del mittente" -#: src/jade/tabs/send.jade:63 +#: src/jade/tabs/send.jade:56 msgid "Invalid source tag" msgstr "Etichetta del mittente non valida" -#: src/jade/tabs/send.jade:75 +#: src/jade/tabs/send.jade:59 +msgid "Invoice ID" +msgstr "ID fattura" + +#: src/jade/tabs/send.jade:62 +msgid "Invoice ID must not be more than 64 characters long." +msgstr "L'ID della fattura non deve essere lungo più di 64 caratteri." + +#: src/jade/tabs/send.jade:77 msgid "Recipient will receive" msgstr "Il destinatario riceverà" -#: src/jade/tabs/send.jade:86 +#: src/jade/tabs/send.jade:88 msgid "{{send.recipient | rpcontactname}} can't receive this currency." msgstr "{{send.recipient | rpcontactname}} non può ricevere questa valuta." -#: src/jade/tabs/send.jade:90 +#: src/jade/tabs/send.jade:92 src/jade/tabs/trust.jade:102 msgid "Amount must be greater than zero." msgstr "La quantità deve essere maggiore di zero." -#: src/jade/tabs/send.jade:91 +#: src/jade/tabs/send.jade:93 msgid "" -"This transaction exceeds your balance, you can send a max. of " -"{{account.max_spend | rpamount:{rel_precision: 0} }} XRP" -msgstr "Questa transazione supera le tue disponibilità, puoi inviare un massimo di {{account.max_spend | rpamount:{rel_precision: 0} }} XRP" +"You are either trying to send too little or too much XRP.Minimum amount is " +"0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "Stai cercando di inviare troppi o troppo pochi XRP. Il minimo è 0.000001 XRP e il massimo è 100 miliardi di XRP." -#: src/jade/tabs/send.jade:94 +#: src/jade/tabs/send.jade:97 msgid "" "Recipient does not allow XRP payments. Are you sure you want to send XRP " "anyway?" msgstr "Il destinatario non consente pagamenti in XRP. Sei sicuro di voler inviare XRP comunque?" -#: src/jade/tabs/send.jade:96 +#: src/jade/tabs/send.jade:99 msgid "" "{{send.recipient | rpcontactname}}trusts you for {{send.trust_limit | " "rpamount}} {{send.trust_limit | rpcurrency}}." msgstr "{{send.recipient | rpcontactname}}ti sta dando fiducia per {{send.trust_limit | rpamount}} {{send.trust_limit | rpcurrency}}." -#: src/jade/tabs/send.jade:100 +#: src/jade/tabs/send.jade:103 msgid "Send XRP" msgstr "Invia XRP" -#: src/jade/tabs/send.jade:104 +#: src/jade/tabs/send.jade:107 msgid "" "Destination account is unfunded; send at least {{send.xrp_deficiency | " "rpamount}} XRP to fund it.{{1}}" msgstr "L'account del destinatario è senza fondi; invia almeno {{send.xrp_deficiency | rpamount}} XRP per attivarlo.{{1}}" -#: src/jade/tabs/send.jade:109 +#: src/jade/tabs/send.jade:114 msgid "Checking" msgstr "Controllo" -#: src/jade/tabs/send.jade:111 +#: src/jade/tabs/send.jade:117 msgid "Analyzing address" msgstr "Verifico l'indirizzo" -#: src/jade/tabs/send.jade:113 +#: src/jade/tabs/send.jade:120 msgid "Scanning accepted currencies" msgstr "Sto verificando le valute accettate" -#: src/jade/tabs/send.jade:115 +#: src/jade/tabs/send.jade:123 msgid "Requesting quote" msgstr "Richiesta della quotazione in corso" -#: src/jade/tabs/send.jade:117 +#: src/jade/tabs/send.jade:126 msgid "Calculating paths" msgstr "Calcolo dei percorsi" -#: src/jade/tabs/send.jade:119 +#: src/jade/tabs/send.jade:129 msgid "Calculating alternatives" msgstr "Calcolo delle alternative" -#: src/jade/tabs/send.jade:121 +#: src/jade/tabs/send.jade:130 msgid "" "You cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. " "Either your account has insufficient funds, or {{send.recipient}} doesn't " "accept {{send.currency}}." msgstr "Non puoi inviare {{send.amount}} {{send.currency}} a {{send.recipient}}. Il tuo account non ha fondi sufficienti oppure {{send.recipient}} non accetta {{send.currency}}." -#: src/jade/tabs/send.jade:125 +#: src/jade/tabs/send.jade:134 msgid "" "You cannot send {{send.amount}} {{send.currency}} to{{send.recipient}}. Your" " account has insufficient funds." -msgstr "Non puoi inviare {{send.amount}} {{send.currency}} a{{send.recipient}}. Il tuo account ha fondi insufficienti." +msgstr "Non puoi inviare {{send.amount}} {{send.currency}} a{{send.recipient}}. Il tuo conto non ha fondi sufficienti." -#: src/jade/tabs/send.jade:128 +#: src/jade/tabs/send.jade:137 msgid "There are no valid currency choices for this destination." msgstr "Non ci sono valute valide per questo indirizzo." -#: src/jade/tabs/send.jade:130 +#: src/jade/tabs/send.jade:139 msgid "Error while retrieving quote for outbound payment. {{1}}" msgstr "Errore durante il recupero della quotazione per il pagamento in uscita. {{1}}" -#: src/jade/tabs/send.jade:139 +#: src/jade/tabs/send.jade:148 msgid "You can send" msgstr "Tu puoi inviare" -#: src/jade/tabs/send.jade:141 +#: src/jade/tabs/send.jade:150 msgid "Or you can send" msgstr "O puoi inviare" -#: src/jade/tabs/send.jade:155 +#: src/jade/tabs/send.jade:164 msgid "Send {{ alt.amount | rpcurrency }} {{1}}" msgstr "Invia {{ alt.amount | rpcurrency }} {{1}}" -#: src/jade/tabs/send.jade:170 +#: src/jade/tabs/send.jade:181 msgid "Ripple is calculating a path for your payment." msgstr "Ripple sta calcolando il percorso per il tuo pagamento." -#: src/jade/tabs/send.jade:176 +#: src/jade/tabs/send.jade:186 msgid "You are sending {{1}} to" msgstr "Stai inviando {{1}} a" -#: src/jade/tabs/send.jade:184 +#: src/jade/tabs/send.jade:194 msgid "Destination tag: {{send.dt}}" msgstr "Etichetta del destinatario: {{send.dt}}" -#: src/jade/tabs/send.jade:185 +#: src/jade/tabs/send.jade:195 msgid "They will receive" msgstr "Loro riceveranno" -#: src/jade/tabs/send.jade:188 +#: src/jade/tabs/send.jade:198 msgid "You will pay at most" msgstr "Pagherai al massimo" -#: src/jade/tabs/send.jade:194 +#: src/jade/tabs/send.jade:204 msgid "Are you sure?" msgstr "Sei sicuro?" -#: src/jade/tabs/send.jade:200 +#: src/jade/tabs/send.jade:210 msgid "Password required to unlock wallet" msgstr "Password richiesta per sbloccare il portafoglio." -#: src/jade/tabs/send.jade:224 src/jade/tabs/send.jade:252 +#: src/jade/tabs/send.jade:234 src/jade/tabs/send.jade:266 msgid "Contact saved!" msgstr "Contatto salvato!" -#: src/jade/tabs/send.jade:226 src/jade/tabs/send.jade:254 +#: src/jade/tabs/send.jade:236 src/jade/tabs/send.jade:268 msgid "Add this address to contacts" msgstr "Aggiungi questo indirizzo ai contatti" -#: src/jade/tabs/send.jade:230 src/jade/tabs/send.jade:258 +#: src/jade/tabs/send.jade:242 src/jade/tabs/send.jade:274 msgid "Name this user" msgstr "Nome di questo utente" -#: src/jade/tabs/send.jade:236 src/jade/tabs/send.jade:265 -#: src/jade/tabs/trust.jade:283 +#: src/jade/tabs/send.jade:246 src/jade/tabs/send.jade:278 +msgid "This contact already exists, please choose another name." +msgstr "Questo contatto è già presente, per favore scegli un altro nome." + +#: src/jade/tabs/send.jade:250 src/jade/tabs/send.jade:283 +#: src/jade/tabs/trust.jade:233 msgid "Saving..." msgstr "Sto salvando..." -#: src/jade/tabs/send.jade:241 src/jade/tabs/send.jade:271 +#: src/jade/tabs/send.jade:255 src/jade/tabs/send.jade:289 msgid "Send another payment" msgstr "Invia un altro pagamento" -#: src/jade/tabs/settings/navbar.jade:3 -msgid "Advanced" -msgstr "Avanzate" +#: src/jade/tabs/settings/navbar.jade:2 +msgid "Security" +msgstr "Sicurezza" + +#: src/jade/tabs/settingstrade.jade:12 +msgid "Trade settings" +msgstr "Impostazioni di Scambio" + +#: src/jade/tabs/settingstrade.jade:14 +msgid "Trade currency pairs" +msgstr "Scambia coppie di valute" -#: src/jade/tabs/trade.jade:10 -msgid "Loading order book..." -msgstr "Caricamento del libro..." +#: src/jade/tabs/trade.jade:12 src/jade/tabs/trade.jade:451 +msgid "Loading Order Book" +msgstr "Caricamento del Libro degli Ordini" -#: src/jade/tabs/trade.jade:23 +#: src/jade/tabs/trade.jade:31 src/jade/tabs/widgets/markets.jade:24 msgid "flip" msgstr "rovescia" -#: src/jade/tabs/trade.jade:27 src/jade/tabs/trade.jade:35 -msgid "Base currency" -msgstr "Valuta base" +#: src/jade/tabs/trade.jade:34 +msgid "add pair" +msgstr "aggiungi coppia" + +#: src/jade/tabs/trade.jade:37 +msgid "edit pairs" +msgstr "modifica coppie" + +#: src/jade/tabs/trade.jade:41 +msgid "Base Currency" +msgstr "Valuta di Base" + +#: src/jade/tabs/trade.jade:44 +msgid "Base Gateway" +msgstr "Gateway di Base" + +#: src/jade/tabs/trade.jade:49 +msgid "Counter Currency" +msgstr "Valuta Opposta" -#: src/jade/tabs/trade.jade:30 src/jade/tabs/trade.jade:41 -msgid "Change gateway" -msgstr "Cambia gateway" +#: src/jade/tabs/trade.jade:52 +msgid "Counter Gateway" +msgstr "Gateway Opposto" -#: src/jade/tabs/trade.jade:38 src/jade/tabs/trade.jade:46 -msgid "Counter currency" -msgstr "Valuta corrente" +#: src/jade/tabs/trade.jade:57 +msgid "Add" +msgstr "Aggiungi" -#: src/jade/tabs/trade.jade:50 +#: src/jade/tabs/trade.jade:60 msgid "Base currency issuer ({{order.first_currency | rpcurrency}})" -msgstr "Emittente della valuta base ({{order.first_currency | rpcurrency}})" +msgstr "Emittente della valuta di Base ({{order.first_currency | rpcurrency}})" + +#: src/jade/tabs/trade.jade:63 +msgid "Ripple name or contact" +msgstr "Nome Ripple o contatto" -#: src/jade/tabs/trade.jade:55 +#: src/jade/tabs/trade.jade:65 msgid "Not a valid Ripple address or contact" msgstr "Non è un indirizzo Ripple o un contatto valido" -#: src/jade/tabs/trade.jade:60 +#: src/jade/tabs/trade.jade:70 msgid "Counter currency issuer ({{order.second_currency | rpcurrency}})" -msgstr "Emittente della valuta corrente ({{order.second_currency | rpcurrency}})" +msgstr "Emittente della valuta opposta ({{order.second_currency | rpcurrency}})" -#: src/jade/tabs/trade.jade:65 +#: src/jade/tabs/trade.jade:75 msgid "Not a valid Ripple name or address" msgstr "Nome o indirizzo Ripple non valido" -#: src/jade/tabs/trade.jade:69 +#: src/jade/tabs/trade.jade:79 msgid "" -"You must select a gateway to trade currencies. Click the “Change gateway” " -"link above and enter the gateway's address or Ripple name. {{1:Find a " -"gateway.}}" -msgstr "Devi selezionare un gateway per scambiare valute. Clicca sul link \"Cambia gateway\" e inserisci l'indirizzo del gateway o il suo nome Ripple. {{1:Trova un gateway.}}" +"To show an orderbook, choose from the dropdown above or click \"Add custom " +"pair\"." +msgstr "Per visualizzare il libro degli ordini, scegli dal menù a tendina qui sopra o clicca su \"Aggiungi una coppia personalizzata\"." -#: src/jade/tabs/trade.jade:79 +#: src/jade/tabs/trade.jade:86 msgid "Bid" msgstr "Denaro" -#: src/jade/tabs/trade.jade:84 +#: src/jade/tabs/trade.jade:91 msgid "Ask" msgstr "Lettera" -#: src/jade/tabs/trade.jade:89 +#: src/jade/tabs/trade.jade:96 msgid "Spread" msgstr "Spread" -#: src/jade/tabs/trade.jade:94 +#: src/jade/tabs/trade.jade:101 msgid "Last price" msgstr "Ultimo prezzo" -#: src/jade/tabs/trade.jade:101 +#: src/jade/tabs/trade.jade:108 msgid "You have to be funded before you can trade" msgstr "Devi finanziare il tuo conto prima di poter scambiare" -#: src/jade/tabs/trade.jade:108 +#: src/jade/tabs/trade.jade:115 msgid "Buy {{1}} {{order.first_currency | rpcurrency}}" msgstr "Compra {{1}} {{order.first_currency | rpcurrency}}" -#: src/jade/tabs/trade.jade:111 +#: src/jade/tabs/trade.jade:118 msgid "Sell {{1}} {{order.first_currency | rpcurrency}}" msgstr "Vendi {{1}} {{order.first_currency | rpcurrency}}" -#: src/jade/tabs/trade.jade:114 src/jade/tabs/trade.jade:123 +#: src/jade/tabs/trade.jade:121 src/jade/tabs/trade.jade:130 msgid "{{1}} available" msgstr "{{1}} disponibile" -#: src/jade/tabs/trade.jade:137 +#: src/jade/tabs/trade.jade:144 msgid "Amount To Buy" msgstr "Quantità da comprare" -#: src/jade/tabs/trade.jade:138 +#: src/jade/tabs/trade.jade:145 msgid "Amount To Sell" msgstr "Quantità da vendere" -#: src/jade/tabs/trade.jade:145 src/jade/tabs/trade.jade:160 -#: src/jade/tabs/trade.jade:175 +#: src/jade/tabs/trade.jade:152 src/jade/tabs/trade.jade:167 +#: src/jade/tabs/trade.jade:182 msgid "Required" msgstr "Obbligatorio" -#: src/jade/tabs/trade.jade:147 src/jade/tabs/trade.jade:162 -#: src/jade/tabs/trade.jade:177 +#: src/jade/tabs/trade.jade:154 src/jade/tabs/trade.jade:169 +#: src/jade/tabs/trade.jade:184 msgid "Must be greater than zero" msgstr "Deve essere maggiore di zero" -#: src/jade/tabs/trade.jade:149 src/jade/tabs/trade.jade:164 -#: src/jade/tabs/trade.jade:179 -msgid "Minimum is a drop (0.000001) and maximum is 100 billion XRPs" -msgstr "Il minimo è una frazione (0.000001) e il massimo è 100 miliardi di XRP" +#: src/jade/tabs/trade.jade:156 src/jade/tabs/trade.jade:171 +#: src/jade/tabs/trade.jade:186 +msgid "" +"Minimum amount of XRP you can send is a drop (0.000001) and the maximum is " +"100 billion XRPs." +msgstr "L'ammontare minimo di XRP che puoi inviare è una frazione (0.000001) e il massimo è 100 miliardi di XRP." -#: src/jade/tabs/trade.jade:153 +#: src/jade/tabs/trade.jade:160 msgid "Price of Each" msgstr "Prezzo di Ognuno" -#: src/jade/tabs/trade.jade:168 +#: src/jade/tabs/trade.jade:175 msgid "Order Value (max)" msgstr "Valore Ordine (max)" -#: src/jade/tabs/trade.jade:185 +#: src/jade/tabs/trade.jade:192 msgid "You are wanting to buy {{1}} for {{2}} ({{3}} per {{4}})" msgstr "Vuoi comprare {{1}} per {{2}} ({{3}} a {{4}})" -#: src/jade/tabs/trade.jade:194 +#: src/jade/tabs/trade.jade:201 msgid "You are wanting to sell {{1}} for {{2}} ({{3}} per {{4}})" msgstr "Vuoi vendere {{1}} per {{2}} ({{3}} a {{4}})" -#: src/jade/tabs/trade.jade:206 +#: src/jade/tabs/trade.jade:213 msgid "Buy" msgstr "Compra" -#: src/jade/tabs/trade.jade:207 +#: src/jade/tabs/trade.jade:214 msgid "Sell" msgstr "Vendi" -#: src/jade/tabs/trade.jade:213 +#: src/jade/tabs/trade.jade:220 msgid "You do not have sufficient funds to create an order." msgstr "Non hai abbastanza fondi per creare un ordine." -#: src/jade/tabs/trade.jade:218 -msgid "CAUTION: Your order is far off from the current market price." -msgstr "ATTENZIONE: Il tuo ordine è lontano dal prezzo corrente di mercato." - -#: src/jade/tabs/trade.jade:220 +#: src/jade/tabs/trade.jade:225 msgid "" "You are about to create an order to {{1: buy}} {{2: " -"sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}" -msgstr "Stai creando un ordine per {{1: comprare}} {{2: vendere}}{{3}}{{4:per}}{{5}}{{6}}{{7:Sei sicuro?}}" +"sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" +msgstr "Stai creando un ordine per {{1: comprare}} {{2: vendere}}{{3}}{{4:per}}{{5}}{{6}}{{7:Sei sicuro?}}{{8}}" + +#: src/jade/tabs/trade.jade:242 +msgid "CAUTION: Your order is far off from the current market price." +msgstr "ATTENZIONE: Il tuo ordine è lontano dal prezzo corrente di mercato." -#: src/jade/tabs/trade.jade:239 +#: src/jade/tabs/trade.jade:246 src/jade/tabs/trade.jade:407 msgid "« Back" -msgstr "« Indietro" +msgstr "Indietro" -#: src/jade/tabs/trade.jade:246 +#: src/jade/tabs/trade.jade:255 msgid "Sending order to Ripple network..." msgstr "Invio dell'ordine alla rete Ripple in corso...." -#: src/jade/tabs/trade.jade:252 +#: src/jade/tabs/trade.jade:261 msgid "Your order has been submitted." msgstr "L'ordine è stato inserito." -#: src/jade/tabs/trade.jade:254 +#: src/jade/tabs/trade.jade:263 msgid "Your order is now active." msgstr "Il tuo ordine è attivo." -#: src/jade/tabs/trade.jade:256 -msgid "Your order is filled." +#: src/jade/tabs/trade.jade:265 +msgid "Your order has been filled." msgstr "Il tuo ordine è stato eseguito." -#: src/jade/tabs/trade.jade:258 -msgid "Request has been denied." -msgstr "La richiesta è stata rifiutata." +#: src/jade/tabs/trade.jade:267 +msgid "" +"Your order has been partially filled. The remaining amount is now active." +msgstr "Il tuo ordine è stato eseguito parzialmente. Il rimanente è attivo." -#: src/jade/tabs/trade.jade:259 -msgid "We were unable to submit the request. Please try again later." -msgstr "Non siamo riusciti ad inviare la richiesta. Per favore riprova più tardi." +#: src/jade/tabs/trade.jade:276 +msgid "Submit another order" +msgstr "Invia un altro ordine" -#: src/jade/tabs/trade.jade:261 -msgid "Request is malformed." -msgstr "La richiesta non è valida." +#: src/jade/tabs/trade.jade:278 +msgid "My Orders{{1}}{{2}}" +msgstr "I Miei Ordini{{1}}{{2}}" -#: src/jade/tabs/trade.jade:262 -msgid "" -"Your request is invalid, reason: {{order[type].engine_result}} - " -"{{order[type].engine_result_message}}" -msgstr "La tua richiesta non è valida, motivo: {{order[type].engine_result}} - {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:287 +msgid "Your order has been modified." +msgstr "Il tuo ordine è stato modificato." -#: src/jade/tabs/trade.jade:265 src/jade/tabs/trade.jade:279 -msgid "Transaction failed." -msgstr "Transazione non riuscita." +#: src/jade/tabs/trade.jade:289 +msgid "Your order #{{ cancelOrder.seq }} has been cancelled." +msgstr "Il tuo ordine {{ cancelOrder.seq }} è stato cancellato." -#: src/jade/tabs/trade.jade:267 +#: src/jade/tabs/trade.jade:291 msgid "" -"You do not have enough {{(type == 'buy' ? order.second_currency : " -"order.first_currency) | rpcurrency}} to create this order." -msgstr "Non hai abbastanza {{(type == 'buy' ? order.second_currency : order.first_currency) | rpcurrency}} per creare questo ordine." +"Your order could not be modified and no longer exists. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "Il tuo ordine non può essere modificato e non esiste più. Errore: {{order[editOrder.type].engine_result_message}}" -#: src/jade/tabs/trade.jade:269 -msgid "" -"You must have at least {{account.reserve_to_add_trust | rpamount}} XRP to " -"submit an order. {{1}}" -msgstr "Devi avere almeno {{account.reserve_to_add_trust | rpamount}} XRP per inserire un ordine. {{1}}" +#: src/jade/tabs/trade.jade:293 +msgid "Unable to cancel order as it no longer exists." +msgstr "Impossibile cancellare l'ordine perchè non esiste più." -#: src/jade/tabs/trade.jade:271 -msgid "More information." -msgstr "Maggiori informazioni." +#: src/jade/tabs/trade.jade:295 +msgid "Modifying your order (Placing new order) ..." +msgstr "Sto modificando il tuo ordine (Piazzando un nuovo ordine)..." -#: src/jade/tabs/trade.jade:272 -msgid "Error: {{order[type].engine_result_message}}" -msgstr "Errore: {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:299 +msgid "Current pair only" +msgstr "Solo la coppia corrente" -#: src/jade/tabs/trade.jade:275 -msgid "Trade failed." -msgstr "Scambio non riuscito." +#: src/jade/tabs/trade.jade:313 src/jade/tabs/widgets/orders.jade:24 +msgid "reverse" +msgstr "rovescia" -#: src/jade/tabs/trade.jade:277 -msgid "Trade failed, reason: {{order[type].engine_result_message}}" -msgstr "Scambio non riuscito, motivo: {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:322 src/jade/tabs/widgets/orders.jade:33 +msgid "QTY{{1}}" +msgstr "QTY{{1}}" -#: src/jade/tabs/trade.jade:281 src/jade/tabs/trust.jade:45 -msgid "" -"The particular server you sent the transaction to was too busy to forward or" -" process your transaction at the fee you included in it." -msgstr "Il server cui hai inviato la transazione era troppo occupato per inviare o processare la tua transazione comprensiva delle commissioni che hai incluso." +#: src/jade/tabs/trade.jade:324 src/jade/tabs/widgets/orders.jade:35 +msgid "Base{{1}}" +msgstr "Base{{1}}" -#: src/jade/tabs/trade.jade:290 -msgid "Submit another order" -msgstr "Invia un altro ordine" +#: src/jade/tabs/trade.jade:326 src/jade/tabs/widgets/orders.jade:37 +msgid "Counter{{1}}" +msgstr "Opposto{{1}}" -#: src/jade/tabs/trade.jade:292 -msgid "My Orders{{1}}{{2}}" -msgstr "I Miei Ordini{{1}}{{2}}" +#: src/jade/tabs/trade.jade:328 src/jade/tabs/widgets/orders.jade:39 +msgid "Limit{{1}}" +msgstr "Limite{{1}}" -#: src/jade/tabs/trade.jade:299 -msgid "Type" -msgstr "Tipo" +#: src/jade/tabs/trade.jade:334 +msgid "Action" +msgstr "Azione" -#: src/jade/tabs/trade.jade:300 -msgid "Currencies {{1: (Issuer)}}" -msgstr "Valute {{1: (Emittente)}}" +#: src/jade/tabs/trade.jade:360 src/jade/tabs/trade.jade:424 +msgid "TRADE CONFIRMATION" +msgstr "CONFERMA SCAMBIO" -#: src/jade/tabs/trade.jade:302 -msgid "Price" -msgstr "Prezzo" +#: src/jade/tabs/trade.jade:362 +msgid "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" +msgstr "{{1:Per favore conferma che vuoi cancellare l'ordine {{entry.seq}}}}" -#: src/jade/tabs/trade.jade:304 -msgid "Action" -msgstr "Azione" +#: src/jade/tabs/trade.jade:364 +msgid "" +"{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div" +" span.modal-order-type(l10n-inc) REMAIN: span remain data div span" +".modal-order-type(l10n-inc) PLACED: span time data" +msgstr "{{1}} div span.modal-order-type(l10n-inc) ESEGUITO: span filled data div span.modal-order-type(l10n-inc) RIMANENTE: span remain data div span.modal-order-type(l10n-inc) PIAZZATO: span time data" -#: src/jade/tabs/trade.jade:313 +#: src/jade/tabs/trade.jade:371 msgid "with" msgstr "con" -#: src/jade/tabs/trade.jade:314 +#: src/jade/tabs/trade.jade:372 msgid "for" msgstr "per" -# You haven't placed any orders. -#: src/jade/tabs/trade.jade:327 -msgid "You haven't placed any orders." -msgstr "Non hai inserito nessun ordine." +#: src/jade/tabs/trade.jade:376 +msgid "at" +msgstr "a" -#: src/jade/tabs/trade.jade:329 -msgid "Unable to cancel order." -msgstr "Impossibile cancellare l'ordine." +#: src/jade/tabs/trade.jade:389 +msgid "Cancel order" +msgstr "Cancella ordine" -#: src/jade/tabs/trade.jade:330 -msgid "Error: {{cancelError}}" -msgstr "Errore: {{cancelError}}" +#: src/jade/tabs/trade.jade:390 src/jade/tabs/trade.jade:431 +msgid "back" +msgstr "indietro" -#: src/jade/tabs/trade.jade:334 -msgid "Orderbook" -msgstr "Libro" +#: src/jade/tabs/trade.jade:407 +msgid "" +"CAUTION: Your new order is far off from the current market price.
Do " +"you still want to replace your order ?" +msgstr "ATTENZIONE: Il tuo nuovo ordine è lontano dal prezzo corrente di mercato.
Vuoi ancora sostituire il tuo ordine?" + +#: src/jade/tabs/trade.jade:410 +msgid "Unable to cancel order. Error: {{entry.errorMsg}}" +msgstr "Impossibile cancellare l'ordine. Errore: {{entry.errorMsg}}" + +#: src/jade/tabs/trade.jade:412 +msgid "" +"Your order amount has been updated by Ripple. Please go back and edit again " +"to modify this order." +msgstr "L'importo del tuo ordine è stato aggiornato da Ripple. Per favore torna indietro e modifica di nuovo questo ordine." + +#: src/jade/tabs/trade.jade:414 +msgid "" +"Your order could not be modified. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "Il tuo ordine non può essere modificato. Errore: {{order[editOrder.type].engine_result_message}}" + +#: src/jade/tabs/trade.jade:415 +msgid "X" +msgstr "X" + +#: src/jade/tabs/trade.jade:420 +msgid "cancel all" +msgstr "cancella tutto" + +#: src/jade/tabs/trade.jade:426 +msgid "{{1:Please confirm that you wish to cancel all orders.}}" +msgstr "{{1:Per favore conferma che vuoi cancellare tutti gli ordini.}}" + +#: src/jade/tabs/trade.jade:430 +msgid "Cancel all orders" +msgstr "Cancella tutti gli ordini" + +#: src/jade/tabs/trade.jade:433 src/jade/tabs/widgets/orders.jade:64 +msgid "No current orders. {{1}}" +msgstr "Nessun ordine attivo. {{1}}" + +#: src/jade/tabs/trade.jade:434 src/jade/tabs/widgets/orders.jade:65 +msgid "View orders history" +msgstr "Visualizza la cronologia degli ordini" -#: src/jade/tabs/trade.jade:336 +#: src/jade/tabs/trade.jade:437 +msgid "Orderbook{{1}}" +msgstr "Libro degli Ordini{{1}}" + +#: src/jade/tabs/trade.jade:440 msgid "show" msgstr "visualizza" -#: src/jade/tabs/trade.jade:344 +#: src/jade/tabs/trade.jade:442 +msgid "Last updated {{1}} {{2: seconds}} {{3: second}} ago" +msgstr "Ultimo aggiornamento {{1}} {{2: secondi}} {{3: secondi}} fa" + +#: src/jade/tabs/trade.jade:458 msgid "Bids" msgstr "Denaro" -#: src/jade/tabs/trade.jade:346 src/jade/tabs/trade.jade:373 +#: src/jade/tabs/trade.jade:460 src/jade/tabs/trade.jade:487 msgid "Sum{{1}}{{2}}" msgstr "Somma{{1}}{{2}}" -#: src/jade/tabs/trade.jade:349 src/jade/tabs/trade.jade:370 +#: src/jade/tabs/trade.jade:463 src/jade/tabs/trade.jade:484 msgid "Size{{1}}{{2}}" msgstr "Dimensione{{1}}{{2}}" -#: src/jade/tabs/trade.jade:352 +#: src/jade/tabs/trade.jade:466 msgid "Bid Price{{1}}{{2}}" msgstr "Prezzo Denaro{{1}}{{2}}" -#: src/jade/tabs/trade.jade:363 +#: src/jade/tabs/trade.jade:477 msgid "There are currently no bids for this pair." msgstr "Non ci sono al momento offerte per questa coppia di valute." -#: src/jade/tabs/trade.jade:365 +#: src/jade/tabs/trade.jade:479 msgid "Asks" msgstr "Lettera" -#: src/jade/tabs/trade.jade:367 +#: src/jade/tabs/trade.jade:481 msgid "Ask Price{{1}}{{2}}" msgstr "Prezzo Lettera{{1}}{{2}}" -#: src/jade/tabs/trade.jade:384 +#: src/jade/tabs/trade.jade:498 msgid "There are currently no asks for this pair." msgstr "Non ci sono al momento domande per questa coppia di valute." -#: src/jade/tabs/trade.jade:387 +#: src/jade/tabs/trade.jade:501 msgid "No more orders" msgstr "Non più ordini" -#: src/jade/tabs/trust.jade:23 -msgid "Connecting a gateway to your Ripple account..." -msgstr "Collegamento del gateway al tuo account Ripple..." - -#: src/jade/tabs/trust.jade:25 -msgid "Gateway connected." -msgstr "Gateway connesso." - -#: src/jade/tabs/trust.jade:27 -msgid "Gateway could not be connected!" -msgstr "Il gateway non può essere collegato!" - -#: src/jade/tabs/trust.jade:28 src/jade/tabs/trust.jade:30 -msgid "There was a problem connecting the gateway. Please try again later." -msgstr "C'è stato un problema di connessione al gateway. Per favore riprova più tardi." +#: src/jade/tabs/trust.jade:29 +msgid "Removing gateway..." +msgstr "Rimozione gateway..." #: src/jade/tabs/trust.jade:31 -msgid "" -"Your request is invalid, reason: {{engine_result}} - " -"{{engine_result_message}}" -msgstr "La tua richiesta non è valida, motivo: {{engine_result}} - {{engine_result_message}}" +msgid "Gateway removed." +msgstr "Gateway rimosso." #: src/jade/tabs/trust.jade:33 -msgid "Gateway connection failed!" -msgstr "Connessione al gateway non riuscita!" +msgid "Your changes have been saved." +msgstr "I cambiamenti sono stati salvati." #: src/jade/tabs/trust.jade:35 -msgid "You have no gateway connected in this currency." -msgstr "Non sei collegato a nessun gateway per questa valuta." - -#: src/jade/tabs/trust.jade:36 -msgid "Insufficient reserve to connect gateway." -msgstr "Riserva insufficiente per connettersi ad un gateway." - -#: src/jade/tabs/trust.jade:37 -msgid "" -"You must have at least {{account.reserve_to_add_trust | rpamount:0}} XRP to " -"connect a gateway. {{1}}" -msgstr "Devi avere almeno {{account.reserve_to_add_trust | rpamount:0}} XRP per connetterti ad un gateway. {{1}}" +msgid "Request failed." +msgstr "Richiesta non riuscita." #: src/jade/tabs/trust.jade:39 -msgid "Read more." -msgstr "Leggi di più." - -#: src/jade/tabs/trust.jade:40 -msgid "Gateway connection failed to clear, reason: {{engine_result_message}}" -msgstr "Il collegamento al gateway non è stato cancellato, motivo: {{engine_result_message}}" - -#: src/jade/tabs/trust.jade:43 -msgid "Transaction failed!" -msgstr "Transazione non riuscita!" - -#: src/jade/tabs/trust.jade:53 -msgid "Saving changes..." -msgstr "Salvataggio delle modifiche..." +msgid "Account unlock failed." +msgstr "Sblocco dell'account non riuscito." #: src/jade/tabs/trust.jade:55 -msgid "Changes saved!" -msgstr "Modifiche salvate!" - -#: src/jade/tabs/trust.jade:57 src/jade/tabs/trust.jade:69 -msgid "There was an error while saving your changes." -msgstr "C'è stato un errore durante il salvataggio delle modifiche." - -#: src/jade/tabs/trust.jade:65 -msgid "Removing gateway..." -msgstr "Rimozione gateway..." - -#: src/jade/tabs/trust.jade:67 -msgid "Gateway removed!" -msgstr "Gateway rimosso!" - -#: src/jade/tabs/trust.jade:72 src/jade/tabs/trust.jade:194 -msgid "You must have at least {{1}} to add a new trust line. {{2}}" -msgstr "Devi avere almeno {{1}} per aggiungere una nuova linea di fiducia. {{2}}" - -#: src/jade/tabs/trust.jade:82 msgid "Name / Address" msgstr "Nome / Indirizzo" -#: src/jade/tabs/trust.jade:84 src/jade/tabs/trust.jade:130 +#: src/jade/tabs/trust.jade:57 src/jade/tabs/trust.jade:90 msgid "Currency" msgstr "Valuta" -#: src/jade/tabs/trust.jade:87 +#: src/jade/tabs/trust.jade:60 msgid "Trust Limit" msgstr "Limite Fiducia" -#: src/jade/tabs/trust.jade:93 +#: src/jade/tabs/trust.jade:66 msgid "Gateway's Ripple name or address" msgstr "Nome o indirizzo Ripple del gateway" -#: src/jade/tabs/trust.jade:162 +#: src/jade/tabs/trust.jade:100 +msgid "Amount field is required." +msgstr "Il campo quantità è obbligatorio." + +#: src/jade/tabs/trust.jade:115 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"connect to. More " +"information" +msgstr "Permetti che il saldo su questa linea di fiducia possa essere trasferito ad un altro emittente cui sei collegato. Maggiori informazioni" + +#: src/jade/tabs/trust.jade:125 msgid "" "{{1:You are connecting a gateway, which means}}{{2:{{ counterparty_address |" " rpripplename:{tilde: true} }} can:}}" msgstr "{{1:Ti stai connettendo ad un gateway, ciò significa}}{{2:{{ counterparty_address | rpripplename:{tilde: true} }} può:}}" -#: src/jade/tabs/trust.jade:165 +#: src/jade/tabs/trust.jade:128 msgid "{{1:- Hold up to }}{{2}} {{3: on your behalf}}" msgstr "{{1:- Possedere fino a }}{{2}} {{3: a tuo nome}}" -#: src/jade/tabs/trust.jade:169 +#: src/jade/tabs/trust.jade:132 msgid "{{1:- Hold }}{{2}} {{3: on your behalf}}" msgstr "{{1:- Possedere }}{{2}} {{3: a tuo nome}}" -#: src/jade/tabs/trust.jade:183 src/jade/tabs/trust.jade:186 -#: src/jade/tabs/trust.jade:189 src/jade/tabs/trust.jade:255 -#: src/jade/tabs/trust.jade:258 src/jade/tabs/trust.jade:261 -#: src/jade/tabs/trust.jade:288 src/jade/tabs/trust.jade:291 -#: src/jade/tabs/trust.jade:294 -msgid "Remove" -msgstr "Rimuovi" - -#: src/jade/tabs/trust.jade:192 +#: src/jade/tabs/trust.jade:148 msgid "Verifying address" msgstr "Verifica dell'indirizzo" -#: src/jade/tabs/trust.jade:201 +#: src/jade/tabs/trust.jade:151 msgid "" "Your account has to be {{1:activated}} before you can add a gateway account." msgstr "Il tuo account deve essere {{1:attivato}} prima di poter aggiungere un gateway." -#: src/jade/tabs/trust.jade:209 +#: src/jade/tabs/trust.jade:159 msgid "Connect gateway" msgstr "Collega gateway" -#: src/jade/tabs/trust.jade:227 -msgid "Gateway" -msgstr "Gateway" - -#: src/jade/tabs/trust.jade:229 src/jade/tabs/trust.jade:271 +#: src/jade/tabs/trust.jade:169 src/jade/tabs/trust.jade:221 msgid "Limit" msgstr "Limite" -#: src/jade/tabs/trust.jade:230 +#: src/jade/tabs/trust.jade:170 msgid "Min" msgstr "Min" -#: src/jade/tabs/trust.jade:232 +#: src/jade/tabs/trust.jade:172 msgid "Edit" msgstr "Modifica" -#: src/jade/tabs/trust.jade:245 +#: src/jade/tabs/trust.jade:188 msgid "Off" msgstr "Off" -#: src/jade/tabs/trust.jade:246 +#: src/jade/tabs/trust.jade:189 msgid "On" msgstr "On" -#: src/jade/tabs/trust.jade:276 +#: src/jade/tabs/trust.jade:192 src/jade/tabs/trust.jade:201 +#: src/jade/tabs/trust.jade:206 src/jade/tabs/trust.jade:210 +#: src/jade/tabs/trust.jade:239 src/jade/tabs/trust.jade:244 +#: src/jade/tabs/trust.jade:248 +msgid "Incoming trust" +msgstr "Fiducia in entrata" + +#: src/jade/tabs/trust.jade:192 +msgid "" +"You can't edit incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "Non puoi modificare le linee di fiducia in entrata. Queste linee compaiono quando altri utenti Ripple ti danno la fiducia." + +#: src/jade/tabs/trust.jade:200 src/jade/tabs/trust.jade:202 +#: src/jade/tabs/trust.jade:205 src/jade/tabs/trust.jade:207 +#: src/jade/tabs/trust.jade:209 src/jade/tabs/trust.jade:211 +#: src/jade/tabs/trust.jade:238 src/jade/tabs/trust.jade:240 +#: src/jade/tabs/trust.jade:243 src/jade/tabs/trust.jade:245 +#: src/jade/tabs/trust.jade:247 src/jade/tabs/trust.jade:249 +msgid "Remove" +msgstr "Rimuovi" + +#: src/jade/tabs/trust.jade:201 src/jade/tabs/trust.jade:206 +#: src/jade/tabs/trust.jade:210 src/jade/tabs/trust.jade:239 +#: src/jade/tabs/trust.jade:244 src/jade/tabs/trust.jade:248 +msgid "" +"You can't delete incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "Non puoi cancellare le linee di fiducia in entrata. Queste linee compaiono quando altri utenti Ripple ti danno la fiducia." + +#: src/jade/tabs/trust.jade:226 msgid "Rippling {{1}}" msgstr "Rippling {{1}}" -#: src/jade/tabs/tx.jade:3 +#: src/jade/tabs/tx.jade:5 msgid "Loading transaction details..." msgstr "Caricamento dei dettagli della transazione..." -#: src/jade/tabs/tx.jade:5 +#: src/jade/tabs/tx.jade:7 msgid "An error occurred while loading the transaction details." msgstr "Si è verificato un errore durante il caricamento dei dettagli della transazione." -#: src/jade/tabs/tx.jade:8 +#: src/jade/tabs/tx.jade:10 msgid "Transaction #" -msgstr "Transazione #" - -#: src/jade/tabs/tx.jade:11 -msgid "Show in graph" -msgstr "Mostra sulla mappa" +msgstr "Transazione" -#: src/jade/tabs/tx.jade:13 +#: src/jade/tabs/tx.jade:15 msgid "Transaction type: {{1}}" msgstr "Tipo di transazione: {{1}}" -#: src/jade/tabs/tx.jade:20 +#: src/jade/tabs/tx.jade:22 msgid "Address sent from" msgstr "Indirizzo di invio" -#: src/jade/tabs/tx.jade:24 +#: src/jade/tabs/tx.jade:26 msgid "Amount sent" msgstr "Quantità inviata" -#: src/jade/tabs/tx.jade:28 +#: src/jade/tabs/tx.jade:30 msgid "Currency sent" msgstr "Valuta inviata" -#: src/jade/tabs/tx.jade:33 +#: src/jade/tabs/tx.jade:35 msgid "Address sent to" msgstr "Indirizzo di ricezione" -#: src/jade/tabs/tx.jade:37 +#: src/jade/tabs/tx.jade:39 msgid "Amount received" msgstr "Quantità ricevuta" -#: src/jade/tabs/tx.jade:41 +#: src/jade/tabs/tx.jade:43 msgid "Currency received" msgstr "Valuta ricevuta" -#: src/jade/tabs/tx.jade:48 +#: src/jade/tabs/tx.jade:50 msgid "Network fee paid" msgstr "Commissioni pagate al network" -#: src/jade/tabs/tx.jade:60 +#: src/jade/tabs/tx.jade:62 msgid "Ledger number" msgstr "Registro numero" -#: src/jade/tabs/tx.jade:66 +#: src/jade/tabs/tx.jade:68 msgid "Address sent from:" msgstr "Indirizzo di invio:" # Sorry, we don't have an info page layout for this transaction type yet. -#: src/jade/tabs/tx.jade:70 +#: src/jade/tabs/tx.jade:72 msgid "" "Sorry, we don't have an info page layout for this transaction type yet." -msgstr "Ci spiace, non abbiamo ancora informazioni relative a questo tipo di transazione." +msgstr "Ci dispiace, non abbiamo ancora informazioni relative a questo tipo di transazione." + +#: src/jade/tabs/usd.jade:35 +msgid "US Dollar Deposit" +msgstr "Deposito in dollari US" + +#: src/jade/tabs/usd.jade:39 +msgid "SnapSwap US (~SnapSwap){{1}}{{2}}" +msgstr "SnapSwap US (~SnapSwap){{1}}{{2}}" + +#: src/jade/tabs/usd.jade:45 +msgid "USA" +msgstr "USA" + +#: src/jade/tabs/usd.jade:48 +msgid "$ 0.31-$ 5.00" +msgstr "$ 0.31-$ 5.00" + +#: src/jade/tabs/usd.jade:56 +msgid "" +"Ripple Trade has partnered with SnapSwap to provide easier access to USD. " +"Following this action will enable SnapSwap to hold USD on your behalf." +msgstr "Ripple Trade ha stretto accordi con SnapSwap per rendere più facile l'accesso agli USD. Continuando permetterai a SnapSwap di detenere USD a tuo nome." + +#: src/jade/tabs/usd.jade:73 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" +msgstr "NUOVI CLIENTI - ISCRIVITI A SNAPSWAP.US" + +#: src/jade/tabs/usd.jade:74 +msgid "Register and verify your account at SnapSwap US. You will need: {{1}}" +msgstr "Registra e verifica il tuo account SnapSwap US. Avrai bisogno di: {{1}}" + +#: src/jade/tabs/usd.jade:82 +msgid "EXISTING SNAPSWAP US CUSTOMERS" +msgstr "ATTUALI CLIENTI SNAPSWAP US" + +#: src/jade/tabs/usd.jade:93 +msgid "Deposit instantly via selected banks" +msgstr "Deposito istantaneo tramite le banche selezionate" + +#: src/jade/tabs/usd.jade:95 +msgid "Deposit cash at Bank of America branches (3 business days)" +msgstr "Deposito in contanti presso una filiale Bank of America (3 giorni lavorativi)" + +#: src/jade/tabs/usd.jade:97 +msgid "Deposit via online bank transfer (3 business days)" +msgstr "Deposito tramite bonifico bancario online (3 giorni lavorativi)" + +#: src/jade/tabs/usd.jade:103 +msgid "Directly to your bank account (3-4 business days)" +msgstr "Direttamente sul tuo conto bancario (3-4 giorni lavorativi)" + +#: src/jade/tabs/usd.jade:105 +msgid "Directly to your PayPal account (several minutes)" +msgstr "Direttamente sul tuo conto PayPal (alcuni minuti)" + +#: src/jade/tabs/widgets/assetallocation.jade:3 +msgid "Asset Allocation" +msgstr "Posizione Patrimoniale" + +#: src/jade/tabs/widgets/balances.jade:3 +msgid "Balances" +msgstr "Saldi" + +#: src/jade/tabs/widgets/balances.jade:12 +msgid "Balance
{{ account.Balance | rpamount }} XRP" +msgstr "Saldo
{{ account.Balance | rpamount }} XRP" + +#: src/jade/tabs/widgets/balances.jade:16 +msgid "Reserve" +msgstr "Riserva" + +#: src/jade/tabs/widgets/balances.jade:18 +msgid "Reserve amount" +msgstr "Ammontare della Riserva" + +#: src/jade/tabs/widgets/balances.jade:18 +msgid "" +"Minimum amount of XRP required to fund your account. You cannot spend the " +"reserve." +msgstr "Importo minimo di XRP richiesti per finanziare il tuo account. Non puoi spendere la riserva." + +#: src/jade/tabs/widgets/balances.jade:20 +msgid "Reserve amount
{{ account.reserve | rpamount }} XRP" +msgstr "Importo della Riserva
{{ account.reserve | rpamount }} XRP" + +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Available amount" +msgstr "Importo disponibile" + +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Total amount of XRP in your account minus the reserve amount." +msgstr "Importo totale di XRP nel tuo account meno la riserva." + +#: src/jade/tabs/widgets/balances.jade:28 +msgid "Available amount
{{ account.max_spend | rpamount }} XRP" +msgstr "Importo disponibile
{{ account.max_spend | rpamount }} XRP" + +#: src/jade/tabs/widgets/balances.jade:35 +msgid "" +"Balance
{{ entry.total | rpamount:{precision: 30, hard_precision: true} " +"}} {{ entry.total | rpcurrency }}" +msgstr "Saldo
{{ entry.total | rpamount:{precision: 30, hard_precision: true} }} {{ entry.total | rpcurrency }}" + +#: src/jade/tabs/widgets/balances.jade:43 +msgid "" +"Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, " +"hard_precision: true} }} {{ entry.total | rpcurrency }}" +msgstr "Saldo
{{ component | rpamount:{precision: 30, rel_min_precision: -2, hard_precision: true} }} {{ entry.total | rpcurrency }}" + +#: src/jade/tabs/widgets/markets.jade:3 +msgid "Markets" +msgstr "Mercati" + +#: src/jade/tabs/widgets/networth.jade:3 +msgid "Net Worth" +msgstr "Patrimonio Netto" + +#: src/jade/tabs/widgets/networth.jade:8 +msgid "{{1:{{1:In}}}}{{2}}" +msgstr "{{1:{{1:In}}}}{{2}}" + +#: src/jade/tabs/widgets/networth.jade:14 +msgid "Estimated from latest trade price" +msgstr "Stima in base all'ultimo prezzo di mercato" + +#: src/jade/tabs/widgets/networth.jade:23 +msgid "(excluding negative balances)" +msgstr "(escludendo saldi negativi)" + +#: src/jade/tabs/widgets/orders.jade:3 +msgid "My Orders" +msgstr "I Miei Ordini" + +#: src/jade/tabs/widgets/orders.jade:68 +msgid "trade currencies" +msgstr "scambia valute" #: src/jade/tabs/xrp.jade:19 msgid "Ripple name: {{1}}{{2}}{{3}}" @@ -2705,7 +3667,3 @@ msgid "" "full Ripple address, and while we are working to transition to Ripple names," " some gateways may still ask for your full address." msgstr "I nomi Ripple sono una nuova caratteristica di Ripple! Usa il tuo nome Ripple (~{{userCredentials.username}}) per ricevere denaro. Puoi ancora usare il tuo vecchio indirizzo Ripple e, mentre stiamo lavorando per migrare definitivamente ai nomi Ripple, alcuni gateways potrebbero ancora richiedertelo." - -#: src/jade/tabs/xrp.jade:31 -msgid "Ripple address {{1}}" -msgstr "Indirizzo Ripple {{1}}" diff --git a/l10n/ja/messages.po b/l10n/ja/messages.po index 7a4560e1f..4d8b2f232 100644 --- a/l10n/ja/messages.po +++ b/l10n/ja/messages.po @@ -1,13 +1,14 @@ # Generated by grunt-jade-l10n-extractor # Translators: # niconico , 2014 -# hideo suguri , 2014 +# hideo suguri , 2014-2015 # jennifermaya , 2014 # びりある , 2014 +# Yuuki Uchida , 2015 msgid "" msgstr "" "Project-Id-Version: Ripple Trade\n" -"PO-Revision-Date: 2014-10-22 03:09+0000\n" +"PO-Revision-Date: 2015-02-25 17:35+0000\n" "Last-Translator: hideo suguri \n" "Language-Team: Japanese (http://www.transifex.com/projects/p/ripple-trade/language/ja/)\n" "MIME-Version: 1.0\n" @@ -16,47 +17,49 @@ msgstr "" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: src/jade/client/index.jade:5 src/jade/client/navbar.jade:112 -#: src/jade/tabs/trust.jade:86 src/jade/tabs/trust.jade:228 +#: src/jade/client/index.jade:5 src/jade/client/navbar.jade:117 +#: src/jade/tabs/trust.jade:59 src/jade/tabs/trust.jade:168 msgid "Balance" msgstr "残高" -#: src/jade/client/index.jade:7 src/jade/client/navbar.jade:114 +#: src/jade/client/index.jade:7 src/jade/client/navbar.jade:119 msgid "History" msgstr "入出金明細" -#: src/jade/client/index.jade:8 src/jade/client/navbar.jade:116 -#: src/jade/tabs/contacts.jade:5 +#: src/jade/client/index.jade:8 src/jade/client/navbar.jade:121 msgid "Contacts" msgstr "相手先" -#: src/jade/client/index.jade:12 src/jade/client/navbar.jade:13 -#: src/jade/tabs/contacts.jade:73 +#: src/jade/client/index.jade:12 src/jade/client/navbar.jade:21 +#: src/jade/tabs/contacts.jade:65 msgid "Send" msgstr "送金" -#: src/jade/client/index.jade:16 src/jade/client/navbar.jade:123 +#: src/jade/client/index.jade:16 msgid "Convert" msgstr "両替" -#: src/jade/client/index.jade:18 src/jade/client/navbar.jade:121 +#: src/jade/client/index.jade:18 src/jade/client/navbar.jade:23 +#: src/jade/client/navbar.jade:25 src/jade/tabs/settings/navbar.jade:3 msgid "Trade" msgstr "取引" -#: src/jade/client/index.jade:22 src/jade/client/navbar.jade:19 -#: src/jade/client/navbar.jade:128 +#: src/jade/client/index.jade:22 src/jade/client/navbar.jade:27 +#: src/jade/client/navbar.jade:133 msgid "Fund" msgstr "資金" -#: src/jade/client/index.jade:24 src/jade/tabs/fund/menu.jade:5 +#: src/jade/client/index.jade:24 src/jade/tabs/fund/menu.jade:29 msgid "Gateways" msgstr "ゲートウェイ" -#: src/jade/client/index.jade:29 src/jade/tabs/su.jade:12 +#: src/jade/client/index.jade:29 src/jade/client/navbar.jade:107 +#: src/jade/tabs/su.jade:12 msgid "Account" msgstr "アカウント" -#: src/jade/client/index.jade:32 src/jade/tabs/advanced.jade:9 +#: src/jade/client/index.jade:32 src/jade/client/navbar.jade:109 +#: src/jade/tabs/advanced.jade:19 msgid "Settings" msgstr "設定" @@ -64,198 +67,437 @@ msgstr "設定" msgid "Logout" msgstr "ログアウト" -#: src/jade/client/index.jade:41 -msgid "Welcome to {{productName}}, a global value exchange" -msgstr "ようこそ{{productName}}さん、グローバルな価値の取引所へ" - -#: src/jade/client/index.jade:51 +#: src/jade/client/index.jade:61 +msgid "Why Use Ripple Trade?" +msgstr "なぜRipple Tradeを使用しますか?" + +#: src/jade/client/index.jade:66 +msgid "Home of XRP -" +msgstr "XRPの拠点" + +#: src/jade/client/index.jade:67 +msgid "the best place to buy and sell XRP" +msgstr "XRPを売買する最良の場所" + +#: src/jade/client/index.jade:71 +msgid "Free -" +msgstr "無料-" + +#: src/jade/client/index.jade:72 +msgid "no fees to sign up and use Ripple Trade" +msgstr "無料で登録し、Ripple Tradeを使えます" + +#: src/jade/client/index.jade:76 +msgid "No Middlemen -" +msgstr "ブローカー無し" + +#: src/jade/client/index.jade:77 +msgid "" +"When you submit orders, Ripple automatically finds the best available match," +" without a clearinghouse or broker." +msgstr "あなたが注文を出すと、Rippleはクリアリングハウスやブローカーなしで最も良いマッチングを自動的に見つけます。" + +#: src/jade/client/index.jade:81 +msgid "Deposit, trade and withdraw money on Ripple via gateways." +msgstr "ゲートウェイを通してRippleに預金を預けて、トレードして、引出しをしてください。" + +#: src/jade/client/index.jade:89 +msgid "Featured Ripple Gateways" +msgstr "注目のリップルゲートウェイ" + +#: src/jade/client/index.jade:91 +msgid "Ripple's growing gateway network." +msgstr "Rippleの成長するゲートウェイネットワーク" + +#: src/jade/client/index.jade:93 src/jade/client/index.jade:96 +#: src/jade/client/index.jade:99 src/jade/client/index.jade:102 +#: src/jade/client/index.jade:105 src/jade/client/index.jade:108 +#: src/jade/client/index.jade:111 src/jade/client/index.jade:114 +#: src/jade/client/index.jade:117 src/jade/tabs/banner/unfunded.jade:6 +#: src/jade/tabs/brl.jade:53 src/jade/tabs/brl.jade:57 +#: src/jade/tabs/brl.jade:93 src/jade/tabs/btc.jade:46 +#: src/jade/tabs/eur.jade:50 src/jade/tabs/eur.jade:54 +#: src/jade/tabs/eur.jade:86 src/jade/tabs/eur.jade:93 +#: src/jade/tabs/gold.jade:51 src/jade/tabs/jpy.jade:55 +#: src/jade/tabs/jpy.jade:91 src/jade/tabs/jpy.jade:97 +#: src/jade/tabs/mxn.jade:53 src/jade/tabs/send.jade:63 +#: src/jade/tabs/trade.jade:320 src/jade/tabs/usd.jade:51 +#: src/jade/tabs/usd.jade:83 src/jade/tabs/usd.jade:90 +#: src/jade/tabs/usd.jade:100 src/jade/tabs/widgets/orders.jade:31 +msgid "{{1}}" +msgstr "{{1}}" + +#: src/jade/client/index.jade:123 msgid "Version: {{version}}" msgstr "バージョン: {{version}}" -#: src/jade/client/index.jade:55 -msgid "End-User License Agreement" -msgstr "エンドユーザ・ライセンス契約" +#: src/jade/client/index.jade:128 +msgid "Terms of Use" +msgstr "利用規約" + +#: src/jade/client/index.jade:129 +msgid "Privacy Policy" +msgstr "プライバシーに関する方針" -#: src/jade/client/index.jade:56 +#: src/jade/client/index.jade:130 msgid "Support" msgstr "サポート" -#: src/jade/client/index.jade:57 +#: src/jade/client/index.jade:131 msgid "Bug reports" msgstr "エラー報告" -#: src/jade/client/index.jade:64 +#: src/jade/client/index.jade:138 msgid "more..." msgstr "もっと..." -#: src/jade/client/index.jade:68 +#: src/jade/client/index.jade:142 msgid "Select a language" msgstr "言語環境を設定" -#: src/jade/client/navbar.jade:11 +#: src/jade/client/navbar.jade:2 +msgid "" +"You are viewing an account in {{1}} mode. While in this mode, you can view " +"publicly available data, but you cannot initiate any transactions. Click " +"{{2}} to exit." +msgstr "アカウントを {{1}} モードで見ています。 このモードの間、一般公開されているデータを見ることができます、しかし、いかなる取引も始めることができません。 退去するために{{2}}をクリックしてください。" + +#: src/jade/client/navbar.jade:8 +msgid "" +"Warning: this account has over 200 trust lines, so the displayed account " +"balance may not be accurate." +msgstr "警告:このアカウントは200以上のトラストラインを持っているので、表示された口座の残高が正確でない場合があります。" + +#: src/jade/client/navbar.jade:19 msgid "Overview" msgstr "アカウント情報" -#: src/jade/client/navbar.jade:15 src/jade/client/navbar.jade:17 -#: src/jade/tabs/exchange.jade:43 -msgid "Exchange" -msgstr "両替" - -#: src/jade/client/navbar.jade:39 src/jade/tabs/account/public.jade:45 -#: src/jade/tabs/apps.jade:8 src/jade/tabs/balance.jade:8 -#: src/jade/tabs/balance.jade:27 src/jade/tabs/btc.jade:60 -#: src/jade/tabs/exchange.jade:9 src/jade/tabs/history.jade:207 -#: src/jade/tabs/kyc.jade:38 src/jade/tabs/recover.jade:21 -#: src/jade/tabs/security.jade:134 src/jade/tabs/su.jade:8 -#: src/jade/tabs/trust.jade:9 src/jade/tabs/trust.jade:175 +#: src/jade/client/navbar.jade:49 src/jade/tabs/account/private.jade:7 +#: src/jade/tabs/account/private.jade:16 src/jade/tabs/account/public.jade:45 +#: src/jade/tabs/apps.jade:8 src/jade/tabs/btc.jade:72 +#: src/jade/tabs/exchange.jade:9 src/jade/tabs/kyc.jade:45 +#: src/jade/tabs/recover.jade:26 src/jade/tabs/security.jade:147 +#: src/jade/tabs/su.jade:8 src/jade/tabs/trust.jade:9 +#: src/jade/tabs/trust.jade:139 msgid "Loading..." msgstr "ロード中..." -#: src/jade/client/navbar.jade:40 +#: src/jade/client/navbar.jade:50 msgid "There are no recent notifications." msgstr "新着通知はありません。" -#: src/jade/client/navbar.jade:44 +#: src/jade/client/navbar.jade:54 msgid "You sent {{1}} to {{2}}" msgstr "{{2}} さんに {{1}} を送金しました。" -#: src/jade/client/navbar.jade:50 +#: src/jade/client/navbar.jade:60 msgid "{{1}} sent you {{2}}" msgstr "{{1}} が {{2}} を送信しました。" -#: src/jade/client/navbar.jade:58 +#: src/jade/client/navbar.jade:68 msgid "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" msgstr "{{entry.transaction.counterparty | rpcontactname}} は以下の金額のため、信用を与えました。" -#: src/jade/client/navbar.jade:64 src/jade/notification/account.jade:25 -#: src/jade/tabs/history.jade:133 src/jade/tabs/history/effects.jade:63 +#: src/jade/client/navbar.jade:74 src/jade/notification/account.jade:25 +#: src/jade/tabs/history.jade:115 src/jade/tabs/history/effects.jade:63 msgid "You have now connected to the gateway {{1}}{{2: for }}{{3}}." msgstr "あなたは今、ゲートウェイ {{1}}{{2: for }}{{3}}に接続しました" -#: src/jade/client/navbar.jade:75 +#: src/jade/client/navbar.jade:85 msgid "You cancelled an order accepting {{1}} for {{2}}" msgstr "{{1}} を {{2}} で受け取る注文をキャンセルしました。" -#: src/jade/client/navbar.jade:82 src/jade/tabs/history.jade:156 +#: src/jade/client/navbar.jade:92 src/jade/tabs/history.jade:138 msgid "Account details have been changed" msgstr "アカウントの詳細が更新されました" -#: src/jade/client/navbar.jade:85 src/jade/tabs/history.jade:159 -#: src/jade/tabs/trust.jade:231 +#: src/jade/client/navbar.jade:95 src/jade/tabs/history.jade:141 +#: src/jade/tabs/trust.jade:171 msgid "Rippling" msgstr "Rippling" -#: src/jade/client/navbar.jade:87 src/jade/tabs/history.jade:161 +#: src/jade/client/navbar.jade:97 src/jade/tabs/history.jade:143 msgid "Failed transaction" msgstr "取引に失敗しました" -#: src/jade/client/navbar.jade:93 +#: src/jade/client/navbar.jade:103 msgid "View Full History" msgstr "全履歴を見る" -#: src/jade/client/navbar.jade:97 -msgid "{{1}} Account" -msgstr "{{1}} アカウント" +#: src/jade/client/navbar.jade:111 +msgid "Log Out" +msgstr "ログアウト" -#: src/jade/client/navbar.jade:101 -msgid "{{1}} Settings" -msgstr "{{1}}設定" +#: src/jade/client/navbar.jade:126 +msgid "Simple" +msgstr "シンプル" -#: src/jade/client/navbar.jade:105 -msgid "{{1}} Log Out" -msgstr "{{1}} ログアウト" +#: src/jade/client/navbar.jade:128 src/jade/tabs/settings/navbar.jade:4 +msgid "Advanced" +msgstr "詳細" -#: src/jade/client/navbar.jade:130 src/jade/tabs/balance.jade:110 +#: src/jade/client/navbar.jade:135 msgid "Withdraw" msgstr "引き出す" -#: src/jade/client/navbar.jade:132 +#: src/jade/client/navbar.jade:137 msgid "" "Your account was successfully recovered and encrypted with the new password " "you provided!" msgstr "新しいパスワードを使って、アカウントの復元と暗号化に成功しました!" -#: src/jade/client/navbar.jade:133 +#: src/jade/client/navbar.jade:138 msgid "dismiss" msgstr "閉じる" -#: src/jade/directives/transactionerror.jade:5 +#: src/jade/directives/addresspopover.jade:3 +msgid "Ripple address {{ identity }}" +msgstr "Ripple アドレス {{ identity }}" + +#: src/jade/directives/addresspopover.jade:8 src/jade/tabs/tx.jade:13 +msgid "Show in graph" +msgstr "グラフを表示" + +#: src/jade/directives/transactionerror.jade:8 +msgid "Connecting gateway to your account..." +msgstr "あなたのアカウントにゲートウェイを接続する..." + +#: src/jade/directives/transactionerror.jade:10 +msgid "Gateway connected." +msgstr "ゲートウェイを接続しました" + +#: src/jade/directives/transactionerror.jade:12 +msgid "There was a problem connecting to the gateway. Please try again later." +msgstr "ゲートウェイへの接続の際に問題が発生しました。後ほど再度お試しください。" + +#: src/jade/directives/transactionerror.jade:14 +#: src/jade/directives/transactionerror.jade:73 +#: src/jade/directives/transactionerror.jade:158 +#: src/jade/messages/sendconvert/confirmation.jade:13 +msgid "Error code: {{engine_result}} - {{engine_result_message}}" +msgstr "エラーコード: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:19 +#: src/jade/directives/transactionerror.jade:23 +#: src/jade/directives/transactionerror.jade:28 +#: src/jade/directives/transactionerror.jade:33 +#: src/jade/directives/transactionerror.jade:45 +#: src/jade/directives/transactionerror.jade:52 +#: src/jade/directives/transactionerror.jade:156 +#: src/jade/directives/transactionerror.jade:163 +#: src/jade/directives/transactionerror.jade:167 +#: src/jade/directives/transactionerror.jade:172 +#: src/jade/directives/transactionerror.jade:177 +#: src/jade/directives/transactionerror.jade:186 +#: src/jade/directives/transactionerror.jade:193 +msgid "Request failed" +msgstr "リクエストは失敗しました。" + +#: src/jade/directives/transactionerror.jade:21 +#: src/jade/directives/transactionerror.jade:165 +msgid "Your request timed out, please try again." +msgstr "あなたのリクエストはタイムアウトしました、どうか再び試みてください。" + +#: src/jade/directives/transactionerror.jade:25 +#: src/jade/directives/transactionerror.jade:84 +#: src/jade/directives/transactionerror.jade:169 +#: src/jade/messages/sendconvert/confirmation.jade:18 +msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." +msgstr "エラーコード:相手先が必要です[tefDST_TAG_NEEDED]" + +#: src/jade/directives/transactionerror.jade:30 +#: src/jade/directives/transactionerror.jade:174 +msgid "" +"Error code: This request failed because it exceeded the maximum network fee," +" please try again later [telINSUF_FEE_P]." +msgstr "エラーコード: ネットワーク手数料の最大値を超過しているため、このリクエストは失敗しました。後ほど再度お試しください[telINSUF_FEE_P]。" + +#: src/jade/directives/transactionerror.jade:35 +msgid "" +"Error code: You have no gateway connected in this currency [terNO_LINE]." +msgstr "エラーコード:この通貨に対してゲートウェイが接続されていません [terNO_LINE]。" + +#: src/jade/directives/transactionerror.jade:37 +msgid "" +"Error code: Insufficient reserve to connect gateway [tecINSUF_RESERVE_LINE]." +msgstr "エラーコード:ゲートウェイに接続するために必要な準備金が不足しています[tecINSUF_RESERVE_LINE]。" + +#: src/jade/directives/transactionerror.jade:39 +msgid "" +"Error code: You have an insufficient reserve amount to connect a gateway " +"[tecNO_LINE_INSUF_RESERVE]. {{1}}" +msgstr "エラーコード:ゲートウェイに接続するために必要な準備金が不足しています [tecNO_LINE_INSUF_RESERVE]。 {{1}}" + +#: src/jade/directives/transactionerror.jade:41 src/jade/tabs/fund.jade:34 +#: src/jade/tabs/send.jade:110 src/jade/tabs/trust.jade:74 +msgid "More information" +msgstr "詳細" + +#: src/jade/directives/transactionerror.jade:42 +#: src/jade/directives/transactionerror.jade:98 +#: src/jade/directives/transactionerror.jade:135 +#: src/jade/directives/transactionerror.jade:183 +#: src/jade/messages/sendconvert/confirmation.jade:27 +msgid "Error: {{engine_result_message}}" +msgstr "エラー:{{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:47 +#: src/jade/directives/transactionerror.jade:103 +#: src/jade/directives/transactionerror.jade:188 +#: src/jade/messages/sendconvert/confirmation.jade:32 +msgid "Error code: You have no trust line in this currency [terNO_LINE]." +msgstr "エラーコード:あなたはこの通貨にトラストラインを持っていません [terNO_LINE]" + +#: src/jade/directives/transactionerror.jade:49 +#: src/jade/directives/transactionerror.jade:190 +msgid "Your request failed: {{engine_result}} - {{engine_result_message}}" +msgstr "支払いは失敗した::{{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:54 +#: src/jade/directives/transactionerror.jade:195 +msgid "Error code: request could not be submitted [tejLost]." +msgstr "エラーコード:リクエストは出すことができませんでした [tejLost]" + +#: src/jade/directives/transactionerror.jade:56 +#: src/jade/directives/transactionerror.jade:197 src/jade/tabs/trust.jade:36 +msgid "" +"This request failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "現在のネットワークフィーがあなたのアカウント設定限界値より高いので、このリクエストは失敗しました。 あなたの最大ネットワークフィーを高度設定の中で調整するか、後で試してください。
エラーコード: ネットワークフィー超過 [tejMaxFeeExceeded]." + +#: src/jade/directives/transactionerror.jade:59 +#: src/jade/directives/transactionerror.jade:200 +msgid "" +"Your request could not be submitted: {{engine_result}} - " +"{{engine_result_message}}" +msgstr "リクエストは送信できませんでした。: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:67 msgid "Payment pending" msgstr "支払いは保留中です。" -#: src/jade/directives/transactionerror.jade:7 +#: src/jade/directives/transactionerror.jade:69 msgid "Payment successful" msgstr "支払は成功しました。" -#: src/jade/directives/transactionerror.jade:9 -#: src/jade/directives/transactionerror.jade:16 -#: src/jade/directives/transactionerror.jade:20 -#: src/jade/directives/transactionerror.jade:25 -#: src/jade/directives/transactionerror.jade:30 -#: src/jade/directives/transactionerror.jade:39 -#: src/jade/directives/transactionerror.jade:46 +#: src/jade/directives/transactionerror.jade:71 +#: src/jade/directives/transactionerror.jade:82 +#: src/jade/directives/transactionerror.jade:87 +#: src/jade/directives/transactionerror.jade:92 +#: src/jade/directives/transactionerror.jade:101 +#: src/jade/directives/transactionerror.jade:108 msgid "Payment failed" msgstr "支払いは失敗しました。" -#: src/jade/directives/transactionerror.jade:11 -#: src/jade/messages/sendconvert/confirmation.jade:13 -msgid "Error code: {{engine_result}} - {{engine_result_message}}" -msgstr "エラーコード: {{engine_result}} - {{engine_result_message}}" +#: src/jade/directives/transactionerror.jade:78 +msgid "Payment failed [tefMAX_LEDGER]." +msgstr "支払いは失敗しました [tefMAX_LEDGER]" -#: src/jade/directives/transactionerror.jade:18 +#: src/jade/directives/transactionerror.jade:80 msgid "Your payment timed out, please try again." msgstr "あなたの支払いはタイムアウトしました、どうか再び試みてください。" -#: src/jade/directives/transactionerror.jade:22 -#: src/jade/messages/sendconvert/confirmation.jade:18 -msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." -msgstr "エラーコード:相手先が必要です[tefDST_TAG_NEEDED]" - -#: src/jade/directives/transactionerror.jade:27 +#: src/jade/directives/transactionerror.jade:89 #: src/jade/messages/sendconvert/confirmation.jade:39 msgid "" "Error code: This transaction failed because it exceeded the maximum network " "fee, please try again later [telINSUF_FEE_P]." msgstr "エラーコード: ネットワーク手数料の最大値を超過しているため、このトランザクションは失敗しました。後ほど再度お試しください[telINSUF_FEE_P]。" -#: src/jade/directives/transactionerror.jade:32 +#: src/jade/directives/transactionerror.jade:94 +#: src/jade/directives/transactionerror.jade:179 msgid "Error code: No destination [tecNO_DST]." msgstr "エラーコード:宛先がありません[tecNO_DST]." -#: src/jade/directives/transactionerror.jade:34 +#: src/jade/directives/transactionerror.jade:96 +#: src/jade/directives/transactionerror.jade:181 #: src/jade/messages/sendconvert/confirmation.jade:25 msgid "" "Error code: Insufficient XRP sent to destination [tecNO_DST_INSUF_XRP]." msgstr "エラーコード: 宛先に送金するために必要なXRPが不足しています [tecNO_DST_INSUF_XRP]。" -#: src/jade/directives/transactionerror.jade:36 -#: src/jade/messages/sendconvert/confirmation.jade:27 -msgid "Error: {{engine_result_message}}" -msgstr "エラー:{{engine_result_message}}" - -#: src/jade/directives/transactionerror.jade:41 -#: src/jade/messages/sendconvert/confirmation.jade:32 -msgid "Error code: You have no trust line in this currency [terNO_LINE]." -msgstr "エラーコード:あなたはこの通貨にトラストラインを持っていません [terNO_LINE]" - -#: src/jade/directives/transactionerror.jade:43 +#: src/jade/directives/transactionerror.jade:105 msgid "Your payment failed: {{engine_result}} - {{engine_result_message}}" msgstr "支払いは失敗した:: {{engine_result}} - {{engine_result_message}}" -#: src/jade/directives/transactionerror.jade:48 +#: src/jade/directives/transactionerror.jade:110 msgid "Error code: Transaction could not be submitted [tejLost]." msgstr "エラーコード:取引処理は出すことができませんでした [tejLost]" -#: src/jade/directives/transactionerror.jade:50 -msgid "Error code: Network fee exceeded [tejMaxFeeExceeded]." -msgstr "エラーコード:ネットワークフィーが超過しました [tejMaxFeeExceeded]" +#: src/jade/directives/transactionerror.jade:112 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "現在のネットワークフィーがあなたのアカウント設定限界値より高かったので、この取引は失敗しました。 あなたの最大ネットワークフィーを高度設定の中で調整するか、後で試してください。
エラーコード: ネットワークフィー超過 [tejMaxFeeExceeded]." -#: src/jade/directives/transactionerror.jade:52 +#: src/jade/directives/transactionerror.jade:115 msgid "" "Your payment could not be submitted: {{engine_result}} - " "{{engine_result_message}}" msgstr "支払は送信できませんでした。: {{engine_result}} - {{engine_result_message}}" +#: src/jade/directives/transactionerror.jade:121 +msgid "Request is malformed." +msgstr "要求は不正です。" + +#: src/jade/directives/transactionerror.jade:122 +msgid "" +"Your request is invalid, reason: {{engine_result_message}} - " +"{{engine_result_message}}" +msgstr "リクエストは無効です、理由: {{engine_result_message}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:125 +#: src/jade/directives/transactionerror.jade:142 +msgid "Transaction failed." +msgstr "取引は失敗しました。" + +#: src/jade/directives/transactionerror.jade:127 +msgid "You do not have enough funds to create this order [tecUNFUNDED_ORDER]." +msgstr "注文するのに十分な資金がありません。[tecUNFUNDED_ORDER]" + +#: src/jade/directives/transactionerror.jade:129 +msgid "" +"Insufficient reserve amount to submit an order [tecINSUF_RESERVE_OFFER]." +msgstr "注文を出すのに準備金が不足しています[tecINSUF_RESERVE_OFFER]." + +#: src/jade/directives/transactionerror.jade:131 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]. {{1}}" +msgstr "現在のネットワークフィーがあなたのアカウント設定限界値より高かったので、この取引は失敗しました。 あなたの最大ネットワークフィーを高度設定の中で調整するか、後でもう一度試してください。
エラーコード: ネットワークフィー超過 [tejMaxFeeExceeded].{{1}}" + +#: src/jade/directives/transactionerror.jade:134 +msgid "More information." +msgstr "詳細" + +#: src/jade/directives/transactionerror.jade:138 +msgid "Trade failed." +msgstr "取引は失敗しました。" + +#: src/jade/directives/transactionerror.jade:140 +msgid "Trade failed, reason: {{engine_result_message}}" +msgstr "取引に失敗しました、理由: {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:144 +msgid "" +"The particular server you sent the transaction to was too busy to forward or" +" process your transaction at the fee you included in it [telINSUF_FEE_P]." +msgstr "取引処理を送信したサーバーは処理に追われていた為、処理することができませんでした。 [telINSUF_FEE_P]" + +#: src/jade/directives/transactionerror.jade:152 +msgid "Request pending" +msgstr "リクエストは保留中です。" + +#: src/jade/directives/transactionerror.jade:154 +msgid "Request successful" +msgstr "リクエストは成功しました。" + #: src/jade/messages/sendconvert/confirmation.jade:4 msgid "Transaction pending." msgstr "保留中の取引" @@ -277,8 +519,11 @@ msgstr "取引は成功しました。" msgid "Transaction failed" msgstr "取引は失敗しました。" -#: src/jade/messages/sendconvert/confirmation.jade:9 -#: src/jade/tabs/trust.jade:58 src/jade/tabs/trust.jade:70 +#: src/jade/messages/sendconvert/confirmation.jade:9 src/jade/tabs/brl.jade:25 +#: src/jade/tabs/btc.jade:22 src/jade/tabs/eur.jade:25 +#: src/jade/tabs/gold.jade:25 src/jade/tabs/jpy.jade:25 +#: src/jade/tabs/mxn.jade:25 src/jade/tabs/trust.jade:43 +#: src/jade/tabs/usd.jade:25 msgid "Please try again later." msgstr "後で再実行してください。" @@ -319,6 +564,7 @@ msgid "Account unlock failed" msgstr "アカウントのアンロックに失敗しました。" #: src/jade/messages/sendconvert/localerror.jade:18 +#: src/jade/tabs/trust.jade:40 msgid "Your account could not be unlocked. Please try again later." msgstr "アカウントをアンロックできませんでした。しばらく待ってから再実行してください。" @@ -334,7 +580,7 @@ msgid "" "executed already." msgstr "再実行する前に、取引処理が既に実行されていないかを確認してください。" -#: src/jade/messages/sendconvert/waiting.jade:3 +#: src/jade/messages/sendconvert/waiting.jade:5 msgid "Sending transaction to the Ripple network" msgstr "取引情報をRipple Networkに送信する。" @@ -350,13 +596,49 @@ msgstr "{{tx.counterparty | rpcontactname}}は以下を送金しました。" msgid "{{tx.counterparty | rpcontactname}} now trusts you for" msgstr "{{tx.counterparty | rpcontactname}} は以下の金額のため、信用を与えました。" +#: src/jade/popup/modifyOrderError.jade:2 +msgid "Modify Order Error" +msgstr "注文の誤りを修正してください" + +#: src/jade/popup/modifyOrderError.jade:4 +msgid "Sorry, your order could not be modified." +msgstr "申しわけございません、あなたのオーダーを変更できませんでした。" + +#: src/jade/popup/modifyOrderError.jade:5 +msgid "" +"Your original order was cancelled but the modified order was not placed. " +"
" +msgstr "あなたの当初の注文は取り消され、変更された注文はされませんでした。
" + +#: src/jade/popup/modifyOrderError.jade:6 +msgid "" +"The quantity of your order changed by {{order.qtyChangeAfterCancel | " +"rpamount}} before the order could be modified.

" +msgstr "注文の前で{{order.qtyChangeAfterCancel | rpamount}}によって変更されたあなたの注文金額は修正されました。

" + +#: src/jade/popup/modifyOrderError.jade:7 +msgid "" +"To safeguard against the possibility of overfills a new order has not been " +"placed.
" +msgstr "これは新しい注文で溢れる可能性に対するセーフガードであるため、注文されなかった
" + +#: src/jade/popup/modifyOrderError.jade:8 +msgid "" +"Please check your balance and history before placing the new order manually." +"
" +msgstr "どうぞ、手動で新しい注文をする前に、あなたのバランスと履歴をチェックしてください。" + +#: src/jade/popup/modifyOrderError.jade:10 src/jade/popup/unlock.jade:17 +msgid "Close" +msgstr "閉じる" + #: src/jade/popup/unlock.jade:2 msgid "Unlock account" msgstr "アカウントのロックを解除" -#: src/jade/popup/unlock.jade:5 src/jade/tabs/desktop/register.jade:28 -#: src/jade/tabs/login/form.jade:7 src/jade/tabs/recover.jade:33 -#: src/jade/tabs/register.jade:42 src/jade/tabs/security.jade:10 +#: src/jade/popup/unlock.jade:5 src/jade/tabs/login/form.jade:8 +#: src/jade/tabs/recover.jade:38 src/jade/tabs/register.jade:58 +#: src/jade/tabs/security.jade:12 msgid "Password" msgstr "パスワード" @@ -364,7 +646,7 @@ msgstr "パスワード" msgid "Please enter your password to show your secret key." msgstr "シークレット・キーを表示するには、パスワードを入力してください。" -#: src/jade/popup/unlock.jade:9 src/jade/tabs/send.jade:195 +#: src/jade/popup/unlock.jade:9 src/jade/tabs/send.jade:205 msgid "Please enter your password to confirm this transaction." msgstr "取引を確認するには、パスワードを入力してください。" @@ -372,52 +654,146 @@ msgstr "取引を確認するには、パスワードを入力してください msgid "This password is incorrect, please try again." msgstr "パスワードに誤りがあります。再実行してください。" -#: src/jade/popup/unlock.jade:11 +#: src/jade/popup/unlock.jade:13 msgid "Confirming password" msgstr "パスワードを確認中" -#: src/jade/popup/unlock.jade:14 src/jade/tabs/account/public.jade:44 -#: src/jade/tabs/security.jade:133 +#: src/jade/popup/unlock.jade:16 src/jade/tabs/account/public.jade:44 +#: src/jade/tabs/security.jade:146 msgid "Submit" msgstr "送信" -#: src/jade/popup/unlock.jade:15 -msgid "Close" -msgstr "閉じる" - #: src/jade/tabs/2fa/form.jade:3 msgid "Country Code" msgstr "国コード" -#: src/jade/tabs/2fa/form.jade:6 src/jade/tabs/kyc.jade:146 +#: src/jade/tabs/2fa/form.jade:6 src/jade/tabs/kyc.jade:162 msgid "Phone Number" msgstr "電話番号" +#: src/jade/tabs/_usd.jade:6 src/jade/tabs/apps.jade:5 +#: src/jade/tabs/balance.jade:5 src/jade/tabs/brl.jade:6 +#: src/jade/tabs/btc.jade:9 src/jade/tabs/eur.jade:6 +#: src/jade/tabs/exchange.jade:6 src/jade/tabs/fund.jade:6 +#: src/jade/tabs/gold.jade:6 src/jade/tabs/history.jade:6 +#: src/jade/tabs/jpy.jade:6 src/jade/tabs/kyc.jade:6 src/jade/tabs/mxn.jade:6 +#: src/jade/tabs/send.jade:6 src/jade/tabs/su.jade:5 +#: src/jade/tabs/trade.jade:7 src/jade/tabs/trust.jade:6 +#: src/jade/tabs/usd.jade:6 src/jade/tabs/withdraw.jade:6 +#: src/jade/tabs/xrp.jade:6 +msgid "You have to be online to see this screen" +msgstr "この画面を見るにはオンラインでなければなりません。" + +#: src/jade/tabs/_usd.jade:17 +msgid "USD instant deposit" +msgstr "USDインスタント入金" + +#: src/jade/tabs/_usd.jade:19 src/jade/tabs/_usd.jade:21 +msgid "Step 1 (Amount)" +msgstr "Step 1 (金額)" + +#: src/jade/tabs/_usd.jade:22 +msgid "Step 2 (Confirmation)" +msgstr "Step 2 (確認)" + +#: src/jade/tabs/_usd.jade:23 +msgid "Step 3 (Complete deposit)" +msgstr "Step 3 (入金完了)" + +#: src/jade/tabs/_usd.jade:26 +msgid "STEP 1: AMOUNT" +msgstr "STEP 1: 金額" + +#: src/jade/tabs/_usd.jade:28 +msgid "STEP 2: CONFIRMATION" +msgstr "STEP 2: 確認" + +#: src/jade/tabs/_usd.jade:30 +msgid "STEP 3: COMPLETE DEPOSIT" +msgstr "STEP 3:入金完了" + +#: src/jade/tabs/_usd.jade:34 +msgid "" +"Success! You've completed your USD deposit. Your funds should be available " +"within a few minutes." +msgstr "成功! あなたは、USD入金を完了しました。 資金は、2、3分以内に利用できるでしょう。" + +#: src/jade/tabs/_usd.jade:36 +msgid "You cancelled your deposit." +msgstr "あなたは入金をキャンセルしました。" + +#: src/jade/tabs/_usd.jade:38 +msgid "" +"Your deposit failed. Your bank account was not charged. Please contact " +"{{1}}." +msgstr "入金は失敗しました。 あなたの銀行預金口座には請求されていません。どうか{{1}}と連絡を取ってください。" + +#: src/jade/tabs/_usd.jade:49 src/jade/tabs/_usd.jade:91 +#: src/jade/tabs/fund.jade:41 src/jade/tabs/history.jade:172 +#: src/jade/tabs/trust.jade:89 +msgid "Amount" +msgstr "金額" + +#: src/jade/tabs/_usd.jade:59 src/jade/tabs/_usd.jade:62 +msgid "Select your bank" +msgstr "あなたの銀行を選択" + +#: src/jade/tabs/_usd.jade:77 +msgid "" +"Ripple Trade has partnered with SnapSwap to make USD deposits easier. By " +"continuing, you agree to SnapSwap's {{1}}To contact support, email {{2}}." +msgstr "Ripple Tradeは、USDの簡単な入金をするために、SnapSwapとパートナーになりました。この操作を続けると、SnapSwapの{{1}} に合意することになります。サポートに連絡するために {{2}}にメールしてください。" + +#: src/jade/tabs/_usd.jade:93 src/jade/tabs/history.jade:178 +msgid "Fee" +msgstr "手数料" + +#: src/jade/tabs/_usd.jade:95 +msgid "Total" +msgstr "合計" + +#: src/jade/tabs/_usd.jade:98 +msgid "Calculating..." +msgstr "計算中..." + +#: src/jade/tabs/_usd.jade:109 src/jade/tabs/register.jade:126 +#: src/jade/tabs/register.jade:133 +msgid "Back" +msgstr "戻る" + +#: src/jade/tabs/_usd.jade:111 src/jade/tabs/btc.jade:73 +#: src/jade/tabs/exchange.jade:111 src/jade/tabs/send.jade:213 +#: src/jade/tabs/trade.jade:67 src/jade/tabs/trade.jade:77 +#: src/jade/tabs/trade.jade:248 src/jade/tabs/trade.jade:407 +#: src/jade/tabs/trust.jade:140 +msgid "Confirm" +msgstr "確認" + #: src/jade/tabs/account/navbar.jade:2 msgid "Public Information" msgstr "パブリックインフォメーション" -#: src/jade/tabs/account/private.jade:2 +#: src/jade/tabs/account/private.jade:1 msgid "Profile Information" msgstr "プロフィールインフォーメーション" -#: src/jade/tabs/account/private.jade:5 +#: src/jade/tabs/account/private.jade:3 msgid "Identity Information" msgstr "アイデンティティインフォメーション" -#: src/jade/tabs/account/private.jade:8 src/jade/tabs/account/private.jade:19 +#: src/jade/tabs/account/private.jade:8 src/jade/tabs/account/private.jade:17 msgid "Completed" msgstr "作成しました" -#: src/jade/tabs/account/private.jade:11 src/jade/tabs/account/private.jade:22 +#: src/jade/tabs/account/private.jade:9 src/jade/tabs/account/private.jade:18 msgid "Incomplete" msgstr "作成していません" -#: src/jade/tabs/account/private.jade:13 src/jade/tabs/account/private.jade:24 +#: src/jade/tabs/account/private.jade:10 src/jade/tabs/account/private.jade:19 msgid "Complete your profile" -msgstr "プロフィールを作成しました" +msgstr "プロフィールを作成する" -#: src/jade/tabs/account/private.jade:16 +#: src/jade/tabs/account/private.jade:12 msgid "Identity Questions" msgstr "本人確認の質問" @@ -433,15 +809,17 @@ msgstr "Ripple 名の変更に成功しました。" msgid "Account settings" msgstr "アカウント設定" -#: src/jade/tabs/account/public.jade:5 src/jade/tabs/login/form.jade:2 +#: src/jade/tabs/account/public.jade:5 src/jade/tabs/fund/menu.jade:2 +#: src/jade/tabs/login/form.jade:3 msgid "Ripple name" msgstr "Ripple 名" -#: src/jade/tabs/account/public.jade:9 src/jade/tabs/advanced.jade:17 -#: src/jade/tabs/advanced.jade:34 src/jade/tabs/advanced.jade:53 -#: src/jade/tabs/advanced.jade:106 src/jade/tabs/contacts.jade:69 -#: src/jade/tabs/security.jade:107 src/jade/tabs/security.jade:165 -#: src/jade/tabs/trust.jade:219 src/jade/tabs/trust.jade:248 +#: src/jade/tabs/account/public.jade:9 src/jade/tabs/advanced.jade:27 +#: src/jade/tabs/advanced.jade:44 src/jade/tabs/advanced.jade:63 +#: src/jade/tabs/advanced.jade:86 src/jade/tabs/advanced.jade:134 +#: src/jade/tabs/contacts.jade:61 src/jade/tabs/security.jade:120 +#: src/jade/tabs/security.jade:180 src/jade/tabs/trust.jade:191 +#: src/jade/tabs/trust.jade:193 msgid "edit" msgstr "編集" @@ -449,23 +827,24 @@ msgstr "編集" msgid "New Ripple name" msgstr "新規 Ripple 名" -#: src/jade/tabs/account/public.jade:17 src/jade/tabs/balance.jade:60 +#: src/jade/tabs/account/public.jade:17 src/jade/tabs/register.jade:35 +#: src/jade/tabs/widgets/balances.jade:24 msgid "Available" msgstr "利用可能" -#: src/jade/tabs/account/public.jade:20 src/jade/tabs/register.jade:30 +#: src/jade/tabs/account/public.jade:20 src/jade/tabs/register.jade:39 msgid "Already taken!" msgstr "既に使われています!" -#: src/jade/tabs/account/public.jade:21 src/jade/tabs/register.jade:31 +#: src/jade/tabs/account/public.jade:21 msgid "Reserved for {{usernameReservedFor}}{{1}}{{2}}" msgstr "{{usernameReservedFor}}{{1}}{{2}} のため保留" -#: src/jade/tabs/account/public.jade:24 src/jade/tabs/register.jade:34 +#: src/jade/tabs/account/public.jade:24 src/jade/tabs/register.jade:45 msgid "Must be at least 2 characters" msgstr "2文字以上でなければなりません。" -#: src/jade/tabs/account/public.jade:25 src/jade/tabs/register.jade:35 +#: src/jade/tabs/account/public.jade:25 src/jade/tabs/register.jade:47 msgid "Must be at most 20 characters" msgstr "20文字以下でなければなりません。" @@ -473,11 +852,11 @@ msgstr "20文字以下でなければなりません。" msgid "Only a-z, 0-9 and hyphen (-)" msgstr "半角英数字とハイフン (-) のみ使用できます。" -#: src/jade/tabs/account/public.jade:27 src/jade/tabs/register.jade:37 +#: src/jade/tabs/account/public.jade:27 src/jade/tabs/register.jade:51 msgid "Cannot start with hyphen (-)" msgstr "ハイフン (-) は先頭に設定できません。 " -#: src/jade/tabs/account/public.jade:28 src/jade/tabs/register.jade:38 +#: src/jade/tabs/account/public.jade:28 src/jade/tabs/register.jade:53 msgid "Cannot end with hyphen (-)" msgstr "ハイフン (-) は後尾に設定できません。 " @@ -485,16 +864,16 @@ msgstr "ハイフン (-) は後尾に設定できません。 " msgid "Cannot bundle hyphens (--)" msgstr "ハイフン (--) を羅列して設定できません。" -#: src/jade/tabs/account/public.jade:30 src/jade/tabs/register.jade:40 +#: src/jade/tabs/account/public.jade:30 src/jade/tabs/register.jade:56 msgid "Checking..." msgstr "チェック中..." -#: src/jade/tabs/account/public.jade:32 src/jade/tabs/security.jade:113 +#: src/jade/tabs/account/public.jade:32 src/jade/tabs/security.jade:126 msgid "Current password" msgstr "現在のパスワード" -#: src/jade/tabs/account/public.jade:35 src/jade/tabs/security.jade:15 -#: src/jade/tabs/security.jade:20 +#: src/jade/tabs/account/public.jade:35 src/jade/tabs/security.jade:18 +#: src/jade/tabs/security.jade:23 msgid "Entered password is wrong." msgstr "パスワードに誤りがあります。" @@ -506,107 +885,135 @@ msgstr "Ripple 名は変更されました。再びログインしてくださ msgid "Couldn't change your Ripple name, please try again later." msgstr "Ripple 名を変更することができませんでした。しばらく待ってから再実行してください。" -#: src/jade/tabs/account/public.jade:47 src/jade/tabs/advanced.jade:26 -#: src/jade/tabs/advanced.jade:43 src/jade/tabs/advanced.jade:67 -#: src/jade/tabs/advanced.jade:96 src/jade/tabs/btc.jade:62 -#: src/jade/tabs/contacts.jade:58 src/jade/tabs/contacts.jade:101 -#: src/jade/tabs/exchange.jade:94 src/jade/tabs/exchange.jade:107 -#: src/jade/tabs/kyc.jade:106 src/jade/tabs/kyc.jade:118 -#: src/jade/tabs/kyc.jade:140 src/jade/tabs/kyc.jade:141 -#: src/jade/tabs/kyc.jade:167 src/jade/tabs/login/form.jade:25 -#: src/jade/tabs/security.jade:71 src/jade/tabs/security.jade:101 -#: src/jade/tabs/security.jade:136 src/jade/tabs/send.jade:205 -#: src/jade/tabs/send.jade:217 src/jade/tabs/send.jade:238 -#: src/jade/tabs/send.jade:268 src/jade/tabs/trade.jade:32 -#: src/jade/tabs/trade.jade:43 src/jade/tabs/trust.jade:177 -#: src/jade/tabs/trust.jade:179 src/jade/tabs/trust.jade:263 -#: src/jade/tabs/trust.jade:296 +#: src/jade/tabs/account/public.jade:47 src/jade/tabs/advanced.jade:36 +#: src/jade/tabs/advanced.jade:53 src/jade/tabs/advanced.jade:77 +#: src/jade/tabs/advanced.jade:94 src/jade/tabs/advanced.jade:124 +#: src/jade/tabs/btc.jade:74 src/jade/tabs/contacts.jade:50 +#: src/jade/tabs/contacts.jade:93 src/jade/tabs/exchange.jade:113 +#: src/jade/tabs/exchange.jade:126 src/jade/tabs/kyc.jade:116 +#: src/jade/tabs/kyc.jade:131 src/jade/tabs/kyc.jade:156 +#: src/jade/tabs/kyc.jade:157 src/jade/tabs/kyc.jade:186 +#: src/jade/tabs/login/form.jade:26 src/jade/tabs/security.jade:79 +#: src/jade/tabs/security.jade:112 src/jade/tabs/security.jade:149 +#: src/jade/tabs/send.jade:215 src/jade/tabs/send.jade:227 +#: src/jade/tabs/send.jade:252 src/jade/tabs/send.jade:286 +#: src/jade/tabs/trade.jade:55 src/jade/tabs/trust.jade:141 +#: src/jade/tabs/trust.jade:143 src/jade/tabs/trust.jade:213 +#: src/jade/tabs/trust.jade:251 msgid "cancel" msgstr "キャンセル" -#: src/jade/tabs/account/public.jade:49 src/jade/tabs/contacts.jade:7 -#: src/jade/tabs/contacts.jade:34 src/jade/tabs/desktop/register.jade:88 +#: src/jade/tabs/account/public.jade:49 msgid "Ripple address" msgstr "Ripple アドレス" +#: src/jade/tabs/advanced.jade:8 +msgid "Your blob vault has been changed successfully." +msgstr "Blob vault の変更に成功しました。" + +#: src/jade/tabs/advanced.jade:9 +msgid "Your bitcoin bridge has been changed successfully." +msgstr "ビットコインブリッジの変更に成功しました。" + +#: src/jade/tabs/advanced.jade:10 +msgid "Trustline advanced settings has been changed successfully." +msgstr "トラストライン高度設定の変更に成功しました。" + #: src/jade/tabs/advanced.jade:11 +msgid "Maximum network fee has been changed successfully." +msgstr "最大のネットワークフィーの変更に成功しました。" + +#: src/jade/tabs/advanced.jade:12 +msgid "A new server has been successfully added." +msgstr "新しいサーバーは追加されました。" + +#: src/jade/tabs/advanced.jade:13 +msgid "A server has been successfully removed." +msgstr "サーバーはリムーブされました。" + +#: src/jade/tabs/advanced.jade:14 +msgid "A server has been changed successfully." +msgstr "サーバーは変更されました。" + +#: src/jade/tabs/advanced.jade:21 msgid "Blob vault" msgstr "Blob vault" -#: src/jade/tabs/advanced.jade:22 src/jade/tabs/advanced.jade:39 -#: src/jade/tabs/advanced.jade:63 src/jade/tabs/advanced.jade:92 -#: src/jade/tabs/contacts.jade:96 src/jade/tabs/fund.jade:79 -#: src/jade/tabs/security.jade:175 src/jade/tabs/send.jade:237 -#: src/jade/tabs/send.jade:266 src/jade/tabs/trust.jade:156 -#: src/jade/tabs/trust.jade:282 +#: src/jade/tabs/advanced.jade:32 src/jade/tabs/advanced.jade:49 +#: src/jade/tabs/advanced.jade:73 src/jade/tabs/advanced.jade:92 +#: src/jade/tabs/advanced.jade:120 src/jade/tabs/contacts.jade:88 +#: src/jade/tabs/fund.jade:65 src/jade/tabs/security.jade:190 +#: src/jade/tabs/send.jade:251 src/jade/tabs/send.jade:284 +#: src/jade/tabs/trust.jade:119 src/jade/tabs/trust.jade:232 msgid "Save" msgstr "保存" -#: src/jade/tabs/advanced.jade:24 src/jade/tabs/advanced.jade:41 -#: src/jade/tabs/advanced.jade:65 src/jade/tabs/advanced.jade:94 -#: src/jade/tabs/contacts.jade:99 +#: src/jade/tabs/advanced.jade:34 src/jade/tabs/advanced.jade:51 +#: src/jade/tabs/advanced.jade:75 src/jade/tabs/advanced.jade:122 +#: src/jade/tabs/contacts.jade:91 src/jade/tabs/security.jade:198 msgid "Delete" msgstr "削除" -#: src/jade/tabs/advanced.jade:28 +#: src/jade/tabs/advanced.jade:38 msgid "Bitcoin bridge" msgstr "ビットコインブリッジ" -#: src/jade/tabs/advanced.jade:45 +#: src/jade/tabs/advanced.jade:55 msgid "Trust line" msgstr "与信限度額" -#: src/jade/tabs/advanced.jade:50 src/jade/tabs/advanced.jade:61 -#: src/jade/tabs/desktop/register.jade:85 src/jade/tabs/security.jade:148 +#: src/jade/tabs/advanced.jade:60 src/jade/tabs/advanced.jade:71 +#: src/jade/tabs/security.jade:162 msgid "Show" msgstr "表示" -#: src/jade/tabs/advanced.jade:51 src/jade/tabs/desktop/register.jade:86 -#: src/jade/tabs/security.jade:149 +#: src/jade/tabs/advanced.jade:61 src/jade/tabs/security.jade:163 msgid "Hide" msgstr "隠す" -#: src/jade/tabs/advanced.jade:68 +#: src/jade/tabs/advanced.jade:78 +msgid "Network settings" +msgstr "ネットワーク設定" + +#: src/jade/tabs/advanced.jade:80 +msgid "Maximum network fee" +msgstr "最大ネットワークフィー" + +#: src/jade/tabs/advanced.jade:96 msgid "Server settings" msgstr "サーバー設定" -#: src/jade/tabs/advanced.jade:73 +#: src/jade/tabs/advanced.jade:101 msgid "WebSocket host name" msgstr "WebSocket host名" -#: src/jade/tabs/advanced.jade:75 +#: src/jade/tabs/advanced.jade:103 msgid "Port number" msgstr "ポート・ナンバー" -#: src/jade/tabs/advanced.jade:81 +#: src/jade/tabs/advanced.jade:109 msgid "Socket ip or hostname is invalid." msgstr "Socket IP及びホスト名が無効です。" -#: src/jade/tabs/advanced.jade:83 +#: src/jade/tabs/advanced.jade:111 msgid "Port number is invalid." msgstr "ポートナンバーが無効です。" -#: src/jade/tabs/advanced.jade:90 src/jade/tabs/advanced.jade:103 +#: src/jade/tabs/advanced.jade:118 src/jade/tabs/advanced.jade:131 msgid "Secure" msgstr "安全" -#: src/jade/tabs/advanced.jade:104 +#: src/jade/tabs/advanced.jade:132 msgid "Not Secure" msgstr "安全でない" -#: src/jade/tabs/advanced.jade:110 +#: src/jade/tabs/advanced.jade:138 msgid "Add new server" msgstr "新しいサーバーを追加" -#: src/jade/tabs/apps.jade:5 src/jade/tabs/balance.jade:5 -#: src/jade/tabs/btc.jade:6 src/jade/tabs/exchange.jade:6 -#: src/jade/tabs/fund.jade:6 src/jade/tabs/history.jade:6 -#: src/jade/tabs/kyc.jade:6 src/jade/tabs/send.jade:6 src/jade/tabs/su.jade:5 -#: src/jade/tabs/trade.jade:7 src/jade/tabs/trust.jade:6 -#: src/jade/tabs/usd.jade:6 src/jade/tabs/withdraw.jade:6 -#: src/jade/tabs/xrp.jade:6 -msgid "You have to be online to see this screen" -msgstr "この画面を見るにはオンラインでなければなりません。" +#: src/jade/tabs/apps.jade:27 +msgid "App Ripple Address" +msgstr "Ripple アドレスを追加" #: src/jade/tabs/apps.jade:29 msgid "Please enter a ripple address." @@ -616,454 +1023,535 @@ msgstr "Ripple アドレスを入力してください。" msgid "Please enter a valid ripple address." msgstr "有効な Ripple アドレスを入力してください。" -#: src/jade/tabs/balance.jade:21 -msgid "Total Balance{{1}}" -msgstr "トータル残高{{1}}" - -#: src/jade/tabs/balance.jade:22 -msgid "Estimated from latest trade price" -msgstr "最新のトレード価格から見積る" - -#: src/jade/tabs/balance.jade:29 -msgid "(excluding negative balances)" -msgstr "(マイナス残高を除く)" - -#: src/jade/tabs/balance.jade:67 -msgid "Reserve" -msgstr "準備金" - -#: src/jade/tabs/balance.jade:85 -msgid "Unverified" -msgstr "未認証" +#: src/jade/tabs/banner/announcement.jade:2 +msgid "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" +msgstr "私達のチームがリップル・トレードを改良するのにご協力ください! {{1:Take a quick user survey.}}" -#: src/jade/tabs/balance.jade:92 -msgid "Enter bitcoin address." -msgstr "ビットコインアドレスを入力してください。" +#: src/jade/tabs/banner/unfunded.jade:2 +msgid "" +"Welcome to Ripple Trade! Your account needs to be activated. You can " +"activate it in 2 ways:" +msgstr "リップルトレードにようこそ! あなたのアカウントは、アクティブにする必要があります。 2つの方法でアクティブにすることができます:" -#: src/jade/tabs/balance.jade:95 -msgid "Enter amount to withdraw." -msgstr "引き出しの金額を入力してください。" +#: src/jade/tabs/banner/unfunded.jade:4 +msgid "" +"Have another user send XRP to your Ripple name " +"(~{{userCredentials.username}}). {{1}}" +msgstr "他のユーザーにあなたの Ripple 名 (~{{userCredentials.username}}) . {{1}}まで XRP の送信をお願いする。" -#: src/jade/tabs/balance.jade:100 src/jade/tabs/balance.jade:102 -msgid "Enter a valid bitcoin address" -msgstr "有効なビットコインアドレスを入力してください。" +#: src/jade/tabs/brl.jade:24 src/jade/tabs/eur.jade:24 +#: src/jade/tabs/gold.jade:24 src/jade/tabs/jpy.jade:24 +#: src/jade/tabs/mxn.jade:24 src/jade/tabs/trust.jade:42 +#: src/jade/tabs/usd.jade:24 +msgid "There was an error while saving your changes." +msgstr "変更点を保存する際にエラーが発生しました。" -#: src/jade/tabs/balance.jade:106 -msgid "Enter a valid amount" -msgstr "有効な金額を入力してください。" +#: src/jade/tabs/brl.jade:28 src/jade/tabs/eur.jade:27 +#: src/jade/tabs/gold.jade:27 src/jade/tabs/jpy.jade:28 +#: src/jade/tabs/mxn.jade:28 src/jade/tabs/trust.jade:45 +#: src/jade/tabs/usd.jade:27 +msgid "You must have at least {{1}} to add a new trust line. {{2}}" +msgstr "新しい与信枠を与えるために最低 {{1}} を所有していなければなりません。{{2}}" -#: src/jade/tabs/balance.jade:113 -msgid "You are sending {{1}} BTC to:" -msgstr "{{1}} BTC の受取人:" +#: src/jade/tabs/brl.jade:38 +msgid "Brazilian Real Deposit" +msgstr "ブラジルレアル入金" -#: src/jade/tabs/balance.jade:119 src/jade/tabs/balance.jade:134 -#: src/jade/tabs/register.jade:105 src/jade/tabs/register.jade:111 -msgid "Back" -msgstr "戻る" +#: src/jade/tabs/brl.jade:41 src/jade/tabs/btc.jade:35 +#: src/jade/tabs/eur.jade:38 src/jade/tabs/gold.jade:40 +#: src/jade/tabs/jpy.jade:41 src/jade/tabs/mxn.jade:41 +#: src/jade/tabs/trust.jade:167 src/jade/tabs/usd.jade:38 +msgid "Gateway" +msgstr "ゲートウェイ" -#: src/jade/tabs/balance.jade:122 src/jade/tabs/btc.jade:61 -#: src/jade/tabs/exchange.jade:92 src/jade/tabs/send.jade:203 -#: src/jade/tabs/trade.jade:57 src/jade/tabs/trade.jade:67 -#: src/jade/tabs/trade.jade:241 src/jade/tabs/trust.jade:176 -msgid "Confirm" -msgstr "確認" +#: src/jade/tabs/brl.jade:42 src/jade/tabs/eur.jade:48 +#: src/jade/tabs/mxn.jade:81 src/jade/tabs/mxn.jade:93 +#: src/jade/tabs/mxn.jade:103 src/jade/tabs/security.jade:49 +msgid "{{1}}{{2}}" +msgstr "{{1}}{{2}}" + +#: src/jade/tabs/brl.jade:43 +msgid "Ripple (~rippex)" +msgstr "Ripple (~rippex)" + +#: src/jade/tabs/brl.jade:46 src/jade/tabs/btc.jade:39 +#: src/jade/tabs/eur.jade:44 src/jade/tabs/gold.jade:44 +#: src/jade/tabs/jpy.jade:45 src/jade/tabs/mxn.jade:46 +#: src/jade/tabs/usd.jade:44 +msgid "Availability" +msgstr "利用可能場所" + +#: src/jade/tabs/brl.jade:47 +msgid "Brazil" +msgstr "ブラジル" + +#: src/jade/tabs/brl.jade:49 src/jade/tabs/btc.jade:42 +#: src/jade/tabs/eur.jade:47 src/jade/tabs/gold.jade:47 +#: src/jade/tabs/jpy.jade:48 src/jade/tabs/mxn.jade:49 +#: src/jade/tabs/usd.jade:47 +msgid "Fees" +msgstr "手数料" -#: src/jade/tabs/balance.jade:127 -msgid "Reconnecting to Ripple network" -msgstr "Ripple networkに再接続しています" +#: src/jade/tabs/brl.jade:50 src/jade/tabs/jpy.jade:49 +#: src/jade/tabs/kyc.jade:111 src/jade/tabs/kyc.jade:126 +#: src/jade/tabs/kyc.jade:151 +msgid "{{1}}{{2}}{{3}}" +msgstr "{{1}}{{2}}{{3}}" + +#: src/jade/tabs/brl.jade:51 +msgid "Deposit: 1.50 BRL + 0.5%" +msgstr "入金: 1.50 BRL + 0.5%" + +#: src/jade/tabs/brl.jade:52 +msgid "Transfer: 0%" +msgstr "送金: 0%" + +#: src/jade/tabs/brl.jade:56 src/jade/tabs/btc.jade:45 +#: src/jade/tabs/eur.jade:53 src/jade/tabs/gold.jade:50 +#: src/jade/tabs/jpy.jade:54 src/jade/tabs/mxn.jade:52 +#: src/jade/tabs/usd.jade:50 +msgid "Rating" +msgstr "レイティング" + +#: src/jade/tabs/brl.jade:62 +msgid "" +"Ripple Trade has partnered with Rippex to provide easy access to BRL. By " +"continuing, you agree with Rippex's {{1}}Following this action will enable " +"Rippex to hold BRL on your behalf." +msgstr "Ripple Tradeは、BRLの簡単なアクセスを提供するために、Rippexとパートナーになりました。この操作を続けると、あなたはRippexの {{1}}に合意することになり、RippexはあなたのBRLを保持することができます。" + +#: src/jade/tabs/brl.jade:69 +msgid "Add Rippex" +msgstr "Rippexを追加" + +#: src/jade/tabs/brl.jade:70 +msgid "Adding..." +msgstr "追加しています..." + +#: src/jade/tabs/brl.jade:71 src/jade/tabs/eur.jade:65 +#: src/jade/tabs/jpy.jade:64 src/jade/tabs/usd.jade:62 +msgid "Hide instructions" +msgstr "説明を隠す" + +#: src/jade/tabs/brl.jade:72 src/jade/tabs/eur.jade:66 +#: src/jade/tabs/jpy.jade:65 src/jade/tabs/usd.jade:63 +msgid "Show instructions" +msgstr "説明を表示" + +#: src/jade/tabs/brl.jade:75 src/jade/tabs/btc.jade:83 +msgid "{{1}}Not connected" +msgstr "{{1}}接続しない" + +#: src/jade/tabs/brl.jade:78 src/jade/tabs/btc.jade:86 +msgid "{{1}}Connected" +msgstr "{{1}}接続" + +#: src/jade/tabs/brl.jade:81 src/jade/tabs/eur.jade:71 +#: src/jade/tabs/gold.jade:73 src/jade/tabs/jpy.jade:74 +#: src/jade/tabs/mxn.jade:76 src/jade/tabs/usd.jade:68 +msgid "Your account has to be activated before you can add a gateway account." +msgstr "ゲートウェイアカウントを追加する前に、あなたのアカウントをアクティブ化する必要があります。" + +#: src/jade/tabs/brl.jade:84 src/jade/tabs/eur.jade:75 +#: src/jade/tabs/gold.jade:76 src/jade/tabs/jpy.jade:77 +#: src/jade/tabs/mxn.jade:79 src/jade/tabs/usd.jade:72 +msgid "×" +msgstr "×" + +#: src/jade/tabs/brl.jade:85 +msgid "NEW CUSTOMERS- SIGN UP AT RIPPEX" +msgstr "新しいカスタマーとしてRIPPEXにサインアップ" + +#: src/jade/tabs/brl.jade:86 +msgid "" +"{{1}} at Rippex.net to initiate deposits and withdrawals. You will " +"need:{{2}}" +msgstr "" -#: src/jade/tabs/balance.jade:128 -msgid "Transaction Successful" -msgstr "取引は成功しました。" +#: src/jade/tabs/brl.jade:90 +msgid "A {{1}}" +msgstr "" -#: src/jade/tabs/balance.jade:129 -msgid "Warning" -msgstr "注意" +#: src/jade/tabs/brl.jade:92 +msgid "A bank account in Brazil." +msgstr "ブラジルの銀行口座" -#: src/jade/tabs/balance.jade:130 -msgid "Transaction Failed" -msgstr "取引は失敗しました。" +#: src/jade/tabs/brl.jade:96 +msgid "EXISTING RIPPEX CUSTOMERS" +msgstr "既存のRIPPEXカスタマー" -#: src/jade/tabs/balance.jade:131 -msgid "Message" -msgstr "メッセージ" +#: src/jade/tabs/brl.jade:97 +msgid "If you have a Rippex account, {{1}}" +msgstr "既にRippexアカウントをお持ちなら、{{1}}" -#: src/jade/tabs/banner/announcement.jade:2 -msgid "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" -msgstr "私達のチームがリップル・トレードを改良するのにご協力ください! {{1:Take a quick user survey.}}" +#: src/jade/tabs/brl.jade:100 +msgid "DEPOSIT INSTRUCTIONS" +msgstr "入金手順" -#: src/jade/tabs/banner/unfunded.jade:2 -msgid "" -"Welcome to Ripple Trade! To activate your account, you'll need at least 20 " -"XRP." -msgstr "Ripple Trade へようこそ!アカウントをアクティブにするには、最低 20 XRP が必要です。" +#: src/jade/tabs/brl.jade:101 +msgid "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" +msgstr "Rippexは、すべてのブラジルの銀行から入金を受け入れます。手順 {{1}}" -#: src/jade/tabs/banner/unfunded.jade:4 -msgid "" -"Have another user send XRP to your Ripple name " -"(~{{userCredentials.username}})" -msgstr "他のユーザーにあなたの Ripple 名(~{{userCredentials.username}}) まで XRP の送金をお願いする。" +#: src/jade/tabs/btc.jade:19 +msgid "Success! You can deposit BTC via your generated BTC receiving address." +msgstr "成功! 生成されたBTC受信アドレスによってBTCを入金することができます。" -#: src/jade/tabs/banner/unfunded.jade:5 -msgid "" -"Use the {{1}}. A small amount of your first deposit will be used to " -"activate your account." -msgstr " {{1}}を使用してください。初めての入金の一部がアカウントのアクティベーションに使用されます。" +#: src/jade/tabs/btc.jade:21 +msgid "There was an error with your request. {{1}}" +msgstr "あなたのリクエストにおいてエラーがありました{{1}}" -#: src/jade/tabs/btc.jade:18 +#: src/jade/tabs/btc.jade:30 msgid "Bitcoin Deposit" msgstr "ビットコイン入金" -#: src/jade/tabs/btc.jade:26 -msgid "" -"A small amount (~.001 BTC) of your first transfer will be converted to XRP " -"to activate your wallet. {{1:Why?}}" -msgstr "初めての入金の一部 (~.001 BTC) がウォレットのアクティベーションのため XRP に両替されます。{{1:なぜ?}}" +#: src/jade/tabs/btc.jade:36 +msgid "btc2ripple (~snapswap) {{1}}" +msgstr "btc2ripple (~snapswap) {{1}}" -#: src/jade/tabs/btc.jade:30 -msgid "Your current deposit limit is:" -msgstr "現在の入金制限:" +#: src/jade/tabs/btc.jade:40 src/jade/tabs/gold.jade:45 +#: src/jade/tabs/jpy.jade:46 +msgid "All countries" +msgstr "すべての国" -#: src/jade/tabs/btc.jade:32 -msgid "Remove Limit" -msgstr "制限を取り除く" +#: src/jade/tabs/btc.jade:43 src/jade/tabs/mxn.jade:50 +msgid "0%" +msgstr "0%" -#: src/jade/tabs/btc.jade:36 -msgid "Waiting for response from SnapSwap service..." -msgstr "SnapSwapサービスから応答を待っています" - -#: src/jade/tabs/btc.jade:38 +#: src/jade/tabs/btc.jade:50 msgid "" -"To deposit, generate a bitcoin receiving address using the {{1}} service " -"powered by SnapSwap." -msgstr "入金するには、SnapSwap の {{1}} サービスを利用してビットコイン受信アドレスを作成してください。" +"Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By" +" proceeding, you agree to the btc2ripple {{1}} Following this action will " +"allow btc2ripple to hold BTC on your behalf." +msgstr "Ripple Tradeは、BTCの簡単な入金をするために、btc2rippleとパートナーになりました。この操作を続けると、btc2ripple {{1}} に合意することになり、btc2rippleがあなたの自身のBTCを保持することができます。" -#: src/jade/tabs/btc.jade:45 -msgid "Generate bitcoin address" -msgstr "ビットコインアドレスを作成" +#: src/jade/tabs/btc.jade:56 +msgid "Add btc2ripple" +msgstr "btc2rippleを追加" -#: src/jade/tabs/btc.jade:49 src/jade/tabs/security.jade:56 -#: src/jade/tabs/trust.jade:160 +#: src/jade/tabs/btc.jade:60 src/jade/tabs/security.jade:64 +#: src/jade/tabs/trust.jade:123 msgid "Connect" msgstr "接続" -#: src/jade/tabs/btc.jade:51 +#: src/jade/tabs/btc.jade:62 msgid "btc2ripple would like to:" msgstr "btc2ripple は、以下の情報を受け取ります。" -#: src/jade/tabs/btc.jade:53 -msgid "- Receive your email address{{1}}" -msgstr "- あなたのメールアドレス {{1}}を受信" +#: src/jade/tabs/btc.jade:64 +msgid "- Receive your email address {{1}}" +msgstr "- あなたのメールアドレス {{1}}" -#: src/jade/tabs/btc.jade:54 +#: src/jade/tabs/btc.jade:65 msgid "({{userBlob.data.email}})" msgstr "({{userBlob.data.email}})" -#: src/jade/tabs/btc.jade:55 +#: src/jade/tabs/btc.jade:66 msgid "- Hold deposited BTC on your behalf" msgstr "- あなたにかわっで BTC を入金" -#: src/jade/tabs/btc.jade:56 +#: src/jade/tabs/btc.jade:67 msgid "By proceeding, you agree to the btc2ripple {{1}}" msgstr "続行することによりあなたは、btc2ripple {{1}} に同意します。" -#: src/jade/tabs/btc.jade:63 +#: src/jade/tabs/btc.jade:75 msgid "" "SnapSwap's btc2ripple service is currently unavailable. Please check back " "later." msgstr "現在、SnapSwap の btc2ripple サービスが利用できません。しばらく待ってから再実行してください。" -#: src/jade/tabs/contacts.jade:6 src/jade/tabs/contacts.jade:26 -msgid "Ripple name or address" -msgstr "Ripple 名またはアドレス" +#: src/jade/tabs/btc.jade:94 +msgid "Personal Deposit address" +msgstr "個人の入金アドレス" -#: src/jade/tabs/contacts.jade:9 src/jade/tabs/contacts.jade:13 -#: src/jade/tabs/contacts.jade:56 -msgid "Add contact" -msgstr "相手先を追加" +#: src/jade/tabs/btc.jade:96 +msgid "Your account is fully verified." +msgstr "あなたのアカウントは完全に検証されています。" + +#: src/jade/tabs/btc.jade:104 +msgid "Withdrawal instructions" +msgstr "引き出し手順" + +#: src/jade/tabs/btc.jade:105 +msgid "" +"To withdraw to a BTC address, go to the Send tab and enter the BTC address. " +"Using the btc2ripple service, you will be able tosend to that BTC address." +msgstr "BTCアドレスに引出しをするには、 送信タブに移動し、 BTCアドレスを入力してください。 btc2rippleサービスを使用すると、そのBTCのアドレスに送信することができます。" -#: src/jade/tabs/contacts.jade:18 +#: src/jade/tabs/btc.jade:110 +msgid "Waiting for response from SnapSwap service..." +msgstr "SnapSwapサービスから応答を待っています" + +#: src/jade/tabs/btc.jade:112 +msgid "" +"To deposit, generate a bitcoin receiving address using the {{1}} service " +"powered by SnapSwap." +msgstr "入金するには、SnapSwap の {{1}} サービスを利用してビットコイン受信アドレスを作成してください。" + +#: src/jade/tabs/contacts.jade:8 +msgid "A new contact has been successfully added." +msgstr "新しい相手先は追加されました。" + +#: src/jade/tabs/contacts.jade:9 +msgid "Your contact has been successfully updated." +msgstr "新しい相手先は更新されました。" + +#: src/jade/tabs/contacts.jade:10 +msgid "A contact has been successfully removed." +msgstr "相手先はリムーブされました。" + +#: src/jade/tabs/contacts.jade:12 src/jade/tabs/contacts.jade:24 msgid "Contact" msgstr "相手先" -#: src/jade/tabs/contacts.jade:21 +#: src/jade/tabs/contacts.jade:13 src/jade/tabs/contacts.jade:32 +msgid "Ripple name or address" +msgstr "Ripple名またはアドレス" + +#: src/jade/tabs/contacts.jade:15 src/jade/tabs/contacts.jade:19 +#: src/jade/tabs/contacts.jade:48 +msgid "Add contact" +msgstr "相手先を追加" + +#: src/jade/tabs/contacts.jade:27 src/jade/tabs/send.jade:245 +#: src/jade/tabs/send.jade:277 msgid "Please enter a contact." msgstr "相手先を入力してください。" -#: src/jade/tabs/contacts.jade:22 +#: src/jade/tabs/contacts.jade:28 msgid "This contact already exists." msgstr "この相手先は既に存在します。" -#: src/jade/tabs/contacts.jade:30 -msgid "Please enter a Ripple name." -msgstr "Ripple 名を入力してください。" - -#: src/jade/tabs/contacts.jade:31 src/jade/tabs/contacts.jade:47 -msgid "" -"You already have a contact with the same Ripple name and/or the same " -"Destination tag." -msgstr "既に同じRipple名および(または)同じ宛先タグが存在します" - -#: src/jade/tabs/contacts.jade:32 -msgid "Not a valid Ripple name or address." -msgstr "有効な Ripple 名またはアドレスではありません。" - -#: src/jade/tabs/contacts.jade:38 -msgid "Please enter a Ripple address." -msgstr "Ripple アドレスを入力してください。" +#: src/jade/tabs/contacts.jade:36 +msgid "Please enter a Ripple name." +msgstr "Ripple 名を入力してください。" -#: src/jade/tabs/contacts.jade:39 src/jade/tabs/contacts.jade:53 +#: src/jade/tabs/contacts.jade:37 src/jade/tabs/contacts.jade:45 msgid "" -"You already have a contact with the same Ripple address and/or the same " +"You already have a contact with the same Ripple name and/or the same " "Destination tag." -msgstr "既に同じRipple アドレスおよび(または)同じ宛先タグが存在します" +msgstr "既に同じRipple名および(または)同じ宛先タグが存在します" -#: src/jade/tabs/contacts.jade:40 -msgid "Not a valid Ripple address." -msgstr "有効な Ripple アドレスではありません。" +#: src/jade/tabs/contacts.jade:38 +msgid "Not a valid Ripple name or address." +msgstr "有効な Ripple 名またはアドレスではありません。" -#: src/jade/tabs/contacts.jade:43 src/jade/tabs/contacts.jade:49 -#: src/jade/tabs/contacts.jade:89 src/jade/tabs/send.jade:49 -#: src/jade/tabs/tx.jade:54 +#: src/jade/tabs/contacts.jade:41 src/jade/tabs/contacts.jade:81 +#: src/jade/tabs/send.jade:42 src/jade/tabs/tx.jade:56 msgid "Destination tag" msgstr "宛先タグ" -#: src/jade/tabs/contacts.jade:46 src/jade/tabs/contacts.jade:52 -#: src/jade/tabs/send.jade:53 +#: src/jade/tabs/contacts.jade:42 +msgid "Leave blank if not applicable" +msgstr "適用しない場合は空白のままにします" + +#: src/jade/tabs/contacts.jade:44 src/jade/tabs/send.jade:46 msgid "Invalid destination tag" msgstr "無効な宛先タグ" -#: src/jade/tabs/contacts.jade:80 src/jade/tabs/send.jade:232 -#: src/jade/tabs/send.jade:260 +#: src/jade/tabs/contacts.jade:72 msgid "You already have a contact with the same name." msgstr "既に同じ名前の相手先がいます。" -#: src/jade/tabs/contacts.jade:86 +#: src/jade/tabs/contacts.jade:78 msgid "You already have this address." msgstr "このアドレスは既に保存されています。" -#: src/jade/tabs/contacts.jade:87 +#: src/jade/tabs/contacts.jade:79 src/jade/tabs/debug.jade:14 msgid "Not a valid address." msgstr "有効なアドレスではありません。" -#: src/jade/tabs/contacts.jade:92 +#: src/jade/tabs/contacts.jade:84 msgid "Invalid destination tag." msgstr "無効な宛先タグ" -#: src/jade/tabs/contacts.jade:102 +#: src/jade/tabs/contacts.jade:94 msgid "" "You don't have any contacts yet. Click on 'Add contact' button in the top " "right corner to add a new contact." msgstr "相手先をまだ持っていません。 新しい相手先を加えるには、右上隅の「相手先を加える」ボタンをクリックしてください" -#: src/jade/tabs/desktop/login.jade:3 -msgid "" -"You will not be able to login to the downloadable client using a " -"username/password you create on Ripple Trade or the web version of the " -"Ripple Client. You can only use a secret key to access an existing Ripple " -"account. This is because the downloadable client stores your login " -"information locally on your computer, so your account is as safe as the " -"security of your personal computer." -msgstr "Ripple Trade またはウェブバージョンの Ripple Client で作成したユーザー名・パスワードを使ってダウンロードクライアントにログインすることはできません。既に存在する Ripple アカウントは、シークレット・キーの使用のみでアクセスできます。ダウンロードクライアントはあなたのコンピューターにログイン情報を保管しているので、パーソナルコンピューターがセキュアである限り、アカウントもセキュアです。" - -#: src/jade/tabs/desktop/login.jade:12 src/jade/tabs/desktop/login.jade:34 -msgid "Open account" -msgstr "アカウントを作成" - -#: src/jade/tabs/desktop/login.jade:15 src/jade/tabs/desktop/register.jade:5 -#: src/jade/tabs/desktop/register.jade:65 -msgid "Create new account" -msgstr "新規アカウントを作成" +#: src/jade/tabs/debug.jade:9 +msgid "Enter a Ripple name or address" +msgstr "Ripple 名またはアドレスを入力してください" -#: src/jade/tabs/desktop/login.jade:18 -msgid "Select account file {{walletfile}}" -msgstr "アカウントファイル {{walletfile}} を選択" +#: src/jade/tabs/debug.jade:13 +msgid "Please enter an address." +msgstr "アドレスを入力してください" -#: src/jade/tabs/desktop/login.jade:21 -msgid "Select account file" -msgstr "アカウントファイルを選択" +#: src/jade/tabs/debug.jade:17 +msgid "Turn on debug mode" +msgstr "デバッグモードをオン" -#: src/jade/tabs/desktop/login.jade:24 -msgid "Account password" -msgstr "アカウントパスワード" +#: src/jade/tabs/eur.jade:35 +msgid "Euro Deposit" +msgstr "Euro入金" -#: src/jade/tabs/desktop/register.jade:8 -msgid "Open existing account" -msgstr "既に存在するアカウントを開く" +#: src/jade/tabs/eur.jade:39 +msgid "SnapSwap EU (~SnapSwap){{1}}{{2}}" +msgstr "SnapSwap EU (~SnapSwap){{1}}{{2}}" -#: src/jade/tabs/desktop/register.jade:11 -msgid "Create an empty account" -msgstr "空のアカウントを作成" +#: src/jade/tabs/eur.jade:45 +msgid "All countries, except USA" +msgstr "すべての国(米国以外)" -#: src/jade/tabs/desktop/register.jade:14 -msgid "Create a new account with a secret key" -msgstr "シークレット・キーを利用して新規アカウントを作成する" +#: src/jade/tabs/eur.jade:49 +msgid "€ 0.31 – € 15.00" +msgstr "€ 0.31 – € 15.00" -#: src/jade/tabs/desktop/register.jade:18 -msgid "Create empty account" -msgstr "空のアカウントを作成" - -#: src/jade/tabs/desktop/register.jade:20 -msgid "Encrypt your new account file: {{walletfile}}" -msgstr "新規アカウントファイルを暗号化する: {{walletfile}}" - -#: src/jade/tabs/desktop/register.jade:24 -msgid "Wallet file" -msgstr "ウォレットファイル" - -#: src/jade/tabs/desktop/register.jade:31 +#: src/jade/tabs/eur.jade:59 msgid "" -"Your password is weak. It is not a mix of letters, numbers and symbols or it" -" is the same as your Ripple name." -msgstr "パスワードが脆弱です。文字、数字、シンボルが混合されていないか、またはアカウント名と同じです。" - -#: src/jade/tabs/desktop/register.jade:33 src/jade/tabs/recover.jade:40 -#: src/jade/tabs/register.jade:49 src/jade/tabs/security.jade:123 -msgid "Confirm password" -msgstr "パスワードを確認" - -#: src/jade/tabs/desktop/register.jade:36 src/jade/tabs/recover.jade:43 -#: src/jade/tabs/register.jade:52 src/jade/tabs/security.jade:126 -msgid "Passwords do not match" -msgstr "パスワードが一致しません" - -#: src/jade/tabs/desktop/register.jade:42 -msgid "Encrypt account" -msgstr "アカウントを暗号化" - -#: src/jade/tabs/desktop/register.jade:44 -msgid "Cancel and delete account file" -msgstr "アカウントファイルを削除" - -#: src/jade/tabs/desktop/register.jade:50 -msgid "Create account with secret key" -msgstr "シークレット・キーを利用してアカウントを作成" +"Ripple Trade has partnered with SnapSwap to provide easier access to EUR. " +"Following this action will enable SnapSwap to hold EUR on your behalf." +msgstr "Ripple Tradeは、EURへの簡単なアクセスを提供するために、SnapSwapとパートナーになりました。この操作を続けると、SnapSwapにあなたの自身のEURを保持することができます。" -#: src/jade/tabs/desktop/register.jade:55 -msgid "Enter your secret key" -msgstr "シークレット・キーを入力" +#: src/jade/tabs/eur.jade:69 src/jade/tabs/usd.jade:66 +msgid "Not connected" +msgstr "接続しない" -#: src/jade/tabs/desktop/register.jade:62 -msgid "Secret is invalid" -msgstr "Secret は無効です" - -#: src/jade/tabs/desktop/register.jade:67 src/jade/tabs/fund.jade:77 -#: src/jade/tabs/trade.jade:325 -msgid "Cancel" -msgstr "キャンセル" +#: src/jade/tabs/eur.jade:70 src/jade/tabs/usd.jade:67 +msgid "Connected" +msgstr "接続" -#: src/jade/tabs/desktop/register.jade:69 src/jade/tabs/register.jade:95 -msgid "Have an account? {{1:Log In}}" -msgstr "アカウントを持っていますか? {{1:ログインする}}" +#: src/jade/tabs/eur.jade:76 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.EU" +msgstr "新しいカスタマーとしてSNAPSWAP.EUにサインアップ" -#: src/jade/tabs/desktop/register.jade:75 -msgid "Important:" -msgstr "注意" +#: src/jade/tabs/eur.jade:77 +msgid "Register and verify your account at SnapSwap EU. You will need: {{1}}" +msgstr "" -#: src/jade/tabs/desktop/register.jade:76 +#: src/jade/tabs/eur.jade:81 src/jade/tabs/usd.jade:78 msgid "" -"The secret key below gives access to your money in the unlikely case that " -"you lose your password. In that case your contacts will be lost, but with " -"this secret key alone anyone can retrieve your money. So please store it " -"somewhere PRIVATE AND SAFE. Read more about keys and wallet safety in {{1}}" -msgstr "下記のシークレット・キーは、パスワードを失った際、あなたの金銭にアクセス権を与えます。この場合、相手先も失われます。このシークレット・キーを利用して、誰でもあなたの金銭を取得できますので、必ず安全な場所に保管してください。シークレット・キーおよびウォレットの安全性に関する詳細は {{1}} でお読みください。" +"A valid government-issued ID: driver license, passport, ID card, or visa " +"stamp." +msgstr "" -#: src/jade/tabs/desktop/register.jade:79 src/jade/tabs/settings/navbar.jade:2 -msgid "Security" -msgstr "セキュリティー" +#: src/jade/tabs/eur.jade:83 src/jade/tabs/usd.jade:80 +msgid "A proof of address: driver license, utility bill, bank statement, etc." +msgstr "" -#: src/jade/tabs/desktop/register.jade:81 -msgid "Passphrase:{{1}}{{2}}{{3}}{{4}}" -msgstr "パスワード: {{1}}{{2}}{{3}}{{4}}" +#: src/jade/tabs/eur.jade:85 +msgid "EXISTING SNAPSWAP EU CUSTOMERS" +msgstr "既存のSNAPSWAP EUカスタマー" -#: src/jade/tabs/desktop/register.jade:90 -msgid "Secret key:" -msgstr "シークレット・キー:" +#: src/jade/tabs/eur.jade:89 src/jade/tabs/jpy.jade:94 +#: src/jade/tabs/usd.jade:86 +msgid "Login to your account {{1}}" +msgstr "" -#: src/jade/tabs/desktop/register.jade:95 src/jade/tabs/register.jade:150 -msgid "Show secret key" -msgstr "シークレット・キーを表示" +#: src/jade/tabs/eur.jade:92 src/jade/tabs/jpy.jade:96 +msgid "DEPOSITS AND WITHDRAWALS:" +msgstr "" -#: src/jade/tabs/desktop/register.jade:97 src/jade/tabs/register.jade:151 -msgid "Hide secret key" -msgstr "シークレット・キーを隠す" +#: src/jade/tabs/eur.jade:96 +msgid "Deposit from your bank (2-4 business days)" +msgstr "" -#: src/jade/tabs/desktop/register.jade:98 -msgid "Have you saved your secret key somewhere safe?" -msgstr "シークレット・キーを安全な場所に保管しましたか?" +#: src/jade/tabs/eur.jade:98 +msgid "Withdraw to your bank account in SEPA (2-4 business days)" +msgstr "" -#: src/jade/tabs/desktop/register.jade:101 -msgid "Yes, I saved my secret key" -msgstr "はい、シークレット・キーを保管しました。" +#: src/jade/tabs/eur.jade:100 +msgid "Withdraw to SmartyCash Card (instant)" +msgstr "" #: src/jade/tabs/exchange.jade:13 msgid "You have to be funded before you can exchange money" msgstr "両替する前に資金を供給する必要があります。" +#: src/jade/tabs/exchange.jade:23 +msgid "Buy (Market Order)" +msgstr "" + +#: src/jade/tabs/exchange.jade:24 +msgid "" +"Submit a buy order at the current market rate. Orders will execute " +"instantly." +msgstr "" + # Receive (amount) -#: src/jade/tabs/exchange.jade:19 +#: src/jade/tabs/exchange.jade:27 msgid "Receive (amount)" -msgstr "受け取る" +msgstr "" -#: src/jade/tabs/exchange.jade:26 src/jade/tabs/send.jade:88 +#: src/jade/tabs/exchange.jade:34 src/jade/tabs/widgets/balances.jade:49 +msgid "add gateway" +msgstr "ゲートウェイを追加" + +#: src/jade/tabs/exchange.jade:37 src/jade/tabs/send.jade:90 msgid "Please enter an amount." msgstr "金額を入力してください。" -#: src/jade/tabs/exchange.jade:27 src/jade/tabs/send.jade:89 -#: src/jade/tabs/trade.jade:146 src/jade/tabs/trade.jade:161 -#: src/jade/tabs/trade.jade:176 +#: src/jade/tabs/exchange.jade:38 src/jade/tabs/send.jade:91 +#: src/jade/tabs/trade.jade:153 src/jade/tabs/trade.jade:168 +#: src/jade/tabs/trade.jade:183 src/jade/tabs/trust.jade:101 msgid "Not a valid amount." msgstr "無効な金額です。" -#: src/jade/tabs/exchange.jade:28 +#: src/jade/tabs/exchange.jade:39 +msgid "" +"You are either trying to convert too little or too much XRP.Minimum amount " +"is 0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "換金しようとしているXRPが規定量の範囲外です。最小額は0.000001 XRP、最大額は1000億XRPです。" + +#: src/jade/tabs/exchange.jade:42 src/jade/tabs/send.jade:96 +#: src/jade/tabs/trust.jade:103 +msgid "Your amount has too many digits. The max number of digits is 16." +msgstr "金額は、非常に大きな桁数です。 桁の最大数は、16です。" + +#: src/jade/tabs/exchange.jade:43 msgid "Please enter an amount greater than zero." msgstr "0より大きな金額を入力してください。" -#: src/jade/tabs/exchange.jade:31 -msgid "Calculating..." -msgstr "計算中..." +#: src/jade/tabs/exchange.jade:46 +msgid "{{1}} Calculating..." +msgstr "{{1}}計算中..." -#: src/jade/tabs/exchange.jade:33 +#: src/jade/tabs/exchange.jade:50 msgid "" "Cannot convert to {{exchange.amount}} {{exchange.currency_name}}. Please " "make sure your account has enough funds, and a {{1}} to a " "{{exchange.currency_name}} gateway." msgstr "{{exchange.amount}} {{exchange.currency_name}} に変換できません。あなたのアカウントに十分な残高があること、および {{exchange.currency_name}} ゲートウェイへの {{1}} があることをご確認ください。" -#: src/jade/tabs/exchange.jade:37 +#: src/jade/tabs/exchange.jade:54 msgid "" "Sorry! Cannot convert {{exchange.amount}} {{exchange.currency_name}}. Please" " make sure your account has enough funds." msgstr "申し訳ありません!\n{{convert.amount}}{{convert.currency}}を両替することができません。\nあなたのアカウントに十分な資金があるかを確認してください。" -#: src/jade/tabs/exchange.jade:39 src/jade/tabs/send.jade:133 +#: src/jade/tabs/exchange.jade:56 src/jade/tabs/send.jade:142 msgid "Error while calculating path" msgstr "経路計算中にエラーが発生しました" -#: src/jade/tabs/exchange.jade:55 +#: src/jade/tabs/exchange.jade:60 +msgid "Exchange" +msgstr "両替" + +#: src/jade/tabs/exchange.jade:72 msgid "Exchange {{ alt.amount | rpcurrency }} {{1}}" msgstr "{{ alt.amount | rpcurrency }} {{1}} を交換する" -#: src/jade/tabs/exchange.jade:61 src/jade/tabs/send.jade:161 +#: src/jade/tabs/exchange.jade:78 src/jade/tabs/send.jade:170 msgid "Paths last updated {{1}} {{2: seconds}} {{3: second}} ago" msgstr "{{1}} {{2: seconds}} {{3: second}} 前に経路が更新されました" -#: src/jade/tabs/exchange.jade:70 +#: src/jade/tabs/exchange.jade:89 msgid "Ripple is calculating a path for your conversion." msgstr "交換経路の計算を行っています。" -#: src/jade/tabs/exchange.jade:75 +#: src/jade/tabs/exchange.jade:94 msgid "" "{{1:You are exchanging}}{{2}}{{3:to}}{{4}}{{5:You will pay at " "most}}{{6}}{{7:Are you sure?}}" msgstr "{{2}}を{{4}}{{3:に}}{{1:両替します}}。{{5:最高額は}}{{6}}です。{{7:よろしいですか?}}" -#: src/jade/tabs/exchange.jade:116 +#: src/jade/tabs/exchange.jade:139 msgid "Do another conversion" msgstr "別の両替をする" -#: src/jade/tabs/exchange.jade:118 src/jade/tabs/send.jade:243 -#: src/jade/tabs/send.jade:273 +#: src/jade/tabs/exchange.jade:141 src/jade/tabs/send.jade:257 +#: src/jade/tabs/send.jade:291 msgid "Back to balance" msgstr "残高に戻る" @@ -1071,215 +1559,280 @@ msgstr "残高に戻る" msgid "Add trust" msgstr "与信枠を追加" -#: src/jade/tabs/fund.jade:33 src/jade/tabs/fund.jade:47 -#: src/jade/tabs/trust.jade:100 src/jade/tabs/trust.jade:121 +#: src/jade/tabs/fund.jade:27 src/jade/tabs/send.jade:26 +msgid "Enter a Ripple name or contact" +msgstr "Ripple 名または連絡先を入力" + +#: src/jade/tabs/fund.jade:33 src/jade/tabs/trust.jade:73 msgid "Account does not meet the minimum XRP reserve." msgstr "アカウントは最低 XRP 準備金を満たしていません。" -#: src/jade/tabs/fund.jade:34 src/jade/tabs/fund.jade:48 -#: src/jade/tabs/send.jade:107 src/jade/tabs/trust.jade:101 -#: src/jade/tabs/trust.jade:122 -msgid "More information" -msgstr "詳細" - -#: src/jade/tabs/fund.jade:36 src/jade/tabs/trust.jade:103 +#: src/jade/tabs/fund.jade:36 src/jade/tabs/trust.jade:76 msgid "Please enter a Ripple name, contact, or address." msgstr "Ripple 名、連絡先、またはアドレスを入力してください。" -#: src/jade/tabs/fund.jade:37 src/jade/tabs/fund.jade:51 -#: src/jade/tabs/trust.jade:104 src/jade/tabs/trust.jade:125 +#: src/jade/tabs/fund.jade:37 src/jade/tabs/trust.jade:77 msgid "You've entered your own address." msgstr "ご自分のアドレスを入力しました。" -#: src/jade/tabs/fund.jade:38 src/jade/tabs/trust.jade:105 +#: src/jade/tabs/fund.jade:38 src/jade/tabs/trust.jade:78 msgid "Please enter a valid Ripple name, contact, or address." msgstr "有効な Ripple 名、連絡先、またはアドレスを入力してください。" -#: src/jade/tabs/fund.jade:50 src/jade/tabs/trust.jade:124 -msgid "Please enter a Ripple address or contact." -msgstr "Ripple アドレスまたは連絡先を入力してください。" - -#: src/jade/tabs/fund.jade:52 src/jade/tabs/trust.jade:126 -msgid "Please enter a valid Ripple address or contact." -msgstr "有効な Ripple アドレスまたは相手先を入力してください。" - -#: src/jade/tabs/fund.jade:55 src/jade/tabs/history.jade:190 -#: src/jade/tabs/trade.jade:303 src/jade/tabs/trust.jade:129 -msgid "Amount" -msgstr "金額" - -#: src/jade/tabs/fund.jade:62 src/jade/tabs/trust.jade:107 -#: src/jade/tabs/trust.jade:140 +#: src/jade/tabs/fund.jade:48 src/jade/tabs/trust.jade:80 msgid "Amount field is required" msgstr "金額フィールドは必須です" -#: src/jade/tabs/fund.jade:64 src/jade/tabs/trust.jade:109 -#: src/jade/tabs/trust.jade:142 +#: src/jade/tabs/fund.jade:50 src/jade/tabs/trust.jade:82 +#: src/jade/tabs/trust.jade:105 msgid "" "XRP can be sent without extending trust. If you really want to trust in XRP," " please use XRR currency code." msgstr "XRP は信用を与えなくても送ることができます。XRPを信用したい場合、XRR通貨コードを使ってください。" -#: src/jade/tabs/fund.jade:67 src/jade/tabs/trust.jade:112 -#: src/jade/tabs/trust.jade:145 +#: src/jade/tabs/fund.jade:53 src/jade/tabs/trust.jade:85 +#: src/jade/tabs/trust.jade:108 msgid "Currency field is required" msgstr "通貨フィールドは必須です" -#: src/jade/tabs/fund.jade:73 src/jade/tabs/trust.jade:151 +#: src/jade/tabs/fund.jade:59 src/jade/tabs/fund.jade:60 +#: src/jade/tabs/trust.jade:114 src/jade/tabs/trust.jade:115 msgid "Allow Rippling" msgstr "Ripple の使用を許可" -#: src/jade/tabs/fund/menu.jade:2 -msgid "XRP" -msgstr "XRP" +#: src/jade/tabs/fund.jade:60 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"trust. More " +"information" +msgstr "" + +#: src/jade/tabs/fund.jade:63 +msgid "Cancel" +msgstr "キャンセル" #: src/jade/tabs/fund/menu.jade:3 -msgid "BTC" -msgstr "BTC" +msgid "{{1}}XRP" +msgstr "{{1}}XRP" #: src/jade/tabs/fund/menu.jade:6 +msgid "Featured gateways" +msgstr "注目のゲートウェイ" + +#: src/jade/tabs/fund/menu.jade:7 +msgid "{{1}}BRL" +msgstr "{{1}}BRL" + +#: src/jade/tabs/fund/menu.jade:10 +msgid "{{1}}BTC" +msgstr "{{1}}BTC" + +#: src/jade/tabs/fund/menu.jade:13 +msgid "{{1}}EUR" +msgstr "{{1}}EUR" + +#: src/jade/tabs/fund/menu.jade:16 +msgid "{{1}}JPY" +msgstr "{{1}}JPY" + +#: src/jade/tabs/fund/menu.jade:19 +msgid "{{1}}MXN" +msgstr "{{1}}MXN" + +#: src/jade/tabs/fund/menu.jade:22 +msgid "{{1}}USD" +msgstr "{{1}}USD" + +#: src/jade/tabs/fund/menu.jade:25 +msgid "{{1}}XAU" +msgstr "{{1}}XAU" + +#: src/jade/tabs/fund/menu.jade:28 +msgid "Add any gateway" +msgstr "Add any gateway" + +#: src/jade/tabs/fund/menu.jade:30 msgid "Learn more about gateways" msgstr "ゲートウェイについてより学んでください" -#: src/jade/tabs/history.jade:9 -msgid "Loading history..." -msgstr "履歴を読み込み中..." +#: src/jade/tabs/gold.jade:37 +msgid "Gold Deposit" +msgstr "ゴールド入金" + +#: src/jade/tabs/gold.jade:41 +msgid "Gold Bullion International (~gbi) {{1}}" +msgstr "Gold Bullion International (~gbi) {{1}}" + +#: src/jade/tabs/gold.jade:48 +msgid "0.5% per year" +msgstr "年率0.5%" + +#: src/jade/tabs/gold.jade:56 +msgid "" +"Ripple Trade has partnered with GBI to provide easy access toXAU. By " +"continuing, you are allowing GBI to hold gold on your behalf." +msgstr "Ripple Tradeは、XAUの簡単なアクセスを提供するために、GBIとパートナーになりました。この操作を続けると、GBIが代わりに金を保持することを認めます。" + +#: src/jade/tabs/gold.jade:67 src/jade/tabs/jpy.jade:68 +#: src/jade/tabs/mxn.jade:70 +msgid "{{1}} Not connected" +msgstr "{{1}} 接続しない" + +#: src/jade/tabs/gold.jade:70 src/jade/tabs/jpy.jade:71 +#: src/jade/tabs/mxn.jade:73 +msgid "{{1}} Connected" +msgstr "{{1}}接続" + +#: src/jade/tabs/gold.jade:77 +msgid "Deposit" +msgstr "入金" + +#: src/jade/tabs/gold.jade:78 +msgid "" +"GBI does not currently support direct deposits. You can {{1}} or {{2}}." +msgstr "" + +#: src/jade/tabs/gold.jade:84 +msgid "Withdrawal" +msgstr "引き出し" + +#: src/jade/tabs/gold.jade:85 +msgid "" +"You can redeem the physical gold in 1 oz increments.To do so, you'll need to" +" {{1}} and arrange to have the gold shipped to you." +msgstr "" + +#: src/jade/tabs/history.jade:11 +msgid "Loading History" +msgstr "履歴を読み込んでいます" -#: src/jade/tabs/history.jade:14 +#: src/jade/tabs/history.jade:16 msgid "Your account history is empty" msgstr "アカウント履歴はありません。" -#: src/jade/tabs/history.jade:20 -msgid "Filters" -msgstr "フィルター" - -#: src/jade/tabs/history.jade:23 +#: src/jade/tabs/history.jade:24 msgid "Transaction type{{1}}{{2}}" msgstr "取引タイプ: {{1}}{{2}}" -#: src/jade/tabs/history.jade:48 +#: src/jade/tabs/history.jade:37 msgid "Date{{1}}{{2}}" msgstr "日付: {{1}}{{2}}" -#: src/jade/tabs/history.jade:53 +#: src/jade/tabs/history.jade:42 msgid "Load history for specific date range" msgstr "特定の日付範囲内の取引履歴をロードする" -#: src/jade/tabs/history.jade:59 +#: src/jade/tabs/history.jade:48 msgid "From" msgstr "から" -#: src/jade/tabs/history.jade:65 +#: src/jade/tabs/history.jade:54 msgid "To" msgstr "まで" -#: src/jade/tabs/history.jade:68 +#: src/jade/tabs/history.jade:57 msgid "Filter" msgstr "フィルター" -#: src/jade/tabs/history.jade:82 -msgid "Transaction History" -msgstr "取引履歴" - -#: src/jade/tabs/history.jade:84 -msgid "Export to CSV" -msgstr "CSVへエクスポート" - -#: src/jade/tabs/history.jade:88 +#: src/jade/tabs/history.jade:64 msgid "Date" msgstr "日付" -#: src/jade/tabs/history.jade:89 src/jade/tabs/history.jade:188 +#: src/jade/tabs/history.jade:65 src/jade/tabs/history.jade:170 msgid "Description" msgstr "説明" -#: src/jade/tabs/history.jade:90 +#: src/jade/tabs/history.jade:68 src/jade/tabs/history.jade:73 +msgid "Export to CSV" +msgstr "CSVへエクスポート" + +#: src/jade/tabs/history.jade:69 msgid "Sorry, no transactions match your current filter." msgstr "申し訳ありません。現在のフィルターと一致する取引はありません。" -#: src/jade/tabs/history.jade:109 +#: src/jade/tabs/history.jade:91 msgid "You sent{{1}}to{{2}}" msgstr "{{2}} さんに {{1}} を送金しました。" -#: src/jade/tabs/history.jade:115 +#: src/jade/tabs/history.jade:97 msgid "{{1}}sent you{{2}}" msgstr "{{1}} は、あなたに {{2}} を送金しました。" -#: src/jade/tabs/history.jade:121 +#: src/jade/tabs/history.jade:103 msgid "You requested to exchange{{1}}to{{2}}" msgstr "{{1}} を {{2}} に両替するよう要求しました。" -#: src/jade/tabs/history.jade:127 +#: src/jade/tabs/history.jade:109 msgid "{{1}}now trusts you for{{2}}" msgstr "{{1}} は、{{2}} のためにあなたに信用を与えています。" -#: src/jade/tabs/history.jade:140 src/jade/tabs/history/effects.jade:45 +#: src/jade/tabs/history.jade:122 src/jade/tabs/history/effects.jade:45 msgid "You created an order to sell{{1}}for{{2}}" msgstr "{{1}} を {{2}} で売る注文をしました。" -#: src/jade/tabs/history.jade:144 src/jade/tabs/history/effects.jade:49 +#: src/jade/tabs/history.jade:126 src/jade/tabs/history/effects.jade:49 msgid "You created an order to buy{{1}}for{{2}}" msgstr "{{1}} を {{2}} で買う注文をしました。" -#: src/jade/tabs/history.jade:150 +#: src/jade/tabs/history.jade:132 msgid "You cancelled an order accepting {{1}}for{{2}}" msgstr "{{1}} を {{2}} で受け取る注文をキャンセルしました。" -#: src/jade/tabs/history.jade:163 +#: src/jade/tabs/history.jade:145 msgid "Unknown transaction" msgstr "未知の取引" -#: src/jade/tabs/history.jade:166 +#: src/jade/tabs/history.jade:148 msgid "" "The client failed to parse this transaction. The developers have been " "notified of the issue." msgstr "クライアントはこの処理を解析しませんでした。開発者は問題についての通知を受けました。" -#: src/jade/tabs/history.jade:171 +#: src/jade/tabs/history.jade:153 msgid "{{1}} sent you{{2}} and activated your account!" msgstr "{{1}} はあなたに {{2}} を送金し、あなたのアカウントを有効化しました!" -#: src/jade/tabs/history.jade:178 +#: src/jade/tabs/history.jade:160 msgid "You deposited{{1}} using {{entry.details.app.name}}" msgstr "{{1}} を {{entry.details.app.name}} を使って入金しました。" -#: src/jade/tabs/history.jade:186 +#: src/jade/tabs/history.jade:168 msgid "Balance Changes" msgstr "残高変更" -#: src/jade/tabs/history.jade:189 +#: src/jade/tabs/history.jade:171 msgid "Issuer" msgstr "発行者" -#: src/jade/tabs/history.jade:191 +#: src/jade/tabs/history.jade:173 msgid "Final balance" msgstr "最終残高" -#: src/jade/tabs/history.jade:194 +#: src/jade/tabs/history.jade:176 msgid "XRP Balance Change" msgstr "XRP残高変更" -#: src/jade/tabs/history.jade:195 +#: src/jade/tabs/history.jade:177 msgid "{{effect.currency}} Balance Change" msgstr "{{effect.currency}}残高変更" -#: src/jade/tabs/history.jade:196 -msgid "Fee" -msgstr "手数料" - -#: src/jade/tabs/history.jade:201 +#: src/jade/tabs/history.jade:183 msgid "Transaction details" msgstr "取引詳細" -#: src/jade/tabs/history.jade:202 +#: src/jade/tabs/history.jade:184 msgid "Add {{1}} to contact list" msgstr "相手先に {{1}} を追加" -#: src/jade/tabs/history.jade:208 src/jade/tabs/trade.jade:386 +#: src/jade/tabs/history.jade:189 +msgid "{{1}} Loading more" +msgstr "" + +#: src/jade/tabs/history.jade:192 src/jade/tabs/trade.jade:500 msgid "Load more" msgstr "もっと読む" -#: src/jade/tabs/history.jade:209 +#: src/jade/tabs/history.jade:193 msgid "No more transactions left" msgstr "現在、取引予約はありません。" @@ -1335,439 +1888,633 @@ msgstr "あなたと {{1}} の与信バランスは、{{2}} によって変更 msgid "Your balance has been changed by{{1}}." msgstr "残高は {{1}} によって変更されました。" -#: src/jade/tabs/kyc.jade:16 +#: src/jade/tabs/jpy.jade:38 +msgid "Japanese Yen Deposit" +msgstr "日本円入金" + +#: src/jade/tabs/jpy.jade:42 +msgid "Tokyo JPY Issuer (~tokyojpy) {{1}}" +msgstr "Tokyo JPY Issuer (~tokyojpy) {{1}}" + +#: src/jade/tabs/jpy.jade:59 +msgid "" +"Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to" +" JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your" +" behalf." +msgstr "Ripple Tradeは、JPYへの簡単なアクセスを提供するために、Tokyo JPYとパートナーになりました。この操作を続けると、Tokyo JPYにあなたの自身のJPYを保持することができます。" + +#: src/jade/tabs/jpy.jade:78 +msgid "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" +msgstr "新しいカスタマーとしてTOKYO JPYにサインアップ" + +#: src/jade/tabs/jpy.jade:79 +msgid "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" +msgstr "" + +#: src/jade/tabs/jpy.jade:84 +msgid "A valid government-issued ID." +msgstr "" + +#: src/jade/tabs/jpy.jade:86 +msgid "A proof of address (utility bill, etc)." +msgstr "" + +#: src/jade/tabs/jpy.jade:88 +msgid "A bank account under the same name." +msgstr "" + +#: src/jade/tabs/jpy.jade:90 +msgid "EXISTING TOKYO JPY ISSUER CUSTOMERS" +msgstr "" + +#: src/jade/tabs/jpy.jade:100 +msgid "" +"Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details" +" {{1}}" +msgstr "" + +#: src/jade/tabs/jpy.jade:103 +msgid "" +"To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account " +"and then initiate a transfer into your Ripple account." +msgstr "" + +#: src/jade/tabs/jpy.jade:105 +msgid "" +"To withdraw to a bank account, you’ll first send money from your Ripple " +"account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo " +"JPY Issuer site to send to your bank account." +msgstr "" + +#: src/jade/tabs/kyc.jade:14 +msgid "Profile completion is only available to US residents." +msgstr "" + +#: src/jade/tabs/kyc.jade:21 src/jade/tabs/trade.jade:285 msgid "Verifying your information. Please wait..." msgstr "あなたの情報の確認をしています。どうかお待ちください..." -#: src/jade/tabs/kyc.jade:18 +#: src/jade/tabs/kyc.jade:23 msgid "Your identity information has been verified." msgstr "あなたの身元情報は確認されました。" -#: src/jade/tabs/kyc.jade:20 +#: src/jade/tabs/kyc.jade:25 msgid "Your identity questions have been verified." msgstr "あなたの身元確認の質問が確認されました。" -#: src/jade/tabs/kyc.jade:22 +#: src/jade/tabs/kyc.jade:27 msgid "" "Congratulations, you've verified your identity! You will now be redirected " "back to the instant deposit page." msgstr "おめでとうございます、あなた身元を確認しました!今、あなたはインスタント入金ページに転送されるでしょう。" -#: src/jade/tabs/kyc.jade:24 +#: src/jade/tabs/kyc.jade:29 msgid "There was an error with your request. Please try again later." msgstr "あなたのリクエストにおいてエラーがありました。後で再び実行してください。" -#: src/jade/tabs/kyc.jade:26 +#: src/jade/tabs/kyc.jade:31 msgid "" "There was an error with your request. Make sure your phone number is valid " "and try again." msgstr "あなたのリクエストにエラーが発生しました。 あなたの電話番号が有効なことを確認して、もう一度ためしてください。" -#: src/jade/tabs/kyc.jade:28 +#: src/jade/tabs/kyc.jade:33 msgid "Please check your verification code and try again." msgstr "あなたの検証コードを確認してから、もう一度お試しください。" -#: src/jade/tabs/kyc.jade:30 +#: src/jade/tabs/kyc.jade:35 msgid "" "There was an error while requesting the verification code. Please try again " "later." msgstr "検証コードを要求している間にエラーが発生しました。後で再び実行してください。" -#: src/jade/tabs/kyc.jade:32 +#: src/jade/tabs/kyc.jade:37 msgid "" "We are unable to validate your identity information. Please check your " "information and try again." msgstr "私達はあなたの身元情報を検証することはできません。あなたの情報を確認してからもう一度お試しください。" -#: src/jade/tabs/kyc.jade:34 +#: src/jade/tabs/kyc.jade:39 msgid "" "We are unable to validate your identity questions. Please check your answers" " and try again." msgstr "私たちはあなたの本人確認の質問を有効にすることができません。 答えをチェックして、再試行してください。" -#: src/jade/tabs/kyc.jade:36 +#: src/jade/tabs/kyc.jade:41 +msgid "" +"Sorry, you've reached your maximum number of verification attempts. Please " +"try again in 24 hours." +msgstr "すみません、あなたはあなたの最大数の検証試みに達しました。 24時間後に再試行してください。" + +#: src/jade/tabs/kyc.jade:43 msgid "" "We can't verify your identity. Please contact us at support@ripple.com." msgstr "私たちはあなたの身元を確認することができません。support@ripple.comで連絡してください。" -#: src/jade/tabs/kyc.jade:41 +#: src/jade/tabs/kyc.jade:48 msgid "Profile Completion" msgstr "プロフィール完成" -#: src/jade/tabs/kyc.jade:45 +#: src/jade/tabs/kyc.jade:52 msgid "STEP 1: IDENTITY INFORMATION" msgstr "STEP 1: 身元情報" -#: src/jade/tabs/kyc.jade:47 +#: src/jade/tabs/kyc.jade:54 msgid "STEP 2: IDENTITY QUESTIONS" msgstr "STEP 2:本人確認の質問" -#: src/jade/tabs/kyc.jade:49 +#: src/jade/tabs/kyc.jade:56 msgid "STEP 3: TWO-FACTOR AUTHENTICATION" msgstr "STEP 3: 2段階認証" -#: src/jade/tabs/kyc.jade:56 +#: src/jade/tabs/kyc.jade:63 msgid "First Name" msgstr "名前" -#: src/jade/tabs/kyc.jade:60 +#: src/jade/tabs/kyc.jade:67 msgid "Last Name" msgstr "氏名" -#: src/jade/tabs/kyc.jade:64 +#: src/jade/tabs/kyc.jade:71 msgid "Street Address" msgstr "番地・建物名" -#: src/jade/tabs/kyc.jade:69 +#: src/jade/tabs/kyc.jade:76 msgid "City" msgstr "市町村名" -#: src/jade/tabs/kyc.jade:73 +#: src/jade/tabs/kyc.jade:80 msgid "State" msgstr "都道府県名" -#: src/jade/tabs/kyc.jade:77 +#: src/jade/tabs/kyc.jade:84 msgid "ZIP" msgstr "郵便番号" -#: src/jade/tabs/kyc.jade:81 +#: src/jade/tabs/kyc.jade:88 msgid "Date of Birth" msgstr "誕生日" -#: src/jade/tabs/kyc.jade:85 +#: src/jade/tabs/kyc.jade:92 msgid "Month{{1}}" msgstr "月{{1}}" -#: src/jade/tabs/kyc.jade:88 +#: src/jade/tabs/kyc.jade:95 msgid "Day{{1}}" msgstr "日{{1}}" -#: src/jade/tabs/kyc.jade:91 +#: src/jade/tabs/kyc.jade:98 msgid "Year{{1}}" msgstr "年{{1}}" -#: src/jade/tabs/kyc.jade:104 +#: src/jade/tabs/kyc.jade:113 msgid "Continue to identity questions" msgstr "本人確認の質問に進みます" -#: src/jade/tabs/kyc.jade:110 +#: src/jade/tabs/kyc.jade:114 src/jade/tabs/kyc.jade:129 +#: src/jade/tabs/kyc.jade:154 src/jade/tabs/kyc.jade:184 +#: src/jade/tabs/login.jade:17 +msgid "Verifying..." +msgstr "確認中..." + +#: src/jade/tabs/kyc.jade:120 msgid "{{ q.question }}{{1}}" msgstr "{{ q.question }}{{1}}" -#: src/jade/tabs/kyc.jade:113 +#: src/jade/tabs/kyc.jade:123 msgid "{{ a.answer }}" msgstr "{{ a.answer }}" -#: src/jade/tabs/kyc.jade:116 +#: src/jade/tabs/kyc.jade:128 msgid "Continue to two-factor authentication" msgstr "2段階認証を続ける" -#: src/jade/tabs/kyc.jade:124 +#: src/jade/tabs/kyc.jade:137 msgid "Two-factor authentication provides extra security for your account." msgstr "2段階認証はあなたのアカウントに格段に優れたセキュリティを提供します。" -#: src/jade/tabs/kyc.jade:132 +#: src/jade/tabs/kyc.jade:145 msgid "" "Ripple Trade has partnered with Authy to provide better security for your " "account.By continuing, you agree to Authy's {{1:Terms of Service}}." msgstr "RippleTradeは、より堅固なセキュリティをあなたのアカウントに提供するために、Authyを利用します。 続けると、あなたはAuthyのセキュリティー{{1:Terms of Service}}に同意します" -#: src/jade/tabs/kyc.jade:138 +#: src/jade/tabs/kyc.jade:153 msgid "Verify phone number" msgstr "電話番号を確認する" -#: src/jade/tabs/kyc.jade:148 +#: src/jade/tabs/kyc.jade:164 msgid "change" msgstr "変更" -#: src/jade/tabs/kyc.jade:152 +#: src/jade/tabs/kyc.jade:168 msgid "" "A verification code has been sent to +{{ currentCountryCode }} {{ " "phoneNumber }}." msgstr "検証コードは、+{{ currentCountryCode }} {{ phoneNumber }}に送信されました" -#: src/jade/tabs/kyc.jade:156 src/jade/tabs/login/form.jade:15 -#: src/jade/tabs/security.jade:88 +#: src/jade/tabs/kyc.jade:172 src/jade/tabs/login/form.jade:16 +#: src/jade/tabs/security.jade:97 msgid "Verification Code" msgstr "検証コード" -#: src/jade/tabs/login.jade:5 src/jade/tabs/login.jade:19 -#: src/jade/tabs/login.jade:83 +#: src/jade/tabs/kyc.jade:183 +msgid "Submit code" +msgstr "コードを送信する" + +#: src/jade/tabs/login.jade:4 src/jade/tabs/migrate.jade:4 +#: src/jade/tabs/recover.jade:3 src/jade/tabs/register.jade:5 +#: src/jade/tabs/register.jade:137 src/jade/tabs/register.jade:184 +msgid "Welcome to Ripple Trade" +msgstr "Ripple Tradeへようこそ" + +#: src/jade/tabs/login.jade:6 src/jade/tabs/migrate.jade:6 +#: src/jade/tabs/recover.jade:5 src/jade/tabs/register.jade:7 +#: src/jade/tabs/register.jade:139 src/jade/tabs/register.jade:186 +msgid "Trade hundreds of assets, from XRP to crypto to gold to fiat." +msgstr "XRPから仮想通貨、金、不換通貨まで何百の資産をトレードしてください" + +#: src/jade/tabs/login.jade:15 src/jade/tabs/login.jade:31 msgid "Log In" msgstr "ログイン" -#: src/jade/tabs/login.jade:7 -msgid "Verifying..." -msgstr "確認中..." - -#: src/jade/tabs/login.jade:8 +#: src/jade/tabs/login.jade:18 msgid "You have successfully verified your email address." msgstr "メールアドレスの確認に成功しました。" -#: src/jade/tabs/login.jade:9 +#: src/jade/tabs/login.jade:19 msgid "" "Email verification token is invalid. It has either expired or has been " "resent. Please check your inbox for the most recent verification email." msgstr "電子メール確認トークンは無効です。 それは期限切れになったか、再送されています。 最近の電子メールの受信箱を確認してください。" -#: src/jade/tabs/login.jade:21 +#: src/jade/tabs/login.jade:30 +msgid "Logging in" +msgstr "ログインする" + +#: src/jade/tabs/login.jade:34 msgid "Verify" msgstr "確認" -#: src/jade/tabs/login.jade:25 src/jade/tabs/login.jade:26 -#: src/jade/tabs/recover.jade:5 -msgid "Account Recovery" -msgstr "アカウント復元" - -#: src/jade/tabs/login.jade:28 src/jade/tabs/register.jade:93 +#: src/jade/tabs/login.jade:36 src/jade/tabs/register.jade:114 msgid "Already have a ripple.com/client account? {{1:Migrate}}" msgstr "既に ripple.com/client アカウントをお持ちですか? {{1:移行する}}" -#: src/jade/tabs/login.jade:30 src/jade/tabs/migrate.jade:26 -msgid "New to {{productName}}? {{1:Sign Up}}" -msgstr "{{productName}} のご使用は初めてですか? {{1:登録}}" +#: src/jade/tabs/login.jade:41 src/jade/tabs/login.jade:42 +#: src/jade/tabs/recover.jade:9 +msgid "Account Recovery" +msgstr "アカウント復元" -#: src/jade/tabs/login.jade:37 +#: src/jade/tabs/login.jade:49 msgid "{{1:You're sending money to}}{{2}}." msgstr "{{2}}へ{{1:お金を送金しています}}。" -#: src/jade/tabs/login.jade:41 +#: src/jade/tabs/login.jade:53 msgid "{{1:You're sending}}{{2}}{{3: to }}{{4}}." msgstr "{{2}}を{{4}}{{3:へ}}{{1:送金してます}}。" -#: src/jade/tabs/login.jade:51 +#: src/jade/tabs/login.jade:63 msgid "" "{{1:You're connecting to the gateway}}{{2}}{{3:for{{1}}}}{{4:with a limit " "of{{1}}}}." msgstr "" -#: src/jade/tabs/login.jade:66 +#: src/jade/tabs/login.jade:78 msgid "{{1:You're adding}}{{2}}{{3:to your contacts list}}" msgstr "{{2}}{{3:を連絡帳に}}{{1:追加しています}}" -#: src/jade/tabs/login.jade:84 +#: src/jade/tabs/login.jade:95 +msgid "{{1}} Log In" +msgstr "{{1}} ログイン" + +#: src/jade/tabs/login.jade:98 msgid "You can confirm this transaction on the next page." msgstr "次のページでこの取引を確認できます。" -#: src/jade/tabs/login.jade:85 +#: src/jade/tabs/login.jade:99 msgid "New to {{productName}}? {{1:Create a wallet}}" msgstr "{{productName}} のご使用は初めてですか? {{1:ウォレットを作成}}" -#: src/jade/tabs/login/form.jade:11 src/jade/tabs/security.jade:82 +#: src/jade/tabs/login/form.jade:12 src/jade/tabs/security.jade:91 msgid "" "Please enter the verification code from the SMS message sent to your device:" msgstr "お使いのデバイスに送信されたSMSメッセージの検証コードを入力してください:" -#: src/jade/tabs/login/form.jade:12 src/jade/tabs/security.jade:83 +#: src/jade/tabs/login/form.jade:13 src/jade/tabs/security.jade:92 msgid "" "Please enter the verification code from the Authy app installed on your " "device:" msgstr "お使いのデバイスにインストールされているAuthyアプリの検証コードを入力してください:" -#: src/jade/tabs/login/form.jade:22 +#: src/jade/tabs/login/form.jade:23 msgid "Resend" msgstr "再送する" -#: src/jade/tabs/login/form.jade:23 src/jade/tabs/security.jade:95 +#: src/jade/tabs/login/form.jade:24 src/jade/tabs/security.jade:105 msgid "Send Via SMS" msgstr "SMS経由で送信" -#: src/jade/tabs/login/form.jade:29 +#: src/jade/tabs/login/form.jade:30 msgid "Remember me on this device for 30 days" msgstr "30日間このデバイス上パスワードを記憶する" -#: src/jade/tabs/migrate.jade:5 src/jade/tabs/register.jade:10 -#: src/jade/tabs/register.jade:116 src/jade/tabs/register.jade:159 +#: src/jade/tabs/migrate.jade:10 src/jade/tabs/register.jade:17 +#: src/jade/tabs/register.jade:142 src/jade/tabs/register.jade:189 msgid "Migrate" msgstr "移行する" -#: src/jade/tabs/migrate.jade:6 +#: src/jade/tabs/migrate.jade:11 msgid "" "To begin migration, enter the name and passphrase used to encrypt your " "ripple.com/client wallet below. After migration, you will no longer be able " "to login on ripple.com/client." msgstr "統合を行うには、ripple.com/client のウォレットの暗号化に使用したユーザ名とパスワードを以下に入力してください。統合を行うと ripple.com/client にログインできなくなります。" -#: src/jade/tabs/migrate.jade:10 +#: src/jade/tabs/migrate.jade:15 msgid "Existing ripple.com/client Wallet name" msgstr "既存の ripple.com/client ウォレット名" -#: src/jade/tabs/migrate.jade:13 +#: src/jade/tabs/migrate.jade:18 msgid "Passphrase" msgstr "パスワード" -#: src/jade/tabs/migrate.jade:25 +#: src/jade/tabs/migrate.jade:31 msgid "Begin Migration" msgstr "移行を開始" -#: src/jade/tabs/migrate.jade:28 +#: src/jade/tabs/migrate.jade:32 +msgid "New to {{productName}}? {{1:Sign Up}}" +msgstr "{{productName}} のご使用は初めてですか? {{1:登録}}" + +#: src/jade/tabs/migrate.jade:34 msgid "Have a {{productName}} account? {{1:Log In}}" msgstr " {{productName}} のアカウントをお持ちですか?{{1:ログイン}}" -#: src/jade/tabs/recover.jade:7 +#: src/jade/tabs/mxn.jade:38 +msgid "Mexican Peso Deposit" +msgstr "メキシコペソ入金" + +#: src/jade/tabs/mxn.jade:42 +msgid "Bitso (~bitso) {{1}}{{2}}" +msgstr "" + +#: src/jade/tabs/mxn.jade:47 +msgid "All countries except the US" +msgstr "すべての国(米国以外)" + +#: src/jade/tabs/mxn.jade:58 +msgid "" +"Ripple Trade has partnered with Bitso to provide easy access to MXN (Mexican" +" Peso). By continuing, you agree with Bitso’s terms of service. Following " +"this action will enable Bitso to hold MXN on your behalf." +msgstr "" + +#: src/jade/tabs/mxn.jade:80 +msgid "TO FUND/REDEEM MEXICAN PESO:" +msgstr "" + +#: src/jade/tabs/mxn.jade:82 +msgid "Register or login at {{1}}to initiate deposits and withdrawals." +msgstr "" + +#: src/jade/tabs/mxn.jade:86 +msgid "" +"A valid, non-US, state-issued ID (passport, driver's license, etc)." +msgstr "" + +#: src/jade/tabs/mxn.jade:87 +msgid "" +"Proof of address (utility bill or other type of bill that has your address " +"on it). Verification is required for peso deposits or withdrawals." +msgstr "" + +#: src/jade/tabs/mxn.jade:89 +msgid "" +"To fund your Ripple account, see the below options. Once a balance is " +"deposited with Bitso, you can send it to your Ripple account using the Bitso" +" Dashboard." +msgstr "以下の方法でRippleアカウントに入金可能です。Bitsoに" + +#: src/jade/tabs/mxn.jade:90 +msgid "" +"To withdraw from your Ripple account, click on the 'Redeem from Ripple' " +"button on the Bitso Dashboard." +msgstr "" + +#: src/jade/tabs/mxn.jade:92 src/jade/tabs/usd.jade:89 +msgid "DEPOSIT OPTIONS" +msgstr "入金方法" + +#: src/jade/tabs/mxn.jade:94 +msgid "Bitso accepts deposits by the following methods:" +msgstr "Bitsoへの入金方法:" + +#: src/jade/tabs/mxn.jade:96 src/jade/tabs/mxn.jade:106 +msgid "Bank Wire" +msgstr "銀行振込" + +#: src/jade/tabs/mxn.jade:97 src/jade/tabs/mxn.jade:107 +msgid "SPEI (Mexican instant inter-bank transfer)" +msgstr "SPEI(メキシコ銀行間即時振込)" + +#: src/jade/tabs/mxn.jade:98 src/jade/tabs/mxn.jade:108 +msgid "Bitcoin" +msgstr "Bitcoin" + +#: src/jade/tabs/mxn.jade:99 +msgid "MXN Cash (at locations across Mexico)" +msgstr "MXN Cash (メキシコ各地)" + +#: src/jade/tabs/mxn.jade:100 +msgid "Pademobile wallet" +msgstr "Pademobile wallet" + +#: src/jade/tabs/mxn.jade:102 src/jade/tabs/usd.jade:99 +msgid "WITHDRAWAL OPTIONS" +msgstr "出金方法" + +#: src/jade/tabs/mxn.jade:104 +msgid "Bitso offers withdrawals via the following methods:" +msgstr "Bitsoからの出金方法:" + +#: src/jade/tabs/recover.jade:11 msgid "" "You can only recover your Ripple Trade account with a secret key. You will " "recover the account's Ripple name, contacts and other information." msgstr "Ripple Trade アカウントは、シークレット・キーのみで復元できます。その際、アカウントの Ripple 名や相手先などが復元されます。" -#: src/jade/tabs/recover.jade:9 src/jade/tabs/recover.jade:28 +#: src/jade/tabs/recover.jade:13 src/jade/tabs/recover.jade:33 msgid "Ripple Name" msgstr "Ripple 名" -#: src/jade/tabs/recover.jade:14 +#: src/jade/tabs/recover.jade:18 msgid "Secret Key" msgstr "シークレット・キー" -#: src/jade/tabs/recover.jade:17 +#: src/jade/tabs/recover.jade:21 msgid "Unable to recover account." msgstr "アカウントを復元できませんでした。" -#: src/jade/tabs/recover.jade:22 src/jade/tabs/register.jade:74 +#: src/jade/tabs/recover.jade:27 src/jade/tabs/register.jade:95 msgid "Recover Account" msgstr "アカウントを復元する" -#: src/jade/tabs/recover.jade:24 src/jade/tabs/recover.jade:50 +#: src/jade/tabs/recover.jade:29 src/jade/tabs/recover.jade:56 msgid "Set Password" msgstr "パスワードを設定" -#: src/jade/tabs/recover.jade:26 +#: src/jade/tabs/recover.jade:31 msgid "" "Your account was sucessfully recovered. Please re-encrypt your account with " "a new password." msgstr "アカウントの復元に成功しました。新しいパスワードを入力し、暗号化を再実行してください。" -#: src/jade/tabs/recover.jade:36 src/jade/tabs/register.jade:45 -#: src/jade/tabs/security.jade:119 +#: src/jade/tabs/recover.jade:41 src/jade/tabs/register.jade:62 +#: src/jade/tabs/security.jade:132 msgid "" "Your password is weak. It does not contain numbers and symbols or it is too " "short." msgstr "パスワードが脆弱です。文字、数字、シンボルが混合されていないか、または短すぎます。" -#: src/jade/tabs/recover.jade:38 src/jade/tabs/register.jade:47 -#: src/jade/tabs/security.jade:121 +#: src/jade/tabs/recover.jade:43 src/jade/tabs/register.jade:65 +#: src/jade/tabs/security.jade:134 msgid "" "Your Ripple name and password cannot match. Please create a new password." msgstr "Ripple 名とパスワードは一致してはなりません。別のパスワードを作成してください。" -#: src/jade/tabs/recover.jade:45 +#: src/jade/tabs/recover.jade:45 src/jade/tabs/register.jade:67 +#: src/jade/tabs/security.jade:136 +msgid "Confirm password" +msgstr "パスワードを確認" + +#: src/jade/tabs/recover.jade:48 src/jade/tabs/register.jade:71 +#: src/jade/tabs/security.jade:139 +msgid "Passwords do not match" +msgstr "パスワードが一致しません" + +#: src/jade/tabs/recover.jade:50 msgid "Unable to change your account password." msgstr "アカウントパスワードを変更できませんでした。" -#: src/jade/tabs/recover.jade:49 +#: src/jade/tabs/recover.jade:55 msgid "Updating..." msgstr "更新中..." -#: src/jade/tabs/recover.jade:51 +#: src/jade/tabs/recover.jade:57 msgid "Remember your password? {{1:Log In}}" msgstr "パスワードを思い出しました? {{1:ログイン}}" -#: src/jade/tabs/register.jade:5 -msgid "" -"Ripple Trade is the only platform where you can trade between stores of " -"value spanning fiat, crypto, precious metals and more." -msgstr "Ripple Trade は、法定通貨・暗号通貨・貴金属などに渡る、価値の記録をトレードできる唯一のプラットフォームです。" - -#: src/jade/tabs/register.jade:9 src/jade/tabs/register.jade:90 -#: src/jade/tabs/register.jade:115 src/jade/tabs/register.jade:158 +#: src/jade/tabs/register.jade:13 src/jade/tabs/register.jade:109 +#: src/jade/tabs/register.jade:141 src/jade/tabs/register.jade:188 msgid "Sign Up" msgstr "登録" -#: src/jade/tabs/register.jade:12 src/jade/tabs/register.jade:14 -#: src/jade/tabs/register.jade:16 src/jade/tabs/register.jade:120 -#: src/jade/tabs/register.jade:122 src/jade/tabs/register.jade:161 -#: src/jade/tabs/register.jade:163 src/jade/tabs/register.jade:165 +#: src/jade/tabs/register.jade:19 src/jade/tabs/register.jade:21 +#: src/jade/tabs/register.jade:23 src/jade/tabs/register.jade:146 +#: src/jade/tabs/register.jade:148 src/jade/tabs/register.jade:191 +#: src/jade/tabs/register.jade:193 src/jade/tabs/register.jade:195 msgid "Step {{1}}" msgstr "ステップ {{1}}" -#: src/jade/tabs/register.jade:19 +#: src/jade/tabs/register.jade:26 msgid "Create Ripple name" msgstr "Ripple 名を作成" -#: src/jade/tabs/register.jade:20 +#: src/jade/tabs/register.jade:27 msgid "" "Please choose a Ripple name below. You will use this Ripple name to login to" " Ripple Trade, so remember it! Ripple names are unique and public, like your" " current Ripple address. {{1}}" msgstr "以下から Ripple 名を選択してください。この Ripple 名は Ripple Trade にログインする際に必要となりますので、忘れないようにしてください! Ripple 名は現在の Ripple アドレスのように固有であり、公開されます。 {{1}}" -#: src/jade/tabs/register.jade:21 +#: src/jade/tabs/register.jade:28 msgid "Learn More" msgstr "もっと詳しく" -#: src/jade/tabs/register.jade:36 +#: src/jade/tabs/register.jade:41 +msgid "Reserved for {{usernameReservedFor}}" +msgstr "{{usernameReservedFor}}のため保留" + +#: src/jade/tabs/register.jade:43 +msgid "" +"This name belongs to a high-traffic website and has been reserved to prevent" +" phishing." +msgstr "この名前は通信量が多いウェブサイトに属し、フィッシングを防止するために確保されました。" + +#: src/jade/tabs/register.jade:49 msgid "You can only use the following characters: a-z, 0-9 and hyphens (-)" msgstr "以下の文字のみを利用することができます: a-z, 0-9 およびハイフン (-)" -#: src/jade/tabs/register.jade:39 +#: src/jade/tabs/register.jade:55 msgid "Cannot use hyphens in a row (--)" msgstr "ハイフンを重ねて (--) 使用することはできません" -#: src/jade/tabs/register.jade:60 +#: src/jade/tabs/register.jade:80 msgid "Email address is invalid" msgstr "無効なメールアドレスです。" -#: src/jade/tabs/register.jade:62 src/jade/tabs/security.jade:138 +#: src/jade/tabs/register.jade:82 src/jade/tabs/security.jade:151 msgid "Secret key" msgstr "シークレット・キー" -#: src/jade/tabs/register.jade:63 src/jade/tabs/send.jade:50 -#: src/jade/tabs/trade.jade:331 src/jade/tabs/trade.jade:337 +#: src/jade/tabs/register.jade:83 src/jade/tabs/send.jade:43 +#: src/jade/tabs/trade.jade:441 msgid "hide" msgstr "隠す" -#: src/jade/tabs/register.jade:67 +#: src/jade/tabs/register.jade:88 msgid "Secret Account Key is invalid" msgstr "シークレット・アカウント・キーが無効です。" -#: src/jade/tabs/register.jade:69 +#: src/jade/tabs/register.jade:90 msgid "" "The account ~{{1}}{{2}} has already been created using this secret key." msgstr "アカウント~{{1}}{{2}}は既にこのシークレット・キーを使って作られています。" -#: src/jade/tabs/register.jade:75 -msgid "Need to use your secret key? {{1}}" -msgstr "シークレット・キーを使う必要がありますか?{{1}}" - -#: src/jade/tabs/register.jade:77 -msgid "Use key" -msgstr "キーを使用する" - -#: src/jade/tabs/register.jade:80 -msgid "I agree to the {{productName}} {{1:end-user license agreement}}" -msgstr "{{productName}} {{1:エンドユーザ使用許諾契約}} に同意します。" +#: src/jade/tabs/register.jade:98 +msgid "I agree to the {{productName}} {{1:Terms of Use}}" +msgstr "私は{{productName}} {{1:Terms of Use}}に同意します。" -#: src/jade/tabs/register.jade:83 +#: src/jade/tabs/register.jade:101 msgid "" "Please see our {{1}} to see how we collect, use and share information about " "you" msgstr " 個人情報の取得、利用目的や共有については {{1}} までアクセスしてください。" -#: src/jade/tabs/register.jade:91 +#: src/jade/tabs/register.jade:110 msgid "Migrate Account" msgstr "アカウントを移行する" -#: src/jade/tabs/register.jade:100 +#: src/jade/tabs/register.jade:111 +msgid "Need to use your secret key? {{1}}" +msgstr "シークレット・キーを使う必要がありますか?{{1}}" + +#: src/jade/tabs/register.jade:113 +msgid "Use key" +msgstr "キーを使用する" + +#: src/jade/tabs/register.jade:121 msgid "An error occurred during registration. Please try again later." msgstr "登録中にエラーが発生しました。しばらく待ってから再実行してください。" -#: src/jade/tabs/register.jade:101 +#: src/jade/tabs/register.jade:122 msgid "The reported error was: {{1}}" msgstr "報告されたエラーは {{1}} でした。" -#: src/jade/tabs/register.jade:109 +#: src/jade/tabs/register.jade:131 msgid "" "There is already a wallet using this username, please choose a different " "username and try again." msgstr "既にこのユーザー名を使用しているウォレットがあります。別のユーザー名を入力し、再実行してください。" -#: src/jade/tabs/register.jade:124 +#: src/jade/tabs/register.jade:150 msgid "" "By proceeding, you understand that Ripple Trade does not provide a password " "or secret key recovery mechanism. If you forget your Ripple name/password " "and secret key, you will be unable to access this Ripple account." msgstr "続行する前に、Ripple Trade はパスワードやシークレット・キーの復活機構を提供しないことをご理解ください。もし Ripple 名やパスワード、シークレット・キーを忘れてしまった場合には、この Ripple アカウントにはアクセスできなくなります。" -#: src/jade/tabs/register.jade:129 +#: src/jade/tabs/register.jade:155 msgid "" "You are now migrating your account- meaning you'll no longer be able to " "access your account from ripple.com/client. You will retain all of your " @@ -1776,907 +2523,1123 @@ msgid "" "continue your migration." msgstr "あなたのアカウントを統合する準備ができました ― これは ripple.com/client からあなたのアカウントにアクセスできなくなることを意味しています。口座残高、連絡先、アカウント履歴はすべて維持されます。あなたのアカウントは以前と同じシークレット・キーを利用します。シークレット・キーを既に保存している場合には、統合作業をそのまま続行してください。" -#: src/jade/tabs/register.jade:136 +#: src/jade/tabs/register.jade:162 msgid "" "The secret key unlocks access to all your account funds in the event you " "lose your Ripple name or password. Please write it down and store it " "somewhere private and safe. {{1:Read more}} about keys and wallet safety." msgstr "シークレット・キーにより、Ripple 名やパスワードを失ってしまった場合にアカウントのすべての残高のロックを解除することができます。メモを取り、人目につかない安全な場所に保管してください。キーとウォレットの安全性については{{1:こちらをご覧ください}}。" -#: src/jade/tabs/register.jade:141 +#: src/jade/tabs/register.jade:167 msgid "" "If you have not saved your secret key, please write it down and store it " "somewhere private and safe. In the event you lose your Ripple name or " "password, you can use this secret key to recover your funds." msgstr "シークレット・キーをまだ保存していない場合には、メモを取り、人目につかない安全な場所に保管してください。Ripple 名やパスワードを喪失してしまった場合には、このシークレット・キーを使用して資金を復活させることができます。" -#: src/jade/tabs/register.jade:154 +#: src/jade/tabs/register.jade:176 +msgid "Show secret key" +msgstr "シークレット・キーを表示" + +#: src/jade/tabs/register.jade:177 +msgid "Hide secret key" +msgstr "シークレット・キーを隠す" + +#: src/jade/tabs/register.jade:180 msgid "Continue to email verification" msgstr "メールの検証を続ける" -#: src/jade/tabs/register.jade:167 +#: src/jade/tabs/register.jade:197 msgid "" "We’ve sent an email to {{1}}. To complete registration, click the link in " "the email." msgstr "{{1}} へメールを送信しました。登録を完了するには、メール内のリンクをクリックしてください。" -#: src/jade/tabs/register.jade:170 +#: src/jade/tabs/register.jade:200 msgid "Email token has been resent." msgstr "メールトークンが再送信されました。" -#: src/jade/tabs/register.jade:173 +#: src/jade/tabs/register.jade:203 msgid "Email Address:" msgstr "Eメールアドレス:" -#: src/jade/tabs/register.jade:178 +#: src/jade/tabs/register.jade:210 msgid "Re-send Email" msgstr "メールを再送信" -#: src/jade/tabs/security.jade:5 +#: src/jade/tabs/security.jade:7 msgid "Active Session Timeout" msgstr "アクティブセッションのタイムアウト" -#: src/jade/tabs/security.jade:6 +#: src/jade/tabs/security.jade:8 msgid "" "To view or edit your security settings, you must currently have an active " "session." msgstr "あなたのセキュリティ設定を見るか、編集するためには、あなたには現在、アクティブなセッションを持っていなければなりません" -#: src/jade/tabs/security.jade:13 +#: src/jade/tabs/security.jade:16 msgid "Restore Session" msgstr "セッションの復元" -#: src/jade/tabs/security.jade:22 +#: src/jade/tabs/security.jade:25 msgid "Your Ripple password has been changed, please login again" msgstr "Ripple パスワードは変更されました。再びログインしてください。" -#: src/jade/tabs/security.jade:24 +#: src/jade/tabs/security.jade:27 msgid "Couldn't change your Ripple password, please try again later." msgstr "Rippleパスワードを変更することができませんでした。しばらく待ってから再実行してください。" -#: src/jade/tabs/security.jade:27 +#: src/jade/tabs/security.jade:30 msgid "Changing your Ripple password..." msgstr "あなたのRippleパスワードを変更しています..." -#: src/jade/tabs/security.jade:28 +#: src/jade/tabs/security.jade:31 msgid "Your Ripple password has been changed successfully." msgstr "Ripple パスワードの変更に成功しました。" -#: src/jade/tabs/security.jade:29 +#: src/jade/tabs/security.jade:32 msgid "Unable to load Two-factor authentication settings." msgstr "2段階認証の設定をロードできません。" -#: src/jade/tabs/security.jade:30 +#: src/jade/tabs/security.jade:33 msgid "Error saving Two-factor authentication settings." msgstr "2段階認証の設定保存時のエラー" -#: src/jade/tabs/security.jade:31 +#: src/jade/tabs/security.jade:34 msgid "The verification code is invalid." msgstr "検証コードは無効です。" -#: src/jade/tabs/security.jade:32 +#: src/jade/tabs/security.jade:36 msgid "Two-factor authentication has been successfully enabled." msgstr "2段階認証が正常に有効になりました。" -#: src/jade/tabs/security.jade:33 +#: src/jade/tabs/security.jade:37 msgid "Two-factor authentication has been successfully disabled." msgstr "2段階認証が正常に無効になりました。" +#: src/jade/tabs/security.jade:38 +msgid "Password protection has been successfully enabled." +msgstr "パスワード保護は正常に有効になりました。" + #: src/jade/tabs/security.jade:39 +msgid "Password protection has been successfully disabled." +msgstr "パスワード保護は正常に無効になりました。" + +#: src/jade/tabs/security.jade:45 msgid "Security settings" msgstr "セキュリティー設定" -#: src/jade/tabs/security.jade:44 +#: src/jade/tabs/security.jade:51 msgid "Loading Two-factor authentication settings..." msgstr "2段階認証の設定を読み込んでいます..." -#: src/jade/tabs/security.jade:47 +#: src/jade/tabs/security.jade:55 msgid "Enabled" msgstr "有効" -#: src/jade/tabs/security.jade:48 +#: src/jade/tabs/security.jade:56 msgid "Disabled" msgstr "無効" -#: src/jade/tabs/security.jade:50 +#: src/jade/tabs/security.jade:58 msgid "disable" msgstr "無効化" -#: src/jade/tabs/security.jade:52 +#: src/jade/tabs/security.jade:60 msgid "enable" msgstr "有効化" -#: src/jade/tabs/security.jade:58 +#: src/jade/tabs/security.jade:66 msgid "" "Authy is providing two-factor authentication for Ripple Trade. To enable " "two-factor authentication, you must share some information with Authy." msgstr "Authy は Ripple Trade に対して2段階認証を提供しています。2段階認証を有効化するためには、一部の情報を Authy と共有する必要があります。" -#: src/jade/tabs/security.jade:61 +#: src/jade/tabs/security.jade:69 msgid "- Your email address:" msgstr "- あなたの電子メールアドレス:" -#: src/jade/tabs/security.jade:64 +#: src/jade/tabs/security.jade:72 msgid "- Your phone number:" msgstr "- あなたの電話番号:" -#: src/jade/tabs/security.jade:66 +#: src/jade/tabs/security.jade:74 msgid "By proceeding, you agree to the Authy {{1: terms of service.}}" msgstr "続行すると、Authy の{{1:利用規約}}に同意したことになります。" -#: src/jade/tabs/security.jade:70 +#: src/jade/tabs/security.jade:78 msgid "Share" msgstr "共有" -#: src/jade/tabs/security.jade:75 +#: src/jade/tabs/security.jade:84 msgid "Saving settings..." msgstr "設定を保存しています..." -#: src/jade/tabs/security.jade:76 +#: src/jade/tabs/security.jade:85 msgid "Disabling Two-factor authentication..." msgstr "2段階認証を無効化しています..." -#: src/jade/tabs/security.jade:77 +#: src/jade/tabs/security.jade:86 msgid "Enabling Two-factor authentication..." msgstr "2段階認証を有効化しています..." -#: src/jade/tabs/security.jade:94 +#: src/jade/tabs/security.jade:104 msgid "Resend Code" msgstr "コードを再送する" -#: src/jade/tabs/security.jade:99 +#: src/jade/tabs/security.jade:110 msgid "Enable" msgstr "有効" -#: src/jade/tabs/security.jade:103 +#: src/jade/tabs/security.jade:114 msgid "Ripple password" msgstr "Ripple パスワード" -#: src/jade/tabs/security.jade:116 +#: src/jade/tabs/security.jade:129 msgid "New password" msgstr "新しいパスワード" -#: src/jade/tabs/security.jade:140 +#: src/jade/tabs/security.jade:153 msgid "" "Your secret key unlocks access to your account funds. Please write it down " "and store it somewhere private and safe. In the event you lose your Ripple " "name or password, you can use this secret key to recover your funds." msgstr "シークレット・キーによりあなたの資金へのアクセスを解除することができます。メモを取り、人目につかない安全な場所に保管してください。Ripple 名やパスワードを忘れた場合には、このシークレット・キーを使って資金を復活させることができます。" -#: src/jade/tabs/security.jade:150 +#: src/jade/tabs/security.jade:165 msgid "Password protection for transactions" msgstr "トランザクションに対するパスワード保護" -#: src/jade/tabs/security.jade:153 +#: src/jade/tabs/security.jade:168 msgid "" "If you turn off password requests, you’ll still need to enter your password " "after each page refresh." msgstr "パスワード要求をやめたとしても、ページを新しく読み込んだ場合には毎回パスワードを入力する必要があります。" -#: src/jade/tabs/security.jade:161 +#: src/jade/tabs/security.jade:176 msgid "Yes" msgstr "はい" -#: src/jade/tabs/security.jade:162 +#: src/jade/tabs/security.jade:177 msgid "No" msgstr "いいえ" +#: src/jade/tabs/security.jade:192 +msgid "Delete Ripple Trade account" +msgstr "Ripple Tradeアカウントを削除" + +#: src/jade/tabs/security.jade:194 +msgid "" +"This deletes your Ripple Trade account. You will no longer be able to login " +"to Ripple Trade and your account data will be deleted. However, you can " +"still access your funds using your secret key." +msgstr "これであなたのRipple Tradeアカウントを削除します。 あなたはもはやRipple Tradeにログインできないでしょう、そして、あなたのアカウント・データは削除されます。 しかし、あなたのシークレットキーを使用することによってまだ資金にアクセスすることはできます。" + #: src/jade/tabs/send.jade:12 msgid "You have to be funded before you can send money" msgstr "送金する前に資金を供給する必要があります。" -#: src/jade/tabs/send.jade:19 src/jade/tabs/send.jade:32 +#: src/jade/tabs/send.jade:25 msgid "Recipient" msgstr "相手先" -#: src/jade/tabs/send.jade:24 src/jade/tabs/send.jade:37 +#: src/jade/tabs/send.jade:30 msgid "Please enter a recipient." msgstr "相手先を入力してください。" -#: src/jade/tabs/send.jade:26 +#: src/jade/tabs/send.jade:32 msgid "" "Recipient should be a Ripple name, a contact, or Ripple/Bitcoin address." msgstr "受取人は Ripple 名、相手先、または Ripple か ビットコインアドレスでなければなりません。" -#: src/jade/tabs/send.jade:28 src/jade/tabs/send.jade:41 +#: src/jade/tabs/send.jade:34 msgid "This email address is not Ripple-enabled." msgstr "このメールアドレスは、Ripple に対応していません。" -#: src/jade/tabs/send.jade:39 -msgid "Recipient should be a contact or Ripple/Bitcoin address." -msgstr "受取人は相手先、または Ripple かビットコインアドレスでなければなりません。" - -#: src/jade/tabs/send.jade:45 +#: src/jade/tabs/send.jade:38 msgid "Show destination tag" msgstr "宛先タグを見る" -#: src/jade/tabs/send.jade:54 +#: src/jade/tabs/send.jade:47 msgid "Destination cannot be blank." msgstr "宛先は空欄にできません" -#: src/jade/tabs/send.jade:55 +#: src/jade/tabs/send.jade:48 msgid "" "Recipient requires a destination tag to be specified for the transaction. If" " you don't know the destination tag, please contact them before doing a " "transaction." msgstr "受取人は、処理するために宛先タグが指定される必要があります。\n宛先タグを知らない場合は、取引を行う前に受取人と連絡をとってください。" -#: src/jade/tabs/send.jade:60 +#: src/jade/tabs/send.jade:53 msgid "Source tag" msgstr "ソースタグ" -#: src/jade/tabs/send.jade:63 +#: src/jade/tabs/send.jade:56 msgid "Invalid source tag" msgstr "無効のソースタグ" -#: src/jade/tabs/send.jade:75 +#: src/jade/tabs/send.jade:59 +msgid "Invoice ID" +msgstr "インボイスID" + +#: src/jade/tabs/send.jade:62 +msgid "Invoice ID must not be more than 64 characters long." +msgstr "インボイスIDは長さ64文字以下でなければなりません。" + +#: src/jade/tabs/send.jade:77 msgid "Recipient will receive" msgstr "相手先が受け取る金額" -#: src/jade/tabs/send.jade:86 +#: src/jade/tabs/send.jade:88 msgid "{{send.recipient | rpcontactname}} can't receive this currency." msgstr "{{send.recipient | rpcontactname}} はこの通貨を受け取ることができません。" -#: src/jade/tabs/send.jade:90 +#: src/jade/tabs/send.jade:92 src/jade/tabs/trust.jade:102 msgid "Amount must be greater than zero." msgstr "金額はゼロより大きくなければなりません。" -#: src/jade/tabs/send.jade:91 +#: src/jade/tabs/send.jade:93 msgid "" -"This transaction exceeds your balance, you can send a max. of " -"{{account.max_spend | rpamount:{rel_precision: 0} }} XRP" -msgstr "この取引は、あなたの残高を超えています。最大 {{account.max_spend | rpamount:{rel_precision: 0} }} XRPを送金できます。" +"You are either trying to send too little or too much XRP.Minimum amount is " +"0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "送金しようとしているXRPが規定量の範囲外です。最小送金額は0.000001 XRP、最大送金額は1000億XRPです。" -#: src/jade/tabs/send.jade:94 +#: src/jade/tabs/send.jade:97 msgid "" "Recipient does not allow XRP payments. Are you sure you want to send XRP " "anyway?" msgstr "相手先は、XRP での支払いを許可していません。XRP を送金してもよろしいですか?" -#: src/jade/tabs/send.jade:96 +#: src/jade/tabs/send.jade:99 msgid "" "{{send.recipient | rpcontactname}}trusts you for {{send.trust_limit | " "rpamount}} {{send.trust_limit | rpcurrency}}." msgstr "{{send.recipient | rpcontactname}} は、{{send.trust_limit | rpamount}} {{send.trust_limit | rpcurrency}} のため、あなたに信用を与えています。" -#: src/jade/tabs/send.jade:100 +#: src/jade/tabs/send.jade:103 msgid "Send XRP" msgstr "XRPを送金する" -#: src/jade/tabs/send.jade:104 +#: src/jade/tabs/send.jade:107 msgid "" "Destination account is unfunded; send at least {{send.xrp_deficiency | " "rpamount}} XRP to fund it.{{1}}" msgstr "送金先アカウントには資金がありません。資金を提供するには、最低 {{send.xrp_deficiency | rpamount}} XRPを送金してください。{{1}}" -#: src/jade/tabs/send.jade:109 +#: src/jade/tabs/send.jade:114 msgid "Checking" msgstr "チェック中" -#: src/jade/tabs/send.jade:111 +#: src/jade/tabs/send.jade:117 msgid "Analyzing address" msgstr "アドレスを検証中" -#: src/jade/tabs/send.jade:113 +#: src/jade/tabs/send.jade:120 msgid "Scanning accepted currencies" msgstr "受け取った通貨を読み込んでいます" -#: src/jade/tabs/send.jade:115 +#: src/jade/tabs/send.jade:123 msgid "Requesting quote" msgstr "引用符を要求中" -#: src/jade/tabs/send.jade:117 +#: src/jade/tabs/send.jade:126 msgid "Calculating paths" msgstr "経路を検索中" -#: src/jade/tabs/send.jade:119 +#: src/jade/tabs/send.jade:129 msgid "Calculating alternatives" msgstr "代案を計算中" -#: src/jade/tabs/send.jade:121 +#: src/jade/tabs/send.jade:130 msgid "" "You cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. " "Either your account has insufficient funds, or {{send.recipient}} doesn't " "accept {{send.currency}}." msgstr "{{send.amount}} {{send.currency}} を {{send.recipient}} へ送金できません。アカウントの残高が不足しているか、{{send.recipient}} は {{send.currency}} を受け付けていません。" -#: src/jade/tabs/send.jade:125 +#: src/jade/tabs/send.jade:134 msgid "" "You cannot send {{send.amount}} {{send.currency}} to{{send.recipient}}. Your" " account has insufficient funds." msgstr "{{send.amount}} {{send.currency}} を {{send.recipient}} へ送金できません。アカウントの残高が不足しています。" -#: src/jade/tabs/send.jade:128 +#: src/jade/tabs/send.jade:137 msgid "There are no valid currency choices for this destination." msgstr "この宛先に対する有効な通貨の選択肢がありません。" -#: src/jade/tabs/send.jade:130 +#: src/jade/tabs/send.jade:139 msgid "Error while retrieving quote for outbound payment. {{1}}" msgstr "送金の引用符を取得する際にエラーが発生しました。{{1}}" -#: src/jade/tabs/send.jade:139 +#: src/jade/tabs/send.jade:148 msgid "You can send" msgstr "以下の金額を送金する" -#: src/jade/tabs/send.jade:141 +#: src/jade/tabs/send.jade:150 msgid "Or you can send" msgstr "もしくは、以下の金額を送金する" -#: src/jade/tabs/send.jade:155 +#: src/jade/tabs/send.jade:164 msgid "Send {{ alt.amount | rpcurrency }} {{1}}" msgstr "{{ alt.amount | rpcurrency }} {{1}} を送金する" -#: src/jade/tabs/send.jade:170 +#: src/jade/tabs/send.jade:181 msgid "Ripple is calculating a path for your payment." msgstr "支払いの経路を計算しています。" -#: src/jade/tabs/send.jade:176 +#: src/jade/tabs/send.jade:186 msgid "You are sending {{1}} to" msgstr "{{1}} の受取人" -#: src/jade/tabs/send.jade:184 +#: src/jade/tabs/send.jade:194 msgid "Destination tag: {{send.dt}}" msgstr "宛先タグ: {{send.dt}}" -#: src/jade/tabs/send.jade:185 +#: src/jade/tabs/send.jade:195 msgid "They will receive" msgstr "相手先が受信する金額" -#: src/jade/tabs/send.jade:188 +#: src/jade/tabs/send.jade:198 msgid "You will pay at most" msgstr "あなたの最大支払金額" -#: src/jade/tabs/send.jade:194 +#: src/jade/tabs/send.jade:204 msgid "Are you sure?" msgstr "続けてもよろしいですか?" -#: src/jade/tabs/send.jade:200 +#: src/jade/tabs/send.jade:210 msgid "Password required to unlock wallet" msgstr "ウォレットをアンロックするにはパスワードが必要です" -#: src/jade/tabs/send.jade:224 src/jade/tabs/send.jade:252 +#: src/jade/tabs/send.jade:234 src/jade/tabs/send.jade:266 msgid "Contact saved!" msgstr "相手先を保存しました!" -#: src/jade/tabs/send.jade:226 src/jade/tabs/send.jade:254 +#: src/jade/tabs/send.jade:236 src/jade/tabs/send.jade:268 msgid "Add this address to contacts" msgstr "相手先にこのアドレスを追加" -#: src/jade/tabs/send.jade:230 src/jade/tabs/send.jade:258 +#: src/jade/tabs/send.jade:242 src/jade/tabs/send.jade:274 msgid "Name this user" msgstr "このユーザーに名を付ける" -#: src/jade/tabs/send.jade:236 src/jade/tabs/send.jade:265 -#: src/jade/tabs/trust.jade:283 +#: src/jade/tabs/send.jade:246 src/jade/tabs/send.jade:278 +msgid "This contact already exists, please choose another name." +msgstr "この相手先は既に存在します。他の名前を使用して下さい。" + +#: src/jade/tabs/send.jade:250 src/jade/tabs/send.jade:283 +#: src/jade/tabs/trust.jade:233 msgid "Saving..." msgstr "保存中..." -#: src/jade/tabs/send.jade:241 src/jade/tabs/send.jade:271 +#: src/jade/tabs/send.jade:255 src/jade/tabs/send.jade:289 msgid "Send another payment" msgstr "別の支払いを送金" -#: src/jade/tabs/settings/navbar.jade:3 -msgid "Advanced" -msgstr "詳細" +#: src/jade/tabs/settings/navbar.jade:2 +msgid "Security" +msgstr "セキュリティー" + +#: src/jade/tabs/settingstrade.jade:12 +msgid "Trade settings" +msgstr "トレード設定" -#: src/jade/tabs/trade.jade:10 -msgid "Loading order book..." -msgstr "オーダーブックをロード中..." +#: src/jade/tabs/settingstrade.jade:14 +msgid "Trade currency pairs" +msgstr "トレード通貨ペア" -#: src/jade/tabs/trade.jade:23 +#: src/jade/tabs/trade.jade:12 src/jade/tabs/trade.jade:451 +msgid "Loading Order Book" +msgstr "オーダーブックを読み込んでいます" + +#: src/jade/tabs/trade.jade:31 src/jade/tabs/widgets/markets.jade:24 msgid "flip" msgstr "反転" -#: src/jade/tabs/trade.jade:27 src/jade/tabs/trade.jade:35 -msgid "Base currency" +#: src/jade/tabs/trade.jade:34 +msgid "add pair" +msgstr "通貨ペアを追加" + +#: src/jade/tabs/trade.jade:37 +msgid "edit pairs" +msgstr "通貨ペアを編集" + +#: src/jade/tabs/trade.jade:41 +msgid "Base Currency" msgstr "基準通貨" -#: src/jade/tabs/trade.jade:30 src/jade/tabs/trade.jade:41 -msgid "Change gateway" -msgstr "ゲートウェイを変更" +#: src/jade/tabs/trade.jade:44 +msgid "Base Gateway" +msgstr "基準ゲートウェイ" + +#: src/jade/tabs/trade.jade:49 +msgid "Counter Currency" +msgstr "決済 通貨" -#: src/jade/tabs/trade.jade:38 src/jade/tabs/trade.jade:46 -msgid "Counter currency" -msgstr "決済通貨" +#: src/jade/tabs/trade.jade:52 +msgid "Counter Gateway" +msgstr "決済ゲートウェイ" -#: src/jade/tabs/trade.jade:50 +#: src/jade/tabs/trade.jade:57 +msgid "Add" +msgstr "追加" + +#: src/jade/tabs/trade.jade:60 msgid "Base currency issuer ({{order.first_currency | rpcurrency}})" msgstr "基準通貨発行者 ({{order.first_currency}})" -#: src/jade/tabs/trade.jade:55 +#: src/jade/tabs/trade.jade:63 +msgid "Ripple name or contact" +msgstr "Ripple名または相手先" + +#: src/jade/tabs/trade.jade:65 msgid "Not a valid Ripple address or contact" msgstr "無効な Ripple アドレスもしくは相手先です。" -#: src/jade/tabs/trade.jade:60 +#: src/jade/tabs/trade.jade:70 msgid "Counter currency issuer ({{order.second_currency | rpcurrency}})" msgstr "決済通貨発行者 ({{order.second_currency}})" -#: src/jade/tabs/trade.jade:65 +#: src/jade/tabs/trade.jade:75 msgid "Not a valid Ripple name or address" msgstr "有効なRipple名やアドレスではありません" -#: src/jade/tabs/trade.jade:69 +#: src/jade/tabs/trade.jade:79 msgid "" -"You must select a gateway to trade currencies. Click the “Change gateway” " -"link above and enter the gateway's address or Ripple name. {{1:Find a " -"gateway.}}" -msgstr "トレードを行う通貨のゲートウェイを選択する必要があります。上の「ゲートウェイを変更する」リンクをクリックし、ゲートウェイのアドレスもしくは Ripple 名を入力してください。 {{1:ゲートウェイを探す}}" +"To show an orderbook, choose from the dropdown above or click \"Add custom " +"pair\"." +msgstr "オーダーブックを表示するには、上記のドロップダウンから選択するか、または「カスタムのペアを追加」をクリックしてください。" -#: src/jade/tabs/trade.jade:79 +#: src/jade/tabs/trade.jade:86 msgid "Bid" msgstr "買う" -#: src/jade/tabs/trade.jade:84 +#: src/jade/tabs/trade.jade:91 msgid "Ask" msgstr "買値" -#: src/jade/tabs/trade.jade:89 +#: src/jade/tabs/trade.jade:96 msgid "Spread" msgstr "スプレッド" -#: src/jade/tabs/trade.jade:94 +#: src/jade/tabs/trade.jade:101 msgid "Last price" msgstr "現在の価格" -#: src/jade/tabs/trade.jade:101 +#: src/jade/tabs/trade.jade:108 msgid "You have to be funded before you can trade" msgstr "取引する前に資金を供給する必要があります。" -#: src/jade/tabs/trade.jade:108 +#: src/jade/tabs/trade.jade:115 msgid "Buy {{1}} {{order.first_currency | rpcurrency}}" msgstr "{{1}} {{order.first_currency | rpcurrency}} を買う" -#: src/jade/tabs/trade.jade:111 +#: src/jade/tabs/trade.jade:118 msgid "Sell {{1}} {{order.first_currency | rpcurrency}}" msgstr "{{1}} {{order.first_currency | rpcurrency}} を売る" -#: src/jade/tabs/trade.jade:114 src/jade/tabs/trade.jade:123 +#: src/jade/tabs/trade.jade:121 src/jade/tabs/trade.jade:130 msgid "{{1}} available" msgstr "{{1}} が利用可能です" -#: src/jade/tabs/trade.jade:137 +#: src/jade/tabs/trade.jade:144 msgid "Amount To Buy" msgstr "購入金額" -#: src/jade/tabs/trade.jade:138 +#: src/jade/tabs/trade.jade:145 msgid "Amount To Sell" msgstr "売却金額" -#: src/jade/tabs/trade.jade:145 src/jade/tabs/trade.jade:160 -#: src/jade/tabs/trade.jade:175 +#: src/jade/tabs/trade.jade:152 src/jade/tabs/trade.jade:167 +#: src/jade/tabs/trade.jade:182 msgid "Required" msgstr "必須" -#: src/jade/tabs/trade.jade:147 src/jade/tabs/trade.jade:162 -#: src/jade/tabs/trade.jade:177 +#: src/jade/tabs/trade.jade:154 src/jade/tabs/trade.jade:169 +#: src/jade/tabs/trade.jade:184 msgid "Must be greater than zero" msgstr "0より大きな数字を入力してください" -#: src/jade/tabs/trade.jade:149 src/jade/tabs/trade.jade:164 -#: src/jade/tabs/trade.jade:179 -msgid "Minimum is a drop (0.000001) and maximum is 100 billion XRPs" -msgstr "最小値は 0.000001XRP 、最大値は1千億 XRP です" +#: src/jade/tabs/trade.jade:156 src/jade/tabs/trade.jade:171 +#: src/jade/tabs/trade.jade:186 +msgid "" +"Minimum amount of XRP you can send is a drop (0.000001) and the maximum is " +"100 billion XRPs." +msgstr "送信できる最小値は、0.000001XRP、最大値は一千億XRPです。" -#: src/jade/tabs/trade.jade:153 +#: src/jade/tabs/trade.jade:160 msgid "Price of Each" msgstr "各々の価格" -#: src/jade/tabs/trade.jade:168 +#: src/jade/tabs/trade.jade:175 msgid "Order Value (max)" msgstr "注文価格(最大)" -#: src/jade/tabs/trade.jade:185 +#: src/jade/tabs/trade.jade:192 msgid "You are wanting to buy {{1}} for {{2}} ({{3}} per {{4}})" msgstr "あなたは {{2}} を {{1}} で買うのを待っています({{4}}あたり{{3}})" -#: src/jade/tabs/trade.jade:194 +#: src/jade/tabs/trade.jade:201 msgid "You are wanting to sell {{1}} for {{2}} ({{3}} per {{4}})" msgstr "あなたは {{2}} を {{1}} で売るのを待っています({{4}}あたり{{3}})" -#: src/jade/tabs/trade.jade:206 +#: src/jade/tabs/trade.jade:213 msgid "Buy" msgstr "買う" -#: src/jade/tabs/trade.jade:207 +#: src/jade/tabs/trade.jade:214 msgid "Sell" msgstr "売る" -#: src/jade/tabs/trade.jade:213 +#: src/jade/tabs/trade.jade:220 msgid "You do not have sufficient funds to create an order." msgstr "注文するのに十分な資金がありません。" -#: src/jade/tabs/trade.jade:218 -msgid "CAUTION: Your order is far off from the current market price." -msgstr "警告: あなたの注文は現在の市場価格から大きく乖離しています。" - -#: src/jade/tabs/trade.jade:220 +#: src/jade/tabs/trade.jade:225 msgid "" "You are about to create an order to {{1: buy}} {{2: " -"sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}" -msgstr " {{3}}を{{5}}{{6}}{{4:で}}{{1: 買う}} {{2: 売る}}注文をします。{{7:よろしいですか?}}" +"sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" +msgstr "" + +#: src/jade/tabs/trade.jade:242 +msgid "CAUTION: Your order is far off from the current market price." +msgstr "警告: あなたの注文は現在の市場価格から大きく乖離しています。" -#: src/jade/tabs/trade.jade:239 +#: src/jade/tabs/trade.jade:246 src/jade/tabs/trade.jade:407 msgid "« Back" msgstr "戻る" -#: src/jade/tabs/trade.jade:246 +#: src/jade/tabs/trade.jade:255 msgid "Sending order to Ripple network..." msgstr "Ripple Network に注文を送信中..." -#: src/jade/tabs/trade.jade:252 +#: src/jade/tabs/trade.jade:261 msgid "Your order has been submitted." msgstr "注文は送信されました。" -#: src/jade/tabs/trade.jade:254 +#: src/jade/tabs/trade.jade:263 msgid "Your order is now active." -msgstr "あなたの注文は有効となりました。" +msgstr "注文が有効となりました。" -#: src/jade/tabs/trade.jade:256 -msgid "Your order is filled." -msgstr "あなたの注文は失敗しました。" +#: src/jade/tabs/trade.jade:265 +msgid "Your order has been filled." +msgstr "注文が決済されました。" -#: src/jade/tabs/trade.jade:258 -msgid "Request has been denied." -msgstr "要求は拒否されました。" +#: src/jade/tabs/trade.jade:267 +msgid "" +"Your order has been partially filled. The remaining amount is now active." +msgstr "注文が一部決済されました。未決済分は引き続き有効です。" -#: src/jade/tabs/trade.jade:259 -msgid "We were unable to submit the request. Please try again later." -msgstr "リクエストは送信できませんでした。しばらく待ってから再実行してください。" +#: src/jade/tabs/trade.jade:276 +msgid "Submit another order" +msgstr "別の注文を送信" -#: src/jade/tabs/trade.jade:261 -msgid "Request is malformed." -msgstr "要求は不正です。" +#: src/jade/tabs/trade.jade:278 +msgid "My Orders{{1}}{{2}}" +msgstr "私の注文{{1}}{{2}}" -#: src/jade/tabs/trade.jade:262 -msgid "" -"Your request is invalid, reason: {{order[type].engine_result}} - " -"{{order[type].engine_result_message}}" -msgstr "この要求は無効です。理由: {{order[type].engine_result}} - {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:287 +msgid "Your order has been modified." +msgstr "注文が修正されました。" -#: src/jade/tabs/trade.jade:265 src/jade/tabs/trade.jade:279 -msgid "Transaction failed." -msgstr "取引は失敗しました。" +#: src/jade/tabs/trade.jade:289 +msgid "Your order #{{ cancelOrder.seq }} has been cancelled." +msgstr "注文 #{{ cancelOrder.seq }} はキャンセルされました。" -#: src/jade/tabs/trade.jade:267 +#: src/jade/tabs/trade.jade:291 msgid "" -"You do not have enough {{(type == 'buy' ? order.second_currency : " -"order.first_currency) | rpcurrency}} to create this order." -msgstr "この注文をするのに十分な {{(type == 'buy' ? order.second_currency : order.first_currency) | rpcurrency}} を持っていません。" +"Your order could not be modified and no longer exists. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "" -#: src/jade/tabs/trade.jade:269 -msgid "" -"You must have at least {{account.reserve_to_add_trust | rpamount}} XRP to " -"submit an order. {{1}}" -msgstr "注文するのに最低 {{account.reserve_to_add_trust | rpamount}} XRP を所有しなければなりません。 {{1}}" +#: src/jade/tabs/trade.jade:293 +msgid "Unable to cancel order as it no longer exists." +msgstr "" -#: src/jade/tabs/trade.jade:271 -msgid "More information." -msgstr "詳細" +#: src/jade/tabs/trade.jade:295 +msgid "Modifying your order (Placing new order) ..." +msgstr "" -#: src/jade/tabs/trade.jade:272 -msgid "Error: {{order[type].engine_result_message}}" -msgstr "エラー: {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:299 +msgid "Current pair only" +msgstr "" -#: src/jade/tabs/trade.jade:275 -msgid "Trade failed." -msgstr "取引は失敗しました。" +#: src/jade/tabs/trade.jade:313 src/jade/tabs/widgets/orders.jade:24 +msgid "reverse" +msgstr "" -#: src/jade/tabs/trade.jade:277 -msgid "Trade failed, reason: {{order[type].engine_result_message}}" -msgstr "取引に失敗しました。理由: {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:322 src/jade/tabs/widgets/orders.jade:33 +msgid "QTY{{1}}" +msgstr "" -#: src/jade/tabs/trade.jade:281 src/jade/tabs/trust.jade:45 -msgid "" -"The particular server you sent the transaction to was too busy to forward or" -" process your transaction at the fee you included in it." -msgstr "取引処理を送信したサーバーが混雑していたため、処理することができませんでした。" +#: src/jade/tabs/trade.jade:324 src/jade/tabs/widgets/orders.jade:35 +msgid "Base{{1}}" +msgstr "" -#: src/jade/tabs/trade.jade:290 -msgid "Submit another order" -msgstr "別の注文を送信" +#: src/jade/tabs/trade.jade:326 src/jade/tabs/widgets/orders.jade:37 +msgid "Counter{{1}}" +msgstr "" -#: src/jade/tabs/trade.jade:292 -msgid "My Orders{{1}}{{2}}" -msgstr "私の注文{{1}}{{2}}" +#: src/jade/tabs/trade.jade:328 src/jade/tabs/widgets/orders.jade:39 +msgid "Limit{{1}}" +msgstr "" -#: src/jade/tabs/trade.jade:299 -msgid "Type" -msgstr "タイプ" +#: src/jade/tabs/trade.jade:334 +msgid "Action" +msgstr "アクション" -#: src/jade/tabs/trade.jade:300 -msgid "Currencies {{1: (Issuer)}}" -msgstr "通貨 {{1: (発行者)}}" +#: src/jade/tabs/trade.jade:360 src/jade/tabs/trade.jade:424 +msgid "TRADE CONFIRMATION" +msgstr "" -#: src/jade/tabs/trade.jade:302 -msgid "Price" -msgstr "価格" +#: src/jade/tabs/trade.jade:362 +msgid "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" +msgstr "" -#: src/jade/tabs/trade.jade:304 -msgid "Action" -msgstr "アクション" +#: src/jade/tabs/trade.jade:364 +msgid "" +"{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div" +" span.modal-order-type(l10n-inc) REMAIN: span remain data div span" +".modal-order-type(l10n-inc) PLACED: span time data" +msgstr "" -#: src/jade/tabs/trade.jade:313 +#: src/jade/tabs/trade.jade:371 msgid "with" msgstr "で" -#: src/jade/tabs/trade.jade:314 +#: src/jade/tabs/trade.jade:372 msgid "for" msgstr "で" -# You haven't placed any orders. -#: src/jade/tabs/trade.jade:327 -msgid "You haven't placed any orders." -msgstr "まだ注文をしていません。" +#: src/jade/tabs/trade.jade:376 +msgid "at" +msgstr "" + +#: src/jade/tabs/trade.jade:389 +msgid "Cancel order" +msgstr "" + +#: src/jade/tabs/trade.jade:390 src/jade/tabs/trade.jade:431 +msgid "back" +msgstr "" -#: src/jade/tabs/trade.jade:329 -msgid "Unable to cancel order." -msgstr "注文をキャンセルできませんでした。" +#: src/jade/tabs/trade.jade:407 +msgid "" +"CAUTION: Your new order is far off from the current market price.
Do " +"you still want to replace your order ?" +msgstr "" -#: src/jade/tabs/trade.jade:330 -msgid "Error: {{cancelError}}" -msgstr "エラー: {{cancelError}}" +#: src/jade/tabs/trade.jade:410 +msgid "Unable to cancel order. Error: {{entry.errorMsg}}" +msgstr "" -#: src/jade/tabs/trade.jade:334 -msgid "Orderbook" -msgstr "オーダーブック" +#: src/jade/tabs/trade.jade:412 +msgid "" +"Your order amount has been updated by Ripple. Please go back and edit again " +"to modify this order." +msgstr "" + +#: src/jade/tabs/trade.jade:414 +msgid "" +"Your order could not be modified. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "" + +#: src/jade/tabs/trade.jade:415 +msgid "X" +msgstr "" + +#: src/jade/tabs/trade.jade:420 +msgid "cancel all" +msgstr "" + +#: src/jade/tabs/trade.jade:426 +msgid "{{1:Please confirm that you wish to cancel all orders.}}" +msgstr "" + +#: src/jade/tabs/trade.jade:430 +msgid "Cancel all orders" +msgstr "" + +#: src/jade/tabs/trade.jade:433 src/jade/tabs/widgets/orders.jade:64 +msgid "No current orders. {{1}}" +msgstr "" + +#: src/jade/tabs/trade.jade:434 src/jade/tabs/widgets/orders.jade:65 +msgid "View orders history" +msgstr "" -#: src/jade/tabs/trade.jade:336 +#: src/jade/tabs/trade.jade:437 +msgid "Orderbook{{1}}" +msgstr "" + +#: src/jade/tabs/trade.jade:440 msgid "show" msgstr "開く" -#: src/jade/tabs/trade.jade:344 +#: src/jade/tabs/trade.jade:442 +msgid "Last updated {{1}} {{2: seconds}} {{3: second}} ago" +msgstr "" + +#: src/jade/tabs/trade.jade:458 msgid "Bids" -msgstr "売値" +msgstr "買い注文" -#: src/jade/tabs/trade.jade:346 src/jade/tabs/trade.jade:373 +#: src/jade/tabs/trade.jade:460 src/jade/tabs/trade.jade:487 msgid "Sum{{1}}{{2}}" msgstr "合計{{1}}{{2}}" -#: src/jade/tabs/trade.jade:349 src/jade/tabs/trade.jade:370 +#: src/jade/tabs/trade.jade:463 src/jade/tabs/trade.jade:484 msgid "Size{{1}}{{2}}" msgstr "サイズ{{1}}{{2}}" -#: src/jade/tabs/trade.jade:352 +#: src/jade/tabs/trade.jade:466 msgid "Bid Price{{1}}{{2}}" msgstr "買い値{{1}}{{2}}" -#: src/jade/tabs/trade.jade:363 +#: src/jade/tabs/trade.jade:477 msgid "There are currently no bids for this pair." msgstr "現在、この通貨ペアには入札がありません。" -#: src/jade/tabs/trade.jade:365 +#: src/jade/tabs/trade.jade:479 msgid "Asks" -msgstr "買値" +msgstr "売り注文" -#: src/jade/tabs/trade.jade:367 +#: src/jade/tabs/trade.jade:481 msgid "Ask Price{{1}}{{2}}" msgstr "売り値 {{1}}{{2}}" -#: src/jade/tabs/trade.jade:384 +#: src/jade/tabs/trade.jade:498 msgid "There are currently no asks for this pair." msgstr "現在、この通貨ペアの買値はありません。" -#: src/jade/tabs/trade.jade:387 +#: src/jade/tabs/trade.jade:501 msgid "No more orders" msgstr "これ以上注文はありません" -#: src/jade/tabs/trust.jade:23 -msgid "Connecting a gateway to your Ripple account..." -msgstr "あなたの Ripple アカウントにゲートウェイを接続する..." - -#: src/jade/tabs/trust.jade:25 -msgid "Gateway connected." -msgstr "ゲートウェイを接続しました" - -#: src/jade/tabs/trust.jade:27 -msgid "Gateway could not be connected!" -msgstr "ゲートウェイの接続に失敗しました!" - -#: src/jade/tabs/trust.jade:28 src/jade/tabs/trust.jade:30 -msgid "There was a problem connecting the gateway. Please try again later." -msgstr "ゲートウェイへの接続の際に問題が発生しました。後ほど再度お試しください。" +#: src/jade/tabs/trust.jade:29 +msgid "Removing gateway..." +msgstr "ゲートウェイを削除しています..." #: src/jade/tabs/trust.jade:31 -msgid "" -"Your request is invalid, reason: {{engine_result}} - " -"{{engine_result_message}}" -msgstr "要求は無効です。理由: {{engine_result}} - {{engine_result_message}}" +msgid "Gateway removed." +msgstr "ゲートウェイを削除しました" #: src/jade/tabs/trust.jade:33 -msgid "Gateway connection failed!" -msgstr "ゲートウェイの接続に失敗しました!" +msgid "Your changes have been saved." +msgstr "変更が保存されました" #: src/jade/tabs/trust.jade:35 -msgid "You have no gateway connected in this currency." -msgstr "この通貨に対してゲートウェイが接続されていません。" - -#: src/jade/tabs/trust.jade:36 -msgid "Insufficient reserve to connect gateway." -msgstr "ゲートウェイに接続するために必要な準備金が不足しています。" - -#: src/jade/tabs/trust.jade:37 -msgid "" -"You must have at least {{account.reserve_to_add_trust | rpamount:0}} XRP to " -"connect a gateway. {{1}}" -msgstr "ゲートウェイに接続するためには少なくとも {{account.reserve_to_add_trust | rpamount:0}} XRP を保有していなければなりません。 {{1}}" +msgid "Request failed." +msgstr "リクエストは失敗しました。" #: src/jade/tabs/trust.jade:39 -msgid "Read more." -msgstr "もっと読む" - -#: src/jade/tabs/trust.jade:40 -msgid "Gateway connection failed to clear, reason: {{engine_result_message}}" -msgstr "ゲートウェイ接続の解除に失敗しました。理由: {{engine_result_message}}" - -#: src/jade/tabs/trust.jade:43 -msgid "Transaction failed!" -msgstr "取引処理は失敗しました。" - -#: src/jade/tabs/trust.jade:53 -msgid "Saving changes..." -msgstr "変更点を保存しています..." +msgid "Account unlock failed." +msgstr "アカウントのアンロックに失敗しました。" #: src/jade/tabs/trust.jade:55 -msgid "Changes saved!" -msgstr "変更点を保存しました!" - -#: src/jade/tabs/trust.jade:57 src/jade/tabs/trust.jade:69 -msgid "There was an error while saving your changes." -msgstr "変更点を保存する際にエラーが発生しました。" - -#: src/jade/tabs/trust.jade:65 -msgid "Removing gateway..." -msgstr "ゲートウェイを削除しています..." - -#: src/jade/tabs/trust.jade:67 -msgid "Gateway removed!" -msgstr "ゲートウェイを削除しました!" - -#: src/jade/tabs/trust.jade:72 src/jade/tabs/trust.jade:194 -msgid "You must have at least {{1}} to add a new trust line. {{2}}" -msgstr "新しい与信枠を与えるために最低 {{1}} を所有していなければなりません。{{2}}" - -#: src/jade/tabs/trust.jade:82 msgid "Name / Address" msgstr "名前・アドレス" -#: src/jade/tabs/trust.jade:84 src/jade/tabs/trust.jade:130 +#: src/jade/tabs/trust.jade:57 src/jade/tabs/trust.jade:90 msgid "Currency" msgstr "通貨" -#: src/jade/tabs/trust.jade:87 +#: src/jade/tabs/trust.jade:60 msgid "Trust Limit" msgstr "与信限度額" -#: src/jade/tabs/trust.jade:93 +#: src/jade/tabs/trust.jade:66 msgid "Gateway's Ripple name or address" msgstr "ゲートウェイの Ripple 名またはアドレス" -#: src/jade/tabs/trust.jade:162 +#: src/jade/tabs/trust.jade:100 +msgid "Amount field is required." +msgstr "金額フィールドは必須です" + +#: src/jade/tabs/trust.jade:115 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"connect to. More " +"information" +msgstr "" + +#: src/jade/tabs/trust.jade:125 msgid "" "{{1:You are connecting a gateway, which means}}{{2:{{ counterparty_address |" " rpripplename:{tilde: true} }} can:}}" msgstr "" -#: src/jade/tabs/trust.jade:165 +#: src/jade/tabs/trust.jade:128 msgid "{{1:- Hold up to }}{{2}} {{3: on your behalf}}" -msgstr "" +msgstr "{{3: あなたに代って}}{{2}} {{1:を保管 }}" -#: src/jade/tabs/trust.jade:169 +#: src/jade/tabs/trust.jade:132 msgid "{{1:- Hold }}{{2}} {{3: on your behalf}}" msgstr "{{3: あなたに代って}}{{2}} {{1:を保管 }}" -#: src/jade/tabs/trust.jade:183 src/jade/tabs/trust.jade:186 -#: src/jade/tabs/trust.jade:189 src/jade/tabs/trust.jade:255 -#: src/jade/tabs/trust.jade:258 src/jade/tabs/trust.jade:261 -#: src/jade/tabs/trust.jade:288 src/jade/tabs/trust.jade:291 -#: src/jade/tabs/trust.jade:294 -msgid "Remove" -msgstr "削除" - -#: src/jade/tabs/trust.jade:192 +#: src/jade/tabs/trust.jade:148 msgid "Verifying address" msgstr "アドレスを確認中" -#: src/jade/tabs/trust.jade:201 +#: src/jade/tabs/trust.jade:151 msgid "" "Your account has to be {{1:activated}} before you can add a gateway account." msgstr "ゲートウェイアカウントを追加する前にあなたのアカウントを{{1:有効化}}しなければなりません。" -#: src/jade/tabs/trust.jade:209 +#: src/jade/tabs/trust.jade:159 msgid "Connect gateway" msgstr "ゲートウェイへ接続する" -#: src/jade/tabs/trust.jade:227 -msgid "Gateway" -msgstr "ゲートウェイ" - -#: src/jade/tabs/trust.jade:229 src/jade/tabs/trust.jade:271 +#: src/jade/tabs/trust.jade:169 src/jade/tabs/trust.jade:221 msgid "Limit" msgstr "上限" -#: src/jade/tabs/trust.jade:230 +#: src/jade/tabs/trust.jade:170 msgid "Min" msgstr "下限" -#: src/jade/tabs/trust.jade:232 +#: src/jade/tabs/trust.jade:172 msgid "Edit" msgstr "編集" -#: src/jade/tabs/trust.jade:245 +#: src/jade/tabs/trust.jade:188 msgid "Off" msgstr "オフ" -#: src/jade/tabs/trust.jade:246 +#: src/jade/tabs/trust.jade:189 msgid "On" msgstr "オン" -#: src/jade/tabs/trust.jade:276 +#: src/jade/tabs/trust.jade:192 src/jade/tabs/trust.jade:201 +#: src/jade/tabs/trust.jade:206 src/jade/tabs/trust.jade:210 +#: src/jade/tabs/trust.jade:239 src/jade/tabs/trust.jade:244 +#: src/jade/tabs/trust.jade:248 +msgid "Incoming trust" +msgstr "受信トラスト" + +#: src/jade/tabs/trust.jade:192 +msgid "" +"You can't edit incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "あなたは受信トラストラインを編集できません。受信トラストラインは、他のRippleユーザーがあなたを信頼する時に使います。" + +#: src/jade/tabs/trust.jade:200 src/jade/tabs/trust.jade:202 +#: src/jade/tabs/trust.jade:205 src/jade/tabs/trust.jade:207 +#: src/jade/tabs/trust.jade:209 src/jade/tabs/trust.jade:211 +#: src/jade/tabs/trust.jade:238 src/jade/tabs/trust.jade:240 +#: src/jade/tabs/trust.jade:243 src/jade/tabs/trust.jade:245 +#: src/jade/tabs/trust.jade:247 src/jade/tabs/trust.jade:249 +msgid "Remove" +msgstr "削除" + +#: src/jade/tabs/trust.jade:201 src/jade/tabs/trust.jade:206 +#: src/jade/tabs/trust.jade:210 src/jade/tabs/trust.jade:239 +#: src/jade/tabs/trust.jade:244 src/jade/tabs/trust.jade:248 +msgid "" +"You can't delete incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "あなたは受信トラストラインを削除できません。受信トラストラインは、他のRippleユーザーがあなたを信頼する時に使います。" + +#: src/jade/tabs/trust.jade:226 msgid "Rippling {{1}}" msgstr "リップリング {{1}}" -#: src/jade/tabs/tx.jade:3 +#: src/jade/tabs/tx.jade:5 msgid "Loading transaction details..." msgstr "取引明細をロード中..." -#: src/jade/tabs/tx.jade:5 +#: src/jade/tabs/tx.jade:7 msgid "An error occurred while loading the transaction details." msgstr "取引明細のロード中にエラーが発生しました。" -#: src/jade/tabs/tx.jade:8 +#: src/jade/tabs/tx.jade:10 msgid "Transaction #" msgstr "取引 #" -#: src/jade/tabs/tx.jade:11 -msgid "Show in graph" -msgstr "グラフを表示" - -#: src/jade/tabs/tx.jade:13 +#: src/jade/tabs/tx.jade:15 msgid "Transaction type: {{1}}" msgstr "取引タイプ: {{1}}" -#: src/jade/tabs/tx.jade:20 +#: src/jade/tabs/tx.jade:22 msgid "Address sent from" msgstr "送金アドレス" -#: src/jade/tabs/tx.jade:24 +#: src/jade/tabs/tx.jade:26 msgid "Amount sent" msgstr "送金された金額" -#: src/jade/tabs/tx.jade:28 +#: src/jade/tabs/tx.jade:30 msgid "Currency sent" msgstr "送金された通貨" -#: src/jade/tabs/tx.jade:33 +#: src/jade/tabs/tx.jade:35 msgid "Address sent to" msgstr "受信アドレス" -#: src/jade/tabs/tx.jade:37 +#: src/jade/tabs/tx.jade:39 msgid "Amount received" msgstr "受信した金額" -#: src/jade/tabs/tx.jade:41 +#: src/jade/tabs/tx.jade:43 msgid "Currency received" msgstr "受信した通貨" -#: src/jade/tabs/tx.jade:48 +#: src/jade/tabs/tx.jade:50 msgid "Network fee paid" msgstr "ネットワーク手数料は支払われました。" -#: src/jade/tabs/tx.jade:60 +#: src/jade/tabs/tx.jade:62 msgid "Ledger number" msgstr "元帳番号" -#: src/jade/tabs/tx.jade:66 +#: src/jade/tabs/tx.jade:68 msgid "Address sent from:" msgstr "送金アドレス:" # Sorry, we don't have an info page layout for this transaction type yet. -#: src/jade/tabs/tx.jade:70 +#: src/jade/tabs/tx.jade:72 msgid "" "Sorry, we don't have an info page layout for this transaction type yet." msgstr "申し訳ありません。まだこの取引処理タイプの情報ページは存在しません。" +#: src/jade/tabs/usd.jade:35 +msgid "US Dollar Deposit" +msgstr "USドル入金" + +#: src/jade/tabs/usd.jade:39 +msgid "SnapSwap US (~SnapSwap){{1}}{{2}}" +msgstr "SnapSwap US (~SnapSwap){{1}}{{2}}" + +#: src/jade/tabs/usd.jade:45 +msgid "USA" +msgstr "USA" + +#: src/jade/tabs/usd.jade:48 +msgid "$ 0.31-$ 5.00" +msgstr "$ 0.31-$ 5.00" + +#: src/jade/tabs/usd.jade:56 +msgid "" +"Ripple Trade has partnered with SnapSwap to provide easier access to USD. " +"Following this action will enable SnapSwap to hold USD on your behalf." +msgstr "Ripple Tradeは、USDへの簡単なアクセスを提供するために、SnapSwapとパートナーになりました。この操作を続けると、SnapSwapにあなたの自身のUSDを保持することができます。" + +#: src/jade/tabs/usd.jade:73 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" +msgstr "" + +#: src/jade/tabs/usd.jade:74 +msgid "Register and verify your account at SnapSwap US. You will need: {{1}}" +msgstr "" + +#: src/jade/tabs/usd.jade:82 +msgid "EXISTING SNAPSWAP US CUSTOMERS" +msgstr "" + +#: src/jade/tabs/usd.jade:93 +msgid "Deposit instantly via selected banks" +msgstr "" + +#: src/jade/tabs/usd.jade:95 +msgid "Deposit cash at Bank of America branches (3 business days)" +msgstr "" + +#: src/jade/tabs/usd.jade:97 +msgid "Deposit via online bank transfer (3 business days)" +msgstr "" + +#: src/jade/tabs/usd.jade:103 +msgid "Directly to your bank account (3-4 business days)" +msgstr "" + +#: src/jade/tabs/usd.jade:105 +msgid "Directly to your PayPal account (several minutes)" +msgstr "" + +#: src/jade/tabs/widgets/assetallocation.jade:3 +msgid "Asset Allocation" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:3 +msgid "Balances" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:12 +msgid "Balance
{{ account.Balance | rpamount }} XRP" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:16 +msgid "Reserve" +msgstr "準備金" + +#: src/jade/tabs/widgets/balances.jade:18 +msgid "Reserve amount" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:18 +msgid "" +"Minimum amount of XRP required to fund your account. You cannot spend the " +"reserve." +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:20 +msgid "Reserve amount
{{ account.reserve | rpamount }} XRP" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Available amount" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Total amount of XRP in your account minus the reserve amount." +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:28 +msgid "Available amount
{{ account.max_spend | rpamount }} XRP" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:35 +msgid "" +"Balance
{{ entry.total | rpamount:{precision: 30, hard_precision: true} " +"}} {{ entry.total | rpcurrency }}" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:43 +msgid "" +"Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, " +"hard_precision: true} }} {{ entry.total | rpcurrency }}" +msgstr "" + +#: src/jade/tabs/widgets/markets.jade:3 +msgid "Markets" +msgstr "" + +#: src/jade/tabs/widgets/networth.jade:3 +msgid "Net Worth" +msgstr "" + +#: src/jade/tabs/widgets/networth.jade:8 +msgid "{{1:{{1:In}}}}{{2}}" +msgstr "" + +#: src/jade/tabs/widgets/networth.jade:14 +msgid "Estimated from latest trade price" +msgstr "最新のトレード価格から見積る" + +#: src/jade/tabs/widgets/networth.jade:23 +msgid "(excluding negative balances)" +msgstr "(マイナス残高を除く)" + +#: src/jade/tabs/widgets/orders.jade:3 +msgid "My Orders" +msgstr "私の注文" + +#: src/jade/tabs/widgets/orders.jade:68 +msgid "trade currencies" +msgstr "トレード通貨" + #: src/jade/tabs/xrp.jade:19 msgid "Ripple name: {{1}}{{2}}{{3}}" msgstr "Ripple 名: {{1}}{{2}}{{3}}" @@ -2696,7 +3659,3 @@ msgid "" "full Ripple address, and while we are working to transition to Ripple names," " some gateways may still ask for your full address." msgstr "Ripple 名は Ripple の新しい機能です!Ripple 名(~{{userCredentials.username}}) を使って送金を受け取ることができます。なお、 Ripple アドレスもまだ使用できます。現在 Ripple 名に移行中なので、フルアドレスを要求するゲートウェイもあるかもしれません。" - -#: src/jade/tabs/xrp.jade:31 -msgid "Ripple address {{1}}" -msgstr "Ripple アドレス {{1}}" diff --git a/l10n/nl_NL/messages.po b/l10n/nl_NL/messages.po index b58e79848..cfa8b7f91 100644 --- a/l10n/nl_NL/messages.po +++ b/l10n/nl_NL/messages.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Ripple Trade\n" -"PO-Revision-Date: 2015-01-07 20:33+0000\n" +"PO-Revision-Date: 2015-01-28 21:16+0000\n" "Last-Translator: Jeroen Werkhoven \n" "Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/ripple-trade/language/nl_NL/)\n" "MIME-Version: 1.0\n" @@ -21,47 +21,49 @@ msgstr "" "Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/jade/client/index.jade:5 src/jade/client/navbar.jade:112 -#: src/jade/tabs/trust.jade:86 src/jade/tabs/trust.jade:228 +#: src/jade/client/index.jade:5 src/jade/client/navbar.jade:117 +#: src/jade/tabs/trust.jade:59 src/jade/tabs/trust.jade:168 msgid "Balance" msgstr "Saldo" -#: src/jade/client/index.jade:7 src/jade/client/navbar.jade:114 +#: src/jade/client/index.jade:7 src/jade/client/navbar.jade:119 msgid "History" msgstr "Geschiedenis" -#: src/jade/client/index.jade:8 src/jade/client/navbar.jade:116 -#: src/jade/tabs/contacts.jade:5 +#: src/jade/client/index.jade:8 src/jade/client/navbar.jade:121 msgid "Contacts" msgstr "Contacten" -#: src/jade/client/index.jade:12 src/jade/client/navbar.jade:13 -#: src/jade/tabs/contacts.jade:73 +#: src/jade/client/index.jade:12 src/jade/client/navbar.jade:21 +#: src/jade/tabs/contacts.jade:65 msgid "Send" -msgstr "Verzenden" +msgstr "Versturen" -#: src/jade/client/index.jade:16 src/jade/client/navbar.jade:123 +#: src/jade/client/index.jade:16 msgid "Convert" msgstr "Converteren" -#: src/jade/client/index.jade:18 src/jade/client/navbar.jade:121 +#: src/jade/client/index.jade:18 src/jade/client/navbar.jade:23 +#: src/jade/client/navbar.jade:25 src/jade/tabs/settings/navbar.jade:3 msgid "Trade" msgstr "Handelen" -#: src/jade/client/index.jade:22 src/jade/client/navbar.jade:19 -#: src/jade/client/navbar.jade:128 +#: src/jade/client/index.jade:22 src/jade/client/navbar.jade:27 +#: src/jade/client/navbar.jade:133 msgid "Fund" msgstr "Financieren" -#: src/jade/client/index.jade:24 src/jade/tabs/fund/menu.jade:5 +#: src/jade/client/index.jade:24 src/jade/tabs/fund/menu.jade:29 msgid "Gateways" msgstr "Gateways" -#: src/jade/client/index.jade:29 src/jade/tabs/su.jade:12 +#: src/jade/client/index.jade:29 src/jade/client/navbar.jade:107 +#: src/jade/tabs/su.jade:12 msgid "Account" -msgstr "Account" +msgstr "Portefeuille" -#: src/jade/client/index.jade:32 src/jade/tabs/advanced.jade:9 +#: src/jade/client/index.jade:32 src/jade/client/navbar.jade:109 +#: src/jade/tabs/advanced.jade:19 msgid "Settings" msgstr "Instellingen" @@ -69,198 +71,437 @@ msgstr "Instellingen" msgid "Logout" msgstr "Uitloggen" -#: src/jade/client/index.jade:41 -msgid "Welcome to {{productName}}, a global value exchange" -msgstr "Welkom op {{productName}}, een wereldwijde marktplaats" - -#: src/jade/client/index.jade:51 +#: src/jade/client/index.jade:61 +msgid "Why Use Ripple Trade?" +msgstr "Waarom Ripple Trade Gebruiken?" + +#: src/jade/client/index.jade:66 +msgid "Home of XRP -" +msgstr "Het thuis van XRP -" + +#: src/jade/client/index.jade:67 +msgid "the best place to buy and sell XRP" +msgstr "de beste plaats voor de koop en verkoop van XRP" + +#: src/jade/client/index.jade:71 +msgid "Free -" +msgstr "Gratis -" + +#: src/jade/client/index.jade:72 +msgid "no fees to sign up and use Ripple Trade" +msgstr "geen heffingen voor aanmelding bij en het gebruik van Ripple Trade" + +#: src/jade/client/index.jade:76 +msgid "No Middlemen -" +msgstr "Geen Tussenpersonen -" + +#: src/jade/client/index.jade:77 +msgid "" +"When you submit orders, Ripple automatically finds the best available match," +" without a clearinghouse or broker." +msgstr "Bij het plaatsen van uw orders vindt Ripple automatisch de best beschikbare tegenpartij, zonder tussenkomst van een clearinghouse of handelaar." + +#: src/jade/client/index.jade:81 +msgid "Deposit, trade and withdraw money on Ripple via gateways." +msgstr "Gebruik gateways om geld te storten, te verhandelen en op te nemen uit Ripple." + +#: src/jade/client/index.jade:89 +msgid "Featured Ripple Gateways" +msgstr "Geselecteerde Ripple-gateways" + +#: src/jade/client/index.jade:91 +msgid "Ripple's growing gateway network." +msgstr "Het groeiende gateway-netwerk van Ripple." + +#: src/jade/client/index.jade:93 src/jade/client/index.jade:96 +#: src/jade/client/index.jade:99 src/jade/client/index.jade:102 +#: src/jade/client/index.jade:105 src/jade/client/index.jade:108 +#: src/jade/client/index.jade:111 src/jade/client/index.jade:114 +#: src/jade/client/index.jade:117 src/jade/tabs/banner/unfunded.jade:6 +#: src/jade/tabs/brl.jade:53 src/jade/tabs/brl.jade:57 +#: src/jade/tabs/brl.jade:93 src/jade/tabs/btc.jade:46 +#: src/jade/tabs/eur.jade:50 src/jade/tabs/eur.jade:54 +#: src/jade/tabs/eur.jade:86 src/jade/tabs/eur.jade:93 +#: src/jade/tabs/gold.jade:51 src/jade/tabs/jpy.jade:55 +#: src/jade/tabs/jpy.jade:91 src/jade/tabs/jpy.jade:97 +#: src/jade/tabs/mxn.jade:53 src/jade/tabs/send.jade:63 +#: src/jade/tabs/trade.jade:320 src/jade/tabs/usd.jade:51 +#: src/jade/tabs/usd.jade:83 src/jade/tabs/usd.jade:90 +#: src/jade/tabs/usd.jade:100 src/jade/tabs/widgets/orders.jade:31 +msgid "{{1}}" +msgstr "{{1}}" + +#: src/jade/client/index.jade:123 msgid "Version: {{version}}" msgstr "Versie: {{version}}" -#: src/jade/client/index.jade:55 -msgid "End-User License Agreement" -msgstr "Licentieovereenkomst Voor Eindgebruikers" +#: src/jade/client/index.jade:128 +msgid "Terms of Use" +msgstr "Gebruiksvoorwaarden" + +#: src/jade/client/index.jade:129 +msgid "Privacy Policy" +msgstr "Privacybeleid" -#: src/jade/client/index.jade:56 +#: src/jade/client/index.jade:130 msgid "Support" msgstr "Ondersteuning" -#: src/jade/client/index.jade:57 +#: src/jade/client/index.jade:131 msgid "Bug reports" msgstr "Foutmeldingen" -#: src/jade/client/index.jade:64 +#: src/jade/client/index.jade:138 msgid "more..." msgstr "meer..." -#: src/jade/client/index.jade:68 +#: src/jade/client/index.jade:142 msgid "Select a language" msgstr "Selecteer een taal" -#: src/jade/client/navbar.jade:11 +#: src/jade/client/navbar.jade:2 +msgid "" +"You are viewing an account in {{1}} mode. While in this mode, you can view " +"publicly available data, but you cannot initiate any transactions. Click " +"{{2}} to exit." +msgstr "Momenteel bekijkt u een account in {{1}}-modus. Dit betekent dat u openbaar toegankelijke data kunt zien, maar geen transacties kunt uitvoeren. Klik op {{2}} om terug te gaan." + +#: src/jade/client/navbar.jade:8 +msgid "" +"Warning: this account has over 200 trust lines, so the displayed account " +"balance may not be accurate." +msgstr "Let op: dit account heeft meer dan 200 kredietlijnen dus het weergegeven accountsaldo is mogelijk niet accuraat." + +#: src/jade/client/navbar.jade:19 msgid "Overview" msgstr "Overzicht" -#: src/jade/client/navbar.jade:15 src/jade/client/navbar.jade:17 -#: src/jade/tabs/exchange.jade:43 -msgid "Exchange" -msgstr "Omwisselen" - -#: src/jade/client/navbar.jade:39 src/jade/tabs/account/public.jade:45 -#: src/jade/tabs/apps.jade:8 src/jade/tabs/balance.jade:8 -#: src/jade/tabs/balance.jade:27 src/jade/tabs/btc.jade:60 -#: src/jade/tabs/exchange.jade:9 src/jade/tabs/history.jade:207 -#: src/jade/tabs/kyc.jade:38 src/jade/tabs/recover.jade:21 -#: src/jade/tabs/security.jade:134 src/jade/tabs/su.jade:8 -#: src/jade/tabs/trust.jade:9 src/jade/tabs/trust.jade:175 +#: src/jade/client/navbar.jade:49 src/jade/tabs/account/private.jade:7 +#: src/jade/tabs/account/private.jade:16 src/jade/tabs/account/public.jade:45 +#: src/jade/tabs/apps.jade:8 src/jade/tabs/btc.jade:72 +#: src/jade/tabs/exchange.jade:9 src/jade/tabs/kyc.jade:45 +#: src/jade/tabs/recover.jade:26 src/jade/tabs/security.jade:147 +#: src/jade/tabs/su.jade:8 src/jade/tabs/trust.jade:9 +#: src/jade/tabs/trust.jade:139 msgid "Loading..." -msgstr "Laden..." +msgstr "Bezig met laden..." -#: src/jade/client/navbar.jade:40 +#: src/jade/client/navbar.jade:50 msgid "There are no recent notifications." -msgstr "Er zijn geen nieuwe meldingen." +msgstr "Er zijn geen recente meldingen." -#: src/jade/client/navbar.jade:44 +#: src/jade/client/navbar.jade:54 msgid "You sent {{1}} to {{2}}" msgstr "U verstuurde {{1}} naar {{2}}" -#: src/jade/client/navbar.jade:50 +#: src/jade/client/navbar.jade:60 msgid "{{1}} sent you {{2}}" -msgstr "{{1}} verstuurt U {{2}}" +msgstr "{{1}} verstuurde U {{2}}" -#: src/jade/client/navbar.jade:58 +#: src/jade/client/navbar.jade:68 msgid "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" -msgstr "{{entry.transaction.counterparty | rpcontactname}} vertrouwt u nu toe voor" +msgstr "{{entry.transaction.counterparty | rpcontactname}} vertrouwt u nu een bedrag toe van" -#: src/jade/client/navbar.jade:64 src/jade/notification/account.jade:25 -#: src/jade/tabs/history.jade:133 src/jade/tabs/history/effects.jade:63 +#: src/jade/client/navbar.jade:74 src/jade/notification/account.jade:25 +#: src/jade/tabs/history.jade:115 src/jade/tabs/history/effects.jade:63 msgid "You have now connected to the gateway {{1}}{{2: for }}{{3}}." msgstr "U bent nu verbonden met de gateway {{1}}{{2: voor }}{{3}}." -#: src/jade/client/navbar.jade:75 +#: src/jade/client/navbar.jade:85 msgid "You cancelled an order accepting {{1}} for {{2}}" msgstr "U heeft een order om {{1}} te accepteren voor {{2}} geannuleerd" -#: src/jade/client/navbar.jade:82 src/jade/tabs/history.jade:156 +#: src/jade/client/navbar.jade:92 src/jade/tabs/history.jade:138 msgid "Account details have been changed" msgstr "De details van uw account zijn gewijzigd" -#: src/jade/client/navbar.jade:85 src/jade/tabs/history.jade:159 -#: src/jade/tabs/trust.jade:231 +#: src/jade/client/navbar.jade:95 src/jade/tabs/history.jade:141 +#: src/jade/tabs/trust.jade:171 msgid "Rippling" msgstr "Rippling" -#: src/jade/client/navbar.jade:87 src/jade/tabs/history.jade:161 +#: src/jade/client/navbar.jade:97 src/jade/tabs/history.jade:143 msgid "Failed transaction" msgstr "Mislukte transactie" -#: src/jade/client/navbar.jade:93 +#: src/jade/client/navbar.jade:103 msgid "View Full History" -msgstr "De volledige geschiedenis weergeven" +msgstr "Volledige Geschiedenis Weergeven" -#: src/jade/client/navbar.jade:97 -msgid "{{1}} Account" -msgstr "{{1}} Account" +#: src/jade/client/navbar.jade:111 +msgid "Log Out" +msgstr "Uitloggen" -#: src/jade/client/navbar.jade:101 -msgid "{{1}} Settings" -msgstr "{{1}} Instellingen" +#: src/jade/client/navbar.jade:126 +msgid "Simple" +msgstr "Eenvoudig" -#: src/jade/client/navbar.jade:105 -msgid "{{1}} Log Out" -msgstr "{{1}} Uitloggen" +#: src/jade/client/navbar.jade:128 src/jade/tabs/settings/navbar.jade:4 +msgid "Advanced" +msgstr "Geavanceerd" -#: src/jade/client/navbar.jade:130 src/jade/tabs/balance.jade:110 +#: src/jade/client/navbar.jade:135 msgid "Withdraw" msgstr "Opnemen" -#: src/jade/client/navbar.jade:132 +#: src/jade/client/navbar.jade:137 msgid "" "Your account was successfully recovered and encrypted with the new password " "you provided!" -msgstr "Uw portefeille is hersteld en versleuteld met het nieuwe wachtwoord dat u heeft opgegeven!" +msgstr "Uw portefeuille is succesvol herkregen en versleuteld met het nieuwe wachtwoord dat u heeft opgegeven!" -#: src/jade/client/navbar.jade:133 +#: src/jade/client/navbar.jade:138 msgid "dismiss" msgstr " verberg" -#: src/jade/directives/transactionerror.jade:5 +#: src/jade/directives/addresspopover.jade:3 +msgid "Ripple address {{ identity }}" +msgstr "Ripple-adres {{ identity }}" + +#: src/jade/directives/addresspopover.jade:8 src/jade/tabs/tx.jade:13 +msgid "Show in graph" +msgstr "Toon in grafiek" + +#: src/jade/directives/transactionerror.jade:8 +msgid "Connecting gateway to your account..." +msgstr "Gateway wordt verbonden met uw account..." + +#: src/jade/directives/transactionerror.jade:10 +msgid "Gateway connected." +msgstr "Gateway verbonden." + +#: src/jade/directives/transactionerror.jade:12 +msgid "There was a problem connecting to the gateway. Please try again later." +msgstr "Bij het verbinden met de gateway is een probleem ontstaan. Probeert u het later nog eens." + +#: src/jade/directives/transactionerror.jade:14 +#: src/jade/directives/transactionerror.jade:73 +#: src/jade/directives/transactionerror.jade:158 +#: src/jade/messages/sendconvert/confirmation.jade:13 +msgid "Error code: {{engine_result}} - {{engine_result_message}}" +msgstr "Foutcode: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:19 +#: src/jade/directives/transactionerror.jade:23 +#: src/jade/directives/transactionerror.jade:28 +#: src/jade/directives/transactionerror.jade:33 +#: src/jade/directives/transactionerror.jade:45 +#: src/jade/directives/transactionerror.jade:52 +#: src/jade/directives/transactionerror.jade:156 +#: src/jade/directives/transactionerror.jade:163 +#: src/jade/directives/transactionerror.jade:167 +#: src/jade/directives/transactionerror.jade:172 +#: src/jade/directives/transactionerror.jade:177 +#: src/jade/directives/transactionerror.jade:186 +#: src/jade/directives/transactionerror.jade:193 +msgid "Request failed" +msgstr "Aanvraag mislukt" + +#: src/jade/directives/transactionerror.jade:21 +#: src/jade/directives/transactionerror.jade:165 +msgid "Your request timed out, please try again." +msgstr "De tijd voor uw aanvraag is verstreken, probeer het later nog eens." + +#: src/jade/directives/transactionerror.jade:25 +#: src/jade/directives/transactionerror.jade:84 +#: src/jade/directives/transactionerror.jade:169 +#: src/jade/messages/sendconvert/confirmation.jade:18 +msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." +msgstr "Foutcode: Bestemmingskenmerk vereist. [tefDST_TAG_NEEDED]." + +#: src/jade/directives/transactionerror.jade:30 +#: src/jade/directives/transactionerror.jade:174 +msgid "" +"Error code: This request failed because it exceeded the maximum network fee," +" please try again later [telINSUF_FEE_P]." +msgstr "Foutcode: De transactie is mislukt omdat het de maximale netwerkheffing overschreed, probeer het later nog eens [telINSUF_FEE_P]." + +#: src/jade/directives/transactionerror.jade:35 +msgid "" +"Error code: You have no gateway connected in this currency [terNO_LINE]." +msgstr "Foutcode: U heeft geen gateway verbonden voor deze valuta [terNO_LINE]." + +#: src/jade/directives/transactionerror.jade:37 +msgid "" +"Error code: Insufficient reserve to connect gateway [tecINSUF_RESERVE_LINE]." +msgstr "Foutcode: Onvoldoende reserve om met de gateway te verbinden [tecINSUF_RESERVE_LINE]." + +#: src/jade/directives/transactionerror.jade:39 +msgid "" +"Error code: You have an insufficient reserve amount to connect a gateway " +"[tecNO_LINE_INSUF_RESERVE]. {{1}}" +msgstr "Foutcode: U heeft onvoldoende reserve om met de gateway te verbinden [tecINSUF_RESERVE_LINE]. {{1}}" + +#: src/jade/directives/transactionerror.jade:41 src/jade/tabs/fund.jade:34 +#: src/jade/tabs/send.jade:110 src/jade/tabs/trust.jade:74 +msgid "More information" +msgstr "Meer informatie" + +#: src/jade/directives/transactionerror.jade:42 +#: src/jade/directives/transactionerror.jade:98 +#: src/jade/directives/transactionerror.jade:135 +#: src/jade/directives/transactionerror.jade:183 +#: src/jade/messages/sendconvert/confirmation.jade:27 +msgid "Error: {{engine_result_message}}" +msgstr "Fout: {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:47 +#: src/jade/directives/transactionerror.jade:103 +#: src/jade/directives/transactionerror.jade:188 +#: src/jade/messages/sendconvert/confirmation.jade:32 +msgid "Error code: You have no trust line in this currency [terNO_LINE]." +msgstr "Foutcode: U heeft geen kredietlijn voor deze valuta [terNO_LINE]." + +#: src/jade/directives/transactionerror.jade:49 +#: src/jade/directives/transactionerror.jade:190 +msgid "Your request failed: {{engine_result}} - {{engine_result_message}}" +msgstr "Uw aanvraag is mislukt: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:54 +#: src/jade/directives/transactionerror.jade:195 +msgid "Error code: request could not be submitted [tejLost]." +msgstr "Foutcode: Aanvraag kon niet worden verzonden [tejLost]." + +#: src/jade/directives/transactionerror.jade:56 +#: src/jade/directives/transactionerror.jade:197 src/jade/tabs/trust.jade:36 +msgid "" +"This request failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "Deze aanvraag is mislukt omdat de huidige netwerkheffing hoger is dan de limiet voor uw account. U kunt de maximum netwerkheffing aanpassen in Instellingen > Geavanceerd, of het later nog eens proberen.
Foutcode: Netwerkheffing overschreden [tejMaxFeeExceeded]." + +#: src/jade/directives/transactionerror.jade:59 +#: src/jade/directives/transactionerror.jade:200 +msgid "" +"Your request could not be submitted: {{engine_result}} - " +"{{engine_result_message}}" +msgstr "Uw aanvraag kon niet worden verzonden: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:67 msgid "Payment pending" msgstr "Betaling in behandeling" -#: src/jade/directives/transactionerror.jade:7 +#: src/jade/directives/transactionerror.jade:69 msgid "Payment successful" msgstr "Betaling succesvol" -#: src/jade/directives/transactionerror.jade:9 -#: src/jade/directives/transactionerror.jade:16 -#: src/jade/directives/transactionerror.jade:20 -#: src/jade/directives/transactionerror.jade:25 -#: src/jade/directives/transactionerror.jade:30 -#: src/jade/directives/transactionerror.jade:39 -#: src/jade/directives/transactionerror.jade:46 +#: src/jade/directives/transactionerror.jade:71 +#: src/jade/directives/transactionerror.jade:82 +#: src/jade/directives/transactionerror.jade:87 +#: src/jade/directives/transactionerror.jade:92 +#: src/jade/directives/transactionerror.jade:101 +#: src/jade/directives/transactionerror.jade:108 msgid "Payment failed" msgstr "Betaling mislukt" -#: src/jade/directives/transactionerror.jade:11 -#: src/jade/messages/sendconvert/confirmation.jade:13 -msgid "Error code: {{engine_result}} - {{engine_result_message}}" -msgstr "Fout code: {{engine_result}} - {{engine_result_message}}" +#: src/jade/directives/transactionerror.jade:78 +msgid "Payment failed [tefMAX_LEDGER]." +msgstr "Betaling mislukt [tefMAX_LEDGER]." -#: src/jade/directives/transactionerror.jade:18 +#: src/jade/directives/transactionerror.jade:80 msgid "Your payment timed out, please try again." -msgstr "De tijd voor uw betaling is verstreken. Probeer u het later nog eens." +msgstr "De tijd voor uw betaling is verstreken. Probeert u het later nog eens." -#: src/jade/directives/transactionerror.jade:22 -#: src/jade/messages/sendconvert/confirmation.jade:18 -msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." -msgstr "Foutcode: Bestemmingskenmerk vereist. [tefDST_TAG_NEEDED]." - -#: src/jade/directives/transactionerror.jade:27 +#: src/jade/directives/transactionerror.jade:89 #: src/jade/messages/sendconvert/confirmation.jade:39 msgid "" "Error code: This transaction failed because it exceeded the maximum network " "fee, please try again later [telINSUF_FEE_P]." msgstr "Foutcode: De transactie is mislukt omdat de maximale netwerkheffing is overschreden. Probeert u het later nog eens [telINSUF_FEE_P]." -#: src/jade/directives/transactionerror.jade:32 +#: src/jade/directives/transactionerror.jade:94 +#: src/jade/directives/transactionerror.jade:179 msgid "Error code: No destination [tecNO_DST]." msgstr "Foutcode: Geen bestemming [tecNO_DST]." -#: src/jade/directives/transactionerror.jade:34 +#: src/jade/directives/transactionerror.jade:96 +#: src/jade/directives/transactionerror.jade:181 #: src/jade/messages/sendconvert/confirmation.jade:25 msgid "" "Error code: Insufficient XRP sent to destination [tecNO_DST_INSUF_XRP]." msgstr "Foutcode: Onvoldoende XRP verstuurd naar bestemming [tecNO_DST_INSUF_XRP]." -#: src/jade/directives/transactionerror.jade:36 -#: src/jade/messages/sendconvert/confirmation.jade:27 -msgid "Error: {{engine_result_message}}" -msgstr "Fout: {{engine_result_message}}" - -#: src/jade/directives/transactionerror.jade:41 -#: src/jade/messages/sendconvert/confirmation.jade:32 -msgid "Error code: You have no trust line in this currency [terNO_LINE]." -msgstr "Foutcode: U heeft geen kredietlijn voor deze valuta [terNO_LINE]." - -#: src/jade/directives/transactionerror.jade:43 +#: src/jade/directives/transactionerror.jade:105 msgid "Your payment failed: {{engine_result}} - {{engine_result_message}}" msgstr "Uw betaling is mislukt: {{engine_result}} - {{engine_result_message}}" -#: src/jade/directives/transactionerror.jade:48 +#: src/jade/directives/transactionerror.jade:110 msgid "Error code: Transaction could not be submitted [tejLost]." msgstr "Foutcode: Transactie kon niet worden verzonden [tejLost]." -#: src/jade/directives/transactionerror.jade:50 -msgid "Error code: Network fee exceeded [tejMaxFeeExceeded]." -msgstr "Foutcode: Netwerkheffing overschreden [tejMaxFeeExceeded]." +#: src/jade/directives/transactionerror.jade:112 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "Deze transactie is mislukt omdat de huidige netwerkheffing hoger is dan de limiet voor uw account. U kunt de maximum netwerkheffing aanpassen in Instellingen > Geavanceerd, of het later nog eens proberen.
Foutcode: Netwerkheffing overschreden [tejMaxFeeExceeded]." -#: src/jade/directives/transactionerror.jade:52 +#: src/jade/directives/transactionerror.jade:115 msgid "" "Your payment could not be submitted: {{engine_result}} - " "{{engine_result_message}}" msgstr "Uw betaling kon niet worden verzonden: {{engine_result}} - {{engine_result_message}}" +#: src/jade/directives/transactionerror.jade:121 +msgid "Request is malformed." +msgstr "Verzoek is onjuist samengesteld." + +#: src/jade/directives/transactionerror.jade:122 +msgid "" +"Your request is invalid, reason: {{engine_result_message}} - " +"{{engine_result_message}}" +msgstr "Uw aanvraag is ongeldig, reden: {{engine_result_message}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:125 +#: src/jade/directives/transactionerror.jade:142 +msgid "Transaction failed." +msgstr "Transactie mislukt." + +#: src/jade/directives/transactionerror.jade:127 +msgid "You do not have enough funds to create this order [tecUNFUNDED_ORDER]." +msgstr "U heeft onvoldoende saldo om deze order aan te maken [tecUNFUNDED_ORDER]." + +#: src/jade/directives/transactionerror.jade:129 +msgid "" +"Insufficient reserve amount to submit an order [tecINSUF_RESERVE_OFFER]." +msgstr "Onvoldoende hoeveelheid reserve om een order aan te maken [tecINSUF_RESERVE_OFFER]." + +#: src/jade/directives/transactionerror.jade:131 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]. {{1}}" +msgstr "Deze transactie is mislukt omdat de huidige netwerkheffing hoger is dan de limiet voor uw account. U kunt de maximum netwerkheffing aanpassen in Instellingen > Geavanceerd, of het later nog eens proberen.
Foutcode: Netwerkheffing overschreden [tejMaxFeeExceeded]. {{1}}" + +#: src/jade/directives/transactionerror.jade:134 +msgid "More information." +msgstr "Meer informatie." + +#: src/jade/directives/transactionerror.jade:138 +msgid "Trade failed." +msgstr "Handel mislukt." + +#: src/jade/directives/transactionerror.jade:140 +msgid "Trade failed, reason: {{engine_result_message}}" +msgstr "Handel mislukt, reden: {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:144 +msgid "" +"The particular server you sent the transaction to was too busy to forward or" +" process your transaction at the fee you included in it [telINSUF_FEE_P]." +msgstr "De server waar u de transactie naar verzond was te druk om deze door te sturen of te verwerken tegen de meegegeven heffing [telINSUF_FEE_P]." + +#: src/jade/directives/transactionerror.jade:152 +msgid "Request pending" +msgstr "Aanvraag in behandeling" + +#: src/jade/directives/transactionerror.jade:154 +msgid "Request successful" +msgstr "Aanvraag succesvol" + #: src/jade/messages/sendconvert/confirmation.jade:4 msgid "Transaction pending." msgstr "Transactie in behandeling." @@ -282,8 +523,11 @@ msgstr "Transactie geslaagd" msgid "Transaction failed" msgstr "Transactie mislukt" -#: src/jade/messages/sendconvert/confirmation.jade:9 -#: src/jade/tabs/trust.jade:58 src/jade/tabs/trust.jade:70 +#: src/jade/messages/sendconvert/confirmation.jade:9 src/jade/tabs/brl.jade:25 +#: src/jade/tabs/btc.jade:22 src/jade/tabs/eur.jade:25 +#: src/jade/tabs/gold.jade:25 src/jade/tabs/jpy.jade:25 +#: src/jade/tabs/mxn.jade:25 src/jade/tabs/trust.jade:43 +#: src/jade/tabs/usd.jade:25 msgid "Please try again later." msgstr "Probeert u het later nog eens." @@ -317,13 +561,14 @@ msgstr "Foutcode: De transactie is mislukt omdat de maximale netwerkheffing is o msgid "" "Error code: The transaction was rejected by the Ripple network " "[invalidTransaction]." -msgstr "Foutcode: De transactie is afgekeurd door het Ripple netwerk [invalidTransaction]." +msgstr "Foutcode: De transactie is afgekeurd door het Ripple-netwerk [invalidTransaction]." #: src/jade/messages/sendconvert/localerror.jade:17 msgid "Account unlock failed" msgstr "Accountontgrendeling is mislukt" #: src/jade/messages/sendconvert/localerror.jade:18 +#: src/jade/tabs/trust.jade:40 msgid "Your account could not be unlocked. Please try again later." msgstr "Uw account kon niet worden ontgrendeld. Probeert u het later nog eens." @@ -331,17 +576,17 @@ msgstr "Uw account kon niet worden ontgrendeld. Probeert u het later nog eens." msgid "" "Sorry, an error occurred while submitting your transaction.Make sure you are" " connected to the Internet and try again later." -msgstr "Onze excuses, er was een fout tijdens het verzenden van uw transactie. Kijk na of u verbonden bent met het internet en probeer het later opnieuw." +msgstr "Onze excuses, er was een fout tijdens het verzenden van uw transactie. Controleer of u met het internet bent verbonden en probeer het later nog eens." #: src/jade/messages/sendconvert/localerror.jade:22 msgid "" "Before trying again, please ensure that the transaction has not been " "executed already." -msgstr "Kijk alstublieft na of de transactie al voltooid is voordat u het opnieuw probeert." +msgstr "Controleer alstublieft of de transactie niet al is uitgevoerd voor u het nogmaals probeert." -#: src/jade/messages/sendconvert/waiting.jade:3 +#: src/jade/messages/sendconvert/waiting.jade:5 msgid "Sending transaction to the Ripple network" -msgstr "De transactie wordt naar het Ripple netwerk verzonden" +msgstr "De transactie wordt naar het Ripple-netwerk verzonden" #: src/jade/notification/account.jade:3 msgid "You sent {{1}} {{2}} to {{3}}" @@ -353,15 +598,51 @@ msgstr "{{tx.counterparty | rpcontactname}} stuurde u" #: src/jade/notification/account.jade:18 msgid "{{tx.counterparty | rpcontactname}} now trusts you for" -msgstr "{{tx.counterparty | rpcontactname}} heeft u toevertrouwd voor" +msgstr " {{tx.counterparty | rpcontactname}} vertrouwt u een bedrag toe van" + +#: src/jade/popup/modifyOrderError.jade:2 +msgid "Modify Order Error" +msgstr "Fout Bij Orderaanpassing" + +#: src/jade/popup/modifyOrderError.jade:4 +msgid "Sorry, your order could not be modified." +msgstr "Sorry, uw order kon niet worden aangepast." + +#: src/jade/popup/modifyOrderError.jade:5 +msgid "" +"Your original order was cancelled but the modified order was not placed. " +"
" +msgstr "Uw oorspronkelijke order is geannuleerd maar de aangepaste order is niet geplaatst.
" + +#: src/jade/popup/modifyOrderError.jade:6 +msgid "" +"The quantity of your order changed by {{order.qtyChangeAfterCancel | " +"rpamount}} before the order could be modified.

" +msgstr "De grootte van uw order verminderde met {{order.qtyChangeAfterCancel | rpamount}} voordat de order kon worden aangepast.

" + +#: src/jade/popup/modifyOrderError.jade:7 +msgid "" +"To safeguard against the possibility of overfills a new order has not been " +"placed.
" +msgstr "Voor de beveiliging tegen overmatige orderplaatsingen is een nieuwe order nog niet geplaatst.
" + +#: src/jade/popup/modifyOrderError.jade:8 +msgid "" +"Please check your balance and history before placing the new order manually." +"
" +msgstr "Controleer alstublieft uw saldo en geschiedenis voor u handmatig een nieuwe order plaatst.
" + +#: src/jade/popup/modifyOrderError.jade:10 src/jade/popup/unlock.jade:17 +msgid "Close" +msgstr "Sluiten" #: src/jade/popup/unlock.jade:2 msgid "Unlock account" -msgstr "Portefeuille vrijmaken" +msgstr "Account ontgrendelen" -#: src/jade/popup/unlock.jade:5 src/jade/tabs/desktop/register.jade:28 -#: src/jade/tabs/login/form.jade:7 src/jade/tabs/recover.jade:33 -#: src/jade/tabs/register.jade:42 src/jade/tabs/security.jade:10 +#: src/jade/popup/unlock.jade:5 src/jade/tabs/login/form.jade:8 +#: src/jade/tabs/recover.jade:38 src/jade/tabs/register.jade:58 +#: src/jade/tabs/security.jade:12 msgid "Password" msgstr "Wachtwoord" @@ -369,7 +650,7 @@ msgstr "Wachtwoord" msgid "Please enter your password to show your secret key." msgstr "Voer uw wachtwoord in om uw beveiligingssleutel te kunnen bekijken." -#: src/jade/popup/unlock.jade:9 src/jade/tabs/send.jade:195 +#: src/jade/popup/unlock.jade:9 src/jade/tabs/send.jade:205 msgid "Please enter your password to confirm this transaction." msgstr "Voer uw wachtwoord in om deze transactie te bevestigen." @@ -377,321 +658,374 @@ msgstr "Voer uw wachtwoord in om deze transactie te bevestigen." msgid "This password is incorrect, please try again." msgstr "Dit wachtwoord is incorrect, probeert u het opnieuw." -#: src/jade/popup/unlock.jade:11 +#: src/jade/popup/unlock.jade:13 msgid "Confirming password" msgstr "Wachtwoord wordt nagekeken" -#: src/jade/popup/unlock.jade:14 src/jade/tabs/account/public.jade:44 -#: src/jade/tabs/security.jade:133 +#: src/jade/popup/unlock.jade:16 src/jade/tabs/account/public.jade:44 +#: src/jade/tabs/security.jade:146 msgid "Submit" msgstr "Versturen" -#: src/jade/popup/unlock.jade:15 -msgid "Close" -msgstr "Sluiten" - #: src/jade/tabs/2fa/form.jade:3 msgid "Country Code" msgstr "Landnummer" -#: src/jade/tabs/2fa/form.jade:6 src/jade/tabs/kyc.jade:146 +#: src/jade/tabs/2fa/form.jade:6 src/jade/tabs/kyc.jade:162 msgid "Phone Number" msgstr "Telefoonnummer" +#: src/jade/tabs/_usd.jade:6 src/jade/tabs/apps.jade:5 +#: src/jade/tabs/balance.jade:5 src/jade/tabs/brl.jade:6 +#: src/jade/tabs/btc.jade:9 src/jade/tabs/eur.jade:6 +#: src/jade/tabs/exchange.jade:6 src/jade/tabs/fund.jade:6 +#: src/jade/tabs/gold.jade:6 src/jade/tabs/history.jade:6 +#: src/jade/tabs/jpy.jade:6 src/jade/tabs/kyc.jade:6 src/jade/tabs/mxn.jade:6 +#: src/jade/tabs/send.jade:6 src/jade/tabs/su.jade:5 +#: src/jade/tabs/trade.jade:7 src/jade/tabs/trust.jade:6 +#: src/jade/tabs/usd.jade:6 src/jade/tabs/withdraw.jade:6 +#: src/jade/tabs/xrp.jade:6 +msgid "You have to be online to see this screen" +msgstr "U moet online zijn om dit scherm te kunnen zien" + +#: src/jade/tabs/_usd.jade:17 +msgid "USD instant deposit" +msgstr "USD directe storting" + +#: src/jade/tabs/_usd.jade:19 src/jade/tabs/_usd.jade:21 +msgid "Step 1 (Amount)" +msgstr "Stap 1 (Bedrag)" + +#: src/jade/tabs/_usd.jade:22 +msgid "Step 2 (Confirmation)" +msgstr "Stap 2 (Bevestiging)" + +#: src/jade/tabs/_usd.jade:23 +msgid "Step 3 (Complete deposit)" +msgstr "Stap 3 (Storting voltooien)" + +#: src/jade/tabs/_usd.jade:26 +msgid "STEP 1: AMOUNT" +msgstr "STAP 1: BEDRAG" + +#: src/jade/tabs/_usd.jade:28 +msgid "STEP 2: CONFIRMATION" +msgstr "STAP 2: BEVESTIGING" + +#: src/jade/tabs/_usd.jade:30 +msgid "STEP 3: COMPLETE DEPOSIT" +msgstr "STAP 3: STORTING VOLTOOIEN" + +#: src/jade/tabs/_usd.jade:34 +msgid "" +"Success! You've completed your USD deposit. Your funds should be available " +"within a few minutes." +msgstr "Geslaagd! Uw USD-storting is voltooid. Uw storting zal binnen enkele minuten beschikbaar zijn. " + +#: src/jade/tabs/_usd.jade:36 +msgid "You cancelled your deposit." +msgstr "U heeft uw storting geannuleerd." + +#: src/jade/tabs/_usd.jade:38 +msgid "" +"Your deposit failed. Your bank account was not charged. Please contact " +"{{1}}." +msgstr "Uw storting is mislukt. Uw bankrekening is niet in rekening gebracht. Gelieve contact op te nemen met {{1}}." + +#: src/jade/tabs/_usd.jade:49 src/jade/tabs/_usd.jade:91 +#: src/jade/tabs/fund.jade:41 src/jade/tabs/history.jade:172 +#: src/jade/tabs/trust.jade:89 +msgid "Amount" +msgstr "Hoeveelheid" + +#: src/jade/tabs/_usd.jade:59 src/jade/tabs/_usd.jade:62 +msgid "Select your bank" +msgstr "Selecteer uw bank" + +#: src/jade/tabs/_usd.jade:77 +msgid "" +"Ripple Trade has partnered with SnapSwap to make USD deposits easier. By " +"continuing, you agree to SnapSwap's {{1}}To contact support, email {{2}}." +msgstr "Ripple Trade werkt samen met SnapSwap om USD-stortingen eenvoudiger te maken. Bij doorklikken gaat u akkoord met de {{1}}van Snapswap. Voor ondersteuning kunt u e-mailen naar: {{2}}." + +#: src/jade/tabs/_usd.jade:93 src/jade/tabs/history.jade:178 +msgid "Fee" +msgstr "Heffing" + +#: src/jade/tabs/_usd.jade:95 +msgid "Total" +msgstr "Totaal" + +#: src/jade/tabs/_usd.jade:98 +msgid "Calculating..." +msgstr "Bezig met berekenen..." + +#: src/jade/tabs/_usd.jade:109 src/jade/tabs/register.jade:126 +#: src/jade/tabs/register.jade:133 +msgid "Back" +msgstr "Terug" + +#: src/jade/tabs/_usd.jade:111 src/jade/tabs/btc.jade:73 +#: src/jade/tabs/exchange.jade:111 src/jade/tabs/send.jade:213 +#: src/jade/tabs/trade.jade:67 src/jade/tabs/trade.jade:77 +#: src/jade/tabs/trade.jade:248 src/jade/tabs/trade.jade:407 +#: src/jade/tabs/trust.jade:140 +msgid "Confirm" +msgstr "Bevestigen" + #: src/jade/tabs/account/navbar.jade:2 msgid "Public Information" msgstr "Publieke Informatie" -#: src/jade/tabs/account/private.jade:2 +#: src/jade/tabs/account/private.jade:1 msgid "Profile Information" msgstr "Profielinformatie" -#: src/jade/tabs/account/private.jade:5 +#: src/jade/tabs/account/private.jade:3 msgid "Identity Information" msgstr "Identiteitsinformatie" -#: src/jade/tabs/account/private.jade:8 src/jade/tabs/account/private.jade:19 +#: src/jade/tabs/account/private.jade:8 src/jade/tabs/account/private.jade:17 msgid "Completed" -msgstr "Afgerond" +msgstr "Voltooid" -#: src/jade/tabs/account/private.jade:11 src/jade/tabs/account/private.jade:22 +#: src/jade/tabs/account/private.jade:9 src/jade/tabs/account/private.jade:18 msgid "Incomplete" msgstr "Incompleet" -#: src/jade/tabs/account/private.jade:13 src/jade/tabs/account/private.jade:24 +#: src/jade/tabs/account/private.jade:10 src/jade/tabs/account/private.jade:19 msgid "Complete your profile" msgstr "Voltooi uw profiel" -#: src/jade/tabs/account/private.jade:16 +#: src/jade/tabs/account/private.jade:12 msgid "Identity Questions" msgstr "Vragen over uw Identiteit" #: src/jade/tabs/account/public.jade:1 msgid "Changing your Ripple name..." -msgstr "Uw Ripple naam aan het veranderen..." +msgstr "Uw Ripple-naam wordt veranderd..." #: src/jade/tabs/account/public.jade:2 msgid "Your Ripple name has been changed successfully." -msgstr "Uw Ripple naam is succesvol gewijzigd." +msgstr "Uw Ripple-naam is succesvol gewijzigd." #: src/jade/tabs/account/public.jade:3 msgid "Account settings" msgstr "Accountinstellingen" -#: src/jade/tabs/account/public.jade:5 src/jade/tabs/login/form.jade:2 +#: src/jade/tabs/account/public.jade:5 src/jade/tabs/fund/menu.jade:2 +#: src/jade/tabs/login/form.jade:3 msgid "Ripple name" -msgstr "Ripple naam" - -#: src/jade/tabs/account/public.jade:9 src/jade/tabs/advanced.jade:17 -#: src/jade/tabs/advanced.jade:34 src/jade/tabs/advanced.jade:53 -#: src/jade/tabs/advanced.jade:106 src/jade/tabs/contacts.jade:69 -#: src/jade/tabs/security.jade:107 src/jade/tabs/security.jade:165 -#: src/jade/tabs/trust.jade:219 src/jade/tabs/trust.jade:248 +msgstr "Ripple-naam" + +#: src/jade/tabs/account/public.jade:9 src/jade/tabs/advanced.jade:27 +#: src/jade/tabs/advanced.jade:44 src/jade/tabs/advanced.jade:63 +#: src/jade/tabs/advanced.jade:86 src/jade/tabs/advanced.jade:134 +#: src/jade/tabs/contacts.jade:61 src/jade/tabs/security.jade:120 +#: src/jade/tabs/security.jade:180 src/jade/tabs/trust.jade:191 +#: src/jade/tabs/trust.jade:193 msgid "edit" msgstr "bewerken" #: src/jade/tabs/account/public.jade:12 msgid "New Ripple name" -msgstr "Nieuwe Ripple naam" +msgstr "Nieuwe Ripple-naam" -#: src/jade/tabs/account/public.jade:17 src/jade/tabs/balance.jade:60 +#: src/jade/tabs/account/public.jade:17 src/jade/tabs/register.jade:35 +#: src/jade/tabs/widgets/balances.jade:24 msgid "Available" msgstr "Verkrijgbaar" -#: src/jade/tabs/account/public.jade:20 src/jade/tabs/register.jade:30 +#: src/jade/tabs/account/public.jade:20 src/jade/tabs/register.jade:39 msgid "Already taken!" msgstr "Al in gebruik!" -#: src/jade/tabs/account/public.jade:21 src/jade/tabs/register.jade:31 +#: src/jade/tabs/account/public.jade:21 msgid "Reserved for {{usernameReservedFor}}{{1}}{{2}}" msgstr "Gereserveerd voor {{usernameReservedFor}}{{1}}{{2}}" -#: src/jade/tabs/account/public.jade:24 src/jade/tabs/register.jade:34 +#: src/jade/tabs/account/public.jade:24 src/jade/tabs/register.jade:45 msgid "Must be at least 2 characters" msgstr "Moet minstens 2 karakters bevatten" -#: src/jade/tabs/account/public.jade:25 src/jade/tabs/register.jade:35 +#: src/jade/tabs/account/public.jade:25 src/jade/tabs/register.jade:47 msgid "Must be at most 20 characters" -msgstr "Moet maximaal 20 karakters bevatten" +msgstr "Mag maximaal 20 karakters bevatten" #: src/jade/tabs/account/public.jade:26 msgid "Only a-z, 0-9 and hyphen (-)" msgstr "Enkel a-z, 0-9 en verbindingsstreepjes (-)" -#: src/jade/tabs/account/public.jade:27 src/jade/tabs/register.jade:37 +#: src/jade/tabs/account/public.jade:27 src/jade/tabs/register.jade:51 msgid "Cannot start with hyphen (-)" msgstr "Kan niet beginnen met een verbindingsstreepje (-)" -#: src/jade/tabs/account/public.jade:28 src/jade/tabs/register.jade:38 +#: src/jade/tabs/account/public.jade:28 src/jade/tabs/register.jade:53 msgid "Cannot end with hyphen (-)" msgstr "Kan niet eindigen met een verbindingsstreepje (-)" #: src/jade/tabs/account/public.jade:29 msgid "Cannot bundle hyphens (--)" -msgstr "Kan niet twee verbindingsstreepjes achter elkaar bevatten (--)" +msgstr "Kan geen twee verbindingsstreepjes achter elkaar bevatten (--)" -#: src/jade/tabs/account/public.jade:30 src/jade/tabs/register.jade:40 +#: src/jade/tabs/account/public.jade:30 src/jade/tabs/register.jade:56 msgid "Checking..." -msgstr "Nakijken..." +msgstr "Bezig met controleren..." -#: src/jade/tabs/account/public.jade:32 src/jade/tabs/security.jade:113 +#: src/jade/tabs/account/public.jade:32 src/jade/tabs/security.jade:126 msgid "Current password" -msgstr "Huidig wachtwoord" +msgstr "Huidige wachtwoord" -#: src/jade/tabs/account/public.jade:35 src/jade/tabs/security.jade:15 -#: src/jade/tabs/security.jade:20 +#: src/jade/tabs/account/public.jade:35 src/jade/tabs/security.jade:18 +#: src/jade/tabs/security.jade:23 msgid "Entered password is wrong." -msgstr "Het opgegeven wachtwoord is verkeerd" +msgstr "Het opgegeven wachtwoord is incorrect." #: src/jade/tabs/account/public.jade:37 msgid "Your Ripple name has been changed. Please login again." -msgstr "Uw Ripple Naam is met succes gewijzigd. Gelieve terug in te loggen" +msgstr "Uw Ripple-naam is succesvol gewijzigd. Gelieve nogmaals in te loggen." #: src/jade/tabs/account/public.jade:39 msgid "Couldn't change your Ripple name, please try again later." -msgstr "Uw Ripple naam kon niet worden gewijzigd, probeer het later opnieuw." - -#: src/jade/tabs/account/public.jade:47 src/jade/tabs/advanced.jade:26 -#: src/jade/tabs/advanced.jade:43 src/jade/tabs/advanced.jade:67 -#: src/jade/tabs/advanced.jade:96 src/jade/tabs/btc.jade:62 -#: src/jade/tabs/contacts.jade:58 src/jade/tabs/contacts.jade:101 -#: src/jade/tabs/exchange.jade:94 src/jade/tabs/exchange.jade:107 -#: src/jade/tabs/kyc.jade:106 src/jade/tabs/kyc.jade:118 -#: src/jade/tabs/kyc.jade:140 src/jade/tabs/kyc.jade:141 -#: src/jade/tabs/kyc.jade:167 src/jade/tabs/login/form.jade:25 -#: src/jade/tabs/security.jade:71 src/jade/tabs/security.jade:101 -#: src/jade/tabs/security.jade:136 src/jade/tabs/send.jade:205 -#: src/jade/tabs/send.jade:217 src/jade/tabs/send.jade:238 -#: src/jade/tabs/send.jade:268 src/jade/tabs/trade.jade:32 -#: src/jade/tabs/trade.jade:43 src/jade/tabs/trust.jade:177 -#: src/jade/tabs/trust.jade:179 src/jade/tabs/trust.jade:263 -#: src/jade/tabs/trust.jade:296 +msgstr "Uw Ripple-naam kon niet worden gewijzigd, probeert u het later nog eens." + +#: src/jade/tabs/account/public.jade:47 src/jade/tabs/advanced.jade:36 +#: src/jade/tabs/advanced.jade:53 src/jade/tabs/advanced.jade:77 +#: src/jade/tabs/advanced.jade:94 src/jade/tabs/advanced.jade:124 +#: src/jade/tabs/btc.jade:74 src/jade/tabs/contacts.jade:50 +#: src/jade/tabs/contacts.jade:93 src/jade/tabs/exchange.jade:113 +#: src/jade/tabs/exchange.jade:126 src/jade/tabs/kyc.jade:116 +#: src/jade/tabs/kyc.jade:131 src/jade/tabs/kyc.jade:156 +#: src/jade/tabs/kyc.jade:157 src/jade/tabs/kyc.jade:186 +#: src/jade/tabs/login/form.jade:26 src/jade/tabs/security.jade:79 +#: src/jade/tabs/security.jade:112 src/jade/tabs/security.jade:149 +#: src/jade/tabs/send.jade:215 src/jade/tabs/send.jade:227 +#: src/jade/tabs/send.jade:252 src/jade/tabs/send.jade:286 +#: src/jade/tabs/trade.jade:55 src/jade/tabs/trust.jade:141 +#: src/jade/tabs/trust.jade:143 src/jade/tabs/trust.jade:213 +#: src/jade/tabs/trust.jade:251 msgid "cancel" msgstr "annuleren" -#: src/jade/tabs/account/public.jade:49 src/jade/tabs/contacts.jade:7 -#: src/jade/tabs/contacts.jade:34 src/jade/tabs/desktop/register.jade:88 +#: src/jade/tabs/account/public.jade:49 msgid "Ripple address" -msgstr "Ripple adres" +msgstr "Ripple-adres" + +#: src/jade/tabs/advanced.jade:8 +msgid "Your blob vault has been changed successfully." +msgstr "Uw blob vault is succesvol gewijzigd." + +#: src/jade/tabs/advanced.jade:9 +msgid "Your bitcoin bridge has been changed successfully." +msgstr "Uw bitcoin-brug is succesvol gewijzigd." + +#: src/jade/tabs/advanced.jade:10 +msgid "Trustline advanced settings has been changed successfully." +msgstr "De geavanceerde instellingen voor kredietlijnen zijn succesvol gewijzigd." #: src/jade/tabs/advanced.jade:11 +msgid "Maximum network fee has been changed successfully." +msgstr "Maximale netwerkheffing is succesvol gewijzigd." + +#: src/jade/tabs/advanced.jade:12 +msgid "A new server has been successfully added." +msgstr "Nieuwe server is succesvol toegevoegd." + +#: src/jade/tabs/advanced.jade:13 +msgid "A server has been successfully removed." +msgstr "Server is succesvol verwijderd." + +#: src/jade/tabs/advanced.jade:14 +msgid "A server has been changed successfully." +msgstr "Server is succesvol gewijzigd." + +#: src/jade/tabs/advanced.jade:21 msgid "Blob vault" msgstr "Blob vault" -#: src/jade/tabs/advanced.jade:22 src/jade/tabs/advanced.jade:39 -#: src/jade/tabs/advanced.jade:63 src/jade/tabs/advanced.jade:92 -#: src/jade/tabs/contacts.jade:96 src/jade/tabs/fund.jade:79 -#: src/jade/tabs/security.jade:175 src/jade/tabs/send.jade:237 -#: src/jade/tabs/send.jade:266 src/jade/tabs/trust.jade:156 -#: src/jade/tabs/trust.jade:282 +#: src/jade/tabs/advanced.jade:32 src/jade/tabs/advanced.jade:49 +#: src/jade/tabs/advanced.jade:73 src/jade/tabs/advanced.jade:92 +#: src/jade/tabs/advanced.jade:120 src/jade/tabs/contacts.jade:88 +#: src/jade/tabs/fund.jade:65 src/jade/tabs/security.jade:190 +#: src/jade/tabs/send.jade:251 src/jade/tabs/send.jade:284 +#: src/jade/tabs/trust.jade:119 src/jade/tabs/trust.jade:232 msgid "Save" msgstr "Opslaan" -#: src/jade/tabs/advanced.jade:24 src/jade/tabs/advanced.jade:41 -#: src/jade/tabs/advanced.jade:65 src/jade/tabs/advanced.jade:94 -#: src/jade/tabs/contacts.jade:99 +#: src/jade/tabs/advanced.jade:34 src/jade/tabs/advanced.jade:51 +#: src/jade/tabs/advanced.jade:75 src/jade/tabs/advanced.jade:122 +#: src/jade/tabs/contacts.jade:91 src/jade/tabs/security.jade:198 msgid "Delete" msgstr "Verwijderen" -#: src/jade/tabs/advanced.jade:28 +#: src/jade/tabs/advanced.jade:38 msgid "Bitcoin bridge" msgstr "Bitcoin brug" -#: src/jade/tabs/advanced.jade:45 +#: src/jade/tabs/advanced.jade:55 msgid "Trust line" msgstr "Kredietlijn" -#: src/jade/tabs/advanced.jade:50 src/jade/tabs/advanced.jade:61 -#: src/jade/tabs/desktop/register.jade:85 src/jade/tabs/security.jade:148 +#: src/jade/tabs/advanced.jade:60 src/jade/tabs/advanced.jade:71 +#: src/jade/tabs/security.jade:162 msgid "Show" msgstr "Toon" -#: src/jade/tabs/advanced.jade:51 src/jade/tabs/desktop/register.jade:86 -#: src/jade/tabs/security.jade:149 +#: src/jade/tabs/advanced.jade:61 src/jade/tabs/security.jade:163 msgid "Hide" msgstr "Verberg" -#: src/jade/tabs/advanced.jade:68 +#: src/jade/tabs/advanced.jade:78 +msgid "Network settings" +msgstr "Netwerkinstellingen" + +#: src/jade/tabs/advanced.jade:80 +msgid "Maximum network fee" +msgstr "Maximale netwerkheffing" + +#: src/jade/tabs/advanced.jade:96 msgid "Server settings" msgstr "Serverinstellingen" -#: src/jade/tabs/advanced.jade:73 +#: src/jade/tabs/advanced.jade:101 msgid "WebSocket host name" msgstr "WebSocket host naam" -#: src/jade/tabs/advanced.jade:75 +#: src/jade/tabs/advanced.jade:103 msgid "Port number" msgstr "Poortnummer" -#: src/jade/tabs/advanced.jade:81 +#: src/jade/tabs/advanced.jade:109 msgid "Socket ip or hostname is invalid." msgstr "Ongeldige ip socket of hostname." -#: src/jade/tabs/advanced.jade:83 +#: src/jade/tabs/advanced.jade:111 msgid "Port number is invalid." -msgstr "Ongeldige poort." +msgstr "Poortnummer is ongeldig." -#: src/jade/tabs/advanced.jade:90 src/jade/tabs/advanced.jade:103 +#: src/jade/tabs/advanced.jade:118 src/jade/tabs/advanced.jade:131 msgid "Secure" msgstr "Veilig" -#: src/jade/tabs/advanced.jade:104 +#: src/jade/tabs/advanced.jade:132 msgid "Not Secure" msgstr "Onveilig" -#: src/jade/tabs/advanced.jade:110 +#: src/jade/tabs/advanced.jade:138 msgid "Add new server" msgstr "Voeg nieuwe server toe" -#: src/jade/tabs/apps.jade:5 src/jade/tabs/balance.jade:5 -#: src/jade/tabs/btc.jade:6 src/jade/tabs/exchange.jade:6 -#: src/jade/tabs/fund.jade:6 src/jade/tabs/history.jade:6 -#: src/jade/tabs/kyc.jade:6 src/jade/tabs/send.jade:6 src/jade/tabs/su.jade:5 -#: src/jade/tabs/trade.jade:7 src/jade/tabs/trust.jade:6 -#: src/jade/tabs/usd.jade:6 src/jade/tabs/withdraw.jade:6 -#: src/jade/tabs/xrp.jade:6 -msgid "You have to be online to see this screen" -msgstr "U moet online zijn om dit scherm te kunnen zien" +#: src/jade/tabs/apps.jade:27 +msgid "App Ripple Address" +msgstr "Ripple-adres van App" #: src/jade/tabs/apps.jade:29 msgid "Please enter a ripple address." -msgstr "Voer een ripple adres in." +msgstr "Voer een Ripple-adres in." #: src/jade/tabs/apps.jade:31 msgid "Please enter a valid ripple address." -msgstr "Voer een geldig ripple adres in." - -#: src/jade/tabs/balance.jade:21 -msgid "Total Balance{{1}}" -msgstr "Totaal Saldo{{1}}" - -#: src/jade/tabs/balance.jade:22 -msgid "Estimated from latest trade price" -msgstr "Geschat op basis van de laatst verhandelde koers" - -#: src/jade/tabs/balance.jade:29 -msgid "(excluding negative balances)" -msgstr "(exclusief negatieve saldo's)" - -#: src/jade/tabs/balance.jade:67 -msgid "Reserve" -msgstr "Reserve" - -#: src/jade/tabs/balance.jade:85 -msgid "Unverified" -msgstr "Niet geverifieerd" - -#: src/jade/tabs/balance.jade:92 -msgid "Enter bitcoin address." -msgstr "Voer bitcoin adres in." - -#: src/jade/tabs/balance.jade:95 -msgid "Enter amount to withdraw." -msgstr "Voer op te nemen hoeveelheid in." - -#: src/jade/tabs/balance.jade:100 src/jade/tabs/balance.jade:102 -msgid "Enter a valid bitcoin address" -msgstr "Voer een geldig bitcoin adres in" - -#: src/jade/tabs/balance.jade:106 -msgid "Enter a valid amount" -msgstr "Voer een geldige hoeveelheid in" - -#: src/jade/tabs/balance.jade:113 -msgid "You are sending {{1}} BTC to:" -msgstr "U verstuurt {{1}} BTC naar:" - -#: src/jade/tabs/balance.jade:119 src/jade/tabs/balance.jade:134 -#: src/jade/tabs/register.jade:105 src/jade/tabs/register.jade:111 -msgid "Back" -msgstr "Terug" - -#: src/jade/tabs/balance.jade:122 src/jade/tabs/btc.jade:61 -#: src/jade/tabs/exchange.jade:92 src/jade/tabs/send.jade:203 -#: src/jade/tabs/trade.jade:57 src/jade/tabs/trade.jade:67 -#: src/jade/tabs/trade.jade:241 src/jade/tabs/trust.jade:176 -msgid "Confirm" -msgstr "Bevestigen" - -#: src/jade/tabs/balance.jade:127 -msgid "Reconnecting to Ripple network" -msgstr "Opnieuw aan het verbinden met het Ripple netwerk" - -#: src/jade/tabs/balance.jade:128 -msgid "Transaction Successful" -msgstr "Transactie Geslaagd" - -#: src/jade/tabs/balance.jade:129 -msgid "Warning" -msgstr "Waarschuwing" - -#: src/jade/tabs/balance.jade:130 -msgid "Transaction Failed" -msgstr "Transactie Mislukt" - -#: src/jade/tabs/balance.jade:131 -msgid "Message" -msgstr "Bericht" +msgstr "Voer een geldig Ripple-adres in." #: src/jade/tabs/banner/announcement.jade:2 msgid "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" @@ -699,376 +1033,529 @@ msgstr "Help ons team Ripple Trade te verbeteren! {{1:Neem deel aan een kort #: src/jade/tabs/banner/unfunded.jade:2 msgid "" -"Welcome to Ripple Trade! To activate your account, you'll need at least 20 " -"XRP." -msgstr "Welkom bij Ripple Trade! Om uw account te activeren heeft u ten minste 20 XRP nodig." +"Welcome to Ripple Trade! Your account needs to be activated. You can " +"activate it in 2 ways:" +msgstr "Welkom bij Ripple Trade! Uw account dient te worden geactiveerd. Dit kan op 2 manieren:" #: src/jade/tabs/banner/unfunded.jade:4 msgid "" "Have another user send XRP to your Ripple name " -"(~{{userCredentials.username}})" -msgstr "Laat een andere gebruiker XRP sturen naar uw Ripple naam (~{{userCredentials.username}})" +"(~{{userCredentials.username}}). {{1}}" +msgstr "Laat een andere gebruiker XRP sturen naar uw Ripple-naam (~{{userCredentials.username}}). {{1}}" -#: src/jade/tabs/banner/unfunded.jade:5 -msgid "" -"Use the {{1}}. A small amount of your first deposit will be used to " -"activate your account." -msgstr "Gebruik de {{1}}. Een klein bedrag van uw eerste storting zal worden gebruikt om uw account te activeren." +#: src/jade/tabs/brl.jade:24 src/jade/tabs/eur.jade:24 +#: src/jade/tabs/gold.jade:24 src/jade/tabs/jpy.jade:24 +#: src/jade/tabs/mxn.jade:24 src/jade/tabs/trust.jade:42 +#: src/jade/tabs/usd.jade:24 +msgid "There was an error while saving your changes." +msgstr "Een fout is opgetreden bij het opslaan van de wijzigingen." -#: src/jade/tabs/btc.jade:18 -msgid "Bitcoin Deposit" -msgstr "Bitcoin storting" +#: src/jade/tabs/brl.jade:28 src/jade/tabs/eur.jade:27 +#: src/jade/tabs/gold.jade:27 src/jade/tabs/jpy.jade:28 +#: src/jade/tabs/mxn.jade:28 src/jade/tabs/trust.jade:45 +#: src/jade/tabs/usd.jade:27 +msgid "You must have at least {{1}} to add a new trust line. {{2}}" +msgstr "U dient ten minste {{1}} hebben om een nieuwe kredietlijn toe te voegen. {{2}}" -#: src/jade/tabs/btc.jade:26 -msgid "" -"A small amount (~.001 BTC) of your first transfer will be converted to XRP " -"to activate your wallet. {{1:Why?}}" -msgstr "Een kleine hoeveelheid (~ 0,001 BTC) van uw eerste overdracht zal worden omgezet naar XRP om uw portefeuille te activeren. {{1: Waarom?}}" +#: src/jade/tabs/brl.jade:38 +msgid "Brazilian Real Deposit" +msgstr "Braziliaanse Real-storting" -#: src/jade/tabs/btc.jade:30 -msgid "Your current deposit limit is:" -msgstr "Uw huidige stortingslimiet is:" +#: src/jade/tabs/brl.jade:41 src/jade/tabs/btc.jade:35 +#: src/jade/tabs/eur.jade:38 src/jade/tabs/gold.jade:40 +#: src/jade/tabs/jpy.jade:41 src/jade/tabs/mxn.jade:41 +#: src/jade/tabs/trust.jade:167 src/jade/tabs/usd.jade:38 +msgid "Gateway" +msgstr "Gateway" -#: src/jade/tabs/btc.jade:32 -msgid "Remove Limit" -msgstr "Verwijder Limiet" +#: src/jade/tabs/brl.jade:42 src/jade/tabs/eur.jade:48 +#: src/jade/tabs/mxn.jade:81 src/jade/tabs/mxn.jade:93 +#: src/jade/tabs/mxn.jade:103 src/jade/tabs/security.jade:49 +msgid "{{1}}{{2}}" +msgstr "{{1}}{{2}}" + +#: src/jade/tabs/brl.jade:43 +msgid "Ripple (~rippex)" +msgstr "Ripple (~rippex)" + +#: src/jade/tabs/brl.jade:46 src/jade/tabs/btc.jade:39 +#: src/jade/tabs/eur.jade:44 src/jade/tabs/gold.jade:44 +#: src/jade/tabs/jpy.jade:45 src/jade/tabs/mxn.jade:46 +#: src/jade/tabs/usd.jade:44 +msgid "Availability" +msgstr "Beschikbaarheid" + +#: src/jade/tabs/brl.jade:47 +msgid "Brazil" +msgstr "Brazilië" + +#: src/jade/tabs/brl.jade:49 src/jade/tabs/btc.jade:42 +#: src/jade/tabs/eur.jade:47 src/jade/tabs/gold.jade:47 +#: src/jade/tabs/jpy.jade:48 src/jade/tabs/mxn.jade:49 +#: src/jade/tabs/usd.jade:47 +msgid "Fees" +msgstr "Heffingen" + +#: src/jade/tabs/brl.jade:50 src/jade/tabs/jpy.jade:49 +#: src/jade/tabs/kyc.jade:111 src/jade/tabs/kyc.jade:126 +#: src/jade/tabs/kyc.jade:151 +msgid "{{1}}{{2}}{{3}}" +msgstr "{{1}}{{2}}{{3}}" + +#: src/jade/tabs/brl.jade:51 +msgid "Deposit: 1.50 BRL + 0.5%" +msgstr "Storting: 1.50 BRL + 0.5%" + +#: src/jade/tabs/brl.jade:52 +msgid "Transfer: 0%" +msgstr "Versturingen: 0%" + +#: src/jade/tabs/brl.jade:56 src/jade/tabs/btc.jade:45 +#: src/jade/tabs/eur.jade:53 src/jade/tabs/gold.jade:50 +#: src/jade/tabs/jpy.jade:54 src/jade/tabs/mxn.jade:52 +#: src/jade/tabs/usd.jade:50 +msgid "Rating" +msgstr "Beoordeling" + +#: src/jade/tabs/brl.jade:62 +msgid "" +"Ripple Trade has partnered with Rippex to provide easy access to BRL. By " +"continuing, you agree with Rippex's {{1}}Following this action will enable " +"Rippex to hold BRL on your behalf." +msgstr "Ripple Trade werkt samen met Rippex om toegaing tot BRL te vereenvoudigen. Bij doorklikken gaat u akkoord met de {{1}} van Rippex. Dit stelt Rippex in staat om BRL namens u te bewaren." + +#: src/jade/tabs/brl.jade:69 +msgid "Add Rippex" +msgstr "Rippex toevoegen" + +#: src/jade/tabs/brl.jade:70 +msgid "Adding..." +msgstr "Bezig met toevoegen..." + +#: src/jade/tabs/brl.jade:71 src/jade/tabs/eur.jade:65 +#: src/jade/tabs/jpy.jade:64 src/jade/tabs/usd.jade:62 +msgid "Hide instructions" +msgstr "Instructies verbergen" + +#: src/jade/tabs/brl.jade:72 src/jade/tabs/eur.jade:66 +#: src/jade/tabs/jpy.jade:65 src/jade/tabs/usd.jade:63 +msgid "Show instructions" +msgstr "Instructies tonen" + +#: src/jade/tabs/brl.jade:75 src/jade/tabs/btc.jade:83 +msgid "{{1}}Not connected" +msgstr "{{1}}Niet verbonden" + +#: src/jade/tabs/brl.jade:78 src/jade/tabs/btc.jade:86 +msgid "{{1}}Connected" +msgstr "{{1}}Verbonden" + +#: src/jade/tabs/brl.jade:81 src/jade/tabs/eur.jade:71 +#: src/jade/tabs/gold.jade:73 src/jade/tabs/jpy.jade:74 +#: src/jade/tabs/mxn.jade:76 src/jade/tabs/usd.jade:68 +msgid "Your account has to be activated before you can add a gateway account." +msgstr "Uw account dient te worden geactiveerd voor u een gateway-account kunt toevoegen." + +#: src/jade/tabs/brl.jade:84 src/jade/tabs/eur.jade:75 +#: src/jade/tabs/gold.jade:76 src/jade/tabs/jpy.jade:77 +#: src/jade/tabs/mxn.jade:79 src/jade/tabs/usd.jade:72 +msgid "×" +msgstr "×" + +#: src/jade/tabs/brl.jade:85 +msgid "NEW CUSTOMERS- SIGN UP AT RIPPEX" +msgstr "NIEUWE KLANTEN - AANMELDEN BIJ RIPPEX" + +#: src/jade/tabs/brl.jade:86 +msgid "" +"{{1}} at Rippex.net to initiate deposits and withdrawals. You will " +"need:{{2}}" +msgstr "{{1}} bij Rippex.net om stortingen en opnames uit te voeren. U heeft hiervoor nodig:{{2}}" + +#: src/jade/tabs/brl.jade:90 +msgid "A {{1}}" +msgstr "Een {{1}}" + +#: src/jade/tabs/brl.jade:92 +msgid "A bank account in Brazil." +msgstr "Een bankrekening in Brazilië" + +#: src/jade/tabs/brl.jade:96 +msgid "EXISTING RIPPEX CUSTOMERS" +msgstr "BESTAANDE RIPPEX-KLANTEN" + +#: src/jade/tabs/brl.jade:97 +msgid "If you have a Rippex account, {{1}}" +msgstr "Als u een Rippex-account heeft, {{1}}" + +#: src/jade/tabs/brl.jade:100 +msgid "DEPOSIT INSTRUCTIONS" +msgstr "INSTRUCTIES VOOR STORTEN" + +#: src/jade/tabs/brl.jade:101 +msgid "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" +msgstr "Rippex accepteert stortingen van alle Braziliaanse banken. Instructies {{1}}" + +#: src/jade/tabs/btc.jade:19 +msgid "Success! You can deposit BTC via your generated BTC receiving address." +msgstr "Geslaagd! U kunt BTC storten via uw gegenereerde BTC-ontvangstadres." + +#: src/jade/tabs/btc.jade:21 +msgid "There was an error with your request. {{1}}" +msgstr "Er is een fout opgetreden bij uw verzoek. {{1}}" + +#: src/jade/tabs/btc.jade:30 +msgid "Bitcoin Deposit" +msgstr "Bitcoin-storting" #: src/jade/tabs/btc.jade:36 -msgid "Waiting for response from SnapSwap service..." -msgstr "Wachtende op een reactie van de SnapSwap service..." +msgid "btc2ripple (~snapswap) {{1}}" +msgstr "btc2ripple (~snapswap) {{1}}" + +#: src/jade/tabs/btc.jade:40 src/jade/tabs/gold.jade:45 +#: src/jade/tabs/jpy.jade:46 +msgid "All countries" +msgstr "Alle landen" -#: src/jade/tabs/btc.jade:38 +#: src/jade/tabs/btc.jade:43 src/jade/tabs/mxn.jade:50 +msgid "0%" +msgstr "0%" + +#: src/jade/tabs/btc.jade:50 msgid "" -"To deposit, generate a bitcoin receiving address using the {{1}} service " -"powered by SnapSwap." -msgstr "Alvorens te storten, moet je een bitcoinadres aanmaken met behulp van {{1}} aangedreven door SnapSwap." +"Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By" +" proceeding, you agree to the btc2ripple {{1}} Following this action will " +"allow btc2ripple to hold BTC on your behalf." +msgstr "Ripple Trade werkt samen met btc2ripple om BTC-stortingen makkelijker te maken. Bij doorklikken gaat u akkoord met de {{1}} van btc2ripple. Dit stelt btc2ripple in staat om BTC namens u te bewaren." -#: src/jade/tabs/btc.jade:45 -msgid "Generate bitcoin address" -msgstr "Genereer bitcoin adres" +#: src/jade/tabs/btc.jade:56 +msgid "Add btc2ripple" +msgstr "btc2ripple toevoegen" -#: src/jade/tabs/btc.jade:49 src/jade/tabs/security.jade:56 -#: src/jade/tabs/trust.jade:160 +#: src/jade/tabs/btc.jade:60 src/jade/tabs/security.jade:64 +#: src/jade/tabs/trust.jade:123 msgid "Connect" msgstr "Verbinden" -#: src/jade/tabs/btc.jade:51 +#: src/jade/tabs/btc.jade:62 msgid "btc2ripple would like to:" msgstr "btc2ripple zou graag:" -#: src/jade/tabs/btc.jade:53 -msgid "- Receive your email address{{1}}" -msgstr "- Uw e-mail adres ontvangen{{1}}" +#: src/jade/tabs/btc.jade:64 +msgid "- Receive your email address {{1}}" +msgstr "- Ontvang uw e-mailadres {{1}}" -#: src/jade/tabs/btc.jade:54 +#: src/jade/tabs/btc.jade:65 msgid "({{userBlob.data.email}})" msgstr "({{userBlob.data.email}})" -#: src/jade/tabs/btc.jade:55 +#: src/jade/tabs/btc.jade:66 msgid "- Hold deposited BTC on your behalf" -msgstr "- Gestortte BTC voor u willen bewaren" +msgstr "- Gestorte BTC voor u willen bewaren" -#: src/jade/tabs/btc.jade:56 +#: src/jade/tabs/btc.jade:67 msgid "By proceeding, you agree to the btc2ripple {{1}}" msgstr "Door verder te gaan, accepteert u de btc2ripple {{1}}" -#: src/jade/tabs/btc.jade:63 +#: src/jade/tabs/btc.jade:75 msgid "" "SnapSwap's btc2ripple service is currently unavailable. Please check back " "later." msgstr "SnapSwap's btc2ripple dienst is op dit moment niet beschikbaar. Probeert u het later nog eens." -#: src/jade/tabs/contacts.jade:6 src/jade/tabs/contacts.jade:26 -msgid "Ripple name or address" -msgstr "Ripple naam of adres" +#: src/jade/tabs/btc.jade:94 +msgid "Personal Deposit address" +msgstr "Persoonlijke stortingsadres" -#: src/jade/tabs/contacts.jade:9 src/jade/tabs/contacts.jade:13 -#: src/jade/tabs/contacts.jade:56 -msgid "Add contact" -msgstr "Voeg contact toe" +#: src/jade/tabs/btc.jade:96 +msgid "Your account is fully verified." +msgstr "Uw account is volledig geverifieerd." + +#: src/jade/tabs/btc.jade:104 +msgid "Withdrawal instructions" +msgstr "Instructies voor opname" -#: src/jade/tabs/contacts.jade:18 +#: src/jade/tabs/btc.jade:105 +msgid "" +"To withdraw to a BTC address, go to the Send tab and enter the BTC address. " +"Using the btc2ripple service, you will be able tosend to that BTC address." +msgstr "Om op te nemen naar een BTC-adres gaat u naar het tabblad Versturen en voert u uw BTC-adres in. Het gebruik van btc2ripple stelt u in staat om te versturen naar het opgegeven BTC-adres." + +#: src/jade/tabs/btc.jade:110 +msgid "Waiting for response from SnapSwap service..." +msgstr "Wachten op een reactie van de SnapSwap service..." + +#: src/jade/tabs/btc.jade:112 +msgid "" +"To deposit, generate a bitcoin receiving address using the {{1}} service " +"powered by SnapSwap." +msgstr "Om te kunnen storten dient u een bitcoinadres te genereren door gebruik te maken van de {{1}} service ondersteund door SnapSwap." + +#: src/jade/tabs/contacts.jade:8 +msgid "A new contact has been successfully added." +msgstr "Nieuw contact is succesvol toegevoegd." + +#: src/jade/tabs/contacts.jade:9 +msgid "Your contact has been successfully updated." +msgstr "Uw contact is succesvol geüpdatet." + +#: src/jade/tabs/contacts.jade:10 +msgid "A contact has been successfully removed." +msgstr "Contact is succesvol verwijderd." + +#: src/jade/tabs/contacts.jade:12 src/jade/tabs/contacts.jade:24 msgid "Contact" msgstr "Contact" -#: src/jade/tabs/contacts.jade:21 +#: src/jade/tabs/contacts.jade:13 src/jade/tabs/contacts.jade:32 +msgid "Ripple name or address" +msgstr "Ripple-naam of -adres" + +#: src/jade/tabs/contacts.jade:15 src/jade/tabs/contacts.jade:19 +#: src/jade/tabs/contacts.jade:48 +msgid "Add contact" +msgstr "Voeg contact toe" + +#: src/jade/tabs/contacts.jade:27 src/jade/tabs/send.jade:245 +#: src/jade/tabs/send.jade:277 msgid "Please enter a contact." msgstr "Voer een contact in." -#: src/jade/tabs/contacts.jade:22 +#: src/jade/tabs/contacts.jade:28 msgid "This contact already exists." msgstr "Dit contact bestaat al." -#: src/jade/tabs/contacts.jade:30 +#: src/jade/tabs/contacts.jade:36 msgid "Please enter a Ripple name." -msgstr "Voer een Ripple naam in." +msgstr "Voer een Ripple-naam in." -#: src/jade/tabs/contacts.jade:31 src/jade/tabs/contacts.jade:47 +#: src/jade/tabs/contacts.jade:37 src/jade/tabs/contacts.jade:45 msgid "" "You already have a contact with the same Ripple name and/or the same " "Destination tag." -msgstr "U heeft al een contact met dezelfde Ripple naam en/of hetzelfde bestemmingskenmerk." - -#: src/jade/tabs/contacts.jade:32 -msgid "Not a valid Ripple name or address." -msgstr "Ripple naam of adres is ongeldig." +msgstr "U heeft al een contact met dezelfde Ripple-naam en/of hetzelfde bestemmingskenmerk." #: src/jade/tabs/contacts.jade:38 -msgid "Please enter a Ripple address." -msgstr "Voer een Ripple adres in." - -#: src/jade/tabs/contacts.jade:39 src/jade/tabs/contacts.jade:53 -msgid "" -"You already have a contact with the same Ripple address and/or the same " -"Destination tag." -msgstr "U heeft al een contact met hetzelfde Ripple adres en/of hetzelfde Bestemmingskenmerk." - -#: src/jade/tabs/contacts.jade:40 -msgid "Not a valid Ripple address." -msgstr "Ripple adres is ongeldig." +msgid "Not a valid Ripple name or address." +msgstr "Ripple-naam of -adres is ongeldig." -#: src/jade/tabs/contacts.jade:43 src/jade/tabs/contacts.jade:49 -#: src/jade/tabs/contacts.jade:89 src/jade/tabs/send.jade:49 -#: src/jade/tabs/tx.jade:54 +#: src/jade/tabs/contacts.jade:41 src/jade/tabs/contacts.jade:81 +#: src/jade/tabs/send.jade:42 src/jade/tabs/tx.jade:56 msgid "Destination tag" msgstr "Bestemmingskenmerk" -#: src/jade/tabs/contacts.jade:46 src/jade/tabs/contacts.jade:52 -#: src/jade/tabs/send.jade:53 +#: src/jade/tabs/contacts.jade:42 +msgid "Leave blank if not applicable" +msgstr "Leeglaten indien niet van toepassing" + +#: src/jade/tabs/contacts.jade:44 src/jade/tabs/send.jade:46 msgid "Invalid destination tag" msgstr "Ongeldig bestemmingskenmerk" -#: src/jade/tabs/contacts.jade:80 src/jade/tabs/send.jade:232 -#: src/jade/tabs/send.jade:260 +#: src/jade/tabs/contacts.jade:72 msgid "You already have a contact with the same name." msgstr "U heeft al een contact met deze naam." -#: src/jade/tabs/contacts.jade:86 +#: src/jade/tabs/contacts.jade:78 msgid "You already have this address." msgstr "U heeft dit adres al." -#: src/jade/tabs/contacts.jade:87 +#: src/jade/tabs/contacts.jade:79 src/jade/tabs/debug.jade:14 msgid "Not a valid address." msgstr "Ongeldig adres." -#: src/jade/tabs/contacts.jade:92 +#: src/jade/tabs/contacts.jade:84 msgid "Invalid destination tag." msgstr "Ongeldig bestemmingskenmerk." -#: src/jade/tabs/contacts.jade:102 +#: src/jade/tabs/contacts.jade:94 msgid "" "You don't have any contacts yet. Click on 'Add contact' button in the top " "right corner to add a new contact." msgstr "U heeft nog geen contacten. Klik op de \"Voeg contact toe\" knop in de rechterbovenhoek om een nieuw contact toe te voegen." -#: src/jade/tabs/desktop/login.jade:3 -msgid "" -"You will not be able to login to the downloadable client using a " -"username/password you create on Ripple Trade or the web version of the " -"Ripple Client. You can only use a secret key to access an existing Ripple " -"account. This is because the downloadable client stores your login " -"information locally on your computer, so your account is as safe as the " -"security of your personal computer." -msgstr "U zult niet in staat zijn om in te loggen op de downloadbare client met behulp van een gebruikersnaam en/of wachtwoord dat u aanmaakt op Ripple Trade of op de webversie van de Ripple Client. U kunt alleen gebruik maken van een beveiligingssleutel om toegang te krijgen tot een bestaand Ripple account. Dit komt omdat de downloadbare client uw login-gegevens lokaal op uw computer oplsaat, waardoor uw portefeuille zo veilig is als de beveiliging van uw persoonlijke computer." - -#: src/jade/tabs/desktop/login.jade:12 src/jade/tabs/desktop/login.jade:34 -msgid "Open account" -msgstr "Portefeuille openen" - -#: src/jade/tabs/desktop/login.jade:15 src/jade/tabs/desktop/register.jade:5 -#: src/jade/tabs/desktop/register.jade:65 -msgid "Create new account" -msgstr "Nieuwe portefeuille aanmaken" - -#: src/jade/tabs/desktop/login.jade:18 -msgid "Select account file {{walletfile}}" -msgstr "Selecteer portefeuille-bestand {{walletfile}}" - -#: src/jade/tabs/desktop/login.jade:21 -msgid "Select account file" -msgstr "Selecteer portefeuille-bestand" +#: src/jade/tabs/debug.jade:9 +msgid "Enter a Ripple name or address" +msgstr "Voer een Ripple-naam of -adres in." -#: src/jade/tabs/desktop/login.jade:24 -msgid "Account password" -msgstr "Account wachtwoord" +#: src/jade/tabs/debug.jade:13 +msgid "Please enter an address." +msgstr "Voer een adres in." -#: src/jade/tabs/desktop/register.jade:8 -msgid "Open existing account" -msgstr "Bestaande portefeuille openen" +#: src/jade/tabs/debug.jade:17 +msgid "Turn on debug mode" +msgstr "Debug-modus aanzetten" -#: src/jade/tabs/desktop/register.jade:11 -msgid "Create an empty account" -msgstr "Maak een leeg account aan" +#: src/jade/tabs/eur.jade:35 +msgid "Euro Deposit" +msgstr "Euro-storting" -#: src/jade/tabs/desktop/register.jade:14 -msgid "Create a new account with a secret key" -msgstr "Nieuw account aanmaken met een beveiligingssleutel" +#: src/jade/tabs/eur.jade:39 +msgid "SnapSwap EU (~SnapSwap){{1}}{{2}}" +msgstr "SnapSwap EU (~SnapSwap){{1}}{{2}}" -#: src/jade/tabs/desktop/register.jade:18 -msgid "Create empty account" -msgstr "Leeg account aanmaken" +#: src/jade/tabs/eur.jade:45 +msgid "All countries, except USA" +msgstr "Alle landen behalve de VS" -#: src/jade/tabs/desktop/register.jade:20 -msgid "Encrypt your new account file: {{walletfile}}" -msgstr "Versleutel uw nieuwe portefeuille-bestand: {{walletfile}}" +#: src/jade/tabs/eur.jade:49 +msgid "€ 0.31 – € 15.00" +msgstr "€ 0.31 – € 15.00" -#: src/jade/tabs/desktop/register.jade:24 -msgid "Wallet file" -msgstr "Portefeuille-bestand" - -#: src/jade/tabs/desktop/register.jade:31 +#: src/jade/tabs/eur.jade:59 msgid "" -"Your password is weak. It is not a mix of letters, numbers and symbols or it" -" is the same as your Ripple name." -msgstr "Uw wachtwoord is zwak. Het is geen combinatie van letters, nummers en symbolen of het is gelijk aan uw Ripple naam." - -#: src/jade/tabs/desktop/register.jade:33 src/jade/tabs/recover.jade:40 -#: src/jade/tabs/register.jade:49 src/jade/tabs/security.jade:123 -msgid "Confirm password" -msgstr "Bevestig wachtwoord" - -#: src/jade/tabs/desktop/register.jade:36 src/jade/tabs/recover.jade:43 -#: src/jade/tabs/register.jade:52 src/jade/tabs/security.jade:126 -msgid "Passwords do not match" -msgstr "Wachtwoorden komen niet overeen" +"Ripple Trade has partnered with SnapSwap to provide easier access to EUR. " +"Following this action will enable SnapSwap to hold EUR on your behalf." +msgstr "Ripple Trade werkt samen met SnapSwap om toegang tot EUR te vereenvoudigen. Bij doorklikken stelt u SnapSwap in staat om EUR namens u te bewaren." -#: src/jade/tabs/desktop/register.jade:42 -msgid "Encrypt account" -msgstr "Versleutel portefeuille" +#: src/jade/tabs/eur.jade:69 src/jade/tabs/usd.jade:66 +msgid "Not connected" +msgstr "NIet verbonden" -#: src/jade/tabs/desktop/register.jade:44 -msgid "Cancel and delete account file" -msgstr "Annuleren en portefeuille-bestand verwijderen" - -#: src/jade/tabs/desktop/register.jade:50 -msgid "Create account with secret key" -msgstr "Account aanmaken met beveiligingssleutel" - -#: src/jade/tabs/desktop/register.jade:55 -msgid "Enter your secret key" -msgstr "Voer uw beveiligingssleutel in" - -#: src/jade/tabs/desktop/register.jade:62 -msgid "Secret is invalid" -msgstr "Beveiligingssleutel is ongeldig" - -#: src/jade/tabs/desktop/register.jade:67 src/jade/tabs/fund.jade:77 -#: src/jade/tabs/trade.jade:325 -msgid "Cancel" -msgstr "Annuleren" +#: src/jade/tabs/eur.jade:70 src/jade/tabs/usd.jade:67 +msgid "Connected" +msgstr "Verbonden" -#: src/jade/tabs/desktop/register.jade:69 src/jade/tabs/register.jade:95 -msgid "Have an account? {{1:Log In}}" -msgstr "Heeft u een account? {{1:Log In}}" +#: src/jade/tabs/eur.jade:76 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.EU" +msgstr "NIEUWE KLANTEN - AANMELDEN BIJ SNAPSWAP.EU" -#: src/jade/tabs/desktop/register.jade:75 -msgid "Important:" -msgstr "Belangrijk:" +#: src/jade/tabs/eur.jade:77 +msgid "Register and verify your account at SnapSwap EU. You will need: {{1}}" +msgstr "Registreer en verifieer uw account bij SnapSwap EU. U heeft daarvoor nodig: {{1}}" -#: src/jade/tabs/desktop/register.jade:76 +#: src/jade/tabs/eur.jade:81 src/jade/tabs/usd.jade:78 msgid "" -"The secret key below gives access to your money in the unlikely case that " -"you lose your password. In that case your contacts will be lost, but with " -"this secret key alone anyone can retrieve your money. So please store it " -"somewhere PRIVATE AND SAFE. Read more about keys and wallet safety in {{1}}" -msgstr "De onderstaande beveiligingssleutel geeft u toegang tot uw geld in het onwaarschijnlijke geval dat u uw wachtwoord kwijtraakt. In dat geval zullen uw contacten verloren gaan, maar geeft deze beveiligingssleutel toegang tot al uw geld. Bewaar deze dus op een VEILIGE plek. Lees meer over beveiligingssleutels en portefeuilleveiligheid in {{1}}" +"A valid government-issued ID: driver license, passport, ID card, or visa " +"stamp." +msgstr "Een door een overheidsdienst uitgegeven geldig ID; rijbewijs, paspoort, ID-kaart of visum." -#: src/jade/tabs/desktop/register.jade:79 src/jade/tabs/settings/navbar.jade:2 -msgid "Security" -msgstr "Beveiliging" +#: src/jade/tabs/eur.jade:83 src/jade/tabs/usd.jade:80 +msgid "A proof of address: driver license, utility bill, bank statement, etc." +msgstr "Een bewijs van adres, rijbewijs, rekening van een nutsbedrijf, bankafschrift, etc." -#: src/jade/tabs/desktop/register.jade:81 -msgid "Passphrase:{{1}}{{2}}{{3}}{{4}}" -msgstr "Wachtwoordzin:{{1}}{{2}}{{3}}{{4}}" +#: src/jade/tabs/eur.jade:85 +msgid "EXISTING SNAPSWAP EU CUSTOMERS" +msgstr "BESTAANDE SNAPSWAP EU-KLANTEN" -#: src/jade/tabs/desktop/register.jade:90 -msgid "Secret key:" -msgstr "Beveiligingssleutel:" +#: src/jade/tabs/eur.jade:89 src/jade/tabs/jpy.jade:94 +#: src/jade/tabs/usd.jade:86 +msgid "Login to your account {{1}}" +msgstr "Inloggen op uw account {{1}}" -#: src/jade/tabs/desktop/register.jade:95 src/jade/tabs/register.jade:150 -msgid "Show secret key" -msgstr "Toon beveiligingssleutel" +#: src/jade/tabs/eur.jade:92 src/jade/tabs/jpy.jade:96 +msgid "DEPOSITS AND WITHDRAWALS:" +msgstr "STORTINGEN EN OPNAMES:" -#: src/jade/tabs/desktop/register.jade:97 src/jade/tabs/register.jade:151 -msgid "Hide secret key" -msgstr "Verberg beveiligingssleutel" +#: src/jade/tabs/eur.jade:96 +msgid "Deposit from your bank (2-4 business days)" +msgstr "STORTING VIA BANK (2-4 werkdagen)" -#: src/jade/tabs/desktop/register.jade:98 -msgid "Have you saved your secret key somewhere safe?" -msgstr "Heeft u uw beveiligingssleutel op een veilige plek bewaard?" +#: src/jade/tabs/eur.jade:98 +msgid "Withdraw to your bank account in SEPA (2-4 business days)" +msgstr "Opnemen naar uw bankrekening in SEPA (2-4 werkdagen)" -#: src/jade/tabs/desktop/register.jade:101 -msgid "Yes, I saved my secret key" -msgstr "Ja, ik heb mijn beveiligingssleutel opgeslagen" +#: src/jade/tabs/eur.jade:100 +msgid "Withdraw to SmartyCash Card (instant)" +msgstr "Opnemen naar uw SmartyCash-kaart (direct)" #: src/jade/tabs/exchange.jade:13 msgid "You have to be funded before you can exchange money" -msgstr "Uw account moet gefinancierd zijn voordat u geld kunt converteren" +msgstr "Uw account dient gefinancierd te zijn voordat u geld kunt omwisselen" + +#: src/jade/tabs/exchange.jade:23 +msgid "Buy (Market Order)" +msgstr "Koop (Marktorder)" + +#: src/jade/tabs/exchange.jade:24 +msgid "" +"Submit a buy order at the current market rate. Orders will execute " +"instantly." +msgstr "Plaats een kooporder tegen de huidige koers. Orders worden direct uitgevoerd." # Receive (amount) -#: src/jade/tabs/exchange.jade:19 +#: src/jade/tabs/exchange.jade:27 msgid "Receive (amount)" -msgstr "Ontvang" +msgstr "Ik wil kopen:" + +#: src/jade/tabs/exchange.jade:34 src/jade/tabs/widgets/balances.jade:49 +msgid "add gateway" +msgstr "gateway toevoegen" -#: src/jade/tabs/exchange.jade:26 src/jade/tabs/send.jade:88 +#: src/jade/tabs/exchange.jade:37 src/jade/tabs/send.jade:90 msgid "Please enter an amount." msgstr "Voer een bedrag in." -#: src/jade/tabs/exchange.jade:27 src/jade/tabs/send.jade:89 -#: src/jade/tabs/trade.jade:146 src/jade/tabs/trade.jade:161 -#: src/jade/tabs/trade.jade:176 +#: src/jade/tabs/exchange.jade:38 src/jade/tabs/send.jade:91 +#: src/jade/tabs/trade.jade:153 src/jade/tabs/trade.jade:168 +#: src/jade/tabs/trade.jade:183 src/jade/tabs/trust.jade:101 msgid "Not a valid amount." msgstr "Ongeldig bedrag." -#: src/jade/tabs/exchange.jade:28 +#: src/jade/tabs/exchange.jade:39 +msgid "" +"You are either trying to convert too little or too much XRP.Minimum amount " +"is 0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "U probeert nu ofwel te weinig ofwel te veel XRP te versturen. Het minimumbedrag is 0.000001 XRP en het maximum is 100 miljard XRP." + +#: src/jade/tabs/exchange.jade:42 src/jade/tabs/send.jade:96 +#: src/jade/tabs/trust.jade:103 +msgid "Your amount has too many digits. The max number of digits is 16." +msgstr "Uw bedrag bevat teveel cijfers. Het maximum aantal cijfers is 16." + +#: src/jade/tabs/exchange.jade:43 msgid "Please enter an amount greater than zero." msgstr "Voer een bedrag groter dan nul in." -#: src/jade/tabs/exchange.jade:31 -msgid "Calculating..." -msgstr "Berekenen..." +#: src/jade/tabs/exchange.jade:46 +msgid "{{1}} Calculating..." +msgstr "{{1}} Bezig met rekenen..." -#: src/jade/tabs/exchange.jade:33 +#: src/jade/tabs/exchange.jade:50 msgid "" "Cannot convert to {{exchange.amount}} {{exchange.currency_name}}. Please " "make sure your account has enough funds, and a {{1}} to a " "{{exchange.currency_name}} gateway." msgstr "Kan niet converteren naar {{exchange.amount}} {{exchange.currency_name}}. Zorg er alstublieft voor dat het saldo in uw portefeuille toereikend is en u een {{1}} heeft met een {{exchange.currency_name}} gateway." -#: src/jade/tabs/exchange.jade:37 +#: src/jade/tabs/exchange.jade:54 msgid "" "Sorry! Cannot convert {{exchange.amount}} {{exchange.currency_name}}. Please" " make sure your account has enough funds." -msgstr "Sorry! {{exchange.amount}} {{exchange.currency_name}} kan niet worden geconverteerd. Zorg ervoor dat U genoeg geld in uw portefeille heeft." +msgstr "Sorry! {{exchange.amount}} {{exchange.currency_name}} kan niet worden geconverteerd. Zorg ervoor dat het saldo in uw portefeuille toereikend is." -#: src/jade/tabs/exchange.jade:39 src/jade/tabs/send.jade:133 +#: src/jade/tabs/exchange.jade:56 src/jade/tabs/send.jade:142 msgid "Error while calculating path" -msgstr "Fout tijdens berekenen van pad" +msgstr "Fout bij berekenen van pad" -#: src/jade/tabs/exchange.jade:55 +#: src/jade/tabs/exchange.jade:60 +msgid "Exchange" +msgstr "Omwisselen" + +#: src/jade/tabs/exchange.jade:72 msgid "Exchange {{ alt.amount | rpcurrency }} {{1}}" msgstr "Wissel {{ alt.amount | rpcurrency }} {{1}} om" -#: src/jade/tabs/exchange.jade:61 src/jade/tabs/send.jade:161 +#: src/jade/tabs/exchange.jade:78 src/jade/tabs/send.jade:170 msgid "Paths last updated {{1}} {{2: seconds}} {{3: second}} ago" -msgstr "De paden werden {{1}} {{2: secondes}} {{3: seconde}} geleden aangepast" +msgstr "De paden werden {{1}} {{2: seconden}} {{3: seconde}} geleden aangepast" -#: src/jade/tabs/exchange.jade:70 +#: src/jade/tabs/exchange.jade:89 msgid "Ripple is calculating a path for your conversion." msgstr "Ripple is een pad aan het berekenen voor de conversie." -#: src/jade/tabs/exchange.jade:75 +#: src/jade/tabs/exchange.jade:94 msgid "" "{{1:You are exchanging}}{{2}}{{3:to}}{{4}}{{5:You will pay at " "most}}{{6}}{{7:Are you sure?}}" -msgstr "{{1:U converteert}}{{2}}{{3:naar}}{{4}}{{5:U betaalt maximaal}}{{6}}{{7:Weet U het zeker??}}" +msgstr "{{1:U gaat}}{{2}}{{3:omwisselen naar}}{{4}}{{5:U betaalt daarvoor maximaal}}{{6}}{{7:Weet u dit zeker?}}" -#: src/jade/tabs/exchange.jade:116 +#: src/jade/tabs/exchange.jade:139 msgid "Do another conversion" -msgstr "Maak een andere conversie" +msgstr "Wissel nogmaals geld om" -#: src/jade/tabs/exchange.jade:118 src/jade/tabs/send.jade:243 -#: src/jade/tabs/send.jade:273 +#: src/jade/tabs/exchange.jade:141 src/jade/tabs/send.jade:257 +#: src/jade/tabs/send.jade:291 msgid "Back to balance" msgstr "Terug naar saldo" @@ -1076,215 +1563,280 @@ msgstr "Terug naar saldo" msgid "Add trust" msgstr "Vertrouw krediet toe" -#: src/jade/tabs/fund.jade:33 src/jade/tabs/fund.jade:47 -#: src/jade/tabs/trust.jade:100 src/jade/tabs/trust.jade:121 -msgid "Account does not meet the minimum XRP reserve." -msgstr "Account voldoet niet aan het minimum XRP reserve-saldo." +#: src/jade/tabs/fund.jade:27 src/jade/tabs/send.jade:26 +msgid "Enter a Ripple name or contact" +msgstr "Voer een Ripple-naam of contact in." -#: src/jade/tabs/fund.jade:34 src/jade/tabs/fund.jade:48 -#: src/jade/tabs/send.jade:107 src/jade/tabs/trust.jade:101 -#: src/jade/tabs/trust.jade:122 -msgid "More information" -msgstr "Meer informatie" +#: src/jade/tabs/fund.jade:33 src/jade/tabs/trust.jade:73 +msgid "Account does not meet the minimum XRP reserve." +msgstr "Account voldoet niet aan de minimum XRP reserve." -#: src/jade/tabs/fund.jade:36 src/jade/tabs/trust.jade:103 +#: src/jade/tabs/fund.jade:36 src/jade/tabs/trust.jade:76 msgid "Please enter a Ripple name, contact, or address." -msgstr "Voer een Ripple naam, contact of adres in." +msgstr "Voer een Ripple-naam, -adres of contact in." -#: src/jade/tabs/fund.jade:37 src/jade/tabs/fund.jade:51 -#: src/jade/tabs/trust.jade:104 src/jade/tabs/trust.jade:125 +#: src/jade/tabs/fund.jade:37 src/jade/tabs/trust.jade:77 msgid "You've entered your own address." msgstr "U heeft uw eigen adres ingevoerd." -#: src/jade/tabs/fund.jade:38 src/jade/tabs/trust.jade:105 +#: src/jade/tabs/fund.jade:38 src/jade/tabs/trust.jade:78 msgid "Please enter a valid Ripple name, contact, or address." -msgstr "Voer een geldige Ripple naam, contact of adres in." - -#: src/jade/tabs/fund.jade:50 src/jade/tabs/trust.jade:124 -msgid "Please enter a Ripple address or contact." -msgstr "Voer een Ripple adres of contact in." - -#: src/jade/tabs/fund.jade:52 src/jade/tabs/trust.jade:126 -msgid "Please enter a valid Ripple address or contact." -msgstr "Voer een geldig Ripple adres of contact in." - -#: src/jade/tabs/fund.jade:55 src/jade/tabs/history.jade:190 -#: src/jade/tabs/trade.jade:303 src/jade/tabs/trust.jade:129 -msgid "Amount" -msgstr "Hoeveelheid" +msgstr "Voer een geldige Ripple-naam of een geldig contact of Ripple-adres in." -#: src/jade/tabs/fund.jade:62 src/jade/tabs/trust.jade:107 -#: src/jade/tabs/trust.jade:140 +#: src/jade/tabs/fund.jade:48 src/jade/tabs/trust.jade:80 msgid "Amount field is required" msgstr "Bedrag is een verplicht veld" -#: src/jade/tabs/fund.jade:64 src/jade/tabs/trust.jade:109 -#: src/jade/tabs/trust.jade:142 +#: src/jade/tabs/fund.jade:50 src/jade/tabs/trust.jade:82 +#: src/jade/tabs/trust.jade:105 msgid "" "XRP can be sent without extending trust. If you really want to trust in XRP," " please use XRR currency code." -msgstr "XRP kan ook verzonden worden zonder het toevertrouwen uit te breiden. Als u daadwerkelijk wilt toevertrouwen in XRP, gebruik dan de XRR valuta code." +msgstr "XRP kan verzonden worden zonder krediet toe te vertrouwen. Als u daadwerkelijk krediet wilt toevertrouwen in XRP, gebruik dan de valuta code XRR." -#: src/jade/tabs/fund.jade:67 src/jade/tabs/trust.jade:112 -#: src/jade/tabs/trust.jade:145 +#: src/jade/tabs/fund.jade:53 src/jade/tabs/trust.jade:85 +#: src/jade/tabs/trust.jade:108 msgid "Currency field is required" msgstr "Valuta is een verplicht veld" -#: src/jade/tabs/fund.jade:73 src/jade/tabs/trust.jade:151 +#: src/jade/tabs/fund.jade:59 src/jade/tabs/fund.jade:60 +#: src/jade/tabs/trust.jade:114 src/jade/tabs/trust.jade:115 msgid "Allow Rippling" -msgstr "Sta Rippling toe" +msgstr "Rippling toestaan" -#: src/jade/tabs/fund/menu.jade:2 -msgid "XRP" -msgstr "XRP" +#: src/jade/tabs/fund.jade:60 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"trust. More " +"information" +msgstr "Sta toe dat het saldo van deze kredietlijnen overgedragen kan worden aan een andere verstrekker die u vertrouwt. Meer informatie" + +#: src/jade/tabs/fund.jade:63 +msgid "Cancel" +msgstr "Annuleren" #: src/jade/tabs/fund/menu.jade:3 -msgid "BTC" -msgstr "BTC" +msgid "{{1}}XRP" +msgstr "{{1}}XRP" #: src/jade/tabs/fund/menu.jade:6 +msgid "Featured gateways" +msgstr "Geselecteerde gateways" + +#: src/jade/tabs/fund/menu.jade:7 +msgid "{{1}}BRL" +msgstr "{{1}}BRL" + +#: src/jade/tabs/fund/menu.jade:10 +msgid "{{1}}BTC" +msgstr "{{1}}BTC" + +#: src/jade/tabs/fund/menu.jade:13 +msgid "{{1}}EUR" +msgstr "{{1}}EUR" + +#: src/jade/tabs/fund/menu.jade:16 +msgid "{{1}}JPY" +msgstr "{{1}}JPY" + +#: src/jade/tabs/fund/menu.jade:19 +msgid "{{1}}MXN" +msgstr "{{1}}MXN" + +#: src/jade/tabs/fund/menu.jade:22 +msgid "{{1}}USD" +msgstr "{{1}}USD" + +#: src/jade/tabs/fund/menu.jade:25 +msgid "{{1}}XAU" +msgstr "{{1}}XAU" + +#: src/jade/tabs/fund/menu.jade:28 +msgid "Add any gateway" +msgstr "Een gateway toevoegen" + +#: src/jade/tabs/fund/menu.jade:30 msgid "Learn more about gateways" -msgstr "Lees verder over gateways" +msgstr "Lees meer over gateways" -#: src/jade/tabs/history.jade:9 -msgid "Loading history..." -msgstr "Geschiedenis wordt geladen..." +#: src/jade/tabs/gold.jade:37 +msgid "Gold Deposit" +msgstr "Goud-storting" -#: src/jade/tabs/history.jade:14 -msgid "Your account history is empty" -msgstr "Uw account-geschiedenis is leeg" +#: src/jade/tabs/gold.jade:41 +msgid "Gold Bullion International (~gbi) {{1}}" +msgstr "Gold Bullion International (~gbi) {{1}}" + +#: src/jade/tabs/gold.jade:48 +msgid "0.5% per year" +msgstr "0.5% per jaar" + +#: src/jade/tabs/gold.jade:56 +msgid "" +"Ripple Trade has partnered with GBI to provide easy access toXAU. By " +"continuing, you are allowing GBI to hold gold on your behalf." +msgstr "Ripple Trade werkt samen met GBI om toegang tot XAU te vereenvoudigen. Bij doorklikken staat u GBI toe om goud namens u te bewaren." + +#: src/jade/tabs/gold.jade:67 src/jade/tabs/jpy.jade:68 +#: src/jade/tabs/mxn.jade:70 +msgid "{{1}} Not connected" +msgstr "{{1}} Niet verbonden" + +#: src/jade/tabs/gold.jade:70 src/jade/tabs/jpy.jade:71 +#: src/jade/tabs/mxn.jade:73 +msgid "{{1}} Connected" +msgstr "{{1}} Verbonden" + +#: src/jade/tabs/gold.jade:77 +msgid "Deposit" +msgstr "Storting" + +#: src/jade/tabs/gold.jade:78 +msgid "" +"GBI does not currently support direct deposits. You can {{1}} or {{2}}." +msgstr "GBI ondersteunt momenteel geen directe stortingen. U kunt {{1}} of {{2}}. " + +#: src/jade/tabs/gold.jade:84 +msgid "Withdrawal" +msgstr "Opname" + +#: src/jade/tabs/gold.jade:85 +msgid "" +"You can redeem the physical gold in 1 oz increments.To do so, you'll need to" +" {{1}} and arrange to have the gold shipped to you." +msgstr "U kunt het fyisieke goud opeisen in veelvouden van 1 ounce (31,1 gram). Hiervoor moet u {{1}} en zelf zorg dragen voor verzending naar uw thuisadres." -#: src/jade/tabs/history.jade:20 -msgid "Filters" -msgstr "Filters" +#: src/jade/tabs/history.jade:11 +msgid "Loading History" +msgstr "Geschiedenis wordt geladen" -#: src/jade/tabs/history.jade:23 +#: src/jade/tabs/history.jade:16 +msgid "Your account history is empty" +msgstr "Uw accountgeschiedenis is leeg" + +#: src/jade/tabs/history.jade:24 msgid "Transaction type{{1}}{{2}}" -msgstr "Transactie type {{1}}{{2}}" +msgstr "Transactie-type{{1}}{{2}}" -#: src/jade/tabs/history.jade:48 +#: src/jade/tabs/history.jade:37 msgid "Date{{1}}{{2}}" msgstr "Datum{{1}}{{2}}" -#: src/jade/tabs/history.jade:53 +#: src/jade/tabs/history.jade:42 msgid "Load history for specific date range" msgstr "Toon geschiedenis van specifieke periode" -#: src/jade/tabs/history.jade:59 +#: src/jade/tabs/history.jade:48 msgid "From" msgstr "Van" -#: src/jade/tabs/history.jade:65 +#: src/jade/tabs/history.jade:54 msgid "To" -msgstr "Naar" +msgstr "Tot" -#: src/jade/tabs/history.jade:68 +#: src/jade/tabs/history.jade:57 msgid "Filter" -msgstr "Specificeer" - -#: src/jade/tabs/history.jade:82 -msgid "Transaction History" -msgstr "Transactiegeschiedenis" - -#: src/jade/tabs/history.jade:84 -msgid "Export to CSV" -msgstr "Exporteren naar CSV" +msgstr "Filter" -#: src/jade/tabs/history.jade:88 +#: src/jade/tabs/history.jade:64 msgid "Date" msgstr "Datum" -#: src/jade/tabs/history.jade:89 src/jade/tabs/history.jade:188 +#: src/jade/tabs/history.jade:65 src/jade/tabs/history.jade:170 msgid "Description" msgstr "Omschrijving" -#: src/jade/tabs/history.jade:90 +#: src/jade/tabs/history.jade:68 src/jade/tabs/history.jade:73 +msgid "Export to CSV" +msgstr "Exporteren naar CSV" + +#: src/jade/tabs/history.jade:69 msgid "Sorry, no transactions match your current filter." -msgstr "Sorry, geen transacties passen bij uw huidige specificatie." +msgstr "Sorry, binnen uw huidige filter vallen geen transacties." -#: src/jade/tabs/history.jade:109 +#: src/jade/tabs/history.jade:91 msgid "You sent{{1}}to{{2}}" -msgstr "U verzond{{1}}naar{{2}}" +msgstr "U verstuurde{{1}}naar{{2}}" -#: src/jade/tabs/history.jade:115 +#: src/jade/tabs/history.jade:97 msgid "{{1}}sent you{{2}}" msgstr "{{1}}stuurde U{{2}}" -#: src/jade/tabs/history.jade:121 +#: src/jade/tabs/history.jade:103 msgid "You requested to exchange{{1}}to{{2}}" msgstr "U verzocht{{1}}om te wisselen voor{{2}}" -#: src/jade/tabs/history.jade:127 +#: src/jade/tabs/history.jade:109 msgid "{{1}}now trusts you for{{2}}" -msgstr "{{1}}vertrouwt U toe voor{{2}}" +msgstr "{{1}}vertrouwt u nu {{2}} toe" -#: src/jade/tabs/history.jade:140 src/jade/tabs/history/effects.jade:45 +#: src/jade/tabs/history.jade:122 src/jade/tabs/history/effects.jade:45 msgid "You created an order to sell{{1}}for{{2}}" msgstr "U heeft een order aangemaakt om{{1}}te verkopen voor{{2}}" -#: src/jade/tabs/history.jade:144 src/jade/tabs/history/effects.jade:49 +#: src/jade/tabs/history.jade:126 src/jade/tabs/history/effects.jade:49 msgid "You created an order to buy{{1}}for{{2}}" msgstr "U heeft een order aangemaakt om{{1}}te kopen voor{{2}}" -#: src/jade/tabs/history.jade:150 +#: src/jade/tabs/history.jade:132 msgid "You cancelled an order accepting {{1}}for{{2}}" msgstr "U heeft een order om{{1}}te aanvaarden voor{{2}}geannuleerd" -#: src/jade/tabs/history.jade:163 +#: src/jade/tabs/history.jade:145 msgid "Unknown transaction" msgstr "Onbekende transactie" -#: src/jade/tabs/history.jade:166 +#: src/jade/tabs/history.jade:148 msgid "" "The client failed to parse this transaction. The developers have been " "notified of the issue." msgstr "De client was niet in staat de transactie te analyseren. De ontwikkelaars zijn hiervan op de hoogte gebracht." -#: src/jade/tabs/history.jade:171 +#: src/jade/tabs/history.jade:153 msgid "{{1}} sent you{{2}} and activated your account!" -msgstr "{{1}} stuurde U{{2}} toe en activeerde uw portefeuille!" +msgstr "{{1}} stuurde u{{2}} toe en activeerde uw account!" -#: src/jade/tabs/history.jade:178 +#: src/jade/tabs/history.jade:160 msgid "You deposited{{1}} using {{entry.details.app.name}}" -msgstr "U stortte{{1}}met behulp van {{entry.details.app.name}}" +msgstr "U stortte{{1}} met behulp van {{entry.details.app.name}}" -#: src/jade/tabs/history.jade:186 +#: src/jade/tabs/history.jade:168 msgid "Balance Changes" -msgstr "Saldo-wijzigingen" +msgstr "Saldowijzigingen" -#: src/jade/tabs/history.jade:189 +#: src/jade/tabs/history.jade:171 msgid "Issuer" msgstr "Verstrekker" -#: src/jade/tabs/history.jade:191 +#: src/jade/tabs/history.jade:173 msgid "Final balance" -msgstr "Definitief saldo" +msgstr "Totaal saldo" -#: src/jade/tabs/history.jade:194 +#: src/jade/tabs/history.jade:176 msgid "XRP Balance Change" -msgstr "XRP Saldo Wijziging" +msgstr "XRP Saldowijziging" -#: src/jade/tabs/history.jade:195 +#: src/jade/tabs/history.jade:177 msgid "{{effect.currency}} Balance Change" -msgstr "{{effect.currency}} Saldo Wijziging" +msgstr "{{effect.currency}} Saldowijziging" -#: src/jade/tabs/history.jade:196 -msgid "Fee" -msgstr "Heffing" - -#: src/jade/tabs/history.jade:201 +#: src/jade/tabs/history.jade:183 msgid "Transaction details" -msgstr "Transactie-details" +msgstr "Transactiedetails" -#: src/jade/tabs/history.jade:202 +#: src/jade/tabs/history.jade:184 msgid "Add {{1}} to contact list" -msgstr "Voeg {{1}} aan uw contactenlijst toe" +msgstr "Voeg {{1}} aan uw contacten toe" + +#: src/jade/tabs/history.jade:189 +msgid "{{1}} Loading more" +msgstr "{{1}} Meer aan het laden" -#: src/jade/tabs/history.jade:208 src/jade/tabs/trade.jade:386 +#: src/jade/tabs/history.jade:192 src/jade/tabs/trade.jade:500 msgid "Load more" -msgstr "Laad meer" +msgstr "Meer laden" -#: src/jade/tabs/history.jade:209 +#: src/jade/tabs/history.jade:193 msgid "No more transactions left" msgstr "Geen transacties meer over" @@ -1298,15 +1850,15 @@ msgstr "U kocht{{1}}voor{{2}}" #: src/jade/tabs/history/effects.jade:13 src/jade/tabs/history/effects.jade:28 msgid "price" -msgstr "prijs" +msgstr "koers" #: src/jade/tabs/history/effects.jade:17 msgid "This order has been filled." -msgstr "Dit order is vervuld." +msgstr "Deze order is uitgevoerd." #: src/jade/tabs/history/effects.jade:32 msgid "The rest of your order has been cancelled due to lack of funds." -msgstr "De rest van uw order is geannuleerd wegens een gebrek aan geld." +msgstr "De rest van uw order is geannuleerd wegens een ontoereikend saldo." #: src/jade/tabs/history/effects.jade:33 msgid "This order has{{1}}remaining." @@ -1314,23 +1866,23 @@ msgstr "Deze order heeft{{1}}resterend." #: src/jade/tabs/history/effects.jade:39 msgid "Order ({{1}} for {{2}}) has been cancelled due to lack of funds." -msgstr "Order ({{1}} voor {{2}}) is geannuleerd wegens een gebrek aan geld." +msgstr "Order ({{1}} voor {{2}}) is geannuleerd wegens een ontoereikend saldo." #: src/jade/tabs/history/effects.jade:53 msgid "You bought{{1}}for{{2}}({{3:price}}{{4}})." -msgstr "U kocht{{1}}voor{{2}}({{3:price}}{{4}})." +msgstr "U kocht{{1}}voor{{2}}({{3:koers}}{{4}})." #: src/jade/tabs/history/effects.jade:68 msgid "{{1}}is trusting you for{{2}}." -msgstr "{{1}}vertrouwt u toe voor{{2}}." +msgstr "{{1}}vertrouwt u {{2}} toe." #: src/jade/tabs/history/effects.jade:73 msgid "You have changed {{1}}trust for{{2}}from{{3}}to{{4}}." -msgstr "U heeft {{1}}krediet gewijzigd voor{{2}}, van{{3}}naar{{4}}." +msgstr "U heeft uw kredietvertrouwen in {{1}}voor {{2}}gewijzigd van{{3}}naar{{4}}." #: src/jade/tabs/history/effects.jade:83 msgid "{{1}}changed the{{2}}trust from{{3}}to{{4}}." -msgstr "{{1}}heeft het{{2}}krediet gewijzigd van{{3}}naar{{4}}." +msgstr "{{1}}heeft het{{2}}kredietvertrouwen gewijzigd van{{3}}naar{{4}}." #: src/jade/tabs/history/effects.jade:92 msgid "Trust balance between you and{{1}}has been changed by{{2}}." @@ -1340,1355 +1892,1765 @@ msgstr "Kredietsaldo tussen u en{{1}}is gewijzigd met{{2}}." msgid "Your balance has been changed by{{1}}." msgstr "Uw saldo is gewijzigd met{{1}}." -#: src/jade/tabs/kyc.jade:16 +#: src/jade/tabs/jpy.jade:38 +msgid "Japanese Yen Deposit" +msgstr "Japanse Yen-stroting" + +#: src/jade/tabs/jpy.jade:42 +msgid "Tokyo JPY Issuer (~tokyojpy) {{1}}" +msgstr "Tokyo JPY Issuer (~tokyojpy) {{1}}" + +#: src/jade/tabs/jpy.jade:59 +msgid "" +"Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to" +" JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your" +" behalf." +msgstr "Ripple Trade werkt samen met Tokyo JPY Issuer om toegang tot JPY te vereenvoudigen. Bij doorklikken stelt u Tokyo JPY Issuer in staat om JPY namens u te bewaren." + +#: src/jade/tabs/jpy.jade:78 +msgid "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" +msgstr "NIEUWE KLANTEN - AANMELDEN BIJ TOKYO JPY ISSUER" + +#: src/jade/tabs/jpy.jade:79 +msgid "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" +msgstr "{{1}}bij Tokyo JPY Issuer. U heeft hiervoor nodig:{{2}}" + +#: src/jade/tabs/jpy.jade:84 +msgid "A valid government-issued ID." +msgstr "Een door een overheidsdienst uitgegeven geldig ID" + +#: src/jade/tabs/jpy.jade:86 +msgid "A proof of address (utility bill, etc)." +msgstr "Een bewijs van adres (rekening van nutsbedrijf, etc)." + +#: src/jade/tabs/jpy.jade:88 +msgid "A bank account under the same name." +msgstr "Een bankrekening op dezelfde naam." + +#: src/jade/tabs/jpy.jade:90 +msgid "EXISTING TOKYO JPY ISSUER CUSTOMERS" +msgstr "BESTAANDE TOKYO JPY ISSUER-KLANTEN" + +#: src/jade/tabs/jpy.jade:100 +msgid "" +"Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details" +" {{1}}" +msgstr "Tokyo JPY Issuer accepteert stortingen en opnames via bankoverdrachten. Details {{1}}" + +#: src/jade/tabs/jpy.jade:103 +msgid "" +"To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account " +"and then initiate a transfer into your Ripple account." +msgstr "Voor een storting dient u eerst geld te storten op uw Tokyo JPY Issuer-rekening om daarna een overdracht te initiëren naar uw Ripple-portefeuille." + +#: src/jade/tabs/jpy.jade:105 +msgid "" +"To withdraw to a bank account, you’ll first send money from your Ripple " +"account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo " +"JPY Issuer site to send to your bank account." +msgstr "Voor een opname dient u eerst geld te sturen van uw Ripple-portefeuille naar uw Tokyo JPY Issuer-rekening. Volg daarna de instructies op de website van Tokyo JPY om uw geld door te sturen naar uw bankrekening." + +#: src/jade/tabs/kyc.jade:14 +msgid "Profile completion is only available to US residents." +msgstr "Profielvoltooiing is alleen beschikbaar voor inwoners van de VS." + +#: src/jade/tabs/kyc.jade:21 src/jade/tabs/trade.jade:285 msgid "Verifying your information. Please wait..." msgstr "Uw informatie wordt geverifieerd. Een moment geduld alstublieft..." -#: src/jade/tabs/kyc.jade:18 +#: src/jade/tabs/kyc.jade:23 msgid "Your identity information has been verified." msgstr "Uw identiteitsinformatie is geverifieerd." -#: src/jade/tabs/kyc.jade:20 +#: src/jade/tabs/kyc.jade:25 msgid "Your identity questions have been verified." msgstr "De vragen omtrent uw identiteit zijn geverifieerd." -#: src/jade/tabs/kyc.jade:22 +#: src/jade/tabs/kyc.jade:27 msgid "" "Congratulations, you've verified your identity! You will now be redirected " "back to the instant deposit page." msgstr "Gefeliciteerd, u heeft uw identiteit geverifieerd! U zal nu worden teruggestuurd naar de pagina voor direct storten." -#: src/jade/tabs/kyc.jade:24 +#: src/jade/tabs/kyc.jade:29 msgid "There was an error with your request. Please try again later." msgstr "Er is een fout opgetreden bij uw verzoek. Probeert u het later nog eens." -#: src/jade/tabs/kyc.jade:26 +#: src/jade/tabs/kyc.jade:31 msgid "" "There was an error with your request. Make sure your phone number is valid " "and try again." msgstr "Er is een fout opgetreden bij uw verzoek. Zorg ervoor dat uw telefoonnummer geldig is en probeer het dan opnieuw." -#: src/jade/tabs/kyc.jade:28 +#: src/jade/tabs/kyc.jade:33 msgid "Please check your verification code and try again." msgstr "Gelieve uw verificatiecode te controleren en het dan opnieuw te proberen." -#: src/jade/tabs/kyc.jade:30 +#: src/jade/tabs/kyc.jade:35 msgid "" "There was an error while requesting the verification code. Please try again " "later." msgstr "Er is een fout opgetreden bij het opvragen van uw verificatiecode. Probeert u het later nog eens." -#: src/jade/tabs/kyc.jade:32 +#: src/jade/tabs/kyc.jade:37 msgid "" "We are unable to validate your identity information. Please check your " "information and try again." msgstr "Wij zijn niet in staat uw identiteitsinformatie te valideren. Gelieve uw informatie te controleren en het dan opnieuw te proberen." -#: src/jade/tabs/kyc.jade:34 +#: src/jade/tabs/kyc.jade:39 msgid "" "We are unable to validate your identity questions. Please check your answers" " and try again." msgstr "Wij zijn niet in staat de vragen omtrent uw identiteit te valideren. Gelieve uw antwoorden te controleren en het dan opnieuw te proberen." -#: src/jade/tabs/kyc.jade:36 +#: src/jade/tabs/kyc.jade:41 +msgid "" +"Sorry, you've reached your maximum number of verification attempts. Please " +"try again in 24 hours." +msgstr "Sorry, u heeft het maximum aantal verificatiepogingen bereikt. Probeert u het over 24 uur nog eens." + +#: src/jade/tabs/kyc.jade:43 msgid "" "We can't verify your identity. Please contact us at support@ripple.com." msgstr "Wij kunnen uw identiteit niet verifieren. Neem alstublieft contact met ons op via support@ripple.com." -#: src/jade/tabs/kyc.jade:41 +#: src/jade/tabs/kyc.jade:48 msgid "Profile Completion" msgstr "Profielvoltooiing" -#: src/jade/tabs/kyc.jade:45 +#: src/jade/tabs/kyc.jade:52 msgid "STEP 1: IDENTITY INFORMATION" msgstr "STAP 1: IDENTITEITSINFORMATIE" -#: src/jade/tabs/kyc.jade:47 +#: src/jade/tabs/kyc.jade:54 msgid "STEP 2: IDENTITY QUESTIONS" msgstr "STAP 2: VRAGEN OMTRENT UW IDENTITEIT" -#: src/jade/tabs/kyc.jade:49 +#: src/jade/tabs/kyc.jade:56 msgid "STEP 3: TWO-FACTOR AUTHENTICATION" msgstr "STEP 3: TWO-FACTOR AUTHENTICATION" -#: src/jade/tabs/kyc.jade:56 +#: src/jade/tabs/kyc.jade:63 msgid "First Name" msgstr "Voornaam" -#: src/jade/tabs/kyc.jade:60 +#: src/jade/tabs/kyc.jade:67 msgid "Last Name" msgstr "Achternaam" -#: src/jade/tabs/kyc.jade:64 +#: src/jade/tabs/kyc.jade:71 msgid "Street Address" -msgstr "Straatadres" +msgstr "Adres" -#: src/jade/tabs/kyc.jade:69 +#: src/jade/tabs/kyc.jade:76 msgid "City" msgstr "Woonplaats" -#: src/jade/tabs/kyc.jade:73 +#: src/jade/tabs/kyc.jade:80 msgid "State" msgstr "Provincie" -#: src/jade/tabs/kyc.jade:77 +#: src/jade/tabs/kyc.jade:84 msgid "ZIP" msgstr "Postcode" -#: src/jade/tabs/kyc.jade:81 +#: src/jade/tabs/kyc.jade:88 msgid "Date of Birth" msgstr "Geboortedatum" -#: src/jade/tabs/kyc.jade:85 +#: src/jade/tabs/kyc.jade:92 msgid "Month{{1}}" msgstr "Maand{{1}}" -#: src/jade/tabs/kyc.jade:88 +#: src/jade/tabs/kyc.jade:95 msgid "Day{{1}}" msgstr "Dag{{1}}" -#: src/jade/tabs/kyc.jade:91 +#: src/jade/tabs/kyc.jade:98 msgid "Year{{1}}" msgstr "Jaar{{1}}" -#: src/jade/tabs/kyc.jade:104 +#: src/jade/tabs/kyc.jade:113 msgid "Continue to identity questions" msgstr "Doorgaan naar de vragen omtrent uw identiteit" -#: src/jade/tabs/kyc.jade:110 +#: src/jade/tabs/kyc.jade:114 src/jade/tabs/kyc.jade:129 +#: src/jade/tabs/kyc.jade:154 src/jade/tabs/kyc.jade:184 +#: src/jade/tabs/login.jade:17 +msgid "Verifying..." +msgstr "Verifiëren..." + +#: src/jade/tabs/kyc.jade:120 msgid "{{ q.question }}{{1}}" msgstr "{{ q.question }}{{1}}" -#: src/jade/tabs/kyc.jade:113 +#: src/jade/tabs/kyc.jade:123 msgid "{{ a.answer }}" msgstr "{{ a.answer }}" -#: src/jade/tabs/kyc.jade:116 +#: src/jade/tabs/kyc.jade:128 msgid "Continue to two-factor authentication" msgstr "Verder naar two-factor authentication" -#: src/jade/tabs/kyc.jade:124 +#: src/jade/tabs/kyc.jade:137 msgid "Two-factor authentication provides extra security for your account." msgstr "Two-factor authentication biedt extra beveiliging voor uw account." -#: src/jade/tabs/kyc.jade:132 +#: src/jade/tabs/kyc.jade:145 msgid "" "Ripple Trade has partnered with Authy to provide better security for your " "account.By continuing, you agree to Authy's {{1:Terms of Service}}." msgstr "Ripple Trade werkt samen met Authy om uw account van betere beveiliging te voorzien. Bij doorklikken gaat u akkoord met de {{1:Algemene Voorwaarden}} van Authy." -#: src/jade/tabs/kyc.jade:138 +#: src/jade/tabs/kyc.jade:153 msgid "Verify phone number" msgstr "Verifieer telefoonnummer" -#: src/jade/tabs/kyc.jade:148 +#: src/jade/tabs/kyc.jade:164 msgid "change" msgstr "wijzig" -#: src/jade/tabs/kyc.jade:152 +#: src/jade/tabs/kyc.jade:168 msgid "" "A verification code has been sent to +{{ currentCountryCode }} {{ " "phoneNumber }}." msgstr "Een verificatiecode is verstuurd naar +{{ currentCountryCode }} {{ phoneNumber }}." -#: src/jade/tabs/kyc.jade:156 src/jade/tabs/login/form.jade:15 -#: src/jade/tabs/security.jade:88 +#: src/jade/tabs/kyc.jade:172 src/jade/tabs/login/form.jade:16 +#: src/jade/tabs/security.jade:97 msgid "Verification Code" msgstr "Verificatiecode" -#: src/jade/tabs/login.jade:5 src/jade/tabs/login.jade:19 -#: src/jade/tabs/login.jade:83 +#: src/jade/tabs/kyc.jade:183 +msgid "Submit code" +msgstr "Code invoeren" + +#: src/jade/tabs/login.jade:4 src/jade/tabs/migrate.jade:4 +#: src/jade/tabs/recover.jade:3 src/jade/tabs/register.jade:5 +#: src/jade/tabs/register.jade:137 src/jade/tabs/register.jade:184 +msgid "Welcome to Ripple Trade" +msgstr "Welkom bij Ripple Trade" + +#: src/jade/tabs/login.jade:6 src/jade/tabs/migrate.jade:6 +#: src/jade/tabs/recover.jade:5 src/jade/tabs/register.jade:7 +#: src/jade/tabs/register.jade:139 src/jade/tabs/register.jade:186 +msgid "Trade hundreds of assets, from XRP to crypto to gold to fiat." +msgstr "Handel in honderden activa, van XRP tot crypto tot goud tot fiatgeld." + +#: src/jade/tabs/login.jade:15 src/jade/tabs/login.jade:31 msgid "Log In" msgstr "Log in" -#: src/jade/tabs/login.jade:7 -msgid "Verifying..." -msgstr "Verifiëren..." - -#: src/jade/tabs/login.jade:8 +#: src/jade/tabs/login.jade:18 msgid "You have successfully verified your email address." msgstr "Uw email adres is nu geverifieerd." -#: src/jade/tabs/login.jade:9 +#: src/jade/tabs/login.jade:19 msgid "" "Email verification token is invalid. It has either expired or has been " "resent. Please check your inbox for the most recent verification email." -msgstr "E-mail verificatie-code is ongeldig. Deze is ofwel verlopen of zij is foutief. Kijk in je inbox voor de meest recente verificatie e-mail." +msgstr "E-mail verificatiecode is ongeldig. Deze is ofwel verlopen of opnieuw verzonden. Kijk in uw inbox voor de meest recente verificatie-e-mail." + +#: src/jade/tabs/login.jade:30 +msgid "Logging in" +msgstr "Bezig met inloggen" -#: src/jade/tabs/login.jade:21 +#: src/jade/tabs/login.jade:34 msgid "Verify" msgstr "Verifiëren" -#: src/jade/tabs/login.jade:25 src/jade/tabs/login.jade:26 -#: src/jade/tabs/recover.jade:5 -msgid "Account Recovery" -msgstr "Portefeuille Herstellen" - -#: src/jade/tabs/login.jade:28 src/jade/tabs/register.jade:93 +#: src/jade/tabs/login.jade:36 src/jade/tabs/register.jade:114 msgid "Already have a ripple.com/client account? {{1:Migrate}}" -msgstr "Heeft U al een ripple.com/client portefeille? {{1:Migreer}}" +msgstr "Heeft u al een ripple.com/client account? {{1:Migreer}}" -#: src/jade/tabs/login.jade:30 src/jade/tabs/migrate.jade:26 -msgid "New to {{productName}}? {{1:Sign Up}}" -msgstr "Nieuw bij {{productName}}? {{1:Meld u aan}}" +#: src/jade/tabs/login.jade:41 src/jade/tabs/login.jade:42 +#: src/jade/tabs/recover.jade:9 +msgid "Account Recovery" +msgstr "Portefeuille Herstellen" -#: src/jade/tabs/login.jade:37 +#: src/jade/tabs/login.jade:49 msgid "{{1:You're sending money to}}{{2}}." msgstr "{{1:U gaat geld versturen naar}}{{2}}." -#: src/jade/tabs/login.jade:41 +#: src/jade/tabs/login.jade:53 msgid "{{1:You're sending}}{{2}}{{3: to }}{{4}}." msgstr "{{1:U gaat}}{{2}}{{3: versturen naar }}{{4}}." -#: src/jade/tabs/login.jade:51 +#: src/jade/tabs/login.jade:63 msgid "" "{{1:You're connecting to the gateway}}{{2}}{{3:for{{1}}}}{{4:with a limit " "of{{1}}}}." msgstr "{{1:U verbindt zich met de gateway}}{{2}}{{3:voor{{1}}}}{{4:met een limiet van{{1}}}}." -#: src/jade/tabs/login.jade:66 +#: src/jade/tabs/login.jade:78 msgid "{{1:You're adding}}{{2}}{{3:to your contacts list}}" msgstr "{{1:U voegt nu}}{{2}}{{3:toe aan uw contacten}}" -#: src/jade/tabs/login.jade:84 +#: src/jade/tabs/login.jade:95 +msgid "{{1}} Log In" +msgstr "{{1}} Log In" + +#: src/jade/tabs/login.jade:98 msgid "You can confirm this transaction on the next page." -msgstr "U kan deze transactie op de volgende pagina bevestigen." +msgstr "U kunt deze transactie op de volgende pagina bevestigen." -#: src/jade/tabs/login.jade:85 +#: src/jade/tabs/login.jade:99 msgid "New to {{productName}}? {{1:Create a wallet}}" msgstr "Nieuw bij {{productName}}? {{1:Maak een portefeuille aan}}" -#: src/jade/tabs/login/form.jade:11 src/jade/tabs/security.jade:82 +#: src/jade/tabs/login/form.jade:12 src/jade/tabs/security.jade:91 msgid "" "Please enter the verification code from the SMS message sent to your device:" -msgstr "Voer hier de verificatiecode in van het SMS bericht dat naar uw apparaat is verzonden:" +msgstr "Voer hier de verificatiecode in van het SMS-bericht dat naar uw apparaat is verzonden:" -#: src/jade/tabs/login/form.jade:12 src/jade/tabs/security.jade:83 +#: src/jade/tabs/login/form.jade:13 src/jade/tabs/security.jade:92 msgid "" "Please enter the verification code from the Authy app installed on your " "device:" -msgstr "Voer hier de verificatiecode in van de Authy app die op uw apparaat is geinstalleerd." +msgstr "Voer hier de verificatiecode in van de Authy app die op uw apparaat is geinstalleerd:" -#: src/jade/tabs/login/form.jade:22 +#: src/jade/tabs/login/form.jade:23 msgid "Resend" msgstr "Opnieuw verzenden" -#: src/jade/tabs/login/form.jade:23 src/jade/tabs/security.jade:95 +#: src/jade/tabs/login/form.jade:24 src/jade/tabs/security.jade:105 msgid "Send Via SMS" msgstr "Via SMS Versturen" -#: src/jade/tabs/login/form.jade:29 -msgid "Remember me on this device for 30 days" -msgstr "Onthoud mij op dit apparaat voor de komende 30 dagen" +#: src/jade/tabs/login/form.jade:30 +msgid "Remember me on this device for 30 days" +msgstr "Onthoud mij op dit apparaat voor de komende 30 dagen" + +#: src/jade/tabs/migrate.jade:10 src/jade/tabs/register.jade:17 +#: src/jade/tabs/register.jade:142 src/jade/tabs/register.jade:189 +msgid "Migrate" +msgstr "Migreren" + +#: src/jade/tabs/migrate.jade:11 +msgid "" +"To begin migration, enter the name and passphrase used to encrypt your " +"ripple.com/client wallet below. After migration, you will no longer be able " +"to login on ripple.com/client." +msgstr "Om te beginnen met migreren voert u hieronder de naam en het wachtwoord in die zijn gebruikt bij het versleutelen van uw ripple.com/client portefeuille. Na migratie zult u niet langer in staat zijn in te loggen op ripple.com/client." + +#: src/jade/tabs/migrate.jade:15 +msgid "Existing ripple.com/client Wallet name" +msgstr "Bestaande ripple.com/client Portefeuille-naam" + +#: src/jade/tabs/migrate.jade:18 +msgid "Passphrase" +msgstr "Wachtwoord" + +#: src/jade/tabs/migrate.jade:31 +msgid "Begin Migration" +msgstr "Start Migratie" + +#: src/jade/tabs/migrate.jade:32 +msgid "New to {{productName}}? {{1:Sign Up}}" +msgstr "Nieuw bij {{productName}}? {{1:Meld u aan}}" + +#: src/jade/tabs/migrate.jade:34 +msgid "Have a {{productName}} account? {{1:Log In}}" +msgstr "Heeft u een {{productName}} account? {{1:Log In}}" + +#: src/jade/tabs/mxn.jade:38 +msgid "Mexican Peso Deposit" +msgstr "Mexicaanse Peso-storting" + +#: src/jade/tabs/mxn.jade:42 +msgid "Bitso (~bitso) {{1}}{{2}}" +msgstr "Bitso (~bitso) {{1}}{{2}}" + +#: src/jade/tabs/mxn.jade:47 +msgid "All countries except the US" +msgstr "Alle landen behalve de VS" + +#: src/jade/tabs/mxn.jade:58 +msgid "" +"Ripple Trade has partnered with Bitso to provide easy access to MXN (Mexican" +" Peso). By continuing, you agree with Bitso’s terms of service. Following " +"this action will enable Bitso to hold MXN on your behalf." +msgstr "Ripple Trade werkt samen met Bitso om toegang tot MXN (Mexicaanse Peso) te vereenvoudigen. Bij doorklikken gaat u akkoord met de algemene voorwaarden van Bitso. Dit stelt Bitso in staat om MXN namens u te bewaren." + +#: src/jade/tabs/mxn.jade:80 +msgid "TO FUND/REDEEM MEXICAN PESO:" +msgstr "OM MEXICAANSE PESOS TE STORTEN/OP TE NEMEN:" + +#: src/jade/tabs/mxn.jade:82 +msgid "Register or login at {{1}}to initiate deposits and withdrawals." +msgstr "Meld u aan of log in bij {{1}}om stortingen en opnames te initiëren." + +#: src/jade/tabs/mxn.jade:86 +msgid "" +"A valid, non-US, state-issued ID (passport, driver's license, etc)." +msgstr "Een door een overheidsdienst uitgegeven, niet-VS, geldig ID (paspoort, rijbewijs, etc)." + +#: src/jade/tabs/mxn.jade:87 +msgid "" +"Proof of address (utility bill or other type of bill that has your address " +"on it). Verification is required for peso deposits or withdrawals." +msgstr "Bewijs van adres (rekening van nutsbedrijf of ander type rekening dat uw adres bevat). Verificatie is vereist voor peso-stortingen en -opnames." + +#: src/jade/tabs/mxn.jade:89 +msgid "" +"To fund your Ripple account, see the below options. Once a balance is " +"deposited with Bitso, you can send it to your Ripple account using the Bitso" +" Dashboard." +msgstr "Zie onderstaande opties om uw Ripple-account te financieren. Zodra u saldo heeft bij Bitso kunt u dit naar uw Ripple-account sturen met behulp van het Bitso Dashboard." + +#: src/jade/tabs/mxn.jade:90 +msgid "" +"To withdraw from your Ripple account, click on the 'Redeem from Ripple' " +"button on the Bitso Dashboard." +msgstr "Voor opnames uit uw Ripple-account klikt u op de knop 'Redeem from Ripple' in het Bitso Dashboard." + +#: src/jade/tabs/mxn.jade:92 src/jade/tabs/usd.jade:89 +msgid "DEPOSIT OPTIONS" +msgstr "OPTIES VOOR STORTEN" + +#: src/jade/tabs/mxn.jade:94 +msgid "Bitso accepts deposits by the following methods:" +msgstr "Bitso accepteert stortingen via de volgende methoden:" + +#: src/jade/tabs/mxn.jade:96 src/jade/tabs/mxn.jade:106 +msgid "Bank Wire" +msgstr "Overschrijving" -#: src/jade/tabs/migrate.jade:5 src/jade/tabs/register.jade:10 -#: src/jade/tabs/register.jade:116 src/jade/tabs/register.jade:159 -msgid "Migrate" -msgstr "Migreren" +#: src/jade/tabs/mxn.jade:97 src/jade/tabs/mxn.jade:107 +msgid "SPEI (Mexican instant inter-bank transfer)" +msgstr "SPEI (Mexicaanse directe inter-bank-overdracht)" -#: src/jade/tabs/migrate.jade:6 -msgid "" -"To begin migration, enter the name and passphrase used to encrypt your " -"ripple.com/client wallet below. After migration, you will no longer be able " -"to login on ripple.com/client." -msgstr "Om te beginnen met migreren voert u hieronder de naam en het wachtwoord in die zijn gebruikt bij het versleutelen van uw ripple.com/client portefeuille. Na migratie zult u niet langer in staat zijn in te loggen op ripple.com/client." +#: src/jade/tabs/mxn.jade:98 src/jade/tabs/mxn.jade:108 +msgid "Bitcoin" +msgstr "Bitcoin" -#: src/jade/tabs/migrate.jade:10 -msgid "Existing ripple.com/client Wallet name" -msgstr "Bestaande ripple.com/client Portefeuille naam" +#: src/jade/tabs/mxn.jade:99 +msgid "MXN Cash (at locations across Mexico)" +msgstr "MXN-Cash (op locaties door Mexico)" -#: src/jade/tabs/migrate.jade:13 -msgid "Passphrase" -msgstr "Wachtwoordzin" +#: src/jade/tabs/mxn.jade:100 +msgid "Pademobile wallet" +msgstr "Pademobile wallet" -#: src/jade/tabs/migrate.jade:25 -msgid "Begin Migration" -msgstr "Start de migratie" +#: src/jade/tabs/mxn.jade:102 src/jade/tabs/usd.jade:99 +msgid "WITHDRAWAL OPTIONS" +msgstr "OPTIES VOOR OPNAME" -#: src/jade/tabs/migrate.jade:28 -msgid "Have a {{productName}} account? {{1:Log In}}" -msgstr "Heeft u een {{productName}} account? {{1:Log In}}" +#: src/jade/tabs/mxn.jade:104 +msgid "Bitso offers withdrawals via the following methods:" +msgstr "Bitso ondersteunt opnames via de volgende methoden:" -#: src/jade/tabs/recover.jade:7 +#: src/jade/tabs/recover.jade:11 msgid "" "You can only recover your Ripple Trade account with a secret key. You will " "recover the account's Ripple name, contacts and other information." -msgstr "U kan uw Ripple Trade portefeuille enkel herstellen met een geheime sleutel. U zal hiermee de Ripple naam, de contacten en alle andere informatie van account terug herstellen." +msgstr "U kunt uw Ripple Trade account enkel herstellen met een beveiligingssleutel. U kunt hiermee de Ripple-naam, de contacten en alle andere informatie van het account recupereren." -#: src/jade/tabs/recover.jade:9 src/jade/tabs/recover.jade:28 +#: src/jade/tabs/recover.jade:13 src/jade/tabs/recover.jade:33 msgid "Ripple Name" -msgstr "Ripple Naam" +msgstr "Ripple-naam" -#: src/jade/tabs/recover.jade:14 +#: src/jade/tabs/recover.jade:18 msgid "Secret Key" msgstr "Beveiligingssleutel" -#: src/jade/tabs/recover.jade:17 +#: src/jade/tabs/recover.jade:21 msgid "Unable to recover account." -msgstr "Het is niet mogelijk om de portefeuille te herstellen." +msgstr "Het is niet mogelijk om de portefeuille te recupereren." -#: src/jade/tabs/recover.jade:22 src/jade/tabs/register.jade:74 +#: src/jade/tabs/recover.jade:27 src/jade/tabs/register.jade:95 msgid "Recover Account" -msgstr "Herstel Portefeuille" +msgstr "Portefeuille Recupereren" -#: src/jade/tabs/recover.jade:24 src/jade/tabs/recover.jade:50 +#: src/jade/tabs/recover.jade:29 src/jade/tabs/recover.jade:56 msgid "Set Password" -msgstr "Stel Wachtwoord in" +msgstr "Wachtwoord Instellen" -#: src/jade/tabs/recover.jade:26 +#: src/jade/tabs/recover.jade:31 msgid "" "Your account was sucessfully recovered. Please re-encrypt your account with " "a new password." -msgstr "Uw portefeuille is met succes hersteld. Gelieve uw portefeuille opnieuw te versleutelen met een nieuw wachtwoord." +msgstr "Uw portefeuille is met succes gerecupereerd. Gelieve uw portefeuille opnieuw te versleutelen met een nieuw wachtwoord." -#: src/jade/tabs/recover.jade:36 src/jade/tabs/register.jade:45 -#: src/jade/tabs/security.jade:119 +#: src/jade/tabs/recover.jade:41 src/jade/tabs/register.jade:62 +#: src/jade/tabs/security.jade:132 msgid "" "Your password is weak. It does not contain numbers and symbols or it is too " "short." msgstr "Uw wachtwoord is zwak. Het bevat geen nummers en symbolen, of is te kort." -#: src/jade/tabs/recover.jade:38 src/jade/tabs/register.jade:47 -#: src/jade/tabs/security.jade:121 +#: src/jade/tabs/recover.jade:43 src/jade/tabs/register.jade:65 +#: src/jade/tabs/security.jade:134 msgid "" "Your Ripple name and password cannot match. Please create a new password." -msgstr "Uw Ripple naam en wachtwoord mogen niet identiek zijn. Kies een ander pastwoord." +msgstr "Uw Ripple-naam en -wachtwoord mogen niet identiek zijn. Kies een ander wachtwoord." + +#: src/jade/tabs/recover.jade:45 src/jade/tabs/register.jade:67 +#: src/jade/tabs/security.jade:136 +msgid "Confirm password" +msgstr "Bevestig wachtwoord" + +#: src/jade/tabs/recover.jade:48 src/jade/tabs/register.jade:71 +#: src/jade/tabs/security.jade:139 +msgid "Passwords do not match" +msgstr "Wachtwoorden komen niet overeen" -#: src/jade/tabs/recover.jade:45 +#: src/jade/tabs/recover.jade:50 msgid "Unable to change your account password." msgstr "Uw wachtwoord kan niet worden gewijzigd." -#: src/jade/tabs/recover.jade:49 +#: src/jade/tabs/recover.jade:55 msgid "Updating..." -msgstr "Updaten..." +msgstr "Bezig met updaten..." -#: src/jade/tabs/recover.jade:51 +#: src/jade/tabs/recover.jade:57 msgid "Remember your password? {{1:Log In}}" -msgstr "Herinner uw wachtwoord? {{1:Log In}}" +msgstr "Herinnert u zich uw wachtwoord? {{1:Log In}}" -#: src/jade/tabs/register.jade:5 -msgid "" -"Ripple Trade is the only platform where you can trade between stores of " -"value spanning fiat, crypto, precious metals and more." -msgstr "Ripple Trade is het enige platform waarop u kunt handelen in verschillende middelen van waarde zoals fiat geld, cryptovaluta, edele metalen en meer." - -#: src/jade/tabs/register.jade:9 src/jade/tabs/register.jade:90 -#: src/jade/tabs/register.jade:115 src/jade/tabs/register.jade:158 +#: src/jade/tabs/register.jade:13 src/jade/tabs/register.jade:109 +#: src/jade/tabs/register.jade:141 src/jade/tabs/register.jade:188 msgid "Sign Up" -msgstr "Registreren" +msgstr "Aanmelden" -#: src/jade/tabs/register.jade:12 src/jade/tabs/register.jade:14 -#: src/jade/tabs/register.jade:16 src/jade/tabs/register.jade:120 -#: src/jade/tabs/register.jade:122 src/jade/tabs/register.jade:161 -#: src/jade/tabs/register.jade:163 src/jade/tabs/register.jade:165 +#: src/jade/tabs/register.jade:19 src/jade/tabs/register.jade:21 +#: src/jade/tabs/register.jade:23 src/jade/tabs/register.jade:146 +#: src/jade/tabs/register.jade:148 src/jade/tabs/register.jade:191 +#: src/jade/tabs/register.jade:193 src/jade/tabs/register.jade:195 msgid "Step {{1}}" msgstr "Stap {{1}}" -#: src/jade/tabs/register.jade:19 +#: src/jade/tabs/register.jade:26 msgid "Create Ripple name" -msgstr "Creëer een Ripple naam" +msgstr "Creëer Ripple-naam" -#: src/jade/tabs/register.jade:20 +#: src/jade/tabs/register.jade:27 msgid "" "Please choose a Ripple name below. You will use this Ripple name to login to" " Ripple Trade, so remember it! Ripple names are unique and public, like your" " current Ripple address. {{1}}" -msgstr "Kies een Ripple naam hieronder. Met deze Ripple naam moet U inloggen in Ripple Trade, U dient deze naam dus te onthouden. Ripple namen zijn uniek en publiek, net als uw huidige Ripple adres. {{1}}" +msgstr "Kies hieronder een Ripple-naam. U gebruikt deze Ripple-naam om in te loggen op Ripple Trade, dus onthoud hem goed! Ripple-namen zijn uniek en publiekelijk, net als uw huidige Ripple-adres. {{1}}" -#: src/jade/tabs/register.jade:21 +#: src/jade/tabs/register.jade:28 msgid "Learn More" -msgstr "Meer info" +msgstr "Meer Lezen" + +#: src/jade/tabs/register.jade:41 +msgid "Reserved for {{usernameReservedFor}}" +msgstr "Gereserveerd voor {{usernameReservedFor}}" + +#: src/jade/tabs/register.jade:43 +msgid "" +"This name belongs to a high-traffic website and has been reserved to prevent" +" phishing." +msgstr "Deze naam behoort tot een drukbezochte website en is gereserveerd om phishing te voorkomen." -#: src/jade/tabs/register.jade:36 +#: src/jade/tabs/register.jade:49 msgid "You can only use the following characters: a-z, 0-9 and hyphens (-)" msgstr "U kunt enkel gebruik maken van de volgende tekens: a-z, 0-9 en afbreekstreepjes (-)" -#: src/jade/tabs/register.jade:39 +#: src/jade/tabs/register.jade:55 msgid "Cannot use hyphens in a row (--)" msgstr "Afbreekstreepjes kunnen elkaar niet opvolgen (--)" -#: src/jade/tabs/register.jade:60 +#: src/jade/tabs/register.jade:80 msgid "Email address is invalid" -msgstr "Email adres is ongeldig." +msgstr "E-mail adres is ongeldig." -#: src/jade/tabs/register.jade:62 src/jade/tabs/security.jade:138 +#: src/jade/tabs/register.jade:82 src/jade/tabs/security.jade:151 msgid "Secret key" -msgstr "Geheime beveiligingssleutel:" +msgstr "Beveiligingssleutel" -#: src/jade/tabs/register.jade:63 src/jade/tabs/send.jade:50 -#: src/jade/tabs/trade.jade:331 src/jade/tabs/trade.jade:337 +#: src/jade/tabs/register.jade:83 src/jade/tabs/send.jade:43 +#: src/jade/tabs/trade.jade:441 msgid "hide" msgstr "verberg" -#: src/jade/tabs/register.jade:67 +#: src/jade/tabs/register.jade:88 msgid "Secret Account Key is invalid" -msgstr "Ongeldige geheime sleutel" +msgstr "Beveiligingssleutel is ongeldig" -#: src/jade/tabs/register.jade:69 +#: src/jade/tabs/register.jade:90 msgid "" "The account ~{{1}}{{2}} has already been created using this secret key." -msgstr "De portefeuille ~ {{1}} {{2}} is reeds aangemaakt met behulp van deze geheime sleutel." - -#: src/jade/tabs/register.jade:75 -msgid "Need to use your secret key? {{1}}" -msgstr "Heeft u uw geheime sleutel nodig? {{1}}" - -#: src/jade/tabs/register.jade:77 -msgid "Use key" -msgstr "Gebruik sleutel" +msgstr "Het account ~{{1}} {{2}} is reeds aangemaakt met behulp van deze beveiligingssleutel." -#: src/jade/tabs/register.jade:80 -msgid "I agree to the {{productName}} {{1:end-user license agreement}}" -msgstr "Ik ga akkoord met de {{productName}} {{1:licentieovereenkomst voor eindgebruikers}}" +#: src/jade/tabs/register.jade:98 +msgid "I agree to the {{productName}} {{1:Terms of Use}}" +msgstr "Ik ga akkoord met de {{productName}} {{1:Gebruiksvoorwaarden}}" -#: src/jade/tabs/register.jade:83 +#: src/jade/tabs/register.jade:101 msgid "" "Please see our {{1}} to see how we collect, use and share information about " "you" msgstr "Lees onze {{1}} om er achter te komen hoe wij informatie over u vergaren, gebruiken en delen" -#: src/jade/tabs/register.jade:91 +#: src/jade/tabs/register.jade:110 msgid "Migrate Account" -msgstr "Migreer Portefeille" +msgstr "Migreer Account" + +#: src/jade/tabs/register.jade:111 +msgid "Need to use your secret key? {{1}}" +msgstr "Heeft u uw beveiligingssleutel nodig? {{1}}" + +#: src/jade/tabs/register.jade:113 +msgid "Use key" +msgstr "Gebruik sleutel" -#: src/jade/tabs/register.jade:100 +#: src/jade/tabs/register.jade:121 msgid "An error occurred during registration. Please try again later." -msgstr "Er trad een fout op tijdens het registreren. Probeert u het later opnieuw." +msgstr "Er is een fout opgetreden bij het registreren. Probeert u het later nog eens." -#: src/jade/tabs/register.jade:101 +#: src/jade/tabs/register.jade:122 msgid "The reported error was: {{1}}" msgstr "De foutmelding betrof: {{1}}" -#: src/jade/tabs/register.jade:109 +#: src/jade/tabs/register.jade:131 msgid "" "There is already a wallet using this username, please choose a different " "username and try again." -msgstr "Er is reeds een portefeuille met deze naam, kies alstublieft een andere naam en probeert u het later opnieuw." +msgstr "Er is reeds een portefeuille met deze naam, kies alstublieft een andere naam en probeer het dan opnieuw." -#: src/jade/tabs/register.jade:124 +#: src/jade/tabs/register.jade:150 msgid "" "By proceeding, you understand that Ripple Trade does not provide a password " "or secret key recovery mechanism. If you forget your Ripple name/password " "and secret key, you will be unable to access this Ripple account." -msgstr "Door verder te gaan, geef je aan te begrijpen dat Ripple Trade niet voorziet in een herstelmechanisme om een wachtwoord of geheime sleutel te recupereren. Als u zowel uw Ripple naam/wachtwoord als de geheime sleutel vergeet, heeft U geen toegang meer tot deze Ripple portefeuille." +msgstr "Door verder te gaan geeft u aan te begrijpen dat Ripple Trade niet voorziet in een herstelmechanisme om een wachtwoord of beveiligingssleutel te herkrijgen. Als u zowel uw Ripple-naam/-wachtwoord als de beveiligingssleutel vergeet, heeft u geen toegang meer tot dit Ripple-account." -#: src/jade/tabs/register.jade:129 +#: src/jade/tabs/register.jade:155 msgid "" "You are now migrating your account- meaning you'll no longer be able to " "access your account from ripple.com/client. You will retain all of your " "balances, contacts, and account history. Your account will use the same " "secret key as before. If you have already saved your secret key, please " "continue your migration." -msgstr "U gaat nu uw portefeuille migreren - Dit betekent dat U niet langer zal in staat zijn om toegang te krijgen tot uw portefeuille vanaf ripple.com/cliënt. U zal na de migratie al uw saldi, contacten, en de portefeuille-geschiedenis behouden. Uw portefeille zal dezelfde geheime sleutel gebruiken als voorheen. Als U uw geheime sleutel reeds heeft opgeslagen, kunt U verder gaan met de migratie." +msgstr "U gaat nu uw account migreren. Dit betekent dat u niet langer toegang houdt tot uw account op ripple.com/client. U zult met de migratie al uw saldi, contacten, en uw gehele accountgeschiedenis behouden. Uw account zal dezelfde beveiligingssleutel gebruiken als voorheen. Als u uw beveiligingssleutel reeds heeft opgeslagen dan kunt u door met migreren." -#: src/jade/tabs/register.jade:136 +#: src/jade/tabs/register.jade:162 msgid "" "The secret key unlocks access to all your account funds in the event you " "lose your Ripple name or password. Please write it down and store it " "somewhere private and safe. {{1:Read more}} about keys and wallet safety." -msgstr "De beveiligingssleutel geeft u toegang tot al uw financiën in het geval dat u uw Ripple naam of wachtwoord kwijtraakt. Schrijf deze op en bewaar het op een veilige plek. {{1:Meer info}} over beveiligingssleutels en portefeuille-beveiliging." +msgstr "De beveiligingssleutel geeft u toegang tot al uw vermogen in het geval u uw Ripple-naam of -wachtwoord bent verloren. Schrijf deze alstublieft op en bewaar hem op een veilige plek. {{1:Lees meer}} over beveiligingssleutels en portefeuillebeveiliging." -#: src/jade/tabs/register.jade:141 +#: src/jade/tabs/register.jade:167 msgid "" "If you have not saved your secret key, please write it down and store it " "somewhere private and safe. In the event you lose your Ripple name or " "password, you can use this secret key to recover your funds." -msgstr "Als U uw geheime sleutel niet heeft opgeslagen, schrijf deze op en bewaar hem ergens privaat en veilig. In het geval U uw Ripple of wachtwoord verliest, kunt u deze geheime sleutel gebruiken om uw portefeuille en uw geld te recupereren." +msgstr "Als u uw beveiligingssleutel niet heeft opgeslagen, schrijf deze dan op en bewaar hem op een veilige plek. In het geval u uw Ripple-naam of -wachtwoord verliest, kunt u deze beveiligingssleutel gebruiken om uw vermogen te herkrijgen." + +#: src/jade/tabs/register.jade:176 +msgid "Show secret key" +msgstr "Toon beveiligingssleutel" + +#: src/jade/tabs/register.jade:177 +msgid "Hide secret key" +msgstr "Verberg beveiligingssleutel" -#: src/jade/tabs/register.jade:154 +#: src/jade/tabs/register.jade:180 msgid "Continue to email verification" -msgstr "Verder naar e-mail verificatie" +msgstr "Verder naar e-mailverificatie" -#: src/jade/tabs/register.jade:167 +#: src/jade/tabs/register.jade:197 msgid "" "We’ve sent an email to {{1}}. To complete registration, click the link in " "the email." -msgstr "We hebben een email gestuurd naar {{1}}. Om uw registratie gereed te maken, klikt u op de link in de email." +msgstr "We hebben een e-mail verzonden naar {{1}}. Klik op de link in de e-mail om de registratie te voltooien." -#: src/jade/tabs/register.jade:170 +#: src/jade/tabs/register.jade:200 msgid "Email token has been resent." -msgstr "E-mail token is opnieuw verzonden" +msgstr "E-mail token is opnieuw verzonden." -#: src/jade/tabs/register.jade:173 +#: src/jade/tabs/register.jade:203 msgid "Email Address:" -msgstr "E-mail Adres" +msgstr "E-mailadres:" -#: src/jade/tabs/register.jade:178 +#: src/jade/tabs/register.jade:210 msgid "Re-send Email" -msgstr "Verstuur de email opnieuw" +msgstr "Verzend e-mail opnieuw" -#: src/jade/tabs/security.jade:5 +#: src/jade/tabs/security.jade:7 msgid "Active Session Timeout" -msgstr "Actieve Sessie Timeout" +msgstr "Actieve Sessie-timeout" -#: src/jade/tabs/security.jade:6 +#: src/jade/tabs/security.jade:8 msgid "" "To view or edit your security settings, you must currently have an active " "session." msgstr "Om uw beveiligingsinstellingen te kunnen zien of bewerken moet u een actieve sessie hebben." -#: src/jade/tabs/security.jade:13 +#: src/jade/tabs/security.jade:16 msgid "Restore Session" msgstr "Sessie Herstellen" -#: src/jade/tabs/security.jade:22 +#: src/jade/tabs/security.jade:25 msgid "Your Ripple password has been changed, please login again" -msgstr "Uw Ripple wachtwoord is met succes gewijzigd." +msgstr "Uw Ripple-wachtwoord is succesvol gewijzigd. Gelieve opnieuw in te loggen." -#: src/jade/tabs/security.jade:24 +#: src/jade/tabs/security.jade:27 msgid "Couldn't change your Ripple password, please try again later." -msgstr "Uw Ripple wachtwoord kon niet worden gewijzigd, probeer het later opnieuw." +msgstr "Uw Ripple-wachtwoord kon niet worden gewijzigd. Probeert u het later nog eens." -#: src/jade/tabs/security.jade:27 +#: src/jade/tabs/security.jade:30 msgid "Changing your Ripple password..." -msgstr "Uw Ripple wachtwoord wordt aangepast..." +msgstr "Uw Ripple-wachtwoord wordt gewijzigd..." -#: src/jade/tabs/security.jade:28 +#: src/jade/tabs/security.jade:31 msgid "Your Ripple password has been changed successfully." -msgstr "Uw Ripple wachtwoord is met succes gewijzigd." +msgstr "Uw Ripple-wachtwoord is succesvol gewijzigd." -#: src/jade/tabs/security.jade:29 +#: src/jade/tabs/security.jade:32 msgid "Unable to load Two-factor authentication settings." msgstr "Instellingen voor Two-factor authentication konden niet worden geladen." -#: src/jade/tabs/security.jade:30 +#: src/jade/tabs/security.jade:33 msgid "Error saving Two-factor authentication settings." msgstr "Er is een fout opgetreden bij het opslaan van de instellingen voor Two-factor authentication." -#: src/jade/tabs/security.jade:31 +#: src/jade/tabs/security.jade:34 msgid "The verification code is invalid." msgstr "De verificatiecode is ongeldig." -#: src/jade/tabs/security.jade:32 +#: src/jade/tabs/security.jade:36 msgid "Two-factor authentication has been successfully enabled." msgstr "Two-factor authentication is succesvol aangezet." -#: src/jade/tabs/security.jade:33 +#: src/jade/tabs/security.jade:37 msgid "Two-factor authentication has been successfully disabled." msgstr "Two-factor authentication is succesvol uitgezet." +#: src/jade/tabs/security.jade:38 +msgid "Password protection has been successfully enabled." +msgstr "Wachtwoordbeveiliging is succesvol aangezet." + #: src/jade/tabs/security.jade:39 +msgid "Password protection has been successfully disabled." +msgstr "Wachtwoordbeveiliging is succesvol uitgezet." + +#: src/jade/tabs/security.jade:45 msgid "Security settings" msgstr "Beveiligingsinstellingen" -#: src/jade/tabs/security.jade:44 +#: src/jade/tabs/security.jade:51 msgid "Loading Two-factor authentication settings..." -msgstr "Bezig met het laden van de instellingen voor Two-factor authentication..." +msgstr "Instellingen voor Two-factor authentication worden geladen..." -#: src/jade/tabs/security.jade:47 +#: src/jade/tabs/security.jade:55 msgid "Enabled" msgstr "Aangezet" -#: src/jade/tabs/security.jade:48 +#: src/jade/tabs/security.jade:56 msgid "Disabled" msgstr "Uitgezet" -#: src/jade/tabs/security.jade:50 +#: src/jade/tabs/security.jade:58 msgid "disable" msgstr "uitzetten" -#: src/jade/tabs/security.jade:52 +#: src/jade/tabs/security.jade:60 msgid "enable" msgstr "aanzetten" -#: src/jade/tabs/security.jade:58 +#: src/jade/tabs/security.jade:66 msgid "" "Authy is providing two-factor authentication for Ripple Trade. To enable " "two-factor authentication, you must share some information with Authy." -msgstr "Two-factor authentication voor Ripple trade wordt mogelijk gemaakt door Authy. Om two-factor authentication aan te zetten moet u bepaalde informatie delen met Authy." +msgstr "Two-factor authentication voor Ripple Trade wordt mogelijk gemaakt door Authy. Om two-factor authentication aan te zetten moet u bepaalde informatie delen met Authy." -#: src/jade/tabs/security.jade:61 +#: src/jade/tabs/security.jade:69 msgid "- Your email address:" -msgstr "- Uw e-mail adres:" +msgstr "- Uw e-mailadres:" -#: src/jade/tabs/security.jade:64 +#: src/jade/tabs/security.jade:72 msgid "- Your phone number:" msgstr "- Uw telefoonnummer" -#: src/jade/tabs/security.jade:66 +#: src/jade/tabs/security.jade:74 msgid "By proceeding, you agree to the Authy {{1: terms of service.}}" msgstr "Door verder te gaan accepteert u de {{1: Algemene voorwaarden}} van Authy" -#: src/jade/tabs/security.jade:70 +#: src/jade/tabs/security.jade:78 msgid "Share" msgstr "Delen" -#: src/jade/tabs/security.jade:75 +#: src/jade/tabs/security.jade:84 msgid "Saving settings..." -msgstr "Bezig met opslaan..." +msgstr "Instellingen worden opgeslagen..." -#: src/jade/tabs/security.jade:76 +#: src/jade/tabs/security.jade:85 msgid "Disabling Two-factor authentication..." msgstr "Two-factor authentication wordt uitgezet..." -#: src/jade/tabs/security.jade:77 +#: src/jade/tabs/security.jade:86 msgid "Enabling Two-factor authentication..." msgstr "Two-factor authentication wordt aangezet..." -#: src/jade/tabs/security.jade:94 +#: src/jade/tabs/security.jade:104 msgid "Resend Code" msgstr "Code Opnieuw Verzenden" -#: src/jade/tabs/security.jade:99 +#: src/jade/tabs/security.jade:110 msgid "Enable" msgstr "Aanzetten" -#: src/jade/tabs/security.jade:103 +#: src/jade/tabs/security.jade:114 msgid "Ripple password" -msgstr "Ripple wachtwoord" +msgstr "Ripple-wachtwoord" -#: src/jade/tabs/security.jade:116 +#: src/jade/tabs/security.jade:129 msgid "New password" msgstr "Nieuw wachtwoord" -#: src/jade/tabs/security.jade:140 +#: src/jade/tabs/security.jade:153 msgid "" "Your secret key unlocks access to your account funds. Please write it down " "and store it somewhere private and safe. In the event you lose your Ripple " "name or password, you can use this secret key to recover your funds." -msgstr "Uw beveligingssleutel biedt toegang tot al uw financiën. Schrijf deze op om op een veilige plek te bewaren. In het geval u uw Ripple naam of wachtwoord verliest, kunt u deze beveiligingssleutel gebruiken om uw financiën te herkrijgen." +msgstr "Uw beveligingssleutel biedt toegang tot al uw vermogen. Schrijf deze op om op een veilige plek te bewaren. In het geval u uw Ripple-naam of -wachtwoord verliest, kunt u deze beveiligingssleutel gebruiken om uw vermogen te herkrijgen." -#: src/jade/tabs/security.jade:150 +#: src/jade/tabs/security.jade:165 msgid "Password protection for transactions" msgstr "Wachtwoordbeveiliging voor transacties" -#: src/jade/tabs/security.jade:153 +#: src/jade/tabs/security.jade:168 msgid "" "If you turn off password requests, you’ll still need to enter your password " "after each page refresh." msgstr "Ook als u wachtwoordverzoeken uitzet dient u telkens na het vernieuwen van de pagina uw wachtwoord in te voeren." -#: src/jade/tabs/security.jade:161 +#: src/jade/tabs/security.jade:176 msgid "Yes" msgstr "Ja" -#: src/jade/tabs/security.jade:162 +#: src/jade/tabs/security.jade:177 msgid "No" msgstr "Nee" +#: src/jade/tabs/security.jade:192 +msgid "Delete Ripple Trade account" +msgstr "Verwijder Ripple Trade-account" + +#: src/jade/tabs/security.jade:194 +msgid "" +"This deletes your Ripple Trade account. You will no longer be able to login " +"to Ripple Trade and your account data will be deleted. However, you can " +"still access your funds using your secret key." +msgstr "Hiermee verwijdert u uw Ripple Trade-account. U zult niet langer in staat zijn in te loggen bij Ripple Trade en uw accountdata zullen worden verwijderd. U houdt echter wel toegang tot uw vermogen met het gebruik van uw beveiligingssleutel." + #: src/jade/tabs/send.jade:12 msgid "You have to be funded before you can send money" -msgstr "Uw account moet gefinancierd zijn voordat u geld kunt verzenden" +msgstr "Uw account moet gefinancierd zijn voordat u geld kunt versturen" -#: src/jade/tabs/send.jade:19 src/jade/tabs/send.jade:32 +#: src/jade/tabs/send.jade:25 msgid "Recipient" msgstr "Ontvanger" -#: src/jade/tabs/send.jade:24 src/jade/tabs/send.jade:37 +#: src/jade/tabs/send.jade:30 msgid "Please enter a recipient." msgstr "Voer een ontvanger in." -#: src/jade/tabs/send.jade:26 +#: src/jade/tabs/send.jade:32 msgid "" "Recipient should be a Ripple name, a contact, or Ripple/Bitcoin address." -msgstr "Ontvanger dient een Ripple naam, contact, of Ripple/Bitcoin adres te zijn." +msgstr "Ontvanger dient een Ripple-naam, contact, of Ripple-/Bitcoinadres te zijn." -#: src/jade/tabs/send.jade:28 src/jade/tabs/send.jade:41 +#: src/jade/tabs/send.jade:34 msgid "This email address is not Ripple-enabled." -msgstr "Dit email-adres heeft geen Ripple functionaliteit." +msgstr "Dit e-mailadres heeft geen Ripple functionaliteit." -#: src/jade/tabs/send.jade:39 -msgid "Recipient should be a contact or Ripple/Bitcoin address." -msgstr "Ontvanger dient een contact of Ripple/Bitcoin adres te zijn." - -#: src/jade/tabs/send.jade:45 +#: src/jade/tabs/send.jade:38 msgid "Show destination tag" -msgstr "Toon bestemmings-etiket" +msgstr "Toon bestemmingskenmerk" -#: src/jade/tabs/send.jade:54 +#: src/jade/tabs/send.jade:47 msgid "Destination cannot be blank." -msgstr "U moet eerst een bestemming kiezen." +msgstr "Bestemming is een verplicht veld." -#: src/jade/tabs/send.jade:55 +#: src/jade/tabs/send.jade:48 msgid "" "Recipient requires a destination tag to be specified for the transaction. If" " you don't know the destination tag, please contact them before doing a " "transaction." msgstr "Ontvanger vereist een bestemmingskenmerk voor de transactie. Als u het bestemmingskenmerk niet weet kunt u contact opnemen met de ontvanger voordat u de transactie uitvoert." -#: src/jade/tabs/send.jade:60 +#: src/jade/tabs/send.jade:53 msgid "Source tag" msgstr "Bron-kenmerk" -#: src/jade/tabs/send.jade:63 +#: src/jade/tabs/send.jade:56 msgid "Invalid source tag" msgstr "Ongeldig bron-kenmerk" -#: src/jade/tabs/send.jade:75 +#: src/jade/tabs/send.jade:59 +msgid "Invoice ID" +msgstr "Factuur ID" + +#: src/jade/tabs/send.jade:62 +msgid "Invoice ID must not be more than 64 characters long." +msgstr "Factuur ID mag maximaal 64 karakters bevatten." + +#: src/jade/tabs/send.jade:77 msgid "Recipient will receive" msgstr "Ontvanger krijgt" -#: src/jade/tabs/send.jade:86 +#: src/jade/tabs/send.jade:88 msgid "{{send.recipient | rpcontactname}} can't receive this currency." msgstr "{{send.recipient | rpcontactname}} kan deze valuta niet ontvangen." -#: src/jade/tabs/send.jade:90 +#: src/jade/tabs/send.jade:92 src/jade/tabs/trust.jade:102 msgid "Amount must be greater than zero." -msgstr "Hoeveelheid moet groter dan nul zijn." +msgstr "Bedrag moet groter zijn dan nul." -#: src/jade/tabs/send.jade:91 +#: src/jade/tabs/send.jade:93 msgid "" -"This transaction exceeds your balance, you can send a max. of " -"{{account.max_spend | rpamount:{rel_precision: 0} }} XRP" -msgstr "Deze transactie overschrijdt uw saldo. U kunt maximaal {{account.max_spend | rpamount:{rel_precision: 0} }} XRP versturen" +"You are either trying to send too little or too much XRP.Minimum amount is " +"0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "U probeert nu ofwel te weinig ofwel te veel XRP te versturen. De minimumbedrag is 0.000001 XRP en het maximum is 100 miljard XRP." -#: src/jade/tabs/send.jade:94 +#: src/jade/tabs/send.jade:97 msgid "" "Recipient does not allow XRP payments. Are you sure you want to send XRP " "anyway?" -msgstr "De ontvanger staat geen betalingen met XRP toe. Weet u zeker dat u toch XRP wilt verzenden?" +msgstr "De ontvanger staat geen betalingen in XRP toe. Weet u zeker dat u toch XRP wilt versturen?" -#: src/jade/tabs/send.jade:96 +#: src/jade/tabs/send.jade:99 msgid "" "{{send.recipient | rpcontactname}}trusts you for {{send.trust_limit | " "rpamount}} {{send.trust_limit | rpcurrency}}." -msgstr "{{send.recipient | rpcontactname}} vertrouwt u toe voor {{send.trust_limit | rpamount}} {{send.trust_limit | rpcurrency}}." +msgstr "{{send.recipient | rpcontactname}} vertrouwt u {{send.trust_limit | rpamount}} {{send.trust_limit | rpcurrency}} toe." -#: src/jade/tabs/send.jade:100 +#: src/jade/tabs/send.jade:103 msgid "Send XRP" -msgstr "Verzend XRP" +msgstr "Verstuur XRP" -#: src/jade/tabs/send.jade:104 +#: src/jade/tabs/send.jade:107 msgid "" "Destination account is unfunded; send at least {{send.xrp_deficiency | " "rpamount}} XRP to fund it.{{1}}" -msgstr "Het account van de ontvanger is niet gefinancierd; verzend tenminste {{send.xrp_deficiency | rpamount}} XRP om het account te financieren.{{1}}" +msgstr "Het account van de ontvanger is niet gefinancierd; verstuur ten minste {{send.xrp_deficiency | rpamount}} XRP om het account te financieren.{{1}}" -#: src/jade/tabs/send.jade:109 +#: src/jade/tabs/send.jade:114 msgid "Checking" -msgstr "Nakijken" +msgstr "Bezig met controleren" -#: src/jade/tabs/send.jade:111 +#: src/jade/tabs/send.jade:117 msgid "Analyzing address" -msgstr "Adres analyseren" +msgstr "Adressen worden geanalyseerd..." -#: src/jade/tabs/send.jade:113 +#: src/jade/tabs/send.jade:120 msgid "Scanning accepted currencies" msgstr "Scannen naar geaccepteerde valuta" -#: src/jade/tabs/send.jade:115 +#: src/jade/tabs/send.jade:123 msgid "Requesting quote" -msgstr "Offerte aan het opvragen" +msgstr "Quote wordt opgevraagd" -#: src/jade/tabs/send.jade:117 +#: src/jade/tabs/send.jade:126 msgid "Calculating paths" -msgstr "Paden aan het berekenen" +msgstr "Paden worden berekend" -#: src/jade/tabs/send.jade:119 +#: src/jade/tabs/send.jade:129 msgid "Calculating alternatives" -msgstr "Alternatieven aan het berekenen" +msgstr "Alternatieven worden berekend" -#: src/jade/tabs/send.jade:121 +#: src/jade/tabs/send.jade:130 msgid "" "You cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. " "Either your account has insufficient funds, or {{send.recipient}} doesn't " "accept {{send.currency}}." -msgstr "U kan {{send.amount}} {{send.currency}} niet naar {{send.recipient}} verzenden. Of het saldo van uw portefeuille is niet toereikend, of {{send.recipient}} aanvaardt geen {{send.currency}}." +msgstr "U kunt {{send.amount}} {{send.currency}} niet naar {{send.recipient}} versturen. Ofwel het saldo op uw account is niet toereikend, ofwel {{send.recipient}} aanvaardt geen {{send.currency}}." -#: src/jade/tabs/send.jade:125 +#: src/jade/tabs/send.jade:134 msgid "" "You cannot send {{send.amount}} {{send.currency}} to{{send.recipient}}. Your" " account has insufficient funds." -msgstr "U kunt geen {{send.amount}} {{send.currency}} versturen naar {{send.recipient}}. Het saldo in uw portefeuille is ontoereikend." +msgstr "U kunt geen {{send.amount}} {{send.currency}} versturen naar{{send.recipient}}. Het saldo in uw portefeuille is ontoereikend." -#: src/jade/tabs/send.jade:128 +#: src/jade/tabs/send.jade:137 msgid "There are no valid currency choices for this destination." msgstr "Voor deze bestemming zijn geen valutakeuzes beschikbaar." -#: src/jade/tabs/send.jade:130 +#: src/jade/tabs/send.jade:139 msgid "Error while retrieving quote for outbound payment. {{1}}" -msgstr "Fout bij het opvragen van een quote voor te verzenden betaling. {{1}}" +msgstr "Fout bij het opvragen van een quote voor de te verzenden betaling. {{1}}" -#: src/jade/tabs/send.jade:139 +#: src/jade/tabs/send.jade:148 msgid "You can send" -msgstr "U kunt verzenden" +msgstr "U gaat versturen" -#: src/jade/tabs/send.jade:141 +#: src/jade/tabs/send.jade:150 msgid "Or you can send" -msgstr "Of u kunt verzenden" +msgstr "Of u kunt versturen" -#: src/jade/tabs/send.jade:155 +#: src/jade/tabs/send.jade:164 msgid "Send {{ alt.amount | rpcurrency }} {{1}}" msgstr "Verstuur {{ alt.amount | rpcurrency }} {{1}}" -#: src/jade/tabs/send.jade:170 +#: src/jade/tabs/send.jade:181 msgid "Ripple is calculating a path for your payment." msgstr "Ripple berekent een pad voor uw betaling." -#: src/jade/tabs/send.jade:176 +#: src/jade/tabs/send.jade:186 msgid "You are sending {{1}} to" -msgstr "U gaat {{1}} verzenden naar" +msgstr "U gaat {{1}} versturen naar" -#: src/jade/tabs/send.jade:184 +#: src/jade/tabs/send.jade:194 msgid "Destination tag: {{send.dt}}" msgstr "Bestemmingskenmerk: {{send.dt}}" -#: src/jade/tabs/send.jade:185 +#: src/jade/tabs/send.jade:195 msgid "They will receive" -msgstr "Diegene ontvangt" +msgstr "Ontvanger krijgt" -#: src/jade/tabs/send.jade:188 +#: src/jade/tabs/send.jade:198 msgid "You will pay at most" -msgstr "Ten hoogste betaalt u" +msgstr "U betaalt ten hoogste" -#: src/jade/tabs/send.jade:194 +#: src/jade/tabs/send.jade:204 msgid "Are you sure?" -msgstr "Weet u het zeker?" +msgstr "Weet u dit zeker?" -#: src/jade/tabs/send.jade:200 +#: src/jade/tabs/send.jade:210 msgid "Password required to unlock wallet" msgstr "Wachtwoord vereist om de portefeuille te ontgrendelen" -#: src/jade/tabs/send.jade:224 src/jade/tabs/send.jade:252 +#: src/jade/tabs/send.jade:234 src/jade/tabs/send.jade:266 msgid "Contact saved!" msgstr "Contact opgeslagen!" -#: src/jade/tabs/send.jade:226 src/jade/tabs/send.jade:254 +#: src/jade/tabs/send.jade:236 src/jade/tabs/send.jade:268 msgid "Add this address to contacts" msgstr "Voeg dit adres toe aan contacten" -#: src/jade/tabs/send.jade:230 src/jade/tabs/send.jade:258 +#: src/jade/tabs/send.jade:242 src/jade/tabs/send.jade:274 msgid "Name this user" msgstr "Benoem deze gebruiker" -#: src/jade/tabs/send.jade:236 src/jade/tabs/send.jade:265 -#: src/jade/tabs/trust.jade:283 +#: src/jade/tabs/send.jade:246 src/jade/tabs/send.jade:278 +msgid "This contact already exists, please choose another name." +msgstr "Dit contact bestaat al, kies alstublieft een andere naam." + +#: src/jade/tabs/send.jade:250 src/jade/tabs/send.jade:283 +#: src/jade/tabs/trust.jade:233 msgid "Saving..." -msgstr "Aan het opslaan..." +msgstr "Bezig met opslaan..." -#: src/jade/tabs/send.jade:241 src/jade/tabs/send.jade:271 +#: src/jade/tabs/send.jade:255 src/jade/tabs/send.jade:289 msgid "Send another payment" msgstr "Verzend nog een betaling" -#: src/jade/tabs/settings/navbar.jade:3 -msgid "Advanced" -msgstr "Geavanceerd" +#: src/jade/tabs/settings/navbar.jade:2 +msgid "Security" +msgstr "Beveiliging" + +#: src/jade/tabs/settingstrade.jade:12 +msgid "Trade settings" +msgstr "Handelsinstellingen" -#: src/jade/tabs/trade.jade:10 -msgid "Loading order book..." -msgstr "Orderboek aan het laden..." +#: src/jade/tabs/settingstrade.jade:14 +msgid "Trade currency pairs" +msgstr "Handelen in valutaparen" -#: src/jade/tabs/trade.jade:23 +#: src/jade/tabs/trade.jade:12 src/jade/tabs/trade.jade:451 +msgid "Loading Order Book" +msgstr "Orderboek Wordt Geladen" + +#: src/jade/tabs/trade.jade:31 src/jade/tabs/widgets/markets.jade:24 msgid "flip" -msgstr "omdraaien" +msgstr "draai" + +#: src/jade/tabs/trade.jade:34 +msgid "add pair" +msgstr "paar toevoegen" -#: src/jade/tabs/trade.jade:27 src/jade/tabs/trade.jade:35 -msgid "Base currency" +#: src/jade/tabs/trade.jade:37 +msgid "edit pairs" +msgstr "paren wijzigen" + +#: src/jade/tabs/trade.jade:41 +msgid "Base Currency" msgstr "Basisvaluta" -#: src/jade/tabs/trade.jade:30 src/jade/tabs/trade.jade:41 -msgid "Change gateway" -msgstr "Gateway veranderen" +#: src/jade/tabs/trade.jade:44 +msgid "Base Gateway" +msgstr "Basis-gateway" + +#: src/jade/tabs/trade.jade:49 +msgid "Counter Currency" +msgstr "Tegenvaluta" -#: src/jade/tabs/trade.jade:38 src/jade/tabs/trade.jade:46 -msgid "Counter currency" -msgstr "Variabele valuta" +#: src/jade/tabs/trade.jade:52 +msgid "Counter Gateway" +msgstr "Tegen-Gateway" -#: src/jade/tabs/trade.jade:50 +#: src/jade/tabs/trade.jade:57 +msgid "Add" +msgstr "Toevoegen" + +#: src/jade/tabs/trade.jade:60 msgid "Base currency issuer ({{order.first_currency | rpcurrency}})" -msgstr "Basis-valuta verstrekker ({{order.first_currency | rpcurrency}})" +msgstr "Basisvaluta verstrekker ({{order.first_currency | rpcurrency}})" -#: src/jade/tabs/trade.jade:55 +#: src/jade/tabs/trade.jade:63 +msgid "Ripple name or contact" +msgstr "Ripple-naam of contact" + +#: src/jade/tabs/trade.jade:65 msgid "Not a valid Ripple address or contact" msgstr "Ongeldig Ripple-adres of contact" -#: src/jade/tabs/trade.jade:60 +#: src/jade/tabs/trade.jade:70 msgid "Counter currency issuer ({{order.second_currency | rpcurrency}})" -msgstr "Contra-valuta verstrekker ({{order.second_currency | rpcurrency}})" +msgstr "Tegenvaluta verstrekker ({{order.second_currency | rpcurrency}})" -#: src/jade/tabs/trade.jade:65 +#: src/jade/tabs/trade.jade:75 msgid "Not a valid Ripple name or address" -msgstr "Ripple naam of adres is ongeldig" +msgstr "Ripple-naam of -adres is ongeldig" -#: src/jade/tabs/trade.jade:69 +#: src/jade/tabs/trade.jade:79 msgid "" -"You must select a gateway to trade currencies. Click the “Change gateway” " -"link above and enter the gateway's address or Ripple name. {{1:Find a " -"gateway.}}" -msgstr "U moet een gateway selecteren om in valuta te handelen. Klik hierboven op \"Gateway veranderen\" en voer het adres of de Ripple naam van de gateway in. {{1:Vind een gateway.}}" +"To show an orderbook, choose from the dropdown above or click \"Add custom " +"pair\"." +msgstr "Om een orderboek te zien klikt u op het keuzemenu of op de knop \"paar toevoegen\"." -#: src/jade/tabs/trade.jade:79 +#: src/jade/tabs/trade.jade:86 msgid "Bid" -msgstr "Aanbod" +msgstr "Bied" -#: src/jade/tabs/trade.jade:84 +#: src/jade/tabs/trade.jade:91 msgid "Ask" -msgstr "Vraag" +msgstr "Laat" -#: src/jade/tabs/trade.jade:89 +#: src/jade/tabs/trade.jade:96 msgid "Spread" -msgstr "Spreiding" +msgstr "Spread" -#: src/jade/tabs/trade.jade:94 +#: src/jade/tabs/trade.jade:101 msgid "Last price" -msgstr "Meest recente prijs" +msgstr "Laatste koers" -#: src/jade/tabs/trade.jade:101 +#: src/jade/tabs/trade.jade:108 msgid "You have to be funded before you can trade" msgstr "Uw account moet gefinancierd zijn voordat u kunt handelen" -#: src/jade/tabs/trade.jade:108 +#: src/jade/tabs/trade.jade:115 msgid "Buy {{1}} {{order.first_currency | rpcurrency}}" msgstr "Koop {{1}} {{order.first_currency | rpcurrency}}" -#: src/jade/tabs/trade.jade:111 +#: src/jade/tabs/trade.jade:118 msgid "Sell {{1}} {{order.first_currency | rpcurrency}}" msgstr "Verkoop {{1}} {{order.first_currency | rpcurrency}}" -#: src/jade/tabs/trade.jade:114 src/jade/tabs/trade.jade:123 +#: src/jade/tabs/trade.jade:121 src/jade/tabs/trade.jade:130 msgid "{{1}} available" msgstr "{{1}} beschikbaar" -#: src/jade/tabs/trade.jade:137 +#: src/jade/tabs/trade.jade:144 msgid "Amount To Buy" -msgstr "Te kopen hoeveelheid" +msgstr "Te Kopen Hoeveelheid" -#: src/jade/tabs/trade.jade:138 +#: src/jade/tabs/trade.jade:145 msgid "Amount To Sell" -msgstr "Te verkopen hoeveelheid" +msgstr "Te Verkopen Hoeveelheid" -#: src/jade/tabs/trade.jade:145 src/jade/tabs/trade.jade:160 -#: src/jade/tabs/trade.jade:175 +#: src/jade/tabs/trade.jade:152 src/jade/tabs/trade.jade:167 +#: src/jade/tabs/trade.jade:182 msgid "Required" msgstr "Vereist" -#: src/jade/tabs/trade.jade:147 src/jade/tabs/trade.jade:162 -#: src/jade/tabs/trade.jade:177 +#: src/jade/tabs/trade.jade:154 src/jade/tabs/trade.jade:169 +#: src/jade/tabs/trade.jade:184 msgid "Must be greater than zero" msgstr "Moet groter zijn dan nul" -#: src/jade/tabs/trade.jade:149 src/jade/tabs/trade.jade:164 -#: src/jade/tabs/trade.jade:179 -msgid "Minimum is a drop (0.000001) and maximum is 100 billion XRPs" -msgstr "Minimum is een 'drop' (0.000001) en maximum is 100 miljard XRP" +#: src/jade/tabs/trade.jade:156 src/jade/tabs/trade.jade:171 +#: src/jade/tabs/trade.jade:186 +msgid "" +"Minimum amount of XRP you can send is a drop (0.000001) and the maximum is " +"100 billion XRPs." +msgstr "Minimumbedrag dat u kunt versturen is een druppel (0.000001) en het maximum is 100 miljard XRP" -#: src/jade/tabs/trade.jade:153 +#: src/jade/tabs/trade.jade:160 msgid "Price of Each" msgstr "Prijs per stuk" -#: src/jade/tabs/trade.jade:168 +#: src/jade/tabs/trade.jade:175 msgid "Order Value (max)" -msgstr "Waarde order (max)" +msgstr "Orderwaarde (max)" -#: src/jade/tabs/trade.jade:185 +#: src/jade/tabs/trade.jade:192 msgid "You are wanting to buy {{1}} for {{2}} ({{3}} per {{4}})" -msgstr "U wilt kopen {{1}} voor {{2}} ({{3}} per {{4}})" +msgstr "U wilt {{1}} kopen voor {{2}} ({{3}} per {{4}})" -#: src/jade/tabs/trade.jade:194 +#: src/jade/tabs/trade.jade:201 msgid "You are wanting to sell {{1}} for {{2}} ({{3}} per {{4}})" -msgstr "U wil verkopen {{1}} voor {{2}} ({{3}} per {{4}})" +msgstr "U wilt {{1}} verkopen voor {{2}} ({{3}} per {{4}})" -#: src/jade/tabs/trade.jade:206 +#: src/jade/tabs/trade.jade:213 msgid "Buy" msgstr "Kopen" -#: src/jade/tabs/trade.jade:207 +#: src/jade/tabs/trade.jade:214 msgid "Sell" msgstr "Verkopen" -#: src/jade/tabs/trade.jade:213 +#: src/jade/tabs/trade.jade:220 msgid "You do not have sufficient funds to create an order." -msgstr "U heeft niet genoeg saldo om een order te creëren." - -#: src/jade/tabs/trade.jade:218 -msgid "CAUTION: Your order is far off from the current market price." -msgstr "LET OP: Uw order wijkt sterk af van de huidige marktprijs." +msgstr "U heeft niet genoeg saldo om een order aan te maken." -#: src/jade/tabs/trade.jade:220 +#: src/jade/tabs/trade.jade:225 msgid "" "You are about to create an order to {{1: buy}} {{2: " -"sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}" -msgstr "U staat op het punt een order aan te maken om {{3}}{{1: te kopen}} {{2: te verkopen}}{{4:voor}}{{5}}{{6}}{{7:Weet u dit zeker?}}" +"sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" +msgstr "U staat op het punt een order aan te maken voor de {{1: aankoop van}} {{2: verkoop van}}{{3}}{{4:voor}}{{5}}{{6}}{{7:Weet u dit zeker?}}{{8}}" + +#: src/jade/tabs/trade.jade:242 +msgid "CAUTION: Your order is far off from the current market price." +msgstr "LET OP: Uw order wijkt sterk af van de huidige koers." -#: src/jade/tabs/trade.jade:239 +#: src/jade/tabs/trade.jade:246 src/jade/tabs/trade.jade:407 msgid "« Back" msgstr "« Terug" -#: src/jade/tabs/trade.jade:246 +#: src/jade/tabs/trade.jade:255 msgid "Sending order to Ripple network..." -msgstr "De order wordt naar het Ripple netwerk verzonden..." +msgstr "Order wordt naar het Ripple-netwerk verzonden..." -#: src/jade/tabs/trade.jade:252 +#: src/jade/tabs/trade.jade:261 msgid "Your order has been submitted." msgstr "Uw order is geplaatst." -#: src/jade/tabs/trade.jade:254 +#: src/jade/tabs/trade.jade:263 msgid "Your order is now active." msgstr "Uw order is nu actief." -#: src/jade/tabs/trade.jade:256 -msgid "Your order is filled." +#: src/jade/tabs/trade.jade:265 +msgid "Your order has been filled." msgstr "Uw order is uitgevoerd." -#: src/jade/tabs/trade.jade:258 -msgid "Request has been denied." -msgstr "Verzoek is geweigerd." +#: src/jade/tabs/trade.jade:267 +msgid "" +"Your order has been partially filled. The remaining amount is now active." +msgstr "Uw order is gedeeltelijk uitgevoerd. Het resterende bedrag is nu actief." -#: src/jade/tabs/trade.jade:259 -msgid "We were unable to submit the request. Please try again later." -msgstr "We waren niet in staat de aanvraag te versturen. Probeert u het later nog eens." +#: src/jade/tabs/trade.jade:276 +msgid "Submit another order" +msgstr "Voeg nog een order toe" -#: src/jade/tabs/trade.jade:261 -msgid "Request is malformed." -msgstr "Verzoek is onjuist." +#: src/jade/tabs/trade.jade:278 +msgid "My Orders{{1}}{{2}}" +msgstr "Mijn Orders{{1}}{{2}}" -#: src/jade/tabs/trade.jade:262 -msgid "" -"Your request is invalid, reason: {{order[type].engine_result}} - " -"{{order[type].engine_result_message}}" -msgstr "Uw verzoek is ongeldig, reden: {{order[type].engine_result}} - {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:287 +msgid "Your order has been modified." +msgstr "Uw order is aangepast." -#: src/jade/tabs/trade.jade:265 src/jade/tabs/trade.jade:279 -msgid "Transaction failed." -msgstr "Transactie is mislukt." +#: src/jade/tabs/trade.jade:289 +msgid "Your order #{{ cancelOrder.seq }} has been cancelled." +msgstr "Uw order #{{ cancelOrder.seq }} is geannuleerd." -#: src/jade/tabs/trade.jade:267 +#: src/jade/tabs/trade.jade:291 msgid "" -"You do not have enough {{(type == 'buy' ? order.second_currency : " -"order.first_currency) | rpcurrency}} to create this order." -msgstr "U heeft niet genoeg {{(type == 'buy' ? order.second_currency : order.first_currency) | rpcurrency}} om deze order aan te maken." +"Your order could not be modified and no longer exists. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "Uw order kon niet geannuleerd worden en bestaat niet meer. Fout: {{order[editOrder.type].engine_result_message}}" -#: src/jade/tabs/trade.jade:269 -msgid "" -"You must have at least {{account.reserve_to_add_trust | rpamount}} XRP to " -"submit an order. {{1}}" -msgstr "U dient ten minste {{account.reserve_to_add_trust | rpamount}} XRP te hebben om een order aan te maken. {{1}}" +#: src/jade/tabs/trade.jade:293 +msgid "Unable to cancel order as it no longer exists." +msgstr "Order kan niet geannuleerd worden omdat deze niet meer bestaat." -#: src/jade/tabs/trade.jade:271 -msgid "More information." -msgstr "Meer informatie." +#: src/jade/tabs/trade.jade:295 +msgid "Modifying your order (Placing new order) ..." +msgstr "Order wordt aangepast (Nieuw order wordt geplaatst)..." -#: src/jade/tabs/trade.jade:272 -msgid "Error: {{order[type].engine_result_message}}" -msgstr "Fout: {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:299 +msgid "Current pair only" +msgstr "Alleen huidige paar" -#: src/jade/tabs/trade.jade:275 -msgid "Trade failed." -msgstr "Handel is mislukt." +#: src/jade/tabs/trade.jade:313 src/jade/tabs/widgets/orders.jade:24 +msgid "reverse" +msgstr "omkeren" -#: src/jade/tabs/trade.jade:277 -msgid "Trade failed, reason: {{order[type].engine_result_message}}" -msgstr "Handel mislukt, reden: {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:322 src/jade/tabs/widgets/orders.jade:33 +msgid "QTY{{1}}" +msgstr "Aantal{{1}}" -#: src/jade/tabs/trade.jade:281 src/jade/tabs/trust.jade:45 -msgid "" -"The particular server you sent the transaction to was too busy to forward or" -" process your transaction at the fee you included in it." -msgstr "De server waar u de transactie naar verstuurde was te druk om deze door te sturen of te verwerken tegen de heffing die u aan deze transactie heeft meegegeven." +#: src/jade/tabs/trade.jade:324 src/jade/tabs/widgets/orders.jade:35 +msgid "Base{{1}}" +msgstr "Basis{{1}}" -#: src/jade/tabs/trade.jade:290 -msgid "Submit another order" -msgstr "Voeg nog een order toe" +#: src/jade/tabs/trade.jade:326 src/jade/tabs/widgets/orders.jade:37 +msgid "Counter{{1}}" +msgstr "Tegen{{1}}" -#: src/jade/tabs/trade.jade:292 -msgid "My Orders{{1}}{{2}}" -msgstr "Mijn Orders{{1}}{{2}}" +#: src/jade/tabs/trade.jade:328 src/jade/tabs/widgets/orders.jade:39 +msgid "Limit{{1}}" +msgstr "Limiet{{1}}" -#: src/jade/tabs/trade.jade:299 -msgid "Type" -msgstr "Type" +#: src/jade/tabs/trade.jade:334 +msgid "Action" +msgstr "Actie" -#: src/jade/tabs/trade.jade:300 -msgid "Currencies {{1: (Issuer)}}" -msgstr "Valuta's {{1: (Uitgever)}}" +#: src/jade/tabs/trade.jade:360 src/jade/tabs/trade.jade:424 +msgid "TRADE CONFIRMATION" +msgstr "HANDELSBEVESTIGING" -#: src/jade/tabs/trade.jade:302 -msgid "Price" -msgstr "Prijs" +#: src/jade/tabs/trade.jade:362 +msgid "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" +msgstr "{{1:Gelieve te bevestigen dat u het volgende order wenst te annuleren: #{{entry.seq}}}}" -#: src/jade/tabs/trade.jade:304 -msgid "Action" -msgstr "Actie" +#: src/jade/tabs/trade.jade:364 +msgid "" +"{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div" +" span.modal-order-type(l10n-inc) REMAIN: span remain data div span" +".modal-order-type(l10n-inc) PLACED: span time data" +msgstr "{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div span.modal-order-type(l10n-inc) REMAIN: span remain data div span.modal-order-type(l10n-inc) PLACED: span time data" -#: src/jade/tabs/trade.jade:313 +#: src/jade/tabs/trade.jade:371 msgid "with" msgstr "met" -#: src/jade/tabs/trade.jade:314 +#: src/jade/tabs/trade.jade:372 msgid "for" msgstr "voor" -# You haven't placed any orders. -#: src/jade/tabs/trade.jade:327 -msgid "You haven't placed any orders." -msgstr "U heeft nog geen orders geplaatst." +#: src/jade/tabs/trade.jade:376 +msgid "at" +msgstr "bij" -#: src/jade/tabs/trade.jade:329 -msgid "Unable to cancel order." -msgstr "Order kan niet geannuleerd worden." +#: src/jade/tabs/trade.jade:389 +msgid "Cancel order" +msgstr "Order annuleren" -#: src/jade/tabs/trade.jade:330 -msgid "Error: {{cancelError}}" -msgstr "Fout: {{cancelError}}" +#: src/jade/tabs/trade.jade:390 src/jade/tabs/trade.jade:431 +msgid "back" +msgstr "terug" -#: src/jade/tabs/trade.jade:334 -msgid "Orderbook" -msgstr "Orderboek" +#: src/jade/tabs/trade.jade:407 +msgid "" +"CAUTION: Your new order is far off from the current market price.
Do " +"you still want to replace your order ?" +msgstr "LET OP: Uw nieuwe order wijkt sterk af van de huidige koers.
Wilt u nog steeds uw order plaatsen?" + +#: src/jade/tabs/trade.jade:410 +msgid "Unable to cancel order. Error: {{entry.errorMsg}}" +msgstr "Order kon niet geannuleerd worden. Fout: {{entry.errorMsg}}" + +#: src/jade/tabs/trade.jade:412 +msgid "" +"Your order amount has been updated by Ripple. Please go back and edit again " +"to modify this order." +msgstr "Uw orderbedrag is aangepast in Ripple. Gelieve terug te gaan om dit order opnieuw aan te passen." + +#: src/jade/tabs/trade.jade:414 +msgid "" +"Your order could not be modified. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "Uw order kon niet worden aangepast. Fout: {{order[editOrder.type].engine_result_message}}" + +#: src/jade/tabs/trade.jade:415 +msgid "X" +msgstr "X" + +#: src/jade/tabs/trade.jade:420 +msgid "cancel all" +msgstr "allen annuleren" + +#: src/jade/tabs/trade.jade:426 +msgid "{{1:Please confirm that you wish to cancel all orders.}}" +msgstr "{{1:Gelieve te bevestigen dat u alle orders wenst te annuleren.}}" -#: src/jade/tabs/trade.jade:336 +#: src/jade/tabs/trade.jade:430 +msgid "Cancel all orders" +msgstr "Alle orders annuleren" + +#: src/jade/tabs/trade.jade:433 src/jade/tabs/widgets/orders.jade:64 +msgid "No current orders. {{1}}" +msgstr "Geen huidige orders. {{1}}" + +#: src/jade/tabs/trade.jade:434 src/jade/tabs/widgets/orders.jade:65 +msgid "View orders history" +msgstr "Bekijk ordergeschiedenis" + +#: src/jade/tabs/trade.jade:437 +msgid "Orderbook{{1}}" +msgstr "Orderboek{{1}}" + +#: src/jade/tabs/trade.jade:440 msgid "show" msgstr "toon" -#: src/jade/tabs/trade.jade:344 +#: src/jade/tabs/trade.jade:442 +msgid "Last updated {{1}} {{2: seconds}} {{3: second}} ago" +msgstr "Laatst geüpdatet: {{1}} {{2: seconden}} {{3: seconde}} ago" + +#: src/jade/tabs/trade.jade:458 msgid "Bids" msgstr "Biedingen" -#: src/jade/tabs/trade.jade:346 src/jade/tabs/trade.jade:373 +#: src/jade/tabs/trade.jade:460 src/jade/tabs/trade.jade:487 msgid "Sum{{1}}{{2}}" msgstr "Som{{1}}{{2}}" -#: src/jade/tabs/trade.jade:349 src/jade/tabs/trade.jade:370 +#: src/jade/tabs/trade.jade:463 src/jade/tabs/trade.jade:484 msgid "Size{{1}}{{2}}" msgstr "Grootte{{1}}{{2}}" -#: src/jade/tabs/trade.jade:352 +#: src/jade/tabs/trade.jade:466 msgid "Bid Price{{1}}{{2}}" -msgstr "Aanbod prijs{{1}}{{2}}" +msgstr "Aanbodprijs{{1}}{{2}}" -#: src/jade/tabs/trade.jade:363 +#: src/jade/tabs/trade.jade:477 msgid "There are currently no bids for this pair." msgstr "Er zijn op dit moment geen biedingen voor dit paar." -#: src/jade/tabs/trade.jade:365 +#: src/jade/tabs/trade.jade:479 msgid "Asks" msgstr "Vraag" -#: src/jade/tabs/trade.jade:367 +#: src/jade/tabs/trade.jade:481 msgid "Ask Price{{1}}{{2}}" -msgstr "Vraag prijs{{1}}{{2}}" +msgstr "Vraagprijs{{1}}{{2}}" -#: src/jade/tabs/trade.jade:384 +#: src/jade/tabs/trade.jade:498 msgid "There are currently no asks for this pair." msgstr "Er is op dit moment geen vraag naar dit paar." -#: src/jade/tabs/trade.jade:387 +#: src/jade/tabs/trade.jade:501 msgid "No more orders" -msgstr "Geen verdere orders" - -#: src/jade/tabs/trust.jade:23 -msgid "Connecting a gateway to your Ripple account..." -msgstr "Bezig met het verbinden van een gateway met uw Ripple portefeuille..." - -#: src/jade/tabs/trust.jade:25 -msgid "Gateway connected." -msgstr "Gateway verbonden." - -#: src/jade/tabs/trust.jade:27 -msgid "Gateway could not be connected!" -msgstr "Gateway kon niet worden verbonden!" +msgstr "Geen orders meer" -#: src/jade/tabs/trust.jade:28 src/jade/tabs/trust.jade:30 -msgid "There was a problem connecting the gateway. Please try again later." -msgstr "Een fout is opgetreden bij het verbinden met de gateway. Probeert u het later nog eens." +#: src/jade/tabs/trust.jade:29 +msgid "Removing gateway..." +msgstr "Gateway wordt verwijderd..." #: src/jade/tabs/trust.jade:31 -msgid "" -"Your request is invalid, reason: {{engine_result}} - " -"{{engine_result_message}}" -msgstr "Uw aanvraag is ongeldig, reden: {{engine_result}} - {{engine_result_message}}" +msgid "Gateway removed." +msgstr "Gateway verwijderd." #: src/jade/tabs/trust.jade:33 -msgid "Gateway connection failed!" -msgstr "Gateway verbinding is mislukt!" +msgid "Your changes have been saved." +msgstr "Uw wijzigingen zijn opgeslagen." #: src/jade/tabs/trust.jade:35 -msgid "You have no gateway connected in this currency." -msgstr "U heeft geen gateway verbonden voor deze valuta." - -#: src/jade/tabs/trust.jade:36 -msgid "Insufficient reserve to connect gateway." -msgstr "Onvoldoende reserve om met de gateway te verbinden." - -#: src/jade/tabs/trust.jade:37 -msgid "" -"You must have at least {{account.reserve_to_add_trust | rpamount:0}} XRP to " -"connect a gateway. {{1}}" -msgstr "U dient tenminste {{account.reserve_to_add_trust | rpamount:0}} XRP hebben om met een gateway te kunnen verbinden. {{1}}" +msgid "Request failed." +msgstr "Aanvraag mislukt." #: src/jade/tabs/trust.jade:39 -msgid "Read more." -msgstr "Lees meer." - -#: src/jade/tabs/trust.jade:40 -msgid "Gateway connection failed to clear, reason: {{engine_result_message}}" -msgstr "Verbreken van de verbinding met de gateway is mislukt, reden: {{engine_result_message}}" - -#: src/jade/tabs/trust.jade:43 -msgid "Transaction failed!" -msgstr "Transactie mislukt!" - -#: src/jade/tabs/trust.jade:53 -msgid "Saving changes..." -msgstr "Wijzigingen aan het opslaan..." +msgid "Account unlock failed." +msgstr "Accountontgrendeling mislukt." #: src/jade/tabs/trust.jade:55 -msgid "Changes saved!" -msgstr "Wijzigingen opgeslagen!" - -#: src/jade/tabs/trust.jade:57 src/jade/tabs/trust.jade:69 -msgid "There was an error while saving your changes." -msgstr "Een fout is opgetreden bij het opslaan van de wijzigingen." - -#: src/jade/tabs/trust.jade:65 -msgid "Removing gateway..." -msgstr "Bezig met het verwijderen van de gateway..." - -#: src/jade/tabs/trust.jade:67 -msgid "Gateway removed!" -msgstr "Gateway verwijderd!" - -#: src/jade/tabs/trust.jade:72 src/jade/tabs/trust.jade:194 -msgid "You must have at least {{1}} to add a new trust line. {{2}}" -msgstr "U moet tenminste {{1}} hebben om een nieuwe kredietlijn toe te voegen. {{2}}" - -#: src/jade/tabs/trust.jade:82 msgid "Name / Address" msgstr "Naam / Adres" -#: src/jade/tabs/trust.jade:84 src/jade/tabs/trust.jade:130 +#: src/jade/tabs/trust.jade:57 src/jade/tabs/trust.jade:90 msgid "Currency" msgstr "Valuta" -#: src/jade/tabs/trust.jade:87 +#: src/jade/tabs/trust.jade:60 msgid "Trust Limit" -msgstr "Krediet beperkt tot" +msgstr "Kredietlimiet" -#: src/jade/tabs/trust.jade:93 +#: src/jade/tabs/trust.jade:66 msgid "Gateway's Ripple name or address" -msgstr "Ripple naam en adres van de Gateway" +msgstr "Ripple-naam of -adres van de gateway" + +#: src/jade/tabs/trust.jade:100 +msgid "Amount field is required." +msgstr "Bedrag-veld is verplicht." + +#: src/jade/tabs/trust.jade:115 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"connect to. More " +"information" +msgstr "Sta toe dat het saldo van deze kredietlijn overgedragen kan worden aan een andere verstrekker waar u mee verbindt. Meer informatie" -#: src/jade/tabs/trust.jade:162 +#: src/jade/tabs/trust.jade:125 msgid "" "{{1:You are connecting a gateway, which means}}{{2:{{ counterparty_address |" " rpripplename:{tilde: true} }} can:}}" -msgstr "{{1:U verbindt nu met een gateway. Daarmee vertrouwt u}}{{2:{{ counterparty_address | rpripplename:{tilde: true} }} }}" +msgstr "{{1:U gaat nu verbinden met een gateway. Daarmee stelt u}}{{2:{{ counterparty_address | rpripplename:{tilde: true} }} in staat om:}}" -#: src/jade/tabs/trust.jade:165 +#: src/jade/tabs/trust.jade:128 msgid "{{1:- Hold up to }}{{2}} {{3: on your behalf}}" -msgstr "{{1:- maximaal}}{{2}} {{3: toe}}" +msgstr "{{1:- Namens u maximaal}}{{2}} {{3: te bewaren}}" -#: src/jade/tabs/trust.jade:169 +#: src/jade/tabs/trust.jade:132 msgid "{{1:- Hold }}{{2}} {{3: on your behalf}}" -msgstr "{{1:-}}{{2}} {{3: toe}}" +msgstr "{{1:- Namens u }}{{2}} {{3: te bewaren}}" -#: src/jade/tabs/trust.jade:183 src/jade/tabs/trust.jade:186 -#: src/jade/tabs/trust.jade:189 src/jade/tabs/trust.jade:255 -#: src/jade/tabs/trust.jade:258 src/jade/tabs/trust.jade:261 -#: src/jade/tabs/trust.jade:288 src/jade/tabs/trust.jade:291 -#: src/jade/tabs/trust.jade:294 -msgid "Remove" -msgstr "Verwijderen" - -#: src/jade/tabs/trust.jade:192 +#: src/jade/tabs/trust.jade:148 msgid "Verifying address" -msgstr "Adres aan het verifiëren" +msgstr "Adres wordt verifiëren" -#: src/jade/tabs/trust.jade:201 +#: src/jade/tabs/trust.jade:151 msgid "" "Your account has to be {{1:activated}} before you can add a gateway account." msgstr "Uw account dient te worden {{1:geactiveerd}} voor u een gateway account kunt toevoegen." -#: src/jade/tabs/trust.jade:209 +#: src/jade/tabs/trust.jade:159 msgid "Connect gateway" msgstr "Verbinden met gateway" -#: src/jade/tabs/trust.jade:227 -msgid "Gateway" -msgstr "Gateway" - -#: src/jade/tabs/trust.jade:229 src/jade/tabs/trust.jade:271 +#: src/jade/tabs/trust.jade:169 src/jade/tabs/trust.jade:221 msgid "Limit" msgstr "Limiet" -#: src/jade/tabs/trust.jade:230 +#: src/jade/tabs/trust.jade:170 msgid "Min" msgstr "Min" -#: src/jade/tabs/trust.jade:232 +#: src/jade/tabs/trust.jade:172 msgid "Edit" msgstr "Bewerken" -#: src/jade/tabs/trust.jade:245 +#: src/jade/tabs/trust.jade:188 msgid "Off" msgstr "Uit" -#: src/jade/tabs/trust.jade:246 +#: src/jade/tabs/trust.jade:189 msgid "On" msgstr "Aan" -#: src/jade/tabs/trust.jade:276 +#: src/jade/tabs/trust.jade:192 src/jade/tabs/trust.jade:201 +#: src/jade/tabs/trust.jade:206 src/jade/tabs/trust.jade:210 +#: src/jade/tabs/trust.jade:239 src/jade/tabs/trust.jade:244 +#: src/jade/tabs/trust.jade:248 +msgid "Incoming trust" +msgstr "Inkomende kredietlijnen" + +#: src/jade/tabs/trust.jade:192 +msgid "" +"You can't edit incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "U kunt inkomende kredietlijnen niet wijzigen. Inkomende kredietlijnen geven aan dat andere Ripple-gebruikers u vertrouwen." + +#: src/jade/tabs/trust.jade:200 src/jade/tabs/trust.jade:202 +#: src/jade/tabs/trust.jade:205 src/jade/tabs/trust.jade:207 +#: src/jade/tabs/trust.jade:209 src/jade/tabs/trust.jade:211 +#: src/jade/tabs/trust.jade:238 src/jade/tabs/trust.jade:240 +#: src/jade/tabs/trust.jade:243 src/jade/tabs/trust.jade:245 +#: src/jade/tabs/trust.jade:247 src/jade/tabs/trust.jade:249 +msgid "Remove" +msgstr "Verwijderen" + +#: src/jade/tabs/trust.jade:201 src/jade/tabs/trust.jade:206 +#: src/jade/tabs/trust.jade:210 src/jade/tabs/trust.jade:239 +#: src/jade/tabs/trust.jade:244 src/jade/tabs/trust.jade:248 +msgid "" +"You can't delete incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "U kunt inkomende kredietlijnen niet verwijderen. Inkomende kredietlijnen geven aan dat andere Ripple-gebruikers u vertrouwen." + +#: src/jade/tabs/trust.jade:226 msgid "Rippling {{1}}" msgstr "Rippling {{1}}" -#: src/jade/tabs/tx.jade:3 +#: src/jade/tabs/tx.jade:5 msgid "Loading transaction details..." -msgstr "Transactiedetails laden..." +msgstr "Transactiedetails worden geladen..." -#: src/jade/tabs/tx.jade:5 +#: src/jade/tabs/tx.jade:7 msgid "An error occurred while loading the transaction details." msgstr "Er is een fout opgetreden tijdens het laden van de transactiedetails." -#: src/jade/tabs/tx.jade:8 +#: src/jade/tabs/tx.jade:10 msgid "Transaction #" msgstr "Transactie #" -#: src/jade/tabs/tx.jade:11 -msgid "Show in graph" -msgstr "Toon in grafiek" - -#: src/jade/tabs/tx.jade:13 +#: src/jade/tabs/tx.jade:15 msgid "Transaction type: {{1}}" msgstr "Transactie-type: {{1}}" -#: src/jade/tabs/tx.jade:20 +#: src/jade/tabs/tx.jade:22 msgid "Address sent from" msgstr "Adres afzender" -#: src/jade/tabs/tx.jade:24 +#: src/jade/tabs/tx.jade:26 msgid "Amount sent" -msgstr "Verzonden hoeveelheid" +msgstr "Verstuurd bedrag" -#: src/jade/tabs/tx.jade:28 +#: src/jade/tabs/tx.jade:30 msgid "Currency sent" -msgstr "Verzonden valuta" +msgstr "Verstuurde valuta" -#: src/jade/tabs/tx.jade:33 +#: src/jade/tabs/tx.jade:35 msgid "Address sent to" msgstr "Ontvangstadres" -#: src/jade/tabs/tx.jade:37 +#: src/jade/tabs/tx.jade:39 msgid "Amount received" -msgstr "Ontvangen hoeveelheid" +msgstr "Ontvangen bedrag" -#: src/jade/tabs/tx.jade:41 +#: src/jade/tabs/tx.jade:43 msgid "Currency received" msgstr "Ontvangen valuta" -#: src/jade/tabs/tx.jade:48 +#: src/jade/tabs/tx.jade:50 msgid "Network fee paid" -msgstr "Netwerk-heffing betaald" +msgstr "Netwerkheffing betaald" -#: src/jade/tabs/tx.jade:60 +#: src/jade/tabs/tx.jade:62 msgid "Ledger number" -msgstr "Groetboeknummer" +msgstr "Grootboeknummer" -#: src/jade/tabs/tx.jade:66 +#: src/jade/tabs/tx.jade:68 msgid "Address sent from:" -msgstr "Verzonden door:" +msgstr "Verstuurd vanaf adres:" # Sorry, we don't have an info page layout for this transaction type yet. -#: src/jade/tabs/tx.jade:70 +#: src/jade/tabs/tx.jade:72 msgid "" "Sorry, we don't have an info page layout for this transaction type yet." msgstr "Sorry, we hebben op dit moment nog geen informatiepagina voor dit transactietype." +#: src/jade/tabs/usd.jade:35 +msgid "US Dollar Deposit" +msgstr "Amerikaanse Dollar-storting" + +#: src/jade/tabs/usd.jade:39 +msgid "SnapSwap US (~SnapSwap){{1}}{{2}}" +msgstr "SnapSwap US (~SnapSwap){{1}}{{2}}" + +#: src/jade/tabs/usd.jade:45 +msgid "USA" +msgstr "VS" + +#: src/jade/tabs/usd.jade:48 +msgid "$ 0.31-$ 5.00" +msgstr "$ 0.31-$ 5.00" + +#: src/jade/tabs/usd.jade:56 +msgid "" +"Ripple Trade has partnered with SnapSwap to provide easier access to USD. " +"Following this action will enable SnapSwap to hold USD on your behalf." +msgstr "Ripple Trade werkt samen met Snapswap om toegang tot USD te vereenvoudigen. Bij doorklikken stelt u SnapSwap in staat om USD namens u te bewaren." + +#: src/jade/tabs/usd.jade:73 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" +msgstr "NIEUWE KLANTEN - AANMELDEN BIJ SNAPSWAP.US" + +#: src/jade/tabs/usd.jade:74 +msgid "Register and verify your account at SnapSwap US. You will need: {{1}}" +msgstr "Registreer en verifieer uw account bij SnapSwap US. U heeft daarvoor nodig: {{1}}" + +#: src/jade/tabs/usd.jade:82 +msgid "EXISTING SNAPSWAP US CUSTOMERS" +msgstr "BESTAANDE SNAPSWAP US-KLANTEN" + +#: src/jade/tabs/usd.jade:93 +msgid "Deposit instantly via selected banks" +msgstr "Stort instantaan via geselecteerde banken." + +#: src/jade/tabs/usd.jade:95 +msgid "Deposit cash at Bank of America branches (3 business days)" +msgstr "Geld storten bij een kantoor van Bank of America (3 werkdagen)" + +#: src/jade/tabs/usd.jade:97 +msgid "Deposit via online bank transfer (3 business days)" +msgstr "Storten via een online bankoverdracht (3 werkdagen)" + +#: src/jade/tabs/usd.jade:103 +msgid "Directly to your bank account (3-4 business days)" +msgstr "Direct naar uw bankrekening (3-4 werkdagen)" + +#: src/jade/tabs/usd.jade:105 +msgid "Directly to your PayPal account (several minutes)" +msgstr "Direct naar uw PayPal-account (enkele minuten)" + +#: src/jade/tabs/widgets/assetallocation.jade:3 +msgid "Asset Allocation" +msgstr "Vermogensallocatie" + +#: src/jade/tabs/widgets/balances.jade:3 +msgid "Balances" +msgstr "Saldo's" + +#: src/jade/tabs/widgets/balances.jade:12 +msgid "Balance
{{ account.Balance | rpamount }} XRP" +msgstr "Saldo
{{ account.Balance | rpamount }} XRP" + +#: src/jade/tabs/widgets/balances.jade:16 +msgid "Reserve" +msgstr "Reserve" + +#: src/jade/tabs/widgets/balances.jade:18 +msgid "Reserve amount" +msgstr "Reservesaldo" + +#: src/jade/tabs/widgets/balances.jade:18 +msgid "" +"Minimum amount of XRP required to fund your account. You cannot spend the " +"reserve." +msgstr "Minimaal XRP-saldo vereist om uw account te financieren. U kunt het reserve-saldo niet uitgeven." + +#: src/jade/tabs/widgets/balances.jade:20 +msgid "Reserve amount
{{ account.reserve | rpamount }} XRP" +msgstr "Reserve-saldo
{{ account.reserve | rpamount }} XRP" + +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Available amount" +msgstr "Beschikbare hoeveelheid" + +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Total amount of XRP in your account minus the reserve amount." +msgstr "Totale hoeveelheid XRP in uw account met aftrek van het benodigde reserve-saldo." + +#: src/jade/tabs/widgets/balances.jade:28 +msgid "Available amount
{{ account.max_spend | rpamount }} XRP" +msgstr "Beschikbare hoeveelheid
{{ account.max_spend | rpamount }} XRP" + +#: src/jade/tabs/widgets/balances.jade:35 +msgid "" +"Balance
{{ entry.total | rpamount:{precision: 30, hard_precision: true} " +"}} {{ entry.total | rpcurrency }}" +msgstr "Saldo
{{ entry.total | rpamount:{precision: 30, hard_precision: true} }} {{ entry.total | rpcurrency }}" + +#: src/jade/tabs/widgets/balances.jade:43 +msgid "" +"Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, " +"hard_precision: true} }} {{ entry.total | rpcurrency }}" +msgstr "Saldo
{{ component | rpamount:{precision: 30, rel_min_precision: -2, hard_precision: true} }} {{ entry.total | rpcurrency }}" + +#: src/jade/tabs/widgets/markets.jade:3 +msgid "Markets" +msgstr "Markten" + +#: src/jade/tabs/widgets/networth.jade:3 +msgid "Net Worth" +msgstr "Netto marktwaarde" + +#: src/jade/tabs/widgets/networth.jade:8 +msgid "{{1:{{1:In}}}}{{2}}" +msgstr "{{1:{{1:In}}}}{{2}}" + +#: src/jade/tabs/widgets/networth.jade:14 +msgid "Estimated from latest trade price" +msgstr "Geschat op basis van de laatst verhandelde koers" + +#: src/jade/tabs/widgets/networth.jade:23 +msgid "(excluding negative balances)" +msgstr "(exclusief negatieve saldo's)" + +#: src/jade/tabs/widgets/orders.jade:3 +msgid "My Orders" +msgstr "Mijn Orders" + +#: src/jade/tabs/widgets/orders.jade:68 +msgid "trade currencies" +msgstr "valuta verhandelen" + #: src/jade/tabs/xrp.jade:19 msgid "Ripple name: {{1}}{{2}}{{3}}" -msgstr "Ripple naam: {{1}}{{2}}{{3}}" +msgstr "Ripple-naam: {{1}}{{2}}{{3}}" #: src/jade/tabs/xrp.jade:21 msgid "loading..." -msgstr "laden..." +msgstr "aan het laden..." #: src/jade/tabs/xrp.jade:23 msgid "Show address" @@ -2700,8 +3662,4 @@ msgid "" "(~{{userCredentials.username}}) to receive money. You can still use your " "full Ripple address, and while we are working to transition to Ripple names," " some gateways may still ask for your full address." -msgstr "Ripple naam is nieuw in Ripple! Gebruik je Ripple naam (~ {{userCredentials.username}}) om geld te ontvangen. U kan echter nog altijd uw Ripple adres gebruiken, en in de overgangsfase naar naar de Ripple naam, zullen sommige gateways ook nog steeds vragen naar uw adres." - -#: src/jade/tabs/xrp.jade:31 -msgid "Ripple address {{1}}" -msgstr "Ripple adres {{1}}" +msgstr "Ripple-namen zijn nieuw in Ripple! Gebruik uw Ripple-naam (~ {{userCredentials.username}}) om geld te ontvangen. U kunt echter nog altijd uw Ripple-adres gebruiken en in de overgangsfase naar Ripple-namen zullen sommige gateways ook nog vragen naar uw volledige adres." diff --git a/l10n/ru/messages.po b/l10n/ru/messages.po index b37d88eb7..5349c01d3 100644 --- a/l10n/ru/messages.po +++ b/l10n/ru/messages.po @@ -3,7 +3,7 @@ # Aleksandr Kotov , 2014 # atrach , 2014 # Andrew Vorobyov , 2014 -# Anton Nikolaenko , 2014 +# Anton Nikolaenko , 2014-2015 # Yakimov Sergey , 2014 # MyBe , 2014 # Anton Nikolaenko , 2014 @@ -15,8 +15,8 @@ msgid "" msgstr "" "Project-Id-Version: Ripple Trade\n" -"PO-Revision-Date: 2014-10-11 04:36+0000\n" -"Last-Translator: Aleksandr Kotov \n" +"PO-Revision-Date: 2015-02-25 16:27+0000\n" +"Last-Translator: Anton Nikolaenko \n" "Language-Team: Russian (http://www.transifex.com/projects/p/ripple-trade/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,47 +24,49 @@ msgstr "" "Language: ru\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: src/jade/client/index.jade:5 src/jade/client/navbar.jade:112 -#: src/jade/tabs/trust.jade:86 src/jade/tabs/trust.jade:228 +#: src/jade/client/index.jade:5 src/jade/client/navbar.jade:117 +#: src/jade/tabs/trust.jade:59 src/jade/tabs/trust.jade:168 msgid "Balance" msgstr "Баланс" -#: src/jade/client/index.jade:7 src/jade/client/navbar.jade:114 +#: src/jade/client/index.jade:7 src/jade/client/navbar.jade:119 msgid "History" msgstr "История" -#: src/jade/client/index.jade:8 src/jade/client/navbar.jade:116 -#: src/jade/tabs/contacts.jade:5 +#: src/jade/client/index.jade:8 src/jade/client/navbar.jade:121 msgid "Contacts" msgstr "Контакты" -#: src/jade/client/index.jade:12 src/jade/client/navbar.jade:13 -#: src/jade/tabs/contacts.jade:97 +#: src/jade/client/index.jade:12 src/jade/client/navbar.jade:21 +#: src/jade/tabs/contacts.jade:65 msgid "Send" msgstr "Отправить" -#: src/jade/client/index.jade:16 src/jade/client/navbar.jade:123 +#: src/jade/client/index.jade:16 msgid "Convert" msgstr "Конвертация" -#: src/jade/client/index.jade:18 src/jade/client/navbar.jade:121 +#: src/jade/client/index.jade:18 src/jade/client/navbar.jade:23 +#: src/jade/client/navbar.jade:25 src/jade/tabs/settings/navbar.jade:3 msgid "Trade" msgstr "Обмен" -#: src/jade/client/index.jade:22 src/jade/client/navbar.jade:19 -#: src/jade/client/navbar.jade:128 +#: src/jade/client/index.jade:22 src/jade/client/navbar.jade:27 +#: src/jade/client/navbar.jade:133 msgid "Fund" msgstr "Средства" -#: src/jade/client/index.jade:24 src/jade/tabs/fund/menu.jade:5 +#: src/jade/client/index.jade:24 src/jade/tabs/fund/menu.jade:29 msgid "Gateways" msgstr "Шлюзы" -#: src/jade/client/index.jade:29 src/jade/tabs/su.jade:12 +#: src/jade/client/index.jade:29 src/jade/client/navbar.jade:107 +#: src/jade/tabs/su.jade:12 msgid "Account" msgstr "Аккаунт" -#: src/jade/client/index.jade:32 src/jade/tabs/advanced.jade:9 +#: src/jade/client/index.jade:32 src/jade/client/navbar.jade:109 +#: src/jade/tabs/advanced.jade:19 msgid "Settings" msgstr "Настройки" @@ -72,198 +74,437 @@ msgstr "Настройки" msgid "Logout" msgstr "Выход из системы" -#: src/jade/client/index.jade:41 -msgid "Welcome to {{productName}}, a global value exchange" -msgstr "Добро пожаловать в {{productName}}, глобальную ресурсообменную сеть" +#: src/jade/client/index.jade:61 +msgid "Why Use Ripple Trade?" +msgstr "Зачем использовать Ripple Trade?" + +#: src/jade/client/index.jade:66 +msgid "Home of XRP -" +msgstr "" + +#: src/jade/client/index.jade:67 +msgid "the best place to buy and sell XRP" +msgstr "лучшее место для покупки и продажи XRP" + +#: src/jade/client/index.jade:71 +msgid "Free -" +msgstr "Бесплатно - " + +#: src/jade/client/index.jade:72 +msgid "no fees to sign up and use Ripple Trade" +msgstr "не взимается плата за регистрацию и использование Ripple Trade" + +#: src/jade/client/index.jade:76 +msgid "No Middlemen -" +msgstr "Без посредников - " -#: src/jade/client/index.jade:51 +#: src/jade/client/index.jade:77 +msgid "" +"When you submit orders, Ripple automatically finds the best available match," +" without a clearinghouse or broker." +msgstr "" + +#: src/jade/client/index.jade:81 +msgid "Deposit, trade and withdraw money on Ripple via gateways." +msgstr "" + +#: src/jade/client/index.jade:89 +msgid "Featured Ripple Gateways" +msgstr "Избранные шлюзы Ripple" + +#: src/jade/client/index.jade:91 +msgid "Ripple's growing gateway network." +msgstr "Растущая сеть шлюзов Ripple." + +#: src/jade/client/index.jade:93 src/jade/client/index.jade:96 +#: src/jade/client/index.jade:99 src/jade/client/index.jade:102 +#: src/jade/client/index.jade:105 src/jade/client/index.jade:108 +#: src/jade/client/index.jade:111 src/jade/client/index.jade:114 +#: src/jade/client/index.jade:117 src/jade/tabs/banner/unfunded.jade:6 +#: src/jade/tabs/brl.jade:53 src/jade/tabs/brl.jade:57 +#: src/jade/tabs/brl.jade:93 src/jade/tabs/btc.jade:46 +#: src/jade/tabs/eur.jade:50 src/jade/tabs/eur.jade:54 +#: src/jade/tabs/eur.jade:86 src/jade/tabs/eur.jade:93 +#: src/jade/tabs/gold.jade:51 src/jade/tabs/jpy.jade:55 +#: src/jade/tabs/jpy.jade:91 src/jade/tabs/jpy.jade:97 +#: src/jade/tabs/mxn.jade:53 src/jade/tabs/send.jade:63 +#: src/jade/tabs/trade.jade:320 src/jade/tabs/usd.jade:51 +#: src/jade/tabs/usd.jade:83 src/jade/tabs/usd.jade:90 +#: src/jade/tabs/usd.jade:100 src/jade/tabs/widgets/orders.jade:31 +msgid "{{1}}" +msgstr "{{1}}" + +#: src/jade/client/index.jade:123 msgid "Version: {{version}}" msgstr "Версия: {{version}}" -#: src/jade/client/index.jade:55 -msgid "End-User License Agreement" -msgstr "Лицензионное соглашение с конечным пользователем" +#: src/jade/client/index.jade:128 +msgid "Terms of Use" +msgstr "Условия использования" + +#: src/jade/client/index.jade:129 +msgid "Privacy Policy" +msgstr "Политика конфиденциальности" -#: src/jade/client/index.jade:56 +#: src/jade/client/index.jade:130 msgid "Support" msgstr "Поддержка" -#: src/jade/client/index.jade:57 +#: src/jade/client/index.jade:131 msgid "Bug reports" msgstr "Сообщения об ошибках" -#: src/jade/client/index.jade:64 +#: src/jade/client/index.jade:138 msgid "more..." msgstr "подробнее..." -#: src/jade/client/index.jade:68 +#: src/jade/client/index.jade:142 msgid "Select a language" msgstr "Выберите язык" -#: src/jade/client/navbar.jade:11 +#: src/jade/client/navbar.jade:2 +msgid "" +"You are viewing an account in {{1}} mode. While in this mode, you can view " +"publicly available data, but you cannot initiate any transactions. Click " +"{{2}} to exit." +msgstr "Вы просматриваете аккаунт в режиме {{1}}. Находясь в этом режиме, Вы можете просматривать публично доступную информацию, но не можете инициировать какие-либо транзакции. Нажмите {{2}} для выхода." + +#: src/jade/client/navbar.jade:8 +msgid "" +"Warning: this account has over 200 trust lines, so the displayed account " +"balance may not be accurate." +msgstr "Предупреждение: этот аккаунт имеет больше 200 доверительных линий, поэтому отображаемый баланс аккаунта может быть не точен." + +#: src/jade/client/navbar.jade:19 msgid "Overview" msgstr "Обзор" -#: src/jade/client/navbar.jade:15 src/jade/client/navbar.jade:17 -#: src/jade/tabs/exchange.jade:45 -msgid "Exchange" -msgstr "Обмен" - -#: src/jade/client/navbar.jade:39 src/jade/tabs/account/public.jade:45 -#: src/jade/tabs/apps.jade:8 src/jade/tabs/balance.jade:8 -#: src/jade/tabs/balance.jade:27 src/jade/tabs/btc.jade:60 -#: src/jade/tabs/exchange.jade:9 src/jade/tabs/history.jade:206 -#: src/jade/tabs/kyc.jade:38 src/jade/tabs/recover.jade:21 -#: src/jade/tabs/security.jade:134 src/jade/tabs/su.jade:8 -#: src/jade/tabs/trust.jade:9 src/jade/tabs/trust.jade:175 +#: src/jade/client/navbar.jade:49 src/jade/tabs/account/private.jade:7 +#: src/jade/tabs/account/private.jade:16 src/jade/tabs/account/public.jade:45 +#: src/jade/tabs/apps.jade:8 src/jade/tabs/btc.jade:72 +#: src/jade/tabs/exchange.jade:9 src/jade/tabs/kyc.jade:45 +#: src/jade/tabs/recover.jade:26 src/jade/tabs/security.jade:147 +#: src/jade/tabs/su.jade:8 src/jade/tabs/trust.jade:9 +#: src/jade/tabs/trust.jade:139 msgid "Loading..." msgstr "Загрузка..." -#: src/jade/client/navbar.jade:40 +#: src/jade/client/navbar.jade:50 msgid "There are no recent notifications." msgstr "Нет новых уведомлений." -#: src/jade/client/navbar.jade:44 +#: src/jade/client/navbar.jade:54 msgid "You sent {{1}} to {{2}}" msgstr "Вы оправили {{1}} к {{2}}" -#: src/jade/client/navbar.jade:50 +#: src/jade/client/navbar.jade:60 msgid "{{1}} sent you {{2}}" msgstr "{{1}} отправил Вам {{2}}" -#: src/jade/client/navbar.jade:58 +#: src/jade/client/navbar.jade:68 msgid "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" msgstr "{{entry.transaction.counterparty | rpcontactname}} теперь Вам доверяет на" -#: src/jade/client/navbar.jade:64 src/jade/notification/account.jade:25 -#: src/jade/tabs/history.jade:132 src/jade/tabs/history/effects.jade:63 +#: src/jade/client/navbar.jade:74 src/jade/notification/account.jade:25 +#: src/jade/tabs/history.jade:115 src/jade/tabs/history/effects.jade:63 msgid "You have now connected to the gateway {{1}}{{2: for }}{{3}}." msgstr "Теперь вы подключены к шлюзу {{1}}{{2: по }}{{3}}." -#: src/jade/client/navbar.jade:75 +#: src/jade/client/navbar.jade:85 msgid "You cancelled an order accepting {{1}} for {{2}}" msgstr "Вы отменили заказ принимая {{1}} за {{2}}" -#: src/jade/client/navbar.jade:82 +#: src/jade/client/navbar.jade:92 src/jade/tabs/history.jade:138 msgid "Account details have been changed" msgstr "Данные аккаунта были изменены" -#: src/jade/client/navbar.jade:85 src/jade/tabs/history.jade:158 -#: src/jade/tabs/trust.jade:231 +#: src/jade/client/navbar.jade:95 src/jade/tabs/history.jade:141 +#: src/jade/tabs/trust.jade:171 msgid "Rippling" msgstr "Пересылка" -#: src/jade/client/navbar.jade:87 src/jade/tabs/history.jade:160 +#: src/jade/client/navbar.jade:97 src/jade/tabs/history.jade:143 msgid "Failed transaction" msgstr "Неудачная транзакция" -#: src/jade/client/navbar.jade:93 +#: src/jade/client/navbar.jade:103 msgid "View Full History" msgstr "Просмотр всей истории" -#: src/jade/client/navbar.jade:97 -msgid "{{1}} Account" -msgstr "{{1}} Аккаунт" +#: src/jade/client/navbar.jade:111 +msgid "Log Out" +msgstr "Выход" -#: src/jade/client/navbar.jade:101 -msgid "{{1}} Settings" -msgstr "{{1}} Настройки" +#: src/jade/client/navbar.jade:126 +msgid "Simple" +msgstr "Упростить" -#: src/jade/client/navbar.jade:105 -msgid "{{1}} Log Out" -msgstr "{{1}} Выйти" +#: src/jade/client/navbar.jade:128 src/jade/tabs/settings/navbar.jade:4 +msgid "Advanced" +msgstr "Дополнительно" -#: src/jade/client/navbar.jade:130 src/jade/tabs/balance.jade:110 +#: src/jade/client/navbar.jade:135 msgid "Withdraw" msgstr "Обналичить" -#: src/jade/client/navbar.jade:132 +#: src/jade/client/navbar.jade:137 msgid "" "Your account was successfully recovered and encrypted with the new password " "you provided!" msgstr "Ваш аккаунт был успешно восстановлен и зашифрован с помощью Вашего нового пароля!" -#: src/jade/client/navbar.jade:133 +#: src/jade/client/navbar.jade:138 msgid "dismiss" msgstr "отменить" -#: src/jade/directives/transactionerror.jade:5 +#: src/jade/directives/addresspopover.jade:3 +msgid "Ripple address {{ identity }}" +msgstr "Ripple адрес {{ identity }}" + +#: src/jade/directives/addresspopover.jade:8 src/jade/tabs/tx.jade:13 +msgid "Show in graph" +msgstr "Показать на графике" + +#: src/jade/directives/transactionerror.jade:8 +msgid "Connecting gateway to your account..." +msgstr "Подключение шлюза к Вашему аккаунту..." + +#: src/jade/directives/transactionerror.jade:10 +msgid "Gateway connected." +msgstr "Шлюз подключен" + +#: src/jade/directives/transactionerror.jade:12 +msgid "There was a problem connecting to the gateway. Please try again later." +msgstr "Проблема подключения к шлюзу. Попробуйте еще раз позже." + +#: src/jade/directives/transactionerror.jade:14 +#: src/jade/directives/transactionerror.jade:73 +#: src/jade/directives/transactionerror.jade:158 +#: src/jade/messages/sendconvert/confirmation.jade:13 +msgid "Error code: {{engine_result}} - {{engine_result_message}}" +msgstr "Код ошибки: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:19 +#: src/jade/directives/transactionerror.jade:23 +#: src/jade/directives/transactionerror.jade:28 +#: src/jade/directives/transactionerror.jade:33 +#: src/jade/directives/transactionerror.jade:45 +#: src/jade/directives/transactionerror.jade:52 +#: src/jade/directives/transactionerror.jade:156 +#: src/jade/directives/transactionerror.jade:163 +#: src/jade/directives/transactionerror.jade:167 +#: src/jade/directives/transactionerror.jade:172 +#: src/jade/directives/transactionerror.jade:177 +#: src/jade/directives/transactionerror.jade:186 +#: src/jade/directives/transactionerror.jade:193 +msgid "Request failed" +msgstr "Запрос не удался" + +#: src/jade/directives/transactionerror.jade:21 +#: src/jade/directives/transactionerror.jade:165 +msgid "Your request timed out, please try again." +msgstr "Превышено время ожидания по Вашему запросу. Пожалуйста, попробуйте еще раз." + +#: src/jade/directives/transactionerror.jade:25 +#: src/jade/directives/transactionerror.jade:84 +#: src/jade/directives/transactionerror.jade:169 +#: src/jade/messages/sendconvert/confirmation.jade:18 +msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." +msgstr "Код ошибки: Необходим тег назначения [tefDST_TAG_NEEDED]:" + +#: src/jade/directives/transactionerror.jade:30 +#: src/jade/directives/transactionerror.jade:174 +msgid "" +"Error code: This request failed because it exceeded the maximum network fee," +" please try again later [telINSUF_FEE_P]." +msgstr "" + +#: src/jade/directives/transactionerror.jade:35 +msgid "" +"Error code: You have no gateway connected in this currency [terNO_LINE]." +msgstr "Код ошибки: у Вас нет шлюза в этой валюте [terNO_LINE]." + +#: src/jade/directives/transactionerror.jade:37 +msgid "" +"Error code: Insufficient reserve to connect gateway [tecINSUF_RESERVE_LINE]." +msgstr "" + +#: src/jade/directives/transactionerror.jade:39 +msgid "" +"Error code: You have an insufficient reserve amount to connect a gateway " +"[tecNO_LINE_INSUF_RESERVE]. {{1}}" +msgstr "" + +#: src/jade/directives/transactionerror.jade:41 src/jade/tabs/fund.jade:34 +#: src/jade/tabs/send.jade:110 src/jade/tabs/trust.jade:74 +msgid "More information" +msgstr "Дополнительная информация" + +#: src/jade/directives/transactionerror.jade:42 +#: src/jade/directives/transactionerror.jade:98 +#: src/jade/directives/transactionerror.jade:135 +#: src/jade/directives/transactionerror.jade:183 +#: src/jade/messages/sendconvert/confirmation.jade:27 +msgid "Error: {{engine_result_message}}" +msgstr "Ошибка: {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:47 +#: src/jade/directives/transactionerror.jade:103 +#: src/jade/directives/transactionerror.jade:188 +#: src/jade/messages/sendconvert/confirmation.jade:32 +msgid "Error code: You have no trust line in this currency [terNO_LINE]." +msgstr "Код ошибки: У вас нет линии доверия в этой валюте [terNO_LINE]." + +#: src/jade/directives/transactionerror.jade:49 +#: src/jade/directives/transactionerror.jade:190 +msgid "Your request failed: {{engine_result}} - {{engine_result_message}}" +msgstr "" + +#: src/jade/directives/transactionerror.jade:54 +#: src/jade/directives/transactionerror.jade:195 +msgid "Error code: request could not be submitted [tejLost]." +msgstr "Код ошибки: запрос не может быть выполнен [tejLost]." + +#: src/jade/directives/transactionerror.jade:56 +#: src/jade/directives/transactionerror.jade:197 src/jade/tabs/trust.jade:36 +msgid "" +"This request failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "" + +#: src/jade/directives/transactionerror.jade:59 +#: src/jade/directives/transactionerror.jade:200 +msgid "" +"Your request could not be submitted: {{engine_result}} - " +"{{engine_result_message}}" +msgstr "" + +#: src/jade/directives/transactionerror.jade:67 msgid "Payment pending" msgstr "Платеж в обработке" -#: src/jade/directives/transactionerror.jade:7 +#: src/jade/directives/transactionerror.jade:69 msgid "Payment successful" msgstr "Платеж прошел успешно" -#: src/jade/directives/transactionerror.jade:9 -#: src/jade/directives/transactionerror.jade:16 -#: src/jade/directives/transactionerror.jade:20 -#: src/jade/directives/transactionerror.jade:25 -#: src/jade/directives/transactionerror.jade:30 -#: src/jade/directives/transactionerror.jade:39 -#: src/jade/directives/transactionerror.jade:46 +#: src/jade/directives/transactionerror.jade:71 +#: src/jade/directives/transactionerror.jade:82 +#: src/jade/directives/transactionerror.jade:87 +#: src/jade/directives/transactionerror.jade:92 +#: src/jade/directives/transactionerror.jade:101 +#: src/jade/directives/transactionerror.jade:108 msgid "Payment failed" msgstr "Плаеж не удался" -#: src/jade/directives/transactionerror.jade:11 -#: src/jade/messages/sendconvert/confirmation.jade:13 -msgid "Error code: {{engine_result}} - {{engine_result_message}}" -msgstr "Код ошибки: {{engine_result}} - {{engine_result_message}}" +#: src/jade/directives/transactionerror.jade:78 +msgid "Payment failed [tefMAX_LEDGER]." +msgstr "Платеж не удался [tefMAX_LEDGER]." -#: src/jade/directives/transactionerror.jade:18 +#: src/jade/directives/transactionerror.jade:80 msgid "Your payment timed out, please try again." msgstr "Превышено время ожидания по вашему платежу, пожалуйста повторите еще раз." -#: src/jade/directives/transactionerror.jade:22 -#: src/jade/messages/sendconvert/confirmation.jade:18 -msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." -msgstr "Код ошибки: Необходим тег назначения [tefDST_TAG_NEEDED]:" - -#: src/jade/directives/transactionerror.jade:27 +#: src/jade/directives/transactionerror.jade:89 #: src/jade/messages/sendconvert/confirmation.jade:39 msgid "" "Error code: This transaction failed because it exceeded the maximum network " "fee, please try again later [telINSUF_FEE_P]." msgstr "Код ошибки: Эта транзакция не удалась, поскольку она превысила максимальную комиссию сети, повторите попытку позже [telINSUF_FEE_P]." -#: src/jade/directives/transactionerror.jade:32 +#: src/jade/directives/transactionerror.jade:94 +#: src/jade/directives/transactionerror.jade:179 msgid "Error code: No destination [tecNO_DST]." msgstr "Код ошибки: Нет назначения [tecNO_DST]." -#: src/jade/directives/transactionerror.jade:34 +#: src/jade/directives/transactionerror.jade:96 +#: src/jade/directives/transactionerror.jade:181 #: src/jade/messages/sendconvert/confirmation.jade:25 msgid "" "Error code: Insufficient XRP sent to destination [tecNO_DST_INSUF_XRP]." msgstr "Код ошибки: Недостаточно XRP отправлено по назначению [tecNO_DST_INSUF_XRP]" -#: src/jade/directives/transactionerror.jade:36 -#: src/jade/messages/sendconvert/confirmation.jade:27 -msgid "Error: {{engine_result_message}}" -msgstr "Ошибка: {{engine_result_message}}" - -#: src/jade/directives/transactionerror.jade:41 -#: src/jade/messages/sendconvert/confirmation.jade:32 -msgid "Error code: You have no trust line in this currency [terNO_LINE]." -msgstr "Код ошибки: У вас нет линии доверия в этой валюте [terNO_LINE]." - -#: src/jade/directives/transactionerror.jade:43 +#: src/jade/directives/transactionerror.jade:105 msgid "Your payment failed: {{engine_result}} - {{engine_result_message}}" msgstr "Ваш платеж не удался: {{engine_result}} - {{engine_result_message}}" -#: src/jade/directives/transactionerror.jade:48 +#: src/jade/directives/transactionerror.jade:110 msgid "Error code: Transaction could not be submitted [tejLost]." msgstr "Код ошибки: Транзакция не может быть соврешена [tejLost]." -#: src/jade/directives/transactionerror.jade:50 -msgid "Error code: Network fee exceeded [tejMaxFeeExceeded]." -msgstr "Код ошибки: Перевышение комисси сети [tejMaxFeeExceeded]." +#: src/jade/directives/transactionerror.jade:112 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "" -#: src/jade/directives/transactionerror.jade:52 +#: src/jade/directives/transactionerror.jade:115 msgid "" "Your payment could not be submitted: {{engine_result}} - " "{{engine_result_message}}" msgstr "Ваш платеж не может быть выполенен: {{engine_result}} - {{engine_result_message}}" +#: src/jade/directives/transactionerror.jade:121 +msgid "Request is malformed." +msgstr "Запрос некорректен." + +#: src/jade/directives/transactionerror.jade:122 +msgid "" +"Your request is invalid, reason: {{engine_result_message}} - " +"{{engine_result_message}}" +msgstr "" + +#: src/jade/directives/transactionerror.jade:125 +#: src/jade/directives/transactionerror.jade:142 +msgid "Transaction failed." +msgstr "Транзакция не удалась." + +#: src/jade/directives/transactionerror.jade:127 +msgid "You do not have enough funds to create this order [tecUNFUNDED_ORDER]." +msgstr "У Вас не достаточно средств для создания заявки [tecUNFUNDED_ORDER]." + +#: src/jade/directives/transactionerror.jade:129 +msgid "" +"Insufficient reserve amount to submit an order [tecINSUF_RESERVE_OFFER]." +msgstr "" + +#: src/jade/directives/transactionerror.jade:131 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]. {{1}}" +msgstr "" + +#: src/jade/directives/transactionerror.jade:134 +msgid "More information." +msgstr "Дополнительная информация." + +#: src/jade/directives/transactionerror.jade:138 +msgid "Trade failed." +msgstr "Обмен не удался." + +#: src/jade/directives/transactionerror.jade:140 +msgid "Trade failed, reason: {{engine_result_message}}" +msgstr "Обмен не удался, причина: {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:144 +msgid "" +"The particular server you sent the transaction to was too busy to forward or" +" process your transaction at the fee you included in it [telINSUF_FEE_P]." +msgstr "" + +#: src/jade/directives/transactionerror.jade:152 +msgid "Request pending" +msgstr "Запрос в обработке" + +#: src/jade/directives/transactionerror.jade:154 +msgid "Request successful" +msgstr "Запрос прошел успешно" + #: src/jade/messages/sendconvert/confirmation.jade:4 msgid "Transaction pending." msgstr "Транзакция в обработке" @@ -285,8 +526,11 @@ msgstr "Транзакция прошла успешно" msgid "Transaction failed" msgstr "Транзакция не удалась" -#: src/jade/messages/sendconvert/confirmation.jade:9 -#: src/jade/tabs/trust.jade:58 src/jade/tabs/trust.jade:70 +#: src/jade/messages/sendconvert/confirmation.jade:9 src/jade/tabs/brl.jade:25 +#: src/jade/tabs/btc.jade:22 src/jade/tabs/eur.jade:25 +#: src/jade/tabs/gold.jade:25 src/jade/tabs/jpy.jade:25 +#: src/jade/tabs/mxn.jade:25 src/jade/tabs/trust.jade:43 +#: src/jade/tabs/usd.jade:25 msgid "Please try again later." msgstr "Пожалуйста, попробуйте еще раз попозже." @@ -327,6 +571,7 @@ msgid "Account unlock failed" msgstr "Разблокировка аккаунта не удалась" #: src/jade/messages/sendconvert/localerror.jade:18 +#: src/jade/tabs/trust.jade:40 msgid "Your account could not be unlocked. Please try again later." msgstr "Ваша аккаунт не может быть разблокирован. Пожалуйста, повторите попытку позже." @@ -342,7 +587,7 @@ msgid "" "executed already." msgstr "Прежде чем попытаться снова, пожалуйста, убедитесь, что транзакция не была выполнена ранее." -#: src/jade/messages/sendconvert/waiting.jade:3 +#: src/jade/messages/sendconvert/waiting.jade:5 msgid "Sending transaction to the Ripple network" msgstr "Отправка транзакции в сеть Ripple" @@ -358,13 +603,49 @@ msgstr "{{tx.counterparty | rpcontactname}} послал Вам" msgid "{{tx.counterparty | rpcontactname}} now trusts you for" msgstr "{{tx.counterparty | rpcontactname}} теперь Вам доверяет на" +#: src/jade/popup/modifyOrderError.jade:2 +msgid "Modify Order Error" +msgstr "Ошибка изменения запроса" + +#: src/jade/popup/modifyOrderError.jade:4 +msgid "Sorry, your order could not be modified." +msgstr "Сожалеем, Ваш запрос не может быть изменен." + +#: src/jade/popup/modifyOrderError.jade:5 +msgid "" +"Your original order was cancelled but the modified order was not placed. " +"
" +msgstr "Ваш первоначльный запрос был отменен, но измененный запрос не был размещен.
" + +#: src/jade/popup/modifyOrderError.jade:6 +msgid "" +"The quantity of your order changed by {{order.qtyChangeAfterCancel | " +"rpamount}} before the order could be modified.

" +msgstr "" + +#: src/jade/popup/modifyOrderError.jade:7 +msgid "" +"To safeguard against the possibility of overfills a new order has not been " +"placed.
" +msgstr "" + +#: src/jade/popup/modifyOrderError.jade:8 +msgid "" +"Please check your balance and history before placing the new order manually." +"
" +msgstr "Пожалуйста, проверьте Ваш баланс и историю, перед размещением нового запроса вручную." + +#: src/jade/popup/modifyOrderError.jade:10 src/jade/popup/unlock.jade:17 +msgid "Close" +msgstr "Закрыть" + #: src/jade/popup/unlock.jade:2 msgid "Unlock account" msgstr "Разблокировать аккаунт" -#: src/jade/popup/unlock.jade:5 src/jade/tabs/desktop/register.jade:28 -#: src/jade/tabs/login/form.jade:7 src/jade/tabs/recover.jade:33 -#: src/jade/tabs/register.jade:42 src/jade/tabs/security.jade:10 +#: src/jade/popup/unlock.jade:5 src/jade/tabs/login/form.jade:8 +#: src/jade/tabs/recover.jade:38 src/jade/tabs/register.jade:58 +#: src/jade/tabs/security.jade:12 msgid "Password" msgstr "Пароль" @@ -372,7 +653,7 @@ msgstr "Пароль" msgid "Please enter your password to show your secret key." msgstr "Введите Ваш пароль, чтобы увидеть ваш секретный ключ." -#: src/jade/popup/unlock.jade:9 src/jade/tabs/send.jade:199 +#: src/jade/popup/unlock.jade:9 src/jade/tabs/send.jade:205 msgid "Please enter your password to confirm this transaction." msgstr "Введите Ваш пароль для подтверждения транзакции." @@ -380,52 +661,146 @@ msgstr "Введите Ваш пароль для подтверждения т msgid "This password is incorrect, please try again." msgstr "Пароль указан неверно, повторите попытку." -#: src/jade/popup/unlock.jade:11 +#: src/jade/popup/unlock.jade:13 msgid "Confirming password" msgstr "Подтверждение пароля" -#: src/jade/popup/unlock.jade:14 src/jade/tabs/account/public.jade:44 -#: src/jade/tabs/security.jade:133 +#: src/jade/popup/unlock.jade:16 src/jade/tabs/account/public.jade:44 +#: src/jade/tabs/security.jade:146 msgid "Submit" msgstr "Подтвердить" -#: src/jade/popup/unlock.jade:15 -msgid "Close" -msgstr "Закрыть" - #: src/jade/tabs/2fa/form.jade:3 msgid "Country Code" msgstr "Код страны" -#: src/jade/tabs/2fa/form.jade:6 src/jade/tabs/kyc.jade:143 +#: src/jade/tabs/2fa/form.jade:6 src/jade/tabs/kyc.jade:162 msgid "Phone Number" msgstr "Номер телефона" +#: src/jade/tabs/_usd.jade:6 src/jade/tabs/apps.jade:5 +#: src/jade/tabs/balance.jade:5 src/jade/tabs/brl.jade:6 +#: src/jade/tabs/btc.jade:9 src/jade/tabs/eur.jade:6 +#: src/jade/tabs/exchange.jade:6 src/jade/tabs/fund.jade:6 +#: src/jade/tabs/gold.jade:6 src/jade/tabs/history.jade:6 +#: src/jade/tabs/jpy.jade:6 src/jade/tabs/kyc.jade:6 src/jade/tabs/mxn.jade:6 +#: src/jade/tabs/send.jade:6 src/jade/tabs/su.jade:5 +#: src/jade/tabs/trade.jade:7 src/jade/tabs/trust.jade:6 +#: src/jade/tabs/usd.jade:6 src/jade/tabs/withdraw.jade:6 +#: src/jade/tabs/xrp.jade:6 +msgid "You have to be online to see this screen" +msgstr "Вы должны быть в режиме онлайн, чтобы прочесть это сообщение" + +#: src/jade/tabs/_usd.jade:17 +msgid "USD instant deposit" +msgstr "" + +#: src/jade/tabs/_usd.jade:19 src/jade/tabs/_usd.jade:21 +msgid "Step 1 (Amount)" +msgstr "Шаг 1 (Количество)" + +#: src/jade/tabs/_usd.jade:22 +msgid "Step 2 (Confirmation)" +msgstr "Шаг 2 (Подтверждение)" + +#: src/jade/tabs/_usd.jade:23 +msgid "Step 3 (Complete deposit)" +msgstr "Шаг 3 (Совершение депозита)" + +#: src/jade/tabs/_usd.jade:26 +msgid "STEP 1: AMOUNT" +msgstr "ШАГ 1: КОЛИЧЕСТВО" + +#: src/jade/tabs/_usd.jade:28 +msgid "STEP 2: CONFIRMATION" +msgstr "ШАГ 2: ПОДТВЕРЖДЕНИЕ" + +#: src/jade/tabs/_usd.jade:30 +msgid "STEP 3: COMPLETE DEPOSIT" +msgstr "ШАГ 3: СОВЕРШЕНИЕ ДЕПОЗИТА" + +#: src/jade/tabs/_usd.jade:34 +msgid "" +"Success! You've completed your USD deposit. Your funds should be available " +"within a few minutes." +msgstr "" + +#: src/jade/tabs/_usd.jade:36 +msgid "You cancelled your deposit." +msgstr "Вы отменили Ваш депозит." + +#: src/jade/tabs/_usd.jade:38 +msgid "" +"Your deposit failed. Your bank account was not charged. Please contact " +"{{1}}." +msgstr "" + +#: src/jade/tabs/_usd.jade:49 src/jade/tabs/_usd.jade:91 +#: src/jade/tabs/fund.jade:41 src/jade/tabs/history.jade:172 +#: src/jade/tabs/trust.jade:89 +msgid "Amount" +msgstr "Количество" + +#: src/jade/tabs/_usd.jade:59 src/jade/tabs/_usd.jade:62 +msgid "Select your bank" +msgstr "Выберите ваш банк" + +#: src/jade/tabs/_usd.jade:77 +msgid "" +"Ripple Trade has partnered with SnapSwap to make USD deposits easier. By " +"continuing, you agree to SnapSwap's {{1}}To contact support, email {{2}}." +msgstr "" + +#: src/jade/tabs/_usd.jade:93 src/jade/tabs/history.jade:178 +msgid "Fee" +msgstr "Комиссия" + +#: src/jade/tabs/_usd.jade:95 +msgid "Total" +msgstr "Всего" + +#: src/jade/tabs/_usd.jade:98 +msgid "Calculating..." +msgstr "Вычисление..." + +#: src/jade/tabs/_usd.jade:109 src/jade/tabs/register.jade:126 +#: src/jade/tabs/register.jade:133 +msgid "Back" +msgstr "Назад" + +#: src/jade/tabs/_usd.jade:111 src/jade/tabs/btc.jade:73 +#: src/jade/tabs/exchange.jade:111 src/jade/tabs/send.jade:213 +#: src/jade/tabs/trade.jade:67 src/jade/tabs/trade.jade:77 +#: src/jade/tabs/trade.jade:248 src/jade/tabs/trade.jade:407 +#: src/jade/tabs/trust.jade:140 +msgid "Confirm" +msgstr "Подтвердить" + #: src/jade/tabs/account/navbar.jade:2 msgid "Public Information" msgstr "Публичная информация" -#: src/jade/tabs/account/private.jade:2 +#: src/jade/tabs/account/private.jade:1 msgid "Profile Information" msgstr "Информация профиля" -#: src/jade/tabs/account/private.jade:5 +#: src/jade/tabs/account/private.jade:3 msgid "Identity Information" msgstr "Информация по идентификации" -#: src/jade/tabs/account/private.jade:8 src/jade/tabs/account/private.jade:19 +#: src/jade/tabs/account/private.jade:8 src/jade/tabs/account/private.jade:17 msgid "Completed" msgstr "Закончен" -#: src/jade/tabs/account/private.jade:11 src/jade/tabs/account/private.jade:22 +#: src/jade/tabs/account/private.jade:9 src/jade/tabs/account/private.jade:18 msgid "Incomplete" msgstr "Незакончен" -#: src/jade/tabs/account/private.jade:13 src/jade/tabs/account/private.jade:24 +#: src/jade/tabs/account/private.jade:10 src/jade/tabs/account/private.jade:19 msgid "Complete your profile" msgstr "Заполните ваш профиль" -#: src/jade/tabs/account/private.jade:16 +#: src/jade/tabs/account/private.jade:12 msgid "Identity Questions" msgstr "Вопросы по идентификации" @@ -441,15 +816,17 @@ msgstr "Ваше Ripple имя было успешно изменено." msgid "Account settings" msgstr "Настройки аккаунта" -#: src/jade/tabs/account/public.jade:5 src/jade/tabs/login/form.jade:2 +#: src/jade/tabs/account/public.jade:5 src/jade/tabs/fund/menu.jade:2 +#: src/jade/tabs/login/form.jade:3 msgid "Ripple name" msgstr "Имя Ripple" -#: src/jade/tabs/account/public.jade:9 src/jade/tabs/advanced.jade:17 -#: src/jade/tabs/advanced.jade:34 src/jade/tabs/advanced.jade:53 -#: src/jade/tabs/advanced.jade:106 src/jade/tabs/security.jade:107 -#: src/jade/tabs/security.jade:165 src/jade/tabs/trust.jade:219 -#: src/jade/tabs/trust.jade:248 +#: src/jade/tabs/account/public.jade:9 src/jade/tabs/advanced.jade:27 +#: src/jade/tabs/advanced.jade:44 src/jade/tabs/advanced.jade:63 +#: src/jade/tabs/advanced.jade:86 src/jade/tabs/advanced.jade:134 +#: src/jade/tabs/contacts.jade:61 src/jade/tabs/security.jade:120 +#: src/jade/tabs/security.jade:180 src/jade/tabs/trust.jade:191 +#: src/jade/tabs/trust.jade:193 msgid "edit" msgstr "править" @@ -457,23 +834,24 @@ msgstr "править" msgid "New Ripple name" msgstr "Новое Ripple Имя" -#: src/jade/tabs/account/public.jade:17 src/jade/tabs/balance.jade:60 +#: src/jade/tabs/account/public.jade:17 src/jade/tabs/register.jade:35 +#: src/jade/tabs/widgets/balances.jade:24 msgid "Available" msgstr "Доступно" -#: src/jade/tabs/account/public.jade:20 src/jade/tabs/register.jade:30 +#: src/jade/tabs/account/public.jade:20 src/jade/tabs/register.jade:39 msgid "Already taken!" msgstr "Уже занято!" -#: src/jade/tabs/account/public.jade:21 src/jade/tabs/register.jade:31 +#: src/jade/tabs/account/public.jade:21 msgid "Reserved for {{usernameReservedFor}}{{1}}{{2}}" msgstr "Зарезервировано {{usernameReservedFor}}{{1}}{{2}}" -#: src/jade/tabs/account/public.jade:24 src/jade/tabs/register.jade:34 +#: src/jade/tabs/account/public.jade:24 src/jade/tabs/register.jade:45 msgid "Must be at least 2 characters" msgstr "Должно быть не менее двух символов" -#: src/jade/tabs/account/public.jade:25 src/jade/tabs/register.jade:35 +#: src/jade/tabs/account/public.jade:25 src/jade/tabs/register.jade:47 msgid "Must be at most 20 characters" msgstr "Должно быть не более 20 символов" @@ -481,11 +859,11 @@ msgstr "Должно быть не более 20 символов" msgid "Only a-z, 0-9 and hyphen (-)" msgstr "Только a-z, 0-9 и дефис (-)" -#: src/jade/tabs/account/public.jade:27 src/jade/tabs/register.jade:37 +#: src/jade/tabs/account/public.jade:27 src/jade/tabs/register.jade:51 msgid "Cannot start with hyphen (-)" msgstr "Не может начинаться с дефиса (-)" -#: src/jade/tabs/account/public.jade:28 src/jade/tabs/register.jade:38 +#: src/jade/tabs/account/public.jade:28 src/jade/tabs/register.jade:53 msgid "Cannot end with hyphen (-)" msgstr "Не может заканчиваться дефисом (-)" @@ -493,16 +871,16 @@ msgstr "Не может заканчиваться дефисом (-)" msgid "Cannot bundle hyphens (--)" msgstr "Нельзя объединять дефисы (--)" -#: src/jade/tabs/account/public.jade:30 src/jade/tabs/register.jade:40 +#: src/jade/tabs/account/public.jade:30 src/jade/tabs/register.jade:56 msgid "Checking..." msgstr "Проверка..." -#: src/jade/tabs/account/public.jade:32 src/jade/tabs/security.jade:113 +#: src/jade/tabs/account/public.jade:32 src/jade/tabs/security.jade:126 msgid "Current password" msgstr "Действующий пароль" -#: src/jade/tabs/account/public.jade:35 src/jade/tabs/security.jade:15 -#: src/jade/tabs/security.jade:20 +#: src/jade/tabs/account/public.jade:35 src/jade/tabs/security.jade:18 +#: src/jade/tabs/security.jade:23 msgid "Entered password is wrong." msgstr "Введен неверный пароль." @@ -514,111 +892,135 @@ msgstr "Ваше Ripple Имя было изменено. Пожалуйста msgid "Couldn't change your Ripple name, please try again later." msgstr "Не удалось сменить ваше Ripple Имя, пожалуйста попробуйте еще раз позднее." -#: src/jade/tabs/account/public.jade:47 src/jade/tabs/desktop/register.jade:67 -#: src/jade/tabs/fund.jade:77 src/jade/tabs/trade.jade:323 -msgid "Cancel" -msgstr "Отмена" +#: src/jade/tabs/account/public.jade:47 src/jade/tabs/advanced.jade:36 +#: src/jade/tabs/advanced.jade:53 src/jade/tabs/advanced.jade:77 +#: src/jade/tabs/advanced.jade:94 src/jade/tabs/advanced.jade:124 +#: src/jade/tabs/btc.jade:74 src/jade/tabs/contacts.jade:50 +#: src/jade/tabs/contacts.jade:93 src/jade/tabs/exchange.jade:113 +#: src/jade/tabs/exchange.jade:126 src/jade/tabs/kyc.jade:116 +#: src/jade/tabs/kyc.jade:131 src/jade/tabs/kyc.jade:156 +#: src/jade/tabs/kyc.jade:157 src/jade/tabs/kyc.jade:186 +#: src/jade/tabs/login/form.jade:26 src/jade/tabs/security.jade:79 +#: src/jade/tabs/security.jade:112 src/jade/tabs/security.jade:149 +#: src/jade/tabs/send.jade:215 src/jade/tabs/send.jade:227 +#: src/jade/tabs/send.jade:252 src/jade/tabs/send.jade:286 +#: src/jade/tabs/trade.jade:55 src/jade/tabs/trust.jade:141 +#: src/jade/tabs/trust.jade:143 src/jade/tabs/trust.jade:213 +#: src/jade/tabs/trust.jade:251 +msgid "cancel" +msgstr "отмена" -#: src/jade/tabs/account/public.jade:49 src/jade/tabs/contacts.jade:7 -#: src/jade/tabs/contacts.jade:34 src/jade/tabs/desktop/register.jade:88 +#: src/jade/tabs/account/public.jade:49 msgid "Ripple address" msgstr "Ripple адрес" +#: src/jade/tabs/advanced.jade:8 +msgid "Your blob vault has been changed successfully." +msgstr "" + +#: src/jade/tabs/advanced.jade:9 +msgid "Your bitcoin bridge has been changed successfully." +msgstr "" + +#: src/jade/tabs/advanced.jade:10 +msgid "Trustline advanced settings has been changed successfully." +msgstr "" + #: src/jade/tabs/advanced.jade:11 +msgid "Maximum network fee has been changed successfully." +msgstr "" + +#: src/jade/tabs/advanced.jade:12 +msgid "A new server has been successfully added." +msgstr "Новый сервер успешно добавлен." + +#: src/jade/tabs/advanced.jade:13 +msgid "A server has been successfully removed." +msgstr "Сервер успешно удален." + +#: src/jade/tabs/advanced.jade:14 +msgid "A server has been changed successfully." +msgstr "Сервер успешно изменен." + +#: src/jade/tabs/advanced.jade:21 msgid "Blob vault" msgstr "Blob-хранилище" -#: src/jade/tabs/advanced.jade:22 src/jade/tabs/advanced.jade:39 -#: src/jade/tabs/advanced.jade:63 src/jade/tabs/advanced.jade:92 -#: src/jade/tabs/contacts.jade:86 src/jade/tabs/fund.jade:79 -#: src/jade/tabs/security.jade:175 src/jade/tabs/send.jade:241 -#: src/jade/tabs/send.jade:270 src/jade/tabs/trust.jade:156 -#: src/jade/tabs/trust.jade:282 +#: src/jade/tabs/advanced.jade:32 src/jade/tabs/advanced.jade:49 +#: src/jade/tabs/advanced.jade:73 src/jade/tabs/advanced.jade:92 +#: src/jade/tabs/advanced.jade:120 src/jade/tabs/contacts.jade:88 +#: src/jade/tabs/fund.jade:65 src/jade/tabs/security.jade:190 +#: src/jade/tabs/send.jade:251 src/jade/tabs/send.jade:284 +#: src/jade/tabs/trust.jade:119 src/jade/tabs/trust.jade:232 msgid "Save" msgstr "Сохранить" -#: src/jade/tabs/advanced.jade:24 src/jade/tabs/advanced.jade:41 -#: src/jade/tabs/advanced.jade:65 src/jade/tabs/advanced.jade:94 -#: src/jade/tabs/contacts.jade:84 +#: src/jade/tabs/advanced.jade:34 src/jade/tabs/advanced.jade:51 +#: src/jade/tabs/advanced.jade:75 src/jade/tabs/advanced.jade:122 +#: src/jade/tabs/contacts.jade:91 src/jade/tabs/security.jade:198 msgid "Delete" msgstr "Удалить" -#: src/jade/tabs/advanced.jade:26 src/jade/tabs/advanced.jade:43 -#: src/jade/tabs/advanced.jade:67 src/jade/tabs/advanced.jade:96 -#: src/jade/tabs/btc.jade:62 src/jade/tabs/contacts.jade:58 -#: src/jade/tabs/contacts.jade:95 src/jade/tabs/exchange.jade:96 -#: src/jade/tabs/exchange.jade:109 src/jade/tabs/kyc.jade:104 -#: src/jade/tabs/kyc.jade:116 src/jade/tabs/kyc.jade:137 -#: src/jade/tabs/kyc.jade:138 src/jade/tabs/kyc.jade:162 -#: src/jade/tabs/login/form.jade:18 src/jade/tabs/security.jade:71 -#: src/jade/tabs/security.jade:101 src/jade/tabs/security.jade:136 -#: src/jade/tabs/send.jade:209 src/jade/tabs/send.jade:221 -#: src/jade/tabs/send.jade:242 src/jade/tabs/send.jade:272 -#: src/jade/tabs/trade.jade:32 src/jade/tabs/trade.jade:43 -#: src/jade/tabs/trust.jade:177 src/jade/tabs/trust.jade:179 -#: src/jade/tabs/trust.jade:263 src/jade/tabs/trust.jade:296 -msgid "cancel" -msgstr "отмена" - -#: src/jade/tabs/advanced.jade:28 +#: src/jade/tabs/advanced.jade:38 msgid "Bitcoin bridge" msgstr "Bitcoin-мост" -#: src/jade/tabs/advanced.jade:45 +#: src/jade/tabs/advanced.jade:55 msgid "Trust line" msgstr "Линии доверия" -#: src/jade/tabs/advanced.jade:50 src/jade/tabs/advanced.jade:61 -#: src/jade/tabs/desktop/register.jade:85 src/jade/tabs/security.jade:148 +#: src/jade/tabs/advanced.jade:60 src/jade/tabs/advanced.jade:71 +#: src/jade/tabs/security.jade:162 msgid "Show" msgstr "Отображать" -#: src/jade/tabs/advanced.jade:51 src/jade/tabs/desktop/register.jade:86 -#: src/jade/tabs/security.jade:149 +#: src/jade/tabs/advanced.jade:61 src/jade/tabs/security.jade:163 msgid "Hide" msgstr "Скрыты" -#: src/jade/tabs/advanced.jade:68 +#: src/jade/tabs/advanced.jade:78 +msgid "Network settings" +msgstr "Настройки сети" + +#: src/jade/tabs/advanced.jade:80 +msgid "Maximum network fee" +msgstr "Максимальная комиссия сети" + +#: src/jade/tabs/advanced.jade:96 msgid "Server settings" msgstr "Настройки Сервера" -#: src/jade/tabs/advanced.jade:73 +#: src/jade/tabs/advanced.jade:101 msgid "WebSocket host name" msgstr "WebSocket имя хоста" -#: src/jade/tabs/advanced.jade:75 +#: src/jade/tabs/advanced.jade:103 msgid "Port number" msgstr "Номер порта" -#: src/jade/tabs/advanced.jade:81 +#: src/jade/tabs/advanced.jade:109 msgid "Socket ip or hostname is invalid." msgstr "Socket ip или имя хоста указаны не верно." -#: src/jade/tabs/advanced.jade:83 +#: src/jade/tabs/advanced.jade:111 msgid "Port number is invalid." msgstr "Номер порта указан не верно." -#: src/jade/tabs/advanced.jade:90 src/jade/tabs/advanced.jade:103 +#: src/jade/tabs/advanced.jade:118 src/jade/tabs/advanced.jade:131 msgid "Secure" msgstr "Безопасное" -#: src/jade/tabs/advanced.jade:104 +#: src/jade/tabs/advanced.jade:132 msgid "Not Secure" msgstr "Не Безопасное" -#: src/jade/tabs/advanced.jade:110 +#: src/jade/tabs/advanced.jade:138 msgid "Add new server" msgstr "Добавить новый сервер" -#: src/jade/tabs/apps.jade:5 src/jade/tabs/balance.jade:5 -#: src/jade/tabs/btc.jade:6 src/jade/tabs/exchange.jade:6 -#: src/jade/tabs/fund.jade:6 src/jade/tabs/history.jade:6 -#: src/jade/tabs/kyc.jade:6 src/jade/tabs/send.jade:6 src/jade/tabs/su.jade:5 -#: src/jade/tabs/trade.jade:7 src/jade/tabs/trust.jade:6 -#: src/jade/tabs/usd.jade:6 src/jade/tabs/withdraw.jade:6 -#: src/jade/tabs/xrp.jade:6 -msgid "You have to be online to see this screen" -msgstr "Вы должны быть в режиме онлайн, чтобы прочесть это сообщение" +#: src/jade/tabs/apps.jade:27 +msgid "App Ripple Address" +msgstr "" #: src/jade/tabs/apps.jade:29 msgid "Please enter a ripple address." @@ -628,460 +1030,535 @@ msgstr "Введите адрес Ripple." msgid "Please enter a valid ripple address." msgstr "Введите действующий адрес Ripple." -#: src/jade/tabs/balance.jade:21 -msgid "Total Balance{{1}}" -msgstr "Общий баланс{{1}}" +#: src/jade/tabs/banner/announcement.jade:2 +msgid "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" +msgstr "Помогите наша команда улучшить Ripple Trade! {{1:. Пройдите быстрый опрос}}!" -#: src/jade/tabs/balance.jade:22 -msgid "Estimated from latest trade price" -msgstr "Ориентировочно от последней цены на торгах" +#: src/jade/tabs/banner/unfunded.jade:2 +msgid "" +"Welcome to Ripple Trade! Your account needs to be activated. You can " +"activate it in 2 ways:" +msgstr "" -#: src/jade/tabs/balance.jade:29 -msgid "(excluding negative balances)" -msgstr "(без отрицательных балансов)" +#: src/jade/tabs/banner/unfunded.jade:4 +msgid "" +"Have another user send XRP to your Ripple name " +"(~{{userCredentials.username}}). {{1}}" +msgstr "" -#: src/jade/tabs/balance.jade:67 -msgid "Reserve" -msgstr "Резерв" +#: src/jade/tabs/brl.jade:24 src/jade/tabs/eur.jade:24 +#: src/jade/tabs/gold.jade:24 src/jade/tabs/jpy.jade:24 +#: src/jade/tabs/mxn.jade:24 src/jade/tabs/trust.jade:42 +#: src/jade/tabs/usd.jade:24 +msgid "There was an error while saving your changes." +msgstr "При сохранении изменний произошла ошибка ." -#: src/jade/tabs/balance.jade:85 -msgid "Unverified" -msgstr "Неподтвержденно" +#: src/jade/tabs/brl.jade:28 src/jade/tabs/eur.jade:27 +#: src/jade/tabs/gold.jade:27 src/jade/tabs/jpy.jade:28 +#: src/jade/tabs/mxn.jade:28 src/jade/tabs/trust.jade:45 +#: src/jade/tabs/usd.jade:27 +msgid "You must have at least {{1}} to add a new trust line. {{2}}" +msgstr "У Вас должно быть по меньшей мере {{1}} для того, чтобы создать новую линию доверия. {{2}}" -#: src/jade/tabs/balance.jade:92 -msgid "Enter bitcoin address." -msgstr "Введите адрес bitcoin." +#: src/jade/tabs/brl.jade:38 +msgid "Brazilian Real Deposit" +msgstr "" -#: src/jade/tabs/balance.jade:95 -msgid "Enter amount to withdraw." -msgstr "Введите сумму для вывода." +#: src/jade/tabs/brl.jade:41 src/jade/tabs/btc.jade:35 +#: src/jade/tabs/eur.jade:38 src/jade/tabs/gold.jade:40 +#: src/jade/tabs/jpy.jade:41 src/jade/tabs/mxn.jade:41 +#: src/jade/tabs/trust.jade:167 src/jade/tabs/usd.jade:38 +msgid "Gateway" +msgstr "Шлюз" -#: src/jade/tabs/balance.jade:100 src/jade/tabs/balance.jade:102 -msgid "Enter a valid bitcoin address" -msgstr "Введите действующий адрес bitcoin. " +#: src/jade/tabs/brl.jade:42 src/jade/tabs/eur.jade:48 +#: src/jade/tabs/mxn.jade:81 src/jade/tabs/mxn.jade:93 +#: src/jade/tabs/mxn.jade:103 src/jade/tabs/security.jade:49 +msgid "{{1}}{{2}}" +msgstr "" -#: src/jade/tabs/balance.jade:106 -msgid "Enter a valid amount" -msgstr "Введите действительную сумму" +#: src/jade/tabs/brl.jade:43 +msgid "Ripple (~rippex)" +msgstr "Ripple (~rippex)" -#: src/jade/tabs/balance.jade:113 -msgid "You are sending {{1}} BTC to:" -msgstr "Вы посылаете {{1}} BTC:" +#: src/jade/tabs/brl.jade:46 src/jade/tabs/btc.jade:39 +#: src/jade/tabs/eur.jade:44 src/jade/tabs/gold.jade:44 +#: src/jade/tabs/jpy.jade:45 src/jade/tabs/mxn.jade:46 +#: src/jade/tabs/usd.jade:44 +msgid "Availability" +msgstr "Доступность" -#: src/jade/tabs/balance.jade:119 src/jade/tabs/balance.jade:134 -#: src/jade/tabs/register.jade:105 src/jade/tabs/register.jade:111 -msgid "Back" -msgstr "Назад" +#: src/jade/tabs/brl.jade:47 +msgid "Brazil" +msgstr "" -#: src/jade/tabs/balance.jade:122 src/jade/tabs/btc.jade:61 -#: src/jade/tabs/exchange.jade:94 src/jade/tabs/send.jade:207 -#: src/jade/tabs/trade.jade:57 src/jade/tabs/trade.jade:67 -#: src/jade/tabs/trade.jade:241 src/jade/tabs/trust.jade:176 -msgid "Confirm" -msgstr "Подтвердить" +#: src/jade/tabs/brl.jade:49 src/jade/tabs/btc.jade:42 +#: src/jade/tabs/eur.jade:47 src/jade/tabs/gold.jade:47 +#: src/jade/tabs/jpy.jade:48 src/jade/tabs/mxn.jade:49 +#: src/jade/tabs/usd.jade:47 +msgid "Fees" +msgstr "" -#: src/jade/tabs/balance.jade:127 -msgid "Reconnecting to Ripple network" -msgstr "Возобновляем соодинение с сетью Рипл" +#: src/jade/tabs/brl.jade:50 src/jade/tabs/jpy.jade:49 +#: src/jade/tabs/kyc.jade:111 src/jade/tabs/kyc.jade:126 +#: src/jade/tabs/kyc.jade:151 +msgid "{{1}}{{2}}{{3}}" +msgstr "" -#: src/jade/tabs/balance.jade:128 -msgid "Transaction Successful" -msgstr "Транзакция прошла успешно" +#: src/jade/tabs/brl.jade:51 +msgid "Deposit: 1.50 BRL + 0.5%" +msgstr "" -#: src/jade/tabs/balance.jade:129 -msgid "Warning" -msgstr "Предупреждение" +#: src/jade/tabs/brl.jade:52 +msgid "Transfer: 0%" +msgstr "" -#: src/jade/tabs/balance.jade:130 -msgid "Transaction Failed" -msgstr "Транзакция некорректна" +#: src/jade/tabs/brl.jade:56 src/jade/tabs/btc.jade:45 +#: src/jade/tabs/eur.jade:53 src/jade/tabs/gold.jade:50 +#: src/jade/tabs/jpy.jade:54 src/jade/tabs/mxn.jade:52 +#: src/jade/tabs/usd.jade:50 +msgid "Rating" +msgstr "Рейтинг" -#: src/jade/tabs/balance.jade:131 -msgid "Message" -msgstr "Сообщение" +#: src/jade/tabs/brl.jade:62 +msgid "" +"Ripple Trade has partnered with Rippex to provide easy access to BRL. By " +"continuing, you agree with Rippex's {{1}}Following this action will enable " +"Rippex to hold BRL on your behalf." +msgstr "" -#: src/jade/tabs/banner/announcement.jade:2 -msgid "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" -msgstr "Помогите наша команда улучшить Ripple Trade! {{1:. Пройдите быстрый опрос}}!" +#: src/jade/tabs/brl.jade:69 +msgid "Add Rippex" +msgstr "" -#: src/jade/tabs/banner/announcement.jade:5 +#: src/jade/tabs/brl.jade:70 +msgid "Adding..." +msgstr "" + +#: src/jade/tabs/brl.jade:71 src/jade/tabs/eur.jade:65 +#: src/jade/tabs/jpy.jade:64 src/jade/tabs/usd.jade:62 +msgid "Hide instructions" +msgstr "Скрыть инструкции" + +#: src/jade/tabs/brl.jade:72 src/jade/tabs/eur.jade:66 +#: src/jade/tabs/jpy.jade:65 src/jade/tabs/usd.jade:63 +msgid "Show instructions" +msgstr "Показать инструкции" + +#: src/jade/tabs/brl.jade:75 src/jade/tabs/btc.jade:83 +msgid "{{1}}Not connected" +msgstr "" + +#: src/jade/tabs/brl.jade:78 src/jade/tabs/btc.jade:86 +msgid "{{1}}Connected" +msgstr "" + +#: src/jade/tabs/brl.jade:81 src/jade/tabs/eur.jade:71 +#: src/jade/tabs/gold.jade:73 src/jade/tabs/jpy.jade:74 +#: src/jade/tabs/mxn.jade:76 src/jade/tabs/usd.jade:68 +msgid "Your account has to be activated before you can add a gateway account." +msgstr "Ваш аккаунт должен быть активирован перед подключением шлюза." + +#: src/jade/tabs/brl.jade:84 src/jade/tabs/eur.jade:75 +#: src/jade/tabs/gold.jade:76 src/jade/tabs/jpy.jade:77 +#: src/jade/tabs/mxn.jade:79 src/jade/tabs/usd.jade:72 msgid "×" msgstr "×" -#: src/jade/tabs/banner/unfunded.jade:2 -msgid "" -"Welcome to Ripple Trade! To activate your account, you'll need at least 20 " -"XRP." -msgstr "Добро пожаловать на сайт Ripple Trade! Для активации Вашего аккаунта вам нужно не менее 20 XRP." +#: src/jade/tabs/brl.jade:85 +msgid "NEW CUSTOMERS- SIGN UP AT RIPPEX" +msgstr "" -#: src/jade/tabs/banner/unfunded.jade:4 +#: src/jade/tabs/brl.jade:86 msgid "" -"Have another user send XRP to your Ripple name " -"(~{{userCredentials.username}})" -msgstr "Попросите другого пользователя переслать Вам XRP на Ваше Ripple имя (~{{userCredentials.username}})" +"{{1}} at Rippex.net to initiate deposits and withdrawals. You will " +"need:{{2}}" +msgstr "" -#: src/jade/tabs/banner/unfunded.jade:5 -msgid "" -"Use the {{1}}. A small amount of your first deposit will be used to " -"activate your account." -msgstr "Используйте {{1}}. Небольшое количество средств с первого депозита будет использоваться для активации аккаунта." +#: src/jade/tabs/brl.jade:90 +msgid "A {{1}}" +msgstr "" -#: src/jade/tabs/btc.jade:18 -msgid "Bitcoin Deposit" -msgstr "Bitcoin вклад" +#: src/jade/tabs/brl.jade:92 +msgid "A bank account in Brazil." +msgstr "" -#: src/jade/tabs/btc.jade:26 -msgid "" -"A small amount (~.001 BTC) of your first transfer will be converted to XRP " -"to activate your wallet. {{1:Why?}}" -msgstr "Небольшая сумма (~.001 BTC) из Вашего первого вложения будет конвертирована в XRP для активации Вашего кошелька. {{1:Почему?}}" +#: src/jade/tabs/brl.jade:96 +msgid "EXISTING RIPPEX CUSTOMERS" +msgstr "" -#: src/jade/tabs/btc.jade:30 -msgid "Your current deposit limit is:" -msgstr "Текущий лимит вашего вложения:" +#: src/jade/tabs/brl.jade:97 +msgid "If you have a Rippex account, {{1}}" +msgstr "" -#: src/jade/tabs/btc.jade:32 -msgid "Remove Limit" -msgstr "Удалить лимит " +#: src/jade/tabs/brl.jade:100 +msgid "DEPOSIT INSTRUCTIONS" +msgstr "ИНСТРУКЦИИ ПО ДЕПОЗИТУ" + +#: src/jade/tabs/brl.jade:101 +msgid "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" +msgstr "" + +#: src/jade/tabs/btc.jade:19 +msgid "Success! You can deposit BTC via your generated BTC receiving address." +msgstr "" + +#: src/jade/tabs/btc.jade:21 +msgid "There was an error with your request. {{1}}" +msgstr "" + +#: src/jade/tabs/btc.jade:30 +msgid "Bitcoin Deposit" +msgstr "Bitcoin вклад" #: src/jade/tabs/btc.jade:36 -msgid "Waiting for response from SnapSwap service..." -msgstr "В ожидании ответа от службы SnapSwap ..." +msgid "btc2ripple (~snapswap) {{1}}" +msgstr "" + +#: src/jade/tabs/btc.jade:40 src/jade/tabs/gold.jade:45 +#: src/jade/tabs/jpy.jade:46 +msgid "All countries" +msgstr "Все страны" -#: src/jade/tabs/btc.jade:38 +#: src/jade/tabs/btc.jade:43 src/jade/tabs/mxn.jade:50 +msgid "0%" +msgstr "0%" + +#: src/jade/tabs/btc.jade:50 msgid "" -"To deposit, generate a bitcoin receiving address using the {{1}} service " -"powered by SnapSwap." -msgstr "Для вложения, создайте адрес получателя bitcoin, используя услуги {{1}} на базе SnapSwap." +"Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By" +" proceeding, you agree to the btc2ripple {{1}} Following this action will " +"allow btc2ripple to hold BTC on your behalf." +msgstr "" -#: src/jade/tabs/btc.jade:45 -msgid "Generate bitcoin address" -msgstr "Сгенерировать адрес bitcoin" +#: src/jade/tabs/btc.jade:56 +msgid "Add btc2ripple" +msgstr "" -#: src/jade/tabs/btc.jade:49 src/jade/tabs/security.jade:56 -#: src/jade/tabs/trust.jade:160 +#: src/jade/tabs/btc.jade:60 src/jade/tabs/security.jade:64 +#: src/jade/tabs/trust.jade:123 msgid "Connect" msgstr "Соединиться" -#: src/jade/tabs/btc.jade:51 +#: src/jade/tabs/btc.jade:62 msgid "btc2ripple would like to:" msgstr "btc2ripple хотел бы:" -#: src/jade/tabs/btc.jade:53 -msgid "- Receive your email address{{1}}" -msgstr "- Получите ваш почтовый адрес{{1}}" +#: src/jade/tabs/btc.jade:64 +msgid "- Receive your email address {{1}}" +msgstr "" -#: src/jade/tabs/btc.jade:54 +#: src/jade/tabs/btc.jade:65 msgid "({{userBlob.data.email}})" msgstr "({{userBlob.data.email}})" -#: src/jade/tabs/btc.jade:55 +#: src/jade/tabs/btc.jade:66 msgid "- Hold deposited BTC on your behalf" msgstr "- Хранить вложенные BTC от вашего имени" -#: src/jade/tabs/btc.jade:56 +#: src/jade/tabs/btc.jade:67 msgid "By proceeding, you agree to the btc2ripple {{1}}" msgstr "Продолжая, вы тем самым соглашаетесь с btc2ripple {{1}}" -#: src/jade/tabs/btc.jade:63 +#: src/jade/tabs/btc.jade:75 msgid "" "SnapSwap's btc2ripple service is currently unavailable. Please check back " "later." msgstr "Сервис SnapSwap's btc2ripple временно недоступен. Пожалуйста, повторите попытку позже." -#: src/jade/tabs/contacts.jade:6 src/jade/tabs/contacts.jade:26 +#: src/jade/tabs/btc.jade:94 +msgid "Personal Deposit address" +msgstr "" + +#: src/jade/tabs/btc.jade:96 +msgid "Your account is fully verified." +msgstr "Ваш аккаунт полностью верифицирован." + +#: src/jade/tabs/btc.jade:104 +msgid "Withdrawal instructions" +msgstr "Инструкции по выводу средств" + +#: src/jade/tabs/btc.jade:105 +msgid "" +"To withdraw to a BTC address, go to the Send tab and enter the BTC address. " +"Using the btc2ripple service, you will be able tosend to that BTC address." +msgstr "" + +#: src/jade/tabs/btc.jade:110 +msgid "Waiting for response from SnapSwap service..." +msgstr "В ожидании ответа от службы SnapSwap ..." + +#: src/jade/tabs/btc.jade:112 +msgid "" +"To deposit, generate a bitcoin receiving address using the {{1}} service " +"powered by SnapSwap." +msgstr "Для вложения, создайте адрес получателя bitcoin, используя услуги {{1}} на базе SnapSwap." + +#: src/jade/tabs/contacts.jade:8 +msgid "A new contact has been successfully added." +msgstr "Новый контакт успешно добавлен." + +#: src/jade/tabs/contacts.jade:9 +msgid "Your contact has been successfully updated." +msgstr "Ваш контакт успешно обновлен." + +#: src/jade/tabs/contacts.jade:10 +msgid "A contact has been successfully removed." +msgstr "Контакт был успешно удален." + +#: src/jade/tabs/contacts.jade:12 src/jade/tabs/contacts.jade:24 +msgid "Contact" +msgstr "Контакт" + +#: src/jade/tabs/contacts.jade:13 src/jade/tabs/contacts.jade:32 msgid "Ripple name or address" msgstr "Имя или адрес Ripple " -#: src/jade/tabs/contacts.jade:9 src/jade/tabs/contacts.jade:13 -#: src/jade/tabs/contacts.jade:56 +#: src/jade/tabs/contacts.jade:15 src/jade/tabs/contacts.jade:19 +#: src/jade/tabs/contacts.jade:48 msgid "Add contact" msgstr "Добавить контакт" -#: src/jade/tabs/contacts.jade:18 -msgid "Contact" -msgstr "Контакт" - -#: src/jade/tabs/contacts.jade:21 +#: src/jade/tabs/contacts.jade:27 src/jade/tabs/send.jade:245 +#: src/jade/tabs/send.jade:277 msgid "Please enter a contact." msgstr "Пожалуйста, введите контакт." -#: src/jade/tabs/contacts.jade:22 +#: src/jade/tabs/contacts.jade:28 msgid "This contact already exists." msgstr "Такой контакт уже существует." -#: src/jade/tabs/contacts.jade:30 +#: src/jade/tabs/contacts.jade:36 msgid "Please enter a Ripple name." msgstr "Пожалуйста, введите имя Ripple." -#: src/jade/tabs/contacts.jade:31 src/jade/tabs/contacts.jade:47 +#: src/jade/tabs/contacts.jade:37 src/jade/tabs/contacts.jade:45 msgid "" "You already have a contact with the same Ripple name and/or the same " "Destination tag." msgstr "У вас уже есть контакт с тем же Ripple адресом и / или же тегом назначения." -#: src/jade/tabs/contacts.jade:32 +#: src/jade/tabs/contacts.jade:38 msgid "Not a valid Ripple name or address." msgstr "Некорректные Ripple имя или адрес." -#: src/jade/tabs/contacts.jade:38 -msgid "Please enter a Ripple address." -msgstr "Пожалуйста, введите Ripple адрес." - -#: src/jade/tabs/contacts.jade:39 src/jade/tabs/contacts.jade:53 -msgid "" -"You already have a contact with the same Ripple address and/or the same " -"Destination tag." -msgstr "У вас уже есть контакт с тем же Ripple адресом и / или же тегом назначения." - -#: src/jade/tabs/contacts.jade:40 -msgid "Not a valid Ripple address." -msgstr "Некорректный Риппл адрес." - -#: src/jade/tabs/contacts.jade:43 src/jade/tabs/contacts.jade:49 -#: src/jade/tabs/contacts.jade:77 src/jade/tabs/send.jade:51 -#: src/jade/tabs/tx.jade:54 +#: src/jade/tabs/contacts.jade:41 src/jade/tabs/contacts.jade:81 +#: src/jade/tabs/send.jade:42 src/jade/tabs/tx.jade:56 msgid "Destination tag" msgstr "Метка назначения" -#: src/jade/tabs/contacts.jade:46 src/jade/tabs/contacts.jade:52 -#: src/jade/tabs/send.jade:57 +#: src/jade/tabs/contacts.jade:42 +msgid "Leave blank if not applicable" +msgstr "Оставьте пустым, если не применимо" + +#: src/jade/tabs/contacts.jade:44 src/jade/tabs/send.jade:46 msgid "Invalid destination tag" msgstr "Неверная метка назначения" -#: src/jade/tabs/contacts.jade:66 src/jade/tabs/send.jade:236 -#: src/jade/tabs/send.jade:264 +#: src/jade/tabs/contacts.jade:72 msgid "You already have a contact with the same name." msgstr "У Вас уже имеется контакт с этим именем." -#: src/jade/tabs/contacts.jade:74 +#: src/jade/tabs/contacts.jade:78 msgid "You already have this address." msgstr "У Вас уже есть этот адрес." -#: src/jade/tabs/contacts.jade:75 +#: src/jade/tabs/contacts.jade:79 src/jade/tabs/debug.jade:14 msgid "Not a valid address." msgstr "Некорректный адрес." -#: src/jade/tabs/contacts.jade:80 +#: src/jade/tabs/contacts.jade:84 msgid "Invalid destination tag." msgstr "Неверная метка назначения" -#: src/jade/tabs/contacts.jade:93 src/jade/tabs/trust.jade:232 -msgid "Edit" -msgstr "Править" - -#: src/jade/tabs/contacts.jade:98 +#: src/jade/tabs/contacts.jade:94 msgid "" "You don't have any contacts yet. Click on 'Add contact' button in the top " "right corner to add a new contact." msgstr "У Вас еще нет контактов. Чтобы добавить конктакт нажмите \"Добавить контакт\" в правом верхнем углу." -#: src/jade/tabs/desktop/login.jade:3 -msgid "" -"You will not be able to login to the downloadable client using a " -"username/password you create on Ripple Trade or the web version of the " -"Ripple Client. You can only use a secret key to access an existing Ripple " -"account. This is because the downloadable client stores your login " -"information locally on your computer, so your account is as safe as the " -"security of your personal computer." -msgstr "Вы не сможете войти в систему скачивоемой программы-клиента, используя имя пользователя/пароль, созданные на Ripple Trade или в Интернет-версии Ripple Client. Для доступа действующего аккаунта Ripple, Вы можете использовать исключительно секретный ключ. Это является результатом того, что скачиваемая программа-клиент хранит Ваши данные для входа в систему на Вашем компьютере локально, в результате чего Ваш аккаунт защищен также надежно, как и Ваш компьютер." - -#: src/jade/tabs/desktop/login.jade:12 src/jade/tabs/desktop/login.jade:34 -msgid "Open account" -msgstr "Открыть аккаунт" - -#: src/jade/tabs/desktop/login.jade:15 src/jade/tabs/desktop/register.jade:5 -#: src/jade/tabs/desktop/register.jade:65 -msgid "Create new account" -msgstr "Создать новый аккаунт" - -#: src/jade/tabs/desktop/login.jade:18 -msgid "Select account file {{walletfile}}" -msgstr "Выбрать тип аккаунта {{walletfile}}" - -#: src/jade/tabs/desktop/login.jade:21 -msgid "Select account file" -msgstr "Выбрать тип аккаунта" - -#: src/jade/tabs/desktop/login.jade:24 -msgid "Account password" -msgstr "Пароль аккаунта" +#: src/jade/tabs/debug.jade:9 +msgid "Enter a Ripple name or address" +msgstr "" -#: src/jade/tabs/desktop/register.jade:8 -msgid "Open existing account" -msgstr "Открыть существующий аккаунт" +#: src/jade/tabs/debug.jade:13 +msgid "Please enter an address." +msgstr "" -#: src/jade/tabs/desktop/register.jade:11 -msgid "Create an empty account" -msgstr "Создать пустой аккаунт" +#: src/jade/tabs/debug.jade:17 +msgid "Turn on debug mode" +msgstr "" -#: src/jade/tabs/desktop/register.jade:14 -msgid "Create a new account with a secret key" -msgstr "Создать новый аккаунт с секретным ключом" +#: src/jade/tabs/eur.jade:35 +msgid "Euro Deposit" +msgstr "" -#: src/jade/tabs/desktop/register.jade:18 -msgid "Create empty account" -msgstr "Создать пустой аккаунт" +#: src/jade/tabs/eur.jade:39 +msgid "SnapSwap EU (~SnapSwap){{1}}{{2}}" +msgstr "" -#: src/jade/tabs/desktop/register.jade:20 -msgid "Encrypt your new account file: {{walletfile}}" -msgstr "Зашифруйте ваш новый аккаунт: {{walletfile}}" +#: src/jade/tabs/eur.jade:45 +msgid "All countries, except USA" +msgstr "" -#: src/jade/tabs/desktop/register.jade:24 -msgid "Wallet file" -msgstr "Тип кошелька" +#: src/jade/tabs/eur.jade:49 +msgid "€ 0.31 – € 15.00" +msgstr "" -#: src/jade/tabs/desktop/register.jade:31 +#: src/jade/tabs/eur.jade:59 msgid "" -"Your password is weak. It is not a mix of letters, numbers and symbols or it" -" is the same as your Ripple name." -msgstr "Ваш пароль слабый. Это не совокупность букв, цифр и символов или пароль совпадает с Вашим Ripple именем." - -#: src/jade/tabs/desktop/register.jade:33 src/jade/tabs/recover.jade:40 -#: src/jade/tabs/register.jade:49 src/jade/tabs/security.jade:123 -msgid "Confirm password" -msgstr "Подтвердить пароль " - -#: src/jade/tabs/desktop/register.jade:36 src/jade/tabs/recover.jade:43 -#: src/jade/tabs/register.jade:52 src/jade/tabs/security.jade:126 -msgid "Passwords do not match" -msgstr "Пароли не совпадают" - -#: src/jade/tabs/desktop/register.jade:42 -msgid "Encrypt account" -msgstr "Зашифровать аккаунт" - -#: src/jade/tabs/desktop/register.jade:44 -msgid "Cancel and delete account file" -msgstr "Отменить и удалить тип аккаунта" - -#: src/jade/tabs/desktop/register.jade:50 -msgid "Create account with secret key" -msgstr "Создать аккаунт с секретным ключом" +"Ripple Trade has partnered with SnapSwap to provide easier access to EUR. " +"Following this action will enable SnapSwap to hold EUR on your behalf." +msgstr "" -#: src/jade/tabs/desktop/register.jade:55 -msgid "Enter your secret key" -msgstr "Введите Ваш секретный ключ" +#: src/jade/tabs/eur.jade:69 src/jade/tabs/usd.jade:66 +msgid "Not connected" +msgstr "" -#: src/jade/tabs/desktop/register.jade:62 -msgid "Secret is invalid" -msgstr "Секретный ключ неверный" +#: src/jade/tabs/eur.jade:70 src/jade/tabs/usd.jade:67 +msgid "Connected" +msgstr "" -#: src/jade/tabs/desktop/register.jade:69 src/jade/tabs/register.jade:95 -msgid "Have an account? {{1:Log In}}" -msgstr "Уже есть аккаунт? {{1:Log In}}" +#: src/jade/tabs/eur.jade:76 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.EU" +msgstr "" -#: src/jade/tabs/desktop/register.jade:75 -msgid "Important:" -msgstr "Важно:" +#: src/jade/tabs/eur.jade:77 +msgid "Register and verify your account at SnapSwap EU. You will need: {{1}}" +msgstr "" -#: src/jade/tabs/desktop/register.jade:76 +#: src/jade/tabs/eur.jade:81 src/jade/tabs/usd.jade:78 msgid "" -"The secret key below gives access to your money in the unlikely case that " -"you lose your password. In that case your contacts will be lost, but with " -"this secret key alone anyone can retrieve your money. So please store it " -"somewhere PRIVATE AND SAFE. Read more about keys and wallet safety in {{1}}" -msgstr "Секретный ключ аккаунта, приведенный ниже, дает Вам доступ к деньгам в том маловероятном случае, если Вы потеряете Ваш пароль. В этом случае Ваши контакты будут утеряны, но с этим секретным ключем аккаунта любой желающий может получить Ваши деньги. Поэтому, пожалуйста, храните его в НАДЕЖНОМ и БЕЗОПАСНОМ месте. Подробнее о ключах и безопасности кошелька Вы можете узнать в {{1}}" +"A valid government-issued ID: driver license, passport, ID card, or visa " +"stamp." +msgstr "" -#: src/jade/tabs/desktop/register.jade:79 src/jade/tabs/settings/navbar.jade:2 -msgid "Security" -msgstr "Безопасность" +#: src/jade/tabs/eur.jade:83 src/jade/tabs/usd.jade:80 +msgid "A proof of address: driver license, utility bill, bank statement, etc." +msgstr "" -#: src/jade/tabs/desktop/register.jade:81 -msgid "Passphrase:{{1}}{{2}}{{3}}{{4}}" -msgstr "Кодовая фраза:{{1}}{{2}}{{3}}{{4}}" +#: src/jade/tabs/eur.jade:85 +msgid "EXISTING SNAPSWAP EU CUSTOMERS" +msgstr "" -#: src/jade/tabs/desktop/register.jade:90 -msgid "Secret key:" -msgstr "Секретный ключ:" +#: src/jade/tabs/eur.jade:89 src/jade/tabs/jpy.jade:94 +#: src/jade/tabs/usd.jade:86 +msgid "Login to your account {{1}}" +msgstr "" -#: src/jade/tabs/desktop/register.jade:95 src/jade/tabs/register.jade:150 -msgid "Show secret key" -msgstr "Показать секретный ключ" +#: src/jade/tabs/eur.jade:92 src/jade/tabs/jpy.jade:96 +msgid "DEPOSITS AND WITHDRAWALS:" +msgstr "" -#: src/jade/tabs/desktop/register.jade:97 src/jade/tabs/register.jade:151 -msgid "Hide secret key" -msgstr "Скрыть секретный ключ" +#: src/jade/tabs/eur.jade:96 +msgid "Deposit from your bank (2-4 business days)" +msgstr "" -#: src/jade/tabs/desktop/register.jade:98 -msgid "Have you saved your secret key somewhere safe?" -msgstr "Вы сохранили Ваш секретный ключ в безопасном месте?" +#: src/jade/tabs/eur.jade:98 +msgid "Withdraw to your bank account in SEPA (2-4 business days)" +msgstr "" -#: src/jade/tabs/desktop/register.jade:101 -msgid "Yes, I saved my secret key" -msgstr "Да, я сохранил мой секретный ключ" +#: src/jade/tabs/eur.jade:100 +msgid "Withdraw to SmartyCash Card (instant)" +msgstr "" #: src/jade/tabs/exchange.jade:13 msgid "You have to be funded before you can exchange money" msgstr "Ваш счет должен быть активирован, прежде чем вы сможете производить обмен денег" -#: src/jade/tabs/exchange.jade:18 -msgid "Convert one currency into another." -msgstr "Конвертировать одну валюту в другую." +#: src/jade/tabs/exchange.jade:23 +msgid "Buy (Market Order)" +msgstr "" + +#: src/jade/tabs/exchange.jade:24 +msgid "" +"Submit a buy order at the current market rate. Orders will execute " +"instantly." +msgstr "" -#: src/jade/tabs/exchange.jade:21 +# Receive (amount) +#: src/jade/tabs/exchange.jade:27 msgid "Receive (amount)" -msgstr "Получить" +msgstr "" + +#: src/jade/tabs/exchange.jade:34 src/jade/tabs/widgets/balances.jade:49 +msgid "add gateway" +msgstr "" -#: src/jade/tabs/exchange.jade:28 src/jade/tabs/send.jade:92 +#: src/jade/tabs/exchange.jade:37 src/jade/tabs/send.jade:90 msgid "Please enter an amount." msgstr "Пожалуйста, введите сумму." -#: src/jade/tabs/exchange.jade:29 src/jade/tabs/send.jade:93 -#: src/jade/tabs/trade.jade:146 src/jade/tabs/trade.jade:161 -#: src/jade/tabs/trade.jade:176 +#: src/jade/tabs/exchange.jade:38 src/jade/tabs/send.jade:91 +#: src/jade/tabs/trade.jade:153 src/jade/tabs/trade.jade:168 +#: src/jade/tabs/trade.jade:183 src/jade/tabs/trust.jade:101 msgid "Not a valid amount." msgstr "Некорректная сумма." -#: src/jade/tabs/exchange.jade:30 +#: src/jade/tabs/exchange.jade:39 +msgid "" +"You are either trying to convert too little or too much XRP.Minimum amount " +"is 0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "" + +#: src/jade/tabs/exchange.jade:42 src/jade/tabs/send.jade:96 +#: src/jade/tabs/trust.jade:103 +msgid "Your amount has too many digits. The max number of digits is 16." +msgstr "" + +#: src/jade/tabs/exchange.jade:43 msgid "Please enter an amount greater than zero." msgstr "Пожалуйста, введите сумму больше нуля." -#: src/jade/tabs/exchange.jade:33 -msgid "Calculating..." -msgstr "Вычисление..." +#: src/jade/tabs/exchange.jade:46 +msgid "{{1}} Calculating..." +msgstr "{{1}} Вычисление..." -#: src/jade/tabs/exchange.jade:35 +#: src/jade/tabs/exchange.jade:50 msgid "" "Cannot convert to {{exchange.amount}} {{exchange.currency_name}}. Please " "make sure your account has enough funds, and a {{1}} to a " "{{exchange.currency_name}} gateway." msgstr "Не удается перевести {{exchange.amount}} {{exchange.currency_name}}. Пожалуйста, убедитесь, что аккаунт имеет достаточно средств, и {{1}} на {{exchange.currency_name}} шлюзе." -#: src/jade/tabs/exchange.jade:39 +#: src/jade/tabs/exchange.jade:54 msgid "" "Sorry! Cannot convert {{exchange.amount}} {{exchange.currency_name}}. Please" " make sure your account has enough funds." msgstr "Сожалеем! Конвертация {{exchange.amount}} {{exchange.currency_name}} невозможна. Пожалуйста, убедитесь, что в вашем кошельке достаточно средств." -#: src/jade/tabs/exchange.jade:41 src/jade/tabs/send.jade:137 +#: src/jade/tabs/exchange.jade:56 src/jade/tabs/send.jade:142 msgid "Error while calculating path" msgstr "Ошибка при вычислении пути" -#: src/jade/tabs/exchange.jade:57 +#: src/jade/tabs/exchange.jade:60 +msgid "Exchange" +msgstr "Обмен" + +#: src/jade/tabs/exchange.jade:72 msgid "Exchange {{ alt.amount | rpcurrency }} {{1}}" msgstr "Обмен {{ alt.amount | rpcurrency }} {{1}}" -#: src/jade/tabs/exchange.jade:63 src/jade/tabs/send.jade:165 +#: src/jade/tabs/exchange.jade:78 src/jade/tabs/send.jade:170 msgid "Paths last updated {{1}} {{2: seconds}} {{3: second}} ago" msgstr "Последнее обновление путей было {{1}} {{2: секунд}} {{3: секунд}} назад" -#: src/jade/tabs/exchange.jade:72 +#: src/jade/tabs/exchange.jade:89 msgid "Ripple is calculating a path for your conversion." msgstr "Ripple рассчитывает путь для Вашего перевода." -#: src/jade/tabs/exchange.jade:77 +#: src/jade/tabs/exchange.jade:94 msgid "" "{{1:You are exchanging}}{{2}}{{3:to}}{{4}}{{5:You will pay at " "most}}{{6}}{{7:Are you sure?}}" msgstr "{{1:Вы обмениваете}}{{2}}{{3:to}}{{4}}{{5:Максимальный платеж составит}}{{6}}{{7:Вы уверены?}}" -#: src/jade/tabs/exchange.jade:118 +#: src/jade/tabs/exchange.jade:139 msgid "Do another conversion" msgstr "Осуществить другой обмен" -#: src/jade/tabs/exchange.jade:120 src/jade/tabs/send.jade:247 -#: src/jade/tabs/send.jade:277 +#: src/jade/tabs/exchange.jade:141 src/jade/tabs/send.jade:257 +#: src/jade/tabs/send.jade:291 msgid "Back to balance" msgstr "Вернуться к баллансу" @@ -1089,223 +1566,280 @@ msgstr "Вернуться к баллансу" msgid "Add trust" msgstr "Создать линию доверия" -#: src/jade/tabs/fund.jade:33 src/jade/tabs/fund.jade:47 -#: src/jade/tabs/trust.jade:100 src/jade/tabs/trust.jade:121 +#: src/jade/tabs/fund.jade:27 src/jade/tabs/send.jade:26 +msgid "Enter a Ripple name or contact" +msgstr "" + +#: src/jade/tabs/fund.jade:33 src/jade/tabs/trust.jade:73 msgid "Account does not meet the minimum XRP reserve." msgstr "Аккаунт не удовлетворяет минимальным требованиям резерва XPR." -#: src/jade/tabs/fund.jade:34 src/jade/tabs/fund.jade:48 -#: src/jade/tabs/send.jade:111 src/jade/tabs/trust.jade:101 -#: src/jade/tabs/trust.jade:122 -msgid "More information" -msgstr "Дополнительная информация" - -#: src/jade/tabs/fund.jade:36 src/jade/tabs/trust.jade:103 +#: src/jade/tabs/fund.jade:36 src/jade/tabs/trust.jade:76 msgid "Please enter a Ripple name, contact, or address." msgstr "Пожалуйста, введите Ripple имя, контакт или адрес." -#: src/jade/tabs/fund.jade:37 src/jade/tabs/fund.jade:51 -#: src/jade/tabs/trust.jade:104 src/jade/tabs/trust.jade:125 +#: src/jade/tabs/fund.jade:37 src/jade/tabs/trust.jade:77 msgid "You've entered your own address." msgstr "Вы ввели ваш собственный адрес." -#: src/jade/tabs/fund.jade:38 src/jade/tabs/trust.jade:105 +#: src/jade/tabs/fund.jade:38 src/jade/tabs/trust.jade:78 msgid "Please enter a valid Ripple name, contact, or address." msgstr "Пожалуйста введите действующие Ripple имя, контакт или адрес." -#: src/jade/tabs/fund.jade:50 src/jade/tabs/trust.jade:124 -msgid "Please enter a Ripple address or contact." -msgstr "Пожалуйста, введите Ripple адрес или контакт." - -#: src/jade/tabs/fund.jade:52 src/jade/tabs/trust.jade:126 -msgid "Please enter a valid Ripple address or contact." -msgstr "Пожалуйста, введите действующий Ripple адрес или контакт." - -#: src/jade/tabs/fund.jade:55 src/jade/tabs/history.jade:189 -#: src/jade/tabs/trade.jade:301 src/jade/tabs/trust.jade:129 -msgid "Amount" -msgstr "Количество" - -#: src/jade/tabs/fund.jade:62 src/jade/tabs/trust.jade:107 -#: src/jade/tabs/trust.jade:140 +#: src/jade/tabs/fund.jade:48 src/jade/tabs/trust.jade:80 msgid "Amount field is required" msgstr "Поле Сумма обязательно" -#: src/jade/tabs/fund.jade:64 src/jade/tabs/trust.jade:109 -#: src/jade/tabs/trust.jade:142 +#: src/jade/tabs/fund.jade:50 src/jade/tabs/trust.jade:82 +#: src/jade/tabs/trust.jade:105 msgid "" "XRP can be sent without extending trust. If you really want to trust in XRP," " please use XRR currency code." msgstr "XRP могут быть отправлены без расширения линии доверия. Если вы хотите создать линию доверия в XRP, используйте код валюты XRR." -#: src/jade/tabs/fund.jade:67 src/jade/tabs/trust.jade:112 -#: src/jade/tabs/trust.jade:145 +#: src/jade/tabs/fund.jade:53 src/jade/tabs/trust.jade:85 +#: src/jade/tabs/trust.jade:108 msgid "Currency field is required" msgstr "Поле Валюта обязательно" -#: src/jade/tabs/fund.jade:73 src/jade/tabs/trust.jade:151 +#: src/jade/tabs/fund.jade:59 src/jade/tabs/fund.jade:60 +#: src/jade/tabs/trust.jade:114 src/jade/tabs/trust.jade:115 msgid "Allow Rippling" msgstr "Разрешить для пересылки" -#: src/jade/tabs/fund/menu.jade:2 -msgid "XRP" -msgstr "XRP" +#: src/jade/tabs/fund.jade:60 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"trust. More " +"information" +msgstr "" + +#: src/jade/tabs/fund.jade:63 +msgid "Cancel" +msgstr "Отмена" #: src/jade/tabs/fund/menu.jade:3 -msgid "BTC" -msgstr "BTC" +msgid "{{1}}XRP" +msgstr "{{1}}XRP" #: src/jade/tabs/fund/menu.jade:6 +msgid "Featured gateways" +msgstr "" + +#: src/jade/tabs/fund/menu.jade:7 +msgid "{{1}}BRL" +msgstr "{{1}}BRL" + +#: src/jade/tabs/fund/menu.jade:10 +msgid "{{1}}BTC" +msgstr "{{1}}BTC" + +#: src/jade/tabs/fund/menu.jade:13 +msgid "{{1}}EUR" +msgstr "{{1}}EUR" + +#: src/jade/tabs/fund/menu.jade:16 +msgid "{{1}}JPY" +msgstr "{{1}}JPY" + +#: src/jade/tabs/fund/menu.jade:19 +msgid "{{1}}MXN" +msgstr "{{1}}MXN" + +#: src/jade/tabs/fund/menu.jade:22 +msgid "{{1}}USD" +msgstr "{{1}}USD" + +#: src/jade/tabs/fund/menu.jade:25 +msgid "{{1}}XAU" +msgstr "{{1}}XAU" + +#: src/jade/tabs/fund/menu.jade:28 +msgid "Add any gateway" +msgstr "" + +#: src/jade/tabs/fund/menu.jade:30 msgid "Learn more about gateways" msgstr "Узнать больше о шлюзах" -#: src/jade/tabs/history.jade:9 -msgid "Loading history..." -msgstr "Загрузка истории..." +#: src/jade/tabs/gold.jade:37 +msgid "Gold Deposit" +msgstr "" + +#: src/jade/tabs/gold.jade:41 +msgid "Gold Bullion International (~gbi) {{1}}" +msgstr "" + +#: src/jade/tabs/gold.jade:48 +msgid "0.5% per year" +msgstr "0.5% за год" + +#: src/jade/tabs/gold.jade:56 +msgid "" +"Ripple Trade has partnered with GBI to provide easy access toXAU. By " +"continuing, you are allowing GBI to hold gold on your behalf." +msgstr "" + +#: src/jade/tabs/gold.jade:67 src/jade/tabs/jpy.jade:68 +#: src/jade/tabs/mxn.jade:70 +msgid "{{1}} Not connected" +msgstr "" + +#: src/jade/tabs/gold.jade:70 src/jade/tabs/jpy.jade:71 +#: src/jade/tabs/mxn.jade:73 +msgid "{{1}} Connected" +msgstr "" + +#: src/jade/tabs/gold.jade:77 +msgid "Deposit" +msgstr "" + +#: src/jade/tabs/gold.jade:78 +msgid "" +"GBI does not currently support direct deposits. You can {{1}} or {{2}}." +msgstr "" + +#: src/jade/tabs/gold.jade:84 +msgid "Withdrawal" +msgstr "Вывод средств" + +#: src/jade/tabs/gold.jade:85 +msgid "" +"You can redeem the physical gold in 1 oz increments.To do so, you'll need to" +" {{1}} and arrange to have the gold shipped to you." +msgstr "" + +#: src/jade/tabs/history.jade:11 +msgid "Loading History" +msgstr "" -#: src/jade/tabs/history.jade:14 +#: src/jade/tabs/history.jade:16 msgid "Your account history is empty" msgstr "История Вашего аккаунта пуста" -#: src/jade/tabs/history.jade:20 -msgid "Filters" -msgstr "Фильтры" - -#: src/jade/tabs/history.jade:23 +#: src/jade/tabs/history.jade:24 msgid "Transaction type{{1}}{{2}}" msgstr "Тип транзакции{{1}}{{2}}" -#: src/jade/tabs/history.jade:48 +#: src/jade/tabs/history.jade:37 msgid "Date{{1}}{{2}}" msgstr "Дата{{1}}{{2}}" -#: src/jade/tabs/history.jade:53 +#: src/jade/tabs/history.jade:42 msgid "Load history for specific date range" msgstr "Загрузить историю за выбранный временной промежуток" -#: src/jade/tabs/history.jade:59 +#: src/jade/tabs/history.jade:48 msgid "From" msgstr "От" -#: src/jade/tabs/history.jade:65 +#: src/jade/tabs/history.jade:54 msgid "To" msgstr "Для" -#: src/jade/tabs/history.jade:68 +#: src/jade/tabs/history.jade:57 msgid "Filter" msgstr "Фильтр" -#: src/jade/tabs/history.jade:81 -msgid "Transaction History" -msgstr "История транзакций" - -#: src/jade/tabs/history.jade:83 -msgid "Export to CSV" -msgstr "Экспорт в CSV" - -#: src/jade/tabs/history.jade:87 +#: src/jade/tabs/history.jade:64 msgid "Date" msgstr "Дата" -#: src/jade/tabs/history.jade:88 src/jade/tabs/history.jade:187 +#: src/jade/tabs/history.jade:65 src/jade/tabs/history.jade:170 msgid "Description" msgstr "Описание" -#: src/jade/tabs/history.jade:89 +#: src/jade/tabs/history.jade:68 src/jade/tabs/history.jade:73 +msgid "Export to CSV" +msgstr "Экспорт в CSV" + +#: src/jade/tabs/history.jade:69 msgid "Sorry, no transactions match your current filter." msgstr "Извините, нет транзакций соответствующих фильтру, указанному Вами." -#: src/jade/tabs/history.jade:108 +#: src/jade/tabs/history.jade:91 msgid "You sent{{1}}to{{2}}" msgstr "Вы оправили{{1}}к{{2}}" -#: src/jade/tabs/history.jade:114 +#: src/jade/tabs/history.jade:97 msgid "{{1}}sent you{{2}}" msgstr "{{1}}отправил Вам{{2}}" -#: src/jade/tabs/history.jade:120 +#: src/jade/tabs/history.jade:103 msgid "You requested to exchange{{1}}to{{2}}" msgstr "Вы запросили обмен{{1}}на{{2}}" -#: src/jade/tabs/history.jade:126 +#: src/jade/tabs/history.jade:109 msgid "{{1}}now trusts you for{{2}}" msgstr "{{1}}теперь доверяет Вам на{{2}}" -#: src/jade/tabs/history.jade:139 src/jade/tabs/history/effects.jade:45 +#: src/jade/tabs/history.jade:122 src/jade/tabs/history/effects.jade:45 msgid "You created an order to sell{{1}}for{{2}}" msgstr "Вы создали шаблон продажи{{1}}за{{2}}" -#: src/jade/tabs/history.jade:143 src/jade/tabs/history/effects.jade:49 +#: src/jade/tabs/history.jade:126 src/jade/tabs/history/effects.jade:49 msgid "You created an order to buy{{1}}for{{2}}" msgstr "Вы создали шаблон покупки{{1}}за{{2}}" -#: src/jade/tabs/history.jade:149 +#: src/jade/tabs/history.jade:132 msgid "You cancelled an order accepting {{1}}for{{2}}" msgstr "Вы отменили заказ принимая {{1}}вместо{{2}}" -#: src/jade/tabs/history.jade:155 -msgid "Account details have been Changed" -msgstr "Данные аккаунта были изменены" - -#: src/jade/tabs/history.jade:161 -msgid "{{1}}{{2}}" -msgstr "{{1}}{{2}}" - -#: src/jade/tabs/history.jade:162 +#: src/jade/tabs/history.jade:145 msgid "Unknown transaction" msgstr "Неопознанная транзакция" -#: src/jade/tabs/history.jade:165 +#: src/jade/tabs/history.jade:148 msgid "" "The client failed to parse this transaction. The developers have been " "notified of the issue." msgstr "Клиент-программа не смогла обработать эту тразсакцию. Разработчики были уведомлены о проблеме." -#: src/jade/tabs/history.jade:170 +#: src/jade/tabs/history.jade:153 msgid "{{1}} sent you{{2}} and activated your account!" msgstr "{{1}} отправил вам{{2}} и активировал ваш аккаунт!" -#: src/jade/tabs/history.jade:177 +#: src/jade/tabs/history.jade:160 msgid "You deposited{{1}} using {{entry.details.app.name}}" msgstr "Вы внесли {{1}} используя{{entry.details.app.name}}" -#: src/jade/tabs/history.jade:185 +#: src/jade/tabs/history.jade:168 msgid "Balance Changes" msgstr "Изменения балансов" -#: src/jade/tabs/history.jade:188 +#: src/jade/tabs/history.jade:171 msgid "Issuer" msgstr "Эмитент" -#: src/jade/tabs/history.jade:190 +#: src/jade/tabs/history.jade:173 msgid "Final balance" msgstr "Окончательный баланс" -#: src/jade/tabs/history.jade:193 +#: src/jade/tabs/history.jade:176 msgid "XRP Balance Change" msgstr "Изменения баланса XRP" -#: src/jade/tabs/history.jade:194 +#: src/jade/tabs/history.jade:177 msgid "{{effect.currency}} Balance Change" msgstr "Изменение Валанса по {{effect.currency}} " -#: src/jade/tabs/history.jade:195 -msgid "Fee" -msgstr "Комиссия" - -#: src/jade/tabs/history.jade:200 +#: src/jade/tabs/history.jade:183 msgid "Transaction details" msgstr "Подробности транзакции" -#: src/jade/tabs/history.jade:201 +#: src/jade/tabs/history.jade:184 msgid "Add {{1}} to contact list" msgstr "Добавить {{1}} в список контактов" -#: src/jade/tabs/history.jade:207 src/jade/tabs/trade.jade:384 +#: src/jade/tabs/history.jade:189 +msgid "{{1}} Loading more" +msgstr "{{1}} Загрузка подробностей" + +#: src/jade/tabs/history.jade:192 src/jade/tabs/trade.jade:500 msgid "Load more" msgstr "Загрузить больше" -#: src/jade/tabs/history.jade:208 +#: src/jade/tabs/history.jade:193 msgid "No more transactions left" msgstr "Транзакций больше нет" @@ -1361,443 +1895,633 @@ msgstr "Баланс линии доверия между Вами и{{1}}изм msgid "Your balance has been changed by{{1}}." msgstr "Ваш баланс изменился на{{1}}." -#: src/jade/tabs/kyc.jade:16 +#: src/jade/tabs/jpy.jade:38 +msgid "Japanese Yen Deposit" +msgstr "" + +#: src/jade/tabs/jpy.jade:42 +msgid "Tokyo JPY Issuer (~tokyojpy) {{1}}" +msgstr "" + +#: src/jade/tabs/jpy.jade:59 +msgid "" +"Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to" +" JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your" +" behalf." +msgstr "" + +#: src/jade/tabs/jpy.jade:78 +msgid "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" +msgstr "" + +#: src/jade/tabs/jpy.jade:79 +msgid "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" +msgstr "" + +#: src/jade/tabs/jpy.jade:84 +msgid "A valid government-issued ID." +msgstr "" + +#: src/jade/tabs/jpy.jade:86 +msgid "A proof of address (utility bill, etc)." +msgstr "" + +#: src/jade/tabs/jpy.jade:88 +msgid "A bank account under the same name." +msgstr "" + +#: src/jade/tabs/jpy.jade:90 +msgid "EXISTING TOKYO JPY ISSUER CUSTOMERS" +msgstr "" + +#: src/jade/tabs/jpy.jade:100 +msgid "" +"Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details" +" {{1}}" +msgstr "" + +#: src/jade/tabs/jpy.jade:103 +msgid "" +"To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account " +"and then initiate a transfer into your Ripple account." +msgstr "" + +#: src/jade/tabs/jpy.jade:105 +msgid "" +"To withdraw to a bank account, you’ll first send money from your Ripple " +"account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo " +"JPY Issuer site to send to your bank account." +msgstr "" + +#: src/jade/tabs/kyc.jade:14 +msgid "Profile completion is only available to US residents." +msgstr "Заполнение профиля доступно только для жителей США." + +#: src/jade/tabs/kyc.jade:21 src/jade/tabs/trade.jade:285 msgid "Verifying your information. Please wait..." msgstr "Проверка вашей информации. Пожалуйста, подождите ..." -#: src/jade/tabs/kyc.jade:18 +#: src/jade/tabs/kyc.jade:23 msgid "Your identity information has been verified." msgstr "Ваша информация по идентификации была проверена." -#: src/jade/tabs/kyc.jade:20 +#: src/jade/tabs/kyc.jade:25 msgid "Your identity questions have been verified." msgstr "Ваши вопросы по идентификации были проверены." -#: src/jade/tabs/kyc.jade:22 +#: src/jade/tabs/kyc.jade:27 msgid "" -"Congrats! Your profile is complete. You can now deposit up to $300 per day " -"instantly." -msgstr "Поздравляю! Ваша анкета завершена. Теперь вы можете внесить до $ 300 в сутки." +"Congratulations, you've verified your identity! You will now be redirected " +"back to the instant deposit page." +msgstr "" -#: src/jade/tabs/kyc.jade:24 +#: src/jade/tabs/kyc.jade:29 msgid "There was an error with your request. Please try again later." msgstr "С вашим запросом прозошла ошибка. Пожалуйста, повторите попытку позже." -#: src/jade/tabs/kyc.jade:26 +#: src/jade/tabs/kyc.jade:31 msgid "" "There was an error with your request. Make sure your phone number is valid " "and try again." msgstr "С вашим запросом прозошла ошибка. Убедитесь, что ваш телефонный номер и повторите попытку." -#: src/jade/tabs/kyc.jade:28 +#: src/jade/tabs/kyc.jade:33 msgid "Please check your verification code and try again." msgstr "Пожалуйста, проверьте свой ​​код подтверждения и попробуйте еще раз." -#: src/jade/tabs/kyc.jade:30 +#: src/jade/tabs/kyc.jade:35 msgid "" "There was an error while requesting the verification code. Please try again " "later." msgstr "Была ошибка при запросе код подтверждения. Пожалуйста, повторите попытку позже." -#: src/jade/tabs/kyc.jade:32 +#: src/jade/tabs/kyc.jade:37 msgid "" "We are unable to validate your identity information. Please check your " "information and try again." msgstr "Мы не можем подтвердить информацию, удостоверяющий личность. Пожалуйста, проверьте вашу информацию и попробуйте еще раз." -#: src/jade/tabs/kyc.jade:34 +#: src/jade/tabs/kyc.jade:39 msgid "" "We are unable to validate your identity questions. Please check your answers" " and try again." msgstr "Мы не можем проверить ваши вопросы, удостоверяющие личность. Пожалуйста, проверьте свои ответы и попробуйте еще раз." -#: src/jade/tabs/kyc.jade:36 +#: src/jade/tabs/kyc.jade:41 +msgid "" +"Sorry, you've reached your maximum number of verification attempts. Please " +"try again in 24 hours." +msgstr "" + +#: src/jade/tabs/kyc.jade:43 msgid "" "We can't verify your identity. Please contact us at support@ripple.com." msgstr "Мы не можем проверить вашу личность. Пожалуйста, свяжитесь с нами по support@ripple.com." -#: src/jade/tabs/kyc.jade:41 +#: src/jade/tabs/kyc.jade:48 msgid "Profile Completion" msgstr "Заполнение профиля" -#: src/jade/tabs/kyc.jade:44 +#: src/jade/tabs/kyc.jade:52 msgid "STEP 1: IDENTITY INFORMATION" msgstr "ШАГ 1: информация удостворяющия личность" -#: src/jade/tabs/kyc.jade:46 +#: src/jade/tabs/kyc.jade:54 msgid "STEP 2: IDENTITY QUESTIONS" msgstr "ШАГ 2: вопросы удостворяющие личность" -#: src/jade/tabs/kyc.jade:48 +#: src/jade/tabs/kyc.jade:56 msgid "STEP 3: TWO-FACTOR AUTHENTICATION" msgstr "ШАГ 3: двухфакторная проверка подлинности" -#: src/jade/tabs/kyc.jade:55 +#: src/jade/tabs/kyc.jade:63 msgid "First Name" msgstr "Имя" -#: src/jade/tabs/kyc.jade:59 +#: src/jade/tabs/kyc.jade:67 msgid "Last Name" msgstr "Фамилия" -#: src/jade/tabs/kyc.jade:63 +#: src/jade/tabs/kyc.jade:71 msgid "Street Address" msgstr "Улица, дом" -#: src/jade/tabs/kyc.jade:68 +#: src/jade/tabs/kyc.jade:76 msgid "City" msgstr "Город" -#: src/jade/tabs/kyc.jade:72 +#: src/jade/tabs/kyc.jade:80 msgid "State" msgstr "Область" -#: src/jade/tabs/kyc.jade:76 +#: src/jade/tabs/kyc.jade:84 msgid "ZIP" msgstr "Индекс" -#: src/jade/tabs/kyc.jade:80 +#: src/jade/tabs/kyc.jade:88 msgid "Date of Birth" msgstr "Дата рождения" -#: src/jade/tabs/kyc.jade:84 +#: src/jade/tabs/kyc.jade:92 msgid "Month{{1}}" msgstr "Месяц{{1}}" -#: src/jade/tabs/kyc.jade:87 +#: src/jade/tabs/kyc.jade:95 msgid "Day{{1}}" msgstr "День{{1}}" -#: src/jade/tabs/kyc.jade:90 +#: src/jade/tabs/kyc.jade:98 msgid "Year{{1}}" msgstr "Год{{1}}" -#: src/jade/tabs/kyc.jade:94 -msgid "Last 4 digits of Social Security Number" -msgstr "Последние 4 цифры Номера социального страхования" - -#: src/jade/tabs/kyc.jade:102 +#: src/jade/tabs/kyc.jade:113 msgid "Continue to identity questions" msgstr "Продолжить с вопросами, удостоверяющие личность" -#: src/jade/tabs/kyc.jade:108 +#: src/jade/tabs/kyc.jade:114 src/jade/tabs/kyc.jade:129 +#: src/jade/tabs/kyc.jade:154 src/jade/tabs/kyc.jade:184 +#: src/jade/tabs/login.jade:17 +msgid "Verifying..." +msgstr "Проверка..." + +#: src/jade/tabs/kyc.jade:120 msgid "{{ q.question }}{{1}}" msgstr "{{ q.question }}{{1}}" -#: src/jade/tabs/kyc.jade:111 +#: src/jade/tabs/kyc.jade:123 msgid "{{ a.answer }}" msgstr "{{ a.answer }}" -#: src/jade/tabs/kyc.jade:114 +#: src/jade/tabs/kyc.jade:128 msgid "Continue to two-factor authentication" msgstr "Продолжить двухфакторную аутентификацию" -#: src/jade/tabs/kyc.jade:122 +#: src/jade/tabs/kyc.jade:137 msgid "Two-factor authentication provides extra security for your account." msgstr "Двухфакторная аутентификация обеспечивает дополнительную безопасность для вашей учетной записи." -#: src/jade/tabs/kyc.jade:129 +#: src/jade/tabs/kyc.jade:145 msgid "" "Ripple Trade has partnered with Authy to provide better security for your " "account.By continuing, you agree to Authy's {{1:Terms of Service}}." msgstr "Ripple Trade имеет партнерские отношения с Authy лучше обеспечить безопасность для вашего account.By продолжается, вы соглашаетесь с Authy в {{1: Условия предоставления услуг}}." -#: src/jade/tabs/kyc.jade:135 +#: src/jade/tabs/kyc.jade:153 msgid "Verify phone number" msgstr "Проверить номер телефона" -#: src/jade/tabs/kyc.jade:145 +#: src/jade/tabs/kyc.jade:164 msgid "change" msgstr "сменить" -#: src/jade/tabs/kyc.jade:149 +#: src/jade/tabs/kyc.jade:168 msgid "" "A verification code has been sent to +{{ currentCountryCode }} {{ " "phoneNumber }}." msgstr "Код подтверждения был отправлен на +{{ currentCountryCode }} {{ phoneNumber }}." -#: src/jade/tabs/kyc.jade:154 src/jade/tabs/login/form.jade:20 -#: src/jade/tabs/security.jade:88 +#: src/jade/tabs/kyc.jade:172 src/jade/tabs/login/form.jade:16 +#: src/jade/tabs/security.jade:97 msgid "Verification Code" msgstr "Код подтверждения" -#: src/jade/tabs/login.jade:5 src/jade/tabs/login.jade:19 -#: src/jade/tabs/login.jade:83 +#: src/jade/tabs/kyc.jade:183 +msgid "Submit code" +msgstr "" + +#: src/jade/tabs/login.jade:4 src/jade/tabs/migrate.jade:4 +#: src/jade/tabs/recover.jade:3 src/jade/tabs/register.jade:5 +#: src/jade/tabs/register.jade:137 src/jade/tabs/register.jade:184 +msgid "Welcome to Ripple Trade" +msgstr "" + +#: src/jade/tabs/login.jade:6 src/jade/tabs/migrate.jade:6 +#: src/jade/tabs/recover.jade:5 src/jade/tabs/register.jade:7 +#: src/jade/tabs/register.jade:139 src/jade/tabs/register.jade:186 +msgid "Trade hundreds of assets, from XRP to crypto to gold to fiat." +msgstr "" + +#: src/jade/tabs/login.jade:15 src/jade/tabs/login.jade:31 msgid "Log In" msgstr "Вход в систему" -#: src/jade/tabs/login.jade:7 -msgid "Verifying..." -msgstr "Проверка..." - -#: src/jade/tabs/login.jade:8 +#: src/jade/tabs/login.jade:18 msgid "You have successfully verified your email address." msgstr "Вы успешно подтвердили свой адрес электронной почты." -#: src/jade/tabs/login.jade:9 +#: src/jade/tabs/login.jade:19 msgid "" "Email verification token is invalid. It has either expired or has been " "resent. Please check your inbox for the most recent verification email." msgstr "Ключ подтверждения электронной почты не верен. Он либо просрочен или был выслан заново. Пожалуйста проверьте вашу почту на недавние письма подтверждения регистрации." -#: src/jade/tabs/login.jade:21 +#: src/jade/tabs/login.jade:30 +msgid "Logging in" +msgstr "" + +#: src/jade/tabs/login.jade:34 msgid "Verify" msgstr "Проверить" -#: src/jade/tabs/login.jade:25 src/jade/tabs/login.jade:26 -#: src/jade/tabs/recover.jade:5 -msgid "Account Recovery" -msgstr "Восстановление аккаунта" - -#: src/jade/tabs/login.jade:28 src/jade/tabs/register.jade:93 +#: src/jade/tabs/login.jade:36 src/jade/tabs/register.jade:114 msgid "Already have a ripple.com/client account? {{1:Migrate}}" msgstr "У Вас уже есть аккаунт ripple.com? {{1:Перенос}}" -#: src/jade/tabs/login.jade:30 src/jade/tabs/migrate.jade:26 -msgid "New to {{productName}}? {{1:Sign Up}}" -msgstr "Незнакомы с {{productName}}? {{1:Sign Up}}" +#: src/jade/tabs/login.jade:41 src/jade/tabs/login.jade:42 +#: src/jade/tabs/recover.jade:9 +msgid "Account Recovery" +msgstr "Восстановление аккаунта" -#: src/jade/tabs/login.jade:37 +#: src/jade/tabs/login.jade:49 msgid "{{1:You're sending money to}}{{2}}." msgstr "{{1:Вы отправляете деньги к}}{{2}}." -#: src/jade/tabs/login.jade:41 +#: src/jade/tabs/login.jade:53 msgid "{{1:You're sending}}{{2}}{{3: to }}{{4}}." msgstr "{{1:Вы отпавляете}}{{2}}{{3: к }}{{4}}." -#: src/jade/tabs/login.jade:51 +#: src/jade/tabs/login.jade:63 msgid "" "{{1:You're connecting to the gateway}}{{2}}{{3:for{{1}}}}{{4:with a limit " "of{{1}}}}." msgstr "{{1:Вы подключаетесь к шлюзу}}{{2}}{{3:по{{1}}}}{{4:с лимитом в{{1}}}}." -#: src/jade/tabs/login.jade:66 +#: src/jade/tabs/login.jade:78 msgid "{{1:You're adding}}{{2}}{{3:to your contacts list}}" msgstr "{{1:Вы добавляете}}{{2}}{{3:в ваш список контактов}}" -#: src/jade/tabs/login.jade:84 +#: src/jade/tabs/login.jade:95 +msgid "{{1}} Log In" +msgstr "" + +#: src/jade/tabs/login.jade:98 msgid "You can confirm this transaction on the next page." msgstr "Вы сможете подтвердить эту операцию на следующей странице." -#: src/jade/tabs/login.jade:85 +#: src/jade/tabs/login.jade:99 msgid "New to {{productName}}? {{1:Create a wallet}}" msgstr "Незнакомы с {{productName}}? {{1:Create a wallet}}" -#: src/jade/tabs/login/form.jade:11 src/jade/tabs/security.jade:82 +#: src/jade/tabs/login/form.jade:12 src/jade/tabs/security.jade:91 msgid "" "Please enter the verification code from the SMS message sent to your device:" msgstr "Пожалуйста, введите проверочный код, из сообщения SMS, отправленного на ваше устройство:" -#: src/jade/tabs/login/form.jade:12 src/jade/tabs/security.jade:83 +#: src/jade/tabs/login/form.jade:13 src/jade/tabs/security.jade:92 msgid "" "Please enter the verification code from the Authy app installed on your " "device:" msgstr "Пожалуйста, введите проверочный код, из приложения Authy установленного на вашем устройстве:" -#: src/jade/tabs/login/form.jade:16 +#: src/jade/tabs/login/form.jade:23 msgid "Resend" msgstr "Отправить повторно" -#: src/jade/tabs/login/form.jade:17 src/jade/tabs/security.jade:95 +#: src/jade/tabs/login/form.jade:24 src/jade/tabs/security.jade:105 msgid "Send Via SMS" msgstr "Отправить по СМС" -#: src/jade/tabs/login/form.jade:24 +#: src/jade/tabs/login/form.jade:30 msgid "Remember me on this device for 30 days" msgstr "Запомнить меня на этом устройстве в течение 30 дней" -#: src/jade/tabs/migrate.jade:5 src/jade/tabs/register.jade:10 -#: src/jade/tabs/register.jade:116 src/jade/tabs/register.jade:159 +#: src/jade/tabs/migrate.jade:10 src/jade/tabs/register.jade:17 +#: src/jade/tabs/register.jade:142 src/jade/tabs/register.jade:189 msgid "Migrate" msgstr "Перенос" -#: src/jade/tabs/migrate.jade:6 +#: src/jade/tabs/migrate.jade:11 msgid "" "To begin migration, enter the name and passphrase used to encrypt your " "ripple.com/client wallet below. After migration, you will no longer be able " "to login on ripple.com/client." msgstr "Для начала миграции, введите имя и пароль используемые для шифрования кошелька на ripple.com/client . После миграции, вы больше не будете иметь возможность для входа на ripple.com/client." -#: src/jade/tabs/migrate.jade:10 +#: src/jade/tabs/migrate.jade:15 msgid "Existing ripple.com/client Wallet name" msgstr "Действующее ripple.com/client имя кошелька" -#: src/jade/tabs/migrate.jade:13 +#: src/jade/tabs/migrate.jade:18 msgid "Passphrase" msgstr "Пароль пользователя" -#: src/jade/tabs/migrate.jade:25 +#: src/jade/tabs/migrate.jade:31 msgid "Begin Migration" msgstr "Начать перенос" -#: src/jade/tabs/migrate.jade:28 +#: src/jade/tabs/migrate.jade:32 +msgid "New to {{productName}}? {{1:Sign Up}}" +msgstr "Незнакомы с {{productName}}? {{1:Sign Up}}" + +#: src/jade/tabs/migrate.jade:34 msgid "Have a {{productName}} account? {{1:Log In}}" msgstr "Уже есть {{productName}} аккаунт? {{1:Входите}}" -#: src/jade/tabs/recover.jade:7 +#: src/jade/tabs/mxn.jade:38 +msgid "Mexican Peso Deposit" +msgstr "" + +#: src/jade/tabs/mxn.jade:42 +msgid "Bitso (~bitso) {{1}}{{2}}" +msgstr "" + +#: src/jade/tabs/mxn.jade:47 +msgid "All countries except the US" +msgstr "" + +#: src/jade/tabs/mxn.jade:58 +msgid "" +"Ripple Trade has partnered with Bitso to provide easy access to MXN (Mexican" +" Peso). By continuing, you agree with Bitso’s terms of service. Following " +"this action will enable Bitso to hold MXN on your behalf." +msgstr "" + +#: src/jade/tabs/mxn.jade:80 +msgid "TO FUND/REDEEM MEXICAN PESO:" +msgstr "" + +#: src/jade/tabs/mxn.jade:82 +msgid "Register or login at {{1}}to initiate deposits and withdrawals." +msgstr "" + +#: src/jade/tabs/mxn.jade:86 +msgid "" +"A valid, non-US, state-issued ID (passport, driver's license, etc)." +msgstr "" + +#: src/jade/tabs/mxn.jade:87 +msgid "" +"Proof of address (utility bill or other type of bill that has your address " +"on it). Verification is required for peso deposits or withdrawals." +msgstr "" + +#: src/jade/tabs/mxn.jade:89 +msgid "" +"To fund your Ripple account, see the below options. Once a balance is " +"deposited with Bitso, you can send it to your Ripple account using the Bitso" +" Dashboard." +msgstr "" + +#: src/jade/tabs/mxn.jade:90 +msgid "" +"To withdraw from your Ripple account, click on the 'Redeem from Ripple' " +"button on the Bitso Dashboard." +msgstr "" + +#: src/jade/tabs/mxn.jade:92 src/jade/tabs/usd.jade:89 +msgid "DEPOSIT OPTIONS" +msgstr "" + +#: src/jade/tabs/mxn.jade:94 +msgid "Bitso accepts deposits by the following methods:" +msgstr "" + +#: src/jade/tabs/mxn.jade:96 src/jade/tabs/mxn.jade:106 +msgid "Bank Wire" +msgstr "" + +#: src/jade/tabs/mxn.jade:97 src/jade/tabs/mxn.jade:107 +msgid "SPEI (Mexican instant inter-bank transfer)" +msgstr "" + +#: src/jade/tabs/mxn.jade:98 src/jade/tabs/mxn.jade:108 +msgid "Bitcoin" +msgstr "" + +#: src/jade/tabs/mxn.jade:99 +msgid "MXN Cash (at locations across Mexico)" +msgstr "" + +#: src/jade/tabs/mxn.jade:100 +msgid "Pademobile wallet" +msgstr "" + +#: src/jade/tabs/mxn.jade:102 src/jade/tabs/usd.jade:99 +msgid "WITHDRAWAL OPTIONS" +msgstr "" + +#: src/jade/tabs/mxn.jade:104 +msgid "Bitso offers withdrawals via the following methods:" +msgstr "" + +#: src/jade/tabs/recover.jade:11 msgid "" "You can only recover your Ripple Trade account with a secret key. You will " "recover the account's Ripple name, contacts and other information." msgstr "Для восстановления Вашего Ripple Trade аккаунта Вам необходим секретный ключ. Вы сможете восстановить Ripple имя, контакты и другую информацию аккаунта." -#: src/jade/tabs/recover.jade:9 src/jade/tabs/recover.jade:28 +#: src/jade/tabs/recover.jade:13 src/jade/tabs/recover.jade:33 msgid "Ripple Name" msgstr "Имя Ripple" -#: src/jade/tabs/recover.jade:14 +#: src/jade/tabs/recover.jade:18 msgid "Secret Key" msgstr "Секретный ключ" -#: src/jade/tabs/recover.jade:17 +#: src/jade/tabs/recover.jade:21 msgid "Unable to recover account." msgstr "Не удается восстановить аккаунт." -#: src/jade/tabs/recover.jade:22 src/jade/tabs/register.jade:74 +#: src/jade/tabs/recover.jade:27 src/jade/tabs/register.jade:95 msgid "Recover Account" msgstr "Восстановить аккаунт" -#: src/jade/tabs/recover.jade:24 src/jade/tabs/recover.jade:50 +#: src/jade/tabs/recover.jade:29 src/jade/tabs/recover.jade:56 msgid "Set Password" msgstr "Установить пароль" -#: src/jade/tabs/recover.jade:26 +#: src/jade/tabs/recover.jade:31 msgid "" "Your account was sucessfully recovered. Please re-encrypt your account with " "a new password." msgstr "Ваш аккаунт был успешно восстановлен. Пожалуйста, повторно зашифруйте Ваш аккаунт новым паролем." -#: src/jade/tabs/recover.jade:36 src/jade/tabs/register.jade:45 -#: src/jade/tabs/security.jade:119 +#: src/jade/tabs/recover.jade:41 src/jade/tabs/register.jade:62 +#: src/jade/tabs/security.jade:132 msgid "" "Your password is weak. It does not contain numbers and symbols or it is too " "short." msgstr "Ваш пароль слабый. Он не содержит цифр и символов или он слишком короткий." -#: src/jade/tabs/recover.jade:38 src/jade/tabs/register.jade:47 -#: src/jade/tabs/security.jade:121 +#: src/jade/tabs/recover.jade:43 src/jade/tabs/register.jade:65 +#: src/jade/tabs/security.jade:134 msgid "" "Your Ripple name and password cannot match. Please create a new password." msgstr "Ваши Ripple имя и пароль не должны совпадать. Пожалуйста создайте новый пароль." -#: src/jade/tabs/recover.jade:45 +#: src/jade/tabs/recover.jade:45 src/jade/tabs/register.jade:67 +#: src/jade/tabs/security.jade:136 +msgid "Confirm password" +msgstr "Подтвердить пароль " + +#: src/jade/tabs/recover.jade:48 src/jade/tabs/register.jade:71 +#: src/jade/tabs/security.jade:139 +msgid "Passwords do not match" +msgstr "Пароли не совпадают" + +#: src/jade/tabs/recover.jade:50 msgid "Unable to change your account password." msgstr "Не удается изменить пароль Вашего аккаунта." -#: src/jade/tabs/recover.jade:49 +#: src/jade/tabs/recover.jade:55 msgid "Updating..." msgstr "Обновление..." -#: src/jade/tabs/recover.jade:51 +#: src/jade/tabs/recover.jade:57 msgid "Remember your password? {{1:Log In}}" msgstr "Вы помните свой пароль? {{1:Вход в систему}}" -#: src/jade/tabs/register.jade:5 -msgid "" -"Ripple Trade is the only platform where you can trade between stores of " -"value spanning fiat, crypto, precious metals and more." -msgstr "Ripple Trade является единственной платформой, где можно торговать различными ресурсами и средствами, включая, фиатные валюты, крипто, драгоценные металлы и многое другое." - -#: src/jade/tabs/register.jade:9 src/jade/tabs/register.jade:90 -#: src/jade/tabs/register.jade:115 src/jade/tabs/register.jade:158 +#: src/jade/tabs/register.jade:13 src/jade/tabs/register.jade:109 +#: src/jade/tabs/register.jade:141 src/jade/tabs/register.jade:188 msgid "Sign Up" msgstr "Зарегистрироваться" -#: src/jade/tabs/register.jade:12 src/jade/tabs/register.jade:14 -#: src/jade/tabs/register.jade:16 src/jade/tabs/register.jade:120 -#: src/jade/tabs/register.jade:122 src/jade/tabs/register.jade:161 -#: src/jade/tabs/register.jade:163 src/jade/tabs/register.jade:165 +#: src/jade/tabs/register.jade:19 src/jade/tabs/register.jade:21 +#: src/jade/tabs/register.jade:23 src/jade/tabs/register.jade:146 +#: src/jade/tabs/register.jade:148 src/jade/tabs/register.jade:191 +#: src/jade/tabs/register.jade:193 src/jade/tabs/register.jade:195 msgid "Step {{1}}" msgstr "Действие {{1}}" -#: src/jade/tabs/register.jade:19 +#: src/jade/tabs/register.jade:26 msgid "Create Ripple name" msgstr "Создать имя Ripple" -#: src/jade/tabs/register.jade:20 +#: src/jade/tabs/register.jade:27 msgid "" "Please choose a Ripple name below. You will use this Ripple name to login to" " Ripple Trade, so remember it! Ripple names are unique and public, like your" " current Ripple address. {{1}}" msgstr "Пожалуйста выберите Ripple Имя. Вы будете использовать это Ripple Имя для входа в Ripple Trade, так что запомните его! Ripple Имена уникальны и публичны, также как ваш Ripple адрес кошелька. {{1}}" -#: src/jade/tabs/register.jade:21 +#: src/jade/tabs/register.jade:28 msgid "Learn More" msgstr "Узнать больше" -#: src/jade/tabs/register.jade:36 +#: src/jade/tabs/register.jade:41 +msgid "Reserved for {{usernameReservedFor}}" +msgstr "" + +#: src/jade/tabs/register.jade:43 +msgid "" +"This name belongs to a high-traffic website and has been reserved to prevent" +" phishing." +msgstr "" + +#: src/jade/tabs/register.jade:49 msgid "You can only use the following characters: a-z, 0-9 and hyphens (-)" msgstr "Вы можете использовать только следующие символы: AZ, 0-9 и дефис (-)" -#: src/jade/tabs/register.jade:39 +#: src/jade/tabs/register.jade:55 msgid "Cannot use hyphens in a row (--)" msgstr "Нельзя использовать дефисы подряд (--)" -#: src/jade/tabs/register.jade:60 +#: src/jade/tabs/register.jade:80 msgid "Email address is invalid" msgstr "Недействительный адрес электронной почты" -#: src/jade/tabs/register.jade:62 src/jade/tabs/security.jade:138 +#: src/jade/tabs/register.jade:82 src/jade/tabs/security.jade:151 msgid "Secret key" msgstr "Секретный ключ:" -#: src/jade/tabs/register.jade:63 src/jade/tabs/send.jade:53 -#: src/jade/tabs/trade.jade:329 src/jade/tabs/trade.jade:335 +#: src/jade/tabs/register.jade:83 src/jade/tabs/send.jade:43 +#: src/jade/tabs/trade.jade:441 msgid "hide" msgstr "скрыть" -#: src/jade/tabs/register.jade:67 +#: src/jade/tabs/register.jade:88 msgid "Secret Account Key is invalid" msgstr "Секретный ключ аккаунта неверный" -#: src/jade/tabs/register.jade:69 +#: src/jade/tabs/register.jade:90 msgid "" "The account ~{{1}}{{2}} has already been created using this secret key." msgstr "Аккаунт ~{{1}}{{2}} уже был создан с помощью секретного ключа." -#: src/jade/tabs/register.jade:75 -msgid "Need to use your secret key? {{1}}" -msgstr "Нужно использовать ваш секретный ключ? {{1}}" - -#: src/jade/tabs/register.jade:77 -msgid "Use key" -msgstr "Использовать ключ" - -#: src/jade/tabs/register.jade:80 -msgid "I agree to the {{productName}} {{1:end-user license agreement}}" -msgstr "Я согласен/согласна с {{productName}} {{1:end-user license agreement}}" +#: src/jade/tabs/register.jade:98 +msgid "I agree to the {{productName}} {{1:Terms of Use}}" +msgstr "" -#: src/jade/tabs/register.jade:83 +#: src/jade/tabs/register.jade:101 msgid "" "Please see our {{1}} to see how we collect, use and share information about " "you" msgstr "Пожалуйста смотрите наши {{1}}, чтобы узнать как мы собираем, используем и предоставляем информацию о Вас" -#: src/jade/tabs/register.jade:91 +#: src/jade/tabs/register.jade:110 msgid "Migrate Account" msgstr "Перенести аккаунт" -#: src/jade/tabs/register.jade:100 +#: src/jade/tabs/register.jade:111 +msgid "Need to use your secret key? {{1}}" +msgstr "Нужно использовать ваш секретный ключ? {{1}}" + +#: src/jade/tabs/register.jade:113 +msgid "Use key" +msgstr "Использовать ключ" + +#: src/jade/tabs/register.jade:121 msgid "An error occurred during registration. Please try again later." msgstr "Произошла ошибка при регистрации. Пожалуйста, повторите попытку позже." -#: src/jade/tabs/register.jade:101 +#: src/jade/tabs/register.jade:122 msgid "The reported error was: {{1}}" msgstr "Сообщение об ошибке: {{1}}" -#: src/jade/tabs/register.jade:109 +#: src/jade/tabs/register.jade:131 msgid "" "There is already a wallet using this username, please choose a different " "username and try again." msgstr "Кошелек с таким именем пользователя уже существует, пожалуйста выберете иное имя пользователя и повторите попытку." -#: src/jade/tabs/register.jade:124 +#: src/jade/tabs/register.jade:150 msgid "" "By proceeding, you understand that Ripple Trade does not provide a password " "or secret key recovery mechanism. If you forget your Ripple name/password " "and secret key, you will be unable to access this Ripple account." msgstr "Продолжая далее, Вы понимаете что Ripple Trade не обеспечивает механизма восстановления пароля или секретного ключа. Если вы забудете ваши Ripple Имя/пароль и Секретный ключ, то Вы не сможете получить доступ к вашему Ripple аккаунту." -#: src/jade/tabs/register.jade:129 +#: src/jade/tabs/register.jade:155 msgid "" "You are now migrating your account- meaning you'll no longer be able to " "access your account from ripple.com/client. You will retain all of your " @@ -1806,898 +2530,1123 @@ msgid "" "continue your migration." msgstr "Вы сейчас переносите ваш аккаунт - это означает что вы более не сможете получить доступ к аккаунту через ripple.com/client. Вы сохраните все ваши средства, контакты и историю. Ваш аккаунт будет использовать тот же секретный ключ что и раньше. Если Вы уже сохранили ваш секретный ключ, пожалуйста продолжите перенос вашего аккаунта." -#: src/jade/tabs/register.jade:136 +#: src/jade/tabs/register.jade:162 msgid "" "The secret key unlocks access to all your account funds in the event you " "lose your Ripple name or password. Please write it down and store it " "somewhere private and safe. {{1:Read more}} about keys and wallet safety." msgstr "В случае потери Ripple имени или пароля, секретный ключ позволяет восстановить доступ ко всем сбережениям на вашем аккаунте. Пожалуйста, запишите его и храните в наднжном и безопасном месте. {{1:Узнать подробнее}} о ключах и безопасности кошелька." -#: src/jade/tabs/register.jade:141 +#: src/jade/tabs/register.jade:167 msgid "" "If you have not saved your secret key, please write it down and store it " "somewhere private and safe. In the event you lose your Ripple name or " "password, you can use this secret key to recover your funds." msgstr "Если Вы еще не сохранили ваш секретный ключ, пожалуйста запишите его и сохраните в надежном месте. В случае если вы потеряете ваше Ripple Имя или пароль, вы сможете с помощью этого секретного ключа восстановить ваши сдедства." -#: src/jade/tabs/register.jade:154 +#: src/jade/tabs/register.jade:176 +msgid "Show secret key" +msgstr "Показать секретный ключ" + +#: src/jade/tabs/register.jade:177 +msgid "Hide secret key" +msgstr "Скрыть секретный ключ" + +#: src/jade/tabs/register.jade:180 msgid "Continue to email verification" msgstr "Продолжить подтверждение электронной почты" -#: src/jade/tabs/register.jade:167 +#: src/jade/tabs/register.jade:197 msgid "" "We’ve sent an email to {{1}}. To complete registration, click the link in " "the email." msgstr "Мы отправили электронное письмо на {{1}}. Для завершения регистрации, нажмите на ссылку в сообщении электронной почты." -#: src/jade/tabs/register.jade:170 +#: src/jade/tabs/register.jade:200 msgid "Email token has been resent." msgstr "Маркер электронной почты был отправлен повторно." -#: src/jade/tabs/register.jade:173 +#: src/jade/tabs/register.jade:203 msgid "Email Address:" msgstr "Адрес электронной почты:" -#: src/jade/tabs/register.jade:178 +#: src/jade/tabs/register.jade:210 msgid "Re-send Email" msgstr "Повторная отправка электронной почты" -#: src/jade/tabs/security.jade:5 +#: src/jade/tabs/security.jade:7 msgid "Active Session Timeout" msgstr "Время активного сеанса истекло" -#: src/jade/tabs/security.jade:6 +#: src/jade/tabs/security.jade:8 msgid "" "To view or edit your security settings, you must currently have an active " "session." msgstr "Чтобы просмотреть или изменить параметры безопасности, необходимо быть в активном сеансе связи." -#: src/jade/tabs/security.jade:13 +#: src/jade/tabs/security.jade:16 msgid "Restore Session" msgstr "Восстановить сессию" -#: src/jade/tabs/security.jade:22 +#: src/jade/tabs/security.jade:25 msgid "Your Ripple password has been changed, please login again" msgstr "Ваше Ripple пароль был изменен. Пожалуйста войдите снова." -#: src/jade/tabs/security.jade:24 +#: src/jade/tabs/security.jade:27 msgid "Couldn't change your Ripple password, please try again later." msgstr "Не удалось сменить ваш Ripple пароль, пожалуйста попробуйте еще раз позднее." -#: src/jade/tabs/security.jade:27 +#: src/jade/tabs/security.jade:30 msgid "Changing your Ripple password..." msgstr "Изменение вашего пароля Ripple ..." -#: src/jade/tabs/security.jade:28 +#: src/jade/tabs/security.jade:31 msgid "Your Ripple password has been changed successfully." msgstr "Ваше Ripple Имя было успешно изменено." -#: src/jade/tabs/security.jade:29 +#: src/jade/tabs/security.jade:32 msgid "Unable to load Two-factor authentication settings." msgstr "Невозможно загрузить настройки двухфакторной аутентификации." -#: src/jade/tabs/security.jade:30 +#: src/jade/tabs/security.jade:33 msgid "Error saving Two-factor authentication settings." msgstr "Ошибка сохранения настроек двухфакторной аутентификации." -#: src/jade/tabs/security.jade:31 +#: src/jade/tabs/security.jade:34 msgid "The verification code is invalid." msgstr "Код подтверждения недействителен." -#: src/jade/tabs/security.jade:32 +#: src/jade/tabs/security.jade:36 msgid "Two-factor authentication has been successfully enabled." msgstr "Двухфакторная аутентификация успешно включена." -#: src/jade/tabs/security.jade:33 +#: src/jade/tabs/security.jade:37 msgid "Two-factor authentication has been successfully disabled." msgstr "Двухфакторная аутентификация успешно отключена." +#: src/jade/tabs/security.jade:38 +msgid "Password protection has been successfully enabled." +msgstr "" + #: src/jade/tabs/security.jade:39 +msgid "Password protection has been successfully disabled." +msgstr "" + +#: src/jade/tabs/security.jade:45 msgid "Security settings" msgstr "Настройки безопасности" -#: src/jade/tabs/security.jade:44 +#: src/jade/tabs/security.jade:51 msgid "Loading Two-factor authentication settings..." msgstr "Загрузка настроек двухфакторной аутентификации ..." -#: src/jade/tabs/security.jade:47 +#: src/jade/tabs/security.jade:55 msgid "Enabled" msgstr "Выключить" -#: src/jade/tabs/security.jade:48 +#: src/jade/tabs/security.jade:56 msgid "Disabled" msgstr "Выключить" -#: src/jade/tabs/security.jade:50 +#: src/jade/tabs/security.jade:58 msgid "disable" msgstr "выключить" -#: src/jade/tabs/security.jade:52 +#: src/jade/tabs/security.jade:60 msgid "enable" msgstr "включить" -#: src/jade/tabs/security.jade:58 +#: src/jade/tabs/security.jade:66 msgid "" "Authy is providing two-factor authentication for Ripple Trade. To enable " "two-factor authentication, you must share some information with Authy." msgstr "Authy обеспечивает двухфакторную аутентификацию для Ripple Trade. Чтобы включить двухфакторную аутентификацию, вы должны поделиться некоторой информацией с Authy." -#: src/jade/tabs/security.jade:61 +#: src/jade/tabs/security.jade:69 msgid "- Your email address:" msgstr "- Ваш электронный адрес:" -#: src/jade/tabs/security.jade:64 +#: src/jade/tabs/security.jade:72 msgid "- Your phone number:" msgstr "- Ваш номер телефона:" -#: src/jade/tabs/security.jade:66 +#: src/jade/tabs/security.jade:74 msgid "By proceeding, you agree to the Authy {{1: terms of service.}}" msgstr "Запуская, вы соглашаетесь с Authy {{1: terms of service.}}" -#: src/jade/tabs/security.jade:70 +#: src/jade/tabs/security.jade:78 msgid "Share" msgstr "Поделиться" -#: src/jade/tabs/security.jade:75 +#: src/jade/tabs/security.jade:84 msgid "Saving settings..." msgstr "Сохранение настроек ..." -#: src/jade/tabs/security.jade:76 +#: src/jade/tabs/security.jade:85 msgid "Disabling Two-factor authentication..." msgstr "Отключение двухфакторной аутентификации ..." -#: src/jade/tabs/security.jade:77 +#: src/jade/tabs/security.jade:86 msgid "Enabling Two-factor authentication..." msgstr "Включение двухфакторной аутентификации ..." -#: src/jade/tabs/security.jade:94 +#: src/jade/tabs/security.jade:104 msgid "Resend Code" msgstr "Отправить код заново" -#: src/jade/tabs/security.jade:99 +#: src/jade/tabs/security.jade:110 msgid "Enable" msgstr "Включить" -#: src/jade/tabs/security.jade:103 +#: src/jade/tabs/security.jade:114 msgid "Ripple password" msgstr "Ripple пароль" -#: src/jade/tabs/security.jade:116 +#: src/jade/tabs/security.jade:129 msgid "New password" msgstr "Новый пароль" -#: src/jade/tabs/security.jade:140 +#: src/jade/tabs/security.jade:153 msgid "" "Your secret key unlocks access to your account funds. Please write it down " "and store it somewhere private and safe. In the event you lose your Ripple " "name or password, you can use this secret key to recover your funds." msgstr "Ваш Секретный ключ обеспечивает \"аварийный\" доступ к вашим средствам. Пожалуйста, запишите его и храните его в надежном месте. В случае если вы потеряете ваше имя Ripple или пароль, Вы можете использовать этот секретный ключ, чтобы восстановить ваши средства." -#: src/jade/tabs/security.jade:150 +#: src/jade/tabs/security.jade:165 msgid "Password protection for transactions" msgstr "Защита паролем для операций" -#: src/jade/tabs/security.jade:153 +#: src/jade/tabs/security.jade:168 msgid "" "If you turn off password requests, you’ll still need to enter your password " "after each page refresh." msgstr "Если выключить запрос пароля, вы все равно должны ввести пароль после каждого обновления страницы." -#: src/jade/tabs/security.jade:161 +#: src/jade/tabs/security.jade:176 msgid "Yes" msgstr "Да" -#: src/jade/tabs/security.jade:162 +#: src/jade/tabs/security.jade:177 msgid "No" msgstr "Нет" +#: src/jade/tabs/security.jade:192 +msgid "Delete Ripple Trade account" +msgstr "" + +#: src/jade/tabs/security.jade:194 +msgid "" +"This deletes your Ripple Trade account. You will no longer be able to login " +"to Ripple Trade and your account data will be deleted. However, you can " +"still access your funds using your secret key." +msgstr "" + #: src/jade/tabs/send.jade:12 msgid "You have to be funded before you can send money" msgstr "Ваш кошелек должен быть активирован, прежде чем вы сможете отправлять деньги" -#: src/jade/tabs/send.jade:17 -msgid "Send money on the Ripple network." -msgstr "Отправить деньги в сети Ripple." - -#: src/jade/tabs/send.jade:21 src/jade/tabs/send.jade:34 +#: src/jade/tabs/send.jade:25 msgid "Recipient" msgstr "Получатель" -#: src/jade/tabs/send.jade:26 src/jade/tabs/send.jade:39 +#: src/jade/tabs/send.jade:30 msgid "Please enter a recipient." msgstr "Пожалуйста, введите получателя." -#: src/jade/tabs/send.jade:28 +#: src/jade/tabs/send.jade:32 msgid "" "Recipient should be a Ripple name, a contact, or Ripple/Bitcoin address." msgstr "Поле \"Получатель\" должно быть либо Ripple имя, контакт, либо адрес Ripple/Bitcoin." -#: src/jade/tabs/send.jade:30 src/jade/tabs/send.jade:43 +#: src/jade/tabs/send.jade:34 msgid "This email address is not Ripple-enabled." msgstr "Этот адрес электронной почты не подключен к Ripple." -#: src/jade/tabs/send.jade:41 -msgid "Recipient should be a contact or Ripple/Bitcoin address." -msgstr "Поле \"Получатель\" должно быть либо контакт, либо адрес Ripple/Bitcoin." - -#: src/jade/tabs/send.jade:47 +#: src/jade/tabs/send.jade:38 msgid "Show destination tag" msgstr "Показать метку назначения" -#: src/jade/tabs/send.jade:58 +#: src/jade/tabs/send.jade:47 msgid "Destination cannot be blank." msgstr "Назначение не может быть пустым." -#: src/jade/tabs/send.jade:59 +#: src/jade/tabs/send.jade:48 msgid "" "Recipient requires a destination tag to be specified for the transaction. If" " you don't know the destination tag, please contact them before doing a " "transaction." msgstr "Получатель запрашивает наличие метки назначения для транзакции. Если Вы не знаете метки назначения, свяжитесь с получателем перед совершением сделки." -#: src/jade/tabs/send.jade:64 +#: src/jade/tabs/send.jade:53 msgid "Source tag" msgstr "Метка источника" -#: src/jade/tabs/send.jade:67 +#: src/jade/tabs/send.jade:56 msgid "Invalid source tag" msgstr "Неправильная метка источника" -#: src/jade/tabs/send.jade:79 +#: src/jade/tabs/send.jade:59 +msgid "Invoice ID" +msgstr "" + +#: src/jade/tabs/send.jade:62 +msgid "Invoice ID must not be more than 64 characters long." +msgstr "" + +#: src/jade/tabs/send.jade:77 msgid "Recipient will receive" msgstr "Получателю будет зачислено" -#: src/jade/tabs/send.jade:90 +#: src/jade/tabs/send.jade:88 msgid "{{send.recipient | rpcontactname}} can't receive this currency." msgstr "{{send.recipient | rpcontactname}} не может принимать в этой валюте." -#: src/jade/tabs/send.jade:94 +#: src/jade/tabs/send.jade:92 src/jade/tabs/trust.jade:102 msgid "Amount must be greater than zero." msgstr "Сумма должна быть больше нуля." -#: src/jade/tabs/send.jade:95 +#: src/jade/tabs/send.jade:93 msgid "" -"This transaction exceeds your balance, you can send a max. of " -"{{account.max_spend | rpamount:{rel_precision: 0} }} XRP" -msgstr "Эта сделка превышает объём Вашего баланса, максимально вы можете отправить {{account.max_spend | rpamount:{rel_precision: 0} }} XRP" +"You are either trying to send too little or too much XRP.Minimum amount is " +"0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "" -#: src/jade/tabs/send.jade:98 +#: src/jade/tabs/send.jade:97 msgid "" "Recipient does not allow XRP payments. Are you sure you want to send XRP " "anyway?" msgstr "Получатель не разрешает перевод XRP. Вы все равно хотите послать XRP?" -#: src/jade/tabs/send.jade:100 +#: src/jade/tabs/send.jade:99 msgid "" "{{send.recipient | rpcontactname}}trusts you for {{send.trust_limit | " "rpamount}} {{send.trust_limit | rpcurrency}}." msgstr "{{send.recipient | rpcontactname}} доверяет Вам на {{send.trust_limit | rpamount}} {{send.trust_limit | rpcurrency}}." -#: src/jade/tabs/send.jade:104 +#: src/jade/tabs/send.jade:103 msgid "Send XRP" msgstr "Отправить XRP" -#: src/jade/tabs/send.jade:108 +#: src/jade/tabs/send.jade:107 msgid "" "Destination account is unfunded; send at least {{send.xrp_deficiency | " "rpamount}} XRP to fund it.{{1}}" msgstr "Аккаунт получателя не активирован; отправьте по меньшей мере {{send.xrp_deficiency | rpamount}} XRP чтобы активировать его.{{1}}" -#: src/jade/tabs/send.jade:113 +#: src/jade/tabs/send.jade:114 msgid "Checking" msgstr "Проверка" -#: src/jade/tabs/send.jade:115 +#: src/jade/tabs/send.jade:117 msgid "Analyzing address" msgstr "Анализ адреса" -#: src/jade/tabs/send.jade:117 +#: src/jade/tabs/send.jade:120 msgid "Scanning accepted currencies" msgstr "Сканируем принимаемые валюты" -#: src/jade/tabs/send.jade:119 +#: src/jade/tabs/send.jade:123 msgid "Requesting quote" msgstr "Запрос котировки" -#: src/jade/tabs/send.jade:121 +#: src/jade/tabs/send.jade:126 msgid "Calculating paths" msgstr "Вычисление путей" -#: src/jade/tabs/send.jade:123 +#: src/jade/tabs/send.jade:129 msgid "Calculating alternatives" msgstr "Вычисление альтернатив" -#: src/jade/tabs/send.jade:125 +#: src/jade/tabs/send.jade:130 msgid "" "You cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. " "Either your account has insufficient funds, or {{send.recipient}} doesn't " "accept {{send.currency}}." msgstr "Невозможно отрпавить {{send.amount}} {{send.currency}} для {{send.recipient}}. Либо на Вашем счету не достаточно средств, или {{send.recipient}} не принимает {{send.currency}}." -#: src/jade/tabs/send.jade:129 +#: src/jade/tabs/send.jade:134 msgid "" "You cannot send {{send.amount}} {{send.currency}} to{{send.recipient}}. Your" " account has insufficient funds." msgstr "Вы не можете отправить {{send.amount}} {{send.currency}} к{{send.recipient}}. У вас не достаточно средств." -#: src/jade/tabs/send.jade:132 +#: src/jade/tabs/send.jade:137 msgid "There are no valid currency choices for this destination." msgstr "По этому адресу нет выбора вариантов валют." -#: src/jade/tabs/send.jade:134 +#: src/jade/tabs/send.jade:139 msgid "Error while retrieving quote for outbound payment. {{1}}" msgstr "Ошибка во время получения котировок для исходящего платежа. {{1}}" -#: src/jade/tabs/send.jade:143 +#: src/jade/tabs/send.jade:148 msgid "You can send" msgstr "Вы можете отправить" -#: src/jade/tabs/send.jade:145 +#: src/jade/tabs/send.jade:150 msgid "Or you can send" msgstr "Или вы можете отправить" -#: src/jade/tabs/send.jade:159 +#: src/jade/tabs/send.jade:164 msgid "Send {{ alt.amount | rpcurrency }} {{1}}" msgstr "Отправить {{ alt.amount | rpcurrency }} {{1}}" -#: src/jade/tabs/send.jade:174 +#: src/jade/tabs/send.jade:181 msgid "Ripple is calculating a path for your payment." msgstr "Ripple просчитывает путь для Вашего платежа." -#: src/jade/tabs/send.jade:180 +#: src/jade/tabs/send.jade:186 msgid "You are sending {{1}} to" msgstr "Вы посылаете {{1}} " -#: src/jade/tabs/send.jade:188 +#: src/jade/tabs/send.jade:194 msgid "Destination tag: {{send.dt}}" msgstr "Метка назначения: {{send.dt}}" -#: src/jade/tabs/send.jade:189 +#: src/jade/tabs/send.jade:195 msgid "They will receive" msgstr "Они получат" -#: src/jade/tabs/send.jade:192 +#: src/jade/tabs/send.jade:198 msgid "You will pay at most" msgstr "Вы заплатите не более" -#: src/jade/tabs/send.jade:198 +#: src/jade/tabs/send.jade:204 msgid "Are you sure?" msgstr "Вы уверены?" -#: src/jade/tabs/send.jade:204 +#: src/jade/tabs/send.jade:210 msgid "Password required to unlock wallet" msgstr "Требуется пароль для разблокировки кошелька" -#: src/jade/tabs/send.jade:228 src/jade/tabs/send.jade:256 +#: src/jade/tabs/send.jade:234 src/jade/tabs/send.jade:266 msgid "Contact saved!" msgstr "Контакт сохранен!" -#: src/jade/tabs/send.jade:230 src/jade/tabs/send.jade:258 +#: src/jade/tabs/send.jade:236 src/jade/tabs/send.jade:268 msgid "Add this address to contacts" msgstr "Добавить адрес в контакты" -#: src/jade/tabs/send.jade:234 src/jade/tabs/send.jade:262 +#: src/jade/tabs/send.jade:242 src/jade/tabs/send.jade:274 msgid "Name this user" msgstr "Дать имя пользователю" -#: src/jade/tabs/send.jade:240 src/jade/tabs/send.jade:269 -#: src/jade/tabs/trust.jade:283 +#: src/jade/tabs/send.jade:246 src/jade/tabs/send.jade:278 +msgid "This contact already exists, please choose another name." +msgstr "" + +#: src/jade/tabs/send.jade:250 src/jade/tabs/send.jade:283 +#: src/jade/tabs/trust.jade:233 msgid "Saving..." msgstr "Идёт сохранение..." -#: src/jade/tabs/send.jade:245 src/jade/tabs/send.jade:275 +#: src/jade/tabs/send.jade:255 src/jade/tabs/send.jade:289 msgid "Send another payment" msgstr "Отправить другой платеж" -#: src/jade/tabs/settings/navbar.jade:3 -msgid "Advanced" -msgstr "Дополнительно" +#: src/jade/tabs/settings/navbar.jade:2 +msgid "Security" +msgstr "Безопасность" -#: src/jade/tabs/trade.jade:10 -msgid "Loading order book..." -msgstr "Загружается книга заявок" +#: src/jade/tabs/settingstrade.jade:12 +msgid "Trade settings" +msgstr "" + +#: src/jade/tabs/settingstrade.jade:14 +msgid "Trade currency pairs" +msgstr "" -#: src/jade/tabs/trade.jade:23 +#: src/jade/tabs/trade.jade:12 src/jade/tabs/trade.jade:451 +msgid "Loading Order Book" +msgstr "" + +#: src/jade/tabs/trade.jade:31 src/jade/tabs/widgets/markets.jade:24 msgid "flip" msgstr "поменять" -#: src/jade/tabs/trade.jade:27 src/jade/tabs/trade.jade:35 -msgid "Base currency" -msgstr "Базовая валюта" +#: src/jade/tabs/trade.jade:34 +msgid "add pair" +msgstr "" -#: src/jade/tabs/trade.jade:30 src/jade/tabs/trade.jade:41 -msgid "Change gateway" -msgstr "Сменить шлюз" +#: src/jade/tabs/trade.jade:37 +msgid "edit pairs" +msgstr "" -#: src/jade/tabs/trade.jade:38 src/jade/tabs/trade.jade:46 -msgid "Counter currency" -msgstr "Котируемая валюта" +#: src/jade/tabs/trade.jade:41 +msgid "Base Currency" +msgstr "" + +#: src/jade/tabs/trade.jade:44 +msgid "Base Gateway" +msgstr "" -#: src/jade/tabs/trade.jade:50 +#: src/jade/tabs/trade.jade:49 +msgid "Counter Currency" +msgstr "" + +#: src/jade/tabs/trade.jade:52 +msgid "Counter Gateway" +msgstr "" + +#: src/jade/tabs/trade.jade:57 +msgid "Add" +msgstr "" + +#: src/jade/tabs/trade.jade:60 msgid "Base currency issuer ({{order.first_currency | rpcurrency}})" msgstr "Эмитент базовой валюты ({{order.first_currency | rpcurrency}})" -#: src/jade/tabs/trade.jade:55 +#: src/jade/tabs/trade.jade:63 +msgid "Ripple name or contact" +msgstr "" + +#: src/jade/tabs/trade.jade:65 msgid "Not a valid Ripple address or contact" msgstr "Некорректный Ripple адрес или контакт" -#: src/jade/tabs/trade.jade:60 +#: src/jade/tabs/trade.jade:70 msgid "Counter currency issuer ({{order.second_currency | rpcurrency}})" msgstr "Эмитент котируемой валюты ({{order.second_currency | rpcurrency}})" -#: src/jade/tabs/trade.jade:65 +#: src/jade/tabs/trade.jade:75 msgid "Not a valid Ripple name or address" msgstr "Некорректные Ripple имя или адрес." -#: src/jade/tabs/trade.jade:69 +#: src/jade/tabs/trade.jade:79 msgid "" -"You must select a gateway to trade currencies. Click the “Change gateway” " -"link above and enter the gateway's address or Ripple name. {{1:Find a " -"gateway.}}" -msgstr "Вы должны выбрать шлюз для получения возможности обмена валют. Нажмите выше “Сменить шлюз” и введите адрес шлюза или его Рилп имя. {{1:Найти шлюз.}}" +"To show an orderbook, choose from the dropdown above or click \"Add custom " +"pair\"." +msgstr "" -#: src/jade/tabs/trade.jade:79 +#: src/jade/tabs/trade.jade:86 msgid "Bid" msgstr "Покупка" -#: src/jade/tabs/trade.jade:84 +#: src/jade/tabs/trade.jade:91 msgid "Ask" msgstr "Продажа" -#: src/jade/tabs/trade.jade:89 +#: src/jade/tabs/trade.jade:96 msgid "Spread" msgstr "Спред" -#: src/jade/tabs/trade.jade:94 +#: src/jade/tabs/trade.jade:101 msgid "Last price" msgstr "Последняя цена" -#: src/jade/tabs/trade.jade:101 +#: src/jade/tabs/trade.jade:108 msgid "You have to be funded before you can trade" msgstr "Ваш кошелек должен быть активирован, прежде чем Вы сможете производить обмен" -#: src/jade/tabs/trade.jade:108 +#: src/jade/tabs/trade.jade:115 msgid "Buy {{1}} {{order.first_currency | rpcurrency}}" msgstr "Купить {{1}} {{order.first_currency | rpcurrency}}" -#: src/jade/tabs/trade.jade:111 +#: src/jade/tabs/trade.jade:118 msgid "Sell {{1}} {{order.first_currency | rpcurrency}}" msgstr "Продать {{1}} {{order.first_currency | rpcurrency}}" -#: src/jade/tabs/trade.jade:114 src/jade/tabs/trade.jade:123 +#: src/jade/tabs/trade.jade:121 src/jade/tabs/trade.jade:130 msgid "{{1}} available" msgstr "{{1}} доступно" -#: src/jade/tabs/trade.jade:137 +#: src/jade/tabs/trade.jade:144 msgid "Amount To Buy" msgstr "Объем покупки" -#: src/jade/tabs/trade.jade:138 +#: src/jade/tabs/trade.jade:145 msgid "Amount To Sell" msgstr "Объем продажи" -#: src/jade/tabs/trade.jade:145 src/jade/tabs/trade.jade:160 -#: src/jade/tabs/trade.jade:175 +#: src/jade/tabs/trade.jade:152 src/jade/tabs/trade.jade:167 +#: src/jade/tabs/trade.jade:182 msgid "Required" msgstr "Обязательно к заполнению" -#: src/jade/tabs/trade.jade:147 src/jade/tabs/trade.jade:162 -#: src/jade/tabs/trade.jade:177 +#: src/jade/tabs/trade.jade:154 src/jade/tabs/trade.jade:169 +#: src/jade/tabs/trade.jade:184 msgid "Must be greater than zero" msgstr "Значение должно быть больше нуля" -#: src/jade/tabs/trade.jade:149 src/jade/tabs/trade.jade:164 -#: src/jade/tabs/trade.jade:179 -msgid "Minimum is a drop (0.000001) and maximum is 100 billion XRPs" -msgstr "Минимальный объем равен размеру технической комиссии (0.000001 XRP), а максимальный составляет 100 миллиардов XRP" +#: src/jade/tabs/trade.jade:156 src/jade/tabs/trade.jade:171 +#: src/jade/tabs/trade.jade:186 +msgid "" +"Minimum amount of XRP you can send is a drop (0.000001) and the maximum is " +"100 billion XRPs." +msgstr "" -#: src/jade/tabs/trade.jade:153 +#: src/jade/tabs/trade.jade:160 msgid "Price of Each" msgstr "Цена за единицу" -#: src/jade/tabs/trade.jade:168 +#: src/jade/tabs/trade.jade:175 msgid "Order Value (max)" msgstr "Сумма заявки (макс.)" -#: src/jade/tabs/trade.jade:185 +#: src/jade/tabs/trade.jade:192 msgid "You are wanting to buy {{1}} for {{2}} ({{3}} per {{4}})" msgstr "Вы желаете купить {{1}} за {{2}} ({{3}} за каждые {{4}})" -#: src/jade/tabs/trade.jade:194 +#: src/jade/tabs/trade.jade:201 msgid "You are wanting to sell {{1}} for {{2}} ({{3}} per {{4}})" msgstr "Вы желаете продать {{1}} за {{2}} ({{3}} за каждые {{4}})" -#: src/jade/tabs/trade.jade:206 +#: src/jade/tabs/trade.jade:213 msgid "Buy" msgstr "Купить" -#: src/jade/tabs/trade.jade:207 +#: src/jade/tabs/trade.jade:214 msgid "Sell" msgstr "Продать" -#: src/jade/tabs/trade.jade:213 +#: src/jade/tabs/trade.jade:220 msgid "You do not have sufficient funds to create an order." msgstr "У Вас не достаточно средств для создания заявки." -#: src/jade/tabs/trade.jade:218 -msgid "CAUTION: Your order is far off from the current market price." -msgstr "ПРЕДОСТЕРЕЖЕНИЕ: Ваша заявка значительно отличается от текущей рыночной цены." - -#: src/jade/tabs/trade.jade:220 +#: src/jade/tabs/trade.jade:225 msgid "" "You are about to create an order to {{1: buy}} {{2: " -"sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}" -msgstr "Вы создаете заявку на {{1: покупку}} {{2: продажу}}{{3}}{{4:за}}{{5}}{{6}}{{7:Are you sure?}}" +"sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" +msgstr "" -#: src/jade/tabs/trade.jade:239 +#: src/jade/tabs/trade.jade:242 +msgid "CAUTION: Your order is far off from the current market price." +msgstr "ПРЕДОСТЕРЕЖЕНИЕ: Ваша заявка значительно отличается от текущей рыночной цены." + +#: src/jade/tabs/trade.jade:246 src/jade/tabs/trade.jade:407 msgid "« Back" msgstr "« Назад" -#: src/jade/tabs/trade.jade:246 +#: src/jade/tabs/trade.jade:255 msgid "Sending order to Ripple network..." msgstr "Отправка заявки в сеть Ripple..." -#: src/jade/tabs/trade.jade:252 +#: src/jade/tabs/trade.jade:261 msgid "Your order has been submitted." msgstr "Ваша заявка отправлена." -#: src/jade/tabs/trade.jade:254 -msgid "Your order is now active!" -msgstr "Ваша заявка теперь активна!" - -#: src/jade/tabs/trade.jade:256 -msgid "Request has been denied!" -msgstr "Ваш запрос отклонен!" - -#: src/jade/tabs/trade.jade:257 -msgid "We were unable to submit the request. Please try again later." -msgstr "Мы не смогли отослать запрос. Повторите попытку позже." - -#: src/jade/tabs/trade.jade:259 -msgid "Request is malformed!" -msgstr "Запрос некорректен!" - -#: src/jade/tabs/trade.jade:260 -msgid "" -"Your request is invalid, reason: {{order[type].engine_result}} - " -"{{order[type].engine_result_message}}" -msgstr "Ваш запрос некорректен, причина: {{order[type].engine_result}} - {{order[type].engine_result_message}}" - -#: src/jade/tabs/trade.jade:263 src/jade/tabs/trade.jade:277 -#: src/jade/tabs/trust.jade:43 -msgid "Transaction failed!" -msgstr "Транзакция не удалась!" +#: src/jade/tabs/trade.jade:263 +msgid "Your order is now active." +msgstr "" #: src/jade/tabs/trade.jade:265 -msgid "" -"You do not have enough {{(type == 'buy' ? order.second_currency : " -"order.first_currency) | rpcurrency}} to create this order." -msgstr "У Вас недостаточно {{(type == 'buy' ? order.second_currency : order.first_currency) | rpcurrency}} чтобы создать эту заявку." +msgid "Your order has been filled." +msgstr "" #: src/jade/tabs/trade.jade:267 msgid "" -"You must have at least {{account.reserve_to_add_trust | rpamount}} XRP to " -"submit an order. {{1}}" -msgstr "У Вас должно быть хотя бы {{account.reserve_to_add_trust | rpamount}} XRP для отправки заявки. {{1}}" +"Your order has been partially filled. The remaining amount is now active." +msgstr "" -#: src/jade/tabs/trade.jade:269 -msgid "More information." -msgstr "Дополнительная информация." +#: src/jade/tabs/trade.jade:276 +msgid "Submit another order" +msgstr "Отправить другую заявку" -#: src/jade/tabs/trade.jade:270 -msgid "Error: {{order[type].engine_result_message}}" -msgstr "Ошибка: {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:278 +msgid "My Orders{{1}}{{2}}" +msgstr "Мои заявки{{1}}{{2}}" -#: src/jade/tabs/trade.jade:273 -msgid "Trade failed!" -msgstr "Обмен не произошел!" +#: src/jade/tabs/trade.jade:287 +msgid "Your order has been modified." +msgstr "" -#: src/jade/tabs/trade.jade:275 -msgid "Trade failed, reason: {{order[type].engine_result_message}}" -msgstr "Обмен не произведен, причина: {{order[type].engine_result_message}}" +#: src/jade/tabs/trade.jade:289 +msgid "Your order #{{ cancelOrder.seq }} has been cancelled." +msgstr "" -#: src/jade/tabs/trade.jade:279 src/jade/tabs/trust.jade:45 +#: src/jade/tabs/trade.jade:291 msgid "" -"The particular server you sent the transaction to was too busy to forward or" -" process your transaction at the fee you included in it." -msgstr "Тот сервер, на который была отправлена транзакция, не успел переслать или обработать транзакцию с объемом комиссии, который Вы указали." +"Your order could not be modified and no longer exists. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "" -#: src/jade/tabs/trade.jade:288 -msgid "Submit another order" -msgstr "Отправить другую заявку" +#: src/jade/tabs/trade.jade:293 +msgid "Unable to cancel order as it no longer exists." +msgstr "" -#: src/jade/tabs/trade.jade:290 -msgid "My Orders{{1}}{{2}}" -msgstr "Мои заявки{{1}}{{2}}" +#: src/jade/tabs/trade.jade:295 +msgid "Modifying your order (Placing new order) ..." +msgstr "" + +#: src/jade/tabs/trade.jade:299 +msgid "Current pair only" +msgstr "" + +#: src/jade/tabs/trade.jade:313 src/jade/tabs/widgets/orders.jade:24 +msgid "reverse" +msgstr "" -#: src/jade/tabs/trade.jade:297 -msgid "Type" -msgstr "Тип" +#: src/jade/tabs/trade.jade:322 src/jade/tabs/widgets/orders.jade:33 +msgid "QTY{{1}}" +msgstr "" -#: src/jade/tabs/trade.jade:298 -msgid "Currencies {{1: (Issuer)}}" -msgstr "Валюта {{1: (Issuer)}}" +#: src/jade/tabs/trade.jade:324 src/jade/tabs/widgets/orders.jade:35 +msgid "Base{{1}}" +msgstr "" -#: src/jade/tabs/trade.jade:300 -msgid "Price" -msgstr "Цена" +#: src/jade/tabs/trade.jade:326 src/jade/tabs/widgets/orders.jade:37 +msgid "Counter{{1}}" +msgstr "" -#: src/jade/tabs/trade.jade:302 +#: src/jade/tabs/trade.jade:328 src/jade/tabs/widgets/orders.jade:39 +msgid "Limit{{1}}" +msgstr "" + +#: src/jade/tabs/trade.jade:334 msgid "Action" msgstr "Действие" -#: src/jade/tabs/trade.jade:311 +#: src/jade/tabs/trade.jade:360 src/jade/tabs/trade.jade:424 +msgid "TRADE CONFIRMATION" +msgstr "" + +#: src/jade/tabs/trade.jade:362 +msgid "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" +msgstr "" + +#: src/jade/tabs/trade.jade:364 +msgid "" +"{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div" +" span.modal-order-type(l10n-inc) REMAIN: span remain data div span" +".modal-order-type(l10n-inc) PLACED: span time data" +msgstr "" + +#: src/jade/tabs/trade.jade:371 msgid "with" msgstr "при помощи" -#: src/jade/tabs/trade.jade:312 +#: src/jade/tabs/trade.jade:372 msgid "for" msgstr "за" -#: src/jade/tabs/trade.jade:325 -msgid "You haven't placed any orders." -msgstr "Вы не разместили ни одной заявки." +#: src/jade/tabs/trade.jade:376 +msgid "at" +msgstr "" -#: src/jade/tabs/trade.jade:327 -msgid "Unable to cancel order." -msgstr "Неудалось отменить заявку." +#: src/jade/tabs/trade.jade:389 +msgid "Cancel order" +msgstr "" -#: src/jade/tabs/trade.jade:328 -msgid "Error: {{cancelError}}" -msgstr "Ошибка: {{cancelError}}" +#: src/jade/tabs/trade.jade:390 src/jade/tabs/trade.jade:431 +msgid "back" +msgstr "" -#: src/jade/tabs/trade.jade:332 -msgid "Orderbook" -msgstr "Заказы" +#: src/jade/tabs/trade.jade:407 +msgid "" +"CAUTION: Your new order is far off from the current market price.
Do " +"you still want to replace your order ?" +msgstr "" -#: src/jade/tabs/trade.jade:334 +#: src/jade/tabs/trade.jade:410 +msgid "Unable to cancel order. Error: {{entry.errorMsg}}" +msgstr "" + +#: src/jade/tabs/trade.jade:412 +msgid "" +"Your order amount has been updated by Ripple. Please go back and edit again " +"to modify this order." +msgstr "" + +#: src/jade/tabs/trade.jade:414 +msgid "" +"Your order could not be modified. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "" + +#: src/jade/tabs/trade.jade:415 +msgid "X" +msgstr "" + +#: src/jade/tabs/trade.jade:420 +msgid "cancel all" +msgstr "" + +#: src/jade/tabs/trade.jade:426 +msgid "{{1:Please confirm that you wish to cancel all orders.}}" +msgstr "" + +#: src/jade/tabs/trade.jade:430 +msgid "Cancel all orders" +msgstr "" + +#: src/jade/tabs/trade.jade:433 src/jade/tabs/widgets/orders.jade:64 +msgid "No current orders. {{1}}" +msgstr "" + +#: src/jade/tabs/trade.jade:434 src/jade/tabs/widgets/orders.jade:65 +msgid "View orders history" +msgstr "" + +#: src/jade/tabs/trade.jade:437 +msgid "Orderbook{{1}}" +msgstr "" + +#: src/jade/tabs/trade.jade:440 msgid "show" msgstr "показать" -#: src/jade/tabs/trade.jade:342 +#: src/jade/tabs/trade.jade:442 +msgid "Last updated {{1}} {{2: seconds}} {{3: second}} ago" +msgstr "" + +#: src/jade/tabs/trade.jade:458 msgid "Bids" msgstr "Спрос" -#: src/jade/tabs/trade.jade:344 src/jade/tabs/trade.jade:371 +#: src/jade/tabs/trade.jade:460 src/jade/tabs/trade.jade:487 msgid "Sum{{1}}{{2}}" msgstr "Сумма{{1}}{{2}}" -#: src/jade/tabs/trade.jade:347 src/jade/tabs/trade.jade:368 +#: src/jade/tabs/trade.jade:463 src/jade/tabs/trade.jade:484 msgid "Size{{1}}{{2}}" msgstr "Количество {{1}}{{2}}" -#: src/jade/tabs/trade.jade:350 +#: src/jade/tabs/trade.jade:466 msgid "Bid Price{{1}}{{2}}" msgstr "Цена покупателя{{1}}{{2}}" -#: src/jade/tabs/trade.jade:361 +#: src/jade/tabs/trade.jade:477 msgid "There are currently no bids for this pair." msgstr "В данный момент нет заявок на покупку для этой пары." -#: src/jade/tabs/trade.jade:363 +#: src/jade/tabs/trade.jade:479 msgid "Asks" msgstr "Предложение" -#: src/jade/tabs/trade.jade:365 +#: src/jade/tabs/trade.jade:481 msgid "Ask Price{{1}}{{2}}" msgstr "Запрашиваемая цена{{1}}{{2}}" -#: src/jade/tabs/trade.jade:382 +#: src/jade/tabs/trade.jade:498 msgid "There are currently no asks for this pair." msgstr "В данный момент нет заявок на продажу для этой пары." -#: src/jade/tabs/trade.jade:385 +#: src/jade/tabs/trade.jade:501 msgid "No more orders" msgstr "Больше нет заказов" -#: src/jade/tabs/trust.jade:23 -msgid "Connecting a gateway to your Ripple account..." -msgstr "Подключение шлюза к вашему Рипл аккаунту" - -#: src/jade/tabs/trust.jade:25 -msgid "Gateway connected." -msgstr "Шлюз подключен" - -#: src/jade/tabs/trust.jade:27 -msgid "Gateway could not be connected!" -msgstr "Шлюз не может быть подключен!" - -#: src/jade/tabs/trust.jade:28 src/jade/tabs/trust.jade:30 -msgid "There was a problem connecting the gateway. Please try again later." -msgstr "Проблема подключения к шлюзу. Попробуйте еще раз позже." +#: src/jade/tabs/trust.jade:29 +msgid "Removing gateway..." +msgstr "Удаляем шлюз ..." #: src/jade/tabs/trust.jade:31 -msgid "" -"Your request is invalid, reason: {{engine_result}} - " -"{{engine_result_message}}" -msgstr "Ваш запрос некорректен, причина: {{engine_result}} - {{engine_result_message}}" +msgid "Gateway removed." +msgstr "" #: src/jade/tabs/trust.jade:33 -msgid "Gateway connection failed!" -msgstr "Подключение к шлюзу не удалось!" +msgid "Your changes have been saved." +msgstr "" #: src/jade/tabs/trust.jade:35 -msgid "You have no gateway connected in this currency." -msgstr "По этой валюте у вас нет подключенных шлюзов." - -#: src/jade/tabs/trust.jade:36 -msgid "Insufficient reserve to connect gateway." -msgstr "Недостаточно резервов для подключения к шлюзу" - -#: src/jade/tabs/trust.jade:37 -msgid "" -"You must have at least {{account.reserve_to_add_trust | rpamount:0}} XRP to " -"connect a gateway. {{1}}" -msgstr "У вас должно быть как минимум {{account.reserve_to_add_trust | rpamount:0}} XRP для подкючения шлюза. {{1}}" +msgid "Request failed." +msgstr "" #: src/jade/tabs/trust.jade:39 -msgid "Read more." -msgstr "Больше информации." - -#: src/jade/tabs/trust.jade:40 -msgid "Gateway connection failed to clear, reason: {{engine_result_message}}" -msgstr "Подключение к шлюзу не удалось по причине: {{engine_result_message}}" - -#: src/jade/tabs/trust.jade:53 -msgid "Saving changes..." -msgstr "Сохранение настроек ..." +msgid "Account unlock failed." +msgstr "" #: src/jade/tabs/trust.jade:55 -msgid "Changes saved!" -msgstr "Изменения сохранены!" - -#: src/jade/tabs/trust.jade:57 src/jade/tabs/trust.jade:69 -msgid "There was an error while saving your changes." -msgstr "При сохранении изменний произошла ошибка ." - -#: src/jade/tabs/trust.jade:65 -msgid "Removing gateway..." -msgstr "Удаляем шлюз ..." - -#: src/jade/tabs/trust.jade:67 -msgid "Gateway removed!" -msgstr "Шлюз удален!" - -#: src/jade/tabs/trust.jade:72 src/jade/tabs/trust.jade:194 -msgid "You must have at least {{1}} to add a new trust line. {{2}}" -msgstr "У Вас должно быть по меньшей мере {{1}} для того, чтобы создать новую линию доверия. {{2}}" - -#: src/jade/tabs/trust.jade:82 msgid "Name / Address" msgstr "Имя / Адрес" -#: src/jade/tabs/trust.jade:84 src/jade/tabs/trust.jade:130 +#: src/jade/tabs/trust.jade:57 src/jade/tabs/trust.jade:90 msgid "Currency" msgstr "Валюта" -#: src/jade/tabs/trust.jade:87 +#: src/jade/tabs/trust.jade:60 msgid "Trust Limit" msgstr "Лимит доверия" -#: src/jade/tabs/trust.jade:93 +#: src/jade/tabs/trust.jade:66 msgid "Gateway's Ripple name or address" msgstr "Ripple имя шлюза или его адрес" -#: src/jade/tabs/trust.jade:162 +#: src/jade/tabs/trust.jade:100 +msgid "Amount field is required." +msgstr "" + +#: src/jade/tabs/trust.jade:115 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"connect to. More " +"information" +msgstr "" + +#: src/jade/tabs/trust.jade:125 msgid "" "{{1:You are connecting a gateway, which means}}{{2:{{ counterparty_address |" " rpripplename:{tilde: true} }} can:}}" msgstr "{{1:Вы подключаете шлюз, что означает}}{{2:{{ counterparty_address | rpripplename:{tilde: true} }} может:}}" -#: src/jade/tabs/trust.jade:165 +#: src/jade/tabs/trust.jade:128 msgid "{{1:- Hold up to }}{{2}} {{3: on your behalf}}" -msgstr "{{1:- Держит до }}{{2}} {{3: от вашего имени}}" +msgstr "{{1:- Держать до }}{{2}} {{3: от вашего имени}}" -#: src/jade/tabs/trust.jade:169 +#: src/jade/tabs/trust.jade:132 msgid "{{1:- Hold }}{{2}} {{3: on your behalf}}" msgstr "{{1:- Держит }}{{2}} {{3: от вашего имени}}" -#: src/jade/tabs/trust.jade:183 src/jade/tabs/trust.jade:186 -#: src/jade/tabs/trust.jade:189 src/jade/tabs/trust.jade:255 -#: src/jade/tabs/trust.jade:258 src/jade/tabs/trust.jade:261 -#: src/jade/tabs/trust.jade:288 src/jade/tabs/trust.jade:291 -#: src/jade/tabs/trust.jade:294 -msgid "Remove" -msgstr "Удалить" - -#: src/jade/tabs/trust.jade:192 +#: src/jade/tabs/trust.jade:148 msgid "Verifying address" msgstr "Проверка адреса" -#: src/jade/tabs/trust.jade:201 +#: src/jade/tabs/trust.jade:151 msgid "" "Your account has to be {{1:activated}} before you can add a gateway account." msgstr "Ваш аккаунт должен быть {{1:активирован}} для подключения шлюза." -#: src/jade/tabs/trust.jade:209 +#: src/jade/tabs/trust.jade:159 msgid "Connect gateway" msgstr "Подключиться к шлюзу" -#: src/jade/tabs/trust.jade:227 -msgid "Gateway" -msgstr "Шлюз" - -#: src/jade/tabs/trust.jade:229 src/jade/tabs/trust.jade:271 +#: src/jade/tabs/trust.jade:169 src/jade/tabs/trust.jade:221 msgid "Limit" msgstr "Лимит" -#: src/jade/tabs/trust.jade:230 +#: src/jade/tabs/trust.jade:170 msgid "Min" msgstr "Минимум" -#: src/jade/tabs/trust.jade:245 +#: src/jade/tabs/trust.jade:172 +msgid "Edit" +msgstr "Править" + +#: src/jade/tabs/trust.jade:188 msgid "Off" msgstr "Выкл" -#: src/jade/tabs/trust.jade:246 +#: src/jade/tabs/trust.jade:189 msgid "On" msgstr "Вкл" -#: src/jade/tabs/trust.jade:276 +#: src/jade/tabs/trust.jade:192 src/jade/tabs/trust.jade:201 +#: src/jade/tabs/trust.jade:206 src/jade/tabs/trust.jade:210 +#: src/jade/tabs/trust.jade:239 src/jade/tabs/trust.jade:244 +#: src/jade/tabs/trust.jade:248 +msgid "Incoming trust" +msgstr "" + +#: src/jade/tabs/trust.jade:192 +msgid "" +"You can't edit incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "" + +#: src/jade/tabs/trust.jade:200 src/jade/tabs/trust.jade:202 +#: src/jade/tabs/trust.jade:205 src/jade/tabs/trust.jade:207 +#: src/jade/tabs/trust.jade:209 src/jade/tabs/trust.jade:211 +#: src/jade/tabs/trust.jade:238 src/jade/tabs/trust.jade:240 +#: src/jade/tabs/trust.jade:243 src/jade/tabs/trust.jade:245 +#: src/jade/tabs/trust.jade:247 src/jade/tabs/trust.jade:249 +msgid "Remove" +msgstr "Удалить" + +#: src/jade/tabs/trust.jade:201 src/jade/tabs/trust.jade:206 +#: src/jade/tabs/trust.jade:210 src/jade/tabs/trust.jade:239 +#: src/jade/tabs/trust.jade:244 src/jade/tabs/trust.jade:248 +msgid "" +"You can't delete incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "" + +#: src/jade/tabs/trust.jade:226 msgid "Rippling {{1}}" msgstr "Пересылка {{1}}" -#: src/jade/tabs/tx.jade:3 +#: src/jade/tabs/tx.jade:5 msgid "Loading transaction details..." msgstr "Загружаются детали транзакции..." -#: src/jade/tabs/tx.jade:5 +#: src/jade/tabs/tx.jade:7 msgid "An error occurred while loading the transaction details." msgstr "Произошла ошибка при загрузке деталей транзакции." -#: src/jade/tabs/tx.jade:8 +#: src/jade/tabs/tx.jade:10 msgid "Transaction #" msgstr "Транзакция #" -#: src/jade/tabs/tx.jade:11 -msgid "Show in graph" -msgstr "Показать на графике" - -#: src/jade/tabs/tx.jade:13 +#: src/jade/tabs/tx.jade:15 msgid "Transaction type: {{1}}" msgstr "Тип транзакции: {{1}}" -#: src/jade/tabs/tx.jade:20 +#: src/jade/tabs/tx.jade:22 msgid "Address sent from" msgstr "Адрес отправителя" -#: src/jade/tabs/tx.jade:24 +#: src/jade/tabs/tx.jade:26 msgid "Amount sent" msgstr "Отправленное количество" -#: src/jade/tabs/tx.jade:28 +#: src/jade/tabs/tx.jade:30 msgid "Currency sent" msgstr "Отправленная валюта" -#: src/jade/tabs/tx.jade:33 +#: src/jade/tabs/tx.jade:35 msgid "Address sent to" msgstr "Адрес получателя" -#: src/jade/tabs/tx.jade:37 +#: src/jade/tabs/tx.jade:39 msgid "Amount received" msgstr "Полученное количество" -#: src/jade/tabs/tx.jade:41 +#: src/jade/tabs/tx.jade:43 msgid "Currency received" msgstr "Полученная валюта" -#: src/jade/tabs/tx.jade:48 +#: src/jade/tabs/tx.jade:50 msgid "Network fee paid" msgstr "Комиссия сети" -#: src/jade/tabs/tx.jade:60 +#: src/jade/tabs/tx.jade:62 msgid "Ledger number" msgstr "Номер реестра" -#: src/jade/tabs/tx.jade:66 +#: src/jade/tabs/tx.jade:68 msgid "Address sent from:" msgstr "Адрес отправителя:" -#: src/jade/tabs/tx.jade:70 +# Sorry, we don't have an info page layout for this transaction type yet. +#: src/jade/tabs/tx.jade:72 msgid "" "Sorry, we don't have an info page layout for this transaction type yet." msgstr "Извините, мы еще не создали формат отображения для этого типа транзакции." +#: src/jade/tabs/usd.jade:35 +msgid "US Dollar Deposit" +msgstr "" + +#: src/jade/tabs/usd.jade:39 +msgid "SnapSwap US (~SnapSwap){{1}}{{2}}" +msgstr "" + +#: src/jade/tabs/usd.jade:45 +msgid "USA" +msgstr "" + +#: src/jade/tabs/usd.jade:48 +msgid "$ 0.31-$ 5.00" +msgstr "" + +#: src/jade/tabs/usd.jade:56 +msgid "" +"Ripple Trade has partnered with SnapSwap to provide easier access to USD. " +"Following this action will enable SnapSwap to hold USD on your behalf." +msgstr "" + +#: src/jade/tabs/usd.jade:73 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" +msgstr "" + +#: src/jade/tabs/usd.jade:74 +msgid "Register and verify your account at SnapSwap US. You will need: {{1}}" +msgstr "" + +#: src/jade/tabs/usd.jade:82 +msgid "EXISTING SNAPSWAP US CUSTOMERS" +msgstr "" + +#: src/jade/tabs/usd.jade:93 +msgid "Deposit instantly via selected banks" +msgstr "" + +#: src/jade/tabs/usd.jade:95 +msgid "Deposit cash at Bank of America branches (3 business days)" +msgstr "" + +#: src/jade/tabs/usd.jade:97 +msgid "Deposit via online bank transfer (3 business days)" +msgstr "" + +#: src/jade/tabs/usd.jade:103 +msgid "Directly to your bank account (3-4 business days)" +msgstr "" + +#: src/jade/tabs/usd.jade:105 +msgid "Directly to your PayPal account (several minutes)" +msgstr "" + +#: src/jade/tabs/widgets/assetallocation.jade:3 +msgid "Asset Allocation" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:3 +msgid "Balances" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:12 +msgid "Balance
{{ account.Balance | rpamount }} XRP" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:16 +msgid "Reserve" +msgstr "Резерв" + +#: src/jade/tabs/widgets/balances.jade:18 +msgid "Reserve amount" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:18 +msgid "" +"Minimum amount of XRP required to fund your account. You cannot spend the " +"reserve." +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:20 +msgid "Reserve amount
{{ account.reserve | rpamount }} XRP" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Available amount" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Total amount of XRP in your account minus the reserve amount." +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:28 +msgid "Available amount
{{ account.max_spend | rpamount }} XRP" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:35 +msgid "" +"Balance
{{ entry.total | rpamount:{precision: 30, hard_precision: true} " +"}} {{ entry.total | rpcurrency }}" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:43 +msgid "" +"Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, " +"hard_precision: true} }} {{ entry.total | rpcurrency }}" +msgstr "" + +#: src/jade/tabs/widgets/markets.jade:3 +msgid "Markets" +msgstr "" + +#: src/jade/tabs/widgets/networth.jade:3 +msgid "Net Worth" +msgstr "" + +#: src/jade/tabs/widgets/networth.jade:8 +msgid "{{1:{{1:In}}}}{{2}}" +msgstr "" + +#: src/jade/tabs/widgets/networth.jade:14 +msgid "Estimated from latest trade price" +msgstr "Ориентировочно от последней цены на торгах" + +#: src/jade/tabs/widgets/networth.jade:23 +msgid "(excluding negative balances)" +msgstr "(без отрицательных балансов)" + +#: src/jade/tabs/widgets/orders.jade:3 +msgid "My Orders" +msgstr "" + +#: src/jade/tabs/widgets/orders.jade:68 +msgid "trade currencies" +msgstr "" + #: src/jade/tabs/xrp.jade:19 msgid "Ripple name: {{1}}{{2}}{{3}}" msgstr "Ripple имя: {{1}}{{2}}{{3}}" @@ -2717,7 +3666,3 @@ msgid "" "full Ripple address, and while we are working to transition to Ripple names," " some gateways may still ask for your full address." msgstr "Ripple Имена - это новая особенность Ripple! По Вашему Ripple имени (~{{userCredentials.username}}), Вы сможете принимать платежи. Вы можете продолжать использовать Ripple адрес целиком, и, пока мы продолжаем работу над переходом исключительно на Ripple имена, некоторые шлюзы могут затребовать Ваш адрес целиком." - -#: src/jade/tabs/xrp.jade:31 -msgid "Ripple address {{1}}" -msgstr "Ripple адрес {{1}}" From 4d1d71b569412be41880349e6c547677aaee3454 Mon Sep 17 00:00:00 2001 From: "J.M" Date: Fri, 13 Mar 2015 20:17:40 +0100 Subject: [PATCH 063/321] [FEATURE] Add French localization --- l10n/fr_FR/messages.po | 3660 ++++++++++++++++++++++++++++++++++++ l10n/languages.json | 1 + src/jade/client/index.jade | 2 + 3 files changed, 3663 insertions(+) create mode 100644 l10n/fr_FR/messages.po diff --git a/l10n/fr_FR/messages.po b/l10n/fr_FR/messages.po new file mode 100644 index 000000000..fe6890d71 --- /dev/null +++ b/l10n/fr_FR/messages.po @@ -0,0 +1,3660 @@ +# Generated by grunt-jade-l10n-extractor +# Translators: +# Angelblanc , 2014 +# ChartGuy , 2013-2014 +# keepx , 2014-2015 +# rcarrier , 2014 +msgid "" +msgstr "" +"Project-Id-Version: Ripple Trade\n" +"PO-Revision-Date: 2015-02-25 14:45+0000\n" +"Last-Translator: keepx \n" +"Language-Team: French (France) (http://www.transifex.com/projects/p/ripple-trade/language/fr_FR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr_FR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: src/jade/client/index.jade:5 src/jade/client/navbar.jade:117 +#: src/jade/tabs/trust.jade:59 src/jade/tabs/trust.jade:168 +msgid "Balance" +msgstr "Solde" + +#: src/jade/client/index.jade:7 src/jade/client/navbar.jade:119 +msgid "History" +msgstr "Historique" + +#: src/jade/client/index.jade:8 src/jade/client/navbar.jade:121 +msgid "Contacts" +msgstr "Contacts" + +#: src/jade/client/index.jade:12 src/jade/client/navbar.jade:21 +#: src/jade/tabs/contacts.jade:65 +msgid "Send" +msgstr "Envoyer" + +#: src/jade/client/index.jade:16 +msgid "Convert" +msgstr "Convertir" + +#: src/jade/client/index.jade:18 src/jade/client/navbar.jade:23 +#: src/jade/client/navbar.jade:25 src/jade/tabs/settings/navbar.jade:3 +msgid "Trade" +msgstr "Echanger" + +#: src/jade/client/index.jade:22 src/jade/client/navbar.jade:27 +#: src/jade/client/navbar.jade:133 +msgid "Fund" +msgstr "Approvisionner" + +#: src/jade/client/index.jade:24 src/jade/tabs/fund/menu.jade:29 +msgid "Gateways" +msgstr "Passerelles" + +#: src/jade/client/index.jade:29 src/jade/client/navbar.jade:107 +#: src/jade/tabs/su.jade:12 +msgid "Account" +msgstr "Compte" + +#: src/jade/client/index.jade:32 src/jade/client/navbar.jade:109 +#: src/jade/tabs/advanced.jade:19 +msgid "Settings" +msgstr "Paramètres" + +#: src/jade/client/index.jade:35 +msgid "Logout" +msgstr "Déconnexion" + +#: src/jade/client/index.jade:61 +msgid "Why Use Ripple Trade?" +msgstr "Pourquoi Utiliser Ripple Trade?" + +#: src/jade/client/index.jade:66 +msgid "Home of XRP -" +msgstr "" + +#: src/jade/client/index.jade:67 +msgid "the best place to buy and sell XRP" +msgstr "le meilleur endroit pour acheter et vendre des XRP" + +#: src/jade/client/index.jade:71 +msgid "Free -" +msgstr "Gratuit -" + +#: src/jade/client/index.jade:72 +msgid "no fees to sign up and use Ripple Trade" +msgstr "aucun frais pour s'inscrire et utiliser Ripple Trade" + +#: src/jade/client/index.jade:76 +msgid "No Middlemen -" +msgstr "Sans intermédiaires -" + +#: src/jade/client/index.jade:77 +msgid "" +"When you submit orders, Ripple automatically finds the best available match," +" without a clearinghouse or broker." +msgstr "" + +#: src/jade/client/index.jade:81 +msgid "Deposit, trade and withdraw money on Ripple via gateways." +msgstr "" + +#: src/jade/client/index.jade:89 +msgid "Featured Ripple Gateways" +msgstr "Passerelles Ripple préférées" + +#: src/jade/client/index.jade:91 +msgid "Ripple's growing gateway network." +msgstr "Le réseau croissant de passerelles Ripple" + +#: src/jade/client/index.jade:93 src/jade/client/index.jade:96 +#: src/jade/client/index.jade:99 src/jade/client/index.jade:102 +#: src/jade/client/index.jade:105 src/jade/client/index.jade:108 +#: src/jade/client/index.jade:111 src/jade/client/index.jade:114 +#: src/jade/client/index.jade:117 src/jade/tabs/banner/unfunded.jade:6 +#: src/jade/tabs/brl.jade:53 src/jade/tabs/brl.jade:57 +#: src/jade/tabs/brl.jade:93 src/jade/tabs/btc.jade:46 +#: src/jade/tabs/eur.jade:50 src/jade/tabs/eur.jade:54 +#: src/jade/tabs/eur.jade:86 src/jade/tabs/eur.jade:93 +#: src/jade/tabs/gold.jade:51 src/jade/tabs/jpy.jade:55 +#: src/jade/tabs/jpy.jade:91 src/jade/tabs/jpy.jade:97 +#: src/jade/tabs/mxn.jade:53 src/jade/tabs/send.jade:63 +#: src/jade/tabs/trade.jade:320 src/jade/tabs/usd.jade:51 +#: src/jade/tabs/usd.jade:83 src/jade/tabs/usd.jade:90 +#: src/jade/tabs/usd.jade:100 src/jade/tabs/widgets/orders.jade:31 +msgid "{{1}}" +msgstr "{{1}}" + +#: src/jade/client/index.jade:123 +msgid "Version: {{version}}" +msgstr "Version: {{version}}" + +#: src/jade/client/index.jade:128 +msgid "Terms of Use" +msgstr "Conditions d'utilisation" + +#: src/jade/client/index.jade:129 +msgid "Privacy Policy" +msgstr "Politique de Confidentialité" + +#: src/jade/client/index.jade:130 +msgid "Support" +msgstr "Support" + +#: src/jade/client/index.jade:131 +msgid "Bug reports" +msgstr "Rapport de bugs" + +#: src/jade/client/index.jade:138 +msgid "more..." +msgstr "plus..." + +#: src/jade/client/index.jade:142 +msgid "Select a language" +msgstr "Sélectionnez une langue" + +#: src/jade/client/navbar.jade:2 +msgid "" +"You are viewing an account in {{1}} mode. While in this mode, you can view " +"publicly available data, but you cannot initiate any transactions. Click " +"{{2}} to exit." +msgstr "" + +#: src/jade/client/navbar.jade:8 +msgid "" +"Warning: this account has over 200 trust lines, so the displayed account " +"balance may not be accurate." +msgstr "" + +#: src/jade/client/navbar.jade:19 +msgid "Overview" +msgstr "Vue d'ensemble" + +#: src/jade/client/navbar.jade:49 src/jade/tabs/account/private.jade:7 +#: src/jade/tabs/account/private.jade:16 src/jade/tabs/account/public.jade:45 +#: src/jade/tabs/apps.jade:8 src/jade/tabs/btc.jade:72 +#: src/jade/tabs/exchange.jade:9 src/jade/tabs/kyc.jade:45 +#: src/jade/tabs/recover.jade:26 src/jade/tabs/security.jade:147 +#: src/jade/tabs/su.jade:8 src/jade/tabs/trust.jade:9 +#: src/jade/tabs/trust.jade:139 +msgid "Loading..." +msgstr "Chargement..." + +#: src/jade/client/navbar.jade:50 +msgid "There are no recent notifications." +msgstr "Il n'y a pas de notifications récentes." + +#: src/jade/client/navbar.jade:54 +msgid "You sent {{1}} to {{2}}" +msgstr "Vous avez envoyé {{1}} à {{2}}" + +#: src/jade/client/navbar.jade:60 +msgid "{{1}} sent you {{2}}" +msgstr "{{1}} vous a envoyé {{2}}" + +#: src/jade/client/navbar.jade:68 +msgid "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" +msgstr "{{entry.transaction.counterparty | rpcontactname}} vous fait maintenant confiance pour" + +#: src/jade/client/navbar.jade:74 src/jade/notification/account.jade:25 +#: src/jade/tabs/history.jade:115 src/jade/tabs/history/effects.jade:63 +msgid "You have now connected to the gateway {{1}}{{2: for }}{{3}}." +msgstr "Vous êtes maintenant connecté à la passerelle {{1}}{{2: pour }}{{3}}." + +#: src/jade/client/navbar.jade:85 +msgid "You cancelled an order accepting {{1}} for {{2}}" +msgstr "Vous avez annulé un ordre acceptant {{1}} pour {{2}}" + +#: src/jade/client/navbar.jade:92 src/jade/tabs/history.jade:138 +msgid "Account details have been changed" +msgstr "Les détails du compte ont été changés" + +#: src/jade/client/navbar.jade:95 src/jade/tabs/history.jade:141 +#: src/jade/tabs/trust.jade:171 +msgid "Rippling" +msgstr "Rippling" + +#: src/jade/client/navbar.jade:97 src/jade/tabs/history.jade:143 +msgid "Failed transaction" +msgstr "Transaction qui a échoué" + +#: src/jade/client/navbar.jade:103 +msgid "View Full History" +msgstr "Afficher l'historique complet" + +#: src/jade/client/navbar.jade:111 +msgid "Log Out" +msgstr "Déconnexion" + +#: src/jade/client/navbar.jade:126 +msgid "Simple" +msgstr "Simple" + +#: src/jade/client/navbar.jade:128 src/jade/tabs/settings/navbar.jade:4 +msgid "Advanced" +msgstr "Avancé" + +#: src/jade/client/navbar.jade:135 +msgid "Withdraw" +msgstr "Retirer" + +#: src/jade/client/navbar.jade:137 +msgid "" +"Your account was successfully recovered and encrypted with the new password " +"you provided!" +msgstr "Votre compte a été récupéré avec succès et chiffré avec le nouveau mot de passe que vous avez fourni!" + +#: src/jade/client/navbar.jade:138 +msgid "dismiss" +msgstr "rejeter" + +#: src/jade/directives/addresspopover.jade:3 +msgid "Ripple address {{ identity }}" +msgstr "Adresse Ripple {{ identity }}" + +#: src/jade/directives/addresspopover.jade:8 src/jade/tabs/tx.jade:13 +msgid "Show in graph" +msgstr "Montrer dans le graphique" + +#: src/jade/directives/transactionerror.jade:8 +msgid "Connecting gateway to your account..." +msgstr "Connexion de la passerelle à votre compte..." + +#: src/jade/directives/transactionerror.jade:10 +msgid "Gateway connected." +msgstr "Passerelle connectée." + +#: src/jade/directives/transactionerror.jade:12 +msgid "There was a problem connecting to the gateway. Please try again later." +msgstr "Il y a eu un problème lors de la connexion de la passerelle. Veuillez réessayer ultérieurement." + +#: src/jade/directives/transactionerror.jade:14 +#: src/jade/directives/transactionerror.jade:73 +#: src/jade/directives/transactionerror.jade:158 +#: src/jade/messages/sendconvert/confirmation.jade:13 +msgid "Error code: {{engine_result}} - {{engine_result_message}}" +msgstr "Code d'erreur: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:19 +#: src/jade/directives/transactionerror.jade:23 +#: src/jade/directives/transactionerror.jade:28 +#: src/jade/directives/transactionerror.jade:33 +#: src/jade/directives/transactionerror.jade:45 +#: src/jade/directives/transactionerror.jade:52 +#: src/jade/directives/transactionerror.jade:156 +#: src/jade/directives/transactionerror.jade:163 +#: src/jade/directives/transactionerror.jade:167 +#: src/jade/directives/transactionerror.jade:172 +#: src/jade/directives/transactionerror.jade:177 +#: src/jade/directives/transactionerror.jade:186 +#: src/jade/directives/transactionerror.jade:193 +msgid "Request failed" +msgstr "La demande a échoué" + +#: src/jade/directives/transactionerror.jade:21 +#: src/jade/directives/transactionerror.jade:165 +msgid "Your request timed out, please try again." +msgstr "Votre demande a expiré, veuillez réessayer." + +#: src/jade/directives/transactionerror.jade:25 +#: src/jade/directives/transactionerror.jade:84 +#: src/jade/directives/transactionerror.jade:169 +#: src/jade/messages/sendconvert/confirmation.jade:18 +msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." +msgstr "Code d'erreur: Étiquette de destination nécessaire [tefDST_TAG_NEEDED]." + +#: src/jade/directives/transactionerror.jade:30 +#: src/jade/directives/transactionerror.jade:174 +msgid "" +"Error code: This request failed because it exceeded the maximum network fee," +" please try again later [telINSUF_FEE_P]." +msgstr "Code d'erreur: Cette demande a échoué parce qu'elle a dépassé les frais de réseau maximum, veuillez réessayer ultérieurement [telINSUF_FEE_P]." + +#: src/jade/directives/transactionerror.jade:35 +msgid "" +"Error code: You have no gateway connected in this currency [terNO_LINE]." +msgstr "" + +#: src/jade/directives/transactionerror.jade:37 +msgid "" +"Error code: Insufficient reserve to connect gateway [tecINSUF_RESERVE_LINE]." +msgstr "" + +#: src/jade/directives/transactionerror.jade:39 +msgid "" +"Error code: You have an insufficient reserve amount to connect a gateway " +"[tecNO_LINE_INSUF_RESERVE]. {{1}}" +msgstr "Code d'erreur: Vous avez un montant de réserve insuffisant pour connecter une passerelle [tecNO_LINE_INSUF_RESERVE]. {{1}}" + +#: src/jade/directives/transactionerror.jade:41 src/jade/tabs/fund.jade:34 +#: src/jade/tabs/send.jade:110 src/jade/tabs/trust.jade:74 +msgid "More information" +msgstr "Plus d'informations" + +#: src/jade/directives/transactionerror.jade:42 +#: src/jade/directives/transactionerror.jade:98 +#: src/jade/directives/transactionerror.jade:135 +#: src/jade/directives/transactionerror.jade:183 +#: src/jade/messages/sendconvert/confirmation.jade:27 +msgid "Error: {{engine_result_message}}" +msgstr "Erreur: {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:47 +#: src/jade/directives/transactionerror.jade:103 +#: src/jade/directives/transactionerror.jade:188 +#: src/jade/messages/sendconvert/confirmation.jade:32 +msgid "Error code: You have no trust line in this currency [terNO_LINE]." +msgstr "Code d'erreur: Vous n'avez pas de ligne de confiance dans cette devise [terNO_LINE]." + +#: src/jade/directives/transactionerror.jade:49 +#: src/jade/directives/transactionerror.jade:190 +msgid "Your request failed: {{engine_result}} - {{engine_result_message}}" +msgstr "Votre demande a échoué: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:54 +#: src/jade/directives/transactionerror.jade:195 +msgid "Error code: request could not be submitted [tejLost]." +msgstr "Code d'erreur: la demande n'a pas pu être envoyée [tejLost]." + +#: src/jade/directives/transactionerror.jade:56 +#: src/jade/directives/transactionerror.jade:197 src/jade/tabs/trust.jade:36 +msgid "" +"This request failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "" + +#: src/jade/directives/transactionerror.jade:59 +#: src/jade/directives/transactionerror.jade:200 +msgid "" +"Your request could not be submitted: {{engine_result}} - " +"{{engine_result_message}}" +msgstr "Votre demande n'a pas pu être envoyée: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:67 +msgid "Payment pending" +msgstr "Paiement en attente" + +#: src/jade/directives/transactionerror.jade:69 +msgid "Payment successful" +msgstr "Paiement réussi" + +#: src/jade/directives/transactionerror.jade:71 +#: src/jade/directives/transactionerror.jade:82 +#: src/jade/directives/transactionerror.jade:87 +#: src/jade/directives/transactionerror.jade:92 +#: src/jade/directives/transactionerror.jade:101 +#: src/jade/directives/transactionerror.jade:108 +msgid "Payment failed" +msgstr "Le paiement a échoué" + +#: src/jade/directives/transactionerror.jade:78 +msgid "Payment failed [tefMAX_LEDGER]." +msgstr "Le paiement a échoué [tefMAX_LEDGER]." + +#: src/jade/directives/transactionerror.jade:80 +msgid "Your payment timed out, please try again." +msgstr "Votre paiement a expiré, veuillez essayer à nouveau." + +#: src/jade/directives/transactionerror.jade:89 +#: src/jade/messages/sendconvert/confirmation.jade:39 +msgid "" +"Error code: This transaction failed because it exceeded the maximum network " +"fee, please try again later [telINSUF_FEE_P]." +msgstr "Code d'erreur: Cette transaction a échoué parce qu'elle a dépassé les frais de réseau maximum, veuillez réessayer ultérieurement [telINSUF_FEE_P]." + +#: src/jade/directives/transactionerror.jade:94 +#: src/jade/directives/transactionerror.jade:179 +msgid "Error code: No destination [tecNO_DST]." +msgstr "Code d'erreur: Aucune destination [tecNO_DST]." + +#: src/jade/directives/transactionerror.jade:96 +#: src/jade/directives/transactionerror.jade:181 +#: src/jade/messages/sendconvert/confirmation.jade:25 +msgid "" +"Error code: Insufficient XRP sent to destination [tecNO_DST_INSUF_XRP]." +msgstr "Code d'erreur: Pas assez de XRP envoyés à destination [tecNO_DST_INSUF_XRP]." + +#: src/jade/directives/transactionerror.jade:105 +msgid "Your payment failed: {{engine_result}} - {{engine_result_message}}" +msgstr "Votre paiement a échoué: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:110 +msgid "Error code: Transaction could not be submitted [tejLost]." +msgstr "Code d'erreur: La transaction n'a pas pu être envoyée [tejLost]." + +#: src/jade/directives/transactionerror.jade:112 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "" + +#: src/jade/directives/transactionerror.jade:115 +msgid "" +"Your payment could not be submitted: {{engine_result}} - " +"{{engine_result_message}}" +msgstr "Votre paiement n'a pas pu être envoyé: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:121 +msgid "Request is malformed." +msgstr "La demande est malformée." + +#: src/jade/directives/transactionerror.jade:122 +msgid "" +"Your request is invalid, reason: {{engine_result_message}} - " +"{{engine_result_message}}" +msgstr "Votre demande est invalide, raison: {{engine_result_message}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:125 +#: src/jade/directives/transactionerror.jade:142 +msgid "Transaction failed." +msgstr "La transaction a échoué." + +#: src/jade/directives/transactionerror.jade:127 +msgid "You do not have enough funds to create this order [tecUNFUNDED_ORDER]." +msgstr "" + +#: src/jade/directives/transactionerror.jade:129 +msgid "" +"Insufficient reserve amount to submit an order [tecINSUF_RESERVE_OFFER]." +msgstr "Montant de la réserve insuffisant pour soumettre un ordre [tecINSUF_RESERVE_OFFER]." + +#: src/jade/directives/transactionerror.jade:131 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]. {{1}}" +msgstr "" + +#: src/jade/directives/transactionerror.jade:134 +msgid "More information." +msgstr "Plus d'informations." + +#: src/jade/directives/transactionerror.jade:138 +msgid "Trade failed." +msgstr "L'échange a échoué." + +#: src/jade/directives/transactionerror.jade:140 +msgid "Trade failed, reason: {{engine_result_message}}" +msgstr "" + +#: src/jade/directives/transactionerror.jade:144 +msgid "" +"The particular server you sent the transaction to was too busy to forward or" +" process your transaction at the fee you included in it [telINSUF_FEE_P]." +msgstr "" + +#: src/jade/directives/transactionerror.jade:152 +msgid "Request pending" +msgstr "Demande en attente" + +#: src/jade/directives/transactionerror.jade:154 +msgid "Request successful" +msgstr "Demande réussie" + +#: src/jade/messages/sendconvert/confirmation.jade:4 +msgid "Transaction pending." +msgstr "Transaction en attente." + +#: src/jade/messages/sendconvert/confirmation.jade:6 +msgid "Transaction successful" +msgstr "Transaction réussie" + +#: src/jade/messages/sendconvert/confirmation.jade:8 +#: src/jade/messages/sendconvert/confirmation.jade:11 +#: src/jade/messages/sendconvert/confirmation.jade:16 +#: src/jade/messages/sendconvert/confirmation.jade:21 +#: src/jade/messages/sendconvert/confirmation.jade:30 +#: src/jade/messages/sendconvert/confirmation.jade:37 +#: src/jade/messages/sendconvert/localerror.jade:5 +#: src/jade/messages/sendconvert/localerror.jade:8 +#: src/jade/messages/sendconvert/localerror.jade:11 +#: src/jade/messages/sendconvert/localerror.jade:14 +msgid "Transaction failed" +msgstr "La transaction a échoué" + +#: src/jade/messages/sendconvert/confirmation.jade:9 src/jade/tabs/brl.jade:25 +#: src/jade/tabs/btc.jade:22 src/jade/tabs/eur.jade:25 +#: src/jade/tabs/gold.jade:25 src/jade/tabs/jpy.jade:25 +#: src/jade/tabs/mxn.jade:25 src/jade/tabs/trust.jade:43 +#: src/jade/tabs/usd.jade:25 +msgid "Please try again later." +msgstr "Veuillez réessayer ultérieurement." + +#: src/jade/messages/sendconvert/confirmation.jade:23 +msgid "Error code: The destination account does not exist [tecNO_DST]." +msgstr "Code d'erreur: Le compte de destination n'existe pas [tecNO_DST]." + +#: src/jade/messages/sendconvert/confirmation.jade:34 +msgid "Your transaction failed: {{engine_result_message}}" +msgstr "Votre transaction a échoué: {{engine_result_message}}" + +#: src/jade/messages/sendconvert/localerror.jade:6 +msgid "" +"Error code: The account you're trying to send to does not exist " +"[noDest]." +msgstr "Code d'erreur: Le compte auquel vous essayez d'envoyer n'existe pas [noDest]." + +#: src/jade/messages/sendconvert/localerror.jade:9 +msgid "" +"Error code: Ripple was unable to find a path between you and the destination" +" account [noPath]." +msgstr "Code d'erreur: Ripple n'a pas pu trouver de chemin entre vous et le compte destinataire. [noPath]." + +#: src/jade/messages/sendconvert/localerror.jade:12 +msgid "" +"Error code: This transaction failed because it exceeded the maximum network " +"fee. [maxfeeExceeded]." +msgstr "Code d'erreur: Cette transaction a échoué parce qu'elle a dépassé les frais de réseau maximum. [maxfeeExceeded]." + +#: src/jade/messages/sendconvert/localerror.jade:15 +msgid "" +"Error code: The transaction was rejected by the Ripple network " +"[invalidTransaction]." +msgstr "Code d'erreur: la transaction a été rejetée par le réseau Ripple [invalidTransaction]." + +#: src/jade/messages/sendconvert/localerror.jade:17 +msgid "Account unlock failed" +msgstr "Le déverrouillage du compte a échoué" + +#: src/jade/messages/sendconvert/localerror.jade:18 +#: src/jade/tabs/trust.jade:40 +msgid "Your account could not be unlocked. Please try again later." +msgstr "Votre compte n'a pas pu être déverrouillé. Veuillez réessayer ultérieurement." + +#: src/jade/messages/sendconvert/localerror.jade:20 +msgid "" +"Sorry, an error occurred while submitting your transaction.Make sure you are" +" connected to the Internet and try again later." +msgstr "Désolé, une erreur s'est produite lors de l'envoi de votre transaction.Assurez-vous que vous êtes connecté à Internet et réessayez plus tard." + +#: src/jade/messages/sendconvert/localerror.jade:22 +msgid "" +"Before trying again, please ensure that the transaction has not been " +"executed already." +msgstr "Avant d'essayer à nouveau, veuillez vous assurer que la transaction n'a pas déjà été exécutée." + +#: src/jade/messages/sendconvert/waiting.jade:5 +msgid "Sending transaction to the Ripple network" +msgstr "Envoi de la transaction au réseau Ripple" + +#: src/jade/notification/account.jade:3 +msgid "You sent {{1}} {{2}} to {{3}}" +msgstr "Vous avez envoyé {{1}} {{2}} à {{3}}" + +#: src/jade/notification/account.jade:11 +msgid "{{tx.counterparty | rpcontactname}} sent you" +msgstr "{{tx.counterparty | rpcontactname}} vous a envoyé" + +#: src/jade/notification/account.jade:18 +msgid "{{tx.counterparty | rpcontactname}} now trusts you for" +msgstr "{{tx.counterparty | rpcontactname}} vous fait maintenant confiance pour" + +#: src/jade/popup/modifyOrderError.jade:2 +msgid "Modify Order Error" +msgstr "" + +#: src/jade/popup/modifyOrderError.jade:4 +msgid "Sorry, your order could not be modified." +msgstr "" + +#: src/jade/popup/modifyOrderError.jade:5 +msgid "" +"Your original order was cancelled but the modified order was not placed. " +"
" +msgstr "" + +#: src/jade/popup/modifyOrderError.jade:6 +msgid "" +"The quantity of your order changed by {{order.qtyChangeAfterCancel | " +"rpamount}} before the order could be modified.

" +msgstr "" + +#: src/jade/popup/modifyOrderError.jade:7 +msgid "" +"To safeguard against the possibility of overfills a new order has not been " +"placed.
" +msgstr "" + +#: src/jade/popup/modifyOrderError.jade:8 +msgid "" +"Please check your balance and history before placing the new order manually." +"
" +msgstr "" + +#: src/jade/popup/modifyOrderError.jade:10 src/jade/popup/unlock.jade:17 +msgid "Close" +msgstr "Fermer" + +#: src/jade/popup/unlock.jade:2 +msgid "Unlock account" +msgstr "Déverrouiller le compte" + +#: src/jade/popup/unlock.jade:5 src/jade/tabs/login/form.jade:8 +#: src/jade/tabs/recover.jade:38 src/jade/tabs/register.jade:58 +#: src/jade/tabs/security.jade:12 +msgid "Password" +msgstr "Mot de passe" + +#: src/jade/popup/unlock.jade:8 +msgid "Please enter your password to show your secret key." +msgstr "Veuillez entrer votre mot de passe pour afficher votre clé secrète." + +#: src/jade/popup/unlock.jade:9 src/jade/tabs/send.jade:205 +msgid "Please enter your password to confirm this transaction." +msgstr "Veuillez entrer votre mot de passe pour confirmer cette transaction." + +#: src/jade/popup/unlock.jade:10 +msgid "This password is incorrect, please try again." +msgstr "Ce mot de passe est incorrect, veuillez réessayer." + +#: src/jade/popup/unlock.jade:13 +msgid "Confirming password" +msgstr "Confirmation du mot de passe" + +#: src/jade/popup/unlock.jade:16 src/jade/tabs/account/public.jade:44 +#: src/jade/tabs/security.jade:146 +msgid "Submit" +msgstr "Envoyer" + +#: src/jade/tabs/2fa/form.jade:3 +msgid "Country Code" +msgstr "Indicatif du Pays" + +#: src/jade/tabs/2fa/form.jade:6 src/jade/tabs/kyc.jade:162 +msgid "Phone Number" +msgstr "Numéro de téléphone" + +#: src/jade/tabs/_usd.jade:6 src/jade/tabs/apps.jade:5 +#: src/jade/tabs/balance.jade:5 src/jade/tabs/brl.jade:6 +#: src/jade/tabs/btc.jade:9 src/jade/tabs/eur.jade:6 +#: src/jade/tabs/exchange.jade:6 src/jade/tabs/fund.jade:6 +#: src/jade/tabs/gold.jade:6 src/jade/tabs/history.jade:6 +#: src/jade/tabs/jpy.jade:6 src/jade/tabs/kyc.jade:6 src/jade/tabs/mxn.jade:6 +#: src/jade/tabs/send.jade:6 src/jade/tabs/su.jade:5 +#: src/jade/tabs/trade.jade:7 src/jade/tabs/trust.jade:6 +#: src/jade/tabs/usd.jade:6 src/jade/tabs/withdraw.jade:6 +#: src/jade/tabs/xrp.jade:6 +msgid "You have to be online to see this screen" +msgstr "Vous devez être connecté pour visualiser cette page" + +#: src/jade/tabs/_usd.jade:17 +msgid "USD instant deposit" +msgstr "Dépôt instantané USD" + +#: src/jade/tabs/_usd.jade:19 src/jade/tabs/_usd.jade:21 +msgid "Step 1 (Amount)" +msgstr "Étape 1 (Montant)" + +#: src/jade/tabs/_usd.jade:22 +msgid "Step 2 (Confirmation)" +msgstr "Étape 2 (Confirmation)" + +#: src/jade/tabs/_usd.jade:23 +msgid "Step 3 (Complete deposit)" +msgstr "Étape 3 (Finaliser le dépôt)" + +#: src/jade/tabs/_usd.jade:26 +msgid "STEP 1: AMOUNT" +msgstr "ÉTAPE 1: MONTANT" + +#: src/jade/tabs/_usd.jade:28 +msgid "STEP 2: CONFIRMATION" +msgstr "ÉTAPE 2: CONFIRMATION" + +#: src/jade/tabs/_usd.jade:30 +msgid "STEP 3: COMPLETE DEPOSIT" +msgstr "ÉTAPE 3: FINALISER LE DÉPÔT" + +#: src/jade/tabs/_usd.jade:34 +msgid "" +"Success! You've completed your USD deposit. Your funds should be available " +"within a few minutes." +msgstr "Succès! Vous avez effectué votre dépôt USD. Vos fonds devraient être disponibles d'ici quelques minutes." + +#: src/jade/tabs/_usd.jade:36 +msgid "You cancelled your deposit." +msgstr "Vous avez annulé votre dépôt." + +#: src/jade/tabs/_usd.jade:38 +msgid "" +"Your deposit failed. Your bank account was not charged. Please contact " +"{{1}}." +msgstr "Votre dépôt a échoué. Votre compte bancaire n'a pas été débité. Merci de contacter {{1}}." + +#: src/jade/tabs/_usd.jade:49 src/jade/tabs/_usd.jade:91 +#: src/jade/tabs/fund.jade:41 src/jade/tabs/history.jade:172 +#: src/jade/tabs/trust.jade:89 +msgid "Amount" +msgstr "Montant" + +#: src/jade/tabs/_usd.jade:59 src/jade/tabs/_usd.jade:62 +msgid "Select your bank" +msgstr "Sélectionnez votre banque" + +#: src/jade/tabs/_usd.jade:77 +msgid "" +"Ripple Trade has partnered with SnapSwap to make USD deposits easier. By " +"continuing, you agree to SnapSwap's {{1}}To contact support, email {{2}}." +msgstr "Ripple Trade a établi un partenariat avec SnapSwap pour faciliter les dépôts USD. En continuant, vous acceptez les {{1}} de SnapSwap. Pour contacter le support, email {{2}}." + +#: src/jade/tabs/_usd.jade:93 src/jade/tabs/history.jade:178 +msgid "Fee" +msgstr "Frais" + +#: src/jade/tabs/_usd.jade:95 +msgid "Total" +msgstr "Total" + +#: src/jade/tabs/_usd.jade:98 +msgid "Calculating..." +msgstr "Calcul en cours..." + +#: src/jade/tabs/_usd.jade:109 src/jade/tabs/register.jade:126 +#: src/jade/tabs/register.jade:133 +msgid "Back" +msgstr "Retour" + +#: src/jade/tabs/_usd.jade:111 src/jade/tabs/btc.jade:73 +#: src/jade/tabs/exchange.jade:111 src/jade/tabs/send.jade:213 +#: src/jade/tabs/trade.jade:67 src/jade/tabs/trade.jade:77 +#: src/jade/tabs/trade.jade:248 src/jade/tabs/trade.jade:407 +#: src/jade/tabs/trust.jade:140 +msgid "Confirm" +msgstr "Confirmer" + +#: src/jade/tabs/account/navbar.jade:2 +msgid "Public Information" +msgstr "Informations publiques" + +#: src/jade/tabs/account/private.jade:1 +msgid "Profile Information" +msgstr "Informations sur le profil" + +#: src/jade/tabs/account/private.jade:3 +msgid "Identity Information" +msgstr "Informations sur l'identité" + +#: src/jade/tabs/account/private.jade:8 src/jade/tabs/account/private.jade:17 +msgid "Completed" +msgstr "Terminé" + +#: src/jade/tabs/account/private.jade:9 src/jade/tabs/account/private.jade:18 +msgid "Incomplete" +msgstr "Incomplet" + +#: src/jade/tabs/account/private.jade:10 src/jade/tabs/account/private.jade:19 +msgid "Complete your profile" +msgstr "Complétez votre profil" + +#: src/jade/tabs/account/private.jade:12 +msgid "Identity Questions" +msgstr "Questions sur l'identité" + +#: src/jade/tabs/account/public.jade:1 +msgid "Changing your Ripple name..." +msgstr "Modification de votre nom Ripple..." + +#: src/jade/tabs/account/public.jade:2 +msgid "Your Ripple name has been changed successfully." +msgstr "Votre nom Ripple a été changé avec succès." + +#: src/jade/tabs/account/public.jade:3 +msgid "Account settings" +msgstr "Paramètres de compte" + +#: src/jade/tabs/account/public.jade:5 src/jade/tabs/fund/menu.jade:2 +#: src/jade/tabs/login/form.jade:3 +msgid "Ripple name" +msgstr "Nom Ripple" + +#: src/jade/tabs/account/public.jade:9 src/jade/tabs/advanced.jade:27 +#: src/jade/tabs/advanced.jade:44 src/jade/tabs/advanced.jade:63 +#: src/jade/tabs/advanced.jade:86 src/jade/tabs/advanced.jade:134 +#: src/jade/tabs/contacts.jade:61 src/jade/tabs/security.jade:120 +#: src/jade/tabs/security.jade:180 src/jade/tabs/trust.jade:191 +#: src/jade/tabs/trust.jade:193 +msgid "edit" +msgstr "éditer" + +#: src/jade/tabs/account/public.jade:12 +msgid "New Ripple name" +msgstr "Nouveau nom Ripple" + +#: src/jade/tabs/account/public.jade:17 src/jade/tabs/register.jade:35 +#: src/jade/tabs/widgets/balances.jade:24 +msgid "Available" +msgstr "Disponible" + +#: src/jade/tabs/account/public.jade:20 src/jade/tabs/register.jade:39 +msgid "Already taken!" +msgstr "Déjà pris!" + +#: src/jade/tabs/account/public.jade:21 +msgid "Reserved for {{usernameReservedFor}}{{1}}{{2}}" +msgstr "Réservé pour {{usernameReservedFor}}{{1}}{{2}}" + +#: src/jade/tabs/account/public.jade:24 src/jade/tabs/register.jade:45 +msgid "Must be at least 2 characters" +msgstr "Doit être d'au moins 2 caractères" + +#: src/jade/tabs/account/public.jade:25 src/jade/tabs/register.jade:47 +msgid "Must be at most 20 characters" +msgstr "Doit être au plus de 20 caractères" + +#: src/jade/tabs/account/public.jade:26 +msgid "Only a-z, 0-9 and hyphen (-)" +msgstr "Seulement a-z, 0-9 et tiret (-)" + +#: src/jade/tabs/account/public.jade:27 src/jade/tabs/register.jade:51 +msgid "Cannot start with hyphen (-)" +msgstr "Ne peut pas commencer par un tiret (-)" + +#: src/jade/tabs/account/public.jade:28 src/jade/tabs/register.jade:53 +msgid "Cannot end with hyphen (-)" +msgstr "Ne peut pas se terminer par un tiret (-)" + +#: src/jade/tabs/account/public.jade:29 +msgid "Cannot bundle hyphens (--)" +msgstr "Vous ne pouvez pas regrouper des tirets (--)" + +#: src/jade/tabs/account/public.jade:30 src/jade/tabs/register.jade:56 +msgid "Checking..." +msgstr "Vérification..." + +#: src/jade/tabs/account/public.jade:32 src/jade/tabs/security.jade:126 +msgid "Current password" +msgstr "Mot de passe actuel" + +#: src/jade/tabs/account/public.jade:35 src/jade/tabs/security.jade:18 +#: src/jade/tabs/security.jade:23 +msgid "Entered password is wrong." +msgstr "Le mot de passe entré est erroné." + +#: src/jade/tabs/account/public.jade:37 +msgid "Your Ripple name has been changed. Please login again." +msgstr "Votre nom de Ripple a été changé. Veuillez vous connecter à nouveau." + +#: src/jade/tabs/account/public.jade:39 +msgid "Couldn't change your Ripple name, please try again later." +msgstr "Impossible de changer votre nom Ripple, veuillez réessayer ultérieurement." + +#: src/jade/tabs/account/public.jade:47 src/jade/tabs/advanced.jade:36 +#: src/jade/tabs/advanced.jade:53 src/jade/tabs/advanced.jade:77 +#: src/jade/tabs/advanced.jade:94 src/jade/tabs/advanced.jade:124 +#: src/jade/tabs/btc.jade:74 src/jade/tabs/contacts.jade:50 +#: src/jade/tabs/contacts.jade:93 src/jade/tabs/exchange.jade:113 +#: src/jade/tabs/exchange.jade:126 src/jade/tabs/kyc.jade:116 +#: src/jade/tabs/kyc.jade:131 src/jade/tabs/kyc.jade:156 +#: src/jade/tabs/kyc.jade:157 src/jade/tabs/kyc.jade:186 +#: src/jade/tabs/login/form.jade:26 src/jade/tabs/security.jade:79 +#: src/jade/tabs/security.jade:112 src/jade/tabs/security.jade:149 +#: src/jade/tabs/send.jade:215 src/jade/tabs/send.jade:227 +#: src/jade/tabs/send.jade:252 src/jade/tabs/send.jade:286 +#: src/jade/tabs/trade.jade:55 src/jade/tabs/trust.jade:141 +#: src/jade/tabs/trust.jade:143 src/jade/tabs/trust.jade:213 +#: src/jade/tabs/trust.jade:251 +msgid "cancel" +msgstr "annuler" + +#: src/jade/tabs/account/public.jade:49 +msgid "Ripple address" +msgstr "Adresse Ripple" + +#: src/jade/tabs/advanced.jade:8 +msgid "Your blob vault has been changed successfully." +msgstr "" + +#: src/jade/tabs/advanced.jade:9 +msgid "Your bitcoin bridge has been changed successfully." +msgstr "" + +#: src/jade/tabs/advanced.jade:10 +msgid "Trustline advanced settings has been changed successfully." +msgstr "" + +#: src/jade/tabs/advanced.jade:11 +msgid "Maximum network fee has been changed successfully." +msgstr "" + +#: src/jade/tabs/advanced.jade:12 +msgid "A new server has been successfully added." +msgstr "Un nouveau serveur a été ajouté avec succès." + +#: src/jade/tabs/advanced.jade:13 +msgid "A server has been successfully removed." +msgstr "Un serveur a été supprimé avec succès." + +#: src/jade/tabs/advanced.jade:14 +msgid "A server has been changed successfully." +msgstr "Un serveur a été modifié avec succès." + +#: src/jade/tabs/advanced.jade:21 +msgid "Blob vault" +msgstr "Blob vault" + +#: src/jade/tabs/advanced.jade:32 src/jade/tabs/advanced.jade:49 +#: src/jade/tabs/advanced.jade:73 src/jade/tabs/advanced.jade:92 +#: src/jade/tabs/advanced.jade:120 src/jade/tabs/contacts.jade:88 +#: src/jade/tabs/fund.jade:65 src/jade/tabs/security.jade:190 +#: src/jade/tabs/send.jade:251 src/jade/tabs/send.jade:284 +#: src/jade/tabs/trust.jade:119 src/jade/tabs/trust.jade:232 +msgid "Save" +msgstr "Sauvegarder" + +#: src/jade/tabs/advanced.jade:34 src/jade/tabs/advanced.jade:51 +#: src/jade/tabs/advanced.jade:75 src/jade/tabs/advanced.jade:122 +#: src/jade/tabs/contacts.jade:91 src/jade/tabs/security.jade:198 +msgid "Delete" +msgstr "Supprimer" + +#: src/jade/tabs/advanced.jade:38 +msgid "Bitcoin bridge" +msgstr "Pont Bitcoin" + +#: src/jade/tabs/advanced.jade:55 +msgid "Trust line" +msgstr "Ligne de confiance" + +#: src/jade/tabs/advanced.jade:60 src/jade/tabs/advanced.jade:71 +#: src/jade/tabs/security.jade:162 +msgid "Show" +msgstr "Afficher" + +#: src/jade/tabs/advanced.jade:61 src/jade/tabs/security.jade:163 +msgid "Hide" +msgstr "Masquer" + +#: src/jade/tabs/advanced.jade:78 +msgid "Network settings" +msgstr "Paramètres réseau" + +#: src/jade/tabs/advanced.jade:80 +msgid "Maximum network fee" +msgstr "Frais de réseau maximum" + +#: src/jade/tabs/advanced.jade:96 +msgid "Server settings" +msgstr "Paramètres serveur" + +#: src/jade/tabs/advanced.jade:101 +msgid "WebSocket host name" +msgstr "Nom d'hôte WebSocket" + +#: src/jade/tabs/advanced.jade:103 +msgid "Port number" +msgstr "Numéro de port" + +#: src/jade/tabs/advanced.jade:109 +msgid "Socket ip or hostname is invalid." +msgstr "Socket ip ou nom d'hôte invalide." + +#: src/jade/tabs/advanced.jade:111 +msgid "Port number is invalid." +msgstr "Numéro de port invalide." + +#: src/jade/tabs/advanced.jade:118 src/jade/tabs/advanced.jade:131 +msgid "Secure" +msgstr "Sécurisé" + +#: src/jade/tabs/advanced.jade:132 +msgid "Not Secure" +msgstr "Non sécurisé" + +#: src/jade/tabs/advanced.jade:138 +msgid "Add new server" +msgstr "Ajouter un nouveau serveur" + +#: src/jade/tabs/apps.jade:27 +msgid "App Ripple Address" +msgstr "" + +#: src/jade/tabs/apps.jade:29 +msgid "Please enter a ripple address." +msgstr "Veuillez entrer une adresse ripple." + +#: src/jade/tabs/apps.jade:31 +msgid "Please enter a valid ripple address." +msgstr "Veuillez entrer une adresse ripple valide." + +#: src/jade/tabs/banner/announcement.jade:2 +msgid "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" +msgstr "Aider notre équipe à améliorer Ripple Trade! {{1:Remplir un court sondage.}}" + +#: src/jade/tabs/banner/unfunded.jade:2 +msgid "" +"Welcome to Ripple Trade! Your account needs to be activated. You can " +"activate it in 2 ways:" +msgstr "Bienvenue sur Ripple Trade! Votre compte doit être activé. Vous pouvez l'activer de 2 façons:" + +#: src/jade/tabs/banner/unfunded.jade:4 +msgid "" +"Have another user send XRP to your Ripple name " +"(~{{userCredentials.username}}). {{1}}" +msgstr "Un autre utilisateur peut vous envoyer des XRP à votre nom Ripple (~{{userCredentials.username}}). {{1}}" + +#: src/jade/tabs/brl.jade:24 src/jade/tabs/eur.jade:24 +#: src/jade/tabs/gold.jade:24 src/jade/tabs/jpy.jade:24 +#: src/jade/tabs/mxn.jade:24 src/jade/tabs/trust.jade:42 +#: src/jade/tabs/usd.jade:24 +msgid "There was an error while saving your changes." +msgstr "Il y a eu une erreur lors de l'enregistrement de vos modifications." + +#: src/jade/tabs/brl.jade:28 src/jade/tabs/eur.jade:27 +#: src/jade/tabs/gold.jade:27 src/jade/tabs/jpy.jade:28 +#: src/jade/tabs/mxn.jade:28 src/jade/tabs/trust.jade:45 +#: src/jade/tabs/usd.jade:27 +msgid "You must have at least {{1}} to add a new trust line. {{2}}" +msgstr "Vous devez avoir au moins {{1}} pour ajouter une nouvelle ligne de confiance. {{2}}" + +#: src/jade/tabs/brl.jade:38 +msgid "Brazilian Real Deposit" +msgstr "Dépôt de Real brésilien" + +#: src/jade/tabs/brl.jade:41 src/jade/tabs/btc.jade:35 +#: src/jade/tabs/eur.jade:38 src/jade/tabs/gold.jade:40 +#: src/jade/tabs/jpy.jade:41 src/jade/tabs/mxn.jade:41 +#: src/jade/tabs/trust.jade:167 src/jade/tabs/usd.jade:38 +msgid "Gateway" +msgstr "Passerelle" + +#: src/jade/tabs/brl.jade:42 src/jade/tabs/eur.jade:48 +#: src/jade/tabs/mxn.jade:81 src/jade/tabs/mxn.jade:93 +#: src/jade/tabs/mxn.jade:103 src/jade/tabs/security.jade:49 +msgid "{{1}}{{2}}" +msgstr "{{1}}{{2}}" + +#: src/jade/tabs/brl.jade:43 +msgid "Ripple (~rippex)" +msgstr "Ripple (~rippex)" + +#: src/jade/tabs/brl.jade:46 src/jade/tabs/btc.jade:39 +#: src/jade/tabs/eur.jade:44 src/jade/tabs/gold.jade:44 +#: src/jade/tabs/jpy.jade:45 src/jade/tabs/mxn.jade:46 +#: src/jade/tabs/usd.jade:44 +msgid "Availability" +msgstr "Disponibilité" + +#: src/jade/tabs/brl.jade:47 +msgid "Brazil" +msgstr "Brésil" + +#: src/jade/tabs/brl.jade:49 src/jade/tabs/btc.jade:42 +#: src/jade/tabs/eur.jade:47 src/jade/tabs/gold.jade:47 +#: src/jade/tabs/jpy.jade:48 src/jade/tabs/mxn.jade:49 +#: src/jade/tabs/usd.jade:47 +msgid "Fees" +msgstr "Frais" + +#: src/jade/tabs/brl.jade:50 src/jade/tabs/jpy.jade:49 +#: src/jade/tabs/kyc.jade:111 src/jade/tabs/kyc.jade:126 +#: src/jade/tabs/kyc.jade:151 +msgid "{{1}}{{2}}{{3}}" +msgstr "{{1}}{{2}}{{3}}" + +#: src/jade/tabs/brl.jade:51 +msgid "Deposit: 1.50 BRL + 0.5%" +msgstr "Dépôt: 1.50 BRL + 0.5%" + +#: src/jade/tabs/brl.jade:52 +msgid "Transfer: 0%" +msgstr "Transfert: 0%" + +#: src/jade/tabs/brl.jade:56 src/jade/tabs/btc.jade:45 +#: src/jade/tabs/eur.jade:53 src/jade/tabs/gold.jade:50 +#: src/jade/tabs/jpy.jade:54 src/jade/tabs/mxn.jade:52 +#: src/jade/tabs/usd.jade:50 +msgid "Rating" +msgstr "Évaluation" + +#: src/jade/tabs/brl.jade:62 +msgid "" +"Ripple Trade has partnered with Rippex to provide easy access to BRL. By " +"continuing, you agree with Rippex's {{1}}Following this action will enable " +"Rippex to hold BRL on your behalf." +msgstr "" + +#: src/jade/tabs/brl.jade:69 +msgid "Add Rippex" +msgstr "Ajouter Rippex" + +#: src/jade/tabs/brl.jade:70 +msgid "Adding..." +msgstr "Ajout..." + +#: src/jade/tabs/brl.jade:71 src/jade/tabs/eur.jade:65 +#: src/jade/tabs/jpy.jade:64 src/jade/tabs/usd.jade:62 +msgid "Hide instructions" +msgstr "Masquer les instructions" + +#: src/jade/tabs/brl.jade:72 src/jade/tabs/eur.jade:66 +#: src/jade/tabs/jpy.jade:65 src/jade/tabs/usd.jade:63 +msgid "Show instructions" +msgstr "Afficher les instructions" + +#: src/jade/tabs/brl.jade:75 src/jade/tabs/btc.jade:83 +msgid "{{1}}Not connected" +msgstr "{{1}}Non connecté" + +#: src/jade/tabs/brl.jade:78 src/jade/tabs/btc.jade:86 +msgid "{{1}}Connected" +msgstr "{{1}}Connecté" + +#: src/jade/tabs/brl.jade:81 src/jade/tabs/eur.jade:71 +#: src/jade/tabs/gold.jade:73 src/jade/tabs/jpy.jade:74 +#: src/jade/tabs/mxn.jade:76 src/jade/tabs/usd.jade:68 +msgid "Your account has to be activated before you can add a gateway account." +msgstr "Votre compte doit être activé avant de pouvoir ajouter un compte de passerelle." + +#: src/jade/tabs/brl.jade:84 src/jade/tabs/eur.jade:75 +#: src/jade/tabs/gold.jade:76 src/jade/tabs/jpy.jade:77 +#: src/jade/tabs/mxn.jade:79 src/jade/tabs/usd.jade:72 +msgid "×" +msgstr "×" + +#: src/jade/tabs/brl.jade:85 +msgid "NEW CUSTOMERS- SIGN UP AT RIPPEX" +msgstr "NOUVEAUX CLIENTS- INSCRIVEZ-VOUS SUR RIPPEX" + +#: src/jade/tabs/brl.jade:86 +msgid "" +"{{1}} at Rippex.net to initiate deposits and withdrawals. You will " +"need:{{2}}" +msgstr "" + +#: src/jade/tabs/brl.jade:90 +msgid "A {{1}}" +msgstr "" + +#: src/jade/tabs/brl.jade:92 +msgid "A bank account in Brazil." +msgstr "Un compte bancaire au Brésil." + +#: src/jade/tabs/brl.jade:96 +msgid "EXISTING RIPPEX CUSTOMERS" +msgstr "CLIENTS ACTUELS DE RIPPEX" + +#: src/jade/tabs/brl.jade:97 +msgid "If you have a Rippex account, {{1}}" +msgstr "" + +#: src/jade/tabs/brl.jade:100 +msgid "DEPOSIT INSTRUCTIONS" +msgstr "INSTRUCTIONS DE DÉPÔT" + +#: src/jade/tabs/brl.jade:101 +msgid "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" +msgstr "" + +#: src/jade/tabs/btc.jade:19 +msgid "Success! You can deposit BTC via your generated BTC receiving address." +msgstr "" + +#: src/jade/tabs/btc.jade:21 +msgid "There was an error with your request. {{1}}" +msgstr "Il y a eu une erreur avec votre demande. {{1}}" + +#: src/jade/tabs/btc.jade:30 +msgid "Bitcoin Deposit" +msgstr "Dépôt de Bitcoin" + +#: src/jade/tabs/btc.jade:36 +msgid "btc2ripple (~snapswap) {{1}}" +msgstr "btc2ripple (~snapswap) {{1}}" + +#: src/jade/tabs/btc.jade:40 src/jade/tabs/gold.jade:45 +#: src/jade/tabs/jpy.jade:46 +msgid "All countries" +msgstr "Tous les pays" + +#: src/jade/tabs/btc.jade:43 src/jade/tabs/mxn.jade:50 +msgid "0%" +msgstr "0%" + +#: src/jade/tabs/btc.jade:50 +msgid "" +"Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By" +" proceeding, you agree to the btc2ripple {{1}} Following this action will " +"allow btc2ripple to hold BTC on your behalf." +msgstr "" + +#: src/jade/tabs/btc.jade:56 +msgid "Add btc2ripple" +msgstr "Ajouter btc2ripple" + +#: src/jade/tabs/btc.jade:60 src/jade/tabs/security.jade:64 +#: src/jade/tabs/trust.jade:123 +msgid "Connect" +msgstr "Relier" + +#: src/jade/tabs/btc.jade:62 +msgid "btc2ripple would like to:" +msgstr "btc2ripple aimerait:" + +#: src/jade/tabs/btc.jade:64 +msgid "- Receive your email address {{1}}" +msgstr "" + +#: src/jade/tabs/btc.jade:65 +msgid "({{userBlob.data.email}})" +msgstr "({{userBlob.data.email}})" + +#: src/jade/tabs/btc.jade:66 +msgid "- Hold deposited BTC on your behalf" +msgstr "- Conserve les BTC déposés en votre nom" + +#: src/jade/tabs/btc.jade:67 +msgid "By proceeding, you agree to the btc2ripple {{1}}" +msgstr "En continuant, vous consentez aux {{1}} de btc2ripple" + +#: src/jade/tabs/btc.jade:75 +msgid "" +"SnapSwap's btc2ripple service is currently unavailable. Please check back " +"later." +msgstr "Le service SnapSwap's btc2ripple est actuellement indisponible. Veuillez réessayer ultérieurement." + +#: src/jade/tabs/btc.jade:94 +msgid "Personal Deposit address" +msgstr "Adresse de dépôt personnelle" + +#: src/jade/tabs/btc.jade:96 +msgid "Your account is fully verified." +msgstr "Votre compte est entièrement vérifié." + +#: src/jade/tabs/btc.jade:104 +msgid "Withdrawal instructions" +msgstr "Instructions de retrait" + +#: src/jade/tabs/btc.jade:105 +msgid "" +"To withdraw to a BTC address, go to the Send tab and enter the BTC address. " +"Using the btc2ripple service, you will be able tosend to that BTC address." +msgstr "" + +#: src/jade/tabs/btc.jade:110 +msgid "Waiting for response from SnapSwap service..." +msgstr "En attente de réponse du service SnapSwap..." + +#: src/jade/tabs/btc.jade:112 +msgid "" +"To deposit, generate a bitcoin receiving address using the {{1}} service " +"powered by SnapSwap." +msgstr "Pour déposer, générez une adresse de réception bitcoin en utilisant le {{1}} service fourni par SnapSwap." + +#: src/jade/tabs/contacts.jade:8 +msgid "A new contact has been successfully added." +msgstr "Un nouveau contact a été correctement ajouté." + +#: src/jade/tabs/contacts.jade:9 +msgid "Your contact has been successfully updated." +msgstr "Votre contact a été mis à jour avec succès." + +#: src/jade/tabs/contacts.jade:10 +msgid "A contact has been successfully removed." +msgstr "Un contact a été supprimé avec succès." + +#: src/jade/tabs/contacts.jade:12 src/jade/tabs/contacts.jade:24 +msgid "Contact" +msgstr "Contact" + +#: src/jade/tabs/contacts.jade:13 src/jade/tabs/contacts.jade:32 +msgid "Ripple name or address" +msgstr "Nom Ripple ou adresse" + +#: src/jade/tabs/contacts.jade:15 src/jade/tabs/contacts.jade:19 +#: src/jade/tabs/contacts.jade:48 +msgid "Add contact" +msgstr "Ajouter un contact" + +#: src/jade/tabs/contacts.jade:27 src/jade/tabs/send.jade:245 +#: src/jade/tabs/send.jade:277 +msgid "Please enter a contact." +msgstr "Veuillez entrer un contact." + +#: src/jade/tabs/contacts.jade:28 +msgid "This contact already exists." +msgstr "Ce contact existe déjà." + +#: src/jade/tabs/contacts.jade:36 +msgid "Please enter a Ripple name." +msgstr "Veuillez entrer un nom de Ripple." + +#: src/jade/tabs/contacts.jade:37 src/jade/tabs/contacts.jade:45 +msgid "" +"You already have a contact with the same Ripple name and/or the same " +"Destination tag." +msgstr "Vous avez déjà un contact avec le même nom Ripple et/ou la même étiquette de destination." + +#: src/jade/tabs/contacts.jade:38 +msgid "Not a valid Ripple name or address." +msgstr "Pas un nom Ripple ou une adresse valide." + +#: src/jade/tabs/contacts.jade:41 src/jade/tabs/contacts.jade:81 +#: src/jade/tabs/send.jade:42 src/jade/tabs/tx.jade:56 +msgid "Destination tag" +msgstr "Étiquette de destination" + +#: src/jade/tabs/contacts.jade:42 +msgid "Leave blank if not applicable" +msgstr "Laissez vide si non applicable" + +#: src/jade/tabs/contacts.jade:44 src/jade/tabs/send.jade:46 +msgid "Invalid destination tag" +msgstr "Étiquette de destination invalide" + +#: src/jade/tabs/contacts.jade:72 +msgid "You already have a contact with the same name." +msgstr "Vous avez déjà un contact avec le même nom." + +#: src/jade/tabs/contacts.jade:78 +msgid "You already have this address." +msgstr "Vous avez déjà cette adresse." + +#: src/jade/tabs/contacts.jade:79 src/jade/tabs/debug.jade:14 +msgid "Not a valid address." +msgstr "Cette adresse n'est pas valide." + +#: src/jade/tabs/contacts.jade:84 +msgid "Invalid destination tag." +msgstr "Étiquette de destination invalide." + +#: src/jade/tabs/contacts.jade:94 +msgid "" +"You don't have any contacts yet. Click on 'Add contact' button in the top " +"right corner to add a new contact." +msgstr "Vous n'avez pas encore de contacts. Cliquez sur le bouton \"Ajouter un contact\" dans le coin en haut à droite pour ajouter un nouveau contact." + +#: src/jade/tabs/debug.jade:9 +msgid "Enter a Ripple name or address" +msgstr "Entrez un nom Ripple ou adresse" + +#: src/jade/tabs/debug.jade:13 +msgid "Please enter an address." +msgstr "Veuillez entrer une adresse." + +#: src/jade/tabs/debug.jade:17 +msgid "Turn on debug mode" +msgstr "Activer le mode debug" + +#: src/jade/tabs/eur.jade:35 +msgid "Euro Deposit" +msgstr "Dépôt en Euro" + +#: src/jade/tabs/eur.jade:39 +msgid "SnapSwap EU (~SnapSwap){{1}}{{2}}" +msgstr "SnapSwap EU (~SnapSwap){{1}}{{2}}" + +#: src/jade/tabs/eur.jade:45 +msgid "All countries, except USA" +msgstr "Tous les pays sauf USA" + +#: src/jade/tabs/eur.jade:49 +msgid "€ 0.31 – € 15.00" +msgstr "€ 0.31 – € 15.00" + +#: src/jade/tabs/eur.jade:59 +msgid "" +"Ripple Trade has partnered with SnapSwap to provide easier access to EUR. " +"Following this action will enable SnapSwap to hold EUR on your behalf." +msgstr "" + +#: src/jade/tabs/eur.jade:69 src/jade/tabs/usd.jade:66 +msgid "Not connected" +msgstr "Non connecté" + +#: src/jade/tabs/eur.jade:70 src/jade/tabs/usd.jade:67 +msgid "Connected" +msgstr "Connecté" + +#: src/jade/tabs/eur.jade:76 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.EU" +msgstr "NOUVEAUX CLIENTS- INSCRIVEZ-VOUS SUR SNAPSWAP.EU" + +#: src/jade/tabs/eur.jade:77 +msgid "Register and verify your account at SnapSwap EU. You will need: {{1}}" +msgstr "Inscrivez-vous et vérifiez votre compte sur SnapSwap EU. Vous aurez besoin de: {{1}}" + +#: src/jade/tabs/eur.jade:81 src/jade/tabs/usd.jade:78 +msgid "" +"A valid government-issued ID: driver license, passport, ID card, or visa " +"stamp." +msgstr "Une pièce d'identité émise par le gouvernement en cours de validité: permis de conduire, passeport, carte d'identité ou tampon de visa." + +#: src/jade/tabs/eur.jade:83 src/jade/tabs/usd.jade:80 +msgid "A proof of address: driver license, utility bill, bank statement, etc." +msgstr "Un justificatif de domicile: permis de conduire, facture de services publics, relevé bancaire, etc." + +#: src/jade/tabs/eur.jade:85 +msgid "EXISTING SNAPSWAP EU CUSTOMERS" +msgstr "CLIENTS ACTUELS DE SNAPSWAP EU" + +#: src/jade/tabs/eur.jade:89 src/jade/tabs/jpy.jade:94 +#: src/jade/tabs/usd.jade:86 +msgid "Login to your account {{1}}" +msgstr "Connectez-vous à votre compte {{1}}" + +#: src/jade/tabs/eur.jade:92 src/jade/tabs/jpy.jade:96 +msgid "DEPOSITS AND WITHDRAWALS:" +msgstr "DÉPÔTS ET RETRAITS:" + +#: src/jade/tabs/eur.jade:96 +msgid "Deposit from your bank (2-4 business days)" +msgstr "Dépôt auprès de votre banque (2-4 jours ouvrables)" + +#: src/jade/tabs/eur.jade:98 +msgid "Withdraw to your bank account in SEPA (2-4 business days)" +msgstr "Retrait sur votre compte bancaire dans la zone SEPA (2-4 jours ouvrables)" + +#: src/jade/tabs/eur.jade:100 +msgid "Withdraw to SmartyCash Card (instant)" +msgstr "Retrait sur carte SmartyCash (instantané)" + +#: src/jade/tabs/exchange.jade:13 +msgid "You have to be funded before you can exchange money" +msgstr "Vous devez être approvisionné avant de pouvoir échanger de l'argent" + +#: src/jade/tabs/exchange.jade:23 +msgid "Buy (Market Order)" +msgstr "Acheter (Ordre de marché)" + +#: src/jade/tabs/exchange.jade:24 +msgid "" +"Submit a buy order at the current market rate. Orders will execute " +"instantly." +msgstr "" + +# Receive (amount) +#: src/jade/tabs/exchange.jade:27 +msgid "Receive (amount)" +msgstr "Je veux acheter" + +#: src/jade/tabs/exchange.jade:34 src/jade/tabs/widgets/balances.jade:49 +msgid "add gateway" +msgstr "" + +#: src/jade/tabs/exchange.jade:37 src/jade/tabs/send.jade:90 +msgid "Please enter an amount." +msgstr "Veuillez entrer un montant." + +#: src/jade/tabs/exchange.jade:38 src/jade/tabs/send.jade:91 +#: src/jade/tabs/trade.jade:153 src/jade/tabs/trade.jade:168 +#: src/jade/tabs/trade.jade:183 src/jade/tabs/trust.jade:101 +msgid "Not a valid amount." +msgstr "Ce montant n'est pas valide." + +#: src/jade/tabs/exchange.jade:39 +msgid "" +"You are either trying to convert too little or too much XRP.Minimum amount " +"is 0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "Vous tentez de convertir soit trop ou trop peu de XRP. Le montant minimum est de 0.000001 XRP et le montant maximal est de 100 milliards de XRP." + +#: src/jade/tabs/exchange.jade:42 src/jade/tabs/send.jade:96 +#: src/jade/tabs/trust.jade:103 +msgid "Your amount has too many digits. The max number of digits is 16." +msgstr "Votre montant a trop de chiffres. Le nombre maximum de chiffres est de 16." + +#: src/jade/tabs/exchange.jade:43 +msgid "Please enter an amount greater than zero." +msgstr "Veuillez entrer un montant supérieur à zéro." + +#: src/jade/tabs/exchange.jade:46 +msgid "{{1}} Calculating..." +msgstr "{{1}} Calcul en cours..." + +#: src/jade/tabs/exchange.jade:50 +msgid "" +"Cannot convert to {{exchange.amount}} {{exchange.currency_name}}. Please " +"make sure your account has enough funds, and a {{1}} to a " +"{{exchange.currency_name}} gateway." +msgstr "Impossible de convertir vers {{exchange.amount}} {{exchange.currency_name}}. Assurez-vous s'il vous plaît que votre compte a suffisamment de fonds, et une {{1}} vers une passerelle {{exchange.currency_name}}." + +#: src/jade/tabs/exchange.jade:54 +msgid "" +"Sorry! Cannot convert {{exchange.amount}} {{exchange.currency_name}}. Please" +" make sure your account has enough funds." +msgstr "Désolé! Impossible de convertir {{exchange.amount}} {{exchange.currency_name}}. Assurez-vous s'il vous plaît que votre compte a suffisamment de fonds." + +#: src/jade/tabs/exchange.jade:56 src/jade/tabs/send.jade:142 +msgid "Error while calculating path" +msgstr "Une erreur est survenue lors du calcul de chemin" + +#: src/jade/tabs/exchange.jade:60 +msgid "Exchange" +msgstr "Marché" + +#: src/jade/tabs/exchange.jade:72 +msgid "Exchange {{ alt.amount | rpcurrency }} {{1}}" +msgstr "Échanger {{ alt.amount | rpcurrency }} {{1}}" + +#: src/jade/tabs/exchange.jade:78 src/jade/tabs/send.jade:170 +msgid "Paths last updated {{1}} {{2: seconds}} {{3: second}} ago" +msgstr "Dernière mise à jour des chemins il y a {{1}} {{2: secondes}} {{3: seconde}}" + +#: src/jade/tabs/exchange.jade:89 +msgid "Ripple is calculating a path for your conversion." +msgstr "Ripple calcule un chemin pour votre conversion." + +#: src/jade/tabs/exchange.jade:94 +msgid "" +"{{1:You are exchanging}}{{2}}{{3:to}}{{4}}{{5:You will pay at " +"most}}{{6}}{{7:Are you sure?}}" +msgstr "{{1:Vous échangez}}{{2}}{{3:pour}}{{4}}{{5:Vous paierai au plus}}{{6}}{{7:Êtes-vous sûr?}}" + +#: src/jade/tabs/exchange.jade:139 +msgid "Do another conversion" +msgstr "Faire une autre conversion" + +#: src/jade/tabs/exchange.jade:141 src/jade/tabs/send.jade:257 +#: src/jade/tabs/send.jade:291 +msgid "Back to balance" +msgstr "Revenir au solde" + +#: src/jade/tabs/fund.jade:20 +msgid "Add trust" +msgstr "Ajouter une ligne de confiance" + +#: src/jade/tabs/fund.jade:27 src/jade/tabs/send.jade:26 +msgid "Enter a Ripple name or contact" +msgstr "Entrez un nom Ripple ou contact" + +#: src/jade/tabs/fund.jade:33 src/jade/tabs/trust.jade:73 +msgid "Account does not meet the minimum XRP reserve." +msgstr "Le compte ne dispose pas de la réserve de XRP mininum." + +#: src/jade/tabs/fund.jade:36 src/jade/tabs/trust.jade:76 +msgid "Please enter a Ripple name, contact, or address." +msgstr "Veuillez entrer un nom Ripple, un contact ou une adresse." + +#: src/jade/tabs/fund.jade:37 src/jade/tabs/trust.jade:77 +msgid "You've entered your own address." +msgstr "Vous avez entré votre propre adresse." + +#: src/jade/tabs/fund.jade:38 src/jade/tabs/trust.jade:78 +msgid "Please enter a valid Ripple name, contact, or address." +msgstr "Veuillez entrer un nom Ripple, un contact ou une adresse valide." + +#: src/jade/tabs/fund.jade:48 src/jade/tabs/trust.jade:80 +msgid "Amount field is required" +msgstr "Le champ montant est requis" + +#: src/jade/tabs/fund.jade:50 src/jade/tabs/trust.jade:82 +#: src/jade/tabs/trust.jade:105 +msgid "" +"XRP can be sent without extending trust. If you really want to trust in XRP," +" please use XRR currency code." +msgstr "Les XRP peuvent être envoyés sans étendre la confiance. Si vous souhaitez vraiment établir une ligne de confiance en XRP, veuillez utiliser le code de devise XRR." + +#: src/jade/tabs/fund.jade:53 src/jade/tabs/trust.jade:85 +#: src/jade/tabs/trust.jade:108 +msgid "Currency field is required" +msgstr "Le champ devise est requis" + +#: src/jade/tabs/fund.jade:59 src/jade/tabs/fund.jade:60 +#: src/jade/tabs/trust.jade:114 src/jade/tabs/trust.jade:115 +msgid "Allow Rippling" +msgstr "Permettre le Rippling" + +#: src/jade/tabs/fund.jade:60 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"trust. More " +"information" +msgstr "" + +#: src/jade/tabs/fund.jade:63 +msgid "Cancel" +msgstr "Annuler" + +#: src/jade/tabs/fund/menu.jade:3 +msgid "{{1}}XRP" +msgstr "{{1}}XRP" + +#: src/jade/tabs/fund/menu.jade:6 +msgid "Featured gateways" +msgstr "Passerelles preferées" + +#: src/jade/tabs/fund/menu.jade:7 +msgid "{{1}}BRL" +msgstr "{{1}}BRL" + +#: src/jade/tabs/fund/menu.jade:10 +msgid "{{1}}BTC" +msgstr "{{1}}BTC" + +#: src/jade/tabs/fund/menu.jade:13 +msgid "{{1}}EUR" +msgstr "{{1}}EUR" + +#: src/jade/tabs/fund/menu.jade:16 +msgid "{{1}}JPY" +msgstr "{{1}}JPY" + +#: src/jade/tabs/fund/menu.jade:19 +msgid "{{1}}MXN" +msgstr "{{1}}MXN" + +#: src/jade/tabs/fund/menu.jade:22 +msgid "{{1}}USD" +msgstr "{{1}}USD" + +#: src/jade/tabs/fund/menu.jade:25 +msgid "{{1}}XAU" +msgstr "{{1}}XAU" + +#: src/jade/tabs/fund/menu.jade:28 +msgid "Add any gateway" +msgstr "" + +#: src/jade/tabs/fund/menu.jade:30 +msgid "Learn more about gateways" +msgstr "En savoir plus sur les passerelles" + +#: src/jade/tabs/gold.jade:37 +msgid "Gold Deposit" +msgstr "Dépôt d'Or" + +#: src/jade/tabs/gold.jade:41 +msgid "Gold Bullion International (~gbi) {{1}}" +msgstr "Gold Bullion International (~gbi) {{1}}" + +#: src/jade/tabs/gold.jade:48 +msgid "0.5% per year" +msgstr "0.5% par an" + +#: src/jade/tabs/gold.jade:56 +msgid "" +"Ripple Trade has partnered with GBI to provide easy access toXAU. By " +"continuing, you are allowing GBI to hold gold on your behalf." +msgstr "" + +#: src/jade/tabs/gold.jade:67 src/jade/tabs/jpy.jade:68 +#: src/jade/tabs/mxn.jade:70 +msgid "{{1}} Not connected" +msgstr "{{1}} Non connecté" + +#: src/jade/tabs/gold.jade:70 src/jade/tabs/jpy.jade:71 +#: src/jade/tabs/mxn.jade:73 +msgid "{{1}} Connected" +msgstr "{{1}} Connecté" + +#: src/jade/tabs/gold.jade:77 +msgid "Deposit" +msgstr "" + +#: src/jade/tabs/gold.jade:78 +msgid "" +"GBI does not currently support direct deposits. You can {{1}} or {{2}}." +msgstr "" + +#: src/jade/tabs/gold.jade:84 +msgid "Withdrawal" +msgstr "Retrait" + +#: src/jade/tabs/gold.jade:85 +msgid "" +"You can redeem the physical gold in 1 oz increments.To do so, you'll need to" +" {{1}} and arrange to have the gold shipped to you." +msgstr "" + +#: src/jade/tabs/history.jade:11 +msgid "Loading History" +msgstr "Chargement de l'historique" + +#: src/jade/tabs/history.jade:16 +msgid "Your account history is empty" +msgstr "L'historique de votre compte est vide" + +#: src/jade/tabs/history.jade:24 +msgid "Transaction type{{1}}{{2}}" +msgstr "Type de transaction{{1}}{{2}}" + +#: src/jade/tabs/history.jade:37 +msgid "Date{{1}}{{2}}" +msgstr "Date{{1}}{{2}}" + +#: src/jade/tabs/history.jade:42 +msgid "Load history for specific date range" +msgstr "Charger l'historique pour une période spécifique" + +#: src/jade/tabs/history.jade:48 +msgid "From" +msgstr "de" + +#: src/jade/tabs/history.jade:54 +msgid "To" +msgstr "à" + +#: src/jade/tabs/history.jade:57 +msgid "Filter" +msgstr "Filtre" + +#: src/jade/tabs/history.jade:64 +msgid "Date" +msgstr "Date" + +#: src/jade/tabs/history.jade:65 src/jade/tabs/history.jade:170 +msgid "Description" +msgstr "Description" + +#: src/jade/tabs/history.jade:68 src/jade/tabs/history.jade:73 +msgid "Export to CSV" +msgstr "Exporter au format CSV" + +#: src/jade/tabs/history.jade:69 +msgid "Sorry, no transactions match your current filter." +msgstr "Désolé, aucune transaction ne correspond à votre filtre actuel." + +#: src/jade/tabs/history.jade:91 +msgid "You sent{{1}}to{{2}}" +msgstr "Vous avez envoyé{{1}}à{{2}}" + +#: src/jade/tabs/history.jade:97 +msgid "{{1}}sent you{{2}}" +msgstr "{{1}}vous a envoyé{{2}}" + +#: src/jade/tabs/history.jade:103 +msgid "You requested to exchange{{1}}to{{2}}" +msgstr "Vous avez demandé à échanger{{1}}pour{{2}}" + +#: src/jade/tabs/history.jade:109 +msgid "{{1}}now trusts you for{{2}}" +msgstr "{{1}}vous fait maintenant confiance pour{{2}}" + +#: src/jade/tabs/history.jade:122 src/jade/tabs/history/effects.jade:45 +msgid "You created an order to sell{{1}}for{{2}}" +msgstr "Vous avez créé un ordre pour vendre{{1}}pour{{2}}" + +#: src/jade/tabs/history.jade:126 src/jade/tabs/history/effects.jade:49 +msgid "You created an order to buy{{1}}for{{2}}" +msgstr "Vous avez créé un ordre pour acheter{{1}}pour{{2}}" + +#: src/jade/tabs/history.jade:132 +msgid "You cancelled an order accepting {{1}}for{{2}}" +msgstr "Vous avez annulé un ordre acceptant {{1}}pour{{2}}" + +#: src/jade/tabs/history.jade:145 +msgid "Unknown transaction" +msgstr "Transaction inconnue" + +#: src/jade/tabs/history.jade:148 +msgid "" +"The client failed to parse this transaction. The developers have been " +"notified of the issue." +msgstr "Le client n'a pas pu analyser cette transaction. Les développeurs ont été avertis de ce problème." + +#: src/jade/tabs/history.jade:153 +msgid "{{1}} sent you{{2}} and activated your account!" +msgstr "{{1}} vous a envoyé{{2}} et activé votre compte!" + +#: src/jade/tabs/history.jade:160 +msgid "You deposited{{1}} using {{entry.details.app.name}}" +msgstr "Vous avez déposé{{1}} en utilisant {{entry.details.app.name}}" + +#: src/jade/tabs/history.jade:168 +msgid "Balance Changes" +msgstr "Variations du solde" + +#: src/jade/tabs/history.jade:171 +msgid "Issuer" +msgstr "Émetteur" + +#: src/jade/tabs/history.jade:173 +msgid "Final balance" +msgstr "Solde final" + +#: src/jade/tabs/history.jade:176 +msgid "XRP Balance Change" +msgstr "Changement du solde XRP" + +#: src/jade/tabs/history.jade:177 +msgid "{{effect.currency}} Balance Change" +msgstr "{{effect.currency}} Variation du Solde" + +#: src/jade/tabs/history.jade:183 +msgid "Transaction details" +msgstr "Détails de la transaction" + +#: src/jade/tabs/history.jade:184 +msgid "Add {{1}} to contact list" +msgstr "Ajouter {{1}} à votre liste de contacts" + +#: src/jade/tabs/history.jade:189 +msgid "{{1}} Loading more" +msgstr "{{1}} Afficher davantage" + +#: src/jade/tabs/history.jade:192 src/jade/tabs/trade.jade:500 +msgid "Load more" +msgstr "En afficher plus" + +#: src/jade/tabs/history.jade:193 +msgid "No more transactions left" +msgstr "Aucune transaction restante" + +#: src/jade/tabs/history/effects.jade:4 src/jade/tabs/history/effects.jade:19 +msgid "You sold{{1}}for{{2}}" +msgstr "Vous avez vendu{{1}}pour{{2}}" + +#: src/jade/tabs/history/effects.jade:8 src/jade/tabs/history/effects.jade:23 +msgid "You bought{{1}}for{{2}}" +msgstr "Vous avez acheté{{1}}pour{{2}}" + +#: src/jade/tabs/history/effects.jade:13 src/jade/tabs/history/effects.jade:28 +msgid "price" +msgstr "prix" + +#: src/jade/tabs/history/effects.jade:17 +msgid "This order has been filled." +msgstr "Cette ordre a été complété." + +#: src/jade/tabs/history/effects.jade:32 +msgid "The rest of your order has been cancelled due to lack of funds." +msgstr "Le reste de votre ordre a été annulé en raison du manque de fonds." + +#: src/jade/tabs/history/effects.jade:33 +msgid "This order has{{1}}remaining." +msgstr "Cette ordre a{{1}}restant." + +#: src/jade/tabs/history/effects.jade:39 +msgid "Order ({{1}} for {{2}}) has been cancelled due to lack of funds." +msgstr "L'ordre ({{1}} pour {{2}}) a été annulé en raison du manque de fonds." + +#: src/jade/tabs/history/effects.jade:53 +msgid "You bought{{1}}for{{2}}({{3:price}}{{4}})." +msgstr "Vous avez acheté{{1}}pour{{2}}({{3:prix}}{{4}})." + +#: src/jade/tabs/history/effects.jade:68 +msgid "{{1}}is trusting you for{{2}}." +msgstr "{{1}}vous fait confiance pour{{2}}." + +#: src/jade/tabs/history/effects.jade:73 +msgid "You have changed {{1}}trust for{{2}}from{{3}}to{{4}}." +msgstr "Vous avez modifié la confiance {{1}} pour{{2}}de{{3}}à{{4}}." + +#: src/jade/tabs/history/effects.jade:83 +msgid "{{1}}changed the{{2}}trust from{{3}}to{{4}}." +msgstr "{{1}}a modifié la confiance {{2}}de{{3}}à{{4}}." + +#: src/jade/tabs/history/effects.jade:92 +msgid "Trust balance between you and{{1}}has been changed by{{2}}." +msgstr "Le solde de confiance entre vous et{{1}}a été modifié par{{2}}." + +#: src/jade/tabs/history/effects.jade:99 +msgid "Your balance has been changed by{{1}}." +msgstr "Votre solde a été changé de{{1}}." + +#: src/jade/tabs/jpy.jade:38 +msgid "Japanese Yen Deposit" +msgstr "Dépôt de Yen japonais" + +#: src/jade/tabs/jpy.jade:42 +msgid "Tokyo JPY Issuer (~tokyojpy) {{1}}" +msgstr "" + +#: src/jade/tabs/jpy.jade:59 +msgid "" +"Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to" +" JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your" +" behalf." +msgstr "" + +#: src/jade/tabs/jpy.jade:78 +msgid "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" +msgstr "NOUVEAUX CLIENTS- INSCRIVEZ-VOUS SUR TOKYO JPY ISSUER" + +#: src/jade/tabs/jpy.jade:79 +msgid "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" +msgstr "" + +#: src/jade/tabs/jpy.jade:84 +msgid "A valid government-issued ID." +msgstr "Une pièce d'identité valide émise par le gouvernement." + +#: src/jade/tabs/jpy.jade:86 +msgid "A proof of address (utility bill, etc)." +msgstr "Un justificatif de domicile (facture de services publics, etc)." + +#: src/jade/tabs/jpy.jade:88 +msgid "A bank account under the same name." +msgstr "Un compte bancaire sous le même nom." + +#: src/jade/tabs/jpy.jade:90 +msgid "EXISTING TOKYO JPY ISSUER CUSTOMERS" +msgstr "CLIENTS ACTUELS DE TOKYO JPY ISSUER" + +#: src/jade/tabs/jpy.jade:100 +msgid "" +"Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details" +" {{1}}" +msgstr "" + +#: src/jade/tabs/jpy.jade:103 +msgid "" +"To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account " +"and then initiate a transfer into your Ripple account." +msgstr "" + +#: src/jade/tabs/jpy.jade:105 +msgid "" +"To withdraw to a bank account, you’ll first send money from your Ripple " +"account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo " +"JPY Issuer site to send to your bank account." +msgstr "" + +#: src/jade/tabs/kyc.jade:14 +msgid "Profile completion is only available to US residents." +msgstr "" + +#: src/jade/tabs/kyc.jade:21 src/jade/tabs/trade.jade:285 +msgid "Verifying your information. Please wait..." +msgstr "Vérification de vos informations. Veuillez patienter..." + +#: src/jade/tabs/kyc.jade:23 +msgid "Your identity information has been verified." +msgstr "Vos informations sur l'identité ont été vérifiées." + +#: src/jade/tabs/kyc.jade:25 +msgid "Your identity questions have been verified." +msgstr "Vos questions sur l'identité ont été vérifiées." + +#: src/jade/tabs/kyc.jade:27 +msgid "" +"Congratulations, you've verified your identity! You will now be redirected " +"back to the instant deposit page." +msgstr "Félicitations, vous avez vérifié votre identité! Vous allez maintenant être redirigé vers la page de dépôt instantané." + +#: src/jade/tabs/kyc.jade:29 +msgid "There was an error with your request. Please try again later." +msgstr "Il y a eu une erreur avec votre demande. Veuillez réessayer ultérieurement." + +#: src/jade/tabs/kyc.jade:31 +msgid "" +"There was an error with your request. Make sure your phone number is valid " +"and try again." +msgstr "Il y a eu une erreur avec votre demande. Assurez-vous que votre numéro de téléphone est valide et réessayez." + +#: src/jade/tabs/kyc.jade:33 +msgid "Please check your verification code and try again." +msgstr "Vérifiez s'il vous plaît votre code de vérification puis réessayez." + +#: src/jade/tabs/kyc.jade:35 +msgid "" +"There was an error while requesting the verification code. Please try again " +"later." +msgstr "Il y a eu une erreur en demandant le code de vérification. Veuillez réessayer ultérieurement." + +#: src/jade/tabs/kyc.jade:37 +msgid "" +"We are unable to validate your identity information. Please check your " +"information and try again." +msgstr "Nous ne pouvons pas valider vos informations d'identité. Veuillez vérifier vos informations et réessayer." + +#: src/jade/tabs/kyc.jade:39 +msgid "" +"We are unable to validate your identity questions. Please check your answers" +" and try again." +msgstr "Nous ne pouvons pas valider vos questions d'identité. Vérifiez vos réponses s'il vous plaît et réessayez." + +#: src/jade/tabs/kyc.jade:41 +msgid "" +"Sorry, you've reached your maximum number of verification attempts. Please " +"try again in 24 hours." +msgstr "" + +#: src/jade/tabs/kyc.jade:43 +msgid "" +"We can't verify your identity. Please contact us at support@ripple.com." +msgstr "Nous ne pouvons pas vérifier votre identité. Contactez-nous s'il vous plaît sur support@ripple.com." + +#: src/jade/tabs/kyc.jade:48 +msgid "Profile Completion" +msgstr "Remplissage du Profil" + +#: src/jade/tabs/kyc.jade:52 +msgid "STEP 1: IDENTITY INFORMATION" +msgstr "ÉTAPE 1: INFORMATIONS SUR L'IDENTITÉ" + +#: src/jade/tabs/kyc.jade:54 +msgid "STEP 2: IDENTITY QUESTIONS" +msgstr "ÉTAPE 2: QUESTIONS SUR L'IDENTITÉ" + +#: src/jade/tabs/kyc.jade:56 +msgid "STEP 3: TWO-FACTOR AUTHENTICATION" +msgstr "ÉTAPE 3: AUTHENTIFICATION À DEUX FACTEURS" + +#: src/jade/tabs/kyc.jade:63 +msgid "First Name" +msgstr "Prénom" + +#: src/jade/tabs/kyc.jade:67 +msgid "Last Name" +msgstr "Nom" + +#: src/jade/tabs/kyc.jade:71 +msgid "Street Address" +msgstr "Rue" + +#: src/jade/tabs/kyc.jade:76 +msgid "City" +msgstr "Ville" + +#: src/jade/tabs/kyc.jade:80 +msgid "State" +msgstr "Région" + +#: src/jade/tabs/kyc.jade:84 +msgid "ZIP" +msgstr "Code Postal" + +#: src/jade/tabs/kyc.jade:88 +msgid "Date of Birth" +msgstr "Date de naissance" + +#: src/jade/tabs/kyc.jade:92 +msgid "Month{{1}}" +msgstr "Mois{{1}}" + +#: src/jade/tabs/kyc.jade:95 +msgid "Day{{1}}" +msgstr "Jour{{1}}" + +#: src/jade/tabs/kyc.jade:98 +msgid "Year{{1}}" +msgstr "Année{{1}}" + +#: src/jade/tabs/kyc.jade:113 +msgid "Continue to identity questions" +msgstr "Continuer aux questions sur l'identité" + +#: src/jade/tabs/kyc.jade:114 src/jade/tabs/kyc.jade:129 +#: src/jade/tabs/kyc.jade:154 src/jade/tabs/kyc.jade:184 +#: src/jade/tabs/login.jade:17 +msgid "Verifying..." +msgstr "Vérification..." + +#: src/jade/tabs/kyc.jade:120 +msgid "{{ q.question }}{{1}}" +msgstr "{{ q.question }}{{1}}" + +#: src/jade/tabs/kyc.jade:123 +msgid "{{ a.answer }}" +msgstr "{{ a.réponse }}" + +#: src/jade/tabs/kyc.jade:128 +msgid "Continue to two-factor authentication" +msgstr "Continuer vers l'authentification à deux facteurs" + +#: src/jade/tabs/kyc.jade:137 +msgid "Two-factor authentication provides extra security for your account." +msgstr "L'authentification à deux facteurs fournit une sécurité supplémentaire pour votre compte." + +#: src/jade/tabs/kyc.jade:145 +msgid "" +"Ripple Trade has partnered with Authy to provide better security for your " +"account.By continuing, you agree to Authy's {{1:Terms of Service}}." +msgstr "Ripple Trade a établi un partenariat avec Authy pour garantir une meilleure sécurité pour votre compte.En continuant, vous acceptez les {{1:Termes de Service}} de Authy." + +#: src/jade/tabs/kyc.jade:153 +msgid "Verify phone number" +msgstr "Vérifier le numéro de téléphone" + +#: src/jade/tabs/kyc.jade:164 +msgid "change" +msgstr "Changer" + +#: src/jade/tabs/kyc.jade:168 +msgid "" +"A verification code has been sent to +{{ currentCountryCode }} {{ " +"phoneNumber }}." +msgstr "Un code de vérification a été envoyé à +{{ currentCountryCode }} {{ phoneNumber }}." + +#: src/jade/tabs/kyc.jade:172 src/jade/tabs/login/form.jade:16 +#: src/jade/tabs/security.jade:97 +msgid "Verification Code" +msgstr "Code de Vérification" + +#: src/jade/tabs/kyc.jade:183 +msgid "Submit code" +msgstr "" + +#: src/jade/tabs/login.jade:4 src/jade/tabs/migrate.jade:4 +#: src/jade/tabs/recover.jade:3 src/jade/tabs/register.jade:5 +#: src/jade/tabs/register.jade:137 src/jade/tabs/register.jade:184 +msgid "Welcome to Ripple Trade" +msgstr "Bienvenue sur Ripple Trade" + +#: src/jade/tabs/login.jade:6 src/jade/tabs/migrate.jade:6 +#: src/jade/tabs/recover.jade:5 src/jade/tabs/register.jade:7 +#: src/jade/tabs/register.jade:139 src/jade/tabs/register.jade:186 +msgid "Trade hundreds of assets, from XRP to crypto to gold to fiat." +msgstr "Échangez des centaines d'actifs, des XRP aux crypto en passant par l'or et les devises." + +#: src/jade/tabs/login.jade:15 src/jade/tabs/login.jade:31 +msgid "Log In" +msgstr "S'identifier" + +#: src/jade/tabs/login.jade:18 +msgid "You have successfully verified your email address." +msgstr "Vous avez vérifié avec succès votre adresse email." + +#: src/jade/tabs/login.jade:19 +msgid "" +"Email verification token is invalid. It has either expired or has been " +"resent. Please check your inbox for the most recent verification email." +msgstr "Le jeton de vérification email est invalide. Il a expiré ou a été renvoyé. Vérifiez s'il vous plaît votre boîte de réception pour l'email de vérification le plus récent." + +#: src/jade/tabs/login.jade:30 +msgid "Logging in" +msgstr "Connexion" + +#: src/jade/tabs/login.jade:34 +msgid "Verify" +msgstr "Vérifier" + +#: src/jade/tabs/login.jade:36 src/jade/tabs/register.jade:114 +msgid "Already have a ripple.com/client account? {{1:Migrate}}" +msgstr "Vous avez déjà un compte ripple.com/client ? {{1:Migrer}}" + +#: src/jade/tabs/login.jade:41 src/jade/tabs/login.jade:42 +#: src/jade/tabs/recover.jade:9 +msgid "Account Recovery" +msgstr "Récupération de compte" + +#: src/jade/tabs/login.jade:49 +msgid "{{1:You're sending money to}}{{2}}." +msgstr "{{1:Vous envoyez de l'argent à}}{{2}}." + +#: src/jade/tabs/login.jade:53 +msgid "{{1:You're sending}}{{2}}{{3: to }}{{4}}." +msgstr "{{1:Vous envoyez}}{{2}}{{3: à }}{{4}}." + +#: src/jade/tabs/login.jade:63 +msgid "" +"{{1:You're connecting to the gateway}}{{2}}{{3:for{{1}}}}{{4:with a limit " +"of{{1}}}}." +msgstr "{{1:Vous vous connectez à la passerelle}}{{2}}{{3:pour{{1}}}}{{4:avec une limite de{{1}}}}." + +#: src/jade/tabs/login.jade:78 +msgid "{{1:You're adding}}{{2}}{{3:to your contacts list}}" +msgstr "{{1:Vous ajoutez}}{{2}}{{3:à votre liste de contacts}}" + +#: src/jade/tabs/login.jade:95 +msgid "{{1}} Log In" +msgstr "{{1}} S'identifier" + +#: src/jade/tabs/login.jade:98 +msgid "You can confirm this transaction on the next page." +msgstr "Vous pouvez confirmer la transaction sur la page suivante." + +#: src/jade/tabs/login.jade:99 +msgid "New to {{productName}}? {{1:Create a wallet}}" +msgstr "Nouveau sur {{productName}}? {{1:Créer un portefeuille}}" + +#: src/jade/tabs/login/form.jade:12 src/jade/tabs/security.jade:91 +msgid "" +"Please enter the verification code from the SMS message sent to your device:" +msgstr "Veuillez entrer le code de vérification du message SMS envoyé à votre appareil:" + +#: src/jade/tabs/login/form.jade:13 src/jade/tabs/security.jade:92 +msgid "" +"Please enter the verification code from the Authy app installed on your " +"device:" +msgstr "Veuillez entrer le code de vérification de l'application Authy installée sur votre appareil:" + +#: src/jade/tabs/login/form.jade:23 +msgid "Resend" +msgstr "Renvoyer" + +#: src/jade/tabs/login/form.jade:24 src/jade/tabs/security.jade:105 +msgid "Send Via SMS" +msgstr "Envoyer par SMS" + +#: src/jade/tabs/login/form.jade:30 +msgid "Remember me on this device for 30 days" +msgstr "Se souvenir de moi sur cet appareil pendant 30 jours" + +#: src/jade/tabs/migrate.jade:10 src/jade/tabs/register.jade:17 +#: src/jade/tabs/register.jade:142 src/jade/tabs/register.jade:189 +msgid "Migrate" +msgstr "Migrer" + +#: src/jade/tabs/migrate.jade:11 +msgid "" +"To begin migration, enter the name and passphrase used to encrypt your " +"ripple.com/client wallet below. After migration, you will no longer be able " +"to login on ripple.com/client." +msgstr "Pour commencer la migration, entrez le nom et mot de passe que vous avez utilisé pour chiffrer votre portefeuille ripple.com/client ci-dessous. Après la migration, vous ne pourrez plus vous connecter depuis ripple.com/client." + +#: src/jade/tabs/migrate.jade:15 +msgid "Existing ripple.com/client Wallet name" +msgstr "Nom de portefeuille ripple.com/client existant" + +#: src/jade/tabs/migrate.jade:18 +msgid "Passphrase" +msgstr "Mot de passe" + +#: src/jade/tabs/migrate.jade:31 +msgid "Begin Migration" +msgstr "Commencer la migration" + +#: src/jade/tabs/migrate.jade:32 +msgid "New to {{productName}}? {{1:Sign Up}}" +msgstr "Nouveau sur {{productName}}? {{1:S'enregistrer}}" + +#: src/jade/tabs/migrate.jade:34 +msgid "Have a {{productName}} account? {{1:Log In}}" +msgstr "Vous avez un compte {{productName}}? {{1:S'identifier}}" + +#: src/jade/tabs/mxn.jade:38 +msgid "Mexican Peso Deposit" +msgstr "Dépôt de Peso Mexicain" + +#: src/jade/tabs/mxn.jade:42 +msgid "Bitso (~bitso) {{1}}{{2}}" +msgstr "Bitso (~bitso) {{1}}{{2}}" + +#: src/jade/tabs/mxn.jade:47 +msgid "All countries except the US" +msgstr "Tous les pays sauf les États-Unis" + +#: src/jade/tabs/mxn.jade:58 +msgid "" +"Ripple Trade has partnered with Bitso to provide easy access to MXN (Mexican" +" Peso). By continuing, you agree with Bitso’s terms of service. Following " +"this action will enable Bitso to hold MXN on your behalf." +msgstr "" + +#: src/jade/tabs/mxn.jade:80 +msgid "TO FUND/REDEEM MEXICAN PESO:" +msgstr "" + +#: src/jade/tabs/mxn.jade:82 +msgid "Register or login at {{1}}to initiate deposits and withdrawals." +msgstr "" + +#: src/jade/tabs/mxn.jade:86 +msgid "" +"A valid, non-US, state-issued ID (passport, driver's license, etc)." +msgstr "Une pièce d'identité valide, non-US, émise par l'état (passeport, permis de conduire, etc.)." + +#: src/jade/tabs/mxn.jade:87 +msgid "" +"Proof of address (utility bill or other type of bill that has your address " +"on it). Verification is required for peso deposits or withdrawals." +msgstr "" + +#: src/jade/tabs/mxn.jade:89 +msgid "" +"To fund your Ripple account, see the below options. Once a balance is " +"deposited with Bitso, you can send it to your Ripple account using the Bitso" +" Dashboard." +msgstr "" + +#: src/jade/tabs/mxn.jade:90 +msgid "" +"To withdraw from your Ripple account, click on the 'Redeem from Ripple' " +"button on the Bitso Dashboard." +msgstr "" + +#: src/jade/tabs/mxn.jade:92 src/jade/tabs/usd.jade:89 +msgid "DEPOSIT OPTIONS" +msgstr "OPTIONS DE DÉPÔT" + +#: src/jade/tabs/mxn.jade:94 +msgid "Bitso accepts deposits by the following methods:" +msgstr "Bitso accepte les dépôts par les méthodes suivantes:" + +#: src/jade/tabs/mxn.jade:96 src/jade/tabs/mxn.jade:106 +msgid "Bank Wire" +msgstr "Virement bancaire" + +#: src/jade/tabs/mxn.jade:97 src/jade/tabs/mxn.jade:107 +msgid "SPEI (Mexican instant inter-bank transfer)" +msgstr "" + +#: src/jade/tabs/mxn.jade:98 src/jade/tabs/mxn.jade:108 +msgid "Bitcoin" +msgstr "Bitcoin" + +#: src/jade/tabs/mxn.jade:99 +msgid "MXN Cash (at locations across Mexico)" +msgstr "" + +#: src/jade/tabs/mxn.jade:100 +msgid "Pademobile wallet" +msgstr "Portefeuille Pademobile" + +#: src/jade/tabs/mxn.jade:102 src/jade/tabs/usd.jade:99 +msgid "WITHDRAWAL OPTIONS" +msgstr "OPTIONS DE RETRAIT" + +#: src/jade/tabs/mxn.jade:104 +msgid "Bitso offers withdrawals via the following methods:" +msgstr "Bitso propose des retraits via les méthodes suivantes:" + +#: src/jade/tabs/recover.jade:11 +msgid "" +"You can only recover your Ripple Trade account with a secret key. You will " +"recover the account's Ripple name, contacts and other information." +msgstr "Vous ne pouvez récupérer votre compte Ripple Trade qu'avec une clé secrète. Vous recouvrerez le nom Ripple du compte, contacts et autres informations." + +#: src/jade/tabs/recover.jade:13 src/jade/tabs/recover.jade:33 +msgid "Ripple Name" +msgstr "Nom Ripple" + +#: src/jade/tabs/recover.jade:18 +msgid "Secret Key" +msgstr "Clé secrète" + +#: src/jade/tabs/recover.jade:21 +msgid "Unable to recover account." +msgstr "Impossible de récupérer le compte." + +#: src/jade/tabs/recover.jade:27 src/jade/tabs/register.jade:95 +msgid "Recover Account" +msgstr "Récupérer le Compte" + +#: src/jade/tabs/recover.jade:29 src/jade/tabs/recover.jade:56 +msgid "Set Password" +msgstr "Définir mot de passe" + +#: src/jade/tabs/recover.jade:31 +msgid "" +"Your account was sucessfully recovered. Please re-encrypt your account with " +"a new password." +msgstr "Votre compte a été récupéré avec succès. S'il vous plaît re-encryptez votre compte avec un nouveau mot de passe." + +#: src/jade/tabs/recover.jade:41 src/jade/tabs/register.jade:62 +#: src/jade/tabs/security.jade:132 +msgid "" +"Your password is weak. It does not contain numbers and symbols or it is too " +"short." +msgstr "Votre mot de passe est faible. Il ne contient pas des chiffres et symboles ou il est trop court." + +#: src/jade/tabs/recover.jade:43 src/jade/tabs/register.jade:65 +#: src/jade/tabs/security.jade:134 +msgid "" +"Your Ripple name and password cannot match. Please create a new password." +msgstr "Votre nom Ripple et mot de passe ne peuvent correspondre. Veuillez créer un nouveau mot de passe." + +#: src/jade/tabs/recover.jade:45 src/jade/tabs/register.jade:67 +#: src/jade/tabs/security.jade:136 +msgid "Confirm password" +msgstr "Confirmez le mot de passe" + +#: src/jade/tabs/recover.jade:48 src/jade/tabs/register.jade:71 +#: src/jade/tabs/security.jade:139 +msgid "Passwords do not match" +msgstr "Les mots de passe ne correspondent pas" + +#: src/jade/tabs/recover.jade:50 +msgid "Unable to change your account password." +msgstr "Impossible de changer votre mot de passe de compte." + +#: src/jade/tabs/recover.jade:55 +msgid "Updating..." +msgstr "Mise à jour..." + +#: src/jade/tabs/recover.jade:57 +msgid "Remember your password? {{1:Log In}}" +msgstr "Vous vous rappelez de votre mot de passe? {{1:S'identifier}}" + +#: src/jade/tabs/register.jade:13 src/jade/tabs/register.jade:109 +#: src/jade/tabs/register.jade:141 src/jade/tabs/register.jade:188 +msgid "Sign Up" +msgstr "S'inscrire" + +#: src/jade/tabs/register.jade:19 src/jade/tabs/register.jade:21 +#: src/jade/tabs/register.jade:23 src/jade/tabs/register.jade:146 +#: src/jade/tabs/register.jade:148 src/jade/tabs/register.jade:191 +#: src/jade/tabs/register.jade:193 src/jade/tabs/register.jade:195 +msgid "Step {{1}}" +msgstr "Étape {{1}}" + +#: src/jade/tabs/register.jade:26 +msgid "Create Ripple name" +msgstr "Créer un nom Ripple" + +#: src/jade/tabs/register.jade:27 +msgid "" +"Please choose a Ripple name below. You will use this Ripple name to login to" +" Ripple Trade, so remember it! Ripple names are unique and public, like your" +" current Ripple address. {{1}}" +msgstr "Veuillez choisir un nom Ripple ci-dessous. Vous utiliserez ce nom Ripple pour vous connecter à Ripple Trade, donc ne l'oubliez pas! Les noms Ripple sont uniques et publics, comme votre adresse Ripple actuelle. {{1}}" + +#: src/jade/tabs/register.jade:28 +msgid "Learn More" +msgstr "En savoir plus" + +#: src/jade/tabs/register.jade:41 +msgid "Reserved for {{usernameReservedFor}}" +msgstr "" + +#: src/jade/tabs/register.jade:43 +msgid "" +"This name belongs to a high-traffic website and has been reserved to prevent" +" phishing." +msgstr "" + +#: src/jade/tabs/register.jade:49 +msgid "You can only use the following characters: a-z, 0-9 and hyphens (-)" +msgstr "Vous pouvez seulement utiliser les caractères suivants: a-z, 0-9 et les tirets (-)" + +#: src/jade/tabs/register.jade:55 +msgid "Cannot use hyphens in a row (--)" +msgstr "Impossible d'utiliser des tirets d'affilée (--)" + +#: src/jade/tabs/register.jade:80 +msgid "Email address is invalid" +msgstr "L'adresse email est invalide" + +#: src/jade/tabs/register.jade:82 src/jade/tabs/security.jade:151 +msgid "Secret key" +msgstr "Clé secrète" + +#: src/jade/tabs/register.jade:83 src/jade/tabs/send.jade:43 +#: src/jade/tabs/trade.jade:441 +msgid "hide" +msgstr "cacher" + +#: src/jade/tabs/register.jade:88 +msgid "Secret Account Key is invalid" +msgstr "La Clé Secrète de Compte est invalide" + +#: src/jade/tabs/register.jade:90 +msgid "" +"The account ~{{1}}{{2}} has already been created using this secret key." +msgstr "Le compte ~{{1}}{{2}} a déjà été créé à l'aide de cette clé secrète." + +#: src/jade/tabs/register.jade:98 +msgid "I agree to the {{productName}} {{1:Terms of Use}}" +msgstr "J'accepte les {{1:Conditions d'utilisation}} de {{productName}}" + +#: src/jade/tabs/register.jade:101 +msgid "" +"Please see our {{1}} to see how we collect, use and share information about " +"you" +msgstr "Merci de regarder notre {{1}} pour voir comment nous recueillons, utilisons et partageons des informations vous concernant" + +#: src/jade/tabs/register.jade:110 +msgid "Migrate Account" +msgstr "Migrer le compte" + +#: src/jade/tabs/register.jade:111 +msgid "Need to use your secret key? {{1}}" +msgstr "Besoin d'utiliser votre clé secrète? {{1}}" + +#: src/jade/tabs/register.jade:113 +msgid "Use key" +msgstr "Utiliser la clé" + +#: src/jade/tabs/register.jade:121 +msgid "An error occurred during registration. Please try again later." +msgstr "Une erreur s'est produite lors de l'inscription. Veuillez réessayer ultérieurement." + +#: src/jade/tabs/register.jade:122 +msgid "The reported error was: {{1}}" +msgstr "L'erreur signalée était: {{1}}" + +#: src/jade/tabs/register.jade:131 +msgid "" +"There is already a wallet using this username, please choose a different " +"username and try again." +msgstr "Il existe déjà un portefeuille utilisant ce nom d'utilisateur, choisissez s'il vous plaît un nom d'utilisateur différent et essayez à nouveau." + +#: src/jade/tabs/register.jade:150 +msgid "" +"By proceeding, you understand that Ripple Trade does not provide a password " +"or secret key recovery mechanism. If you forget your Ripple name/password " +"and secret key, you will be unable to access this Ripple account." +msgstr "En poursuivant, vous comprenez que Ripple Trade ne fournit pas un mécanisme de récupération de clé secrète ou de mot de passe. Si vous oubliez votre nom Ripple / mot de passe et clé secrète, il vous sera impossible d'accéder à ce compte Ripple." + +#: src/jade/tabs/register.jade:155 +msgid "" +"You are now migrating your account- meaning you'll no longer be able to " +"access your account from ripple.com/client. You will retain all of your " +"balances, contacts, and account history. Your account will use the same " +"secret key as before. If you have already saved your secret key, please " +"continue your migration." +msgstr "Vous migrez maintenant votre compte- ce qui signifie que vous ne serez plus en mesure d'accéder à votre compte depuis ripple.com/client. Vous conserverez tous vos soldes, contacts et l'historique du compte. Votre compte utilisera la même clé secrète qu'avant. Si vous avez déjà sauvegardé votre clé secrète, merci de continuer votre migration." + +#: src/jade/tabs/register.jade:162 +msgid "" +"The secret key unlocks access to all your account funds in the event you " +"lose your Ripple name or password. Please write it down and store it " +"somewhere private and safe. {{1:Read more}} about keys and wallet safety." +msgstr "La clé secrète déverrouille l'accès à tous les fonds de votre compte dans le cas où vous perdriez votre nom Ripple ou mot de passe. S'il vous plaît notez-la et conservez-la dans un endroit privé et sûr. {{1:En savoir plus}} sur les clés et la sécurité du portefeuille." + +#: src/jade/tabs/register.jade:167 +msgid "" +"If you have not saved your secret key, please write it down and store it " +"somewhere private and safe. In the event you lose your Ripple name or " +"password, you can use this secret key to recover your funds." +msgstr "Si vous n'avez pas enregistré votre clé secrète, notez-la s'il vous plaît et rangez-la dans un endroit privé et sûr. Dans le cas où vous perdriez votre nom ou mot de passe Ripple, vous pouvez utiliser cette clé secrète pour récupérer vos fonds." + +#: src/jade/tabs/register.jade:176 +msgid "Show secret key" +msgstr "Montrer clé secrète" + +#: src/jade/tabs/register.jade:177 +msgid "Hide secret key" +msgstr "Cacher clé secrète" + +#: src/jade/tabs/register.jade:180 +msgid "Continue to email verification" +msgstr "Continuer vers la vérification par email" + +#: src/jade/tabs/register.jade:197 +msgid "" +"We’ve sent an email to {{1}}. To complete registration, click the link in " +"the email." +msgstr "Nous avons envoyé un email à {{1}}. Pour terminer l'enregistrement, cliquez sur le lien dans l'email." + +#: src/jade/tabs/register.jade:200 +msgid "Email token has been resent." +msgstr "Le jeton email a été renvoyé." + +#: src/jade/tabs/register.jade:203 +msgid "Email Address:" +msgstr "Adresse email:" + +#: src/jade/tabs/register.jade:210 +msgid "Re-send Email" +msgstr "Ré-envoyer email" + +#: src/jade/tabs/security.jade:7 +msgid "Active Session Timeout" +msgstr "Expiration de la session active" + +#: src/jade/tabs/security.jade:8 +msgid "" +"To view or edit your security settings, you must currently have an active " +"session." +msgstr "Pour afficher ou modifier vos paramètres de sécurité, vous devez actuellement avoir une session active." + +#: src/jade/tabs/security.jade:16 +msgid "Restore Session" +msgstr "Restaurer la Session" + +#: src/jade/tabs/security.jade:25 +msgid "Your Ripple password has been changed, please login again" +msgstr "Votre mot de passe Ripple a été changé, veuillez vous identifier à nouveau" + +#: src/jade/tabs/security.jade:27 +msgid "Couldn't change your Ripple password, please try again later." +msgstr "Impossible de changer votre mot de passe Ripple, veuillez réessayer ultérieurement." + +#: src/jade/tabs/security.jade:30 +msgid "Changing your Ripple password..." +msgstr "Modification de votre mot de passe Ripple..." + +#: src/jade/tabs/security.jade:31 +msgid "Your Ripple password has been changed successfully." +msgstr "Votre mot de passe Ripple a été changé avec succès." + +#: src/jade/tabs/security.jade:32 +msgid "Unable to load Two-factor authentication settings." +msgstr "Impossible de charger les paramètres d'authentification à deux facteurs." + +#: src/jade/tabs/security.jade:33 +msgid "Error saving Two-factor authentication settings." +msgstr "Erreur lors de l'enregistrement des paramètres d'authentification à deux facteurs." + +#: src/jade/tabs/security.jade:34 +msgid "The verification code is invalid." +msgstr "Le code de vérification est invalide." + +#: src/jade/tabs/security.jade:36 +msgid "Two-factor authentication has been successfully enabled." +msgstr "L'authentification à deux facteurs a été activée avec succès." + +#: src/jade/tabs/security.jade:37 +msgid "Two-factor authentication has been successfully disabled." +msgstr "L'authentification à deux facteurs a été désactivée avec succès." + +#: src/jade/tabs/security.jade:38 +msgid "Password protection has been successfully enabled." +msgstr "" + +#: src/jade/tabs/security.jade:39 +msgid "Password protection has been successfully disabled." +msgstr "" + +#: src/jade/tabs/security.jade:45 +msgid "Security settings" +msgstr "Paramètres de sécurité" + +#: src/jade/tabs/security.jade:51 +msgid "Loading Two-factor authentication settings..." +msgstr "Chargement des paramètres d'authentification à deux facteurs..." + +#: src/jade/tabs/security.jade:55 +msgid "Enabled" +msgstr "Activé" + +#: src/jade/tabs/security.jade:56 +msgid "Disabled" +msgstr "Désactivé" + +#: src/jade/tabs/security.jade:58 +msgid "disable" +msgstr "désactiver" + +#: src/jade/tabs/security.jade:60 +msgid "enable" +msgstr "activer" + +#: src/jade/tabs/security.jade:66 +msgid "" +"Authy is providing two-factor authentication for Ripple Trade. To enable " +"two-factor authentication, you must share some information with Authy." +msgstr "Authy assure l'authentification à deux facteurs pour Ripple Trade. Pour activer l'authentification à deux facteurs, vous devez partager des informations avec Authy." + +#: src/jade/tabs/security.jade:69 +msgid "- Your email address:" +msgstr "- Votre adresse email:" + +#: src/jade/tabs/security.jade:72 +msgid "- Your phone number:" +msgstr "- Votre numéro de téléphone:" + +#: src/jade/tabs/security.jade:74 +msgid "By proceeding, you agree to the Authy {{1: terms of service.}}" +msgstr "En continuant, vous acceptez les {{1: conditions de service}} de Authy." + +#: src/jade/tabs/security.jade:78 +msgid "Share" +msgstr "Partager" + +#: src/jade/tabs/security.jade:84 +msgid "Saving settings..." +msgstr "Enregistrement des paramètres..." + +#: src/jade/tabs/security.jade:85 +msgid "Disabling Two-factor authentication..." +msgstr "Désactivation de l'authentification à deux facteurs..." + +#: src/jade/tabs/security.jade:86 +msgid "Enabling Two-factor authentication..." +msgstr "Activation de l'authentification à deux facteurs..." + +#: src/jade/tabs/security.jade:104 +msgid "Resend Code" +msgstr "Renvoyer le Code" + +#: src/jade/tabs/security.jade:110 +msgid "Enable" +msgstr "Activer" + +#: src/jade/tabs/security.jade:114 +msgid "Ripple password" +msgstr "Mot de passe Ripple" + +#: src/jade/tabs/security.jade:129 +msgid "New password" +msgstr "Nouveau mot de passe" + +#: src/jade/tabs/security.jade:153 +msgid "" +"Your secret key unlocks access to your account funds. Please write it down " +"and store it somewhere private and safe. In the event you lose your Ripple " +"name or password, you can use this secret key to recover your funds." +msgstr "Votre clé secrète déverrouille l'accès aux fonds de votre compte. S'il vous plaît notez-la et conservez-la dans un endroit privé et sûr. Dans le cas où vous perdriez votre nom ou mot de passe Ripple, vous pouvez utiliser cette clé secrète pour récupérer vos fonds." + +#: src/jade/tabs/security.jade:165 +msgid "Password protection for transactions" +msgstr "Protection par mot de passe pour les transactions" + +#: src/jade/tabs/security.jade:168 +msgid "" +"If you turn off password requests, you’ll still need to enter your password " +"after each page refresh." +msgstr "Si vous désactivez les demandes de mot de passe, vous aurez toujours besoin d'entrer votre mot de passe après chaque rafraichissement de la page." + +#: src/jade/tabs/security.jade:176 +msgid "Yes" +msgstr "Oui" + +#: src/jade/tabs/security.jade:177 +msgid "No" +msgstr "Non" + +#: src/jade/tabs/security.jade:192 +msgid "Delete Ripple Trade account" +msgstr "Supprimer compte Ripple Trade" + +#: src/jade/tabs/security.jade:194 +msgid "" +"This deletes your Ripple Trade account. You will no longer be able to login " +"to Ripple Trade and your account data will be deleted. However, you can " +"still access your funds using your secret key." +msgstr "Cela supprime votre compte Ripple Trade. Vous ne serez plus en mesure de vous connecter à Ripple Trade et les données de votre compte seront supprimées. Cependant, vous pourrez toujours accéder à vos fonds à l'aide de votre clé secrète." + +#: src/jade/tabs/send.jade:12 +msgid "You have to be funded before you can send money" +msgstr "Vous devez être approvisionné avant de pouvoir envoyer de l'argent" + +#: src/jade/tabs/send.jade:25 +msgid "Recipient" +msgstr "Destinataire" + +#: src/jade/tabs/send.jade:30 +msgid "Please enter a recipient." +msgstr "Veuillez entrer un destinataire." + +#: src/jade/tabs/send.jade:32 +msgid "" +"Recipient should be a Ripple name, a contact, or Ripple/Bitcoin address." +msgstr "Le destinataire doit être un nom Ripple, un contact ou une adresse Ripple/Bitcoin." + +#: src/jade/tabs/send.jade:34 +msgid "This email address is not Ripple-enabled." +msgstr "Cette adresse email n'est pas compatible avec Ripple." + +#: src/jade/tabs/send.jade:38 +msgid "Show destination tag" +msgstr "Afficher l'étiquette de destination" + +#: src/jade/tabs/send.jade:47 +msgid "Destination cannot be blank." +msgstr "La destination ne peut être vide." + +#: src/jade/tabs/send.jade:48 +msgid "" +"Recipient requires a destination tag to be specified for the transaction. If" +" you don't know the destination tag, please contact them before doing a " +"transaction." +msgstr "Le destinataire requiert qu'une étiquette de destination soit spécifiée pour la transaction. Si vous ne connaissez pas l’étiquette de destination, contactez le destinataire avant de faire une transaction s'il vous plaît." + +#: src/jade/tabs/send.jade:53 +msgid "Source tag" +msgstr "Étiquette source" + +#: src/jade/tabs/send.jade:56 +msgid "Invalid source tag" +msgstr "Étiquette source invalide" + +#: src/jade/tabs/send.jade:59 +msgid "Invoice ID" +msgstr "" + +#: src/jade/tabs/send.jade:62 +msgid "Invoice ID must not be more than 64 characters long." +msgstr "" + +#: src/jade/tabs/send.jade:77 +msgid "Recipient will receive" +msgstr "Le destinataire recevra" + +#: src/jade/tabs/send.jade:88 +msgid "{{send.recipient | rpcontactname}} can't receive this currency." +msgstr "{{send.recipient | rpcontactname}} ne peut recevoir cette devise." + +#: src/jade/tabs/send.jade:92 src/jade/tabs/trust.jade:102 +msgid "Amount must be greater than zero." +msgstr "Le montant doit être plus élevé que zéro." + +#: src/jade/tabs/send.jade:93 +msgid "" +"You are either trying to send too little or too much XRP.Minimum amount is " +"0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "Vous tentez d'envoyer soit trop ou trop peu de XRP. Le montant minimum est de 0.000001 XRP et le montant maximal est de 100 milliards de XRP." + +#: src/jade/tabs/send.jade:97 +msgid "" +"Recipient does not allow XRP payments. Are you sure you want to send XRP " +"anyway?" +msgstr "Le destinataire n'accepte pas le paiement en XRP. Êtes-vous sûr de vouloir tout de même envoyer des XRP ?" + +#: src/jade/tabs/send.jade:99 +msgid "" +"{{send.recipient | rpcontactname}}trusts you for {{send.trust_limit | " +"rpamount}} {{send.trust_limit | rpcurrency}}." +msgstr "{{send.recipient | rpcontactname}}vous fait confiance pour {{send.trust_limit | rpamount}} {{send.trust_limit | rpcurrency}}." + +#: src/jade/tabs/send.jade:103 +msgid "Send XRP" +msgstr "Envoyer des XRP" + +#: src/jade/tabs/send.jade:107 +msgid "" +"Destination account is unfunded; send at least {{send.xrp_deficiency | " +"rpamount}} XRP to fund it.{{1}}" +msgstr "Le compte de destination n'est pas approvisionné; envoyer au moins {{send.xrp_deficiency | rpamount}} XRP pour le financer.{{1}}" + +#: src/jade/tabs/send.jade:114 +msgid "Checking" +msgstr "Vérification en cours" + +#: src/jade/tabs/send.jade:117 +msgid "Analyzing address" +msgstr "Analyse de l'adresse" + +#: src/jade/tabs/send.jade:120 +msgid "Scanning accepted currencies" +msgstr "Examen des devises acceptées" + +#: src/jade/tabs/send.jade:123 +msgid "Requesting quote" +msgstr "Demande d'une estimation" + +#: src/jade/tabs/send.jade:126 +msgid "Calculating paths" +msgstr "Calcul des chemins" + +#: src/jade/tabs/send.jade:129 +msgid "Calculating alternatives" +msgstr "Calcul des alternatives" + +#: src/jade/tabs/send.jade:130 +msgid "" +"You cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. " +"Either your account has insufficient funds, or {{send.recipient}} doesn't " +"accept {{send.currency}}." +msgstr "Vous ne pouvez pas envoyer {{send.amount}} {{send.currency}} à {{send.recipient}}. Soit votre compte n'est pas suffisamment approvisionné, ou {{send.recipient}} n'accepte pas {{send.currency}}." + +#: src/jade/tabs/send.jade:134 +msgid "" +"You cannot send {{send.amount}} {{send.currency}} to{{send.recipient}}. Your" +" account has insufficient funds." +msgstr "Vous ne pouvez pas envoyer {{send.amount}} {{send.currency}} à{{send.recipient}}. Votre compte n'est pas suffisamment approvisionné." + +#: src/jade/tabs/send.jade:137 +msgid "There are no valid currency choices for this destination." +msgstr "Il n'y a aucun choix de devise valide pour cette destination." + +#: src/jade/tabs/send.jade:139 +msgid "Error while retrieving quote for outbound payment. {{1}}" +msgstr "Erreur lors de la récupération d'une estimation pour un paiement sortant. {{1}}" + +#: src/jade/tabs/send.jade:148 +msgid "You can send" +msgstr "Vous pouvez envoyer" + +#: src/jade/tabs/send.jade:150 +msgid "Or you can send" +msgstr "Ou vous pouvez envoyer" + +#: src/jade/tabs/send.jade:164 +msgid "Send {{ alt.amount | rpcurrency }} {{1}}" +msgstr "Envoyer {{ alt.amount | rpcurrency }} {{1}}" + +#: src/jade/tabs/send.jade:181 +msgid "Ripple is calculating a path for your payment." +msgstr "Ripple calcule un chemin pour votre paiement." + +#: src/jade/tabs/send.jade:186 +msgid "You are sending {{1}} to" +msgstr "Vous envoyez {{1}} à" + +#: src/jade/tabs/send.jade:194 +msgid "Destination tag: {{send.dt}}" +msgstr "Étiquette de destination: {{send.dt}}" + +#: src/jade/tabs/send.jade:195 +msgid "They will receive" +msgstr "Ils recevront" + +#: src/jade/tabs/send.jade:198 +msgid "You will pay at most" +msgstr "Vous paierez au plus" + +#: src/jade/tabs/send.jade:204 +msgid "Are you sure?" +msgstr "Êtes-vous certain?" + +#: src/jade/tabs/send.jade:210 +msgid "Password required to unlock wallet" +msgstr "Mot de passe requis pour déverrouiller le portefeuille" + +#: src/jade/tabs/send.jade:234 src/jade/tabs/send.jade:266 +msgid "Contact saved!" +msgstr "Contact sauvegardé!" + +#: src/jade/tabs/send.jade:236 src/jade/tabs/send.jade:268 +msgid "Add this address to contacts" +msgstr "Ajouter cette adresse aux contacts" + +#: src/jade/tabs/send.jade:242 src/jade/tabs/send.jade:274 +msgid "Name this user" +msgstr "Nommer cet utilisateur" + +#: src/jade/tabs/send.jade:246 src/jade/tabs/send.jade:278 +msgid "This contact already exists, please choose another name." +msgstr "Ce contact existe déjà, veuillez choisir un autre nom." + +#: src/jade/tabs/send.jade:250 src/jade/tabs/send.jade:283 +#: src/jade/tabs/trust.jade:233 +msgid "Saving..." +msgstr "Sauvegarde en cours..." + +#: src/jade/tabs/send.jade:255 src/jade/tabs/send.jade:289 +msgid "Send another payment" +msgstr "Envoyer un autre paiement" + +#: src/jade/tabs/settings/navbar.jade:2 +msgid "Security" +msgstr "Sécurité" + +#: src/jade/tabs/settingstrade.jade:12 +msgid "Trade settings" +msgstr "Paramètres d'échange" + +#: src/jade/tabs/settingstrade.jade:14 +msgid "Trade currency pairs" +msgstr "" + +#: src/jade/tabs/trade.jade:12 src/jade/tabs/trade.jade:451 +msgid "Loading Order Book" +msgstr "" + +#: src/jade/tabs/trade.jade:31 src/jade/tabs/widgets/markets.jade:24 +msgid "flip" +msgstr "basculer" + +#: src/jade/tabs/trade.jade:34 +msgid "add pair" +msgstr "" + +#: src/jade/tabs/trade.jade:37 +msgid "edit pairs" +msgstr "" + +#: src/jade/tabs/trade.jade:41 +msgid "Base Currency" +msgstr "Devise de base" + +#: src/jade/tabs/trade.jade:44 +msgid "Base Gateway" +msgstr "" + +#: src/jade/tabs/trade.jade:49 +msgid "Counter Currency" +msgstr "" + +#: src/jade/tabs/trade.jade:52 +msgid "Counter Gateway" +msgstr "" + +#: src/jade/tabs/trade.jade:57 +msgid "Add" +msgstr "Ajouter" + +#: src/jade/tabs/trade.jade:60 +msgid "Base currency issuer ({{order.first_currency | rpcurrency}})" +msgstr "Émetteur de la devise de base ({{order.first_currency | rpcurrency}})" + +#: src/jade/tabs/trade.jade:63 +msgid "Ripple name or contact" +msgstr "Nom Ripple ou contact" + +#: src/jade/tabs/trade.jade:65 +msgid "Not a valid Ripple address or contact" +msgstr "Adresse Ripple ou contact non valide" + +#: src/jade/tabs/trade.jade:70 +msgid "Counter currency issuer ({{order.second_currency | rpcurrency}})" +msgstr "Émetteur de la devise de contrepartie ({{order.second_currency | rpcurrency}})" + +#: src/jade/tabs/trade.jade:75 +msgid "Not a valid Ripple name or address" +msgstr "Pas un nom Ripple ou une adresse valide." + +#: src/jade/tabs/trade.jade:79 +msgid "" +"To show an orderbook, choose from the dropdown above or click \"Add custom " +"pair\"." +msgstr "" + +#: src/jade/tabs/trade.jade:86 +msgid "Bid" +msgstr "Offre" + +#: src/jade/tabs/trade.jade:91 +msgid "Ask" +msgstr "Demande" + +#: src/jade/tabs/trade.jade:96 +msgid "Spread" +msgstr "Écart" + +#: src/jade/tabs/trade.jade:101 +msgid "Last price" +msgstr "Dernier prix" + +#: src/jade/tabs/trade.jade:108 +msgid "You have to be funded before you can trade" +msgstr "Vous devez être approvisionné avant d'être en mesure d'échanger" + +#: src/jade/tabs/trade.jade:115 +msgid "Buy {{1}} {{order.first_currency | rpcurrency}}" +msgstr "Acheter {{1}} {{order.first_currency | rpcurrency}}" + +#: src/jade/tabs/trade.jade:118 +msgid "Sell {{1}} {{order.first_currency | rpcurrency}}" +msgstr "Vendre {{1}} {{order.first_currency | rpcurrency}}" + +#: src/jade/tabs/trade.jade:121 src/jade/tabs/trade.jade:130 +msgid "{{1}} available" +msgstr "{{1}} disponible" + +#: src/jade/tabs/trade.jade:144 +msgid "Amount To Buy" +msgstr "Montant à acheter" + +#: src/jade/tabs/trade.jade:145 +msgid "Amount To Sell" +msgstr "Montant à vendre" + +#: src/jade/tabs/trade.jade:152 src/jade/tabs/trade.jade:167 +#: src/jade/tabs/trade.jade:182 +msgid "Required" +msgstr "Requis" + +#: src/jade/tabs/trade.jade:154 src/jade/tabs/trade.jade:169 +#: src/jade/tabs/trade.jade:184 +msgid "Must be greater than zero" +msgstr "Doit être supérieur a zéro " + +#: src/jade/tabs/trade.jade:156 src/jade/tabs/trade.jade:171 +#: src/jade/tabs/trade.jade:186 +msgid "" +"Minimum amount of XRP you can send is a drop (0.000001) and the maximum is " +"100 billion XRPs." +msgstr "Le montant minimum de XRP que vous pouvez envoyer est une goutte (0,000001) et le maximum est de 100 milliards de XRPs." + +#: src/jade/tabs/trade.jade:160 +msgid "Price of Each" +msgstr "Prix pour chaque" + +#: src/jade/tabs/trade.jade:175 +msgid "Order Value (max)" +msgstr "Valeur de l'ordre (max)" + +#: src/jade/tabs/trade.jade:192 +msgid "You are wanting to buy {{1}} for {{2}} ({{3}} per {{4}})" +msgstr "Vous voulez acheter {{1}} pour {{2}} ({{3}} par {{4}})" + +#: src/jade/tabs/trade.jade:201 +msgid "You are wanting to sell {{1}} for {{2}} ({{3}} per {{4}})" +msgstr "Vous voulez vendre {{1}} pour {{2}} ({{3}} par {{4}})" + +#: src/jade/tabs/trade.jade:213 +msgid "Buy" +msgstr "Acheter" + +#: src/jade/tabs/trade.jade:214 +msgid "Sell" +msgstr "Vendre" + +#: src/jade/tabs/trade.jade:220 +msgid "You do not have sufficient funds to create an order." +msgstr "Vous n'avez pas de fonds suffisants pour créer un ordre." + +#: src/jade/tabs/trade.jade:225 +msgid "" +"You are about to create an order to {{1: buy}} {{2: " +"sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" +msgstr "" + +#: src/jade/tabs/trade.jade:242 +msgid "CAUTION: Your order is far off from the current market price." +msgstr "ATTENTION: Votre ordre est très éloigné du prix actuel du marché." + +#: src/jade/tabs/trade.jade:246 src/jade/tabs/trade.jade:407 +msgid "« Back" +msgstr "« Retour" + +#: src/jade/tabs/trade.jade:255 +msgid "Sending order to Ripple network..." +msgstr "Envoi de l'ordre au réseau Ripple en cours..." + +#: src/jade/tabs/trade.jade:261 +msgid "Your order has been submitted." +msgstr "Votre ordre a été envoyé." + +#: src/jade/tabs/trade.jade:263 +msgid "Your order is now active." +msgstr "Votre ordre est maintenant actif." + +#: src/jade/tabs/trade.jade:265 +msgid "Your order has been filled." +msgstr "Votre ordre a été exécuté." + +#: src/jade/tabs/trade.jade:267 +msgid "" +"Your order has been partially filled. The remaining amount is now active." +msgstr "Votre ordre a été partiellement exécuté. Le montant restant est maintenant actif." + +#: src/jade/tabs/trade.jade:276 +msgid "Submit another order" +msgstr "Envoyer un autre ordre" + +#: src/jade/tabs/trade.jade:278 +msgid "My Orders{{1}}{{2}}" +msgstr "Mes Ordres{{1}}{{2}}" + +#: src/jade/tabs/trade.jade:287 +msgid "Your order has been modified." +msgstr "Votre ordre a été modifié." + +#: src/jade/tabs/trade.jade:289 +msgid "Your order #{{ cancelOrder.seq }} has been cancelled." +msgstr "Votre ordre #{{ cancelOrder.seq }} a été annulé." + +#: src/jade/tabs/trade.jade:291 +msgid "" +"Your order could not be modified and no longer exists. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "" + +#: src/jade/tabs/trade.jade:293 +msgid "Unable to cancel order as it no longer exists." +msgstr "Impossible d'annuler l'ordre car il n'existe plus." + +#: src/jade/tabs/trade.jade:295 +msgid "Modifying your order (Placing new order) ..." +msgstr "" + +#: src/jade/tabs/trade.jade:299 +msgid "Current pair only" +msgstr "" + +#: src/jade/tabs/trade.jade:313 src/jade/tabs/widgets/orders.jade:24 +msgid "reverse" +msgstr "" + +#: src/jade/tabs/trade.jade:322 src/jade/tabs/widgets/orders.jade:33 +msgid "QTY{{1}}" +msgstr "QTÉ{{1}}" + +#: src/jade/tabs/trade.jade:324 src/jade/tabs/widgets/orders.jade:35 +msgid "Base{{1}}" +msgstr "Base{{1}}" + +#: src/jade/tabs/trade.jade:326 src/jade/tabs/widgets/orders.jade:37 +msgid "Counter{{1}}" +msgstr "" + +#: src/jade/tabs/trade.jade:328 src/jade/tabs/widgets/orders.jade:39 +msgid "Limit{{1}}" +msgstr "Limite{{1}}" + +#: src/jade/tabs/trade.jade:334 +msgid "Action" +msgstr "Action" + +#: src/jade/tabs/trade.jade:360 src/jade/tabs/trade.jade:424 +msgid "TRADE CONFIRMATION" +msgstr "CONFIRMATION DE TRANSACTION" + +#: src/jade/tabs/trade.jade:362 +msgid "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" +msgstr "" + +#: src/jade/tabs/trade.jade:364 +msgid "" +"{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div" +" span.modal-order-type(l10n-inc) REMAIN: span remain data div span" +".modal-order-type(l10n-inc) PLACED: span time data" +msgstr "" + +#: src/jade/tabs/trade.jade:371 +msgid "with" +msgstr "avec" + +#: src/jade/tabs/trade.jade:372 +msgid "for" +msgstr "pour" + +#: src/jade/tabs/trade.jade:376 +msgid "at" +msgstr "" + +#: src/jade/tabs/trade.jade:389 +msgid "Cancel order" +msgstr "Annuler l'ordre" + +#: src/jade/tabs/trade.jade:390 src/jade/tabs/trade.jade:431 +msgid "back" +msgstr "retour" + +#: src/jade/tabs/trade.jade:407 +msgid "" +"CAUTION: Your new order is far off from the current market price.
Do " +"you still want to replace your order ?" +msgstr "" + +#: src/jade/tabs/trade.jade:410 +msgid "Unable to cancel order. Error: {{entry.errorMsg}}" +msgstr "Impossible d'annuler l'ordre. Erreur: {{entry.errorMsg}}" + +#: src/jade/tabs/trade.jade:412 +msgid "" +"Your order amount has been updated by Ripple. Please go back and edit again " +"to modify this order." +msgstr "" + +#: src/jade/tabs/trade.jade:414 +msgid "" +"Your order could not be modified. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "" + +#: src/jade/tabs/trade.jade:415 +msgid "X" +msgstr "X" + +#: src/jade/tabs/trade.jade:420 +msgid "cancel all" +msgstr "tout annuler" + +#: src/jade/tabs/trade.jade:426 +msgid "{{1:Please confirm that you wish to cancel all orders.}}" +msgstr "" + +#: src/jade/tabs/trade.jade:430 +msgid "Cancel all orders" +msgstr "Annuler tous les ordres" + +#: src/jade/tabs/trade.jade:433 src/jade/tabs/widgets/orders.jade:64 +msgid "No current orders. {{1}}" +msgstr "" + +#: src/jade/tabs/trade.jade:434 src/jade/tabs/widgets/orders.jade:65 +msgid "View orders history" +msgstr "Voir l'historique des ordres" + +#: src/jade/tabs/trade.jade:437 +msgid "Orderbook{{1}}" +msgstr "Carnet d'ordres{{1}}" + +#: src/jade/tabs/trade.jade:440 +msgid "show" +msgstr "afficher" + +#: src/jade/tabs/trade.jade:442 +msgid "Last updated {{1}} {{2: seconds}} {{3: second}} ago" +msgstr "Dernière mise à jour il y a {{1}} {{2: secondes}} {{3: seconde}}" + +#: src/jade/tabs/trade.jade:458 +msgid "Bids" +msgstr "Offres" + +#: src/jade/tabs/trade.jade:460 src/jade/tabs/trade.jade:487 +msgid "Sum{{1}}{{2}}" +msgstr "Somme{{1}}{{2}}" + +#: src/jade/tabs/trade.jade:463 src/jade/tabs/trade.jade:484 +msgid "Size{{1}}{{2}}" +msgstr "Taille{{1}}{{2}}" + +#: src/jade/tabs/trade.jade:466 +msgid "Bid Price{{1}}{{2}}" +msgstr "Prix Offert{{1}}{{2}}" + +#: src/jade/tabs/trade.jade:477 +msgid "There are currently no bids for this pair." +msgstr "Il n'y a actuellement pas d'offre pour cette pair." + +#: src/jade/tabs/trade.jade:479 +msgid "Asks" +msgstr "Demandes" + +#: src/jade/tabs/trade.jade:481 +msgid "Ask Price{{1}}{{2}}" +msgstr "Prix demandé{{1}}{{2}}" + +#: src/jade/tabs/trade.jade:498 +msgid "There are currently no asks for this pair." +msgstr "Il n'y a actuellement pas de demande pour cette pair." + +#: src/jade/tabs/trade.jade:501 +msgid "No more orders" +msgstr "Pas plus d'ordres" + +#: src/jade/tabs/trust.jade:29 +msgid "Removing gateway..." +msgstr "Suppression de la passerelle..." + +#: src/jade/tabs/trust.jade:31 +msgid "Gateway removed." +msgstr "Passerelle supprimée." + +#: src/jade/tabs/trust.jade:33 +msgid "Your changes have been saved." +msgstr "Vos modifications ont été enregistrées." + +#: src/jade/tabs/trust.jade:35 +msgid "Request failed." +msgstr "La demande a échoué." + +#: src/jade/tabs/trust.jade:39 +msgid "Account unlock failed." +msgstr "Le déverrouillage du compte a échoué." + +#: src/jade/tabs/trust.jade:55 +msgid "Name / Address" +msgstr "Nom / Adresse" + +#: src/jade/tabs/trust.jade:57 src/jade/tabs/trust.jade:90 +msgid "Currency" +msgstr "Devise" + +#: src/jade/tabs/trust.jade:60 +msgid "Trust Limit" +msgstr "Limite de confiance" + +#: src/jade/tabs/trust.jade:66 +msgid "Gateway's Ripple name or address" +msgstr "Nom Ripple ou adresse de la passerelle" + +#: src/jade/tabs/trust.jade:100 +msgid "Amount field is required." +msgstr "Le champ montant est requis." + +#: src/jade/tabs/trust.jade:115 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"connect to. More " +"information" +msgstr "" + +#: src/jade/tabs/trust.jade:125 +msgid "" +"{{1:You are connecting a gateway, which means}}{{2:{{ counterparty_address |" +" rpripplename:{tilde: true} }} can:}}" +msgstr "{{1:Vous connectez une passerelle, ce qui signifie que}}{{2:{{ counterparty_address | rpripplename:{tilde: true} }} peut:}}" + +#: src/jade/tabs/trust.jade:128 +msgid "{{1:- Hold up to }}{{2}} {{3: on your behalf}}" +msgstr "{{1:- Contient jusqu'à }}{{2}} {{3: en votre nom}}" + +#: src/jade/tabs/trust.jade:132 +msgid "{{1:- Hold }}{{2}} {{3: on your behalf}}" +msgstr "{{1:- Contient }}{{2}} {{3: en votre nom}}" + +#: src/jade/tabs/trust.jade:148 +msgid "Verifying address" +msgstr "Vérification de l'adresse" + +#: src/jade/tabs/trust.jade:151 +msgid "" +"Your account has to be {{1:activated}} before you can add a gateway account." +msgstr "Votre compte doit être {{1:activé}} avant de pouvoir ajouter un compte de passerelle." + +#: src/jade/tabs/trust.jade:159 +msgid "Connect gateway" +msgstr "Connecter une passerelle" + +#: src/jade/tabs/trust.jade:169 src/jade/tabs/trust.jade:221 +msgid "Limit" +msgstr "Limite" + +#: src/jade/tabs/trust.jade:170 +msgid "Min" +msgstr "Min" + +#: src/jade/tabs/trust.jade:172 +msgid "Edit" +msgstr "Editer" + +#: src/jade/tabs/trust.jade:188 +msgid "Off" +msgstr "Désactivé" + +#: src/jade/tabs/trust.jade:189 +msgid "On" +msgstr "Activé" + +#: src/jade/tabs/trust.jade:192 src/jade/tabs/trust.jade:201 +#: src/jade/tabs/trust.jade:206 src/jade/tabs/trust.jade:210 +#: src/jade/tabs/trust.jade:239 src/jade/tabs/trust.jade:244 +#: src/jade/tabs/trust.jade:248 +msgid "Incoming trust" +msgstr "" + +#: src/jade/tabs/trust.jade:192 +msgid "" +"You can't edit incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "" + +#: src/jade/tabs/trust.jade:200 src/jade/tabs/trust.jade:202 +#: src/jade/tabs/trust.jade:205 src/jade/tabs/trust.jade:207 +#: src/jade/tabs/trust.jade:209 src/jade/tabs/trust.jade:211 +#: src/jade/tabs/trust.jade:238 src/jade/tabs/trust.jade:240 +#: src/jade/tabs/trust.jade:243 src/jade/tabs/trust.jade:245 +#: src/jade/tabs/trust.jade:247 src/jade/tabs/trust.jade:249 +msgid "Remove" +msgstr "Enlever" + +#: src/jade/tabs/trust.jade:201 src/jade/tabs/trust.jade:206 +#: src/jade/tabs/trust.jade:210 src/jade/tabs/trust.jade:239 +#: src/jade/tabs/trust.jade:244 src/jade/tabs/trust.jade:248 +msgid "" +"You can't delete incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "" + +#: src/jade/tabs/trust.jade:226 +msgid "Rippling {{1}}" +msgstr "Rippling {{1}}" + +#: src/jade/tabs/tx.jade:5 +msgid "Loading transaction details..." +msgstr "Chargement des détails de la transaction..." + +#: src/jade/tabs/tx.jade:7 +msgid "An error occurred while loading the transaction details." +msgstr "Une erreur est survenue durant le chargement des détails de la transaction." + +#: src/jade/tabs/tx.jade:10 +msgid "Transaction #" +msgstr "Transaction #" + +#: src/jade/tabs/tx.jade:15 +msgid "Transaction type: {{1}}" +msgstr "Type de transaction: {{1}}" + +#: src/jade/tabs/tx.jade:22 +msgid "Address sent from" +msgstr "Adresse de l'expéditeur" + +#: src/jade/tabs/tx.jade:26 +msgid "Amount sent" +msgstr "Montant envoyé" + +#: src/jade/tabs/tx.jade:30 +msgid "Currency sent" +msgstr "Devise envoyée" + +#: src/jade/tabs/tx.jade:35 +msgid "Address sent to" +msgstr "Adresse du récipiendaire" + +#: src/jade/tabs/tx.jade:39 +msgid "Amount received" +msgstr "Montant reçu" + +#: src/jade/tabs/tx.jade:43 +msgid "Currency received" +msgstr "Devise reçue" + +#: src/jade/tabs/tx.jade:50 +msgid "Network fee paid" +msgstr "Frais de réseau payé" + +#: src/jade/tabs/tx.jade:62 +msgid "Ledger number" +msgstr "Numéro du registre" + +#: src/jade/tabs/tx.jade:68 +msgid "Address sent from:" +msgstr "Adresse de l'expéditeur:" + +# Sorry, we don't have an info page layout for this transaction type yet. +#: src/jade/tabs/tx.jade:72 +msgid "" +"Sorry, we don't have an info page layout for this transaction type yet." +msgstr "Désolé, nous n'avons pas encore de page d'information pour ce type de transaction." + +#: src/jade/tabs/usd.jade:35 +msgid "US Dollar Deposit" +msgstr "Dépôt de Dollars US" + +#: src/jade/tabs/usd.jade:39 +msgid "SnapSwap US (~SnapSwap){{1}}{{2}}" +msgstr "SnapSwap US (~SnapSwap){{1}}{{2}}" + +#: src/jade/tabs/usd.jade:45 +msgid "USA" +msgstr "USA" + +#: src/jade/tabs/usd.jade:48 +msgid "$ 0.31-$ 5.00" +msgstr "$ 0.31-$ 5.00" + +#: src/jade/tabs/usd.jade:56 +msgid "" +"Ripple Trade has partnered with SnapSwap to provide easier access to USD. " +"Following this action will enable SnapSwap to hold USD on your behalf." +msgstr "" + +#: src/jade/tabs/usd.jade:73 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" +msgstr "NOUVEAUX CLIENTS- INSCRIVEZ-VOUS SUR SNAPSWAP.US" + +#: src/jade/tabs/usd.jade:74 +msgid "Register and verify your account at SnapSwap US. You will need: {{1}}" +msgstr "Inscrivez-vous et vérifiez votre compte sur SnapSwap US. Vous aurez besoin de: {{1}}" + +#: src/jade/tabs/usd.jade:82 +msgid "EXISTING SNAPSWAP US CUSTOMERS" +msgstr "CLIENTS ACTUELS DE SNAPSWAP US" + +#: src/jade/tabs/usd.jade:93 +msgid "Deposit instantly via selected banks" +msgstr "Dépôt instantané via des banques sélectionnées" + +#: src/jade/tabs/usd.jade:95 +msgid "Deposit cash at Bank of America branches (3 business days)" +msgstr "Dépôt en espèces dans les succursales de Bank of America (3 jours ouvrés)" + +#: src/jade/tabs/usd.jade:97 +msgid "Deposit via online bank transfer (3 business days)" +msgstr "Dépôt par virement bancaire en ligne (3 jours ouvrés)" + +#: src/jade/tabs/usd.jade:103 +msgid "Directly to your bank account (3-4 business days)" +msgstr "Directement sur votre compte bancaire (3-4 jours ouvrables)" + +#: src/jade/tabs/usd.jade:105 +msgid "Directly to your PayPal account (several minutes)" +msgstr "Directement sur votre compte PayPal (plusieurs minutes)" + +#: src/jade/tabs/widgets/assetallocation.jade:3 +msgid "Asset Allocation" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:3 +msgid "Balances" +msgstr "Soldes" + +#: src/jade/tabs/widgets/balances.jade:12 +msgid "Balance
{{ account.Balance | rpamount }} XRP" +msgstr "Solde
{{ account.Balance | rpamount }} XRP" + +#: src/jade/tabs/widgets/balances.jade:16 +msgid "Reserve" +msgstr "Réserve" + +#: src/jade/tabs/widgets/balances.jade:18 +msgid "Reserve amount" +msgstr "Montant de la réserve" + +#: src/jade/tabs/widgets/balances.jade:18 +msgid "" +"Minimum amount of XRP required to fund your account. You cannot spend the " +"reserve." +msgstr "Montant minimum de XRP nécessaire pour financer votre compte. Vous ne pouvez pas dépenser la réserve." + +#: src/jade/tabs/widgets/balances.jade:20 +msgid "Reserve amount
{{ account.reserve | rpamount }} XRP" +msgstr "Montant de la réserve
{{ account.reserve | rpamount }} XRP" + +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Available amount" +msgstr "Montant disponible" + +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Total amount of XRP in your account minus the reserve amount." +msgstr "Montant total de XRP sur votre compte moins le montant de la réserve." + +#: src/jade/tabs/widgets/balances.jade:28 +msgid "Available amount
{{ account.max_spend | rpamount }} XRP" +msgstr "Montant disponible
{{ account.max_spend | rpamount }} XRP" + +#: src/jade/tabs/widgets/balances.jade:35 +msgid "" +"Balance
{{ entry.total | rpamount:{precision: 30, hard_precision: true} " +"}} {{ entry.total | rpcurrency }}" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:43 +msgid "" +"Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, " +"hard_precision: true} }} {{ entry.total | rpcurrency }}" +msgstr "" + +#: src/jade/tabs/widgets/markets.jade:3 +msgid "Markets" +msgstr "Marchés" + +#: src/jade/tabs/widgets/networth.jade:3 +msgid "Net Worth" +msgstr "Valeur Nette" + +#: src/jade/tabs/widgets/networth.jade:8 +msgid "{{1:{{1:In}}}}{{2}}" +msgstr "" + +#: src/jade/tabs/widgets/networth.jade:14 +msgid "Estimated from latest trade price" +msgstr "Estimé à partir du dernier prix d'échange" + +#: src/jade/tabs/widgets/networth.jade:23 +msgid "(excluding negative balances)" +msgstr "(hors soldes négatifs)" + +#: src/jade/tabs/widgets/orders.jade:3 +msgid "My Orders" +msgstr "Mes Ordres" + +#: src/jade/tabs/widgets/orders.jade:68 +msgid "trade currencies" +msgstr "Échanger des devises" + +#: src/jade/tabs/xrp.jade:19 +msgid "Ripple name: {{1}}{{2}}{{3}}" +msgstr "Nom Ripple: {{1}}{{2}}{{3}}" + +#: src/jade/tabs/xrp.jade:21 +msgid "loading..." +msgstr "chargement..." + +#: src/jade/tabs/xrp.jade:23 +msgid "Show address" +msgstr "Afficher l'adresse" + +#: src/jade/tabs/xrp.jade:25 +msgid "" +"Ripple names are a new feature on Ripple! Use your Ripple name " +"(~{{userCredentials.username}}) to receive money. You can still use your " +"full Ripple address, and while we are working to transition to Ripple names," +" some gateways may still ask for your full address." +msgstr "Les noms Ripple sont une nouvelle fonctionnalité sur Ripple! Utilisez votre nom Ripple (~{{userCredentials.username}}) pour recevoir de l'argent. Vous pouvez toujours utiliser votre adresse Ripple complète, et pendant que nous travaillons à la transition vers les noms Ripple, certaines passerelles peuvent encore demander votre adresse complète." diff --git a/l10n/languages.json b/l10n/languages.json index ec276b0ce..f788d9205 100644 --- a/l10n/languages.json +++ b/l10n/languages.json @@ -4,6 +4,7 @@ {"code": "de", "name": "german", "nativeName": "Deutsch"}, {"code": "en", "name": "english", "nativeName": "English"}, {"code": "es", "name": "spanish", "nativeName": "Español"}, + {"code": "fr", "name": "french", "nativeName": "Français"}, {"code": "he_IL", "name": "hebrew_israel", "nativeName": "עברית"}, {"code": "it", "name": "italian", "nativeName": "Italiano"}, {"code": "ja", "name": "japanese", "nativeName": "日本の"}, diff --git a/src/jade/client/index.jade b/src/jade/client/index.jade index f4d2e8524..841152f84 100755 --- a/src/jade/client/index.jade +++ b/src/jade/client/index.jade @@ -178,3 +178,5 @@ div#wrapper a(href="#/lang/ja") 日本語 .col-sm-6 a(href="#/lang/tr") Türkçe + .col-sm-6 + a(href="#/lang/fr_FR") Français From 9a793565c5a5c402b3f6b3a3d1f373b93d8b94e1 Mon Sep 17 00:00:00 2001 From: "J.M" Date: Fri, 13 Mar 2015 20:21:11 +0100 Subject: [PATCH 064/321] [TASK] Language chooser: Sort languages English and Chinese first, other languages alphabetically. --- src/jade/client/index.jade | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/jade/client/index.jade b/src/jade/client/index.jade index 841152f84..0bea5a279 100755 --- a/src/jade/client/index.jade +++ b/src/jade/client/index.jade @@ -151,32 +151,32 @@ div#wrapper .col-sm-6 a(href="#/lang/zh_CN") 中文 .col-sm-6 - a(href="#/lang/nl_NL") Nederlands - .col-sm-6 - a(href="#/lang/it") Italiano + a(href="#/lang/ca") Català .col-sm-6 - a(href="#/lang/pl") Polski + a(href="#/lang/de") Deutsch .col-sm-6 a(href="#/lang/es") Español .col-sm-6 - a(href="#/lang/pt") Português + a(href="#/lang/fr_FR") Français .col-sm-6 - a(href="#/lang/de") Deutsch + a(href="#/lang/he_IL") עברית .col-sm-6 - a(href="#/lang/nb_NO") Norsk + a(href="#/lang/it") Italiano .col-sm-6 - a(href="#/lang/sk") Slovenská + a(href="#/lang/ja") 日本語 .col-sm-6 - a(href="#/lang/ca") Català + a(href="#/lang/nl_NL") Nederlands .col-sm-6 - a(href="#/lang/he_IL") עברית + a(href="#/lang/nb_NO") Norsk .col-sm-6 - a(href="#/lang/ru") Русский + a(href="#/lang/pl") Polski + .col-sm-6 + a(href="#/lang/pt") Português .col-sm-6 a(href="#/lang/ro") Român .col-sm-6 - a(href="#/lang/ja") 日本語 + a(href="#/lang/ru") Русский .col-sm-6 - a(href="#/lang/tr") Türkçe + a(href="#/lang/sk") Slovenská .col-sm-6 - a(href="#/lang/fr_FR") Français + a(href="#/lang/tr") Türkçe From aa23c9ac01417e17b97297d477a20fa432dec3ee Mon Sep 17 00:00:00 2001 From: "J.M" Date: Fri, 13 Mar 2015 20:56:34 +0100 Subject: [PATCH 065/321] [FIX] Fix French language code --- l10n/languages.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/l10n/languages.json b/l10n/languages.json index f788d9205..c06e73cf6 100644 --- a/l10n/languages.json +++ b/l10n/languages.json @@ -4,7 +4,7 @@ {"code": "de", "name": "german", "nativeName": "Deutsch"}, {"code": "en", "name": "english", "nativeName": "English"}, {"code": "es", "name": "spanish", "nativeName": "Español"}, - {"code": "fr", "name": "french", "nativeName": "Français"}, + {"code": "fr_FR", "name": "french", "nativeName": "Français"}, {"code": "he_IL", "name": "hebrew_israel", "nativeName": "עברית"}, {"code": "it", "name": "italian", "nativeName": "Italiano"}, {"code": "ja", "name": "japanese", "nativeName": "日本の"}, From c4a989ca7f9f107d6181cdc70d8e923977c9b0ad Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Sat, 17 Jan 2015 21:24:19 +0200 Subject: [PATCH 066/321] [FIX] Send: better show input errors (RT-2975) Re-validate input when currency changed, and do not start pathfinding if input is not valid --- src/js/tabs/exchange.controller.js | 55 ++++++++++++++++++++++++------ 1 file changed, 45 insertions(+), 10 deletions(-) diff --git a/src/js/tabs/exchange.controller.js b/src/js/tabs/exchange.controller.js index 8c7458d55..803a44452 100644 --- a/src/js/tabs/exchange.controller.js +++ b/src/js/tabs/exchange.controller.js @@ -42,11 +42,9 @@ ExchangeTab.prototype.angular = function (module) currency: xrpCurrency }; - $scope.$watch('exchange.amount', function () { - $scope.update_exchange(); - }, true); + $scope.$watch('exchange.amount', runUpdateExchangeIfNeeded, true); - $scope.$watch('exchange.currency_name', function () { + $scope.$watch('exchange.currency_name', function() { var exchange = $scope.exchange; var currency = Currency.from_human($scope.exchange.currency_name ? $scope.exchange.currency_name : 'XRP'); exchange.currency_obj = currency; @@ -54,9 +52,29 @@ ExchangeTab.prototype.angular = function (module) exchange.currency_name = currency.to_human({ full_name: $scope.currencies_all_keyed[currency.get_iso()] ? $scope.currencies_all_keyed[currency.get_iso()].name : null }); - $scope.update_exchange(); + setImmediate(function() { + if ($scope.exchangeForm.amount !== undefined) { + $scope.$apply(function() { + // hack to re-validate input. remove this and uncomment $validate() when upgraded to angularjs 1.3 + $scope.exchangeForm.amount.$modelValue = ''; + $scope.exchangeForm.amount.$setViewValue($scope.exchange.amount); + // $scope.exchangeForm.amount.$validate(); + runUpdateExchangeIfNeeded(); + }); + } + }); }, true); + function runUpdateExchangeIfNeeded() { + if ($scope.exchangeForm.$valid) { + $scope.update_exchange(); + } else { + onDestroy(); + $scope.reset_paths(); + $scope.exchange.path_status = 'waiting'; + } + } + $scope.gotoFund = function() { $location.path('/xrp'); }; @@ -119,7 +137,11 @@ ExchangeTab.prototype.angular = function (module) } }; - $scope.update_paths = function () { + $scope.update_paths = function() { + if ($scope.exchangeForm.$invalid) { + // something was changed in form so now it is invalid + return; + } $scope.$apply(function () { $scope.exchange.path_status = 'pending'; var amount = $scope.exchange.amount_feedback; @@ -138,7 +160,11 @@ ExchangeTab.prototype.angular = function (module) var lastUpdate; - pf.on('update', function (upd) { + pf.on('update', function(upd) { + if (pf == null) { + // request came after calling pf.close(); + return; + } // if no paths found and it is first update - skip it, it often wrong if (pathfindJustStarted && (!upd.alternatives || !upd.alternatives.length)) { pathfindJustStarted = false; @@ -194,10 +220,16 @@ ExchangeTab.prototype.angular = function (module) } }); }); + pf.on('error', function(res) { + $scope.$apply(function() { + $scope.reset_paths(); + $scope.exchange.path_status = 'waiting'; + }); + }); }); }; - var updateCurrencyOptions = function(){ + var updateCurrencyOptions = function() { // create a list of currency codes from the trust line objects var currencies = _.uniq(_.map($scope.lines, function (line) { return line.currency; @@ -460,12 +492,15 @@ ExchangeTab.prototype.angular = function (module) updateCurrencyOptions(); // Stop the pathfinding when leaving the page - $scope.$on('$destroy', function(){ + $scope.$on('$destroy', onDestroy); + + function onDestroy() { if (pf && 'function' === typeof pf.close) { pf.close(); + pf = null; } clearInterval(timer); - }); + } }]); }; From b8f0761a7acffcf5ee1af252b488b6693c144f59 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Sat, 24 Jan 2015 00:47:16 +0200 Subject: [PATCH 067/321] [TEST] Exchange: fix unit tests (RT-2975) --- src/js/entry/web.js | 3 ++ test/unit/tabs/exchange.controller.spec.js | 54 +++++++++++++--------- 2 files changed, 36 insertions(+), 21 deletions(-) diff --git a/src/js/entry/web.js b/src/js/entry/web.js index f9274c181..1aa945a3b 100644 --- a/src/js/entry/web.js +++ b/src/js/entry/web.js @@ -137,6 +137,9 @@ var app = angular var rippleclient = window.rippleclient = {}; rippleclient.app = app; rippleclient.types = types; +// for unit tests +rippleclient.tabs = {}; +_.each(tabs, function(tab) { rippleclient.tabs[tab.tabName] = tab; }); // Install basic page template angular.element('body').prepend(require('../../jade/client/index.jade')()); diff --git a/test/unit/tabs/exchange.controller.spec.js b/test/unit/tabs/exchange.controller.spec.js index c670af4d0..212ed8e01 100644 --- a/test/unit/tabs/exchange.controller.spec.js +++ b/test/unit/tabs/exchange.controller.spec.js @@ -4,7 +4,7 @@ describe('ExchangeCtrl', function() { var scope, dependencies, ctrl, network; beforeEach(module("rp")); - beforeEach(inject(function ($rootScope, $controller, rpNetwork) { + beforeEach(inject(function ($rootScope, $controller, rpNetwork, $compile, $document, rpId) { scope = $rootScope.$new(); network = rpNetwork; @@ -36,6 +36,7 @@ describe('ExchangeCtrl', function() { } }; + /* dependencies = { $scope: scope, $element: null, @@ -45,9 +46,13 @@ describe('ExchangeCtrl', function() { account: 'r4EwBWxrx5HxYRyisfGzMto3AT8FZiYdWk' } }; + */ + rpId.loginStatus = true; + rpId.account = 'r4EwBWxrx5HxYRyisfGzMto3AT8FZiYdWk'; - - ctrl = $controller("ExchangeCtrl", dependencies); + var templ = angular.element( rippleclient.tabs.exchange.generateHtml() ); + var element = $compile( templ )(scope); + scope = element.scope(); })); it('should be initialized with defaults', function (done) { @@ -87,38 +92,45 @@ describe('ExchangeCtrl', function() { done(); }); + it('should update paths after entering 2 as amount for XRP', function(done) { scope.exchange.amount = "2"; + var spy = sinon.spy(scope, 'reset_paths'); scope.$apply(); - assert(spy.called); - assert.strictEqual(scope.exchange.alternatives.length, 0); - assert.strictEqual(scope.exchange.amount_feedback.to_text_full(), "2/XRP"); + setTimeout(function() { + assert(spy.called, 'reset_paths not called'); + assert.strictEqual(scope.exchange.alternatives.length, 0, 'paths not empty'); + assert.strictEqual(scope.exchange.amount_feedback && scope.exchange.amount_feedback.to_text_full(), "2/XRP", 'name wrong'); - done(); + done(); + }, 100); }); + it('should update paths after changing currency choice', function(done) { var spy = sinon.spy(scope, 'update_exchange'); + scope.exchange.amount = "2"; scope.exchange.currency_name = "USD"; scope.$apply(); - assert(spy.called); + setTimeout(function() { + assert(spy.called, 'update_exchange not called'); - assert.isObject(scope.exchange.currency_obj); - assert.strictEqual(scope.exchange.currency_code, 'USD'); - assert.strictEqual(scope.exchange.currency_name, 'USD - US Dollar'); + assert.isObject(scope.exchange.currency_obj, 'currency_obj not object'); + assert.strictEqual(scope.exchange.currency_code, 'USD', 'currency_code not USD'); + assert.strictEqual(scope.exchange.currency_name, 'USD - US Dollar', 'currency_name not USD'); - assert.strictEqual(scope.exchange.path_status, 'waiting'); + assert.strictEqual(scope.exchange.path_status, 'pending', 'path_status to pending'); - done(); + done(); + }, 100); }); - it('should update paths after entering 2 as amount for XRP', function(done) { scope.exchange.amount = "0.001"; @@ -126,13 +138,13 @@ describe('ExchangeCtrl', function() { var spy = sinon.spy(scope, 'reset_paths'); scope.$apply(); - assert(spy.called); - assert.strictEqual(scope.exchange.alternatives.length, 0); - assert.strictEqual(scope.exchange.amount_feedback.to_text_full(), "0.001/USD/r4EwBWxrx5HxYRyisfGzMto3AT8FZiYdWk"); + setTimeout(function() { + assert(spy.called, 'reset_paths not called for USD'); + assert.strictEqual(scope.exchange.alternatives.length, 0, 'paths not null'); + assert.strictEqual(scope.exchange.amount_feedback.to_text_full(), "0.001/USD/r4EwBWxrx5HxYRyisfGzMto3AT8FZiYdWk", 'feedback invalid'); - done(); + done(); + }, 100); }); - - -}); \ No newline at end of file +}); From 799a4ae48797dde88ee8a9ef3b28dc13f0b2dbf2 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 27 Jan 2015 01:34:57 +0200 Subject: [PATCH 068/321] [FIx] fix js styles (RT-2975) --- test/unit/tabs/exchange.controller.spec.js | 85 ++++++++++------------ 1 file changed, 39 insertions(+), 46 deletions(-) diff --git a/test/unit/tabs/exchange.controller.spec.js b/test/unit/tabs/exchange.controller.spec.js index 212ed8e01..23112059d 100644 --- a/test/unit/tabs/exchange.controller.spec.js +++ b/test/unit/tabs/exchange.controller.spec.js @@ -3,7 +3,7 @@ describe('ExchangeCtrl', function() { var scope, dependencies, ctrl, network; - beforeEach(module("rp")); + beforeEach(module('rp')); beforeEach(inject(function ($rootScope, $controller, rpNetwork, $compile, $document, rpId) { scope = $rootScope.$new(); network = rpNetwork; @@ -14,25 +14,25 @@ describe('ExchangeCtrl', function() { ]; scope.currencies_all_keyed = { - "XRP": { - "value": "XRP", - "name": "Ripples", - "order": 5 + XRP: { + value: 'XRP', + name: 'Ripples', + order: 5 }, - "USD": { - "value": "USD", - "name": "US Dollar", - "order": 4 + USD: { + value: 'USD', + name: 'US Dollar', + order: 4 }, - "BTC": { - "value": "BTC", - "name": "Bitcoin", - "order": 2 + BTC: { + value: 'BTC', + name: 'Bitcoin', + order: 2 }, - "XAU": { - "value": "XAU", - "name": "Gold", - "order": 0 + XAU: { + value: 'XAU', + name: 'Gold', + order: 0 } }; @@ -50,12 +50,12 @@ describe('ExchangeCtrl', function() { rpId.loginStatus = true; rpId.account = 'r4EwBWxrx5HxYRyisfGzMto3AT8FZiYdWk'; - var templ = angular.element( rippleclient.tabs.exchange.generateHtml() ); - var element = $compile( templ )(scope); + var templ = angular.element(rippleclient.tabs.exchange.generateHtml()); + var element = $compile(templ)(scope); scope = element.scope(); })); - it('should be initialized with defaults', function (done) { + it('should be initialized with defaults', function(done) { assert.isObject(scope.xrp); assert.strictEqual(scope.xrp.name, 'XRP - Ripples'); assert.strictEqual(scope.xrp.code, 'XRP'); @@ -64,23 +64,22 @@ describe('ExchangeCtrl', function() { }); it('should update currency_choices after setting trust lines', function(done) { - scope.lines = { - "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59BUSD": { - "account": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", - "currency": "USD" + rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59BUSD: { + account: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + currency: 'USD' }, - "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2qUSD": { - "account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", - "currency": "USD" + rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2qUSD: { + account: 'rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q', + currency: 'USD' }, - "rhXzSyt1q9J8uiFXpK3qSugAAPJKXLtnrFUSD": { - "account": "rhXzSyt1q9J8uiFXpK3qSugAAPJKXLtnrF", - "currency": "USD" + rhXzSyt1q9J8uiFXpK3qSugAAPJKXLtnrFUSD: { + account: 'rhXzSyt1q9J8uiFXpK3qSugAAPJKXLtnrF', + currency: 'USD' }, - "rs9M85karFkCRjvc6KMWn8Coigm9cbcgcx015841551A748AD2C1F76FF6ECB0CCCD00000000": { - "account": "rs9M85karFkCRjvc6KMWn8Coigm9cbcgcx", - "currency": "015841551A748AD2C1F76FF6ECB0CCCD00000000" + rs9M85karFkCRjvc6KMWn8Coigm9cbcgcx015841551A748AD2C1F76FF6ECB0CCCD00000000: { + account: 'rs9M85karFkCRjvc6KMWn8Coigm9cbcgcx', + currency: '015841551A748AD2C1F76FF6ECB0CCCD00000000' } }; @@ -92,10 +91,8 @@ describe('ExchangeCtrl', function() { done(); }); - it('should update paths after entering 2 as amount for XRP', function(done) { - - scope.exchange.amount = "2"; + scope.exchange.amount = '2'; var spy = sinon.spy(scope, 'reset_paths'); scope.$apply(); @@ -103,18 +100,16 @@ describe('ExchangeCtrl', function() { setTimeout(function() { assert(spy.called, 'reset_paths not called'); assert.strictEqual(scope.exchange.alternatives.length, 0, 'paths not empty'); - assert.strictEqual(scope.exchange.amount_feedback && scope.exchange.amount_feedback.to_text_full(), "2/XRP", 'name wrong'); + assert.strictEqual(scope.exchange.amount_feedback && scope.exchange.amount_feedback.to_text_full(), '2/XRP', 'name wrong'); done(); }, 100); }); - it('should update paths after changing currency choice', function(done) { - var spy = sinon.spy(scope, 'update_exchange'); - scope.exchange.amount = "2"; - scope.exchange.currency_name = "USD"; + scope.exchange.amount = '2'; + scope.exchange.currency_name = 'USD'; scope.$apply(); @@ -132,19 +127,17 @@ describe('ExchangeCtrl', function() { }); it('should update paths after entering 2 as amount for XRP', function(done) { - - scope.exchange.amount = "0.001"; - scope.exchange.currency_name = "USD"; + scope.exchange.amount = '0.001'; + scope.exchange.currency_name = 'USD'; var spy = sinon.spy(scope, 'reset_paths'); scope.$apply(); setTimeout(function() { assert(spy.called, 'reset_paths not called for USD'); assert.strictEqual(scope.exchange.alternatives.length, 0, 'paths not null'); - assert.strictEqual(scope.exchange.amount_feedback.to_text_full(), "0.001/USD/r4EwBWxrx5HxYRyisfGzMto3AT8FZiYdWk", 'feedback invalid'); + assert.strictEqual(scope.exchange.amount_feedback.to_text_full(), '0.001/USD/r4EwBWxrx5HxYRyisfGzMto3AT8FZiYdWk', 'feedback invalid'); done(); }, 100); }); - }); From 0c4bd48dd0b40fa7e61bf37fc48a28915228baa1 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 5 Mar 2015 19:55:03 +0200 Subject: [PATCH 069/321] [FIX] use $validate (RT-2975) use $validate to force model re-validation --- src/js/tabs/exchange.controller.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/js/tabs/exchange.controller.js b/src/js/tabs/exchange.controller.js index 803a44452..9246bf43b 100644 --- a/src/js/tabs/exchange.controller.js +++ b/src/js/tabs/exchange.controller.js @@ -55,10 +55,8 @@ ExchangeTab.prototype.angular = function (module) setImmediate(function() { if ($scope.exchangeForm.amount !== undefined) { $scope.$apply(function() { - // hack to re-validate input. remove this and uncomment $validate() when upgraded to angularjs 1.3 - $scope.exchangeForm.amount.$modelValue = ''; $scope.exchangeForm.amount.$setViewValue($scope.exchange.amount); - // $scope.exchangeForm.amount.$validate(); + $scope.exchangeForm.amount.$validate(); runUpdateExchangeIfNeeded(); }); } From d9c0cc67a68ff7b6207aeac2bb7f6f2dad28d928 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 12 Mar 2015 23:03:22 +0200 Subject: [PATCH 070/321] [TEST] cleanup old commented code (RT-2975) --- test/unit/tabs/exchange.controller.spec.js | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/test/unit/tabs/exchange.controller.spec.js b/test/unit/tabs/exchange.controller.spec.js index 23112059d..26f5efb79 100644 --- a/test/unit/tabs/exchange.controller.spec.js +++ b/test/unit/tabs/exchange.controller.spec.js @@ -1,7 +1,7 @@ 'use strict'; describe('ExchangeCtrl', function() { - var scope, dependencies, ctrl, network; + var scope, ctrl, network; beforeEach(module('rp')); beforeEach(inject(function ($rootScope, $controller, rpNetwork, $compile, $document, rpId) { @@ -36,17 +36,6 @@ describe('ExchangeCtrl', function() { } }; - /* - dependencies = { - $scope: scope, - $element: null, - $network: rpNetwork, - rpId: { - loginStatus: true, - account: 'r4EwBWxrx5HxYRyisfGzMto3AT8FZiYdWk' - } - }; - */ rpId.loginStatus = true; rpId.account = 'r4EwBWxrx5HxYRyisfGzMto3AT8FZiYdWk'; From 5f338ef07ebb45c8ad2f69fbf0e9c1757dd50bd7 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Fri, 13 Mar 2015 23:39:14 +0200 Subject: [PATCH 071/321] [FIX] initialize pf var (RT-2975) initialize pf var and use === to check for null --- src/js/tabs/exchange.controller.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/js/tabs/exchange.controller.js b/src/js/tabs/exchange.controller.js index 9246bf43b..dd20c4f0e 100644 --- a/src/js/tabs/exchange.controller.js +++ b/src/js/tabs/exchange.controller.js @@ -29,7 +29,8 @@ ExchangeTab.prototype.angular = function (module) { var pathUpdateTimeout; - var timer, pf; + var timer; + var pf = null; // Remember user preference on Convert vs. Trade $rootScope.ripple_exchange_selection_trade = false; @@ -159,7 +160,7 @@ ExchangeTab.prototype.angular = function (module) var lastUpdate; pf.on('update', function(upd) { - if (pf == null) { + if (pf === null) { // request came after calling pf.close(); return; } From 1e96a1a09e9ef68d685f8f83b9103518f1f15389 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Mon, 9 Mar 2015 21:13:10 +0200 Subject: [PATCH 072/321] [FIX] Update "Net Worth" drop down (RT-3091) Update "Net Worth" drop down when names of currencies issuers are resolved --- src/js/services/id.service.js | 33 +++++++++++++++++++++---------- src/js/tabs/balance.controller.js | 25 ++++++++++++++++++----- 2 files changed, 43 insertions(+), 15 deletions(-) diff --git a/src/js/services/id.service.js b/src/js/services/id.service.js index 114d23790..87a44d92a 100644 --- a/src/js/services/id.service.js +++ b/src/js/services/id.service.js @@ -637,11 +637,11 @@ module.factory('rpId', ['$rootScope', '$location', '$route', '$routeParams', '$t }; /** - * Find Ripple Name - * - * Find a ripple name for a given ripple address + * Find Ripple Name + * + * Find a ripple name for a given ripple address */ - Id.prototype.resolveNameSync = function (address, options) { + Id.prototype.resolveNameSync = function(address, options) { if (!this.resolvedNames[address]) { if (!this.serviceInvoked[address]) { this.resolveName(address, options); @@ -652,11 +652,18 @@ module.factory('rpId', ['$rootScope', '$location', '$route', '$routeParams', '$t } /** - * Find Ripple Name - * - * Find a ripple name for a given ripple address + * */ - Id.prototype.resolveName = function (address, options) { + Id.prototype.addressDontHaveName = function(address) { + return this.resolvedNames[address] === address; + } + + /** + * Find Ripple Name + * + * Find a ripple name for a given ripple address + */ + Id.prototype.resolveName = function(address, options) { var self = this; var deferred = $q.defer(); var strippedValue = webutil.stripRippleAddress(address); @@ -670,11 +677,12 @@ module.factory('rpId', ['$rootScope', '$location', '$route', '$routeParams', '$t if (!this.resolvedNames[address]) { if (!this.serviceInvoked[address]) { - this.serviceInvoked[address] = true; + this.serviceInvoked[address] = deferred; // Get the blobvault url rippleVaultClient.AuthInfo.get(Options.domain, strippedValue, function(err, data) { if (err) { + self.serviceInvoked[address] = false; deferred.reject(err); return; } @@ -690,10 +698,15 @@ module.factory('rpId', ['$rootScope', '$location', '$route', '$routeParams', '$t self.resolvedNames[address] = address; } + self.serviceInvoked[address] = true; deferred.resolve(self.resolvedNames[address]); }); } else { - deferred.resolve(address); + if (!_.isBoolean(this.serviceInvoked[address]) && _.isFunction(this.serviceInvoked[address].resolve)) { + return this.serviceInvoked[address].promise; + } else { + deferred.resolve(address); + } } } else { deferred.resolve(self.resolvedNames[address]); diff --git a/src/js/tabs/balance.controller.js b/src/js/tabs/balance.controller.js index a0d6133bd..bc73d23f3 100644 --- a/src/js/tabs/balance.controller.js +++ b/src/js/tabs/balance.controller.js @@ -22,8 +22,8 @@ BalanceTab.prototype.generateHtml = function () BalanceTab.prototype.angular = function (module) { - module.controller('BalanceCtrl', ['$scope', 'rpId', 'rpNetwork', '$filter', '$http', 'rpAppManager', - function ($scope, id, network, $filter, $http, appManager) + module.controller('BalanceCtrl', ['$scope', 'rpId', 'rpNetwork', '$filter', '$http', 'rpAppManager', '$q', + function ($scope, id, network, $filter, $http, appManager, $q) { // @@ -119,7 +119,9 @@ BalanceTab.prototype.angular = function (module) $scope.$on('$balancesUpdate', updateExchangeRates); - $scope.$watch('exchangeRates', function(){ + $scope.$watch('exchangeRates', updateNetWorthDropdown, true); + + function updateNetWorthDropdown() { if ($scope.exchangeRates) { var isAmbiguous = {}; var okser = Object.keys($scope.exchangeRates); @@ -136,10 +138,17 @@ BalanceTab.prototype.angular = function (module) } } } - $scope.valueMetrics = okser.map(function(code){ + + var names = []; + + $scope.valueMetrics = okser.map(function(code) { var curIssuer = code.split(':'); + var currencyName = $filter('rpcurrency')(ripple.Amount.from_human('0 ' + curIssuer[0])); // This is really messy var issuerName = curIssuer.length > 1 ? $filter('rpripplename')(curIssuer[1], false) : ''; + if (isAmbiguous[curIssuer[0]] && issuerName.indexOf('…') !== -1 && !id.addressDontHaveName(curIssuer[1])) { + names.push(id.resolveName(curIssuer[1], { tilde: true })); + } return { code: code, name: currencyName + (isAmbiguous[curIssuer[0]] ? '.' + issuerName : ''), @@ -147,9 +156,15 @@ BalanceTab.prototype.angular = function (module) }; }); + if (names.length > 0) { + $q.all(names).then(function() { + updateNetWorthDropdown(); + }); + } + updateAggregateValueAsXrp(); } - }, true); + } // Whenever the XRP balance changes, update the aggregate value, but no need to refresh exchangeRates. // Update the displayed amount. From 5e893a188e3525df48689d6690fab3309eb2a723 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 5 Mar 2015 19:20:18 +0200 Subject: [PATCH 073/321] [TASK] Save server settings in blob (RT-3224) Advanced: Save server settings in the blobvault --- src/js/services/id.service.js | 13 +++++++++++++ src/js/tabs/advanced.controller.js | 4 ++++ src/js/util/settings.js | 6 ++++++ 3 files changed, 23 insertions(+) diff --git a/src/js/services/id.service.js b/src/js/services/id.service.js index 114d23790..cbedec692 100644 --- a/src/js/services/id.service.js +++ b/src/js/services/id.service.js @@ -155,6 +155,19 @@ module.factory('rpId', ['$rootScope', '$location', '$route', '$routeParams', '$t // Replace default settings with user settings from blob, if blob is empty, then reuse the original value Options.confirmation = $.extend(true, {}, settings.getSetting($scope.userBlob, 'confirmation', Options.confirmation)); + var blobServers = settings.getSetting($scope.userBlob, 'server.servers', []); + if (_.isArray(blobServers) && blobServers.length > 0 && !_.isEqual(blobServers, settings.getClearServers(Options.server.servers))) { + Options.server.servers = blobServers; + // Save in local storage + if (!store.disabled) { + store.set('ripple_settings', JSON.stringify(Options)); + // Reload + // A force reload is necessary here because we have to re-initialize + // the network object with the new server list. + location.reload(); + } + } + // Account address if (!$scope.address && d.account_id) { $scope.address = d.account_id; diff --git a/src/js/tabs/advanced.controller.js b/src/js/tabs/advanced.controller.js index 933975908..cd2261c44 100644 --- a/src/js/tabs/advanced.controller.js +++ b/src/js/tabs/advanced.controller.js @@ -178,6 +178,8 @@ AdvancedTab.prototype.angular = function(module) if (!store.disabled) { store.set('ripple_settings', JSON.stringify($scope.options)); } + var servers = settings.getClearServers($scope.options.server.servers); + $scope.userBlob.set('/clients/rippletradecom/server/servers', servers); // Notify the user $scope.success.removeServer = true; @@ -214,6 +216,8 @@ AdvancedTab.prototype.angular = function(module) if (!store.disabled) { store.set('ripple_settings', JSON.stringify($scope.options)); } + var servers = settings.getClearServers($scope.options.server.servers); + $scope.userBlob.set('/clients/rippletradecom/server/servers', servers); // Notify the user $scope.success.saveServer = true; diff --git a/src/js/util/settings.js b/src/js/util/settings.js index e54363ff3..15810dc0c 100644 --- a/src/js/util/settings.js +++ b/src/js/util/settings.js @@ -60,3 +60,9 @@ exports.getSetting = function(userBlob, settingName, def) { } return def; }; + +exports.getClearServers = function(servers) { + return _.map(servers, function(server) { + return _.pick(server, 'host', 'port', 'secure'); + }); +} From 8e6351a84875e684c588f79bf48a82f60db74718 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Fri, 6 Mar 2015 10:10:52 +0200 Subject: [PATCH 074/321] [FIX] refactor some code (RT-3224) wait for bolb's callback on .set before reloading location --- src/js/tabs/advanced.controller.js | 31 +++++++++++++++--------------- src/js/util/settings.js | 4 +++- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/js/tabs/advanced.controller.js b/src/js/tabs/advanced.controller.js index cd2261c44..8b78ec5db 100644 --- a/src/js/tabs/advanced.controller.js +++ b/src/js/tabs/advanced.controller.js @@ -174,12 +174,7 @@ AdvancedTab.prototype.angular = function(module) $scope.remove = function () { $scope.options.server.servers.splice($scope.index, 1); - // Save in local storage - if (!store.disabled) { - store.set('ripple_settings', JSON.stringify($scope.options)); - } - var servers = settings.getClearServers($scope.options.server.servers); - $scope.userBlob.set('/clients/rippletradecom/server/servers', servers); + $scope.persist(); // Notify the user $scope.success.removeServer = true; @@ -212,21 +207,25 @@ AdvancedTab.prototype.angular = function(module) $scope.server.port = $scope.server.secure ? '443' : '80' } + $scope.persist(function() { + // Reload + // A force reload is necessary here because we have to re-initialize + // the network object with the new server list. + location.reload(); + }); + + // Notify the user + $scope.success.saveServer = true; + }; + + $scope.persist = function(cb) { // Save in local storage if (!store.disabled) { store.set('ripple_settings', JSON.stringify($scope.options)); } var servers = settings.getClearServers($scope.options.server.servers); - $scope.userBlob.set('/clients/rippletradecom/server/servers', servers); - - // Notify the user - $scope.success.saveServer = true; - - // Reload - // A force reload is necessary here because we have to re-initialize - // the network object with the new server list. - location.reload(); - }; + $scope.userBlob.set('/clients/rippletradecom/server/servers', servers, cb); + } } ]); }; diff --git a/src/js/util/settings.js b/src/js/util/settings.js index 15810dc0c..d2e9add38 100644 --- a/src/js/util/settings.js +++ b/src/js/util/settings.js @@ -63,6 +63,8 @@ exports.getSetting = function(userBlob, settingName, def) { exports.getClearServers = function(servers) { return _.map(servers, function(server) { - return _.pick(server, 'host', 'port', 'secure'); + var o = _.pick(server, 'host', 'port', 'secure'); + o.port = +o.port; + return o; }); } From 8be79dce6f5477f85c4e6d4e81774d5335c7d292 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 12 Mar 2015 23:11:46 +0200 Subject: [PATCH 075/321] [FIX] add some code comment (RT-3224) --- src/js/util/settings.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/js/util/settings.js b/src/js/util/settings.js index d2e9add38..82ed61824 100644 --- a/src/js/util/settings.js +++ b/src/js/util/settings.js @@ -64,7 +64,9 @@ exports.getSetting = function(userBlob, settingName, def) { exports.getClearServers = function(servers) { return _.map(servers, function(server) { var o = _.pick(server, 'host', 'port', 'secure'); - o.port = +o.port; + // when edited it comes as string from input, + // so convert to number to be stored in blob in consisten way + o.port = Number(o.port); return o; }); } From c1b1287411d5e085919dc2ab3f6be4f8993ea9c4 Mon Sep 17 00:00:00 2001 From: "J.M" Date: Sat, 15 Nov 2014 21:50:56 +0000 Subject: [PATCH 076/321] [FIX] Trust: Modify table UI breakpoints More room for Limit column. --- src/jade/tabs/trust.jade | 174 +++++++++++++++++++++------------------ 1 file changed, 96 insertions(+), 78 deletions(-) diff --git a/src/jade/tabs/trust.jade b/src/jade/tabs/trust.jade index a881cf79d..2311fb8de 100644 --- a/src/jade/tabs/trust.jade +++ b/src/jade/tabs/trust.jade @@ -78,14 +78,16 @@ section.col-xs-12.content(ng-controller="TrustCtrl") rp-account-exists-loading="counterparty_loading" rp-dest, rp-dest-address, rp-dest-contact, rp-not-me, rp-dest-email rp-dest-ripple-name, rp-dest-model="counterparty" + rp-dest-loading="counterparty_loading" required rp-autofill='$routeParams.to' rp-autofill-counterparty_view rp-autofill-on='addform_visible = true' - rp-focus, rp-spinner) + rp-focus, rp-spinner="{{counterparty_loading ? 4 : null}}") .errorGroup(ng-messages='trustForm.trust_counterparty.$dirty && trustForm.trust_counterparty.$error') div(ng-show='trustForm.trust_counterparty.$valid') - .success(ng-show='counterparty != counterparty_address && counterparty_name && !error_account_reserve', ng-bind='counterparty_address') + .success(ng-show='counterparty != counterparty_address && counterparty_name && !error_account_reserve') + | {{counterparty_address}} .error(ng-show='error_account_reserve') span(l10n) This account does not meet the minimum XRP reserve, so you cannot use it as a gateway. .error(ng-message='required', l10n) Please enter a Ripple name, contact, or address. @@ -166,7 +168,7 @@ section.col-xs-12.content(ng-controller="TrustCtrl") span.modal-permissions(l10n-inc) on your behalf div.grey-focus(ng-hide="globalOptions.advanced_feature_switch", l10n) span.modal-permissions(l10n-inc) - Hold - span(ng-bind="currency") + span {{ currency }} span.modal-permissions(l10n-inc) on your behalf div.modal-buttons button.modal-btn.btn.btn-default.btn-success.btn-md(data-dismiss="modal", ng-click="grant_confirmed()", @@ -201,99 +203,115 @@ section.col-xs-12.content(ng-controller="TrustCtrl") .col-xs-12 i(class="icon fa fa-money", ng-class="'fa-' + (entry.components[0].currency | lowercase)") span.currency(rp-currency="entry.components[0].limit", rp-currency-full) - .row.head + .row.head.hidden-xs.hidden-sm div( ng-class="{ 'col-sm-3 col-xs-2': globalOptions.advanced_feature_switch, 'col-sm-4 col-xs-4 col-md-5': !globalOptions.advanced_feature_switch }" l10n) Gateway div( ng-class="{ 'col-xs-2 col-sm-2': globalOptions.advanced_feature_switch, 'col-xs-4': !globalOptions.advanced_feature_switch }" l10n) Balance - div(ng-show="globalOptions.advanced_feature_switch", ng-class="{ 'col-xs-2': globalOptions.advanced_feature_switch }", l10n) Limit - div.col-xs-2.col-sm-1(ng-show="globalOptions.advanced_feature_switch", l10n) Min - div.col-xs-2(ng-show="globalOptions.advanced_feature_switch", l10n) Rippling - div(ng-class="{'col-xs-2' : globalOptions.advanced_feature_switch, 'col-xs-4 col-md-3': !globalOptions.advanced_feature_switch }" + div(ng-show="globalOptions.advanced_feature_switch", ng-class="{ 'col-md-2': globalOptions.advanced_feature_switch }", l10n) Limit + div.col-md-2(ng-show="globalOptions.advanced_feature_switch", l10n) Min + div.col-md-1(ng-show="globalOptions.advanced_feature_switch", l10n) Rippling + div(ng-class="{'col-md-1' : globalOptions.advanced_feature_switch, 'col-md-3': !globalOptions.advanced_feature_switch }" l10n) Edit hr#divider .lines .line(ng-controller="AccountRowCtrl", ng-repeat="component in entry.components") .row(ng-class="{ 'frozen-account': component.freeze_peer }") - .gateway(ng-class="{ 'col-sm-3 col-xs-2': globalOptions.advanced_feature_switch, 'col-md-5 col-sm-4 col-xs-4': !globalOptions.advanced_feature_switch }") - span(rp-pretty-identity="component.account", rp-pretty-identity-filters="rpcontactnamefull | rpripplename: {tilde: true}", - rp-address-popover="component.account" + .col-xs-full + .gateway(ng-class="{ 'col-md-4': globalOptions.advanced_feature_switch, 'col-md-5': !globalOptions.advanced_feature_switch }", + l10n-data-label="Gateway" ) - div(ng-class="{ 'col-xs-2 col-sm-2': globalOptions.advanced_feature_switch, 'col-xs-4': !globalOptions.advanced_feature_switch }") - span(rp-address-popover, rp-address-popover-sum="component.balance") {{ component.balance | rpamount:{rel_precision: 2} }} - .col-xs-2(ng-show="globalOptions.advanced_feature_switch", ng-class="{ 'col-xs-1': globalOptions.advanced_feature_switch }") - span(rp-address-popover, rp-address-popover-sum="component.limit") {{ component.limit | rpamount }} - .col-sm-1.col-xs-2(ng-show="globalOptions.advanced_feature_switch && component.limit_peer._offset == '-100'") - span(rp-address-popover, rp-address-popover-sum="component.limit_peer") {{ component.limit_peer | rpamount }} - .col-sm-1.col-xs-2(ng-show="globalOptions.advanced_feature_switch && component.limit_peer._offset !== '-100'", - ng-hide="component.limit_peer._offset == '-100' || !globalOptions.advanced_feature_switch") - span(rp-address-popover, rp-address-popover-sum="component.limit_peer", rp-address-popover-sum-minus, ng-bind="minVal") - .col-sm-2.col-xs-2(ng-show="globalOptions.advanced_feature_switch") - div(ng-show="component.no_ripple", l10n) Off - div(ng-hide="component.no_ripple", l10n) On - div(ng-hide="component.freeze_peer", ng-class="{ 'col-xs-2': globalOptions.advanced_feature_switch, 'col-xs-4 col-md-3': !globalOptions.advanced_feature_switch }") - a(href="", ng-hide="editing || isIncoming()", ng-click="edit_account()" - l10n) edit - span( - ng-show="isIncoming()" - rp-popover - rp-popover-placement="bottom" - rp-popover-trigger="hover" - l10n-rp-popover-title="Incoming trust" - l10n-data-content="This is an incoming trust line. Incoming trust lines are when other Ripple users trust you. You can only edit the rippling on or off option for incoming trust lines.") - a(href="", ng-click="editing || edit_account()", l10n) edit - span(ng-show="editing && !globalOptions.advanced_feature_switch") - span(ng-hide="trust.loading") - div.row.row-padding-small - .col-md-7.col-sm-7.col-xs-6 - span(ng-show='trust.balance !== "0" && orderbookStatus === "exists"') - rp-confirm( - action-text="Are you sure you want to remove this gateway? Ripple Trade will attempt to convert the remaining balance of {{ trust.balance }} {{ trust.currency }} into XRP. This action can't be undone." - action-button-text="Convert balance and remove" - action-button-css="btn btn-default btn-danger custom-btn" - action-function="delete_account()" - cancel-button-css="btn btn-cancel" - cancel-button-text="cancel" - ng-hide="showPassword==true") - button.btn.btn-block.btn-danger.submit(type="button", ng-click="load_orderbook()", ng-show="!isIncoming()", l10n) Remove - span( - rp-popover - rp-popover-placement="bottom" - rp-popover-trigger="hover" - l10n-rp-popover-title="Incoming trust" - l10n-data-content="You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you.") - button.btn.btn-block.btn-danger.submit(type="button", ng-click="load_orderbook()", ng-show="isIncoming()", disabled, l10n) Remove - span(ng-show='trust.balance !== "0" && orderbookStatus === "not"') - rp-confirm( - action-text="Are you sure you want to remove this gateway? Ripple Trade will return the balance of {{ trust.balance }} {{ trust.currency }} to the issuer. This action can't be undone." - action-button-text="Return balance and remove" - action-button-css="btn btn-default btn-danger custom-btn" - action-function="delete_account()" - cancel-button-css="btn btn-cancel" - cancel-button-text="cancel" - ng-hide="showPassword==true") - button.btn.btn-block.btn-danger.submit(type="button", ng-click="load_orderbook()", ng-show="!isIncoming()", l10n) Remove + span(rp-pretty-identity="component.account", rp-pretty-identity-filters="rpcontactnamefull | rpripplename: {tilde: true}", + rp-address-popover="component.account" + ) + div(ng-class="{ 'col-md-2': globalOptions.advanced_feature_switch, 'col-md-4': !globalOptions.advanced_feature_switch }", + l10n-data-label="Balance" + ) + span(rp-address-popover, rp-address-popover-sum="component.balance") {{ component.balance | rpamount:{rel_precision: 2} }} + .col-md-2(ng-show="globalOptions.advanced_feature_switch", + l10n-data-label="Limit" + ) + span(rp-address-popover, rp-address-popover-sum="component.limit") {{ component.limit | rpamount }} + .col-md-2(ng-show="globalOptions.advanced_feature_switch && component.limit_peer._offset == '-100'", + l10n-data-label="Min" + ) + span(rp-address-popover, rp-address-popover-sum="component.limit_peer") {{ component.limit_peer | rpamount }} + .col-md-2( + ng-show="globalOptions.advanced_feature_switch && component.limit_peer._offset !== '-100'", + ng-hide="component.limit_peer._offset == '-100' || !globalOptions.advanced_feature_switch", + l10n-data-label="Min" + ) + span(rp-address-popover, rp-address-popover-sum="component.limit_peer", rp-address-popover-sum-minus, ng-bind="minVal") + .col-md-1(ng-show="globalOptions.advanced_feature_switch", + l10n-data-label="Rippling" + ) + div(ng-show="component.no_ripple", l10n) Off + div(ng-hide="component.no_ripple", l10n) On + div(ng-hide="component.freeze_peer", ng-class="{ 'col-md-1': globalOptions.advanced_feature_switch, 'col-md-3': !globalOptions.advanced_feature_switch }") + button.btn.btn-cancel.visible-xs.visible-sm(href="", ng-hide="editing || isIncoming()", ng-click="edit_account()" + l10n) edit + a.hidden-xs.hidden-sm(href="", ng-hide="editing || isIncoming()", ng-click="edit_account()" + l10n) edit + span( + ng-show="isIncoming()" + rp-popover + rp-popover-placement="bottom" + rp-popover-trigger="hover" + l10n-rp-popover-title="Incoming trust" + l10n-data-content="This is an incoming trust line. Incoming trust lines are when other Ripple users trust you. You can only edit the rippling on or off option for incoming trust lines.") + a(href="", ng-click="editing || edit_account()", l10n) edit + span(ng-show="editing && !globalOptions.advanced_feature_switch") + span(ng-hide="trust.loading") + div.row.row-padding-small + .col-md-7.col-sm-7.col-xs-6 + span(ng-show='trust.balance !== "0" && orderbookStatus === "exists"') + rp-confirm( + action-text="Are you sure you want to remove this gateway? Ripple Trade will attempt to convert the remaining balance of {{ trust.balance }} {{ trust.currency }} into XRP. This action can't be undone." + action-button-text="Convert balance and remove" + action-button-css="btn btn-default btn-danger custom-btn" + action-function="delete_account()" + cancel-button-css="btn btn-cancel" + cancel-button-text="cancel" + ng-hide="showPassword==true") + button.btn.btn-block.btn-danger.submit(type="button", ng-click="load_orderbook()", ng-show="!isIncoming()", l10n) Remove + span( + rp-popover + rp-popover-placement="bottom" + rp-popover-trigger="hover" + l10n-rp-popover-title="Incoming trust" + l10n-data-content="You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you.") + button.btn.btn-block.btn-danger.submit(type="button", ng-click="load_orderbook()", ng-show="isIncoming()", disabled, l10n) Remove + span(ng-show='trust.balance !== "0" && orderbookStatus === "not"') + rp-confirm( + action-text="Are you sure you want to remove this gateway? Ripple Trade will return the balance of {{ trust.balance }} {{ trust.currency }} to the issuer. This action can't be undone." + action-button-text="Return balance and remove" + action-button-css="btn btn-default btn-danger custom-btn" + action-function="delete_account()" + cancel-button-css="btn btn-cancel" + cancel-button-text="cancel" + ng-hide="showPassword==true") + button.btn.btn-block.btn-danger.submit(type="button", ng-click="load_orderbook()", ng-show="!isIncoming()", l10n) Remove + span( + rp-popover + rp-popover-placement="bottom" + rp-popover-trigger="hover" + l10n-rp-popover-title="Incoming trust" + l10n-data-content="You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you.") + button.btn.btn-block.btn-danger.submit(type="button", ng-click="load_orderbook()", ng-show="component.limit._value.t === 0", disabled, l10n) Remove + span(ng-show='trust.balance === "0"') + button.btn.btn-block.btn-danger.submit(type="button", ng-click="delete_account()", ng-show="!isIncoming()", l10n) Remove span( rp-popover rp-popover-placement="bottom" rp-popover-trigger="hover" l10n-rp-popover-title="Incoming trust" l10n-data-content="You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you.") - button.btn.btn-block.btn-danger.submit(type="button", ng-click="load_orderbook()", ng-show="component.limit._value.t === 0", disabled, l10n) Remove - span(ng-show='trust.balance === "0"') - button.btn.btn-block.btn-danger.submit(type="button", ng-click="delete_account()", ng-show="!isIncoming()", l10n) Remove - span( - rp-popover - rp-popover-placement="bottom" - rp-popover-trigger="hover" - l10n-rp-popover-title="Incoming trust" - l10n-data-content="You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you.") - button.btn.btn-block.btn-danger.submit(type="button", ng-click="delete_account()", ng-show="isIncoming()", disabled, l10n) Remove - .col-md-5.col-sm-5.col-xs-6 - a.btn.btn-block.btn-cancel(href="", ng-click="cancel()" - ng-disabled="trust.loading", l10n) cancel + button.btn.btn-block.btn-danger.submit(type="button", ng-click="delete_account()", ng-show="isIncoming()", disabled, l10n) Remove + .col-md-5.col-sm-5.col-xs-6 + a.btn.btn-block.btn-cancel(href="", ng-click="cancel()" + ng-disabled="trust.loading", l10n) cancel //- Account Freeze div.col-xs-2(ng-show="component.freeze_peer") From 0f8b3250562a9c8e58c8e98611726b879955351b Mon Sep 17 00:00:00 2001 From: "J.M" Date: Tue, 25 Nov 2014 15:08:11 +0100 Subject: [PATCH 077/321] [FIX] Gateways table xs view: Connect btn spacing Add more spacing above and below Connect Gateway button on mobile. --- src/less/ripple/tabs/trust.less | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/less/ripple/tabs/trust.less b/src/less/ripple/tabs/trust.less index 9694df0e5..81c4bdf27 100644 --- a/src/less/ripple/tabs/trust.less +++ b/src/less/ripple/tabs/trust.less @@ -1,5 +1,8 @@ #t-trust { @media (max-width: @screen-xs-max) { + .btn-add-trust { + margin: 20px 0; + } input[type="radio"], input[type="checkbox"] { margin: 2px 0 0; } @@ -113,4 +116,4 @@ font-size: 10px; } } -} \ No newline at end of file +} From 11b0187c283e5a721e450bb267bbe1bf0f2c42c3 Mon Sep 17 00:00:00 2001 From: "J.M" Date: Fri, 13 Mar 2015 18:17:48 +0100 Subject: [PATCH 078/321] [FIX] Trust: Transposed layout for xs, sm screens (RT-2585) --- src/less/ripple/tabs/trust.less | 41 ++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/src/less/ripple/tabs/trust.less b/src/less/ripple/tabs/trust.less index 81c4bdf27..4bdeae732 100644 --- a/src/less/ripple/tabs/trust.less +++ b/src/less/ripple/tabs/trust.less @@ -111,9 +111,44 @@ padding: 5px 0; } } - .trust-menu { - @media (max-width: @screen-xs-max) { - font-size: 10px; + + .ng-hide { + display: none !important; + } + + @media (max-width: @screen-sm-max) { + color: @black; + + .line { + padding: 5px 15px; + } + + .col-xs-full { + div[data-label] { + clear: left; + text-overflow: ellipsis; + padding: 4px 0; + + &:before { + display: inline-block; + min-width: 150px; + width: 34%; + float: left; + font-family: 'OpenSansSemibold'; + text-transform: uppercase; + content: " "attr(data-label); + } + } + + span a.disabled { + padding: 1em 15px; + } + } + } + + @media (max-width: @screen-xs-max) { + .col-xs-full > div[data-label]:before { + min-width: 100px; } } } From 1ec4d94a94ec1bca4ed372800e02b76d846496ed Mon Sep 17 00:00:00 2001 From: "J.M" Date: Sat, 14 Mar 2015 17:43:58 +0100 Subject: [PATCH 079/321] [FIX] Trust: Fix transposed layout for xs, sm --- src/jade/tabs/trust.jade | 27 ++++++++-------- src/less/ripple/tabs/trust.less | 55 +++++++++++++++++---------------- 2 files changed, 43 insertions(+), 39 deletions(-) diff --git a/src/jade/tabs/trust.jade b/src/jade/tabs/trust.jade index 2311fb8de..7f01bc664 100644 --- a/src/jade/tabs/trust.jade +++ b/src/jade/tabs/trust.jade @@ -205,22 +205,22 @@ section.col-xs-12.content(ng-controller="TrustCtrl") span.currency(rp-currency="entry.components[0].limit", rp-currency-full) .row.head.hidden-xs.hidden-sm div( - ng-class="{ 'col-sm-3 col-xs-2': globalOptions.advanced_feature_switch, 'col-sm-4 col-xs-4 col-md-5': !globalOptions.advanced_feature_switch }" + ng-class="{ 'col-md-2': globalOptions.advanced_feature_switch, 'col-md-5': !globalOptions.advanced_feature_switch }" l10n) Gateway div( - ng-class="{ 'col-xs-2 col-sm-2': globalOptions.advanced_feature_switch, 'col-xs-4': !globalOptions.advanced_feature_switch }" + ng-class="{ 'col-md-2': globalOptions.advanced_feature_switch, 'col-md-4': !globalOptions.advanced_feature_switch }" l10n) Balance - div(ng-show="globalOptions.advanced_feature_switch", ng-class="{ 'col-md-2': globalOptions.advanced_feature_switch }", l10n) Limit - div.col-md-2(ng-show="globalOptions.advanced_feature_switch", l10n) Min - div.col-md-1(ng-show="globalOptions.advanced_feature_switch", l10n) Rippling - div(ng-class="{'col-md-1' : globalOptions.advanced_feature_switch, 'col-md-3': !globalOptions.advanced_feature_switch }" + div.col-md-3(ng-show="globalOptions.advanced_feature_switch", l10n) Limit + div.col-md-1(ng-show="globalOptions.advanced_feature_switch", l10n) Min + div.col-md-2(ng-show="globalOptions.advanced_feature_switch", l10n) Rippling + div(ng-class="{'col-md-2' : globalOptions.advanced_feature_switch, 'col-md-3': !globalOptions.advanced_feature_switch }" l10n) Edit hr#divider .lines .line(ng-controller="AccountRowCtrl", ng-repeat="component in entry.components") .row(ng-class="{ 'frozen-account': component.freeze_peer }") .col-xs-full - .gateway(ng-class="{ 'col-md-4': globalOptions.advanced_feature_switch, 'col-md-5': !globalOptions.advanced_feature_switch }", + .gateway(ng-class="{ 'col-md-2': globalOptions.advanced_feature_switch, 'col-md-5': !globalOptions.advanced_feature_switch }", l10n-data-label="Gateway" ) span(rp-pretty-identity="component.account", rp-pretty-identity-filters="rpcontactnamefull | rpripplename: {tilde: true}", @@ -230,27 +230,28 @@ section.col-xs-12.content(ng-controller="TrustCtrl") l10n-data-label="Balance" ) span(rp-address-popover, rp-address-popover-sum="component.balance") {{ component.balance | rpamount:{rel_precision: 2} }} - .col-md-2(ng-show="globalOptions.advanced_feature_switch", + .col-md-3(ng-show="globalOptions.advanced_feature_switch", l10n-data-label="Limit" ) span(rp-address-popover, rp-address-popover-sum="component.limit") {{ component.limit | rpamount }} - .col-md-2(ng-show="globalOptions.advanced_feature_switch && component.limit_peer._offset == '-100'", + .col-md-1(ng-show="globalOptions.advanced_feature_switch && component.limit_peer._offset == '-100'", l10n-data-label="Min" ) span(rp-address-popover, rp-address-popover-sum="component.limit_peer") {{ component.limit_peer | rpamount }} - .col-md-2( + .col-md-1( ng-show="globalOptions.advanced_feature_switch && component.limit_peer._offset !== '-100'", ng-hide="component.limit_peer._offset == '-100' || !globalOptions.advanced_feature_switch", l10n-data-label="Min" ) span(rp-address-popover, rp-address-popover-sum="component.limit_peer", rp-address-popover-sum-minus, ng-bind="minVal") - .col-md-1(ng-show="globalOptions.advanced_feature_switch", + .col-md-2(ng-show="globalOptions.advanced_feature_switch", l10n-data-label="Rippling" ) div(ng-show="component.no_ripple", l10n) Off div(ng-hide="component.no_ripple", l10n) On - div(ng-hide="component.freeze_peer", ng-class="{ 'col-md-1': globalOptions.advanced_feature_switch, 'col-md-3': !globalOptions.advanced_feature_switch }") - button.btn.btn-cancel.visible-xs.visible-sm(href="", ng-hide="editing || isIncoming()", ng-click="edit_account()" + div(ng-hide="component.freeze_peer", ng-class="{ 'col-md-2': globalOptions.advanced_feature_switch, 'col-md-3': !globalOptions.advanced_feature_switch }") + span.visible-xs.visible-sm(ng-hide="editing || isIncoming()") + a.btn.btn-cancel(href="", ng-click="edit_account()" l10n) edit a.hidden-xs.hidden-sm(href="", ng-hide="editing || isIncoming()", ng-click="edit_account()" l10n) edit diff --git a/src/less/ripple/tabs/trust.less b/src/less/ripple/tabs/trust.less index 4bdeae732..a8c8f3841 100644 --- a/src/less/ripple/tabs/trust.less +++ b/src/less/ripple/tabs/trust.less @@ -110,38 +110,41 @@ .line { padding: 5px 0; } - } - .ng-hide { - display: none !important; - } + .ng-hide { + display: none !important; + } - @media (max-width: @screen-sm-max) { - color: @black; + @media (max-width: @screen-sm-max) { + color: @black; - .line { - padding: 5px 15px; - } + .line { + padding: 5px 15px; + } - .col-xs-full { - div[data-label] { - clear: left; - text-overflow: ellipsis; - padding: 4px 0; - - &:before { - display: inline-block; - min-width: 150px; - width: 34%; - float: left; - font-family: 'OpenSansSemibold'; - text-transform: uppercase; - content: " "attr(data-label); + .col-xs-full { + div[data-label] { + clear: left; + text-overflow: ellipsis; + padding: 4px 0; + + &:before { + display: inline-block; + min-width: 150px; + width: 34%; + float: left; + font-family: 'OpenSansSemibold'; + text-transform: uppercase; + content: " "attr(data-label); + } } - } - span a.disabled { - padding: 1em 15px; + span.visible-xs.visible-sm a.btn.btn-cancel, + span a.disabled { + display: inline-block !important; + margin: 1em 0; + padding: 1em 15px; + } } } } From 08f4464f08395ae051f8318ee392b5a1b5b1e9e4 Mon Sep 17 00:00:00 2001 From: Malika Date: Mon, 16 Mar 2015 10:39:12 -0700 Subject: [PATCH 080/321] [FIX] Better loading experience on balances page (RT-3223) --- src/jade/tabs/balance.jade | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/jade/tabs/balance.jade b/src/jade/tabs/balance.jade index 3bda14f0b..4b378762f 100644 --- a/src/jade/tabs/balance.jade +++ b/src/jade/tabs/balance.jade @@ -4,6 +4,11 @@ section.col-xs-12.content(ng-controller='BalanceCtrl') group.disconnected(ng-hide='connected') p.literal(l10n) You have to be online to see this screen + group.disconnected(ng-hide="!connected || loadState.account") + div(id="section_loader") + img(src="img/sections.png", class="loader") + div(class="loading_sections", l10n) Loading... + group.disconnected(ng-hide='!connected || loadState.account') //img(src="img/sections.png", class="loader", id="section_loader", ng-hide="exchangeRatesNonempty") From f4815f4080013816c7bc8b0cc5788f8a701f4eae Mon Sep 17 00:00:00 2001 From: Malika Date: Mon, 16 Mar 2015 11:37:16 -0700 Subject: [PATCH 081/321] [FIX] Price convention on send, trade, exchange (RT-2730) --- src/jade/tabs/exchange.jade | 2 +- src/jade/tabs/send.jade | 2 +- src/jade/tabs/trade.jade | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/jade/tabs/exchange.jade b/src/jade/tabs/exchange.jade index 493730a6d..b077a29f2 100644 --- a/src/jade/tabs/exchange.jade +++ b/src/jade/tabs/exchange.jade @@ -130,7 +130,7 @@ section.col-xs-12.content(ng-controller="ExchangeCtrl") p span.literal(l10n-inc) Exchange rate: span.value {{exchange.alt.rate | rpamount:{rel_precision: 4} }} - span.currency {{exchange.alt.amount | rpcurrency}}/{{exchange.currency_code}} + span.currency {{exchange.alt.amount | rpcurrency}} per {{exchange.currency_code}} span.literal(l10n-inc) Ripple network fee: span.currency(rp-pretty-amount='networkFee') form.call-to-action(ng-submit='exchange_confirmed()') diff --git a/src/jade/tabs/send.jade b/src/jade/tabs/send.jade index 4b84d4af3..08c9d5aeb 100644 --- a/src/jade/tabs/send.jade +++ b/src/jade/tabs/send.jade @@ -275,7 +275,7 @@ section.col-xs-12.content(ng-controller='SendCtrl') p span.literal(l10n) Exchange rate: span.value {{send.alt.rate | rpamount:{rel_precision: 4} }} - span.currency {{send.alt.amount | rpcurrency}}/{{send.currency_code}} + span.currency {{send.alt.amount | rpcurrency}} per {{send.currency_code}} span.literal(l10n) Ripple network fee: span.currency(rp-pretty-amount='networkFee') form.call-to-action(name="sendUnlockForm", ng-submit="send_confirmed()") diff --git a/src/jade/tabs/trade.jade b/src/jade/tabs/trade.jade index 8ebb4d704..9bf0657d4 100644 --- a/src/jade/tabs/trade.jade +++ b/src/jade/tabs/trade.jade @@ -331,7 +331,7 @@ section.col-xs-12.content(ng-controller="TradeCtrl") span.currency {{order[type].second_amount | rpcurrency}} .rate_feedback ( span.rate {{order[type].price}} - span.pair {{order[type].second_amount | rpcurrency}}/{{order[type].first_amount | rpcurrency}} + span.pair {{order[type].second_amount | rpcurrency}} per {{order[type].first_amount | rpcurrency}} | ) p.literal(l10n-inc) Are you sure? p.order-warning(ng-show="fatFingerErr", l10n) From dffe7931b5530f90295cd3f834b1e538b01f690b Mon Sep 17 00:00:00 2001 From: Malika Date: Mon, 16 Mar 2015 11:59:19 -0700 Subject: [PATCH 082/321] [FIX] Remove button on trust page (RT-3261) --- src/less/ripple/tabs/gateways.less | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/less/ripple/tabs/gateways.less b/src/less/ripple/tabs/gateways.less index 27f12e579..27c25450b 100644 --- a/src/less/ripple/tabs/gateways.less +++ b/src/less/ripple/tabs/gateways.less @@ -236,20 +236,6 @@ font-size: 14px; } - button { - text-align: center; - border: 1px solid @midblue; - font-weight: bold; - background: @midblue; - color: @white; - width: 100%; - - &:hover, &.active { - background: darken(@midblue, 15%); - border-color: darken(@midblue, 15%); - } - } - .connect{ ::before { padding-right: 5px; @@ -283,3 +269,19 @@ } } } + +#t-fund, #t-xrp, #t-btc, #t-usd, #t-gold, #t-jpy, #t-brl, #t-mxn, #t-eur, #t-sgd, #t-aud, #t-nzd { + button { + text-align: center; + border: 1px solid @midblue; + font-weight: bold; + background: @midblue; + color: @white; + width: 100%; + + &:hover, &.active { + background: darken(@midblue, 15%); + border-color: darken(@midblue, 15%); + } + } +} From 32f4b47105b9de2dda5dd712dbd1e53e8d4bc0b0 Mon Sep 17 00:00:00 2001 From: Malika Date: Mon, 16 Mar 2015 13:22:09 -0700 Subject: [PATCH 083/321] [FIX] Don't show exchange rate if currencies are the same (RT-3261) --- src/jade/tabs/send.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jade/tabs/send.jade b/src/jade/tabs/send.jade index 4b84d4af3..76093168b 100644 --- a/src/jade/tabs/send.jade +++ b/src/jade/tabs/send.jade @@ -272,7 +272,7 @@ section.col-xs-12.content(ng-controller='SendCtrl') span.value {{send.alt.amount | rpamount}} span.currency {{send.alt.amount | rpcurrency}} span + .1% - p + p(ng-hide="!send.alt") span.literal(l10n) Exchange rate: span.value {{send.alt.rate | rpamount:{rel_precision: 4} }} span.currency {{send.alt.amount | rpcurrency}}/{{send.currency_code}} From 23ced969e63a5f48321e73044b20c1be534677a1 Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Tue, 17 Mar 2015 00:47:09 +0400 Subject: [PATCH 084/321] [TASK] add period to the end of "Deposit BTC." (RT-3115) --- src/jade/tabs/banner/unfunded.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jade/tabs/banner/unfunded.jade b/src/jade/tabs/banner/unfunded.jade index a676782a7..fcc88a2ea 100644 --- a/src/jade/tabs/banner/unfunded.jade +++ b/src/jade/tabs/banner/unfunded.jade @@ -4,4 +4,4 @@ div.auth-attention.banner li(l10n) Have another user send XRP to your Ripple name (~{{userCredentials.username}}). a(href="https://ripple.com/knowledge_center/activating-your-wallet/", target="_blank") Suggestions for getting XRP. li(l10n) - a(href="#/btc") Deposit BTC + a(href="#/btc") Deposit BTC. From eef3a701661c7a2a92199f27ae4e944463acc8af Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Tue, 17 Mar 2015 00:48:50 +0400 Subject: [PATCH 085/321] [TASK] [STAGING] clicking out of account recovery success banner brings you to blank balance page (RT-3263) --- src/jade/client/navbar.jade | 2 +- src/less/ripple/content.less | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/jade/client/navbar.jade b/src/jade/client/navbar.jade index 5b93756f5..7ce818132 100644 --- a/src/jade/client/navbar.jade +++ b/src/jade/client/navbar.jade @@ -146,4 +146,4 @@ nav.navbar(role="navigation", ng-controller="NavbarCtrl") .alert.alert-info h4.tx-status(l10n='l10n') | Your account was successfully recovered and encrypted with the new password you provided! - a.dismiss(href='#', ng-click='recovered = false', l10n='l10n') × + a.dismiss(ng-click='recovered = false', l10n='l10n') × diff --git a/src/less/ripple/content.less b/src/less/ripple/content.less index a0a972d10..fc0e626ff 100644 --- a/src/less/ripple/content.less +++ b/src/less/ripple/content.less @@ -449,6 +449,7 @@ a.danger { color: @black; text-decoration: none; opacity: 0.2; + cursor: pointer; &:hover { opacity: 0.5; } From 6aefb388d4e39d403029104d195e0edb00938eec Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Mon, 16 Mar 2015 14:01:56 +0400 Subject: [PATCH 086/321] [TASK] Move some settings to the bottom of the Advanced settings page (RT-3245) --- src/jade/tabs/advanced.jade | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/jade/tabs/advanced.jade b/src/jade/tabs/advanced.jade index 7cb1571af..9cbbfe081 100644 --- a/src/jade/tabs/advanced.jade +++ b/src/jade/tabs/advanced.jade @@ -74,9 +74,7 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") a.btn.btn-cancel.btn-block(href="", ng-click='cancelEditConfirmation("'+transactionType+'")', l10n) cancel +urlForm('blobvault', 'blobForm', 'Blob vault', {url: '{{options.blobvault}}', ngModel: 'options.blobvault'}, 'blobIp', true) +urlForm('bridge', 'bridgeForm', 'Bitcoin bridge', {url: '{{options.bridge.out.bitcoin}}', ngModel: 'options.bridge.out.bitcoin'}, 'btcDomain', true) - +confirmation('send', 'sendConfirmationForm', 'Send confirmation settings', 'If you hide your send confirmation page, you will not see a confirmation page when sending money. You might pay up to .1% more than you originally specified.', 'sendConfirmationBox') - +confirmation('exchange', 'exchangeConfirmationForm', 'Simple trade confirmation settings', 'If you hide the simple trade confirmation page, you will not see a confirmation page when placing a simple trade. You might pay up to .1% more than you originally specified.', 'exchangeConfirmationBox') - +confirmation('trade', 'tradeConfirmationForm', 'Advanced trade confirmation settings', 'If you hide the advanced trade confirmation page, you will not see a confirmation page when placing orders.', 'tradeConfirmationBox') + form.trust-line-form(name="accountsAdvForm", ng-submit='save("advanced_feature_switch")') .descriptor(l10n) Trust line .row.advanced-form-row(ng-hide="edit.advanced_feature_switch") @@ -175,7 +173,9 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") .description(ng-hide="server.secure", l10n) Not Secure .col-xs-3.col-sm-2.col-md-2 a.btn.btn-cancel.btn-block(href="", ng-click="editing = true", l10n) edit - + +confirmation('send', 'sendConfirmationForm', 'Send confirmation settings', 'If you hide your send confirmation page, you will not see a confirmation page when sending money. You might pay up to .1% more than you originally specified.', 'sendConfirmationBox') + +confirmation('exchange', 'exchangeConfirmationForm', 'Simple trade confirmation settings', 'If you hide the simple trade confirmation page, you will not see a confirmation page when placing a simple trade. You might pay up to .1% more than you originally specified.', 'exchangeConfirmationBox') + +confirmation('trade', 'tradeConfirmationForm', 'Advanced trade confirmation settings', 'If you hide the advanced trade confirmation page, you will not see a confirmation page when placing orders.', 'tradeConfirmationBox') .row .col-xs-12.col-sm-6.col-md-3 button.btn.btn-block.btn-primary#newServer(type="button", ng-click="addServer()", l10n) Add new server From 56115c2cbe1d71896e6306d0d2bec81a45dd918e Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Mon, 16 Mar 2015 11:19:46 -0700 Subject: [PATCH 087/321] [FIX] History: Bring back the pagination (RT-3255) --- src/jade/tabs/history.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jade/tabs/history.jade b/src/jade/tabs/history.jade index b66666bbd..efb688c8f 100644 --- a/src/jade/tabs/history.jade +++ b/src/jade/tabs/history.jade @@ -194,7 +194,7 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") | Add strong {{entry.transaction.counterparty | rpcontactname}} | to contact list - nav.paging(ng-if="pagination.count", ng-bind="pagination.pages") + nav.paging(ng-if="pagination.count") pagination.pagination-sm(total-items="pagination.count" ng-model="pagination.currentPage", items-per-page="pagination.transactionsPerPage" max-size="10", boundary-links="true") From c4cd8dbf4cd1b95d9df64675d54c0791c0d9e6ab Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Mon, 16 Mar 2015 14:00:39 -0700 Subject: [PATCH 088/321] [TASK] Update ripple-lib --- bower.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bower.json b/bower.json index 73889c965..2df7d4b9e 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "name": "ripple-client", "dependencies": { - "ripple": "~0.10.1", + "ripple": "~0.12.1-rc3", "ripple-vault-client": "~0.4.7", "angular": "~1.3.12", "angular-messages": "~1.3.12", From 04ff58f511a2ee007294e01b9da939ad89b2bec0 Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Fri, 13 Mar 2015 17:25:02 +0400 Subject: [PATCH 089/321] [TASK] Gateways: "Saving" should be "Removing" when trying to remove the trustline (RT-3243) --- src/jade/tabs/trust.jade | 8 ++++++-- src/js/tabs/trust.controller.js | 2 ++ src/less/ripple/buttons.less | 15 +++++++++++---- src/less/ripple/tabs/gateways.less | 16 +++++++++++++++- 4 files changed, 34 insertions(+), 7 deletions(-) diff --git a/src/jade/tabs/trust.jade b/src/jade/tabs/trust.jade index a881cf79d..12e472c80 100644 --- a/src/jade/tabs/trust.jade +++ b/src/jade/tabs/trust.jade @@ -321,11 +321,15 @@ section.col-xs-12.content(ng-controller="TrustCtrl") input(name='rippling', type='checkbox', ng-model='trust.rippling', ng-disabled='trust.loading') .col-sm-7.col-md-6 .row.row-padding-small - .col-xs-6.col-sm-5 + .col-xs-6.col-sm-5(ng-hide="trust.loading && trust.state==='removing'") button.btn.btn-block.btn-primary#save(type='submit' ng-disabled='accountForm.$invalid || trust.loading') span(ng-hide="trust.loading", l10n) Save - span(ng-show="trust.loading", l10n) Saving... + span(ng-show="trust.loading && trust.state==='saving'", l10n) Saving... + .col-xs-6.col-sm-5(ng-show="trust.loading && trust.state==='removing'") + .row + .col-xs-12 + button.btn.btn-block.btn-danger(disabled, l10n) Removing... .col-xs-3.col-sm-4.col-md-3(ng-hide="trust.loading") .row.text-right .col-xs-12(ng-show='trust.balance !== "0" && orderbookStatus === "exists"') diff --git a/src/js/tabs/trust.controller.js b/src/js/tabs/trust.controller.js index 1a273b4b5..86e8703bf 100644 --- a/src/js/tabs/trust.controller.js +++ b/src/js/tabs/trust.controller.js @@ -413,6 +413,7 @@ TrustTab.prototype.angular = function (module) { $scope.trust.loading = true; $scope.load_notification('remove_gateway'); + $scope.trust.state = 'removing'; var setSecretAndSubmit = function(tx) { tx @@ -569,6 +570,7 @@ TrustTab.prototype.angular = function (module) $scope.save_account = function () { $scope.trust.loading = true; + $scope.trust.state = 'saving'; var amount = ripple.Amount.from_human( $scope.trust.limit + ' ' + $scope.component.currency, diff --git a/src/less/ripple/buttons.less b/src/less/ripple/buttons.less index 19e923317..fd449f9ba 100644 --- a/src/less/ripple/buttons.less +++ b/src/less/ripple/buttons.less @@ -52,7 +52,6 @@ .btn-success { margin-bottom: 5px; } - .btn.btn-lg.btn-submit { font-size: 16px; line-height: 24px; @@ -69,9 +68,9 @@ padding-right: 10px; } .btn-nomargin-xs { - @media (max-width: @screen-xs-max) { - margin: 0;  - } + @media (max-width: @screen-xs-max) { + margin: 0;  + } } .btn-add-trust { float: right; @@ -82,3 +81,11 @@ padding-bottom: 14px; font-size: 14px; } + +.btn-danger { + &:disabled { + color: @btn-danger-color; + background: @btn-danger-bg; + border: 1px solid @btn-danger-border; + } +} diff --git a/src/less/ripple/tabs/gateways.less b/src/less/ripple/tabs/gateways.less index 27c25450b..f307677c9 100644 --- a/src/less/ripple/tabs/gateways.less +++ b/src/less/ripple/tabs/gateways.less @@ -185,7 +185,7 @@ .button-group { text-align: center; } - button { + button.btn-primary { text-align: center; &:disabled { background-color: @midblue; @@ -236,6 +236,20 @@ font-size: 14px; } + button.btn-large { + text-align: center; + border: 1px solid @midblue; + font-weight: bold; + background: @midblue; + color: @white; + width: 100%; + + &:hover, &.active { + background: darken(@midblue, 15%); + border-color: darken(@midblue, 15%); + } + } + .connect{ ::before { padding-right: 5px; From fd38e548665518fb3f1b98cc823b24150ef71c53 Mon Sep 17 00:00:00 2001 From: Malika Date: Mon, 16 Mar 2015 15:06:03 -0700 Subject: [PATCH 090/321] [FIX] Server status when RT loading --- src/js/controllers/navbar.controller.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/js/controllers/navbar.controller.js b/src/js/controllers/navbar.controller.js index 02d84eec6..81ed30a05 100644 --- a/src/js/controllers/navbar.controller.js +++ b/src/js/controllers/navbar.controller.js @@ -40,15 +40,16 @@ module.controller('NavbarCtrl', ['$scope', '$element', '$compile', 'rpId', if(!$scope.connected && username) { $scope.message = 'Disconnected from the Ripple network'; } - else if ($scope.currentFee && $scope.currentFee > Options.low_load_threshold && $scope.currentFee < ripple.Amount.from_json(Options.max_tx_network_fee).to_human()) { + else if ($scope.currentFee && $scope.connected && $scope.currentFee > Options.low_load_threshold && $scope.currentFee < ripple.Amount.from_json(Options.max_tx_network_fee).to_human()) { $scope.serverLoad = 'mediumLoad'; $scope.message = 'Network fees are currently higher than normal. Fee: ' + $scope.currentFee + ' XRP'; } - else if ($scope.currentFee && $scope.currentFee >= ripple.Amount.from_json(Options.max_tx_network_fee).to_human()) { + else if ($scope.currentFee && $scope.connected && $scope.currentFee >= ripple.Amount.from_json(Options.max_tx_network_fee).to_human()) { $scope.serverLoad = 'highLoad'; $scope.message = 'Network fees are currently higher than your maximum. Fee: ' + $scope.currentFee + ' XRP'; } - else if ($scope.currentFee) { + else if ($scope.currentFee && $scope.connected) { + $scope.serverLoad = ''; $scope.message = 'Connected to the Ripple network. Fee: ' + $scope.currentFee + ' XRP'; } else { From c5b1e4fe7941397b8db15d1067108f99214e7df8 Mon Sep 17 00:00:00 2001 From: Malika Date: Mon, 16 Mar 2015 17:22:25 -0700 Subject: [PATCH 091/321] [FIX] Link 'add gateway' to fund page (RT-3285) --- src/jade/tabs/widgets/balances.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jade/tabs/widgets/balances.jade b/src/jade/tabs/widgets/balances.jade index 488810dfd..3d175743f 100644 --- a/src/jade/tabs/widgets/balances.jade +++ b/src/jade/tabs/widgets/balances.jade @@ -83,4 +83,4 @@ ) {{ component | rpamount:{tiny_precision: 3} }} p(ng-show="$route.current.tabName == 'balance'") - a.btn.btn-cancel(href="#/trust", l10n) add gateway + a.btn.btn-cancel(href="#/xrp", l10n) add gateway From 97f1b747307e9123a91036ecc0572760af14a374 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 17 Mar 2015 02:57:45 +0200 Subject: [PATCH 092/321] [FIX] fix Amount use use Amount.from_human instead of Amount.from_json to create native amount value from string --- src/js/tabs/exchange.controller.js | 2 +- src/js/tabs/send.controller.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/js/tabs/exchange.controller.js b/src/js/tabs/exchange.controller.js index dd20c4f0e..21db4ab8d 100644 --- a/src/js/tabs/exchange.controller.js +++ b/src/js/tabs/exchange.controller.js @@ -191,7 +191,7 @@ ExchangeTab.prototype.angular = function (module) var alt = {}; alt.amount = Amount.from_json(raw.source_amount); alt.rate = alt.amount.ratio_human(amount); - alt.send_max = alt.amount.product_human(Amount.from_json('1.001')); + alt.send_max = alt.amount.product_human(Amount.from_human('1.001')); alt.paths = raw.paths_computed ? raw.paths_computed : raw.paths_canonical; diff --git a/src/js/tabs/send.controller.js b/src/js/tabs/send.controller.js index 697451ec3..d92020c30 100644 --- a/src/js/tabs/send.controller.js +++ b/src/js/tabs/send.controller.js @@ -793,7 +793,7 @@ SendTab.prototype.angular = function (module) var slightlyInFuture = new Date(+new Date() + 5 * 60000); alt.rate = alt.amount.ratio_human(amount, {reference_date: slightlyInFuture}); - alt.send_max = alt.amount.product_human(Amount.from_json('1.001')); + alt.send_max = alt.amount.product_human(Amount.from_human('1.001')); alt.paths = raw.paths_computed || raw.paths_canonical; // Selected currency should be the first option From 9a1bb49ed64514e5c783abe1f3a7bf0ce7d20fb1 Mon Sep 17 00:00:00 2001 From: Malika Date: Mon, 16 Mar 2015 18:06:14 -0700 Subject: [PATCH 093/321] [FIX] Change wording on My Orders (RT-3290) --- src/jade/tabs/trade.jade | 2 +- src/jade/tabs/widgets/orders.jade | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/jade/tabs/trade.jade b/src/jade/tabs/trade.jade index 9bf0657d4..ca9ce076c 100644 --- a/src/jade/tabs/trade.jade +++ b/src/jade/tabs/trade.jade @@ -441,7 +441,7 @@ section.col-xs-12.content(ng-controller="TradeCtrl") .col-md-2(rp-sort-header="sortOptions.sortField", rp-sort-header-reverse="sortOptions.reverse", rp-sort-header-field="limit") - span(l10n) Limit + span(l10n) Limit Price i.fa.fa-fw.fa-caret-down //- .col-md-2(l10n, rp-sort-header="sortOptions.sortField", //- rp-sort-header-reverse="sortOptions.reverse", diff --git a/src/jade/tabs/widgets/orders.jade b/src/jade/tabs/widgets/orders.jade index 6b9418a7f..34fba6576 100644 --- a/src/jade/tabs/widgets/orders.jade +++ b/src/jade/tabs/widgets/orders.jade @@ -52,7 +52,7 @@ .col-md-3(rp-sort-header="sortOptions.sortField", rp-sort-header-reverse="sortOptions.reverse", rp-sort-header-field="limit") - span(l10n) Limit + span(l10n) Limit Price i.fa.fa-fw.fa-caret-down //- .col-md-2(l10n, rp-sort-header="sortOptions.sortField", //- rp-sort-header-reverse="sortOptions.reverse", From ffdaf4ec2a58ac6bb7c727bd14e0afc9c82b10a6 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 17 Mar 2015 03:31:18 +0200 Subject: [PATCH 094/321] [FIX] fix rpDest return rejected promise to indicate that value is invalid --- src/js/directives/validators.directive.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/directives/validators.directive.js b/src/js/directives/validators.directive.js index dd1e96e78..b61300f57 100644 --- a/src/js/directives/validators.directive.js +++ b/src/js/directives/validators.directive.js @@ -211,7 +211,7 @@ module.directive('rpDest', ['$q', '$timeout', '$parse', 'rpFederation', function return defer.promise; } - return $q.when(false); + return $q.reject(false); }; attr.$observe('rpDest', function() { From a6d72e03d3b600d1408f2cf64d59d67cb364e8a4 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 17 Mar 2015 06:14:42 +0200 Subject: [PATCH 095/321] [FIX] Trust: use Amount's public api Use public method to check if value is zero, not private field _offset. Internals of Amount class was changed and it does not have _offset field now. --- src/jade/tabs/trust.jade | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/jade/tabs/trust.jade b/src/jade/tabs/trust.jade index 9fe8cb041..7047b8b73 100644 --- a/src/jade/tabs/trust.jade +++ b/src/jade/tabs/trust.jade @@ -234,13 +234,13 @@ section.col-xs-12.content(ng-controller="TrustCtrl") l10n-data-label="Limit" ) span(rp-address-popover, rp-address-popover-sum="component.limit") {{ component.limit | rpamount }} - .col-md-1(ng-show="globalOptions.advanced_feature_switch && component.limit_peer._offset == '-100'", + .col-md-1(ng-show="globalOptions.advanced_feature_switch && component.limit_peer.is_zero()", l10n-data-label="Min" ) span(rp-address-popover, rp-address-popover-sum="component.limit_peer") {{ component.limit_peer | rpamount }} .col-md-1( - ng-show="globalOptions.advanced_feature_switch && component.limit_peer._offset !== '-100'", - ng-hide="component.limit_peer._offset == '-100' || !globalOptions.advanced_feature_switch", + ng-show="globalOptions.advanced_feature_switch && !component.limit_peer.is_zero()", + ng-hide="component.limit_peer.is_zero() || !globalOptions.advanced_feature_switch", l10n-data-label="Min" ) span(rp-address-popover, rp-address-popover-sum="component.limit_peer", rp-address-popover-sum-minus, ng-bind="minVal") From ec9f059c2229867eb99155941741248f5fb71777 Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Tue, 17 Mar 2015 16:12:36 +0400 Subject: [PATCH 096/321] [TASK] Trust UI: popover shows -0.00 (RT-3267) --- src/js/directives/addressPopover.directive.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/js/directives/addressPopover.directive.js b/src/js/directives/addressPopover.directive.js index d6c182774..e8cf2995d 100644 --- a/src/js/directives/addressPopover.directive.js +++ b/src/js/directives/addressPopover.directive.js @@ -76,7 +76,9 @@ nowSumm = this.rpamountFilter(nowSumm, AddressPopover.summFilterOpts); if (nowSumm != this.summ) { if (this.rpAddressPopoverSumMinus && nowSumm != 'n/a') { - nowSumm = '-' + nowSumm; + if (Number(nowSumm)){ + nowSumm = '-' + nowSumm; + } } this.summ = nowSumm; } From b396f91209c51fb59de9e8024e18290123113120 Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Tue, 17 Mar 2015 18:30:59 +0400 Subject: [PATCH 097/321] [TASK] register page ripple name popup (RT-3194) --- src/jade/tabs/register.jade | 5 ++--- src/js/directives/directives.directive.js | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/jade/tabs/register.jade b/src/jade/tabs/register.jade index c49d90ff3..92ff31b4e 100644 --- a/src/jade/tabs/register.jade +++ b/src/jade/tabs/register.jade @@ -24,9 +24,8 @@ section.col-xs-12.content(ng-controller="RegisterCtrl") .form-group label(for='register_username', ng-hide="oldUserBlob", l10n) Create Ripple name i.fa.fa-question-circle.name-tooltip( - rp-popover - rp-popover-placement="top" - rp-popover-trigger="click" + rp-name-popover + rp-name-popover-placement="top" l10n-data-content="Ripple names are public and identify you on the Ripple network. Learn more" ) .auth-attention(ng-show="oldUserBlob", l10n) Please choose a Ripple name below. You will use this Ripple name to login to Ripple Trade, so remember it! Ripple names are unique and public, like your current Ripple address. diff --git a/src/js/directives/directives.directive.js b/src/js/directives/directives.directive.js index e7544d289..cec494899 100644 --- a/src/js/directives/directives.directive.js +++ b/src/js/directives/directives.directive.js @@ -220,6 +220,29 @@ module.directive('rpPopover', ['$interpolate', function($interpolate) { }; }]); +module.directive('rpNamePopover', [function(){ + return function(scope, element, attr) { + var options = { + html: true, + placement: attr.rpNamePopoverPlacement, + trigger: 'manual' + } + options.template = '
'; + if (attr.rpPopoverContent) { + options.content = attr.content; + } + + $(element).popover(options); + + $(element).mouseenter(function(){ + $(element).popover('show'); + }); + $('html').click(function(){ + $(element).popover('hide'); + }) + } +}]); + module.directive('rpAutofill', ['$parse', function($parse) { return { restrict: 'A', From b93b8bc28488e3c8cb76f84fc106bc0654a6e05f Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Tue, 17 Mar 2015 11:27:48 -0700 Subject: [PATCH 098/321] [TASK] Update ripple-lib --- bower.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bower.json b/bower.json index 2df7d4b9e..50c0ac8e9 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "name": "ripple-client", "dependencies": { - "ripple": "~0.12.1-rc3", + "ripple": "~0.12.1-rc4", "ripple-vault-client": "~0.4.7", "angular": "~1.3.12", "angular-messages": "~1.3.12", From 6a3a861ada9b322f6088389757a5ec5703187d02 Mon Sep 17 00:00:00 2001 From: Malika Date: Tue, 17 Mar 2015 11:53:55 -0700 Subject: [PATCH 099/321] [FIX] Remove cancel button on advanced settings option (RT-3249) --- src/jade/tabs/advanced.jade | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/jade/tabs/advanced.jade b/src/jade/tabs/advanced.jade index 9cbbfe081..2bfb7674d 100644 --- a/src/jade/tabs/advanced.jade +++ b/src/jade/tabs/advanced.jade @@ -72,7 +72,7 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") button.btn.btn-block.btn-danger.btn-xs.submit#delete(type="button", ng-click="remove()", ng-show="hasRemove()", l10n) Delete .col-xs-3.col-sm-3.col-md-2.text-center#cancel a.btn.btn-cancel.btn-block(href="", ng-click='cancelEditConfirmation("'+transactionType+'")', l10n) cancel - +urlForm('blobvault', 'blobForm', 'Blob vault', {url: '{{options.blobvault}}', ngModel: 'options.blobvault'}, 'blobIp', true) + +urlForm('bridge', 'bridgeForm', 'Bitcoin bridge', {url: '{{options.bridge.out.bitcoin}}', ngModel: 'options.bridge.out.bitcoin'}, 'btcDomain', true) form.trust-line-form(name="accountsAdvForm", ng-submit='save("advanced_feature_switch")') @@ -95,13 +95,11 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") ng-model="options.advanced_feature_switch" ng-click="advancedFeatureSwitchChanged = true") span(l10n) Show - .col-xs-6.col-sm-6.col-md-3 + .col-xs-12.col-sm-4.col-md-4 button.btn.btn-block.btn-success.btn-xs.submit#save(type='submit' ng-disabled='serverForm.$invalid', l10n) Save - .col-xs-3(ng-show="hasRemove()") + .col-xs-6(ng-show="hasRemove()") button.btn.btn-block.btn-danger.btn-xs.submit#delete(type="button", ng-click="remove()", ng-show="hasRemove()", l10n) Delete - .col-xs-3.col-sm-3.col-md-2.text-center#cancel - a.btn.btn-cancel.btn-block(href="", ng-click='cancelEdit("advanced_feature_switch")', l10n) cancel h4#networkSettings(l10n) Network settings form(name="maxnetworkfeeForm", ng-submit='save("maxNetworkFee")') .descriptor(l10n) Maximum network fee @@ -127,7 +125,13 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") .col-xs-3.col-sm-3.col-md-1.text-center#cancel a.btn.btn-cancel.btn-block(href="", ng-click='cancelEdit("maxNetworkFee")', l10n) cancel + h4#confirmationSettings(l10n) Confirmation Page settings + +confirmation('send', 'sendConfirmationForm', 'Send confirmation settings', 'If you hide your send confirmation page, you will not see a confirmation page when sending money. You might pay up to .1% more than you originally specified.', 'sendConfirmationBox') + +confirmation('exchange', 'exchangeConfirmationForm', 'Simple trade confirmation settings', 'If you hide the simple trade confirmation page, you will not see a confirmation page when placing a simple trade. You might pay up to .1% more than you originally specified.', 'exchangeConfirmationBox') + +confirmation('trade', 'tradeConfirmationForm', 'Advanced trade confirmation settings', 'If you hide the advanced trade confirmation page, you will not see a confirmation page when placing orders.', 'tradeConfirmationBox') + h4#serverSettings(l10n) Server settings + +urlForm('blobvault', 'blobForm', 'Blob vault', {url: '{{options.blobvault}}', ngModel: 'options.blobvault'}, 'blobIp', true) +urlForm('historyApi', 'historyApiForm', 'History API', {url: '{{options.historyApi}}', ngModel: 'options.historyApi'}, 'historyAPI', false) form.server-row-form(ng-controller="ServerRowCtrl", ng-repeat="(index, server) in options.server.servers", ng-submit="save()") ng-form(name="serverForm") @@ -173,10 +177,6 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") .description(ng-hide="server.secure", l10n) Not Secure .col-xs-3.col-sm-2.col-md-2 a.btn.btn-cancel.btn-block(href="", ng-click="editing = true", l10n) edit - +confirmation('send', 'sendConfirmationForm', 'Send confirmation settings', 'If you hide your send confirmation page, you will not see a confirmation page when sending money. You might pay up to .1% more than you originally specified.', 'sendConfirmationBox') - +confirmation('exchange', 'exchangeConfirmationForm', 'Simple trade confirmation settings', 'If you hide the simple trade confirmation page, you will not see a confirmation page when placing a simple trade. You might pay up to .1% more than you originally specified.', 'exchangeConfirmationBox') - +confirmation('trade', 'tradeConfirmationForm', 'Advanced trade confirmation settings', 'If you hide the advanced trade confirmation page, you will not see a confirmation page when placing orders.', 'tradeConfirmationBox') .row .col-xs-12.col-sm-6.col-md-3 - button.btn.btn-block.btn-primary#newServer(type="button", ng-click="addServer()", l10n) Add new server - + button.btn.btn-block.btn-primary#newServer(type="button", ng-click="addServer()", l10n) Add new server \ No newline at end of file From 1da274ea5a4616bd10f528090df40714c1204395 Mon Sep 17 00:00:00 2001 From: Yong-Soo Chung Date: Tue, 17 Mar 2015 13:20:05 -0700 Subject: [PATCH 100/321] [FIX] Trust: Show minimum limit (RT-3293) --- src/jade/tabs/trust.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jade/tabs/trust.jade b/src/jade/tabs/trust.jade index 9fe8cb041..c9abb513a 100644 --- a/src/jade/tabs/trust.jade +++ b/src/jade/tabs/trust.jade @@ -243,7 +243,7 @@ section.col-xs-12.content(ng-controller="TrustCtrl") ng-hide="component.limit_peer._offset == '-100' || !globalOptions.advanced_feature_switch", l10n-data-label="Min" ) - span(rp-address-popover, rp-address-popover-sum="component.limit_peer", rp-address-popover-sum-minus, ng-bind="minVal") + span(rp-address-popover, rp-address-popover-sum="component.limit_peer", rp-address-popover-sum-minus) -{{ component.limit_peer | rpamount }} .col-md-2(ng-show="globalOptions.advanced_feature_switch", l10n-data-label="Rippling" ) From 8162c39aa444c1ff9a072daf07dc073209d983ba Mon Sep 17 00:00:00 2001 From: Malika Date: Tue, 17 Mar 2015 16:28:14 -0700 Subject: [PATCH 101/321] [TASK] Fix network status popup (RT-3297) -add link to change fees -make the hover over stay for some time --- src/jade/client/navbar.jade | 6 +++++- src/js/controllers/navbar.controller.js | 3 ++- src/js/directives/directives.directive.js | 2 +- src/less/ripple/content.less | 12 ++++++++++++ 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/jade/client/navbar.jade b/src/jade/client/navbar.jade index 7ce818132..7dd2ebf99 100644 --- a/src/jade/client/navbar.jade +++ b/src/jade/client/navbar.jade @@ -42,7 +42,11 @@ nav.navbar(role="navigation", ng-controller="NavbarCtrl") //- span.balance(rp-currency="balance.total", rp-currency-short) li span(class="serverStatus {{connected ? 'online' : 'offline'}} {{serverLoad}}" - rp-tooltip="{{message}}", rp-tooltip-placement="bottom") + rp-popover + rp-popover-placement="bottom" + rp-popover-trigger="hover" + rp-popover-delay + l10n-rp-popover-content="Server Status:
{{ message }} ") li a(href="#/account/public", ng-hide="loading") ~{{userCredentials.username}} li.dropdown.notifications-dropdown(dropdown on-toggle="toggled(open)") diff --git a/src/js/controllers/navbar.controller.js b/src/js/controllers/navbar.controller.js index 81ed30a05..8260d47b9 100644 --- a/src/js/controllers/navbar.controller.js +++ b/src/js/controllers/navbar.controller.js @@ -37,6 +37,7 @@ module.controller('NavbarCtrl', ['$scope', '$element', '$compile', 'rpId', if(username) $scope.loading = false; $scope.currentFee = ripple.Amount.from_json($scope.fee).to_human(); $scope.shortUsername = null; + if(!$scope.connected && username) { $scope.message = 'Disconnected from the Ripple network'; } @@ -46,7 +47,7 @@ module.controller('NavbarCtrl', ['$scope', '$element', '$compile', 'rpId', } else if ($scope.currentFee && $scope.connected && $scope.currentFee >= ripple.Amount.from_json(Options.max_tx_network_fee).to_human()) { $scope.serverLoad = 'highLoad'; - $scope.message = 'Network fees are currently higher than your maximum. Fee: ' + $scope.currentFee + ' XRP'; + $scope.message = 'Network fees are currently higher than your maximum. Fee: ' + $scope.currentFee + ' XRP. ' + 'Change fees'.link('#/advanced'); } else if ($scope.currentFee && $scope.connected) { $scope.serverLoad = ''; diff --git a/src/js/directives/directives.directive.js b/src/js/directives/directives.directive.js index e7544d289..c65a7fb03 100644 --- a/src/js/directives/directives.directive.js +++ b/src/js/directives/directives.directive.js @@ -205,7 +205,7 @@ module.directive('rpPopover', ['$interpolate', function($interpolate) { } options.delay = { show: delay, - hide: 0 + hide: 1000 }; } $(element).popover(options); diff --git a/src/less/ripple/content.less b/src/less/ripple/content.less index fc0e626ff..8d602e1fa 100644 --- a/src/less/ripple/content.less +++ b/src/less/ripple/content.less @@ -372,6 +372,18 @@ h1 { } } +.nav { + .popover { + width: 200px; + padding: 0; + + .popover-content { + font-size: 12px; + line-height: 16px; + } + } +} + // Pagination .pagination li { cursor: pointer; From 568e1a650c9d9f996b7969c5fa080913bd668c2b Mon Sep 17 00:00:00 2001 From: Yong-Soo Chung Date: Wed, 18 Mar 2015 10:20:15 -0700 Subject: [PATCH 102/321] [TASK] Advanced: Add defaultripple flag option on settings (RT-3264) --- src/jade/tabs/advanced.jade | 28 ++++++++++++++++++++++++++++ src/js/tabs/advanced.controller.js | 19 ++++++++++++++++++- 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/src/jade/tabs/advanced.jade b/src/jade/tabs/advanced.jade index 2bfb7674d..55abf5240 100644 --- a/src/jade/tabs/advanced.jade +++ b/src/jade/tabs/advanced.jade @@ -100,6 +100,34 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") ng-disabled='serverForm.$invalid', l10n) Save .col-xs-6(ng-show="hasRemove()") button.btn.btn-block.btn-danger.btn-xs.submit#delete(type="button", ng-click="remove()", ng-show="hasRemove()", l10n) Delete + .col-xs-3.col-sm-3.col-md-2.text-center#cancel + a.btn.btn-cancel.btn-block(href="", ng-click='cancelEdit("advanced_feature_switch")', l10n) cancel + form.trust-line-form(name="accountsAdvForm", ng-submit='save("defaultRippleFlag")') + .descriptor(l10n) Gateways: Enable if you plan to issue balances + .row.advanced-form-row(ng-hide="edit.defaultRippleFlag") + .col-xs-6.col-sm-5.col-md-3 + .description DefaultRipple flag + .col-xs-3.col-sm-4.col-md-4 + .description(ng-show="options.defaultRippleFlag", l10n) Enabled + .description(ng-hide="options.defaultRippleFlag", l10n) Disabled + .col-xs-3.col-sm-3.col-md-2 + a.btn.btn-cancel.btn-block(href="", ng-click="edit.defaultRippleFlag = true", l10n) edit + .row.row-padding-small.edit-trust-line(ng-show="edit.defaultRippleFlag") + .col-xs-6.col-sm-5.col-md-3 + .description DefaultRipple flag + .col-xs-4.col-sm-4.col-md-3 + div.helperInput + label + input(type="checkbox", name="acct_adv" + ng-model="options.defaultRippleFlag") + span(l10n) Enable + .col-xs-6.col-sm-6.col-md-3 + button.btn.btn-block.btn-success.btn-xs.submit#save(type='submit' + ng-disabled='serverForm.$invalid', l10n) Save + .col-xs-3(ng-show="hasRemove()") + button.btn.btn-block.btn-danger.btn-xs.submit#delete(type="button", ng-click="remove()", ng-show="hasRemove()", l10n) Delete + .col-xs-3.col-sm-3.col-md-2.text-center#cancel + a.btn.btn-cancel.btn-block(href="", ng-click='cancelEdit("defaultRippleFlag")', l10n) cancel h4#networkSettings(l10n) Network settings form(name="maxnetworkfeeForm", ng-submit='save("maxNetworkFee")') .descriptor(l10n) Maximum network fee diff --git a/src/js/tabs/advanced.controller.js b/src/js/tabs/advanced.controller.js index 8b78ec5db..89750f362 100644 --- a/src/js/tabs/advanced.controller.js +++ b/src/js/tabs/advanced.controller.js @@ -47,7 +47,8 @@ AdvancedTab.prototype.angular = function(module) blobvault: false, bridge: false, maxNetworkFee: false, - historyApi: false + historyApi: false, + defaultRippleFlag: false }; $scope.max_tx_network_fee_human = ripple.Amount.from_json($scope.options.max_tx_network_fee).to_human(); $scope.advancedFeatureSwitchChanged = false; @@ -77,6 +78,22 @@ AdvancedTab.prototype.angular = function(module) $scope.advancedFeatureSwitchChanged = false; $scope.userBlob.set('/clients/rippletradecom/trust/advancedMode', $scope.options.advanced_feature_switch); break; + case 'defaultRippleFlag': + // Need to set flag on account_root + var tx = network.remote.transaction(); + tx.accountSet(id.account); + tx.setFlags('DefaultRipple'); + + keychain.requestSecret(id.account, id.username, function (err, secret) { + if (err) { + console.log('Error: ', err); + return; + } + tx.secret(secret); + tx.submit(); + }); + break; + case 'historyApi': $scope.userBlob.set('/clients/rippletradecom/historyApi', $scope.options.historyApi); break; From 74d6f077c299f4c9990afb99101a61c1067ac3d8 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 18 Mar 2015 10:29:34 -0700 Subject: [PATCH 103/321] [FIX] Fund BTC: update the connected status (RT-3296) --- src/jade/tabs/btc.jade | 10 +++++----- src/js/tabs/btc.controller.js | 5 ++--- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/jade/tabs/btc.jade b/src/jade/tabs/btc.jade index b05409a66..08c967c58 100644 --- a/src/jade/tabs/btc.jade +++ b/src/jade/tabs/btc.jade @@ -83,12 +83,12 @@ section.col-xs-12.content(ng-controller='BtcCtrl') button.btn.btn-block.btn-primary(ng-show="btcConnected && !showInstructions", type="submit", ng-click="toggle_instructions()") Show instructions .connect.col-md-8.col-sm-7.col-xs-5 - .description(ng-show="!btcConnected", l10n) - i.fa.fa-times - | Not connected - .description(ng-show="btcConnected", l10n) + .description(ng-show="btcConnected") i.fa.fa-check - | Connected + span(l10n) Connected + .description(ng-hide="btcConnected") + i.fa.fa-times + span(l10n) Not connected span.error(ng-show="emailError", l10n) | SnapSwap's btc2ripple service is currently unavailable. | Please check back later. diff --git a/src/js/tabs/btc.controller.js b/src/js/tabs/btc.controller.js index 876480905..a85834652 100644 --- a/src/js/tabs/btc.controller.js +++ b/src/js/tabs/btc.controller.js @@ -21,7 +21,6 @@ BtcTab.prototype.angular = function (module) module.controller('BtcCtrl', ['$scope', 'rpId', 'rpAppManager', 'rpTracker', '$routeParams', 'rpNetwork', 'rpKeychain', function ($scope, id, appManager, rpTracker, $routeParams, network, keychain) { - $scope.accountLines = {}; $scope.showComponent = []; $scope.showInstructions = false; @@ -42,9 +41,9 @@ BtcTab.prototype.angular = function (module) if ($scope.B2R && $scope.B2R.active) { $scope.btcConnected = true; - btcwatcher(); + btcwatcher(); } - }); + }, true); // B2R Signup $scope.B2RSignup = function () { From 89081353d6a16df184941bd869496e1f50624a7e Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 18 Mar 2015 11:31:20 -0700 Subject: [PATCH 104/321] [FIX] History: Remove trailing slash from historyApi url (RT-3268) --- src/js/config-example.js | 2 +- src/js/services/id.service.js | 2 +- src/js/tabs/advanced.controller.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/js/config-example.js b/src/js/config-example.js index 7439d354e..e3554b894 100644 --- a/src/js/config-example.js +++ b/src/js/config-example.js @@ -34,7 +34,7 @@ var Options = { // intended for developers, be careful about using this in a real setting. persistent_auth: false, - historyApi: 'https://history.ripple.com:7443/v1/', + historyApi: 'https://history.ripple.com:7443/v1', // Number of transactions each page has in balance tab notifications transactions_per_page: 50, diff --git a/src/js/services/id.service.js b/src/js/services/id.service.js index 31499c6e8..045c222b8 100644 --- a/src/js/services/id.service.js +++ b/src/js/services/id.service.js @@ -150,7 +150,7 @@ module.factory('rpId', ['$rootScope', '$location', '$route', '$routeParams', '$t var d = $scope.userBlob.data; Options.advanced_feature_switch = settings.getSetting($scope.userBlob, 'trust.advancedMode', false); - Options.historyApi = settings.getSetting($scope.userBlob, 'historyApi', Options.historyApi); + Options.historyApi = settings.getSetting($scope.userBlob, 'historyApi', Options.historyApi).replace(/\/[^\/]+$/, ''); // confirmation // Replace default settings with user settings from blob, if blob is empty, then reuse the original value Options.confirmation = $.extend(true, {}, settings.getSetting($scope.userBlob, 'confirmation', Options.confirmation)); diff --git a/src/js/tabs/advanced.controller.js b/src/js/tabs/advanced.controller.js index 89750f362..03fa7ec81 100644 --- a/src/js/tabs/advanced.controller.js +++ b/src/js/tabs/advanced.controller.js @@ -95,7 +95,7 @@ AdvancedTab.prototype.angular = function(module) break; case 'historyApi': - $scope.userBlob.set('/clients/rippletradecom/historyApi', $scope.options.historyApi); + $scope.userBlob.set('/clients/rippletradecom/historyApi', $scope.options.historyApi.replace(/\/[^\/]+$/, '')); break; default: // Save in local storage From 73df35e8451fb8769074906f90e0f80198aaaa7a Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Wed, 18 Mar 2015 21:13:41 +0200 Subject: [PATCH 105/321] [TEST] Initial set of private e2e tests (RT-3254) Test for sending XRP Test for adding trust line --- .travis.yml | 4 +- test/sauce/launch_connect.js | 2 +- test/sauce/package.json | 4 +- test/selenium/tests-private/AddTrust.json | 225 ++++++++++++++++++ test/selenium/tests-private/LoginPrivate.json | 66 ----- test/selenium/tests-private/SendXrp.json | 162 +++++++++++++ test/travis/config-travis.js | 2 +- 7 files changed, 394 insertions(+), 71 deletions(-) create mode 100644 test/selenium/tests-private/AddTrust.json delete mode 100644 test/selenium/tests-private/LoginPrivate.json create mode 100644 test/selenium/tests-private/SendXrp.json diff --git a/.travis.yml b/.travis.yml index aceea26bb..cc0d1dceb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -48,9 +48,11 @@ notifications: on_start: false env: global: - - SAUCE_CONNECT_VERSION=4.3.6 + - SAUCE_CONNECT_VERSION=4.3.7 - SAUCE_USERNAME=tonga - SAUCE_ACCESS_KEY=1553f141-1258-4319-b20d-7743def99fbb + - secure: "g+bSaoKAx6YQTVof5kUBdWx/REaKzqzkP+CQqsU6Whx+rp9juOtJGNtfH++PaWP1hSslRJi2Ib+9+/EU6CXzLE6IlwLHcnBikexeeF28kEivwRqxosLERLQ0axk8VGw324kgUDG1DsJNKxZFPq+LlXkPcF5eVta+BcSz5BO2ygs=" + - secure: "BIFtSHbHke2SfyhCTjnSVwkQ3g8aGGV9ZR+tTSFQmp5RVMPEPTy0eiLx4qk+D/UTnJztQSqrtecVvhIa1iHtkwqecyS3/Hjs5h3F9pHNVdL5njk+sMcI4qL63ijpSG3j41jG81SHiCUi86u0FpGtrYzUaSBVe/DWEKwyXmYMlrM=" # - secure: "VJFHj5fr46Qf7h34xa/W6FmGvknPH57eQLJoEjKlZUYn0EGx9EliCdENfzAbtr3e4GnNvQh6X2bLA/lB7TRzoD84oyGkllkMayevQm/dViJbUBQsl7HOa6VwUwugW+o7T3+vPM4y5qqFv1B/fs3Fthl+eKUatccy9qK4xra1Hso=" diff --git a/test/sauce/launch_connect.js b/test/sauce/launch_connect.js index fb6e0f323..3f5cc9a20 100644 --- a/test/sauce/launch_connect.js +++ b/test/sauce/launch_connect.js @@ -6,7 +6,7 @@ var options = { username: 'tonga', accessKey: '1553f141-1258-4319-b20d-7743def99fbb', verbose: true, - varnish: true, + vmVersion: 'dev-varnish', logger: console.log }; diff --git a/test/sauce/package.json b/test/sauce/package.json index 825ba21ec..41a15b7fd 100644 --- a/test/sauce/package.json +++ b/test/sauce/package.json @@ -1,13 +1,13 @@ { "name": "sauce-connect-launcher-cmd", - "version": "0.1.1", + "version": "0.1.2", "description": "launch sauce connect", "author": { "name": "Ivan Tivonenko", "email": "darkdarkdragon@gmail.com" }, "dependencies": { - "sauce-connect-launcher": "git://github.com/darkdarkdragon/sauce-connect-launcher" + "sauce-connect-launcher": "*" }, "license": "MIT", "scripts": {}, diff --git a/test/selenium/tests-private/AddTrust.json b/test/selenium/tests-private/AddTrust.json new file mode 100644 index 000000000..b51b402c0 --- /dev/null +++ b/test/selenium/tests-private/AddTrust.json @@ -0,0 +1,225 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://localhost:9001/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Gateways" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Gateways" + } + }, + { + "type": "waitForTextPresent", + "text": "Connect" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Connect gateway" + } + }, + { + "type": "waitForTextPresent", + "text": "address" + }, + { + "type": "verifyElementPresent", + "locator": { + "type": "id", + "value": "trust_counterparty" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "trust_counterparty" + }, + "text": "~snapswap" + }, + { + "type": "setElementText", + "locator": { + "type": "xpath", + "value": "//form[@id='trustForm']/div[2]/div/div[2]/div/div/input" + }, + "text": "USD" + }, + { + "type": "sendKeysToElement", + "locator": { + "type": "xpath", + "value": "//form[@id='trustForm']/div[2]/div/div[2]/div/div/input" + }, + "text": "\n" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "link text", + "value": "Save" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Save" + } + }, + { + "type": "waitForTextPresent", + "text": "Confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='modal-content']//button[.='Loading...Confirm']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "SnapSwap", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests-private/LoginPrivate.json b/test/selenium/tests-private/LoginPrivate.json deleted file mode 100644 index 05dc11dc7..000000000 --- a/test/selenium/tests-private/LoginPrivate.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "type": "script", - "seleniumVersion": "2", - "formatVersion": 2, - "steps": [ - { - "type": "get", - "url": "http://localhost:9001/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "Your account needs to be activated" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@class='mainnav']/div/div[2]/ul[2]/li[3]/a" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - } - ], - "data": { - "configs": {}, - "source": "none" - }, - "inputs": [], - "timeoutSeconds": 420 -} \ No newline at end of file diff --git a/test/selenium/tests-private/SendXrp.json b/test/selenium/tests-private/SendXrp.json new file mode 100644 index 000000000..bdbffe870 --- /dev/null +++ b/test/selenium/tests-private/SendXrp.json @@ -0,0 +1,162 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://localhost:9001/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "verifyElementPresent", + "locator": { + "type": "id", + "value": "send_destination" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "~appsteamaccount1" + }, + { + "type": "waitForTextPresent", + "text": "receive" + }, + { + "type": "verifyElementPresent", + "locator": { + "type": "id", + "value": "send_amount" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.0001" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "id", + "value": "sendXrpButton" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "sendXrpButton" + } + }, + { + "type": "waitForTextPresent", + "text": "confirm" + }, + { + "type": "verifyElementPresent", + "locator": { + "type": "id", + "value": "send_unlock_password" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "confirmButton" + } + }, + { + "type": "waitForTextPresent", + "text": "successful" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/travis/config-travis.js b/test/travis/config-travis.js index 9fdacd6ac..92f6c2730 100644 --- a/test/travis/config-travis.js +++ b/test/travis/config-travis.js @@ -11,7 +11,7 @@ var Options = { // Rippled to connect server: { - trace: true, + trace: false, trusted: true, local_signing: true, From f5bf63a63e8fe0d1c8b7683425cbaf1e4f68bd7e Mon Sep 17 00:00:00 2001 From: rht Date: Thu, 19 Mar 2015 01:33:30 +0700 Subject: [PATCH 106/321] [FIX] maxFee: save settings to userBlob (RT-3289) --- src/js/services/id.service.js | 2 ++ src/js/tabs/advanced.controller.js | 1 + 2 files changed, 3 insertions(+) diff --git a/src/js/services/id.service.js b/src/js/services/id.service.js index 045c222b8..d7b85f0d6 100644 --- a/src/js/services/id.service.js +++ b/src/js/services/id.service.js @@ -151,6 +151,8 @@ module.factory('rpId', ['$rootScope', '$location', '$route', '$routeParams', '$t var d = $scope.userBlob.data; Options.advanced_feature_switch = settings.getSetting($scope.userBlob, 'trust.advancedMode', false); Options.historyApi = settings.getSetting($scope.userBlob, 'historyApi', Options.historyApi).replace(/\/[^\/]+$/, ''); + Options.max_tx_network_fee = settings.getSetting($scope.userBlob, 'maxNetworkFee', Options.max_tx_network_fee); + // confirmation // Replace default settings with user settings from blob, if blob is empty, then reuse the original value Options.confirmation = $.extend(true, {}, settings.getSetting($scope.userBlob, 'confirmation', Options.confirmation)); diff --git a/src/js/tabs/advanced.controller.js b/src/js/tabs/advanced.controller.js index 03fa7ec81..b659291a6 100644 --- a/src/js/tabs/advanced.controller.js +++ b/src/js/tabs/advanced.controller.js @@ -65,6 +65,7 @@ AdvancedTab.prototype.angular = function(module) switch (type) { case 'maxNetworkFee': $scope.options.max_tx_network_fee = ripple.Amount.from_human($scope.max_tx_network_fee_human).to_json(); + $scope.userBlob.set('/clients/rippletradecom/maxNetworkFee', $scope.options.max_tx_network_fee); // This has to be updated manually because the network object is not // recreated unless we do location.reload() network.remote.max_fee = $scope.options.max_tx_network_fee; From d4b95f30177ea408717fc1fa7487c9755ba9fe5a Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 18 Mar 2015 14:35:28 -0700 Subject: [PATCH 107/321] [FIX] Calculate reserve in client --- src/js/controllers/app.controller.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/js/controllers/app.controller.js b/src/js/controllers/app.controller.js index 1152f86f4..b3e7ef41a 100644 --- a/src/js/controllers/app.controller.js +++ b/src/js/controllers/app.controller.js @@ -222,6 +222,10 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, }); } + function calculateReserve(server, ownerCount) { + return Amount.from_json(server._reserve_base + server._reserve_inc * ownerCount) + } + function handleAccountEntry(data) { var remote = net.remote; @@ -233,11 +237,11 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, // As per json wire format convention, real ledger entries are CamelCase, // e.g. OwnerCount, additional convenience fields are lower case, e.g. // reserve, max_spend. + var ownerCount = $scope.account.OwnerCount || 0; - $scope.account.reserve_base = server._reserve(0); - $scope.account.reserve = server._reserve(ownerCount); - $scope.account.reserve_to_add_trust = server._reserve(ownerCount+1); - $scope.account.reserve_low_balance = $scope.account.reserve.product_human(2); + $scope.account.reserve_base = server._reserve_base; + $scope.account.reserve = calculateReserve(server, ownerCount); + $scope.account.reserve_to_add_trust = calculateReserve(server, ownerCount + 1); // Maximum amount user can spend var bal = Amount.from_json(data.Balance); From ae46460dd3e534271b8f66d8590f7a83f2e32c17 Mon Sep 17 00:00:00 2001 From: Yong-Soo Chung Date: Wed, 18 Mar 2015 15:02:05 -0700 Subject: [PATCH 108/321] [TASK] Trade: Remove hide function from orderbook (RT-3276) --- src/jade/tabs/trade.jade | 3 --- src/js/tabs/trade.controller.js | 4 ---- 2 files changed, 7 deletions(-) diff --git a/src/jade/tabs/trade.jade b/src/jade/tabs/trade.jade index ca9ce076c..51f00e77a 100644 --- a/src/jade/tabs/trade.jade +++ b/src/jade/tabs/trade.jade @@ -582,9 +582,6 @@ section.col-xs-12.content(ng-controller="TradeCtrl") .col-xs-12.col-sm-6 div.orderbook-title(l10n) | Orderbook - small.toggle.orderbook-hide(ng-click="visualState.hideOrderBook = !visualState.hideOrderBook") - span(ng-show="visualState.hideOrderBook", l10n) show - span(ng-hide="visualState.hideOrderBook", l10n) hide .col-xs-12.col-sm-6.last-update(l10n, ng-show="lastUpdate") Last updated span(ng-bind="lastUpdate") span(ng-show="lastUpdate > '1'", l10n-inc) seconds diff --git a/src/js/tabs/trade.controller.js b/src/js/tabs/trade.controller.js index 8a11a5f14..c04a59801 100644 --- a/src/js/tabs/trade.controller.js +++ b/src/js/tabs/trade.controller.js @@ -86,10 +86,6 @@ TradeTab.prototype.angular = function(module) seq: null }; - $scope.visualState = { - hideOrderBook: false - }; - var rpamountFilter = $filter('rpamount'); var lastUpdate; From 571b61cf66e15eac8d91d0f93fcda020775c2cbf Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 18 Mar 2015 16:29:50 -0700 Subject: [PATCH 109/321] [TASK] Adapt to ripple-lib Amount changes --- src/js/directives/directives.directive.js | 3 ++- src/js/filters/filters.filter.js | 7 +++---- src/js/tabs/send.controller.js | 3 --- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/js/directives/directives.directive.js b/src/js/directives/directives.directive.js index 22846f9b9..ae9bb6f8e 100644 --- a/src/js/directives/directives.directive.js +++ b/src/js/directives/directives.directive.js @@ -256,7 +256,7 @@ module.directive('rpAutofill', ['$parse', function($parse) { if (attr.rpAutofillAmount || attr.rpAutofillCurrency) { // 1 XRP will be interpreted as 1 XRP, not 1 base unit if (value === ("" + parseInt(value, 10))) { - value = value + '.0'; + value += '/XRP'; } var convertCurrency = function(currencyObj) { @@ -282,6 +282,7 @@ module.directive('rpAutofill', ['$parse', function($parse) { value = convertCurrency(amount.currency()); } } + // Maybe a currency? else { var currency = ripple.Currency.from_json(value); diff --git a/src/js/filters/filters.filter.js b/src/js/filters/filters.filter.js index 8765990ba..9305684ca 100755 --- a/src/js/filters/filters.filter.js +++ b/src/js/filters/filters.filter.js @@ -12,7 +12,6 @@ var currencies = require('../data/currencies'); */ module.filter('rpamount', function() { return function (input, options) { - var currency; var opts = jQuery.extend(true, {}, options); @@ -27,7 +26,7 @@ module.filter('rpamount', function() { if (!input) return "n/a"; if (opts.xrp_human && input === ("" + parseInt(input, 10))) { - input = input + ".0"; + input += "/XRP"; } var origPrecision = opts.precision; @@ -39,7 +38,7 @@ module.filter('rpamount', function() { } // if hard_precision is true, do not allow precision & min_precision to be overridden - if (! opts.hard_precision && input._is_native) { + if (!opts.hard_precision && input._is_native) { // If XRP, then set standard precision here currency = currencies[0].standard_precision; opts.min_precision = currency; @@ -62,7 +61,7 @@ module.filter('rpamount', function() { return amount.to_human(opts); } - if (! opts.hard_precision) { + if (!opts.hard_precision) { // Currency default precision for (var i = 0; i < currencies.length; i++) { if (currencies[i].value === amount.currency().to_human()) { diff --git a/src/js/tabs/send.controller.js b/src/js/tabs/send.controller.js index d92020c30..5a1b5d414 100644 --- a/src/js/tabs/send.controller.js +++ b/src/js/tabs/send.controller.js @@ -1248,9 +1248,6 @@ SendTab.prototype.angular = function (module) if ($routeParams.to && $routeParams.amount) { var amountValue = $routeParams.amount; - if (amountValue === ('' + parseInt(amountValue, 10))) { - amountValue = amountValue + '.0'; - } var amount = ripple.Amount.from_json(amountValue); var currency = amount.currency(); if ($scope.currencies_all_keyed[currency.get_iso()]) { From 3bd6a863eb75b7bfaa7afa3dcb39d1c3f565d3da Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 18 Mar 2015 17:23:14 -0700 Subject: [PATCH 110/321] [TASK] Update ripple-lib --- bower.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bower.json b/bower.json index 50c0ac8e9..f2dd4e59c 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "name": "ripple-client", "dependencies": { - "ripple": "~0.12.1-rc4", + "ripple": "~0.12.1-rc5", "ripple-vault-client": "~0.4.7", "angular": "~1.3.12", "angular-messages": "~1.3.12", From d9101ce5746edcb5ae410979285ef12eac8af5fa Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 19 Mar 2015 04:03:50 +0200 Subject: [PATCH 111/321] [FIX] fix use of $validate use private method for now. this is because rpAmount and other validators not real validators, but parsers, and latest angular does not call parsers on $validate. when rpAmount and others changed to validators this can be changed back to $validate --- src/js/tabs/exchange.controller.js | 9 +++++++-- src/js/tabs/send.controller.js | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/js/tabs/exchange.controller.js b/src/js/tabs/exchange.controller.js index dd20c4f0e..c6348f53a 100644 --- a/src/js/tabs/exchange.controller.js +++ b/src/js/tabs/exchange.controller.js @@ -56,8 +56,13 @@ ExchangeTab.prototype.angular = function (module) setImmediate(function() { if ($scope.exchangeForm.amount !== undefined) { $scope.$apply(function() { - $scope.exchangeForm.amount.$setViewValue($scope.exchange.amount); - $scope.exchangeForm.amount.$validate(); + // $scope.exchangeForm.amount.$validate(); + // hack - use of private method. this is because rpAmount and other + // validators not real validators, but parsers. + // and latest angular does not call parsers on $validate. + // when rpAmount and others changed to validators this can be changed + // back to $validate + $scope.exchangeForm.amount.$$parseAndValidate(); runUpdateExchangeIfNeeded(); }); } diff --git a/src/js/tabs/send.controller.js b/src/js/tabs/send.controller.js index 697451ec3..c12411cd6 100644 --- a/src/js/tabs/send.controller.js +++ b/src/js/tabs/send.controller.js @@ -90,8 +90,13 @@ SendTab.prototype.angular = function (module) setImmediate(function() { if ($scope.sendForm && $scope.sendForm.send_amount !== undefined) { $scope.$apply(function() { - $scope.sendForm.send_amount.$setViewValue($scope.send.amount); - $scope.sendForm.send_amount.$validate(); + // $scope.sendForm.send_amount.$validate(); + // hack - use of private method. this is because rpAmount and other + // validators not real validators, but parsers. + // and latest angular does not call parsers on $validate. + // when rpAmount and others changed to validators this can be changed + // back to $validate + $scope.sendForm.send_amount.$$parseAndValidate(); $scope.update_amount(); }); } From 3f571172f9d6fb23428ce4b17312ec5d5466b320 Mon Sep 17 00:00:00 2001 From: Malika Date: Thu, 19 Mar 2015 10:03:43 -0700 Subject: [PATCH 112/321] [TASK] Send: disallowXRP flag should only be notice (RT-3284) --- src/jade/tabs/send.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jade/tabs/send.jade b/src/jade/tabs/send.jade index 644b48056..1f47742d6 100644 --- a/src/jade/tabs/send.jade +++ b/src/jade/tabs/send.jade @@ -161,7 +161,7 @@ section.col-xs-12.content(ng-controller='SendCtrl') | You are either trying to send too little or too much XRP. | Minimum amount is 0.000001 XRP and maximum amount is 100 billion XRP. .error(ng-message='rpMaxDigits', l10n) Your amount has too many digits. The max number of digits is 16. - .error(ng-show="send.recipient_info.disallow_xrp && send.currency_code=='XRP'", l10n) + .notice(ng-show="send.recipient_info.disallow_xrp && send.currency_code=='XRP'", l10n) | Recipient does not allow XRP payments. Are you sure you want to send XRP anyway? .notice(ng-show="send.trust_limit", l10n) {{send.recipient | rpcontactname}} | trusts you for {{send.trust_limit | rpamount}} {{send.trust_limit | rpcurrency}}. From 5e6286a365df7da9a16074583f7832ffb7719986 Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Wed, 18 Mar 2015 17:46:04 +0400 Subject: [PATCH 113/321] [TASK] Changing trustlines buttons classnames and some css cleanups. --- src/jade/tabs/aud.jade | 8 ++++---- src/jade/tabs/brl.jade | 6 +++--- src/jade/tabs/btc.jade | 6 +++--- src/jade/tabs/eur.jade | 8 ++++---- src/jade/tabs/gold.jade | 8 ++++---- src/jade/tabs/jpy.jade | 8 ++++---- src/jade/tabs/mxn.jade | 8 ++++---- src/jade/tabs/nzd.jade | 8 ++++---- src/jade/tabs/sgd.jade | 8 ++++---- src/jade/tabs/usd.jade | 8 ++++---- src/less/ripple/tabs/gateways.less | 16 ---------------- 11 files changed, 38 insertions(+), 54 deletions(-) diff --git a/src/jade/tabs/aud.jade b/src/jade/tabs/aud.jade index b4133f88c..47108f81c 100644 --- a/src/jade/tabs/aud.jade +++ b/src/jade/tabs/aud.jade @@ -64,10 +64,10 @@ section.col-xs-12.content(ng-controller='AudCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large(ng-show="!audConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust") Add Coinex AUD - button.btn.btn-large(ng-show="!audConnected && loading", type="submit", ng-disabled="loading") Adding... - button.btn.btn-large(ng-show="showInstructions && audConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions - button.btn.btn-large(ng-show="audConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions + button.btn.btn-large.btn-primary(ng-show="!audConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Coinex AUD + button.btn.btn-large.btn-primary(ng-show="!audConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... + button.btn.btn-large.btn-primary(ng-show="showInstructions && audConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions + button.btn.btn-large.btn-primary(ng-show="audConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="loading") .description(ng-show="!audConnected && account.Balance", l10n) diff --git a/src/jade/tabs/brl.jade b/src/jade/tabs/brl.jade index 6c0b9910c..ace7a4ca5 100644 --- a/src/jade/tabs/brl.jade +++ b/src/jade/tabs/brl.jade @@ -69,11 +69,11 @@ section.col-xs-12.content(ng-controller='BrlCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4.action-btn-wrapper - button.btn.btn-large(type="submit",ng-click="save_account()", ng-hide="brlConnected", ng-disabled="loading || !account.Balance || !can_add_trust") + button.btn.btn-large.btn-primary(type="submit",ng-click="save_account()", ng-hide="brlConnected", ng-disabled="loading || !account.Balance || !can_add_trust") span(ng-show="!loading", l10n) Add Rippex span(ng-show="loading", l10n) Adding... - button.btn.btn-large(ng-show="showInstructions && brlConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions - button.btn.btn-large(ng-show="!showInstructions && brlConnected ", type="submit", ng-click="toggle_instructions()", l10n) Show instructions + button.btn.btn-large.btn-primary(ng-show="showInstructions && brlConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions + button.btn.btn-large.btn-primary(ng-show="!showInstructions && brlConnected ", type="submit", ng-click="toggle_instructions()", l10n) Show instructions .connect.col-xs-5.col-sm-7.col-md-8 .description(ng-show="!brlConnected && account.Balance", l10n) diff --git a/src/jade/tabs/btc.jade b/src/jade/tabs/btc.jade index b05409a66..442b7dd68 100644 --- a/src/jade/tabs/btc.jade +++ b/src/jade/tabs/btc.jade @@ -78,9 +78,9 @@ section.col-xs-12.content(ng-controller='BtcCtrl') span.modal-error(ng-show="emailError", l10n) | SnapSwap's btc2ripple service is currently unavailable. | Please check back later. - button.btn.btn-large(ng-show="!btcConnected && loading", ng-disabled="loading") Adding... - button.btn.btn-block.btn-primary(ng-show="showInstructions && btcConnected", type="submit", ng-click="toggle_instructions()") Hide instructions - button.btn.btn-block.btn-primary(ng-show="btcConnected && !showInstructions", type="submit", ng-click="toggle_instructions()") Show instructions + button.btn.btn-primary(ng-show="!btcConnected && loading", ng-disabled="loading", l10n) Adding... + button.btn.btn-block.btn-primary(ng-show="showInstructions && btcConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions + button.btn.btn-block.btn-primary(ng-show="btcConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions .connect.col-md-8.col-sm-7.col-xs-5 .description(ng-show="!btcConnected", l10n) diff --git a/src/jade/tabs/eur.jade b/src/jade/tabs/eur.jade index 2499961d9..75a100b7a 100644 --- a/src/jade/tabs/eur.jade +++ b/src/jade/tabs/eur.jade @@ -64,10 +64,10 @@ section.col-xs-12.content(ng-controller='EurCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large(ng-show="!eurConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust") Add SnapSwap.eu - button.btn.btn-large(ng-show="!eurConnected && loading", type="submit", ng-disabled="loading") Adding... - button.btn.btn-large(ng-show="showInstructions && eurConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions - button.btn.btn-large(ng-show="eurConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions + button.btn.btn-large.btn-primary(ng-show="!eurConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add SnapSwap.eu + button.btn.btn-large.btn-primary(ng-show="!eurConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... + button.btn.btn-large.btn-primary(ng-show="showInstructions && eurConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions + button.btn.btn-large.btn-primary(ng-show="eurConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="loading") .description.fa.fa-times(ng-show="!eurConnected && account.Balance", l10n) Not connected diff --git a/src/jade/tabs/gold.jade b/src/jade/tabs/gold.jade index 1e243ef73..ded0443b5 100644 --- a/src/jade/tabs/gold.jade +++ b/src/jade/tabs/gold.jade @@ -62,10 +62,10 @@ section.col-xs-12.content(ng-controller='GoldCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large(ng-show="!gbiConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust") Add GBI - button.btn.btn-large(ng-show="!gbiConnected && loading", type="submit", ng-disabled="loading") Adding... - button.btn.btn-large(ng-show="showInstructions && gbiConnected", type="submit", ng-click="toggle_instructions()") Hide instructions - button.btn.btn-large(ng-show="gbiConnected && !showInstructions", type="submit", ng-click="toggle_instructions()") Show instructions + button.btn.btn-large.btn-primary(ng-show="!gbiConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add GBI + button.btn.btn-large.btn-primary(ng-show="!gbiConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... + button.btn.btn-large.btn-primary(ng-show="showInstructions && gbiConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions + button.btn.btn-large.btn-primary(ng-show="gbiConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="loading") .description(ng-show="!gbiConnected && account.Balance", l10n) diff --git a/src/jade/tabs/jpy.jade b/src/jade/tabs/jpy.jade index dc9d68a6b..5931349f2 100644 --- a/src/jade/tabs/jpy.jade +++ b/src/jade/tabs/jpy.jade @@ -63,10 +63,10 @@ section.col-xs-12.content(ng-controller='JpyCtrl') .descriptor(ng-show="!jpyConnected", l10n) Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your behalf. .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large(ng-show="!jpyConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust") Add Tokyo JPY - button.btn.btn-large(ng-show="!jpyConnected && loading", type="submit", ng-disabled="loading") Adding... - button.btn.btn-large(ng-show="showInstructions && jpyConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions - button.btn.btn-large(ng-show="jpyConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions + button.btn.btn-large.btn-primary(ng-show="!jpyConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Tokyo JPY + button.btn.btn-large.btn-primary(ng-show="!jpyConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... + button.btn.btn-large.btn-primary(ng-show="showInstructions && jpyConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions + button.btn.btn-large.btn-primary(ng-show="jpyConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="loading") .description(ng-show="!jpyConnected && account.Balance", l10n) diff --git a/src/jade/tabs/mxn.jade b/src/jade/tabs/mxn.jade index 0dbc1ff75..a39f545c3 100644 --- a/src/jade/tabs/mxn.jade +++ b/src/jade/tabs/mxn.jade @@ -65,10 +65,10 @@ section.col-xs-12.content(ng-controller='MxnCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large(ng-show="!mxnConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust") Add Bitso - button.btn.btn-large(ng-show="!mxnConnected && loading", type="submit", ng-disabled="loading") Adding... - button.btn.btn-large(ng-show="showInstructions && mxnConnected", type="submit", ng-click="toggle_instructions()") Hide instructions - button.btn.btn-large(ng-show="mxnConnected && !showInstructions", type="submit", ng-click="toggle_instructions()") Show instructions + button.btn.btn-large.btn-primary(ng-show="!mxnConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Bitso + button.btn.btn-large.btn-primary(ng-show="!mxnConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... + button.btn.btn-large.btn-primary(ng-show="showInstructions && mxnConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions + button.btn.btn-large.btn-primary(ng-show="mxnConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="loading") .description(ng-show="!mxnConnected && account.Balance", l10n) diff --git a/src/jade/tabs/nzd.jade b/src/jade/tabs/nzd.jade index 7aebecf26..b3ac20990 100644 --- a/src/jade/tabs/nzd.jade +++ b/src/jade/tabs/nzd.jade @@ -64,10 +64,10 @@ section.col-xs-12.content(ng-controller='NzdCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large(ng-show="!nzdConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust") Add Coinex NZD - button.btn.btn-large(ng-show="!nzdConnected && loading", type="submit", ng-disabled="loading") Adding... - button.btn.btn-large(ng-show="showInstructions && nzdConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions - button.btn.btn-large(ng-show="nzdConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions + button.btn.btn-large.btn-primary(ng-show="!nzdConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Coinex NZD + button.btn.btn-large.btn-primary(ng-show="!nzdConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... + button.btn.btn-large.btn-primary(ng-show="showInstructions && nzdConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions + button.btn.btn-large.btn-primary(ng-show="nzdConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="loading") .description(ng-show="!nzdConnected && account.Balance", l10n) diff --git a/src/jade/tabs/sgd.jade b/src/jade/tabs/sgd.jade index 7f4456426..ec13b6beb 100644 --- a/src/jade/tabs/sgd.jade +++ b/src/jade/tabs/sgd.jade @@ -64,10 +64,10 @@ section.col-xs-12.content(ng-controller='SgdCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large(ng-show="!sgdConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust") Add Ripple Singapore - button.btn.btn-large(ng-show="!sgdConnected && loading", type="submit", ng-disabled="loading") Adding... - button.btn.btn-large(ng-show="showInstructions && sgdConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions - button.btn.btn-large(ng-show="sgdConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions + button.btn.btn-large.btn-primary(ng-show="!sgdConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Ripple Singapore + button.btn.btn-large.btn-primary(ng-show="!sgdConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... + button.btn.btn-large.btn-primary(ng-show="showInstructions && sgdConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions + button.btn.btn-large.btn-primary(ng-show="sgdConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="loading") .description(ng-show="!sgdConnected && account.Balance", l10n) diff --git a/src/jade/tabs/usd.jade b/src/jade/tabs/usd.jade index 7a6db442d..a5d3b64c7 100644 --- a/src/jade/tabs/usd.jade +++ b/src/jade/tabs/usd.jade @@ -61,10 +61,10 @@ section.col-xs-12.content(ng-controller='UsdCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large(ng-show="!usdConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust") Add SnapSwap.us - button.btn.btn-large(ng-show="!usdConnected && loading", type="submit", ng-disabled="loading") Adding... - button.btn.btn-large(ng-show="showInstructions && usdConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions - button.btn.btn-large(ng-show="usdConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions + button.btn.btn-large.btn-primary(ng-show="!usdConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add SnapSwap.us + button.btn.btn-large.btn-primary(ng-show="!usdConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... + button.btn.btn-large.btn-primary(ng-show="showInstructions && usdConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions + button.btn.btn-large.btn-primary(ng-show="usdConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="loading") .description.fa.fa-times(ng-show="!usdConnected && account.Balance", l10n) Not connected diff --git a/src/less/ripple/tabs/gateways.less b/src/less/ripple/tabs/gateways.less index 27f12e579..0b49bd0ed 100644 --- a/src/less/ripple/tabs/gateways.less +++ b/src/less/ripple/tabs/gateways.less @@ -185,14 +185,6 @@ .button-group { text-align: center; } - button { - text-align: center; - &:disabled { - background-color: @midblue; - color: #fff; - border-color: @midblue; - } - } .description { padding-bottom: 20px; } @@ -238,16 +230,8 @@ button { text-align: center; - border: 1px solid @midblue; font-weight: bold; - background: @midblue; - color: @white; width: 100%; - - &:hover, &.active { - background: darken(@midblue, 15%); - border-color: darken(@midblue, 15%); - } } .connect{ From d4160c1caa3a887b78fca5e3c2fd9e6708f78903 Mon Sep 17 00:00:00 2001 From: Yong-Soo Chung Date: Thu, 19 Mar 2015 11:50:01 -0700 Subject: [PATCH 114/321] [FEATURE] Trust: Allow edit incoming trustline (RT-3246), enable limit setting on incoming trustline (RT-3240), fix outgoing trust showing as incoming (RT-3306) --- src/jade/tabs/trust.jade | 16 ++++------------ src/js/tabs/trust.controller.js | 27 +++++++++++++++------------ 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/src/jade/tabs/trust.jade b/src/jade/tabs/trust.jade index 0826ddb43..455303d3a 100644 --- a/src/jade/tabs/trust.jade +++ b/src/jade/tabs/trust.jade @@ -250,19 +250,11 @@ section.col-xs-12.content(ng-controller="TrustCtrl") div(ng-show="component.no_ripple", l10n) Off div(ng-hide="component.no_ripple", l10n) On div(ng-hide="component.freeze_peer", ng-class="{ 'col-md-2': globalOptions.advanced_feature_switch, 'col-md-3': !globalOptions.advanced_feature_switch }") - span.visible-xs.visible-sm(ng-hide="editing || isIncoming()") + span.visible-xs.visible-sm(ng-hide="editing") a.btn.btn-cancel(href="", ng-click="edit_account()" l10n) edit - a.hidden-xs.hidden-sm(href="", ng-hide="editing || isIncoming()", ng-click="edit_account()" + a.hidden-xs.hidden-sm(href="", ng-hide="editing", ng-click="edit_account()" l10n) edit - span( - ng-show="isIncoming()" - rp-popover - rp-popover-placement="bottom" - rp-popover-trigger="hover" - l10n-rp-popover-title="Incoming trust" - l10n-data-content="This is an incoming trust line. Incoming trust lines are when other Ripple users trust you. You can only edit the rippling on or off option for incoming trust lines.") - a(href="", ng-click="editing || edit_account()", l10n) edit span(ng-show="editing && !globalOptions.advanced_feature_switch") span(ng-hide="trust.loading") div.row.row-padding-small @@ -333,7 +325,7 @@ section.col-xs-12.content(ng-controller="TrustCtrl") rp-amount rp-max-digits rp-amount-currency='{{trust.limit}}' - ng-disabled='trust.loading || isIncoming()', required) + ng-disabled='trust.loading', required) .col-sm-2.col-md-2.inputPadding div.rippling-checkbox label(l10n) Rippling @@ -396,4 +388,4 @@ section.col-xs-12.content(ng-controller="TrustCtrl") button.btn.btn-block.btn-danger.btn-xs.submit(type="button", ng-click="delete_account()", ng-show="isIncoming()", disabled, l10n) Remove .col-xs-3 a.btn.btn-block.btn-cancel(href="", ng-click="cancel()" - ng-disabled="trust.loading", l10n) cancel + ng-disabled="trust.loading", l10n) cancel \ No newline at end of file diff --git a/src/js/tabs/trust.controller.js b/src/js/tabs/trust.controller.js index 86e8703bf..0b160ef76 100644 --- a/src/js/tabs/trust.controller.js +++ b/src/js/tabs/trust.controller.js @@ -71,6 +71,9 @@ TrustTab.prototype.angular = function (module) // User should not even be able to try granting a trust if the reserve is insufficient $scope.$watch('account', function() { + // Check if account has DefaultRipple flag set + $scope.acctDefaultRippleFlag = ($scope.account.Flags & ripple.Remote.flags.account_root.DefaultRipple) + $scope.can_add_trust = false; if ($scope.account.Balance && $scope.account.reserve_to_add_trust) { if (!$scope.account.reserve_to_add_trust.subtract($scope.account.Balance).is_positive() @@ -467,16 +470,7 @@ TrustTab.prototype.angular = function (module) tx.trustSet(idAccount, '0' + '/' + lineCurrency + '/' + lineAccount); - var account = network.remote.account(id.account); - // Check if account has DefaultRipple flag set - account.entry(function (e, data) { - if (e) { - console.log('Error: ', e); - } else { - (data.account_data.Flags & ripple.Remote.flags.account_root.DefaultRipple) - ? tx.setFlags('ClearNoRipple') : tx.setFlags('NoRipple'); - } - }); + $scope.acctDefaultRippleFlag ? tx.setFlags('ClearNoRipple') : tx.setFlags('NoRipple'); setSecretAndSubmit(tx); }; @@ -644,8 +638,17 @@ TrustTab.prototype.angular = function (module) }); }; - $scope.isIncoming = function () { - return $scope.component.limit_peer._value.t !== 0; + $scope.isIncoming = function () { + if (Number($scope.component.limit.to_json().value) === 0 && $scope.acctDefaultRippleFlag) { + // If limit is 0 and DefaultRipple flag is on, that means that the default state + // for that trust line has rippling turned on. + + // This is an incoming trustline + return !$scope.component.no_ripple; + } else if (Number($scope.component.limit.to_json().value) === 0) { + // This is also an incoming trustline + return $scope.component.no_ripple; + } }; }]); From 5c6b93d49f7b090251ccc4223786bc5c572cff61 Mon Sep 17 00:00:00 2001 From: Malika Date: Wed, 18 Mar 2015 13:05:36 -0700 Subject: [PATCH 115/321] [FIX] Server status icon -switch to reload when fee changes --- src/jade/client/navbar.jade | 22 ++++++++++++++------ src/js/controllers/app.controller.js | 1 - src/js/controllers/navbar.controller.js | 27 ++++++++++++++----------- src/less/ripple/layout.less | 6 +++++- 4 files changed, 36 insertions(+), 20 deletions(-) diff --git a/src/jade/client/navbar.jade b/src/jade/client/navbar.jade index 7dd2ebf99..3b6784fb7 100644 --- a/src/jade/client/navbar.jade +++ b/src/jade/client/navbar.jade @@ -41,12 +41,22 @@ nav.navbar(role="navigation", ng-controller="NavbarCtrl") //- span.balance {{balance.total | rpamount:{rel_precision: 2} }}  //- span.balance(rp-currency="balance.total", rp-currency-short) li - span(class="serverStatus {{connected ? 'online' : 'offline'}} {{serverLoad}}" - rp-popover - rp-popover-placement="bottom" - rp-popover-trigger="hover" - rp-popover-delay - l10n-rp-popover-content="Server Status:
{{ message }} ") + span(class="serverStatus {{connected ? 'online' : 'offline'}} {{serverLoad}}") + span(ng-if="serverStatus == 'disconnected'" + rp-popover, rp-popover-placement="bottom", rp-popover-trigger="hover", rp-popover-delay + l10n-rp-popover-content="Disconnected from the Ripple network") + span(ng-if="serverStatus == 'highLoad'" + rp-popover, rp-popover-placement="bottom", rp-popover-trigger="hover", rp-popover-delay + l10n-rp-popover-content="Network fees are currently higher than your maximum. Fee: {{ currentFee }} XRP. Change fees") + span(ng-if="serverStatus == 'mediumLoad'" + rp-popover, rp-popover-placement="bottom", rp-popover-trigger="hover", rp-popover-delay + l10n-rp-popover-content="'Network fees are currently higher than normal. Fee: {{ currentFee }} XRP'") + span(ng-if="serverStatus == 'lowLoad'" + rp-popover, rp-popover-placement="bottom", rp-popover-trigger="hover", rp-popover-delay + l10n-rp-popover-content="Connected to the Ripple network. Fee: {{ currentFee }} XRP") + span(ng-if="serverStatus == 'connected'" + rp-popover, rp-popover-placement="bottom", rp-popover-trigger="hover", rp-popover-delay + l10n-rp-popover-content="Connected to the Ripple network.") li a(href="#/account/public", ng-hide="loading") ~{{userCredentials.username}} li.dropdown.notifications-dropdown(dropdown on-toggle="toggled(open)") diff --git a/src/js/controllers/app.controller.js b/src/js/controllers/app.controller.js index 1152f86f4..e48019462 100644 --- a/src/js/controllers/app.controller.js +++ b/src/js/controllers/app.controller.js @@ -106,7 +106,6 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, accountObj.on('entry', function(data){ $scope.$apply(function () { $scope.fee = remote.createTransaction()._computeFee(); - // console.log('fee', remote.createTransaction()._computeFee()); $scope.loadingAccount = false; myHandleAccountEntry(data); diff --git a/src/js/controllers/navbar.controller.js b/src/js/controllers/navbar.controller.js index 8260d47b9..f2e8d15bb 100644 --- a/src/js/controllers/navbar.controller.js +++ b/src/js/controllers/navbar.controller.js @@ -31,32 +31,35 @@ module.controller('NavbarCtrl', ['$scope', '$element', '$compile', 'rpId', // Reload location.reload(); }; - // Username - $scope.$watch('userCredentials', function(){ - var username = $scope.userCredentials.username; - if(username) $scope.loading = false; + + $scope.$watch('fee', function(){ $scope.currentFee = ripple.Amount.from_json($scope.fee).to_human(); - $scope.shortUsername = null; - if(!$scope.connected && username) { - $scope.message = 'Disconnected from the Ripple network'; + if(!$scope.connected && $scope.userCredentials.username) { + $scope.serverStatus = 'disconnected'; } else if ($scope.currentFee && $scope.connected && $scope.currentFee > Options.low_load_threshold && $scope.currentFee < ripple.Amount.from_json(Options.max_tx_network_fee).to_human()) { $scope.serverLoad = 'mediumLoad'; - $scope.message = 'Network fees are currently higher than normal. Fee: ' + $scope.currentFee + ' XRP'; + $scope.serverStatus = 'mediumLoad'; } else if ($scope.currentFee && $scope.connected && $scope.currentFee >= ripple.Amount.from_json(Options.max_tx_network_fee).to_human()) { $scope.serverLoad = 'highLoad'; - $scope.message = 'Network fees are currently higher than your maximum. Fee: ' + $scope.currentFee + ' XRP. ' + 'Change fees'.link('#/advanced'); + $scope.serverStatus = 'highLoad'; } else if ($scope.currentFee && $scope.connected) { $scope.serverLoad = ''; - $scope.message = 'Connected to the Ripple network. Fee: ' + $scope.currentFee + ' XRP'; + $scope.serverStatus = 'lowLoad'; } else { - $scope.message = 'Connected to the Ripple network.'; + $scope.serverStatus = 'connected'; } - + }, true); + + // Username + $scope.$watch('userCredentials', function(){ + var username = $scope.userCredentials.username; + if(username) $scope.loading = false; + $scope.shortUsername = null; if(username && username.length > 25) { $scope.shortUsername = username.substring(0,24)+'...'; diff --git a/src/less/ripple/layout.less b/src/less/ripple/layout.less index a70c54a55..628afcb86 100644 --- a/src/less/ripple/layout.less +++ b/src/less/ripple/layout.less @@ -623,11 +623,15 @@ footer { } .serverStatus { - padding: 6px; margin: 25px 0; display: inline-block; border-radius: 6px; background: #cccccc; + + span { + padding: 6px; + display: block; + } } /* animation for png loader */ From 2608540e6d7528d97156d18cd4777de217338bb7 Mon Sep 17 00:00:00 2001 From: Hovhannes Kuloghlyan Date: Fri, 20 Mar 2015 02:18:08 +0400 Subject: [PATCH 116/321] [FIX] Convert fee in rewrited transaction to ripple.Amount --- src/js/util/jsonrewriter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/util/jsonrewriter.js b/src/js/util/jsonrewriter.js index 84163100b..7e16a0dfe 100644 --- a/src/js/util/jsonrewriter.js +++ b/src/js/util/jsonrewriter.js @@ -624,7 +624,7 @@ var JsonRewriter = module.exports = { obj.tx_type = tx.TransactionType; obj.tx_result = meta.TransactionResult; - obj.fee = hasFee ? tx.Fee : 0; + obj.fee = ripple.Amount.from_json(hasFee ? tx.Fee : 0); obj.date = ripple.utils.toTimestamp(tx.date); obj.dateRaw = tx.date; obj.hash = tx.hash; From ce55a9c8fc77505eff23423cf940425d7dd470c3 Mon Sep 17 00:00:00 2001 From: Hovhannes Kuloghlyan Date: Fri, 20 Mar 2015 03:59:44 +0400 Subject: [PATCH 117/321] [FIX] Do not convert fees to Amount in history controller It's not needed anymore because fees are converted to Amount objects in jsonrewriter --- src/js/tabs/history.controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/tabs/history.controller.js b/src/js/tabs/history.controller.js index a80ecd779..5f7f07aa4 100644 --- a/src/js/tabs/history.controller.js +++ b/src/js/tabs/history.controller.js @@ -322,7 +322,7 @@ HistoryTab.prototype.angular = function (module) { lineTemplate.Date = dateTime.format('YYYY-MM-DD'); lineTemplate.Time = dateTime.format('HH:mm:ss'); lineTemplate.LedgerNum = histLine.ledger_index; - lineTemplate.Fee = formatAmount(Amount.from_json(histLine.fee)); + lineTemplate.Fee = formatAmount(histLine.fee); lineTemplate.TransHash = histLine.hash; // Default type-specific fields to NA, they will be overridden later if applicable From 502404d86b349159b4a76c37f3e4715490bc0c3f Mon Sep 17 00:00:00 2001 From: Malika Date: Fri, 20 Mar 2015 10:19:10 -0700 Subject: [PATCH 118/321] [TASK] Add senderas to trade pairs (RT-3308) --- deps/gateways.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/deps/gateways.json b/deps/gateways.json index 505563ad5..5c9642159 100644 --- a/deps/gateways.json +++ b/deps/gateways.json @@ -192,5 +192,12 @@ "currencies": ["ZAR"] }], "domain": "www.ice3x.co.za" + }, { + "name": "Senderas", + "accounts": [{ + "address": "rJypGvB8H2JBj1QVYofUTU8kFtWLspNWqs", + "currencies": ["GBP"] + }], + "domain": "www.senderas.com" } ] From 4d3fb48a98cf0c130c18622e994bb7fde32b5d2d Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Thu, 19 Mar 2015 17:06:19 -0700 Subject: [PATCH 119/321] [FIX] Advanced: HistoryApi regex --- src/js/services/id.service.js | 2 +- src/js/tabs/advanced.controller.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/js/services/id.service.js b/src/js/services/id.service.js index d7b85f0d6..efe94d7c4 100644 --- a/src/js/services/id.service.js +++ b/src/js/services/id.service.js @@ -150,7 +150,7 @@ module.factory('rpId', ['$rootScope', '$location', '$route', '$routeParams', '$t var d = $scope.userBlob.data; Options.advanced_feature_switch = settings.getSetting($scope.userBlob, 'trust.advancedMode', false); - Options.historyApi = settings.getSetting($scope.userBlob, 'historyApi', Options.historyApi).replace(/\/[^\/]+$/, ''); + Options.historyApi = settings.getSetting($scope.userBlob, 'historyApi', Options.historyApi).replace(/[\/]*$/, ''); Options.max_tx_network_fee = settings.getSetting($scope.userBlob, 'maxNetworkFee', Options.max_tx_network_fee); // confirmation diff --git a/src/js/tabs/advanced.controller.js b/src/js/tabs/advanced.controller.js index b659291a6..cd84fef5e 100644 --- a/src/js/tabs/advanced.controller.js +++ b/src/js/tabs/advanced.controller.js @@ -96,7 +96,7 @@ AdvancedTab.prototype.angular = function(module) break; case 'historyApi': - $scope.userBlob.set('/clients/rippletradecom/historyApi', $scope.options.historyApi.replace(/\/[^\/]+$/, '')); + $scope.userBlob.set('/clients/rippletradecom/historyApi', $scope.options.historyApi.replace(/[\/]*$/, '')); break; default: // Save in local storage From 0cb04eafba8129a632e6fa0648a094fb3602dfc1 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Fri, 20 Mar 2015 14:03:39 -0700 Subject: [PATCH 120/321] [FIX] Jsonrewriter: Handle < 1 drop trades --- src/js/util/jsonrewriter.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/js/util/jsonrewriter.js b/src/js/util/jsonrewriter.js index 84163100b..ad1e021f3 100644 --- a/src/js/util/jsonrewriter.js +++ b/src/js/util/jsonrewriter.js @@ -557,7 +557,8 @@ var JsonRewriter = module.exports = { } // Another account offer. We care about it only if our transaction changed the offer amount (we bought currency) - else if(tx.Account === account && !$.isEmptyObject(node.fieldsPrev) /* Offer is unfunded if node.fieldsPrev is empty */) { + else if (tx.Account === account && !$.isEmptyObject(node.fieldsPrev) // Offer is unfunded if node.fieldsPrev is empty + && !$.isEmptyObject(node.fieldsPrev.TakerGets) && !$.isEmptyObject(node.fieldsPrev.TakerPays)) { // TakerGets or TakerPays might not be there if the change is smaller then a drop effect.type = 'offer_bought'; } From 7276f15c0559e3cac436bc2028fae000ab155f3e Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Fri, 20 Mar 2015 14:25:07 -0700 Subject: [PATCH 121/321] [FIX] Jsonrewriter: Avoid empty trade effects --- src/js/util/jsonrewriter.js | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/js/util/jsonrewriter.js b/src/js/util/jsonrewriter.js index ad1e021f3..ea8835e0d 100644 --- a/src/js/util/jsonrewriter.js +++ b/src/js/util/jsonrewriter.js @@ -506,7 +506,6 @@ var JsonRewriter = module.exports = { // Offer else if (node.entryType === 'Offer') { - // For new and cancelled offers we use 'fields' var fieldSet = node.fields; @@ -560,9 +559,7 @@ var JsonRewriter = module.exports = { else if (tx.Account === account && !$.isEmptyObject(node.fieldsPrev) // Offer is unfunded if node.fieldsPrev is empty && !$.isEmptyObject(node.fieldsPrev.TakerGets) && !$.isEmptyObject(node.fieldsPrev.TakerPays)) { // TakerGets or TakerPays might not be there if the change is smaller then a drop effect.type = 'offer_bought'; - } - if (effect.type) { effect.gets = ripple.Amount.from_json(fieldSet.TakerGets); effect.pays = ripple.Amount.from_json(fieldSet.TakerPays); @@ -570,16 +567,14 @@ var JsonRewriter = module.exports = { effect.got = ripple.Amount.from_json(node.fieldsPrev.TakerGets).subtract(node.fields.TakerGets); effect.paid = ripple.Amount.from_json(node.fieldsPrev.TakerPays).subtract(node.fields.TakerPays); } - } - if (effect.gets && effect.pays) { effect.price = getPrice(effect, tx.date); - } - // Flags - if (node.fields.Flags) { - effect.flags = node.fields.Flags; - effect.sell = node.fields.Flags & ripple.Remote.flags.offer.Sell; + // Flags + if (node.fields.Flags) { + effect.flags = node.fields.Flags; + effect.sell = node.fields.Flags & ripple.Remote.flags.offer.Sell; + } } } From 1ee4a22209df41dcbbbce27185761bdf0bcf4659 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Fri, 20 Mar 2015 16:46:52 -0700 Subject: [PATCH 122/321] [FIX] Ripple URI: don't redirect to balance --- src/js/tabs/login.controller.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/js/tabs/login.controller.js b/src/js/tabs/login.controller.js index 4c16e9319..d684d64d2 100644 --- a/src/js/tabs/login.controller.js +++ b/src/js/tabs/login.controller.js @@ -37,7 +37,7 @@ LoginTab.prototype.angular = function (module) { $scope.backendMessages = []; var updater; - + if (id.loginStatus) { $location.path('/balance'); return; @@ -232,9 +232,9 @@ LoginTab.prototype.angular = function (module) { }); $scope.status = ''; - location.hash = '/balance'; - if ($routeParams.tab) { - $location.path('/'+$routeParams.tab); + + if ($.isEmptyObject($routeParams)) { + $location.path('/balance'); } } @@ -280,4 +280,4 @@ LoginTab.prototype.angular = function (module) { }]); }; -module.exports = LoginTab; \ No newline at end of file +module.exports = LoginTab; From 6e412c656fd0b848dd5d05423c2c1ae1a98566f8 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 18 Mar 2015 11:24:34 -0700 Subject: [PATCH 123/321] [FIX] Show amount in tx page (RT-3270) --- src/jade/tabs/tx.jade | 4 ++-- src/js/util/jsonrewriter.js | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/jade/tabs/tx.jade b/src/jade/tabs/tx.jade index abd5a96dc..a0d8f432c 100644 --- a/src/jade/tabs/tx.jade +++ b/src/jade/tabs/tx.jade @@ -38,11 +38,11 @@ section.single.ddpage.content(ng-controller="TxCtrl", ng-switch on="state") dt span(l10n) Amount received span : - dd {{transaction.amount | rpamount}} {{transaction.amount | rpcurrency}} + dd {{transaction.Amount | rpamount}} {{transaction.Amount | rpcurrency}} dt span(l10n) Currency received span : - dd {{transaction.amount | rpcurrencyfull}} + dd {{transaction.Amount | rpcurrencyfull}} hr group.clearfix dl.details.half diff --git a/src/js/util/jsonrewriter.js b/src/js/util/jsonrewriter.js index ea8835e0d..8f13a6dd1 100644 --- a/src/js/util/jsonrewriter.js +++ b/src/js/util/jsonrewriter.js @@ -201,6 +201,10 @@ var JsonRewriter = module.exports = { var diff = String(difference); amtSent = cur ? {value: diff, currency : cur} : diff; } + + else { + amtSent = tx.Amount; + } } } From b09da9b2f517cb235f244765abb337ca3c03c90b Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Tue, 24 Mar 2015 10:31:47 -0700 Subject: [PATCH 124/321] [FIX] Tx: Show the ledger number --- src/jade/tabs/tx.jade | 6 +++--- src/js/tabs/tx.controller.js | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/jade/tabs/tx.jade b/src/jade/tabs/tx.jade index a0d8f432c..704d1a0d5 100644 --- a/src/jade/tabs/tx.jade +++ b/src/jade/tabs/tx.jade @@ -25,11 +25,11 @@ section.single.ddpage.content(ng-controller="TxCtrl", ng-switch on="state") dt span(l10n) Amount sent span : - dd {{amountSent | rpamount}} {{amountSent | rpcurrency}} + dd {{transaction.amountSent | rpamount}} {{transaction.amountSent | rpcurrency}} dt span(l10n) Currency sent span : - dd {{amountSent | rpcurrencyfull}} + dd {{transaction.amountSent | rpcurrencyfull}} dl.details.half dt span(l10n) Address sent to @@ -61,7 +61,7 @@ section.single.ddpage.content(ng-controller="TxCtrl", ng-switch on="state") dt span(l10n) Ledger number span : - dd(ng-bind="transaction.inLedger") + dd(ng-bind="transaction.ledger") group(ng-switch-default) group.clearfix dl.details.half diff --git a/src/js/tabs/tx.controller.js b/src/js/tabs/tx.controller.js index 1bdfbd4a2..48d238cc7 100644 --- a/src/js/tabs/tx.controller.js +++ b/src/js/tabs/tx.controller.js @@ -34,7 +34,8 @@ TxTab.prototype.angular = function (module) .success(function(data){ $.extend($scope.transaction, data.transaction.tx); - $scope.amountSent = rewriter.getAmountSent(data.transaction.tx, data.transaction.meta); + $scope.transaction.ledger = data.transaction.ledger_index; + $scope.transaction.amountSent = rewriter.getAmountSent(data.transaction.tx, data.transaction.meta); $scope.state = 'loaded'; }) .error(function(){}); From b6f823048a5e6713cfcbabfcf31f725b872ec8e1 Mon Sep 17 00:00:00 2001 From: Malika Date: Mon, 23 Mar 2015 16:24:27 -0700 Subject: [PATCH 125/321] [FIX] One button for advanced settings checkboxes (RT-3249) --- src/jade/tabs/advanced.jade | 9 ++------- src/js/tabs/advanced.controller.js | 7 ------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/src/jade/tabs/advanced.jade b/src/jade/tabs/advanced.jade index 55abf5240..f9ab71b03 100644 --- a/src/jade/tabs/advanced.jade +++ b/src/jade/tabs/advanced.jade @@ -92,16 +92,13 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") div.helperInput label input(type="checkbox", name="acct_adv" - ng-model="options.advanced_feature_switch" - ng-click="advancedFeatureSwitchChanged = true") + ng-model="options.advanced_feature_switch") span(l10n) Show .col-xs-12.col-sm-4.col-md-4 button.btn.btn-block.btn-success.btn-xs.submit#save(type='submit' ng-disabled='serverForm.$invalid', l10n) Save .col-xs-6(ng-show="hasRemove()") button.btn.btn-block.btn-danger.btn-xs.submit#delete(type="button", ng-click="remove()", ng-show="hasRemove()", l10n) Delete - .col-xs-3.col-sm-3.col-md-2.text-center#cancel - a.btn.btn-cancel.btn-block(href="", ng-click='cancelEdit("advanced_feature_switch")', l10n) cancel form.trust-line-form(name="accountsAdvForm", ng-submit='save("defaultRippleFlag")') .descriptor(l10n) Gateways: Enable if you plan to issue balances .row.advanced-form-row(ng-hide="edit.defaultRippleFlag") @@ -121,13 +118,11 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") input(type="checkbox", name="acct_adv" ng-model="options.defaultRippleFlag") span(l10n) Enable - .col-xs-6.col-sm-6.col-md-3 + .col-xs-12.col-sm-4.col-md-4 button.btn.btn-block.btn-success.btn-xs.submit#save(type='submit' ng-disabled='serverForm.$invalid', l10n) Save .col-xs-3(ng-show="hasRemove()") button.btn.btn-block.btn-danger.btn-xs.submit#delete(type="button", ng-click="remove()", ng-show="hasRemove()", l10n) Delete - .col-xs-3.col-sm-3.col-md-2.text-center#cancel - a.btn.btn-cancel.btn-block(href="", ng-click='cancelEdit("defaultRippleFlag")', l10n) cancel h4#networkSettings(l10n) Network settings form(name="maxnetworkfeeForm", ng-submit='save("maxNetworkFee")') .descriptor(l10n) Maximum network fee diff --git a/src/js/tabs/advanced.controller.js b/src/js/tabs/advanced.controller.js index cd84fef5e..5514099ef 100644 --- a/src/js/tabs/advanced.controller.js +++ b/src/js/tabs/advanced.controller.js @@ -51,7 +51,6 @@ AdvancedTab.prototype.angular = function(module) defaultRippleFlag: false }; $scope.max_tx_network_fee_human = ripple.Amount.from_json($scope.options.max_tx_network_fee).to_human(); - $scope.advancedFeatureSwitchChanged = false; $scope.confirmationChanged = { send: false, exchange: false, @@ -71,12 +70,6 @@ AdvancedTab.prototype.angular = function(module) network.remote.max_fee = $scope.options.max_tx_network_fee; break; case 'advanced_feature_switch': - // Ignore it if we are not going to change anything - if (!$scope.advancedFeatureSwitchChanged) { - $scope.edit[type] = false; - return; - } - $scope.advancedFeatureSwitchChanged = false; $scope.userBlob.set('/clients/rippletradecom/trust/advancedMode', $scope.options.advanced_feature_switch); break; case 'defaultRippleFlag': From c6cf535d2cbfdec52c681df5f68e2b1ede627691 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Tue, 24 Mar 2015 11:51:43 -0700 Subject: [PATCH 126/321] [FIX] App: Convert base reserve to amount object --- src/js/controllers/app.controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/controllers/app.controller.js b/src/js/controllers/app.controller.js index 040218112..4d534063f 100644 --- a/src/js/controllers/app.controller.js +++ b/src/js/controllers/app.controller.js @@ -238,7 +238,7 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, // reserve, max_spend. var ownerCount = $scope.account.OwnerCount || 0; - $scope.account.reserve_base = server._reserve_base; + $scope.account.reserve_base = Amount.from_json(server._reserve_base); $scope.account.reserve = calculateReserve(server, ownerCount); $scope.account.reserve_to_add_trust = calculateReserve(server, ownerCount + 1); From 5ef03a41f8787090e5ffffa74a6f2c3005f5cde5 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Tue, 24 Mar 2015 16:35:31 -0700 Subject: [PATCH 127/321] [FIX] Jsonrewriter: add gets, pays for offer_bought --- src/js/util/jsonrewriter.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/js/util/jsonrewriter.js b/src/js/util/jsonrewriter.js index ea8835e0d..bec333bea 100644 --- a/src/js/util/jsonrewriter.js +++ b/src/js/util/jsonrewriter.js @@ -511,7 +511,6 @@ var JsonRewriter = module.exports = { // Current account offer if (node.fields.Account === account) { - // Partially funded offer [and deleted.. no more funds] /* Offer has been partially funded and deleted (because of the luck of funds) if the node is deleted and the TakerGets/TakerPays field has been changed */ @@ -545,7 +544,6 @@ var JsonRewriter = module.exports = { if (effect.type === 'offer_cancelled' && obj.transaction && obj.transaction.type === 'offercancel') { - // Fill in remaining information about offer obj.transaction.gets = fieldSet.TakerGets; obj.transaction.pays = fieldSet.TakerPays; @@ -560,13 +558,15 @@ var JsonRewriter = module.exports = { && !$.isEmptyObject(node.fieldsPrev.TakerGets) && !$.isEmptyObject(node.fieldsPrev.TakerPays)) { // TakerGets or TakerPays might not be there if the change is smaller then a drop effect.type = 'offer_bought'; - effect.gets = ripple.Amount.from_json(fieldSet.TakerGets); - effect.pays = ripple.Amount.from_json(fieldSet.TakerPays); - if ('offer_partially_funded' === effect.type || 'offer_bought' === effect.type) { effect.got = ripple.Amount.from_json(node.fieldsPrev.TakerGets).subtract(node.fields.TakerGets); effect.paid = ripple.Amount.from_json(node.fieldsPrev.TakerPays).subtract(node.fields.TakerPays); } + } + + if (effect.type) { + effect.gets = ripple.Amount.from_json(fieldSet.TakerGets); + effect.pays = ripple.Amount.from_json(fieldSet.TakerPays); effect.price = getPrice(effect, tx.date); From c6eb01eeb625cb9724f2beeb32365c114b574101 Mon Sep 17 00:00:00 2001 From: Malika Date: Tue, 24 Mar 2015 17:40:43 -0700 Subject: [PATCH 128/321] [FIX] Show negative in popover for min on trust page (RT-3267) --- src/js/directives/addressPopover.directive.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/js/directives/addressPopover.directive.js b/src/js/directives/addressPopover.directive.js index e8cf2995d..d6c182774 100644 --- a/src/js/directives/addressPopover.directive.js +++ b/src/js/directives/addressPopover.directive.js @@ -76,9 +76,7 @@ nowSumm = this.rpamountFilter(nowSumm, AddressPopover.summFilterOpts); if (nowSumm != this.summ) { if (this.rpAddressPopoverSumMinus && nowSumm != 'n/a') { - if (Number(nowSumm)){ - nowSumm = '-' + nowSumm; - } + nowSumm = '-' + nowSumm; } this.summ = nowSumm; } From 56dd5aa808ab743de8ef57c927f0e33e01ed23c3 Mon Sep 17 00:00:00 2001 From: rht Date: Wed, 25 Mar 2015 18:56:35 +0700 Subject: [PATCH 129/321] [FIX] maxFee: update display after blobupdate (RT-3289) --- src/js/tabs/advanced.controller.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/js/tabs/advanced.controller.js b/src/js/tabs/advanced.controller.js index b659291a6..96d9fdb66 100644 --- a/src/js/tabs/advanced.controller.js +++ b/src/js/tabs/advanced.controller.js @@ -168,6 +168,9 @@ AdvancedTab.prototype.angular = function(module) // we assume that some fields in Options are updated in rpId service $blobUpdate handler $scope.optionsBackup = $.extend(true, {}, Options); + + // still assuming that fields in Options have been updated in rpId service $blobUpdate handler + $scope.max_tx_network_fee_human = ripple.Amount.from_json($scope.options.max_tx_network_fee).to_human(); }); // Add a new server From eefd62ee4d885ad94bcd495ec41a2678ccf50c08 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 25 Mar 2015 13:32:59 -0700 Subject: [PATCH 130/321] [TASK] Update ripple-lib (RT-3310) --- bower.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bower.json b/bower.json index f2dd4e59c..30e598c1b 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "name": "ripple-client", "dependencies": { - "ripple": "~0.12.1-rc5", + "ripple": "~0.12.1-rc6", "ripple-vault-client": "~0.4.7", "angular": "~1.3.12", "angular-messages": "~1.3.12", From 279f1181a3275ad24c5906500718714f85149649 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 25 Mar 2015 16:57:44 -0700 Subject: [PATCH 131/321] [FIX] Send: Pathfinding fix (RT-3201) --- src/js/tabs/send.controller.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/js/tabs/send.controller.js b/src/js/tabs/send.controller.js index 5a1b5d414..8404366f5 100644 --- a/src/js/tabs/send.controller.js +++ b/src/js/tabs/send.controller.js @@ -727,11 +727,11 @@ SendTab.prototype.angular = function (module) send.path_status = 'pending'; // Determine if we need to update the paths. - if (send.pathfind && - send.pathfind.src_account === id.account && - send.pathfind.dst_account === recipient && - send.pathfind.dst_amount.equals(amount)) - return; + //if (send.pathfind && + // send.pathfind.src_account === id.account && + // send.pathfind.dst_account === recipient && + // send.pathfind.dst_amount.equals(amount)) + // return; // Start path find var pf = network.remote.path_find(id.account, From 3b4ea54e5f1fc9e0281e0f58f848447e60bb278a Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 25 Mar 2015 17:33:21 -0700 Subject: [PATCH 132/321] [FIX] Send: Pathfinding fix --- src/js/tabs/send.controller.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/js/tabs/send.controller.js b/src/js/tabs/send.controller.js index 8404366f5..7ef8bb722 100644 --- a/src/js/tabs/send.controller.js +++ b/src/js/tabs/send.controller.js @@ -748,6 +748,10 @@ SendTab.prototype.angular = function (module) var lastUpdate; pf.on('update', function (upd) { + // wrong quote + if ($scope.send.path_status === 'error-quote') + return; + // if no paths found and it is first update - skip it, it often wrong if (send.pathfindJustStarted && (!upd.alternatives || !upd.alternatives.length)) { send.pathfindJustStarted = false; From c8e001958d6da2f2d4064bf14546f2cdffa5ba16 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Thu, 26 Mar 2015 10:07:34 -0700 Subject: [PATCH 133/321] Bump version to 1.4.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cf870f7bb..2166bc570 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ripple-client", - "version": "1.3.4-2", + "version": "1.4.0", "description": "Trade client for the Ripple payment network", "author": { "name": "Ripple Labs, Inc.", From 6dc9cb9642477c262e5b9d399e55b628d3ee5c90 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Thu, 26 Mar 2015 11:36:28 -0700 Subject: [PATCH 134/321] [FIX] Jsonrewriter: effects fix --- src/js/util/jsonrewriter.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/js/util/jsonrewriter.js b/src/js/util/jsonrewriter.js index e07a257c3..0a5b67033 100644 --- a/src/js/util/jsonrewriter.js +++ b/src/js/util/jsonrewriter.js @@ -561,17 +561,17 @@ var JsonRewriter = module.exports = { else if (tx.Account === account && !$.isEmptyObject(node.fieldsPrev) // Offer is unfunded if node.fieldsPrev is empty && !$.isEmptyObject(node.fieldsPrev.TakerGets) && !$.isEmptyObject(node.fieldsPrev.TakerPays)) { // TakerGets or TakerPays might not be there if the change is smaller then a drop effect.type = 'offer_bought'; - - if ('offer_partially_funded' === effect.type || 'offer_bought' === effect.type) { - effect.got = ripple.Amount.from_json(node.fieldsPrev.TakerGets).subtract(node.fields.TakerGets); - effect.paid = ripple.Amount.from_json(node.fieldsPrev.TakerPays).subtract(node.fields.TakerPays); - } } if (effect.type) { effect.gets = ripple.Amount.from_json(fieldSet.TakerGets); effect.pays = ripple.Amount.from_json(fieldSet.TakerPays); + if ('offer_partially_funded' === effect.type || 'offer_bought' === effect.type) { + effect.got = ripple.Amount.from_json(node.fieldsPrev.TakerGets).subtract(node.fields.TakerGets); + effect.paid = ripple.Amount.from_json(node.fieldsPrev.TakerPays).subtract(node.fields.TakerPays); + } + effect.price = getPrice(effect, tx.date); // Flags From f26a8475c84982f9dfddac6f1b521949e270f956 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Thu, 26 Mar 2015 11:36:56 -0700 Subject: [PATCH 135/321] Hotfix 1.4.0-1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2166bc570..ee22ea167 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ripple-client", - "version": "1.4.0", + "version": "1.4.0-1", "description": "Trade client for the Ripple payment network", "author": { "name": "Ripple Labs, Inc.", From 6cbd2a9dff6c7ab71f23dba1e6ab683c28e39b86 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 26 Mar 2015 22:28:41 +0200 Subject: [PATCH 136/321] [FIX] stop history loading spinner (RT-3070) stop history loading spinner on unfunded accounts --- src/js/controllers/app.controller.js | 3 +++ src/js/tabs/history.controller.js | 1 + 2 files changed, 4 insertions(+) diff --git a/src/js/controllers/app.controller.js b/src/js/controllers/app.controller.js index 4d534063f..43a9809b7 100644 --- a/src/js/controllers/app.controller.js +++ b/src/js/controllers/app.controller.js @@ -107,6 +107,7 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, $scope.$apply(function () { $scope.fee = remote.createTransaction()._computeFee(); $scope.loadingAccount = false; + $scope.noUserHistory = false; myHandleAccountEntry(data); if ($scope.userHistory) return; @@ -129,6 +130,8 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, if (err) { $scope.loadingAccount = false; $scope.loadState.account = true; + $scope.noUserHistory = true; + $scope.userHistory = null; } }); diff --git a/src/js/tabs/history.controller.js b/src/js/tabs/history.controller.js index 5f7f07aa4..f2e8fc692 100644 --- a/src/js/tabs/history.controller.js +++ b/src/js/tabs/history.controller.js @@ -84,6 +84,7 @@ HistoryTab.prototype.angular = function (module) { // Initial history load var initialLoad = $scope.$watch('userHistory', function(){ + if ($scope.noUserHistory) $scope.loadingHistory = false; if (!$scope.userHistory) return; loadHistory(); From e54bf4b6c7a9c7933e46537e76dee2a814198d21 Mon Sep 17 00:00:00 2001 From: Malika Date: Thu, 26 Mar 2015 17:53:35 -0700 Subject: [PATCH 137/321] [FIX] Status icon for unfunded wallet (RT-3322) --- src/js/controllers/navbar.controller.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/js/controllers/navbar.controller.js b/src/js/controllers/navbar.controller.js index f2e8d15bb..c5a3b78ca 100644 --- a/src/js/controllers/navbar.controller.js +++ b/src/js/controllers/navbar.controller.js @@ -38,11 +38,11 @@ module.controller('NavbarCtrl', ['$scope', '$element', '$compile', 'rpId', if(!$scope.connected && $scope.userCredentials.username) { $scope.serverStatus = 'disconnected'; } - else if ($scope.currentFee && $scope.connected && $scope.currentFee > Options.low_load_threshold && $scope.currentFee < ripple.Amount.from_json(Options.max_tx_network_fee).to_human()) { + else if ($scope.currentFee && $scope.connected && ($scope.currentFee > Options.low_load_threshold) && ($scope.currentFee < ripple.Amount.from_json(Options.max_tx_network_fee).to_human())) { $scope.serverLoad = 'mediumLoad'; $scope.serverStatus = 'mediumLoad'; } - else if ($scope.currentFee && $scope.connected && $scope.currentFee >= ripple.Amount.from_json(Options.max_tx_network_fee).to_human()) { + else if ($scope.currentFee && $scope.connected && ($scope.currentFee >= ripple.Amount.from_json(Options.max_tx_network_fee).to_human())) { $scope.serverLoad = 'highLoad'; $scope.serverStatus = 'highLoad'; } From f45d2165ed5fdb9eeeab4030c2078e64a15d522e Mon Sep 17 00:00:00 2001 From: "J.M" Date: Fri, 27 Mar 2015 13:33:51 +0100 Subject: [PATCH 138/321] [FIX] Use !== to compare with 0 --- src/js/controllers/app.controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/controllers/app.controller.js b/src/js/controllers/app.controller.js index 4d534063f..091df68bf 100644 --- a/src/js/controllers/app.controller.js +++ b/src/js/controllers/app.controller.js @@ -437,7 +437,7 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, function isSignificantLine(line) { var DefaultRipple = $scope.account.Flags & ripple.Remote.flags.account_root.DefaultRipple; - return line.balance != 0 || line.limit != 0 || line.limit_peer != 0 + return line.balance !== 0 || line.limit !== 0 || line.limit_peer !== 0 || DefaultRipple === line.no_ripple; } From e0fe9e1f30ac2004463daf6b0f374fe2086189bd Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Thu, 26 Mar 2015 14:38:58 +0400 Subject: [PATCH 139/321] [TASK] Reorganize the Settings page (RT-3299) --- src/jade/tabs/advanced.jade | 55 +-------- src/jade/tabs/settings/navbar.jade | 3 +- src/jade/tabs/settingsgateway.jade | 88 ++++++++++++++ src/js/entry/web.js | 1 + src/js/tabs/advanced.controller.js | 37 +----- src/js/tabs/settingsgateway.controller.js | 136 ++++++++++++++++++++++ src/less/ripple/tabs/advanced.less | 4 +- 7 files changed, 234 insertions(+), 90 deletions(-) create mode 100644 src/jade/tabs/settingsgateway.jade create mode 100644 src/js/tabs/settingsgateway.controller.js diff --git a/src/jade/tabs/advanced.jade b/src/jade/tabs/advanced.jade index f9ab71b03..9ff6316a4 100644 --- a/src/jade/tabs/advanced.jade +++ b/src/jade/tabs/advanced.jade @@ -6,8 +6,6 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") .row(ng-show='!debug') .col-sm-12.notification-wrapper .alert.alert-success(ng-show="success.blobvault", l10n) Your blobvault has been changed successfully. - .alert.alert-success(ng-show="success.bridge", l10n) Your bitcoin bridge has been changed successfully. - .alert.alert-success(ng-show="success.advanced_feature_switch", l10n) Trustline advanced settings have been changed successfully. .alert.alert-success(ng-show="success.saveConfirmation.send", l10n) Send confirmation settings have been changed successfully. .alert.alert-success(ng-show="success.saveConfirmation.exchange", l10n) Simple trade confirmation settings have been changed successfully. .alert.alert-success(ng-show="success.saveConfirmation.trade", l10n) Advanced trade confirmation settings have been changed successfully. @@ -20,7 +18,6 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") include settings/navbar .col-sm-9.list section.content#servers - h4(l10n) Settings mixin urlForm(urlType, formName, formDescriptor, description, inputName, hasDelete) form(name=formName, ng-submit='save("'+urlType+'")') .descriptor(l10n)= formDescriptor @@ -73,56 +70,6 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") .col-xs-3.col-sm-3.col-md-2.text-center#cancel a.btn.btn-cancel.btn-block(href="", ng-click='cancelEditConfirmation("'+transactionType+'")', l10n) cancel - +urlForm('bridge', 'bridgeForm', 'Bitcoin bridge', {url: '{{options.bridge.out.bitcoin}}', ngModel: 'options.bridge.out.bitcoin'}, 'btcDomain', true) - - form.trust-line-form(name="accountsAdvForm", ng-submit='save("advanced_feature_switch")') - .descriptor(l10n) Trust line - .row.advanced-form-row(ng-hide="edit.advanced_feature_switch") - .col-xs-6.col-sm-5.col-md-3 - .description Advanced settings - .col-xs-3.col-sm-4.col-md-4 - .description(ng-show="options.advanced_feature_switch", l10n) Show - .description(ng-hide="options.advanced_feature_switch", l10n) Hide - .col-xs-3.col-sm-3.col-md-2 - a.btn.btn-cancel.btn-block(href="", ng-click="edit.advanced_feature_switch = true", l10n) edit - .row.row-padding-small.edit-trust-line(ng-show="edit.advanced_feature_switch") - .col-xs-6.col-sm-5.col-md-3 - .description Advanced settings - .col-xs-4.col-sm-4.col-md-3 - div.helperInput - label - input(type="checkbox", name="acct_adv" - ng-model="options.advanced_feature_switch") - span(l10n) Show - .col-xs-12.col-sm-4.col-md-4 - button.btn.btn-block.btn-success.btn-xs.submit#save(type='submit' - ng-disabled='serverForm.$invalid', l10n) Save - .col-xs-6(ng-show="hasRemove()") - button.btn.btn-block.btn-danger.btn-xs.submit#delete(type="button", ng-click="remove()", ng-show="hasRemove()", l10n) Delete - form.trust-line-form(name="accountsAdvForm", ng-submit='save("defaultRippleFlag")') - .descriptor(l10n) Gateways: Enable if you plan to issue balances - .row.advanced-form-row(ng-hide="edit.defaultRippleFlag") - .col-xs-6.col-sm-5.col-md-3 - .description DefaultRipple flag - .col-xs-3.col-sm-4.col-md-4 - .description(ng-show="options.defaultRippleFlag", l10n) Enabled - .description(ng-hide="options.defaultRippleFlag", l10n) Disabled - .col-xs-3.col-sm-3.col-md-2 - a.btn.btn-cancel.btn-block(href="", ng-click="edit.defaultRippleFlag = true", l10n) edit - .row.row-padding-small.edit-trust-line(ng-show="edit.defaultRippleFlag") - .col-xs-6.col-sm-5.col-md-3 - .description DefaultRipple flag - .col-xs-4.col-sm-4.col-md-3 - div.helperInput - label - input(type="checkbox", name="acct_adv" - ng-model="options.defaultRippleFlag") - span(l10n) Enable - .col-xs-12.col-sm-4.col-md-4 - button.btn.btn-block.btn-success.btn-xs.submit#save(type='submit' - ng-disabled='serverForm.$invalid', l10n) Save - .col-xs-3(ng-show="hasRemove()") - button.btn.btn-block.btn-danger.btn-xs.submit#delete(type="button", ng-click="remove()", ng-show="hasRemove()", l10n) Delete h4#networkSettings(l10n) Network settings form(name="maxnetworkfeeForm", ng-submit='save("maxNetworkFee")') .descriptor(l10n) Maximum network fee @@ -202,4 +149,4 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") a.btn.btn-cancel.btn-block(href="", ng-click="editing = true", l10n) edit .row .col-xs-12.col-sm-6.col-md-3 - button.btn.btn-block.btn-primary#newServer(type="button", ng-click="addServer()", l10n) Add new server \ No newline at end of file + button.btn.btn-block.btn-primary#newServer(type="button", ng-click="addServer()", l10n) Add new server diff --git a/src/jade/tabs/settings/navbar.jade b/src/jade/tabs/settings/navbar.jade index 87d33390e..439ac81e4 100644 --- a/src/jade/tabs/settings/navbar.jade +++ b/src/jade/tabs/settings/navbar.jade @@ -1,4 +1,5 @@ .settingPage a(href="#/security", ng-class="{active: $route.current.tabName == 'security'}", l10n) Security a(href="#/settingstrade", ng-class="{active: $route.current.tabName == 'settingstrade'}", l10n) Trade - a(href="#/advanced", ng-class="{active: $route.current.tabName == 'advanced'}", l10n) Advanced \ No newline at end of file + a(href="#/advanced", ng-class="{active: $route.current.tabName == 'advanced'}", l10n) Advanced + a(href="#/settingsgateway", ng-class="{active: $route.current.tabName == 'settingsgateway'}", l10n) Gateways diff --git a/src/jade/tabs/settingsgateway.jade b/src/jade/tabs/settingsgateway.jade new file mode 100644 index 000000000..a2299a979 --- /dev/null +++ b/src/jade/tabs/settingsgateway.jade @@ -0,0 +1,88 @@ +section.col-xs-12.content(ng-controller="SettingsGatewayCtrl") + div(ng-show='debug') This page is not available in debug mode + + div(ng-show="!loadingAccount && !account.Balance && loadState.account && connected && !debug") + include banner/unfunded + .row(ng-show='!debug') + .col-sm-12.notification-wrapper + .alert.alert-success(ng-show="success.bridge", l10n) Your bitcoin bridge has been changed successfully. + .alert.alert-success(ng-show="success.advanced_feature_switch", l10n) Trustline advanced settings have been changed successfully. + .col-sm-3 + include settings/navbar + .col-sm-9.list + section.content#gateways + h4(l10n) Settings + mixin urlForm(urlType, formName, formDescriptor, description, inputName, hasDelete) + form(name=formName, ng-submit='save("'+urlType+'")') + .descriptor(l10n)= formDescriptor + .row.advanced-form-row(ng-hide='edit.'+urlType) + .col-xs-9.col-sm-8.col-md-6 + .description(l10n)= description.url + .col-xs-1 + .col-xs-3.col-sm-3.col-md-2 + a.btn.btn-block.btn-cancel(href="", ng-click='edit.'+urlType+' = true', l10n) edit + .row.row-padding-small.field-edit-row(ng-show='edit.'+urlType) + .col-xs-12.col-sm-9.col-md-6 + input.form-control( + class=inputName + id=inputName + name=inputName, type='text' + ng-model=description.ngModel + required) + .col-xs-6.col-sm-6.col-md-3 + button.btn.btn-block.btn-success.btn-xs.submit#save(type='submit', ng-disabled=formName+'.$invalid', l10n) Save + if hasDelete + .col-xs-3.col-sm-3.col-md-2 + button.btn.btn-block.btn-danger.btn-xs.submit#delete(type="button", ng-click='deleteUrl("'+urlType+'")', l10n) Delete + .col-xs-3.col-sm-3.col-md-1.text-center#cancel + a.btn.btn-cancel.btn-block(href="", ng-click='cancelEdit("'+urlType+'")', l10n) cancel + +urlForm('bridge', 'bridgeForm', 'Bitcoin bridge', {url: '{{options.bridge.out.bitcoin}}', ngModel: 'options.bridge.out.bitcoin'}, 'btcDomain', true) + + form.trust-line-form(name="accountsAdvForm", ng-submit='save("advanced_feature_switch")') + .descriptor(l10n) Trust line + .row.advanced-form-row(ng-hide="edit.advanced_feature_switch") + .col-xs-6.col-sm-5.col-md-3 + .description(l10n) Advanced settings + .col-xs-3.col-sm-4.col-md-4 + .description(ng-show="options.advanced_feature_switch", l10n) Show + .description(ng-hide="options.advanced_feature_switch", l10n) Hide + .col-xs-3.col-sm-3.col-md-2 + a.btn.btn-cancel.btn-block(href="", ng-click="edit.advanced_feature_switch = true", l10n) edit + .row.row-padding-small.edit-trust-line(ng-show="edit.advanced_feature_switch") + .col-xs-6.col-sm-5.col-md-3 + .description(l10n) Advanced settings + .col-xs-4.col-sm-4.col-md-3 + div.helperInput + label + input(type="checkbox", name="acct_adv" + ng-model="options.advanced_feature_switch") + span(l10n) Show + .col-xs-12.col-sm-4.col-md-4 + button.btn.btn-block.btn-success.btn-xs.submit#save(type='submit' + ng-disabled='serverForm.$invalid', l10n) Save + .col-xs-6(ng-show="hasRemove()") + button.btn.btn-block.btn-danger.btn-xs.submit#delete(type="button", ng-click="remove()", ng-show="hasRemove()", l10n) Delete + form.trust-line-form(name="accountsAdvForm", ng-submit='save("defaultRippleFlag")') + .descriptor(l10n) Gateways: Enable if you plan to issue balances + .row.advanced-form-row(ng-hide="edit.defaultRippleFlag") + .col-xs-6.col-sm-5.col-md-3 + .description(l10n) DefaultRipple flag + .col-xs-3.col-sm-4.col-md-4 + .description(ng-show="options.defaultRippleFlag", l10n) Enabled + .description(ng-hide="options.defaultRippleFlag", l10n) Disabled + .col-xs-3.col-sm-3.col-md-2 + a.btn.btn-cancel.btn-block(href="", ng-click="edit.defaultRippleFlag = true", l10n) edit + .row.row-padding-small.edit-trust-line(ng-show="edit.defaultRippleFlag") + .col-xs-6.col-sm-5.col-md-3 + .description(l10n) DefaultRipple flag + .col-xs-4.col-sm-4.col-md-3 + div.helperInput + label + input(type="checkbox", name="acct_adv" + ng-model="options.defaultRippleFlag") + span(l10n) Enable + .col-xs-12.col-sm-4.col-md-4 + button.btn.btn-block.btn-success.btn-xs.submit#save(type='submit' + ng-disabled='serverForm.$invalid', l10n) Save + .col-xs-3(ng-show="hasRemove()") + button.btn.btn-block.btn-danger.btn-xs.submit#delete(type="button", ng-click="remove()", ng-show="hasRemove()", l10n) Delete diff --git a/src/js/entry/web.js b/src/js/entry/web.js index 1aa945a3b..bd0ad13db 100644 --- a/src/js/entry/web.js +++ b/src/js/entry/web.js @@ -109,6 +109,7 @@ var tabdefs = [ require('../tabs/404.controller.js'), require('../tabs/brl.controller.js'), require('../tabs/settingstrade.controller.js'), + require('../tabs/settingsgateway.controller.js'), // Hidden tabs require('../tabs/apps.controller.js'), diff --git a/src/js/tabs/advanced.controller.js b/src/js/tabs/advanced.controller.js index 612e02ab4..48e493c1c 100644 --- a/src/js/tabs/advanced.controller.js +++ b/src/js/tabs/advanced.controller.js @@ -43,12 +43,9 @@ AdvancedTab.prototype.angular = function(module) trade: false }; $scope.edit = { - advanced_feature_switch: false, blobvault: false, - bridge: false, maxNetworkFee: false, historyApi: false, - defaultRippleFlag: false }; $scope.max_tx_network_fee_human = ripple.Amount.from_json($scope.options.max_tx_network_fee).to_human(); $scope.confirmationChanged = { @@ -69,25 +66,6 @@ AdvancedTab.prototype.angular = function(module) // recreated unless we do location.reload() network.remote.max_fee = $scope.options.max_tx_network_fee; break; - case 'advanced_feature_switch': - $scope.userBlob.set('/clients/rippletradecom/trust/advancedMode', $scope.options.advanced_feature_switch); - break; - case 'defaultRippleFlag': - // Need to set flag on account_root - var tx = network.remote.transaction(); - tx.accountSet(id.account); - tx.setFlags('DefaultRipple'); - - keychain.requestSecret(id.account, id.username, function (err, secret) { - if (err) { - console.log('Error: ', err); - return; - } - tx.secret(secret); - tx.submit(); - }); - break; - case 'historyApi': $scope.userBlob.set('/clients/rippletradecom/historyApi', $scope.options.historyApi.replace(/[\/]*$/, '')); break; @@ -119,20 +97,14 @@ AdvancedTab.prototype.angular = function(module) $scope.userBlob.set('/clients/rippletradecom/confirmation', $scope.options.confirmation); $scope.editConfirmation[transactionType] = false; - // Notify the user $scope.success.saveConfirmation[transactionType] = true; }; $scope.deleteUrl = function(type) { - switch (type) { - case 'blobvault': - $scope.options.blobvault = ''; - break; - case 'bridge': - $scope.options.bridge.out.bitcoin = ''; + if (type === 'blobvault') { + $scope.options.blobvault = ''; } - // Save in local storage if (!store.disabled) { store.set('ripple_settings', JSON.stringify($scope.options)); @@ -144,9 +116,8 @@ AdvancedTab.prototype.angular = function(module) if (type === 'maxNetworkFee') { $scope.options.max_tx_network_fee = $scope.optionsBackup.max_tx_network_fee; $scope.max_tx_network_fee_human = ripple.Amount.from_json($scope.options.max_tx_network_fee).to_human(); - } else if (type === 'bridge') { - $scope.options.bridge.out.bitcoin = $scope.optionsBackup.bridge.out.bitcoin; - } else { + } + else { $scope.options[type] = $scope.optionsBackup[type]; } }; diff --git a/src/js/tabs/settingsgateway.controller.js b/src/js/tabs/settingsgateway.controller.js new file mode 100644 index 000000000..05a2d2dc7 --- /dev/null +++ b/src/js/tabs/settingsgateway.controller.js @@ -0,0 +1,136 @@ +var util = require('util'), + webutil = require('../util/web'), + Tab = require('../client/tab').Tab, + settings = require('../util/settings'), + Currency = ripple.Currency; + +var SettingsGatewayTab = function () +{ + Tab.call(this); +}; + +util.inherits(SettingsGatewayTab, Tab); + +SettingsGatewayTab.prototype.tabName = 'settingsgateway'; +SettingsGatewayTab.prototype.mainMenu = 'settingsgateway'; + +SettingsGatewayTab.prototype.generateHtml = function () +{ + return require('../../jade/tabs/settingsgateway.jade')(); +}; + +SettingsGatewayTab.prototype.angular = function(module) +{ + module.controller('SettingsGatewayCtrl', ['$scope', 'rpId', 'rpKeychain', 'rpNetwork', + function ($scope, id, keychain, network) + { + var xrpCurrency = Currency.from_json('XRP'); + + $scope.xrp = { + name: xrpCurrency.to_human({full_name:$scope.currencies_all_keyed.XRP.name}), + code: xrpCurrency.get_iso(), + currency: xrpCurrency + }; + + $scope.options = Options; + $scope.optionsBackup = $.extend(true, {}, Options); + $scope.passwordProtection = !settings.getSetting($scope.userBlob, 'persistUnlock', false); + $scope.editConfirmation = { + send: false, + exchange: false, + trade: false + }; + $scope.edit = { + advanced_feature_switch: false, + bridge: false, + defaultRippleFlag: false + }; + $scope.max_tx_network_fee_human = ripple.Amount.from_json($scope.options.max_tx_network_fee).to_human(); + $scope.confirmationChanged = { + send: false, + exchange: false, + trade: false + }; + + // Initialize the notification object + $scope.success = {}; + + $scope.save = function(type) { + switch (type) { + case 'advanced_feature_switch': + $scope.userBlob.set('/clients/rippletradecom/trust/advancedMode', $scope.options.advanced_feature_switch); + break; + case 'defaultRippleFlag': + // Need to set flag on account_root + var tx = network.remote.transaction(); + tx.accountSet(id.account); + tx.setFlags('DefaultRipple'); + + keychain.requestSecret(id.account, id.username, function (err, secret) { + if (err) { + console.log('Error: ', err); + return; + } + tx.secret(secret); + tx.submit(); + }); + break; + default: + // Save in local storage + if (!store.disabled) { + store.set('ripple_settings', JSON.stringify($scope.options)); + } + } + + $scope.edit[type] = false; + + + // Notify the user + $scope.success[type] = true; + }; + + $scope.saveConfirmation = function(transactionType) { + // ignore it if we are not going to change anything + if (!$scope.confirmationChanged[transactionType]) { + $scope.editConfirmation[transactionType] = false; + return; + } + $scope.confirmationChanged[transactionType] = false; + + $scope.userBlob.set('/clients/rippletradecom/confirmation', $scope.options.confirmation); + + $scope.editConfirmation[transactionType] = false; + + // Notify the user + $scope.success.saveConfirmation[transactionType] = true; + }; + + $scope.deleteUrl = function(type) { + if (type === 'bridge') { + $scope.options.bridge.out.bitcoin = ''; + } + + // Save in local storage + if (!store.disabled) { + store.set('ripple_settings', JSON.stringify($scope.options)); + } + }; + + $scope.cancelEdit = function(type) { + $scope.edit[type] = false; + if (type === 'bridge') { + $scope.options.bridge.out.bitcoin = $scope.optionsBackup.bridge.out.bitcoin; + } else { + $scope.options[type] = $scope.optionsBackup[type]; + } + }; + + $scope.cancelEditConfirmation = function(transactionType) { + $scope.editConfirmation[transactionType] = false; + $scope.options.confirmation[transactionType] = $scope.optionsBackup.confirmation[transactionType]; + }; + + }]); +}; + +module.exports = SettingsGatewayTab; diff --git a/src/less/ripple/tabs/advanced.less b/src/less/ripple/tabs/advanced.less index cbeeb272a..0c407d696 100644 --- a/src/less/ripple/tabs/advanced.less +++ b/src/less/ripple/tabs/advanced.less @@ -1,4 +1,4 @@ -#t-advanced { +#t-advanced, #t-settingsgateway { .settingPage a { display: block; padding: 10px; @@ -75,7 +75,7 @@ margin-top: 20px; } - #servers { + #servers, #gateways { padding-top: 0; .trust-line-form { From 21dba8e9e10cd923df5f74e89da4c5111d4bae77 Mon Sep 17 00:00:00 2001 From: rht Date: Sat, 28 Mar 2015 00:19:27 +0700 Subject: [PATCH 140/321] [FIX] asyncValidators: fix client-side promise object --- src/js/directives/validators.directive.js | 2 +- src/js/validators/rpWebsocket.directive.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/js/directives/validators.directive.js b/src/js/directives/validators.directive.js index b61300f57..aadd8a122 100644 --- a/src/js/directives/validators.directive.js +++ b/src/js/directives/validators.directive.js @@ -271,7 +271,7 @@ module.directive('rpAvailableName', function ($q, $timeout, $parse) { return defer.promise; } - return $q.when(false); + return $q.reject(false); }; attr.$observe('rpAvailableName', function(val) { ctrl.$validate(); diff --git a/src/js/validators/rpWebsocket.directive.js b/src/js/validators/rpWebsocket.directive.js index 77c3b2f87..2bdb0d6a4 100644 --- a/src/js/validators/rpWebsocket.directive.js +++ b/src/js/validators/rpWebsocket.directive.js @@ -16,7 +16,7 @@ module.directive('rpWebsocket', function($q, $timeout, $parse) { var defer = $q.defer(), connection; - if (!value) return $q.when(false); + if (!value) return $q.reject(false); $timeout(function() { try { @@ -28,7 +28,7 @@ module.directive('rpWebsocket', function($q, $timeout, $parse) { ); } catch (err) {} - if (!connection) return $q.when(false); + if (!connection) return $q.reject(false); connection.onopen = function() { connection.send('{"command": "ping"}'); From 5f51ae1f555ec0ff6825d46a2d2e8d08b74a14fd Mon Sep 17 00:00:00 2001 From: rht Date: Fri, 27 Mar 2015 23:55:58 +0700 Subject: [PATCH 141/321] [FIX] serverStatus: update fee on net connected/disconnected (RT-3323) This should be independent of auth connection status --- src/jade/client/navbar.jade | 27 ++++++++++----------- src/js/controllers/app.controller.js | 1 - src/js/controllers/navbar.controller.js | 31 +++++++++++++------------ 3 files changed, 30 insertions(+), 29 deletions(-) diff --git a/src/jade/client/navbar.jade b/src/jade/client/navbar.jade index 3b6784fb7..8c9c26dca 100644 --- a/src/jade/client/navbar.jade +++ b/src/jade/client/navbar.jade @@ -41,20 +41,21 @@ nav.navbar(role="navigation", ng-controller="NavbarCtrl") //- span.balance {{balance.total | rpamount:{rel_precision: 2} }}  //- span.balance(rp-currency="balance.total", rp-currency-short) li - span(class="serverStatus {{connected ? 'online' : 'offline'}} {{serverLoad}}") - span(ng-if="serverStatus == 'disconnected'" - rp-popover, rp-popover-placement="bottom", rp-popover-trigger="hover", rp-popover-delay + span(class="serverStatus {{connected ? 'online' : 'offline'}} {{serverLoad}}" + ng-switch='serverStatus') + span(ng-switch-when='disconnected' + rp-popover, rp-popover-placement='bottom', rp-popover-trigger='hover', rp-popover-delay l10n-rp-popover-content="Disconnected from the Ripple network") - span(ng-if="serverStatus == 'highLoad'" - rp-popover, rp-popover-placement="bottom", rp-popover-trigger="hover", rp-popover-delay - l10n-rp-popover-content="Network fees are currently higher than your maximum. Fee: {{ currentFee }} XRP. Change fees") - span(ng-if="serverStatus == 'mediumLoad'" - rp-popover, rp-popover-placement="bottom", rp-popover-trigger="hover", rp-popover-delay - l10n-rp-popover-content="'Network fees are currently higher than normal. Fee: {{ currentFee }} XRP'") - span(ng-if="serverStatus == 'lowLoad'" - rp-popover, rp-popover-placement="bottom", rp-popover-trigger="hover", rp-popover-delay - l10n-rp-popover-content="Connected to the Ripple network. Fee: {{ currentFee }} XRP") - span(ng-if="serverStatus == 'connected'" + span(ng-switch-when='highLoad' + rp-popover, rp-popover-placement='bottom', rp-popover-trigger='hover', rp-popover-delay + l10n-rp-popover-content="Network fees are currently higher than your maximum. Fee: {{ fee | rpamount }} XRP. Change fees") + span(ng-switch-when='mediumLoad' + rp-popover, rp-popover-placement='bottom', rp-popover-trigger='hover', rp-popover-delay + l10n-rp-popover-content="'Network fees are currently higher than normal. Fee: {{ fee | rpamount }} XRP'") + span(ng-switch-when='lowLoad' + rp-popover, rp-popover-placement='bottom', rp-popover-trigger='hover', rp-popover-delay + l10n-rp-popover-content="Connected to the Ripple network. Fee: {{ fee | rpamount }} XRP") + span(ng-switch-when='connected' rp-popover, rp-popover-placement="bottom", rp-popover-trigger="hover", rp-popover-delay l10n-rp-popover-content="Connected to the Ripple network.") li diff --git a/src/js/controllers/app.controller.js b/src/js/controllers/app.controller.js index 4d534063f..83b35305f 100644 --- a/src/js/controllers/app.controller.js +++ b/src/js/controllers/app.controller.js @@ -105,7 +105,6 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, accountObj.on('entry', function(data){ $scope.$apply(function () { - $scope.fee = remote.createTransaction()._computeFee(); $scope.loadingAccount = false; myHandleAccountEntry(data); diff --git a/src/js/controllers/navbar.controller.js b/src/js/controllers/navbar.controller.js index c5a3b78ca..0f44f7c34 100644 --- a/src/js/controllers/navbar.controller.js +++ b/src/js/controllers/navbar.controller.js @@ -32,27 +32,28 @@ module.controller('NavbarCtrl', ['$scope', '$element', '$compile', 'rpId', location.reload(); }; - $scope.$watch('fee', function(){ - $scope.currentFee = ripple.Amount.from_json($scope.fee).to_human(); + $scope.$watch('connected', function(){ + $scope.fee = network.remote.createTransaction()._computeFee(); + // $scope.currentFee = ripple.Amount.from_json($scope.fee).to_human(); - if(!$scope.connected && $scope.userCredentials.username) { + if (!$scope.connected && $scope.userCredentials.username) { $scope.serverStatus = 'disconnected'; } - else if ($scope.currentFee && $scope.connected && ($scope.currentFee > Options.low_load_threshold) && ($scope.currentFee < ripple.Amount.from_json(Options.max_tx_network_fee).to_human())) { - $scope.serverLoad = 'mediumLoad'; - $scope.serverStatus = 'mediumLoad'; - } - else if ($scope.currentFee && $scope.connected && ($scope.currentFee >= ripple.Amount.from_json(Options.max_tx_network_fee).to_human())) { - $scope.serverLoad = 'highLoad'; - $scope.serverStatus = 'highLoad'; - } - else if ($scope.currentFee && $scope.connected) { - $scope.serverLoad = ''; - $scope.serverStatus = 'lowLoad'; + else if ($scope.connected && $scope.fee) { + if ((ripple.Amount.from_json($scope.fee).to_human() > Options.low_load_threshold) && ($scope.fee < Options.max_tx_network_fee)) { + $scope.serverLoad = 'mediumLoad'; + $scope.serverStatus = 'mediumLoad'; + } else if ($scope.fee >= Options.max_tx_network_fee) { + $scope.serverLoad = 'highLoad'; + $scope.serverStatus = 'highLoad'; + } else { + $scope.serverLoad = ''; + $scope.serverStatus = 'lowLoad'; + } } else { $scope.serverStatus = 'connected'; - } + } }, true); // Username From c8024675ac1a21dd144a258645115266ac15cbac Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Fri, 27 Mar 2015 12:02:02 -0700 Subject: [PATCH 142/321] [FIX] Trade: Add a check for pair --- src/js/tabs/trade.controller.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/js/tabs/trade.controller.js b/src/js/tabs/trade.controller.js index c04a59801..4482790f8 100644 --- a/src/js/tabs/trade.controller.js +++ b/src/js/tabs/trade.controller.js @@ -969,10 +969,13 @@ TradeTab.prototype.angular = function(module) } if ('string' !== typeof pair) pair = ''; - pair = pair.split('/'); + + if (pair) { + pair = pair.split('/'); + } // Invalid currency pair - if (pair.length != 2 || pair[0].length === 0 || pair[1].length === 0) { + if (!pair || pair.length != 2 || pair[0].length === 0 || pair[1].length === 0) { order.first_currency = Currency.from_json('XRP'); order.second_currency = Currency.from_json('XRP'); order.valid_settings = false; From 61c85e9186166a6c0c2e214889fc520f8bcfa498 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Fri, 27 Mar 2015 16:52:27 -0700 Subject: [PATCH 143/321] Update ripple-lib --- bower.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bower.json b/bower.json index 30e598c1b..a7963e34d 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "name": "ripple-client", "dependencies": { - "ripple": "~0.12.1-rc6", + "ripple": "~0.12.2-rc1", "ripple-vault-client": "~0.4.7", "angular": "~1.3.12", "angular-messages": "~1.3.12", From d74f95dde72b2048ff2330a39cdcbdd975510b81 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Fri, 27 Mar 2015 16:52:54 -0700 Subject: [PATCH 144/321] Hotfix 1.4.0-2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ee22ea167..9610e3a6f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ripple-client", - "version": "1.4.0-1", + "version": "1.4.0-2", "description": "Trade client for the Ripple payment network", "author": { "name": "Ripple Labs, Inc.", From 8574c47d13e1fd7ab4f1e6ac24eb45cbb2187b45 Mon Sep 17 00:00:00 2001 From: Malika Date: Thu, 26 Mar 2015 17:53:35 -0700 Subject: [PATCH 145/321] [FIX] Status icon for unfunded wallet (RT-3322) --- src/js/controllers/navbar.controller.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/js/controllers/navbar.controller.js b/src/js/controllers/navbar.controller.js index f2e8d15bb..c5a3b78ca 100644 --- a/src/js/controllers/navbar.controller.js +++ b/src/js/controllers/navbar.controller.js @@ -38,11 +38,11 @@ module.controller('NavbarCtrl', ['$scope', '$element', '$compile', 'rpId', if(!$scope.connected && $scope.userCredentials.username) { $scope.serverStatus = 'disconnected'; } - else if ($scope.currentFee && $scope.connected && $scope.currentFee > Options.low_load_threshold && $scope.currentFee < ripple.Amount.from_json(Options.max_tx_network_fee).to_human()) { + else if ($scope.currentFee && $scope.connected && ($scope.currentFee > Options.low_load_threshold) && ($scope.currentFee < ripple.Amount.from_json(Options.max_tx_network_fee).to_human())) { $scope.serverLoad = 'mediumLoad'; $scope.serverStatus = 'mediumLoad'; } - else if ($scope.currentFee && $scope.connected && $scope.currentFee >= ripple.Amount.from_json(Options.max_tx_network_fee).to_human()) { + else if ($scope.currentFee && $scope.connected && ($scope.currentFee >= ripple.Amount.from_json(Options.max_tx_network_fee).to_human())) { $scope.serverLoad = 'highLoad'; $scope.serverStatus = 'highLoad'; } From dd89735fb3a74378bdcf7b55134045f8cae76383 Mon Sep 17 00:00:00 2001 From: rht Date: Fri, 27 Mar 2015 23:55:58 +0700 Subject: [PATCH 146/321] [FIX] serverStatus: update fee on net connected/disconnected (RT-3323) This should be independent of auth connection status --- src/jade/client/navbar.jade | 27 ++++++++++----------- src/js/controllers/app.controller.js | 1 - src/js/controllers/navbar.controller.js | 31 +++++++++++++------------ 3 files changed, 30 insertions(+), 29 deletions(-) diff --git a/src/jade/client/navbar.jade b/src/jade/client/navbar.jade index 3b6784fb7..8c9c26dca 100644 --- a/src/jade/client/navbar.jade +++ b/src/jade/client/navbar.jade @@ -41,20 +41,21 @@ nav.navbar(role="navigation", ng-controller="NavbarCtrl") //- span.balance {{balance.total | rpamount:{rel_precision: 2} }}  //- span.balance(rp-currency="balance.total", rp-currency-short) li - span(class="serverStatus {{connected ? 'online' : 'offline'}} {{serverLoad}}") - span(ng-if="serverStatus == 'disconnected'" - rp-popover, rp-popover-placement="bottom", rp-popover-trigger="hover", rp-popover-delay + span(class="serverStatus {{connected ? 'online' : 'offline'}} {{serverLoad}}" + ng-switch='serverStatus') + span(ng-switch-when='disconnected' + rp-popover, rp-popover-placement='bottom', rp-popover-trigger='hover', rp-popover-delay l10n-rp-popover-content="Disconnected from the Ripple network") - span(ng-if="serverStatus == 'highLoad'" - rp-popover, rp-popover-placement="bottom", rp-popover-trigger="hover", rp-popover-delay - l10n-rp-popover-content="Network fees are currently higher than your maximum. Fee: {{ currentFee }} XRP. Change fees") - span(ng-if="serverStatus == 'mediumLoad'" - rp-popover, rp-popover-placement="bottom", rp-popover-trigger="hover", rp-popover-delay - l10n-rp-popover-content="'Network fees are currently higher than normal. Fee: {{ currentFee }} XRP'") - span(ng-if="serverStatus == 'lowLoad'" - rp-popover, rp-popover-placement="bottom", rp-popover-trigger="hover", rp-popover-delay - l10n-rp-popover-content="Connected to the Ripple network. Fee: {{ currentFee }} XRP") - span(ng-if="serverStatus == 'connected'" + span(ng-switch-when='highLoad' + rp-popover, rp-popover-placement='bottom', rp-popover-trigger='hover', rp-popover-delay + l10n-rp-popover-content="Network fees are currently higher than your maximum. Fee: {{ fee | rpamount }} XRP. Change fees") + span(ng-switch-when='mediumLoad' + rp-popover, rp-popover-placement='bottom', rp-popover-trigger='hover', rp-popover-delay + l10n-rp-popover-content="'Network fees are currently higher than normal. Fee: {{ fee | rpamount }} XRP'") + span(ng-switch-when='lowLoad' + rp-popover, rp-popover-placement='bottom', rp-popover-trigger='hover', rp-popover-delay + l10n-rp-popover-content="Connected to the Ripple network. Fee: {{ fee | rpamount }} XRP") + span(ng-switch-when='connected' rp-popover, rp-popover-placement="bottom", rp-popover-trigger="hover", rp-popover-delay l10n-rp-popover-content="Connected to the Ripple network.") li diff --git a/src/js/controllers/app.controller.js b/src/js/controllers/app.controller.js index 091df68bf..47e367e64 100644 --- a/src/js/controllers/app.controller.js +++ b/src/js/controllers/app.controller.js @@ -105,7 +105,6 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, accountObj.on('entry', function(data){ $scope.$apply(function () { - $scope.fee = remote.createTransaction()._computeFee(); $scope.loadingAccount = false; myHandleAccountEntry(data); diff --git a/src/js/controllers/navbar.controller.js b/src/js/controllers/navbar.controller.js index c5a3b78ca..0f44f7c34 100644 --- a/src/js/controllers/navbar.controller.js +++ b/src/js/controllers/navbar.controller.js @@ -32,27 +32,28 @@ module.controller('NavbarCtrl', ['$scope', '$element', '$compile', 'rpId', location.reload(); }; - $scope.$watch('fee', function(){ - $scope.currentFee = ripple.Amount.from_json($scope.fee).to_human(); + $scope.$watch('connected', function(){ + $scope.fee = network.remote.createTransaction()._computeFee(); + // $scope.currentFee = ripple.Amount.from_json($scope.fee).to_human(); - if(!$scope.connected && $scope.userCredentials.username) { + if (!$scope.connected && $scope.userCredentials.username) { $scope.serverStatus = 'disconnected'; } - else if ($scope.currentFee && $scope.connected && ($scope.currentFee > Options.low_load_threshold) && ($scope.currentFee < ripple.Amount.from_json(Options.max_tx_network_fee).to_human())) { - $scope.serverLoad = 'mediumLoad'; - $scope.serverStatus = 'mediumLoad'; - } - else if ($scope.currentFee && $scope.connected && ($scope.currentFee >= ripple.Amount.from_json(Options.max_tx_network_fee).to_human())) { - $scope.serverLoad = 'highLoad'; - $scope.serverStatus = 'highLoad'; - } - else if ($scope.currentFee && $scope.connected) { - $scope.serverLoad = ''; - $scope.serverStatus = 'lowLoad'; + else if ($scope.connected && $scope.fee) { + if ((ripple.Amount.from_json($scope.fee).to_human() > Options.low_load_threshold) && ($scope.fee < Options.max_tx_network_fee)) { + $scope.serverLoad = 'mediumLoad'; + $scope.serverStatus = 'mediumLoad'; + } else if ($scope.fee >= Options.max_tx_network_fee) { + $scope.serverLoad = 'highLoad'; + $scope.serverStatus = 'highLoad'; + } else { + $scope.serverLoad = ''; + $scope.serverStatus = 'lowLoad'; + } } else { $scope.serverStatus = 'connected'; - } + } }, true); // Username From 634243190cd6735c176a82835ac50d1a6e7144d7 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Fri, 27 Mar 2015 12:02:02 -0700 Subject: [PATCH 147/321] [FIX] Trade: Add a check for pair --- src/js/tabs/trade.controller.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/js/tabs/trade.controller.js b/src/js/tabs/trade.controller.js index c04a59801..4482790f8 100644 --- a/src/js/tabs/trade.controller.js +++ b/src/js/tabs/trade.controller.js @@ -969,10 +969,13 @@ TradeTab.prototype.angular = function(module) } if ('string' !== typeof pair) pair = ''; - pair = pair.split('/'); + + if (pair) { + pair = pair.split('/'); + } // Invalid currency pair - if (pair.length != 2 || pair[0].length === 0 || pair[1].length === 0) { + if (!pair || pair.length != 2 || pair[0].length === 0 || pair[1].length === 0) { order.first_currency = Currency.from_json('XRP'); order.second_currency = Currency.from_json('XRP'); order.valid_settings = false; From ece023d74d2789d49664600a7a736b040dcf6753 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Fri, 27 Mar 2015 16:52:27 -0700 Subject: [PATCH 148/321] Update ripple-lib --- bower.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bower.json b/bower.json index 30e598c1b..a7963e34d 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "name": "ripple-client", "dependencies": { - "ripple": "~0.12.1-rc6", + "ripple": "~0.12.2-rc1", "ripple-vault-client": "~0.4.7", "angular": "~1.3.12", "angular-messages": "~1.3.12", From 51c3fbdec60eb9953692ad662eaffe8d47d74116 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Fri, 27 Mar 2015 16:52:54 -0700 Subject: [PATCH 149/321] Hotfix 1.4.0-2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ee22ea167..9610e3a6f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ripple-client", - "version": "1.4.0-1", + "version": "1.4.0-2", "description": "Trade client for the Ripple payment network", "author": { "name": "Ripple Labs, Inc.", From fe3c02650d649b83c550b2994c6ae43d082e5cd7 Mon Sep 17 00:00:00 2001 From: Hovhannes Kuloghlyan Date: Tue, 31 Mar 2015 00:35:12 +0400 Subject: [PATCH 150/321] [FEATURE] Ripple client email/push notifications --- Gruntfile.js | 2 + deps/js/roost.min.js | 1 + src/index.html | 5 + src/jade/tabs/notifications.jade | 58 ++++++++ src/jade/tabs/settings/navbar.jade | 1 + src/js/config-example.js | 5 +- src/js/entry/web.js | 5 +- src/js/services/notifications.service.js | 39 +++++ src/js/tabs/notifications.controller.js | 145 +++++++++++++++++++ src/less/ripple/tabs.less | 1 + src/less/ripple/tabs/notifications.less | 172 +++++++++++++++++++++++ 11 files changed, 432 insertions(+), 2 deletions(-) create mode 100644 deps/js/roost.min.js create mode 100644 src/jade/tabs/notifications.jade create mode 100644 src/js/services/notifications.service.js create mode 100644 src/js/tabs/notifications.controller.js create mode 100644 src/less/ripple/tabs/notifications.less diff --git a/Gruntfile.js b/Gruntfile.js index 890ff6263..d41273d19 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -289,6 +289,8 @@ module.exports = function(grunt) { {expand: true, src: ['res/fonts/*'], dest: 'build/bundle/web/fonts', flatten: true}, {expand: true, src: ['res/icons/font/*'], dest: 'build/bundle/web'}, {expand: true, src: ['img/**'], dest: 'build/bundle/web'}, + {expand: true, src: ['deps/js/roost.min.js'], + dest: 'build/bundle/web/js/deps', flatten: true}, {src: 'build/dist/web/index.html', dest: 'build/bundle/web/index.html'}, {src: 'build/dist/web/index_debug.html', dest: 'build/bundle/web/index_debug.html'}, {src: 'src/js/config.js', dest: 'build/bundle/web/config.js'}, diff --git a/deps/js/roost.min.js b/deps/js/roost.min.js new file mode 100644 index 000000000..0680ab206 --- /dev/null +++ b/deps/js/roost.min.js @@ -0,0 +1 @@ +window._roost||(window._roost=[]),_roost.init||!function(e){function c(e){if(!e||!e.origin)return;if(l.indexOf(e.origin)==-1)return;var t=JSON.parse(e.data);if(t.type&&t.type=="registered"){_roost._fireRoostCallback({firstTime:t.firstTime,deviceToken:t.deviceToken,registered:t.enabled,enabled:!0,tags:t.tags,alias:t.alias});return}u.enabled=t.enabled,u.tags=t.tags,u.alias=t.alias,u.websiteDomain=t.websiteDomain;for(var n=0;n<_roost.length;n++)f.push(_roost[n]);_roost=f,_roost._o=u;var r=u.onload;r&&typeof r=="function"&&r({promptable:_roost.promptable()}),u.initFunction&&u.initFunction(!0)}function h(){u.appkey="1614486d7a974efa8f15823a92ce6bd3",v(),E("experimental"),u.appkey!="DEMO"&&(window&&typeof window.safari!="undefined"?(u.initFunction=D,u.idFunction=_):u.experimental&&o&&(u.initFunction=P)),u.initFunction&&(f.prompt=function(){u.initFunction(!1)}),u.idFunction&&(u.rdt=u.idFunction()),u.rdt||(u.rdt=L("_rdt")),u.rid=L("_rid"),(!u.rid||u.rid=="")&&S()&&(u.rid=g(),k("_rid",u.rid)),E("host");if(u.initFunction){var e=u.host+"/api/pageview?rdt="+encodeURIComponent(u.rdt)+"&rid="+encodeURIComponent(u.rid)+"&appKey="+encodeURIComponent(u.appkey)+"&url="+encodeURIComponent(document.URL)+"&referrer="+encodeURIComponent(document.referrer);p(e)}else{var t=u.onload;t&&typeof t=="function"&&t({promptable:f.promptable()})}}function p(e){var t=document.createElement("iframe");t.style.display="none",t.src=e,document.body.appendChild(t)}function d(e){var t=document.createElement("iframe");t.style.display="none";var n=!1;t.onload=function(){n=!0},setTimeout(function(){n||console.log("Roost Error: Could not load required content: "+e)},2e3),t.src=e,document.body.appendChild(t)}function v(){typeof twttr!="undefined"&&typeof twttr.events!="undefined"&&typeof twttr.events.bind!="undefined"&&twttr.events.bind("tweet",function(e){f.push(["social_action","TWEET"])}),typeof FB!="undefined"&&typeof FB.Event!="undefined"&&typeof FB.Event.subscribe!="undefined"&&(FB.Event.subscribe("edge.create",function(e){f.push(["social_action","FB_LIKE"])}),FB.Event.subscribe("edge.remove",function(e){f.push(["social_action","FB_UNLIKE"])}),FB.Event.subscribe("comment.create",function(e){f.push(["social_action","FB_COMMENT"])}),FB.Event.subscribe("comment.remove",function(e){f.push(["social_action","FB_UNCOMMENT"])}),FB.Event.subscribe("message.send",function(e){f.push(["social_action","FB_SHARE"])}))}function m(){return location.protocol=="https:"}function g(){function e(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}function E(e){var t=[];for(var n=0;n<_roost.length;n++)_roost[n].length&&_roost[n][0]==e?f.push(_roost[n]):t.push(_roost[n]);_roost=t}function S(){var e="cc"+Math.random(),t=!1;return k(e,"true"),L(e)&&(t=!0),k(e,"",-1),t}function x(t){T({url:u.host+"/Ping",vars:{appKey:u.appkey,referrer:encodeURIComponent((document.referrer+"").split("'").join("%27")),page:encodeURIComponent((e.location+"").split("'").join("%27")),action:"log",details:t?JSON.stringify(t):"",rdt:L("_rdt")}})}function T(e){e=e||{},e.url=e.url||null,e.vars=e.vars||{},e.error=e.error||function(){},e.success=e.success||function(){};var t=[];for(var n in e.vars)t.push(n+"="+encodeURIComponent(e.vars[n]));var r=t.join("&");if(e.url){var i=e.url+"?"+r,s=new Image;e.error&&(s.onerror=e.error),e.success&&(s.onload=e.success),s.src=i}}function N(e){u[e[0]]=typeof e[1]=="undefined"?u[e[0]]:e[1]}function C(e){return function(t){if(!u.appkey)return!1;e(t)}}function k(e,t,n,r){n||(n=0);var i=new Date;i.setTime(i.getTime()+n*24*60*60*1e3);var s=escape(t)+(n==null||n==0?"":"; expires="+i.toGMTString())+"; "+(r?" domain=."+r+"; ":"")+" path=/";document.cookie=e+"="+s}function L(e){if(document.cookie.length>0){c_start=document.cookie.indexOf(e+"=");if(c_start!=-1)return c_start=c_start+e.length+1,c_end=document.cookie.indexOf(";",c_start),c_end==-1&&(c_end=document.cookie.length),unescape(document.cookie.substring(c_start,c_end))}return""}function _(){var e="web.web.me.roost.autob473dc7f18e0491da8b5d3f1d1d6e576",t=window.safari.pushNotification.permission(e);if(t.permission=="granted")return t.deviceToken}function D(e){typeof e=="undefined"&&(e=!1);var t="web.web.me.roost.autob473dc7f18e0491da8b5d3f1d1d6e576",n=!1,r=location.host,i=location.host.split(".").reverse();i.length>1&&r.indexOf("blogger.com")==-1&&(r=i[1]+"."+i[0]),r=r.split(":")[0];var s=function(){n=!0;var e=_roost._getTags(),i=_roost._getAlias();A=setInterval(function(){var e=window.safari.pushNotification.permission(t);e.permission=="granted"&&!O&&(O=!0,console.log("Fake callback"),_roost._fireRoostCallback({firstTime:!0,deviceToken:e.deviceToken,registered:e.permission!="denied",enabled:!0,tags:_roost._getTags(),alias:_roost._getAlias()}),_roost.setCookie("_rdt",e.deviceToken,1825,r)),O&&clearInterval(A)},1e3),window.safari.pushNotification.requestPermission("https://go.goroost.com/register/native/safari/1614486d7a974efa8f15823a92ce6bd3",t,{website:encodeURIComponent(location.href),data:"{'tags':'"+e+"','alias':'"+i+"'}"},M)},o=window.safari.pushNotification.permission(t);if(o.permission=="default"){var u=_roost._isAutoPrompt(),a=_roost._promptMinVisits();(!e||u||a)&&s()}else o.permission=="granted"?(_roost._fireRoostCallback({firstTime:!1,deviceToken:o.deviceToken,registered:!0,enabled:_roost._isEnabled(),tags:_roost._getTags(),alias:_roost._getAlias()}),o.deviceToken&&_roost.setCookie("_rdt",o.deviceToken,1825,r)):_roost._fireRoostCallback({firstTime:!1,deviceToken:o.deviceToken,registered:!1,enabled:_roost._isEnabled(),tags:_roost._getTags(),alias:_roost._getAlias()})}function P(e){typeof e=="undefined"&&(e=!1),document.domain!=u.websiteDomain&&console.log("Roost Error: Domains do not match and Chrome push can old support a single config / domain: "+u.websiteDomain);var t=_roost._getTags(),n=_roost._getAlias(),r="?appKey="+u.appkey+"&host="+encodeURIComponent(u.host);n&&(r+="&alias="+encodeURIComponent(n));for(var i=0;i1&&e.indexOf("blogger.com")==-1&&(e=t[1]+"."+t[0]),e=e.split(":")[0],e},_cookiesEnabled:function(){var e="cc"+Math.random(),t=!1;return _roost.setCookie(e,"true"),_roost.getCookie(e)&&(t=!0),_roost.setCookie(e,"",-1),t},_promptMinVisits:function(){if(u.minvisits>-1){if(!_roost._cookiesEnabled())return!1;var e="_r_visits",t=_roost.getCookie(e);return t?t++:t=1,_roost.setCookie(e,t,30,_roost._domain()),u.minvisits<=t}return!1},_enqueue:function(e){a.push(e),a.length==1&&f._processQueue()},_processQueue:function(){if(a.length){var e=a[0];e()}},_workFinished:function(){a.length&&(a.shift(),f._processQueue())}};window&&window.addEventListener&&window.addEventListener("message",c,!1);var l=["http://localhost:8081","http://go.goroost.com","https://go.goroost.com","http://cdn.goroost.com","https://cdn.goroost.com"],y=C(function(e){var t=[];for(var n=1;n-1&&u.tags.splice(o,1)}u.tags=u.tags.concat(t)}f._enqueue(function(){u.rdt?T({url:u.host+"/Ping",vars:{action:r,appKey:u.appkey,tags:JSON.stringify(t),rdt:u.rdt},success:f._workFinished}):f._workFinished()})}),b=C(function(e){var t=null;e&&e.length==2&&(t=e[1]);var n=e[0];n=="alias"?u.alias=t:n=="alias_clear"&&(u.alias=null),f._enqueue(function(){u.rdt?T({url:u.host+"/Ping",vars:{action:e[0],appKey:u.appkey,alias:t,rdt:u.rdt},success:f._workFinished}):f._workFinished()})}),w={appkey:function(){},onload:N,onresult:N,host:N,experimental:N,minvisits:N,tags:y,segments:y,segments_add:y,segments_remove:y,segments_clear:y,alias:b,alias_clear:b,autoprompt:N,prompt:function(){_roost.prompt&&_roost.prompt()},log:function(e){x(e[1])},social_action:C(function(e){T({url:u.host+"/Ping",vars:{action:"socialAction",appKey:u.appkey,useraction:e[1],rdt:L("_rdt")}})}),enable:C(function(e){f._enqueue(function(){T({url:u.host+"/Ping",vars:{action:"enable",appKey:u.appkey,enable:e[1],rdt:u.rdt},success:f._workFinished})})})},A,O=!1,M=function(e){A&&(clearInterval(A),A=null),u.rdt=e.deviceToken,O||(O=!0,_roost._fireRoostCallback({firstTime:!0,deviceToken:e.deviceToken,registered:e.permission!="denied",enabled:!0,tags:_roost._getTags(),alias:_roost._getAlias()})),e.permission=="granted"&&_roost.setCookie("_rdt",e.deviceToken,1825,domain)};H()}(window) \ No newline at end of file diff --git a/src/index.html b/src/index.html index 06589d032..bc53a5545 100644 --- a/src/index.html +++ b/src/index.html @@ -43,6 +43,11 @@ Modernizr enables HTML5 elements & feature detects for optimal performance. Create your own custom Modernizr build: www.modernizr.com/download/ --> + + diff --git a/src/jade/tabs/notifications.jade b/src/jade/tabs/notifications.jade new file mode 100644 index 000000000..1b23cf794 --- /dev/null +++ b/src/jade/tabs/notifications.jade @@ -0,0 +1,58 @@ +section.col-xs-12.content(ng-controller="NotificationsCtrl") + .row(ng-show='connected') + div.col-xs-12(ng-show="!loadingAccount && !account.Balance && loadState.account && connected") + include banner/unfunded + .row(ng-show='connected') + .col-sm-12.notification-wrapper + .alert.alert-success(ng-show="state.alert == 'saved_successfully'", l10n) Your notification settings have been changed successfully. + .alert.alert-success(ng-show="state.alert == 'saved_with_errors'", l10n) Something went wrong, try again. + .col-sm-4.col-md-3.col-xs-12(ng-show="connected") + include settings/navbar + .col-sm-8.col-md-9.col-xs-12.list(ng-show="connected") + .showSecurity(ng-show="settingsPage == 'notifications'") + div + h4(l10n) Notifications settings + .row + .col-xs-4.col-sm-3.col-md-5 + .descriptor(l10n) Notification types + .col-xs-4.col-sm-2.col-md-2 + .descriptor(l10n) Email + .col-xs-4.col-sm-2.col-md-2 + .descriptor(l10n) Push + .row + .col-xs-12 + div.helperInput + form(name="persistNotificationsForm", ng-submit="persistNotifications()") + ng-form(name="serverForm") + .row(class="edit-all") + .col-xs-4.col-sm-4.col-md-5 + .description Enable/disable all + .col-xs-4.col-sm-2.col-md-2 + div.helperInput.description + label + input(type="checkbox", name="all", ng-checked="allChecked('email')", ng-click="allClicked('email')") + .col-xs-4.col-sm-2.col-md-2 + div.helperInput.description + label + input(type="checkbox", name="all", ng-checked="allChecked('push')", ng-click="allClicked('push')") + + .row(ng-repeat="nType in notificationTypes") + .col-xs-4.col-sm-4.col-md-5 + .description {{nType.title}} + .col-xs-4.col-sm-2.col-md-2 + div.helperInput.description + label + input(type="checkbox", name="{{nType.name}}", ng-model="nType.checked.email", ng-click="state.notificationsChanged = true") + .col-xs-4.col-sm-2.col-md-2 + div.helperInput.description + label + input(type="checkbox", name="{{nType.name}}", ng-model="nType.checked.push", ng-click="state.notificationsChanged = true") + .row + .col-xs-12.col-sm-4.col-md-4.save-btn-wrapper + .description + button.btn.btn-block.btn-success.btn-xs.submit(id='save', type='submit' + ng-disabled='!state.notificationsChanged || !serverForm.$valid || state.waitingForResponse', + l10n) Save + .row + .col-xs-12.col-sm-4.col-md-4.save-btn-wrapper + .description diff --git a/src/jade/tabs/settings/navbar.jade b/src/jade/tabs/settings/navbar.jade index 439ac81e4..cf2e3e4ad 100644 --- a/src/jade/tabs/settings/navbar.jade +++ b/src/jade/tabs/settings/navbar.jade @@ -3,3 +3,4 @@ a(href="#/settingstrade", ng-class="{active: $route.current.tabName == 'settingstrade'}", l10n) Trade a(href="#/advanced", ng-class="{active: $route.current.tabName == 'advanced'}", l10n) Advanced a(href="#/settingsgateway", ng-class="{active: $route.current.tabName == 'settingsgateway'}", l10n) Gateways + a(href="#/notifications", ng-class="{active: $route.current.tabName == 'notifications'}", l10n) Notifications diff --git a/src/js/config-example.js b/src/js/config-example.js index e3554b894..44a4396b4 100644 --- a/src/js/config-example.js +++ b/src/js/config-example.js @@ -86,7 +86,10 @@ var Options = { gateway_max_limit: 1000000000, // Default threshold in XRPs for fee on RT to show higher load status - low_load_threshold: 0.012 + low_load_threshold: 0.012, + + //Email notifications subscription service URL + notifications_api_url: '' }; // Load client-side overrides diff --git a/src/js/entry/web.js b/src/js/entry/web.js index bd0ad13db..4b508a2e7 100644 --- a/src/js/entry/web.js +++ b/src/js/entry/web.js @@ -33,6 +33,7 @@ require('../services/rippletxt.service.js'); require('../services/federation.service.js'); require('../services/domainalias.service.js'); require('../services/history.service.js'); +require('../services/notifications.service.js'); require('../services/integration/appManager.service.js'); require('../services/integration/profileManager.service.js'); @@ -70,7 +71,8 @@ var appDependencies = [ // Filters 'filters', 'ui.bootstrap', - 'ui.sortable' + 'ui.sortable', + 'notifications' ]; // Load tabs @@ -110,6 +112,7 @@ var tabdefs = [ require('../tabs/brl.controller.js'), require('../tabs/settingstrade.controller.js'), require('../tabs/settingsgateway.controller.js'), + require('../tabs/notifications.controller.js'), // Hidden tabs require('../tabs/apps.controller.js'), diff --git a/src/js/services/notifications.service.js b/src/js/services/notifications.service.js new file mode 100644 index 000000000..286f15c46 --- /dev/null +++ b/src/js/services/notifications.service.js @@ -0,0 +1,39 @@ +/** + * Notifications + * Interaction with notifications REST API + */ + +var module = angular.module('notifications', []); + +module.factory('rpNotifications', ['$http', '$q', function($http, $q) { + var rpNotifications = {}; + + function appendTransform(defaults, transform) { + // We can't guarantee that the default transformation is an array + defaults = angular.isArray(defaults) ? defaults : [defaults]; + // Append the new transformation to the defaults + return defaults.concat(transform); + } + + rpNotifications.getSubscription = function(account, email) { + return $http.get( + Options.notifications_api_url + '/subscriptions', + { + params: {account: account, email: email}, + transformResponse: appendTransform($http.defaults.transformResponse, function (data) { + if (data[0].notification_types) { + return data[0]; + } else { + return data; + } + }) + } + ); + }; + + rpNotifications.createUpdateSubscription = function(subscription) { + return $http.post(Options.notifications_api_url + '/subscriptions', subscription); + }; + + return rpNotifications; +}]); diff --git a/src/js/tabs/notifications.controller.js b/src/js/tabs/notifications.controller.js new file mode 100644 index 000000000..d5b1f2563 --- /dev/null +++ b/src/js/tabs/notifications.controller.js @@ -0,0 +1,145 @@ +var util = require('util'); +var Tab = require('../client/tab').Tab; + +var NotificationsTab = function() { + Tab.call(this); +}; + +util.inherits(NotificationsTab, Tab); + +NotificationsTab.prototype.tabName = 'notifications'; +NotificationsTab.prototype.mainMenu = 'notifications'; + +NotificationsTab.prototype.generateHtml = function() { + return require('../../jade/tabs/notifications.jade')(); +}; + +NotificationsTab.prototype.angular = function(module) { + module.controller('NotificationsCtrl', ['$scope', '$window', 'rpId', 'rpNotifications', function($scope, $window, $id, $notifications) { + if (!$id.loginStatus) { + return $id.goId(); + } + + $scope.settingsPage = 'notifications'; + $scope.subscription = {}; + $scope.state = {}; + $scope.state.notificationsChanged = false; + $scope.state.waitingForResponse = false; + $scope.state.alert = ''; + + $scope.notificationTypes = [ + {name: 'sent', title: 'Sent money', correspondingTypes: ['sent'], checked: {email: false, push: false}}, + {name: 'received', title: 'Received money', correspondingTypes: ['received'], checked: {email: false, push: false}}, + {name: 'exchange', title: 'Simple trade executed', correspondingTypes: ['exchange'], checked: {email: false, push: false}}, + {name: 'offernew', title: 'Offer created', correspondingTypes: ['offernew'], checked: {email: false, push: false}}, + {name: 'offer_funded', title: 'Trade executed', correspondingTypes: ['offer_funded', 'offer_partially_funded'], checked: {email: false, push: false}}, + {name: 'trusting', title: 'Gateway added', correspondingTypes: ['trusting'], checked: {email: false, push: false}} + ]; + + $scope.$watch( 'userBlob.data.email', + function inputLoaded() { + // Sometimes due to watcher initialization listener is called when the watch expression isn't changed, + // so it should be checked. See $watch documentation + if (null == $scope.address || null == $scope.userBlob.data.email || null == $scope.userCredentials.username) { + return; + } + + $notifications.getSubscription($scope.address, $scope.userBlob.data.email).success(function(data) { + + $scope.subscription = data; + + if (data.notification_types.email || data.notification_types.push) { + _.invoke($scope.notificationTypes, function() { + var intersection; + + intersection = _.intersection(this.correspondingTypes, data.notification_types.email); + this.checked.email = false; + if (intersection.length > 0) { + this.checked.email = true; + } + + intersection = _.intersection(this.correspondingTypes, data.notification_types.push); + this.checked.push = false; + if (intersection.length > 0) { + this.checked.push = true; + } + }); + } + }); + } + ); + + $scope.persistNotifications = function() { + $scope.state.waitingForResponse = true; + $scope.state.alert = ''; + + $scope.subscription.name = $scope.userCredentials.username; + $scope.subscription.email = $scope.userBlob.data.email; + $scope.subscription.account = $scope.address; + $scope.subscription.notification_types = {email: [], push: []}; + + _.each($scope.notificationTypes, function(nType) { + if (nType.checked.email) { + _.each(nType.correspondingTypes, function(cType) { + $scope.subscription.notification_types.email.push(cType); + }); + } + + if (nType.checked.push) { + _.each(nType.correspondingTypes, function(cType) { + $scope.subscription.notification_types.push.push(cType); + }); + } + }); + + $notifications.createUpdateSubscription($scope.subscription) + .success(function(data) { + $scope.state.waitingForResponse = false; + $scope.state.alert = 'saved_successfully'; + $scope.state.notificationsChanged = false; + }) + .error(function(data) { + $scope.state.waitingForResponse = false; + $scope.state.alert = 'saved_with_errors'; + }); + + // Promt to send roost push notifications + $window._roost.push(['alias', $scope.userBlob.data.email]); + $window._roost.prompt(); + }; + + $scope.allChecked = function(notificationCategory) { + var checkCount = 0; + + if ('push' !== notificationCategory) { + notificationCategory = 'email'; + } + + _.each($scope.notificationTypes, function(nType) { + if (nType.checked[notificationCategory]) { + checkCount++; + } + }); + + return checkCount === $scope.notificationTypes.length; + }; + + $scope.allClicked = function(notificationCategory) { + if ('push' !== notificationCategory) { + notificationCategory = 'email'; + } + + var newValue = !$scope.allChecked(notificationCategory); + + _.each($scope.notificationTypes, function(nType) { + if (nType.checked[notificationCategory] !== newValue) { + $scope.state.notificationsChanged = true; + } + + nType.checked[notificationCategory] = newValue; + }); + }; + }]); +}; + +module.exports = NotificationsTab; diff --git a/src/less/ripple/tabs.less b/src/less/ripple/tabs.less index 68843be7e..5cbde84f5 100644 --- a/src/less/ripple/tabs.less +++ b/src/less/ripple/tabs.less @@ -285,6 +285,7 @@ header nav.navbar .open > .dropdown-menu { @import "tabs/gateways.less"; @import "tabs/404.less"; @import "tabs/authorization.less"; +@import "tabs/notifications.less"; // modal @import "modals/modal.less"; diff --git a/src/less/ripple/tabs/notifications.less b/src/less/ripple/tabs/notifications.less new file mode 100644 index 000000000..d04dec6eb --- /dev/null +++ b/src/less/ripple/tabs/notifications.less @@ -0,0 +1,172 @@ +#t-notifications { + .settingPage a { + display: block; + padding: 10px; + border-radius: 2px; + margin: 0 0 3px; + background: @lightgray; + + &:hover, &.active { + color: @lightgray; + text-decoration: none; + background: @midblue; + } + } + + #serverSettings { + margin-top: 40px; + } + + .description { + margin: 5px 0 5px 0; + font-size: 13px; + + } + + .descriptor { + color: @darkgray; + margin: 0 0 10px; + border-top: 1px solid @midgray; + padding-top: 20px; + } + + .websocket{ + padding-right: 0px; + } + + .port{ + padding-left: 0px; + } + + .portNumber{ + padding-left: 10px; + @media (max-width: @screen-xs-max) { + padding-left: 0; + } + } + + div.section { + padding-bottom: 20px; + } + + div.part { + padding-top: 10px; + a { + float: right; + } + } + + #save { + margin-top: 0px; + } + + #saveBlob { + margin-top: 0px; + } + + #saveBridge { + margin-top: 0px; + } + + #deleteBlob { + // background-color: @midred; + // border-color: @midred; + margin-top: 0px; + } + + #deleteBridge { + // background-color: @midred; + // border-color: @midred; + margin-top: 0px; + } + + #delete { + // background-color: @midred; + // border-color: @midred; + margin-top: 0px; + } + + #cancel { + margin-top: 0px; + } + + #newServer { + width: 100%; + margin-top: 20px; + } + + #servers { + padding-top: 0px; + + .trust-line-form { + .edit-trust-line { + line-height: 34px; + } + } + @media (max-width: @screen-xs-max){ + font-size: 12px; + } + .field-edit-row { + padding-bottom: 20px; + } + .advanced-form-row { + line-height: 32px; + margin-bottom: 15px; + @media (max-width: @screen-xs-max) { + line-height: 26px; + } + } + .server-row-form { + border-top: 1px solid #ccccca; + margin-bottom: 10px; + .descriptor { + border: 0; + } + .hostname-wrapper { + padding-right: 0; + } + @media (max-width: @screen-xs-max) { + .port-wrapper { + + padding-left: 0px; + + } + } + + } + .helperInput { + line-height: 44px; + } + .edit-btn { + line-height: 28px; + } + + } + + #secureSocket { + padding-left: 0px; + padding-right: 0px; + @media (max-width: @screen-xs-max) { + padding-left: 15px; + } + &.editable { + line-height: 35px; + // padding-left: 15px; + + } + .helperInput { + // padding-top: 7px; + line-height: 40px; + } + } + + #renameForm { + padding-left: 15px; + + } + + .editButton { + padding-top: 4px; + } + +} \ No newline at end of file From a8d6ae91d33292c2fe846f0ee3b1c82df998ff5b Mon Sep 17 00:00:00 2001 From: Hovhannes Kuloghlyan Date: Tue, 31 Mar 2015 09:15:26 +0400 Subject: [PATCH 151/321] [FIX] Notifications: Change error message class to alert-danger. Fix text. --- src/jade/tabs/notifications.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jade/tabs/notifications.jade b/src/jade/tabs/notifications.jade index 1b23cf794..bbe70d312 100644 --- a/src/jade/tabs/notifications.jade +++ b/src/jade/tabs/notifications.jade @@ -5,7 +5,7 @@ section.col-xs-12.content(ng-controller="NotificationsCtrl") .row(ng-show='connected') .col-sm-12.notification-wrapper .alert.alert-success(ng-show="state.alert == 'saved_successfully'", l10n) Your notification settings have been changed successfully. - .alert.alert-success(ng-show="state.alert == 'saved_with_errors'", l10n) Something went wrong, try again. + .alert.alert-danger(ng-show="state.alert == 'saved_with_errors'", l10n) Something went wrong, please try again later. .col-sm-4.col-md-3.col-xs-12(ng-show="connected") include settings/navbar .col-sm-8.col-md-9.col-xs-12.list(ng-show="connected") From d8ce6ee3d060e4a1890a6363cc9760a728a4b813 Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Tue, 31 Mar 2015 10:37:29 +0400 Subject: [PATCH 152/321] [TASK] Change support link in footer (RT-3332) --- src/jade/client/index.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jade/client/index.jade b/src/jade/client/index.jade index 0bea5a279..65b04bd6e 100755 --- a/src/jade/client/index.jade +++ b/src/jade/client/index.jade @@ -132,7 +132,7 @@ div#wrapper .col-xs-12.col-sm-9.right-links a(href="https://rippletrade.com/#/tou", target="_blank", l10n) Terms of Use a(href="https://rippletrade.com/#/privacypolicy", target="_blank", l10n) Privacy Policy - a(href="https://ripple.com/knowledge-center", target="_blank", l10n) Support + a(href="https://ripple.com/knowledge_categories/use-ripple-trade/", target="_blank", l10n) Support a(href="https://ripplelabs.atlassian.net/browse/WC", target="_blank", l10n) Bug reports a(href="#/lang/en") English a(href="#/lang/zh_CN") 中文 From aaa9179b8b1eb97fb5314a7bba5b9f1343a126e6 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Wed, 1 Apr 2015 01:47:13 +0300 Subject: [PATCH 153/321] [TEST] e2e tests for custom gateways (RT-3331) e2e tests for AUD, BRL, EUR, JPY, MXN, NZD, SGD, USD and XAU gateways. --- .../tests-private/CustomGatewaysBRL.json | 258 ++++++++++++++++++ .../tests-private/CustomGatewaysEUR.json | 258 ++++++++++++++++++ .../tests-private/CustomGatewaysJPY.json | 258 ++++++++++++++++++ .../tests-private/CustomGatewaysMXN.json | 258 ++++++++++++++++++ .../tests-private/CustomGatewaysSGD.json | 258 ++++++++++++++++++ .../tests-private/CustomGatewaysUSD.json | 258 ++++++++++++++++++ .../tests-private/CustomGatewaysXAU.json | 258 ++++++++++++++++++ 7 files changed, 1806 insertions(+) create mode 100644 test/selenium/tests-private/CustomGatewaysBRL.json create mode 100644 test/selenium/tests-private/CustomGatewaysEUR.json create mode 100644 test/selenium/tests-private/CustomGatewaysJPY.json create mode 100644 test/selenium/tests-private/CustomGatewaysMXN.json create mode 100644 test/selenium/tests-private/CustomGatewaysSGD.json create mode 100644 test/selenium/tests-private/CustomGatewaysUSD.json create mode 100644 test/selenium/tests-private/CustomGatewaysXAU.json diff --git a/test/selenium/tests-private/CustomGatewaysBRL.json b/test/selenium/tests-private/CustomGatewaysBRL.json new file mode 100644 index 000000000..cde9cbdbe --- /dev/null +++ b/test/selenium/tests-private/CustomGatewaysBRL.json @@ -0,0 +1,258 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://localhost:9001/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "BRL" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "BRL" + } + }, + { + "type": "waitForTextPresent", + "text": "Brazil" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-brl']//button[.='Add RippexAdding...']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Gateways" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Australian", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests-private/CustomGatewaysEUR.json b/test/selenium/tests-private/CustomGatewaysEUR.json new file mode 100644 index 000000000..fe73eaaf9 --- /dev/null +++ b/test/selenium/tests-private/CustomGatewaysEUR.json @@ -0,0 +1,258 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://localhost:9001/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "EUR" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "EUR" + } + }, + { + "type": "waitForTextPresent", + "text": "Euro" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-eur']//button[.='Add SnapSwap.eu']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Gateways" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Australian", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests-private/CustomGatewaysJPY.json b/test/selenium/tests-private/CustomGatewaysJPY.json new file mode 100644 index 000000000..6bb181238 --- /dev/null +++ b/test/selenium/tests-private/CustomGatewaysJPY.json @@ -0,0 +1,258 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://localhost:9001/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "JPY" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "JPY" + } + }, + { + "type": "waitForTextPresent", + "text": "Tokyo" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-jpy']//button[.='Add Tokyo JPY']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Gateways" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Australian", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests-private/CustomGatewaysMXN.json b/test/selenium/tests-private/CustomGatewaysMXN.json new file mode 100644 index 000000000..9c521a62d --- /dev/null +++ b/test/selenium/tests-private/CustomGatewaysMXN.json @@ -0,0 +1,258 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://localhost:9001/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "MXN" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "MXN" + } + }, + { + "type": "waitForTextPresent", + "text": "Mexican" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-mxn']//button[.='Add Bitso']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Gateways" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Australian", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests-private/CustomGatewaysSGD.json b/test/selenium/tests-private/CustomGatewaysSGD.json new file mode 100644 index 000000000..dec8228ef --- /dev/null +++ b/test/selenium/tests-private/CustomGatewaysSGD.json @@ -0,0 +1,258 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://localhost:9001/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "SGD" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "SGD" + } + }, + { + "type": "waitForTextPresent", + "text": "Singapore" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-sgd']//button[.='Add Ripple Singapore']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Gateways" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Australian", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests-private/CustomGatewaysUSD.json b/test/selenium/tests-private/CustomGatewaysUSD.json new file mode 100644 index 000000000..d0b38965c --- /dev/null +++ b/test/selenium/tests-private/CustomGatewaysUSD.json @@ -0,0 +1,258 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://localhost:9001/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "USD" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "USD" + } + }, + { + "type": "waitForTextPresent", + "text": "USA" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-usd']//button[.='Add SnapSwap.us']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Gateways" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Australian", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests-private/CustomGatewaysXAU.json b/test/selenium/tests-private/CustomGatewaysXAU.json new file mode 100644 index 000000000..fb6f4b53e --- /dev/null +++ b/test/selenium/tests-private/CustomGatewaysXAU.json @@ -0,0 +1,258 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://localhost:9001/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "XAU" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "XAU" + } + }, + { + "type": "waitForTextPresent", + "text": "Gold" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-gold']//button[.='Add GBI']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Gateways" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Australian", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file From 0e1fc6658eaa5287fbf3a20b6a1e52c2bd3e83ba Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Wed, 1 Apr 2015 15:11:14 +0400 Subject: [PATCH 154/321] [TASK] Remove Coinex from Fund tab, Featured Gateways - AUD & NZD. (RT-3335) --- src/jade/tabs/aud.jade | 109 -------------------------- src/jade/tabs/fund/menu.jade | 6 -- src/jade/tabs/nzd.jade | 109 -------------------------- src/js/entry/web.js | 2 - src/js/tabs/aud.controller.js | 140 ---------------------------------- src/js/tabs/nzd.controller.js | 139 --------------------------------- 6 files changed, 505 deletions(-) delete mode 100644 src/jade/tabs/aud.jade delete mode 100644 src/jade/tabs/nzd.jade delete mode 100644 src/js/tabs/aud.controller.js delete mode 100644 src/js/tabs/nzd.controller.js diff --git a/src/jade/tabs/aud.jade b/src/jade/tabs/aud.jade deleted file mode 100644 index 47108f81c..000000000 --- a/src/jade/tabs/aud.jade +++ /dev/null @@ -1,109 +0,0 @@ -section.col-xs-12.content(ng-controller='AudCtrl') - - //- Disconnected - - group.disconnected(ng-hide='connected') - p.literal(l10n="err-you-must-be-online-to-see-this-screen", l10n) - | You have to be online to see this screen - - //- Funding - div(ng-show="!loadingAccount && !account.Balance && loadState.account && connected") - include banner/unfunded - - .row(ng-show='connected') - // Transaction errors coming from errors.js & transactionerror.jade - .col-sm-12(ng-show='mode=="error" || mode=="granting" && account.Balance') - group.mode-ripplerror - rp-transaction-status( - rp-engine-result="{{engine_result}}" - rp-engine-result-message="{{engine_result_message}}" - rp-accepted="{{engine_status_accepted}}" - rp-current-tab="trust") - - //- Generic non-tx related messages - .col-sm-12(ng-show='notif !== "clear"', ng-hide="!notif") - group.mode-granted.wide - group(ng-switch on="notif") - group.result-error(ng-switch-when="error") - h2.tx-status(l10n) There was an error while saving your changes. - p(l10n) Please try again later. - .col-sm-12(ng-show='account.Balance && !can_add_trust && !audConnected') - .alert.alert-warning(l10n) You must have at least - strong {{account.reserve_to_add_trust | rpamount:0}} XRP - | to add a new trust line. - a(href="https://ripple.com/wiki/Reserves", target="_blank") More information - - .col-sm-3 - include fund/menu - .col-sm-9.list(ng-hide='debug') - .nameLine(l10n) Australian Dollar Deposit - .gateway.row - .col-md-3 - .title(l10n) Gateway - .description(l10n) - | Coinex (~Coinex) - br - a(href="https://coinexgateway.com", target="_blank") www.coinexgateway.com - .col-md-3 - .title(l10n) Availability - .description(l10n) Australia and New Zealand - .col-md-3 - .title(l10n) Fees - .description(l10n) - p(l10n) .98% for deposits and withdrawals - p(l10n) - a(href="https://coinexgateway.com/Gateway/Fees.html", target="_blank") more details - .col-md-3 - .title(l10n) Rating - .description(l10n) - a(href="https://coinist.co/ripple/gateways/coinex", target="_blank") read reviews - - .row.fund-tab-description - .col-xs-12.col-md-8.col-lg-6 - .descriptor(ng-show="!audConnected", l10n) Ripple Trade has partnered with Ripple Australia to provide easier access to AUD. Following this action will enable Ripple Australia to hold AUD on your behalf. - - .row.fund-tab-description - .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large.btn-primary(ng-show="!audConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Coinex AUD - button.btn.btn-large.btn-primary(ng-show="!audConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... - button.btn.btn-large.btn-primary(ng-show="showInstructions && audConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions - button.btn.btn-large.btn-primary(ng-show="audConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions - - .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="loading") - .description(ng-show="!audConnected && account.Balance", l10n) - i.fa.fa-times - | Not connected - .description(ng-show="audConnected && account.Balance", l10n) - i.fa.fa-check - | Connected - .description(ng-show="!account.Balance", l10n) Your account has to be activated before you can add a gateway account. - - .row(ng-show="showInstructions && audConnected") - .instructions.col-md-10 - a.dismiss(href="", id="hide", ng-click="toggle_instructions()", l10n) × - .title(l10n) To Initiate Australian Dollar Deposits and Withdrawals - .description(l10n) - | Register or login to your Coinex account. You will need to submit proof of identity. - a(href="https://coinexgateway.com/Gateway/Verification.html", target="_blank") Details here. - - .title(l10n) Deposit Options - .description(l10n) - | Coinex accepts deposits by the following methods: - ul - li - p(l10n) International bank transfer - li - p(l10n) Ripple transaction - li - p(l10n) Stellar transaction - - .title(l10n) Withdrawal Options - .description(l10n) - | Coinex accepts withdrawals by the following methods: - ul - li - p(l10n) Domestic or international bank transfer - li - p(l10n) Ripple transaction - li - p(l10n) Stellar transaction diff --git a/src/jade/tabs/fund/menu.jade b/src/jade/tabs/fund/menu.jade index b5db51855..3039ce930 100644 --- a/src/jade/tabs/fund/menu.jade +++ b/src/jade/tabs/fund/menu.jade @@ -4,9 +4,6 @@ i.icon.fa.fa-money.fa-xrp | XRP .menu_item(l10n) Featured gateways - a(href="#/aud", ng-class="{active: $route.current.tabName == 'aud'}", class="currency-aud", l10n) - i.icon.fa.fa-money.fa-aud - | AUD a(href="#/brl", ng-class="{active: $route.current.tabName == 'brl'}", class="currency-brl", l10n) i.icon.fa.fa-money.fa-brl | BRL @@ -22,9 +19,6 @@ a(href="#/mxn", ng-class="{active: $route.current.tabName == 'mxn'}", class="currency-mxn", l10n) i.icon.fa.fa-money.fa-mxn | MXN - a(href="#/nzd", ng-class="{active: $route.current.tabName == 'nzd'}", class="currency-nzd", l10n) - i.icon.fa.fa-money.fa-nzd - | NZD a(href="#/sgd", ng-class="{active: $route.current.tabName == 'sgd'}", class="currency-sgd", l10n) i.icon.fa.fa-money.fa-sgd | SGD diff --git a/src/jade/tabs/nzd.jade b/src/jade/tabs/nzd.jade deleted file mode 100644 index b3ac20990..000000000 --- a/src/jade/tabs/nzd.jade +++ /dev/null @@ -1,109 +0,0 @@ -section.col-xs-12.content(ng-controller='NzdCtrl') - - //- Disconnected - - group.disconnected(ng-hide='connected') - p.literal(l10n="err-you-must-be-online-to-see-this-screen", l10n) - | You have to be online to see this screen - - //- Funding - div(ng-show="!loadingAccount && !account.Balance && loadState.account && connected") - include banner/unfunded - - .row(ng-show='connected') - // Transaction errors coming from errors.js & transactionerror.jade - .col-sm-12(ng-show='mode=="error" || mode=="granting" && account.Balance') - group.mode-ripplerror - rp-transaction-status( - rp-engine-result="{{engine_result}}" - rp-engine-result-message="{{engine_result_message}}" - rp-accepted="{{engine_status_accepted}}" - rp-current-tab="trust") - - //- Generic non-tx related messages - .col-sm-12(ng-show='notif !== "clear"', ng-hide="!notif") - group.mode-granted.wide - group(ng-switch on="notif") - group.result-error(ng-switch-when="error") - h2.tx-status(l10n) There was an error while saving your changes. - p(l10n) Please try again later. - .col-sm-12(ng-show='account.Balance && !can_add_trust && !nzdConnected') - .alert.alert-warning(l10n) You must have at least - strong {{account.reserve_to_add_trust | rpamount:0}} XRP - | to add a new trust line. - a(href="https://ripple.com/wiki/Reserves", target="_blank") More information - - .col-sm-3 - include fund/menu - .col-sm-9.list(ng-hide='debug') - .nameLine(l10n) New Zealand Dollar Deposit - .gateway.row - .col-md-3 - .title(l10n) Gateway - .description(l10n) - | Coinex (~Coinex) - br - a(href="https://coinexgateway.com", target="_blank") www.coinexgateway.com - .col-md-3 - .title(l10n) Availability - .description(l10n) Australia and New Zealand - .col-md-3 - .title(l10n) Fees - .description(l10n) - p(l10n) .98% for deposits and withdrawals - p(l10n) - a(href="https://coinexgateway.com/Gateway/Fees.html", target="_blank") more details - .col-md-3 - .title(l10n) Rating - .description(l10n) - a(href="https://coinist.co/ripple/gateways/coinex", target="_blank") read reviews - - .row.fund-tab-description - .col-xs-12.col-md-8.col-lg-6 - .descriptor(ng-show="!nzdConnected", l10n) Ripple Trade has partnered with Coinex to provide easier access to NZD. Following this action will enable Coinex to hold NZD on your behalf. - - .row.fund-tab-description - .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large.btn-primary(ng-show="!nzdConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Coinex NZD - button.btn.btn-large.btn-primary(ng-show="!nzdConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... - button.btn.btn-large.btn-primary(ng-show="showInstructions && nzdConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions - button.btn.btn-large.btn-primary(ng-show="nzdConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions - - .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="loading") - .description(ng-show="!nzdConnected && account.Balance", l10n) - i.fa.fa-times - | Not connected - .description(ng-show="nzdConnected && account.Balance", l10n) - i.fa.fa-check - | Connected - .description(ng-show="!account.Balance", l10n) Your account has to be activated before you can add a gateway account. - - .row(ng-show="showInstructions && nzdConnected") - .instructions.col-md-10 - a.dismiss(href="", id="hide", ng-click="toggle_instructions()", l10n) × - .title(l10n) To Initiate New Zealand Dollar Deposits and Withdrawals - .description(l10n) - | Register or login to your Coinex account. You will need to submit proof of identity. - a(href="https://coinexgateway.com/Gateway/Verification.html", target="_blank") Details here. - - .title(l10n) Deposit Options - .description(l10n) - | Coinex accepts deposits by the following methods: - ul - li - p(l10n) International bank transfer - li - p(l10n) Ripple transaction - li - p(l10n) Stellar transaction - - .title(l10n) Withdrawal Options - .description(l10n) - | Coinex accepts withdrawals by the following methods: - ul - li - p(l10n) Domestic or international bank transfer - li - p(l10n) Ripple transaction - li - p(l10n) Stellar transaction \ No newline at end of file diff --git a/src/js/entry/web.js b/src/js/entry/web.js index 4b508a2e7..37fe7ce50 100644 --- a/src/js/entry/web.js +++ b/src/js/entry/web.js @@ -100,14 +100,12 @@ var tabdefs = [ require('../tabs/usd.controller.js'), require('../tabs/eur.controller.js'), require('../tabs/sgd.controller.js'), - require('../tabs/aud.controller.js'), require('../tabs/gold.controller.js'), require('../tabs/tou.controller.js'), require('../tabs/privacypolicy.controller.js'), require('../tabs/twofa.controller.js'), require('../tabs/jpy.controller.js'), require('../tabs/mxn.controller.js'), - require('../tabs/nzd.controller.js'), require('../tabs/404.controller.js'), require('../tabs/brl.controller.js'), require('../tabs/settingstrade.controller.js'), diff --git a/src/js/tabs/aud.controller.js b/src/js/tabs/aud.controller.js deleted file mode 100644 index b6ecc816c..000000000 --- a/src/js/tabs/aud.controller.js +++ /dev/null @@ -1,140 +0,0 @@ -var util = require('util'), - Tab = require('../client/tab').Tab; - -var AudTab = function() { - Tab.call(this); -}; - -util.inherits(AudTab, Tab); - -AudTab.prototype.tabName = 'aud'; -AudTab.prototype.mainMenu = 'fund'; - -AudTab.prototype.generateHtml = function() { - return require('../../jade/tabs/aud.jade')(); -}; - -AudTab.prototype.angular = function(module) { - module.controller('AudCtrl', ['$scope', 'rpId', 'rpAppManager', 'rpTracker', '$routeParams', 'rpKeychain', 'rpNetwork', '$timeout', - function($scope, id, appManager, rpTracker, $routeParams, keychain, $network, $timeout) - { - $scope.toggle_instructions = function() { - $scope.showInstructions = !$scope.showInstructions; - }; - - $scope.save_account = function() { - $scope.loading = true; - - var amount = ripple.Amount.from_human( - Options.gateway_max_limit + ' ' + 'AUD', { - reference_date: new Date(+new Date() + 5 * 60000) - } - ); - - amount.set_issuer('rsP3mgGb2tcYUrxiLFiHJiQXhsziegtwBc'); - - if (!amount.is_valid()) { - // Invalid amount. Indicates a bug in one of the validators. - console.log('Invalid amount'); - return; - } - - var tx = $network.remote.transaction(); - - // Add memo to tx - tx.addMemo('client', 'rt' + $scope.version); - - // Flags - tx - .rippleLineSet(id.account, amount) - .setFlags('NoRipple') - .on('proposed', function(res) { - $scope.$apply(function() { - setEngineStatus(res, false); - }); - }) - .on('success', function(res) { - $scope.$apply(function() { - setEngineStatus(res, true); - $scope.loading = false; - $scope.editing = false; - }); - }) - .on('error', function(res) { - setEngineStatus(res, false); - console.log('error', res); - setImmediate(function() { - $scope.$apply(function() { - $scope.mode = 'error'; - - $scope.loading = false; - $scope.editing = false; - }); - }); - }); - - function setEngineStatus(res, accepted) { - $scope.engine_result = res.engine_result; - $scope.engine_result_message = res.engine_result_message; - $scope.engine_status_accepted = accepted; - - switch (res.engine_result.slice(0, 3)) { - case 'tes': - $scope.tx_result = accepted ? 'cleared' : 'pending'; - break; - case 'tem': - $scope.tx_result = 'malformed'; - break; - case 'ter': - $scope.tx_result = 'failed'; - break; - case 'tec': - $scope.tx_result = 'failed'; - break; - case 'tel': - $scope.tx_result = 'local'; - break; - case 'tep': - console.warn('Unhandled engine status encountered!'); - } - if ($scope.tx_result == 'cleared') { - $scope.audConnected = true; - $scope.showInstructions = true; - } - console.log($scope.tx_result); - } - - keychain.requestSecret(id.account, id.username, function(err, secret) { - // XXX Error handling - if (err) { - $scope.loading = false; - console.log(err); - return; - } - $scope.mode = 'granting'; - tx.secret(secret); - tx.submit(); - }); - }; - $scope.$watch('lines', function() { - if ($scope.lines.rsP3mgGb2tcYUrxiLFiHJiQXhsziegtwBcAUD) { - $scope.audConnected = true; - } else { - $scope.audConnected = false; - } - }, true); - - // User should be notified if the reserve is insufficient to add a gateway - $scope.$watch('account', function() { - $scope.can_add_trust = false; - if ($scope.account.Balance && $scope.account.reserve_to_add_trust) { - if (!$scope.account.reserve_to_add_trust.subtract($scope.account.Balance).is_positive() || $.isEmptyObject($scope.lines)) { - $scope.can_add_trust = true; - } - } - }, true); - } - ]); -}; - -module.exports = AudTab; diff --git a/src/js/tabs/nzd.controller.js b/src/js/tabs/nzd.controller.js deleted file mode 100644 index eb49b5ff5..000000000 --- a/src/js/tabs/nzd.controller.js +++ /dev/null @@ -1,139 +0,0 @@ -var util = require('util'), - Tab = require('../client/tab').Tab; - -var NzdTab = function() { - Tab.call(this); -}; - -util.inherits(NzdTab, Tab); - -NzdTab.prototype.tabName = 'nzd'; -NzdTab.prototype.mainMenu = 'fund'; - -NzdTab.prototype.generateHtml = function() { - return require('../../jade/tabs/nzd.jade')(); -}; - -NzdTab.prototype.angular = function(module) { - module.controller('NzdCtrl', ['$scope', 'rpId', 'rpAppManager', 'rpTracker', '$routeParams', 'rpKeychain', 'rpNetwork', '$timeout', - function($scope, id, appManager, rpTracker, $routeParams, keychain, $network, $timeout) - { - $scope.toggle_instructions = function() { - $scope.showInstructions = !$scope.showInstructions; - }; - $scope.save_account = function() { - $scope.loading = true; - - var amount = ripple.Amount.from_human( - Options.gateway_max_limit + ' ' + 'NZD', { - reference_date: new Date(+new Date() + 5 * 60000) - } - ); - - amount.set_issuer('rsP3mgGb2tcYUrxiLFiHJiQXhsziegtwBc'); - - if (!amount.is_valid()) { - // Invalid amount. Indicates a bug in one of the validators. - console.log('Invalid amount'); - return; - } - - var tx = $network.remote.transaction(); - - // Add memo to tx - tx.addMemo('client', 'rt' + $scope.version); - - // Flags - tx - .rippleLineSet(id.account, amount) - .setFlags('NoRipple') - .on('proposed', function(res) { - $scope.$apply(function() { - setEngineStatus(res, false); - }); - }) - .on('success', function(res) { - $scope.$apply(function() { - setEngineStatus(res, true); - $scope.loading = false; - $scope.editing = false; - }); - }) - .on('error', function(res) { - setEngineStatus(res, false); - console.log('error', res); - setImmediate(function() { - $scope.$apply(function() { - $scope.mode = 'error'; - - $scope.loading = false; - $scope.editing = false; - }); - }); - }); - - function setEngineStatus(res, accepted) { - $scope.engine_result = res.engine_result; - $scope.engine_result_message = res.engine_result_message; - $scope.engine_status_accepted = accepted; - - switch (res.engine_result.slice(0, 3)) { - case 'tes': - $scope.tx_result = accepted ? 'cleared' : 'pending'; - break; - case 'tem': - $scope.tx_result = 'malformed'; - break; - case 'ter': - $scope.tx_result = 'failed'; - break; - case 'tec': - $scope.tx_result = 'failed'; - break; - case 'tel': - $scope.tx_result = 'local'; - break; - case 'tep': - console.warn('Unhandled engine status encountered!'); - } - if ($scope.tx_result == 'cleared') { - $scope.nzdConnected = true; - $scope.showInstructions = true; - } - console.log($scope.tx_result); - } - - keychain.requestSecret(id.account, id.username, function(err, secret) { - // XXX Error handling - if (err) { - $scope.loading = false; - console.log(err); - return; - } - $scope.mode = 'granting'; - tx.secret(secret); - tx.submit(); - }); - }; - $scope.$watch('lines', function() { - if ($scope.lines.rsP3mgGb2tcYUrxiLFiHJiQXhsziegtwBcNZD) { - $scope.nzdConnected = true; - } else { - $scope.nzdConnected = false; - } - }, true); - - // User should be notified if the reserve is insufficient to add a gateway - $scope.$watch('account', function() { - $scope.can_add_trust = false; - if ($scope.account.Balance && $scope.account.reserve_to_add_trust) { - if (!$scope.account.reserve_to_add_trust.subtract($scope.account.Balance).is_positive() || $.isEmptyObject($scope.lines)) { - $scope.can_add_trust = true; - } - } - }, true); - } - ]); -}; - -module.exports = NzdTab; From 0d666269284d86c5f2ec684082c6bc54a83f5a43 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 31 Mar 2015 01:54:22 +0300 Subject: [PATCH 155/321] [TEST] run sauce tests on more browsers run public sauce tests on safari, firefox and chrome ie can be added after fixing ripple-vault-lib --- .travis.yml | 17 ++---- test/sauce/launch_connect.js | 4 +- test/selenium/interpreter_config_private.json | 28 +++++++++ test/selenium/interpreter_config_public.json | 30 +++++++++- test/selenium/tests-private/AddTrust.json | 2 +- test/selenium/tests-private/SendXrp.json | 2 +- test/selenium/tests-public/LoginRT.json | 2 +- test/selenium/tests-public/openRT.json | 2 +- test/travis/config-travis.js | 5 +- test/travis/nginx.conf | 58 ------------------- test/travis/ripple-travis.txt | 2 +- 11 files changed, 72 insertions(+), 80 deletions(-) delete mode 100644 test/travis/nginx.conf diff --git a/.travis.yml b/.travis.yml index cc0d1dceb..447e883ee 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,18 +1,15 @@ language: node_js node_js: - "0.10" +addons: + hosts: + - ripp.site #addons: # sauce_connect: true before_install: - "export DISPLAY=:99.0" - "sh -e /etc/init.d/xvfb start" - sudo apt-get update -qq - - curl http://nginx.org/keys/nginx_signing.key | sudo apt-key add - - - echo "deb http://nginx.org/packages/ubuntu/ precise nginx" | sudo tee -a /etc/apt/sources.list - - echo "deb-src http://nginx.org/packages/ubuntu/ precise nginx" | sudo tee -a /etc/apt/sources.list - - sudo apt-get update -qq - - sudo apt-get install nginx - - sudo nginx -s stop - npm install -g grunt-cli - echo "$TRAVIS_BUILD_DIR" - echo "$SAUCE_USERNAME" @@ -26,15 +23,11 @@ before_script: - npm install -g bower - bower install - npm install -g darkdarkdragon/se-interpreter - - sudo nginx -c "$TRAVIS_BUILD_DIR/test/travis/nginx.conf" - - curl -i http://localhost:9002 - grunt connect:sauce & - sudo ps aux - sudo ls -l /proc/*/exe || true script: "./test/travis-run.sh" after_script: - - sudo cat /var/log/nginx/error.log - - sudo cat /var/log/nginx/access.log - curl -i http://localhost:9001/config.js - curl -i http://localhost:9001/ripple.txt notifications: @@ -48,11 +41,9 @@ notifications: on_start: false env: global: - - SAUCE_CONNECT_VERSION=4.3.7 + - SAUCE_CONNECT_VERSION=4.3.8 - SAUCE_USERNAME=tonga - SAUCE_ACCESS_KEY=1553f141-1258-4319-b20d-7743def99fbb - secure: "g+bSaoKAx6YQTVof5kUBdWx/REaKzqzkP+CQqsU6Whx+rp9juOtJGNtfH++PaWP1hSslRJi2Ib+9+/EU6CXzLE6IlwLHcnBikexeeF28kEivwRqxosLERLQ0axk8VGw324kgUDG1DsJNKxZFPq+LlXkPcF5eVta+BcSz5BO2ygs=" - secure: "BIFtSHbHke2SfyhCTjnSVwkQ3g8aGGV9ZR+tTSFQmp5RVMPEPTy0eiLx4qk+D/UTnJztQSqrtecVvhIa1iHtkwqecyS3/Hjs5h3F9pHNVdL5njk+sMcI4qL63ijpSG3j41jG81SHiCUi86u0FpGtrYzUaSBVe/DWEKwyXmYMlrM=" # - secure: "VJFHj5fr46Qf7h34xa/W6FmGvknPH57eQLJoEjKlZUYn0EGx9EliCdENfzAbtr3e4GnNvQh6X2bLA/lB7TRzoD84oyGkllkMayevQm/dViJbUBQsl7HOa6VwUwugW+o7T3+vPM4y5qqFv1B/fs3Fthl+eKUatccy9qK4xra1Hso=" - - diff --git a/test/sauce/launch_connect.js b/test/sauce/launch_connect.js index 3f5cc9a20..43ee63d61 100644 --- a/test/sauce/launch_connect.js +++ b/test/sauce/launch_connect.js @@ -6,7 +6,9 @@ var options = { username: 'tonga', accessKey: '1553f141-1258-4319-b20d-7743def99fbb', verbose: true, - vmVersion: 'dev-varnish', + noProxyCaching: true, + noSslBumpDomains: 'ripp.site,ripple.com,s-east.ripple.com,s-west.ripple.com', + tunnelDomains: 'ripp.site', logger: console.log }; diff --git a/test/selenium/interpreter_config_private.json b/test/selenium/interpreter_config_private.json index 5519662b8..55280ab70 100644 --- a/test/selenium/interpreter_config_private.json +++ b/test/selenium/interpreter_config_private.json @@ -14,6 +14,34 @@ "accessKey": "${SAUCE_ACCESS_KEY}", "tunnel-identifier": "${TRAVIS_JOB_NUMBER}", "build": "${TRAVIS_BUILD_NUMBER}", + "tags": "${TRAVIS_BRANCH}" + } + }, + { + "driverOptions": { + "host": "localhost", + "port": 4445 + }, + "browserOptions": { + "browserName": "firefox", + "username": "${SAUCE_USERNAME}", + "accessKey": "${SAUCE_ACCESS_KEY}", + "tunnel-identifier": "${TRAVIS_JOB_NUMBER}", + "build": "${TRAVIS_BUILD_NUMBER}", + "tags": "${TRAVIS_BRANCH}" + } + }, + { + "driverOptions": { + "host": "localhost", + "port": 4445 + }, + "browserOptions": { + "browserName": "safari", + "username": "${SAUCE_USERNAME}", + "accessKey": "${SAUCE_ACCESS_KEY}", + "tunnel-identifier": "${TRAVIS_JOB_NUMBER}", + "build": "${TRAVIS_BUILD_NUMBER}", "tags": "${TRAVIS_BRANCH}" } } diff --git a/test/selenium/interpreter_config_public.json b/test/selenium/interpreter_config_public.json index 5794e6d13..3ebdcf945 100644 --- a/test/selenium/interpreter_config_public.json +++ b/test/selenium/interpreter_config_public.json @@ -3,7 +3,7 @@ "configurations": [ { "settings": [ - { + { "driverOptions": { "host": "localhost", "port": 4445 @@ -14,6 +14,34 @@ "accessKey": "${SAUCE_ACCESS_KEY}", "tunnel-identifier": "${TRAVIS_JOB_NUMBER}", "build": "${TRAVIS_BUILD_NUMBER}", + "tags": "${TRAVIS_BRANCH}" + } + }, + { + "driverOptions": { + "host": "localhost", + "port": 4445 + }, + "browserOptions": { + "browserName": "firefox", + "username": "${SAUCE_USERNAME}", + "accessKey": "${SAUCE_ACCESS_KEY}", + "tunnel-identifier": "${TRAVIS_JOB_NUMBER}", + "build": "${TRAVIS_BUILD_NUMBER}", + "tags": "${TRAVIS_BRANCH}" + } + }, + { + "driverOptions": { + "host": "localhost", + "port": 4445 + }, + "browserOptions": { + "browserName": "safari", + "username": "${SAUCE_USERNAME}", + "accessKey": "${SAUCE_ACCESS_KEY}", + "tunnel-identifier": "${TRAVIS_JOB_NUMBER}", + "build": "${TRAVIS_BUILD_NUMBER}", "tags": "${TRAVIS_BRANCH}" } } diff --git a/test/selenium/tests-private/AddTrust.json b/test/selenium/tests-private/AddTrust.json index b51b402c0..b10cc70c6 100644 --- a/test/selenium/tests-private/AddTrust.json +++ b/test/selenium/tests-private/AddTrust.json @@ -5,7 +5,7 @@ "steps": [ { "type": "get", - "url": "http://localhost:9001/#/login" + "url": "http://ripp.site:9001/#/login" }, { "type": "waitForTextPresent", diff --git a/test/selenium/tests-private/SendXrp.json b/test/selenium/tests-private/SendXrp.json index bdbffe870..ce22b4ea4 100644 --- a/test/selenium/tests-private/SendXrp.json +++ b/test/selenium/tests-private/SendXrp.json @@ -5,7 +5,7 @@ "steps": [ { "type": "get", - "url": "http://localhost:9001/#/login" + "url": "http://ripp.site:9001/#/login" }, { "type": "waitForTextPresent", diff --git a/test/selenium/tests-public/LoginRT.json b/test/selenium/tests-public/LoginRT.json index e73408694..d142a5724 100644 --- a/test/selenium/tests-public/LoginRT.json +++ b/test/selenium/tests-public/LoginRT.json @@ -5,7 +5,7 @@ "steps": [ { "type": "get", - "url": "http://localhost:9001/#/login" + "url": "http://ripp.site:9001/#/login" }, { "type": "waitForTextPresent", diff --git a/test/selenium/tests-public/openRT.json b/test/selenium/tests-public/openRT.json index 860caceb2..0a603ebfd 100644 --- a/test/selenium/tests-public/openRT.json +++ b/test/selenium/tests-public/openRT.json @@ -5,7 +5,7 @@ "steps": [ { "type": "get", - "url": "http://localhost:9001/" + "url": "http://ripp.site:9001/" }, { "type": "waitForTextPresent", diff --git a/test/travis/config-travis.js b/test/travis/config-travis.js index 92f6c2730..2ed9f3f9e 100644 --- a/test/travis/config-travis.js +++ b/test/travis/config-travis.js @@ -7,7 +7,7 @@ var Options = { // Local domain // // Which domain should ripple-client consider native? - domain: 'localhost:9001', + domain: 'ripp.site:9001', // Rippled to connect server: { @@ -16,7 +16,8 @@ var Options = { local_signing: true, servers: [ - { host: 'localhost', port: 9002, secure: false } + { host: 's-west.ripple.com', port: 443, secure: true }, + { host: 's-east.ripple.com', port: 443, secure: true } ], connection_offset: 0 diff --git a/test/travis/nginx.conf b/test/travis/nginx.conf deleted file mode 100644 index d9cd8297c..000000000 --- a/test/travis/nginx.conf +++ /dev/null @@ -1,58 +0,0 @@ - -user nginx; -worker_processes 1; - -error_log /var/log/nginx/error.log warn; -pid /var/run/nginx.pid; - - -events { - worker_connections 1024; -} - - -http { - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - sendfile on; - #tcp_nopush on; - - keepalive_timeout 65; - - #gzip on; - map $http_upgrade $connection_upgrade { - default upgrade; - '' close; - } - - upstream websocket { - server s-west.ripple.com:443; - } - - server { - listen 9002; - server_name localhost; - - - location / { - proxy_pass http://websocket; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - } - - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root /usr/share/nginx/html; - } - - } -} - diff --git a/test/travis/ripple-travis.txt b/test/travis/ripple-travis.txt index 6dad29482..ed7f418db 100644 --- a/test/travis/ripple-travis.txt +++ b/test/travis/ripple-travis.txt @@ -1,2 +1,2 @@ [authinfo_url] -https://id.ripple.com/v1/authinfo \ No newline at end of file +https://id.ripple.com/v1/authinfo From b01e4cbb842e3672b44928e8063e388ba444c636 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Thu, 12 Mar 2015 16:00:08 -0700 Subject: [PATCH 156/321] [TASK] Add gulp --- .gitignore | 2 +- src/js/config-example.js => config-example.js | 0 gulpfile.js | 134 ++++++++++++++++++ package.json | 8 ++ src/index.html | 50 +++++-- src/less/fontawesome/variables.less | 2 +- 6 files changed, 183 insertions(+), 13 deletions(-) rename src/js/config-example.js => config-example.js (100%) create mode 100644 gulpfile.js diff --git a/.gitignore b/.gitignore index 4993fdde3..1b6bef1a9 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,7 @@ npm-debug.log node_modules test/sauce/node_modules/ build/ -src/js/config.js +config.js test/e2e/protractor.conf.js analytics.js res/nw/config.js diff --git a/src/js/config-example.js b/config-example.js similarity index 100% rename from src/js/config-example.js rename to config-example.js diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 000000000..a8ffeb325 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,134 @@ +'use strict'; + +var gulp = require('gulp'); +var modRewrite = require('connect-modrewrite'); +var BannerPlugin = require('webpack/lib/BannerPlugin'); + +var $ = require('gulp-load-plugins')({ + pattern: ['gulp-*', 'del', 'browser-sync'] +}); + +var buildDirPath = 'buildGulp'; + +// Clean the build folder +gulp.task('clean', function () { + $.del([buildDirPath + '/dev/*', buildDirPath + '/dist/*']); +}); + +gulp.task('bower', function() { + return $.bower(); +}); + +// Webpack +gulp.task('webpack', function() { + // TODO jshint + // TODO move to js/entry.js + // TODO prod and languages + return gulp.src('src/js/entry/web.js') + .pipe($.webpack({ + module: { + loaders: [ + { test: /\.jade$/, loader: "jade-loader" }, + { test: /\.json$/, loader: "json-loader" } + ] + }, + output: { + filename: "app.js" + }, + cache: true, + plugins: [ + //new BannerPlugin('Ripple Client v<%= meta.version %>\nCopyright (c) <%= grunt.template.today(\'yyyy\') %> <%= pkg.author.name %>\nLicensed under the <%= pkg.license %> license.') + ], + debug: true, + devtool: 'eval' + })) + .pipe(gulp.dest(buildDirPath + '/dev/js/')) + .pipe($.browserSync.reload({stream:true})); +}); + +// Html +gulp.task('html', function() { + return gulp.src('src/index.html') + .pipe(gulp.dest(buildDirPath + '/dev')) + .pipe($.browserSync.reload({stream:true})) +}); + +// TODO SASS +// Less +gulp.task('less', function () { + return gulp.src('src/less/ripple/web.less') + .pipe($.less({ + paths: ['src/less'] + })) + .pipe(gulp.dest(buildDirPath + '/dev/css')) + .pipe($.browserSync.reload({stream:true})); +}); + +// Images +// TODO images:prod +gulp.task('images:dev', function () { + return gulp.src('img/**/*') + .pipe(gulp.dest(buildDirPath + '/dev/img/')) + .pipe($.browserSync.reload({stream:true})); +}); + +// Static server +gulp.task('serve:dev', function() { + $.browserSync({ + server: { + baseDir: [".", buildDirPath + "/dev"], + middleware: [ + modRewrite([ + '!\\.html|\\.js|\\.css|\\.png|\\.jpg|\\.gif|\\.svg|\\.txt|\\.eot|\\.woff|\\.woff2|\\.ttf$ /index.html [L]' + ]) + ] + } + }); +}); + +// TODO e2e tests + +// Config +// TODO load using webpack +gulp.task('config', function () { + return gulp.src('config.js') + .pipe(gulp.dest(buildDirPath + '/dev')) + .pipe($.browserSync.reload({stream:true})); +}); + +// Dependencies +gulp.task('wiredep', function () { + var wiredep = require('wiredep').stream; + + return gulp.src('src/index.html') + .pipe(wiredep({ + directory: 'deps' + })) + .pipe(gulp.dest('src')); +}); + +// Default Task (Dev environment) +gulp.task('default', ['clean', 'dev', 'serve:dev'], function() { + // Webpack + gulp.watch(['src/js/**/*.js', 'src/jade/**/*.jade'], ['webpack']); + + // Htmls + gulp.watch('src/*.html', ['html']); + + // Config + gulp.watch('config.js', ['config']); + + // TODO watch on config + + gulp.watch('src/less/**/*', ['less']); + + // Images + gulp.watch('img/**/*', ['images:dev']); +}); + +// Development +gulp.task('dev', ['bower', 'webpack', 'less', 'html', 'images:dev', 'config']); + +// Distribution +gulp.task('dist', [], function () { +}); \ No newline at end of file diff --git a/package.json b/package.json index 9610e3a6f..74633c87d 100644 --- a/package.json +++ b/package.json @@ -47,13 +47,21 @@ }, "readmeFilename": "README", "devDependencies": { + "browser-sync": "^2.2.3", "chai": "~1.9.1", "chai-as-promised": "~4.1.1", + "connect-modrewrite": "^0.7.11", "coveralls": "^2.11.2", + "del": "^1.1.1", "delayed-stream": "0.0.5", "express": "~4.8.7", "grunt-jscs": "~1.0.0", "grunt-lesslint": "~1.1.13", + "gulp": "^3.8.11", + "gulp-bower": "0.0.10", + "gulp-less": "^3.0.1", + "gulp-load-plugins": "^0.8.1", + "gulp-webpack": "^1.3.0", "karma": "~0.12.16", "karma-cli": "0.0.4", "karma-coverage": "^0.2.7", diff --git a/src/index.html b/src/index.html index bc53a5545..422135bbb 100644 --- a/src/index.html +++ b/src/index.html @@ -30,8 +30,8 @@ - - + + @@ -42,12 +42,7 @@ - - - + @@ -95,13 +90,40 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -71,7 +73,7 @@
-
[unprocessed]
+
[unprocessed]

We apologize, but the Ripple Client needs JavaScript and WebSockets in order to function.
@@ -81,50 +83,46 @@

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - + + + - + + + - - + - - + - - - - - - - - - - + + + @@ -163,6 +165,11 @@ + + + + + + + + - -
- -
\ No newline at end of file From 1c11ce5a5983f8240c67440c17b20e0a0a776cbf Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 9 Apr 2015 10:18:39 +0300 Subject: [PATCH 180/321] [FIX] Trade: clean ticker on change (RT-3336) Clean price ticker when trade pair changes, so user do not see data from previous pair while new data loads. --- src/js/tabs/trade.controller.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/js/tabs/trade.controller.js b/src/js/tabs/trade.controller.js index 4482790f8..b746ef500 100644 --- a/src/js/tabs/trade.controller.js +++ b/src/js/tabs/trade.controller.js @@ -1072,6 +1072,11 @@ TradeTab.prototype.angular = function(module) // Load orderbook if (order.prev_settings !== key) { changedPair = true; + $scope.priceTicker = { + bid: 'n/a', + ask: 'n/a', + spread: 'n/a' + }; loadOffers(); order.prev_settings = key; @@ -1079,7 +1084,7 @@ TradeTab.prototype.angular = function(module) else if ($scope.book.ready) $scope.editOrder.orderbookReady = true; // Update widgets - ['buy','sell'].forEach(function(type){ + ['buy', 'sell'].forEach(function(type) { $scope.update_first(type); $scope.update_price(type); $scope.update_second(type); From ee77a8de95ae11e9608bd250188d11a5258e264f Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Sat, 11 Apr 2015 06:32:12 +0300 Subject: [PATCH 181/321] [TEST] e2e tests for placing orders (RT-3327) e2e tests for placing orders and trade pairs: Add/remove a custom trade pair using full Ripple addresses. Add/remove a custom trade pair using Ripple names. Place/remove order to XRP/USD.Bitstamp orderbook. Place/remove order to USD.Bitstamp/USD.Snapswap orderbook. --- test/selenium/tests-private/TradeNonXRP.json | 335 ++++++++++++++++++ .../tests-private/TradePairsAddress.json | 167 +++++++++ .../tests-private/TradePairsName.json | 167 +++++++++ test/selenium/tests-private/TradeXRP.json | 335 ++++++++++++++++++ 4 files changed, 1004 insertions(+) create mode 100644 test/selenium/tests-private/TradeNonXRP.json create mode 100644 test/selenium/tests-private/TradePairsAddress.json create mode 100644 test/selenium/tests-private/TradePairsName.json create mode 100644 test/selenium/tests-private/TradeXRP.json diff --git a/test/selenium/tests-private/TradeNonXRP.json b/test/selenium/tests-private/TradeNonXRP.json new file mode 100644 index 000000000..6e20e61f3 --- /dev/null +++ b/test/selenium/tests-private/TradeNonXRP.json @@ -0,0 +1,335 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "waitForTextPresent", + "text": "add pair" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "currency_pair" + }, + "text": "WRONG" + }, + { + "type": "waitForTextPresent", + "text": "show" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "currency_pair" + }, + "text": "USD.Bitstamp/USD.Snapswap" + }, + { + "type": "waitForTextPresent", + "text": "BIDS" + }, + { + "type": "setElementText", + "locator": { + "type": "css selector", + "value": "input[input-type='sell'][name='amount']" + }, + "text": "0.00001" + }, + { + "type": "setElementText", + "locator": { + "type": "css selector", + "value": "input[input-type='sell'][name='price']" + }, + "text": "1234" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button[btn-type='sell']" + } + }, + { + "type": "waitForTextPresent", + "text": "sure" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button[ng-disabled='confirm_wait']" + } + }, + + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "cancel" + }, + { + "type": "verifyText", + "text": "0.00001", + "locator": { + "type": "css selector", + "value": "div[data-label='QTY']" + } + }, + { + "type": "verifyText", + "text": "1,234", + "locator": { + "type": "css selector", + "value": "div[data-label='Limit']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "editPrice" + }, + "text": "1233" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "submit" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "cancel" + } + }, + + { + "type": "verifyText", + "text": "1,233", + "locator": { + "type": "css selector", + "value": "div[data-label='Limit']" + } + }, + { + "type": "verifyText", + "text": "0.00001", + "locator": { + "type": "css selector", + "value": "div[data-label='QTY']" + } + }, + + + + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "editQuantity" + }, + "text": "0.00002" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "submit" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "cancel" + } + }, + { + "type": "verifyText", + "text": "0.00002", + "locator": { + "type": "css selector", + "value": "div[data-label='QTY']" + } + }, + { + "type": "verifyText", + "text": "1,233", + "locator": { + "type": "css selector", + "value": "div[data-label='Limit']" + } + }, + + + + + + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "cancel" + } + }, + { + "type": "waitForTextPresent", + "text": "confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "div.modal-content button[ng-click='cancel_order()']" + } + }, + { + "type": "waitForTextPresent", + "text": "cancel all", + "negated": true + }, + + + + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} diff --git a/test/selenium/tests-private/TradePairsAddress.json b/test/selenium/tests-private/TradePairsAddress.json new file mode 100644 index 000000000..b3d676c80 --- /dev/null +++ b/test/selenium/tests-private/TradePairsAddress.json @@ -0,0 +1,167 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "waitForTextPresent", + "text": "add pair" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-trade']//button[.='add pair']" + } + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "first_currency" + }, + "text": "GBP" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "first_iss" + }, + "text": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "second_currency" + }, + "text": "XRP" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='add_button']//button[.='Add']" + } + }, + { + "type": "waitForTextPresent", + "text": "edit pairs" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-trade']//button[.='edit pairs']" + } + }, + { + "type": "waitForTextPresent", + "text": "GBP.rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q/XRP" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='section']//span[.='remove']" + } + }, + { + "type": "waitForTextPresent", + "text": "GBP.rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q/XRP", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} diff --git a/test/selenium/tests-private/TradePairsName.json b/test/selenium/tests-private/TradePairsName.json new file mode 100644 index 000000000..ecee55c62 --- /dev/null +++ b/test/selenium/tests-private/TradePairsName.json @@ -0,0 +1,167 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "waitForTextPresent", + "text": "add pair" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-trade']//button[.='add pair']" + } + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "first_currency" + }, + "text": "EUR" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "first_iss" + }, + "text": "~Bitstamp" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "second_currency" + }, + "text": "XRP" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='add_button']//button[.='Add']" + } + }, + { + "type": "waitForTextPresent", + "text": "edit pairs" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-trade']//button[.='edit pairs']" + } + }, + { + "type": "waitForTextPresent", + "text": "EUR.~Bitstamp/XRP" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='section']//span[.='remove']" + } + }, + { + "type": "waitForTextPresent", + "text": "EUR.~Bitstamp/XRP", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} diff --git a/test/selenium/tests-private/TradeXRP.json b/test/selenium/tests-private/TradeXRP.json new file mode 100644 index 000000000..31f466a35 --- /dev/null +++ b/test/selenium/tests-private/TradeXRP.json @@ -0,0 +1,335 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "waitForTextPresent", + "text": "add pair" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "currency_pair" + }, + "text": "WRONG" + }, + { + "type": "waitForTextPresent", + "text": "show" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "currency_pair" + }, + "text": "XRP/USD.Bitstamp" + }, + { + "type": "waitForTextPresent", + "text": "BIDS" + }, + { + "type": "setElementText", + "locator": { + "type": "css selector", + "value": "input[input-type='sell'][name='amount']" + }, + "text": "0.001" + }, + { + "type": "setElementText", + "locator": { + "type": "css selector", + "value": "input[input-type='sell'][name='price']" + }, + "text": "1234" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button[btn-type='sell']" + } + }, + { + "type": "waitForTextPresent", + "text": "sure" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button[ng-disabled='confirm_wait']" + } + }, + + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "cancel" + }, + { + "type": "verifyText", + "text": "0.001", + "locator": { + "type": "css selector", + "value": "div[data-label='QTY']" + } + }, + { + "type": "verifyText", + "text": "1,234", + "locator": { + "type": "css selector", + "value": "div[data-label='Limit']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "editPrice" + }, + "text": "1233" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "submit" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "cancel" + } + }, + + { + "type": "verifyText", + "text": "1,233", + "locator": { + "type": "css selector", + "value": "div[data-label='Limit']" + } + }, + { + "type": "verifyText", + "text": "0.001", + "locator": { + "type": "css selector", + "value": "div[data-label='QTY']" + } + }, + + + + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "editQuantity" + }, + "text": "0.002" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "submit" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "cancel" + } + }, + { + "type": "verifyText", + "text": "0.002", + "locator": { + "type": "css selector", + "value": "div[data-label='QTY']" + } + }, + { + "type": "verifyText", + "text": "1,233", + "locator": { + "type": "css selector", + "value": "div[data-label='Limit']" + } + }, + + + + + + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "cancel" + } + }, + { + "type": "waitForTextPresent", + "text": "confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "div.modal-content button[ng-click='cancel_order()']" + } + }, + { + "type": "waitForTextPresent", + "text": "cancel all", + "negated": true + }, + + + + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} From 24d3981694087fb74652a161f4a642222ce7d35e Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Mon, 13 Apr 2015 16:11:24 +0400 Subject: [PATCH 182/321] [TASK] Top menu icons disappear on a certain page width with an unfunded wallet (RT-3349) --- src/less/ripple/layout.less | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/less/ripple/layout.less b/src/less/ripple/layout.less index b47be70e8..04ec7aa35 100644 --- a/src/less/ripple/layout.less +++ b/src/less/ripple/layout.less @@ -327,7 +327,15 @@ header { } } } - +@media (max-width: @screen-sm-max) { + header { + nav.navbar { + ul.nav > li > a { + padding: 20px 15px; + } + } + } +} @sideNavWidth: 150px; #wrapper .container > .main section { From 8fdad0d4b57ddbeea0ee441b24a8483d575d4bd7 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Mon, 13 Apr 2015 16:36:38 -0700 Subject: [PATCH 183/321] Update ripple-lib --- bower.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bower.json b/bower.json index a7963e34d..a02adb66f 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "name": "ripple-client", "dependencies": { - "ripple": "~0.12.2-rc1", + "ripple": "~0.12.3", "ripple-vault-client": "~0.4.7", "angular": "~1.3.12", "angular-messages": "~1.3.12", From 6120892623c75a65cb9b717126c73eedbe0c70c1 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Mon, 13 Apr 2015 16:37:00 -0700 Subject: [PATCH 184/321] [TASK] Amount: Use scale instead of product_human --- src/js/tabs/exchange.controller.js | 2 +- src/js/tabs/send.controller.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/js/tabs/exchange.controller.js b/src/js/tabs/exchange.controller.js index 21db4ab8d..f3b558638 100644 --- a/src/js/tabs/exchange.controller.js +++ b/src/js/tabs/exchange.controller.js @@ -191,7 +191,7 @@ ExchangeTab.prototype.angular = function (module) var alt = {}; alt.amount = Amount.from_json(raw.source_amount); alt.rate = alt.amount.ratio_human(amount); - alt.send_max = alt.amount.product_human(Amount.from_human('1.001')); + alt.send_max = alt.amount.scale('1.001'); alt.paths = raw.paths_computed ? raw.paths_computed : raw.paths_canonical; diff --git a/src/js/tabs/send.controller.js b/src/js/tabs/send.controller.js index 7ef8bb722..09b92d9fb 100644 --- a/src/js/tabs/send.controller.js +++ b/src/js/tabs/send.controller.js @@ -797,7 +797,7 @@ SendTab.prototype.angular = function (module) var slightlyInFuture = new Date(+new Date() + 5 * 60000); alt.rate = alt.amount.ratio_human(amount, {reference_date: slightlyInFuture}); - alt.send_max = alt.amount.product_human(Amount.from_human('1.001')); + alt.send_max = alt.amount.scale('1.001'); alt.paths = raw.paths_computed || raw.paths_canonical; // Selected currency should be the first option From 1c9cd879e4e7c3c4e2fbee5e5f2f81281fca027f Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Mon, 13 Apr 2015 16:50:45 -0700 Subject: [PATCH 185/321] Hotfix 1.4.0-4 --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 6a4b1353b..a35a1469a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ripple-client", - "version": "1.4.0-3", + "version": "1.4.0-4", "description": "Trade client for the Ripple payment network", "author": { "name": "Ripple Labs, Inc.", @@ -62,4 +62,4 @@ "karma-sinon-chai": "~0.1.6", "mime": "~1.2.11" } -} +} \ No newline at end of file From 69b52ca8d71ebc28c489b8ce9b2b48ccc6e2558f Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Wed, 15 Apr 2015 00:44:18 +0300 Subject: [PATCH 186/321] [TEST] e2e tests for send tab try to send BTC try to send USD try to send to federation address try to send invalid amount --- test/selenium/tests-private/SendBTC.json | 116 +++++++++++ .../tests-private/SendFederation.json | 144 ++++++++++++++ test/selenium/tests-private/SendLimits.json | 187 ++++++++++++++++++ test/selenium/tests-private/SendUSD.json | 130 ++++++++++++ 4 files changed, 577 insertions(+) create mode 100644 test/selenium/tests-private/SendBTC.json create mode 100644 test/selenium/tests-private/SendFederation.json create mode 100644 test/selenium/tests-private/SendLimits.json create mode 100644 test/selenium/tests-private/SendUSD.json diff --git a/test/selenium/tests-private/SendBTC.json b/test/selenium/tests-private/SendBTC.json new file mode 100644 index 000000000..f54bc4d6c --- /dev/null +++ b/test/selenium/tests-private/SendBTC.json @@ -0,0 +1,116 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send > a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "verifyText", + "text": "BTC - Bitcoin", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.00001" + }, + { + "type": "waitForTextPresent", + "text": "Send XRP" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} diff --git a/test/selenium/tests-private/SendFederation.json b/test/selenium/tests-private/SendFederation.json new file mode 100644 index 000000000..adb0bfb98 --- /dev/null +++ b/test/selenium/tests-private/SendFederation.json @@ -0,0 +1,144 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send > a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "kate@snapswap.eu" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "verifyText", + "text": "EUR - Euro", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.01" + }, + { + "type": "waitForTextPresent", + "text": "Send XRP" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "#kate@snapswap.eu" + }, + { + "type": "waitForTextPresent", + "text": "Dollar" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "verifyText", + "text": "USD - US Dollar", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} diff --git a/test/selenium/tests-private/SendLimits.json b/test/selenium/tests-private/SendLimits.json new file mode 100644 index 000000000..29a9d2003 --- /dev/null +++ b/test/selenium/tests-private/SendLimits.json @@ -0,0 +1,187 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send > a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "~vakula" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "id", + "value": "send_amount_currency" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.0000001" + }, + { + "type": "waitForTextPresent", + "text": "too much" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.000001" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "id", + "value": "sendXrpButton" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "1000000000000" + }, + { + "type": "waitForTextPresent", + "text": "too much" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount_currency" + }, + "text": "USD" + }, + { + "type": "waitForTextPresent", + "text": "insufficient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "10000000000000000" + }, + { + "type": "waitForTextPresent", + "text": "too many" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": ".000000000000001" + }, + { + "type": "waitForTextPresent", + "text": "Send USD" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": ".0000000000000001" + }, + { + "type": "waitForTextPresent", + "text": "too many" + }, + + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} diff --git a/test/selenium/tests-private/SendUSD.json b/test/selenium/tests-private/SendUSD.json new file mode 100644 index 000000000..7baa08d93 --- /dev/null +++ b/test/selenium/tests-private/SendUSD.json @@ -0,0 +1,130 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send > a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "~vakula" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "id", + "value": "send_amount_currency" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount_currency" + }, + "text": "USD" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.00001" + }, + + { + "type": "waitForTextPresent", + "text": "Send USD" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount_currency" + }, + "text": "BTC" + }, + { + "type": "waitForTextPresent", + "text": "Send XRP" + }, + + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} From 2881d2e5993398242816c1016bc9bc76701440a9 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Tue, 14 Apr 2015 14:54:02 -0700 Subject: [PATCH 187/321] [TASK] Gulp: only compile affected templates --- gulpfile.js | 44 ++- src/index.html | 4 +- src/jade/client/index.jade | 182 ---------- src/js/controllers/app.controller.js | 2 +- src/js/directives/addressPopover.directive.js | 2 +- src/js/directives/errors.directive.js | 2 +- src/js/entry/web.js | 48 ++- src/js/services/keychain.service.js | 2 +- src/js/tabs/404.controller.js | 6 - src/js/tabs/_usd.js | 5 - src/js/tabs/account.controller.js | 5 - src/js/tabs/advanced.controller.js | 5 - src/js/tabs/apps.controller.js | 5 - src/js/tabs/balance.controller.js | 4 - src/js/tabs/brl.controller.js | 5 - src/js/tabs/btc.controller.js | 5 - src/js/tabs/contacts.controller.js | 5 - src/js/tabs/debug.controller.js | 5 - src/js/tabs/eur.controller.js | 5 - src/js/tabs/exchange.controller.js | 5 - src/js/tabs/gold.controller.js | 5 - src/js/tabs/history.controller.js | 5 - src/js/tabs/jpy.controller.js | 5 - src/js/tabs/kyc.controller.js | 5 - src/js/tabs/login.controller.js | 5 - src/js/tabs/migrate.controller.js | 5 - src/js/tabs/mxn.controller.js | 5 - src/js/tabs/notifications.controller.js | 4 - src/js/tabs/privacypolicy.controller.js | 5 - src/js/tabs/recover.controller.js | 5 - src/js/tabs/register.controller.js | 5 - src/js/tabs/security.controller.js | 5 - src/js/tabs/send.controller.js | 5 - src/js/tabs/settingsgateway.controller.js | 5 - src/js/tabs/settingstrade.controller.js | 5 - src/js/tabs/sgd.controller.js | 4 - src/js/tabs/su.controller.js | 5 - src/js/tabs/tou.controller.js | 5 - src/js/tabs/trade.controller.js | 7 +- src/js/tabs/trust.controller.js | 5 - src/js/tabs/twofa.controller.js | 5 - src/js/tabs/tx.controller.js | 5 - src/js/tabs/usd.controller.js | 5 - src/js/tabs/withdraw.controller.js | 5 - src/js/tabs/xrp.controller.js | 6 - src/less/ripple/landing.less | 16 +- src/{jade => templates}/client/navbar.jade | 0 .../directives/addresspopover.jade | 0 .../directives/transactionerror.jade | 0 src/templates/index.jade | 337 ++++++++++++++++++ .../messages/sendconvert/confirmation.jade | 0 .../messages/sendconvert/localerror.jade | 0 .../messages/sendconvert/waiting.jade | 0 .../popup/modifyOrderError.jade | 0 src/{jade => templates}/popup/unlock.jade | 0 src/{jade => templates}/strings/myOrders.jade | 0 src/{jade => templates}/tabs/2fa/form.jade | 0 src/{jade => templates}/tabs/404.jade | 0 src/{jade => templates}/tabs/_usd.jade | 0 src/{jade => templates}/tabs/account.jade | 0 .../tabs/account/navbar.jade | 0 .../tabs/account/private.jade | 0 .../tabs/account/public.jade | 0 src/{jade => templates}/tabs/advanced.jade | 0 src/{jade => templates}/tabs/apps.jade | 0 src/{jade => templates}/tabs/balance.jade | 0 .../tabs/banner/announcement.jade | 0 .../tabs/banner/unfunded.jade | 0 src/{jade => templates}/tabs/brl.jade | 0 src/{jade => templates}/tabs/btc.jade | 0 src/{jade => templates}/tabs/contacts.jade | 0 src/{jade => templates}/tabs/debug.jade | 0 src/{jade => templates}/tabs/eur.jade | 0 src/{jade => templates}/tabs/exchange.jade | 0 src/{jade => templates}/tabs/fund.jade | 0 src/{jade => templates}/tabs/fund/menu.jade | 0 src/{jade => templates}/tabs/gold.jade | 0 src/{jade => templates}/tabs/history.jade | 0 .../tabs/history/effects.jade | 0 src/{jade => templates}/tabs/jpy.jade | 0 src/{jade => templates}/tabs/kyc.jade | 0 src/{jade => templates}/tabs/login.jade | 0 src/{jade => templates}/tabs/login/form.jade | 0 src/{jade => templates}/tabs/migrate.jade | 0 src/{jade => templates}/tabs/mxn.jade | 0 .../tabs/notifications.jade | 0 .../tabs/privacypolicy.jade | 0 src/{jade => templates}/tabs/recover.jade | 0 src/{jade => templates}/tabs/register.jade | 0 src/{jade => templates}/tabs/security.jade | 0 src/{jade => templates}/tabs/send.jade | 0 .../tabs/settings/navbar.jade | 0 .../tabs/settingsgateway.jade | 0 .../tabs/settingstrade.jade | 0 src/{jade => templates}/tabs/sgd.jade | 0 src/{jade => templates}/tabs/su.jade | 0 src/{jade => templates}/tabs/tou.jade | 0 src/{jade => templates}/tabs/trade.jade | 0 src/{jade => templates}/tabs/trust.jade | 0 src/{jade => templates}/tabs/tx.jade | 0 src/{jade => templates}/tabs/usd.jade | 0 .../tabs/widgets/assetallocation.jade | 0 .../tabs/widgets/balances.jade | 0 .../tabs/widgets/markets.jade | 0 .../tabs/widgets/networth.jade | 0 .../tabs/widgets/orders.jade | 0 src/{jade => templates}/tabs/withdraw.jade | 0 src/{jade => templates}/tabs/xrp.jade | 0 108 files changed, 401 insertions(+), 424 deletions(-) delete mode 100755 src/jade/client/index.jade rename src/{jade => templates}/client/navbar.jade (100%) rename src/{jade => templates}/directives/addresspopover.jade (100%) rename src/{jade => templates}/directives/transactionerror.jade (100%) create mode 100644 src/templates/index.jade rename src/{jade => templates}/messages/sendconvert/confirmation.jade (100%) rename src/{jade => templates}/messages/sendconvert/localerror.jade (100%) rename src/{jade => templates}/messages/sendconvert/waiting.jade (100%) rename src/{jade => templates}/popup/modifyOrderError.jade (100%) rename src/{jade => templates}/popup/unlock.jade (100%) rename src/{jade => templates}/strings/myOrders.jade (100%) rename src/{jade => templates}/tabs/2fa/form.jade (100%) rename src/{jade => templates}/tabs/404.jade (100%) rename src/{jade => templates}/tabs/_usd.jade (100%) rename src/{jade => templates}/tabs/account.jade (100%) rename src/{jade => templates}/tabs/account/navbar.jade (100%) rename src/{jade => templates}/tabs/account/private.jade (100%) rename src/{jade => templates}/tabs/account/public.jade (100%) rename src/{jade => templates}/tabs/advanced.jade (100%) rename src/{jade => templates}/tabs/apps.jade (100%) rename src/{jade => templates}/tabs/balance.jade (100%) rename src/{jade => templates}/tabs/banner/announcement.jade (100%) rename src/{jade => templates}/tabs/banner/unfunded.jade (100%) rename src/{jade => templates}/tabs/brl.jade (100%) rename src/{jade => templates}/tabs/btc.jade (100%) rename src/{jade => templates}/tabs/contacts.jade (100%) rename src/{jade => templates}/tabs/debug.jade (100%) rename src/{jade => templates}/tabs/eur.jade (100%) rename src/{jade => templates}/tabs/exchange.jade (100%) rename src/{jade => templates}/tabs/fund.jade (100%) rename src/{jade => templates}/tabs/fund/menu.jade (100%) rename src/{jade => templates}/tabs/gold.jade (100%) rename src/{jade => templates}/tabs/history.jade (100%) rename src/{jade => templates}/tabs/history/effects.jade (100%) rename src/{jade => templates}/tabs/jpy.jade (100%) rename src/{jade => templates}/tabs/kyc.jade (100%) rename src/{jade => templates}/tabs/login.jade (100%) rename src/{jade => templates}/tabs/login/form.jade (100%) rename src/{jade => templates}/tabs/migrate.jade (100%) rename src/{jade => templates}/tabs/mxn.jade (100%) rename src/{jade => templates}/tabs/notifications.jade (100%) rename src/{jade => templates}/tabs/privacypolicy.jade (100%) rename src/{jade => templates}/tabs/recover.jade (100%) rename src/{jade => templates}/tabs/register.jade (100%) rename src/{jade => templates}/tabs/security.jade (100%) rename src/{jade => templates}/tabs/send.jade (100%) rename src/{jade => templates}/tabs/settings/navbar.jade (100%) rename src/{jade => templates}/tabs/settingsgateway.jade (100%) rename src/{jade => templates}/tabs/settingstrade.jade (100%) rename src/{jade => templates}/tabs/sgd.jade (100%) rename src/{jade => templates}/tabs/su.jade (100%) rename src/{jade => templates}/tabs/tou.jade (100%) rename src/{jade => templates}/tabs/trade.jade (100%) rename src/{jade => templates}/tabs/trust.jade (100%) rename src/{jade => templates}/tabs/tx.jade (100%) rename src/{jade => templates}/tabs/usd.jade (100%) rename src/{jade => templates}/tabs/widgets/assetallocation.jade (100%) rename src/{jade => templates}/tabs/widgets/balances.jade (100%) rename src/{jade => templates}/tabs/widgets/markets.jade (100%) rename src/{jade => templates}/tabs/widgets/networth.jade (100%) rename src/{jade => templates}/tabs/widgets/orders.jade (100%) rename src/{jade => templates}/tabs/withdraw.jade (100%) rename src/{jade => templates}/tabs/xrp.jade (100%) diff --git a/gulpfile.js b/gulpfile.js index f808e1b07..169499521 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -157,7 +157,7 @@ gulp.task('gitVersion', function (cb) { // Preprocess gulp.task('preprocess:dev', ['gitVersion'], function() { - gulp.src('src/index.html') + gulp.src(buildDirPath + '/dev/templates/index.html') .pipe($.preprocess({ context: { MODE: 'dev', @@ -171,7 +171,7 @@ gulp.task('preprocess:dev', ['gitVersion'], function() { }); gulp.task('preprocess:dist', ['gitVersion'], function() { - gulp.src('src/index.html') + gulp.src(buildDirPath + '/dist/templates/index.html') .pipe($.preprocess({ context: { MODE: 'dist', @@ -184,30 +184,40 @@ gulp.task('preprocess:dist', ['gitVersion'], function() { }); // TODO Languages -gulp.task('templates', function () { - return gulp.src('src/jade/**/*.jade') +gulp.task('templates:dev', function () { + return gulp.src('src/templates/**/*.jade') .pipe($.jade({ - jade: jade + jade: jade, + pretty: true + })) + .pipe(gulp.dest('build/dev/templates')); +}); + +gulp.task('templates:prod', function () { + return gulp.src('src/templates/**/*.jade') + .pipe($.jade({ + jade: jade, + pretty: true })) .pipe(gulp.dest('build/dist/templates')); }); // Default Task (Dev environment) -gulp.task('default', ['dev', 'serve:dev'], function() { +gulp.task('default', ['dev'], function() { + gulp.start('serve:dev'); + // Webpack gulp.watch(['src/js/**/*.js'], ['webpack:dev']); // Templates - $.watch('src/jade/**/*.jade') + $.watch('src/templates/**/*.jade') .pipe($.jadeFindAffected()) - .pipe($.jade({ - jade: jade - })) - .pipe(gulp.dest('build/dist/templates')) + .pipe($.jade({jade: jade, pretty: true})) + .pipe(gulp.dest('build/dev/templates')) .pipe($.browserSync.reload({stream:true})); // Htmls - gulp.watch('src/*.html', ['preprocess:dev']); + gulp.watch(buildDirPath + '/dev/templates/*.html', ['preprocess:dev']); // TODO Config @@ -215,13 +225,17 @@ gulp.task('default', ['dev', 'serve:dev'], function() { }); // Development -gulp.task('dev', ['clean:dev', 'bower', 'webpack:dev', 'less', 'templates', 'preprocess:dev']); +gulp.task('dev', ['clean:dev', 'bower', 'webpack:dev', 'less', 'templates:dev'], function () { + gulp.start('preprocess:dev'); +}); // Distribution -gulp.task('dist', ['clean:dist', 'dev', 'webpack:dist', 'preprocess:dist', 'static'], function () { +gulp.task('dist', ['clean:dist', 'dev', 'webpack:dist', 'templates:prod', 'static'], function () { var assets = $.useref.assets(); - return gulp.src([buildDirPath + '/dist/index.html', 'src/includes.html']) + gulp.start('preprocess:dist'); + + return gulp.src([buildDirPath + '/dist/index.html']) // Concatenates asset files from the build blocks inside the HTML .pipe(assets) // Appends hash to extracted files app.css → app-098f6bcd.css diff --git a/src/index.html b/src/index.html index e982fcfed..851490b17 100644 --- a/src/index.html +++ b/src/index.html @@ -148,11 +148,11 @@ var debug = false; - + - + - - - - - - - - - -
- -
- - -
[unprocessed]
- -
-

We apologize, but the Ripple Client needs JavaScript and WebSockets in order to function.
- Please refer to this page and download a browser that supports WebSockets. Thank you!
- http://caniuse.com/websockets -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From f0fcbbcac318c90ba89e1adfb7d2b5e8504428b9 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 15 Apr 2015 16:25:02 -0700 Subject: [PATCH 196/321] [TEST] app-en.js -> app.js --- test/karma.conf.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/karma.conf.js b/test/karma.conf.js index 03b12c34c..421abb3e3 100644 --- a/test/karma.conf.js +++ b/test/karma.conf.js @@ -7,7 +7,7 @@ module.exports = function(config) { 'build/dist/js/vendor-*.js', 'deps/js/angular-mocks/angular-mocks.js', 'config.js', - 'build/dist/js/app-en.js', + 'build/dist/js/app.js', 'test/unit/**/*.js' ], From 7a396d015d6a0c2d556ded60f5951192096ab148 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 15 Apr 2015 17:25:35 -0700 Subject: [PATCH 197/321] [TASK] Move language detection to web.js --- gulpfile.js | 12 +++++------- src/js/entry/web.js | 17 +++++++++++++++++ src/templates/index.jade | 16 ---------------- 3 files changed, 22 insertions(+), 23 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 30a5a22ff..3edb141ba 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -9,8 +9,7 @@ var gulp = require('gulp'), jadeL10n = require('jade-l10n'), meta = require('./package.json'), - languages = require('./l10n/languages.json').active, - languageCodes = languages.map(function(i) { return i.code; }).join(' '); + languages = require('./l10n/languages.json').active; var $ = require('gulp-load-plugins')({ pattern: ['gulp-*', 'del', 'browser-sync'] @@ -156,8 +155,7 @@ gulp.task('preprocess:dev', ['gitVersion'], function() { context: { MODE: 'dev', VERSION: meta.gitVersion, - VERSIONBRANCH: meta.gitVersionBranch, - LANGUAGES: languageCodes + VERSIONBRANCH: meta.gitVersionBranch } })) .pipe(gulp.dest(buildDirPath + '/dev/')) @@ -170,8 +168,7 @@ gulp.task('preprocess:dist', ['gitVersion'], function() { context: { MODE: 'dist', VERSION: meta.gitVersion, - VERSIONBRANCH: meta.gitVersionBranch, - LANGUAGES: languageCodes + VERSIONBRANCH: meta.gitVersionBranch } })) .pipe(gulp.dest(buildDirPath + '/dist/')) @@ -203,7 +200,8 @@ languages.forEach(function(language){ languageTasks.push('templates:' + language.code); }); -gulp.task('templates:dist', $.sync(gulp).sync(languageTasks)); +//gulp.task('templates:dist', $.sync(gulp).sync(languageTasks)); +gulp.task('templates:dist', ['templates:en']); // Default Task (Dev environment) gulp.task('default', ['dev'], function() { diff --git a/src/js/entry/web.js b/src/js/entry/web.js index 9eb75dc56..85ba44959 100644 --- a/src/js/entry/web.js +++ b/src/js/entry/web.js @@ -117,6 +117,23 @@ var tabdefs = [ require('../tabs/su.controller.js') ]; +// Language +var lang = (function(){ + var languages = _.pluck(require('../../../l10n/languages.json'), 'code'); + var resolveLanguage = function(lang) { + if (!lang) return null; + if (languages.indexOf(lang) != -1) return lang; + if (lang.indexOf("_") != -1) { + lang = lang.split("_")[0]; + if (languages.indexOf(lang) != -1) return lang; + } + return null; + }; + return resolveLanguage(store.get('ripple_language')) || + resolveLanguage(window.navigator.userLanguage || window.navigator.language) || + 'en'; +})(); + // Prepare tab modules var tabs = tabdefs.map(function (Tab) { var tab = new Tab(); diff --git a/src/templates/index.jade b/src/templates/index.jade index f86fe8b09..2f3ec6e6b 100644 --- a/src/templates/index.jade +++ b/src/templates/index.jade @@ -106,22 +106,6 @@ html(ng-app='rp', ng-controller='AppCtrl', ng-class='[$route.current.tabClass, $ script. window.name = 'NG_DEFER_BOOTSTRAP!'; - var lang = (function(){ - var languages = "".split(" "); - var resolveLanguage = function(lang) { - if (!lang) return null; - if (languages.indexOf(lang) != -1) return lang; - if (lang.indexOf("_") != -1) { - lang = lang.split("_")[0]; - if (languages.indexOf(lang) != -1) return lang; - } - return null; - }; - return resolveLanguage(store.get('ripple_language')) || - resolveLanguage(window.navigator.userLanguage || window.navigator.language) || - 'en'; - })(); - var debug = false; script(type='text/javascript'). From e2ae52d846141f706e323fdc3848440f41152a71 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 16 Apr 2015 19:59:25 +0300 Subject: [PATCH 198/321] [TEST] fix karma tests (RT-3361) use ng-html2js preprocessor to load templates in karma tests --- package.json | 1 + test/karma.conf.js | 16 ++++++++++++++-- test/unit/tabs/exchange.controller.spec.js | 7 +++++-- test/unit/tabs/send.controller.spec.js | 1 + 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index d4793a590..664c08e97 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "karma-firefox-launcher": "~0.1.3", "karma-mocha": "~0.1.3", "karma-sinon-chai": "~0.1.6", + "karma-ng-html2js-preprocessor": "~0.1", "merge-stream": "^0.1.7" } } diff --git a/test/karma.conf.js b/test/karma.conf.js index 421abb3e3..d919963f6 100644 --- a/test/karma.conf.js +++ b/test/karma.conf.js @@ -8,7 +8,8 @@ module.exports = function(config) { 'deps/js/angular-mocks/angular-mocks.js', 'config.js', 'build/dist/js/app.js', - 'test/unit/**/*.js' + 'test/unit/**/*.js', + 'build/dist/templates/**/*.html' ], browsers: ['Chrome', 'Firefox'], @@ -20,7 +21,18 @@ module.exports = function(config) { reporters: ['progress'], preprocessors: { - 'src/js/**/*.js': ['coverage'] + 'src/js/**/*.js': ['coverage'], + 'build/dist/templates/**/*.html': ['ng-html2js'] + }, + + ngHtml2JsPreprocessor: { + // If your build process changes the path to your templates, + // use stripPrefix and prependPrefix to adjust it. + stripPrefix: 'build/dist/', + // prependPrefix: 'build/dist/', + + // the name of the Angular module to create + moduleName: 'my.templates' }, coverageReporter: { diff --git a/test/unit/tabs/exchange.controller.spec.js b/test/unit/tabs/exchange.controller.spec.js index 26f5efb79..b106c8f03 100644 --- a/test/unit/tabs/exchange.controller.spec.js +++ b/test/unit/tabs/exchange.controller.spec.js @@ -1,10 +1,13 @@ 'use strict'; +var lang = 'en'; + describe('ExchangeCtrl', function() { var scope, ctrl, network; + beforeEach(module("my.templates")); beforeEach(module('rp')); - beforeEach(inject(function ($rootScope, $controller, rpNetwork, $compile, $document, rpId) { + beforeEach(inject(function ($rootScope, $controller, rpNetwork, $compile, $document, rpId, $templateCache) { scope = $rootScope.$new(); network = rpNetwork; @@ -39,7 +42,7 @@ describe('ExchangeCtrl', function() { rpId.loginStatus = true; rpId.account = 'r4EwBWxrx5HxYRyisfGzMto3AT8FZiYdWk'; - var templ = angular.element(rippleclient.tabs.exchange.generateHtml()); + var templ = $templateCache.get('templates/en/tabs/exchange.html'); var element = $compile(templ)(scope); scope = element.scope(); })); diff --git a/test/unit/tabs/send.controller.spec.js b/test/unit/tabs/send.controller.spec.js index a4c848e4f..812fc2424 100644 --- a/test/unit/tabs/send.controller.spec.js +++ b/test/unit/tabs/send.controller.spec.js @@ -3,6 +3,7 @@ describe('SendCtrl', function(){ var scope, dependencies, ctrl, network; + beforeEach(module("my.templates")); beforeEach(module("rp")); beforeEach(inject(function($rootScope, $controller, rpNetwork) { scope = $rootScope.$new(); From eb30f11058e70a86c186d5b21553f205c23b3d63 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Fri, 17 Apr 2015 01:47:21 +0300 Subject: [PATCH 199/321] [FIX] fix lang global var make lang global var be explicitly global (after latest build system change it stopped being global) --- src/js/entry/web.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/entry/web.js b/src/js/entry/web.js index 85ba44959..a18f6ec46 100644 --- a/src/js/entry/web.js +++ b/src/js/entry/web.js @@ -118,7 +118,7 @@ var tabdefs = [ ]; // Language -var lang = (function(){ +window.lang = (function(){ var languages = _.pluck(require('../../../l10n/languages.json'), 'code'); var resolveLanguage = function(lang) { if (!lang) return null; From d717aaea7a52826b5e224f32619e871b9fa79270 Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Thu, 16 Apr 2015 18:48:09 +0400 Subject: [PATCH 200/321] [TASK] Trade: confirmation is changing the size of the order container (RT-2834) --- src/less/ripple/tabs/trade.less | 68 ++++- src/templates/tabs/trade.jade | 447 +++++++++++++++++--------------- 2 files changed, 291 insertions(+), 224 deletions(-) diff --git a/src/less/ripple/tabs/trade.less b/src/less/ripple/tabs/trade.less index 1ac87f43f..278abde49 100644 --- a/src/less/ripple/tabs/trade.less +++ b/src/less/ripple/tabs/trade.less @@ -132,6 +132,14 @@ } } + .send-widgets { + form { + .input-group { + border-spacing: 0; + } + } + } + .slash { padding-top: 25px; font-size: 24px; @@ -145,7 +153,7 @@ } .trade-widget { - min-height: 430px; + // min-height: 430px; padding: 15px; border: 1px solid darken(@bg, 10%); background: darken(@bg, 2%); @@ -227,31 +235,56 @@ } .mode-confirm { - text-align: center; - + text-align: left; + font-family: OpenSansLight; + .alert { + margin-bottom: 0; + } .title { margin: 30px 0; } - + label { + font-size: 18px; + margin-bottom: 0 + } + sub { + bottom: 0; + font-size: 14px; + font-family: OpenSansRegular; + } .amount_feedback { - font-size: 30px; - margin: 50px 0 0 0; + font-size: 18px; + margin: 10px 0 0 0; + .ammount-currency { + font-size: 22px; + } } .dest_feedback { font-size: 30px; margin: 0 0 10px 0; + .each-price { + font-size: 22px; + } } .rate_feedback { - margin: 0 0 30px 0; - color: @darkgray; + margin: 0 0 20px 0; font-size: 18px; .pair { margin-left: 5px; font-size: 14px; } + .max-value { + .rate { + font-size: 22px; + } + } + } + .confirm-text { + font-size: 14px; + margin-bottom: 5px; } } @@ -555,3 +588,22 @@ .t-trade header nav ul > .active#nav-advanced > a:after { border-bottom-color: @lightgray; } + +.table { + display: table; + margin: 0; + border-collapse: separate; + border-spacing: 15px 0px; + .grid { + margin-left: -30px; + margin-right: -30px; + } + .table-row { + display: table-row; + .col-cell { + display: table-cell; + vertical-align: top; + float: none; + } + } +} diff --git a/src/templates/tabs/trade.jade b/src/templates/tabs/trade.jade index f243cb594..08aa803cd 100644 --- a/src/templates/tabs/trade.jade +++ b/src/templates/tabs/trade.jade @@ -145,241 +145,256 @@ section.col-xs-12.content(ng-controller="TradeCtrl") p.literal(l10n) You have to be funded before you can trade //- 1. Order widgets - group.row.send-widgets#widgetGroup(ng-show="account.Balance") - .col-xs-12.col-md-6(ng-repeat="type in ['buy','sell']") - .trade-widget(ng-switch="order[type].mode") - .head - span(ng-show="type == 'buy'", l10n) Buy - span.issuer( - ng-hide="order.first_currency.is_native()" - rp-pretty-issuer="order.first_issuer" - rp-pretty-issuer-contacts="userBlob.data.contacts" - rp-pretty-issuer-or-short) - | {{order.first_currency | rpcurrency}} - span(ng-show="type == 'sell'", l10n) Sell - span.issuer( - ng-hide="order.first_currency.is_native()" - rp-pretty-issuer="order.first_issuer" - rp-pretty-issuer-contacts="userBlob.data.contacts" - rp-pretty-issuer-or-short) - | {{order.first_currency | rpcurrency}} - span.available(ng-show="type == 'buy'", l10n) - span.amount - span(ng-show="order.second_currency.is_native()") - | {{account.Balance | rpamount}} XRP - span(ng-hide="order.second_currency.is_native()") - | {{lines[order.second_issuer+order.second_currency.to_json()].balance || "0" | rpamount}} - span( - rp-pretty-issuer="order.second_issuer" + div.row.send-widgets#widgetGroup.table(ng-show="account.Balance") + .grid + .table-row + .col-xs-12.col-md-6.col-cell.trade-widget(ng-repeat="type in ['buy','sell']") + div(ng-switch="order[type].mode") + .head + span(ng-show="type == 'buy'", l10n) Buy + span.issuer( + ng-hide="order.first_currency.is_native()" + rp-pretty-issuer="order.first_issuer" rp-pretty-issuer-contacts="userBlob.data.contacts" rp-pretty-issuer-or-short) - | {{order.second_currency | rpcurrency}} - | available - span.available(ng-show="type == 'sell'", l10n) - span.amount - span(ng-show="order.first_currency.is_native()") - | {{account.Balance | rpamount}} XRP - span(ng-hide="order.first_currency.is_native()") - | {{lines[order.first_issuer+order.first_currency.to_json()].balance || "0" | rpamount}} - span( + | {{order.first_currency | rpcurrency}} + span(ng-show="type == 'sell'", l10n) Sell + span.issuer( + ng-hide="order.first_currency.is_native()" rp-pretty-issuer="order.first_issuer" rp-pretty-issuer-contacts="userBlob.data.contacts" rp-pretty-issuer-or-short) | {{order.first_currency | rpcurrency}} - | available - div(ng-switch-when='trade') - form.mode-form(name="tradeForm", ng-submit='place_order(type)', ng-show="order[type].showWidget") - .row.order-values - .col-xs-12 - .value-field - label(ng-show="type == 'buy'", l10n) Amount To Buy - label(ng-show="type == 'sell'", l10n) Amount To Sell - .input-group - input.form-control(name='amount', type='text' - input-type="{{type}}" - ng-model='order[type].first', ng-change='calc_second(type)' - rp-autofill='$routeParams.type == type && $routeParams.amount' - rp-autofill-amount - rp-amount - rp-amount-positive - rp-amount-xrp-limit - rp-amount-currency="{{order.first_currency}}" - required) - .input-group-addon - | {{order.first_currency | rpcurrency}} - .issuer( - ng-hide="order.first_currency.is_native()" - rp-pretty-issuer="order.first_issuer" - rp-pretty-issuer-contacts="userBlob.data.contacts" - rp-pretty-issuer-or-short) - .errorGroup(ng-messages='tradeForm.amount.$dirty && tradeForm.amount.$error') - .error(ng-message='required', l10n) Required - .error(ng-message='rpAmount', l10n) Not a valid amount. - .error(ng-message='rpAmountPositive', l10n) - | Must be greater than zero - .error(ng-message='rpAmountXrpLimit', l10n) - | Minimum amount of XRP you can send is a drop (0.000001) and the maximum is 100 billion XRPs. - .col-xs-12 - .value-field - label(l10n) Price of Each - .input-group - input.form-control(name='price', type='text' - input-type="{{type}}" - ng-model='order[type].price', ng-change='calc_second(type)' - rp-autofill='$routeParams.type == type && $routeParams.price' - rp-autofill-amount - rp-amount - rp-amount-positive - rp-amount-xrp-limit - rp-amount-currency="{{order.second_currency}}" - required) - .input-group-addon - | {{order.second_currency | rpcurrency}} - .issuer( - ng-hide="order.second_currency.is_native()" - rp-pretty-issuer="order.second_issuer" - rp-pretty-issuer-contacts="userBlob.data.contacts" - rp-pretty-issuer-or-short) - .errorGroup(ng-messages='tradeForm.price.$dirty && tradeForm.price.$error') - .error(ng-message='required', l10n) Required - .error(ng-message='rpAmount', l10n) Not a valid amount. - .error(ng-message='rpAmountPositive', l10n) - | Must be greater than zero - .error(ng-message='rpAmountXrpLimit', l10n) - | Minimum amount of XRP you can send is a drop (0.000001) and the maximum is 100 billion XRPs. - .col-xs-12 - .value-field - label(l10n) Order Value (max) - .input-group - input.form-control(name='value', type='text' - ng-model='order[type].second', ng-change='calc_first(type)' - rp-autofill='$routeParams.type == type && $routeParams.max' - rp-autofill-amount - rp-amount - rp-amount-positive - rp-amount-xrp-limit - rp-amount-currency="{{order.second_currency}}" - required) - .input-group-addon - | {{order.second_currency | rpcurrency}} - .issuer( - ng-hide="order.second_currency.is_native()" - rp-pretty-issuer="order.second_issuer" - rp-pretty-issuer-contacts="userBlob.data.contacts" - rp-pretty-issuer-or-short) - .errorGroup(ng-messages='tradeForm.value.$dirty && tradeForm.value.$error') - .error(ng-message='required', l10n) Required - .error(ng-message='rpAmount', l10n) Not a valid amount. - .error(ng-message='rpAmountPositive', l10n) - | Must be greater than zero - .error(ng-message='rpAmountXrpLimit', l10n) - | Minimum amount of XRP you can send is a drop (0.000001) and the maximum is 100 billion XRPs. - .message - //- Having two very similar blocks just because of - //- translation related issues. (Cannot use the same format for - //- chinese translation) - p(ng-show="tradeForm.$valid && type == 'buy'", l10n) You are wanting to buy - span {{order[type].first_amount | rpamount:{abs_precision: 6} }} {{order[type].first_amount | rpcurrency}} - | for - span {{order[type].second_amount | rpamount:{abs_precision: 6} }} {{order[type].second_amount | rpcurrency}} - | ( - span {{order[type].price_amount | rpamount:{abs_precision: 6} }} {{order[type].second_amount | rpcurrency}} - | per - span {{order[type].first_amount | rpcurrency}} - | ) - p(ng-show="tradeForm.$valid && type == 'sell'", l10n) You are wanting to sell - span {{order[type].first_amount | rpamount:{abs_precision: 6} }} {{order[type].first_amount | rpcurrency}} - | for - span {{order[type].second_amount | rpamount:{abs_precision: 6} }} {{order[type].second_amount | rpcurrency}} - | ( - span {{order[type].price_amount | rpamount:{abs_precision: 6} }} {{order[type].second_amount | rpcurrency}} - | per - span {{order[type].first_amount | rpcurrency}} - | ) - .row.btns-row - .col-xs-12.col-md-6.col-sm-8.btns-wrapper - button.btn.btn-success.btn-block.submit(type='submit', ng-disabled='tradeForm.$invalid', btn-type="{{type}}") - span(ng-show="type == 'buy'", l10n) Buy - span(ng-show="type == 'sell'", l10n) Sell - | {{order.first_currency | rpcurrency}} - span(ng-hide="order.first_currency.is_native()") ( - span.issuer( + span.available(ng-show="type == 'buy'", l10n) + span.amount + span(ng-show="order.second_currency.is_native()") + | {{account.Balance | rpamount}} XRP + span(ng-hide="order.second_currency.is_native()") + | {{lines[order.second_issuer+order.second_currency.to_json()].balance || "0" | rpamount}} + span( + rp-pretty-issuer="order.second_issuer" + rp-pretty-issuer-contacts="userBlob.data.contacts" + rp-pretty-issuer-or-short) + | {{order.second_currency | rpcurrency}} + | available + span.available(ng-show="type == 'sell'", l10n) + span.amount + span(ng-show="order.first_currency.is_native()") + | {{account.Balance | rpamount}} XRP + span(ng-hide="order.first_currency.is_native()") + | {{lines[order.first_issuer+order.first_currency.to_json()].balance || "0" | rpamount}} + span( rp-pretty-issuer="order.first_issuer" rp-pretty-issuer-contacts="userBlob.data.contacts" rp-pretty-issuer-or-short) + | {{order.first_currency | rpcurrency}} + | available + div(ng-switch-when='trade') + form.mode-form(name="tradeForm", ng-submit='place_order(type)', ng-show="order[type].showWidget") + .row.order-values + .col-xs-12 + .value-field + label(ng-show="type == 'buy'", l10n) Amount To Buy + label(ng-show="type == 'sell'", l10n) Amount To Sell + .input-group + input.form-control(name='amount', type='text' + input-type="{{type}}" + ng-model='order[type].first', ng-change='calc_second(type)' + rp-autofill='$routeParams.type == type && $routeParams.amount' + rp-autofill-amount + rp-amount + rp-amount-positive + rp-amount-xrp-limit + rp-amount-currency="{{order.first_currency}}" + required) + .input-group-addon + | {{order.first_currency | rpcurrency}} + .issuer( + ng-hide="order.first_currency.is_native()" + rp-pretty-issuer="order.first_issuer" + rp-pretty-issuer-contacts="userBlob.data.contacts" + rp-pretty-issuer-or-short) + .errorGroup(ng-messages='tradeForm.amount.$dirty && tradeForm.amount.$error') + .error(ng-message='required', l10n) Required + .error(ng-message='rpAmount', l10n) Not a valid amount. + .error(ng-message='rpAmountPositive', l10n) + | Must be greater than zero + .error(ng-message='rpAmountXrpLimit', l10n) + | Minimum amount of XRP you can send is a drop (0.000001) and the maximum is 100 billion XRPs. + .col-xs-12 + .value-field + label(l10n) Price of Each + .input-group + input.form-control(name='price', type='text' + input-type="{{type}}" + ng-model='order[type].price', ng-change='calc_second(type)' + rp-autofill='$routeParams.type == type && $routeParams.price' + rp-autofill-amount + rp-amount + rp-amount-positive + rp-amount-xrp-limit + rp-amount-currency="{{order.second_currency}}" + required) + .input-group-addon + | {{order.second_currency | rpcurrency}} + .issuer( + ng-hide="order.second_currency.is_native()" + rp-pretty-issuer="order.second_issuer" + rp-pretty-issuer-contacts="userBlob.data.contacts" + rp-pretty-issuer-or-short) + .errorGroup(ng-messages='tradeForm.price.$dirty && tradeForm.price.$error') + .error(ng-message='required', l10n) Required + .error(ng-message='rpAmount', l10n) Not a valid amount. + .error(ng-message='rpAmountPositive', l10n) + | Must be greater than zero + .error(ng-message='rpAmountXrpLimit', l10n) + | Minimum amount of XRP you can send is a drop (0.000001) and the maximum is 100 billion XRPs. + .col-xs-12 + .value-field + label(l10n) Order Value (max) + .input-group + input.form-control(name='value', type='text' + ng-model='order[type].second', ng-change='calc_first(type)' + rp-autofill='$routeParams.type == type && $routeParams.max' + rp-autofill-amount + rp-amount + rp-amount-positive + rp-amount-xrp-limit + rp-amount-currency="{{order.second_currency}}" + required) + .input-group-addon + | {{order.second_currency | rpcurrency}} + .issuer( + ng-hide="order.second_currency.is_native()" + rp-pretty-issuer="order.second_issuer" + rp-pretty-issuer-contacts="userBlob.data.contacts" + rp-pretty-issuer-or-short) + .errorGroup(ng-messages='tradeForm.value.$dirty && tradeForm.value.$error') + .error(ng-message='required', l10n) Required + .error(ng-message='rpAmount', l10n) Not a valid amount. + .error(ng-message='rpAmountPositive', l10n) + | Must be greater than zero + .error(ng-message='rpAmountXrpLimit', l10n) + | Minimum amount of XRP you can send is a drop (0.000001) and the maximum is 100 billion XRPs. + .message + //- Having two very similar blocks just because of + //- translation related issues. (Cannot use the same format for + //- chinese translation) + p(ng-show="tradeForm.$valid && type == 'buy'", l10n) You are wanting to buy + span {{order[type].first_amount | rpamount:{abs_precision: 6} }} {{order[type].first_amount | rpcurrency}} + | for + span {{order[type].second_amount | rpamount:{abs_precision: 6} }} {{order[type].second_amount | rpcurrency}} + | ( + span {{order[type].price_amount | rpamount:{abs_precision: 6} }} {{order[type].second_amount | rpcurrency}} + | per + span {{order[type].first_amount | rpcurrency}} + | ) + p(ng-show="tradeForm.$valid && type == 'sell'", l10n) You are wanting to sell + span {{order[type].first_amount | rpamount:{abs_precision: 6} }} {{order[type].first_amount | rpcurrency}} + | for + span {{order[type].second_amount | rpamount:{abs_precision: 6} }} {{order[type].second_amount | rpcurrency}} + | ( + span {{order[type].price_amount | rpamount:{abs_precision: 6} }} {{order[type].second_amount | rpcurrency}} + | per + span {{order[type].first_amount | rpcurrency}} | ) - div(ng-hide="order[type].showWidget") - p.literal(l10n) You do not have sufficient funds to create an order. + .row.btns-row + .col-xs-12.col-md-6.col-sm-8.btns-wrapper + button.btn.btn-success.btn-block.submit(type='submit', ng-disabled='tradeForm.$invalid', btn-type="{{type}}") + span(ng-show="type == 'buy'", l10n) Buy + span(ng-show="type == 'sell'", l10n) Sell + | {{order.first_currency | rpcurrency}} + span(ng-hide="order.first_currency.is_native()") ( + span.issuer( + rp-pretty-issuer="order.first_issuer" + rp-pretty-issuer-contacts="userBlob.data.contacts" + rp-pretty-issuer-or-short) + | ) + div(ng-hide="order[type].showWidget") + p.literal(l10n) You do not have sufficient funds to create an order. - //- 2. Confirmation - form.mode-confirm(ng-switch-when='confirm', ng-submit="order_confirmed(type, order.currency_pair)") - p.title.literal - span(l10n) You are about to create an order to - span(ng-show="type == 'buy'", l10n-inc) buy - span(ng-show="type == 'sell'", l10n-inc) sell + //- 2. Confirmation + form.mode-confirm(ng-switch-when='confirm', ng-submit="order_confirmed(type, order.currency_pair)") + div.alert.alert-warning(ng-show="fatFingerErr") + p(l10n) CAUTION: Your order is far off from the market price. + //- p.title.literal + //- span(l10n) You are about to create an order to + //- span(ng-show="type == 'buy'", l10n-inc) buy + //- span(ng-show="type == 'sell'", l10n-inc) sell .amount_feedback - span.value {{order[type].first_amount | rpamount: {abs_precision: 6} }} - span.issuer( - ng-show="(order[type].first_amount | rpcurrency) !== 'XRP'" - rp-pretty-issuer="order[type].first_amount | rpissuer" - rp-pretty-issuer-contacts="userBlob.data.contacts" - rp-pretty-issuer-or-short) - span.currency {{order[type].first_amount | rpcurrency}} - .literal(l10n-inc) for + label(ng-show="type == 'buy'", l10n) Amount to buy + label(ng-show="type == 'sell'", l10n) Amount to sell + div.ammount-currency + span.value {{order[type].first_amount | rpamount: {abs_precision: 6} }} + //- span.issuer( + //- ng-show="(order[type].first_amount | rpcurrency) !== 'XRP'" + //- rp-pretty-issuer="order[type].first_amount | rpissuer" + //- rp-pretty-issuer-contacts="userBlob.data.contacts" + //- rp-pretty-issuer-or-short) + span.currency + sub {{order[type].first_amount._currency._iso_code}} + //- .literal(l10n-inc) for .dest_feedback - span.value {{order[type].second_amount | rpamount: {abs_precision: 6} }} - span.issuer( - ng-show="(order[type].second_amount | rpcurrency) !== 'XRP'" - rp-pretty-issuer="order[type].second_amount | rpissuer" - rp-pretty-issuer-contacts="userBlob.data.contacts" - rp-pretty-issuer-or-short) - span.currency {{order[type].second_amount | rpcurrency}} - .rate_feedback ( - span.rate {{order[type].price}} - span.pair {{order[type].second_amount | rpcurrency}} per {{order[type].first_amount | rpcurrency}} - | ) - p.literal(l10n-inc) Are you sure? - p.order-warning(ng-show="fatFingerErr", l10n) - | CAUTION: Your order is far off from the current market price. - .row.row-padding-small - .col-xs-6.col-sm-offset-2.col-sm-4.col-md-offset-3.col-md-3 - button.btn.btn-block.btn-default.back(type='button' - ng-click="order[type].mode = 'trade'", l10n) « Back - .col-xs-6.col-sm-4.col-md-3 - button.btn.btn-block.btn-success.submit(type='submit' - ng-disabled='confirm_wait', l10n) Confirm + label(l10n) Price of each + div.each-price + span.value {{order[type].second_amount | rpamount: {abs_precision: 6} }} + sub + span.currency {{order.currency_pair}} + //- span.currency {{order[type].second_amount | rpcurrency}} / + //- span.issuer( + //- ng-show="(order[type].second_amount | rpcurrency) !== 'XRP'" + //- rp-pretty-issuer="order[type].second_amount | rpissuer" + //- rp-pretty-issuer-contacts="userBlob.data.contacts" + //- rp-pretty-issuer-or-short) + //- ( + //- span.rate {{order[type].price}} + //- span.pair {{order[type].second_amount | rpcurrency}} per {{order[type].first_amount | rpcurrency}} + //- | ) + .rate_feedback + label(l10n) Order Value (max) + div.max-value + span.rate {{order[type].price}} + sub.pair {{order[type].second_amount | rpcurrency}} per {{order[type].first_amount | rpcurrency}} + p.literal.confirm-text(l10n-inc) Are you sure? + .row.row-padding-small + .col-xs-6.col-sm-4.col-md-3 + button.btn.btn-block.btn-success.submit(type='submit' + ng-disabled='confirm_wait', l10n) Confirm + .col-xs-6.col-sm-4.col-md-3 + button.btn.btn-block.btn-cancel.back(type='button' + ng-click="order[type].mode = 'trade'", l10n) « Back - //- 3. Sending + //- 3. Sending - group.mode-sending(ng-switch-when='sending') - p.literal - img(src="img/button-s.png", class="loader") - span(class="loading_text", l10n) Sending order to Ripple network... + group.mode-sending(ng-switch-when='sending') + p.literal + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Sending order to Ripple network... - //- 4. Done + //- 4. Done - group.mode-done(ng-switch-when='done') - group.pending(ng-show='tx_result=="pending"') - h2.tx-status(l10n) Your order has been submitted. - group.result-success(ng-show="tx_result=='cleared' && executedOnOfferCreate=='none'") - h2.tx-status(l10n) Your order is now active. - group.result-success(ng-show="tx_result=='cleared' && executedOnOfferCreate=='all'") - h2.tx-status(l10n) Your order has been filled. - group.result-success(ng-show="tx_result=='cleared' && executedOnOfferCreate=='partial'") - h2.tx-status(l10n) Your order has been partially filled. The remaining amount is now active. + group.mode-done(ng-switch-when='done') + group.pending(ng-show='tx_result=="pending"') + h2.tx-status(l10n) Your order has been submitted. + group.result-success(ng-show="tx_result=='cleared' && executedOnOfferCreate=='none'") + h2.tx-status(l10n) Your order is now active. + group.result-success(ng-show="tx_result=='cleared' && executedOnOfferCreate=='all'") + h2.tx-status(l10n) Your order has been filled. + group.result-success(ng-show="tx_result=='cleared' && executedOnOfferCreate=='partial'") + h2.tx-status(l10n) Your order has been partially filled. The remaining amount is now active. - //- 4a. Ripple error page + //- 4a. Ripple error page - group.mode-ripplerror(ng-show='tx_result=="unknown"') - rp-transaction-status( - rp-engine-result="{{engine_result}}" - rp-engine-result-message="{{engine_result_message}}" - rp-accepted="{{engine_status_accepted}}" - rp-current-tab="trade") - - hr - .actionLink - a(href="#trade", ng-click="reset_widget(type)", l10n) Submit another order + group.mode-ripplerror(ng-show='tx_result=="unknown"') + rp-transaction-status( + rp-engine-result="{{engine_result}}" + rp-engine-result-message="{{engine_result_message}}" + rp-accepted="{{engine_status_accepted}}" + rp-current-tab="trade") + + hr + .actionLink + a(href="#trade", ng-click="reset_widget(type)", l10n) Submit another order .my-orders-title(l10n) My Orders span ({{offersCount}}) From 80a010f62d5bc98618f13e566930751faf206f09 Mon Sep 17 00:00:00 2001 From: Dan Quirk Date: Fri, 17 Apr 2015 13:47:37 +0100 Subject: [PATCH 201/321] Issuer on balances incorrect --- src/js/controllers/app.controller.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/js/controllers/app.controller.js b/src/js/controllers/app.controller.js index 79d39524c..afaa6f6f7 100644 --- a/src/js/controllers/app.controller.js +++ b/src/js/controllers/app.controller.js @@ -170,8 +170,8 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, // library upstream. line = $.extend({}, line, { limit: ripple.Amount.from_json({value: line.limit, currency: line.currency, issuer: line.account}), - limit_peer: ripple.Amount.from_json({value: line.limit_peer, currency: line.currency, issuer: account}), - balance: ripple.Amount.from_json({value: line.balance, currency: line.currency, issuer: account}) + limit_peer: ripple.Amount.from_json({value: line.limit_peer, currency: line.currency, issuer: line.account}), + balance: ripple.Amount.from_json({value: line.balance, currency: line.currency, issuer: line.account}) }); $scope.lines[line.account + line.currency] = line; From 1e6797d76ff044f907eb9d4cf197a939a6ee5983 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Mon, 20 Apr 2015 15:27:11 +0300 Subject: [PATCH 202/321] [FIX] move banners to new place move rtjapan.jade and rtjapanrippling.jade to new directory --- src/{jade => templates}/tabs/banner/rtjapan.jade | 0 src/{jade => templates}/tabs/banner/rtjapanrippling.jade | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename src/{jade => templates}/tabs/banner/rtjapan.jade (100%) rename src/{jade => templates}/tabs/banner/rtjapanrippling.jade (100%) diff --git a/src/jade/tabs/banner/rtjapan.jade b/src/templates/tabs/banner/rtjapan.jade similarity index 100% rename from src/jade/tabs/banner/rtjapan.jade rename to src/templates/tabs/banner/rtjapan.jade diff --git a/src/jade/tabs/banner/rtjapanrippling.jade b/src/templates/tabs/banner/rtjapanrippling.jade similarity index 100% rename from src/jade/tabs/banner/rtjapanrippling.jade rename to src/templates/tabs/banner/rtjapanrippling.jade From 91f21f541b5fe63c0738dc114f7d8ae9aff804b1 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Mon, 20 Apr 2015 22:09:39 +0300 Subject: [PATCH 203/321] [TEST] fix e2e login test --- test/selenium/tests-public/LoginRT.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/selenium/tests-public/LoginRT.json b/test/selenium/tests-public/LoginRT.json index 8767cc8f7..9bce8cc7f 100644 --- a/test/selenium/tests-public/LoginRT.json +++ b/test/selenium/tests-public/LoginRT.json @@ -45,8 +45,8 @@ { "type": "clickElement", "locator": { - "type": "xpath", - "value": "//div[@class='mainnav']/div/div[2]/ul[2]/li[4]/a" + "type": "css selector", + "value": ".fa-cog" } }, { From 2a5e78abd2c5aee8e250ae2616f05a185b003282 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Mon, 20 Apr 2015 23:10:47 +0300 Subject: [PATCH 204/321] [TEST] add debug output to serve:dist --- gulpfile.js | 3 ++- package.json | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/gulpfile.js b/gulpfile.js index 3edb141ba..41d312beb 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -114,7 +114,8 @@ gulp.task('serve:dist', function() { '!\\.html|\\.js|\\.css|\\.png|\\.jpg|\\.gif|\\.svg|\\.txt|\\.eot|\\.woff|\\.woff2|\\.ttf$ /index.html [L]' ]) ] - } + }, + middleware: require("connect-logger")() }); }); diff --git a/package.json b/package.json index 4b4df338d..5aff072f2 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "browser-sync": "^2.2.3", "chai": "~1.9.1", "chai-as-promised": "~4.1.1", + "connect-logger": "0.0.1", "connect-modrewrite": "^0.7.11", "coveralls": "^2.11.2", "del": "^1.1.1", From 905fad88d9b5429a507ee3231f7bef3720e05a68 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 21 Apr 2015 04:19:14 +0300 Subject: [PATCH 205/321] [FIX] fix travis build remove inject:css from index.jade it is not used, but somehow interferes with useref, but only on ubuntu --- src/templates/index.jade | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/templates/index.jade b/src/templates/index.jade index 2f3ec6e6b..b7bd7d15a 100644 --- a/src/templates/index.jade +++ b/src/templates/index.jade @@ -32,10 +32,8 @@ html(ng-app='rp', ng-controller='AppCtrl', ng-class='[$route.current.tabClass, $ link(rel='icon', sizes='128x128', href='/img/mobile/icon128.png') meta(name='viewport', content='width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no') // build:css /css/web.css - // inject:css link(href='../../res/fonts/stylesheet.css', rel='stylesheet') link(href='../dev/css/web.css', rel='stylesheet') - // endinject // endbuild // FAVICON link(rel='shortcut icon', href='/img/favicon.ico', type='image/x-icon') From 382458e3b7e44ea632330cca996b04e148ec247d Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 21 Apr 2015 02:56:25 +0300 Subject: [PATCH 206/321] [FIX] Btc2ripple: show appropriate error(RT-3334) Btc2ripple: show appropriate error message when you've already signed up for btc2ripple using another email address --- src/js/tabs/btc.controller.js | 15 +++++++++++---- src/templates/tabs/btc.jade | 7 ++++++- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/js/tabs/btc.controller.js b/src/js/tabs/btc.controller.js index fbb2c7459..3dd8a6dfa 100644 --- a/src/js/tabs/btc.controller.js +++ b/src/js/tabs/btc.controller.js @@ -21,6 +21,7 @@ BtcTab.prototype.angular = function (module) $scope.showInstructions = false; $scope.btcConnected = false; $scope.emailError = false; + $scope.generalError = false; $scope.toggle_instructions = function () { $scope.showInstructions = !$scope.showInstructions; @@ -28,6 +29,7 @@ BtcTab.prototype.angular = function (module) $scope.openPopup = function () { $scope.emailError = false; + $scope.generalError = false; rpTracker.track('B2R Show Connect'); }; @@ -50,14 +52,14 @@ BtcTab.prototype.angular = function (module) fields.rippleAddress = id.account; fields.email = $scope.userBlob.data.email; - + keychain.requestSecret(id.account, id.username, function (err, secret) { if (err) { console.log("client: trust profile: error while " + "unlocking wallet: ", err); $scope.mode = "error"; $scope.error_type = "unlockFailed"; - + return; } @@ -73,9 +75,14 @@ BtcTab.prototype.angular = function (module) $scope.B2RApp.findProfile('account').signup(fields, function (err, response) { if (err) { console.log('Error', err); - $scope.emailError = true; + if (err && err.message == 'E-mail address is not accepted') { + $scope.load_notification('emailError'); + $scope.emailError = true; + } else { + $scope.load_notification('error'); + $scope.generalError = true; + } $scope.btcConnected = false; - $scope.load_notification('error'); rpTracker.track('B2R SignUp', { result: 'failed', diff --git a/src/templates/tabs/btc.jade b/src/templates/tabs/btc.jade index 96af6ce13..62f3c1ab3 100644 --- a/src/templates/tabs/btc.jade +++ b/src/templates/tabs/btc.jade @@ -25,6 +25,8 @@ section.col-xs-12.content(ng-controller='BtcCtrl') group.result-error(ng-switch-when="error") h2.tx-status(l10n) There was an error with your request. p(l10n) Please try again later. + group.result-error(ng-switch-when="emailError") + h2.tx-status(l10n) There was an error with your request. .row(ng-show='connected') .col-sm-3 @@ -94,9 +96,12 @@ section.col-xs-12.content(ng-controller='BtcCtrl') .description(ng-hide="btcConnected") i.fa.fa-times span(l10n) Not connected - span.error(ng-show="emailError", l10n) + span.error(ng-show="generalError", l10n) | SnapSwap's btc2ripple service is currently unavailable. | Please check back later. + span.error(ng-show="emailError", l10n) + | You’ve already used this email address to generate a bitcoin receiving address in Ripple Trade. + | Please contact support@btc2ripple.com if you want to use this Ripple Trade account instead. .row(ng-show="btcConnected && showInstructions") .instructions.col-md-10 //a.dismiss#hide(href="", ng-click="toggle_instructions()") × From c06822fc4c8f23518298d1c9aa6f040ac32d8285 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Mon, 20 Apr 2015 23:36:52 +0300 Subject: [PATCH 207/321] [FIX] fix sending without confirmation (RT-3337) fix sending when "Send confirmation settings" set to Hide --- src/js/tabs/send.controller.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/js/tabs/send.controller.js b/src/js/tabs/send.controller.js index 58e2b9607..d951d374d 100644 --- a/src/js/tabs/send.controller.js +++ b/src/js/tabs/send.controller.js @@ -929,7 +929,7 @@ SendTab.prototype.angular = function (module) /** * N3. Confirmation page */ - $scope.send_prepared = function () { + $scope.send_prepared = function() { // check if paths are available, if not then it is a direct send $scope.send.indirect = $scope.send.alt ? $scope.send.alt.paths.length : false; @@ -956,10 +956,10 @@ SendTab.prototype.angular = function (module) } rpTracker.track('Send confirmation page', { - 'Currency': $scope.send.currency_code, + Currency: $scope.send.currency_code, 'Address Type': $scope.send.federation ? 'federation' : 'ripple', 'Destination Tag': !!$scope.send.dt, - 'Address': $scope.userBlob.data.account_id + Address: $scope.userBlob.data.account_id }); if (Options.confirmation.send) { @@ -978,7 +978,18 @@ SendTab.prototype.angular = function (module) cleanPasswordUpdater(); }); } else { - $scope.send_confirmed(); + if (!keychain.isUnlocked(id.account)) { + keychain.requestSecret(id.account, id.username, function (err, secret) { + if (err) { + console.log(err); + return; + } + $scope.send.secret = secret; + $scope.send_confirmed(); + }); + } else { + $scope.send_confirmed(); + } } }; From 167a69d5ea11e9341ed1423d62fab94e72adf3af Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Mon, 20 Apr 2015 00:20:19 +0300 Subject: [PATCH 208/321] [FIX] fix version string inside html remove whitespaces and newlines from version string in dev version (that version string goes to into transaction as memo field and transaction gets reject because of invalid characters) --- gulpfile.js | 6 ++++-- src/templates/index.jade | 8 +------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 41d312beb..3e3b4e0cb 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -156,7 +156,8 @@ gulp.task('preprocess:dev', ['gitVersion'], function() { context: { MODE: 'dev', VERSION: meta.gitVersion, - VERSIONBRANCH: meta.gitVersionBranch + VERSIONBRANCH: meta.gitVersionBranch, + VERSIONFULL: meta.gitVersion + '-' + meta.gitVersionBranch } })) .pipe(gulp.dest(buildDirPath + '/dev/')) @@ -169,7 +170,8 @@ gulp.task('preprocess:dist', ['gitVersion'], function() { context: { MODE: 'dist', VERSION: meta.gitVersion, - VERSIONBRANCH: meta.gitVersionBranch + VERSIONBRANCH: meta.gitVersionBranch, + VERSIONFULL: meta.gitVersion } })) .pipe(gulp.dest(buildDirPath + '/dist/')) diff --git a/src/templates/index.jade b/src/templates/index.jade index b7bd7d15a..7575a5f79 100644 --- a/src/templates/index.jade +++ b/src/templates/index.jade @@ -50,13 +50,7 @@ html(ng-app='rp', ng-controller='AppCtrl', ng-class='[$route.current.tabClass, $ #appLoading img.loader(src='img/main.png', alt='', title='') // VERSION - #version - // @echo VERSION - // @if MODE == 'dev' !> - [unprocessed] #noWebSockets p We apologize, but the Ripple Client needs JavaScript and WebSockets in order to function. br From 5117ce520f46ca6e0a82bf9125195e4eb7c7f07e Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Mon, 20 Apr 2015 00:09:37 +0300 Subject: [PATCH 209/321] [FIX] Trade: reset widgets (RT-3279) After placing order, if you switch to another orderbook, the "Your order is now active." now go away --- src/js/tabs/trade.controller.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/js/tabs/trade.controller.js b/src/js/tabs/trade.controller.js index 4ecc893f9..9070f7808 100644 --- a/src/js/tabs/trade.controller.js +++ b/src/js/tabs/trade.controller.js @@ -474,6 +474,8 @@ TradeTab.prototype.angular = function(module) //updateMRU(); if(changedPair) { $scope.load_orderbook = true; + $scope.reset_widget('buy', true); + $scope.reset_widget('sell', true); } return changedPair; }; @@ -1377,6 +1379,9 @@ TradeTab.prototype.angular = function(module) } $scope.load_orderbook = true; + $scope.reset_widget('buy', true); + $scope.reset_widget('sell', true); + updateSettings(); resetIssuers(false); //updateMRU(); From ce60580b8538a5aa021c83ba8c1f82336b5bdfdf Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Sun, 19 Apr 2015 18:13:57 +0300 Subject: [PATCH 210/321] [FIX] trade: fix error checking error object not always have 'engine_result' field in it --- src/js/tabs/trade.controller.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/js/tabs/trade.controller.js b/src/js/tabs/trade.controller.js index 4ecc893f9..d6e12f7b5 100644 --- a/src/js/tabs/trade.controller.js +++ b/src/js/tabs/trade.controller.js @@ -762,11 +762,11 @@ TradeTab.prototype.angular = function(module) * Handle transaction result */ function setEngineStatus(res, accepted, type) { - $scope.engine_result = res.engine_result; - $scope.engine_result_message = res.engine_result_message; + $scope.engine_result = res.engine_result || 'tem'; + $scope.engine_result_message = res.engine_result_message || (res.remote && res.remote.error_exception); $scope.engine_status_accepted = accepted; - if (res.engine_result.slice(0, 3) === 'tes') { + if (res.engine_result && res.engine_result.slice(0, 3) === 'tes') { $scope.tx_result = accepted ? 'cleared' : 'pending'; } else { $scope.tx_result = 'unknown'; From 39e9426f2fbf27905e66ac71a02c9d7c12bd1548 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Sat, 18 Apr 2015 02:21:28 +0300 Subject: [PATCH 211/321] [FIX] keychain: use the $templateRequest(RT-3358) keychain: use the html template using the angular $templateRequest instead of jade --- src/js/services/keychain.service.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/js/services/keychain.service.js b/src/js/services/keychain.service.js index 8536088f2..4d717faa0 100644 --- a/src/js/services/keychain.service.js +++ b/src/js/services/keychain.service.js @@ -15,8 +15,8 @@ var webutil = require('../util/web'), var module = angular.module('keychain', ['popup']); module.factory('rpKeychain', ['$rootScope', '$timeout', 'rpPopup', 'rpId', - '$interval', - function ($scope, $timeout, popup, id, $interval) + '$interval', '$templateRequest', + function ($scope, $timeout, popup, id, $interval, $templateRequest) { var Keychain = function () { @@ -112,7 +112,10 @@ module.factory('rpKeychain', ['$rootScope', '$timeout', 'rpPopup', 'rpId', // esc button if ($event.which === 27) popupScope.cancel(); }; - popup.blank(require('../../templates/popup/unlock.jade')(), popupScope); + + $templateRequest('templates/' + lang + '/popup/unlock.html', false).then(function(template) { + popup.blank(template, popupScope); + }); }; /** From 69d9b41fbf3488cca7c9964f0e954c97a734eec4 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Sat, 18 Apr 2015 02:06:06 +0300 Subject: [PATCH 212/321] [FIX] Trade: "modify order" load html (RT-3359) Trade: "modify order" load html using templateCache instead of require jade --- src/js/tabs/trade.controller.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/js/tabs/trade.controller.js b/src/js/tabs/trade.controller.js index 4ecc893f9..2e9b725bb 100644 --- a/src/js/tabs/trade.controller.js +++ b/src/js/tabs/trade.controller.js @@ -33,12 +33,12 @@ TradeTab.prototype.angular = function(module) TradeCtrl.$inject = ['rpBooks', '$scope', 'rpId', 'rpNetwork', '$routeParams', '$location', '$filter', 'rpTracker', 'rpKeychain', '$rootScope', - 'rpPopup', '$anchorScroll', '$timeout']; + 'rpPopup', '$anchorScroll', '$timeout', '$templateRequest']; function TradeCtrl(books, $scope, id, network, $routeParams, $location, $filter, rpTracker, keychain, $rootScope, - popup, $anchorScroll, $timeout) + popup, $anchorScroll, $timeout, $templateRequest) { var timer; @@ -752,7 +752,10 @@ TradeTab.prototype.angular = function(module) popupScope.$destroy(); }; - popup.blank(require('../../templates/popup/modifyOrderError.jade')(), popupScope); + $templateRequest('templates/' + lang + '/popup/modifyOrderError.html', false).then(function(template) { + popup.blank(template, popupScope); + }); + return true; } else return false; From 03b46893044b099337ffd590734a17843f05a78f Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Fri, 17 Apr 2015 15:58:17 +0300 Subject: [PATCH 213/321] [FIX] app.controller: load myOrders.html(RT-3356) load myOrders.html instead of myOrders.jade using angular templateCache --- src/js/controllers/app.controller.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/js/controllers/app.controller.js b/src/js/controllers/app.controller.js index 79d39524c..0fcd56ef0 100644 --- a/src/js/controllers/app.controller.js +++ b/src/js/controllers/app.controller.js @@ -16,10 +16,10 @@ angular .controller('AppCtrl', AppCtrl); AppCtrl.$inject = ['$rootScope', 'rpId', 'rpNetwork', 'rpKeychain', 'rpTxQueue', - 'rpAppManager', 'rpTracker', '$timeout', 'rpHistory']; + 'rpAppManager', 'rpTracker', '$timeout', 'rpHistory', '$templateRequest']; function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, - $timeout, rpHistory) + $timeout, rpHistory, $templateRequest) { reset(); @@ -658,10 +658,11 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, ]; // load strings from jade template - var ordersStringsHtml = $(require('../../templates/strings/myOrders.jade')()); - _.each($scope.ordersSortFieldChoices, function(element, index) { - var localisedNameText = ordersStringsHtml.find('#' + element.value).text(); - element.name = localisedNameText; + $templateRequest('templates/' + lang + '/strings/myOrders.html', true).then(function(ordersStringsHtml) { + _.each($scope.ordersSortFieldChoices, function(element, index) { + var localisedNameText = ordersStringsHtml.find('#' + element.value).text(); + element.name = localisedNameText; + }); }); $scope.ordersSortFieldChoicesKeyed = {}; From a49edc3dfd1e7a55d95c7bc4ba725b1701e90984 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 14 Apr 2015 06:36:06 +0300 Subject: [PATCH 214/321] [FIX] Advanced trade: fix values calculations Do not convert amount and order values to number when assigning to input - because chrome and IE shows big/small numbers in input in scientific notation use "replace(/,/g, '')" on result of "to_text_full()" until ripple lib fixed - "to_text_full()" returns string with group separator --- src/js/tabs/trade.controller.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/js/tabs/trade.controller.js b/src/js/tabs/trade.controller.js index 4ecc893f9..5b5b2e769 100644 --- a/src/js/tabs/trade.controller.js +++ b/src/js/tabs/trade.controller.js @@ -396,14 +396,15 @@ TradeTab.prototype.angular = function(module) $scope.fill_widget = function (type, order, sum) { $scope.reset_widget(type); - $scope.order[type].price = order.price.to_human().replace(',',''); + $scope.order[type].price = order.price.to_human({group_sep: false}); if (sum) { - $scope.order[type].first = order.sum.to_human().replace(',',''); + $scope.order[type].first = order.sum.to_human({group_sep: false}); $scope.calc_second(type); } scrollToElement('widgetGroup'); }; + function scrollToElement(element) { var el = document.getElementById(element); var yPos = el.getClientRects()[0].top; @@ -416,6 +417,7 @@ TradeTab.prototype.angular = function(module) } },5); } + /** * Happens when user clicks on 'Place Order' button. * @@ -814,7 +816,7 @@ TradeTab.prototype.angular = function(module) if (type === 'buy') bestPrice = $scope.bookShow.bids[0].showPrice; else if (type === 'sell') bestPrice = $scope.bookShow.asks[0].showPrice; - bestPrice = +bestPrice.replace(',',''); + bestPrice = +bestPrice.replace(/,/g, ''); return (bestPrice && (price > (bestPrice * fatFingerMarginMultiplier) || @@ -834,7 +836,7 @@ TradeTab.prototype.angular = function(module) if (order.price_amount && order.price_amount.is_valid() && order.first_amount && order.first_amount.is_valid()) { order.second_amount = order.price_amount.product_human(order.first_amount); - order.second = +order.second_amount.to_human({group_sep: false}); + order.second = order.second_amount.to_human({group_sep: false}); } }; @@ -852,15 +854,16 @@ TradeTab.prototype.angular = function(module) order.second_amount && order.second_amount.is_valid()) { if (!order.price_amount.is_native()) { - var price = order.price_amount.to_human(); + var price = order.price_amount.to_human({group_sep: false}); var currency = order.price_amount.currency().to_json(); var issuer = order.price_amount.issuer().to_json(); - order.first_amount = Amount.from_json(order.second_amount.to_text_full()).ratio_human(Amount.from_json(price + '/' + currency + '/' + issuer), {reference_date: new Date()}); + // use replace(/,/g,'') until ripple lib fixed + order.first_amount = Amount.from_json(order.second_amount.to_text_full().replace(/,/g, '')).ratio_human(Amount.from_json(price + '/' + currency + '/' + issuer), {reference_date: new Date()}); } else { - order.first_amount = Amount.from_json(order.second_amount.to_text_full()).ratio_human(Amount.from_json(order.price_amount.to_text()), {reference_date: new Date()}); + order.first_amount = Amount.from_json(order.second_amount.to_text_full().replace(/,/g, '')).ratio_human(Amount.from_json(order.price_amount.to_text()), {reference_date: new Date()}); } - order.first = +order.first_amount.to_human({group_sep: false}); + order.first = order.first_amount.to_human({group_sep: false}); } }; From 1638c46a6bce8c260719236dea1cbf25c095c7cd Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Fri, 10 Apr 2015 04:59:37 +0300 Subject: [PATCH 215/321] [FIX] fix "-0.00" balance (RT-3344) after selling all IOU balance was zero but negative, fix that --- src/js/util/jsonrewriter.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/js/util/jsonrewriter.js b/src/js/util/jsonrewriter.js index f2a298258..a5fdd1888 100644 --- a/src/js/util/jsonrewriter.js +++ b/src/js/util/jsonrewriter.js @@ -497,6 +497,10 @@ var JsonRewriter = module.exports = { ? ripple.Amount.from_json(node.fields.Balance).negate(true) : ripple.Amount.from_json(node.fields.Balance); + if (effect.balance.is_zero() && effect.balance.is_negative()) { + effect.balance = effect.balance.negate(true); + } + if (obj.transaction && obj.transaction.type === 'trust_change_balance') { obj.transaction.balance = effect.balance; } From 6fac518aff4920452c53a03fd28fabb5d35526cf Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 9 Apr 2015 19:44:12 +0300 Subject: [PATCH 216/321] [FIX] Trade: fix trade pairs order edit (RT-3343) Fix editing trade pairs order. Clean trade pairs list - remove $$hashKey, remove duplicates. Check trade pair before adding. --- src/js/services/id.service.js | 21 +++++++++++++++++ src/js/tabs/settingstrade.controller.js | 31 +++++-------------------- src/js/tabs/trade.controller.js | 10 +++++--- src/templates/tabs/settingstrade.jade | 2 +- 4 files changed, 35 insertions(+), 29 deletions(-) diff --git a/src/js/services/id.service.js b/src/js/services/id.service.js index efe94d7c4..4176e35d7 100644 --- a/src/js/services/id.service.js +++ b/src/js/services/id.service.js @@ -198,6 +198,27 @@ module.factory('rpId', ['$rootScope', '$location', '$route', '$routeParams', '$t $scope.userBlob.unset('/trade_currency_pairs'); } + var tradeCurrencyPairs = settings.getSetting($scope.userBlob, 'trade_currency_pairs', []); + if (_.isArray(tradeCurrencyPairs) && tradeCurrencyPairs.length > 0) { + var changed = false; + if (_.find(tradeCurrencyPairs, _.partial(_.has, _, '$$hashKey'))) { + // clear $$hashKey + tradeCurrencyPairs = angular.fromJson(angular.toJson(tradeCurrencyPairs)); + changed = true; + } + var tradeCurrencyPairsUniq = _.uniq(tradeCurrencyPairs, false, function(o) { + return o.name; + }); + if (tradeCurrencyPairsUniq.length !== tradeCurrencyPairs.length) { + tradeCurrencyPairs = tradeCurrencyPairsUniq; + changed = true; + } + + if (changed) { + $scope.userBlob.set('/clients/rippletradecom/trade_currency_pairs', tradeCurrencyPairs); + } + } + if (_.has(d, 'txQueue')) { $scope.userBlob.set('/clients/rippletradecom/txQueue', d.txQueue); $scope.userBlob.unset('/txQueue'); diff --git a/src/js/tabs/settingstrade.controller.js b/src/js/tabs/settingstrade.controller.js index 6ab493756..97b0b04e2 100644 --- a/src/js/tabs/settingstrade.controller.js +++ b/src/js/tabs/settingstrade.controller.js @@ -8,8 +8,7 @@ var util = require('util'), settings = require('../util/settings'), Tab = require('../client/tab').Tab; -var SettingsTradeTab = function () -{ +var SettingsTradeTab = function() { Tab.call(this); }; @@ -24,9 +23,6 @@ SettingsTradeTab.prototype.angular = function(module) { SettingsTradeCtrl.$inject = ['$scope', '$timeout']; function SettingsTradeCtrl($scope, $timeout) { - var dirty = false, - saveTimeout; - if ($scope.userBlob.data && $scope.userCredentials.username) { $scope.pairs = settings.getSetting($scope.userBlob, 'trade_currency_pairs'); } else { @@ -40,8 +36,7 @@ SettingsTradeTab.prototype.angular = function(module) { $scope.deletePair = function(index){ for (var i = 0; i < $scope.pairs.length; i++) { - if ($scope.pairs[i].$$hashKey === this.entry.$$hashKey) { - saveTradePairs(); + if ($scope.pairs[i].name === this.entry.name) { $scope.userBlob.unset('/clients/rippletradecom/trade_currency_pairs/' + index); return; } @@ -50,26 +45,12 @@ SettingsTradeTab.prototype.angular = function(module) { $scope.dragControlListeners = { orderChanged: function(event) { - dirty = true; - if (saveTimeout) { - $timeout.cancel(saveTimeout); - } - saveTimeout = $timeout(saveTradePairs, 2000); + var sourceObj = _.clone($scope.pairs[event.source.index]); + var destObj = _.clone($scope.pairs[event.dest.index]); + $scope.userBlob.set('/clients/rippletradecom/trade_currency_pairs/' + event.source.index, sourceObj); + $scope.userBlob.set('/clients/rippletradecom/trade_currency_pairs/' + event.dest.index, destObj); } }; - - $scope.$on('$destroy', saveTradePairs); - - function saveTradePairs() { - if (dirty) { - $timeout.cancel(saveTimeout); - saveTimeout = null; - // clear $$hashKey - var pairs = angular.fromJson(angular.toJson($scope.pairs)); - $scope.userBlob.set('/clients/rippletradecom/trade_currency_pairs', pairs); - dirty = false; - } - } } }; diff --git a/src/js/tabs/trade.controller.js b/src/js/tabs/trade.controller.js index 4ecc893f9..b11ec1586 100644 --- a/src/js/tabs/trade.controller.js +++ b/src/js/tabs/trade.controller.js @@ -927,7 +927,7 @@ TradeTab.prototype.angular = function(module) } }); - $scope.open_custom_currency_selector = function () { + $scope.open_custom_currency_selector = function() { $scope.first_currency_selected = ''; $scope.first_issuer_selected = ''; $scope.second_currency_selected = ''; @@ -935,14 +935,18 @@ TradeTab.prototype.angular = function(module) $scope.adding_pair = true; } - $scope.add_pair = function () { + $scope.add_pair = function() { var formattedIssuerFirst = $scope.first_currency_selected === 'XRP' ? '' : '.' + $scope.first_issuer_selected; var formattedIssuerSecond = $scope.second_currency_selected === 'XRP' ? '' : '.' + $scope.second_issuer_selected; + if (($scope.second_currency_selected !== 'XRP' && ($scope.second_issuer_selected == null || $scope.second_issuer_selected === '')) || + ($scope.first_currency_selected !== 'XRP' && ($scope.first_issuer_selected == null || $scope.first_issuer_selected === ''))) { + // this could happen if gate is not validated + return; + } $scope.order.currency_pair = $scope.first_currency_selected + formattedIssuerFirst + '/' + $scope.second_currency_selected + formattedIssuerSecond; $scope.userBlob.unshift('/clients/rippletradecom/trade_currency_pairs', { name: $scope.order.currency_pair }); - $scope.userBlob.set('/clients/rippletradecom/trade_currency_pairs', $scope.pairs_query); $scope.adding_pair = false; }; diff --git a/src/templates/tabs/settingstrade.jade b/src/templates/tabs/settingstrade.jade index e42147b5b..d18c2754d 100644 --- a/src/templates/tabs/settingstrade.jade +++ b/src/templates/tabs/settingstrade.jade @@ -22,7 +22,7 @@ section.col-xs-12.content(ng-controller="SettingsTradeCtrl") | section. div(ng-if="pairs") div(as-sortable="dragControlListeners", ng-model="pairs") - div.pair(ng-repeat="entry in pairs", as-sortable-item) + div.pair(ng-repeat="entry in pairs track by entry.name", as-sortable-item) .col-xs-12(as-sortable-item-handle) i.grip span.description(ng-bind="entry.name") From f42d4228e0ec96808b24937c3e09a5ba7c787c3d Mon Sep 17 00:00:00 2001 From: Malika Date: Mon, 20 Apr 2015 12:08:12 -0700 Subject: [PATCH 217/321] [FIX] Network fee warning when max fee set to 1 XRP (RT-3326) --- src/js/controllers/navbar.controller.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/js/controllers/navbar.controller.js b/src/js/controllers/navbar.controller.js index c3fbe6436..2908d444c 100644 --- a/src/js/controllers/navbar.controller.js +++ b/src/js/controllers/navbar.controller.js @@ -38,10 +38,10 @@ module.controller('NavbarCtrl', ['$scope', '$element', '$compile', 'rpId', $scope.serverStatus = 'disconnected'; } else if ($scope.connected && $scope.fee) { - if ((ripple.Amount.from_json($scope.fee).to_human() > Options.low_load_threshold) && ($scope.fee < Options.max_tx_network_fee)) { + if ((parseFloat(ripple.Amount.from_json($scope.fee).to_human()) > parseFloat(Options.low_load_threshold)) && (parseFloat($scope.fee) < parseFloat(Options.max_tx_network_fee))) { $scope.serverLoad = 'mediumLoad'; $scope.serverStatus = 'mediumLoad'; - } else if ($scope.fee >= Options.max_tx_network_fee) { + } else if (parseFloat($scope.fee) >= parseFloat(Options.max_tx_network_fee)) { $scope.serverLoad = 'highLoad'; $scope.serverStatus = 'highLoad'; } else { From 270484416f2090061ab93b5ebd6260b0dd23d60d Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Wed, 22 Apr 2015 04:19:43 +0300 Subject: [PATCH 218/321] [TEST] fix e2e tests make them work in chrome and safari "SendUSD" test use second testing account --- .travis.yml | 3 +++ test/selenium/tests-private/SendLimits.json | 8 +++++++ test/selenium/tests-private/SendUSD.json | 12 ++++++++-- test/selenium/tests-private/TradeNonXRP.json | 16 +++++++++++++ .../tests-private/TradePairsName.json | 24 +++++++++++++++++++ 5 files changed, 61 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index be4d9ae76..f87ef66c9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -45,4 +45,7 @@ env: - SAUCE_ACCESS_KEY=1553f141-1258-4319-b20d-7743def99fbb - secure: "g+bSaoKAx6YQTVof5kUBdWx/REaKzqzkP+CQqsU6Whx+rp9juOtJGNtfH++PaWP1hSslRJi2Ib+9+/EU6CXzLE6IlwLHcnBikexeeF28kEivwRqxosLERLQ0axk8VGw324kgUDG1DsJNKxZFPq+LlXkPcF5eVta+BcSz5BO2ygs=" - secure: "BIFtSHbHke2SfyhCTjnSVwkQ3g8aGGV9ZR+tTSFQmp5RVMPEPTy0eiLx4qk+D/UTnJztQSqrtecVvhIa1iHtkwqecyS3/Hjs5h3F9pHNVdL5njk+sMcI4qL63ijpSG3j41jG81SHiCUi86u0FpGtrYzUaSBVe/DWEKwyXmYMlrM=" + - secure: "Evu2xM7r/up6jlpbMhG/tiDsXTNwsU9aoaiKieggQaSexWzQbMKB3xh/NqiGUYeKR8VVrmDxRmy1Ym5eTdK1Pca6JGXOEhUudI3xqMC/2ttXcUGwsLSpSoB1w5zOwg5O0CnSRGlwvCrh8jj2viIwbOWvCcTcf6QBsN6ro10UOJI=" + - secure: "dT8RdQjiwlYtic/55lZFQLEJwawnk+6O4W7gJCYZ1/PBDO7KlKz+3u0ODLC3H9vgAqQBL2m2pPtn4uFPyL7n8hscuzBbMolv6pPlAcj+AzMEfINrHJoDAkHcRR8RtityB+X82uh/KVY2lKNjfZoiiFUZwUP0DmVfKJCBQYg+uwU=" + # - secure: "VJFHj5fr46Qf7h34xa/W6FmGvknPH57eQLJoEjKlZUYn0EGx9EliCdENfzAbtr3e4GnNvQh6X2bLA/lB7TRzoD84oyGkllkMayevQm/dViJbUBQsl7HOa6VwUwugW+o7T3+vPM4y5qqFv1B/fs3Fthl+eKUatccy9qK4xra1Hso=" diff --git a/test/selenium/tests-private/SendLimits.json b/test/selenium/tests-private/SendLimits.json index 29a9d2003..e1fec98ae 100644 --- a/test/selenium/tests-private/SendLimits.json +++ b/test/selenium/tests-private/SendLimits.json @@ -68,6 +68,14 @@ "value": "send_amount_currency" } }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, { "type": "setElementText", "locator": { diff --git a/test/selenium/tests-private/SendUSD.json b/test/selenium/tests-private/SendUSD.json index 7baa08d93..076dc58bf 100644 --- a/test/selenium/tests-private/SendUSD.json +++ b/test/selenium/tests-private/SendUSD.json @@ -17,7 +17,7 @@ "type": "id", "value": "login_username" }, - "text": "${FUNDED_USER_NAME}" + "text": "${FUNDED_USER_NAME2}" }, { "type": "setElementText", @@ -25,7 +25,7 @@ "type": "id", "value": "login_password" }, - "text": "${FUNDED_USER_PASSWORD}" + "text": "${FUNDED_USER_PASSWORD2}" }, { "type": "clickElement", @@ -68,6 +68,14 @@ "value": "send_amount_currency" } }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, { "type": "setElementText", "locator": { diff --git a/test/selenium/tests-private/TradeNonXRP.json b/test/selenium/tests-private/TradeNonXRP.json index 6e20e61f3..b44c09248 100644 --- a/test/selenium/tests-private/TradeNonXRP.json +++ b/test/selenium/tests-private/TradeNonXRP.json @@ -189,6 +189,14 @@ "value": "edit" } }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, { "type": "setElementText", "locator": { @@ -238,6 +246,14 @@ "value": "edit" } }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, { "type": "setElementText", "locator": { diff --git a/test/selenium/tests-private/TradePairsName.json b/test/selenium/tests-private/TradePairsName.json index ecee55c62..45ac2e03d 100644 --- a/test/selenium/tests-private/TradePairsName.json +++ b/test/selenium/tests-private/TradePairsName.json @@ -105,6 +105,14 @@ }, "text": "XRP" }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, { "type": "clickElement", "locator": { @@ -127,6 +135,14 @@ "type": "waitForTextPresent", "text": "EUR.~Bitstamp/XRP" }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, { "type": "clickElement", "locator": { @@ -134,11 +150,19 @@ "value": "//div[@class='section']//span[.='remove']" } }, + { + "type": "pause", + "waitTime": "5000" + }, { "type": "waitForTextPresent", "text": "EUR.~Bitstamp/XRP", "negated": true }, + { + "type": "pause", + "waitTime": "8000" + }, { "type": "clickElement", "locator": { From 675690ab6b29bcbff5a72d41d431f45346a6e7d5 Mon Sep 17 00:00:00 2001 From: Yong-Soo Chung Date: Wed, 22 Apr 2015 11:46:59 -0700 Subject: [PATCH 219/321] [FIX] Incoming trust: Remove button now shows properly, rippling is disabled for incoming trusts with a balance (RT-3371) --- src/js/tabs/trust.controller.js | 6 ++++-- src/templates/tabs/trust.jade | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/js/tabs/trust.controller.js b/src/js/tabs/trust.controller.js index c0cc73217..c9f9270f0 100644 --- a/src/js/tabs/trust.controller.js +++ b/src/js/tabs/trust.controller.js @@ -639,10 +639,12 @@ TrustTab.prototype.angular = function (module) // for that trust line has rippling turned on. // This is an incoming trustline - return !$scope.component.no_ripple; + return true; } else if (Number($scope.component.limit.to_json().value) === 0) { // This is also an incoming trustline - return $scope.component.no_ripple; + return true; + } else { + return false; } }; diff --git a/src/templates/tabs/trust.jade b/src/templates/tabs/trust.jade index 5132445b7..03fab6098 100644 --- a/src/templates/tabs/trust.jade +++ b/src/templates/tabs/trust.jade @@ -297,7 +297,7 @@ section.col-xs-12.content(ng-controller="TrustCtrl") rp-popover-trigger="hover" l10n-rp-popover-title="Incoming trust" l10n-data-content="You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you.") - button.btn.btn-block.btn-danger.submit(type="button", ng-click="load_orderbook()", ng-show="component.limit._value.t === 0", disabled, l10n) Remove + button.btn.btn-block.btn-danger.submit(type="button", ng-click="load_orderbook()", ng-show="isIncoming()", disabled, l10n) Remove span(ng-show='trust.balance === "0"') button.btn.btn-block.btn-danger.submit(type="button", ng-click="delete_account()", ng-show="!isIncoming()", l10n) Remove span( @@ -334,7 +334,7 @@ section.col-xs-12.content(ng-controller="TrustCtrl") .col-sm-2.col-md-2.inputPadding div.rippling-checkbox label(l10n) Rippling - input(name='rippling', type='checkbox', ng-model='trust.rippling', ng-disabled='trust.loading') + input(name='rippling', type='checkbox', ng-model='trust.rippling', ng-disabled='trust.balance !== "0" && isIncoming()') .col-sm-7.col-md-6 .row.row-padding-small .col-xs-6.col-sm-5(ng-hide="trust.loading && trust.state==='removing'") From be025f48abb87e43833c49bbc5cd7675a7655b08 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 22 Apr 2015 13:39:55 -0700 Subject: [PATCH 220/321] [FIX] Jade usage problems --- l10n/templates/messages.pot | 3661 ------------------------ src/templates/client/navbar.jade | 2 +- src/templates/tabs/_usd.jade | 2 +- src/templates/tabs/brl.jade | 2 +- src/templates/tabs/btc.jade | 2 +- src/templates/tabs/contacts.jade | 4 +- src/templates/tabs/eur.jade | 2 +- src/templates/tabs/exchange.jade | 4 +- src/templates/tabs/fund.jade | 2 +- src/templates/tabs/gold.jade | 2 +- src/templates/tabs/jpy.jade | 2 +- src/templates/tabs/kyc.jade | 2 +- src/templates/tabs/mxn.jade | 2 +- src/templates/tabs/send.jade | 4 +- src/templates/tabs/sgd.jade | 2 +- src/templates/tabs/usd.jade | 2 +- src/templates/tabs/widgets/orders.jade | 4 +- src/templates/tabs/withdraw.jade | 2 +- src/templates/tabs/xrp.jade | 2 +- 19 files changed, 21 insertions(+), 3684 deletions(-) delete mode 100644 l10n/templates/messages.pot diff --git a/l10n/templates/messages.pot b/l10n/templates/messages.pot deleted file mode 100644 index 7c348d736..000000000 --- a/l10n/templates/messages.pot +++ /dev/null @@ -1,3661 +0,0 @@ -# Generated by grunt-jade-l10n-extractor - -msgid "" -msgstr "" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: src/jade/client/index.jade:5 -#: src/jade/client/navbar.jade:117 -#: src/jade/tabs/trust.jade:59 -#: src/jade/tabs/trust.jade:168 -msgid "Balance" -msgstr "Balance" - -#: src/jade/client/index.jade:7 -#: src/jade/client/navbar.jade:119 -msgid "History" -msgstr "History" - -#: src/jade/client/index.jade:8 -#: src/jade/client/navbar.jade:121 -msgid "Contacts" -msgstr "Contacts" - -#: src/jade/client/index.jade:12 -#: src/jade/client/navbar.jade:21 -#: src/jade/tabs/contacts.jade:65 -msgid "Send" -msgstr "Send" - -#: src/jade/client/index.jade:16 -msgid "Convert" -msgstr "Convert" - -#: src/jade/client/index.jade:18 -#: src/jade/client/navbar.jade:23 -#: src/jade/client/navbar.jade:25 -#: src/jade/tabs/settings/navbar.jade:3 -msgid "Trade" -msgstr "Trade" - -#: src/jade/client/index.jade:22 -#: src/jade/client/navbar.jade:27 -#: src/jade/client/navbar.jade:133 -msgid "Fund" -msgstr "Fund" - -#: src/jade/client/index.jade:24 -#: src/jade/tabs/fund/menu.jade:29 -msgid "Gateways" -msgstr "Gateways" - -#: src/jade/client/index.jade:29 -#: src/jade/client/navbar.jade:107 -#: src/jade/tabs/su.jade:12 -msgid "Account" -msgstr "Account" - -#: src/jade/client/index.jade:32 -#: src/jade/client/navbar.jade:109 -#: src/jade/tabs/advanced.jade:19 -msgid "Settings" -msgstr "Settings" - -#: src/jade/client/index.jade:35 -msgid "Logout" -msgstr "Logout" - -#: src/jade/client/index.jade:61 -msgid "Why Use Ripple Trade?" -msgstr "Why Use Ripple Trade?" - -#: src/jade/client/index.jade:66 -msgid "Home of XRP -" -msgstr "Home of XRP -" - -#: src/jade/client/index.jade:67 -msgid "the best place to buy and sell XRP" -msgstr "the best place to buy and sell XRP" - -#: src/jade/client/index.jade:71 -msgid "Free -" -msgstr "Free -" - -#: src/jade/client/index.jade:72 -msgid "no fees to sign up and use Ripple Trade" -msgstr "no fees to sign up and use Ripple Trade" - -#: src/jade/client/index.jade:76 -msgid "No Middlemen -" -msgstr "No Middlemen -" - -#: src/jade/client/index.jade:77 -msgid "When you submit orders, Ripple automatically finds the best available match, without a clearinghouse or broker." -msgstr "When you submit orders, Ripple automatically finds the best available match, without a clearinghouse or broker." - -#: src/jade/client/index.jade:81 -msgid "Deposit, trade and withdraw money on Ripple via gateways." -msgstr "Deposit, trade and withdraw money on Ripple via gateways." - -#: src/jade/client/index.jade:89 -msgid "Featured Ripple Gateways" -msgstr "Featured Ripple Gateways" - -#: src/jade/client/index.jade:91 -msgid "Ripple's growing gateway network." -msgstr "Ripple's growing gateway network." - -#: src/jade/client/index.jade:93 -#: src/jade/client/index.jade:96 -#: src/jade/client/index.jade:99 -#: src/jade/client/index.jade:102 -#: src/jade/client/index.jade:105 -#: src/jade/client/index.jade:108 -#: src/jade/client/index.jade:111 -#: src/jade/client/index.jade:114 -#: src/jade/client/index.jade:117 -#: src/jade/tabs/banner/unfunded.jade:6 -#: src/jade/tabs/brl.jade:53 -#: src/jade/tabs/brl.jade:57 -#: src/jade/tabs/brl.jade:93 -#: src/jade/tabs/btc.jade:46 -#: src/jade/tabs/eur.jade:50 -#: src/jade/tabs/eur.jade:54 -#: src/jade/tabs/eur.jade:86 -#: src/jade/tabs/eur.jade:93 -#: src/jade/tabs/gold.jade:51 -#: src/jade/tabs/jpy.jade:55 -#: src/jade/tabs/jpy.jade:91 -#: src/jade/tabs/jpy.jade:97 -#: src/jade/tabs/mxn.jade:53 -#: src/jade/tabs/send.jade:63 -#: src/jade/tabs/trade.jade:320 -#: src/jade/tabs/usd.jade:51 -#: src/jade/tabs/usd.jade:83 -#: src/jade/tabs/usd.jade:90 -#: src/jade/tabs/usd.jade:100 -#: src/jade/tabs/widgets/orders.jade:31 -msgid "{{1}}" -msgstr "{{1}}" - -#: src/jade/client/index.jade:123 -msgid "Version: {{version}}" -msgstr "Version: {{version}}" - -#: src/jade/client/index.jade:128 -msgid "Terms of Use" -msgstr "Terms of Use" - -#: src/jade/client/index.jade:129 -msgid "Privacy Policy" -msgstr "Privacy Policy" - -#: src/jade/client/index.jade:130 -msgid "Support" -msgstr "Support" - -#: src/jade/client/index.jade:131 -msgid "Bug reports" -msgstr "Bug reports" - -#: src/jade/client/index.jade:138 -msgid "more..." -msgstr "more..." - -#: src/jade/client/index.jade:142 -msgid "Select a language" -msgstr "Select a language" - -#: src/jade/client/navbar.jade:2 -msgid "You are viewing an account in {{1}} mode. While in this mode, you can view publicly available data, but you cannot initiate any transactions. Click {{2}} to exit." -msgstr "You are viewing an account in {{1}} mode. While in this mode, you can view publicly available data, but you cannot initiate any transactions. Click {{2}} to exit." - -#: src/jade/client/navbar.jade:8 -msgid "Warning: this account has over 200 trust lines, so the displayed account balance may not be accurate." -msgstr "Warning: this account has over 200 trust lines, so the displayed account balance may not be accurate." - -#: src/jade/client/navbar.jade:19 -msgid "Overview" -msgstr "Overview" - -#: src/jade/client/navbar.jade:49 -#: src/jade/tabs/account/private.jade:7 -#: src/jade/tabs/account/private.jade:16 -#: src/jade/tabs/account/public.jade:45 -#: src/jade/tabs/apps.jade:8 -#: src/jade/tabs/btc.jade:72 -#: src/jade/tabs/exchange.jade:9 -#: src/jade/tabs/kyc.jade:45 -#: src/jade/tabs/recover.jade:26 -#: src/jade/tabs/security.jade:147 -#: src/jade/tabs/su.jade:8 -#: src/jade/tabs/trust.jade:9 -#: src/jade/tabs/trust.jade:139 -msgid "Loading..." -msgstr "Loading..." - -#: src/jade/client/navbar.jade:50 -msgid "There are no recent notifications." -msgstr "There are no recent notifications." - -#: src/jade/client/navbar.jade:54 -msgid "You sent {{1}} to {{2}}" -msgstr "You sent {{1}} to {{2}}" - -#: src/jade/client/navbar.jade:60 -msgid "{{1}} sent you {{2}}" -msgstr "{{1}} sent you {{2}}" - -#: src/jade/client/navbar.jade:68 -msgid "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" -msgstr "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" - -#: src/jade/client/navbar.jade:74 -#: src/jade/notification/account.jade:25 -#: src/jade/tabs/history.jade:115 -#: src/jade/tabs/history/effects.jade:63 -msgid "You have now connected to the gateway {{1}}{{2: for }}{{3}}." -msgstr "You have now connected to the gateway {{1}}{{2: for }}{{3}}." - -#: src/jade/client/navbar.jade:85 -msgid "You cancelled an order accepting {{1}} for {{2}}" -msgstr "You cancelled an order accepting {{1}} for {{2}}" - -#: src/jade/client/navbar.jade:92 -#: src/jade/tabs/history.jade:138 -msgid "Account details have been changed" -msgstr "Account details have been changed" - -#: src/jade/client/navbar.jade:95 -#: src/jade/tabs/history.jade:141 -#: src/jade/tabs/trust.jade:171 -msgid "Rippling" -msgstr "Rippling" - -#: src/jade/client/navbar.jade:97 -#: src/jade/tabs/history.jade:143 -msgid "Failed transaction" -msgstr "Failed transaction" - -#: src/jade/client/navbar.jade:103 -msgid "View Full History" -msgstr "View Full History" - -#: src/jade/client/navbar.jade:111 -msgid "Log Out" -msgstr "Log Out" - -#: src/jade/client/navbar.jade:126 -msgid "Simple" -msgstr "Simple" - -#: src/jade/client/navbar.jade:128 -#: src/jade/tabs/settings/navbar.jade:4 -msgid "Advanced" -msgstr "Advanced" - -#: src/jade/client/navbar.jade:135 -msgid "Withdraw" -msgstr "Withdraw" - -#: src/jade/client/navbar.jade:137 -msgid "Your account was successfully recovered and encrypted with the new password you provided!" -msgstr "Your account was successfully recovered and encrypted with the new password you provided!" - -#: src/jade/client/navbar.jade:138 -msgid "dismiss" -msgstr "dismiss" - -#: src/jade/directives/addresspopover.jade:3 -msgid "Ripple address {{ identity }}" -msgstr "Ripple address {{ identity }}" - -#: src/jade/directives/addresspopover.jade:8 -#: src/jade/tabs/tx.jade:13 -msgid "Show in graph" -msgstr "Show in graph" - -#: src/jade/directives/transactionerror.jade:8 -msgid "Connecting gateway to your account..." -msgstr "Connecting gateway to your account..." - -#: src/jade/directives/transactionerror.jade:10 -msgid "Gateway connected." -msgstr "Gateway connected." - -#: src/jade/directives/transactionerror.jade:12 -msgid "There was a problem connecting to the gateway. Please try again later." -msgstr "There was a problem connecting to the gateway. Please try again later." - -#: src/jade/directives/transactionerror.jade:14 -#: src/jade/directives/transactionerror.jade:73 -#: src/jade/directives/transactionerror.jade:158 -#: src/jade/messages/sendconvert/confirmation.jade:13 -msgid "Error code: {{engine_result}} - {{engine_result_message}}" -msgstr "Error code: {{engine_result}} - {{engine_result_message}}" - -#: src/jade/directives/transactionerror.jade:19 -#: src/jade/directives/transactionerror.jade:23 -#: src/jade/directives/transactionerror.jade:28 -#: src/jade/directives/transactionerror.jade:33 -#: src/jade/directives/transactionerror.jade:45 -#: src/jade/directives/transactionerror.jade:52 -#: src/jade/directives/transactionerror.jade:156 -#: src/jade/directives/transactionerror.jade:163 -#: src/jade/directives/transactionerror.jade:167 -#: src/jade/directives/transactionerror.jade:172 -#: src/jade/directives/transactionerror.jade:177 -#: src/jade/directives/transactionerror.jade:186 -#: src/jade/directives/transactionerror.jade:193 -msgid "Request failed" -msgstr "Request failed" - -#: src/jade/directives/transactionerror.jade:21 -#: src/jade/directives/transactionerror.jade:165 -msgid "Your request timed out, please try again." -msgstr "Your request timed out, please try again." - -#: src/jade/directives/transactionerror.jade:25 -#: src/jade/directives/transactionerror.jade:84 -#: src/jade/directives/transactionerror.jade:169 -#: src/jade/messages/sendconvert/confirmation.jade:18 -msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." -msgstr "Error code: Destination tag needed [tefDST_TAG_NEEDED]." - -#: src/jade/directives/transactionerror.jade:30 -#: src/jade/directives/transactionerror.jade:174 -msgid "Error code: This request failed because it exceeded the maximum network fee, please try again later [telINSUF_FEE_P]." -msgstr "Error code: This request failed because it exceeded the maximum network fee, please try again later [telINSUF_FEE_P]." - -#: src/jade/directives/transactionerror.jade:35 -msgid "Error code: You have no gateway connected in this currency [terNO_LINE]." -msgstr "Error code: You have no gateway connected in this currency [terNO_LINE]." - -#: src/jade/directives/transactionerror.jade:37 -msgid "Error code: Insufficient reserve to connect gateway [tecINSUF_RESERVE_LINE]." -msgstr "Error code: Insufficient reserve to connect gateway [tecINSUF_RESERVE_LINE]." - -#: src/jade/directives/transactionerror.jade:39 -msgid "Error code: You have an insufficient reserve amount to connect a gateway [tecNO_LINE_INSUF_RESERVE]. {{1}}" -msgstr "Error code: You have an insufficient reserve amount to connect a gateway [tecNO_LINE_INSUF_RESERVE]. {{1}}" - -#: src/jade/directives/transactionerror.jade:41 -#: src/jade/tabs/fund.jade:34 -#: src/jade/tabs/send.jade:110 -#: src/jade/tabs/trust.jade:74 -msgid "More information" -msgstr "More information" - -#: src/jade/directives/transactionerror.jade:42 -#: src/jade/directives/transactionerror.jade:98 -#: src/jade/directives/transactionerror.jade:135 -#: src/jade/directives/transactionerror.jade:183 -#: src/jade/messages/sendconvert/confirmation.jade:27 -msgid "Error: {{engine_result_message}}" -msgstr "Error: {{engine_result_message}}" - -#: src/jade/directives/transactionerror.jade:47 -#: src/jade/directives/transactionerror.jade:103 -#: src/jade/directives/transactionerror.jade:188 -#: src/jade/messages/sendconvert/confirmation.jade:32 -msgid "Error code: You have no trust line in this currency [terNO_LINE]." -msgstr "Error code: You have no trust line in this currency [terNO_LINE]." - -#: src/jade/directives/transactionerror.jade:49 -#: src/jade/directives/transactionerror.jade:190 -msgid "Your request failed: {{engine_result}} - {{engine_result_message}}" -msgstr "Your request failed: {{engine_result}} - {{engine_result_message}}" - -#: src/jade/directives/transactionerror.jade:54 -#: src/jade/directives/transactionerror.jade:195 -msgid "Error code: request could not be submitted [tejLost]." -msgstr "Error code: request could not be submitted [tejLost]." - -#: src/jade/directives/transactionerror.jade:56 -#: src/jade/directives/transactionerror.jade:197 -#: src/jade/tabs/trust.jade:36 -msgid "This request failed because the current network fee is higher than your account limit. You can adjust your maximum network fee in Settings > Advanced, or try again later.
Error code: Network fee exceeded [tejMaxFeeExceeded]." -msgstr "This request failed because the current network fee is higher than your account limit. You can adjust your maximum network fee in Settings > Advanced, or try again later.
Error code: Network fee exceeded [tejMaxFeeExceeded]." - -#: src/jade/directives/transactionerror.jade:59 -#: src/jade/directives/transactionerror.jade:200 -msgid "Your request could not be submitted: {{engine_result}} - {{engine_result_message}}" -msgstr "Your request could not be submitted: {{engine_result}} - {{engine_result_message}}" - -#: src/jade/directives/transactionerror.jade:67 -msgid "Payment pending" -msgstr "Payment pending" - -#: src/jade/directives/transactionerror.jade:69 -msgid "Payment successful" -msgstr "Payment successful" - -#: src/jade/directives/transactionerror.jade:71 -#: src/jade/directives/transactionerror.jade:82 -#: src/jade/directives/transactionerror.jade:87 -#: src/jade/directives/transactionerror.jade:92 -#: src/jade/directives/transactionerror.jade:101 -#: src/jade/directives/transactionerror.jade:108 -msgid "Payment failed" -msgstr "Payment failed" - -#: src/jade/directives/transactionerror.jade:78 -msgid "Payment failed [tefMAX_LEDGER]." -msgstr "Payment failed [tefMAX_LEDGER]." - -#: src/jade/directives/transactionerror.jade:80 -msgid "Your payment timed out, please try again." -msgstr "Your payment timed out, please try again." - -#: src/jade/directives/transactionerror.jade:89 -#: src/jade/messages/sendconvert/confirmation.jade:39 -msgid "Error code: This transaction failed because it exceeded the maximum network fee, please try again later [telINSUF_FEE_P]." -msgstr "Error code: This transaction failed because it exceeded the maximum network fee, please try again later [telINSUF_FEE_P]." - -#: src/jade/directives/transactionerror.jade:94 -#: src/jade/directives/transactionerror.jade:179 -msgid "Error code: No destination [tecNO_DST]." -msgstr "Error code: No destination [tecNO_DST]." - -#: src/jade/directives/transactionerror.jade:96 -#: src/jade/directives/transactionerror.jade:181 -#: src/jade/messages/sendconvert/confirmation.jade:25 -msgid "Error code: Insufficient XRP sent to destination [tecNO_DST_INSUF_XRP]." -msgstr "Error code: Insufficient XRP sent to destination [tecNO_DST_INSUF_XRP]." - -#: src/jade/directives/transactionerror.jade:105 -msgid "Your payment failed: {{engine_result}} - {{engine_result_message}}" -msgstr "Your payment failed: {{engine_result}} - {{engine_result_message}}" - -#: src/jade/directives/transactionerror.jade:110 -msgid "Error code: Transaction could not be submitted [tejLost]." -msgstr "Error code: Transaction could not be submitted [tejLost]." - -#: src/jade/directives/transactionerror.jade:112 -msgid "This transaction failed because the current network fee is higher than your account limit. You can adjust your maximum network fee in Settings > Advanced, or try again later.
Error code: Network fee exceeded [tejMaxFeeExceeded]." -msgstr "This transaction failed because the current network fee is higher than your account limit. You can adjust your maximum network fee in Settings > Advanced, or try again later.
Error code: Network fee exceeded [tejMaxFeeExceeded]." - -#: src/jade/directives/transactionerror.jade:115 -msgid "Your payment could not be submitted: {{engine_result}} - {{engine_result_message}}" -msgstr "Your payment could not be submitted: {{engine_result}} - {{engine_result_message}}" - -#: src/jade/directives/transactionerror.jade:121 -msgid "Request is malformed." -msgstr "Request is malformed." - -#: src/jade/directives/transactionerror.jade:122 -msgid "Your request is invalid, reason: {{engine_result_message}} - {{engine_result_message}}" -msgstr "Your request is invalid, reason: {{engine_result_message}} - {{engine_result_message}}" - -#: src/jade/directives/transactionerror.jade:125 -#: src/jade/directives/transactionerror.jade:142 -msgid "Transaction failed." -msgstr "Transaction failed." - -#: src/jade/directives/transactionerror.jade:127 -msgid "You do not have enough funds to create this order [tecUNFUNDED_ORDER]." -msgstr "You do not have enough funds to create this order [tecUNFUNDED_ORDER]." - -#: src/jade/directives/transactionerror.jade:129 -msgid "Insufficient reserve amount to submit an order [tecINSUF_RESERVE_OFFER]." -msgstr "Insufficient reserve amount to submit an order [tecINSUF_RESERVE_OFFER]." - -#: src/jade/directives/transactionerror.jade:131 -msgid "This transaction failed because the current network fee is higher than your account limit. You can adjust your maximum network fee in Settings > Advanced, or try again later.
Error code: Network fee exceeded [tejMaxFeeExceeded]. {{1}}" -msgstr "This transaction failed because the current network fee is higher than your account limit. You can adjust your maximum network fee in Settings > Advanced, or try again later.
Error code: Network fee exceeded [tejMaxFeeExceeded]. {{1}}" - -#: src/jade/directives/transactionerror.jade:134 -msgid "More information." -msgstr "More information." - -#: src/jade/directives/transactionerror.jade:138 -msgid "Trade failed." -msgstr "Trade failed." - -#: src/jade/directives/transactionerror.jade:140 -msgid "Trade failed, reason: {{engine_result_message}}" -msgstr "Trade failed, reason: {{engine_result_message}}" - -#: src/jade/directives/transactionerror.jade:144 -msgid "The particular server you sent the transaction to was too busy to forward or process your transaction at the fee you included in it [telINSUF_FEE_P]." -msgstr "The particular server you sent the transaction to was too busy to forward or process your transaction at the fee you included in it [telINSUF_FEE_P]." - -#: src/jade/directives/transactionerror.jade:152 -msgid "Request pending" -msgstr "Request pending" - -#: src/jade/directives/transactionerror.jade:154 -msgid "Request successful" -msgstr "Request successful" - -#: src/jade/messages/sendconvert/confirmation.jade:4 -msgid "Transaction pending." -msgstr "Transaction pending." - -#: src/jade/messages/sendconvert/confirmation.jade:6 -msgid "Transaction successful" -msgstr "Transaction successful" - -#: src/jade/messages/sendconvert/confirmation.jade:8 -#: src/jade/messages/sendconvert/confirmation.jade:11 -#: src/jade/messages/sendconvert/confirmation.jade:16 -#: src/jade/messages/sendconvert/confirmation.jade:21 -#: src/jade/messages/sendconvert/confirmation.jade:30 -#: src/jade/messages/sendconvert/confirmation.jade:37 -#: src/jade/messages/sendconvert/localerror.jade:5 -#: src/jade/messages/sendconvert/localerror.jade:8 -#: src/jade/messages/sendconvert/localerror.jade:11 -#: src/jade/messages/sendconvert/localerror.jade:14 -msgid "Transaction failed" -msgstr "Transaction failed" - -#: src/jade/messages/sendconvert/confirmation.jade:9 -#: src/jade/tabs/brl.jade:25 -#: src/jade/tabs/btc.jade:22 -#: src/jade/tabs/eur.jade:25 -#: src/jade/tabs/gold.jade:25 -#: src/jade/tabs/jpy.jade:25 -#: src/jade/tabs/mxn.jade:25 -#: src/jade/tabs/trust.jade:43 -#: src/jade/tabs/usd.jade:25 -msgid "Please try again later." -msgstr "Please try again later." - -#: src/jade/messages/sendconvert/confirmation.jade:23 -msgid "Error code: The destination account does not exist [tecNO_DST]." -msgstr "Error code: The destination account does not exist [tecNO_DST]." - -#: src/jade/messages/sendconvert/confirmation.jade:34 -msgid "Your transaction failed: {{engine_result_message}}" -msgstr "Your transaction failed: {{engine_result_message}}" - -#: src/jade/messages/sendconvert/localerror.jade:6 -msgid "Error code: The account you're trying to send to does not exist [noDest]." -msgstr "Error code: The account you're trying to send to does not exist [noDest]." - -#: src/jade/messages/sendconvert/localerror.jade:9 -msgid "Error code: Ripple was unable to find a path between you and the destination account [noPath]." -msgstr "Error code: Ripple was unable to find a path between you and the destination account [noPath]." - -#: src/jade/messages/sendconvert/localerror.jade:12 -msgid "Error code: This transaction failed because it exceeded the maximum network fee. [maxfeeExceeded]." -msgstr "Error code: This transaction failed because it exceeded the maximum network fee. [maxfeeExceeded]." - -#: src/jade/messages/sendconvert/localerror.jade:15 -msgid "Error code: The transaction was rejected by the Ripple network [invalidTransaction]." -msgstr "Error code: The transaction was rejected by the Ripple network [invalidTransaction]." - -#: src/jade/messages/sendconvert/localerror.jade:17 -msgid "Account unlock failed" -msgstr "Account unlock failed" - -#: src/jade/messages/sendconvert/localerror.jade:18 -#: src/jade/tabs/trust.jade:40 -msgid "Your account could not be unlocked. Please try again later." -msgstr "Your account could not be unlocked. Please try again later." - -#: src/jade/messages/sendconvert/localerror.jade:20 -msgid "Sorry, an error occurred while submitting your transaction.Make sure you are connected to the Internet and try again later." -msgstr "Sorry, an error occurred while submitting your transaction.Make sure you are connected to the Internet and try again later." - -#: src/jade/messages/sendconvert/localerror.jade:22 -msgid "Before trying again, please ensure that the transaction has not been executed already." -msgstr "Before trying again, please ensure that the transaction has not been executed already." - -#: src/jade/messages/sendconvert/waiting.jade:5 -msgid "Sending transaction to the Ripple network" -msgstr "Sending transaction to the Ripple network" - -#: src/jade/notification/account.jade:3 -msgid "You sent {{1}} {{2}} to {{3}}" -msgstr "You sent {{1}} {{2}} to {{3}}" - -#: src/jade/notification/account.jade:11 -msgid "{{tx.counterparty | rpcontactname}} sent you" -msgstr "{{tx.counterparty | rpcontactname}} sent you" - -#: src/jade/notification/account.jade:18 -msgid "{{tx.counterparty | rpcontactname}} now trusts you for" -msgstr "{{tx.counterparty | rpcontactname}} now trusts you for" - -#: src/jade/popup/modifyOrderError.jade:2 -msgid "Modify Order Error" -msgstr "Modify Order Error" - -#: src/jade/popup/modifyOrderError.jade:4 -msgid "Sorry, your order could not be modified." -msgstr "Sorry, your order could not be modified." - -#: src/jade/popup/modifyOrderError.jade:5 -msgid "Your original order was cancelled but the modified order was not placed.
" -msgstr "Your original order was cancelled but the modified order was not placed.
" - -#: src/jade/popup/modifyOrderError.jade:6 -msgid "The quantity of your order changed by {{order.qtyChangeAfterCancel | rpamount}} before the order could be modified.

" -msgstr "The quantity of your order changed by {{order.qtyChangeAfterCancel | rpamount}} before the order could be modified.

" - -#: src/jade/popup/modifyOrderError.jade:7 -msgid "To safeguard against the possibility of overfills a new order has not been placed.
" -msgstr "To safeguard against the possibility of overfills a new order has not been placed.
" - -#: src/jade/popup/modifyOrderError.jade:8 -msgid "Please check your balance and history before placing the new order manually.
" -msgstr "Please check your balance and history before placing the new order manually.
" - -#: src/jade/popup/modifyOrderError.jade:10 -#: src/jade/popup/unlock.jade:17 -msgid "Close" -msgstr "Close" - -#: src/jade/popup/unlock.jade:2 -msgid "Unlock account" -msgstr "Unlock account" - -#: src/jade/popup/unlock.jade:5 -#: src/jade/tabs/login/form.jade:8 -#: src/jade/tabs/recover.jade:38 -#: src/jade/tabs/register.jade:58 -#: src/jade/tabs/security.jade:12 -msgid "Password" -msgstr "Password" - -#: src/jade/popup/unlock.jade:8 -msgid "Please enter your password to show your secret key." -msgstr "Please enter your password to show your secret key." - -#: src/jade/popup/unlock.jade:9 -#: src/jade/tabs/send.jade:205 -msgid "Please enter your password to confirm this transaction." -msgstr "Please enter your password to confirm this transaction." - -#: src/jade/popup/unlock.jade:10 -msgid "This password is incorrect, please try again." -msgstr "This password is incorrect, please try again." - -#: src/jade/popup/unlock.jade:13 -msgid "Confirming password" -msgstr "Confirming password" - -#: src/jade/popup/unlock.jade:16 -#: src/jade/tabs/account/public.jade:44 -#: src/jade/tabs/security.jade:146 -msgid "Submit" -msgstr "Submit" - -#: src/jade/tabs/2fa/form.jade:3 -msgid "Country Code" -msgstr "Country Code" - -#: src/jade/tabs/2fa/form.jade:6 -#: src/jade/tabs/kyc.jade:162 -msgid "Phone Number" -msgstr "Phone Number" - -#: src/jade/tabs/_usd.jade:6 -#: src/jade/tabs/apps.jade:5 -#: src/jade/tabs/balance.jade:5 -#: src/jade/tabs/brl.jade:6 -#: src/jade/tabs/btc.jade:9 -#: src/jade/tabs/eur.jade:6 -#: src/jade/tabs/exchange.jade:6 -#: src/jade/tabs/fund.jade:6 -#: src/jade/tabs/gold.jade:6 -#: src/jade/tabs/history.jade:6 -#: src/jade/tabs/jpy.jade:6 -#: src/jade/tabs/kyc.jade:6 -#: src/jade/tabs/mxn.jade:6 -#: src/jade/tabs/send.jade:6 -#: src/jade/tabs/su.jade:5 -#: src/jade/tabs/trade.jade:7 -#: src/jade/tabs/trust.jade:6 -#: src/jade/tabs/usd.jade:6 -#: src/jade/tabs/withdraw.jade:6 -#: src/jade/tabs/xrp.jade:6 -msgid "You have to be online to see this screen" -msgstr "You have to be online to see this screen" - -#: src/jade/tabs/_usd.jade:17 -msgid "USD instant deposit" -msgstr "USD instant deposit" - -#: src/jade/tabs/_usd.jade:19 -#: src/jade/tabs/_usd.jade:21 -msgid "Step 1 (Amount)" -msgstr "Step 1 (Amount)" - -#: src/jade/tabs/_usd.jade:22 -msgid "Step 2 (Confirmation)" -msgstr "Step 2 (Confirmation)" - -#: src/jade/tabs/_usd.jade:23 -msgid "Step 3 (Complete deposit)" -msgstr "Step 3 (Complete deposit)" - -#: src/jade/tabs/_usd.jade:26 -msgid "STEP 1: AMOUNT" -msgstr "STEP 1: AMOUNT" - -#: src/jade/tabs/_usd.jade:28 -msgid "STEP 2: CONFIRMATION" -msgstr "STEP 2: CONFIRMATION" - -#: src/jade/tabs/_usd.jade:30 -msgid "STEP 3: COMPLETE DEPOSIT" -msgstr "STEP 3: COMPLETE DEPOSIT" - -#: src/jade/tabs/_usd.jade:34 -msgid "Success! You've completed your USD deposit. Your funds should be available within a few minutes." -msgstr "Success! You've completed your USD deposit. Your funds should be available within a few minutes." - -#: src/jade/tabs/_usd.jade:36 -msgid "You cancelled your deposit." -msgstr "You cancelled your deposit." - -#: src/jade/tabs/_usd.jade:38 -msgid "Your deposit failed. Your bank account was not charged. Please contact {{1}}." -msgstr "Your deposit failed. Your bank account was not charged. Please contact {{1}}." - -#: src/jade/tabs/_usd.jade:49 -#: src/jade/tabs/_usd.jade:91 -#: src/jade/tabs/fund.jade:41 -#: src/jade/tabs/history.jade:172 -#: src/jade/tabs/trust.jade:89 -msgid "Amount" -msgstr "Amount" - -#: src/jade/tabs/_usd.jade:59 -#: src/jade/tabs/_usd.jade:62 -msgid "Select your bank" -msgstr "Select your bank" - -#: src/jade/tabs/_usd.jade:77 -msgid "Ripple Trade has partnered with SnapSwap to make USD deposits easier. By continuing, you agree to SnapSwap's {{1}}To contact support, email {{2}}." -msgstr "Ripple Trade has partnered with SnapSwap to make USD deposits easier. By continuing, you agree to SnapSwap's {{1}}To contact support, email {{2}}." - -#: src/jade/tabs/_usd.jade:93 -#: src/jade/tabs/history.jade:178 -msgid "Fee" -msgstr "Fee" - -#: src/jade/tabs/_usd.jade:95 -msgid "Total" -msgstr "Total" - -#: src/jade/tabs/_usd.jade:98 -msgid "Calculating..." -msgstr "Calculating..." - -#: src/jade/tabs/_usd.jade:109 -#: src/jade/tabs/register.jade:126 -#: src/jade/tabs/register.jade:133 -msgid "Back" -msgstr "Back" - -#: src/jade/tabs/_usd.jade:111 -#: src/jade/tabs/btc.jade:73 -#: src/jade/tabs/exchange.jade:111 -#: src/jade/tabs/send.jade:213 -#: src/jade/tabs/trade.jade:67 -#: src/jade/tabs/trade.jade:77 -#: src/jade/tabs/trade.jade:248 -#: src/jade/tabs/trade.jade:407 -#: src/jade/tabs/trust.jade:140 -msgid "Confirm" -msgstr "Confirm" - -#: src/jade/tabs/account/navbar.jade:2 -msgid "Public Information" -msgstr "Public Information" - -#: src/jade/tabs/account/private.jade:1 -msgid "Profile Information" -msgstr "Profile Information" - -#: src/jade/tabs/account/private.jade:3 -msgid "Identity Information" -msgstr "Identity Information" - -#: src/jade/tabs/account/private.jade:8 -#: src/jade/tabs/account/private.jade:17 -msgid "Completed" -msgstr "Completed" - -#: src/jade/tabs/account/private.jade:9 -#: src/jade/tabs/account/private.jade:18 -msgid "Incomplete" -msgstr "Incomplete" - -#: src/jade/tabs/account/private.jade:10 -#: src/jade/tabs/account/private.jade:19 -msgid "Complete your profile" -msgstr "Complete your profile" - -#: src/jade/tabs/account/private.jade:12 -msgid "Identity Questions" -msgstr "Identity Questions" - -#: src/jade/tabs/account/public.jade:1 -msgid "Changing your Ripple name..." -msgstr "Changing your Ripple name..." - -#: src/jade/tabs/account/public.jade:2 -msgid "Your Ripple name has been changed successfully." -msgstr "Your Ripple name has been changed successfully." - -#: src/jade/tabs/account/public.jade:3 -msgid "Account settings" -msgstr "Account settings" - -#: src/jade/tabs/account/public.jade:5 -#: src/jade/tabs/fund/menu.jade:2 -#: src/jade/tabs/login/form.jade:3 -msgid "Ripple name" -msgstr "Ripple name" - -#: src/jade/tabs/account/public.jade:9 -#: src/jade/tabs/advanced.jade:27 -#: src/jade/tabs/advanced.jade:44 -#: src/jade/tabs/advanced.jade:63 -#: src/jade/tabs/advanced.jade:86 -#: src/jade/tabs/advanced.jade:134 -#: src/jade/tabs/contacts.jade:61 -#: src/jade/tabs/security.jade:120 -#: src/jade/tabs/security.jade:180 -#: src/jade/tabs/trust.jade:191 -#: src/jade/tabs/trust.jade:193 -msgid "edit" -msgstr "edit" - -#: src/jade/tabs/account/public.jade:12 -msgid "New Ripple name" -msgstr "New Ripple name" - -#: src/jade/tabs/account/public.jade:17 -#: src/jade/tabs/register.jade:35 -#: src/jade/tabs/widgets/balances.jade:24 -msgid "Available" -msgstr "Available" - -#: src/jade/tabs/account/public.jade:20 -#: src/jade/tabs/register.jade:39 -msgid "Already taken!" -msgstr "Already taken!" - -#: src/jade/tabs/account/public.jade:21 -msgid "Reserved for {{usernameReservedFor}}{{1}}{{2}}" -msgstr "Reserved for {{usernameReservedFor}}{{1}}{{2}}" - -#: src/jade/tabs/account/public.jade:24 -#: src/jade/tabs/register.jade:45 -msgid "Must be at least 2 characters" -msgstr "Must be at least 2 characters" - -#: src/jade/tabs/account/public.jade:25 -#: src/jade/tabs/register.jade:47 -msgid "Must be at most 20 characters" -msgstr "Must be at most 20 characters" - -#: src/jade/tabs/account/public.jade:26 -msgid "Only a-z, 0-9 and hyphen (-)" -msgstr "Only a-z, 0-9 and hyphen (-)" - -#: src/jade/tabs/account/public.jade:27 -#: src/jade/tabs/register.jade:51 -msgid "Cannot start with hyphen (-)" -msgstr "Cannot start with hyphen (-)" - -#: src/jade/tabs/account/public.jade:28 -#: src/jade/tabs/register.jade:53 -msgid "Cannot end with hyphen (-)" -msgstr "Cannot end with hyphen (-)" - -#: src/jade/tabs/account/public.jade:29 -msgid "Cannot bundle hyphens (--)" -msgstr "Cannot bundle hyphens (--)" - -#: src/jade/tabs/account/public.jade:30 -#: src/jade/tabs/register.jade:56 -msgid "Checking..." -msgstr "Checking..." - -#: src/jade/tabs/account/public.jade:32 -#: src/jade/tabs/security.jade:126 -msgid "Current password" -msgstr "Current password" - -#: src/jade/tabs/account/public.jade:35 -#: src/jade/tabs/security.jade:18 -#: src/jade/tabs/security.jade:23 -msgid "Entered password is wrong." -msgstr "Entered password is wrong." - -#: src/jade/tabs/account/public.jade:37 -msgid "Your Ripple name has been changed. Please login again." -msgstr "Your Ripple name has been changed. Please login again." - -#: src/jade/tabs/account/public.jade:39 -msgid "Couldn't change your Ripple name, please try again later." -msgstr "Couldn't change your Ripple name, please try again later." - -#: src/jade/tabs/account/public.jade:47 -#: src/jade/tabs/advanced.jade:36 -#: src/jade/tabs/advanced.jade:53 -#: src/jade/tabs/advanced.jade:77 -#: src/jade/tabs/advanced.jade:94 -#: src/jade/tabs/advanced.jade:124 -#: src/jade/tabs/btc.jade:74 -#: src/jade/tabs/contacts.jade:50 -#: src/jade/tabs/contacts.jade:93 -#: src/jade/tabs/exchange.jade:113 -#: src/jade/tabs/exchange.jade:126 -#: src/jade/tabs/kyc.jade:116 -#: src/jade/tabs/kyc.jade:131 -#: src/jade/tabs/kyc.jade:156 -#: src/jade/tabs/kyc.jade:157 -#: src/jade/tabs/kyc.jade:186 -#: src/jade/tabs/login/form.jade:26 -#: src/jade/tabs/security.jade:79 -#: src/jade/tabs/security.jade:112 -#: src/jade/tabs/security.jade:149 -#: src/jade/tabs/send.jade:215 -#: src/jade/tabs/send.jade:227 -#: src/jade/tabs/send.jade:252 -#: src/jade/tabs/send.jade:286 -#: src/jade/tabs/trade.jade:55 -#: src/jade/tabs/trust.jade:141 -#: src/jade/tabs/trust.jade:143 -#: src/jade/tabs/trust.jade:213 -#: src/jade/tabs/trust.jade:251 -msgid "cancel" -msgstr "cancel" - -#: src/jade/tabs/account/public.jade:49 -msgid "Ripple address" -msgstr "Ripple address" - -#: src/jade/tabs/advanced.jade:8 -msgid "Your blob vault has been changed successfully." -msgstr "Your blob vault has been changed successfully." - -#: src/jade/tabs/advanced.jade:9 -msgid "Your bitcoin bridge has been changed successfully." -msgstr "Your bitcoin bridge has been changed successfully." - -#: src/jade/tabs/advanced.jade:10 -msgid "Trustline advanced settings has been changed successfully." -msgstr "Trustline advanced settings has been changed successfully." - -#: src/jade/tabs/advanced.jade:11 -msgid "Maximum network fee has been changed successfully." -msgstr "Maximum network fee has been changed successfully." - -#: src/jade/tabs/advanced.jade:12 -msgid "A new server has been successfully added." -msgstr "A new server has been successfully added." - -#: src/jade/tabs/advanced.jade:13 -msgid "A server has been successfully removed." -msgstr "A server has been successfully removed." - -#: src/jade/tabs/advanced.jade:14 -msgid "A server has been changed successfully." -msgstr "A server has been changed successfully." - -#: src/jade/tabs/advanced.jade:21 -msgid "Blob vault" -msgstr "Blob vault" - -#: src/jade/tabs/advanced.jade:32 -#: src/jade/tabs/advanced.jade:49 -#: src/jade/tabs/advanced.jade:73 -#: src/jade/tabs/advanced.jade:92 -#: src/jade/tabs/advanced.jade:120 -#: src/jade/tabs/contacts.jade:88 -#: src/jade/tabs/fund.jade:65 -#: src/jade/tabs/security.jade:190 -#: src/jade/tabs/send.jade:251 -#: src/jade/tabs/send.jade:284 -#: src/jade/tabs/trust.jade:119 -#: src/jade/tabs/trust.jade:232 -msgid "Save" -msgstr "Save" - -#: src/jade/tabs/advanced.jade:34 -#: src/jade/tabs/advanced.jade:51 -#: src/jade/tabs/advanced.jade:75 -#: src/jade/tabs/advanced.jade:122 -#: src/jade/tabs/contacts.jade:91 -#: src/jade/tabs/security.jade:198 -msgid "Delete" -msgstr "Delete" - -#: src/jade/tabs/advanced.jade:38 -msgid "Bitcoin bridge" -msgstr "Bitcoin bridge" - -#: src/jade/tabs/advanced.jade:55 -msgid "Trust line" -msgstr "Trust line" - -#: src/jade/tabs/advanced.jade:60 -#: src/jade/tabs/advanced.jade:71 -#: src/jade/tabs/security.jade:162 -msgid "Show" -msgstr "Show" - -#: src/jade/tabs/advanced.jade:61 -#: src/jade/tabs/security.jade:163 -msgid "Hide" -msgstr "Hide" - -#: src/jade/tabs/advanced.jade:78 -msgid "Network settings" -msgstr "Network settings" - -#: src/jade/tabs/advanced.jade:80 -msgid "Maximum network fee" -msgstr "Maximum network fee" - -#: src/jade/tabs/advanced.jade:96 -msgid "Server settings" -msgstr "Server settings" - -#: src/jade/tabs/advanced.jade:101 -msgid "WebSocket host name" -msgstr "WebSocket host name" - -#: src/jade/tabs/advanced.jade:103 -msgid "Port number" -msgstr "Port number" - -#: src/jade/tabs/advanced.jade:109 -msgid "Socket ip or hostname is invalid." -msgstr "Socket ip or hostname is invalid." - -#: src/jade/tabs/advanced.jade:111 -msgid "Port number is invalid." -msgstr "Port number is invalid." - -#: src/jade/tabs/advanced.jade:118 -#: src/jade/tabs/advanced.jade:131 -msgid "Secure" -msgstr "Secure" - -#: src/jade/tabs/advanced.jade:132 -msgid "Not Secure" -msgstr "Not Secure" - -#: src/jade/tabs/advanced.jade:138 -msgid "Add new server" -msgstr "Add new server" - -#: src/jade/tabs/apps.jade:27 -msgid "App Ripple Address" -msgstr "App Ripple Address" - -#: src/jade/tabs/apps.jade:29 -msgid "Please enter a ripple address." -msgstr "Please enter a ripple address." - -#: src/jade/tabs/apps.jade:31 -msgid "Please enter a valid ripple address." -msgstr "Please enter a valid ripple address." - -#: src/jade/tabs/banner/announcement.jade:2 -msgid "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" -msgstr "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" - -#: src/jade/tabs/banner/unfunded.jade:2 -msgid "Welcome to Ripple Trade! Your account needs to be activated. You can activate it in 2 ways:" -msgstr "Welcome to Ripple Trade! Your account needs to be activated. You can activate it in 2 ways:" - -#: src/jade/tabs/banner/unfunded.jade:4 -msgid "Have another user send XRP to your Ripple name (~{{userCredentials.username}}). {{1}}" -msgstr "Have another user send XRP to your Ripple name (~{{userCredentials.username}}). {{1}}" - -#: src/jade/tabs/brl.jade:24 -#: src/jade/tabs/eur.jade:24 -#: src/jade/tabs/gold.jade:24 -#: src/jade/tabs/jpy.jade:24 -#: src/jade/tabs/mxn.jade:24 -#: src/jade/tabs/trust.jade:42 -#: src/jade/tabs/usd.jade:24 -msgid "There was an error while saving your changes." -msgstr "There was an error while saving your changes." - -#: src/jade/tabs/brl.jade:28 -#: src/jade/tabs/eur.jade:27 -#: src/jade/tabs/gold.jade:27 -#: src/jade/tabs/jpy.jade:28 -#: src/jade/tabs/mxn.jade:28 -#: src/jade/tabs/trust.jade:45 -#: src/jade/tabs/usd.jade:27 -msgid "You must have at least {{1}} to add a new trust line. {{2}}" -msgstr "You must have at least {{1}} to add a new trust line. {{2}}" - -#: src/jade/tabs/brl.jade:38 -msgid "Brazilian Real Deposit" -msgstr "Brazilian Real Deposit" - -#: src/jade/tabs/brl.jade:41 -#: src/jade/tabs/btc.jade:35 -#: src/jade/tabs/eur.jade:38 -#: src/jade/tabs/gold.jade:40 -#: src/jade/tabs/jpy.jade:41 -#: src/jade/tabs/mxn.jade:41 -#: src/jade/tabs/trust.jade:167 -#: src/jade/tabs/usd.jade:38 -msgid "Gateway" -msgstr "Gateway" - -#: src/jade/tabs/brl.jade:42 -#: src/jade/tabs/eur.jade:48 -#: src/jade/tabs/mxn.jade:81 -#: src/jade/tabs/mxn.jade:93 -#: src/jade/tabs/mxn.jade:103 -#: src/jade/tabs/security.jade:49 -msgid "{{1}}{{2}}" -msgstr "{{1}}{{2}}" - -#: src/jade/tabs/brl.jade:43 -msgid "Ripple (~rippex)" -msgstr "Ripple (~rippex)" - -#: src/jade/tabs/brl.jade:46 -#: src/jade/tabs/btc.jade:39 -#: src/jade/tabs/eur.jade:44 -#: src/jade/tabs/gold.jade:44 -#: src/jade/tabs/jpy.jade:45 -#: src/jade/tabs/mxn.jade:46 -#: src/jade/tabs/usd.jade:44 -msgid "Availability" -msgstr "Availability" - -#: src/jade/tabs/brl.jade:47 -msgid "Brazil" -msgstr "Brazil" - -#: src/jade/tabs/brl.jade:49 -#: src/jade/tabs/btc.jade:42 -#: src/jade/tabs/eur.jade:47 -#: src/jade/tabs/gold.jade:47 -#: src/jade/tabs/jpy.jade:48 -#: src/jade/tabs/mxn.jade:49 -#: src/jade/tabs/usd.jade:47 -msgid "Fees" -msgstr "Fees" - -#: src/jade/tabs/brl.jade:50 -#: src/jade/tabs/jpy.jade:49 -#: src/jade/tabs/kyc.jade:111 -#: src/jade/tabs/kyc.jade:126 -#: src/jade/tabs/kyc.jade:151 -msgid "{{1}}{{2}}{{3}}" -msgstr "{{1}}{{2}}{{3}}" - -#: src/jade/tabs/brl.jade:51 -msgid "Deposit: 1.50 BRL + 0.5%" -msgstr "Deposit: 1.50 BRL + 0.5%" - -#: src/jade/tabs/brl.jade:52 -msgid "Transfer: 0%" -msgstr "Transfer: 0%" - -#: src/jade/tabs/brl.jade:56 -#: src/jade/tabs/btc.jade:45 -#: src/jade/tabs/eur.jade:53 -#: src/jade/tabs/gold.jade:50 -#: src/jade/tabs/jpy.jade:54 -#: src/jade/tabs/mxn.jade:52 -#: src/jade/tabs/usd.jade:50 -msgid "Rating" -msgstr "Rating" - -#: src/jade/tabs/brl.jade:62 -msgid "Ripple Trade has partnered with Rippex to provide easy access to BRL. By continuing, you agree with Rippex's {{1}}Following this action will enable Rippex to hold BRL on your behalf." -msgstr "Ripple Trade has partnered with Rippex to provide easy access to BRL. By continuing, you agree with Rippex's {{1}}Following this action will enable Rippex to hold BRL on your behalf." - -#: src/jade/tabs/brl.jade:69 -msgid "Add Rippex" -msgstr "Add Rippex" - -#: src/jade/tabs/brl.jade:70 -msgid "Adding..." -msgstr "Adding..." - -#: src/jade/tabs/brl.jade:71 -#: src/jade/tabs/eur.jade:65 -#: src/jade/tabs/jpy.jade:64 -#: src/jade/tabs/usd.jade:62 -msgid "Hide instructions" -msgstr "Hide instructions" - -#: src/jade/tabs/brl.jade:72 -#: src/jade/tabs/eur.jade:66 -#: src/jade/tabs/jpy.jade:65 -#: src/jade/tabs/usd.jade:63 -msgid "Show instructions" -msgstr "Show instructions" - -#: src/jade/tabs/brl.jade:75 -#: src/jade/tabs/btc.jade:83 -msgid "{{1}}Not connected" -msgstr "{{1}}Not connected" - -#: src/jade/tabs/brl.jade:78 -#: src/jade/tabs/btc.jade:86 -msgid "{{1}}Connected" -msgstr "{{1}}Connected" - -#: src/jade/tabs/brl.jade:81 -#: src/jade/tabs/eur.jade:71 -#: src/jade/tabs/gold.jade:73 -#: src/jade/tabs/jpy.jade:74 -#: src/jade/tabs/mxn.jade:76 -#: src/jade/tabs/usd.jade:68 -msgid "Your account has to be activated before you can add a gateway account." -msgstr "Your account has to be activated before you can add a gateway account." - -#: src/jade/tabs/brl.jade:84 -#: src/jade/tabs/eur.jade:75 -#: src/jade/tabs/gold.jade:76 -#: src/jade/tabs/jpy.jade:77 -#: src/jade/tabs/mxn.jade:79 -#: src/jade/tabs/usd.jade:72 -msgid "×" -msgstr "×" - -#: src/jade/tabs/brl.jade:85 -msgid "NEW CUSTOMERS- SIGN UP AT RIPPEX" -msgstr "NEW CUSTOMERS- SIGN UP AT RIPPEX" - -#: src/jade/tabs/brl.jade:86 -msgid "{{1}} at Rippex.net to initiate deposits and withdrawals. You will need:{{2}}" -msgstr "{{1}} at Rippex.net to initiate deposits and withdrawals. You will need:{{2}}" - -#: src/jade/tabs/brl.jade:90 -msgid "A {{1}}" -msgstr "A {{1}}" - -#: src/jade/tabs/brl.jade:92 -msgid "A bank account in Brazil." -msgstr "A bank account in Brazil." - -#: src/jade/tabs/brl.jade:96 -msgid "EXISTING RIPPEX CUSTOMERS" -msgstr "EXISTING RIPPEX CUSTOMERS" - -#: src/jade/tabs/brl.jade:97 -msgid "If you have a Rippex account, {{1}}" -msgstr "If you have a Rippex account, {{1}}" - -#: src/jade/tabs/brl.jade:100 -msgid "DEPOSIT INSTRUCTIONS" -msgstr "DEPOSIT INSTRUCTIONS" - -#: src/jade/tabs/brl.jade:101 -msgid "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" -msgstr "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" - -#: src/jade/tabs/btc.jade:19 -msgid "Success! You can deposit BTC via your generated BTC receiving address." -msgstr "Success! You can deposit BTC via your generated BTC receiving address." - -#: src/jade/tabs/btc.jade:21 -msgid "There was an error with your request. {{1}}" -msgstr "There was an error with your request. {{1}}" - -#: src/jade/tabs/btc.jade:30 -msgid "Bitcoin Deposit" -msgstr "Bitcoin Deposit" - -#: src/jade/tabs/btc.jade:36 -msgid "btc2ripple (~snapswap) {{1}}" -msgstr "btc2ripple (~snapswap) {{1}}" - -#: src/jade/tabs/btc.jade:40 -#: src/jade/tabs/gold.jade:45 -#: src/jade/tabs/jpy.jade:46 -msgid "All countries" -msgstr "All countries" - -#: src/jade/tabs/btc.jade:43 -#: src/jade/tabs/mxn.jade:50 -msgid "0%" -msgstr "0%" - -#: src/jade/tabs/btc.jade:50 -msgid "Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By proceeding, you agree to the btc2ripple {{1}} Following this action will allow btc2ripple to hold BTC on your behalf." -msgstr "Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By proceeding, you agree to the btc2ripple {{1}} Following this action will allow btc2ripple to hold BTC on your behalf." - -#: src/jade/tabs/btc.jade:56 -msgid "Add btc2ripple" -msgstr "Add btc2ripple" - -#: src/jade/tabs/btc.jade:60 -#: src/jade/tabs/security.jade:64 -#: src/jade/tabs/trust.jade:123 -msgid "Connect" -msgstr "Connect" - -#: src/jade/tabs/btc.jade:62 -msgid "btc2ripple would like to:" -msgstr "btc2ripple would like to:" - -#: src/jade/tabs/btc.jade:64 -msgid "- Receive your email address {{1}}" -msgstr "- Receive your email address {{1}}" - -#: src/jade/tabs/btc.jade:65 -msgid "({{userBlob.data.email}})" -msgstr "({{userBlob.data.email}})" - -#: src/jade/tabs/btc.jade:66 -msgid "- Hold deposited BTC on your behalf" -msgstr "- Hold deposited BTC on your behalf" - -#: src/jade/tabs/btc.jade:67 -msgid "By proceeding, you agree to the btc2ripple {{1}}" -msgstr "By proceeding, you agree to the btc2ripple {{1}}" - -#: src/jade/tabs/btc.jade:75 -msgid "SnapSwap's btc2ripple service is currently unavailable. Please check back later." -msgstr "SnapSwap's btc2ripple service is currently unavailable. Please check back later." - -#: src/jade/tabs/btc.jade:94 -msgid "Personal Deposit address" -msgstr "Personal Deposit address" - -#: src/jade/tabs/btc.jade:96 -msgid "Your account is fully verified." -msgstr "Your account is fully verified." - -#: src/jade/tabs/btc.jade:104 -msgid "Withdrawal instructions" -msgstr "Withdrawal instructions" - -#: src/jade/tabs/btc.jade:105 -msgid "To withdraw to a BTC address, go to the Send tab and enter the BTC address. Using the btc2ripple service, you will be able tosend to that BTC address." -msgstr "To withdraw to a BTC address, go to the Send tab and enter the BTC address. Using the btc2ripple service, you will be able tosend to that BTC address." - -#: src/jade/tabs/btc.jade:110 -msgid "Waiting for response from SnapSwap service..." -msgstr "Waiting for response from SnapSwap service..." - -#: src/jade/tabs/btc.jade:112 -msgid "To deposit, generate a bitcoin receiving address using the {{1}} service powered by SnapSwap." -msgstr "To deposit, generate a bitcoin receiving address using the {{1}} service powered by SnapSwap." - -#: src/jade/tabs/contacts.jade:8 -msgid "A new contact has been successfully added." -msgstr "A new contact has been successfully added." - -#: src/jade/tabs/contacts.jade:9 -msgid "Your contact has been successfully updated." -msgstr "Your contact has been successfully updated." - -#: src/jade/tabs/contacts.jade:10 -msgid "A contact has been successfully removed." -msgstr "A contact has been successfully removed." - -#: src/jade/tabs/contacts.jade:12 -#: src/jade/tabs/contacts.jade:24 -msgid "Contact" -msgstr "Contact" - -#: src/jade/tabs/contacts.jade:13 -#: src/jade/tabs/contacts.jade:32 -msgid "Ripple name or address" -msgstr "Ripple name or address" - -#: src/jade/tabs/contacts.jade:15 -#: src/jade/tabs/contacts.jade:19 -#: src/jade/tabs/contacts.jade:48 -msgid "Add contact" -msgstr "Add contact" - -#: src/jade/tabs/contacts.jade:27 -#: src/jade/tabs/send.jade:245 -#: src/jade/tabs/send.jade:277 -msgid "Please enter a contact." -msgstr "Please enter a contact." - -#: src/jade/tabs/contacts.jade:28 -msgid "This contact already exists." -msgstr "This contact already exists." - -#: src/jade/tabs/contacts.jade:36 -msgid "Please enter a Ripple name." -msgstr "Please enter a Ripple name." - -#: src/jade/tabs/contacts.jade:37 -#: src/jade/tabs/contacts.jade:45 -msgid "You already have a contact with the same Ripple name and/or the same Destination tag." -msgstr "You already have a contact with the same Ripple name and/or the same Destination tag." - -#: src/jade/tabs/contacts.jade:38 -msgid "Not a valid Ripple name or address." -msgstr "Not a valid Ripple name or address." - -#: src/jade/tabs/contacts.jade:41 -#: src/jade/tabs/contacts.jade:81 -#: src/jade/tabs/send.jade:42 -#: src/jade/tabs/tx.jade:56 -msgid "Destination tag" -msgstr "Destination tag" - -#: src/jade/tabs/contacts.jade:42 -msgid "Leave blank if not applicable" -msgstr "Leave blank if not applicable" - -#: src/jade/tabs/contacts.jade:44 -#: src/jade/tabs/send.jade:46 -msgid "Invalid destination tag" -msgstr "Invalid destination tag" - -#: src/jade/tabs/contacts.jade:72 -msgid "You already have a contact with the same name." -msgstr "You already have a contact with the same name." - -#: src/jade/tabs/contacts.jade:78 -msgid "You already have this address." -msgstr "You already have this address." - -#: src/jade/tabs/contacts.jade:79 -#: src/jade/tabs/debug.jade:14 -msgid "Not a valid address." -msgstr "Not a valid address." - -#: src/jade/tabs/contacts.jade:84 -msgid "Invalid destination tag." -msgstr "Invalid destination tag." - -#: src/jade/tabs/contacts.jade:94 -msgid "You don't have any contacts yet. Click on 'Add contact' button in the top right corner to add a new contact." -msgstr "You don't have any contacts yet. Click on 'Add contact' button in the top right corner to add a new contact." - -#: src/jade/tabs/debug.jade:9 -msgid "Enter a Ripple name or address" -msgstr "Enter a Ripple name or address" - -#: src/jade/tabs/debug.jade:13 -msgid "Please enter an address." -msgstr "Please enter an address." - -#: src/jade/tabs/debug.jade:17 -msgid "Turn on debug mode" -msgstr "Turn on debug mode" - -#: src/jade/tabs/eur.jade:35 -msgid "Euro Deposit" -msgstr "Euro Deposit" - -#: src/jade/tabs/eur.jade:39 -msgid "SnapSwap EU (~SnapSwap){{1}}{{2}}" -msgstr "SnapSwap EU (~SnapSwap){{1}}{{2}}" - -#: src/jade/tabs/eur.jade:45 -msgid "All countries, except USA" -msgstr "All countries, except USA" - -#: src/jade/tabs/eur.jade:49 -msgid "€ 0.31 – € 15.00" -msgstr "€ 0.31 – € 15.00" - -#: src/jade/tabs/eur.jade:59 -msgid "Ripple Trade has partnered with SnapSwap to provide easier access to EUR. Following this action will enable SnapSwap to hold EUR on your behalf." -msgstr "Ripple Trade has partnered with SnapSwap to provide easier access to EUR. Following this action will enable SnapSwap to hold EUR on your behalf." - -#: src/jade/tabs/eur.jade:69 -#: src/jade/tabs/usd.jade:66 -msgid "Not connected" -msgstr "Not connected" - -#: src/jade/tabs/eur.jade:70 -#: src/jade/tabs/usd.jade:67 -msgid "Connected" -msgstr "Connected" - -#: src/jade/tabs/eur.jade:76 -msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.EU" -msgstr "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.EU" - -#: src/jade/tabs/eur.jade:77 -msgid "Register and verify your account at SnapSwap EU. You will need: {{1}}" -msgstr "Register and verify your account at SnapSwap EU. You will need: {{1}}" - -#: src/jade/tabs/eur.jade:81 -#: src/jade/tabs/usd.jade:78 -msgid "A valid government-issued ID: driver license, passport, ID card, or visa stamp." -msgstr "A valid government-issued ID: driver license, passport, ID card, or visa stamp." - -#: src/jade/tabs/eur.jade:83 -#: src/jade/tabs/usd.jade:80 -msgid "A proof of address: driver license, utility bill, bank statement, etc." -msgstr "A proof of address: driver license, utility bill, bank statement, etc." - -#: src/jade/tabs/eur.jade:85 -msgid "EXISTING SNAPSWAP EU CUSTOMERS" -msgstr "EXISTING SNAPSWAP EU CUSTOMERS" - -#: src/jade/tabs/eur.jade:89 -#: src/jade/tabs/jpy.jade:94 -#: src/jade/tabs/usd.jade:86 -msgid "Login to your account {{1}}" -msgstr "Login to your account {{1}}" - -#: src/jade/tabs/eur.jade:92 -#: src/jade/tabs/jpy.jade:96 -msgid "DEPOSITS AND WITHDRAWALS:" -msgstr "DEPOSITS AND WITHDRAWALS:" - -#: src/jade/tabs/eur.jade:96 -msgid "Deposit from your bank (2-4 business days)" -msgstr "Deposit from your bank (2-4 business days)" - -#: src/jade/tabs/eur.jade:98 -msgid "Withdraw to your bank account in SEPA (2-4 business days)" -msgstr "Withdraw to your bank account in SEPA (2-4 business days)" - -#: src/jade/tabs/eur.jade:100 -msgid "Withdraw to SmartyCash Card (instant)" -msgstr "Withdraw to SmartyCash Card (instant)" - -#: src/jade/tabs/exchange.jade:13 -msgid "You have to be funded before you can exchange money" -msgstr "You have to be funded before you can exchange money" - -#: src/jade/tabs/exchange.jade:23 -msgid "Buy (Market Order)" -msgstr "Buy (Market Order)" - -#: src/jade/tabs/exchange.jade:24 -msgid "Submit a buy order at the current market rate. Orders will execute instantly." -msgstr "Submit a buy order at the current market rate. Orders will execute instantly." - -# Receive (amount) -#: src/jade/tabs/exchange.jade:27 -msgid "Receive (amount)" -msgstr "I want to buy" - -#: src/jade/tabs/exchange.jade:34 -#: src/jade/tabs/widgets/balances.jade:49 -msgid "add gateway" -msgstr "add gateway" - -#: src/jade/tabs/exchange.jade:37 -#: src/jade/tabs/send.jade:90 -msgid "Please enter an amount." -msgstr "Please enter an amount." - -#: src/jade/tabs/exchange.jade:38 -#: src/jade/tabs/send.jade:91 -#: src/jade/tabs/trade.jade:153 -#: src/jade/tabs/trade.jade:168 -#: src/jade/tabs/trade.jade:183 -#: src/jade/tabs/trust.jade:101 -msgid "Not a valid amount." -msgstr "Not a valid amount." - -#: src/jade/tabs/exchange.jade:39 -msgid "You are either trying to convert too little or too much XRP.Minimum amount is 0.000001 XRP and maximum amount is 100 billion XRP." -msgstr "You are either trying to convert too little or too much XRP.Minimum amount is 0.000001 XRP and maximum amount is 100 billion XRP." - -#: src/jade/tabs/exchange.jade:42 -#: src/jade/tabs/send.jade:96 -#: src/jade/tabs/trust.jade:103 -msgid "Your amount has too many digits. The max number of digits is 16." -msgstr "Your amount has too many digits. The max number of digits is 16." - -#: src/jade/tabs/exchange.jade:43 -msgid "Please enter an amount greater than zero." -msgstr "Please enter an amount greater than zero." - -#: src/jade/tabs/exchange.jade:46 -msgid "{{1}} Calculating..." -msgstr "{{1}} Calculating..." - -#: src/jade/tabs/exchange.jade:50 -msgid "Cannot convert to {{exchange.amount}} {{exchange.currency_name}}. Please make sure your account has enough funds, and a {{1}} to a {{exchange.currency_name}} gateway." -msgstr "Cannot convert to {{exchange.amount}} {{exchange.currency_name}}. Please make sure your account has enough funds, and a {{1}} to a {{exchange.currency_name}} gateway." - -#: src/jade/tabs/exchange.jade:54 -msgid "Sorry! Cannot convert {{exchange.amount}} {{exchange.currency_name}}. Please make sure your account has enough funds." -msgstr "Sorry! Cannot convert {{exchange.amount}} {{exchange.currency_name}}. Please make sure your account has enough funds." - -#: src/jade/tabs/exchange.jade:56 -#: src/jade/tabs/send.jade:142 -msgid "Error while calculating path" -msgstr "Error while calculating path" - -#: src/jade/tabs/exchange.jade:60 -msgid "Exchange" -msgstr "Exchange" - -#: src/jade/tabs/exchange.jade:72 -msgid "Exchange {{ alt.amount | rpcurrency }} {{1}}" -msgstr "Exchange {{ alt.amount | rpcurrency }} {{1}}" - -#: src/jade/tabs/exchange.jade:78 -#: src/jade/tabs/send.jade:170 -msgid "Paths last updated {{1}} {{2: seconds}} {{3: second}} ago" -msgstr "Paths last updated {{1}} {{2: seconds}} {{3: second}} ago" - -#: src/jade/tabs/exchange.jade:89 -msgid "Ripple is calculating a path for your conversion." -msgstr "Ripple is calculating a path for your conversion." - -#: src/jade/tabs/exchange.jade:94 -msgid "{{1:You are exchanging}}{{2}}{{3:to}}{{4}}{{5:You will pay at most}}{{6}}{{7:Are you sure?}}" -msgstr "{{1:You are exchanging}}{{2}}{{3:to}}{{4}}{{5:You will pay at most}}{{6}}{{7:Are you sure?}}" - -#: src/jade/tabs/exchange.jade:139 -msgid "Do another conversion" -msgstr "Do another conversion" - -#: src/jade/tabs/exchange.jade:141 -#: src/jade/tabs/send.jade:257 -#: src/jade/tabs/send.jade:291 -msgid "Back to balance" -msgstr "Back to balance" - -#: src/jade/tabs/fund.jade:20 -msgid "Add trust" -msgstr "Add trust" - -#: src/jade/tabs/fund.jade:27 -#: src/jade/tabs/send.jade:26 -msgid "Enter a Ripple name or contact" -msgstr "Enter a Ripple name or contact" - -#: src/jade/tabs/fund.jade:33 -#: src/jade/tabs/trust.jade:73 -msgid "Account does not meet the minimum XRP reserve." -msgstr "Account does not meet the minimum XRP reserve." - -#: src/jade/tabs/fund.jade:36 -#: src/jade/tabs/trust.jade:76 -msgid "Please enter a Ripple name, contact, or address." -msgstr "Please enter a Ripple name, contact, or address." - -#: src/jade/tabs/fund.jade:37 -#: src/jade/tabs/trust.jade:77 -msgid "You've entered your own address." -msgstr "You've entered your own address." - -#: src/jade/tabs/fund.jade:38 -#: src/jade/tabs/trust.jade:78 -msgid "Please enter a valid Ripple name, contact, or address." -msgstr "Please enter a valid Ripple name, contact, or address." - -#: src/jade/tabs/fund.jade:48 -#: src/jade/tabs/trust.jade:80 -msgid "Amount field is required" -msgstr "Amount field is required" - -#: src/jade/tabs/fund.jade:50 -#: src/jade/tabs/trust.jade:82 -#: src/jade/tabs/trust.jade:105 -msgid "XRP can be sent without extending trust. If you really want to trust in XRP, please use XRR currency code." -msgstr "XRP can be sent without extending trust. If you really want to trust in XRP, please use XRR currency code." - -#: src/jade/tabs/fund.jade:53 -#: src/jade/tabs/trust.jade:85 -#: src/jade/tabs/trust.jade:108 -msgid "Currency field is required" -msgstr "Currency field is required" - -#: src/jade/tabs/fund.jade:59 -#: src/jade/tabs/fund.jade:60 -#: src/jade/tabs/trust.jade:114 -#: src/jade/tabs/trust.jade:115 -msgid "Allow Rippling" -msgstr "Allow Rippling" - -#: src/jade/tabs/fund.jade:60 -msgid "Allow this trust line's balances to be transferred to another issuer you trust. More information" -msgstr "Allow this trust line's balances to be transferred to another issuer you trust. More information" - -#: src/jade/tabs/fund.jade:63 -msgid "Cancel" -msgstr "Cancel" - -#: src/jade/tabs/fund/menu.jade:3 -msgid "{{1}}XRP" -msgstr "{{1}}XRP" - -#: src/jade/tabs/fund/menu.jade:6 -msgid "Featured gateways" -msgstr "Featured gateways" - -#: src/jade/tabs/fund/menu.jade:7 -msgid "{{1}}BRL" -msgstr "{{1}}BRL" - -#: src/jade/tabs/fund/menu.jade:10 -msgid "{{1}}BTC" -msgstr "{{1}}BTC" - -#: src/jade/tabs/fund/menu.jade:13 -msgid "{{1}}EUR" -msgstr "{{1}}EUR" - -#: src/jade/tabs/fund/menu.jade:16 -msgid "{{1}}JPY" -msgstr "{{1}}JPY" - -#: src/jade/tabs/fund/menu.jade:19 -msgid "{{1}}MXN" -msgstr "{{1}}MXN" - -#: src/jade/tabs/fund/menu.jade:22 -msgid "{{1}}USD" -msgstr "{{1}}USD" - -#: src/jade/tabs/fund/menu.jade:25 -msgid "{{1}}XAU" -msgstr "{{1}}XAU" - -#: src/jade/tabs/fund/menu.jade:28 -msgid "Add any gateway" -msgstr "Add any gateway" - -#: src/jade/tabs/fund/menu.jade:30 -msgid "Learn more about gateways" -msgstr "Learn more about gateways" - -#: src/jade/tabs/gold.jade:37 -msgid "Gold Deposit" -msgstr "Gold Deposit" - -#: src/jade/tabs/gold.jade:41 -msgid "Gold Bullion International (~gbi) {{1}}" -msgstr "Gold Bullion International (~gbi) {{1}}" - -#: src/jade/tabs/gold.jade:48 -msgid "0.5% per year" -msgstr "0.5% per year" - -#: src/jade/tabs/gold.jade:56 -msgid "Ripple Trade has partnered with GBI to provide easy access toXAU. By continuing, you are allowing GBI to hold gold on your behalf." -msgstr "Ripple Trade has partnered with GBI to provide easy access toXAU. By continuing, you are allowing GBI to hold gold on your behalf." - -#: src/jade/tabs/gold.jade:67 -#: src/jade/tabs/jpy.jade:68 -#: src/jade/tabs/mxn.jade:70 -msgid "{{1}} Not connected" -msgstr "{{1}} Not connected" - -#: src/jade/tabs/gold.jade:70 -#: src/jade/tabs/jpy.jade:71 -#: src/jade/tabs/mxn.jade:73 -msgid "{{1}} Connected" -msgstr "{{1}} Connected" - -#: src/jade/tabs/gold.jade:77 -msgid "Deposit" -msgstr "Deposit" - -#: src/jade/tabs/gold.jade:78 -msgid "GBI does not currently support direct deposits. You can {{1}} or {{2}}." -msgstr "GBI does not currently support direct deposits. You can {{1}} or {{2}}." - -#: src/jade/tabs/gold.jade:84 -msgid "Withdrawal" -msgstr "Withdrawal" - -#: src/jade/tabs/gold.jade:85 -msgid "You can redeem the physical gold in 1 oz increments.To do so, you'll need to {{1}} and arrange to have the gold shipped to you." -msgstr "You can redeem the physical gold in 1 oz increments.To do so, you'll need to {{1}} and arrange to have the gold shipped to you." - -#: src/jade/tabs/history.jade:11 -msgid "Loading History" -msgstr "Loading History" - -#: src/jade/tabs/history.jade:16 -msgid "Your account history is empty" -msgstr "Your account history is empty" - -#: src/jade/tabs/history.jade:24 -msgid "Transaction type{{1}}{{2}}" -msgstr "Transaction type{{1}}{{2}}" - -#: src/jade/tabs/history.jade:37 -msgid "Date{{1}}{{2}}" -msgstr "Date{{1}}{{2}}" - -#: src/jade/tabs/history.jade:42 -msgid "Load history for specific date range" -msgstr "Load history for specific date range" - -#: src/jade/tabs/history.jade:48 -msgid "From" -msgstr "From" - -#: src/jade/tabs/history.jade:54 -msgid "To" -msgstr "To" - -#: src/jade/tabs/history.jade:57 -msgid "Filter" -msgstr "Filter" - -#: src/jade/tabs/history.jade:64 -msgid "Date" -msgstr "Date" - -#: src/jade/tabs/history.jade:65 -#: src/jade/tabs/history.jade:170 -msgid "Description" -msgstr "Description" - -#: src/jade/tabs/history.jade:68 -#: src/jade/tabs/history.jade:73 -msgid "Export to CSV" -msgstr "Export to CSV" - -#: src/jade/tabs/history.jade:69 -msgid "Sorry, no transactions match your current filter." -msgstr "Sorry, no transactions match your current filter." - -#: src/jade/tabs/history.jade:91 -msgid "You sent{{1}}to{{2}}" -msgstr "You sent{{1}}to{{2}}" - -#: src/jade/tabs/history.jade:97 -msgid "{{1}}sent you{{2}}" -msgstr "{{1}}sent you{{2}}" - -#: src/jade/tabs/history.jade:103 -msgid "You requested to exchange{{1}}to{{2}}" -msgstr "You requested to exchange{{1}}to{{2}}" - -#: src/jade/tabs/history.jade:109 -msgid "{{1}}now trusts you for{{2}}" -msgstr "{{1}}now trusts you for{{2}}" - -#: src/jade/tabs/history.jade:122 -#: src/jade/tabs/history/effects.jade:45 -msgid "You created an order to sell{{1}}for{{2}}" -msgstr "You created an order to sell{{1}}for{{2}}" - -#: src/jade/tabs/history.jade:126 -#: src/jade/tabs/history/effects.jade:49 -msgid "You created an order to buy{{1}}for{{2}}" -msgstr "You created an order to buy{{1}}for{{2}}" - -#: src/jade/tabs/history.jade:132 -msgid "You cancelled an order accepting {{1}}for{{2}}" -msgstr "You cancelled an order accepting {{1}}for{{2}}" - -#: src/jade/tabs/history.jade:145 -msgid "Unknown transaction" -msgstr "Unknown transaction" - -#: src/jade/tabs/history.jade:148 -msgid "The client failed to parse this transaction. The developers have been notified of the issue." -msgstr "The client failed to parse this transaction. The developers have been notified of the issue." - -#: src/jade/tabs/history.jade:153 -msgid "{{1}} sent you{{2}} and activated your account!" -msgstr "{{1}} sent you{{2}} and activated your account!" - -#: src/jade/tabs/history.jade:160 -msgid "You deposited{{1}} using {{entry.details.app.name}}" -msgstr "You deposited{{1}} using {{entry.details.app.name}}" - -#: src/jade/tabs/history.jade:168 -msgid "Balance Changes" -msgstr "Balance Changes" - -#: src/jade/tabs/history.jade:171 -msgid "Issuer" -msgstr "Issuer" - -#: src/jade/tabs/history.jade:173 -msgid "Final balance" -msgstr "Final balance" - -#: src/jade/tabs/history.jade:176 -msgid "XRP Balance Change" -msgstr "XRP Balance Change" - -#: src/jade/tabs/history.jade:177 -msgid "{{effect.currency}} Balance Change" -msgstr "{{effect.currency}} Balance Change" - -#: src/jade/tabs/history.jade:183 -msgid "Transaction details" -msgstr "Transaction details" - -#: src/jade/tabs/history.jade:184 -msgid "Add {{1}} to contact list" -msgstr "Add {{1}} to contact list" - -#: src/jade/tabs/history.jade:189 -msgid "{{1}} Loading more" -msgstr "{{1}} Loading more" - -#: src/jade/tabs/history.jade:192 -#: src/jade/tabs/trade.jade:500 -msgid "Load more" -msgstr "Load more" - -#: src/jade/tabs/history.jade:193 -msgid "No more transactions left" -msgstr "No more transactions left" - -#: src/jade/tabs/history/effects.jade:4 -#: src/jade/tabs/history/effects.jade:19 -msgid "You sold{{1}}for{{2}}" -msgstr "You sold{{1}}for{{2}}" - -#: src/jade/tabs/history/effects.jade:8 -#: src/jade/tabs/history/effects.jade:23 -msgid "You bought{{1}}for{{2}}" -msgstr "You bought{{1}}for{{2}}" - -#: src/jade/tabs/history/effects.jade:13 -#: src/jade/tabs/history/effects.jade:28 -msgid "price" -msgstr "price" - -#: src/jade/tabs/history/effects.jade:17 -msgid "This order has been filled." -msgstr "This order has been filled." - -#: src/jade/tabs/history/effects.jade:32 -msgid "The rest of your order has been cancelled due to lack of funds." -msgstr "The rest of your order has been cancelled due to lack of funds." - -#: src/jade/tabs/history/effects.jade:33 -msgid "This order has{{1}}remaining." -msgstr "This order has{{1}}remaining." - -#: src/jade/tabs/history/effects.jade:39 -msgid "Order ({{1}} for {{2}}) has been cancelled due to lack of funds." -msgstr "Order ({{1}} for {{2}}) has been cancelled due to lack of funds." - -#: src/jade/tabs/history/effects.jade:53 -msgid "You bought{{1}}for{{2}}({{3:price}}{{4}})." -msgstr "You bought{{1}}for{{2}}({{3:price}}{{4}})." - -#: src/jade/tabs/history/effects.jade:68 -msgid "{{1}}is trusting you for{{2}}." -msgstr "{{1}}is trusting you for{{2}}." - -#: src/jade/tabs/history/effects.jade:73 -msgid "You have changed {{1}}trust for{{2}}from{{3}}to{{4}}." -msgstr "You have changed {{1}}trust for{{2}}from{{3}}to{{4}}." - -#: src/jade/tabs/history/effects.jade:83 -msgid "{{1}}changed the{{2}}trust from{{3}}to{{4}}." -msgstr "{{1}}changed the{{2}}trust from{{3}}to{{4}}." - -#: src/jade/tabs/history/effects.jade:92 -msgid "Trust balance between you and{{1}}has been changed by{{2}}." -msgstr "Trust balance between you and{{1}}has been changed by{{2}}." - -#: src/jade/tabs/history/effects.jade:99 -msgid "Your balance has been changed by{{1}}." -msgstr "Your balance has been changed by{{1}}." - -#: src/jade/tabs/jpy.jade:38 -msgid "Japanese Yen Deposit" -msgstr "Japanese Yen Deposit" - -#: src/jade/tabs/jpy.jade:42 -msgid "Tokyo JPY Issuer (~tokyojpy) {{1}}" -msgstr "Tokyo JPY Issuer (~tokyojpy) {{1}}" - -#: src/jade/tabs/jpy.jade:59 -msgid "Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your behalf." -msgstr "Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your behalf." - -#: src/jade/tabs/jpy.jade:78 -msgid "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" -msgstr "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" - -#: src/jade/tabs/jpy.jade:79 -msgid "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" -msgstr "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" - -#: src/jade/tabs/jpy.jade:84 -msgid "A valid government-issued ID." -msgstr "A valid government-issued ID." - -#: src/jade/tabs/jpy.jade:86 -msgid "A proof of address (utility bill, etc)." -msgstr "A proof of address (utility bill, etc)." - -#: src/jade/tabs/jpy.jade:88 -msgid "A bank account under the same name." -msgstr "A bank account under the same name." - -#: src/jade/tabs/jpy.jade:90 -msgid "EXISTING TOKYO JPY ISSUER CUSTOMERS" -msgstr "EXISTING TOKYO JPY ISSUER CUSTOMERS" - -#: src/jade/tabs/jpy.jade:100 -msgid "Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details {{1}}" -msgstr "Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details {{1}}" - -#: src/jade/tabs/jpy.jade:103 -msgid "To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account and then initiate a transfer into your Ripple account." -msgstr "To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account and then initiate a transfer into your Ripple account." - -#: src/jade/tabs/jpy.jade:105 -msgid "To withdraw to a bank account, you’ll first send money from your Ripple account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo JPY Issuer site to send to your bank account." -msgstr "To withdraw to a bank account, you’ll first send money from your Ripple account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo JPY Issuer site to send to your bank account." - -#: src/jade/tabs/kyc.jade:14 -msgid "Profile completion is only available to US residents." -msgstr "Profile completion is only available to US residents." - -#: src/jade/tabs/kyc.jade:21 -#: src/jade/tabs/trade.jade:285 -msgid "Verifying your information. Please wait..." -msgstr "Verifying your information. Please wait..." - -#: src/jade/tabs/kyc.jade:23 -msgid "Your identity information has been verified." -msgstr "Your identity information has been verified." - -#: src/jade/tabs/kyc.jade:25 -msgid "Your identity questions have been verified." -msgstr "Your identity questions have been verified." - -#: src/jade/tabs/kyc.jade:27 -msgid "Congratulations, you've verified your identity! You will now be redirected back to the instant deposit page." -msgstr "Congratulations, you've verified your identity! You will now be redirected back to the instant deposit page." - -#: src/jade/tabs/kyc.jade:29 -msgid "There was an error with your request. Please try again later." -msgstr "There was an error with your request. Please try again later." - -#: src/jade/tabs/kyc.jade:31 -msgid "There was an error with your request. Make sure your phone number is valid and try again." -msgstr "There was an error with your request. Make sure your phone number is valid and try again." - -#: src/jade/tabs/kyc.jade:33 -msgid "Please check your verification code and try again." -msgstr "Please check your verification code and try again." - -#: src/jade/tabs/kyc.jade:35 -msgid "There was an error while requesting the verification code. Please try again later." -msgstr "There was an error while requesting the verification code. Please try again later." - -#: src/jade/tabs/kyc.jade:37 -msgid "We are unable to validate your identity information. Please check your information and try again." -msgstr "We are unable to validate your identity information. Please check your information and try again." - -#: src/jade/tabs/kyc.jade:39 -msgid "We are unable to validate your identity questions. Please check your answers and try again." -msgstr "We are unable to validate your identity questions. Please check your answers and try again." - -#: src/jade/tabs/kyc.jade:41 -msgid "Sorry, you've reached your maximum number of verification attempts. Please try again in 24 hours." -msgstr "Sorry, you've reached your maximum number of verification attempts. Please try again in 24 hours." - -#: src/jade/tabs/kyc.jade:43 -msgid "We can't verify your identity. Please contact us at support@ripple.com." -msgstr "We can't verify your identity. Please contact us at support@ripple.com." - -#: src/jade/tabs/kyc.jade:48 -msgid "Profile Completion" -msgstr "Profile Completion" - -#: src/jade/tabs/kyc.jade:52 -msgid "STEP 1: IDENTITY INFORMATION" -msgstr "STEP 1: IDENTITY INFORMATION" - -#: src/jade/tabs/kyc.jade:54 -msgid "STEP 2: IDENTITY QUESTIONS" -msgstr "STEP 2: IDENTITY QUESTIONS" - -#: src/jade/tabs/kyc.jade:56 -msgid "STEP 3: TWO-FACTOR AUTHENTICATION" -msgstr "STEP 3: TWO-FACTOR AUTHENTICATION" - -#: src/jade/tabs/kyc.jade:63 -msgid "First Name" -msgstr "First Name" - -#: src/jade/tabs/kyc.jade:67 -msgid "Last Name" -msgstr "Last Name" - -#: src/jade/tabs/kyc.jade:71 -msgid "Street Address" -msgstr "Street Address" - -#: src/jade/tabs/kyc.jade:76 -msgid "City" -msgstr "City" - -#: src/jade/tabs/kyc.jade:80 -msgid "State" -msgstr "State" - -#: src/jade/tabs/kyc.jade:84 -msgid "ZIP" -msgstr "ZIP" - -#: src/jade/tabs/kyc.jade:88 -msgid "Date of Birth" -msgstr "Date of Birth" - -#: src/jade/tabs/kyc.jade:92 -msgid "Month{{1}}" -msgstr "Month{{1}}" - -#: src/jade/tabs/kyc.jade:95 -msgid "Day{{1}}" -msgstr "Day{{1}}" - -#: src/jade/tabs/kyc.jade:98 -msgid "Year{{1}}" -msgstr "Year{{1}}" - -#: src/jade/tabs/kyc.jade:113 -msgid "Continue to identity questions" -msgstr "Continue to identity questions" - -#: src/jade/tabs/kyc.jade:114 -#: src/jade/tabs/kyc.jade:129 -#: src/jade/tabs/kyc.jade:154 -#: src/jade/tabs/kyc.jade:184 -#: src/jade/tabs/login.jade:17 -msgid "Verifying..." -msgstr "Verifying..." - -#: src/jade/tabs/kyc.jade:120 -msgid "{{ q.question }}{{1}}" -msgstr "{{ q.question }}{{1}}" - -#: src/jade/tabs/kyc.jade:123 -msgid "{{ a.answer }}" -msgstr "{{ a.answer }}" - -#: src/jade/tabs/kyc.jade:128 -msgid "Continue to two-factor authentication" -msgstr "Continue to two-factor authentication" - -#: src/jade/tabs/kyc.jade:137 -msgid "Two-factor authentication provides extra security for your account." -msgstr "Two-factor authentication provides extra security for your account." - -#: src/jade/tabs/kyc.jade:145 -msgid "Ripple Trade has partnered with Authy to provide better security for your account.By continuing, you agree to Authy's {{1:Terms of Service}}." -msgstr "Ripple Trade has partnered with Authy to provide better security for your account.By continuing, you agree to Authy's {{1:Terms of Service}}." - -#: src/jade/tabs/kyc.jade:153 -msgid "Verify phone number" -msgstr "Verify phone number" - -#: src/jade/tabs/kyc.jade:164 -msgid "change" -msgstr "change" - -#: src/jade/tabs/kyc.jade:168 -msgid "A verification code has been sent to +{{ currentCountryCode }} {{ phoneNumber }}." -msgstr "A verification code has been sent to +{{ currentCountryCode }} {{ phoneNumber }}." - -#: src/jade/tabs/kyc.jade:172 -#: src/jade/tabs/login/form.jade:16 -#: src/jade/tabs/security.jade:97 -msgid "Verification Code" -msgstr "Verification Code" - -#: src/jade/tabs/kyc.jade:183 -msgid "Submit code" -msgstr "Submit code" - -#: src/jade/tabs/login.jade:4 -#: src/jade/tabs/migrate.jade:4 -#: src/jade/tabs/recover.jade:3 -#: src/jade/tabs/register.jade:5 -#: src/jade/tabs/register.jade:137 -#: src/jade/tabs/register.jade:184 -msgid "Welcome to Ripple Trade" -msgstr "Welcome to Ripple Trade" - -#: src/jade/tabs/login.jade:6 -#: src/jade/tabs/migrate.jade:6 -#: src/jade/tabs/recover.jade:5 -#: src/jade/tabs/register.jade:7 -#: src/jade/tabs/register.jade:139 -#: src/jade/tabs/register.jade:186 -msgid "Trade hundreds of assets, from XRP to crypto to gold to fiat." -msgstr "Trade hundreds of assets, from XRP to crypto to gold to fiat." - -#: src/jade/tabs/login.jade:15 -#: src/jade/tabs/login.jade:31 -msgid "Log In" -msgstr "Log In" - -#: src/jade/tabs/login.jade:18 -msgid "You have successfully verified your email address." -msgstr "You have successfully verified your email address." - -#: src/jade/tabs/login.jade:19 -msgid "Email verification token is invalid. It has either expired or has been resent. Please check your inbox for the most recent verification email." -msgstr "Email verification token is invalid. It has either expired or has been resent. Please check your inbox for the most recent verification email." - -#: src/jade/tabs/login.jade:30 -msgid "Logging in" -msgstr "Logging in" - -#: src/jade/tabs/login.jade:34 -msgid "Verify" -msgstr "Verify" - -#: src/jade/tabs/login.jade:36 -#: src/jade/tabs/register.jade:114 -msgid "Already have a ripple.com/client account? {{1:Migrate}}" -msgstr "Already have a ripple.com/client account? {{1:Migrate}}" - -#: src/jade/tabs/login.jade:41 -#: src/jade/tabs/login.jade:42 -#: src/jade/tabs/recover.jade:9 -msgid "Account Recovery" -msgstr "Account Recovery" - -#: src/jade/tabs/login.jade:49 -msgid "{{1:You're sending money to}}{{2}}." -msgstr "{{1:You're sending money to}}{{2}}." - -#: src/jade/tabs/login.jade:53 -msgid "{{1:You're sending}}{{2}}{{3: to }}{{4}}." -msgstr "{{1:You're sending}}{{2}}{{3: to }}{{4}}." - -#: src/jade/tabs/login.jade:63 -msgid "{{1:You're connecting to the gateway}}{{2}}{{3:for{{1}}}}{{4:with a limit of{{1}}}}." -msgstr "{{1:You're connecting to the gateway}}{{2}}{{3:for{{1}}}}{{4:with a limit of{{1}}}}." - -#: src/jade/tabs/login.jade:78 -msgid "{{1:You're adding}}{{2}}{{3:to your contacts list}}" -msgstr "{{1:You're adding}}{{2}}{{3:to your contacts list}}" - -#: src/jade/tabs/login.jade:95 -msgid "{{1}} Log In" -msgstr "{{1}} Log In" - -#: src/jade/tabs/login.jade:98 -msgid "You can confirm this transaction on the next page." -msgstr "You can confirm this transaction on the next page." - -#: src/jade/tabs/login.jade:99 -msgid "New to {{productName}}? {{1:Create a wallet}}" -msgstr "New to {{productName}}? {{1:Create a wallet}}" - -#: src/jade/tabs/login/form.jade:12 -#: src/jade/tabs/security.jade:91 -msgid "Please enter the verification code from the SMS message sent to your device:" -msgstr "Please enter the verification code from the SMS message sent to your device:" - -#: src/jade/tabs/login/form.jade:13 -#: src/jade/tabs/security.jade:92 -msgid "Please enter the verification code from the Authy app installed on your device:" -msgstr "Please enter the verification code from the Authy app installed on your device:" - -#: src/jade/tabs/login/form.jade:23 -msgid "Resend" -msgstr "Resend" - -#: src/jade/tabs/login/form.jade:24 -#: src/jade/tabs/security.jade:105 -msgid "Send Via SMS" -msgstr "Send Via SMS" - -#: src/jade/tabs/login/form.jade:30 -msgid "Remember me on this device for 30 days" -msgstr "Remember me on this device for 30 days" - -#: src/jade/tabs/migrate.jade:10 -#: src/jade/tabs/register.jade:17 -#: src/jade/tabs/register.jade:142 -#: src/jade/tabs/register.jade:189 -msgid "Migrate" -msgstr "Migrate" - -#: src/jade/tabs/migrate.jade:11 -msgid "To begin migration, enter the name and passphrase used to encrypt your ripple.com/client wallet below. After migration, you will no longer be able to login on ripple.com/client." -msgstr "To begin migration, enter the name and passphrase used to encrypt your ripple.com/client wallet below. After migration, you will no longer be able to login on ripple.com/client." - -#: src/jade/tabs/migrate.jade:15 -msgid "Existing ripple.com/client Wallet name" -msgstr "Existing ripple.com/client Wallet name" - -#: src/jade/tabs/migrate.jade:18 -msgid "Passphrase" -msgstr "Passphrase" - -#: src/jade/tabs/migrate.jade:31 -msgid "Begin Migration" -msgstr "Begin Migration" - -#: src/jade/tabs/migrate.jade:32 -msgid "New to {{productName}}? {{1:Sign Up}}" -msgstr "New to {{productName}}? {{1:Sign Up}}" - -#: src/jade/tabs/migrate.jade:34 -msgid "Have a {{productName}} account? {{1:Log In}}" -msgstr "Have a {{productName}} account? {{1:Log In}}" - -#: src/jade/tabs/mxn.jade:38 -msgid "Mexican Peso Deposit" -msgstr "Mexican Peso Deposit" - -#: src/jade/tabs/mxn.jade:42 -msgid "Bitso (~bitso) {{1}}{{2}}" -msgstr "Bitso (~bitso) {{1}}{{2}}" - -#: src/jade/tabs/mxn.jade:47 -msgid "All countries except the US" -msgstr "All countries except the US" - -#: src/jade/tabs/mxn.jade:58 -msgid "Ripple Trade has partnered with Bitso to provide easy access to MXN (Mexican Peso). By continuing, you agree with Bitso’s terms of service. Following this action will enable Bitso to hold MXN on your behalf." -msgstr "Ripple Trade has partnered with Bitso to provide easy access to MXN (Mexican Peso). By continuing, you agree with Bitso’s terms of service. Following this action will enable Bitso to hold MXN on your behalf." - -#: src/jade/tabs/mxn.jade:80 -msgid "TO FUND/REDEEM MEXICAN PESO:" -msgstr "TO FUND/REDEEM MEXICAN PESO:" - -#: src/jade/tabs/mxn.jade:82 -msgid "Register or login at {{1}}to initiate deposits and withdrawals." -msgstr "Register or login at {{1}}to initiate deposits and withdrawals." - -#: src/jade/tabs/mxn.jade:86 -msgid "A valid, non-US, state-issued ID (passport, driver's license, etc)." -msgstr "A valid, non-US, state-issued ID (passport, driver's license, etc)." - -#: src/jade/tabs/mxn.jade:87 -msgid "Proof of address (utility bill or other type of bill that has your address on it). Verification is required for peso deposits or withdrawals." -msgstr "Proof of address (utility bill or other type of bill that has your address on it). Verification is required for peso deposits or withdrawals." - -#: src/jade/tabs/mxn.jade:89 -msgid "To fund your Ripple account, see the below options. Once a balance is deposited with Bitso, you can send it to your Ripple account using the Bitso Dashboard." -msgstr "To fund your Ripple account, see the below options. Once a balance is deposited with Bitso, you can send it to your Ripple account using the Bitso Dashboard." - -#: src/jade/tabs/mxn.jade:90 -msgid "To withdraw from your Ripple account, click on the 'Redeem from Ripple' button on the Bitso Dashboard." -msgstr "To withdraw from your Ripple account, click on the 'Redeem from Ripple' button on the Bitso Dashboard." - -#: src/jade/tabs/mxn.jade:92 -#: src/jade/tabs/usd.jade:89 -msgid "DEPOSIT OPTIONS" -msgstr "DEPOSIT OPTIONS" - -#: src/jade/tabs/mxn.jade:94 -msgid "Bitso accepts deposits by the following methods:" -msgstr "Bitso accepts deposits by the following methods:" - -#: src/jade/tabs/mxn.jade:96 -#: src/jade/tabs/mxn.jade:106 -msgid "Bank Wire" -msgstr "Bank Wire" - -#: src/jade/tabs/mxn.jade:97 -#: src/jade/tabs/mxn.jade:107 -msgid "SPEI (Mexican instant inter-bank transfer)" -msgstr "SPEI (Mexican instant inter-bank transfer)" - -#: src/jade/tabs/mxn.jade:98 -#: src/jade/tabs/mxn.jade:108 -msgid "Bitcoin" -msgstr "Bitcoin" - -#: src/jade/tabs/mxn.jade:99 -msgid "MXN Cash (at locations across Mexico)" -msgstr "MXN Cash (at locations across Mexico)" - -#: src/jade/tabs/mxn.jade:100 -msgid "Pademobile wallet" -msgstr "Pademobile wallet" - -#: src/jade/tabs/mxn.jade:102 -#: src/jade/tabs/usd.jade:99 -msgid "WITHDRAWAL OPTIONS" -msgstr "WITHDRAWAL OPTIONS" - -#: src/jade/tabs/mxn.jade:104 -msgid "Bitso offers withdrawals via the following methods:" -msgstr "Bitso offers withdrawals via the following methods:" - -#: src/jade/tabs/recover.jade:11 -msgid "You can only recover your Ripple Trade account with a secret key. You will recover the account's Ripple name, contacts and other information." -msgstr "You can only recover your Ripple Trade account with a secret key. You will recover the account's Ripple name, contacts and other information." - -#: src/jade/tabs/recover.jade:13 -#: src/jade/tabs/recover.jade:33 -msgid "Ripple Name" -msgstr "Ripple Name" - -#: src/jade/tabs/recover.jade:18 -msgid "Secret Key" -msgstr "Secret Key" - -#: src/jade/tabs/recover.jade:21 -msgid "Unable to recover account." -msgstr "Unable to recover account." - -#: src/jade/tabs/recover.jade:27 -#: src/jade/tabs/register.jade:95 -msgid "Recover Account" -msgstr "Recover Account" - -#: src/jade/tabs/recover.jade:29 -#: src/jade/tabs/recover.jade:56 -msgid "Set Password" -msgstr "Set Password" - -#: src/jade/tabs/recover.jade:31 -msgid "Your account was sucessfully recovered. Please re-encrypt your account with a new password." -msgstr "Your account was sucessfully recovered. Please re-encrypt your account with a new password." - -#: src/jade/tabs/recover.jade:41 -#: src/jade/tabs/register.jade:62 -#: src/jade/tabs/security.jade:132 -msgid "Your password is weak. It does not contain numbers and symbols or it is too short." -msgstr "Your password is weak. It does not contain numbers and symbols or it is too short." - -#: src/jade/tabs/recover.jade:43 -#: src/jade/tabs/register.jade:65 -#: src/jade/tabs/security.jade:134 -msgid "Your Ripple name and password cannot match. Please create a new password." -msgstr "Your Ripple name and password cannot match. Please create a new password." - -#: src/jade/tabs/recover.jade:45 -#: src/jade/tabs/register.jade:67 -#: src/jade/tabs/security.jade:136 -msgid "Confirm password" -msgstr "Confirm password" - -#: src/jade/tabs/recover.jade:48 -#: src/jade/tabs/register.jade:71 -#: src/jade/tabs/security.jade:139 -msgid "Passwords do not match" -msgstr "Passwords do not match" - -#: src/jade/tabs/recover.jade:50 -msgid "Unable to change your account password." -msgstr "Unable to change your account password." - -#: src/jade/tabs/recover.jade:55 -msgid "Updating..." -msgstr "Updating..." - -#: src/jade/tabs/recover.jade:57 -msgid "Remember your password? {{1:Log In}}" -msgstr "Remember your password? {{1:Log In}}" - -#: src/jade/tabs/register.jade:13 -#: src/jade/tabs/register.jade:109 -#: src/jade/tabs/register.jade:141 -#: src/jade/tabs/register.jade:188 -msgid "Sign Up" -msgstr "Sign Up" - -#: src/jade/tabs/register.jade:19 -#: src/jade/tabs/register.jade:21 -#: src/jade/tabs/register.jade:23 -#: src/jade/tabs/register.jade:146 -#: src/jade/tabs/register.jade:148 -#: src/jade/tabs/register.jade:191 -#: src/jade/tabs/register.jade:193 -#: src/jade/tabs/register.jade:195 -msgid "Step {{1}}" -msgstr "Step {{1}}" - -#: src/jade/tabs/register.jade:26 -msgid "Create Ripple name" -msgstr "Create Ripple name" - -#: src/jade/tabs/register.jade:27 -msgid "Please choose a Ripple name below. You will use this Ripple name to login to Ripple Trade, so remember it! Ripple names are unique and public, like your current Ripple address. {{1}}" -msgstr "Please choose a Ripple name below. You will use this Ripple name to login to Ripple Trade, so remember it! Ripple names are unique and public, like your current Ripple address. {{1}}" - -#: src/jade/tabs/register.jade:28 -msgid "Learn More" -msgstr "Learn More" - -#: src/jade/tabs/register.jade:41 -msgid "Reserved for {{usernameReservedFor}}" -msgstr "Reserved for {{usernameReservedFor}}" - -#: src/jade/tabs/register.jade:43 -msgid "This name belongs to a high-traffic website and has been reserved to prevent phishing." -msgstr "This name belongs to a high-traffic website and has been reserved to prevent phishing." - -#: src/jade/tabs/register.jade:49 -msgid "You can only use the following characters: a-z, 0-9 and hyphens (-)" -msgstr "You can only use the following characters: a-z, 0-9 and hyphens (-)" - -#: src/jade/tabs/register.jade:55 -msgid "Cannot use hyphens in a row (--)" -msgstr "Cannot use hyphens in a row (--)" - -#: src/jade/tabs/register.jade:80 -msgid "Email address is invalid" -msgstr "Email address is invalid" - -#: src/jade/tabs/register.jade:82 -#: src/jade/tabs/security.jade:151 -msgid "Secret key" -msgstr "Secret key" - -#: src/jade/tabs/register.jade:83 -#: src/jade/tabs/send.jade:43 -#: src/jade/tabs/trade.jade:441 -msgid "hide" -msgstr "hide" - -#: src/jade/tabs/register.jade:88 -msgid "Secret Account Key is invalid" -msgstr "Secret Account Key is invalid" - -#: src/jade/tabs/register.jade:90 -msgid "The account ~{{1}}{{2}} has already been created using this secret key." -msgstr "The account ~{{1}}{{2}} has already been created using this secret key." - -#: src/jade/tabs/register.jade:98 -msgid "I agree to the {{productName}} {{1:Terms of Use}}" -msgstr "I agree to the {{productName}} {{1:Terms of Use}}" - -#: src/jade/tabs/register.jade:101 -msgid "Please see our {{1}} to see how we collect, use and share information about you" -msgstr "Please see our {{1}} to see how we collect, use and share information about you" - -#: src/jade/tabs/register.jade:110 -msgid "Migrate Account" -msgstr "Migrate Account" - -#: src/jade/tabs/register.jade:111 -msgid "Need to use your secret key? {{1}}" -msgstr "Need to use your secret key? {{1}}" - -#: src/jade/tabs/register.jade:113 -msgid "Use key" -msgstr "Use key" - -#: src/jade/tabs/register.jade:121 -msgid "An error occurred during registration. Please try again later." -msgstr "An error occurred during registration. Please try again later." - -#: src/jade/tabs/register.jade:122 -msgid "The reported error was: {{1}}" -msgstr "The reported error was: {{1}}" - -#: src/jade/tabs/register.jade:131 -msgid "There is already a wallet using this username, please choose a different username and try again." -msgstr "There is already a wallet using this username, please choose a different username and try again." - -#: src/jade/tabs/register.jade:150 -msgid "By proceeding, you understand that Ripple Trade does not provide a password or secret key recovery mechanism. If you forget your Ripple name/password and secret key, you will be unable to access this Ripple account." -msgstr "By proceeding, you understand that Ripple Trade does not provide a password or secret key recovery mechanism. If you forget your Ripple name/password and secret key, you will be unable to access this Ripple account." - -#: src/jade/tabs/register.jade:155 -msgid "You are now migrating your account- meaning you'll no longer be able to access your account from ripple.com/client. You will retain all of your balances, contacts, and account history. Your account will use the same secret key as before. If you have already saved your secret key, please continue your migration." -msgstr "You are now migrating your account- meaning you'll no longer be able to access your account from ripple.com/client. You will retain all of your balances, contacts, and account history. Your account will use the same secret key as before. If you have already saved your secret key, please continue your migration." - -#: src/jade/tabs/register.jade:162 -msgid "The secret key unlocks access to all your account funds in the event you lose your Ripple name or password. Please write it down and store it somewhere private and safe. {{1:Read more}} about keys and wallet safety." -msgstr "The secret key unlocks access to all your account funds in the event you lose your Ripple name or password. Please write it down and store it somewhere private and safe. {{1:Read more}} about keys and wallet safety." - -#: src/jade/tabs/register.jade:167 -msgid "If you have not saved your secret key, please write it down and store it somewhere private and safe. In the event you lose your Ripple name or password, you can use this secret key to recover your funds." -msgstr "If you have not saved your secret key, please write it down and store it somewhere private and safe. In the event you lose your Ripple name or password, you can use this secret key to recover your funds." - -#: src/jade/tabs/register.jade:176 -msgid "Show secret key" -msgstr "Show secret key" - -#: src/jade/tabs/register.jade:177 -msgid "Hide secret key" -msgstr "Hide secret key" - -#: src/jade/tabs/register.jade:180 -msgid "Continue to email verification" -msgstr "Continue to email verification" - -#: src/jade/tabs/register.jade:197 -msgid "We’ve sent an email to {{1}}. To complete registration, click the link in the email." -msgstr "We’ve sent an email to {{1}}. To complete registration, click the link in the email." - -#: src/jade/tabs/register.jade:200 -msgid "Email token has been resent." -msgstr "Email token has been resent." - -#: src/jade/tabs/register.jade:203 -msgid "Email Address:" -msgstr "Email Address:" - -#: src/jade/tabs/register.jade:210 -msgid "Re-send Email" -msgstr "Re-send Email" - -#: src/jade/tabs/security.jade:7 -msgid "Active Session Timeout" -msgstr "Active Session Timeout" - -#: src/jade/tabs/security.jade:8 -msgid "To view or edit your security settings, you must currently have an active session." -msgstr "To view or edit your security settings, you must currently have an active session." - -#: src/jade/tabs/security.jade:16 -msgid "Restore Session" -msgstr "Restore Session" - -#: src/jade/tabs/security.jade:25 -msgid "Your Ripple password has been changed, please login again" -msgstr "Your Ripple password has been changed, please login again" - -#: src/jade/tabs/security.jade:27 -msgid "Couldn't change your Ripple password, please try again later." -msgstr "Couldn't change your Ripple password, please try again later." - -#: src/jade/tabs/security.jade:30 -msgid "Changing your Ripple password..." -msgstr "Changing your Ripple password..." - -#: src/jade/tabs/security.jade:31 -msgid "Your Ripple password has been changed successfully." -msgstr "Your Ripple password has been changed successfully." - -#: src/jade/tabs/security.jade:32 -msgid "Unable to load Two-factor authentication settings." -msgstr "Unable to load Two-factor authentication settings." - -#: src/jade/tabs/security.jade:33 -msgid "Error saving Two-factor authentication settings." -msgstr "Error saving Two-factor authentication settings." - -#: src/jade/tabs/security.jade:34 -msgid "The verification code is invalid." -msgstr "The verification code is invalid." - -#: src/jade/tabs/security.jade:36 -msgid "Two-factor authentication has been successfully enabled." -msgstr "Two-factor authentication has been successfully enabled." - -#: src/jade/tabs/security.jade:37 -msgid "Two-factor authentication has been successfully disabled." -msgstr "Two-factor authentication has been successfully disabled." - -#: src/jade/tabs/security.jade:38 -msgid "Password protection has been successfully enabled." -msgstr "Password protection has been successfully enabled." - -#: src/jade/tabs/security.jade:39 -msgid "Password protection has been successfully disabled." -msgstr "Password protection has been successfully disabled." - -#: src/jade/tabs/security.jade:45 -msgid "Security settings" -msgstr "Security settings" - -#: src/jade/tabs/security.jade:51 -msgid "Loading Two-factor authentication settings..." -msgstr "Loading Two-factor authentication settings..." - -#: src/jade/tabs/security.jade:55 -msgid "Enabled" -msgstr "Enabled" - -#: src/jade/tabs/security.jade:56 -msgid "Disabled" -msgstr "Disabled" - -#: src/jade/tabs/security.jade:58 -msgid "disable" -msgstr "disable" - -#: src/jade/tabs/security.jade:60 -msgid "enable" -msgstr "enable" - -#: src/jade/tabs/security.jade:66 -msgid "Authy is providing two-factor authentication for Ripple Trade. To enable two-factor authentication, you must share some information with Authy." -msgstr "Authy is providing two-factor authentication for Ripple Trade. To enable two-factor authentication, you must share some information with Authy." - -#: src/jade/tabs/security.jade:69 -msgid "- Your email address:" -msgstr "- Your email address:" - -#: src/jade/tabs/security.jade:72 -msgid "- Your phone number:" -msgstr "- Your phone number:" - -#: src/jade/tabs/security.jade:74 -msgid "By proceeding, you agree to the Authy {{1: terms of service.}}" -msgstr "By proceeding, you agree to the Authy {{1: terms of service.}}" - -#: src/jade/tabs/security.jade:78 -msgid "Share" -msgstr "Share" - -#: src/jade/tabs/security.jade:84 -msgid "Saving settings..." -msgstr "Saving settings..." - -#: src/jade/tabs/security.jade:85 -msgid "Disabling Two-factor authentication..." -msgstr "Disabling Two-factor authentication..." - -#: src/jade/tabs/security.jade:86 -msgid "Enabling Two-factor authentication..." -msgstr "Enabling Two-factor authentication..." - -#: src/jade/tabs/security.jade:104 -msgid "Resend Code" -msgstr "Resend Code" - -#: src/jade/tabs/security.jade:110 -msgid "Enable" -msgstr "Enable" - -#: src/jade/tabs/security.jade:114 -msgid "Ripple password" -msgstr "Ripple password" - -#: src/jade/tabs/security.jade:129 -msgid "New password" -msgstr "New password" - -#: src/jade/tabs/security.jade:153 -msgid "Your secret key unlocks access to your account funds. Please write it down and store it somewhere private and safe. In the event you lose your Ripple name or password, you can use this secret key to recover your funds." -msgstr "Your secret key unlocks access to your account funds. Please write it down and store it somewhere private and safe. In the event you lose your Ripple name or password, you can use this secret key to recover your funds." - -#: src/jade/tabs/security.jade:165 -msgid "Password protection for transactions" -msgstr "Password protection for transactions" - -#: src/jade/tabs/security.jade:168 -msgid "If you turn off password requests, you’ll still need to enter your password after each page refresh." -msgstr "If you turn off password requests, you’ll still need to enter your password after each page refresh." - -#: src/jade/tabs/security.jade:176 -msgid "Yes" -msgstr "Yes" - -#: src/jade/tabs/security.jade:177 -msgid "No" -msgstr "No" - -#: src/jade/tabs/security.jade:192 -msgid "Delete Ripple Trade account" -msgstr "Delete Ripple Trade account" - -#: src/jade/tabs/security.jade:194 -msgid "This deletes your Ripple Trade account. You will no longer be able to login to Ripple Trade and your account data will be deleted. However, you can still access your funds using your secret key." -msgstr "This deletes your Ripple Trade account. You will no longer be able to login to Ripple Trade and your account data will be deleted. However, you can still access your funds using your secret key." - -#: src/jade/tabs/send.jade:12 -msgid "You have to be funded before you can send money" -msgstr "You have to be funded before you can send money" - -#: src/jade/tabs/send.jade:25 -msgid "Recipient" -msgstr "Recipient" - -#: src/jade/tabs/send.jade:30 -msgid "Please enter a recipient." -msgstr "Please enter a recipient." - -#: src/jade/tabs/send.jade:32 -msgid "Recipient should be a Ripple name, a contact, or Ripple/Bitcoin address." -msgstr "Recipient should be a Ripple name, a contact, or Ripple/Bitcoin address." - -#: src/jade/tabs/send.jade:34 -msgid "This email address is not Ripple-enabled." -msgstr "This email address is not Ripple-enabled." - -#: src/jade/tabs/send.jade:38 -msgid "Show destination tag" -msgstr "Show destination tag" - -#: src/jade/tabs/send.jade:47 -msgid "Destination cannot be blank." -msgstr "Destination cannot be blank." - -#: src/jade/tabs/send.jade:48 -msgid "Recipient requires a destination tag to be specified for the transaction. If you don't know the destination tag, please contact them before doing a transaction." -msgstr "Recipient requires a destination tag to be specified for the transaction. If you don't know the destination tag, please contact them before doing a transaction." - -#: src/jade/tabs/send.jade:53 -msgid "Source tag" -msgstr "Source tag" - -#: src/jade/tabs/send.jade:56 -msgid "Invalid source tag" -msgstr "Invalid source tag" - -#: src/jade/tabs/send.jade:59 -msgid "Invoice ID" -msgstr "Invoice ID" - -#: src/jade/tabs/send.jade:62 -msgid "Invoice ID must not be more than 64 characters long." -msgstr "Invoice ID must not be more than 64 characters long." - -#: src/jade/tabs/send.jade:77 -msgid "Recipient will receive" -msgstr "Recipient will receive" - -#: src/jade/tabs/send.jade:88 -msgid "{{send.recipient | rpcontactname}} can't receive this currency." -msgstr "{{send.recipient | rpcontactname}} can't receive this currency." - -#: src/jade/tabs/send.jade:92 -#: src/jade/tabs/trust.jade:102 -msgid "Amount must be greater than zero." -msgstr "Amount must be greater than zero." - -#: src/jade/tabs/send.jade:93 -msgid "You are either trying to send too little or too much XRP.Minimum amount is 0.000001 XRP and maximum amount is 100 billion XRP." -msgstr "You are either trying to send too little or too much XRP.Minimum amount is 0.000001 XRP and maximum amount is 100 billion XRP." - -#: src/jade/tabs/send.jade:97 -msgid "Recipient does not allow XRP payments. Are you sure you want to send XRP anyway?" -msgstr "Recipient does not allow XRP payments. Are you sure you want to send XRP anyway?" - -#: src/jade/tabs/send.jade:99 -msgid "{{send.recipient | rpcontactname}}trusts you for {{send.trust_limit | rpamount}} {{send.trust_limit | rpcurrency}}." -msgstr "{{send.recipient | rpcontactname}}trusts you for {{send.trust_limit | rpamount}} {{send.trust_limit | rpcurrency}}." - -#: src/jade/tabs/send.jade:103 -msgid "Send XRP" -msgstr "Send XRP" - -#: src/jade/tabs/send.jade:107 -msgid "Destination account is unfunded; send at least {{send.xrp_deficiency | rpamount}} XRP to fund it.{{1}}" -msgstr "Destination account is unfunded; send at least {{send.xrp_deficiency | rpamount}} XRP to fund it.{{1}}" - -#: src/jade/tabs/send.jade:114 -msgid "Checking" -msgstr "Checking" - -#: src/jade/tabs/send.jade:117 -msgid "Analyzing address" -msgstr "Analyzing address" - -#: src/jade/tabs/send.jade:120 -msgid "Scanning accepted currencies" -msgstr "Scanning accepted currencies" - -#: src/jade/tabs/send.jade:123 -msgid "Requesting quote" -msgstr "Requesting quote" - -#: src/jade/tabs/send.jade:126 -msgid "Calculating paths" -msgstr "Calculating paths" - -#: src/jade/tabs/send.jade:129 -msgid "Calculating alternatives" -msgstr "Calculating alternatives" - -#: src/jade/tabs/send.jade:130 -msgid "You cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. Either your account has insufficient funds, or {{send.recipient}} doesn't accept {{send.currency}}." -msgstr "You cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. Either your account has insufficient funds, or {{send.recipient}} doesn't accept {{send.currency}}." - -#: src/jade/tabs/send.jade:134 -msgid "You cannot send {{send.amount}} {{send.currency}} to{{send.recipient}}. Your account has insufficient funds." -msgstr "You cannot send {{send.amount}} {{send.currency}} to{{send.recipient}}. Your account has insufficient funds." - -#: src/jade/tabs/send.jade:137 -msgid "There are no valid currency choices for this destination." -msgstr "There are no valid currency choices for this destination." - -#: src/jade/tabs/send.jade:139 -msgid "Error while retrieving quote for outbound payment. {{1}}" -msgstr "Error while retrieving quote for outbound payment. {{1}}" - -#: src/jade/tabs/send.jade:148 -msgid "You can send" -msgstr "You can send" - -#: src/jade/tabs/send.jade:150 -msgid "Or you can send" -msgstr "Or you can send" - -#: src/jade/tabs/send.jade:164 -msgid "Send {{ alt.amount | rpcurrency }} {{1}}" -msgstr "Send {{ alt.amount | rpcurrency }} {{1}}" - -#: src/jade/tabs/send.jade:181 -msgid "Ripple is calculating a path for your payment." -msgstr "Ripple is calculating a path for your payment." - -#: src/jade/tabs/send.jade:186 -msgid "You are sending {{1}} to" -msgstr "You are sending {{1}} to" - -#: src/jade/tabs/send.jade:194 -msgid "Destination tag: {{send.dt}}" -msgstr "Destination tag: {{send.dt}}" - -#: src/jade/tabs/send.jade:195 -msgid "They will receive" -msgstr "They will receive" - -#: src/jade/tabs/send.jade:198 -msgid "You will pay at most" -msgstr "You will pay at most" - -#: src/jade/tabs/send.jade:204 -msgid "Are you sure?" -msgstr "Are you sure?" - -#: src/jade/tabs/send.jade:210 -msgid "Password required to unlock wallet" -msgstr "Password required to unlock wallet" - -#: src/jade/tabs/send.jade:234 -#: src/jade/tabs/send.jade:266 -msgid "Contact saved!" -msgstr "Contact saved!" - -#: src/jade/tabs/send.jade:236 -#: src/jade/tabs/send.jade:268 -msgid "Add this address to contacts" -msgstr "Add this address to contacts" - -#: src/jade/tabs/send.jade:242 -#: src/jade/tabs/send.jade:274 -msgid "Name this user" -msgstr "Name this user" - -#: src/jade/tabs/send.jade:246 -#: src/jade/tabs/send.jade:278 -msgid "This contact already exists, please choose another name." -msgstr "This contact already exists, please choose another name." - -#: src/jade/tabs/send.jade:250 -#: src/jade/tabs/send.jade:283 -#: src/jade/tabs/trust.jade:233 -msgid "Saving..." -msgstr "Saving..." - -#: src/jade/tabs/send.jade:255 -#: src/jade/tabs/send.jade:289 -msgid "Send another payment" -msgstr "Send another payment" - -#: src/jade/tabs/settings/navbar.jade:2 -msgid "Security" -msgstr "Security" - -#: src/jade/tabs/settingstrade.jade:12 -msgid "Trade settings" -msgstr "Trade settings" - -#: src/jade/tabs/settingstrade.jade:14 -msgid "Trade currency pairs" -msgstr "Trade currency pairs" - -#: src/jade/tabs/trade.jade:12 -#: src/jade/tabs/trade.jade:451 -msgid "Loading Order Book" -msgstr "Loading Order Book" - -#: src/jade/tabs/trade.jade:31 -#: src/jade/tabs/widgets/markets.jade:24 -msgid "flip" -msgstr "flip" - -#: src/jade/tabs/trade.jade:34 -msgid "add pair" -msgstr "add pair" - -#: src/jade/tabs/trade.jade:37 -msgid "edit pairs" -msgstr "edit pairs" - -#: src/jade/tabs/trade.jade:41 -msgid "Base Currency" -msgstr "Base Currency" - -#: src/jade/tabs/trade.jade:44 -msgid "Base Gateway" -msgstr "Base Gateway" - -#: src/jade/tabs/trade.jade:49 -msgid "Counter Currency" -msgstr "Counter Currency" - -#: src/jade/tabs/trade.jade:52 -msgid "Counter Gateway" -msgstr "Counter Gateway" - -#: src/jade/tabs/trade.jade:57 -msgid "Add" -msgstr "Add" - -#: src/jade/tabs/trade.jade:60 -msgid "Base currency issuer ({{order.first_currency | rpcurrency}})" -msgstr "Base currency issuer ({{order.first_currency | rpcurrency}})" - -#: src/jade/tabs/trade.jade:63 -msgid "Ripple name or contact" -msgstr "Ripple name or contact" - -#: src/jade/tabs/trade.jade:65 -msgid "Not a valid Ripple address or contact" -msgstr "Not a valid Ripple address or contact" - -#: src/jade/tabs/trade.jade:70 -msgid "Counter currency issuer ({{order.second_currency | rpcurrency}})" -msgstr "Counter currency issuer ({{order.second_currency | rpcurrency}})" - -#: src/jade/tabs/trade.jade:75 -msgid "Not a valid Ripple name or address" -msgstr "Not a valid Ripple name or address" - -#: src/jade/tabs/trade.jade:79 -msgid "To show an orderbook, choose from the dropdown above or click \"Add custom pair\"." -msgstr "To show an orderbook, choose from the dropdown above or click \"Add custom pair\"." - -#: src/jade/tabs/trade.jade:86 -msgid "Bid" -msgstr "Bid" - -#: src/jade/tabs/trade.jade:91 -msgid "Ask" -msgstr "Ask" - -#: src/jade/tabs/trade.jade:96 -msgid "Spread" -msgstr "Spread" - -#: src/jade/tabs/trade.jade:101 -msgid "Last price" -msgstr "Last price" - -#: src/jade/tabs/trade.jade:108 -msgid "You have to be funded before you can trade" -msgstr "You have to be funded before you can trade" - -#: src/jade/tabs/trade.jade:115 -msgid "Buy {{1}} {{order.first_currency | rpcurrency}}" -msgstr "Buy {{1}} {{order.first_currency | rpcurrency}}" - -#: src/jade/tabs/trade.jade:118 -msgid "Sell {{1}} {{order.first_currency | rpcurrency}}" -msgstr "Sell {{1}} {{order.first_currency | rpcurrency}}" - -#: src/jade/tabs/trade.jade:121 -#: src/jade/tabs/trade.jade:130 -msgid "{{1}} available" -msgstr "{{1}} available" - -#: src/jade/tabs/trade.jade:144 -msgid "Amount To Buy" -msgstr "Amount To Buy" - -#: src/jade/tabs/trade.jade:145 -msgid "Amount To Sell" -msgstr "Amount To Sell" - -#: src/jade/tabs/trade.jade:152 -#: src/jade/tabs/trade.jade:167 -#: src/jade/tabs/trade.jade:182 -msgid "Required" -msgstr "Required" - -#: src/jade/tabs/trade.jade:154 -#: src/jade/tabs/trade.jade:169 -#: src/jade/tabs/trade.jade:184 -msgid "Must be greater than zero" -msgstr "Must be greater than zero" - -#: src/jade/tabs/trade.jade:156 -#: src/jade/tabs/trade.jade:171 -#: src/jade/tabs/trade.jade:186 -msgid "Minimum amount of XRP you can send is a drop (0.000001) and the maximum is 100 billion XRPs." -msgstr "Minimum amount of XRP you can send is a drop (0.000001) and the maximum is 100 billion XRPs." - -#: src/jade/tabs/trade.jade:160 -msgid "Price of Each" -msgstr "Price of Each" - -#: src/jade/tabs/trade.jade:175 -msgid "Order Value (max)" -msgstr "Order Value (max)" - -#: src/jade/tabs/trade.jade:192 -msgid "You are wanting to buy {{1}} for {{2}} ({{3}} per {{4}})" -msgstr "You are wanting to buy {{1}} for {{2}} ({{3}} per {{4}})" - -#: src/jade/tabs/trade.jade:201 -msgid "You are wanting to sell {{1}} for {{2}} ({{3}} per {{4}})" -msgstr "You are wanting to sell {{1}} for {{2}} ({{3}} per {{4}})" - -#: src/jade/tabs/trade.jade:213 -msgid "Buy" -msgstr "Buy" - -#: src/jade/tabs/trade.jade:214 -msgid "Sell" -msgstr "Sell" - -#: src/jade/tabs/trade.jade:220 -msgid "You do not have sufficient funds to create an order." -msgstr "You do not have sufficient funds to create an order." - -#: src/jade/tabs/trade.jade:225 -msgid "You are about to create an order to {{1: buy}} {{2: sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" -msgstr "You are about to create an order to {{1: buy}} {{2: sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" - -#: src/jade/tabs/trade.jade:242 -msgid "CAUTION: Your order is far off from the current market price." -msgstr "CAUTION: Your order is far off from the current market price." - -#: src/jade/tabs/trade.jade:246 -#: src/jade/tabs/trade.jade:407 -msgid "« Back" -msgstr "« Back" - -#: src/jade/tabs/trade.jade:255 -msgid "Sending order to Ripple network..." -msgstr "Sending order to Ripple network..." - -#: src/jade/tabs/trade.jade:261 -msgid "Your order has been submitted." -msgstr "Your order has been submitted." - -#: src/jade/tabs/trade.jade:263 -msgid "Your order is now active." -msgstr "Your order is now active." - -#: src/jade/tabs/trade.jade:265 -msgid "Your order has been filled." -msgstr "Your order has been filled." - -#: src/jade/tabs/trade.jade:267 -msgid "Your order has been partially filled. The remaining amount is now active." -msgstr "Your order has been partially filled. The remaining amount is now active." - -#: src/jade/tabs/trade.jade:276 -msgid "Submit another order" -msgstr "Submit another order" - -#: src/jade/tabs/trade.jade:278 -msgid "My Orders{{1}}{{2}}" -msgstr "My Orders{{1}}{{2}}" - -#: src/jade/tabs/trade.jade:287 -msgid "Your order has been modified." -msgstr "Your order has been modified." - -#: src/jade/tabs/trade.jade:289 -msgid "Your order #{{ cancelOrder.seq }} has been cancelled." -msgstr "Your order #{{ cancelOrder.seq }} has been cancelled." - -#: src/jade/tabs/trade.jade:291 -msgid "Your order could not be modified and no longer exists. Error: {{order[editOrder.type].engine_result_message}}" -msgstr "Your order could not be modified and no longer exists. Error: {{order[editOrder.type].engine_result_message}}" - -#: src/jade/tabs/trade.jade:293 -msgid "Unable to cancel order as it no longer exists." -msgstr "Unable to cancel order as it no longer exists." - -#: src/jade/tabs/trade.jade:295 -msgid "Modifying your order (Placing new order) ..." -msgstr "Modifying your order (Placing new order) ..." - -#: src/jade/tabs/trade.jade:299 -msgid "Current pair only" -msgstr "Current pair only" - -#: src/jade/tabs/trade.jade:313 -#: src/jade/tabs/widgets/orders.jade:24 -msgid "reverse" -msgstr "reverse" - -#: src/jade/tabs/trade.jade:322 -#: src/jade/tabs/widgets/orders.jade:33 -msgid "QTY{{1}}" -msgstr "QTY{{1}}" - -#: src/jade/tabs/trade.jade:324 -#: src/jade/tabs/widgets/orders.jade:35 -msgid "Base{{1}}" -msgstr "Base{{1}}" - -#: src/jade/tabs/trade.jade:326 -#: src/jade/tabs/widgets/orders.jade:37 -msgid "Counter{{1}}" -msgstr "Counter{{1}}" - -#: src/jade/tabs/trade.jade:328 -#: src/jade/tabs/widgets/orders.jade:39 -msgid "Limit{{1}}" -msgstr "Limit{{1}}" - -#: src/jade/tabs/trade.jade:334 -msgid "Action" -msgstr "Action" - -#: src/jade/tabs/trade.jade:360 -#: src/jade/tabs/trade.jade:424 -msgid "TRADE CONFIRMATION" -msgstr "TRADE CONFIRMATION" - -#: src/jade/tabs/trade.jade:362 -msgid "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" -msgstr "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" - -#: src/jade/tabs/trade.jade:364 -msgid "{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div span.modal-order-type(l10n-inc) REMAIN: span remain data div span.modal-order-type(l10n-inc) PLACED: span time data" -msgstr "{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div span.modal-order-type(l10n-inc) REMAIN: span remain data div span.modal-order-type(l10n-inc) PLACED: span time data" - -#: src/jade/tabs/trade.jade:371 -msgid "with" -msgstr "with" - -#: src/jade/tabs/trade.jade:372 -msgid "for" -msgstr "for" - -#: src/jade/tabs/trade.jade:376 -msgid "at" -msgstr "at" - -#: src/jade/tabs/trade.jade:389 -msgid "Cancel order" -msgstr "Cancel order" - -#: src/jade/tabs/trade.jade:390 -#: src/jade/tabs/trade.jade:431 -msgid "back" -msgstr "back" - -#: src/jade/tabs/trade.jade:407 -msgid "CAUTION: Your new order is far off from the current market price.
Do you still want to replace your order ?" -msgstr "CAUTION: Your new order is far off from the current market price.
Do you still want to replace your order ?" - -#: src/jade/tabs/trade.jade:410 -msgid "Unable to cancel order. Error: {{entry.errorMsg}}" -msgstr "Unable to cancel order. Error: {{entry.errorMsg}}" - -#: src/jade/tabs/trade.jade:412 -msgid "Your order amount has been updated by Ripple. Please go back and edit again to modify this order." -msgstr "Your order amount has been updated by Ripple. Please go back and edit again to modify this order." - -#: src/jade/tabs/trade.jade:414 -msgid "Your order could not be modified. Error: {{order[editOrder.type].engine_result_message}}" -msgstr "Your order could not be modified. Error: {{order[editOrder.type].engine_result_message}}" - -#: src/jade/tabs/trade.jade:415 -msgid "X" -msgstr "X" - -#: src/jade/tabs/trade.jade:420 -msgid "cancel all" -msgstr "cancel all" - -#: src/jade/tabs/trade.jade:426 -msgid "{{1:Please confirm that you wish to cancel all orders.}}" -msgstr "{{1:Please confirm that you wish to cancel all orders.}}" - -#: src/jade/tabs/trade.jade:430 -msgid "Cancel all orders" -msgstr "Cancel all orders" - -#: src/jade/tabs/trade.jade:433 -#: src/jade/tabs/widgets/orders.jade:64 -msgid "No current orders. {{1}}" -msgstr "No current orders. {{1}}" - -#: src/jade/tabs/trade.jade:434 -#: src/jade/tabs/widgets/orders.jade:65 -msgid "View orders history" -msgstr "View orders history" - -#: src/jade/tabs/trade.jade:437 -msgid "Orderbook{{1}}" -msgstr "Orderbook{{1}}" - -#: src/jade/tabs/trade.jade:440 -msgid "show" -msgstr "show" - -#: src/jade/tabs/trade.jade:442 -msgid "Last updated {{1}} {{2: seconds}} {{3: second}} ago" -msgstr "Last updated {{1}} {{2: seconds}} {{3: second}} ago" - -#: src/jade/tabs/trade.jade:458 -msgid "Bids" -msgstr "Bids" - -#: src/jade/tabs/trade.jade:460 -#: src/jade/tabs/trade.jade:487 -msgid "Sum{{1}}{{2}}" -msgstr "Sum{{1}}{{2}}" - -#: src/jade/tabs/trade.jade:463 -#: src/jade/tabs/trade.jade:484 -msgid "Size{{1}}{{2}}" -msgstr "Size{{1}}{{2}}" - -#: src/jade/tabs/trade.jade:466 -msgid "Bid Price{{1}}{{2}}" -msgstr "Bid Price{{1}}{{2}}" - -#: src/jade/tabs/trade.jade:477 -msgid "There are currently no bids for this pair." -msgstr "There are currently no bids for this pair." - -#: src/jade/tabs/trade.jade:479 -msgid "Asks" -msgstr "Asks" - -#: src/jade/tabs/trade.jade:481 -msgid "Ask Price{{1}}{{2}}" -msgstr "Ask Price{{1}}{{2}}" - -#: src/jade/tabs/trade.jade:498 -msgid "There are currently no asks for this pair." -msgstr "There are currently no asks for this pair." - -#: src/jade/tabs/trade.jade:501 -msgid "No more orders" -msgstr "No more orders" - -#: src/jade/tabs/trust.jade:29 -msgid "Removing gateway..." -msgstr "Removing gateway..." - -#: src/jade/tabs/trust.jade:31 -msgid "Gateway removed." -msgstr "Gateway removed." - -#: src/jade/tabs/trust.jade:33 -msgid "Your changes have been saved." -msgstr "Your changes have been saved." - -#: src/jade/tabs/trust.jade:35 -msgid "Request failed." -msgstr "Request failed." - -#: src/jade/tabs/trust.jade:39 -msgid "Account unlock failed." -msgstr "Account unlock failed." - -#: src/jade/tabs/trust.jade:55 -msgid "Name / Address" -msgstr "Name / Address" - -#: src/jade/tabs/trust.jade:57 -#: src/jade/tabs/trust.jade:90 -msgid "Currency" -msgstr "Currency" - -#: src/jade/tabs/trust.jade:60 -msgid "Trust Limit" -msgstr "Trust Limit" - -#: src/jade/tabs/trust.jade:66 -msgid "Gateway's Ripple name or address" -msgstr "Gateway's Ripple name or address" - -#: src/jade/tabs/trust.jade:100 -msgid "Amount field is required." -msgstr "Amount field is required." - -#: src/jade/tabs/trust.jade:115 -msgid "Allow this trust line's balances to be transferred to another issuer you connect to. More information" -msgstr "Allow this trust line's balances to be transferred to another issuer you connect to. More information" - -#: src/jade/tabs/trust.jade:125 -msgid "{{1:You are connecting a gateway, which means}}{{2:{{ counterparty_address | rpripplename:{tilde: true} }} can:}}" -msgstr "{{1:You are connecting a gateway, which means}}{{2:{{ counterparty_address | rpripplename:{tilde: true} }} can:}}" - -#: src/jade/tabs/trust.jade:128 -msgid "{{1:- Hold up to }}{{2}} {{3: on your behalf}}" -msgstr "{{1:- Hold up to }}{{2}} {{3: on your behalf}}" - -#: src/jade/tabs/trust.jade:132 -msgid "{{1:- Hold }}{{2}} {{3: on your behalf}}" -msgstr "{{1:- Hold }}{{2}} {{3: on your behalf}}" - -#: src/jade/tabs/trust.jade:148 -msgid "Verifying address" -msgstr "Verifying address" - -#: src/jade/tabs/trust.jade:151 -msgid "Your account has to be {{1:activated}} before you can add a gateway account." -msgstr "Your account has to be {{1:activated}} before you can add a gateway account." - -#: src/jade/tabs/trust.jade:159 -msgid "Connect gateway" -msgstr "Connect gateway" - -#: src/jade/tabs/trust.jade:169 -#: src/jade/tabs/trust.jade:221 -msgid "Limit" -msgstr "Limit" - -#: src/jade/tabs/trust.jade:170 -msgid "Min" -msgstr "Min" - -#: src/jade/tabs/trust.jade:172 -msgid "Edit" -msgstr "Edit" - -#: src/jade/tabs/trust.jade:188 -msgid "Off" -msgstr "Off" - -#: src/jade/tabs/trust.jade:189 -msgid "On" -msgstr "On" - -#: src/jade/tabs/trust.jade:192 -#: src/jade/tabs/trust.jade:201 -#: src/jade/tabs/trust.jade:206 -#: src/jade/tabs/trust.jade:210 -#: src/jade/tabs/trust.jade:239 -#: src/jade/tabs/trust.jade:244 -#: src/jade/tabs/trust.jade:248 -msgid "Incoming trust" -msgstr "Incoming trust" - -#: src/jade/tabs/trust.jade:192 -msgid "You can't edit incoming trust lines. Incoming trust lines are when other Ripple users trust you." -msgstr "You can't edit incoming trust lines. Incoming trust lines are when other Ripple users trust you." - -#: src/jade/tabs/trust.jade:200 -#: src/jade/tabs/trust.jade:202 -#: src/jade/tabs/trust.jade:205 -#: src/jade/tabs/trust.jade:207 -#: src/jade/tabs/trust.jade:209 -#: src/jade/tabs/trust.jade:211 -#: src/jade/tabs/trust.jade:238 -#: src/jade/tabs/trust.jade:240 -#: src/jade/tabs/trust.jade:243 -#: src/jade/tabs/trust.jade:245 -#: src/jade/tabs/trust.jade:247 -#: src/jade/tabs/trust.jade:249 -msgid "Remove" -msgstr "Remove" - -#: src/jade/tabs/trust.jade:201 -#: src/jade/tabs/trust.jade:206 -#: src/jade/tabs/trust.jade:210 -#: src/jade/tabs/trust.jade:239 -#: src/jade/tabs/trust.jade:244 -#: src/jade/tabs/trust.jade:248 -msgid "You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you." -msgstr "You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you." - -#: src/jade/tabs/trust.jade:226 -msgid "Rippling {{1}}" -msgstr "Rippling {{1}}" - -#: src/jade/tabs/tx.jade:5 -msgid "Loading transaction details..." -msgstr "Loading transaction details..." - -#: src/jade/tabs/tx.jade:7 -msgid "An error occurred while loading the transaction details." -msgstr "An error occurred while loading the transaction details." - -#: src/jade/tabs/tx.jade:10 -msgid "Transaction #" -msgstr "Transaction #" - -#: src/jade/tabs/tx.jade:15 -msgid "Transaction type: {{1}}" -msgstr "Transaction type: {{1}}" - -#: src/jade/tabs/tx.jade:22 -msgid "Address sent from" -msgstr "Address sent from" - -#: src/jade/tabs/tx.jade:26 -msgid "Amount sent" -msgstr "Amount sent" - -#: src/jade/tabs/tx.jade:30 -msgid "Currency sent" -msgstr "Currency sent" - -#: src/jade/tabs/tx.jade:35 -msgid "Address sent to" -msgstr "Address sent to" - -#: src/jade/tabs/tx.jade:39 -msgid "Amount received" -msgstr "Amount received" - -#: src/jade/tabs/tx.jade:43 -msgid "Currency received" -msgstr "Currency received" - -#: src/jade/tabs/tx.jade:50 -msgid "Network fee paid" -msgstr "Network fee paid" - -#: src/jade/tabs/tx.jade:62 -msgid "Ledger number" -msgstr "Ledger number" - -#: src/jade/tabs/tx.jade:68 -msgid "Address sent from:" -msgstr "Address sent from:" - -# Sorry, we don't have an info page layout for this transaction type yet. -#: src/jade/tabs/tx.jade:72 -msgid "Sorry, we don't have an info page layout for this transaction type yet." -msgstr "Sorry, we don't have an info page layout for this transaction type yet." - -#: src/jade/tabs/usd.jade:35 -msgid "US Dollar Deposit" -msgstr "US Dollar Deposit" - -#: src/jade/tabs/usd.jade:39 -msgid "SnapSwap US (~SnapSwap){{1}}{{2}}" -msgstr "SnapSwap US (~SnapSwap){{1}}{{2}}" - -#: src/jade/tabs/usd.jade:45 -msgid "USA" -msgstr "USA" - -#: src/jade/tabs/usd.jade:48 -msgid "$ 0.31-$ 5.00" -msgstr "$ 0.31-$ 5.00" - -#: src/jade/tabs/usd.jade:56 -msgid "Ripple Trade has partnered with SnapSwap to provide easier access to USD. Following this action will enable SnapSwap to hold USD on your behalf." -msgstr "Ripple Trade has partnered with SnapSwap to provide easier access to USD. Following this action will enable SnapSwap to hold USD on your behalf." - -#: src/jade/tabs/usd.jade:73 -msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" -msgstr "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" - -#: src/jade/tabs/usd.jade:74 -msgid "Register and verify your account at SnapSwap US. You will need: {{1}}" -msgstr "Register and verify your account at SnapSwap US. You will need: {{1}}" - -#: src/jade/tabs/usd.jade:82 -msgid "EXISTING SNAPSWAP US CUSTOMERS" -msgstr "EXISTING SNAPSWAP US CUSTOMERS" - -#: src/jade/tabs/usd.jade:93 -msgid "Deposit instantly via selected banks" -msgstr "Deposit instantly via selected banks" - -#: src/jade/tabs/usd.jade:95 -msgid "Deposit cash at Bank of America branches (3 business days)" -msgstr "Deposit cash at Bank of America branches (3 business days)" - -#: src/jade/tabs/usd.jade:97 -msgid "Deposit via online bank transfer (3 business days)" -msgstr "Deposit via online bank transfer (3 business days)" - -#: src/jade/tabs/usd.jade:103 -msgid "Directly to your bank account (3-4 business days)" -msgstr "Directly to your bank account (3-4 business days)" - -#: src/jade/tabs/usd.jade:105 -msgid "Directly to your PayPal account (several minutes)" -msgstr "Directly to your PayPal account (several minutes)" - -#: src/jade/tabs/widgets/assetallocation.jade:3 -msgid "Asset Allocation" -msgstr "Asset Allocation" - -#: src/jade/tabs/widgets/balances.jade:3 -msgid "Balances" -msgstr "Balances" - -#: src/jade/tabs/widgets/balances.jade:12 -msgid "Balance
{{ account.Balance | rpamount }} XRP" -msgstr "Balance
{{ account.Balance | rpamount }} XRP" - -#: src/jade/tabs/widgets/balances.jade:16 -msgid "Reserve" -msgstr "Reserve" - -#: src/jade/tabs/widgets/balances.jade:18 -msgid "Reserve amount" -msgstr "Reserve amount" - -#: src/jade/tabs/widgets/balances.jade:18 -msgid "Minimum amount of XRP required to fund your account. You cannot spend the reserve." -msgstr "Minimum amount of XRP required to fund your account. You cannot spend the reserve." - -#: src/jade/tabs/widgets/balances.jade:20 -msgid "Reserve amount
{{ account.reserve | rpamount }} XRP" -msgstr "Reserve amount
{{ account.reserve | rpamount }} XRP" - -#: src/jade/tabs/widgets/balances.jade:26 -msgid "Available amount" -msgstr "Available amount" - -#: src/jade/tabs/widgets/balances.jade:26 -msgid "Total amount of XRP in your account minus the reserve amount." -msgstr "Total amount of XRP in your account minus the reserve amount." - -#: src/jade/tabs/widgets/balances.jade:28 -msgid "Available amount
{{ account.max_spend | rpamount }} XRP" -msgstr "Available amount
{{ account.max_spend | rpamount }} XRP" - -#: src/jade/tabs/widgets/balances.jade:35 -msgid "Balance
{{ entry.total | rpamount:{precision: 30, hard_precision: true} }} {{ entry.total | rpcurrency }}" -msgstr "Balance
{{ entry.total | rpamount:{precision: 30, hard_precision: true} }} {{ entry.total | rpcurrency }}" - -#: src/jade/tabs/widgets/balances.jade:43 -msgid "Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, hard_precision: true} }} {{ entry.total | rpcurrency }}" -msgstr "Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, hard_precision: true} }} {{ entry.total | rpcurrency }}" - -#: src/jade/tabs/widgets/markets.jade:3 -msgid "Markets" -msgstr "Markets" - -#: src/jade/tabs/widgets/networth.jade:3 -msgid "Net Worth" -msgstr "Net Worth" - -#: src/jade/tabs/widgets/networth.jade:8 -msgid "{{1:{{1:In}}}}{{2}}" -msgstr "{{1:{{1:In}}}}{{2}}" - -#: src/jade/tabs/widgets/networth.jade:14 -msgid "Estimated from latest trade price" -msgstr "Estimated from latest trade price" - -#: src/jade/tabs/widgets/networth.jade:23 -msgid "(excluding negative balances)" -msgstr "(excluding negative balances)" - -#: src/jade/tabs/widgets/orders.jade:3 -msgid "My Orders" -msgstr "My Orders" - -#: src/jade/tabs/widgets/orders.jade:68 -msgid "trade currencies" -msgstr "trade currencies" - -#: src/jade/tabs/xrp.jade:19 -msgid "Ripple name: {{1}}{{2}}{{3}}" -msgstr "Ripple name: {{1}}{{2}}{{3}}" - -#: src/jade/tabs/xrp.jade:21 -msgid "loading..." -msgstr "loading..." - -#: src/jade/tabs/xrp.jade:23 -msgid "Show address" -msgstr "Show address" - -#: src/jade/tabs/xrp.jade:25 -msgid "Ripple names are a new feature on Ripple! Use your Ripple name (~{{userCredentials.username}}) to receive money. You can still use your full Ripple address, and while we are working to transition to Ripple names, some gateways may still ask for your full address." -msgstr "Ripple names are a new feature on Ripple! Use your Ripple name (~{{userCredentials.username}}) to receive money. You can still use your full Ripple address, and while we are working to transition to Ripple names, some gateways may still ask for your full address." diff --git a/src/templates/client/navbar.jade b/src/templates/client/navbar.jade index a46e2ad27..5eb92ea29 100644 --- a/src/templates/client/navbar.jade +++ b/src/templates/client/navbar.jade @@ -159,6 +159,6 @@ nav.navbar(role="navigation", ng-controller="NavbarCtrl") a(href="#/withdraw", l10n) Withdraw .container.recover-status-wrapper.text-center.ng-scope(ng-if='recovered', ng-show='recovered') .alert.alert-info - h4.tx-status(l10n='l10n') + h4.tx-status(l10n) | Your account was successfully recovered and encrypted with the new password you provided! a.dismiss(ng-click='recovered = false', l10n='l10n') × diff --git a/src/templates/tabs/_usd.jade b/src/templates/tabs/_usd.jade index 01f489a7a..c4b2f791d 100644 --- a/src/templates/tabs/_usd.jade +++ b/src/templates/tabs/_usd.jade @@ -3,7 +3,7 @@ section.col-xs-12.content(ng-controller='UsdCtrl') //- Disconnected group.disconnected(ng-hide='connected') - p.literal(l10n="err-you-must-be-online-to-see-this-screen", l10n) + p.literal(l10n="err-you-must-be-online-to-see-this-screen") | You have to be online to see this screen //- Funding diff --git a/src/templates/tabs/brl.jade b/src/templates/tabs/brl.jade index 3d2605b09..bfa132c10 100644 --- a/src/templates/tabs/brl.jade +++ b/src/templates/tabs/brl.jade @@ -3,7 +3,7 @@ section.col-xs-12.content(ng-controller='BrlCtrl') //- Disconnected group.disconnected(ng-hide='connected') - p.literal(l10n="err-you-must-be-online-to-see-this-screen", l10n) + p.literal(l10n="err-you-must-be-online-to-see-this-screen") | You have to be online to see this screen //- Funding diff --git a/src/templates/tabs/btc.jade b/src/templates/tabs/btc.jade index 62f3c1ab3..06dc96ba2 100644 --- a/src/templates/tabs/btc.jade +++ b/src/templates/tabs/btc.jade @@ -6,7 +6,7 @@ section.col-xs-12.content(ng-controller='BtcCtrl') //- Disconnected group.disconnected(ng-hide='connected') - p.literal(l10n="err-you-must-be-online-to-see-this-screen", l10n) + p.literal(l10n="err-you-must-be-online-to-see-this-screen") | You have to be online to see this screen //- Funding diff --git a/src/templates/tabs/contacts.jade b/src/templates/tabs/contacts.jade index d5b219061..b5019f665 100644 --- a/src/templates/tabs/contacts.jade +++ b/src/templates/tabs/contacts.jade @@ -154,9 +154,7 @@ section.col-xs-12.content(ng-controller="ContactsCtrl") .row .col-xs-4.col-md-4 button.save.btn.btn-block.btn-success( - ng-disabled="inlineAddress.editaddress.$error.rpUnique" - ng-disabled="inlineName.editname.$error.rpUnique" - ng-disabled="inlineAddress.editaddress.$error.rpDest" + ng-disabled="inlineAddress.editaddress.$error.rpUnique || inlineName.editname.$error.rpUnique || inlineAddress.editaddress.$error.rpDest" ng-click='update($index)', l10n) Save .col-xs-4.col-md-4 rp-confirm( diff --git a/src/templates/tabs/eur.jade b/src/templates/tabs/eur.jade index 26d22355c..678f1ac76 100644 --- a/src/templates/tabs/eur.jade +++ b/src/templates/tabs/eur.jade @@ -3,7 +3,7 @@ section.col-xs-12.content(ng-controller='EurCtrl') //- Disconnected group.disconnected(ng-hide='connected') - p.literal(l10n="err-you-must-be-online-to-see-this-screen", l10n) + p.literal(l10n="err-you-must-be-online-to-see-this-screen") | You have to be online to see this screen //- Funding diff --git a/src/templates/tabs/exchange.jade b/src/templates/tabs/exchange.jade index c70a979b8..a6e89d433 100644 --- a/src/templates/tabs/exchange.jade +++ b/src/templates/tabs/exchange.jade @@ -12,7 +12,7 @@ section.col-xs-12.content(ng-controller="ExchangeCtrl") div(ng-show="!loadingAccount && !account.Balance && loadState.account && connected") include ../tabs/banner/unfunded - p.literal(l10n="err-you-must-be-funded-before-you-can-exchange-money", l10n) You have to be funded before you can submit an order. + p.literal(l10n="err-you-must-be-funded-before-you-can-exchange-money") You have to be funded before you can submit an order. div(ng-show='hasRTJapanTrust') include banner/rtjapan @@ -94,7 +94,7 @@ section.col-xs-12.content(ng-controller="ExchangeCtrl") .ex ( span.rate {{alt.rate | rpamount:{rel_precision: 4} }} span.pair {{alt.amount | rpcurrency}}/{{exchange.currency_code}} - ) + | ) button.btn.btn-block.btn-success(type="submit", ng-disabled='exchangeForm.$invalid', ng-click="exchange.alt = alt", l10n) | Sell {{ alt.amount | rpcurrency }} span(ng-hide="alt.amount.is_native() || alt.amount.issuer().to_json() == account.Account") ( diff --git a/src/templates/tabs/fund.jade b/src/templates/tabs/fund.jade index 248f6c76c..c3f57d5ee 100644 --- a/src/templates/tabs/fund.jade +++ b/src/templates/tabs/fund.jade @@ -3,7 +3,7 @@ section.col-xs-12.content(ng-controller='FundCtrl') //- Disconnected group.disconnected(ng-hide='connected') - p.literal(l10n="err-you-must-be-online-to-see-this-screen", l10n) + p.literal(l10n="err-you-must-be-online-to-see-this-screen") | You have to be online to see this screen //- Funding diff --git a/src/templates/tabs/gold.jade b/src/templates/tabs/gold.jade index 19337b3bf..568cda701 100644 --- a/src/templates/tabs/gold.jade +++ b/src/templates/tabs/gold.jade @@ -3,7 +3,7 @@ section.col-xs-12.content(ng-controller='GoldCtrl') //- Disconnected group.disconnected(ng-hide='connected') - p.literal(l10n="err-you-must-be-online-to-see-this-screen", l10n) + p.literal(l10n="err-you-must-be-online-to-see-this-screen") | You have to be online to see this screen //- Funding diff --git a/src/templates/tabs/jpy.jade b/src/templates/tabs/jpy.jade index fbc3ee0e9..d11f92a1f 100644 --- a/src/templates/tabs/jpy.jade +++ b/src/templates/tabs/jpy.jade @@ -3,7 +3,7 @@ section.col-xs-12.content(ng-controller='JpyCtrl') //- Disconnected group.disconnected(ng-hide='connected') - p.literal(l10n="err-you-must-be-online-to-see-this-screen", l10n) + p.literal(l10n="err-you-must-be-online-to-see-this-screen") | You have to be online to see this screen //- Funding diff --git a/src/templates/tabs/kyc.jade b/src/templates/tabs/kyc.jade index 10b531163..e939613cc 100644 --- a/src/templates/tabs/kyc.jade +++ b/src/templates/tabs/kyc.jade @@ -3,7 +3,7 @@ section.col-xs-12.content(ng-controller='KycCtrl') //- Disconnected group.disconnected(ng-hide='connected') - p.literal(l10n="err-you-must-be-online-to-see-this-screen", l10n) + p.literal(l10n="err-you-must-be-online-to-see-this-screen") | You have to be online to see this screen //- Funding diff --git a/src/templates/tabs/mxn.jade b/src/templates/tabs/mxn.jade index 07c29d5bc..ba526b11c 100644 --- a/src/templates/tabs/mxn.jade +++ b/src/templates/tabs/mxn.jade @@ -3,7 +3,7 @@ section.col-xs-12.content(ng-controller='MxnCtrl') //- Disconnected group.disconnected(ng-hide='connected') - p.literal(l10n="err-you-must-be-online-to-see-this-screen", l10n) + p.literal(l10n="err-you-must-be-online-to-see-this-screen") | You have to be online to see this screen //- Funding diff --git a/src/templates/tabs/send.jade b/src/templates/tabs/send.jade index b79e94e25..a1c8605bb 100644 --- a/src/templates/tabs/send.jade +++ b/src/templates/tabs/send.jade @@ -3,7 +3,7 @@ section.col-xs-12.content(ng-controller='SendCtrl') //- Disconnected group.disconnected(ng-hide='connected') - p.literal(l10n="err-you-must-be-online-to-see-this-screen", l10n) You have to be online to see this screen + p.literal(l10n="err-you-must-be-online-to-see-this-screen") You have to be online to see this screen group.disconnected(ng-hide="!connected || loadState.account") div(id="section_loader") @@ -14,7 +14,7 @@ section.col-xs-12.content(ng-controller='SendCtrl') div(ng-show="!loadingAccount && !account.Balance && loadState.account && connected") include ../tabs/banner/unfunded - p.literal(l10n="err-you-must-be-funded-before-you-can-send-money", l10n) You have to be funded before you can send money + p.literal(l10n="err-you-must-be-funded-before-you-can-send-money") You have to be funded before you can send money div(ng-show='hasRTJapanTrust') include banner/rtjapan div(ng-show='hasRTJapanTrustWithRippling') diff --git a/src/templates/tabs/sgd.jade b/src/templates/tabs/sgd.jade index c2c08eadb..146aaeae3 100644 --- a/src/templates/tabs/sgd.jade +++ b/src/templates/tabs/sgd.jade @@ -3,7 +3,7 @@ section.col-xs-12.content(ng-controller='SgdCtrl') //- Disconnected group.disconnected(ng-hide='connected') - p.literal(l10n="err-you-must-be-online-to-see-this-screen", l10n) + p.literal(l10n="err-you-must-be-online-to-see-this-screen") | You have to be online to see this screen //- Funding diff --git a/src/templates/tabs/usd.jade b/src/templates/tabs/usd.jade index 8e726df0a..1cbd36447 100644 --- a/src/templates/tabs/usd.jade +++ b/src/templates/tabs/usd.jade @@ -3,7 +3,7 @@ section.col-xs-12.content(ng-controller='UsdCtrl') //- Disconnected group.disconnected(ng-hide='connected') - p.literal(l10n="err-you-must-be-online-to-see-this-screen", l10n) + p.literal(l10n="err-you-must-be-online-to-see-this-screen") | You have to be online to see this screen //- Funding diff --git a/src/templates/tabs/widgets/orders.jade b/src/templates/tabs/widgets/orders.jade index 34fba6576..06347277f 100644 --- a/src/templates/tabs/widgets/orders.jade +++ b/src/templates/tabs/widgets/orders.jade @@ -62,8 +62,8 @@ .row(ng-repeat="entry in offers | rpcurrentpair:sortOptions.currentPairOnly:order.prev_settings | rpvalues | rpsortmyorders:sortOptions.sortField:sortOptions.reverse track by entry.seq", ng-hide="entry.isZero") .col-md-1.type(l10n-data-label="Type") - span.rp-hidden-md.rp-hidden-lg{{entry.type | rpucfirst}} - span.rp-hidden-xs.rp-hidden-sm{{entry.type | rptruncate:1}} + span.rp-hidden-md.rp-hidden-lg {{entry.type | rpucfirst}} + span.rp-hidden-xs.rp-hidden-sm {{entry.type | rptruncate:1}} .col-md-3.amount.rpamount(l10n-data-label="QTY" rp-address-popover, rp-address-popover-sum="entry.first" ) {{entry.first | rpamount:{hard_precision: true, precision: 6, tiny_precision: 6} }} diff --git a/src/templates/tabs/withdraw.jade b/src/templates/tabs/withdraw.jade index e084a1d40..919e499e3 100644 --- a/src/templates/tabs/withdraw.jade +++ b/src/templates/tabs/withdraw.jade @@ -3,7 +3,7 @@ section.single.content(ng-controller='WithdrawCtrl') //- Disconnected group.disconnected(ng-hide='connected') - p.literal(l10n="err-you-must-be-online-to-see-this-screen", l10n) You have to be online to see this screen + p.literal(l10n="err-you-must-be-online-to-see-this-screen") You have to be online to see this screen //- Withdraw diff --git a/src/templates/tabs/xrp.jade b/src/templates/tabs/xrp.jade index 2806ce477..f7693bada 100644 --- a/src/templates/tabs/xrp.jade +++ b/src/templates/tabs/xrp.jade @@ -3,7 +3,7 @@ section.col-xs-12.content(ng-controller='XrpCtrl') //- Disconnected group.disconnected(ng-hide='connected') - p.literal(l10n="err-you-must-be-online-to-see-this-screen", l10n) + p.literal(l10n="err-you-must-be-online-to-see-this-screen") | You have to be online to see this screen //- Funding From 085edd5fd121acfa84c7af3127b7c3f72b4dcebe Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 22 Apr 2015 13:43:04 -0700 Subject: [PATCH 221/321] [TASK] Add gulp-jade-l10n-extractor --- gulpfile.js | 11 +- l10n/templates/messages.pot | 3942 +++++++++++++++++++++++++++++++++++ package.json | 4 +- 3 files changed, 3955 insertions(+), 2 deletions(-) create mode 100644 l10n/templates/messages.pot diff --git a/gulpfile.js b/gulpfile.js index 3e3b4e0cb..5b270a5b6 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -91,6 +91,15 @@ gulp.task('less', function () { .pipe($.browserSync.reload({stream:true})); }); +// Extracts l10n strings from template files +gulp.task('l10nExtract', function () { + return gulp.src('src/templates/**/*.jade') + .pipe($.jadeL10nExtractor({ + filename: 'messages.pot' + })) + .pipe(gulp.dest('./l10n/templates')) +}); + // Static server gulp.task('serve:dev', function() { $.browserSync({ @@ -229,7 +238,7 @@ gulp.task('default', ['dev'], function() { }); // Development -gulp.task('dev', ['clean:dev', 'bower', 'webpack:dev', 'less', 'templates:dev'], function () { +gulp.task('dev', ['clean:dev', 'bower', 'webpack:dev', 'less', 'templates:dev', 'l10nExtract'], function () { gulp.start('preprocess:dev'); }); diff --git a/l10n/templates/messages.pot b/l10n/templates/messages.pot new file mode 100644 index 000000000..b132acd84 --- /dev/null +++ b/l10n/templates/messages.pot @@ -0,0 +1,3942 @@ +# Generated by gulp-jade-l10n-extractor + +msgid "" +msgstr "" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/templates/client/layout.jade:4 +#: src/templates/client/navbar.jade:141 +#: src/templates/tabs/trust.jade:68 +#: src/templates/tabs/trust.jade:215 +msgid "Balance" +msgstr "Balance" + +#: src/templates/client/layout.jade:6 +#: src/templates/client/navbar.jade:143 +msgid "History" +msgstr "History" + +#: src/templates/client/layout.jade:7 +#: src/templates/client/navbar.jade:145 +msgid "Contacts" +msgstr "Contacts" + +#: src/templates/client/layout.jade:11 +#: src/templates/client/navbar.jade:21 +#: src/templates/tabs/contacts.jade:114 +msgid "Send" +msgstr "Send" + +#: src/templates/client/layout.jade:15 +msgid "Trade (simple)" +msgstr "Trade (simple)" + +#: src/templates/client/layout.jade:17 +msgid "Trade (advanced)" +msgstr "Trade (advanced)" + +#: src/templates/client/layout.jade:21 +#: src/templates/client/navbar.jade:27 +msgid "Fund" +msgstr "Fund" + +#: src/templates/client/layout.jade:23 +#: src/templates/tabs/fund/menu.jade:32 +#: src/templates/tabs/settings/navbar.jade:5 +msgid "Gateways" +msgstr "Gateways" + +#: src/templates/client/layout.jade:27 +#: src/templates/client/navbar.jade:131 +#: src/templates/tabs/su.jade:12 +msgid "Account" +msgstr "Account" + +#: src/templates/client/layout.jade:30 +#: src/templates/client/navbar.jade:133 +#: src/templates/tabs/settingsgateway.jade:14 +msgid "Settings" +msgstr "Settings" + +#: src/templates/client/layout.jade:33 +msgid "Logout" +msgstr "Logout" + +#: src/templates/client/layout.jade:67 +msgid "Why Use Ripple Trade?" +msgstr "Why Use Ripple Trade?" + +#: src/templates/client/layout.jade:72 +msgid "Home of XRP -" +msgstr "Home of XRP -" + +#: src/templates/client/layout.jade:73 +msgid "the best place to buy and sell XRP" +msgstr "the best place to buy and sell XRP" + +#: src/templates/client/layout.jade:77 +msgid "Free -" +msgstr "Free -" + +#: src/templates/client/layout.jade:78 +msgid "no fees to sign up and use Ripple Trade" +msgstr "no fees to sign up and use Ripple Trade" + +#: src/templates/client/layout.jade:82 +msgid "No Middlemen -" +msgstr "No Middlemen -" + +#: src/templates/client/layout.jade:83 +msgid "When you submit orders, Ripple automatically finds the best available match, without a clearinghouse or broker." +msgstr "When you submit orders, Ripple automatically finds the best available match, without a clearinghouse or broker." + +#: src/templates/client/layout.jade:87 +msgid "Deposit, trade and withdraw money on Ripple via gateways." +msgstr "Deposit, trade and withdraw money on Ripple via gateways." + +#: src/templates/client/layout.jade:95 +msgid "Featured Ripple Gateways" +msgstr "Featured Ripple Gateways" + +#: src/templates/client/layout.jade:97 +msgid "Ripple's growing gateway network." +msgstr "Ripple's growing gateway network." + +#: src/templates/client/layout.jade:99 +#: src/templates/client/layout.jade:102 +#: src/templates/client/layout.jade:105 +#: src/templates/client/layout.jade:108 +#: src/templates/client/layout.jade:111 +#: src/templates/client/layout.jade:114 +#: src/templates/client/layout.jade:117 +#: src/templates/client/layout.jade:120 +#: src/templates/client/layout.jade:123 +#: src/templates/tabs/brl.jade:62 +#: src/templates/tabs/brl.jade:66 +#: src/templates/tabs/brl.jade:102 +#: src/templates/tabs/btc.jade:51 +#: src/templates/tabs/eur.jade:59 +#: src/templates/tabs/eur.jade:63 +#: src/templates/tabs/eur.jade:95 +#: src/templates/tabs/eur.jade:102 +#: src/templates/tabs/gold.jade:60 +#: src/templates/tabs/jpy.jade:64 +#: src/templates/tabs/jpy.jade:100 +#: src/templates/tabs/jpy.jade:106 +#: src/templates/tabs/mxn.jade:62 +#: src/templates/tabs/send.jade:100 +#: src/templates/tabs/sgd.jade:59 +#: src/templates/tabs/sgd.jade:63 +#: src/templates/tabs/sgd.jade:101 +#: src/templates/tabs/sgd.jade:107 +#: src/templates/tabs/usd.jade:60 +#: src/templates/tabs/usd.jade:92 +#: src/templates/tabs/usd.jade:99 +#: src/templates/tabs/usd.jade:107 +#: src/templates/tabs/banner/unfunded.jade:6 +msgid "{{1}}" +msgstr "{{1}}" + +#: src/templates/client/layout.jade:129 +msgid "Version: {{version}}" +msgstr "Version: {{version}}" + +#: src/templates/client/layout.jade:134 +msgid "Terms of Use" +msgstr "Terms of Use" + +#: src/templates/client/layout.jade:135 +msgid "Privacy Policy" +msgstr "Privacy Policy" + +#: src/templates/client/layout.jade:136 +msgid "Support" +msgstr "Support" + +#: src/templates/client/layout.jade:137 +msgid "Bug reports" +msgstr "Bug reports" + +#: src/templates/client/layout.jade:144 +msgid "more..." +msgstr "more..." + +#: src/templates/client/layout.jade:148 +msgid "Select a language" +msgstr "Select a language" + +#: src/templates/client/navbar.jade:2 +msgid "You are viewing an account in {{1}} mode. While in this mode, you can view publicly available data, but you cannot initiate any transactions. Click {{2}} to exit." +msgstr "You are viewing an account in {{1}} mode. While in this mode, you can view publicly available data, but you cannot initiate any transactions. Click {{2}} to exit." + +#: src/templates/client/navbar.jade:8 +msgid "Warning: this account has over 200 trust lines, so the displayed account balance may not be accurate." +msgstr "Warning: this account has over 200 trust lines, so the displayed account balance may not be accurate." + +#: src/templates/client/navbar.jade:19 +msgid "Overview" +msgstr "Overview" + +#: src/templates/client/navbar.jade:23 +#: src/templates/client/navbar.jade:25 +#: src/templates/tabs/settings/navbar.jade:3 +msgid "Trade" +msgstr "Trade" + +#: src/templates/client/navbar.jade:46 +msgid ""Disconnected from the Ripple network"" +msgstr ""Disconnected from the Ripple network"" + +#: src/templates/client/navbar.jade:49 +msgid ""Network fees are currently higher than your maximum. Fee: {{ fee | rpamount }} XRP. Change fees"" +msgstr ""Network fees are currently higher than your maximum. Fee: {{ fee | rpamount }} XRP. Change fees"" + +#: src/templates/client/navbar.jade:52 +msgid ""'Network fees are currently higher than normal. Fee: {{ fee | rpamount }} XRP'"" +msgstr ""'Network fees are currently higher than normal. Fee: {{ fee | rpamount }} XRP'"" + +#: src/templates/client/navbar.jade:55 +msgid ""Connected to the Ripple network. Fee: {{ fee | rpamount }} XRP"" +msgstr ""Connected to the Ripple network. Fee: {{ fee | rpamount }} XRP"" + +#: src/templates/client/navbar.jade:58 +msgid ""Connected to the Ripple network."" +msgstr ""Connected to the Ripple network."" + +#: src/templates/client/navbar.jade:68 +#: src/templates/tabs/apps.jade:8 +#: src/templates/tabs/balance.jade:10 +#: src/templates/tabs/btc.jade:79 +#: src/templates/tabs/exchange.jade:11 +#: src/templates/tabs/kyc.jade:50 +#: src/templates/tabs/recover.jade:32 +#: src/templates/tabs/security.jade:164 +#: src/templates/tabs/send.jade:11 +#: src/templates/tabs/su.jade:8 +#: src/templates/tabs/trust.jade:9 +#: src/templates/tabs/trust.jade:182 +#: src/templates/tabs/account/private.jade:7 +#: src/templates/tabs/account/private.jade:16 +#: src/templates/tabs/account/public.jade:59 +msgid "Loading..." +msgstr "Loading..." + +#: src/templates/client/navbar.jade:69 +msgid "There are no recent notifications." +msgstr "There are no recent notifications." + +#: src/templates/client/navbar.jade:78 +msgid "You sent {{1}} to {{2}}" +msgstr "You sent {{1}} to {{2}}" + +#: src/templates/client/navbar.jade:84 +msgid "{{1}} sent you {{2}}" +msgstr "{{1}} sent you {{2}}" + +#: src/templates/client/navbar.jade:92 +msgid "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" +msgstr "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" + +#: src/templates/client/navbar.jade:98 +#: src/templates/tabs/history.jade:121 +#: src/templates/tabs/history/effects.jade:63 +msgid "You have now connected to the gateway {{1}}{{2: for }}{{3}}." +msgstr "You have now connected to the gateway {{1}}{{2: for }}{{3}}." + +#: src/templates/client/navbar.jade:109 +msgid "You cancelled an order accepting {{1}} for {{2}}" +msgstr "You cancelled an order accepting {{1}} for {{2}}" + +#: src/templates/client/navbar.jade:116 +#: src/templates/tabs/history.jade:144 +msgid "Account details have been changed" +msgstr "Account details have been changed" + +#: src/templates/client/navbar.jade:119 +#: src/templates/tabs/history.jade:147 +#: src/templates/tabs/trust.jade:220 +msgid "Rippling" +msgstr "Rippling" + +#: src/templates/client/navbar.jade:121 +#: src/templates/tabs/history.jade:149 +msgid "Failed transaction" +msgstr "Failed transaction" + +#: src/templates/client/navbar.jade:127 +msgid "View Full History" +msgstr "View Full History" + +#: src/templates/client/navbar.jade:135 +msgid "Log Out" +msgstr "Log Out" + +#: src/templates/client/navbar.jade:150 +msgid "Simple" +msgstr "Simple" + +#: src/templates/client/navbar.jade:152 +#: src/templates/tabs/settings/navbar.jade:4 +msgid "Advanced" +msgstr "Advanced" + +#: src/templates/client/navbar.jade:156 +msgid "Your account was successfully recovered and encrypted with the new password you provided!" +msgstr "Your account was successfully recovered and encrypted with the new password you provided!" + +#: src/templates/client/navbar.jade:158 +msgid "'l10n'" +msgstr "×" + +#: src/templates/directives/addresspopover.jade:1 +#: src/templates/tabs/account/public.jade:63 +msgid "Ripple address" +msgstr "Ripple address" + +#: src/templates/directives/addresspopover.jade:3 +#: src/templates/tabs/tx.jade:13 +msgid "Show in graph" +msgstr "Show in graph" + +#: src/templates/directives/transactionerror.jade:8 +msgid "Connecting gateway to your account..." +msgstr "Connecting gateway to your account..." + +#: src/templates/directives/transactionerror.jade:10 +msgid "Gateway connected." +msgstr "Gateway connected." + +#: src/templates/directives/transactionerror.jade:12 +msgid "There was a problem connecting to the gateway. Please try again later." +msgstr "There was a problem connecting to the gateway. Please try again later." + +#: src/templates/directives/transactionerror.jade:14 +#: src/templates/directives/transactionerror.jade:73 +#: src/templates/directives/transactionerror.jade:158 +#: src/templates/messages/sendconvert/confirmation.jade:13 +msgid "Error code: {{engine_result}} - {{engine_result_message}}" +msgstr "Error code: {{engine_result}} - {{engine_result_message}}" + +#: src/templates/directives/transactionerror.jade:19 +#: src/templates/directives/transactionerror.jade:23 +#: src/templates/directives/transactionerror.jade:28 +#: src/templates/directives/transactionerror.jade:33 +#: src/templates/directives/transactionerror.jade:45 +#: src/templates/directives/transactionerror.jade:52 +#: src/templates/directives/transactionerror.jade:156 +#: src/templates/directives/transactionerror.jade:163 +#: src/templates/directives/transactionerror.jade:167 +#: src/templates/directives/transactionerror.jade:172 +#: src/templates/directives/transactionerror.jade:177 +#: src/templates/directives/transactionerror.jade:186 +#: src/templates/directives/transactionerror.jade:193 +msgid "Request failed" +msgstr "Request failed" + +#: src/templates/directives/transactionerror.jade:21 +#: src/templates/directives/transactionerror.jade:165 +msgid "Your request timed out, please try again." +msgstr "Your request timed out, please try again." + +#: src/templates/directives/transactionerror.jade:25 +#: src/templates/directives/transactionerror.jade:84 +#: src/templates/directives/transactionerror.jade:169 +#: src/templates/messages/sendconvert/confirmation.jade:18 +msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." +msgstr "Error code: Destination tag needed [tefDST_TAG_NEEDED]." + +#: src/templates/directives/transactionerror.jade:30 +#: src/templates/directives/transactionerror.jade:174 +msgid "Error code: This request failed because it exceeded the maximum network fee, please try again later [telINSUF_FEE_P]." +msgstr "Error code: This request failed because it exceeded the maximum network fee, please try again later [telINSUF_FEE_P]." + +#: src/templates/directives/transactionerror.jade:35 +msgid "Error code: You have no gateway connected in this currency [terNO_LINE]." +msgstr "Error code: You have no gateway connected in this currency [terNO_LINE]." + +#: src/templates/directives/transactionerror.jade:37 +msgid "Error code: Insufficient reserve to connect gateway [tecINSUF_RESERVE_LINE]." +msgstr "Error code: Insufficient reserve to connect gateway [tecINSUF_RESERVE_LINE]." + +#: src/templates/directives/transactionerror.jade:39 +msgid "Error code: You have an insufficient reserve amount to connect a gateway [tecNO_LINE_INSUF_RESERVE]. {{1}}" +msgstr "Error code: You have an insufficient reserve amount to connect a gateway [tecNO_LINE_INSUF_RESERVE]. {{1}}" + +#: src/templates/directives/transactionerror.jade:41 +#: src/templates/tabs/fund.jade:49 +msgid "More information" +msgstr "More information" + +#: src/templates/directives/transactionerror.jade:42 +#: src/templates/directives/transactionerror.jade:98 +#: src/templates/directives/transactionerror.jade:135 +#: src/templates/directives/transactionerror.jade:183 +#: src/templates/messages/sendconvert/confirmation.jade:27 +msgid "Error: {{engine_result_message}}" +msgstr "Error: {{engine_result_message}}" + +#: src/templates/directives/transactionerror.jade:47 +#: src/templates/directives/transactionerror.jade:103 +#: src/templates/directives/transactionerror.jade:188 +#: src/templates/messages/sendconvert/confirmation.jade:32 +msgid "Error code: You have no trust line in this currency [terNO_LINE]." +msgstr "Error code: You have no trust line in this currency [terNO_LINE]." + +#: src/templates/directives/transactionerror.jade:49 +#: src/templates/directives/transactionerror.jade:190 +msgid "Your request failed: {{engine_result}} - {{engine_result_message}}" +msgstr "Your request failed: {{engine_result}} - {{engine_result_message}}" + +#: src/templates/directives/transactionerror.jade:54 +#: src/templates/directives/transactionerror.jade:195 +msgid "Error code: request could not be submitted [tejLost]." +msgstr "Error code: request could not be submitted [tejLost]." + +#: src/templates/directives/transactionerror.jade:56 +#: src/templates/directives/transactionerror.jade:197 +#: src/templates/tabs/trust.jade:45 +msgid "This request failed because the current network fee is higher than your account limit. You can adjust your maximum network fee in Settings > Advanced, or try again later.
Error code: Network fee exceeded [tejMaxFeeExceeded]." +msgstr "This request failed because the current network fee is higher than your account limit. You can adjust your maximum network fee in Settings > Advanced, or try again later.
Error code: Network fee exceeded [tejMaxFeeExceeded]." + +#: src/templates/directives/transactionerror.jade:59 +#: src/templates/directives/transactionerror.jade:200 +msgid "Your request could not be submitted: {{engine_result}} - {{engine_result_message}}" +msgstr "Your request could not be submitted: {{engine_result}} - {{engine_result_message}}" + +#: src/templates/directives/transactionerror.jade:67 +msgid "Payment pending" +msgstr "Payment pending" + +#: src/templates/directives/transactionerror.jade:69 +msgid "Payment successful" +msgstr "Payment successful" + +#: src/templates/directives/transactionerror.jade:71 +#: src/templates/directives/transactionerror.jade:82 +#: src/templates/directives/transactionerror.jade:87 +#: src/templates/directives/transactionerror.jade:92 +#: src/templates/directives/transactionerror.jade:101 +#: src/templates/directives/transactionerror.jade:108 +msgid "Payment failed" +msgstr "Payment failed" + +#: src/templates/directives/transactionerror.jade:78 +msgid "Payment failed [tefMAX_LEDGER]." +msgstr "Payment failed [tefMAX_LEDGER]." + +#: src/templates/directives/transactionerror.jade:80 +msgid "Your payment timed out, please try again." +msgstr "Your payment timed out, please try again." + +#: src/templates/directives/transactionerror.jade:89 +#: src/templates/messages/sendconvert/confirmation.jade:39 +msgid "Error code: This transaction failed because it exceeded the maximum network fee, please try again later [telINSUF_FEE_P]." +msgstr "Error code: This transaction failed because it exceeded the maximum network fee, please try again later [telINSUF_FEE_P]." + +#: src/templates/directives/transactionerror.jade:94 +#: src/templates/directives/transactionerror.jade:179 +msgid "Error code: No destination [tecNO_DST]." +msgstr "Error code: No destination [tecNO_DST]." + +#: src/templates/directives/transactionerror.jade:96 +#: src/templates/directives/transactionerror.jade:181 +#: src/templates/messages/sendconvert/confirmation.jade:25 +msgid "Error code: Insufficient XRP sent to destination [tecNO_DST_INSUF_XRP]." +msgstr "Error code: Insufficient XRP sent to destination [tecNO_DST_INSUF_XRP]." + +#: src/templates/directives/transactionerror.jade:105 +msgid "Your payment failed: {{engine_result}} - {{engine_result_message}}" +msgstr "Your payment failed: {{engine_result}} - {{engine_result_message}}" + +#: src/templates/directives/transactionerror.jade:110 +msgid "Error code: Transaction could not be submitted [tejLost]." +msgstr "Error code: Transaction could not be submitted [tejLost]." + +#: src/templates/directives/transactionerror.jade:112 +msgid "This transaction failed because the current network fee is higher than your account limit. You can adjust your maximum network fee in Settings > Advanced, or try again later.
Error code: Network fee exceeded [tejMaxFeeExceeded]." +msgstr "This transaction failed because the current network fee is higher than your account limit. You can adjust your maximum network fee in Settings > Advanced, or try again later.
Error code: Network fee exceeded [tejMaxFeeExceeded]." + +#: src/templates/directives/transactionerror.jade:115 +msgid "Your payment could not be submitted: {{engine_result}} - {{engine_result_message}}" +msgstr "Your payment could not be submitted: {{engine_result}} - {{engine_result_message}}" + +#: src/templates/directives/transactionerror.jade:121 +msgid "Request is malformed." +msgstr "Request is malformed." + +#: src/templates/directives/transactionerror.jade:122 +msgid "Your request is invalid, reason: {{engine_result_message}} - {{engine_result_message}}" +msgstr "Your request is invalid, reason: {{engine_result_message}} - {{engine_result_message}}" + +#: src/templates/directives/transactionerror.jade:125 +#: src/templates/directives/transactionerror.jade:142 +msgid "Transaction failed." +msgstr "Transaction failed." + +#: src/templates/directives/transactionerror.jade:127 +msgid "You do not have enough funds to create this order [tecUNFUNDED_ORDER]." +msgstr "You do not have enough funds to create this order [tecUNFUNDED_ORDER]." + +#: src/templates/directives/transactionerror.jade:129 +msgid "Insufficient reserve amount to submit an order [tecINSUF_RESERVE_OFFER]." +msgstr "Insufficient reserve amount to submit an order [tecINSUF_RESERVE_OFFER]." + +#: src/templates/directives/transactionerror.jade:131 +msgid "This transaction failed because the current network fee is higher than your account limit. You can adjust your maximum network fee in Settings > Advanced, or try again later.
Error code: Network fee exceeded [tejMaxFeeExceeded]. {{1}}" +msgstr "This transaction failed because the current network fee is higher than your account limit. You can adjust your maximum network fee in Settings > Advanced, or try again later.
Error code: Network fee exceeded [tejMaxFeeExceeded]. {{1}}" + +#: src/templates/directives/transactionerror.jade:134 +msgid "More information." +msgstr "More information." + +#: src/templates/directives/transactionerror.jade:138 +msgid "Trade failed." +msgstr "Trade failed." + +#: src/templates/directives/transactionerror.jade:140 +msgid "Trade failed, reason: {{engine_result_message}}" +msgstr "Trade failed, reason: {{engine_result_message}}" + +#: src/templates/directives/transactionerror.jade:144 +msgid "The particular server you sent the transaction to was too busy to forward or process your transaction at the fee you included in it [telINSUF_FEE_P]." +msgstr "The particular server you sent the transaction to was too busy to forward or process your transaction at the fee you included in it [telINSUF_FEE_P]." + +#: src/templates/directives/transactionerror.jade:152 +msgid "Request pending" +msgstr "Request pending" + +#: src/templates/directives/transactionerror.jade:154 +msgid "Request successful" +msgstr "Request successful" + +#: src/templates/popup/modifyOrderError.jade:2 +msgid "Modify Order Error" +msgstr "Modify Order Error" + +#: src/templates/popup/modifyOrderError.jade:4 +msgid "Sorry, your order could not be modified." +msgstr "Sorry, your order could not be modified." + +#: src/templates/popup/modifyOrderError.jade:5 +msgid "Your original order was cancelled but the modified order was not placed.
" +msgstr "Your original order was cancelled but the modified order was not placed.
" + +#: src/templates/popup/modifyOrderError.jade:6 +msgid "The quantity of your order changed by {{order.qtyChangeAfterCancel | rpamount}} before the order could be modified.

" +msgstr "The quantity of your order changed by {{order.qtyChangeAfterCancel | rpamount}} before the order could be modified.

" + +#: src/templates/popup/modifyOrderError.jade:7 +msgid "To safeguard against the possibility of overfills a new order has not been placed.
" +msgstr "To safeguard against the possibility of overfills a new order has not been placed.
" + +#: src/templates/popup/modifyOrderError.jade:8 +msgid "Please check your balance and history before placing the new order manually.
" +msgstr "Please check your balance and history before placing the new order manually.
" + +#: src/templates/popup/modifyOrderError.jade:10 +#: src/templates/popup/unlock.jade:21 +msgid "Close" +msgstr "Close" + +#: src/templates/popup/unlock.jade:2 +msgid "Unlock account" +msgstr "Unlock account" + +#: src/templates/popup/unlock.jade:5 +#: src/templates/tabs/recover.jade:44 +#: src/templates/tabs/register.jade:72 +#: src/templates/tabs/security.jade:12 +#: src/templates/tabs/login/form.jade:9 +msgid "Password" +msgstr "Password" + +#: src/templates/popup/unlock.jade:11 +msgid "Please enter your password to show your secret key." +msgstr "Please enter your password to show your secret key." + +#: src/templates/popup/unlock.jade:12 +#: src/templates/tabs/send.jade:287 +msgid "Please enter your password to confirm this transaction." +msgstr "Please enter your password to confirm this transaction." + +#: src/templates/popup/unlock.jade:13 +msgid "This password is incorrect, please try again." +msgstr "This password is incorrect, please try again." + +#: src/templates/popup/unlock.jade:14 +#: src/templates/messages/sendconvert/localerror.jade:18 +#: src/templates/tabs/account/public.jade:48 +msgid "Your account cannot be accessed at the moment. Please try again later." +msgstr "Your account cannot be accessed at the moment. Please try again later." + +#: src/templates/popup/unlock.jade:17 +msgid "Confirming password" +msgstr "Confirming password" + +#: src/templates/popup/unlock.jade:20 +#: src/templates/tabs/security.jade:163 +#: src/templates/tabs/account/public.jade:58 +msgid "Submit" +msgstr "Submit" + +#: src/templates/strings/myOrders.jade:3 +msgid "Type" +msgstr "Type" + +#: src/templates/strings/myOrders.jade:4 +#: src/templates/tabs/trade.jade:434 +#: src/templates/tabs/widgets/orders.jade:40 +msgid "QTY" +msgstr "QTY" + +#: src/templates/strings/myOrders.jade:5 +#: src/templates/tabs/trade.jade:439 +#: src/templates/tabs/widgets/orders.jade:45 +msgid "Base" +msgstr "Base" + +#: src/templates/strings/myOrders.jade:6 +#: src/templates/tabs/trade.jade:444 +#: src/templates/tabs/widgets/orders.jade:50 +msgid "Counter" +msgstr "Counter" + +#: src/templates/strings/myOrders.jade:7 +#: src/templates/tabs/trust.jade:218 +#: src/templates/tabs/trust.jade:326 +msgid "Limit" +msgstr "Limit" + +#: src/templates/tabs/_usd.jade:6 +#: src/templates/tabs/brl.jade:6 +#: src/templates/tabs/btc.jade:9 +#: src/templates/tabs/eur.jade:6 +#: src/templates/tabs/fund.jade:6 +#: src/templates/tabs/gold.jade:6 +#: src/templates/tabs/jpy.jade:6 +#: src/templates/tabs/kyc.jade:6 +#: src/templates/tabs/mxn.jade:6 +#: src/templates/tabs/send.jade:6 +#: src/templates/tabs/sgd.jade:6 +#: src/templates/tabs/usd.jade:6 +#: src/templates/tabs/withdraw.jade:6 +#: src/templates/tabs/xrp.jade:6 +msgid ""err-you-must-be-online-to-see-this-screen"" +msgstr "You have to be online to see this screen" + +#: src/templates/tabs/_usd.jade:22 +msgid "USD instant deposit" +msgstr "USD instant deposit" + +#: src/templates/tabs/_usd.jade:26 +msgid "STEP 1: AMOUNT" +msgstr "STEP 1: AMOUNT" + +#: src/templates/tabs/_usd.jade:28 +msgid "STEP 2: CONFIRMATION" +msgstr "STEP 2: CONFIRMATION" + +#: src/templates/tabs/_usd.jade:30 +msgid "STEP 3: COMPLETE DEPOSIT" +msgstr "STEP 3: COMPLETE DEPOSIT" + +#: src/templates/tabs/_usd.jade:34 +msgid "Success! You've completed your USD deposit. Your funds should be available within a few minutes." +msgstr "Success! You've completed your USD deposit. Your funds should be available within a few minutes." + +#: src/templates/tabs/_usd.jade:36 +msgid "You cancelled your deposit." +msgstr "You cancelled your deposit." + +#: src/templates/tabs/_usd.jade:38 +msgid "Your deposit failed. Your bank account was not charged. Please contact {{1}}." +msgstr "Your deposit failed. Your bank account was not charged. Please contact {{1}}." + +#: src/templates/tabs/_usd.jade:49 +#: src/templates/tabs/_usd.jade:92 +#: src/templates/tabs/fund.jade:56 +#: src/templates/tabs/history.jade:179 +#: src/templates/tabs/trust.jade:104 +msgid "Amount" +msgstr "Amount" + +#: src/templates/tabs/_usd.jade:60 +#: src/templates/tabs/_usd.jade:63 +msgid "Select your bank" +msgstr "Select your bank" + +#: src/templates/tabs/_usd.jade:78 +msgid "Ripple Trade has partnered with SnapSwap to make USD deposits easier. By continuing, you agree to SnapSwap's {{1}}To contact support, email {{2}}." +msgstr "Ripple Trade has partnered with SnapSwap to make USD deposits easier. By continuing, you agree to SnapSwap's {{1}}To contact support, email {{2}}." + +#: src/templates/tabs/_usd.jade:94 +#: src/templates/tabs/history.jade:185 +msgid "Fee" +msgstr "Fee" + +#: src/templates/tabs/_usd.jade:96 +msgid "Total" +msgstr "Total" + +#: src/templates/tabs/_usd.jade:99 +msgid "Calculating..." +msgstr "Calculating..." + +#: src/templates/tabs/_usd.jade:110 +#: src/templates/tabs/register.jade:160 +#: src/templates/tabs/register.jade:167 +msgid "Back" +msgstr "Back" + +#: src/templates/tabs/_usd.jade:112 +#: src/templates/tabs/btc.jade:80 +#: src/templates/tabs/exchange.jade:145 +#: src/templates/tabs/send.jade:299 +#: src/templates/tabs/trade.jade:97 +#: src/templates/tabs/trade.jade:115 +#: src/templates/tabs/trade.jade:349 +#: src/templates/tabs/trust.jade:183 +msgid "Confirm" +msgstr "Confirm" + +#: src/templates/tabs/advanced.jade:12 +msgid "Your blobvault has been changed successfully." +msgstr "Your blobvault has been changed successfully." + +#: src/templates/tabs/advanced.jade:13 +msgid "Send confirmation settings have been changed successfully." +msgstr "Send confirmation settings have been changed successfully." + +#: src/templates/tabs/advanced.jade:14 +msgid "Simple trade confirmation settings have been changed successfully." +msgstr "Simple trade confirmation settings have been changed successfully." + +#: src/templates/tabs/advanced.jade:15 +msgid "Advanced trade confirmation settings have been changed successfully." +msgstr "Advanced trade confirmation settings have been changed successfully." + +#: src/templates/tabs/advanced.jade:16 +msgid "Maximum network fee has been changed successfully." +msgstr "Maximum network fee has been changed successfully." + +#: src/templates/tabs/advanced.jade:17 +msgid "History API has been changed successfully." +msgstr "History API has been changed successfully." + +#: src/templates/tabs/advanced.jade:18 +msgid "A server has been successfully added." +msgstr "A server has been successfully added." + +#: src/templates/tabs/advanced.jade:19 +msgid "A server has been successfully removed." +msgstr "A server has been successfully removed." + +#: src/templates/tabs/advanced.jade:20 +msgid "A server has been changed successfully." +msgstr "A server has been changed successfully." + +#: src/templates/tabs/advanced.jade:33 +#: src/templates/tabs/advanced.jade:60 +#: src/templates/tabs/advanced.jade:85 +#: src/templates/tabs/advanced.jade:153 +#: src/templates/tabs/contacts.jade:110 +#: src/templates/tabs/security.jade:127 +#: src/templates/tabs/security.jade:197 +#: src/templates/tabs/settingsgateway.jade:23 +#: src/templates/tabs/settingsgateway.jade:50 +#: src/templates/tabs/settingsgateway.jade:74 +#: src/templates/tabs/trade.jade:528 +#: src/templates/tabs/trust.jade:259 +#: src/templates/tabs/trust.jade:261 +#: src/templates/tabs/account/public.jade:9 +msgid "edit" +msgstr "edit" + +#: src/templates/tabs/advanced.jade:43 +#: src/templates/tabs/advanced.jade:70 +#: src/templates/tabs/advanced.jade:98 +#: src/templates/tabs/advanced.jade:138 +#: src/templates/tabs/contacts.jade:156 +#: src/templates/tabs/fund.jade:99 +#: src/templates/tabs/notifications.jade:53 +#: src/templates/tabs/security.jade:207 +#: src/templates/tabs/send.jade:352 +#: src/templates/tabs/send.jade:392 +#: src/templates/tabs/settingsgateway.jade:33 +#: src/templates/tabs/settingsgateway.jade:61 +#: src/templates/tabs/settingsgateway.jade:85 +#: src/templates/tabs/trust.jade:161 +#: src/templates/tabs/trust.jade:343 +msgid "Save" +msgstr "Save" + +#: src/templates/tabs/advanced.jade:46 +#: src/templates/tabs/advanced.jade:73 +#: src/templates/tabs/advanced.jade:141 +#: src/templates/tabs/contacts.jade:168 +#: src/templates/tabs/security.jade:222 +#: src/templates/tabs/settingsgateway.jade:36 +#: src/templates/tabs/settingsgateway.jade:64 +#: src/templates/tabs/settingsgateway.jade:88 +msgid "Delete" +msgstr "Delete" + +#: src/templates/tabs/advanced.jade:48 +#: src/templates/tabs/advanced.jade:75 +#: src/templates/tabs/advanced.jade:100 +#: src/templates/tabs/advanced.jade:143 +#: src/templates/tabs/btc.jade:81 +#: src/templates/tabs/contacts.jade:95 +#: src/templates/tabs/contacts.jade:170 +#: src/templates/tabs/exchange.jade:148 +#: src/templates/tabs/exchange.jade:161 +#: src/templates/tabs/kyc.jade:152 +#: src/templates/tabs/kyc.jade:170 +#: src/templates/tabs/kyc.jade:196 +#: src/templates/tabs/kyc.jade:197 +#: src/templates/tabs/kyc.jade:227 +#: src/templates/tabs/login.jade:35 +#: src/templates/tabs/security.jade:84 +#: src/templates/tabs/security.jade:119 +#: src/templates/tabs/security.jade:166 +#: src/templates/tabs/send.jade:303 +#: src/templates/tabs/send.jade:317 +#: src/templates/tabs/send.jade:353 +#: src/templates/tabs/send.jade:394 +#: src/templates/tabs/settingsgateway.jade:38 +#: src/templates/tabs/trade.jade:79 +#: src/templates/tabs/trade.jade:486 +#: src/templates/tabs/trust.jade:184 +#: src/templates/tabs/trust.jade:187 +#: src/templates/tabs/trust.jade:311 +#: src/templates/tabs/trust.jade:395 +#: src/templates/tabs/account/public.jade:61 +msgid "cancel" +msgstr "cancel" + +#: src/templates/tabs/advanced.jade:56 +#: src/templates/tabs/advanced.jade:68 +#: src/templates/tabs/security.jade:179 +#: src/templates/tabs/settingsgateway.jade:47 +#: src/templates/tabs/settingsgateway.jade:59 +msgid "Show" +msgstr "Show" + +#: src/templates/tabs/advanced.jade:57 +#: src/templates/tabs/security.jade:180 +#: src/templates/tabs/settingsgateway.jade:48 +msgid "Hide" +msgstr "Hide" + +#: src/templates/tabs/advanced.jade:77 +msgid "Network settings" +msgstr "Network settings" + +#: src/templates/tabs/advanced.jade:79 +msgid "Maximum network fee" +msgstr "Maximum network fee" + +#: src/templates/tabs/advanced.jade:102 +msgid "Confirmation Page settings" +msgstr "Confirmation Page settings" + +#: src/templates/tabs/advanced.jade:107 +msgid "Server settings" +msgstr "Server settings" + +#: src/templates/tabs/advanced.jade:114 +msgid "WebSocket host name" +msgstr "WebSocket host name" + +#: src/templates/tabs/advanced.jade:116 +msgid "Port number" +msgstr "Port number" + +#: src/templates/tabs/advanced.jade:125 +msgid "Socket ip or hostname is invalid or is down." +msgstr "Socket ip or hostname is invalid or is down." + +#: src/templates/tabs/advanced.jade:127 +msgid "Port number is invalid." +msgstr "Port number is invalid." + +#: src/templates/tabs/advanced.jade:136 +#: src/templates/tabs/advanced.jade:150 +msgid "Secure" +msgstr "Secure" + +#: src/templates/tabs/advanced.jade:151 +msgid "Not Secure" +msgstr "Not Secure" + +#: src/templates/tabs/advanced.jade:156 +msgid "Add new server" +msgstr "Add new server" + +#: src/templates/tabs/apps.jade:5 +#: src/templates/tabs/balance.jade:5 +#: src/templates/tabs/exchange.jade:6 +#: src/templates/tabs/su.jade:5 +#: src/templates/tabs/trade.jade:7 +#: src/templates/tabs/trust.jade:6 +msgid "You have to be online to see this screen" +msgstr "You have to be online to see this screen" + +#: src/templates/tabs/apps.jade:27 +msgid ""App Ripple Address"" +msgstr ""App Ripple Address"" + +#: src/templates/tabs/apps.jade:33 +msgid "Please enter a ripple address." +msgstr "Please enter a ripple address." + +#: src/templates/tabs/apps.jade:35 +msgid "Please enter a valid ripple address." +msgstr "Please enter a valid ripple address." + +#: src/templates/tabs/brl.jade:33 +#: src/templates/tabs/eur.jade:33 +#: src/templates/tabs/gold.jade:33 +#: src/templates/tabs/jpy.jade:33 +#: src/templates/tabs/mxn.jade:33 +#: src/templates/tabs/sgd.jade:33 +#: src/templates/tabs/trust.jade:51 +#: src/templates/tabs/usd.jade:33 +msgid "There was an error while saving your changes." +msgstr "There was an error while saving your changes." + +#: src/templates/tabs/brl.jade:34 +#: src/templates/tabs/btc.jade:27 +#: src/templates/tabs/eur.jade:34 +#: src/templates/tabs/gold.jade:34 +#: src/templates/tabs/jpy.jade:34 +#: src/templates/tabs/mxn.jade:34 +#: src/templates/tabs/sgd.jade:34 +#: src/templates/tabs/trust.jade:52 +#: src/templates/tabs/usd.jade:34 +#: src/templates/messages/sendconvert/confirmation.jade:9 +msgid "Please try again later." +msgstr "Please try again later." + +#: src/templates/tabs/brl.jade:37 +#: src/templates/tabs/eur.jade:36 +#: src/templates/tabs/gold.jade:36 +#: src/templates/tabs/jpy.jade:37 +#: src/templates/tabs/mxn.jade:37 +#: src/templates/tabs/sgd.jade:36 +#: src/templates/tabs/trust.jade:54 +#: src/templates/tabs/usd.jade:36 +msgid "You must have at least {{1}} to add a new trust line. {{2}}" +msgstr "You must have at least {{1}} to add a new trust line. {{2}}" + +#: src/templates/tabs/brl.jade:47 +msgid "Brazilian Real Deposit" +msgstr "Brazilian Real Deposit" + +#: src/templates/tabs/brl.jade:50 +#: src/templates/tabs/btc.jade:40 +#: src/templates/tabs/eur.jade:47 +#: src/templates/tabs/gold.jade:49 +#: src/templates/tabs/jpy.jade:50 +#: src/templates/tabs/mxn.jade:50 +#: src/templates/tabs/sgd.jade:47 +#: src/templates/tabs/trust.jade:212 +#: src/templates/tabs/usd.jade:47 +msgid "Gateway" +msgstr "Gateway" + +#: src/templates/tabs/brl.jade:51 +#: src/templates/tabs/eur.jade:57 +#: src/templates/tabs/mxn.jade:90 +#: src/templates/tabs/mxn.jade:102 +#: src/templates/tabs/mxn.jade:112 +#: src/templates/tabs/security.jade:54 +#: src/templates/tabs/sgd.jade:57 +msgid "{{1}}{{2}}" +msgstr "{{1}}{{2}}" + +#: src/templates/tabs/brl.jade:52 +msgid "Ripple (~rippex)" +msgstr "Ripple (~rippex)" + +#: src/templates/tabs/brl.jade:55 +#: src/templates/tabs/btc.jade:44 +#: src/templates/tabs/eur.jade:53 +#: src/templates/tabs/gold.jade:53 +#: src/templates/tabs/jpy.jade:54 +#: src/templates/tabs/mxn.jade:55 +#: src/templates/tabs/sgd.jade:53 +#: src/templates/tabs/usd.jade:53 +msgid "Availability" +msgstr "Availability" + +#: src/templates/tabs/brl.jade:56 +msgid "Brazil" +msgstr "Brazil" + +#: src/templates/tabs/brl.jade:58 +#: src/templates/tabs/btc.jade:47 +#: src/templates/tabs/eur.jade:56 +#: src/templates/tabs/gold.jade:56 +#: src/templates/tabs/jpy.jade:57 +#: src/templates/tabs/mxn.jade:58 +#: src/templates/tabs/sgd.jade:56 +#: src/templates/tabs/usd.jade:56 +msgid "Fees" +msgstr "Fees" + +#: src/templates/tabs/brl.jade:59 +#: src/templates/tabs/jpy.jade:58 +#: src/templates/tabs/kyc.jade:146 +#: src/templates/tabs/kyc.jade:164 +#: src/templates/tabs/kyc.jade:190 +msgid "{{1}}{{2}}{{3}}" +msgstr "{{1}}{{2}}{{3}}" + +#: src/templates/tabs/brl.jade:60 +msgid "Deposit: 1.50 BRL + 0.5%" +msgstr "Deposit: 1.50 BRL + 0.5%" + +#: src/templates/tabs/brl.jade:61 +msgid "Transfer: 0%" +msgstr "Transfer: 0%" + +#: src/templates/tabs/brl.jade:65 +#: src/templates/tabs/btc.jade:50 +#: src/templates/tabs/eur.jade:62 +#: src/templates/tabs/gold.jade:59 +#: src/templates/tabs/jpy.jade:63 +#: src/templates/tabs/mxn.jade:61 +#: src/templates/tabs/sgd.jade:62 +#: src/templates/tabs/usd.jade:59 +msgid "Rating" +msgstr "Rating" + +#: src/templates/tabs/brl.jade:71 +msgid "Ripple Trade has partnered with Rippex to provide easy access to BRL. By continuing, you agree with Rippex's {{1}}Following this action will enable Rippex to hold BRL on your behalf." +msgstr "Ripple Trade has partnered with Rippex to provide easy access to BRL. By continuing, you agree with Rippex's {{1}}Following this action will enable Rippex to hold BRL on your behalf." + +#: src/templates/tabs/brl.jade:78 +msgid "Add Rippex" +msgstr "Add Rippex" + +#: src/templates/tabs/brl.jade:79 +#: src/templates/tabs/btc.jade:86 +#: src/templates/tabs/eur.jade:73 +#: src/templates/tabs/gold.jade:71 +#: src/templates/tabs/jpy.jade:72 +#: src/templates/tabs/mxn.jade:74 +#: src/templates/tabs/sgd.jade:73 +#: src/templates/tabs/usd.jade:70 +msgid "Adding..." +msgstr "Adding..." + +#: src/templates/tabs/brl.jade:80 +#: src/templates/tabs/btc.jade:87 +#: src/templates/tabs/eur.jade:74 +#: src/templates/tabs/gold.jade:72 +#: src/templates/tabs/jpy.jade:73 +#: src/templates/tabs/mxn.jade:75 +#: src/templates/tabs/sgd.jade:74 +#: src/templates/tabs/usd.jade:71 +msgid "Hide instructions" +msgstr "Hide instructions" + +#: src/templates/tabs/brl.jade:81 +#: src/templates/tabs/btc.jade:88 +#: src/templates/tabs/eur.jade:75 +#: src/templates/tabs/gold.jade:73 +#: src/templates/tabs/jpy.jade:74 +#: src/templates/tabs/mxn.jade:76 +#: src/templates/tabs/sgd.jade:75 +#: src/templates/tabs/usd.jade:72 +msgid "Show instructions" +msgstr "Show instructions" + +#: src/templates/tabs/brl.jade:84 +msgid "{{1}}Not connected" +msgstr "{{1}}Not connected" + +#: src/templates/tabs/brl.jade:87 +msgid "{{1}}Connected" +msgstr "{{1}}Connected" + +#: src/templates/tabs/brl.jade:90 +#: src/templates/tabs/eur.jade:80 +#: src/templates/tabs/gold.jade:82 +#: src/templates/tabs/jpy.jade:83 +#: src/templates/tabs/mxn.jade:85 +#: src/templates/tabs/sgd.jade:84 +#: src/templates/tabs/usd.jade:77 +msgid "Your account has to be activated before you can add a gateway account." +msgstr "Your account has to be activated before you can add a gateway account." + +#: src/templates/tabs/brl.jade:93 +#: src/templates/tabs/eur.jade:84 +#: src/templates/tabs/gold.jade:85 +#: src/templates/tabs/jpy.jade:86 +#: src/templates/tabs/mxn.jade:88 +#: src/templates/tabs/sgd.jade:88 +#: src/templates/tabs/usd.jade:81 +msgid "×" +msgstr "×" + +#: src/templates/tabs/brl.jade:94 +msgid "NEW CUSTOMERS- SIGN UP AT RIPPEX" +msgstr "NEW CUSTOMERS- SIGN UP AT RIPPEX" + +#: src/templates/tabs/brl.jade:95 +msgid "{{1}} at Rippex.net to initiate deposits and withdrawals. You will need:{{2}}" +msgstr "{{1}} at Rippex.net to initiate deposits and withdrawals. You will need:{{2}}" + +#: src/templates/tabs/brl.jade:99 +msgid "A {{1}}" +msgstr "A {{1}}" + +#: src/templates/tabs/brl.jade:101 +msgid "A bank account in Brazil." +msgstr "A bank account in Brazil." + +#: src/templates/tabs/brl.jade:105 +msgid "EXISTING RIPPEX CUSTOMERS" +msgstr "EXISTING RIPPEX CUSTOMERS" + +#: src/templates/tabs/brl.jade:106 +msgid "If you have a Rippex account, {{1}}" +msgstr "If you have a Rippex account, {{1}}" + +#: src/templates/tabs/brl.jade:109 +msgid "DEPOSIT INSTRUCTIONS" +msgstr "DEPOSIT INSTRUCTIONS" + +#: src/templates/tabs/brl.jade:110 +msgid "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" +msgstr "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" + +#: src/templates/tabs/btc.jade:24 +msgid "Success! You can deposit BTC via your generated BTC receiving address." +msgstr "Success! You can deposit BTC via your generated BTC receiving address." + +#: src/templates/tabs/btc.jade:26 +msgid "There was an error with your request. {{1}}" +msgstr "There was an error with your request. {{1}}" + +#: src/templates/tabs/btc.jade:35 +msgid "Bitcoin Deposit" +msgstr "Bitcoin Deposit" + +#: src/templates/tabs/btc.jade:41 +msgid "btc2ripple (~SnapSwap) {{1}}" +msgstr "btc2ripple (~SnapSwap) {{1}}" + +#: src/templates/tabs/btc.jade:45 +#: src/templates/tabs/gold.jade:54 +#: src/templates/tabs/jpy.jade:55 +msgid "All countries" +msgstr "All countries" + +#: src/templates/tabs/btc.jade:48 +msgid "0% for deposits/withdrawals, .2% when transferring" +msgstr "0% for deposits/withdrawals, .2% when transferring" + +#: src/templates/tabs/btc.jade:55 +msgid "Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By proceeding, you agree to the btc2ripple {{1}} Following this action will allow btc2ripple to hold BTC on your behalf." +msgstr "Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By proceeding, you agree to the btc2ripple {{1}} Following this action will allow btc2ripple to hold BTC on your behalf." + +#: src/templates/tabs/btc.jade:61 +msgid "Add btc2ripple" +msgstr "Add btc2ripple" + +#: src/templates/tabs/btc.jade:66 +#: src/templates/tabs/security.jade:69 +#: src/templates/tabs/trust.jade:165 +msgid "Connect" +msgstr "Connect" + +#: src/templates/tabs/btc.jade:68 +msgid "btc2ripple would like to:" +msgstr "btc2ripple would like to:" + +#: src/templates/tabs/btc.jade:70 +msgid "- Receive your email address {{1}}" +msgstr "- Receive your email address {{1}}" + +#: src/templates/tabs/btc.jade:71 +msgid "({{userBlob.data.email}})" +msgstr "({{userBlob.data.email}})" + +#: src/templates/tabs/btc.jade:72 +msgid "- Hold deposited BTC on your behalf" +msgstr "- Hold deposited BTC on your behalf" + +#: src/templates/tabs/btc.jade:73 +msgid "By proceeding, you agree to the btc2ripple {{1}}" +msgstr "By proceeding, you agree to the btc2ripple {{1}}" + +#: src/templates/tabs/btc.jade:83 +#: src/templates/tabs/btc.jade:97 +msgid "SnapSwap's btc2ripple service is currently unavailable. Please check back later." +msgstr "SnapSwap's btc2ripple service is currently unavailable. Please check back later." + +#: src/templates/tabs/btc.jade:93 +#: src/templates/tabs/eur.jade:79 +#: src/templates/tabs/usd.jade:76 +msgid "Connected" +msgstr "Connected" + +#: src/templates/tabs/btc.jade:96 +#: src/templates/tabs/eur.jade:78 +#: src/templates/tabs/usd.jade:75 +msgid "Not connected" +msgstr "Not connected" + +#: src/templates/tabs/btc.jade:105 +msgid "Personal Deposit address" +msgstr "Personal Deposit address" + +#: src/templates/tabs/btc.jade:107 +msgid "Your account is fully verified." +msgstr "Your account is fully verified." + +#: src/templates/tabs/btc.jade:111 +msgid "Withdrawal instructions" +msgstr "Withdrawal instructions" + +#: src/templates/tabs/btc.jade:112 +msgid "To withdraw to a BTC address, go to the Send tab and enter the BTC address. Using the btc2ripple service, you will be able tosend to that BTC address." +msgstr "To withdraw to a BTC address, go to the Send tab and enter the BTC address. Using the btc2ripple service, you will be able tosend to that BTC address." + +#: src/templates/tabs/btc.jade:117 +msgid "Waiting for response from SnapSwap service..." +msgstr "Waiting for response from SnapSwap service..." + +#: src/templates/tabs/btc.jade:119 +msgid "To deposit, generate a bitcoin receiving address using the {{1}} service powered by SnapSwap." +msgstr "To deposit, generate a bitcoin receiving address using the {{1}} service powered by SnapSwap." + +#: src/templates/tabs/contacts.jade:13 +msgid "A new contact has been successfully added." +msgstr "A new contact has been successfully added." + +#: src/templates/tabs/contacts.jade:14 +msgid "Your contact has been successfully updated." +msgstr "Your contact has been successfully updated." + +#: src/templates/tabs/contacts.jade:15 +msgid "A contact has been successfully removed." +msgstr "A contact has been successfully removed." + +#: src/templates/tabs/contacts.jade:19 +msgid "Filter contacts" +msgstr "Filter contacts" + +#: src/templates/tabs/contacts.jade:24 +msgid "Contact{{1}}" +msgstr "Contact{{1}}" + +#: src/templates/tabs/contacts.jade:29 +msgid "Ripple name or address{{1}}" +msgstr "Ripple name or address{{1}}" + +#: src/templates/tabs/contacts.jade:35 +#: src/templates/tabs/contacts.jade:39 +#: src/templates/tabs/contacts.jade:93 +msgid "Add contact" +msgstr "Add contact" + +#: src/templates/tabs/contacts.jade:44 +msgid "Contact" +msgstr "Contact" + +#: src/templates/tabs/contacts.jade:53 +#: src/templates/tabs/send.jade:346 +#: src/templates/tabs/send.jade:384 +msgid "Please enter a contact." +msgstr "Please enter a contact." + +#: src/templates/tabs/contacts.jade:54 +msgid "This contact already exists." +msgstr "This contact already exists." + +#: src/templates/tabs/contacts.jade:58 +msgid "Ripple name or address" +msgstr "Ripple name or address" + +#: src/templates/tabs/contacts.jade:73 +msgid "Please enter a Ripple name." +msgstr "Please enter a Ripple name." + +#: src/templates/tabs/contacts.jade:74 +#: src/templates/tabs/contacts.jade:90 +msgid "You already have a contact with the same Ripple name and/or the same Destination tag." +msgstr "You already have a contact with the same Ripple name and/or the same Destination tag." + +#: src/templates/tabs/contacts.jade:75 +msgid "Not a valid Ripple name or address." +msgstr "Not a valid Ripple name or address." + +#: src/templates/tabs/contacts.jade:78 +#: src/templates/tabs/contacts.jade:143 +#: src/templates/tabs/send.jade:66 +#: src/templates/tabs/tx.jade:56 +msgid "Destination tag" +msgstr "Destination tag" + +#: src/templates/tabs/contacts.jade:79 +msgid ""Leave blank if not applicable"" +msgstr ""Leave blank if not applicable"" + +#: src/templates/tabs/contacts.jade:89 +#: src/templates/tabs/send.jade:75 +msgid "Invalid destination tag" +msgstr "Invalid destination tag" + +#: src/templates/tabs/contacts.jade:126 +msgid "You already have a contact with the same name." +msgstr "You already have a contact with the same name." + +#: src/templates/tabs/contacts.jade:140 +msgid "You already have this address." +msgstr "You already have this address." + +#: src/templates/tabs/contacts.jade:141 +#: src/templates/tabs/debug.jade:22 +msgid "Not a valid address." +msgstr "Not a valid address." + +#: src/templates/tabs/contacts.jade:152 +msgid "Invalid destination tag." +msgstr "Invalid destination tag." + +#: src/templates/tabs/contacts.jade:171 +msgid "You don't have any contacts yet. Click on 'Add contact' button in the top right corner to add a new contact." +msgstr "You don't have any contacts yet. Click on 'Add contact' button in the top right corner to add a new contact." + +#: src/templates/tabs/debug.jade:9 +msgid ""Enter a Ripple name or address"" +msgstr ""Enter a Ripple name or address"" + +#: src/templates/tabs/debug.jade:21 +msgid "Please enter an address." +msgstr "Please enter an address." + +#: src/templates/tabs/debug.jade:25 +msgid "Turn on debug mode" +msgstr "Turn on debug mode" + +#: src/templates/tabs/eur.jade:44 +msgid "Euro Deposit" +msgstr "Euro Deposit" + +#: src/templates/tabs/eur.jade:48 +msgid "SnapSwap EU (~SnapSwap){{1}}{{2}}" +msgstr "SnapSwap EU (~SnapSwap){{1}}{{2}}" + +#: src/templates/tabs/eur.jade:54 +msgid "All countries, except USA" +msgstr "All countries, except USA" + +#: src/templates/tabs/eur.jade:58 +msgid "€ 0.31 – € 15.00" +msgstr "€ 0.31 – € 15.00" + +#: src/templates/tabs/eur.jade:68 +msgid "Ripple Trade has partnered with SnapSwap to provide easier access to EUR. Following this action will enable SnapSwap to hold EUR on your behalf." +msgstr "Ripple Trade has partnered with SnapSwap to provide easier access to EUR. Following this action will enable SnapSwap to hold EUR on your behalf." + +#: src/templates/tabs/eur.jade:72 +msgid "Add SnapSwap.eu" +msgstr "Add SnapSwap.eu" + +#: src/templates/tabs/eur.jade:85 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.EU" +msgstr "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.EU" + +#: src/templates/tabs/eur.jade:86 +msgid "Register and verify your account at SnapSwap EU. You will need: {{1}}" +msgstr "Register and verify your account at SnapSwap EU. You will need: {{1}}" + +#: src/templates/tabs/eur.jade:90 +#: src/templates/tabs/usd.jade:87 +msgid "A valid government-issued ID: driver license, passport, ID card, or visa stamp." +msgstr "A valid government-issued ID: driver license, passport, ID card, or visa stamp." + +#: src/templates/tabs/eur.jade:92 +#: src/templates/tabs/usd.jade:89 +msgid "A proof of address: driver license, utility bill, bank statement, etc." +msgstr "A proof of address: driver license, utility bill, bank statement, etc." + +#: src/templates/tabs/eur.jade:94 +msgid "EXISTING SNAPSWAP EU CUSTOMERS" +msgstr "EXISTING SNAPSWAP EU CUSTOMERS" + +#: src/templates/tabs/eur.jade:98 +#: src/templates/tabs/jpy.jade:103 +#: src/templates/tabs/usd.jade:95 +msgid "Login to your account {{1}}" +msgstr "Login to your account {{1}}" + +#: src/templates/tabs/eur.jade:101 +#: src/templates/tabs/jpy.jade:105 +msgid "DEPOSITS AND WITHDRAWALS:" +msgstr "DEPOSITS AND WITHDRAWALS:" + +#: src/templates/tabs/eur.jade:105 +msgid "Deposit from your bank (2-4 business days)" +msgstr "Deposit from your bank (2-4 business days)" + +#: src/templates/tabs/eur.jade:107 +msgid "Withdraw to your bank account in SEPA (2-4 business days)" +msgstr "Withdraw to your bank account in SEPA (2-4 business days)" + +#: src/templates/tabs/eur.jade:109 +msgid "Withdraw to SmartyCash Card (instant)" +msgstr "Withdraw to SmartyCash Card (instant)" + +#: src/templates/tabs/exchange.jade:15 +msgid ""err-you-must-be-funded-before-you-can-exchange-money"" +msgstr "You have to be funded before you can submit an order." + +#: src/templates/tabs/exchange.jade:30 +msgid "Buy (Market Order)" +msgstr "Buy (Market Order)" + +#: src/templates/tabs/exchange.jade:31 +msgid "Submit a buy order at the current market rate. Orders will execute instantly." +msgstr "Submit a buy order at the current market rate. Orders will execute instantly." + +#: src/templates/tabs/exchange.jade:34 +msgid ""Receive (amount)"" +msgstr "I want to buy" + +#: src/templates/tabs/exchange.jade:56 +#: src/templates/tabs/widgets/balances.jade:86 +msgid "add gateway" +msgstr "add gateway" + +#: src/templates/tabs/exchange.jade:59 +#: src/templates/tabs/send.jade:161 +msgid "Please enter an amount." +msgstr "Please enter an amount." + +#: src/templates/tabs/exchange.jade:60 +#: src/templates/tabs/send.jade:162 +#: src/templates/tabs/trade.jade:217 +#: src/templates/tabs/trade.jade:245 +#: src/templates/tabs/trade.jade:272 +#: src/templates/tabs/trust.jade:136 +msgid "Not a valid amount." +msgstr "Not a valid amount." + +#: src/templates/tabs/exchange.jade:61 +msgid "You are either trying to buy too little or too much XRP.Minimum amount is 0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "You are either trying to buy too little or too much XRP.Minimum amount is 0.000001 XRP and maximum amount is 100 billion XRP." + +#: src/templates/tabs/exchange.jade:64 +#: src/templates/tabs/send.jade:167 +#: src/templates/tabs/trust.jade:138 +msgid "Your amount has too many digits. The max number of digits is 16." +msgstr "Your amount has too many digits. The max number of digits is 16." + +#: src/templates/tabs/exchange.jade:65 +msgid "Please enter an amount greater than zero." +msgstr "Please enter an amount greater than zero." + +#: src/templates/tabs/exchange.jade:68 +msgid "{{1}} Calculating..." +msgstr "{{1}} Calculating..." + +#: src/templates/tabs/exchange.jade:72 +msgid "Cannot buy {{exchange.amount}} {{exchange.currency_name}}. Please make sure your account has enough funds, and a {{1}} to a {{exchange.currency_name}} gateway." +msgstr "Cannot buy {{exchange.amount}} {{exchange.currency_name}}. Please make sure your account has enough funds, and a {{1}} to a {{exchange.currency_name}} gateway." + +#: src/templates/tabs/exchange.jade:76 +msgid "Sorry! Cannot buy {{exchange.amount}} {{exchange.currency_name}}. Please make sure your account has enough funds." +msgstr "Sorry! Cannot buy {{exchange.amount}} {{exchange.currency_name}}. Please make sure your account has enough funds." + +#: src/templates/tabs/exchange.jade:78 +msgid "Error while calculating price." +msgstr "Error while calculating price." + +#: src/templates/tabs/exchange.jade:82 +#: src/templates/tabs/trade.jade:303 +msgid "Sell" +msgstr "Sell" + +#: src/templates/tabs/exchange.jade:98 +msgid "Sell {{ alt.amount | rpcurrency }} {{1}}" +msgstr "Sell {{ alt.amount | rpcurrency }} {{1}}" + +#: src/templates/tabs/exchange.jade:107 +msgid "Price last updated {{1}} {{2: seconds}} {{3: second}} ago" +msgstr "Price last updated {{1}} {{2: seconds}} {{3: second}} ago" + +#: src/templates/tabs/exchange.jade:118 +msgid "Ripple is calculating the price for your order." +msgstr "Ripple is calculating the price for your order." + +#: src/templates/tabs/exchange.jade:123 +msgid "{{1:You are selling}}{{2}}{{3:for}}{{4}}{{5:You will sell at most}}{{6}}{{7}}{{8:Ripple network fee: }}{{9}}{{10}}" +msgstr "{{1:You are selling}}{{2}}{{3:for}}{{4}}{{5:You will sell at most}}{{6}}{{7}}{{8:Ripple network fee: }}{{9}}{{10}}" + +#: src/templates/tabs/exchange.jade:178 +msgid "Submit another buy order" +msgstr "Submit another buy order" + +#: src/templates/tabs/exchange.jade:180 +#: src/templates/tabs/send.jade:358 +#: src/templates/tabs/send.jade:399 +msgid "Back to balance" +msgstr "Back to balance" + +#: src/templates/tabs/fund.jade:25 +msgid "Add trust" +msgstr "Add trust" + +#: src/templates/tabs/fund.jade:32 +#: src/templates/tabs/send.jade:37 +msgid ""Enter a Ripple name or contact"" +msgstr ""Enter a Ripple name or contact"" + +#: src/templates/tabs/fund.jade:48 +msgid "Account does not meet the minimum XRP reserve." +msgstr "Account does not meet the minimum XRP reserve." + +#: src/templates/tabs/fund.jade:51 +#: src/templates/tabs/trust.jade:98 +msgid "Please enter a Ripple name, contact, or address." +msgstr "Please enter a Ripple name, contact, or address." + +#: src/templates/tabs/fund.jade:52 +#: src/templates/tabs/trust.jade:99 +msgid "You've entered your own address." +msgstr "You've entered your own address." + +#: src/templates/tabs/fund.jade:53 +#: src/templates/tabs/trust.jade:100 +msgid "Please enter a valid Ripple name, contact, or address." +msgstr "Please enter a valid Ripple name, contact, or address." + +#: src/templates/tabs/fund.jade:75 +msgid "Amount field is required" +msgstr "Amount field is required" + +#: src/templates/tabs/fund.jade:77 +#: src/templates/tabs/trust.jade:140 +msgid "XRP can be sent without extending trust. If you really want to trust in XRP, please use XRR currency code." +msgstr "XRP can be sent without extending trust. If you really want to trust in XRP, please use XRR currency code." + +#: src/templates/tabs/fund.jade:80 +#: src/templates/tabs/trust.jade:143 +msgid "Currency field is required" +msgstr "Currency field is required" + +#: src/templates/tabs/fund.jade:88 +#: src/templates/tabs/trust.jade:151 +msgid "Allow Rippling" +msgstr "Allow Rippling" + +#: src/templates/tabs/fund.jade:89 +#: src/templates/tabs/trust.jade:152 +msgid ""Allow Rippling"" +msgstr ""Allow Rippling"" + +#: src/templates/tabs/fund.jade:89 +msgid ""Allow this trust line's balances to be transferred to another issuer you trust. More information"" +msgstr ""Allow this trust line's balances to be transferred to another issuer you trust. More information"" + +#: src/templates/tabs/fund.jade:97 +msgid "Cancel" +msgstr "Cancel" + +#: src/templates/tabs/gold.jade:46 +msgid "Gold Deposit" +msgstr "Gold Deposit" + +#: src/templates/tabs/gold.jade:50 +msgid "Gold Bullion International (~gbi) {{1}}" +msgstr "Gold Bullion International (~gbi) {{1}}" + +#: src/templates/tabs/gold.jade:57 +msgid "0.3%" +msgstr "0.3%" + +#: src/templates/tabs/gold.jade:65 +msgid "Ripple Trade has partnered with GBI to provide easy access toXAU. By continuing, you are allowing GBI to hold gold on your behalf." +msgstr "Ripple Trade has partnered with GBI to provide easy access toXAU. By continuing, you are allowing GBI to hold gold on your behalf." + +#: src/templates/tabs/gold.jade:70 +msgid "Add GBI" +msgstr "Add GBI" + +#: src/templates/tabs/gold.jade:76 +#: src/templates/tabs/jpy.jade:77 +#: src/templates/tabs/mxn.jade:79 +#: src/templates/tabs/sgd.jade:78 +msgid "{{1}} Not connected" +msgstr "{{1}} Not connected" + +#: src/templates/tabs/gold.jade:79 +#: src/templates/tabs/jpy.jade:80 +#: src/templates/tabs/mxn.jade:82 +#: src/templates/tabs/sgd.jade:81 +msgid "{{1}} Connected" +msgstr "{{1}} Connected" + +#: src/templates/tabs/gold.jade:86 +msgid "Deposit" +msgstr "Deposit" + +#: src/templates/tabs/gold.jade:87 +msgid "GBI does not currently support direct deposits. You can {{1}} or {{2}}." +msgstr "GBI does not currently support direct deposits. You can {{1}} or {{2}}." + +#: src/templates/tabs/gold.jade:93 +msgid "Withdrawal" +msgstr "Withdrawal" + +#: src/templates/tabs/gold.jade:94 +msgid "You can redeem the physical gold in 1 oz increments.To do so, you'll need to {{1}} and arrange to have the gold shipped to you." +msgstr "You can redeem the physical gold in 1 oz increments.To do so, you'll need to {{1}} and arrange to have the gold shipped to you." + +#: src/templates/tabs/history.jade:6 +msgid "Your account history is empty" +msgstr "Your account history is empty" + +#: src/templates/tabs/history.jade:19 +msgid "Transaction type" +msgstr "Transaction type" + +#: src/templates/tabs/history.jade:29 +msgid "Date" +msgstr "Date" + +#: src/templates/tabs/history.jade:35 +msgid "All dates" +msgstr "All dates" + +#: src/templates/tabs/history.jade:41 +msgid "Custom date" +msgstr "Custom date" + +#: src/templates/tabs/history.jade:50 +msgid "From" +msgstr "From" + +#: src/templates/tabs/history.jade:56 +msgid "To" +msgstr "To" + +#: src/templates/tabs/history.jade:59 +msgid "Filter" +msgstr "Filter" + +#: src/templates/tabs/history.jade:64 +msgid "Loading History" +msgstr "Loading History" + +#: src/templates/tabs/history.jade:71 +#: src/templates/tabs/history.jade:77 +msgid "Export to CSV" +msgstr "Export to CSV" + +#: src/templates/tabs/history.jade:97 +msgid "You sent{{1}}to{{2}}" +msgstr "You sent{{1}}to{{2}}" + +#: src/templates/tabs/history.jade:103 +msgid "{{1}}sent you{{2}}" +msgstr "{{1}}sent you{{2}}" + +#: src/templates/tabs/history.jade:109 +msgid "You requested to exchange{{1}}to{{2}}" +msgstr "You requested to exchange{{1}}to{{2}}" + +#: src/templates/tabs/history.jade:115 +msgid "{{1}}now trusts you for{{2}}" +msgstr "{{1}}now trusts you for{{2}}" + +#: src/templates/tabs/history.jade:128 +#: src/templates/tabs/history/effects.jade:45 +msgid "You created an order to sell{{1}}for{{2}}" +msgstr "You created an order to sell{{1}}for{{2}}" + +#: src/templates/tabs/history.jade:132 +#: src/templates/tabs/history/effects.jade:49 +msgid "You created an order to buy{{1}}for{{2}}" +msgstr "You created an order to buy{{1}}for{{2}}" + +#: src/templates/tabs/history.jade:138 +msgid "You cancelled an order accepting {{1}}for{{2}}" +msgstr "You cancelled an order accepting {{1}}for{{2}}" + +#: src/templates/tabs/history.jade:151 +msgid "Unknown transaction" +msgstr "Unknown transaction" + +#: src/templates/tabs/history.jade:154 +msgid "The client failed to parse this transaction. The developers have been notified of the issue." +msgstr "The client failed to parse this transaction. The developers have been notified of the issue." + +#: src/templates/tabs/history.jade:160 +msgid "{{1}} sent you{{2}} and activated your account!" +msgstr "{{1}} sent you{{2}} and activated your account!" + +#: src/templates/tabs/history.jade:167 +msgid "You deposited{{1}} using {{entry.details.app.name}}" +msgstr "You deposited{{1}} using {{entry.details.app.name}}" + +#: src/templates/tabs/history.jade:175 +msgid "Balance Changes" +msgstr "Balance Changes" + +#: src/templates/tabs/history.jade:177 +msgid "Description" +msgstr "Description" + +#: src/templates/tabs/history.jade:178 +msgid "Issuer" +msgstr "Issuer" + +#: src/templates/tabs/history.jade:180 +msgid "Final balance" +msgstr "Final balance" + +#: src/templates/tabs/history.jade:183 +msgid "XRP Balance Change" +msgstr "XRP Balance Change" + +#: src/templates/tabs/history.jade:184 +msgid "{{effect.currency}} Balance Change" +msgstr "{{effect.currency}} Balance Change" + +#: src/templates/tabs/history.jade:196 +msgid "Transaction details" +msgstr "Transaction details" + +#: src/templates/tabs/history.jade:197 +msgid "Add {{1}} to contact list" +msgstr "Add {{1}} to contact list" + +#: src/templates/tabs/jpy.jade:47 +msgid "Japanese Yen Deposit" +msgstr "Japanese Yen Deposit" + +#: src/templates/tabs/jpy.jade:51 +msgid "Tokyo JPY Issuer (~tokyojpy) {{1}}" +msgstr "Tokyo JPY Issuer (~tokyojpy) {{1}}" + +#: src/templates/tabs/jpy.jade:68 +msgid "Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your behalf." +msgstr "Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your behalf." + +#: src/templates/tabs/jpy.jade:71 +msgid "Add Tokyo JPY" +msgstr "Add Tokyo JPY" + +#: src/templates/tabs/jpy.jade:87 +msgid "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" +msgstr "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" + +#: src/templates/tabs/jpy.jade:88 +msgid "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" +msgstr "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" + +#: src/templates/tabs/jpy.jade:93 +msgid "A valid government-issued ID." +msgstr "A valid government-issued ID." + +#: src/templates/tabs/jpy.jade:95 +msgid "A proof of address (utility bill, etc)." +msgstr "A proof of address (utility bill, etc)." + +#: src/templates/tabs/jpy.jade:97 +msgid "A bank account under the same name." +msgstr "A bank account under the same name." + +#: src/templates/tabs/jpy.jade:99 +msgid "EXISTING TOKYO JPY ISSUER CUSTOMERS" +msgstr "EXISTING TOKYO JPY ISSUER CUSTOMERS" + +#: src/templates/tabs/jpy.jade:109 +msgid "Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details {{1}}" +msgstr "Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details {{1}}" + +#: src/templates/tabs/jpy.jade:112 +msgid "To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account and then initiate a transfer into your Ripple account." +msgstr "To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account and then initiate a transfer into your Ripple account." + +#: src/templates/tabs/jpy.jade:114 +msgid "To withdraw to a bank account, you’ll first send money from your Ripple account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo JPY Issuer site to send to your bank account." +msgstr "To withdraw to a bank account, you’ll first send money from your Ripple account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo JPY Issuer site to send to your bank account." + +#: src/templates/tabs/kyc.jade:19 +msgid "Profile completion is only available to US residents." +msgstr "Profile completion is only available to US residents." + +#: src/templates/tabs/kyc.jade:26 +#: src/templates/tabs/trade.jade:391 +msgid "Verifying your information. Please wait..." +msgstr "Verifying your information. Please wait..." + +#: src/templates/tabs/kyc.jade:28 +msgid "Your identity information has been verified." +msgstr "Your identity information has been verified." + +#: src/templates/tabs/kyc.jade:30 +msgid "Your identity questions have been verified." +msgstr "Your identity questions have been verified." + +#: src/templates/tabs/kyc.jade:32 +msgid "Congratulations, you've verified your identity! You will now be redirected back to the instant deposit page." +msgstr "Congratulations, you've verified your identity! You will now be redirected back to the instant deposit page." + +#: src/templates/tabs/kyc.jade:34 +msgid "There was an error with your request. Please try again later." +msgstr "There was an error with your request. Please try again later." + +#: src/templates/tabs/kyc.jade:36 +msgid "There was an error with your request. Make sure your phone number is valid and try again." +msgstr "There was an error with your request. Make sure your phone number is valid and try again." + +#: src/templates/tabs/kyc.jade:38 +msgid "Please check your verification code and try again." +msgstr "Please check your verification code and try again." + +#: src/templates/tabs/kyc.jade:40 +msgid "There was an error while requesting the verification code. Please try again later." +msgstr "There was an error while requesting the verification code. Please try again later." + +#: src/templates/tabs/kyc.jade:42 +msgid "We are unable to validate your identity information. Please check your information and try again." +msgstr "We are unable to validate your identity information. Please check your information and try again." + +#: src/templates/tabs/kyc.jade:44 +msgid "We are unable to validate your identity questions. Please check your answers and try again." +msgstr "We are unable to validate your identity questions. Please check your answers and try again." + +#: src/templates/tabs/kyc.jade:46 +msgid "Sorry, you've reached your maximum number of verification attempts. Please try again in 24 hours." +msgstr "Sorry, you've reached your maximum number of verification attempts. Please try again in 24 hours." + +#: src/templates/tabs/kyc.jade:48 +msgid "We can't verify your identity. Please contact us at support@ripple.com." +msgstr "We can't verify your identity. Please contact us at support@ripple.com." + +#: src/templates/tabs/kyc.jade:53 +msgid "Profile Completion" +msgstr "Profile Completion" + +#: src/templates/tabs/kyc.jade:57 +msgid "STEP 1: IDENTITY INFORMATION" +msgstr "STEP 1: IDENTITY INFORMATION" + +#: src/templates/tabs/kyc.jade:59 +msgid "STEP 2: IDENTITY QUESTIONS" +msgstr "STEP 2: IDENTITY QUESTIONS" + +#: src/templates/tabs/kyc.jade:61 +msgid "STEP 3: TWO-FACTOR AUTHENTICATION" +msgstr "STEP 3: TWO-FACTOR AUTHENTICATION" + +#: src/templates/tabs/kyc.jade:68 +msgid "First Name" +msgstr "First Name" + +#: src/templates/tabs/kyc.jade:75 +msgid "Last Name" +msgstr "Last Name" + +#: src/templates/tabs/kyc.jade:82 +msgid "Street Address" +msgstr "Street Address" + +#: src/templates/tabs/kyc.jade:90 +msgid "City" +msgstr "City" + +#: src/templates/tabs/kyc.jade:97 +msgid "State" +msgstr "State" + +#: src/templates/tabs/kyc.jade:104 +msgid "ZIP" +msgstr "ZIP" + +#: src/templates/tabs/kyc.jade:111 +msgid "Date of Birth" +msgstr "Date of Birth" + +#: src/templates/tabs/kyc.jade:115 +msgid "Month{{1}}" +msgstr "Month{{1}}" + +#: src/templates/tabs/kyc.jade:121 +msgid "Day{{1}}" +msgstr "Day{{1}}" + +#: src/templates/tabs/kyc.jade:127 +msgid "Year{{1}}" +msgstr "Year{{1}}" + +#: src/templates/tabs/kyc.jade:149 +msgid "Continue to identity questions" +msgstr "Continue to identity questions" + +#: src/templates/tabs/kyc.jade:150 +#: src/templates/tabs/kyc.jade:168 +#: src/templates/tabs/kyc.jade:194 +#: src/templates/tabs/kyc.jade:225 +#: src/templates/tabs/login.jade:16 +msgid "Verifying..." +msgstr "Verifying..." + +#: src/templates/tabs/kyc.jade:156 +msgid "{{ q.question }}{{1}}" +msgstr "{{ q.question }}{{1}}" + +#: src/templates/tabs/kyc.jade:161 +msgid "{{ a.answer }}" +msgstr "{{ a.answer }}" + +#: src/templates/tabs/kyc.jade:167 +msgid "Continue to two-factor authentication" +msgstr "Continue to two-factor authentication" + +#: src/templates/tabs/kyc.jade:176 +msgid "Two-factor authentication provides extra security for your account." +msgstr "Two-factor authentication provides extra security for your account." + +#: src/templates/tabs/kyc.jade:184 +msgid "Ripple Trade has partnered with Authy to provide better security for your account.By continuing, you agree to Authy's {{1:Terms of Service}}." +msgstr "Ripple Trade has partnered with Authy to provide better security for your account.By continuing, you agree to Authy's {{1:Terms of Service}}." + +#: src/templates/tabs/kyc.jade:193 +msgid "Verify phone number" +msgstr "Verify phone number" + +#: src/templates/tabs/kyc.jade:202 +#: src/templates/tabs/2fa/form.jade:6 +msgid "Phone Number" +msgstr "Phone Number" + +#: src/templates/tabs/kyc.jade:204 +msgid "change" +msgstr "change" + +#: src/templates/tabs/kyc.jade:208 +msgid "A verification code has been sent to +{{ currentCountryCode }} {{ phoneNumber }}." +msgstr "A verification code has been sent to +{{ currentCountryCode }} {{ phoneNumber }}." + +#: src/templates/tabs/kyc.jade:212 +#: src/templates/tabs/security.jade:103 +#: src/templates/tabs/login/form.jade:21 +msgid "Verification Code" +msgstr "Verification Code" + +#: src/templates/tabs/kyc.jade:224 +msgid "Submit code" +msgstr "Submit code" + +#: src/templates/tabs/login.jade:4 +#: src/templates/tabs/migrate.jade:4 +#: src/templates/tabs/recover.jade:4 +#: src/templates/tabs/register.jade:5 +#: src/templates/tabs/register.jade:171 +#: src/templates/tabs/register.jade:219 +msgid "Welcome to Ripple Trade" +msgstr "Welcome to Ripple Trade" + +#: src/templates/tabs/login.jade:6 +#: src/templates/tabs/migrate.jade:6 +#: src/templates/tabs/recover.jade:6 +#: src/templates/tabs/register.jade:7 +#: src/templates/tabs/register.jade:173 +#: src/templates/tabs/register.jade:221 +msgid "Trade hundreds of assets, from XRP to crypto to gold to fiat." +msgstr "Trade hundreds of assets, from XRP to crypto to gold to fiat." + +#: src/templates/tabs/login.jade:13 +#: src/templates/tabs/login.jade:30 +msgid "Log In" +msgstr "Log In" + +#: src/templates/tabs/login.jade:17 +msgid "You have successfully verified your email address." +msgstr "You have successfully verified your email address." + +#: src/templates/tabs/login.jade:18 +msgid "Email verification token is invalid. It has either expired or has been resent. Please check your inbox for the most recent verification email." +msgstr "Email verification token is invalid. It has either expired or has been resent. Please check your inbox for the most recent verification email." + +#: src/templates/tabs/login.jade:29 +msgid "Logging in" +msgstr "Logging in" + +#: src/templates/tabs/login.jade:34 +msgid "Verify" +msgstr "Verify" + +#: src/templates/tabs/login.jade:37 +#: src/templates/tabs/register.jade:148 +msgid "Already have a ripple.com/client account? {{1:Migrate}}" +msgstr "Already have a ripple.com/client account? {{1:Migrate}}" + +#: src/templates/tabs/login.jade:42 +#: src/templates/tabs/login.jade:43 +#: src/templates/tabs/recover.jade:10 +msgid "Account Recovery" +msgstr "Account Recovery" + +#: src/templates/tabs/login.jade:50 +msgid "{{1:You're sending money to}}{{2}}." +msgstr "{{1:You're sending money to}}{{2}}." + +#: src/templates/tabs/login.jade:54 +msgid "{{1:You're sending}}{{2}}{{3: to }}{{4}}." +msgstr "{{1:You're sending}}{{2}}{{3: to }}{{4}}." + +#: src/templates/tabs/login.jade:64 +msgid "{{1:You're connecting to the gateway}}{{2}}{{3:for{{1}}}}{{4:with a limit of{{1}}}}." +msgstr "{{1:You're connecting to the gateway}}{{2}}{{3:for{{1}}}}{{4:with a limit of{{1}}}}." + +#: src/templates/tabs/login.jade:79 +msgid "{{1:You're adding}}{{2}}{{3:to your contacts list}}" +msgstr "{{1:You're adding}}{{2}}{{3:to your contacts list}}" + +#: src/templates/tabs/login.jade:96 +msgid "{{1}} Log In" +msgstr "{{1}} Log In" + +#: src/templates/tabs/login.jade:99 +msgid "You can confirm this transaction on the next page." +msgstr "You can confirm this transaction on the next page." + +#: src/templates/tabs/login.jade:100 +msgid "New to {{productName}}? {{1:Create a wallet}}" +msgstr "New to {{productName}}? {{1:Create a wallet}}" + +#: src/templates/tabs/migrate.jade:10 +#: src/templates/tabs/register.jade:16 +#: src/templates/tabs/register.jade:176 +#: src/templates/tabs/register.jade:224 +msgid "Migrate" +msgstr "Migrate" + +#: src/templates/tabs/migrate.jade:11 +msgid "To begin migration, enter the name and passphrase used to encrypt your ripple.com/client wallet below. After migration, you will no longer be able to login on ripple.com/client." +msgstr "To begin migration, enter the name and passphrase used to encrypt your ripple.com/client wallet below. After migration, you will no longer be able to login on ripple.com/client." + +#: src/templates/tabs/migrate.jade:15 +msgid "Existing ripple.com/client Wallet name" +msgstr "Existing ripple.com/client Wallet name" + +#: src/templates/tabs/migrate.jade:20 +msgid "Passphrase" +msgstr "Passphrase" + +#: src/templates/tabs/migrate.jade:35 +msgid "Begin Migration" +msgstr "Begin Migration" + +#: src/templates/tabs/migrate.jade:36 +msgid "New to {{productName}}? {{1:Sign Up}}" +msgstr "New to {{productName}}? {{1:Sign Up}}" + +#: src/templates/tabs/migrate.jade:38 +msgid "Have a {{productName}} account? {{1:Log In}}" +msgstr "Have a {{productName}} account? {{1:Log In}}" + +#: src/templates/tabs/mxn.jade:47 +msgid "Mexican Peso Deposit" +msgstr "Mexican Peso Deposit" + +#: src/templates/tabs/mxn.jade:51 +msgid "Bitso (~bitso) {{1}}{{2}}" +msgstr "Bitso (~bitso) {{1}}{{2}}" + +#: src/templates/tabs/mxn.jade:56 +msgid "All countries except the US" +msgstr "All countries except the US" + +#: src/templates/tabs/mxn.jade:59 +msgid "0%" +msgstr "0%" + +#: src/templates/tabs/mxn.jade:67 +msgid "Ripple Trade has partnered with Bitso to provide easy access to MXN (Mexican Peso). By continuing, you agree with Bitso’s terms of service. Following this action will enable Bitso to hold MXN on your behalf." +msgstr "Ripple Trade has partnered with Bitso to provide easy access to MXN (Mexican Peso). By continuing, you agree with Bitso’s terms of service. Following this action will enable Bitso to hold MXN on your behalf." + +#: src/templates/tabs/mxn.jade:73 +msgid "Add Bitso" +msgstr "Add Bitso" + +#: src/templates/tabs/mxn.jade:89 +msgid "TO FUND/REDEEM MEXICAN PESO:" +msgstr "TO FUND/REDEEM MEXICAN PESO:" + +#: src/templates/tabs/mxn.jade:91 +msgid "Register or login at {{1}}to initiate deposits and withdrawals." +msgstr "Register or login at {{1}}to initiate deposits and withdrawals." + +#: src/templates/tabs/mxn.jade:95 +msgid "A valid, non-US, state-issued ID (passport, driver's license, etc)." +msgstr "A valid, non-US, state-issued ID (passport, driver's license, etc)." + +#: src/templates/tabs/mxn.jade:96 +msgid "Proof of address (utility bill or other type of bill that has your address on it). Verification is required for peso deposits or withdrawals." +msgstr "Proof of address (utility bill or other type of bill that has your address on it). Verification is required for peso deposits or withdrawals." + +#: src/templates/tabs/mxn.jade:98 +msgid "To fund your Ripple account, see the below options. Once a balance is deposited with Bitso, you can send it to your Ripple account using the Bitso Dashboard." +msgstr "To fund your Ripple account, see the below options. Once a balance is deposited with Bitso, you can send it to your Ripple account using the Bitso Dashboard." + +#: src/templates/tabs/mxn.jade:99 +msgid "To withdraw from your Ripple account, click on the 'Redeem from Ripple' button on the Bitso Dashboard." +msgstr "To withdraw from your Ripple account, click on the 'Redeem from Ripple' button on the Bitso Dashboard." + +#: src/templates/tabs/mxn.jade:101 +#: src/templates/tabs/usd.jade:98 +msgid "DEPOSIT OPTIONS" +msgstr "DEPOSIT OPTIONS" + +#: src/templates/tabs/mxn.jade:103 +msgid "Bitso accepts deposits by the following methods:" +msgstr "Bitso accepts deposits by the following methods:" + +#: src/templates/tabs/mxn.jade:105 +#: src/templates/tabs/mxn.jade:115 +msgid "Bank Wire" +msgstr "Bank Wire" + +#: src/templates/tabs/mxn.jade:106 +#: src/templates/tabs/mxn.jade:116 +msgid "SPEI (Mexican instant inter-bank transfer)" +msgstr "SPEI (Mexican instant inter-bank transfer)" + +#: src/templates/tabs/mxn.jade:107 +#: src/templates/tabs/mxn.jade:117 +msgid "Bitcoin" +msgstr "Bitcoin" + +#: src/templates/tabs/mxn.jade:108 +msgid "MXN Cash (at locations across Mexico)" +msgstr "MXN Cash (at locations across Mexico)" + +#: src/templates/tabs/mxn.jade:109 +msgid "Pademobile wallet" +msgstr "Pademobile wallet" + +#: src/templates/tabs/mxn.jade:111 +#: src/templates/tabs/usd.jade:106 +msgid "WITHDRAWAL OPTIONS" +msgstr "WITHDRAWAL OPTIONS" + +#: src/templates/tabs/mxn.jade:113 +msgid "Bitso offers withdrawals via the following methods:" +msgstr "Bitso offers withdrawals via the following methods:" + +#: src/templates/tabs/notifications.jade:7 +msgid "Your notification settings have been changed successfully." +msgstr "Your notification settings have been changed successfully." + +#: src/templates/tabs/notifications.jade:8 +msgid "Something went wrong, please try again later." +msgstr "Something went wrong, please try again later." + +#: src/templates/tabs/notifications.jade:14 +msgid "Notifications settings" +msgstr "Notifications settings" + +#: src/templates/tabs/notifications.jade:17 +msgid "Notification types" +msgstr "Notification types" + +#: src/templates/tabs/notifications.jade:19 +msgid "Email" +msgstr "Email" + +#: src/templates/tabs/notifications.jade:21 +msgid "Push" +msgstr "Push" + +#: src/templates/tabs/recover.jade:12 +msgid "You can only recover your Ripple Trade account with a secret key. You will recover the account's Ripple name, contacts and other information." +msgstr "You can only recover your Ripple Trade account with a secret key. You will recover the account's Ripple name, contacts and other information." + +#: src/templates/tabs/recover.jade:14 +#: src/templates/tabs/recover.jade:39 +msgid "Ripple Name" +msgstr "Ripple Name" + +#: src/templates/tabs/recover.jade:21 +msgid "Secret Key" +msgstr "Secret Key" + +#: src/templates/tabs/recover.jade:26 +msgid "Unable to recover account." +msgstr "Unable to recover account." + +#: src/templates/tabs/recover.jade:33 +#: src/templates/tabs/register.jade:125 +msgid "Recover Account" +msgstr "Recover Account" + +#: src/templates/tabs/recover.jade:35 +#: src/templates/tabs/recover.jade:69 +msgid "Set Password" +msgstr "Set Password" + +#: src/templates/tabs/recover.jade:37 +msgid "Your account was sucessfully recovered. Please re-encrypt your account with a new password." +msgstr "Your account was sucessfully recovered. Please re-encrypt your account with a new password." + +#: src/templates/tabs/recover.jade:50 +#: src/templates/tabs/register.jade:80 +#: src/templates/tabs/security.jade:144 +msgid "Your password is weak. It does not contain numbers and symbols or it is too short." +msgstr "Your password is weak. It does not contain numbers and symbols or it is too short." + +#: src/templates/tabs/recover.jade:52 +#: src/templates/tabs/register.jade:83 +#: src/templates/tabs/security.jade:146 +msgid "Your Ripple name and password cannot match. Please create a new password." +msgstr "Your Ripple name and password cannot match. Please create a new password." + +#: src/templates/tabs/recover.jade:54 +#: src/templates/tabs/register.jade:85 +#: src/templates/tabs/security.jade:148 +msgid "Confirm password" +msgstr "Confirm password" + +#: src/templates/tabs/recover.jade:60 +#: src/templates/tabs/register.jade:94 +#: src/templates/tabs/security.jade:155 +msgid "Passwords do not match" +msgstr "Passwords do not match" + +#: src/templates/tabs/recover.jade:62 +msgid "Unable to change your account password." +msgstr "Unable to change your account password." + +#: src/templates/tabs/recover.jade:68 +msgid "Updating..." +msgstr "Updating..." + +#: src/templates/tabs/recover.jade:70 +msgid "Remember your password? {{1:Log In}}" +msgstr "Remember your password? {{1:Log In}}" + +#: src/templates/tabs/register.jade:11 +#: src/templates/tabs/register.jade:143 +#: src/templates/tabs/register.jade:175 +#: src/templates/tabs/register.jade:223 +msgid "Sign Up" +msgstr "Sign Up" + +#: src/templates/tabs/register.jade:18 +#: src/templates/tabs/register.jade:20 +#: src/templates/tabs/register.jade:22 +#: src/templates/tabs/register.jade:180 +#: src/templates/tabs/register.jade:182 +#: src/templates/tabs/register.jade:226 +#: src/templates/tabs/register.jade:228 +#: src/templates/tabs/register.jade:230 +msgid "Step {{1}}" +msgstr "Step {{1}}" + +#: src/templates/tabs/register.jade:25 +msgid "Create Ripple name" +msgstr "Create Ripple name" + +#: src/templates/tabs/register.jade:26 +msgid ""Ripple names are public and identify you on the Ripple network. Learn more"" +msgstr ""Ripple names are public and identify you on the Ripple network. Learn more"" + +#: src/templates/tabs/register.jade:31 +msgid "Please choose a Ripple name below. You will use this Ripple name to login to Ripple Trade, so remember it! Ripple names are unique and public, like your current Ripple address. {{1}}" +msgstr "Please choose a Ripple name below. You will use this Ripple name to login to Ripple Trade, so remember it! Ripple names are unique and public, like your current Ripple address. {{1}}" + +#: src/templates/tabs/register.jade:32 +msgid "Learn More" +msgstr "Learn More" + +#: src/templates/tabs/register.jade:43 +#: src/templates/tabs/account/public.jade:21 +#: src/templates/tabs/widgets/balances.jade:40 +msgid "Available" +msgstr "Available" + +#: src/templates/tabs/register.jade:47 +#: src/templates/tabs/account/public.jade:24 +msgid "Already taken!" +msgstr "Already taken!" + +#: src/templates/tabs/register.jade:49 +msgid "Reserved for {{usernameReservedFor}}" +msgstr "Reserved for {{usernameReservedFor}}" + +#: src/templates/tabs/register.jade:51 +msgid ""This name belongs to a high-traffic website and has been reserved to prevent phishing."" +msgstr ""This name belongs to a high-traffic website and has been reserved to prevent phishing."" + +#: src/templates/tabs/register.jade:59 +#: src/templates/tabs/account/public.jade:34 +msgid "Must be at least 2 characters" +msgstr "Must be at least 2 characters" + +#: src/templates/tabs/register.jade:61 +#: src/templates/tabs/account/public.jade:35 +msgid "Must be at most 20 characters" +msgstr "Must be at most 20 characters" + +#: src/templates/tabs/register.jade:63 +msgid "You can only use the following characters: a-z, 0-9 and hyphens (-)" +msgstr "You can only use the following characters: a-z, 0-9 and hyphens (-)" + +#: src/templates/tabs/register.jade:65 +#: src/templates/tabs/account/public.jade:37 +msgid "Cannot start with hyphen (-)" +msgstr "Cannot start with hyphen (-)" + +#: src/templates/tabs/register.jade:67 +#: src/templates/tabs/account/public.jade:38 +msgid "Cannot end with hyphen (-)" +msgstr "Cannot end with hyphen (-)" + +#: src/templates/tabs/register.jade:69 +msgid "Cannot use hyphens in a row (--)" +msgstr "Cannot use hyphens in a row (--)" + +#: src/templates/tabs/register.jade:70 +#: src/templates/tabs/account/public.jade:40 +msgid "Checking..." +msgstr "Checking..." + +#: src/templates/tabs/register.jade:105 +msgid "Email address is invalid" +msgstr "Email address is invalid" + +#: src/templates/tabs/register.jade:108 +#: src/templates/tabs/security.jade:168 +msgid "Secret key" +msgstr "Secret key" + +#: src/templates/tabs/register.jade:109 +#: src/templates/tabs/send.jade:67 +msgid "hide" +msgstr "hide" + +#: src/templates/tabs/register.jade:118 +msgid "Secret Account Key is invalid" +msgstr "Secret Account Key is invalid" + +#: src/templates/tabs/register.jade:120 +msgid "The account ~ {{1}} span ({{ masterkeyAddress }}) has already been created using this secret key." +msgstr "The account ~ {{1}} span ({{ masterkeyAddress }}) has already been created using this secret key." + +#: src/templates/tabs/register.jade:128 +msgid "I agree to the {{productName}} {{1:Terms of Use}}" +msgstr "I agree to the {{productName}} {{1:Terms of Use}}" + +#: src/templates/tabs/register.jade:133 +msgid "Please see our {{1}} to see how we collect, use and share information about you" +msgstr "Please see our {{1}} to see how we collect, use and share information about you" + +#: src/templates/tabs/register.jade:144 +msgid "Migrate Account" +msgstr "Migrate Account" + +#: src/templates/tabs/register.jade:145 +msgid "Need to use your secret key? {{1}}" +msgstr "Need to use your secret key? {{1}}" + +#: src/templates/tabs/register.jade:147 +msgid "Use key" +msgstr "Use key" + +#: src/templates/tabs/register.jade:155 +msgid "An error occurred during registration. Please try again later." +msgstr "An error occurred during registration. Please try again later." + +#: src/templates/tabs/register.jade:156 +msgid "The reported error was: {{1}}" +msgstr "The reported error was: {{1}}" + +#: src/templates/tabs/register.jade:165 +msgid "There is already a wallet using this username, please choose a different username and try again." +msgstr "There is already a wallet using this username, please choose a different username and try again." + +#: src/templates/tabs/register.jade:184 +msgid "By proceeding, you understand that Ripple Trade does not provide a password or secret key recovery mechanism. If you forget your Ripple name/password and secret key, you will be unable to access this Ripple account." +msgstr "By proceeding, you understand that Ripple Trade does not provide a password or secret key recovery mechanism. If you forget your Ripple name/password and secret key, you will be unable to access this Ripple account." + +#: src/templates/tabs/register.jade:189 +msgid "You are now migrating your account- meaning you'll no longer be able to access your account from ripple.com/client. You will retain all of your balances, contacts, and account history. Your account will use the same secret key as before. If you have already saved your secret key, please continue your migration." +msgstr "You are now migrating your account- meaning you'll no longer be able to access your account from ripple.com/client. You will retain all of your balances, contacts, and account history. Your account will use the same secret key as before. If you have already saved your secret key, please continue your migration." + +#: src/templates/tabs/register.jade:196 +msgid "The secret key unlocks access to all your account funds in the event you lose your Ripple name or password. Please write it down and store it somewhere private and safe. {{1:Read more}} about keys and wallet safety." +msgstr "The secret key unlocks access to all your account funds in the event you lose your Ripple name or password. Please write it down and store it somewhere private and safe. {{1:Read more}} about keys and wallet safety." + +#: src/templates/tabs/register.jade:202 +msgid "If you have not saved your secret key, please write it down and store it somewhere private and safe. In the event you lose your Ripple name or password, you can use this secret key to recover your funds." +msgstr "If you have not saved your secret key, please write it down and store it somewhere private and safe. In the event you lose your Ripple name or password, you can use this secret key to recover your funds." + +#: src/templates/tabs/register.jade:211 +msgid "Show secret key" +msgstr "Show secret key" + +#: src/templates/tabs/register.jade:212 +msgid "Hide secret key" +msgstr "Hide secret key" + +#: src/templates/tabs/register.jade:215 +msgid "Continue to email verification" +msgstr "Continue to email verification" + +#: src/templates/tabs/register.jade:232 +msgid "We’ve sent an email to {{1}}. To complete registration, click the link in the email." +msgstr "We’ve sent an email to {{1}}. To complete registration, click the link in the email." + +#: src/templates/tabs/register.jade:235 +msgid "Email token has been resent." +msgstr "Email token has been resent." + +#: src/templates/tabs/register.jade:238 +msgid "Email Address:" +msgstr "Email Address:" + +#: src/templates/tabs/register.jade:247 +msgid "Re-send Email" +msgstr "Re-send Email" + +#: src/templates/tabs/security.jade:7 +msgid "Active Session Timeout" +msgstr "Active Session Timeout" + +#: src/templates/tabs/security.jade:8 +msgid "To view or edit your security settings, you must currently have an active session." +msgstr "To view or edit your security settings, you must currently have an active session." + +#: src/templates/tabs/security.jade:17 +msgid "Restore Session" +msgstr "Restore Session" + +#: src/templates/tabs/security.jade:19 +#: src/templates/tabs/security.jade:28 +#: src/templates/tabs/account/public.jade:46 +msgid "Entered password is wrong." +msgstr "Entered password is wrong." + +#: src/templates/tabs/security.jade:30 +msgid "Your Ripple password has been changed, please login again" +msgstr "Your Ripple password has been changed, please login again" + +#: src/templates/tabs/security.jade:32 +msgid "Couldn't change your Ripple password, please try again later." +msgstr "Couldn't change your Ripple password, please try again later." + +#: src/templates/tabs/security.jade:35 +msgid "Changing your Ripple password..." +msgstr "Changing your Ripple password..." + +#: src/templates/tabs/security.jade:36 +msgid "Your Ripple password has been changed successfully." +msgstr "Your Ripple password has been changed successfully." + +#: src/templates/tabs/security.jade:37 +msgid "Unable to load Two-factor authentication settings." +msgstr "Unable to load Two-factor authentication settings." + +#: src/templates/tabs/security.jade:38 +msgid "Error saving Two-factor authentication settings." +msgstr "Error saving Two-factor authentication settings." + +#: src/templates/tabs/security.jade:39 +msgid "The verification code is invalid." +msgstr "The verification code is invalid." + +#: src/templates/tabs/security.jade:41 +msgid "Two-factor authentication has been successfully enabled." +msgstr "Two-factor authentication has been successfully enabled." + +#: src/templates/tabs/security.jade:42 +msgid "Two-factor authentication has been successfully disabled." +msgstr "Two-factor authentication has been successfully disabled." + +#: src/templates/tabs/security.jade:43 +msgid "Password protection has been successfully enabled." +msgstr "Password protection has been successfully enabled." + +#: src/templates/tabs/security.jade:44 +msgid "Password protection has been successfully disabled." +msgstr "Password protection has been successfully disabled." + +#: src/templates/tabs/security.jade:50 +msgid "Security settings" +msgstr "Security settings" + +#: src/templates/tabs/security.jade:56 +msgid "Loading Two-factor authentication settings..." +msgstr "Loading Two-factor authentication settings..." + +#: src/templates/tabs/security.jade:60 +#: src/templates/tabs/settingsgateway.jade:71 +msgid "Enabled" +msgstr "Enabled" + +#: src/templates/tabs/security.jade:61 +#: src/templates/tabs/settingsgateway.jade:72 +msgid "Disabled" +msgstr "Disabled" + +#: src/templates/tabs/security.jade:63 +msgid "disable" +msgstr "disable" + +#: src/templates/tabs/security.jade:65 +msgid "enable" +msgstr "enable" + +#: src/templates/tabs/security.jade:71 +msgid "Authy is providing two-factor authentication for Ripple Trade. To enable two-factor authentication, you must share some information with Authy." +msgstr "Authy is providing two-factor authentication for Ripple Trade. To enable two-factor authentication, you must share some information with Authy." + +#: src/templates/tabs/security.jade:74 +msgid "- Your email address:" +msgstr "- Your email address:" + +#: src/templates/tabs/security.jade:77 +msgid "- Your phone number:" +msgstr "- Your phone number:" + +#: src/templates/tabs/security.jade:79 +msgid "By proceeding, you agree to the Authy {{1: terms of service.}}" +msgstr "By proceeding, you agree to the Authy {{1: terms of service.}}" + +#: src/templates/tabs/security.jade:83 +msgid "Share" +msgstr "Share" + +#: src/templates/tabs/security.jade:90 +msgid "Saving settings..." +msgstr "Saving settings..." + +#: src/templates/tabs/security.jade:91 +msgid "Disabling Two-factor authentication..." +msgstr "Disabling Two-factor authentication..." + +#: src/templates/tabs/security.jade:92 +msgid "Enabling Two-factor authentication..." +msgstr "Enabling Two-factor authentication..." + +#: src/templates/tabs/security.jade:97 +#: src/templates/tabs/login/form.jade:13 +msgid "Please enter the verification code from the SMS message sent to your device:" +msgstr "Please enter the verification code from the SMS message sent to your device:" + +#: src/templates/tabs/security.jade:98 +#: src/templates/tabs/login/form.jade:14 +msgid "Please enter the verification code from the Authy app installed on your device:" +msgstr "Please enter the verification code from the Authy app installed on your device:" + +#: src/templates/tabs/security.jade:111 +msgid "Resend Code" +msgstr "Resend Code" + +#: src/templates/tabs/security.jade:112 +#: src/templates/tabs/login/form.jade:19 +msgid "Send Via SMS" +msgstr "Send Via SMS" + +#: src/templates/tabs/security.jade:117 +#: src/templates/tabs/settingsgateway.jade:83 +msgid "Enable" +msgstr "Enable" + +#: src/templates/tabs/security.jade:121 +msgid "Ripple password" +msgstr "Ripple password" + +#: src/templates/tabs/security.jade:134 +#: src/templates/tabs/account/public.jade:42 +msgid "Current password" +msgstr "Current password" + +#: src/templates/tabs/security.jade:138 +msgid "New password" +msgstr "New password" + +#: src/templates/tabs/security.jade:170 +msgid "Your secret key unlocks access to your account funds. Please write it down and store it somewhere private and safe. In the event you lose your Ripple name or password, you can use this secret key to recover your funds." +msgstr "Your secret key unlocks access to your account funds. Please write it down and store it somewhere private and safe. In the event you lose your Ripple name or password, you can use this secret key to recover your funds." + +#: src/templates/tabs/security.jade:182 +msgid "Password protection for transactions" +msgstr "Password protection for transactions" + +#: src/templates/tabs/security.jade:185 +msgid "If you turn off password requests, you’ll still need to enter your password after each page refresh." +msgstr "If you turn off password requests, you’ll still need to enter your password after each page refresh." + +#: src/templates/tabs/security.jade:193 +msgid "Yes" +msgstr "Yes" + +#: src/templates/tabs/security.jade:194 +msgid "No" +msgstr "No" + +#: src/templates/tabs/security.jade:210 +msgid "Delete Ripple Trade account" +msgstr "Delete Ripple Trade account" + +#: src/templates/tabs/security.jade:212 +msgid "This deletes your Ripple Trade account. You will no longer be able to login to Ripple Trade and your account data will be deleted. However, you can still access your funds using your secret key." +msgstr "This deletes your Ripple Trade account. You will no longer be able to login to Ripple Trade and your account data will be deleted. However, you can still access your funds using your secret key." + +#: src/templates/tabs/send.jade:17 +msgid ""err-you-must-be-funded-before-you-can-send-money"" +msgstr "You have to be funded before you can send money" + +#: src/templates/tabs/send.jade:36 +msgid "Recipient" +msgstr "Recipient" + +#: src/templates/tabs/send.jade:49 +msgid "Please enter a recipient." +msgstr "Please enter a recipient." + +#: src/templates/tabs/send.jade:51 +msgid "Recipient should be a Ripple name, a contact, or Ripple/Bitcoin address." +msgstr "Recipient should be a Ripple name, a contact, or Ripple/Bitcoin address." + +#: src/templates/tabs/send.jade:53 +msgid "This email address is not Ripple-enabled." +msgstr "This email address is not Ripple-enabled." + +#: src/templates/tabs/send.jade:55 +msgid "Could not contact {{send.federationURL}}.
Please try again later or contact support." +msgstr "Could not contact {{send.federationURL}}.
Please try again later or contact support." + +#: src/templates/tabs/send.jade:57 +msgid "Cannot use your specified bitcoin bridge. Please go to Settings > Advanced and update your bitcoin bridge URL to btc2ripple.com." +msgstr "Cannot use your specified bitcoin bridge. Please go to Settings > Advanced and update your bitcoin bridge URL to btc2ripple.com." + +#: src/templates/tabs/send.jade:61 +msgid "Show destination tag" +msgstr "Show destination tag" + +#: src/templates/tabs/send.jade:76 +msgid "Destination cannot be blank." +msgstr "Destination cannot be blank." + +#: src/templates/tabs/send.jade:77 +msgid "This recipient requires a destination tag. Please contact the recipient if you are unsure what the destination tag should be." +msgstr "This recipient requires a destination tag. Please contact the recipient if you are unsure what the destination tag should be." + +#: src/templates/tabs/send.jade:82 +msgid "Source tag" +msgstr "Source tag" + +#: src/templates/tabs/send.jade:89 +msgid "Invalid source tag" +msgstr "Invalid source tag" + +#: src/templates/tabs/send.jade:92 +msgid "Invoice ID" +msgstr "Invoice ID" + +#: src/templates/tabs/send.jade:99 +msgid "Invoice ID must not be more than 64 characters long." +msgstr "Invoice ID must not be more than 64 characters long." + +#: src/templates/tabs/send.jade:120 +msgid "Recipient will receive" +msgstr "Recipient will receive" + +#: src/templates/tabs/send.jade:159 +msgid "{{send.recipient | rpcontactname}} can't receive this currency." +msgstr "{{send.recipient | rpcontactname}} can't receive this currency." + +#: src/templates/tabs/send.jade:163 +#: src/templates/tabs/trust.jade:137 +msgid "Amount must be greater than zero." +msgstr "Amount must be greater than zero." + +#: src/templates/tabs/send.jade:164 +msgid "You are either trying to send too little or too much XRP.Minimum amount is 0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "You are either trying to send too little or too much XRP.Minimum amount is 0.000001 XRP and maximum amount is 100 billion XRP." + +#: src/templates/tabs/send.jade:168 +msgid "Recipient does not allow XRP payments. Are you sure you want to send XRP anyway?" +msgstr "Recipient does not allow XRP payments. Are you sure you want to send XRP anyway?" + +#: src/templates/tabs/send.jade:170 +msgid "{{send.recipient | rpcontactname}}trusts you for {{send.trust_limit | rpamount}} {{send.trust_limit | rpcurrency}}." +msgstr "{{send.recipient | rpcontactname}}trusts you for {{send.trust_limit | rpamount}} {{send.trust_limit | rpcurrency}}." + +#: src/templates/tabs/send.jade:174 +msgid "Send XRP" +msgstr "Send XRP" + +#: src/templates/tabs/send.jade:179 +msgid "Insufficient amount. You need to send at least 20 XRP to fund the account." +msgstr "Insufficient amount. You need to send at least 20 XRP to fund the account." + +#: src/templates/tabs/send.jade:183 +msgid "Checking" +msgstr "Checking" + +#: src/templates/tabs/send.jade:186 +msgid "Analyzing address" +msgstr "Analyzing address" + +#: src/templates/tabs/send.jade:189 +msgid "Scanning accepted currencies" +msgstr "Scanning accepted currencies" + +#: src/templates/tabs/send.jade:192 +msgid "Requesting quote" +msgstr "Requesting quote" + +#: src/templates/tabs/send.jade:195 +msgid "Calculating paths" +msgstr "Calculating paths" + +#: src/templates/tabs/send.jade:198 +msgid "Calculating alternatives" +msgstr "Calculating alternatives" + +#: src/templates/tabs/send.jade:199 +msgid "You cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. Either your account has insufficient funds, or {{send.recipient}} doesn't accept {{send.currency}}." +msgstr "You cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. Either your account has insufficient funds, or {{send.recipient}} doesn't accept {{send.currency}}." + +#: src/templates/tabs/send.jade:203 +msgid "You cannot send {{send.amount}} {{send.currency}} to{{send.recipient}}. Your account has insufficient funds." +msgstr "You cannot send {{send.amount}} {{send.currency}} to{{send.recipient}}. Your account has insufficient funds." + +#: src/templates/tabs/send.jade:206 +msgid "There are no valid currency choices for this destination." +msgstr "There are no valid currency choices for this destination." + +#: src/templates/tabs/send.jade:208 +msgid "Error while retrieving quote for outbound payment. {{1}}" +msgstr "Error while retrieving quote for outbound payment. {{1}}" + +#: src/templates/tabs/send.jade:211 +msgid "Error while calculating path" +msgstr "Error while calculating path" + +#: src/templates/tabs/send.jade:217 +msgid "You can send" +msgstr "You can send" + +#: src/templates/tabs/send.jade:219 +msgid "Or you can send" +msgstr "Or you can send" + +#: src/templates/tabs/send.jade:237 +msgid "Send {{ alt.amount | rpcurrency }} {{1}}" +msgstr "Send {{ alt.amount | rpcurrency }} {{1}}" + +#: src/templates/tabs/send.jade:247 +msgid "Paths last updated {{1}} {{2: seconds}} {{3: second}} ago" +msgstr "Paths last updated {{1}} {{2: seconds}} {{3: second}} ago" + +#: src/templates/tabs/send.jade:258 +msgid "Ripple is calculating a path for your payment." +msgstr "Ripple is calculating a path for your payment." + +#: src/templates/tabs/send.jade:263 +msgid "You are sending {{1}} to" +msgstr "You are sending {{1}} to" + +#: src/templates/tabs/send.jade:270 +msgid "Destination tag: {{send.dt}}" +msgstr "Destination tag: {{send.dt}}" + +#: src/templates/tabs/send.jade:271 +msgid "They will receive" +msgstr "They will receive" + +#: src/templates/tabs/send.jade:274 +msgid "You will pay at most" +msgstr "You will pay at most" + +#: src/templates/tabs/send.jade:280 +msgid "Exchange rate:" +msgstr "Exchange rate:" + +#: src/templates/tabs/send.jade:283 +msgid "Ripple network fee:" +msgstr "Ripple network fee:" + +#: src/templates/tabs/send.jade:286 +msgid "Are you sure?" +msgstr "Are you sure?" + +#: src/templates/tabs/send.jade:296 +msgid "Password required to unlock wallet" +msgstr "Password required to unlock wallet" + +#: src/templates/tabs/send.jade:328 +#: src/templates/tabs/send.jade:367 +msgid "Contact saved!" +msgstr "Contact saved!" + +#: src/templates/tabs/send.jade:330 +#: src/templates/tabs/send.jade:369 +msgid "Add this address to contacts" +msgstr "Add this address to contacts" + +#: src/templates/tabs/send.jade:338 +#: src/templates/tabs/send.jade:376 +msgid "Name this user" +msgstr "Name this user" + +#: src/templates/tabs/send.jade:347 +#: src/templates/tabs/send.jade:385 +msgid "This contact already exists, please choose another name." +msgstr "This contact already exists, please choose another name." + +#: src/templates/tabs/send.jade:351 +#: src/templates/tabs/send.jade:391 +#: src/templates/tabs/trust.jade:344 +msgid "Saving..." +msgstr "Saving..." + +#: src/templates/tabs/send.jade:356 +#: src/templates/tabs/send.jade:397 +msgid "Send another payment" +msgstr "Send another payment" + +#: src/templates/tabs/settingsgateway.jade:8 +msgid "Your bitcoin bridge has been changed successfully." +msgstr "Your bitcoin bridge has been changed successfully." + +#: src/templates/tabs/settingsgateway.jade:9 +msgid "Trustline advanced settings have been changed successfully." +msgstr "Trustline advanced settings have been changed successfully." + +#: src/templates/tabs/settingsgateway.jade:42 +msgid "Trust line" +msgstr "Trust line" + +#: src/templates/tabs/settingsgateway.jade:45 +#: src/templates/tabs/settingsgateway.jade:53 +msgid "Advanced settings" +msgstr "Advanced settings" + +#: src/templates/tabs/settingsgateway.jade:66 +msgid "Gateways: Enable if you plan to issue balances" +msgstr "Gateways: Enable if you plan to issue balances" + +#: src/templates/tabs/settingsgateway.jade:69 +#: src/templates/tabs/settingsgateway.jade:77 +msgid "DefaultRipple flag" +msgstr "DefaultRipple flag" + +#: src/templates/tabs/settingstrade.jade:16 +msgid "Trade settings" +msgstr "Trade settings" + +#: src/templates/tabs/settingstrade.jade:18 +msgid "Trade currency pairs" +msgstr "Trade currency pairs" + +#: src/templates/tabs/settingstrade.jade:19 +msgid "No trade pairs in this account. To add a pair, go to the {{1:Trade > Advanced }}section." +msgstr "No trade pairs in this account. To add a pair, go to the {{1:Trade > Advanced }}section." + +#: src/templates/tabs/sgd.jade:44 +msgid "Singapore Dollar Deposit" +msgstr "Singapore Dollar Deposit" + +#: src/templates/tabs/sgd.jade:48 +msgid "Ripple Singapore (~ripplesingapore){{1}}{{2}}" +msgstr "Ripple Singapore (~ripplesingapore){{1}}{{2}}" + +#: src/templates/tabs/sgd.jade:54 +msgid "All countries except US sanctioned countries" +msgstr "All countries except US sanctioned countries" + +#: src/templates/tabs/sgd.jade:58 +msgid "Between S$ 5 - 50" +msgstr "Between S$ 5 - 50" + +#: src/templates/tabs/sgd.jade:68 +msgid "Ripple Trade has partnered with Ripple Singapore to provide easier access to SGD. Following this action will enable Ripple Singapore to hold SGD on your behalf." +msgstr "Ripple Trade has partnered with Ripple Singapore to provide easier access to SGD. Following this action will enable Ripple Singapore to hold SGD on your behalf." + +#: src/templates/tabs/sgd.jade:72 +msgid "Add Ripple Singapore" +msgstr "Add Ripple Singapore" + +#: src/templates/tabs/sgd.jade:89 +msgid "To Initiate Singapore Dollar Deposits and Withdrawals" +msgstr "To Initiate Singapore Dollar Deposits and Withdrawals" + +#: src/templates/tabs/sgd.jade:90 +msgid "Register or login to your Ripple Singapore account. You will need: {{1}}" +msgstr "Register or login to your Ripple Singapore account. You will need: {{1}}" + +#: src/templates/tabs/sgd.jade:94 +msgid "A valid non-US, government-issued ID (passport, driver’s license, etc)" +msgstr "A valid non-US, government-issued ID (passport, driver’s license, etc)" + +#: src/templates/tabs/sgd.jade:96 +msgid "Proof of address" +msgstr "Proof of address" + +#: src/templates/tabs/sgd.jade:98 +msgid "Verification is required for deposits or withdrawals" +msgstr "Verification is required for deposits or withdrawals" + +#: src/templates/tabs/sgd.jade:100 +msgid "Deposit Options" +msgstr "Deposit Options" + +#: src/templates/tabs/sgd.jade:104 +msgid "Users can deposit SGD by entering bank credentials and initiating a bank wire transfer from user’s bank account to Ripple Singapore." +msgstr "Users can deposit SGD by entering bank credentials and initiating a bank wire transfer from user’s bank account to Ripple Singapore." + +#: src/templates/tabs/sgd.jade:106 +msgid "Withdrawal Options" +msgstr "Withdrawal Options" + +#: src/templates/tabs/sgd.jade:110 +msgid "Users can withdraw SGD by sending funds from their Ripple address to Ripple Singapore’s Ripple address. Ripple Singapore will send the funds to a user’s bank account using a bank wire transfer." +msgstr "Users can withdraw SGD by sending funds from their Ripple address to Ripple Singapore’s Ripple address. Ripple Singapore will send the funds to a user’s bank account using a bank wire transfer." + +#: src/templates/tabs/trade.jade:12 +#: src/templates/tabs/trade.jade:599 +msgid "Loading Order Book" +msgstr "Loading Order Book" + +#: src/templates/tabs/trade.jade:39 +#: src/templates/tabs/widgets/markets.jade:43 +msgid "flip" +msgstr "flip" + +#: src/templates/tabs/trade.jade:43 +msgid "add pair" +msgstr "add pair" + +#: src/templates/tabs/trade.jade:47 +msgid "edit pairs" +msgstr "edit pairs" + +#: src/templates/tabs/trade.jade:51 +msgid "Base Currency" +msgstr "Base Currency" + +#: src/templates/tabs/trade.jade:57 +msgid "Base Gateway" +msgstr "Base Gateway" + +#: src/templates/tabs/trade.jade:66 +msgid "Counter Currency" +msgstr "Counter Currency" + +#: src/templates/tabs/trade.jade:72 +msgid "Counter Gateway" +msgstr "Counter Gateway" + +#: src/templates/tabs/trade.jade:81 +msgid "Add" +msgstr "Add" + +#: src/templates/tabs/trade.jade:84 +msgid "Base currency issuer ({{order.first_currency | rpcurrency}})" +msgstr "Base currency issuer ({{order.first_currency | rpcurrency}})" + +#: src/templates/tabs/trade.jade:87 +msgid ""Ripple name or contact"" +msgstr ""Ripple name or contact"" + +#: src/templates/tabs/trade.jade:95 +msgid "Not a valid Ripple address or contact" +msgstr "Not a valid Ripple address or contact" + +#: src/templates/tabs/trade.jade:102 +msgid "Counter currency issuer ({{order.second_currency | rpcurrency}})" +msgstr "Counter currency issuer ({{order.second_currency | rpcurrency}})" + +#: src/templates/tabs/trade.jade:113 +msgid "Not a valid Ripple name or address" +msgstr "Not a valid Ripple name or address" + +#: src/templates/tabs/trade.jade:119 +msgid "To show an orderbook, choose from the dropdown above or click \"Add custom pair\"." +msgstr "To show an orderbook, choose from the dropdown above or click \"Add custom pair\"." + +#: src/templates/tabs/trade.jade:126 +msgid "Bid" +msgstr "Bid" + +#: src/templates/tabs/trade.jade:130 +msgid "Ask" +msgstr "Ask" + +#: src/templates/tabs/trade.jade:134 +msgid "Spread" +msgstr "Spread" + +#: src/templates/tabs/trade.jade:138 +msgid "Last price" +msgstr "Last price" + +#: src/templates/tabs/trade.jade:145 +msgid "You have to be funded before you can trade" +msgstr "You have to be funded before you can trade" + +#: src/templates/tabs/trade.jade:152 +msgid "Buy {{1}} {{order.first_currency | rpcurrency}}" +msgstr "Buy {{1}} {{order.first_currency | rpcurrency}}" + +#: src/templates/tabs/trade.jade:159 +msgid "Sell {{1}} {{order.first_currency | rpcurrency}}" +msgstr "Sell {{1}} {{order.first_currency | rpcurrency}}" + +#: src/templates/tabs/trade.jade:166 +#: src/templates/tabs/trade.jade:178 +msgid "{{1}} available" +msgstr "{{1}} available" + +#: src/templates/tabs/trade.jade:195 +msgid "Amount To Buy" +msgstr "Amount To Buy" + +#: src/templates/tabs/trade.jade:196 +msgid "Amount To Sell" +msgstr "Amount To Sell" + +#: src/templates/tabs/trade.jade:216 +#: src/templates/tabs/trade.jade:244 +#: src/templates/tabs/trade.jade:271 +msgid "Required" +msgstr "Required" + +#: src/templates/tabs/trade.jade:218 +#: src/templates/tabs/trade.jade:246 +#: src/templates/tabs/trade.jade:273 +msgid "Must be greater than zero" +msgstr "Must be greater than zero" + +#: src/templates/tabs/trade.jade:220 +#: src/templates/tabs/trade.jade:248 +#: src/templates/tabs/trade.jade:275 +msgid "Minimum amount of XRP you can send is a drop (0.000001) and the maximum is 100 billion XRPs." +msgstr "Minimum amount of XRP you can send is a drop (0.000001) and the maximum is 100 billion XRPs." + +#: src/templates/tabs/trade.jade:224 +msgid "Price of Each" +msgstr "Price of Each" + +#: src/templates/tabs/trade.jade:252 +msgid "Order Value (max)" +msgstr "Order Value (max)" + +#: src/templates/tabs/trade.jade:281 +msgid "You are wanting to buy {{1}} for {{2}} ({{3}} per {{4}})" +msgstr "You are wanting to buy {{1}} for {{2}} ({{3}} per {{4}})" + +#: src/templates/tabs/trade.jade:290 +msgid "You are wanting to sell {{1}} for {{2}} ({{3}} per {{4}})" +msgstr "You are wanting to sell {{1}} for {{2}} ({{3}} per {{4}})" + +#: src/templates/tabs/trade.jade:302 +msgid "Buy" +msgstr "Buy" + +#: src/templates/tabs/trade.jade:312 +msgid "You do not have sufficient funds to create an order." +msgstr "You do not have sufficient funds to create an order." + +#: src/templates/tabs/trade.jade:317 +msgid "You are about to create an order to {{1: buy}} {{2: sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" +msgstr "You are about to create an order to {{1: buy}} {{2: sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" + +#: src/templates/tabs/trade.jade:342 +msgid "CAUTION: Your order is far off from the current market price." +msgstr "CAUTION: Your order is far off from the current market price." + +#: src/templates/tabs/trade.jade:346 +msgid "« Back" +msgstr "« Back" + +#: src/templates/tabs/trade.jade:357 +msgid "Sending order to Ripple network..." +msgstr "Sending order to Ripple network..." + +#: src/templates/tabs/trade.jade:363 +msgid "Your order has been submitted." +msgstr "Your order has been submitted." + +#: src/templates/tabs/trade.jade:365 +msgid "Your order is now active." +msgstr "Your order is now active." + +#: src/templates/tabs/trade.jade:367 +msgid "Your order has been filled." +msgstr "Your order has been filled." + +#: src/templates/tabs/trade.jade:369 +msgid "Your order has been partially filled. The remaining amount is now active." +msgstr "Your order has been partially filled. The remaining amount is now active." + +#: src/templates/tabs/trade.jade:382 +msgid "Submit another order" +msgstr "Submit another order" + +#: src/templates/tabs/trade.jade:384 +msgid "My Orders{{1}}{{2}}" +msgstr "My Orders{{1}}{{2}}" + +#: src/templates/tabs/trade.jade:393 +msgid "Your order has been modified." +msgstr "Your order has been modified." + +#: src/templates/tabs/trade.jade:395 +msgid "Your order #{{ cancelOrder.seq }} has been cancelled." +msgstr "Your order #{{ cancelOrder.seq }} has been cancelled." + +#: src/templates/tabs/trade.jade:397 +msgid "Your order could not be modified and no longer exists. Error: {{order[editOrder.type].engine_result_message}}" +msgstr "Your order could not be modified and no longer exists. Error: {{order[editOrder.type].engine_result_message}}" + +#: src/templates/tabs/trade.jade:399 +msgid "Unable to cancel order as it no longer exists." +msgstr "Unable to cancel order as it no longer exists." + +#: src/templates/tabs/trade.jade:401 +msgid "Modifying your order (Placing new order) ..." +msgstr "Modifying your order (Placing new order) ..." + +#: src/templates/tabs/trade.jade:405 +msgid "Current pair only" +msgstr "Current pair only" + +#: src/templates/tabs/trade.jade:420 +#: src/templates/tabs/widgets/orders.jade:26 +msgid "reverse" +msgstr "reverse" + +#: src/templates/tabs/trade.jade:449 +#: src/templates/tabs/widgets/orders.jade:55 +msgid "Limit Price" +msgstr "Limit Price" + +#: src/templates/tabs/trade.jade:454 +msgid "Action" +msgstr "Action" + +#: src/templates/tabs/trade.jade:457 +#: src/templates/tabs/widgets/orders.jade:64 +msgid ""Type"" +msgstr ""Type"" + +#: src/templates/tabs/trade.jade:460 +#: src/templates/tabs/widgets/orders.jade:67 +msgid ""QTY"" +msgstr ""QTY"" + +#: src/templates/tabs/trade.jade:462 +#: src/templates/tabs/widgets/orders.jade:70 +msgid ""BASE"" +msgstr ""BASE"" + +#: src/templates/tabs/trade.jade:471 +#: src/templates/tabs/widgets/orders.jade:79 +msgid ""Counter"" +msgstr ""Counter"" + +#: src/templates/tabs/trade.jade:480 +#: src/templates/tabs/trust.jade:238 +#: src/templates/tabs/widgets/orders.jade:88 +msgid ""Limit"" +msgstr ""Limit"" + +#: src/templates/tabs/trade.jade:491 +#: src/templates/tabs/trade.jade:575 +msgid "TRADE CONFIRMATION" +msgstr "TRADE CONFIRMATION" + +#: src/templates/tabs/trade.jade:493 +msgid "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" +msgstr "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" + +#: src/templates/tabs/trade.jade:495 +msgid "{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div span.modal-order-type(l10n-inc) REMAIN: span remain data div span.modal-order-type(l10n-inc) PLACED: span time data" +msgstr "{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div span.modal-order-type(l10n-inc) REMAIN: span remain data div span.modal-order-type(l10n-inc) PLACED: span time data" + +#: src/templates/tabs/trade.jade:505 +msgid "with" +msgstr "with" + +#: src/templates/tabs/trade.jade:506 +msgid "for" +msgstr "for" + +#: src/templates/tabs/trade.jade:513 +msgid "at" +msgstr "at" + +#: src/templates/tabs/trade.jade:526 +msgid "Cancel order" +msgstr "Cancel order" + +#: src/templates/tabs/trade.jade:527 +#: src/templates/tabs/trade.jade:547 +#: src/templates/tabs/trade.jade:582 +msgid "back" +msgstr "back" + +#: src/templates/tabs/trade.jade:549 +msgid ""CAUTION: Your new order is far off from the current market price.
Do you still want to replace your order ?"" +msgstr ""CAUTION: Your new order is far off from the current market price.
Do you still want to replace your order ?"" + +#: src/templates/tabs/trade.jade:549 +msgid ""Confirm"" +msgstr ""Confirm"" + +#: src/templates/tabs/trade.jade:549 +msgid ""« Back"" +msgstr ""« Back"" + +#: src/templates/tabs/trade.jade:556 +msgid "submit" +msgstr "submit" + +#: src/templates/tabs/trade.jade:561 +msgid "Unable to cancel order. Error: {{entry.errorMsg}}" +msgstr "Unable to cancel order. Error: {{entry.errorMsg}}" + +#: src/templates/tabs/trade.jade:563 +msgid "Your order amount has been updated by Ripple. Please go back and edit again to modify this order." +msgstr "Your order amount has been updated by Ripple. Please go back and edit again to modify this order." + +#: src/templates/tabs/trade.jade:565 +msgid "Your order could not be modified. Error: {{order[editOrder.type].engine_result_message}}" +msgstr "Your order could not be modified. Error: {{order[editOrder.type].engine_result_message}}" + +#: src/templates/tabs/trade.jade:566 +msgid "X" +msgstr "X" + +#: src/templates/tabs/trade.jade:571 +msgid "cancel all" +msgstr "cancel all" + +#: src/templates/tabs/trade.jade:577 +msgid "{{1:Please confirm that you wish to cancel all orders.}}" +msgstr "{{1:Please confirm that you wish to cancel all orders.}}" + +#: src/templates/tabs/trade.jade:581 +msgid "Cancel all orders" +msgstr "Cancel all orders" + +#: src/templates/tabs/trade.jade:584 +#: src/templates/tabs/widgets/orders.jade:93 +msgid "No current orders. {{1}}" +msgstr "No current orders. {{1}}" + +#: src/templates/tabs/trade.jade:585 +#: src/templates/tabs/widgets/orders.jade:94 +msgid "View orders history" +msgstr "View orders history" + +#: src/templates/tabs/trade.jade:588 +msgid "Orderbook" +msgstr "Orderbook" + +#: src/templates/tabs/trade.jade:590 +msgid "Last updated {{1}} {{2: seconds}} {{3: second}} ago" +msgstr "Last updated {{1}} {{2: seconds}} {{3: second}} ago" + +#: src/templates/tabs/trade.jade:607 +msgid "Bids" +msgstr "Bids" + +#: src/templates/tabs/trade.jade:609 +#: src/templates/tabs/trade.jade:659 +msgid "Sum{{1}}{{2}}" +msgstr "Sum{{1}}{{2}}" + +#: src/templates/tabs/trade.jade:616 +#: src/templates/tabs/trade.jade:652 +msgid "Size{{1}}{{2}}" +msgstr "Size{{1}}{{2}}" + +#: src/templates/tabs/trade.jade:623 +msgid "Bid Price{{1}}{{2}}" +msgstr "Bid Price{{1}}{{2}}" + +#: src/templates/tabs/trade.jade:640 +msgid "There are currently no bids for this pair." +msgstr "There are currently no bids for this pair." + +#: src/templates/tabs/trade.jade:643 +msgid "Asks" +msgstr "Asks" + +#: src/templates/tabs/trade.jade:645 +msgid "Ask Price{{1}}{{2}}" +msgstr "Ask Price{{1}}{{2}}" + +#: src/templates/tabs/trade.jade:677 +msgid "There are currently no asks for this pair." +msgstr "There are currently no asks for this pair." + +#: src/templates/tabs/trade.jade:679 +msgid "Load more" +msgstr "Load more" + +#: src/templates/tabs/trade.jade:680 +msgid "No more orders" +msgstr "No more orders" + +#: src/templates/tabs/trust.jade:38 +msgid "Removing gateway..." +msgstr "Removing gateway..." + +#: src/templates/tabs/trust.jade:40 +msgid "Gateway removed." +msgstr "Gateway removed." + +#: src/templates/tabs/trust.jade:42 +msgid "Your changes have been saved." +msgstr "Your changes have been saved." + +#: src/templates/tabs/trust.jade:44 +msgid "Request failed." +msgstr "Request failed." + +#: src/templates/tabs/trust.jade:48 +msgid "Account unlock failed." +msgstr "Account unlock failed." + +#: src/templates/tabs/trust.jade:49 +msgid "Your account could not be unlocked. Please try again later." +msgstr "Your account could not be unlocked. Please try again later." + +#: src/templates/tabs/trust.jade:64 +msgid "Name / Address" +msgstr "Name / Address" + +#: src/templates/tabs/trust.jade:66 +#: src/templates/tabs/trust.jade:105 +msgid "Currency" +msgstr "Currency" + +#: src/templates/tabs/trust.jade:69 +msgid "Trust Limit" +msgstr "Trust Limit" + +#: src/templates/tabs/trust.jade:76 +msgid "Gateway's Ripple name or address" +msgstr "Gateway's Ripple name or address" + +#: src/templates/tabs/trust.jade:97 +msgid "This account does not meet the minimum XRP reserve, so you cannot use it as a gateway." +msgstr "This account does not meet the minimum XRP reserve, so you cannot use it as a gateway." + +#: src/templates/tabs/trust.jade:101 +msgid "You cannot add an unfunded Ripple account as a gateway." +msgstr "You cannot add an unfunded Ripple account as a gateway." + +#: src/templates/tabs/trust.jade:135 +msgid "Amount field is required." +msgstr "Amount field is required." + +#: src/templates/tabs/trust.jade:152 +msgid ""Allow this trust line's balances to be transferred to another issuer you connect to. More information"" +msgstr ""Allow this trust line's balances to be transferred to another issuer you connect to. More information"" + +#: src/templates/tabs/trust.jade:167 +msgid "{{1:You are connecting a gateway, which means}}{{2:{{ counterparty_address | rpripplename:{tilde: true} }} can:}}" +msgstr "{{1:You are connecting a gateway, which means}}{{2:{{ counterparty_address | rpripplename:{tilde: true} }} can:}}" + +#: src/templates/tabs/trust.jade:170 +msgid "{{1:- Hold up to }}{{2}} {{3: on your behalf}}" +msgstr "{{1:- Hold up to }}{{2}} {{3: on your behalf}}" + +#: src/templates/tabs/trust.jade:174 +msgid "{{1:- Hold }}{{2}} {{3: on your behalf}}" +msgstr "{{1:- Hold }}{{2}} {{3: on your behalf}}" + +#: src/templates/tabs/trust.jade:192 +msgid "Verifying address" +msgstr "Verifying address" + +#: src/templates/tabs/trust.jade:195 +msgid "Your account has to be {{1:activated}} before you can add a gateway account." +msgstr "Your account has to be {{1:activated}} before you can add a gateway account." + +#: src/templates/tabs/trust.jade:203 +msgid "Connect gateway" +msgstr "Connect gateway" + +#: src/templates/tabs/trust.jade:219 +msgid "Min" +msgstr "Min" + +#: src/templates/tabs/trust.jade:221 +msgid "Edit" +msgstr "Edit" + +#: src/templates/tabs/trust.jade:228 +msgid ""Gateway"" +msgstr ""Gateway"" + +#: src/templates/tabs/trust.jade:234 +msgid ""Balance"" +msgstr ""Balance"" + +#: src/templates/tabs/trust.jade:242 +#: src/templates/tabs/trust.jade:246 +msgid ""Min"" +msgstr ""Min"" + +#: src/templates/tabs/trust.jade:252 +msgid ""Rippling"" +msgstr ""Rippling"" + +#: src/templates/tabs/trust.jade:255 +msgid "Off" +msgstr "Off" + +#: src/templates/tabs/trust.jade:256 +msgid "On" +msgstr "On" + +#: src/templates/tabs/trust.jade:276 +#: src/templates/tabs/trust.jade:283 +#: src/templates/tabs/trust.jade:293 +#: src/templates/tabs/trust.jade:300 +#: src/templates/tabs/trust.jade:302 +#: src/templates/tabs/trust.jade:309 +#: src/templates/tabs/trust.jade:360 +#: src/templates/tabs/trust.jade:367 +#: src/templates/tabs/trust.jade:377 +#: src/templates/tabs/trust.jade:384 +#: src/templates/tabs/trust.jade:386 +#: src/templates/tabs/trust.jade:393 +msgid "Remove" +msgstr "Remove" + +#: src/templates/tabs/trust.jade:277 +#: src/templates/tabs/trust.jade:294 +#: src/templates/tabs/trust.jade:303 +#: src/templates/tabs/trust.jade:361 +#: src/templates/tabs/trust.jade:378 +#: src/templates/tabs/trust.jade:387 +msgid ""Incoming trust"" +msgstr ""Incoming trust"" + +#: src/templates/tabs/trust.jade:277 +#: src/templates/tabs/trust.jade:294 +#: src/templates/tabs/trust.jade:303 +#: src/templates/tabs/trust.jade:361 +#: src/templates/tabs/trust.jade:378 +#: src/templates/tabs/trust.jade:387 +msgid ""You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you."" +msgstr ""You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you."" + +#: src/templates/tabs/trust.jade:336 +msgid "Rippling {{1}}" +msgstr "Rippling {{1}}" + +#: src/templates/tabs/trust.jade:348 +msgid "Removing..." +msgstr "Removing..." + +#: src/templates/tabs/tx.jade:5 +msgid "Loading transaction details..." +msgstr "Loading transaction details..." + +#: src/templates/tabs/tx.jade:7 +msgid "An error occurred while loading the transaction details." +msgstr "An error occurred while loading the transaction details." + +#: src/templates/tabs/tx.jade:10 +msgid "Transaction #" +msgstr "Transaction #" + +#: src/templates/tabs/tx.jade:15 +msgid "Transaction type:{{1}}" +msgstr "Transaction type:{{1}}" + +#: src/templates/tabs/tx.jade:22 +msgid "Address sent from" +msgstr "Address sent from" + +#: src/templates/tabs/tx.jade:26 +msgid "Amount sent" +msgstr "Amount sent" + +#: src/templates/tabs/tx.jade:30 +msgid "Currency sent" +msgstr "Currency sent" + +#: src/templates/tabs/tx.jade:35 +msgid "Address sent to" +msgstr "Address sent to" + +#: src/templates/tabs/tx.jade:39 +msgid "Amount received" +msgstr "Amount received" + +#: src/templates/tabs/tx.jade:43 +msgid "Currency received" +msgstr "Currency received" + +#: src/templates/tabs/tx.jade:50 +msgid "Network fee paid" +msgstr "Network fee paid" + +#: src/templates/tabs/tx.jade:62 +msgid "Ledger number" +msgstr "Ledger number" + +#: src/templates/tabs/tx.jade:68 +msgid "Address sent from:" +msgstr "Address sent from:" + +#: src/templates/tabs/tx.jade:72 +msgid ""Sorry, we don't have an info page layout for this transaction type yet."" +msgstr "Sorry, we don't have an info page layout for this transaction type yet." + +#: src/templates/tabs/usd.jade:44 +msgid "US Dollar Deposit" +msgstr "US Dollar Deposit" + +#: src/templates/tabs/usd.jade:48 +msgid "SnapSwap US (~SnapSwap){{1}}{{2}}" +msgstr "SnapSwap US (~SnapSwap){{1}}{{2}}" + +#: src/templates/tabs/usd.jade:54 +msgid "USA" +msgstr "USA" + +#: src/templates/tabs/usd.jade:57 +msgid "$ 0.31-$ 5.00 for deposits/withdrawals, .2% when transferring" +msgstr "$ 0.31-$ 5.00 for deposits/withdrawals, .2% when transferring" + +#: src/templates/tabs/usd.jade:65 +msgid "Ripple Trade has partnered with SnapSwap to provide easier access to USD. Following this action will enable SnapSwap to hold USD on your behalf." +msgstr "Ripple Trade has partnered with SnapSwap to provide easier access to USD. Following this action will enable SnapSwap to hold USD on your behalf." + +#: src/templates/tabs/usd.jade:69 +msgid "Add SnapSwap.us" +msgstr "Add SnapSwap.us" + +#: src/templates/tabs/usd.jade:82 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" +msgstr "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" + +#: src/templates/tabs/usd.jade:83 +msgid "Register and verify your account at SnapSwap US. You will need: {{1}}" +msgstr "Register and verify your account at SnapSwap US. You will need: {{1}}" + +#: src/templates/tabs/usd.jade:91 +msgid "EXISTING SNAPSWAP US CUSTOMERS" +msgstr "EXISTING SNAPSWAP US CUSTOMERS" + +#: src/templates/tabs/usd.jade:102 +msgid "Deposit instantly via selected banks" +msgstr "Deposit instantly via selected banks" + +#: src/templates/tabs/usd.jade:104 +msgid "Deposit via online bank transfer (3 business days)" +msgstr "Deposit via online bank transfer (3 business days)" + +#: src/templates/tabs/usd.jade:110 +msgid "Directly to your bank account (3-4 business days)" +msgstr "Directly to your bank account (3-4 business days)" + +#: src/templates/tabs/usd.jade:112 +msgid "Directly to your PayPal account (several minutes)" +msgstr "Directly to your PayPal account (several minutes)" + +#: src/templates/tabs/xrp.jade:24 +msgid "Ripple name: {{1}}{{2}}{{3}}" +msgstr "Ripple name: {{1}}{{2}}{{3}}" + +#: src/templates/tabs/xrp.jade:26 +msgid "loading..." +msgstr "loading..." + +#: src/templates/tabs/xrp.jade:28 +msgid "Show address" +msgstr "Show address" + +#: src/templates/tabs/xrp.jade:31 +msgid "Ripple names are a new feature on Ripple! Use your Ripple name (~{{userCredentials.username}}) to receive money. You can still use your full Ripple address, and while we are working to transition to Ripple names, some gateways may still ask for your full address." +msgstr "Ripple names are a new feature on Ripple! Use your Ripple name (~{{userCredentials.username}}) to receive money. You can still use your full Ripple address, and while we are working to transition to Ripple names, some gateways may still ask for your full address." + +#: src/templates/messages/sendconvert/confirmation.jade:4 +msgid "Transaction pending." +msgstr "Transaction pending." + +#: src/templates/messages/sendconvert/confirmation.jade:6 +msgid "Transaction successful" +msgstr "Transaction successful" + +#: src/templates/messages/sendconvert/confirmation.jade:8 +#: src/templates/messages/sendconvert/confirmation.jade:11 +#: src/templates/messages/sendconvert/confirmation.jade:16 +#: src/templates/messages/sendconvert/confirmation.jade:21 +#: src/templates/messages/sendconvert/confirmation.jade:30 +#: src/templates/messages/sendconvert/confirmation.jade:37 +#: src/templates/messages/sendconvert/localerror.jade:5 +#: src/templates/messages/sendconvert/localerror.jade:8 +#: src/templates/messages/sendconvert/localerror.jade:11 +#: src/templates/messages/sendconvert/localerror.jade:14 +msgid "Transaction failed" +msgstr "Transaction failed" + +#: src/templates/messages/sendconvert/confirmation.jade:23 +msgid "Error code: The destination account does not exist [tecNO_DST]." +msgstr "Error code: The destination account does not exist [tecNO_DST]." + +#: src/templates/messages/sendconvert/confirmation.jade:34 +msgid "Your transaction failed: {{engine_result_message}}" +msgstr "Your transaction failed: {{engine_result_message}}" + +#: src/templates/messages/sendconvert/localerror.jade:6 +msgid "Error code: The account you're trying to send to does not exist [noDest]." +msgstr "Error code: The account you're trying to send to does not exist [noDest]." + +#: src/templates/messages/sendconvert/localerror.jade:9 +msgid "Error code: Ripple was unable to find a path between you and the destination account [noPath]." +msgstr "Error code: Ripple was unable to find a path between you and the destination account [noPath]." + +#: src/templates/messages/sendconvert/localerror.jade:12 +msgid "Error code: This transaction failed because it exceeded the maximum network fee. [maxfeeExceeded]." +msgstr "Error code: This transaction failed because it exceeded the maximum network fee. [maxfeeExceeded]." + +#: src/templates/messages/sendconvert/localerror.jade:15 +msgid "Error code: The transaction was rejected by the Ripple network [invalidTransaction]." +msgstr "Error code: The transaction was rejected by the Ripple network [invalidTransaction]." + +#: src/templates/messages/sendconvert/localerror.jade:17 +msgid "Account unlock failed" +msgstr "Account unlock failed" + +#: src/templates/messages/sendconvert/localerror.jade:20 +msgid "Sorry, an error occurred while submitting your transaction.Make sure you are connected to the Internet and try again later." +msgstr "Sorry, an error occurred while submitting your transaction.Make sure you are connected to the Internet and try again later." + +#: src/templates/messages/sendconvert/localerror.jade:22 +msgid "Before trying again, please ensure that the transaction has not been executed already." +msgstr "Before trying again, please ensure that the transaction has not been executed already." + +#: src/templates/messages/sendconvert/waiting.jade:5 +msgid "Sending transaction to the Ripple network" +msgstr "Sending transaction to the Ripple network" + +#: src/templates/tabs/2fa/form.jade:3 +msgid "Country Code" +msgstr "Country Code" + +#: src/templates/tabs/account/navbar.jade:2 +msgid "Public Information" +msgstr "Public Information" + +#: src/templates/tabs/account/private.jade:1 +msgid "Profile Information" +msgstr "Profile Information" + +#: src/templates/tabs/account/private.jade:3 +msgid "Identity Information" +msgstr "Identity Information" + +#: src/templates/tabs/account/private.jade:8 +#: src/templates/tabs/account/private.jade:17 +msgid "Completed" +msgstr "Completed" + +#: src/templates/tabs/account/private.jade:9 +#: src/templates/tabs/account/private.jade:18 +msgid "Incomplete" +msgstr "Incomplete" + +#: src/templates/tabs/account/private.jade:10 +#: src/templates/tabs/account/private.jade:19 +msgid "Complete your profile" +msgstr "Complete your profile" + +#: src/templates/tabs/account/private.jade:12 +msgid "Identity Questions" +msgstr "Identity Questions" + +#: src/templates/tabs/account/public.jade:1 +msgid "Changing your Ripple name..." +msgstr "Changing your Ripple name..." + +#: src/templates/tabs/account/public.jade:2 +msgid "Your Ripple name has been changed successfully." +msgstr "Your Ripple name has been changed successfully." + +#: src/templates/tabs/account/public.jade:3 +msgid "Account settings" +msgstr "Account settings" + +#: src/templates/tabs/account/public.jade:5 +#: src/templates/tabs/fund/menu.jade:2 +#: src/templates/tabs/login/form.jade:3 +msgid "Ripple name" +msgstr "Ripple name" + +#: src/templates/tabs/account/public.jade:13 +msgid "New Ripple name" +msgstr "New Ripple name" + +#: src/templates/tabs/account/public.jade:25 +msgid "Reserved for {{usernameReservedFor}}{{1}}{{2}}" +msgstr "Reserved for {{usernameReservedFor}}{{1}}{{2}}" + +#: src/templates/tabs/account/public.jade:36 +msgid "Only a-z, 0-9 and hyphen (-)" +msgstr "Only a-z, 0-9 and hyphen (-)" + +#: src/templates/tabs/account/public.jade:39 +msgid "Cannot bundle hyphens (--)" +msgstr "Cannot bundle hyphens (--)" + +#: src/templates/tabs/account/public.jade:50 +msgid "Your Ripple name has been changed. Please login again." +msgstr "Your Ripple name has been changed. Please login again." + +#: src/templates/tabs/account/public.jade:52 +msgid "Couldn't change your Ripple name, please try again later." +msgstr "Couldn't change your Ripple name, please try again later." + +#: src/templates/tabs/banner/announcement.jade:2 +msgid "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" +msgstr "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" + +#: src/templates/tabs/banner/rtjapan.jade:2 +#: src/templates/tabs/banner/rtjapanrippling.jade:2 +msgid "警告" +msgstr "警告" + +#: src/templates/tabs/banner/rtjapan.jade:3 +msgid "リップルトレードジャパンをゲイトウェイとして使用しないことをお勧めします。最近の出来事から判断しまして、リップルトレードジャパンを使用すると、資金が失われる可能性があります。" +msgstr "リップルトレードジャパンをゲイトウェイとして使用しないことをお勧めします。最近の出来事から判断しまして、リップルトレードジャパンを使用すると、資金が失われる可能性があります。" + +#: src/templates/tabs/banner/rtjapanrippling.jade:3 +msgid "資金を保護するために、リップルトレードジャパンへのリップリングを無効にすることをお勧めします。無効化するには{{1}}をクリックし、与信限度額の「Advanced Settings」が「表示」になっていることを確認して下さい。その後、{{2}}ページで、リップルトレードジャパン(rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6)との Rippling がオフになっていることをご確認下さい。" +msgstr "資金を保護するために、リップルトレードジャパンへのリップリングを無効にすることをお勧めします。無効化するには{{1}}をクリックし、与信限度額の「Advanced Settings」が「表示」になっていることを確認して下さい。その後、{{2}}ページで、リップルトレードジャパン(rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6)との Rippling がオフになっていることをご確認下さい。" + +#: src/templates/tabs/banner/unfunded.jade:2 +msgid "Welcome to Ripple Trade! Your account needs to be activated. You can activate it in 2 ways:" +msgstr "Welcome to Ripple Trade! Your account needs to be activated. You can activate it in 2 ways:" + +#: src/templates/tabs/banner/unfunded.jade:4 +msgid "Have another user send XRP to your Ripple name (~{{userCredentials.username}}). {{1}}" +msgstr "Have another user send XRP to your Ripple name (~{{userCredentials.username}}). {{1}}" + +#: src/templates/tabs/fund/menu.jade:3 +msgid "{{1}}XRP" +msgstr "{{1}}XRP" + +#: src/templates/tabs/fund/menu.jade:6 +msgid "Featured gateways" +msgstr "Featured gateways" + +#: src/templates/tabs/fund/menu.jade:7 +msgid "{{1}}BRL" +msgstr "{{1}}BRL" + +#: src/templates/tabs/fund/menu.jade:10 +msgid "{{1}}BTC" +msgstr "{{1}}BTC" + +#: src/templates/tabs/fund/menu.jade:13 +msgid "{{1}}EUR" +msgstr "{{1}}EUR" + +#: src/templates/tabs/fund/menu.jade:16 +msgid "{{1}}JPY" +msgstr "{{1}}JPY" + +#: src/templates/tabs/fund/menu.jade:19 +msgid "{{1}}MXN" +msgstr "{{1}}MXN" + +#: src/templates/tabs/fund/menu.jade:22 +msgid "{{1}}SGD" +msgstr "{{1}}SGD" + +#: src/templates/tabs/fund/menu.jade:25 +msgid "{{1}}USD" +msgstr "{{1}}USD" + +#: src/templates/tabs/fund/menu.jade:28 +msgid "{{1}}XAU" +msgstr "{{1}}XAU" + +#: src/templates/tabs/fund/menu.jade:31 +msgid "Add any gateway" +msgstr "Add any gateway" + +#: src/templates/tabs/fund/menu.jade:33 +msgid "Learn more about gateways" +msgstr "Learn more about gateways" + +#: src/templates/tabs/history/effects.jade:4 +#: src/templates/tabs/history/effects.jade:19 +msgid "You sold{{1}}for{{2}}" +msgstr "You sold{{1}}for{{2}}" + +#: src/templates/tabs/history/effects.jade:8 +#: src/templates/tabs/history/effects.jade:23 +msgid "You bought{{1}}for{{2}}" +msgstr "You bought{{1}}for{{2}}" + +#: src/templates/tabs/history/effects.jade:13 +#: src/templates/tabs/history/effects.jade:28 +msgid "price" +msgstr "price" + +#: src/templates/tabs/history/effects.jade:17 +msgid "This order has been filled." +msgstr "This order has been filled." + +#: src/templates/tabs/history/effects.jade:32 +msgid "The rest of your order has been cancelled due to lack of funds." +msgstr "The rest of your order has been cancelled due to lack of funds." + +#: src/templates/tabs/history/effects.jade:33 +msgid "This order has{{1}}remaining." +msgstr "This order has{{1}}remaining." + +#: src/templates/tabs/history/effects.jade:39 +msgid "Order ({{1}} for {{2}}) has been cancelled due to lack of funds." +msgstr "Order ({{1}} for {{2}}) has been cancelled due to lack of funds." + +#: src/templates/tabs/history/effects.jade:53 +msgid "You bought{{1}}for{{2}}({{3:price}}{{4}})." +msgstr "You bought{{1}}for{{2}}({{3:price}}{{4}})." + +#: src/templates/tabs/history/effects.jade:68 +msgid "{{1}}is trusting you for{{2}}." +msgstr "{{1}}is trusting you for{{2}}." + +#: src/templates/tabs/history/effects.jade:73 +msgid "You have changed {{1}}trust for{{2}}from{{3}}to{{4}}." +msgstr "You have changed {{1}}trust for{{2}}from{{3}}to{{4}}." + +#: src/templates/tabs/history/effects.jade:83 +msgid "{{1}}changed the{{2}}trust from{{3}}to{{4}}." +msgstr "{{1}}changed the{{2}}trust from{{3}}to{{4}}." + +#: src/templates/tabs/history/effects.jade:92 +msgid "Trust balance between you and{{1}}has been changed by{{2}}." +msgstr "Trust balance between you and{{1}}has been changed by{{2}}." + +#: src/templates/tabs/history/effects.jade:99 +msgid "Your balance has been changed by{{1}}." +msgstr "Your balance has been changed by{{1}}." + +#: src/templates/tabs/login/form.jade:18 +msgid "Resend" +msgstr "Resend" + +#: src/templates/tabs/login/form.jade:27 +msgid "Remember me on this device for 30 days" +msgstr "Remember me on this device for 30 days" + +#: src/templates/tabs/settings/navbar.jade:2 +msgid "Security" +msgstr "Security" + +#: src/templates/tabs/settings/navbar.jade:6 +msgid "Notifications" +msgstr "Notifications" + +#: src/templates/tabs/widgets/assetallocation.jade:4 +msgid "Asset Allocation" +msgstr "Asset Allocation" + +#: src/templates/tabs/widgets/balances.jade:4 +msgid "Balances" +msgstr "Balances" + +#: src/templates/tabs/widgets/balances.jade:13 +msgid ""Balance
{{ account.Balance | rpamount }} XRP"" +msgstr ""Balance
{{ account.Balance | rpamount }} XRP"" + +#: src/templates/tabs/widgets/balances.jade:22 +msgid "Reserve" +msgstr "Reserve" + +#: src/templates/tabs/widgets/balances.jade:24 +msgid ""Reserve amount"" +msgstr ""Reserve amount"" + +#: src/templates/tabs/widgets/balances.jade:24 +msgid ""Minimum amount of XRP required to fund your account. You cannot spend the reserve."" +msgstr ""Minimum amount of XRP required to fund your account. You cannot spend the reserve."" + +#: src/templates/tabs/widgets/balances.jade:31 +msgid ""Reserve amount
{{ account.reserve | rpamount }} XRP"" +msgstr ""Reserve amount
{{ account.reserve | rpamount }} XRP"" + +#: src/templates/tabs/widgets/balances.jade:42 +msgid ""Available amount"" +msgstr ""Available amount"" + +#: src/templates/tabs/widgets/balances.jade:42 +msgid ""Total amount of XRP in your account minus the reserve amount."" +msgstr ""Total amount of XRP in your account minus the reserve amount."" + +#: src/templates/tabs/widgets/balances.jade:49 +msgid ""Available amount
{{ account.max_spend | rpamount }} XRP"" +msgstr ""Available amount
{{ account.max_spend | rpamount }} XRP"" + +#: src/templates/tabs/widgets/balances.jade:65 +msgid ""Balance
{{ entry.total | rpamount:{precision: 30, hard_precision: true} }} {{ entry.total | rpcurrency }}"" +msgstr ""Balance
{{ entry.total | rpamount:{precision: 30, hard_precision: true} }} {{ entry.total | rpcurrency }}"" + +#: src/templates/tabs/widgets/balances.jade:78 +msgid ""Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, hard_precision: true} }} {{ entry.total | rpcurrency }}"" +msgstr ""Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, hard_precision: true} }} {{ entry.total | rpcurrency }}"" + +#: src/templates/tabs/widgets/markets.jade:4 +msgid "Markets" +msgstr "Markets" + +#: src/templates/tabs/widgets/networth.jade:4 +msgid "Net Worth" +msgstr "Net Worth" + +#: src/templates/tabs/widgets/networth.jade:9 +msgid "{{1:{{1:In}}}}{{2}}" +msgstr "{{1:{{1:In}}}}{{2}}" + +#: src/templates/tabs/widgets/networth.jade:21 +msgid "Estimated from latest trade price" +msgstr "Estimated from latest trade price" + +#: src/templates/tabs/widgets/networth.jade:30 +msgid "(excluding negative balances)" +msgstr "(excluding negative balances)" + +#: src/templates/tabs/widgets/orders.jade:4 +msgid "My Orders" +msgstr "My Orders" + +#: src/templates/tabs/widgets/orders.jade:14 +msgid "Sort by" +msgstr "Sort by" + +#: src/templates/tabs/widgets/orders.jade:97 +msgid "trade currencies" +msgstr "trade currencies" diff --git a/package.json b/package.json index 5aff072f2..1f9e9ade9 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "url": "https://ripple.com/" }, "dependencies": { + "gulp-jade-l10n-extractor": "^1.0.1", "jade": "~0.35.0", "jade-l10n": "0.1.x", "jade-l10n-loader": "0.0.x", @@ -40,6 +41,7 @@ "gulp-if": "^1.2.5", "gulp-jade": "^1.0.0", "gulp-jade-find-affected": "^0.2.1", + "gulp-jade-l10n-extractor": "^1.0.0", "gulp-less": "^3.0.1", "gulp-load-plugins": "^0.8.1", "gulp-minify-html": "^1.0.1", @@ -59,8 +61,8 @@ "karma-coverage": "^0.2.7", "karma-firefox-launcher": "~0.1.3", "karma-mocha": "~0.1.3", - "karma-sinon-chai": "~0.1.6", "karma-ng-html2js-preprocessor": "~0.1", + "karma-sinon-chai": "~0.1.6", "merge-stream": "^0.1.7" } } From a776c0fbf45fee2641b84e2da5910421d86fec22 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 21 Apr 2015 01:29:21 +0300 Subject: [PATCH 222/321] [FIX] BTC: Show "loading" (RT-3340) Show btc2ripple module as loading while it is loading --- src/templates/tabs/btc.jade | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/templates/tabs/btc.jade b/src/templates/tabs/btc.jade index 62f3c1ab3..451b4d6d8 100644 --- a/src/templates/tabs/btc.jade +++ b/src/templates/tabs/btc.jade @@ -90,12 +90,15 @@ section.col-xs-12.content(ng-controller='BtcCtrl') button.btn.btn-block.btn-primary(ng-show="btcConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions .connect.col-md-8.col-sm-7.col-xs-5 - .description(ng-show="btcConnected") + .description(ng-show="!loadingAccount && btcConnected && loadState.B2RApp") i.fa.fa-check span(l10n) Connected - .description(ng-hide="btcConnected") + .description(ng-hide="loadingAccount || btcConnected || !loadState.B2RApp") i.fa.fa-times span(l10n) Not connected + .description(ng-show="loadingAccount || !loadState.B2RApp") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... span.error(ng-show="generalError", l10n) | SnapSwap's btc2ripple service is currently unavailable. | Please check back later. From c75fb56cf900b69139c23f44a27053d2bbb9e3b8 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Thu, 23 Apr 2015 09:52:39 -0700 Subject: [PATCH 223/321] [TASK] Update messages.pot --- l10n/templates/messages.pot | 214 +++++++++++++++++++----------------- 1 file changed, 111 insertions(+), 103 deletions(-) diff --git a/l10n/templates/messages.pot b/l10n/templates/messages.pot index b132acd84..51d36f2a1 100644 --- a/l10n/templates/messages.pot +++ b/l10n/templates/messages.pot @@ -116,7 +116,7 @@ msgstr "Ripple's growing gateway network." #: src/templates/tabs/brl.jade:62 #: src/templates/tabs/brl.jade:66 #: src/templates/tabs/brl.jade:102 -#: src/templates/tabs/btc.jade:51 +#: src/templates/tabs/btc.jade:53 #: src/templates/tabs/eur.jade:59 #: src/templates/tabs/eur.jade:63 #: src/templates/tabs/eur.jade:95 @@ -208,7 +208,7 @@ msgstr ""Connected to the Ripple network."" #: src/templates/client/navbar.jade:68 #: src/templates/tabs/apps.jade:8 #: src/templates/tabs/balance.jade:10 -#: src/templates/tabs/btc.jade:79 +#: src/templates/tabs/btc.jade:81 #: src/templates/tabs/exchange.jade:11 #: src/templates/tabs/kyc.jade:50 #: src/templates/tabs/recover.jade:32 @@ -511,76 +511,6 @@ msgstr "Request pending" msgid "Request successful" msgstr "Request successful" -#: src/templates/popup/modifyOrderError.jade:2 -msgid "Modify Order Error" -msgstr "Modify Order Error" - -#: src/templates/popup/modifyOrderError.jade:4 -msgid "Sorry, your order could not be modified." -msgstr "Sorry, your order could not be modified." - -#: src/templates/popup/modifyOrderError.jade:5 -msgid "Your original order was cancelled but the modified order was not placed.
" -msgstr "Your original order was cancelled but the modified order was not placed.
" - -#: src/templates/popup/modifyOrderError.jade:6 -msgid "The quantity of your order changed by {{order.qtyChangeAfterCancel | rpamount}} before the order could be modified.

" -msgstr "The quantity of your order changed by {{order.qtyChangeAfterCancel | rpamount}} before the order could be modified.

" - -#: src/templates/popup/modifyOrderError.jade:7 -msgid "To safeguard against the possibility of overfills a new order has not been placed.
" -msgstr "To safeguard against the possibility of overfills a new order has not been placed.
" - -#: src/templates/popup/modifyOrderError.jade:8 -msgid "Please check your balance and history before placing the new order manually.
" -msgstr "Please check your balance and history before placing the new order manually.
" - -#: src/templates/popup/modifyOrderError.jade:10 -#: src/templates/popup/unlock.jade:21 -msgid "Close" -msgstr "Close" - -#: src/templates/popup/unlock.jade:2 -msgid "Unlock account" -msgstr "Unlock account" - -#: src/templates/popup/unlock.jade:5 -#: src/templates/tabs/recover.jade:44 -#: src/templates/tabs/register.jade:72 -#: src/templates/tabs/security.jade:12 -#: src/templates/tabs/login/form.jade:9 -msgid "Password" -msgstr "Password" - -#: src/templates/popup/unlock.jade:11 -msgid "Please enter your password to show your secret key." -msgstr "Please enter your password to show your secret key." - -#: src/templates/popup/unlock.jade:12 -#: src/templates/tabs/send.jade:287 -msgid "Please enter your password to confirm this transaction." -msgstr "Please enter your password to confirm this transaction." - -#: src/templates/popup/unlock.jade:13 -msgid "This password is incorrect, please try again." -msgstr "This password is incorrect, please try again." - -#: src/templates/popup/unlock.jade:14 -#: src/templates/messages/sendconvert/localerror.jade:18 -#: src/templates/tabs/account/public.jade:48 -msgid "Your account cannot be accessed at the moment. Please try again later." -msgstr "Your account cannot be accessed at the moment. Please try again later." - -#: src/templates/popup/unlock.jade:17 -msgid "Confirming password" -msgstr "Confirming password" - -#: src/templates/popup/unlock.jade:20 -#: src/templates/tabs/security.jade:163 -#: src/templates/tabs/account/public.jade:58 -msgid "Submit" -msgstr "Submit" - #: src/templates/strings/myOrders.jade:3 msgid "Type" msgstr "Type" @@ -691,7 +621,7 @@ msgid "Back" msgstr "Back" #: src/templates/tabs/_usd.jade:112 -#: src/templates/tabs/btc.jade:80 +#: src/templates/tabs/btc.jade:82 #: src/templates/tabs/exchange.jade:145 #: src/templates/tabs/send.jade:299 #: src/templates/tabs/trade.jade:97 @@ -787,7 +717,7 @@ msgstr "Delete" #: src/templates/tabs/advanced.jade:75 #: src/templates/tabs/advanced.jade:100 #: src/templates/tabs/advanced.jade:143 -#: src/templates/tabs/btc.jade:81 +#: src/templates/tabs/btc.jade:83 #: src/templates/tabs/contacts.jade:95 #: src/templates/tabs/contacts.jade:170 #: src/templates/tabs/exchange.jade:148 @@ -936,7 +866,7 @@ msgid "Brazilian Real Deposit" msgstr "Brazilian Real Deposit" #: src/templates/tabs/brl.jade:50 -#: src/templates/tabs/btc.jade:40 +#: src/templates/tabs/btc.jade:42 #: src/templates/tabs/eur.jade:47 #: src/templates/tabs/gold.jade:49 #: src/templates/tabs/jpy.jade:50 @@ -962,7 +892,7 @@ msgid "Ripple (~rippex)" msgstr "Ripple (~rippex)" #: src/templates/tabs/brl.jade:55 -#: src/templates/tabs/btc.jade:44 +#: src/templates/tabs/btc.jade:46 #: src/templates/tabs/eur.jade:53 #: src/templates/tabs/gold.jade:53 #: src/templates/tabs/jpy.jade:54 @@ -977,7 +907,7 @@ msgid "Brazil" msgstr "Brazil" #: src/templates/tabs/brl.jade:58 -#: src/templates/tabs/btc.jade:47 +#: src/templates/tabs/btc.jade:49 #: src/templates/tabs/eur.jade:56 #: src/templates/tabs/gold.jade:56 #: src/templates/tabs/jpy.jade:57 @@ -1004,7 +934,7 @@ msgid "Transfer: 0%" msgstr "Transfer: 0%" #: src/templates/tabs/brl.jade:65 -#: src/templates/tabs/btc.jade:50 +#: src/templates/tabs/btc.jade:52 #: src/templates/tabs/eur.jade:62 #: src/templates/tabs/gold.jade:59 #: src/templates/tabs/jpy.jade:63 @@ -1023,7 +953,7 @@ msgid "Add Rippex" msgstr "Add Rippex" #: src/templates/tabs/brl.jade:79 -#: src/templates/tabs/btc.jade:86 +#: src/templates/tabs/btc.jade:88 #: src/templates/tabs/eur.jade:73 #: src/templates/tabs/gold.jade:71 #: src/templates/tabs/jpy.jade:72 @@ -1034,7 +964,7 @@ msgid "Adding..." msgstr "Adding..." #: src/templates/tabs/brl.jade:80 -#: src/templates/tabs/btc.jade:87 +#: src/templates/tabs/btc.jade:89 #: src/templates/tabs/eur.jade:74 #: src/templates/tabs/gold.jade:72 #: src/templates/tabs/jpy.jade:73 @@ -1045,7 +975,7 @@ msgid "Hide instructions" msgstr "Hide instructions" #: src/templates/tabs/brl.jade:81 -#: src/templates/tabs/btc.jade:88 +#: src/templates/tabs/btc.jade:90 #: src/templates/tabs/eur.jade:75 #: src/templates/tabs/gold.jade:73 #: src/templates/tabs/jpy.jade:74 @@ -1123,96 +1053,104 @@ msgstr "Success! You can deposit BTC via your generated BTC receiving address." msgid "There was an error with your request. {{1}}" msgstr "There was an error with your request. {{1}}" -#: src/templates/tabs/btc.jade:35 +#: src/templates/tabs/btc.jade:29 +msgid "There was an error with your request." +msgstr "There was an error with your request." + +#: src/templates/tabs/btc.jade:37 msgid "Bitcoin Deposit" msgstr "Bitcoin Deposit" -#: src/templates/tabs/btc.jade:41 +#: src/templates/tabs/btc.jade:43 msgid "btc2ripple (~SnapSwap) {{1}}" msgstr "btc2ripple (~SnapSwap) {{1}}" -#: src/templates/tabs/btc.jade:45 +#: src/templates/tabs/btc.jade:47 #: src/templates/tabs/gold.jade:54 #: src/templates/tabs/jpy.jade:55 msgid "All countries" msgstr "All countries" -#: src/templates/tabs/btc.jade:48 +#: src/templates/tabs/btc.jade:50 msgid "0% for deposits/withdrawals, .2% when transferring" msgstr "0% for deposits/withdrawals, .2% when transferring" -#: src/templates/tabs/btc.jade:55 +#: src/templates/tabs/btc.jade:57 msgid "Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By proceeding, you agree to the btc2ripple {{1}} Following this action will allow btc2ripple to hold BTC on your behalf." msgstr "Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By proceeding, you agree to the btc2ripple {{1}} Following this action will allow btc2ripple to hold BTC on your behalf." -#: src/templates/tabs/btc.jade:61 +#: src/templates/tabs/btc.jade:63 msgid "Add btc2ripple" msgstr "Add btc2ripple" -#: src/templates/tabs/btc.jade:66 +#: src/templates/tabs/btc.jade:68 #: src/templates/tabs/security.jade:69 #: src/templates/tabs/trust.jade:165 msgid "Connect" msgstr "Connect" -#: src/templates/tabs/btc.jade:68 +#: src/templates/tabs/btc.jade:70 msgid "btc2ripple would like to:" msgstr "btc2ripple would like to:" -#: src/templates/tabs/btc.jade:70 +#: src/templates/tabs/btc.jade:72 msgid "- Receive your email address {{1}}" msgstr "- Receive your email address {{1}}" -#: src/templates/tabs/btc.jade:71 +#: src/templates/tabs/btc.jade:73 msgid "({{userBlob.data.email}})" msgstr "({{userBlob.data.email}})" -#: src/templates/tabs/btc.jade:72 +#: src/templates/tabs/btc.jade:74 msgid "- Hold deposited BTC on your behalf" msgstr "- Hold deposited BTC on your behalf" -#: src/templates/tabs/btc.jade:73 +#: src/templates/tabs/btc.jade:75 msgid "By proceeding, you agree to the btc2ripple {{1}}" msgstr "By proceeding, you agree to the btc2ripple {{1}}" -#: src/templates/tabs/btc.jade:83 -#: src/templates/tabs/btc.jade:97 +#: src/templates/tabs/btc.jade:85 +#: src/templates/tabs/btc.jade:99 msgid "SnapSwap's btc2ripple service is currently unavailable. Please check back later." msgstr "SnapSwap's btc2ripple service is currently unavailable. Please check back later." -#: src/templates/tabs/btc.jade:93 +#: src/templates/tabs/btc.jade:95 #: src/templates/tabs/eur.jade:79 #: src/templates/tabs/usd.jade:76 msgid "Connected" msgstr "Connected" -#: src/templates/tabs/btc.jade:96 +#: src/templates/tabs/btc.jade:98 #: src/templates/tabs/eur.jade:78 #: src/templates/tabs/usd.jade:75 msgid "Not connected" msgstr "Not connected" -#: src/templates/tabs/btc.jade:105 +#: src/templates/tabs/btc.jade:102 +msgid "You’ve already used this email address to generate a bitcoin receiving address in Ripple Trade.Please contact support@btc2ripple.com if you want to use this Ripple Trade account instead." +msgstr "You’ve already used this email address to generate a bitcoin receiving address in Ripple Trade.Please contact support@btc2ripple.com if you want to use this Ripple Trade account instead." + +#: src/templates/tabs/btc.jade:110 msgid "Personal Deposit address" msgstr "Personal Deposit address" -#: src/templates/tabs/btc.jade:107 +#: src/templates/tabs/btc.jade:112 msgid "Your account is fully verified." msgstr "Your account is fully verified." -#: src/templates/tabs/btc.jade:111 +#: src/templates/tabs/btc.jade:116 msgid "Withdrawal instructions" msgstr "Withdrawal instructions" -#: src/templates/tabs/btc.jade:112 +#: src/templates/tabs/btc.jade:117 msgid "To withdraw to a BTC address, go to the Send tab and enter the BTC address. Using the btc2ripple service, you will be able tosend to that BTC address." msgstr "To withdraw to a BTC address, go to the Send tab and enter the BTC address. Using the btc2ripple service, you will be able tosend to that BTC address." -#: src/templates/tabs/btc.jade:117 +#: src/templates/tabs/btc.jade:122 msgid "Waiting for response from SnapSwap service..." msgstr "Waiting for response from SnapSwap service..." -#: src/templates/tabs/btc.jade:119 +#: src/templates/tabs/btc.jade:124 msgid "To deposit, generate a bitcoin receiving address using the {{1}} service powered by SnapSwap." msgstr "To deposit, generate a bitcoin receiving address using the {{1}} service powered by SnapSwap." @@ -2193,6 +2131,14 @@ msgstr "Set Password" msgid "Your account was sucessfully recovered. Please re-encrypt your account with a new password." msgstr "Your account was sucessfully recovered. Please re-encrypt your account with a new password." +#: src/templates/tabs/recover.jade:44 +#: src/templates/tabs/register.jade:72 +#: src/templates/tabs/security.jade:12 +#: src/templates/popup/unlock.jade:5 +#: src/templates/tabs/login/form.jade:9 +msgid "Password" +msgstr "Password" + #: src/templates/tabs/recover.jade:50 #: src/templates/tabs/register.jade:80 #: src/templates/tabs/security.jade:144 @@ -2570,6 +2516,12 @@ msgstr "Current password" msgid "New password" msgstr "New password" +#: src/templates/tabs/security.jade:163 +#: src/templates/popup/unlock.jade:20 +#: src/templates/tabs/account/public.jade:58 +msgid "Submit" +msgstr "Submit" + #: src/templates/tabs/security.jade:170 msgid "Your secret key unlocks access to your account funds. Please write it down and store it somewhere private and safe. In the event you lose your Ripple name or password, you can use this secret key to recover your funds." msgstr "Your secret key unlocks access to your account funds. Please write it down and store it somewhere private and safe. In the event you lose your Ripple name or password, you can use this secret key to recover your funds." @@ -2779,6 +2731,11 @@ msgstr "Ripple network fee:" msgid "Are you sure?" msgstr "Are you sure?" +#: src/templates/tabs/send.jade:287 +#: src/templates/popup/unlock.jade:12 +msgid "Please enter your password to confirm this transaction." +msgstr "Please enter your password to confirm this transaction." + #: src/templates/tabs/send.jade:296 msgid "Password required to unlock wallet" msgstr "Password required to unlock wallet" @@ -3579,6 +3536,57 @@ msgstr "Show address" msgid "Ripple names are a new feature on Ripple! Use your Ripple name (~{{userCredentials.username}}) to receive money. You can still use your full Ripple address, and while we are working to transition to Ripple names, some gateways may still ask for your full address." msgstr "Ripple names are a new feature on Ripple! Use your Ripple name (~{{userCredentials.username}}) to receive money. You can still use your full Ripple address, and while we are working to transition to Ripple names, some gateways may still ask for your full address." +#: src/templates/popup/modifyOrderError.jade:2 +msgid "Modify Order Error" +msgstr "Modify Order Error" + +#: src/templates/popup/modifyOrderError.jade:4 +msgid "Sorry, your order could not be modified." +msgstr "Sorry, your order could not be modified." + +#: src/templates/popup/modifyOrderError.jade:5 +msgid "Your original order was cancelled but the modified order was not placed.
" +msgstr "Your original order was cancelled but the modified order was not placed.
" + +#: src/templates/popup/modifyOrderError.jade:6 +msgid "The quantity of your order changed by {{order.qtyChangeAfterCancel | rpamount}} before the order could be modified.

" +msgstr "The quantity of your order changed by {{order.qtyChangeAfterCancel | rpamount}} before the order could be modified.

" + +#: src/templates/popup/modifyOrderError.jade:7 +msgid "To safeguard against the possibility of overfills a new order has not been placed.
" +msgstr "To safeguard against the possibility of overfills a new order has not been placed.
" + +#: src/templates/popup/modifyOrderError.jade:8 +msgid "Please check your balance and history before placing the new order manually.
" +msgstr "Please check your balance and history before placing the new order manually.
" + +#: src/templates/popup/modifyOrderError.jade:10 +#: src/templates/popup/unlock.jade:21 +msgid "Close" +msgstr "Close" + +#: src/templates/popup/unlock.jade:2 +msgid "Unlock account" +msgstr "Unlock account" + +#: src/templates/popup/unlock.jade:11 +msgid "Please enter your password to show your secret key." +msgstr "Please enter your password to show your secret key." + +#: src/templates/popup/unlock.jade:13 +msgid "This password is incorrect, please try again." +msgstr "This password is incorrect, please try again." + +#: src/templates/popup/unlock.jade:14 +#: src/templates/messages/sendconvert/localerror.jade:18 +#: src/templates/tabs/account/public.jade:48 +msgid "Your account cannot be accessed at the moment. Please try again later." +msgstr "Your account cannot be accessed at the moment. Please try again later." + +#: src/templates/popup/unlock.jade:17 +msgid "Confirming password" +msgstr "Confirming password" + #: src/templates/messages/sendconvert/confirmation.jade:4 msgid "Transaction pending." msgstr "Transaction pending." From f4609fd2e1dd1297c3df41d78e7a3ff230ac4cf3 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Thu, 23 Apr 2015 09:55:04 -0700 Subject: [PATCH 224/321] [TASK] Gulp: Don't run dev on dist --- gulpfile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gulpfile.js b/gulpfile.js index 5b270a5b6..f9bb566a4 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -276,6 +276,6 @@ gulp.task('deps', ['preprocess:dist'], function () { }); // Distribution -gulp.task('dist', ['clean:dist', 'dev', 'webpack:dist', 'templates:dist', 'static'], function () { +gulp.task('dist', ['clean:dist', 'bower', 'less', 'l10nExtract', 'webpack:dist', 'templates:dist', 'static'], function () { gulp.start('deps'); }); \ No newline at end of file From 0bb057b26d11dc3ca407dd0c3c98900bd7ad902e Mon Sep 17 00:00:00 2001 From: Yong-Soo Chung Date: Thu, 23 Apr 2015 10:23:36 -0700 Subject: [PATCH 225/321] Trust: DefaultRipple flag enable and disable (RT-3353) --- src/js/tabs/settingsgateway.controller.js | 12 +++++++++--- src/templates/tabs/settingsgateway.jade | 6 +++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/js/tabs/settingsgateway.controller.js b/src/js/tabs/settingsgateway.controller.js index b32017fca..54ef797c2 100644 --- a/src/js/tabs/settingsgateway.controller.js +++ b/src/js/tabs/settingsgateway.controller.js @@ -58,14 +58,15 @@ SettingsGatewayTab.prototype.angular = function(module) case 'defaultRippleFlag': // Need to set flag on account_root var tx = network.remote.transaction(); - tx.accountSet(id.account); - tx.setFlags('DefaultRipple'); + $scope.isDefaultRippleFlagEnabled = $scope.account.Flags & ripple.Remote.flags.account_root.DefaultRipple; + $scope.isDefaultRippleFlagEnabled ? tx.accountSet(id.account, undefined, 'DefaultRipple') : tx.accountSet(id.account, 'DefaultRipple'); keychain.requestSecret(id.account, id.username, function (err, secret) { if (err) { console.log('Error: ', err); return; } + $scope.isDefaultRippleFlagEnabled = !$scope.isDefaultRippleFlagEnabled; tx.secret(secret); tx.submit(); }); @@ -79,7 +80,6 @@ SettingsGatewayTab.prototype.angular = function(module) $scope.edit[type] = false; - // Notify the user $scope.success[type] = true; }; @@ -115,6 +115,7 @@ SettingsGatewayTab.prototype.angular = function(module) $scope.edit[type] = false; if (type === 'bridge') { $scope.options.bridge.out.bitcoin = $scope.optionsBackup.bridge.out.bitcoin; + } else { $scope.options[type] = $scope.optionsBackup[type]; } @@ -125,6 +126,11 @@ SettingsGatewayTab.prototype.angular = function(module) $scope.options.confirmation[transactionType] = $scope.optionsBackup.confirmation[transactionType]; }; + $scope.$watch('account', function() { + // Check if account has DefaultRipple flag set + $scope.isDefaultRippleFlagEnabled = !!($scope.account.Flags & ripple.Remote.flags.account_root.DefaultRipple); + }, true); + }]); }; diff --git a/src/templates/tabs/settingsgateway.jade b/src/templates/tabs/settingsgateway.jade index c05a6a564..cbbea5e9f 100644 --- a/src/templates/tabs/settingsgateway.jade +++ b/src/templates/tabs/settingsgateway.jade @@ -68,8 +68,8 @@ section.col-xs-12.content(ng-controller="SettingsGatewayCtrl") .col-xs-6.col-sm-5.col-md-3 .description(l10n) DefaultRipple flag .col-xs-3.col-sm-4.col-md-4 - .description(ng-show="options.defaultRippleFlag", l10n) Enabled - .description(ng-hide="options.defaultRippleFlag", l10n) Disabled + .description(ng-show="isDefaultRippleFlagEnabled", l10n) Enabled + .description(ng-hide="isDefaultRippleFlagEnabled", l10n) Disabled .col-xs-3.col-sm-3.col-md-2 a.btn.btn-cancel.btn-block(href="", ng-click="edit.defaultRippleFlag = true", l10n) edit .row.row-padding-small.edit-trust-line(ng-show="edit.defaultRippleFlag") @@ -79,7 +79,7 @@ section.col-xs-12.content(ng-controller="SettingsGatewayCtrl") div.helperInput label input(type="checkbox", name="acct_adv" - ng-model="options.defaultRippleFlag") + ng-model="isDefaultRippleFlagEnabled") span(l10n) Enable .col-xs-12.col-sm-4.col-md-4 button.btn.btn-block.btn-success.btn-xs.submit#save(type='submit' From 43eddc155a497351423327d3109e0803a47bab16 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Sat, 18 Apr 2015 02:42:34 +0300 Subject: [PATCH 226/321] [FIX] addressPopover: use $templateRequest (RT-3357) addressPopover: load addresspopover.html instead of the jade file using $templateRequest --- src/js/directives/addressPopover.directive.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/js/directives/addressPopover.directive.js b/src/js/directives/addressPopover.directive.js index 487fdf114..05add70b6 100644 --- a/src/js/directives/addressPopover.directive.js +++ b/src/js/directives/addressPopover.directive.js @@ -197,11 +197,8 @@ } } - var myTemplate = require('../../templates/directives/addresspopover.jade')(); - var texts = myTemplate.split('
'); - - AddressPopover.textRippleAddress = texts[0]; - AddressPopover.textShowInGraph = texts.length > 1 ? texts[1] : 'Show in graph'; + AddressPopover.textRippleAddress = 'span(l10n) Ripple address'; + AddressPopover.textShowInGraph = 'span(l10n) Show in graph'; /** * Special popover to show ripple address with ability to double click on address to select. @@ -212,9 +209,15 @@ */ angular.module('directives').directive('rpAddressPopover', rpAddressPopover); - rpAddressPopover.$inject = ['$timeout', 'rpId', '$filter', '$parse']; + rpAddressPopover.$inject = ['$timeout', 'rpId', '$filter', '$parse', '$templateRequest']; + + function rpAddressPopover($timeout, id, $filter, $parse, $templateRequest) { + $templateRequest('templates/' + window.lang + '/directives/addresspopover.html', false).then(function(template) { + var texts = template.split('
'); + AddressPopover.textRippleAddress = texts[0]; + AddressPopover.textShowInGraph = texts.length > 1 ? texts[1] : AddressPopover.textShowInGraph; + }); - function rpAddressPopover($timeout, id, $filter, $parse) { return { restrict: 'A', replace: false, From 2fadfab574de86e6b1b87f3807502f79a9ef8894 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Fri, 24 Apr 2015 01:12:45 +0300 Subject: [PATCH 227/321] [FIX] fix my orders template loading --- src/js/controllers/app.controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/controllers/app.controller.js b/src/js/controllers/app.controller.js index b822f4f46..8f3df8445 100644 --- a/src/js/controllers/app.controller.js +++ b/src/js/controllers/app.controller.js @@ -660,7 +660,7 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, // load strings from jade template $templateRequest('templates/' + lang + '/strings/myOrders.html', true).then(function(ordersStringsHtml) { _.each($scope.ordersSortFieldChoices, function(element, index) { - var localisedNameText = ordersStringsHtml.find('#' + element.value).text(); + var localisedNameText = $(ordersStringsHtml).find('#' + element.value).text(); element.name = localisedNameText; }); }); From b9b7a513601eac7773207566b935aeb42ef1fd63 Mon Sep 17 00:00:00 2001 From: Yong-Soo Chung Date: Thu, 23 Apr 2015 16:03:29 -0700 Subject: [PATCH 228/321] Gateways: UI changes breaking Fund into two separate pages (RT-3372) --- src/templates/client/layout.jade | 4 ++-- src/templates/client/navbar.jade | 10 +++++----- src/templates/tabs/fund/menu.jade | 10 +--------- src/templates/tabs/trust.jade | 3 --- src/templates/tabs/xrp.jade | 17 +++++------------ 5 files changed, 13 insertions(+), 31 deletions(-) diff --git a/src/templates/client/layout.jade b/src/templates/client/layout.jade index 52d587f58..81d72d052 100644 --- a/src/templates/client/layout.jade +++ b/src/templates/client/layout.jade @@ -18,9 +18,9 @@ a.fund(href="#/xrp", ng-class="{active: $route.current.tabName == 'xrp'}") span.nav-icon.nav-icon-advanced - span(l10n) Fund + span(l10n) Featured gateways //- a.sub(href="#/withdraw", ng-class="{active: $route.current.tabName == 'withdraw'}", l10n) Withdraw - a.sub(href="#/trust", ng-class="{active: $route.current.tabName == 'trust'}", l10n) Gateways + a.sub(href="#/trust", ng-class="{active: $route.current.tabName == 'trust'}", l10n) Add any gateway (trust lines) a.advanced(href="#/account/public", ng-class="{active: $route.current.tabName == 'account'}") img(src="img/profile-gray.png") diff --git a/src/templates/client/navbar.jade b/src/templates/client/navbar.jade index 5eb92ea29..8a77dc282 100644 --- a/src/templates/client/navbar.jade +++ b/src/templates/client/navbar.jade @@ -24,7 +24,7 @@ nav.navbar(role="navigation", ng-controller="NavbarCtrl") li#nav-exchange(ng-class="{active: $route.current.mainMenu == 'exchange' || $route.current.mainMenu == 'trade'}", ng-show="ripple_exchange_selection_trade") a(href="#/trade", l10n) Trade li#nav-fund(ng-class="{active: $route.current.mainMenu == 'fund'}") - a(href="#/xrp", l10n) Fund + a(href="#/xrp", l10n) Gateways //- li#nav-fund(ng-class="{active: $route.current.mainMenu == 'pretend'}") //- a(href="#/pretend", l10n) Pretend ul.nav.navbar-nav.navbar-right @@ -150,13 +150,13 @@ nav.navbar(role="navigation", ng-controller="NavbarCtrl") a(href="#/exchange", l10n) Simple li(ng-class="{active: $route.current.tabName == 'trade'}") a(href="#/trade", l10n) Advanced - //- .subnav(ng-show="$route.current.mainMenu == 'fund'") + .subnav(ng-show="$route.current.mainMenu == 'fund'") .container ul li(ng-class="{active: $route.current.tabName == 'xrp'}") - a(href="#/xrp", l10n) Fund - li(ng-class="{active: $route.current.tabName == 'withdraw'}") - a(href="#/withdraw", l10n) Withdraw + a(href="#/xrp", l10n) Featured gateways + li(ng-class="{active: $route.current.tabName == 'trust'}") + a(href="#/trust", l10n) Add any gateway (trust lines) .container.recover-status-wrapper.text-center.ng-scope(ng-if='recovered', ng-show='recovered') .alert.alert-info h4.tx-status(l10n) diff --git a/src/templates/tabs/fund/menu.jade b/src/templates/tabs/fund/menu.jade index 3039ce930..5a2fae33b 100644 --- a/src/templates/tabs/fund/menu.jade +++ b/src/templates/tabs/fund/menu.jade @@ -1,9 +1,4 @@ .currencies.fund-menu - .first_menu_item(l10n) Ripple name - a(href="#/xrp", ng-class="{active: $route.current.tabName == 'xrp'}", class="currency-xrp", l10n) - i.icon.fa.fa-money.fa-xrp - | XRP - .menu_item(l10n) Featured gateways a(href="#/brl", ng-class="{active: $route.current.tabName == 'brl'}", class="currency-brl", l10n) i.icon.fa.fa-money.fa-brl | BRL @@ -27,7 +22,4 @@ | USD a(href="#/gold", ng-class="{active: $route.current.tabName == 'gold'}", class="currency-xau", l10n) i.icon.fa.fa-money.fa-xau - | XAU - .menu_item(l10n) Add any gateway - a(href="#/trust", ng-class="{active: $route.current.tabName == 'trust'}", l10n) Gateways -a(href="https://ripple.com/knowledge_center/gateway-information", target="_blank", l10n) Learn more about gateways + | XAU \ No newline at end of file diff --git a/src/templates/tabs/trust.jade b/src/templates/tabs/trust.jade index 03fab6098..9d8d12bd3 100644 --- a/src/templates/tabs/trust.jade +++ b/src/templates/tabs/trust.jade @@ -56,9 +56,6 @@ section.col-xs-12.content(ng-controller="TrustCtrl") | to add a new trust line. a(href="https://ripple.com/wiki/Reserves", target="_blank") More information .row(ng-show='connected') - - .col-sm-3 - include ../tabs/fund/menu .col-sm-9.trust-menu .row.row-padding-small.head(ng-hide='true') .col-sm-5(l10n) Name / Address diff --git a/src/templates/tabs/xrp.jade b/src/templates/tabs/xrp.jade index f7693bada..4015b1aa5 100644 --- a/src/templates/tabs/xrp.jade +++ b/src/templates/tabs/xrp.jade @@ -21,15 +21,8 @@ section.col-xs-12.content(ng-controller='XrpCtrl') .col-sm-9.list .fundXrp(ng-show="fundPage == 'xrp'") div - .nameLine(l10n) Ripple name: - span.name(ng-show="userCredentials.username") ~{{userCredentials.username}} - span(ng-hide="userCredentials.username", l10n) loading... - .address - a(href="", ng-click="showRippleAddress=true" - ng-hide="showRippleAddress", l10n) Show address - div(ng-show="showRippleAddress", ng-bind="address") - .description(l10n) Ripple names are a new feature on Ripple! Use your - | Ripple name (~{{userCredentials.username}}) to receive money. - | You can still use your full Ripple address, and while we are - | working to transition to Ripple names, some gateways may still - | ask for your full address. \ No newline at end of file + .nameLine(l10n) Featured Gateways + .description(l10n) You can fund your account through gateways, which are entry and exit points off the Ripple network. + | Gateways will accept deposits from you and then issue you balances on the Ripple network in return. + | In order to hold a balance from a gateway, you must first add or trust the gateway. + a(href="https://ripple.com/knowledge_center/gateway-information/") Learn more about gateways. \ No newline at end of file From d7166b917117ef5f5f7668b9e01c98f6cd9875ad Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Fri, 24 Apr 2015 00:56:29 +0300 Subject: [PATCH 229/321] [FIX] My orders: do not reload orderbook(RT-3364) do not reload orderbook when starting editing order if orders pair match current book's pair --- src/js/tabs/trade.controller.js | 47 ++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 12 deletions(-) diff --git a/src/js/tabs/trade.controller.js b/src/js/tabs/trade.controller.js index a3f48751f..c3aba0cd2 100644 --- a/src/js/tabs/trade.controller.js +++ b/src/js/tabs/trade.controller.js @@ -185,11 +185,13 @@ TradeTab.prototype.angular = function(module) // Ensure that the orderbook matches the currency pair of the order being edited, for the user // to reference and to ensure that the Fat Finger check will compare with the correct price. - $scope.editOrder.orderbookReady = false; - if ($scope.goto_order_currency.bind(this)()) { - // Reset Buy and Sell widgets as the currency pair has changed so the price & qty will not be relevant - $scope.reset_widget('buy', true); - $scope.reset_widget('sell', true); + if (getOrderCurrency(this.entry) !== $scope.order.currency_pair) { + $scope.editOrder.orderbookReady = false; + if ($scope.goto_order_currency.bind(this)()) { + // Reset Buy and Sell widgets as the currency pair has changed so the price & qty will not be relevant + $scope.reset_widget('buy', true); + $scope.reset_widget('sell', true); + } } $scope.editOrder.ccyPair = $scope.order.currency_pair; @@ -446,11 +448,33 @@ TradeTab.prototype.angular = function(module) } }; + + /** + * Returns orders currency pair, so we can compare it with current pair. + */ + function getOrderCurrency(entry) { + if (!entry) return ''; + var first_currency = entry.first.currency().to_json(); + var first_issuer = entry.first.issuer().to_json(); + var second_currency = entry.second.currency().to_json(); + var second_issuer = entry.second.issuer().to_json(); + + var first = first_currency === 'XRP' + ? 'XRP' + : first_currency + '.' + first_issuer; + + var second = second_currency === 'XRP' + ? 'XRP' + : second_currency + '.' + second_issuer; + + var currency_pair = first + '/' + second; + return currency_pair; + } + /** * Happens when user clicks the currency in 'My Orders'. */ - $scope.goto_order_currency = function() - { + $scope.goto_order_currency = function() { if (!this.entry) return; var entry = this.entry; var order = $scope.order; @@ -460,19 +484,19 @@ TradeTab.prototype.angular = function(module) order.second_currency = this.entry.second.currency().to_json(); order.second_issuer = this.entry.second.issuer().to_json(); - var first = order.first_currency == 'XRP' + var first = order.first_currency === 'XRP' ? 'XRP' : order.first_currency + '.' + order.first_issuer; - var second = order.second_currency == 'XRP' + var second = order.second_currency === 'XRP' ? 'XRP' : order.second_currency + '.' + order.second_issuer; order.currency_pair = first + '/' + second; var changedPair = updateSettings(); - //updateMRU(); - if(changedPair) { + // updateMRU(); + if (changedPair) { $scope.load_orderbook = true; $scope.reset_widget('buy', true); $scope.reset_widget('sell', true); @@ -480,7 +504,6 @@ TradeTab.prototype.angular = function(module) return changedPair; }; - $scope.view_orders_history = function() { $location.url('/history?f=orders'); From fed7c23f0276d3c6e9f03602605f1307cb6497ae Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Fri, 24 Apr 2015 05:23:27 +0300 Subject: [PATCH 230/321] [FIX] Contacts: show ripple names (RT-3125) Show Ripple name for contact instead of Ripple address --- src/js/directives/formatters.directive.js | 21 +++++++++++++++++++++ src/templates/tabs/contacts.jade | 5 +++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/js/directives/formatters.directive.js b/src/js/directives/formatters.directive.js index 77151d0a2..1828f2fef 100644 --- a/src/js/directives/formatters.directive.js +++ b/src/js/directives/formatters.directive.js @@ -123,6 +123,27 @@ module.directive('rpPrettyIdentity', [function () { }; }]); +module.directive('rpRippleName', ['rpId', function(id) { + return { + restrict: 'EA', + scope: { + address: '=rpRippleName' + }, + template: '{{name || address}}', + compile: function (element, attr, linker) { + return function (scope, element, attr) { + function update() { + id.resolveName(scope.address, { tilde: true }).then(function(name) { + scope.name = name; + }); + } + scope.$watch('address', update); + update(); + }; + } + }; +}]); + module.directive('rpBindColorAmount', function () { return { restrict: 'A', diff --git a/src/templates/tabs/contacts.jade b/src/templates/tabs/contacts.jade index b5019f665..dcf9133f4 100644 --- a/src/templates/tabs/contacts.jade +++ b/src/templates/tabs/contacts.jade @@ -102,8 +102,9 @@ section.col-xs-12.content(ng-controller="ContactsCtrl") .col-xs-3.col-md-3.col-sm-3(ng-hide='editing') span.name(ng-hide='editing', ng-bind="entry.name") .col-xs-12.col-sm-6.col-md-6(ng-hide='editing') - div - b.hidden-xs {{entry.address | rpaddressorigin}}: {{entry.address}} + div.hidden-xs + b {{entry.address | rpaddressorigin}}: + b(rp-ripple-name="entry.address") ??? .col-xs-6.col-sm-3.col-md-3.text-right.pull-right(ng-hide='editing') .row .col-xs-4.col-md-4.col-sm-4(ng-hide='editing') From 94c177c7092ff98ece26ca514ae1aaa305d706f1 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Sat, 25 Apr 2015 00:00:57 +0300 Subject: [PATCH 231/321] [FIX]Contacts: use standard notification(RT-2915) For creating/deleting/updating contacts use standard notifications mechanism (that notifications dissapear after timeout) --- src/js/tabs/contacts.controller.js | 9 +++------ src/templates/tabs/contacts.jade | 12 ++++++++---- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/js/tabs/contacts.controller.js b/src/js/tabs/contacts.controller.js index 289815b76..2325ef13d 100644 --- a/src/js/tabs/contacts.controller.js +++ b/src/js/tabs/contacts.controller.js @@ -25,8 +25,6 @@ ContactsTab.prototype.angular = function (module) { reverse: false }; - // Initialize the notification object - $scope.success = {}; $scope.reset_form = function () { @@ -78,7 +76,7 @@ ContactsTab.prototype.angular = function (module) { $scope.reset_form(); // Notify the user - $scope.success.createContact = true; + $scope.load_notification('createContactSuccess'); }; }]); @@ -133,7 +131,7 @@ ContactsTab.prototype.angular = function (module) { $scope.editing = false; // Notify the user - $scope.success.updateContact = true; + $scope.load_notification('updateContactSuccess'); } }; @@ -152,8 +150,7 @@ ContactsTab.prototype.angular = function (module) { 'unset', ''); // Notify the user - $scope.success.removeContact = true; - + $scope.load_notification('removeContactSuccess'); } }; diff --git a/src/templates/tabs/contacts.jade b/src/templates/tabs/contacts.jade index b5019f665..3c4c1417c 100644 --- a/src/templates/tabs/contacts.jade +++ b/src/templates/tabs/contacts.jade @@ -9,10 +9,14 @@ section.col-xs-12.content(ng-controller="ContactsCtrl") include banner/rtjapanrippling div(ng-hide='debug') .row - .col-sm-12.notification-wrapper - .alert.alert-success(ng-show="success.createContact", l10n) A new contact has been successfully added. - .alert.alert-success(ng-show="success.updateContact", l10n) Your contact has been successfully updated. - .alert.alert-success(ng-show="success.removeContact", l10n) A contact has been successfully removed. + group.col-sm-12.notification-wrapper(ng-show='notif !== "clear"') + group(ng-switch="notif") + group.result-success(ng-switch-when="createContactSuccess") + h2.tx-status(l10n) A new contact has been successfully added. + group.result-success(ng-switch-when="updateContactSuccess") + h2.tx-status(l10n) Your contact has been successfully updated. + group.result-success(ng-switch-when="removeContactSuccess") + h2.tx-status(l10n) A contact has been successfully removed. form.row-padding-small .row.form-group .col-xs-12.col-sm-8.col-md-6 From db0eaa2603b90e6bf553694b2a9989c2d9602d87 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Mon, 27 Apr 2015 19:04:51 +0300 Subject: [PATCH 232/321] [FIX] Add spacing in cancel order modal (RT-3362) --- src/templates/tabs/trade.jade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/templates/tabs/trade.jade b/src/templates/tabs/trade.jade index 08aa803cd..24752e464 100644 --- a/src/templates/tabs/trade.jade +++ b/src/templates/tabs/trade.jade @@ -507,8 +507,8 @@ section.col-xs-12.content(ng-controller="TradeCtrl") .modal-body .modal-prompt(l10n) div(l10n-inc) Please confirm that you wish to cancel order #{{entry.seq}} - .modal-order(l10n) - div + .modal-order + div(rp-span-spacing) span.modal-order-type {{entry.type}}: span {{entry.first | rpamount:{hard_precision: true, precision: 6, tiny_precision: 6} }} span {{entry.first | rpcurrency}} From 3901e0052c1f39ee6237b791c51be804c0d1279e Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Mon, 27 Apr 2015 20:56:23 +0300 Subject: [PATCH 233/321] [FIX] Send: alert about min btc size (RT-3360) When sending to a BTC address, show text to indicate that minimum transaction size is .001 BTC --- src/js/tabs/send.controller.js | 3 +++ src/templates/tabs/send.jade | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/src/js/tabs/send.controller.js b/src/js/tabs/send.controller.js index d951d374d..cb2769862 100644 --- a/src/js/tabs/send.controller.js +++ b/src/js/tabs/send.controller.js @@ -387,6 +387,7 @@ SendTab.prototype.angular = function (module) // Reset constraints send.currency_choices = $scope.currencies_all; send.currency_force = false; + send.currencyIsBTC = false; send.currency_choices_constraints = {}; @@ -485,11 +486,13 @@ SendTab.prototype.angular = function (module) if (currencies.length === 1) { send.currency = send.currency_force = currencies[0]; + send.currencyIsBTC = _.startsWith(send.currency_force, 'BTC'); } else if (currencies.length === 0) { send.path_status = 'error-no-currency'; send.currency = ''; } else { send.currency_force = false; + send.currencyIsBTC = false; if (currencies.indexOf(send.currency) === -1) { send.currency = currencies[0]; diff --git a/src/templates/tabs/send.jade b/src/templates/tabs/send.jade index a1c8605bb..60ad913f6 100644 --- a/src/templates/tabs/send.jade +++ b/src/templates/tabs/send.jade @@ -155,6 +155,11 @@ section.col-xs-12.content(ng-controller='SendCtrl') rp-amount-currency='{{send.currency}}' rp-max-digits) span.input-group-addon(ng-bind="send.currency_force") + .row(ng-if="send.currencyIsBTC") + .col-xs-12.col-sm-6.col-md-6 + .alert.alert-warning(l10n) + | The minimum BTC transaction size is .001 BTC. + a(href="https://b2r.uservoice.com/knowledgebase/articles/393152-is-there-a-minimum-transaction-size", target="_blank", l10n-inc) More info .errorGroup(ng-messages='sendForm.send_amount_currency.$error') .error(ng-message='rpRestrictCurrencies', l10n) {{send.recipient | rpcontactname}} can't receive this currency. .errorGroup(ng-messages='sendForm.send_amount.$dirty && sendForm.send_amount.$error') From 2f44d1b2ef3e92157ce5f99eafd7f6887eda368c Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Mon, 27 Apr 2015 22:11:52 +0300 Subject: [PATCH 234/321] [FIX] Trust: fix e-notation in edit (RT-3250) Fix for Chrome showing very low trust limits in edit field in e-notation. --- src/js/tabs/trust.controller.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/js/tabs/trust.controller.js b/src/js/tabs/trust.controller.js index c9f9270f0..af594959d 100644 --- a/src/js/tabs/trust.controller.js +++ b/src/js/tabs/trust.controller.js @@ -389,7 +389,8 @@ TrustTab.prototype.angular = function (module) $scope.editing = true; $scope.trust = {}; - $scope.trust.limit = Number($scope.component.limit.to_json().value); + // edit as string because Chrome shows tiny numbers in e-notation + $scope.trust.limit = String($scope.component.limit.to_json().value); $scope.trust.rippling = !$scope.component.no_ripple; $scope.trust.limit_peer = Number($scope.component.limit_peer.to_json().value); $scope.trust.balance = String($scope.component.balance.to_json().value); From 5fd19d176a12688cd590debeb698c4563f80ab5a Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Mon, 27 Apr 2015 23:31:04 +0300 Subject: [PATCH 235/321] [FIX] Save last trade page (RT-3259) Save last trade page user went to (Simple or Advanced) to user blob. --- src/js/services/id.service.js | 2 ++ src/js/tabs/exchange.controller.js | 13 +++++++++++++ src/js/tabs/trade.controller.js | 20 ++++++++++++++++++-- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/src/js/services/id.service.js b/src/js/services/id.service.js index efe94d7c4..b680a62be 100644 --- a/src/js/services/id.service.js +++ b/src/js/services/id.service.js @@ -148,6 +148,8 @@ module.factory('rpId', ['$rootScope', '$location', '$route', '$routeParams', '$t $scope.$on('$blobUpdate', function() { if (!settings.blobIsValid($scope.userBlob)) return; + $scope.ripple_exchange_selection_trade = settings.getSetting($scope.userBlob, 'rippleExchangeSelectionTrade', false); + var d = $scope.userBlob.data; Options.advanced_feature_switch = settings.getSetting($scope.userBlob, 'trust.advancedMode', false); Options.historyApi = settings.getSetting($scope.userBlob, 'historyApi', Options.historyApi).replace(/[\/]*$/, ''); diff --git a/src/js/tabs/exchange.controller.js b/src/js/tabs/exchange.controller.js index cc496afbb..5ea47b5c0 100644 --- a/src/js/tabs/exchange.controller.js +++ b/src/js/tabs/exchange.controller.js @@ -1,5 +1,6 @@ var util = require('util'), webutil = require('../util/web'), + settings = require('../util/settings'), Tab = require('../client/tab').Tab, Amount = ripple.Amount, Base = ripple.Base, @@ -27,6 +28,18 @@ ExchangeTab.prototype.angular = function (module) var timer; var pf = null; + if (settings.blobIsValid($scope.userBlob)) { + if (settings.getSetting($scope.userBlob, 'rippleExchangeSelectionTrade', false)) { + $scope.userBlob.set('/clients/rippletradecom/rippleExchangeSelectionTrade', false); + } + } else { + var removeListener = $scope.$on('$blobUpdate', function() { + if (settings.getSetting($scope.userBlob, 'rippleExchangeSelectionTrade', false)) { + $scope.userBlob.set('/clients/rippletradecom/rippleExchangeSelectionTrade', false); + } + removeListener(); + }); + } // Remember user preference on Convert vs. Trade $rootScope.ripple_exchange_selection_trade = false; diff --git a/src/js/tabs/trade.controller.js b/src/js/tabs/trade.controller.js index a3f48751f..ed394652a 100644 --- a/src/js/tabs/trade.controller.js +++ b/src/js/tabs/trade.controller.js @@ -55,6 +55,24 @@ TradeTab.prototype.angular = function(module) reverse: false }; + function onBlobIsValid() { + $scope.pairs_query = settings.getSetting($scope.userBlob, 'trade_currency_pairs'); + // Remember user preference on Convert vs. Trade + if (!settings.getSetting($scope.userBlob, 'rippleExchangeSelectionTrade', false)) { + $scope.userBlob.set('/clients/rippletradecom/rippleExchangeSelectionTrade', true); + } + } + + if (settings.blobIsValid($scope.userBlob)) { + onBlobIsValid(); + } else { + var removeListener = $scope.$on('$blobUpdate', function() { + if (!settings.blobIsValid($scope.userBlob)) return; + onBlobIsValid(); + removeListener(); + }); + } + $scope.sortOptions.sortFieldName = $scope.ordersSortFieldChoicesKeyed[$scope.sortOptions.sortField]; $scope.$watch('sortOptions.sortFieldName', function () { @@ -70,8 +88,6 @@ TradeTab.prototype.angular = function(module) // Remember user preference on Convert vs. Trade $rootScope.ripple_exchange_selection_trade = true; - $scope.pairs_query = settings.getSetting($scope.userBlob, 'trade_currency_pairs'); - $scope.currencies_all = require('../data/currencies'); $scope.currencies = []; From a832ee3f177993d16a0a2d93674a0d725da4ba2c Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 28 Apr 2015 02:57:07 +0300 Subject: [PATCH 236/321] [FIX] Rename some settings tabs (RT-3381) 1) Comment out the notifications tab for now (we don't have notifications live yet) 2) Rename "Advanced" to "Network and servers" 3) Rename Gateways to "Gateways and trust lines" --- src/templates/tabs/settings/navbar.jade | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/templates/tabs/settings/navbar.jade b/src/templates/tabs/settings/navbar.jade index cf2e3e4ad..a02412930 100644 --- a/src/templates/tabs/settings/navbar.jade +++ b/src/templates/tabs/settings/navbar.jade @@ -1,6 +1,6 @@ .settingPage a(href="#/security", ng-class="{active: $route.current.tabName == 'security'}", l10n) Security a(href="#/settingstrade", ng-class="{active: $route.current.tabName == 'settingstrade'}", l10n) Trade - a(href="#/advanced", ng-class="{active: $route.current.tabName == 'advanced'}", l10n) Advanced - a(href="#/settingsgateway", ng-class="{active: $route.current.tabName == 'settingsgateway'}", l10n) Gateways - a(href="#/notifications", ng-class="{active: $route.current.tabName == 'notifications'}", l10n) Notifications + a(href="#/advanced", ng-class="{active: $route.current.tabName == 'advanced'}", l10n) Network and servers + a(href="#/settingsgateway", ng-class="{active: $route.current.tabName == 'settingsgateway'}", l10n) Gateways and trust lines + //- a(href="#/notifications", ng-class="{active: $route.current.tabName == 'notifications'}", l10n) Notifications From b06eec2d5ff1434b4391e38cb801e6541d745848 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 28 Apr 2015 02:16:41 +0300 Subject: [PATCH 237/321] [FIX] Option to edit the send_max (RT-3205) Advanced settings: option to edit the send_max of a Send and Simple Trade --- src/js/tabs/advanced.controller.js | 34 ++++++++++++++++++++--- src/js/tabs/exchange.controller.js | 6 +++- src/js/tabs/send.controller.js | 6 +++- src/templates/tabs/advanced.jade | 44 ++++++++++++++++++++++++++++++ src/templates/tabs/exchange.jade | 2 +- src/templates/tabs/send.jade | 2 +- 6 files changed, 86 insertions(+), 8 deletions(-) diff --git a/src/js/tabs/advanced.controller.js b/src/js/tabs/advanced.controller.js index 5f43ba2ca..8d711a937 100644 --- a/src/js/tabs/advanced.controller.js +++ b/src/js/tabs/advanced.controller.js @@ -31,7 +31,6 @@ AdvancedTab.prototype.angular = function(module) $scope.options = Options; $scope.optionsBackup = $.extend(true, {}, Options); - $scope.passwordProtection = !settings.getSetting($scope.userBlob, 'persistUnlock', false); $scope.editConfirmation = { send: false, exchange: false, @@ -40,9 +39,29 @@ AdvancedTab.prototype.angular = function(module) $scope.edit = { blobvault: false, maxNetworkFee: false, - historyApi: false + historyApi: false, + sendMax: false, + exchangeMax: false }; + + function readSettings() { + $scope.passwordProtection = !settings.getSetting($scope.userBlob, 'persistUnlock', false); + $scope.sendMaxDeviation = settings.getSetting($scope.userBlob, 'sendMaxDeviation', 0.1); + $scope.exchangeMaxDeviation = settings.getSetting($scope.userBlob, 'exchangeMaxDeviation', 0.1); + } + + if (settings.blobIsValid($scope.userBlob)) { + readSettings(); + } else { + var removeListener = $scope.$on('$blobUpdate', function() { + if (!settings.blobIsValid($scope.userBlob)) return; + readSettings(); + removeListener(); + }); + } + $scope.max_tx_network_fee_human = ripple.Amount.from_json($scope.options.max_tx_network_fee).to_human(); + $scope.confirmationChanged = { send: false, exchange: false, @@ -54,6 +73,10 @@ AdvancedTab.prototype.angular = function(module) $scope.save = function(type) { switch (type) { + case 'sendMax': + $scope.userBlob.set('/clients/rippletradecom/sendMaxDeviation', $scope.sendMaxDeviation); + case 'exchangeMax': + $scope.userBlob.set('/clients/rippletradecom/exchangeMaxDeviation', $scope.exchangeMaxDeviation); case 'maxNetworkFee': $scope.options.max_tx_network_fee = ripple.Amount.from_human($scope.max_tx_network_fee_human).to_json(); $scope.userBlob.set('/clients/rippletradecom/maxNetworkFee', $scope.options.max_tx_network_fee); @@ -111,8 +134,11 @@ AdvancedTab.prototype.angular = function(module) if (type === 'maxNetworkFee') { $scope.options.max_tx_network_fee = $scope.optionsBackup.max_tx_network_fee; $scope.max_tx_network_fee_human = ripple.Amount.from_json($scope.options.max_tx_network_fee).to_human(); - } - else { + } if (type === 'sendMax') { + $scope.sendMaxDeviation = settings.getSetting($scope.userBlob, 'sendMaxDeviation', 0.1); + } if (type === 'exchangeMax') { + $scope.exchangeMaxDeviation = settings.getSetting($scope.userBlob, 'exchangeMaxDeviation', 0.1); + } else { $scope.options[type] = $scope.optionsBackup[type]; } }; diff --git a/src/js/tabs/exchange.controller.js b/src/js/tabs/exchange.controller.js index cc496afbb..91a2d8658 100644 --- a/src/js/tabs/exchange.controller.js +++ b/src/js/tabs/exchange.controller.js @@ -1,5 +1,6 @@ var util = require('util'), webutil = require('../util/web'), + settings = require('../util/settings'), Tab = require('../client/tab').Tab, Amount = ripple.Amount, Base = ripple.Base, @@ -191,7 +192,9 @@ ExchangeTab.prototype.angular = function (module) var alt = {}; alt.amount = Amount.from_json(raw.source_amount); alt.rate = alt.amount.ratio_human(amount); - alt.send_max = alt.amount.scale('1.001'); + var exchangeMaxDeviation = settings.getSetting($scope.userBlob, 'exchangeMaxDeviation', 0.1); + alt.send_max = alt.amount.scale(1 + exchangeMaxDeviation / 100); + alt.paths = raw.paths_computed ? raw.paths_computed : raw.paths_canonical; @@ -302,6 +305,7 @@ ExchangeTab.prototype.angular = function (module) if (Options.confirmation.exchange) { $scope.mode = 'confirm'; + $scope.exchangeMaxDeviation = settings.getSetting($scope.userBlob, 'exchangeMaxDeviation', 1); } else { $scope.exchange_confirmed(); } diff --git a/src/js/tabs/send.controller.js b/src/js/tabs/send.controller.js index d951d374d..c6c42aea2 100644 --- a/src/js/tabs/send.controller.js +++ b/src/js/tabs/send.controller.js @@ -1,5 +1,6 @@ var util = require('util'), webutil = require('../util/web'), + settings = require('../util/settings'), Tab = require('../client/tab').Tab, Amount = ripple.Amount, Currency = ripple.Currency, @@ -797,7 +798,8 @@ SendTab.prototype.angular = function (module) var slightlyInFuture = new Date(+new Date() + 5 * 60000); alt.rate = alt.amount.ratio_human(amount, {reference_date: slightlyInFuture}); - alt.send_max = alt.amount.scale('1.001'); + var sendMaxDeviation = settings.getSetting($scope.userBlob, 'sendMaxDeviation', 0.1); + alt.send_max = alt.amount.scale(1 + sendMaxDeviation / 100); alt.paths = raw.paths_computed || raw.paths_canonical; // Selected currency should be the first option @@ -964,6 +966,8 @@ SendTab.prototype.angular = function (module) if (Options.confirmation.send) { $scope.mode = 'confirm'; + $scope.sendMaxDeviation = settings.getSetting($scope.userBlob, 'sendMaxDeviation', 0.1); + cleanPasswordUpdater(); // needed for password managers that don't raise change event on input field diff --git a/src/templates/tabs/advanced.jade b/src/templates/tabs/advanced.jade index 062cd4228..09fe4ad46 100644 --- a/src/templates/tabs/advanced.jade +++ b/src/templates/tabs/advanced.jade @@ -98,6 +98,50 @@ section.col-xs-12.content(ng-controller="AdvancedCtrl") button.btn.btn-block.btn-success.btn-xs.submit#saveMaxNetworkFee(type='submit', ng-disabled='maxnetworkfeeForm.$invalid', l10n) Save .col-xs-3.col-sm-3.col-md-1.text-center#cancel a.btn.btn-cancel.btn-block(href="", ng-click='cancelEdit("maxNetworkFee")', l10n) cancel + form(name="sendMaxForm", ng-submit='save("sendMax")') + .descriptor(l10n) Send: max deviation from specified amount + .row.advanced-form-row(ng-hide="edit.sendMax") + .col-xs-9.col-sm-8.col-md-6 + .description {{sendMaxDeviation}} % + .col-xs-1 + .col-xs-3.col-sm-3.col-md-2 + a.btn.btn-block.btn-cancel(href="", ng-click="edit.sendMax = true", l10n) edit + .row.row-padding-small.field-edit-row(ng-show="edit.sendMax") + .col-xs-12.col-sm-9.col-md-6.input-group + input.form-control.maxNetworkFee#sendMaxDeviation( + name='sendMax', type='text' + ng-model='sendMaxDeviation' + required + rp-amount + rp-amount-positive + ) + span.input-group-addon % + .col-xs-6.col-sm-6.col-md-3 + button.btn.btn-block.btn-success.btn-xs.submit#sendMaxDeviationSubmit(type='submit', ng-disabled='sendMaxForm.$invalid', l10n) Save + .col-xs-3.col-sm-3.col-md-1.text-center#sendMaxDeviationCancel + a.btn.btn-cancel.btn-block(href="", ng-click='cancelEdit("sendMax")', l10n) cancel + form(name="exchangeMaxForm", ng-submit='save("exchangeMax")') + .descriptor(l10n) Simple Trade: max deviation from specified amount + .row.advanced-form-row(ng-hide="edit.exchangeMax") + .col-xs-9.col-sm-8.col-md-6 + .description {{exchangeMaxDeviation}} % + .col-xs-1 + .col-xs-3.col-sm-3.col-md-2 + a.btn.btn-block.btn-cancel(href="", ng-click="edit.exchangeMax = true", l10n) edit + .row.row-padding-small.field-edit-row(ng-show="edit.exchangeMax") + .col-xs-12.col-sm-9.col-md-6.input-group + input.form-control.maxNetworkFee#exchangeMaxDeviation( + name='exchangeMax', type='text' + ng-model='exchangeMaxDeviation' + required + rp-amount + rp-amount-positive + ) + span.input-group-addon % + .col-xs-6.col-sm-6.col-md-3 + button.btn.btn-block.btn-success.btn-xs.submit#exchangeMaxDeviationSubmit(type='submit', ng-disabled='exchangeMaxForm.$invalid', l10n) Save + .col-xs-3.col-sm-3.col-md-1.text-center#exchangeMaxDeviationCancel + a.btn.btn-cancel.btn-block(href="", ng-click='cancelEdit("exchangeMax")', l10n) cancel h4#confirmationSettings(l10n) Confirmation Page settings +confirmation('send', 'sendConfirmationForm', 'Send confirmation settings', 'If you hide your send confirmation page, you will not see a confirmation page when sending money. You might pay up to .1% more than you originally specified.', 'sendConfirmationBox') diff --git a/src/templates/tabs/exchange.jade b/src/templates/tabs/exchange.jade index a6e89d433..d0c9295ce 100644 --- a/src/templates/tabs/exchange.jade +++ b/src/templates/tabs/exchange.jade @@ -131,7 +131,7 @@ section.col-xs-12.content(ng-controller="ExchangeCtrl") p.amount_feedback span.value {{exchange.alt.amount | rpamount}} span.currency {{exchange.alt.amount | rpcurrency}} - span + .1% + span + {{exchangeMaxDeviation}}% p span.literal(l10n-inc) Exchange rate: span.value {{exchange.alt.rate | rpamount:{rel_precision: 4} }} diff --git a/src/templates/tabs/send.jade b/src/templates/tabs/send.jade index a1c8605bb..97675a0b3 100644 --- a/src/templates/tabs/send.jade +++ b/src/templates/tabs/send.jade @@ -275,7 +275,7 @@ section.col-xs-12.content(ng-controller='SendCtrl') p.sendmax_feedback span.value {{send.alt.amount | rpamount}} span.currency {{send.alt.amount | rpcurrency}} - span + .1% + span + {{sendMaxDeviation}}% p(ng-hide="!send.alt") span.literal(l10n) Exchange rate: span.value {{send.alt.rate | rpamount:{rel_precision: 4} }} From 6e5d9eace90d8f8e043b068e9e74e4cc2b5eab25 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 19 Mar 2015 00:58:57 +0200 Subject: [PATCH 238/321] [FIX] Trust: fix not to trust unfunded (RT-2957) Numeric code for error was changed in rippled. Instead numeric, check error's string tag - hopefully it will not change in future. change validator to be asynchronous --- src/js/directives/accountExists.directive.js | 134 +++++++++---------- src/templates/tabs/trust.jade | 6 +- 2 files changed, 66 insertions(+), 74 deletions(-) diff --git a/src/js/directives/accountExists.directive.js b/src/js/directives/accountExists.directive.js index 924e65034..886c5b788 100644 --- a/src/js/directives/accountExists.directive.js +++ b/src/js/directives/accountExists.directive.js @@ -16,96 +16,90 @@ */ angular.module('validators').directive('rpAccountExists', rpAccountExists); - rpAccountExists.$inject = ['$timeout', '$parse', 'rpNetwork']; + rpAccountExists.$inject = ['$timeout', '$parse', 'rpNetwork', '$q']; - function rpAccountExists($timeout, $parse, $network) { + function rpAccountExists($timeout, $parse, $network, $q) { return { restrict: 'A', require: '?ngModel', link: function (scope, elm, attr, ctrl) { if (!ctrl) return; - var rpAccountExistsModelGetter; + var currentCheckTimeout = null, + currentDefer = null; - function showLoading(doShow) { - if (attr.rpAccountExistsLoading) { - var getterL = $parse(attr.rpAccountExistsLoading); - getterL.assign(scope, doShow); - } - } + ctrl.$asyncValidators.rpAccountExists = function(value) { - var validator = function(value) { - var valToCheck = rpAccountExistsModelGetter ? rpAccountExistsModelGetter(scope) : value; + var strippedValue = webutil.stripRippleAddress(value), + address = ripple.UInt160.from_json(strippedValue); - var strippedValue = webutil.stripRippleAddress(valToCheck); - var address = ripple.UInt160.from_json(strippedValue); + if (currentDefer) { + // another check is pending, but it is not needed + currentDefer.resolve(true); + currentDefer = null; + $timeout.cancel(currentCheckTimeout); + currentCheckTimeout = null; + } - function checkCurrentValue() { - var currentValue = (rpAccountExistsModelGetter) ? rpAccountExistsModelGetter(scope) : ctrl.$viewValue; - var currentAddress = ripple.UInt160.from_json(webutil.stripRippleAddress(currentValue)); - if (strippedValue != currentValue && !currentAddress.is_valid()) { - scope.$apply(function() { - ctrl.$setValidity('rpAccountExists', true); - showLoading(false); - }); - } - return strippedValue != currentValue; + function checkFunded(addressToCheckPromise) { + return addressToCheckPromise.then(function(addressToCheck) { + if (addressToCheck === false) { + // skip check + return $q.when(true); + } + var address2 = ripple.UInt160.from_json(addressToCheck); + if (address2.is_valid()) { + var defer = $q.defer(); + + $network.remote.requestAccountInfo({account: addressToCheck}) + .on('success', function(m) { + defer.resolve(true); + }) + .on('error', function(m) { + if (m && m.remote && m.remote.error === 'actNotFound') { + defer.reject(false); + } else { + console.log('There was an error', m); + defer.resolve(true); + } + }) + .request(); + return defer.promise; + } else { + return $q.when(true); + } + }); } if (address.is_valid()) { - ctrl.$setValidity('rpAccountExists', false); - showLoading(true); - - $network.remote.requestAccountInfo({account: strippedValue}) - .on('success', function(m) { - if (checkCurrentValue()) { - return; - } - scope.$apply(function() { - ctrl.$setValidity('rpAccountExists', true); - showLoading(false); - }); - }) - .on('error', function(m) { - if (checkCurrentValue()) { - return; + return checkFunded($q.when(value)); + } else if (scope.userBlob && webutil.getContact(scope.userBlob.data.contacts, strippedValue)) { + return checkFunded($q.when(webutil.getContact(scope.userBlob.data.contacts, strippedValue).address)); + } else if (webutil.isRippleName(value)) { + var defer = $q.defer(); + currentDefer = defer; + + currentCheckTimeout = $timeout(function() { + currentCheckTimeout = null; + currentDefer = null; + + rippleVaultClient.AuthInfo.get(Options.domain, value, function(err, info) { + if (info && info.exists && info.address) { + defer.resolve(info.address); + } else { + defer.resolve(false); } - scope.$apply(function() { - showLoading(false); - if (m && m.remote && m.remote.error_code === 15) { - ctrl.$setValidity('rpAccountExists', false); - } else { - console.log('There was an error', m); - ctrl.$setValidity('rpAccountExists', true); - } - }); - }) - .request(); - return value; + }); + }, 500); + + return checkFunded(defer.promise); } - ctrl.$setValidity('rpAccountExists', true); - return value; + return $q.when(true); }; - if (attr.rpAccountExistsModel) { - rpAccountExistsModelGetter = $parse(attr.rpAccountExistsModel); - var watcher = scope.$watch(attr.rpAccountExistsModel, function() { - var address = rpAccountExistsModelGetter(scope); - validator(address); - }); - - scope.$on('$destroy', function() { - // Remove watcher - watcher(); - }); - } - - ctrl.$formatters.push(validator); - ctrl.$parsers.unshift(validator); - attr.$observe('rpAccountExists', function() { - validator(ctrl.$viewValue); + ctrl.$validate(); }); } }; diff --git a/src/templates/tabs/trust.jade b/src/templates/tabs/trust.jade index 03fab6098..a3ed10677 100644 --- a/src/templates/tabs/trust.jade +++ b/src/templates/tabs/trust.jade @@ -79,8 +79,6 @@ section.col-xs-12.content(ng-controller="TrustCtrl") rp-combobox-value-as-ripple-name ng-model='counterparty_view' rp-account-exists - rp-account-exists-model="counterparty_address" - rp-account-exists-loading="counterparty_loading" rp-dest, rp-dest-address, rp-dest-contact, rp-not-me, rp-dest-email rp-dest-ripple-name, rp-dest-model="counterparty" rp-dest-loading="counterparty_loading" @@ -158,7 +156,7 @@ section.col-xs-12.content(ng-controller="TrustCtrl") .row .col-xs-8.col-sm-7.col-md-6 rp-popup(rp-popup-on-open="grant()") - a.btn.btn-block.btn-primary.submit(href="", rp-popup-link, ng-disabled='trustForm.$invalid || verifying', l10n) Save + a.btn.btn-block.btn-primary.submit(href="", rp-popup-link, ng-disabled='trustForm.$invalid || trustForm.$pending || verifying', l10n) Save div.connectModal(rp-popup-content) .modal-header .navbar-brand.hidden-sm.modal-logo#logo @@ -393,4 +391,4 @@ section.col-xs-12.content(ng-controller="TrustCtrl") button.btn.btn-block.btn-danger.btn-xs.submit(type="button", ng-click="delete_account()", ng-show="isIncoming()", disabled, l10n) Remove .col-xs-3 a.btn.btn-block.btn-cancel(href="", ng-click="cancel()" - ng-disabled="trust.loading", l10n) cancel \ No newline at end of file + ng-disabled="trust.loading", l10n) cancel From c2c4d265c099d50d4adbbb88cacf3065cbb19d6f Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 19 Mar 2015 01:47:08 +0200 Subject: [PATCH 239/321] [FIX] optimize rpDest validator do not make calls to server at every validation request (delay requests to server, and cancel if new validation request arrived) --- src/js/directives/validators.directive.js | 69 ++++++++++++----------- 1 file changed, 37 insertions(+), 32 deletions(-) diff --git a/src/js/directives/validators.directive.js b/src/js/directives/validators.directive.js index 734b54063..eceae77f0 100644 --- a/src/js/directives/validators.directive.js +++ b/src/js/directives/validators.directive.js @@ -110,37 +110,49 @@ module.directive('rpDest', ['$q', '$timeout', '$parse', 'rpFederation', function link: function (scope, elm, attr, ctrl) { if (!ctrl) return; - var getter; + var currentCheckTimeout = null, + currentDefer = null, + getter; + + function setDestModelValue(value) { + if (attr.rpDestModel) { + getter = $parse(attr.rpDestModel); + getter.assign(scope, value); + } + } + ctrl.$asyncValidators.rpDest = function(value) { var strippedValue = webutil.stripRippleAddress(value), address = ripple.UInt160.from_json(strippedValue); + if (currentDefer) { + // another check is pending, but it is not needed + currentDefer.resolve(true); + currentDefer = null; + $timeout.cancel(currentCheckTimeout); + currentCheckTimeout = null; + } + ctrl.rpDestType = null; if (attr.rpDestFederationModel) { getter = $parse(attr.rpDestFederationModel); - getter.assign(scope,null); + getter.assign(scope, null); } // client-side validation if (attr.rpDestAddress && address.is_valid()) { ctrl.rpDestType = "address"; - if (attr.rpDestModel) { - getter = $parse(attr.rpDestModel); - getter.assign(scope,value); - } + setDestModelValue(value); return $q.when(true); } if (attr.rpDestContact && scope.userBlob && - webutil.getContact(scope.userBlob.data.contacts,strippedValue)) { + webutil.getContact(scope.userBlob.data.contacts, strippedValue)) { ctrl.rpDestType = "contact"; - if (attr.rpDestModel) { - getter = $parse(attr.rpDestModel); - getter.assign(scope,webutil.getContact(scope.userBlob.data.contacts,strippedValue).address); - } + setDestModelValue(scope, webutil.getContact(scope.userBlob.data.contacts, strippedValue).address); return $q.when(true); } @@ -148,10 +160,7 @@ module.directive('rpDest', ['$q', '$timeout', '$parse', 'rpFederation', function if (attr.rpDestBitcoin && !isNaN(Base.decode_check([0, 5], strippedValue, 'bitcoin'))) { ctrl.rpDestType = "bitcoin"; - if (attr.rpDestModel) { - getter = $parse(attr.rpDestModel); - getter.assign(scope,value); - } + setDestModelValue(value); return $q.when(true); } @@ -165,42 +174,38 @@ module.directive('rpDest', ['$q', '$timeout', '$parse', 'rpFederation', function // Check if this request is still current, exit if not if (value != ctrl.$viewValue) return; - if (attr.rpDestModel) { - getter = $parse(attr.rpDestModel); - getter.assign(scope,value); - } + setDestModelValue(value); + if (attr.rpDestFederationModel) { getter = $parse(attr.rpDestFederationModel); - getter.assign(scope,result); + getter.assign(scope, result); } return true; }, function() { return false; }); } else { - if (attr.rpDestModel) { - getter = $parse(attr.rpDestModel); - getter.assign(scope,value); - } + setDestModelValue(value); return $q.when(true); } } if (((attr.rpDestRippleName && webutil.isRippleName(value)) || - (attr.rpDestRippleNameNoTilde && value && value[0] !== '~' && webutil.isRippleName('~'+value)))) { // TODO Don't do a client check in validators + (attr.rpDestRippleNameNoTilde && value && value[0] !== '~' && webutil.isRippleName('~' + value)))) { // TODO Don't do a client check in validators ctrl.rpDestType = "rippleName"; var defer = $q.defer(); - $timeout(function() { - rippleVaultClient.AuthInfo.get(Options.domain, value, function(err, info){ - scope.$apply(function(){ - if (attr.rpDestModel && info.exists) { - getter = $parse(attr.rpDestModel); - getter.assign(scope,info.address); - } + currentDefer = defer; + currentCheckTimeout = $timeout(function() { + currentCheckTimeout = null; + currentDefer = null; + + rippleVaultClient.AuthInfo.get(Options.domain, value, function(err, info) { + scope.$apply(function(){ if (info.exists) { + setDestModelValue(info.address); defer.resolve(info.exists); } else { defer.reject(); From 679480aa57d3ba8c5f1b5adac2c5208d788807d4 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 28 Apr 2015 05:26:58 +0300 Subject: [PATCH 240/321] [FIX] handle change to async validators (RT-3204) In forms that use rpAvailableName or rpDest check not only for $invalid, but for $pending too. On send tab better handle changes to recipient address when form invalidates. --- src/js/tabs/send.controller.js | 25 ++++++++++++++++++++----- src/templates/tabs/account/public.jade | 2 +- src/templates/tabs/contacts.jade | 2 +- src/templates/tabs/debug.jade | 2 +- src/templates/tabs/send.jade | 4 ++-- src/templates/tabs/trade.jade | 2 +- 6 files changed, 26 insertions(+), 11 deletions(-) diff --git a/src/js/tabs/send.controller.js b/src/js/tabs/send.controller.js index cb2769862..a169e142d 100644 --- a/src/js/tabs/send.controller.js +++ b/src/js/tabs/send.controller.js @@ -31,6 +31,7 @@ SendTab.prototype.angular = function (module) passwordUpdater, passwordUpdaterDestr; + var pathUpdateTimeout; var timer; var xrpCurrency = Currency.from_json('XRP'); @@ -109,8 +110,24 @@ SendTab.prototype.angular = function (module) // When the send form is invalid, path finding won't trigger. So if the form // is changed by one of the update_* handlers and becomes valid during the // next digest, we need to manually trigger another update_amount. - $scope.$watch('sendForm.$valid', function () { - $scope.update_amount(); + $scope.$watch('sendForm.$valid', function(v) { + if (v) { + $scope.update_amount(); + } else { + $scope.send.last_recipient = null; + $scope.send.path_status = 'waiting'; + $scope.send.fund_status = 'none'; + + if ($scope.send.pathfind) { + $scope.send.pathfind.close(); + delete $scope.send.pathfind; + } + if (pathUpdateTimeout) { + $timeout.cancel(pathUpdateTimeout); + pathUpdateTimeout = null; + } + $scope.reset_paths(); + } }); // Reset everything that depends on the destination @@ -531,8 +548,6 @@ SendTab.prototype.angular = function (module) $scope.update_amount(); }; - var pathUpdateTimeout; - $scope.reset_amount_deps = function () { var send = $scope.send; send.sender_insufficient_xrp = false; @@ -719,7 +734,7 @@ SendTab.prototype.angular = function (module) send.alternatives = []; }; - $scope.update_paths = function () { + $scope.update_paths = function() { var send = $scope.send; var recipient = send.recipient_actual || send.recipient_address; var amount = send.amount_actual || send.amount_feedback; diff --git a/src/templates/tabs/account/public.jade b/src/templates/tabs/account/public.jade index e7ff95f43..0b924a1d6 100644 --- a/src/templates/tabs/account/public.jade +++ b/src/templates/tabs/account/public.jade @@ -54,7 +54,7 @@ h4(l10n) Account settings .row .col-xs-12.col-sm-6 button.btn.btn-success.btn-block(type="submit" - ng-disabled="renameForm.$invalid || loading") + ng-disabled="renameForm.$invalid || loading || renameForm.$pending") span(ng-hide="loading", l10n) Submit span(ng-show="loading", l10n) Loading... .col-xs-12.col-sm-6 diff --git a/src/templates/tabs/contacts.jade b/src/templates/tabs/contacts.jade index b5019f665..537b15c59 100644 --- a/src/templates/tabs/contacts.jade +++ b/src/templates/tabs/contacts.jade @@ -90,7 +90,7 @@ section.col-xs-12.content(ng-controller="ContactsCtrl") .error(ng-message='rpUnique', l10n) You already have a contact with the same Ripple name and/or the same Destination tag. .row .col-xs-8.col-sm-8.col-md-9.text-left - button.btn.btn-success.btn-block.submit.custom-btn(type='submit', ng-disabled='addForm.$invalid', l10n) Add contact + button.btn.btn-success.btn-block.submit.custom-btn(type='submit', ng-disabled='addForm.$invalid || addForm.$pending', l10n) Add contact .col-xs-4.col-sm-4.col-md-3.text-center button.btn.btn-default.btn-block.custom-btn.btn-cancel(type='button', ng-click='addform_visible = false', l10n) cancel diff --git a/src/templates/tabs/debug.jade b/src/templates/tabs/debug.jade index 1e8f0fdc0..b2b82515c 100644 --- a/src/templates/tabs/debug.jade +++ b/src/templates/tabs/debug.jade @@ -22,6 +22,6 @@ section.col-xs-12.content(ng-controller='DebugPretendCtrl') .error(ng-message='rpDest', l10n) Not a valid address. .row.row-padding-small.amount .col-xs-12.col-sm-9.col-md-6 - button.btn.btn-block.btn-success(type="submit", ng-disabled='debugPretendForm.$invalid', l10n) + button.btn.btn-block.btn-success(type="submit", ng-disabled='debugPretendForm.$invalid || debugPretendForm.$pending', l10n) | Turn on debug mode diff --git a/src/templates/tabs/send.jade b/src/templates/tabs/send.jade index 60ad913f6..bd3ef1b09 100644 --- a/src/templates/tabs/send.jade +++ b/src/templates/tabs/send.jade @@ -177,7 +177,7 @@ section.col-xs-12.content(ng-controller='SendCtrl') .row .col-xs-12.col-sm-6.col-md-4(ng-show="send.currency_code == 'XRP'") button#sendXrpButton.btn.btn-block.btn-success.submit(type='submit' - ng-disabled='sendForm.$invalid || send.self || send.insufficient || !send.recipient_resolved || account.max_spend.to_number() < send.amount * 1000000', l10n) + ng-disabled='sendForm.$invalid || sendForm.$pending || send.self || send.insufficient || !send.recipient_resolved || account.max_spend.to_number() < send.amount * 1000000', l10n) | Send XRP .remote //- Messages @@ -240,7 +240,7 @@ section.col-xs-12.content(ng-controller='SendCtrl') span.pair {{alt.amount | rpcurrency}}/{{send.currency_code}} | ) button.btn.btn-block.btn-success(type="submit" - ng-disabled='sendForm.$invalid', ng-click="send.alt = alt", l10n) + ng-disabled='sendForm.$invalid || sendForm.$pending', ng-click="send.alt = alt", l10n) | Send {{ alt.amount | rpcurrency }} span(ng-hide="alt.amount.is_native() || alt.amount.issuer().to_json() == account.Account") ( span.issuer( diff --git a/src/templates/tabs/trade.jade b/src/templates/tabs/trade.jade index 08aa803cd..e3637aeec 100644 --- a/src/templates/tabs/trade.jade +++ b/src/templates/tabs/trade.jade @@ -78,7 +78,7 @@ section.col-xs-12.content(ng-controller="TradeCtrl") .col-sm-4.col-lg-2.col-xs-6#cancel_button button.btn.btn-cancel.btn-block(type="button", ng-click="adding_pair = false", l10n) cancel .col-sm-4.col-lg-2.col-xs-6#add_button - button.btn.btn-success.btn-block.submit(type="submit", ng-disabled="gateway_change_form.$invalid", l10n) Add + button.btn.btn-success.btn-block.submit(type="submit", ng-disabled="gateway_change_form.$invalid || gateway_change_form.$pending", l10n) Add form.issuerSelector.first-issuer(name='first_issuer_form', ng-show='show_issuer_form == "first"') label(for='first_issuer', l10n) Base currency issuer ({{order.first_currency | rpcurrency}}) From 985b650f8f3a75503ac6f61bc67d98a3d47ed52a Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Tue, 28 Apr 2015 16:50:12 +0400 Subject: [PATCH 241/321] [TASK] Container size should not change for confirmation page (RT-3382) --- src/less/ripple/tabs/trade.less | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/less/ripple/tabs/trade.less b/src/less/ripple/tabs/trade.less index 278abde49..e15ce7d3e 100644 --- a/src/less/ripple/tabs/trade.less +++ b/src/less/ripple/tabs/trade.less @@ -157,6 +157,7 @@ padding: 15px; border: 1px solid darken(@bg, 10%); background: darken(@bg, 2%); + word-break: break-word; .head { margin: -15px -15px 15px -15px; @@ -594,6 +595,7 @@ margin: 0; border-collapse: separate; border-spacing: 15px 0px; + table-layout: fixed; .grid { margin-left: -30px; margin-right: -30px; From b5872c82770a4058656b30874038fd509eb28215 Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Tue, 28 Apr 2015 17:33:54 +0400 Subject: [PATCH 242/321] [TASK] Trade confirmation page: Order Value (max) field should show complete decimal accuracy (RT-3383) --- src/templates/tabs/trade.jade | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/templates/tabs/trade.jade b/src/templates/tabs/trade.jade index 08aa803cd..bcaa623cc 100644 --- a/src/templates/tabs/trade.jade +++ b/src/templates/tabs/trade.jade @@ -254,7 +254,7 @@ section.col-xs-12.content(ng-controller="TradeCtrl") label(l10n) Order Value (max) .input-group input.form-control(name='value', type='text' - ng-model='order[type].second', ng-change='calc_first(type)' + ng-model='order[type].price', ng-change='calc_first(type)' rp-autofill='$routeParams.type == type && $routeParams.max' rp-autofill-amount rp-amount @@ -337,7 +337,7 @@ section.col-xs-12.content(ng-controller="TradeCtrl") .dest_feedback label(l10n) Price of each div.each-price - span.value {{order[type].second_amount | rpamount: {abs_precision: 6} }} + span.value {{order[type].price}} sub span.currency {{order.currency_pair}} //- span.currency {{order[type].second_amount | rpcurrency}} / @@ -353,7 +353,7 @@ section.col-xs-12.content(ng-controller="TradeCtrl") .rate_feedback label(l10n) Order Value (max) div.max-value - span.rate {{order[type].price}} + span.rate {{order[type].price }} sub.pair {{order[type].second_amount | rpcurrency}} per {{order[type].first_amount | rpcurrency}} p.literal.confirm-text(l10n-inc) Are you sure? .row.row-padding-small From e6a07e251f0d1933b3bc941634954deb2ba29c7f Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Tue, 28 Apr 2015 19:18:20 +0400 Subject: [PATCH 243/321] [TASK] Add contact button after send has wrong background/border (RT-3366) --- src/less/ripple/tabs/send.less | 13 ++++++++++ src/templates/tabs/send.jade | 45 +++++++++++++++++----------------- 2 files changed, 36 insertions(+), 22 deletions(-) diff --git a/src/less/ripple/tabs/send.less b/src/less/ripple/tabs/send.less index 2f565526c..e02d186f7 100644 --- a/src/less/ripple/tabs/send.less +++ b/src/less/ripple/tabs/send.less @@ -56,6 +56,19 @@ margin-bottom: 20px; font-size: 16px; } + .save-address-form { + form { + input { + width: 100%; + } + .form-wrapper { + width: 300px; + @media (max-width: 767px) { + width: 100%; + } + } + } + } } .mode-confirm { diff --git a/src/templates/tabs/send.jade b/src/templates/tabs/send.jade index a1c8605bb..129dc85b6 100644 --- a/src/templates/tabs/send.jade +++ b/src/templates/tabs/send.jade @@ -370,28 +370,29 @@ section.col-xs-12.content(ng-controller='SendCtrl') | Add this address to contacts form(name="saveAddressForm", ng-class="{ show: show_save_address_form }" ng-submit='saveAddress()') - .name(ng-show="send.federation", ng-bind="send.recipient") - .address(ng-show="send.recipient_name", ng-bind="send.recipient_name") - .address(ng-hide="send.recipient_name", ng-bind="send.recipient_address") - label(for='save_address_name', l10n) Name this user - input.form-control#contact_name( - name='save_address_name', type="text" - ng-model='saveAddressName', required - rp-unique='userBlob.data.contacts' - rp-unique-field='name' - rp-autofill='$routeParams.name') - .errorGroup(ng-messages='saveAddressForm.save_address_name.$dirty && saveAddressForm.save_address_name.$error') - .error(ng-message='required', l10n) Please enter a contact. - .error(ng-message='rpUnique', l10n, ng-hide="addressSaving || addressSaved") - | This contact already exists, please choose another name. - div.row.add-contact-btns-wrapper - div.col-md-3.col-sm-4.col-xs-8 - button.btn.btn-success.btn-block(type='submit' - ng-disabled='addressSaving || saveAddressForm.$invalid') - span(ng-show='addressSaving', l10n) Saving... - span(ng-hide='addressSaving', l10n) Save - div.col-md-1.col-sm-2.col-xs-4 - a.btn.btn-block(href="", ng-click='show_save_address_form = false', l10n) cancel + .form-wrapper + .name(ng-show="send.federation", ng-bind="send.recipient") + .address(ng-show="send.recipient_name", ng-bind="send.recipient_name") + .address(ng-hide="send.recipient_name", ng-bind="send.recipient_address") + label(for='save_address_name', l10n) Name this user + input.form-control#contact_name( + name='save_address_name', type="text" + ng-model='saveAddressName', required + rp-unique='userBlob.data.contacts' + rp-unique-field='name' + rp-autofill='$routeParams.name') + .errorGroup(ng-messages='saveAddressForm.save_address_name.$dirty && saveAddressForm.save_address_name.$error') + .error(ng-message='required', l10n) Please enter a contact. + .error(ng-message='rpUnique', l10n, ng-hide="addressSaving || addressSaved") + | This contact already exists, please choose another name. + div.row.add-contact-btns-wrapper.row-padding-small + div.col-xs-6.col-md-8 + button.btn.btn-success.btn-block(type='submit' + ng-disabled='addressSaving || saveAddressForm.$invalid') + span(ng-show='addressSaving', l10n) Saving... + span(ng-hide='addressSaving', l10n) Save + div.col-xs-6.col-md-4 + a.btn.btn-cancel(href="", ng-click='show_save_address_form = false', l10n) cancel hr div(class="actionLink") a(href="", ng-click="reset()", l10n) Send another payment From 96965b9e362307e2708754d44a1474d109241cbc Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 9 Apr 2015 04:11:31 +0300 Subject: [PATCH 244/321] [FIX] History: show price for orders (RT-1385) In history for orders show price in format prce: x CURRENCY per CURRENCY (like "You sold .002046 BTC for 51.15048 XRP (price: 25,000 XRP per BTC)") --- src/js/util/jsonrewriter.js | 26 +++++++++ src/templates/tabs/history/effects.jade | 75 +++++++++++++++++-------- 2 files changed, 79 insertions(+), 22 deletions(-) diff --git a/src/js/util/jsonrewriter.js b/src/js/util/jsonrewriter.js index f2a298258..f57d5f36b 100644 --- a/src/js/util/jsonrewriter.js +++ b/src/js/util/jsonrewriter.js @@ -26,6 +26,30 @@ var getPrice = function(effect, referenceDate) { return price || 0; }; +var getStraightPrice = function(effect, referenceDate) { + var g = effect.got ? effect.got : effect.gets; + var p = effect.paid ? effect.paid : effect.pays; + var price; + + if (!p.is_zero() && !g.is_zero()) { + price = g.ratio_human(p, {reference_date: referenceDate}); + } + + return price || 0; +}; + +var getInvStraightPrice = function(effect, referenceDate) { + var g = effect.got ? effect.got : effect.gets; + var p = effect.paid ? effect.paid : effect.pays; + var price; + + if (!p.is_zero() && !g.is_zero()) { + price = p.ratio_human(g, {reference_date: referenceDate}); + } + + return price || 0; +}; + /** * Determine if the transaction is a 'rippling' transaction based on effects * @@ -573,6 +597,8 @@ var JsonRewriter = module.exports = { } effect.price = getPrice(effect, tx.date); + effect.straightPrice = getStraightPrice(effect, tx.date); + effect.invStraightPrice = getInvStraightPrice(effect, tx.date); // Flags if (node.fields.Flags) { diff --git a/src/templates/tabs/history/effects.jade b/src/templates/tabs/history/effects.jade index 2e3ce6c8b..c433bcb93 100644 --- a/src/templates/tabs/history/effects.jade +++ b/src/templates/tabs/history/effects.jade @@ -5,30 +5,48 @@ ul.effects(ng-show="entry.effects") span.amount(rp-pretty-amount-high-precision="effect.gets") | for span.amount(rp-pretty-amount-high-precision="effect.pays") + | ( + span(l10n-inc) price : + strong(rp-address-popover, rp-address-popover-sum="effect.invStraightPrice") {{effect.invStraightPrice | rpamount:{abs_precision: 6} }} + span {{ effect.pays | rpcurrency }} + | per + span {{ effect.gets | rpcurrency }} + | ). span(ng-hide="effect.sell", l10n, rp-span-spacing) You bought span.amount(rp-pretty-amount-high-precision="effect.pays") | for span.amount(rp-pretty-amount-high-precision="effect.gets") - | ( - span(l10n) price - span : - strong(rp-address-popover, rp-address-popover-sum="effect.price") {{effect.price | rpamount:{abs_precision: 4} }} - | ). + | ( + span(l10n) price : + strong(rp-address-popover, rp-address-popover-sum="effect.straightPrice") {{effect.straightPrice | rpamount:{abs_precision: 6} }} + span {{ effect.gets | rpcurrency }} + | per + span {{ effect.pays | rpcurrency }} + | ). span(l10n) This order has been filled. span(ng-switch-when="offer_partially_funded") span(ng-show="effect.sell", l10n, rp-span-spacing) You sold span.amount(rp-pretty-amount-high-precision="effect.got") | for span.amount(rp-pretty-amount-high-precision="effect.paid") + | ( + span(l10n-inc) price : + strong(rp-address-popover, rp-address-popover-sum="effect.invStraightPrice") {{effect.invStraightPrice | rpamount:{abs_precision: 6} }} + span {{ effect.paid | rpcurrency }} + | per + span {{ effect.got | rpcurrency }} + | ). span(ng-hide="effect.sell", l10n, rp-span-spacing) You bought span.amount(rp-pretty-amount-high-precision="effect.paid") | for span.amount(rp-pretty-amount-high-precision="effect.got") - | ( - span(l10n) price - span : - strong(rp-address-popover, rp-address-popover-sum="effect.price") {{effect.price | rpamount:{abs_precision: 4} }} - | ). + | ( + span(l10n-inc) price : + strong(rp-address-popover, rp-address-popover-sum="effect.straightPrice") {{effect.straightPrice | rpamount:{abs_precision: 6} }} + span {{ effect.got | rpcurrency }} + | per + span {{ effect.paid | rpcurrency }} + | ). span(ng-show="effect.cancelled", l10n) The rest of your order has been cancelled due to lack of funds. span(ng-hide="effect.deleted", l10n, rp-span-spacing) This order has span(rp-pretty-amount-high-precision="effect.remaining") @@ -36,9 +54,9 @@ ul.effects(ng-show="entry.effects") //- We don't show this if it's an offer_cancel transaction. //- Instead we show it if the order has been cancelled because of luck of //- funds by some other non related transaction. - span(ng-switch-when="offer_cancelled", l10n) Order ( + span(ng-switch-when="offer_cancelled", l10n, rp-span-spacing) Order ( span.amount(rp-pretty-amount-high-precision="effect.pays") - | for + | for span.amount(rp-pretty-amount-high-precision="effect.gets") | ) has been cancelled due to lack of funds. span(ng-switch-when="offer_created") @@ -50,16 +68,29 @@ ul.effects(ng-show="entry.effects") span.amount(rp-pretty-amount-high-precision="effect.pays") | for span.amount(rp-pretty-amount-high-precision="effect.pays") - span(ng-switch-when="offer_bought", l10n, rp-span-spacing) You bought - span.amount(rp-pretty-amount-high-precision="effect.got") - | for - span.amount(rp-pretty-amount-high-precision="effect.paid") - | ( - span(l10n-inc) price - span : - strong(rp-address-popover, rp-address-popover-sum="effect.price") {{effect.price | rpamount:{abs_precision: 6} }} - | ). - + span(ng-switch-when="offer_bought",) + span(ng-hide="entry.transaction.sell", l10n, rp-span-spacing) You bought + span.amount(rp-pretty-amount-high-precision="effect.got") + | for + span.amount(rp-pretty-amount-high-precision="effect.paid") + | ( + span(l10n-inc) price : + strong(rp-address-popover, rp-address-popover-sum="effect.invStraightPrice") {{effect.invStraightPrice | rpamount:{abs_precision: 6} }} + span {{ effect.paid | rpcurrency }} + | per + span {{ effect.got | rpcurrency }} + | ). + span(ng-show="entry.transaction.sell", l10n, rp-span-spacing) You sold + span.amount(rp-pretty-amount-high-precision="effect.paid") + | for + span.amount(rp-pretty-amount-high-precision="effect.got") + | ( + span(l10n-inc) price : + strong(rp-address-popover, rp-address-popover-sum="effect.straightPrice") {{effect.straightPrice | rpamount:{abs_precision: 6} }} + span {{ effect.got | rpcurrency }} + | per + span {{ effect.paid | rpcurrency }} + | ). span(ng-switch-when="trust_create_local", l10n) You have now connected to the gateway span(rp-pretty-identity="effect.counterparty", rp-address-popover="effect.counterparty") span(l10n-inc) for From b90af5d7eb8f24c1f41ad9bc3c34483ad4f0feea Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Wed, 29 Apr 2015 01:18:17 +0300 Subject: [PATCH 245/321] [FIX] Custom gateways: do not show Add (RT-3340) Do not show "Add" button in custom gateways pages while Ripple name is loading --- src/templates/tabs/brl.jade | 11 +++++++---- src/templates/tabs/btc.jade | 2 +- src/templates/tabs/eur.jade | 7 +++++-- src/templates/tabs/gold.jade | 7 +++++-- src/templates/tabs/jpy.jade | 7 +++++-- src/templates/tabs/mxn.jade | 7 +++++-- src/templates/tabs/sgd.jade | 7 +++++-- src/templates/tabs/usd.jade | 7 +++++-- 8 files changed, 38 insertions(+), 17 deletions(-) diff --git a/src/templates/tabs/brl.jade b/src/templates/tabs/brl.jade index bfa132c10..d52d1f69e 100644 --- a/src/templates/tabs/brl.jade +++ b/src/templates/tabs/brl.jade @@ -74,20 +74,23 @@ section.col-xs-12.content(ng-controller='BrlCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4.action-btn-wrapper - button.btn.btn-large.btn-primary(type="submit",ng-click="save_account()", ng-hide="brlConnected", ng-disabled="loading || !account.Balance || !can_add_trust") + button.btn.btn-large.btn-primary(type="submit",ng-click="save_account()", ng-hide="brlConnected || !loadState.account", ng-disabled="loading || !account.Balance || !can_add_trust") span(ng-show="!loading", l10n) Add Rippex span(ng-show="loading", l10n) Adding... button.btn.btn-large.btn-primary(ng-show="showInstructions && brlConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large.btn-primary(ng-show="!showInstructions && brlConnected ", type="submit", ng-click="toggle_instructions()", l10n) Show instructions .connect.col-xs-5.col-sm-7.col-md-8 - .description(ng-show="!brlConnected && account.Balance", l10n) + .description(ng-show="!brlConnected && account.Balance && !loadingAccount", l10n) i.fa.fa-times | Not connected - .description(ng-show="brlConnected && account.Balance", l10n) + .description(ng-show="brlConnected && account.Balance && !loadingAccount", l10n) i.fa.fa-check | Connected - .description(ng-show="!account.Balance", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!loadState.account") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... .row.fund-tab-description(ng-show="showInstructions && brlConnected") .instructions.col-md-10 a.dismiss(href="", id="hide", ng-click="toggle_instructions()", l10n) × diff --git a/src/templates/tabs/btc.jade b/src/templates/tabs/btc.jade index f1d808338..518955575 100644 --- a/src/templates/tabs/btc.jade +++ b/src/templates/tabs/btc.jade @@ -61,7 +61,7 @@ section.col-xs-12.content(ng-controller='BtcCtrl') .col-xs-7.col-sm-5.col-md-4 rp-popup a.btn.btn-success.btn-sm.btn-block.sign(href="", rp-popup-link, - ng-click="openPopup()", ng-show="!btcConnected && !loading", ng-disabled="emailError", ng-hide="btcConnected",l10n) Add btc2ripple + ng-click="openPopup()", ng-show="!btcConnected && !loading && !loadingAccount && loadState.B2RApp", ng-disabled="emailError", ng-hide="btcConnected",l10n) Add btc2ripple div.connectModal(rp-popup-content) .modal-header .navbar-brand.hidden-sm.modal-logo#logo diff --git a/src/templates/tabs/eur.jade b/src/templates/tabs/eur.jade index 678f1ac76..91c952399 100644 --- a/src/templates/tabs/eur.jade +++ b/src/templates/tabs/eur.jade @@ -69,7 +69,7 @@ section.col-xs-12.content(ng-controller='EurCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large.btn-primary(ng-show="!eurConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add SnapSwap.eu + button.btn.btn-large.btn-primary(ng-show="!eurConnected && !loading && loadState.account", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add SnapSwap.eu button.btn.btn-large.btn-primary(ng-show="!eurConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... button.btn.btn-large.btn-primary(ng-show="showInstructions && eurConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large.btn-primary(ng-show="eurConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions @@ -77,7 +77,10 @@ section.col-xs-12.content(ng-controller='EurCtrl') .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="loading") .description.fa.fa-times(ng-show="!eurConnected && account.Balance", l10n) Not connected .description.fa.fa-check(ng-show="eurConnected && account.Balance", l10n) Connected - .description(ng-show="!account.Balance", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!loadState.account") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... .row(ng-show="showInstructions && eurConnected") .instructions.col-md-10 diff --git a/src/templates/tabs/gold.jade b/src/templates/tabs/gold.jade index 568cda701..7c625e6dc 100644 --- a/src/templates/tabs/gold.jade +++ b/src/templates/tabs/gold.jade @@ -67,7 +67,7 @@ section.col-xs-12.content(ng-controller='GoldCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large.btn-primary(ng-show="!gbiConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add GBI + button.btn.btn-large.btn-primary(ng-show="!gbiConnected && !loading && loadState.account", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add GBI button.btn.btn-large.btn-primary(ng-show="!gbiConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... button.btn.btn-large.btn-primary(ng-show="showInstructions && gbiConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large.btn-primary(ng-show="gbiConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions @@ -79,7 +79,10 @@ section.col-xs-12.content(ng-controller='GoldCtrl') .description(ng-show="gbiConnected && account.Balance", l10n) i.fa.fa-check | Connected - .description(ng-show="!account.Balance", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!loadState.account") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... .row(ng-show="showInstructions && gbiConnected") .instructions.col-md-10 a.dismiss#hide(href="", ng-click="toggle_instructions()", l10n) × diff --git a/src/templates/tabs/jpy.jade b/src/templates/tabs/jpy.jade index d11f92a1f..c6e368b8b 100644 --- a/src/templates/tabs/jpy.jade +++ b/src/templates/tabs/jpy.jade @@ -68,7 +68,7 @@ section.col-xs-12.content(ng-controller='JpyCtrl') .descriptor(ng-show="!jpyConnected", l10n) Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your behalf. .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large.btn-primary(ng-show="!jpyConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Tokyo JPY + button.btn.btn-large.btn-primary(ng-show="!jpyConnected && !loading && loadState.account", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Tokyo JPY button.btn.btn-large.btn-primary(ng-show="!jpyConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... button.btn.btn-large.btn-primary(ng-show="showInstructions && jpyConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large.btn-primary(ng-show="jpyConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions @@ -80,7 +80,10 @@ section.col-xs-12.content(ng-controller='JpyCtrl') .description(ng-show="jpyConnected && account.Balance", l10n) i.fa.fa-check | Connected - .description(ng-show="!account.Balance", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!loadState.account") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... .row(ng-show="showInstructions && jpyConnected") .instructions.col-md-10 a.dismiss(href="", id="hide", ng-click="toggle_instructions()", l10n) × diff --git a/src/templates/tabs/mxn.jade b/src/templates/tabs/mxn.jade index ba526b11c..2c40097c1 100644 --- a/src/templates/tabs/mxn.jade +++ b/src/templates/tabs/mxn.jade @@ -70,7 +70,7 @@ section.col-xs-12.content(ng-controller='MxnCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large.btn-primary(ng-show="!mxnConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Bitso + button.btn.btn-large.btn-primary(ng-show="!mxnConnected && !loading && loadState.account", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Bitso button.btn.btn-large.btn-primary(ng-show="!mxnConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... button.btn.btn-large.btn-primary(ng-show="showInstructions && mxnConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large.btn-primary(ng-show="mxnConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions @@ -82,7 +82,10 @@ section.col-xs-12.content(ng-controller='MxnCtrl') .description(ng-show="mxnConnected && account.Balance", l10n) i.fa.fa-check | Connected - .description(ng-show="!account.Balance", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!loadState.account") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... .row(ng-show="showInstructions && mxnConnected") .instructions.col-md-10 a.dismiss#hide(href="", ng-click="toggle_instructions()", l10n) × diff --git a/src/templates/tabs/sgd.jade b/src/templates/tabs/sgd.jade index 146aaeae3..06ad5c412 100644 --- a/src/templates/tabs/sgd.jade +++ b/src/templates/tabs/sgd.jade @@ -69,7 +69,7 @@ section.col-xs-12.content(ng-controller='SgdCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large.btn-primary(ng-show="!sgdConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Ripple Singapore + button.btn.btn-large.btn-primary(ng-show="!sgdConnected && !loading && loadState.account", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Ripple Singapore button.btn.btn-large.btn-primary(ng-show="!sgdConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... button.btn.btn-large.btn-primary(ng-show="showInstructions && sgdConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large.btn-primary(ng-show="sgdConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions @@ -81,7 +81,10 @@ section.col-xs-12.content(ng-controller='SgdCtrl') .description(ng-show="sgdConnected && account.Balance", l10n) i.fa.fa-check | Connected - .description(ng-show="!account.Balance", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!loadState.account") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... .row(ng-show="showInstructions && sgdConnected") .instructions.col-md-10 diff --git a/src/templates/tabs/usd.jade b/src/templates/tabs/usd.jade index 1cbd36447..a5953e67b 100644 --- a/src/templates/tabs/usd.jade +++ b/src/templates/tabs/usd.jade @@ -66,7 +66,7 @@ section.col-xs-12.content(ng-controller='UsdCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large.btn-primary(ng-show="!usdConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add SnapSwap.us + button.btn.btn-large.btn-primary(ng-show="!usdConnected && !loading && loadState.account", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add SnapSwap.us button.btn.btn-large.btn-primary(ng-show="!usdConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... button.btn.btn-large.btn-primary(ng-show="showInstructions && usdConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large.btn-primary(ng-show="usdConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions @@ -74,7 +74,10 @@ section.col-xs-12.content(ng-controller='UsdCtrl') .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="loading") .description.fa.fa-times(ng-show="!usdConnected && account.Balance", l10n) Not connected .description.fa.fa-check(ng-show="usdConnected && account.Balance", l10n) Connected - .description(ng-show="!account.Balance", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!loadState.account") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... .row(ng-show="showInstructions && usdConnected") .instructions.col-md-10 From 8e4f97d2219cd672094efb2e822cb4eb6a8da559 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Wed, 29 Apr 2015 03:28:45 +0300 Subject: [PATCH 246/321] [FIX] Advanced Trade: remove one step (RT-3271) Do not show "Submit another order" screen after placing an order --- src/js/tabs/trade.controller.js | 37 ++++++++++++++++++----- src/templates/tabs/trade.jade | 53 +++++++++++++++++---------------- 2 files changed, 58 insertions(+), 32 deletions(-) diff --git a/src/js/tabs/trade.controller.js b/src/js/tabs/trade.controller.js index a3f48751f..df24a748c 100644 --- a/src/js/tabs/trade.controller.js +++ b/src/js/tabs/trade.controller.js @@ -41,6 +41,7 @@ TradeTab.prototype.angular = function(module) popup, $anchorScroll, $timeout, $templateRequest) { var timer; + var cancelNotifTimeout = {}; $scope.priceTicker = { bid: 'n/a', @@ -108,6 +109,8 @@ TradeTab.prototype.angular = function(module) sell_amount: null }; + $scope.notif = {}; + var currencyPairChangedByNonUser = false; //$scope.not_valid_pair = true; @@ -581,6 +584,25 @@ TradeTab.prototype.angular = function(module) $scope.editOrder.cancelOrderGone = false; }; + $scope.showNotification = function(type, status) { + if (typeof status !== 'string') { + console.log("You must pass in a string for the status"); + return; + } + + $scope.notif[type] = status; + + if (cancelNotifTimeout[type]) { + $timeout.cancel(cancelNotifTimeout[type]); + cancelNotifTimeout[type] = null; + } + cancelNotifTimeout[type] = $timeout(function() { + $scope.notif[type] = 'clear'; + }, 9000); + cancelNotifTimeout[type]['finally'](function() { cancelNotifTimeout[type] = null; }); + } + + /** * Happens when user clicks 'Confirm' in order confirmation view. * @@ -612,7 +634,7 @@ TradeTab.prototype.angular = function(module) tx.on('success', function(res) { setEngineStatus(res, true, type); - if (!modifying) order.mode = 'done'; + if (!modifying) $scope.reset_widget(type); var tx = rewriter.processTxn(res, res.metadata, id.account); @@ -642,9 +664,9 @@ TradeTab.prototype.angular = function(module) } var eventProp = { - 'Status': 'success', + Status: 'success', 'Currency pair': ccyPair, - 'Address': $scope.userBlob.data.account_id, + Address: $scope.userBlob.data.account_id, 'Transaction ID': res.tx_json.hash, BuyAmount: order.buy_amount.to_number(false), SellAmount: order.sell_amount.to_number(false) @@ -657,7 +679,7 @@ TradeTab.prototype.angular = function(module) tx.on('error', function (err) { setEngineStatus(err, false, type); - if (!modifying) order.mode = 'done'; + if (!modifying) $scope.reset_widget(type);; if (errorCb) errorCb(); @@ -666,10 +688,10 @@ TradeTab.prototype.angular = function(module) } var eventProp = { - 'Status': 'error', - 'Message': err.engine_result, + Status: 'error', + Message: err.engine_result, 'Currency pair': ccyPair, - 'Address': $scope.userBlob.data.account_id + Address: $scope.userBlob.data.account_id }; if (modifying) rpTracker.track(MIXPNL_MODIFY_EVENT, eventProp); @@ -777,6 +799,7 @@ TradeTab.prototype.angular = function(module) $scope.tx_result = 'unknown'; console.warn('Unhandled engine status encountered!'); } + $scope.showNotification(type, $scope.tx_result); } $scope.update_first = function (type) { diff --git a/src/templates/tabs/trade.jade b/src/templates/tabs/trade.jade index 08aa803cd..4a29c5848 100644 --- a/src/templates/tabs/trade.jade +++ b/src/templates/tabs/trade.jade @@ -190,6 +190,34 @@ section.col-xs-12.content(ng-controller="TradeCtrl") | {{order.first_currency | rpcurrency}} | available div(ng-switch-when='trade') + group.pending(ng-show='notif[type]=="pending"') + h2.tx-status(l10n) Your order has been submitted. + group.result-success(ng-show="notif[type]=='cleared' && executedOnOfferCreate=='none'") + h2.tx-status(l10n) Your order is now active. + group.result-success(ng-show="notif[type]=='cleared' && executedOnOfferCreate=='all'") + h2.tx-status(l10n) Your order has been filled. + group.result-success(ng-show="notif[type]=='cleared' && executedOnOfferCreate=='partial'") + h2.tx-status(l10n) Your order has been partially filled. The remaining amount is now active. + + //- 4a. Ripple error page + + group.mode-ripplerror(ng-show='notif[type]=="unknown"') + rp-transaction-status( + rp-engine-result="{{engine_result}}" + rp-engine-result-message="{{engine_result_message}}" + rp-accepted="{{engine_status_accepted}}" + rp-current-tab="trade") + + group.mode-granted.wide(ng-show='notif !== "clear"', ng-hide='!notif') + group(ng-switch="notif") + group.result-success(ng-switch-when="success") + h2.tx-status(l10n) Success! You can deposit BTC via your generated BTC receiving address. + group.result-error(ng-switch-when="error") + h2.tx-status(l10n) There was an error with your request. + p(l10n) Please try again later. + group.result-error(ng-switch-when="emailError") + h2.tx-status(l10n) There was an error with your request. + form.mode-form(name="tradeForm", ng-submit='place_order(type)', ng-show="order[type].showWidget") .row.order-values .col-xs-12 @@ -371,31 +399,6 @@ section.col-xs-12.content(ng-controller="TradeCtrl") img(src="img/button-s.png", class="loader") span(class="loading_text", l10n) Sending order to Ripple network... - //- 4. Done - - group.mode-done(ng-switch-when='done') - group.pending(ng-show='tx_result=="pending"') - h2.tx-status(l10n) Your order has been submitted. - group.result-success(ng-show="tx_result=='cleared' && executedOnOfferCreate=='none'") - h2.tx-status(l10n) Your order is now active. - group.result-success(ng-show="tx_result=='cleared' && executedOnOfferCreate=='all'") - h2.tx-status(l10n) Your order has been filled. - group.result-success(ng-show="tx_result=='cleared' && executedOnOfferCreate=='partial'") - h2.tx-status(l10n) Your order has been partially filled. The remaining amount is now active. - - //- 4a. Ripple error page - - group.mode-ripplerror(ng-show='tx_result=="unknown"') - rp-transaction-status( - rp-engine-result="{{engine_result}}" - rp-engine-result-message="{{engine_result_message}}" - rp-accepted="{{engine_status_accepted}}" - rp-current-tab="trade") - - hr - .actionLink - a(href="#trade", ng-click="reset_widget(type)", l10n) Submit another order - .my-orders-title(l10n) My Orders span ({{offersCount}}) small.toggle(ng-hide="isEmpty(offers)", ng-click="hideOffers = !hideOffers") {{hideOffers ? "show" : "hide"}} From 150437decbc73956dda4183d208115944dd64139 Mon Sep 17 00:00:00 2001 From: Yong-Soo Chung Date: Wed, 29 Apr 2015 11:24:07 -0700 Subject: [PATCH 247/321] Trust: Fix DefaultRipple flag setting --- src/js/tabs/settingsgateway.controller.js | 30 ++++++++++++----------- src/templates/tabs/settingsgateway.jade | 4 +-- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/js/tabs/settingsgateway.controller.js b/src/js/tabs/settingsgateway.controller.js index 54ef797c2..9d17e1497 100644 --- a/src/js/tabs/settingsgateway.controller.js +++ b/src/js/tabs/settingsgateway.controller.js @@ -56,20 +56,21 @@ SettingsGatewayTab.prototype.angular = function(module) $scope.userBlob.set('/clients/rippletradecom/trust/advancedMode', $scope.options.advanced_feature_switch); break; case 'defaultRippleFlag': - // Need to set flag on account_root - var tx = network.remote.transaction(); - $scope.isDefaultRippleFlagEnabled = $scope.account.Flags & ripple.Remote.flags.account_root.DefaultRipple; - $scope.isDefaultRippleFlagEnabled ? tx.accountSet(id.account, undefined, 'DefaultRipple') : tx.accountSet(id.account, 'DefaultRipple'); - - keychain.requestSecret(id.account, id.username, function (err, secret) { - if (err) { - console.log('Error: ', err); - return; - } - $scope.isDefaultRippleFlagEnabled = !$scope.isDefaultRippleFlagEnabled; - tx.secret(secret); - tx.submit(); - }); + // Need to set flag on account_root only when chosen option is different from current setting + if ($scope.currentDefaultRipplingFlagSetting !== $scope.isDefaultRippleFlagEnabled) { + var tx = network.remote.transaction(); + !$scope.isDefaultRippleFlagEnabled ? tx.accountSet(id.account, undefined, 'DefaultRipple') : tx.accountSet(id.account, 'DefaultRipple'); + + keychain.requestSecret(id.account, id.username, function (err, secret) { + if (err) { + console.log('Error: ', err); + $scope.isDefaultRippleFlagEnabled = !$scope.isDefaultRippleFlagEnabled; + return; + } + tx.secret(secret); + tx.submit(); + }); + } break; default: // Save in local storage @@ -129,6 +130,7 @@ SettingsGatewayTab.prototype.angular = function(module) $scope.$watch('account', function() { // Check if account has DefaultRipple flag set $scope.isDefaultRippleFlagEnabled = !!($scope.account.Flags & ripple.Remote.flags.account_root.DefaultRipple); + $scope.currentDefaultRipplingFlagSetting = $scope.isDefaultRippleFlagEnabled; }, true); }]); diff --git a/src/templates/tabs/settingsgateway.jade b/src/templates/tabs/settingsgateway.jade index cbbea5e9f..8a525f0e2 100644 --- a/src/templates/tabs/settingsgateway.jade +++ b/src/templates/tabs/settingsgateway.jade @@ -68,8 +68,8 @@ section.col-xs-12.content(ng-controller="SettingsGatewayCtrl") .col-xs-6.col-sm-5.col-md-3 .description(l10n) DefaultRipple flag .col-xs-3.col-sm-4.col-md-4 - .description(ng-show="isDefaultRippleFlagEnabled", l10n) Enabled - .description(ng-hide="isDefaultRippleFlagEnabled", l10n) Disabled + .description(ng-show="currentDefaultRipplingFlagSetting", l10n) Enabled + .description(ng-hide="currentDefaultRipplingFlagSetting", l10n) Disabled .col-xs-3.col-sm-3.col-md-2 a.btn.btn-cancel.btn-block(href="", ng-click="edit.defaultRippleFlag = true", l10n) edit .row.row-padding-small.edit-trust-line(ng-show="edit.defaultRippleFlag") From 20275c27694644fb25f706f892476e96caa8defb Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 14 Apr 2015 06:36:06 +0300 Subject: [PATCH 248/321] [FIX] Advanced trade: fix values calculations Do not convert amount and order values to number when assigning to input - because chrome and IE shows big/small numbers in input in scientific notation use "replace(/,/g, '')" on result of "to_text_full()" until ripple lib fixed - "to_text_full()" returns string with group separator --- src/js/tabs/trade.controller.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/js/tabs/trade.controller.js b/src/js/tabs/trade.controller.js index a3f48751f..3cf6ca88f 100644 --- a/src/js/tabs/trade.controller.js +++ b/src/js/tabs/trade.controller.js @@ -396,14 +396,15 @@ TradeTab.prototype.angular = function(module) $scope.fill_widget = function (type, order, sum) { $scope.reset_widget(type); - $scope.order[type].price = order.price.to_human().replace(',',''); + $scope.order[type].price = order.price.to_human({group_sep: false}); if (sum) { - $scope.order[type].first = order.sum.to_human().replace(',',''); + $scope.order[type].first = order.sum.to_human({group_sep: false}); $scope.calc_second(type); } scrollToElement('widgetGroup'); }; + function scrollToElement(element) { var el = document.getElementById(element); var yPos = el.getClientRects()[0].top; @@ -416,6 +417,7 @@ TradeTab.prototype.angular = function(module) } },5); } + /** * Happens when user clicks on 'Place Order' button. * @@ -819,7 +821,7 @@ TradeTab.prototype.angular = function(module) if (type === 'buy') bestPrice = $scope.bookShow.bids[0].showPrice; else if (type === 'sell') bestPrice = $scope.bookShow.asks[0].showPrice; - bestPrice = +bestPrice.replace(',',''); + bestPrice = +bestPrice.replace(/,/g, ''); return (bestPrice && (price > (bestPrice * fatFingerMarginMultiplier) || @@ -839,7 +841,7 @@ TradeTab.prototype.angular = function(module) if (order.price_amount && order.price_amount.is_valid() && order.first_amount && order.first_amount.is_valid()) { order.second_amount = order.price_amount.product_human(order.first_amount); - order.second = +order.second_amount.to_human({group_sep: false}); + order.second = order.second_amount.to_human({group_sep: false}); } }; @@ -857,15 +859,16 @@ TradeTab.prototype.angular = function(module) order.second_amount && order.second_amount.is_valid()) { if (!order.price_amount.is_native()) { - var price = order.price_amount.to_human(); + var price = order.price_amount.to_human({group_sep: false}); var currency = order.price_amount.currency().to_json(); var issuer = order.price_amount.issuer().to_json(); - order.first_amount = Amount.from_json(order.second_amount.to_text_full()).ratio_human(Amount.from_json(price + '/' + currency + '/' + issuer), {reference_date: new Date()}); + // use replace(/,/g,'') until ripple lib fixed + order.first_amount = Amount.from_json(order.second_amount.to_text_full().replace(/,/g, '')).ratio_human(Amount.from_json(price + '/' + currency + '/' + issuer), {reference_date: new Date()}); } else { - order.first_amount = Amount.from_json(order.second_amount.to_text_full()).ratio_human(Amount.from_json(order.price_amount.to_text()), {reference_date: new Date()}); + order.first_amount = Amount.from_json(order.second_amount.to_text_full().replace(/,/g, '')).ratio_human(Amount.from_json(order.price_amount.to_text()), {reference_date: new Date()}); } - order.first = +order.first_amount.to_human({group_sep: false}); + order.first = order.first_amount.to_human({group_sep: false}); } }; From a807753b4a91802af6a336b042993bcc41d959b9 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Sat, 18 Apr 2015 02:42:34 +0300 Subject: [PATCH 249/321] [FIX] addressPopover: use $templateRequest (RT-3357) addressPopover: load addresspopover.html instead of the jade file using $templateRequest --- src/js/directives/addressPopover.directive.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/js/directives/addressPopover.directive.js b/src/js/directives/addressPopover.directive.js index 487fdf114..05add70b6 100644 --- a/src/js/directives/addressPopover.directive.js +++ b/src/js/directives/addressPopover.directive.js @@ -197,11 +197,8 @@ } } - var myTemplate = require('../../templates/directives/addresspopover.jade')(); - var texts = myTemplate.split('
'); - - AddressPopover.textRippleAddress = texts[0]; - AddressPopover.textShowInGraph = texts.length > 1 ? texts[1] : 'Show in graph'; + AddressPopover.textRippleAddress = 'span(l10n) Ripple address'; + AddressPopover.textShowInGraph = 'span(l10n) Show in graph'; /** * Special popover to show ripple address with ability to double click on address to select. @@ -212,9 +209,15 @@ */ angular.module('directives').directive('rpAddressPopover', rpAddressPopover); - rpAddressPopover.$inject = ['$timeout', 'rpId', '$filter', '$parse']; + rpAddressPopover.$inject = ['$timeout', 'rpId', '$filter', '$parse', '$templateRequest']; + + function rpAddressPopover($timeout, id, $filter, $parse, $templateRequest) { + $templateRequest('templates/' + window.lang + '/directives/addresspopover.html', false).then(function(template) { + var texts = template.split('
'); + AddressPopover.textRippleAddress = texts[0]; + AddressPopover.textShowInGraph = texts.length > 1 ? texts[1] : AddressPopover.textShowInGraph; + }); - function rpAddressPopover($timeout, id, $filter, $parse) { return { restrict: 'A', replace: false, From 8a13ba0d18860d7275abd4fc55d8afb63fda62a2 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Fri, 24 Apr 2015 01:12:45 +0300 Subject: [PATCH 250/321] [FIX] fix my orders template loading --- src/js/controllers/app.controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/controllers/app.controller.js b/src/js/controllers/app.controller.js index b822f4f46..8f3df8445 100644 --- a/src/js/controllers/app.controller.js +++ b/src/js/controllers/app.controller.js @@ -660,7 +660,7 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, // load strings from jade template $templateRequest('templates/' + lang + '/strings/myOrders.html', true).then(function(ordersStringsHtml) { _.each($scope.ordersSortFieldChoices, function(element, index) { - var localisedNameText = ordersStringsHtml.find('#' + element.value).text(); + var localisedNameText = $(ordersStringsHtml).find('#' + element.value).text(); element.name = localisedNameText; }); }); From 2c6febd410cc5094fbb0a30d12d6baee1c5c6380 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Fri, 24 Apr 2015 00:56:29 +0300 Subject: [PATCH 251/321] [FIX] My orders: do not reload orderbook(RT-3364) do not reload orderbook when starting editing order if orders pair match current book's pair --- src/js/tabs/trade.controller.js | 47 ++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 12 deletions(-) diff --git a/src/js/tabs/trade.controller.js b/src/js/tabs/trade.controller.js index 3cf6ca88f..64cba371d 100644 --- a/src/js/tabs/trade.controller.js +++ b/src/js/tabs/trade.controller.js @@ -185,11 +185,13 @@ TradeTab.prototype.angular = function(module) // Ensure that the orderbook matches the currency pair of the order being edited, for the user // to reference and to ensure that the Fat Finger check will compare with the correct price. - $scope.editOrder.orderbookReady = false; - if ($scope.goto_order_currency.bind(this)()) { - // Reset Buy and Sell widgets as the currency pair has changed so the price & qty will not be relevant - $scope.reset_widget('buy', true); - $scope.reset_widget('sell', true); + if (getOrderCurrency(this.entry) !== $scope.order.currency_pair) { + $scope.editOrder.orderbookReady = false; + if ($scope.goto_order_currency.bind(this)()) { + // Reset Buy and Sell widgets as the currency pair has changed so the price & qty will not be relevant + $scope.reset_widget('buy', true); + $scope.reset_widget('sell', true); + } } $scope.editOrder.ccyPair = $scope.order.currency_pair; @@ -448,11 +450,33 @@ TradeTab.prototype.angular = function(module) } }; + + /** + * Returns orders currency pair, so we can compare it with current pair. + */ + function getOrderCurrency(entry) { + if (!entry) return ''; + var first_currency = entry.first.currency().to_json(); + var first_issuer = entry.first.issuer().to_json(); + var second_currency = entry.second.currency().to_json(); + var second_issuer = entry.second.issuer().to_json(); + + var first = first_currency === 'XRP' + ? 'XRP' + : first_currency + '.' + first_issuer; + + var second = second_currency === 'XRP' + ? 'XRP' + : second_currency + '.' + second_issuer; + + var currency_pair = first + '/' + second; + return currency_pair; + } + /** * Happens when user clicks the currency in 'My Orders'. */ - $scope.goto_order_currency = function() - { + $scope.goto_order_currency = function() { if (!this.entry) return; var entry = this.entry; var order = $scope.order; @@ -462,19 +486,19 @@ TradeTab.prototype.angular = function(module) order.second_currency = this.entry.second.currency().to_json(); order.second_issuer = this.entry.second.issuer().to_json(); - var first = order.first_currency == 'XRP' + var first = order.first_currency === 'XRP' ? 'XRP' : order.first_currency + '.' + order.first_issuer; - var second = order.second_currency == 'XRP' + var second = order.second_currency === 'XRP' ? 'XRP' : order.second_currency + '.' + order.second_issuer; order.currency_pair = first + '/' + second; var changedPair = updateSettings(); - //updateMRU(); - if(changedPair) { + // updateMRU(); + if (changedPair) { $scope.load_orderbook = true; $scope.reset_widget('buy', true); $scope.reset_widget('sell', true); @@ -482,7 +506,6 @@ TradeTab.prototype.angular = function(module) return changedPair; }; - $scope.view_orders_history = function() { $location.url('/history?f=orders'); From de773abb7aaf4a5e234d271a22119f5e04267fc6 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Fri, 24 Apr 2015 05:23:27 +0300 Subject: [PATCH 252/321] [FIX] Contacts: show ripple names (RT-3125) Show Ripple name for contact instead of Ripple address --- src/js/directives/formatters.directive.js | 21 +++++++++++++++++++++ src/templates/tabs/contacts.jade | 5 +++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/js/directives/formatters.directive.js b/src/js/directives/formatters.directive.js index 77151d0a2..1828f2fef 100644 --- a/src/js/directives/formatters.directive.js +++ b/src/js/directives/formatters.directive.js @@ -123,6 +123,27 @@ module.directive('rpPrettyIdentity', [function () { }; }]); +module.directive('rpRippleName', ['rpId', function(id) { + return { + restrict: 'EA', + scope: { + address: '=rpRippleName' + }, + template: '{{name || address}}', + compile: function (element, attr, linker) { + return function (scope, element, attr) { + function update() { + id.resolveName(scope.address, { tilde: true }).then(function(name) { + scope.name = name; + }); + } + scope.$watch('address', update); + update(); + }; + } + }; +}]); + module.directive('rpBindColorAmount', function () { return { restrict: 'A', diff --git a/src/templates/tabs/contacts.jade b/src/templates/tabs/contacts.jade index b5019f665..dcf9133f4 100644 --- a/src/templates/tabs/contacts.jade +++ b/src/templates/tabs/contacts.jade @@ -102,8 +102,9 @@ section.col-xs-12.content(ng-controller="ContactsCtrl") .col-xs-3.col-md-3.col-sm-3(ng-hide='editing') span.name(ng-hide='editing', ng-bind="entry.name") .col-xs-12.col-sm-6.col-md-6(ng-hide='editing') - div - b.hidden-xs {{entry.address | rpaddressorigin}}: {{entry.address}} + div.hidden-xs + b {{entry.address | rpaddressorigin}}: + b(rp-ripple-name="entry.address") ??? .col-xs-6.col-sm-3.col-md-3.text-right.pull-right(ng-hide='editing') .row .col-xs-4.col-md-4.col-sm-4(ng-hide='editing') From 131f31fb47f6b541ebd88cf65e79547fe73e14ae Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Sat, 25 Apr 2015 00:00:57 +0300 Subject: [PATCH 253/321] [FIX]Contacts: use standard notification(RT-2915) For creating/deleting/updating contacts use standard notifications mechanism (that notifications dissapear after timeout) --- src/js/tabs/contacts.controller.js | 9 +++------ src/templates/tabs/contacts.jade | 12 ++++++++---- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/js/tabs/contacts.controller.js b/src/js/tabs/contacts.controller.js index 289815b76..2325ef13d 100644 --- a/src/js/tabs/contacts.controller.js +++ b/src/js/tabs/contacts.controller.js @@ -25,8 +25,6 @@ ContactsTab.prototype.angular = function (module) { reverse: false }; - // Initialize the notification object - $scope.success = {}; $scope.reset_form = function () { @@ -78,7 +76,7 @@ ContactsTab.prototype.angular = function (module) { $scope.reset_form(); // Notify the user - $scope.success.createContact = true; + $scope.load_notification('createContactSuccess'); }; }]); @@ -133,7 +131,7 @@ ContactsTab.prototype.angular = function (module) { $scope.editing = false; // Notify the user - $scope.success.updateContact = true; + $scope.load_notification('updateContactSuccess'); } }; @@ -152,8 +150,7 @@ ContactsTab.prototype.angular = function (module) { 'unset', ''); // Notify the user - $scope.success.removeContact = true; - + $scope.load_notification('removeContactSuccess'); } }; diff --git a/src/templates/tabs/contacts.jade b/src/templates/tabs/contacts.jade index dcf9133f4..0fb981fe8 100644 --- a/src/templates/tabs/contacts.jade +++ b/src/templates/tabs/contacts.jade @@ -9,10 +9,14 @@ section.col-xs-12.content(ng-controller="ContactsCtrl") include banner/rtjapanrippling div(ng-hide='debug') .row - .col-sm-12.notification-wrapper - .alert.alert-success(ng-show="success.createContact", l10n) A new contact has been successfully added. - .alert.alert-success(ng-show="success.updateContact", l10n) Your contact has been successfully updated. - .alert.alert-success(ng-show="success.removeContact", l10n) A contact has been successfully removed. + group.col-sm-12.notification-wrapper(ng-show='notif !== "clear"') + group(ng-switch="notif") + group.result-success(ng-switch-when="createContactSuccess") + h2.tx-status(l10n) A new contact has been successfully added. + group.result-success(ng-switch-when="updateContactSuccess") + h2.tx-status(l10n) Your contact has been successfully updated. + group.result-success(ng-switch-when="removeContactSuccess") + h2.tx-status(l10n) A contact has been successfully removed. form.row-padding-small .row.form-group .col-xs-12.col-sm-8.col-md-6 From 1fce903a15f0f45f194ebf0f1da77380f21cd3ee Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Mon, 27 Apr 2015 19:04:51 +0300 Subject: [PATCH 254/321] [FIX] Add spacing in cancel order modal (RT-3362) --- src/templates/tabs/trade.jade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/templates/tabs/trade.jade b/src/templates/tabs/trade.jade index bcaa623cc..aba417d93 100644 --- a/src/templates/tabs/trade.jade +++ b/src/templates/tabs/trade.jade @@ -507,8 +507,8 @@ section.col-xs-12.content(ng-controller="TradeCtrl") .modal-body .modal-prompt(l10n) div(l10n-inc) Please confirm that you wish to cancel order #{{entry.seq}} - .modal-order(l10n) - div + .modal-order + div(rp-span-spacing) span.modal-order-type {{entry.type}}: span {{entry.first | rpamount:{hard_precision: true, precision: 6, tiny_precision: 6} }} span {{entry.first | rpcurrency}} From d415df9d69eae7faaf77f4b60c4e87d88fd2a075 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Mon, 27 Apr 2015 20:56:23 +0300 Subject: [PATCH 255/321] [FIX] Send: alert about min btc size (RT-3360) When sending to a BTC address, show text to indicate that minimum transaction size is .001 BTC --- src/js/tabs/send.controller.js | 3 +++ src/templates/tabs/send.jade | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/src/js/tabs/send.controller.js b/src/js/tabs/send.controller.js index d951d374d..cb2769862 100644 --- a/src/js/tabs/send.controller.js +++ b/src/js/tabs/send.controller.js @@ -387,6 +387,7 @@ SendTab.prototype.angular = function (module) // Reset constraints send.currency_choices = $scope.currencies_all; send.currency_force = false; + send.currencyIsBTC = false; send.currency_choices_constraints = {}; @@ -485,11 +486,13 @@ SendTab.prototype.angular = function (module) if (currencies.length === 1) { send.currency = send.currency_force = currencies[0]; + send.currencyIsBTC = _.startsWith(send.currency_force, 'BTC'); } else if (currencies.length === 0) { send.path_status = 'error-no-currency'; send.currency = ''; } else { send.currency_force = false; + send.currencyIsBTC = false; if (currencies.indexOf(send.currency) === -1) { send.currency = currencies[0]; diff --git a/src/templates/tabs/send.jade b/src/templates/tabs/send.jade index 129dc85b6..98bdb4a6f 100644 --- a/src/templates/tabs/send.jade +++ b/src/templates/tabs/send.jade @@ -155,6 +155,11 @@ section.col-xs-12.content(ng-controller='SendCtrl') rp-amount-currency='{{send.currency}}' rp-max-digits) span.input-group-addon(ng-bind="send.currency_force") + .row(ng-if="send.currencyIsBTC") + .col-xs-12.col-sm-6.col-md-6 + .alert.alert-warning(l10n) + | The minimum BTC transaction size is .001 BTC. + a(href="https://b2r.uservoice.com/knowledgebase/articles/393152-is-there-a-minimum-transaction-size", target="_blank", l10n-inc) More info .errorGroup(ng-messages='sendForm.send_amount_currency.$error') .error(ng-message='rpRestrictCurrencies', l10n) {{send.recipient | rpcontactname}} can't receive this currency. .errorGroup(ng-messages='sendForm.send_amount.$dirty && sendForm.send_amount.$error') From 7964f4bc4832f2f4580be26b26a4b41cc95dfbba Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Mon, 27 Apr 2015 22:11:52 +0300 Subject: [PATCH 256/321] [FIX] Trust: fix e-notation in edit (RT-3250) Fix for Chrome showing very low trust limits in edit field in e-notation. --- src/js/tabs/trust.controller.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/js/tabs/trust.controller.js b/src/js/tabs/trust.controller.js index c9f9270f0..af594959d 100644 --- a/src/js/tabs/trust.controller.js +++ b/src/js/tabs/trust.controller.js @@ -389,7 +389,8 @@ TrustTab.prototype.angular = function (module) $scope.editing = true; $scope.trust = {}; - $scope.trust.limit = Number($scope.component.limit.to_json().value); + // edit as string because Chrome shows tiny numbers in e-notation + $scope.trust.limit = String($scope.component.limit.to_json().value); $scope.trust.rippling = !$scope.component.no_ripple; $scope.trust.limit_peer = Number($scope.component.limit_peer.to_json().value); $scope.trust.balance = String($scope.component.balance.to_json().value); From 615011cbb7f8c4b9513fc5046efbfffc2ba5621f Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Mon, 27 Apr 2015 23:31:04 +0300 Subject: [PATCH 257/321] [FIX] Save last trade page (RT-3259) Save last trade page user went to (Simple or Advanced) to user blob. --- src/js/services/id.service.js | 2 ++ src/js/tabs/exchange.controller.js | 13 +++++++++++++ src/js/tabs/trade.controller.js | 20 ++++++++++++++++++-- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/src/js/services/id.service.js b/src/js/services/id.service.js index efe94d7c4..b680a62be 100644 --- a/src/js/services/id.service.js +++ b/src/js/services/id.service.js @@ -148,6 +148,8 @@ module.factory('rpId', ['$rootScope', '$location', '$route', '$routeParams', '$t $scope.$on('$blobUpdate', function() { if (!settings.blobIsValid($scope.userBlob)) return; + $scope.ripple_exchange_selection_trade = settings.getSetting($scope.userBlob, 'rippleExchangeSelectionTrade', false); + var d = $scope.userBlob.data; Options.advanced_feature_switch = settings.getSetting($scope.userBlob, 'trust.advancedMode', false); Options.historyApi = settings.getSetting($scope.userBlob, 'historyApi', Options.historyApi).replace(/[\/]*$/, ''); diff --git a/src/js/tabs/exchange.controller.js b/src/js/tabs/exchange.controller.js index cc496afbb..5ea47b5c0 100644 --- a/src/js/tabs/exchange.controller.js +++ b/src/js/tabs/exchange.controller.js @@ -1,5 +1,6 @@ var util = require('util'), webutil = require('../util/web'), + settings = require('../util/settings'), Tab = require('../client/tab').Tab, Amount = ripple.Amount, Base = ripple.Base, @@ -27,6 +28,18 @@ ExchangeTab.prototype.angular = function (module) var timer; var pf = null; + if (settings.blobIsValid($scope.userBlob)) { + if (settings.getSetting($scope.userBlob, 'rippleExchangeSelectionTrade', false)) { + $scope.userBlob.set('/clients/rippletradecom/rippleExchangeSelectionTrade', false); + } + } else { + var removeListener = $scope.$on('$blobUpdate', function() { + if (settings.getSetting($scope.userBlob, 'rippleExchangeSelectionTrade', false)) { + $scope.userBlob.set('/clients/rippletradecom/rippleExchangeSelectionTrade', false); + } + removeListener(); + }); + } // Remember user preference on Convert vs. Trade $rootScope.ripple_exchange_selection_trade = false; diff --git a/src/js/tabs/trade.controller.js b/src/js/tabs/trade.controller.js index 64cba371d..f8aa929b1 100644 --- a/src/js/tabs/trade.controller.js +++ b/src/js/tabs/trade.controller.js @@ -55,6 +55,24 @@ TradeTab.prototype.angular = function(module) reverse: false }; + function onBlobIsValid() { + $scope.pairs_query = settings.getSetting($scope.userBlob, 'trade_currency_pairs'); + // Remember user preference on Convert vs. Trade + if (!settings.getSetting($scope.userBlob, 'rippleExchangeSelectionTrade', false)) { + $scope.userBlob.set('/clients/rippletradecom/rippleExchangeSelectionTrade', true); + } + } + + if (settings.blobIsValid($scope.userBlob)) { + onBlobIsValid(); + } else { + var removeListener = $scope.$on('$blobUpdate', function() { + if (!settings.blobIsValid($scope.userBlob)) return; + onBlobIsValid(); + removeListener(); + }); + } + $scope.sortOptions.sortFieldName = $scope.ordersSortFieldChoicesKeyed[$scope.sortOptions.sortField]; $scope.$watch('sortOptions.sortFieldName', function () { @@ -70,8 +88,6 @@ TradeTab.prototype.angular = function(module) // Remember user preference on Convert vs. Trade $rootScope.ripple_exchange_selection_trade = true; - $scope.pairs_query = settings.getSetting($scope.userBlob, 'trade_currency_pairs'); - $scope.currencies_all = require('../data/currencies'); $scope.currencies = []; From ef6f0198639f756ecff180e1c27d8fb1274dfd3b Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 28 Apr 2015 05:26:58 +0300 Subject: [PATCH 258/321] [FIX] handle change to async validators (RT-3204) In forms that use rpAvailableName or rpDest check not only for $invalid, but for $pending too. On send tab better handle changes to recipient address when form invalidates. --- src/js/tabs/send.controller.js | 25 ++++++++++++++++++++----- src/templates/tabs/account/public.jade | 2 +- src/templates/tabs/contacts.jade | 2 +- src/templates/tabs/debug.jade | 2 +- src/templates/tabs/send.jade | 4 ++-- src/templates/tabs/trade.jade | 2 +- 6 files changed, 26 insertions(+), 11 deletions(-) diff --git a/src/js/tabs/send.controller.js b/src/js/tabs/send.controller.js index cb2769862..a169e142d 100644 --- a/src/js/tabs/send.controller.js +++ b/src/js/tabs/send.controller.js @@ -31,6 +31,7 @@ SendTab.prototype.angular = function (module) passwordUpdater, passwordUpdaterDestr; + var pathUpdateTimeout; var timer; var xrpCurrency = Currency.from_json('XRP'); @@ -109,8 +110,24 @@ SendTab.prototype.angular = function (module) // When the send form is invalid, path finding won't trigger. So if the form // is changed by one of the update_* handlers and becomes valid during the // next digest, we need to manually trigger another update_amount. - $scope.$watch('sendForm.$valid', function () { - $scope.update_amount(); + $scope.$watch('sendForm.$valid', function(v) { + if (v) { + $scope.update_amount(); + } else { + $scope.send.last_recipient = null; + $scope.send.path_status = 'waiting'; + $scope.send.fund_status = 'none'; + + if ($scope.send.pathfind) { + $scope.send.pathfind.close(); + delete $scope.send.pathfind; + } + if (pathUpdateTimeout) { + $timeout.cancel(pathUpdateTimeout); + pathUpdateTimeout = null; + } + $scope.reset_paths(); + } }); // Reset everything that depends on the destination @@ -531,8 +548,6 @@ SendTab.prototype.angular = function (module) $scope.update_amount(); }; - var pathUpdateTimeout; - $scope.reset_amount_deps = function () { var send = $scope.send; send.sender_insufficient_xrp = false; @@ -719,7 +734,7 @@ SendTab.prototype.angular = function (module) send.alternatives = []; }; - $scope.update_paths = function () { + $scope.update_paths = function() { var send = $scope.send; var recipient = send.recipient_actual || send.recipient_address; var amount = send.amount_actual || send.amount_feedback; diff --git a/src/templates/tabs/account/public.jade b/src/templates/tabs/account/public.jade index e7ff95f43..0b924a1d6 100644 --- a/src/templates/tabs/account/public.jade +++ b/src/templates/tabs/account/public.jade @@ -54,7 +54,7 @@ h4(l10n) Account settings .row .col-xs-12.col-sm-6 button.btn.btn-success.btn-block(type="submit" - ng-disabled="renameForm.$invalid || loading") + ng-disabled="renameForm.$invalid || loading || renameForm.$pending") span(ng-hide="loading", l10n) Submit span(ng-show="loading", l10n) Loading... .col-xs-12.col-sm-6 diff --git a/src/templates/tabs/contacts.jade b/src/templates/tabs/contacts.jade index 0fb981fe8..3e9a68b57 100644 --- a/src/templates/tabs/contacts.jade +++ b/src/templates/tabs/contacts.jade @@ -94,7 +94,7 @@ section.col-xs-12.content(ng-controller="ContactsCtrl") .error(ng-message='rpUnique', l10n) You already have a contact with the same Ripple name and/or the same Destination tag. .row .col-xs-8.col-sm-8.col-md-9.text-left - button.btn.btn-success.btn-block.submit.custom-btn(type='submit', ng-disabled='addForm.$invalid', l10n) Add contact + button.btn.btn-success.btn-block.submit.custom-btn(type='submit', ng-disabled='addForm.$invalid || addForm.$pending', l10n) Add contact .col-xs-4.col-sm-4.col-md-3.text-center button.btn.btn-default.btn-block.custom-btn.btn-cancel(type='button', ng-click='addform_visible = false', l10n) cancel diff --git a/src/templates/tabs/debug.jade b/src/templates/tabs/debug.jade index 1e8f0fdc0..b2b82515c 100644 --- a/src/templates/tabs/debug.jade +++ b/src/templates/tabs/debug.jade @@ -22,6 +22,6 @@ section.col-xs-12.content(ng-controller='DebugPretendCtrl') .error(ng-message='rpDest', l10n) Not a valid address. .row.row-padding-small.amount .col-xs-12.col-sm-9.col-md-6 - button.btn.btn-block.btn-success(type="submit", ng-disabled='debugPretendForm.$invalid', l10n) + button.btn.btn-block.btn-success(type="submit", ng-disabled='debugPretendForm.$invalid || debugPretendForm.$pending', l10n) | Turn on debug mode diff --git a/src/templates/tabs/send.jade b/src/templates/tabs/send.jade index 98bdb4a6f..fa0da0b51 100644 --- a/src/templates/tabs/send.jade +++ b/src/templates/tabs/send.jade @@ -177,7 +177,7 @@ section.col-xs-12.content(ng-controller='SendCtrl') .row .col-xs-12.col-sm-6.col-md-4(ng-show="send.currency_code == 'XRP'") button#sendXrpButton.btn.btn-block.btn-success.submit(type='submit' - ng-disabled='sendForm.$invalid || send.self || send.insufficient || !send.recipient_resolved || account.max_spend.to_number() < send.amount * 1000000', l10n) + ng-disabled='sendForm.$invalid || sendForm.$pending || send.self || send.insufficient || !send.recipient_resolved || account.max_spend.to_number() < send.amount * 1000000', l10n) | Send XRP .remote //- Messages @@ -240,7 +240,7 @@ section.col-xs-12.content(ng-controller='SendCtrl') span.pair {{alt.amount | rpcurrency}}/{{send.currency_code}} | ) button.btn.btn-block.btn-success(type="submit" - ng-disabled='sendForm.$invalid', ng-click="send.alt = alt", l10n) + ng-disabled='sendForm.$invalid || sendForm.$pending', ng-click="send.alt = alt", l10n) | Send {{ alt.amount | rpcurrency }} span(ng-hide="alt.amount.is_native() || alt.amount.issuer().to_json() == account.Account") ( span.issuer( diff --git a/src/templates/tabs/trade.jade b/src/templates/tabs/trade.jade index aba417d93..0e7cc87c0 100644 --- a/src/templates/tabs/trade.jade +++ b/src/templates/tabs/trade.jade @@ -78,7 +78,7 @@ section.col-xs-12.content(ng-controller="TradeCtrl") .col-sm-4.col-lg-2.col-xs-6#cancel_button button.btn.btn-cancel.btn-block(type="button", ng-click="adding_pair = false", l10n) cancel .col-sm-4.col-lg-2.col-xs-6#add_button - button.btn.btn-success.btn-block.submit(type="submit", ng-disabled="gateway_change_form.$invalid", l10n) Add + button.btn.btn-success.btn-block.submit(type="submit", ng-disabled="gateway_change_form.$invalid || gateway_change_form.$pending", l10n) Add form.issuerSelector.first-issuer(name='first_issuer_form', ng-show='show_issuer_form == "first"') label(for='first_issuer', l10n) Base currency issuer ({{order.first_currency | rpcurrency}}) From 015e4c4f2fb8becc277759fe8e653e454dc5fd3a Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Wed, 29 Apr 2015 01:18:17 +0300 Subject: [PATCH 259/321] [FIX] Custom gateways: do not show Add (RT-3340) Do not show "Add" button in custom gateways pages while Ripple name is loading --- src/templates/tabs/brl.jade | 11 +++++++---- src/templates/tabs/btc.jade | 2 +- src/templates/tabs/eur.jade | 7 +++++-- src/templates/tabs/gold.jade | 7 +++++-- src/templates/tabs/jpy.jade | 7 +++++-- src/templates/tabs/mxn.jade | 7 +++++-- src/templates/tabs/sgd.jade | 7 +++++-- src/templates/tabs/usd.jade | 7 +++++-- 8 files changed, 38 insertions(+), 17 deletions(-) diff --git a/src/templates/tabs/brl.jade b/src/templates/tabs/brl.jade index bfa132c10..d52d1f69e 100644 --- a/src/templates/tabs/brl.jade +++ b/src/templates/tabs/brl.jade @@ -74,20 +74,23 @@ section.col-xs-12.content(ng-controller='BrlCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4.action-btn-wrapper - button.btn.btn-large.btn-primary(type="submit",ng-click="save_account()", ng-hide="brlConnected", ng-disabled="loading || !account.Balance || !can_add_trust") + button.btn.btn-large.btn-primary(type="submit",ng-click="save_account()", ng-hide="brlConnected || !loadState.account", ng-disabled="loading || !account.Balance || !can_add_trust") span(ng-show="!loading", l10n) Add Rippex span(ng-show="loading", l10n) Adding... button.btn.btn-large.btn-primary(ng-show="showInstructions && brlConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large.btn-primary(ng-show="!showInstructions && brlConnected ", type="submit", ng-click="toggle_instructions()", l10n) Show instructions .connect.col-xs-5.col-sm-7.col-md-8 - .description(ng-show="!brlConnected && account.Balance", l10n) + .description(ng-show="!brlConnected && account.Balance && !loadingAccount", l10n) i.fa.fa-times | Not connected - .description(ng-show="brlConnected && account.Balance", l10n) + .description(ng-show="brlConnected && account.Balance && !loadingAccount", l10n) i.fa.fa-check | Connected - .description(ng-show="!account.Balance", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!loadState.account") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... .row.fund-tab-description(ng-show="showInstructions && brlConnected") .instructions.col-md-10 a.dismiss(href="", id="hide", ng-click="toggle_instructions()", l10n) × diff --git a/src/templates/tabs/btc.jade b/src/templates/tabs/btc.jade index f1d808338..518955575 100644 --- a/src/templates/tabs/btc.jade +++ b/src/templates/tabs/btc.jade @@ -61,7 +61,7 @@ section.col-xs-12.content(ng-controller='BtcCtrl') .col-xs-7.col-sm-5.col-md-4 rp-popup a.btn.btn-success.btn-sm.btn-block.sign(href="", rp-popup-link, - ng-click="openPopup()", ng-show="!btcConnected && !loading", ng-disabled="emailError", ng-hide="btcConnected",l10n) Add btc2ripple + ng-click="openPopup()", ng-show="!btcConnected && !loading && !loadingAccount && loadState.B2RApp", ng-disabled="emailError", ng-hide="btcConnected",l10n) Add btc2ripple div.connectModal(rp-popup-content) .modal-header .navbar-brand.hidden-sm.modal-logo#logo diff --git a/src/templates/tabs/eur.jade b/src/templates/tabs/eur.jade index 678f1ac76..91c952399 100644 --- a/src/templates/tabs/eur.jade +++ b/src/templates/tabs/eur.jade @@ -69,7 +69,7 @@ section.col-xs-12.content(ng-controller='EurCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large.btn-primary(ng-show="!eurConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add SnapSwap.eu + button.btn.btn-large.btn-primary(ng-show="!eurConnected && !loading && loadState.account", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add SnapSwap.eu button.btn.btn-large.btn-primary(ng-show="!eurConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... button.btn.btn-large.btn-primary(ng-show="showInstructions && eurConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large.btn-primary(ng-show="eurConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions @@ -77,7 +77,10 @@ section.col-xs-12.content(ng-controller='EurCtrl') .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="loading") .description.fa.fa-times(ng-show="!eurConnected && account.Balance", l10n) Not connected .description.fa.fa-check(ng-show="eurConnected && account.Balance", l10n) Connected - .description(ng-show="!account.Balance", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!loadState.account") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... .row(ng-show="showInstructions && eurConnected") .instructions.col-md-10 diff --git a/src/templates/tabs/gold.jade b/src/templates/tabs/gold.jade index 568cda701..7c625e6dc 100644 --- a/src/templates/tabs/gold.jade +++ b/src/templates/tabs/gold.jade @@ -67,7 +67,7 @@ section.col-xs-12.content(ng-controller='GoldCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large.btn-primary(ng-show="!gbiConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add GBI + button.btn.btn-large.btn-primary(ng-show="!gbiConnected && !loading && loadState.account", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add GBI button.btn.btn-large.btn-primary(ng-show="!gbiConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... button.btn.btn-large.btn-primary(ng-show="showInstructions && gbiConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large.btn-primary(ng-show="gbiConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions @@ -79,7 +79,10 @@ section.col-xs-12.content(ng-controller='GoldCtrl') .description(ng-show="gbiConnected && account.Balance", l10n) i.fa.fa-check | Connected - .description(ng-show="!account.Balance", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!loadState.account") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... .row(ng-show="showInstructions && gbiConnected") .instructions.col-md-10 a.dismiss#hide(href="", ng-click="toggle_instructions()", l10n) × diff --git a/src/templates/tabs/jpy.jade b/src/templates/tabs/jpy.jade index d11f92a1f..c6e368b8b 100644 --- a/src/templates/tabs/jpy.jade +++ b/src/templates/tabs/jpy.jade @@ -68,7 +68,7 @@ section.col-xs-12.content(ng-controller='JpyCtrl') .descriptor(ng-show="!jpyConnected", l10n) Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your behalf. .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large.btn-primary(ng-show="!jpyConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Tokyo JPY + button.btn.btn-large.btn-primary(ng-show="!jpyConnected && !loading && loadState.account", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Tokyo JPY button.btn.btn-large.btn-primary(ng-show="!jpyConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... button.btn.btn-large.btn-primary(ng-show="showInstructions && jpyConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large.btn-primary(ng-show="jpyConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions @@ -80,7 +80,10 @@ section.col-xs-12.content(ng-controller='JpyCtrl') .description(ng-show="jpyConnected && account.Balance", l10n) i.fa.fa-check | Connected - .description(ng-show="!account.Balance", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!loadState.account") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... .row(ng-show="showInstructions && jpyConnected") .instructions.col-md-10 a.dismiss(href="", id="hide", ng-click="toggle_instructions()", l10n) × diff --git a/src/templates/tabs/mxn.jade b/src/templates/tabs/mxn.jade index ba526b11c..2c40097c1 100644 --- a/src/templates/tabs/mxn.jade +++ b/src/templates/tabs/mxn.jade @@ -70,7 +70,7 @@ section.col-xs-12.content(ng-controller='MxnCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large.btn-primary(ng-show="!mxnConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Bitso + button.btn.btn-large.btn-primary(ng-show="!mxnConnected && !loading && loadState.account", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Bitso button.btn.btn-large.btn-primary(ng-show="!mxnConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... button.btn.btn-large.btn-primary(ng-show="showInstructions && mxnConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large.btn-primary(ng-show="mxnConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions @@ -82,7 +82,10 @@ section.col-xs-12.content(ng-controller='MxnCtrl') .description(ng-show="mxnConnected && account.Balance", l10n) i.fa.fa-check | Connected - .description(ng-show="!account.Balance", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!loadState.account") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... .row(ng-show="showInstructions && mxnConnected") .instructions.col-md-10 a.dismiss#hide(href="", ng-click="toggle_instructions()", l10n) × diff --git a/src/templates/tabs/sgd.jade b/src/templates/tabs/sgd.jade index 146aaeae3..06ad5c412 100644 --- a/src/templates/tabs/sgd.jade +++ b/src/templates/tabs/sgd.jade @@ -69,7 +69,7 @@ section.col-xs-12.content(ng-controller='SgdCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large.btn-primary(ng-show="!sgdConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Ripple Singapore + button.btn.btn-large.btn-primary(ng-show="!sgdConnected && !loading && loadState.account", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Ripple Singapore button.btn.btn-large.btn-primary(ng-show="!sgdConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... button.btn.btn-large.btn-primary(ng-show="showInstructions && sgdConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large.btn-primary(ng-show="sgdConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions @@ -81,7 +81,10 @@ section.col-xs-12.content(ng-controller='SgdCtrl') .description(ng-show="sgdConnected && account.Balance", l10n) i.fa.fa-check | Connected - .description(ng-show="!account.Balance", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!loadState.account") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... .row(ng-show="showInstructions && sgdConnected") .instructions.col-md-10 diff --git a/src/templates/tabs/usd.jade b/src/templates/tabs/usd.jade index 1cbd36447..a5953e67b 100644 --- a/src/templates/tabs/usd.jade +++ b/src/templates/tabs/usd.jade @@ -66,7 +66,7 @@ section.col-xs-12.content(ng-controller='UsdCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large.btn-primary(ng-show="!usdConnected && !loading", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add SnapSwap.us + button.btn.btn-large.btn-primary(ng-show="!usdConnected && !loading && loadState.account", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add SnapSwap.us button.btn.btn-large.btn-primary(ng-show="!usdConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... button.btn.btn-large.btn-primary(ng-show="showInstructions && usdConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-large.btn-primary(ng-show="usdConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions @@ -74,7 +74,10 @@ section.col-xs-12.content(ng-controller='UsdCtrl') .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="loading") .description.fa.fa-times(ng-show="!usdConnected && account.Balance", l10n) Not connected .description.fa.fa-check(ng-show="usdConnected && account.Balance", l10n) Connected - .description(ng-show="!account.Balance", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!loadState.account") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... .row(ng-show="showInstructions && usdConnected") .instructions.col-md-10 From b7b0a2e2800624ee0710e5c9df11b5d676b46698 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 30 Apr 2015 01:47:04 +0300 Subject: [PATCH 260/321] just trigger travis build --- src/js/tabs/exchange.controller.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/js/tabs/exchange.controller.js b/src/js/tabs/exchange.controller.js index 91a2d8658..6292882f3 100644 --- a/src/js/tabs/exchange.controller.js +++ b/src/js/tabs/exchange.controller.js @@ -79,13 +79,13 @@ ExchangeTab.prototype.angular = function (module) $location.path('/xrp'); }; - $scope.reset_paths = function () { + $scope.reset_paths = function() { var exchange = $scope.exchange; exchange.alternatives = []; }; - $scope.update_exchange = function () { + $scope.update_exchange = function() { var exchange = $scope.exchange; var currency = ripple.Currency.from_human(exchange.currency_name); From f34fff1e9dad2c669b40bb6f43c49dfdf58c4918 Mon Sep 17 00:00:00 2001 From: Yong-Soo Chung Date: Wed, 29 Apr 2015 14:03:51 -0700 Subject: [PATCH 261/321] Fix: SnapSwap link (RT-3314) --- src/less/ripple/tabs/gateways.less | 3 +++ src/templates/tabs/btc.jade | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/less/ripple/tabs/gateways.less b/src/less/ripple/tabs/gateways.less index 0fdf8241b..b81c2e7bd 100644 --- a/src/less/ripple/tabs/gateways.less +++ b/src/less/ripple/tabs/gateways.less @@ -229,7 +229,10 @@ font-size: 14px; padding-bottom: 10px; //border-right: thin solid @black; + } + .snapswap-support-link { + margin: -10px 0 10px 0; } .descriptor { diff --git a/src/templates/tabs/btc.jade b/src/templates/tabs/btc.jade index 518955575..f969523bf 100644 --- a/src/templates/tabs/btc.jade +++ b/src/templates/tabs/btc.jade @@ -114,7 +114,9 @@ section.col-xs-12.content(ng-controller='BtcCtrl') .btc-address(ng-bind="B2R.instructions.instructionParams[0].value") .description(l10n) Your account is fully verified. div(ng-show="loadState.B2RInstructions") - .description(ng-bind="B2R.instructions.instruction") + .description(ng-bind="B2R.instructions.instruction") + .snapswap-support-link + a(href="https://b2r.uservoice.com/knowledgebase/articles/466148" target="_blank") More information //.about(ng-hide="account.Balance", l10n) A small amount (~.001 BTC) of your first | transfer will be converted to XRP to activate your wallet. a.why(href="https://ripple.com/wiki/Reserves", From 26dcdee00bec3ac32f1846600c75152b5133295f Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 29 Apr 2015 17:03:38 -0700 Subject: [PATCH 262/321] [FIX] Trade: Show right numbers in trade confirmation --- src/templates/tabs/trade.jade | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/templates/tabs/trade.jade b/src/templates/tabs/trade.jade index 0e7cc87c0..2fb12254e 100644 --- a/src/templates/tabs/trade.jade +++ b/src/templates/tabs/trade.jade @@ -254,7 +254,7 @@ section.col-xs-12.content(ng-controller="TradeCtrl") label(l10n) Order Value (max) .input-group input.form-control(name='value', type='text' - ng-model='order[type].price', ng-change='calc_first(type)' + ng-model='order[type].second', ng-change='calc_first(type)' rp-autofill='$routeParams.type == type && $routeParams.max' rp-autofill-amount rp-amount @@ -337,7 +337,7 @@ section.col-xs-12.content(ng-controller="TradeCtrl") .dest_feedback label(l10n) Price of each div.each-price - span.value {{order[type].price}} + span.value {{order[type].price}} sub span.currency {{order.currency_pair}} //- span.currency {{order[type].second_amount | rpcurrency}} / @@ -353,7 +353,7 @@ section.col-xs-12.content(ng-controller="TradeCtrl") .rate_feedback label(l10n) Order Value (max) div.max-value - span.rate {{order[type].price }} + span.rate {{order[type].second_amount | rpamount: {abs_precision: 6} }} sub.pair {{order[type].second_amount | rpcurrency}} per {{order[type].first_amount | rpcurrency}} p.literal.confirm-text(l10n-inc) Are you sure? .row.row-padding-small From 517dbf68635d3449ee5dad684da7739d9bb1a16a Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Wed, 29 Apr 2015 17:10:59 -0700 Subject: [PATCH 263/321] [TASK] Gulp: Enable all languages --- gulpfile.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index f9bb566a4..3920fa33c 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -212,8 +212,7 @@ languages.forEach(function(language){ languageTasks.push('templates:' + language.code); }); -//gulp.task('templates:dist', $.sync(gulp).sync(languageTasks)); -gulp.task('templates:dist', ['templates:en']); +gulp.task('templates:dist', $.sync(gulp).sync(languageTasks)); // Default Task (Dev environment) gulp.task('default', ['dev'], function() { From ef57b6e2f23b89b373cbcaecc3544c3ac2616698 Mon Sep 17 00:00:00 2001 From: Anna Tong Date: Wed, 29 Apr 2015 17:28:56 -0700 Subject: [PATCH 264/321] [FIX] wording fixes to btc page --- src/templates/tabs/btc.jade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/templates/tabs/btc.jade b/src/templates/tabs/btc.jade index f969523bf..51d3c4c65 100644 --- a/src/templates/tabs/btc.jade +++ b/src/templates/tabs/btc.jade @@ -110,9 +110,9 @@ section.col-xs-12.content(ng-controller='BtcCtrl') //a.dismiss#hide(href="", ng-click="toggle_instructions()") × .active.col-xs-12(ng-show="B2R.active") - .title(l10n) Personal Deposit address + .title(l10n) Personal Bitcoin Deposit address (deposit BTC to your Ripple account by sending BTC to this address) .btc-address(ng-bind="B2R.instructions.instructionParams[0].value") - .description(l10n) Your account is fully verified. + .description(l10n) You can deposit an unlimited amount of BTC. div(ng-show="loadState.B2RInstructions") .description(ng-bind="B2R.instructions.instruction") .snapswap-support-link From 18caca0e7d5a2c4c215556bb998142f48b4e19b3 Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Thu, 30 Apr 2015 22:33:18 +0400 Subject: [PATCH 265/321] [TASK] Breakpoints in send cut off longer values when in tablet view (RT-2719) --- src/less/ripple/tabs/send.less | 4 ++++ src/templates/tabs/send.jade | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/less/ripple/tabs/send.less b/src/less/ripple/tabs/send.less index e02d186f7..4f69c30d4 100644 --- a/src/less/ripple/tabs/send.less +++ b/src/less/ripple/tabs/send.less @@ -1,4 +1,8 @@ #t-send { + .inputSpinner { + top: 20px; + right: 20px; + } .rp-combobox { display: block; diff --git a/src/templates/tabs/send.jade b/src/templates/tabs/send.jade index fa0da0b51..d4de6b2c3 100644 --- a/src/templates/tabs/send.jade +++ b/src/templates/tabs/send.jade @@ -32,7 +32,7 @@ section.col-xs-12.content(ng-controller='SendCtrl') ng-show='mode=="form" && account.Balance' ng-submit='send_prepared()') .row.form-group - .col-xs-12.col-sm-8.col-md-6 + .col-xs-12.col-sm-9.col-md-9 label(for='send_destination', l10n) Recipient input.form-control#send_destination( name='send_destination', type='text' @@ -62,7 +62,7 @@ section.col-xs-12.content(ng-controller='SendCtrl') ng-hide="send.show_dt_field || send.bitcoin || send.federation", l10n) | Show destination tag .row.form-group(ng-show='send.show_dt_field') - .col-xs-12.col-sm-8.col-md-6 + .col-xs-12.col-sm-9.col-md-9 label(for='send_dt', l10n) Destination tag a(href="", ng-click="send.show_dt_field = false", l10n) hide input.form-control#send_dt( @@ -119,7 +119,7 @@ section.col-xs-12.content(ng-controller='SendCtrl') .form-group(ng-show="send.currency_choices.length") label(for='send_amount', l10n) Recipient will receive .row.amount(ng-if="!send.currency_force") - .col-xs-3.col-sm-3.col-md-3 + .col-xs-4.col-sm-3.col-md-3 input.form-control#send_amount( name='send_amount', type='text' ng-model='send.amount' @@ -131,7 +131,7 @@ section.col-xs-12.content(ng-controller='SendCtrl') rp-amount-xrp-limit rp-amount-currency='{{send.currency}}' rp-max-digits) - .col-xs-9.col-sm-6.col-md-4 + .col-xs-8.col-sm-6.col-md-6 input.form-control.currency#send_amount_currency( name='send_amount_currency', type='text' rp-combobox="{{send.currency_choices}}", rp-combobox-select From cc165e08c202a54c8b6e5f1b9e8b139f698e820f Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Fri, 1 May 2015 21:27:27 +0300 Subject: [PATCH 266/321] [TEST] fixes to e2e tests --- test/selenium/tests-private/AddTrust.json | 2 +- .../tests-private/CustomGatewaysBRL.json | 10 ++-- .../tests-private/CustomGatewaysEUR.json | 8 ++- .../tests-private/CustomGatewaysJPY.json | 8 ++- .../tests-private/CustomGatewaysMXN.json | 8 ++- .../tests-private/CustomGatewaysSGD.json | 8 ++- .../tests-private/CustomGatewaysUSD.json | 8 ++- .../tests-private/CustomGatewaysXAU.json | 8 ++- test/selenium/tests-private/SendLimits.json | 4 +- test/selenium/tests-private/TradeNonXRP.json | 24 +++++++-- test/selenium/tests-private/TradeXRP.json | 51 +++++++++++++++++-- 11 files changed, 115 insertions(+), 24 deletions(-) diff --git a/test/selenium/tests-private/AddTrust.json b/test/selenium/tests-private/AddTrust.json index f220eca74..50481eb5f 100644 --- a/test/selenium/tests-private/AddTrust.json +++ b/test/selenium/tests-private/AddTrust.json @@ -60,7 +60,7 @@ "type": "clickElement", "locator": { "type": "link text", - "value": "Gateways" + "value": "Add any gateway (trust lines)" } }, { diff --git a/test/selenium/tests-private/CustomGatewaysBRL.json b/test/selenium/tests-private/CustomGatewaysBRL.json index 29636d8fa..685ee873e 100644 --- a/test/selenium/tests-private/CustomGatewaysBRL.json +++ b/test/selenium/tests-private/CustomGatewaysBRL.json @@ -67,11 +67,15 @@ "type": "waitForTextPresent", "text": "Brazil" }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "clickElement", "locator": { "type": "xpath", - "value": "//div[@id='t-brl']//button[.='Add RippexAdding...']" + "value": "//div[@id='t-brl']//button[.=' Add Rippex Adding...']" } }, { @@ -171,7 +175,7 @@ "type": "clickElement", "locator": { "type": "link text", - "value": "Gateways" + "value": "Add any gateway (trust lines)" } }, { @@ -227,7 +231,7 @@ }, { "type": "waitForTextPresent", - "text": "Australian", + "text": "Real", "negated": true }, { diff --git a/test/selenium/tests-private/CustomGatewaysEUR.json b/test/selenium/tests-private/CustomGatewaysEUR.json index 1b688722e..1ac5f4d87 100644 --- a/test/selenium/tests-private/CustomGatewaysEUR.json +++ b/test/selenium/tests-private/CustomGatewaysEUR.json @@ -67,6 +67,10 @@ "type": "waitForTextPresent", "text": "Euro" }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "clickElement", "locator": { @@ -171,7 +175,7 @@ "type": "clickElement", "locator": { "type": "link text", - "value": "Gateways" + "value": "Add any gateway (trust lines)" } }, { @@ -227,7 +231,7 @@ }, { "type": "waitForTextPresent", - "text": "Australian", + "text": "Euro", "negated": true }, { diff --git a/test/selenium/tests-private/CustomGatewaysJPY.json b/test/selenium/tests-private/CustomGatewaysJPY.json index 06c44b02b..9a92fa856 100644 --- a/test/selenium/tests-private/CustomGatewaysJPY.json +++ b/test/selenium/tests-private/CustomGatewaysJPY.json @@ -67,6 +67,10 @@ "type": "waitForTextPresent", "text": "Tokyo" }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "clickElement", "locator": { @@ -171,7 +175,7 @@ "type": "clickElement", "locator": { "type": "link text", - "value": "Gateways" + "value": "Add any gateway (trust lines)" } }, { @@ -227,7 +231,7 @@ }, { "type": "waitForTextPresent", - "text": "Australian", + "text": "Japanese", "negated": true }, { diff --git a/test/selenium/tests-private/CustomGatewaysMXN.json b/test/selenium/tests-private/CustomGatewaysMXN.json index 11b403eaa..4d4aceed2 100644 --- a/test/selenium/tests-private/CustomGatewaysMXN.json +++ b/test/selenium/tests-private/CustomGatewaysMXN.json @@ -67,6 +67,10 @@ "type": "waitForTextPresent", "text": "Mexican" }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "clickElement", "locator": { @@ -171,7 +175,7 @@ "type": "clickElement", "locator": { "type": "link text", - "value": "Gateways" + "value": "Add any gateway (trust lines)" } }, { @@ -227,7 +231,7 @@ }, { "type": "waitForTextPresent", - "text": "Australian", + "text": "Mexican", "negated": true }, { diff --git a/test/selenium/tests-private/CustomGatewaysSGD.json b/test/selenium/tests-private/CustomGatewaysSGD.json index 829f0af03..e577d2a78 100644 --- a/test/selenium/tests-private/CustomGatewaysSGD.json +++ b/test/selenium/tests-private/CustomGatewaysSGD.json @@ -67,6 +67,10 @@ "type": "waitForTextPresent", "text": "Singapore" }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "clickElement", "locator": { @@ -171,7 +175,7 @@ "type": "clickElement", "locator": { "type": "link text", - "value": "Gateways" + "value": "Add any gateway (trust lines)" } }, { @@ -227,7 +231,7 @@ }, { "type": "waitForTextPresent", - "text": "Australian", + "text": "Singapore", "negated": true }, { diff --git a/test/selenium/tests-private/CustomGatewaysUSD.json b/test/selenium/tests-private/CustomGatewaysUSD.json index 3155a339b..9cee839f4 100644 --- a/test/selenium/tests-private/CustomGatewaysUSD.json +++ b/test/selenium/tests-private/CustomGatewaysUSD.json @@ -67,6 +67,10 @@ "type": "waitForTextPresent", "text": "USA" }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "clickElement", "locator": { @@ -171,7 +175,7 @@ "type": "clickElement", "locator": { "type": "link text", - "value": "Gateways" + "value": "Add any gateway (trust lines)" } }, { @@ -227,7 +231,7 @@ }, { "type": "waitForTextPresent", - "text": "Australian", + "text": "Dollar", "negated": true }, { diff --git a/test/selenium/tests-private/CustomGatewaysXAU.json b/test/selenium/tests-private/CustomGatewaysXAU.json index 1947c13a0..2244478ca 100644 --- a/test/selenium/tests-private/CustomGatewaysXAU.json +++ b/test/selenium/tests-private/CustomGatewaysXAU.json @@ -67,6 +67,10 @@ "type": "waitForTextPresent", "text": "Gold" }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "clickElement", "locator": { @@ -171,7 +175,7 @@ "type": "clickElement", "locator": { "type": "link text", - "value": "Gateways" + "value": "Add any gateway (trust lines)" } }, { @@ -227,7 +231,7 @@ }, { "type": "waitForTextPresent", - "text": "Australian", + "text": "Gold", "negated": true }, { diff --git a/test/selenium/tests-private/SendLimits.json b/test/selenium/tests-private/SendLimits.json index e1fec98ae..570a1e474 100644 --- a/test/selenium/tests-private/SendLimits.json +++ b/test/selenium/tests-private/SendLimits.json @@ -17,7 +17,7 @@ "type": "id", "value": "login_username" }, - "text": "${FUNDED_USER_NAME}" + "text": "${FUNDED_USER_NAME2}" }, { "type": "setElementText", @@ -25,7 +25,7 @@ "type": "id", "value": "login_password" }, - "text": "${FUNDED_USER_PASSWORD}" + "text": "${FUNDED_USER_PASSWORD2}" }, { "type": "clickElement", diff --git a/test/selenium/tests-private/TradeNonXRP.json b/test/selenium/tests-private/TradeNonXRP.json index b44c09248..88f650afa 100644 --- a/test/selenium/tests-private/TradeNonXRP.json +++ b/test/selenium/tests-private/TradeNonXRP.json @@ -17,7 +17,7 @@ "type": "id", "value": "login_username" }, - "text": "${FUNDED_USER_NAME}" + "text": "${FUNDED_USER_NAME2}" }, { "type": "setElementText", @@ -25,7 +25,7 @@ "type": "id", "value": "login_password" }, - "text": "${FUNDED_USER_PASSWORD}" + "text": "${FUNDED_USER_PASSWORD2}" }, { "type": "clickElement", @@ -98,6 +98,10 @@ "type": "waitForTextPresent", "text": "BIDS" }, + { + "type": "pause", + "waitTime": "2000" + }, { "type": "setElementText", "locator": { @@ -143,7 +147,7 @@ "type": "id", "value": "popup_unlock_password" }, - "text": "${FUNDED_USER_PASSWORD}" + "text": "${FUNDED_USER_PASSWORD2}" }, { "type": "waitForElementAttribute", @@ -269,6 +273,20 @@ "value": "submit" } }, + { + "type": "waitForTextPresent", + "text": "Confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='actions']//button[.='Confirm']" + } + }, + + + { "type": "waitForElementPresent", "locator": { diff --git a/test/selenium/tests-private/TradeXRP.json b/test/selenium/tests-private/TradeXRP.json index 31f466a35..77c83da44 100644 --- a/test/selenium/tests-private/TradeXRP.json +++ b/test/selenium/tests-private/TradeXRP.json @@ -189,14 +189,28 @@ "value": "edit" } }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "waitForTextPresent", + "text": "n/a", + "negated": true + }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "setElementText", "locator": { "type": "name", "value": "editPrice" }, - "text": "1233" + "text": "12334" }, + { "type": "clickElement", "locator": { @@ -204,6 +218,17 @@ "value": "submit" } }, + { + "type": "waitForTextPresent", + "text": "Confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='actions']//button[.='Confirm']" + } + }, { "type": "waitForElementPresent", "locator": { @@ -214,7 +239,7 @@ { "type": "verifyText", - "text": "1,233", + "text": "12,334", "locator": { "type": "css selector", "value": "div[data-label='Limit']" @@ -238,6 +263,15 @@ "value": "edit" } }, + { + "type": "waitForTextPresent", + "text": "n/a", + "negated": true + }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "setElementText", "locator": { @@ -253,6 +287,17 @@ "value": "submit" } }, + { + "type": "waitForTextPresent", + "text": "Confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='actions']//button[.='Confirm']" + } + }, { "type": "waitForElementPresent", "locator": { @@ -270,7 +315,7 @@ }, { "type": "verifyText", - "text": "1,233", + "text": "12,334", "locator": { "type": "css selector", "value": "div[data-label='Limit']" From 71b157f173efb284f98fb694b51a59b8ef722522 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Fri, 1 May 2015 21:56:09 +0300 Subject: [PATCH 267/321] [FIX] Advanced Trade: fix edit order model put back edit order widget model that was changed accidentally --- src/templates/tabs/trade.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/templates/tabs/trade.jade b/src/templates/tabs/trade.jade index 0e7cc87c0..08a68cdb0 100644 --- a/src/templates/tabs/trade.jade +++ b/src/templates/tabs/trade.jade @@ -254,7 +254,7 @@ section.col-xs-12.content(ng-controller="TradeCtrl") label(l10n) Order Value (max) .input-group input.form-control(name='value', type='text' - ng-model='order[type].price', ng-change='calc_first(type)' + ng-model='order[type].second', ng-change='calc_first(type)' rp-autofill='$routeParams.type == type && $routeParams.max' rp-autofill-amount rp-amount From a6f9a550dd01293aa98d940e7872ff08c1297f65 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Fri, 1 May 2015 22:35:55 +0300 Subject: [PATCH 268/321] [TEST] move e2e private tests to separate dir this is for development. for testing they will be joined into one file for speedup --- test/selenium/{tests-private => tests-private-dev}/AddTrust.json | 0 .../{tests-private => tests-private-dev}/CustomGatewaysBRL.json | 0 .../{tests-private => tests-private-dev}/CustomGatewaysEUR.json | 0 .../{tests-private => tests-private-dev}/CustomGatewaysJPY.json | 0 .../{tests-private => tests-private-dev}/CustomGatewaysMXN.json | 0 .../{tests-private => tests-private-dev}/CustomGatewaysSGD.json | 0 .../{tests-private => tests-private-dev}/CustomGatewaysUSD.json | 0 .../{tests-private => tests-private-dev}/CustomGatewaysXAU.json | 0 test/selenium/{tests-private => tests-private-dev}/SendBTC.json | 0 .../{tests-private => tests-private-dev}/SendFederation.json | 0 .../selenium/{tests-private => tests-private-dev}/SendLimits.json | 0 test/selenium/{tests-private => tests-private-dev}/SendUSD.json | 0 test/selenium/{tests-private => tests-private-dev}/SendXrp.json | 0 .../{tests-private => tests-private-dev}/TradeNonXRP.json | 0 .../{tests-private => tests-private-dev}/TradePairsAddress.json | 0 .../{tests-private => tests-private-dev}/TradePairsName.json | 0 test/selenium/{tests-private => tests-private-dev}/TradeXRP.json | 0 17 files changed, 0 insertions(+), 0 deletions(-) rename test/selenium/{tests-private => tests-private-dev}/AddTrust.json (100%) rename test/selenium/{tests-private => tests-private-dev}/CustomGatewaysBRL.json (100%) rename test/selenium/{tests-private => tests-private-dev}/CustomGatewaysEUR.json (100%) rename test/selenium/{tests-private => tests-private-dev}/CustomGatewaysJPY.json (100%) rename test/selenium/{tests-private => tests-private-dev}/CustomGatewaysMXN.json (100%) rename test/selenium/{tests-private => tests-private-dev}/CustomGatewaysSGD.json (100%) rename test/selenium/{tests-private => tests-private-dev}/CustomGatewaysUSD.json (100%) rename test/selenium/{tests-private => tests-private-dev}/CustomGatewaysXAU.json (100%) rename test/selenium/{tests-private => tests-private-dev}/SendBTC.json (100%) rename test/selenium/{tests-private => tests-private-dev}/SendFederation.json (100%) rename test/selenium/{tests-private => tests-private-dev}/SendLimits.json (100%) rename test/selenium/{tests-private => tests-private-dev}/SendUSD.json (100%) rename test/selenium/{tests-private => tests-private-dev}/SendXrp.json (100%) rename test/selenium/{tests-private => tests-private-dev}/TradeNonXRP.json (100%) rename test/selenium/{tests-private => tests-private-dev}/TradePairsAddress.json (100%) rename test/selenium/{tests-private => tests-private-dev}/TradePairsName.json (100%) rename test/selenium/{tests-private => tests-private-dev}/TradeXRP.json (100%) diff --git a/test/selenium/tests-private/AddTrust.json b/test/selenium/tests-private-dev/AddTrust.json similarity index 100% rename from test/selenium/tests-private/AddTrust.json rename to test/selenium/tests-private-dev/AddTrust.json diff --git a/test/selenium/tests-private/CustomGatewaysBRL.json b/test/selenium/tests-private-dev/CustomGatewaysBRL.json similarity index 100% rename from test/selenium/tests-private/CustomGatewaysBRL.json rename to test/selenium/tests-private-dev/CustomGatewaysBRL.json diff --git a/test/selenium/tests-private/CustomGatewaysEUR.json b/test/selenium/tests-private-dev/CustomGatewaysEUR.json similarity index 100% rename from test/selenium/tests-private/CustomGatewaysEUR.json rename to test/selenium/tests-private-dev/CustomGatewaysEUR.json diff --git a/test/selenium/tests-private/CustomGatewaysJPY.json b/test/selenium/tests-private-dev/CustomGatewaysJPY.json similarity index 100% rename from test/selenium/tests-private/CustomGatewaysJPY.json rename to test/selenium/tests-private-dev/CustomGatewaysJPY.json diff --git a/test/selenium/tests-private/CustomGatewaysMXN.json b/test/selenium/tests-private-dev/CustomGatewaysMXN.json similarity index 100% rename from test/selenium/tests-private/CustomGatewaysMXN.json rename to test/selenium/tests-private-dev/CustomGatewaysMXN.json diff --git a/test/selenium/tests-private/CustomGatewaysSGD.json b/test/selenium/tests-private-dev/CustomGatewaysSGD.json similarity index 100% rename from test/selenium/tests-private/CustomGatewaysSGD.json rename to test/selenium/tests-private-dev/CustomGatewaysSGD.json diff --git a/test/selenium/tests-private/CustomGatewaysUSD.json b/test/selenium/tests-private-dev/CustomGatewaysUSD.json similarity index 100% rename from test/selenium/tests-private/CustomGatewaysUSD.json rename to test/selenium/tests-private-dev/CustomGatewaysUSD.json diff --git a/test/selenium/tests-private/CustomGatewaysXAU.json b/test/selenium/tests-private-dev/CustomGatewaysXAU.json similarity index 100% rename from test/selenium/tests-private/CustomGatewaysXAU.json rename to test/selenium/tests-private-dev/CustomGatewaysXAU.json diff --git a/test/selenium/tests-private/SendBTC.json b/test/selenium/tests-private-dev/SendBTC.json similarity index 100% rename from test/selenium/tests-private/SendBTC.json rename to test/selenium/tests-private-dev/SendBTC.json diff --git a/test/selenium/tests-private/SendFederation.json b/test/selenium/tests-private-dev/SendFederation.json similarity index 100% rename from test/selenium/tests-private/SendFederation.json rename to test/selenium/tests-private-dev/SendFederation.json diff --git a/test/selenium/tests-private/SendLimits.json b/test/selenium/tests-private-dev/SendLimits.json similarity index 100% rename from test/selenium/tests-private/SendLimits.json rename to test/selenium/tests-private-dev/SendLimits.json diff --git a/test/selenium/tests-private/SendUSD.json b/test/selenium/tests-private-dev/SendUSD.json similarity index 100% rename from test/selenium/tests-private/SendUSD.json rename to test/selenium/tests-private-dev/SendUSD.json diff --git a/test/selenium/tests-private/SendXrp.json b/test/selenium/tests-private-dev/SendXrp.json similarity index 100% rename from test/selenium/tests-private/SendXrp.json rename to test/selenium/tests-private-dev/SendXrp.json diff --git a/test/selenium/tests-private/TradeNonXRP.json b/test/selenium/tests-private-dev/TradeNonXRP.json similarity index 100% rename from test/selenium/tests-private/TradeNonXRP.json rename to test/selenium/tests-private-dev/TradeNonXRP.json diff --git a/test/selenium/tests-private/TradePairsAddress.json b/test/selenium/tests-private-dev/TradePairsAddress.json similarity index 100% rename from test/selenium/tests-private/TradePairsAddress.json rename to test/selenium/tests-private-dev/TradePairsAddress.json diff --git a/test/selenium/tests-private/TradePairsName.json b/test/selenium/tests-private-dev/TradePairsName.json similarity index 100% rename from test/selenium/tests-private/TradePairsName.json rename to test/selenium/tests-private-dev/TradePairsName.json diff --git a/test/selenium/tests-private/TradeXRP.json b/test/selenium/tests-private-dev/TradeXRP.json similarity index 100% rename from test/selenium/tests-private/TradeXRP.json rename to test/selenium/tests-private-dev/TradeXRP.json From b227b1566eefd8b09b4549025e322be28dbcc7b2 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Sat, 2 May 2015 01:26:00 +0300 Subject: [PATCH 269/321] [FIX] Send: fix currencies constraints (RT-3393) Fix processing of currencies constraints. When RT is loaded in browser, underscore lib gets replaced by the lodash by something. And in the old versions of lodash there was bug in _.intersection method (if argument is just one array it returned this array). But in recent versions they fixed this bug, so $scope.update_currency_choices broke. --- src/js/tabs/send.controller.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/js/tabs/send.controller.js b/src/js/tabs/send.controller.js index a169e142d..fec916aa4 100644 --- a/src/js/tabs/send.controller.js +++ b/src/js/tabs/send.controller.js @@ -486,7 +486,12 @@ SendTab.prototype.angular = function (module) } else { // The possible currencies are the intersection of all provided currency // constraints. - currencies = _.intersection.apply(_, _.values(send.currency_choices_constraints)); + currencies = _.values(send.currency_choices_constraints); + if (currencies.length == 1) { + currencies = currencies[0]; + } else { + currencies = _.intersection.apply(_, currencies); + } currencies = _.uniq(_.compact(currencies)); // create the display version of the currencies From f134e8ec3485606a3dc16ece3211ea830ab5488d Mon Sep 17 00:00:00 2001 From: Malika Date: Mon, 4 May 2015 10:15:16 -0700 Subject: [PATCH 270/321] Fix RT favicon on retina screens (RT-3394) --- img/favicon.ico | Bin 1150 -> 23118 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/img/favicon.ico b/img/favicon.ico index 92d89f45a46a9ae83152d4f6c5a044c6b6ecd338..6e2ae6bcbd59c9b6722248f9a583a1e22a9507a7 100644 GIT binary patch literal 23118 zcmaI7cQ~8j+c$1+s+8KR%cxkjYnM`c)J%-pMG&#K8f~?7n6+2c3Z+I8n_97IYs9E6 zgjPdQ{E|M;_j!MRywB@6a>#w>+~?=IuJgXG^L}As^pKH`i;jeZgi%lTff)%2=>p+% zK|@8jBiG+CK={WA)wYJ3`?^7cogl6x8ZN$1Tm|%eoZMZ_T%BA({Rds|laP?#@U*ao zS{oWDIs5tmoQO1l5FbARHwnpowGcliXD?T%z!O(@Pq2#6KC(kdz|%!V$V%2w($G)K z)x%Ra4B~1YW@OLd{2;|&f_3Q-aICs&E^op@V9NZ=m{ z)JsL^zl^drG!fA9g}4gH0%XOVC8ebV`}eHi(OxlGy{D|JFsgQW5fiLj9B^B!Yv30l_i=Ux>Sel%k@dgru~Dw6r*Z zLOdW840Q?-2M65vkAw%V0nQLlKd7fKSb!+e>4|S3R7Hqj>3_N4Hw&j>;JL$|0+1ZBGk`S!pt?mHxS}XNSxaZqAEWn zEr_cV)E8pm>+AiWD4KZqLVW`~eEkHpv;>3=ot!1PQrhkO|$@71=MgD)4_usrO|GO;;|0}Nq!59f* zX8(Vg{?9D}e28EF2e*Wa|3SVhm;iSO0oNLVCh{aCmR))eG%P~C@8%7LaraMOAn_r_ z7q#ktVd}%0LA!H;X&@@QG-@Bpn!N`WI?C?_jDKd0FCBY|dx$AYxhjtW$W+j_S%^4w zs{>Q3@k`M9lm4n*#4R}l?F3K!sOs)ZEaQaWBiAX zvCD86W73oTirK~P%YwB1$rJ2RdV@JIQgNLGK%w!5!rzT?L@+@Sz2VqVYQXApP zyuUI_<|jxKXBLa)sl=|Iz34S^YNn_Q>SLu`iTqnhWHd2|$?Hf7-o3V;aeyI>AqCRJ z33v`XJytT9>NahB(+SxtjSDasxU7o;6<_I zPrD=nppK!}V4k9ypQaqh?_~3z0Mjl?0Vs(#E!N$dr?5OQs_frc%X{redy?yM0>a28 z`6>-$Y*kmK*R7B{|IF!7SGMpisSfW6d6LN_pL$C1k1~dxEaabQG3?8f|2!hw6HwM& z(CG93yUZIT1*hvw5cq^G1fiJv5`;KKdAF-KMqqFdK}#Vl&N8)R+NM9#PxjrkD<$SC z(VlA(-qdAP+G;+h69IBpkdm%933p9`)z7+zr=O1JtNtdfRBR!#3p{6N%DLq|vZkse!3YDTWw;IEG0J2EJNfUssl-Y#4k6bv;t8ueKVjT^I+jgl!qE50NK3c21DUP)oRi>? z@U8Kki|=|HESi9Lr&pDaZ8x1Af{!_(ZqUTB#MaakLn;Kv*eZJl<6-6T<$It*M05+l$A2U4Nl| z3hDSxT9Cgc%_x|J$Y^l|?ca2NH>vCG?e!?r$7jMX8Qh5RkLr}WH%uq=r+CPS9YG_a z#e9v`yZNh=aswY{bjSzM->=>@RQ;|i667JEF=p?+hNvZ*^tuw#!D9WJ^1lQg)U`R% zpyw*9;%e{5G>4B90YJxS*OszJt=D2Ycz)V_{c(7Xk;s-22?4#QWOgcwv9RB9BLb9v zjx2wyLW#i9?6Q=2AUSf={S6&$XM_zvh#65tlr%8rk?K_Qu|wv zTYTlc5*z0hUUf*uWSvA$N;(XOwNYZTgS11uc$mx{B9OQlEoIymbCe;R~MOTzq)IXH_eO z5>I?1O`$PdH~ro&V)n&*k?*QZk|NqG9Uvz@_x<;P#db&#Hxt1FXqs3vGnVXEJD{bD zG+EJMb`O-uhDZHOF;b0=WF+E}F*y9^xv87XVn#@ai7rWa*X(f!PcwPQ70;Oh{V=3J zDT4+xt9MV*yJUr9@eC>8AD?F?hX$Fx4vNZgJp_I?A8NI@H=|jizYX39uOnVRwhRak zd?EUUfiR==u7HzlhHVBXnB{0x8c3&DTWMs*?%jqnG83}&oTKSyHQ8E~kim(N;AZ#U znF^CkxVv}{0n!ilHgt9xf5=)v_(tFqHX6Dv)zy1JfRtuCt`no@qy)(iHo?&+7aziq zon%OkxUiuqNlHGRa%RMpUY@+w zaKdYoi3m(hINFJQTT(!bnLhEk2uQ-NWq$q4MxuMznJC!Af;-gx7X5J#mqymAf-vfk zQ9dB1nIC-I0)cB02n1|`&#JPKDx(b0tHR0TS^jN6xdU51^CS$8hL93nTf4U{-VhEu z(yXo;Gm-_4R$za&43AbZ;5y;gfqo2=bk20llQ=2an2H67_gGmYp;eOF3bdg_ulG8H zI6`_wb72};nDdWhix&uxSSE3HU)urWDM+~UltiwOa3hyYV419~=Rru~M7`_x{mFsx(ccK8E#mFn3%b!8G3xR*jOgxlpId=nSOl8xW-j1aG|@Dz3}E@6 z%mH3Et`Yrtv~-F079Rg;l>4gJB1Pv=)uK~A9@|Lj>(NZKdy1S%eQDL%VrM+7pXaZk@*_+}Z=2?N zY)wNmhkrzIf_!}}Wdc|GXZFmJvKqEd1Fb48nTZ7k1pN7-m>_dQm;CJmL}E6&(2I78 zqA0xd?Mvc}^E&KzbHj@I9VLHhR64*lK1=%dE;o3CMm9XYtW9h9_F2AG^MEt01aTBk z`3GaM@y?KT19Qc&JC>$M&=2N-n?}dIzYYY5!z5@K;(oh7t;QgNr*!$&umU@y44Q#| zhaE~y1f^X1y1;nUYK-)^i#WLb^#e!?C?~!Wr~YpYJo>-IcWvyM58T+7*JHr; z4Qe^kj9t5!;N4GOf3^@c8?x<(%+q6Hco8=;c=0*1% zgT~h)HKfv<&s7SyDZ6eRD0R(JwlcnVvo_8m-6AgLQ?P#fzXGo>(1{d<>n|s{yRRKE zu7tgCOM^g=O=mbh=>8p}qAP^pDb?JLrqVxeXt*$~RDDvUy@Bn-PL1hjS-65e_DGg| zUlRVTiaB{@PIM@c3;L@%L(qWKF;;scherb4Zkxz#lc|?&pe^OC%Y?uZi6WTfi?!E5 zq<5nhnb2Wyka6(Ny$D^UXNpW)ugJo;pXYoIz)a)9;UfmSH1{UJY}&L!b7B9*;yLx{OJxeE;A2&6PgN)nX>_G2XX& z8UL5h?zs&!VzHl&IM$W*4A!^k95fE<(|q5Xq;o(yH|%vX2)LUL+bz2?qZ|(5A%Vrz zPX6?3`KAueWJ9#CID~HHlMqxs^?rLiLCKna=SP?`1Svb-xHB8LrEfI2Eu_yGC!p41 z^6B~S+~*sn`R>Zx?ux9V2|#L4mABj2uygrcw`2yl(OuVbG#ma9#C53?_KThf(8`xC z;Sh$CVdyy9`Fg{I?rgFme%fs6$_dbD__|SGqIkdBg8ghwke~L#R z=~(QWS|W%8PSNjKzF#Rly{^KOmwMvfpxV71WkC#hHW$31CPhWW1dU0>(e`~b>-Ct( zvk0G_kzpq{$d={q*?6T^g?gr=oG4M(Bbb!Q@fgQ7V39{0XW6T<1d(B$o4p2~nY$q5 zi8oqzLthbpn%U#AM>`(UBRrbTQeZoNr-?XbdJrG8RN!sh&=#;B5!V&6}sw{Si-!wKuqDpQQ&OZ?6WunECX&d)w^Qw?LJn zvY&8b_NU>W+wQk~4Ya<@=%JN?FMdDt1FdxyOJr0#$g`KDLID?g7U9HzRLIlq3i7bD zn=Q-!<GP=UWpnsg;_8?46jPz}eZPYHhx|XZL&hS{)W!_|rG3Kw-ox&#wAY$r zEHEpfVedbAGf^Pga+D(Qd4t;VmV5B#C9zDjs2Folt?6+*77AV|Wp;~|5Dd{9qJowc zDH994N2ql=troU+f-8PVi*rPU`s}goTt=t`E3s;+8WQrn+GWMl3IxvzB`bz*ZTxn% ziwf%a_OeujCT@Wj@VL)kFhmD_)_#2@z$4>E=3$-QaD{HfQ-exTnp8pG?4& z)8{rN&) zDEJCt#C&>OKrr8K)BmQCUd&t((Eq?PV)l%q^j$?u5i0w^w47?QZIaLfVp@DYJiv8- zy`G&))tUyLeZtjWT7;cEsG~ljAj(nhl#Q(`#NHyWO+p6(#>kX%$8VjSV+-}a@$DGb~7Z3pZNHaZ4sr+V!}Y?LU+LRxr@9t!wb`dsIxBQ z4u}SC_~WRfKadcp;2tcre@+DMu7$OAVGmSlnPn)UDnsrG0AG(#YT|mWt$Y>f8%9Gv zoCl<}f7*)E<$(Ej0m?pmyTYDu$5d-V-FQ)@Ny`#@-OZ2^XBIVn)SJ!H@RN-29KKlaxZsc&!U3Ct*ZCjZ%$!^WIo@|=9-Qrhn`sd#>uPBZ<*+c>Ro@lr_F>870{?Gry-p1!8)*JzaoRvKaUq@syQ;IF(M2!D!=O zETib`0nJz%P|!B8PJ@BCLUgDi@1ZQ)InQHRNayHVT&`HC+E=1$%T! z0p{H8Y`*bhPYBK9ht?|f_>0OgI|mQhnyT5SkCQ6};TmHe(pQ`fI--uVMPPStE<+?f zBhA3fo4EB+OuAG^K=S$8$kJqBSES?`m1|RE`Hw@bv%>GjkKwn`8~Ghb?fJ%j_ag%r z60mNeeajUK%r6@|lFBFte;AZY_3WbdLiN(S-S#Wbz(-joIAv-ttw@%}-u!XlBq*-hm z3J1YbC)ptIq)}uPQhDj`-hANu0uH8T#(K4agctH`ub?f<@t&yX(-@`h8I5DmK}pA1 zKW4Y^O2}rFe8FN@9%(vP#jJRFc&%S_MyvYnoE5gd=J6%W^U|Z|LN5<&Cv94)XHj#N z>U6EzXBAD&)J$4GPv#B^))z4^G!xrehIpw~| z7ygrcFQRc3bMfo7jQN6|N)Vh!nuqJl-)d{}xoNzuxBG68A!=Cp2NZM`pw+TaQt-MO zoY}6t@LmGwU?o3p8N@7S?;lt^g_}__eZ<_txcTWUqMxqSS&{}|W$_W5I*Ct&AS)Cw zX{P}rKv+6*ud(NGAuk`Kfltd@VZo=m&gaB?X7g-LpMT48DP$w;65__Mu#*5S!6O~R zeFq-dd$-zl&CcK~Fl~a$cNXUN9W-mTjqJA#UJATG3v*nfuw~UPv@94%Hac+(wEU+;lI*m`RS;9IzS3 zSX{K-=!yC3h>o~V;yW9Aw)5~*F~{w;%%_u>R~+rt%X_3y<-7-vqdRghH)_XHNEbxM z`8tEXatTf0EJJiEXcl~?H>sB+d6)Nup$|FnX{o@+X%Z1yv9shJ-_$cp)T~C=7a!Mw z0^sXP^gv3qQ;?);Whmq&$3o3-$wKBjm9Tu7gQ%aUw>!})TRVDYMs>K-W$~&3y3^Gy zE~w)BPd|d-$^|g zvBXJgnm5UQ#`l~(OU-PiTjhg0{G>_lY>*}&lq&nQhP|OV1XnZr%|`_7dA^XlZ696; zvYHDTS`i(1nyfZjnRxs6Fh+;#5jboaZ@sv3z1GJ_`jZ&I>R~2;LOCWbC>+x7_2db1 z845oQ=z%X>nsw$KvA58lf64TYS)K~U(k)oCls$R2_iZdND^x%By4H&cYM33_WAB4N zQeTa5p#6EO#W>@1ff%nX7;vaUX;-^tI3egtiPi|J>*e9~j$B@`;rlB0E#cjWQ&m~d z@Ff3VCwJC?M|K4lKL;c6XJCHXbGf#bwT3I1CJo!|pEQTzn=(e@1Hma%oV&9kUkn`X zV1*Y3kbkc6g14XI2Oa$2F~zv1?L$7eT~a`6_O|3S-~3riqt<%%h))@35-Kl8fNOWGhLqysS^_(dXk9 z;E^XsWK$!p3~NFbyc>0sU{uk1@d}qRPt}U-eXVuyd%qS}n$RI8yX*bzFOY$JRJ{y# z6Epi732n!J3cx}|qAEV-_X8}!bNwd>1$*;m{cBG)Ac%i*Tz?#VjzzWU(W19vs~oG$ z>jG)AqdheE{6j;@HnE2XTzplc#!J-v!doewb@6HL$~^N!ItRCgO`1+%51uRD+A@>- zo`>Mu4Ycx+zZre)38RSET#C$W`a_^*SvM=FS7A`Qv}g@M=biEO?}=FX+poDXa`uK58@o;x%GPE**Gj|l<#{mMP0j}qr%Mkqe;DVDRgr=a6o~H36xY{!ANi8kv+4%^Rp>u z2vffiPeBc%@umfDw>KCpyZR$ilofhgX@Gf1HZ79L^7Yhq^K_c zXwOC^2gtlZ<$H6yEb%sW$3yc(lno6uuj73oc&AqZC^siCmDYJMR$^rLRfZ0F5ozHN9xhmh^NUN?O zfzZoj2rZmNHoL?D1o>70G=%@G#~T!q zshpDoI^DQV3AUg$o08F&+EddF<>`rO(Hz`EQbSiKRMCgK^h>R$C&9QI!?Xpr3f7#v z=eJ%Jgr+!YLL=c^P2}s~ukIDB+6FJ?+!0; zHw)j6acmjp2z(9vKE}*@>g)fK4povS<9NP^lLed+z{#|jSO6a(J@vc;K1x0E9G78i)rYM~$a_8&w;r0B> zUn4R-9E3K6<&5*D%{aAAzUWku+`ILcB+gzUtY!D@u+EeiSrcOetYrtBI;O2te|~E- z5gaemM+t$4y=XIcX!m#H!HyWy0V(Z3{;$J9c@H>@aPi3X*qWKUFX(u#O}?CM+aqzf za}WlwR%gOAC00T`6jd{;-j~dvlwP z&-0jNQj_08X8!YZ_`~M;5rP~E_jfx?Vb4G1`X`#y8&t`tJ4jAS^LYnS zU!)%w3$EJxJIw)fJNUXm%M17_bXar#7!aug54TB+Y&K$KIgC9kS3RG6&wB9I=vngx z{Nv)q>SNt5WX-qkou+=XsokDZhG*If$)}Hh;w=t zJy5iOH9IceB%e=S0}yWpC%2&ktJm0>t2wfc?=s+}$7U-nJ{oI5BDr8YPAVhWuuLqx zwm!EMv{xK)=7*<*vVv z!GaHd6Y;q1V!I$eH!eMY=BOrmM|bY>^Zuv8^NZmk(}c_%O_Yx-O;QGTwuyDdG`lVA z63N7$+8z=aFj3~-b*D5}C;5iX+-<^U1*G{}Kh#>xm28@M;CJgxD0mGVd8lW=TE-OF zA>NzI{aafpzHso}rwC0H<5)J{cZEd>wul4Me)qp#Kw16!xsiX%r~prqP2a$lmo6(?9s*q`lRSB@_XK-wq^bG?ngzuCttKNkjB z*5W1XvA4Y=c>r$fFFtHut)@1(|BX_=IF0jDBZ?Br8@RJ){JT+E<7bXCVPWV;FOR=s zjfuzuOZgB>-Fc+M73dnMU1kt?NCmcB2AfyMRV*0GA#yzIk^F(~}R z^W7%@z;=p3!@fa_SNc185}|tdVOj5TjWY+jFFmTAGt(<6@6@ocoBG;8yykw*DYF(2 zp))cAUor23Rm2ys^ucDQ_C6e8Pn9s$ed{a=6GIokB8!Q@sbt&lpU=BNp#&yA?zoYt66<~J7_u+TN3$L@jGAl z%-59^=}(8h@@-xokh1e$p96kuKkjc)X29$z7i@*TPeq{Pw)4gJS#LblSq^$l*d@1D zO-2POu;0lHw^rhOTAkv4c4%c}e0BlkNbO;iOSq9#((?!1HzwS-XlA&oD~p@K%10f{ ze>J{5xXD6=cB<;f;9Q%&NosO%Yjr#4*3AA+kX@4ED?mxfWd;FZ_63$|V#;)1&O$_Y zdBM#XaYydW#!OL^r1MEqZR9=6ac#;8dn=yf3--n+y1Kl$g!TT|E9GCQ7h$aOIF&K}uG1E^(5t){Lp z24;LRamY6tiBqlK+!!8gj|h8pr*OSo$`dZUY*cT;3Nlevihs|o#(L!ry#d+8DL2|7 z=MWkFhf_4Oq;9%s&9hIX13`Z670(CXkZiFp!%}-CTA#wUxfbtYc1JfeuS(x02ahYh zKVw>$%J^}E0yZf`IThKA|Mn(4ObU-#x@2%_=;@rEU5%e((u&QbN5J$?*y1~DE_Y#w zAg(%A$~oSJJ+L&bh_e*V1efvovk;x#i+~l-XP1-KFVDDrTQ5E*0&I_|>v*g5U6{~u z2ljQ_H)OX{p$s)mZUFOPi*!Z4%#oG_^6k=cy`VRLAgrkm{-h3|kU(RY=v4>cmZv3pRsbY@QruuXdGOFVYbJv09U$!jMb zoTTfq-bS3je1Y-PKJn|p;UV06TTKmowZf&2NNp?!sD<71)A|xop>lT@1toeP7dMK&G5r)lUT@i_~J*l z-znLN{;`eEwkyJNkTubWFXbVJb_F7ksjV?7R!f2MzVxLB@_JWe=dD}S0-GG zip34HRM_vRLfJg5^xdOJ%VSs9DCkf3o0LFFH!Bmz>v4%3RUP}nEk>~d3JWa@KD~ej zR{GI9ySp|pc=)e$CW(DQt+;APi5W#)qeRQ%n@Vu!tQVO|%}J8q-i4PMHE%4ikFJA* zB*nL^G2AhCdB9~o)ABkz??D1ibWHN<^=Z>A30G8S&wXz^{u~6R8{ls{s~utC5xdEl zZt1LdFKFf<+}@}eENp1`D#)QX%jXkmi)q693W3RQv=YolK_oB-w|dV|B`4Q8%7-QD zNZYuhdv-2Gq(JQr&R>k=7}QRqO6bpW-A8e_DsX7K6TI&%XYWUZ<*tH{~*OqnS0R>}c#?k7tr&zm9xpcBtZ{em30Ny5{jPM%-n`4^KWb z?^pk+M_XZjX{9gs?({Dkn-pBnB-??4;P}qL&nBh62Y7X-l@OJW?)QQa+CC4Q@10YUb!kaIp^ zEV>sfrc4^DyDa2HM|eyRGtp7sX;!rUWQSZ_8bU5gL+=l7M1F}Mt4Q`@3r6C`+df9s z3Nn)^lFL`Z-;2be``O}17OXKo=Am5e4Y$TDTt}rdnt2{7oAk>MFwNjW{$#h4=mCG5 z{NrGD9w)7*k$s)iYxKZ#lBhR#{a9_^)n=YIN7CFu!_iIWyOmxt1*g81OTOnDcXR+P zz?`5+xl347^nnsCH&&eUX;7}|OLByMC#AQbyZG3>#uxhCXzQ(E#g-QI^RXVfCe7ox zxEdp%Qd%pNu*~3kT8e>t_Nm;m2Hq(mSN??Cj0&%R2~kHGn9<9ak~T4m_|2}?UfuwH z5x7%UadJ9Tm3jP%DcBovP{-#Ygb3aIl zG`|a`oWAOt7Zc0f6zX#PcD8=#?__fOnX0 zWC`%XzEnj7waJ${<}}}PkwK1Kfg9%xyXco=59Tu<&E^YlnHBwrof_g*wyP{V8Fqm_ z_=gdOC0V;d*SYvyU8f+YXZL~^l2-iLul(rTSeA{4t@{;$exo&cJ|v~hk|+ps$=qk%j#>Jibsp{18}mi^Xw0x5~cB zu`~vTao@+B%4!ZWr}8}-UD+rKE_moi3yG1<2tbjKHKn7{Fkwr`xX&I@qc5L@_^k$C zNykjMqgib8#T%*bsxL6f(=JmbfEF9hn|O@#`y5@B->j{qybyhxGK|@vg3ZYGv{W)Y zYQ|pVyh=x6#sr>ows1V7zvZEHgYULCg6O7fK609bTS1sr{epVUz}uDv*t_ zvO?6i!hr@UQF7hx71$5y-&3>+_Y?0MZ^vmz8!So|=l)R}YpqYyEA$HH#bHjTje|^N z)EB}&Wp*-VhqKY$qZyQwzYkeBw66;sG&>qpk~>)d#)#kC@C#=(>s#m`Q31!EdUZ3Q zmF{@kG#%fyeKVa-|G&0@^fC19z|5_^U@4xbsrdTFZ_45UhMe-fv z8&WQG$5=-sQv)hM7S?ZW`XRZ^bpF)!sQDa-^dm6ZZ>d9IkS=Ndd-raKd=SuECbST| zt+}xPfaC7r`-{CyuWey{;;bv5&0_#4>;hg|@oEUWI z9(=H>K{(Jmz^_0Lbu+@CBp@%vYvb!`q16l&q%EI5`Kx@@c(ybL&yBCW6+{1mj&PDX zHBDu}H?Mg8+qtxERvhtsbmw7DiB$Eg0X7Q4At;4732R|IvE@d9ChiFtfQ4Fs24ZG9 zEoHZiP&eWAd#gaA@rEKVw8OVH@UQTj(l=!c8Z3o_;a?o+tw(tv3J+g}t_k`lp*u2U zrp~Z7%O3@iRxIrqUVlghJ(q<_8AyMtw9Pzpv}rk)1B^57g7NLCt2!~IvB`vU(gWJh z=;Ey@d_yc)%$u>x!G)^oifqJDN$_Pt6j1kCi#ae6D*7~D)8AJ+)F5$Od?@;A9)Aq| zAn7roBbo#t>MWe@1!9)#^zIqDz0P)}&=&7|k@p;SLL#qtbK9>G_rpy6TQ@Z$!?BkI z#UJsPiPvM3RVU^Slpm5@XQ2iF0WPMS>qVrP}snMtQ=vtZRWe1Bn$e6en%J!R5R$2H9Nd_5co}34hQ;Q|8t&KgrqUf z+3ySV^&zExL*qy2o2=3rI`&hf*l8o9efSxeRLbo!#feN?Srs}&S;+Y}|6ak3nD0l# z!P5n=CZW|b>9zOO&0B&jQ{L3`XI`yrWUSXb;5(qbh0Jw+ThqC&`K~js@W%*qn0AlA ziv9yhfb2bJaz?Rt+u#}VWu|Bq*50<{HT*_u^6?c7pvx$vBCFzIitx*1^{6Q$rxie6AhV2Yd zQrV&Ge$*E=V#s}4PR}%PNrfz|*i(=(-(e5Z982{az4Fx1PYqq^Jyh4fPu#E17SH>$qw7LVVR>1(+_ zt(yDZ_`>jQM^FLS_eeJNI19S|{$X&;(d_Sw&?%7bvkra)yJ3f&mW{T(ze>e^tPooE zu5ZtuV_B6x#j0N=B!}?S)}EiLT6rIuRbcid40;yKMZeZ9@q}J{uPtz|KlE|*5LS%l zS;tZ>4+MD*xH#9PbPm6NT5>;FDXJE05-h&c^tp|RX}0*6QVWnibE#{?mLpBuUnLD! z;Z<)X7ll8&s9E~kTOk-h02S3v){J!9K$xnXM`X`wD^G_5^~y}Uqo{kwZ}{|wjwChZ z64)h^38_D+RrA)x%;RMz8SY#f(i-@BaHBg0oNnPW5iGl$8@(%mYXp)8JF?PXBQe?C285N|NgmWG9 zX#T2WDR~#}ZVVRC8FK{)rnliNV9kF1-lsU29y<*k^%mY;mD(jU!5$+j5%k*?x&OZvs@g zs?p=uWY-}{>eLUY7FZDBu2oE(fs`-`mp2O9M>)0{vkWc4(_RXpQoQ4qF;;g>Q=~Ed zVzl=CMT8dV$nlt=dc*ikK|5ZrKX=;>^d9L~v-75$nTZ>_n;PAt=e(b_^Rqszrkug9 zCi?PM|M&H$&Efr?hIX0ZcZB9ZP zclO-M$J%wz59qz*=e>T`@|9}6#)9H~wu1sgP9kc=0z*SDQfjI=e|A~wr>^}09}xP* zxY^b={q!>luT)qmWBoup2BKQeC_sR34Ehy!j6vwgZTB8k3ocj9bg)Hrytky{vzY_s z4E@_r1EgPxpYc4RX}JYG{>opS73)Qh;Uj7OWvh_JcC7_AK5|Bh78sYM^ih}_4K$8y zk|osn&V`hf6H?Fi<3Zf@A{w_T1;3#8mP)qxy&EsiQT*5_ltz%`Tk0j>bS7`SJL0E* z;6b0-ot?&%Bt{4+IJc&e={LyCW%G#Z-K+VbL{u*beI9w~h@!*1yudtJDGc0pDqSVTHSZ@H^d3gb$=B; z-@-)uRALWF1ADtdK8F_%=y-v)BwIfjc(;DM2>5a~G4`>=js(cMoR}9%m&`%Z(zJfS zbaf&HY)E>YR{Bbze*KWOQ~QVev{RIhNa4J%un|;BoCJ=Sr1>i1{oN@gc*RX4(w2zM z*QoV;v%0*(Qw1^*BWsmzR-mem#wAE%ZYE;!d!y-s!#mTZhv6Qrq%EjU!mAl}B(OKA zJvu*fI54Av@5;qNekG3-u3ocz@%+J9Yw20wwiTCHNc$KmnkyLHl$Za&+19?}{MX^& zTOB>^Y{CJe-n|P1)j}x{d_9If6C1(z3Sc!R)W{@1K?6eI%Hx8$OAx8I({>qt{_yzF zq?e7Pk1ps5F-|YrN4Je#{Jn--dJvP-MCinRPXhJ^1Q%7y5OxganJQmfZlz42Z%GaG zQQ7tTRH@1gXZTY3Yj4?)y;cdHI+Z=&oiNWTmcG4A6$sbOeRREr1(2x}y0g_d|G18~ za7Z!{1{+Ro=$bC!0nF+A02{{IHDh3>XFT2S$8?Mh{pBaO1(SSqx`1FBHraH@NpR#1 z{x}2Fv9oH2*5;FNzQ9?nKgR-M`ySd#nt@J%prl=VJb7K4Q_f&###+{{Q%<_uPJ2<< zlix)+yP4Zw#W2j;A*!6zQ7?&mc>PGqzfvC{KQ1c>fg=kpR`goz>@v?r@7%{zT=!5Z zoTIbj55{ulH<5wAg)z#;xX(}1wQt#9^=q+3;6;&8hiay)bgKp;`)`l-mcf{NLVfhnA6of5TqK-dEgq*QikGnpJ*_4>Jza^ zqR*@f+?!NWRebRH>cIM`(KiuFyKWOmFRsZmC%o*CSL~0G-=-BdtG~&PbF+8-Ngrx8 zwgOoZ3f`LOP_9kY#~|2Y7J5UX%V16r470zCv(#PvQk|9u(XNH%s0oIs}jiiLl&aSvM*XB;^A7i>)ck4x;cj9L=mY-pRR*x&e$@i;y zBqO}%BkRf*#NF14z8UpRox4!l=7cA5H?_yyBxyYes6P8yd$F9VY>wX%4+(gQ=O;Ww zfs|wEr5^(EcjD9AYWpYLr4rKfVEU7do@yzC9UoE!y>fHkXz5X!_jhZs;>E6i2OP1| zT?s4hud!5UIl%LoU6{x2&Wd&kp%;>;XXU$>g}wSGeWUqR4Yq&|9-|+Q6I9O^*Wb0w z1G+L!WxVDP_nvwP>G$jRBafe{?f(AguTQpswi?|T=N7HVa5g8WN^XmwOjLo#q3(&}vsGx^kLA>5;-zu7O`q$n~YsY(SaN*C)yW|o~>Rm&b zdH@ntvqywxg&^tZ9~}OnC3n?5<_EvAEz0YhF%~?L&P4r&-0myHlDkST_*j z#rDNME@{fCFTDl+>VJxq!=n&yM(-qHI z8+)e5r>{(FPl?+bsZ)73U4c*#+B}M2M*+wR$7HEy5z^T}gW7G5nYe=sS9=ZJo2H_} zhqY(H9pSsj{N7bocid`}`b<3(1^Wzj=*ATgZ=BZ0S2j4_mDk_>(^He89~{fjr5R-y zbvEhAJYd^m3!bx8p_UTIZ<_J5rdef_9L618BeeR1+n~1+i!@0|honVxDOQ{}Ekp3` zIRzJ-tU#Kb6#Thq$fAQB%#x*v!lZN<;^yBB#eem09I5HIHv=D+K`{Vszi$O7=%K!% z^H6p<2M}PYHu;q}DW3YcHu_RnEr|$-t9wmLz9wx_EpmzdOCuU=S3=%=HbJd-v} z{NX2I<+6O*d?|(FCG-+Zqr+M1XckksX%Al4zNkWpbBNOIJSsjpMwU1#Q=G?nbkq6g zyv+SRZPqE*6qe+ETfXw}EGG^(>MZe*^@-~3&#aUn3=2G4BS^mXfwdxKrhfPQHpzOzSs&#VWlUY4OFC>JS z1-?}8BV*&l-<5Vho!*f@-dYVL^VzrrLFT0IS=eAH#*}(KJE`T|)zXmPX=Tt$(!YX% zRi}!{V(CdsD}dmb#9?+v?u41w%eE~`oA!mTuQmM$q~Eul%*Ag|Qeu8OcO*AB9B2Jz zLJhCi8ClU3c5PTDqCktd*0?>6>g2U~#{rY}EAw}qb7CvE&ytSDNYEadgTsnkH)YUl z^NNp0*S;;C-%#4(qyId~g6PQtxfwXE&%G;;Ljcbnt^IYs(J3cXGl8jR1J6+A<^$$D z{ZnG<%3wF{Zy0Q(<+Gb<1=k#RiWgN~FI64$XMJw8Q1C{qj7#Xje5ETclgxW{l9sMB zOe15Q(hBi?ye`nEQ#lQrC%mrIWu$f9Zj#bIOF(MLpra}~WOJPZ^W{z-O`D6uF2Jg; ztj!{ur0K0Eq5PTMjoP5xf)tFC(SQg6+ z>KB`Ums@V}PqqpOx~FWpEe1*TNo`+V*ow~Sm?XV{+htO<#ty#VMD#xip=&GR4z*Uy zLb*N)`r!wUe_vN{`S+J+r<`WRQph;nw7R*<2k_>UgFdYtz>4ENvJ6ad?Wg*&_1!DZ zw3vNY5jP3?Se39$Zn@Y;OY%$P-X&2+Gd6{`)cW1wtuxcN$?SGaq+QKKULa-7{kHg$ zw?kh&88GQ}a{c@Z2!h>FP|-v+=!swRmKv1hj^x@&VSV{rewgvd z{f{zb0`Bu%{s86H_u3rK)wOuiM{JfKxrDBzqXJ3)kYh}9s!5yty;ddoYctb9z&Adm zHJMfEapG1THJvwQ<8Vik&}8qwTfS@k+kDACSD=Yt-Q)R2N=gNm`&(x(z@xc)sB$TJ z2>*h3pu%^mFKIAKnkJsHl3?NNFbFdni|W@01$9HJCi9l&PRFub zs`oczhX7yx=9BH+cFcK|Xzy1B9%oM+^T_yC3%E&P*A#`GV@wV`hZP}joG`CVRs7&l zBD{A?*eiAk(jhz?ie1_tpI3Hl9;&S!ojLpskNV<>glzC{!q0=6X8V3c=#AD?w31`Y zqxnR~aV{n--~XWcy>|B0cG;>QChV(p#rGT+$NLBeV@*HeeS?1!I!VLMwu^ejL+&O} zTf#w%3ot)TFh0 zix`F3s~m6nUXU&WG_0)Zv7CV&umkB}mle+x?UFKZSkG7nY`T%t+d%_j5%-<$hnt;% zKAA0wqVoIsqb|7z!tjdwONaPvFSQ5^Eb4MLn%{3JLoYrpGw|05Hf*Ga9`F7bf2X?+ zGAT#3&Y5Iyr&`4*W|#Z^8{Sj7uWYQXc5-D5SMjUqnn(Y#W!U$Sb7v5trS@617e%61 zpkU6;qB$oq-bY}m2NXqX>t5wIK6yEG95UG14}8AH|71NVFgaVT*C6lyE!hXpd)`96 zIHJ|i)257_a-NLyAn)W!Z)ke1*T(nwH(K2p4U4*tR85J;X2!Av?{GCDlaVdHjC=KF_`PIrp4%&ppq*=kr;sbxH<5-VHn>yuKAK5xc;6 zeZ)|d!DUe^WLU?{3ak^erg1I|{2IrY7KAEidGYvXm_mG38o8v zjiyR>Pk9ztEN}TIC zaf;(`olPzzP-Z%tg&=yJ-HnnK5;M9tyP0r{FFkDYA8(@JMU}f*Kwu}$6b^TI(eG{z z%G4=GFdj@^!BZfpSsHXjkMBN7SKg{rKDq_duxx_~jXu2DPBklbQ=63TU>4B||I_Nc zoCK}CG&!$P(=}thrklIYJxdC7Pg)(A90oOeaniA8Y#TGxp3lp}-e&7-NHvJvLu~HX z{#h%@9!xxRdtJNynFWPo0{!u>Z+$edJjw6BB0UYuW7@Ju$a25G6(s3sd@SwicD)i1 zVHOSfkK0)eBFzs6F9f-$aYpi{ZQj~GI1r8ORQzuZ9JzJ(VD*Zt_1XsSt+(RDzBbrE zbQ1_CARX2nt}?>B3?x#Q&Z@9LmEDS1;pd`TO`~m-?2RUGvE+R|f#U9p*L>mo6Pi50 zjFCe&=?~}7MYO-*`@2X@%kEz(TB%recya$;Olvevd7cSNj{gy^+zk(Mkqfpg*qpau zFHNY5Y4T@>?hUaLbzem3OA@tm`&g&%`y{N%Bwpy*E^hzJ0Ht?za(C|czQ={TEc1ok z2NG9S=4EH<-Gw9DvPN1i?N;jIWcQ~`jp8y%tn#QQt6;y1Umu8qEucY=54{@*aw zaSqSKxw*`pc^lXbpOH)wGocjDI}>*C7B{i!J-=v7UHkZHO213;PQtvtJEDYCrsmb7S0Q3M|K8#^tAeTB_S zrF}y6`W9hGbsjlpIx{X~jQLXlv_m!aA9(!2Pjxhw{AE`WBnW+e!|nHy+!CZgVa||+ zA{Day_`%jm0C?j5Qn?qb3=-$~)BC)3xbew{BW}xU|Anh1ZZ__NfKPsem z^FnWs0HZakMGN$hi=YY_e8Hn|>CT;Bk9oK10Va{3A%bAotCbItu}wH&dJhj(AX)5RVWP2=xLbja%VT!NH#{0B5AlG$mYfjn${q_`|dG0RdX5t&g>2 zV^9h>J)xrH2C}Tf>KMd7t}~ATO^BOkQ+4*q)5PmFw;uB!^!)X^r+4<(9`#cyM&b{Y z8>R|5Y2;8e;RI4mEbE}+Q-;S!E#KyAoO?$3DXhIS1|a)9)-y)ox;=SMXH}Ho>=XTU zd}nx5bM*K%KFd?{he@yYqhsWKvPC3y+hA;GZE zmorI9_0KU0MqzWf7mMO3CI|d3%)p~x5D9Ns9<)&8Xn99C0nF}sa?#&DN)j(yBb&eC zCPWFjWt%Aygj|8U^4W#&zlkweAl*D=vxrEYVFN{KbD?lm!EJ8nWU0|7Sl0P% zG*SsoP-)2HRsewP0sP6oj;Q)ZPldM%*qYH`S$KvKB9?!n^=k7=gYb%Y?XLPv(R7A?Oji?~uh&3l$ z@+m#IWItj2&_c+#pGihzFZy7_seaLFyk6xCV9^FjG8bHjff(usz-pl`QYI-D!ErCW zRSl#@pvJ-tLmkF_fOYn#TcAd+Qq78>brE=CecrZX692!m_Roz0?Dn-iX7M~OLqU(- zqNe8SlRDkg|L)3BD!=`xev~e+lPOGqIbDL@vBL+^-(7u;2iRjAiYJWqhR?%lBP8!F ze?w+%Raj(Wm~I?l^OS8_((1;zGQjdu?2O-gH1qx!aZ3D}3N7@>-MZoJGi`UM%frW% z1Db?hr(|q3Z}8frg6%{jtQ4)6s>pfK99sF51^wR&}!a%P5bx!RrJ< zaW&M;*K_;d2j!&BKl%W^Z#4NM=o33l`!t=myV2m*zv>lOniL#-U@v23c%B(7N`Ga_ zqo$hYb;Q@BgDHlmLKuA1%a)DEnNU5aPi;I$;o1G_DW;wcZ1t=3;~2`5JfO27F>0<1aI-XsPB?^An%taDBl+#rNX$mB<#MclpcFCv)bQ3^QA&HpIA6^7r3w7LCbck1nu` z5t1e#?suZlgl+1?#tcu1e^XqGXoIFw4-2781A}D)_;PAVO9sT4@5>ki>J>L>5jgLk zBOhR`Z!}AToq6R}r<)^&X?3y)KAd>NetbS~o!wZUid;CXpci`eq=?_{>1Ulbd^_<) z9e~q1S7kgIh)I0EQOezqrzZr(G@}uM6#5&0OW|cA@z(1`(+{9)d{AymBj2H19AP*3 z*y->t0z`EaE%T8NUqkQtSpQBq?oh1+l9mjRCHP0T$oYgJhcbMu^i9Zv3oCZuGh8Y0 zWj!~3LEJ=DIyqDnm?i`#Gp&w|W%N&Z6v|;L&vJ!2!hDwnE#1WW>_27`dMT}ArLo8s zHo1Uqg5&=KlE2hkT(Xdd|d1Qa^q7Z zf=lQL(Ic~={X|Hy7xl1F`Nb;=6q zD~>>I03f+L_1eOyuloK81_OI3wHMZEAOq8Go>3jLskBb!!7UwFOH-j$B9Y)z11PXO zTgWS~I$rqZe0WpD19+e>#Z}936!_M(K&wSW()nnL$R)c=pWKSL+oyN*%orIDG#!sI z@?^INLj#ux)QhNBm@xxk`Y?4UD7(j3+R)A*70&8;#0X|(&Ugtr`lxv2>i5KZ9Qw&c z{5(+H_Fu7F9#Vvk_9pG4I5mKYfk}>ndMRh*eSW#IitoXgUiu@i?DT$e2h!Z%QoFR2W#qSP?^?ay; zaj(#u@ARF>;}VU=`~+u*KsqDvF1)sM8QGHCF!UlBv8Vxv7*JdPxiC;=i-Y}Dq%m3E zr;icz%vG``CXam=f4v>bOCfwTSN!*%R(@t%Q})cLRrMzdprSzefuAlZ`FgkEUqTTw zVZZ(1o6gUQ0e+?>Wm$F7WZn~Bc2$J{ewn(EACw8QBkq~>1-SGq7|5?$fb)t&)zMd{ z3l{oW-Or$Ph#tb%q^HTy_PK5mXtSm{5OORut@vweBfa8Yc(H>Eu(ldHp&par-a4d{ zfFLwv)icwb+!M}IZ=jqW$w&*xCQqdUPHVu=HXG`?nRARTC-9{4lp2*uooZYvRp2_4 zK!Q3!3R80y(X{Yc%CXvb3P|PMs7dkMQI>IzhwQ$$(sJr-QZXO|dv7lc?82oZKncyV z?E)%ZmddZMe!TC0-;wKzHL1m$3I(muNd}^6@7})N@ET9Binc?AazJ`wi!mWbCtGU-!%xDeBK>f2 zqq9&m6wvZwDR$LOYjeOBQ4-j5*aXRcyWR!__ACj)1YI0hvX12x3B`FfRh0mLPNsIV z4(_xS=`5)MTiYmc1{EwhK(dr=4!&FJ{;P*$ief~i{a4-pp`wm-Ok#yW}SC*wsr-TU8B$>%6PozuZYj;Gc-u_JLKhs|U3M@|295D}tdvedH|ZyD?i9BBSy&*cugCDypyXgoB^f|6;57AVbtft2MN=`N-6cCI_3 z`oruKlE<}c)NkA0UeF!h9BbQ)`8Pae;Ie+hCWyYIMd4-gZ#Cjmv=ZH{$J~M3RydtL zS3>p}_-4V90%WhfZILYvtJ7^K4C zfzG#@gcZzch$(iV&tANLdMZB2w)5r{ys)N^^i?(Y{=iG+k=jS$<$g>6T6d=i5WG^> zifGK@1Y0*`RDhbaHsS)O^?CsJOl@8{tqV*3^Zq<$`os# zUO%#BL$yBjEEE*G+Gz&A`=<_mWJ>808nI*Lq8|iHUe=7ApbJ z?rds!b!gUK89b%7(gf%!VE1VL^}Ta7&4cX6i65*V#Ls1NE7u06ZuFdjimaDi4faDH zJIzh)S?`&V`A(_d5H?J8ik-xi0VOlL=^j9VmsrIlqPUrkRDANB14Gqe=z0*R6lb&e z2|!j}u@W;$rk*dqu?=}4RqKA{%EqFt8_J48?}_s{e!mpc;_soN;vzNK&s{GiAsusL zC43WF+i*OzOBJc+^Pchd)fdR5Ts3jK30DcRkXC;~2$0dmykYE0$L(I~5pai0nC*%s zDdNvu1pcr$Mwmqj#WsF&2?E`$jfU+`Z{rHzzBy*PWNF7L#9SfHTk*I<@{Iu`nUd^f zpie>frnuiqnhMCeZWnJ81hA)!2d{0EnY61L`ts-#^3okT9mCu@34YSv$GmJ2+g*|V zFF&i{O~lZ7Bb~y{i@El!fNh#|f4T8SjFP(;Q7joua`pf3i#NW^I&UBMzzFr z=wg3rRQpFa>dqx3m7~S5M4dA-MAWlVbPaD7lfMC}opzZUuY*DV?=AvB`!e&*<+G;I-cD>&Ic^Xr+wEu_w6lnXMooM&FuOxus+0x9; J6ld&{@;?@5XLA4m literal 1150 zcma))OK1~O6oyZ0r3#`&#Da=cD%zlnW@a*zN0TO@R8deU;zGfV3&kdBUhT9^ViN6( zR9ag%x+(}hu=CEdv?|!r78fo=5OgCbC@$26P!N;rnM}J4GMszw+kR<=0iX>Hw{XYU#|Z$>mUkOg{r`_a46-1Fta}7M9TI%h3fdc7&x(EQ(Rp8c zO%Dq11a-*WCTYP$i~jrNkMC~7-VQE%9+$*=MIbuYTOEH z!p10Z_PY|d5M|gxAUEbJ z=0=^B>`2F&ma;!oZ`yon!qJSm0M?^4--|42D~71*8;O69YLG(gNh!+q$UN7D+U$FB<1pmMJ%Bm1p?;rpW6mn8rLhi14T#KJ?$_!c z%oB1Wt}cAb2AZx3vK*07U!#}km0G-(bO657gv=N0p{lM}dxMRj))D4GEk2j_LMd~u zUWsvo*b~3?+DQG_zsQPVdR2;WCu;HfnHqCo54(2CJbOioG6n3PVl9L1g From 04fd2ed22c45bc76ccc2564b2ef46d263eff1246 Mon Sep 17 00:00:00 2001 From: Malika Date: Mon, 4 May 2015 13:51:16 -0700 Subject: [PATCH 271/321] Fix UI for login page when using URIs (RT-2980) --- src/less/ripple/content.less | 6 ++++++ src/less/ripple/tabs/authorization.less | 10 ++++++++-- src/templates/tabs/login.jade | 16 ++++++++++++---- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/less/ripple/content.less b/src/less/ripple/content.less index 57b97422a..a82046615 100644 --- a/src/less/ripple/content.less +++ b/src/less/ripple/content.less @@ -195,6 +195,11 @@ h1 { p.literal, span.literal, a.literal { font: 16px 'OpenSansRegular'; + &.landing { + font-size: 14px; + color: @landingblue; + } + strong { font-family: 'OpenSansBold'; font-weight: normal; @@ -214,6 +219,7 @@ h1 { p.hint { font-size: 1em; margin-top: 0; + color: @landingblue; } p.lit-small { diff --git a/src/less/ripple/tabs/authorization.less b/src/less/ripple/tabs/authorization.less index e49764df8..408ee8320 100644 --- a/src/less/ripple/tabs/authorization.less +++ b/src/less/ripple/tabs/authorization.less @@ -315,9 +315,15 @@ float: left; } .action-login { + .uri-form-container{ + border-right: 1px solid @midgray; + } .info { font-family: OpenSansLight; - border-right: 1px solid @midgray; + + padding: 0 40px; + background: rgba(76, 141, 184, .8); + border-radius: 5px; @media (max-width: @screen-xs-max) { border-right: none; } @@ -333,7 +339,7 @@ } word-break: break-all; font-size: 18px; - color: @black; + color: @landingblue; } .amount, .address { margin-left: -@grid-gutter-width/2; diff --git a/src/templates/tabs/login.jade b/src/templates/tabs/login.jade index d05aac902..8010b04f8 100644 --- a/src/templates/tabs/login.jade +++ b/src/templates/tabs/login.jade @@ -44,7 +44,7 @@ section.col-xs-12.content(ng-controller="LoginCtrl") .row.action-login(ng-if="$routeParams.to") - .col-xs-12.col-sm-6.col-md-6 + .col-xs-12.col-sm-6.col-md-6.uri-form-container div.info(ng-show="'send' == $route.current.tabName") p.literal(ng-bind="$routeParams.label") div(ng-hide="$routeParams.amount", l10n) @@ -59,6 +59,8 @@ section.col-xs-12.content(ng-controller="LoginCtrl") p(l10n-inc) to .address {{ $routeParams.to | rpripplename:{tilde:true} }} | . + p(l10n-inc) Log in to your Ripple Trade account to continue. You + | will be able to confirm this transaction on the next page. div.info(ng-show="'trust' == $route.current.tabName") p.literal {{$routeParams.label}} div(l10n) @@ -73,6 +75,8 @@ section.col-xs-12.content(ng-controller="LoginCtrl") .amount span.currency {{$routeParams.amount | rpamount}} {{$routeParams.amount | rpcurrency}} | . + p(l10n-inc) Log in to your Ripple Trade account to continue. You + | will be able to confirm this transaction on the next page. div.info(ng-show="'contacts' == $route.current.tabName") p.literal(ng-bind="$routeParams.label") @@ -80,10 +84,15 @@ section.col-xs-12.content(ng-controller="LoginCtrl") p(l10n-inc) You're adding .address {{ $routeParams.to | rpripplename:{tilde:true} }} p(l10n-inc) to your contacts list + p(l10n-inc) Log in to your Ripple Trade account to continue. You + | will be able to confirm this transaction on the next page. + .col-xs-12.col-sm-6.col-md-5.col-lg-4.col-lg-offset-1.auth-form-container .auth-form-wrapper form(name='loginForm', ng-submit='submitForm()') + .loginWrapper + h2.loginTop(l10n) Log In include ../tabs/login/form .row .col-xs-12.text-status(ng-show='status') @@ -96,6 +105,5 @@ section.col-xs-12.content(ng-controller="LoginCtrl") button.btn.btn-lg.btn-submit.btn-block.btn-primary(type='submit', ng-disabled="loginForm.$invalid || ajax_loading", l10n) img(src="img/button-s.png", class="loader", ng-show="ajax_loading") | Log In - p.literal.hint(l10n) You can confirm this transaction on the next page. - p.literal(l10n) New to {{productName}}? - a(href='#/register', l10n-inc) Create a wallet + p.literal.landing(l10n) New to {{productName}}? + a(href='#/register', l10n-inc) Create an account From b1aca94e3300b65ecd3c290722bf0f45036fd789 Mon Sep 17 00:00:00 2001 From: Malika Date: Mon, 4 May 2015 14:04:56 -0700 Subject: [PATCH 272/321] Trade: fix the wording on the confirmation page (RT-3399) --- src/templates/tabs/trade.jade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/templates/tabs/trade.jade b/src/templates/tabs/trade.jade index 2fb12254e..d7cd9fec5 100644 --- a/src/templates/tabs/trade.jade +++ b/src/templates/tabs/trade.jade @@ -339,7 +339,7 @@ section.col-xs-12.content(ng-controller="TradeCtrl") div.each-price span.value {{order[type].price}} sub - span.currency {{order.currency_pair}} + span.currency {{order[type].second_amount | rpcurrency}} per {{order[type].first_amount | rpcurrency}} //- span.currency {{order[type].second_amount | rpcurrency}} / //- span.issuer( //- ng-show="(order[type].second_amount | rpcurrency) !== 'XRP'" @@ -354,7 +354,7 @@ section.col-xs-12.content(ng-controller="TradeCtrl") label(l10n) Order Value (max) div.max-value span.rate {{order[type].second_amount | rpamount: {abs_precision: 6} }} - sub.pair {{order[type].second_amount | rpcurrency}} per {{order[type].first_amount | rpcurrency}} + sub.pair {{order[type].second_amount | rpcurrency}} p.literal.confirm-text(l10n-inc) Are you sure? .row.row-padding-small .col-xs-6.col-sm-4.col-md-3 From 783ab76a18ee010511a3fee7f189a7120dfc9725 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 5 May 2015 00:07:41 +0300 Subject: [PATCH 273/321] [TEST] more e2e tests fixes --- test/selenium/tests-private-dev/AddTrust.json | 4 ++++ .../tests-private-dev/CustomGatewaysBRL.json | 4 ++++ test/selenium/tests-private-dev/TradeNonXRP.json | 13 ++++++++++++- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/test/selenium/tests-private-dev/AddTrust.json b/test/selenium/tests-private-dev/AddTrust.json index 50481eb5f..78af0ad73 100644 --- a/test/selenium/tests-private-dev/AddTrust.json +++ b/test/selenium/tests-private-dev/AddTrust.json @@ -93,6 +93,10 @@ }, "text": "~snapswap" }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "setElementText", "locator": { diff --git a/test/selenium/tests-private-dev/CustomGatewaysBRL.json b/test/selenium/tests-private-dev/CustomGatewaysBRL.json index 685ee873e..bf7bb0caa 100644 --- a/test/selenium/tests-private-dev/CustomGatewaysBRL.json +++ b/test/selenium/tests-private-dev/CustomGatewaysBRL.json @@ -222,6 +222,10 @@ "value": "disabled", "negated": true }, + { + "type": "pause", + "waitTime": "1000" + }, { "type": "clickElement", "locator": { diff --git a/test/selenium/tests-private-dev/TradeNonXRP.json b/test/selenium/tests-private-dev/TradeNonXRP.json index 88f650afa..7dd2aa5f6 100644 --- a/test/selenium/tests-private-dev/TradeNonXRP.json +++ b/test/selenium/tests-private-dev/TradeNonXRP.json @@ -94,13 +94,24 @@ }, "text": "USD.Bitstamp/USD.Snapswap" }, + { + "type": "pause", + "waitTime": "1000" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "wrapper" + } + }, { "type": "waitForTextPresent", "text": "BIDS" }, { "type": "pause", - "waitTime": "2000" + "waitTime": "5000" }, { "type": "setElementText", From d8184ece1a037ceef3374260d8986cd328bf9f77 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 5 May 2015 01:13:25 +0300 Subject: [PATCH 274/321] [FIX] Editing defaultRipple settings (RT-3398) Add loading icon and notifications when changing defaultRipple settings --- src/js/tabs/settingsgateway.controller.js | 17 ++++++++++++++++- src/templates/tabs/settingsgateway.jade | 10 +++++++--- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/js/tabs/settingsgateway.controller.js b/src/js/tabs/settingsgateway.controller.js index 9d17e1497..8f61d06ac 100644 --- a/src/js/tabs/settingsgateway.controller.js +++ b/src/js/tabs/settingsgateway.controller.js @@ -38,7 +38,8 @@ SettingsGatewayTab.prototype.angular = function(module) $scope.edit = { advanced_feature_switch: false, bridge: false, - defaultRippleFlag: false + defaultRippleFlag: false, + defaultRippleFlagSaving: false }; $scope.max_tx_network_fee_human = ripple.Amount.from_json($scope.options.max_tx_network_fee).to_human(); $scope.confirmationChanged = { @@ -58,13 +59,27 @@ SettingsGatewayTab.prototype.angular = function(module) case 'defaultRippleFlag': // Need to set flag on account_root only when chosen option is different from current setting if ($scope.currentDefaultRipplingFlagSetting !== $scope.isDefaultRippleFlagEnabled) { + $scope.edit.defaultRippleFlagSaving = true; var tx = network.remote.transaction(); !$scope.isDefaultRippleFlagEnabled ? tx.accountSet(id.account, undefined, 'DefaultRipple') : tx.accountSet(id.account, 'DefaultRipple'); + tx.on('success', function(res) { + $scope.$apply(function() { + $scope.edit.defaultRippleFlagSaving = false; + $scope.load_notification('defaultRippleUpdated'); + }); + }); + tx.on('error', function(res) { + console.warn(res); + $scope.$apply(function() { + $scope.edit.defaultRippleFlagSaving = false; + }); + }); keychain.requestSecret(id.account, id.username, function (err, secret) { if (err) { console.log('Error: ', err); $scope.isDefaultRippleFlagEnabled = !$scope.isDefaultRippleFlagEnabled; + $scope.edit.defaultRippleFlagSaving = false; return; } tx.secret(secret); diff --git a/src/templates/tabs/settingsgateway.jade b/src/templates/tabs/settingsgateway.jade index 8a525f0e2..27a156078 100644 --- a/src/templates/tabs/settingsgateway.jade +++ b/src/templates/tabs/settingsgateway.jade @@ -7,6 +7,8 @@ section.col-xs-12.content(ng-controller="SettingsGatewayCtrl") .col-sm-12.notification-wrapper .alert.alert-success(ng-show="success.bridge", l10n) Your bitcoin bridge has been changed successfully. .alert.alert-success(ng-show="success.advanced_feature_switch", l10n) Trustline advanced settings have been changed successfully. + .alert.alert-info(ng-show="edit.defaultRippleFlagSaving", l10n) Updating DefaultRipple flag... + .alert.alert-success(ng-show="notif == 'defaultRippleUpdated'", l10n) DefaultRipple flag updated .col-sm-3 include ../tabs/settings/navbar .col-sm-9.list @@ -68,10 +70,12 @@ section.col-xs-12.content(ng-controller="SettingsGatewayCtrl") .col-xs-6.col-sm-5.col-md-3 .description(l10n) DefaultRipple flag .col-xs-3.col-sm-4.col-md-4 - .description(ng-show="currentDefaultRipplingFlagSetting", l10n) Enabled - .description(ng-hide="currentDefaultRipplingFlagSetting", l10n) Disabled + .description(ng-show="currentDefaultRipplingFlagSetting && !edit.defaultRippleFlagSaving", l10n) Enabled + .description(ng-hide="currentDefaultRipplingFlagSetting || edit.defaultRippleFlagSaving", l10n) Disabled + .description(ng-show="edit.defaultRippleFlagSaving") + img(src="img/button-s.png", class="loader") .col-xs-3.col-sm-3.col-md-2 - a.btn.btn-cancel.btn-block(href="", ng-click="edit.defaultRippleFlag = true", l10n) edit + a.btn.btn-cancel.btn-block(href="", ng-click="edit.defaultRippleFlag = true", ng-hide="edit.defaultRippleFlagSaving", l10n) edit .row.row-padding-small.edit-trust-line(ng-show="edit.defaultRippleFlag") .col-xs-6.col-sm-5.col-md-3 .description(l10n) DefaultRipple flag From fedf28df5ced4c94ef26f870c716196169272655 Mon Sep 17 00:00:00 2001 From: Yong-Soo Chung Date: Mon, 4 May 2015 18:14:19 -0400 Subject: [PATCH 275/321] Trust: Fix UI issue with incoming trust (RT-3373) --- src/js/tabs/trust.controller.js | 15 ++------------- src/templates/tabs/trust.jade | 26 +++++++++++++------------- 2 files changed, 15 insertions(+), 26 deletions(-) diff --git a/src/js/tabs/trust.controller.js b/src/js/tabs/trust.controller.js index af594959d..0d720a6f1 100644 --- a/src/js/tabs/trust.controller.js +++ b/src/js/tabs/trust.controller.js @@ -634,19 +634,8 @@ TrustTab.prototype.angular = function (module) }); }; - $scope.isIncoming = function () { - if (Number($scope.component.limit.to_json().value) === 0 && $scope.acctDefaultRippleFlag) { - // If limit is 0 and DefaultRipple flag is on, that means that the default state - // for that trust line has rippling turned on. - - // This is an incoming trustline - return true; - } else if (Number($scope.component.limit.to_json().value) === 0) { - // This is also an incoming trustline - return true; - } else { - return false; - } + $scope.isIncomingOnly = function () { + return ($scope.component.limit.is_zero() && !$scope.component.limit_peer.is_zero()); }; }]); diff --git a/src/templates/tabs/trust.jade b/src/templates/tabs/trust.jade index 9d8d12bd3..80609c685 100644 --- a/src/templates/tabs/trust.jade +++ b/src/templates/tabs/trust.jade @@ -270,14 +270,14 @@ section.col-xs-12.content(ng-controller="TrustCtrl") cancel-button-css="btn btn-cancel" cancel-button-text="cancel" ng-hide="showPassword==true") - button.btn.btn-block.btn-danger.submit(type="button", ng-click="load_orderbook()", ng-show="!isIncoming()", l10n) Remove + button.btn.btn-block.btn-danger.submit(type="button", ng-click="load_orderbook()", ng-show="!isIncomingOnly()", l10n) Remove span( rp-popover rp-popover-placement="bottom" rp-popover-trigger="hover" l10n-rp-popover-title="Incoming trust" l10n-data-content="You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you.") - button.btn.btn-block.btn-danger.submit(type="button", ng-click="load_orderbook()", ng-show="isIncoming()", disabled, l10n) Remove + button.btn.btn-block.btn-danger.submit(type="button", ng-click="load_orderbook()", ng-show="isIncomingOnly()", disabled, l10n) Remove span(ng-show='trust.balance !== "0" && orderbookStatus === "not"') rp-confirm( action-text="Are you sure you want to remove this gateway? Ripple Trade will return the balance of {{ trust.balance }} {{ trust.currency }} to the issuer. This action can't be undone." @@ -287,23 +287,23 @@ section.col-xs-12.content(ng-controller="TrustCtrl") cancel-button-css="btn btn-cancel" cancel-button-text="cancel" ng-hide="showPassword==true") - button.btn.btn-block.btn-danger.submit(type="button", ng-click="load_orderbook()", ng-show="!isIncoming()", l10n) Remove + button.btn.btn-block.btn-danger.submit(type="button", ng-click="load_orderbook()", ng-show="!isIncomingOnly()", l10n) Remove span( rp-popover rp-popover-placement="bottom" rp-popover-trigger="hover" l10n-rp-popover-title="Incoming trust" l10n-data-content="You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you.") - button.btn.btn-block.btn-danger.submit(type="button", ng-click="load_orderbook()", ng-show="isIncoming()", disabled, l10n) Remove + button.btn.btn-block.btn-danger.submit(type="button", ng-click="load_orderbook()", ng-show="isIncomingOnly()", disabled, l10n) Remove span(ng-show='trust.balance === "0"') - button.btn.btn-block.btn-danger.submit(type="button", ng-click="delete_account()", ng-show="!isIncoming()", l10n) Remove + button.btn.btn-block.btn-danger.submit(type="button", ng-click="delete_account()", ng-show="!isIncomingOnly()", l10n) Remove span( rp-popover rp-popover-placement="bottom" rp-popover-trigger="hover" l10n-rp-popover-title="Incoming trust" l10n-data-content="You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you.") - button.btn.btn-block.btn-danger.submit(type="button", ng-click="delete_account()", ng-show="isIncoming()", disabled, l10n) Remove + button.btn.btn-block.btn-danger.submit(type="button", ng-click="delete_account()", ng-show="isIncomingOnly()", disabled, l10n) Remove .col-md-5.col-sm-5.col-xs-6 a.btn.btn-block.btn-cancel(href="", ng-click="cancel()" ng-disabled="trust.loading", l10n) cancel @@ -331,7 +331,7 @@ section.col-xs-12.content(ng-controller="TrustCtrl") .col-sm-2.col-md-2.inputPadding div.rippling-checkbox label(l10n) Rippling - input(name='rippling', type='checkbox', ng-model='trust.rippling', ng-disabled='trust.balance !== "0" && isIncoming()') + input(name='rippling', type='checkbox', ng-model='trust.rippling', ng-disabled='trust.balance !== "0" && isIncomingOnly()') .col-sm-7.col-md-6 .row.row-padding-small .col-xs-6.col-sm-5(ng-hide="trust.loading && trust.state==='removing'") @@ -354,14 +354,14 @@ section.col-xs-12.content(ng-controller="TrustCtrl") cancel-button-css="btn btn-cancel" cancel-button-text="cancel" ng-hide="showPassword==true") - button.btn.btn-block.btn-danger.btn-xs.submit(type="button", ng-click="load_orderbook()", ng-show="!isIncoming()", l10n) Remove + button.btn.btn-block.btn-danger.btn-xs.submit(type="button", ng-click="load_orderbook()", ng-show="!isIncomingOnly()", l10n) Remove span( rp-popover rp-popover-placement="bottom" rp-popover-trigger="hover" l10n-rp-popover-title="Incoming trust" l10n-data-content="You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you.") - button.btn.btn-block.btn-danger.btn-xs.submit(type="button", ng-click="load_orderbook()", ng-show="isIncoming()", disabled, l10n) Remove + button.btn.btn-block.btn-danger.btn-xs.submit(type="button", ng-click="load_orderbook()", ng-show="isIncomingOnly()", disabled, l10n) Remove .col-xs-12(ng-show='trust.balance !== "0" && orderbookStatus === "not"') rp-confirm( action-text="Are you sure you want to remove this gateway? Ripple Trade will return the balance of {{ trust.balance }} {{ trust.currency }} to the issuer. This action can't be undone." @@ -371,23 +371,23 @@ section.col-xs-12.content(ng-controller="TrustCtrl") cancel-button-css="btn btn-link" cancel-button-text="cancel" ng-hide="showPassword==true") - button.btn.btn-block.btn-danger.btn-xs.submit(type="button", ng-click="load_orderbook()", ng-show="!isIncoming()", l10n) Remove + button.btn.btn-block.btn-danger.btn-xs.submit(type="button", ng-click="load_orderbook()", ng-show="!isIncomingOnly()", l10n) Remove span( rp-popover rp-popover-placement="bottom" rp-popover-trigger="hover" l10n-rp-popover-title="Incoming trust" l10n-data-content="You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you.") - button.btn.btn-block.btn-danger.btn-xs.submit(type="button", ng-click="load_orderbook()", ng-show="isIncoming()", disabled, l10n) Remove + button.btn.btn-block.btn-danger.btn-xs.submit(type="button", ng-click="load_orderbook()", ng-show="isIncomingOnly()", disabled, l10n) Remove .col-xs-12(ng-show='trust.balance === "0"') - button.btn.btn-block.btn-danger.btn-xs.submit(type="button", ng-click="delete_account()", ng-show="!isIncoming()", l10n) Remove + button.btn.btn-block.btn-danger.btn-xs.submit(type="button", ng-click="delete_account()", ng-show="!isIncomingOnly()", l10n) Remove span( rp-popover rp-popover-placement="bottom" rp-popover-trigger="hover" l10n-rp-popover-title="Incoming trust" l10n-data-content="You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you.") - button.btn.btn-block.btn-danger.btn-xs.submit(type="button", ng-click="delete_account()", ng-show="isIncoming()", disabled, l10n) Remove + button.btn.btn-block.btn-danger.btn-xs.submit(type="button", ng-click="delete_account()", ng-show="isIncomingOnly()", disabled, l10n) Remove .col-xs-3 a.btn.btn-block.btn-cancel(href="", ng-click="cancel()" ng-disabled="trust.loading", l10n) cancel \ No newline at end of file From 8baf05ac61c2db95da4a9254179b547b81a0d4ae Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 5 May 2015 01:31:07 +0300 Subject: [PATCH 276/321] [FIX] move order notification (RT-3271) move order notification under order widget --- src/templates/tabs/trade.jade | 45 +++++++++++++---------------------- 1 file changed, 17 insertions(+), 28 deletions(-) diff --git a/src/templates/tabs/trade.jade b/src/templates/tabs/trade.jade index 4a29c5848..c81b35a49 100644 --- a/src/templates/tabs/trade.jade +++ b/src/templates/tabs/trade.jade @@ -190,34 +190,6 @@ section.col-xs-12.content(ng-controller="TradeCtrl") | {{order.first_currency | rpcurrency}} | available div(ng-switch-when='trade') - group.pending(ng-show='notif[type]=="pending"') - h2.tx-status(l10n) Your order has been submitted. - group.result-success(ng-show="notif[type]=='cleared' && executedOnOfferCreate=='none'") - h2.tx-status(l10n) Your order is now active. - group.result-success(ng-show="notif[type]=='cleared' && executedOnOfferCreate=='all'") - h2.tx-status(l10n) Your order has been filled. - group.result-success(ng-show="notif[type]=='cleared' && executedOnOfferCreate=='partial'") - h2.tx-status(l10n) Your order has been partially filled. The remaining amount is now active. - - //- 4a. Ripple error page - - group.mode-ripplerror(ng-show='notif[type]=="unknown"') - rp-transaction-status( - rp-engine-result="{{engine_result}}" - rp-engine-result-message="{{engine_result_message}}" - rp-accepted="{{engine_status_accepted}}" - rp-current-tab="trade") - - group.mode-granted.wide(ng-show='notif !== "clear"', ng-hide='!notif') - group(ng-switch="notif") - group.result-success(ng-switch-when="success") - h2.tx-status(l10n) Success! You can deposit BTC via your generated BTC receiving address. - group.result-error(ng-switch-when="error") - h2.tx-status(l10n) There was an error with your request. - p(l10n) Please try again later. - group.result-error(ng-switch-when="emailError") - h2.tx-status(l10n) There was an error with your request. - form.mode-form(name="tradeForm", ng-submit='place_order(type)', ng-show="order[type].showWidget") .row.order-values .col-xs-12 @@ -341,6 +313,23 @@ section.col-xs-12.content(ng-controller="TradeCtrl") div(ng-hide="order[type].showWidget") p.literal(l10n) You do not have sufficient funds to create an order. + group.pending(ng-show='notif[type]=="pending"') + h2.tx-status(l10n) Your order has been submitted. + group.result-success(ng-show="notif[type]=='cleared' && executedOnOfferCreate=='none'") + h2.tx-status(l10n) Your order is now active. + group.result-success(ng-show="notif[type]=='cleared' && executedOnOfferCreate=='all'") + h2.tx-status(l10n) Your order has been filled. + group.result-success(ng-show="notif[type]=='cleared' && executedOnOfferCreate=='partial'") + h2.tx-status(l10n) Your order has been partially filled. The remaining amount is now active. + + //- 4a. Ripple error page + group.mode-ripplerror(ng-show='notif[type]=="unknown"') + rp-transaction-status( + rp-engine-result="{{engine_result}}" + rp-engine-result-message="{{engine_result_message}}" + rp-accepted="{{engine_status_accepted}}" + rp-current-tab="trade") + //- 2. Confirmation form.mode-confirm(ng-switch-when='confirm', ng-submit="order_confirmed(type, order.currency_pair)") div.alert.alert-warning(ng-show="fatFingerErr") From b894ae58e1d02a20f0f907c88a964c08570939ee Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Mon, 4 May 2015 16:36:13 -0700 Subject: [PATCH 277/321] [FIX] App: get languages list --- src/js/entry/web.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/entry/web.js b/src/js/entry/web.js index a18f6ec46..9463d3810 100644 --- a/src/js/entry/web.js +++ b/src/js/entry/web.js @@ -119,7 +119,7 @@ var tabdefs = [ // Language window.lang = (function(){ - var languages = _.pluck(require('../../../l10n/languages.json'), 'code'); + var languages = _.pluck(require('../../../l10n/languages.json').active, 'code'); var resolveLanguage = function(lang) { if (!lang) return null; if (languages.indexOf(lang) != -1) return lang; From 8e6a8373a6e0b203d1a8efec56c77da3bc993b3b Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Mon, 4 May 2015 16:38:56 -0700 Subject: [PATCH 278/321] [TASK] Gulp: Don't generate l10n strings on dev --- gulpfile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gulpfile.js b/gulpfile.js index 3920fa33c..8696620a1 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -237,7 +237,7 @@ gulp.task('default', ['dev'], function() { }); // Development -gulp.task('dev', ['clean:dev', 'bower', 'webpack:dev', 'less', 'templates:dev', 'l10nExtract'], function () { +gulp.task('dev', ['clean:dev', 'bower', 'webpack:dev', 'less', 'templates:dev'], function () { gulp.start('preprocess:dev'); }); From 9ef45b557791fe2e1cde4c5f5748f7d9a743f0ab Mon Sep 17 00:00:00 2001 From: Malika Date: Mon, 4 May 2015 15:48:32 -0700 Subject: [PATCH 279/321] Add Bitstamp to Ripple Trade-Fund-Gateways under USD and BTC (RM-3375) --- src/js/tabs/btc.controller.js | 124 ++++++++++++++++++++++++++++++++++ src/js/tabs/usd.controller.js | 111 ++++++++++++++++++++++++++++++ src/templates/tabs/btc.jade | 75 ++++++++++++++++++++ src/templates/tabs/usd.jade | 76 +++++++++++++++++++++ 4 files changed, 386 insertions(+) diff --git a/src/js/tabs/btc.controller.js b/src/js/tabs/btc.controller.js index 3dd8a6dfa..0f60ac5f4 100644 --- a/src/js/tabs/btc.controller.js +++ b/src/js/tabs/btc.controller.js @@ -27,6 +27,10 @@ BtcTab.prototype.angular = function (module) $scope.showInstructions = !$scope.showInstructions; }; + $scope.toggle_btc_instructions = function (){ + $scope.showBtcInstructions = !$scope.showBtcInstructions; + } + $scope.openPopup = function () { $scope.emailError = false; $scope.generalError = false; @@ -112,6 +116,126 @@ BtcTab.prototype.angular = function (module) rpTracker.track('B2R Shared Email'); }; + $scope.save_btc_account = function (){ + + $scope.btcLoading = true; + + var amount = ripple.Amount.from_human( + Options.gateway_max_limit + ' ' + 'BTC', + {reference_date: new Date(+new Date() + 5*60000)} + ); + + amount.set_issuer("rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B"); + + if (!amount.is_valid()) { + // Invalid amount. Indicates a bug in one of the validators. + console.log('Invalid amount'); + return; + } + + var tx = network.remote.transaction(); + + // Add memo to tx + tx.addMemo('client', 'rt' + $scope.version); + + // Flags + tx + .rippleLineSet(id.account, amount) + .on('proposed', function(res){ + $scope.$apply(function () { + setEngineStatus(res, false); + }); + }) + .on('success', function (res) { + $scope.$apply(function () { + setEngineStatus(res, true); + + $scope.btcLoading = false; + $scope.btcediting = false; + }); + }) + .on('error', function (res) { + setEngineStatus(res, false); + console.log('error', res); + setImmediate(function () { + $scope.$apply(function () { + $scope.btcMode = 'error'; + + $scope.btcLoading = false; + $scope.btcediting = false; + }); + }); + }); + + function setEngineStatus(res, accepted) { + $scope.btc_engine_result = res.engine_result; + $scope.btc_engine_result_message = res.engine_result_message; + $scope.btc_engine_status_accepted = accepted; + + switch (res.engine_result.slice(0, 3)) { + case 'tes': + $scope.btc_tx_result = accepted ? 'cleared' : 'pending'; + break; + case 'tem': + $scope.btc_tx_result = 'malformed'; + break; + case 'ter': + $scope.btc_tx_result = 'failed'; + break; + case 'tec': + $scope.btc_tx_result = 'failed'; + break; + case 'tel': + $scope.btc_tx_result = "local"; + break; + case 'tep': + console.warn('Unhandled engine status encountered!'); + } + if ($scope.btc_tx_result=="cleared"){ + $scope.btcConnected = true; + $scope.showBtcInstructions = true; + + } + console.log($scope.btc_tx_result); + } + + keychain.requestSecret(id.account, id.username, function (err, secret) { + // XXX Error handling + if (err) { + $scope.btcLoading = false; + console.log(err); + return; + } + + $scope.btcMode = 'granting'; + + tx.secret(secret); + tx.submit(); + + + }); + + }; + + $scope.$watch('lines', function () { + if($scope.lines['rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59BBTC']){ + $scope.btcConnected = true; + } + else { + $scope.btcConnected = false; + } + }, true); + + $scope.$watch('account', function() { + $scope.can_add_trust = false; + if ($scope.account.Balance && $scope.account.reserve_to_add_trust) { + if (!$scope.account.reserve_to_add_trust.subtract($scope.account.Balance).is_positive() + || $.isEmptyObject($scope.lines)) + { + $scope.can_add_trust = true; + } + } + }, true); }]); }; diff --git a/src/js/tabs/usd.controller.js b/src/js/tabs/usd.controller.js index b3795422b..8e0eaa31d 100644 --- a/src/js/tabs/usd.controller.js +++ b/src/js/tabs/usd.controller.js @@ -25,6 +25,9 @@ UsdTab.prototype.angular = function (module) $scope.showInstructions = !$scope.showInstructions; } + $scope.toggle_usd_instructions = function (){ + $scope.showUsdInstructions = !$scope.showUsdInstructions; + } $scope.save_account = function (){ @@ -127,6 +130,108 @@ UsdTab.prototype.angular = function (module) }; + $scope.save_usd_account = function (){ + + $scope.usdLoading = true; + + var amount = ripple.Amount.from_human( + Options.gateway_max_limit + ' ' + 'USD', + {reference_date: new Date(+new Date() + 5*60000)} + ); + + amount.set_issuer("rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B"); + + if (!amount.is_valid()) { + // Invalid amount. Indicates a bug in one of the validators. + console.log('Invalid amount'); + return; + } + + var tx = network.remote.transaction(); + + // Add memo to tx + tx.addMemo('client', 'rt' + $scope.version); + + // Flags + tx + .rippleLineSet(id.account, amount) + .on('proposed', function(res){ + $scope.$apply(function () { + setEngineStatus(res, false); + }); + }) + .on('success', function (res) { + $scope.$apply(function () { + setEngineStatus(res, true); + + $scope.usdLoading = false; + $scope.usdediting = false; + }); + }) + .on('error', function (res) { + setEngineStatus(res, false); + console.log('error', res); + setImmediate(function () { + $scope.$apply(function () { + $scope.usdMode = 'error'; + + $scope.usdLoading = false; + $scope.usdediting = false; + }); + }); + }); + + function setEngineStatus(res, accepted) { + $scope.usd_engine_result = res.engine_result; + $scope.usd_engine_result_message = res.engine_result_message; + $scope.usd_engine_status_accepted = accepted; + + switch (res.engine_result.slice(0, 3)) { + case 'tes': + $scope.usd_tx_result = accepted ? 'cleared' : 'pending'; + break; + case 'tem': + $scope.usd_tx_result = 'malformed'; + break; + case 'ter': + $scope.usd_tx_result = 'failed'; + break; + case 'tec': + $scope.usd_tx_result = 'failed'; + break; + case 'tel': + $scope.usd_tx_result = "local"; + break; + case 'tep': + console.warn('Unhandled engine status encountered!'); + } + if ($scope.usd_tx_result=="cleared"){ + $scope.usdConnected = true; + $scope.showUsdInstructions = true; + + } + console.log($scope.usd_tx_result); + } + + keychain.requestSecret(id.account, id.username, function (err, secret) { + // XXX Error handling + if (err) { + $scope.usdLoading = false; + console.log(err); + return; + } + + $scope.usdMode = 'granting'; + + tx.secret(secret); + tx.submit(); + + + }); + + }; + + $scope.$watch('lines', function () { if($scope.lines['rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2qUSD']){ $scope.usdConnected = true; @@ -134,6 +239,12 @@ UsdTab.prototype.angular = function (module) else { $scope.usdConnected = false; } + if($scope.lines['rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59BUSD']){ + $scope.usdConnected = true; + } + else { + $scope.usdConnected = false; + } }, true); // User should be notified if the reserve is insufficient to add a gateway diff --git a/src/templates/tabs/btc.jade b/src/templates/tabs/btc.jade index f969523bf..9c74c987e 100644 --- a/src/templates/tabs/btc.jade +++ b/src/templates/tabs/btc.jade @@ -133,3 +133,78 @@ section.col-xs-12.content(ng-controller='BtcCtrl') | using the a(href="https://btc2ripple.com", target="_blank") btc2ripple | service powered by SnapSwap. + br + .gateway.row + .col-md-3 + .title(l10n) Gateway + .description(l10n) + | Bitstamp (~bitstamp) + br + a(href="https://www.bitstamp.net", target="_blank") www.bitstamp.net + .col-md-3 + .title(l10n) Availability + .description(l10n) All countries + .col-md-3 + .title(l10n) Fees + .description(l10n) Deposit/withdrawal and when transferring .2% + .col-md-3 + .title(l10n) Rating + .description(l10n) + a(href="https://coinist.co/ripple/gateways/bitstamp", target="_blank") read reviews + + .row.fund-tab-description + .col-xs-12.col-md-8.col-lg-6 + .descriptor(ng-show="!btcConnected", l10n) Ripple Trade has partnered with Bitstamp to provide easier access to USD. Following this action will enable Bitstamp to hold USD on your behalf. + + .row.fund-tab-description + .col-xs-7.col-sm-5.col-md-4 + button.btn.btn-large.btn-primary(ng-show="!btcConnected && !btcLoading && loadState.account", type="submit", ng-click="save_btc_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Bitstamp + button.btn.btn-large.btn-primary(ng-show="!btcConnected && btcLoading", type="submit", ng-disabled="btcLoading", l10n) Adding... + button.btn.btn-large.btn-primary(ng-show="showBtcInstructions && btcConnected", type="submit", ng-click="toggle_btc_instructions()", l10n) Hide instructions + button.btn.btn-large.btn-primary(ng-show="btcConnected && !showBtcInstructions", type="submit", ng-click="toggle_btc_instructions()", l10n) Show instructions + + .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="btcLoading") + .description.fa.fa-times(ng-show="!btcConnected && account.Balance", l10n) Not connected + .description.fa.fa-check(ng-show="btcConnected && account.Balance", l10n) Connected + .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!loadState.account") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... + + .row(ng-show="showBtcInstructions && btcConnected") + .instructions.col-md-10 + a.dismiss(href="", id="hide", ng-click="toggle_btc_instructions()", l10n) × + .title(l10n) NEW CUSTOMERS- SIGN UP AT BITSTAMP + .description(l10n) + | Register and verify your account at + a(href="www.bitstamp.net", target="_blank") www.bitstamp.net + | . You will need: + ul + li + p(l10n) A valid government-issued ID: driver's license, international passport, or national ID card. + li + p(l10n) A proof of residency: tax return, council tax, utility bill, bank statement, certificate of residency issued by a government authority, etc. + + .title(l10n) DEPOSIT OPTIONS + .description(l10n) + ul + li + p(l10n) International wire transfer (.05% deposit fee on our side (minimum fee = $7.5) and 2 - 5 business days to credit) + li + p(l10n) SEPA (All funds transferred in EUR will be converted to USD, free of charge. 1-3 business days) + li + p(l10n) AstroPay (instantly from available countries) + li + p(l10n) Bitcoin + + .title(l10n) WITHDRAWAL OPTIONS + .description(l10n) + ul + li + p(l10n) International wire transfer (.09% fee on our side (minimum fee = $15) and 2 - 5 business days) + li + p(l10n) SEPA (1-3 business days) + li + p(l10n) Bitcoin + .description If you have any questions, please feel free to contact Bitstamp at + a(href="support@bitstamp.net", target="_blank") support@bitstamp.net diff --git a/src/templates/tabs/usd.jade b/src/templates/tabs/usd.jade index a5953e67b..5bfa84691 100644 --- a/src/templates/tabs/usd.jade +++ b/src/templates/tabs/usd.jade @@ -113,3 +113,79 @@ section.col-xs-12.content(ng-controller='UsdCtrl') p(l10n) Directly to your bank account (3-4 business days) li p(l10n) Directly to your PayPal account (several minutes) + br + .gateway.row + .col-md-3 + .title(l10n) Gateway + .description(l10n) + | Bitstamp (~bitstamp) + br + a(href="https://www.bitstamp.net", target="_blank") www.bitstamp.net + .col-md-3 + .title(l10n) Availability + .description(l10n) All countries + .col-md-3 + .title(l10n) Fees + .description(l10n) Deposit/withdrawal and when transferring .2% + .col-md-3 + .title(l10n) Rating + .description(l10n) + a(href="https://coinist.co/ripple/gateways/bitstamp", target="_blank") read reviews + + .row.fund-tab-description + .col-xs-12.col-md-8.col-lg-6 + .descriptor(ng-show="!usdConnected", l10n) Ripple Trade has partnered with Bitstamp to provide easier access to USD. Following this action will enable Bitstamp to hold USD on your behalf. + + .row.fund-tab-description + .col-xs-7.col-sm-5.col-md-4 + button.btn.btn-large.btn-primary(ng-show="!usdConnected && !usdLoading && loadState.account", type="submit", ng-click="save_usd_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Bitstamp + button.btn.btn-large.btn-primary(ng-show="!usdConnected && usdLoading", type="submit", ng-disabled="usdLoading", l10n) Adding... + button.btn.btn-large.btn-primary(ng-show="showUsdInstructions && usdConnected", type="submit", ng-click="toggle_usd_instructions()", l10n) Hide instructions + button.btn.btn-large.btn-primary(ng-show="usdConnected && !showUsdInstructions", type="submit", ng-click="toggle_usd_instructions()", l10n) Show instructions + + .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="usdLoading") + .description.fa.fa-times(ng-show="!usdConnected && account.Balance", l10n) Not connected + .description.fa.fa-check(ng-show="usdConnected && account.Balance", l10n) Connected + .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!loadState.account") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... + + .row(ng-show="showUsdInstructions && usdConnected") + .instructions.col-md-10 + a.dismiss(href="", id="hide", ng-click="toggle_usd_instructions()", l10n) × + .title(l10n) NEW CUSTOMERS- SIGN UP AT BITSTAMP + .description(l10n) + | Register and verify your account at + a(href="www.bitstamp.net", target="_blank") www.bitstamp.net + | . You will need: + ul + li + p(l10n) A valid government-issued ID: driver's license, international passport, or national ID card. + li + p(l10n) A proof of residency: tax return, council tax, utility bill, bank statement, certificate of residency issued by a government authority, etc. + + .title(l10n) DEPOSIT OPTIONS + .description(l10n) + ul + li + p(l10n) International wire transfer (.05% deposit fee on our side (minimum fee = $7.5) and 2 - 5 business days to credit) + li + p(l10n) SEPA (All funds transferred in EUR will be converted to USD, free of charge. 1-3 business days) + li + p(l10n) AstroPay (instantly from available countries) + li + p(l10n) Bitcoin + + .title(l10n) WITHDRAWAL OPTIONS + .description(l10n) + ul + li + p(l10n) International wire transfer (.09% fee on our side (minimum fee = $15) and 2 - 5 business days) + li + p(l10n) SEPA (1-3 business days) + li + p(l10n) Bitcoin + .description If you have any questions, please feel free to contact Bitstamp at + a(href="support@bitstamp.net", target="_blank") support@bitstamp.net + From 7cdb758f83e4f1a4e85292de1b6afc5614d6721f Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 5 May 2015 03:39:44 +0300 Subject: [PATCH 280/321] [FIX] History: force "to" date (RT-3374) History: force "to" date to be biger than "from" --- src/js/directives/fields.directive.js | 37 +++++++++++++++++++++++---- src/templates/tabs/history.jade | 2 +- 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/src/js/directives/fields.directive.js b/src/js/directives/fields.directive.js index 52860d564..3e765eba9 100644 --- a/src/js/directives/fields.directive.js +++ b/src/js/directives/fields.directive.js @@ -257,15 +257,42 @@ module.directive('rpDatepicker', [function() { require: '?ngModel', link: function(scope, element, attr, ngModel) { attr.$observe('rpDatepicker', function() { - var dp = $(element).datepicker({ + var options = { format: 'mm/dd/yyyy' - }); + }; + + if (attr.rpDatepickerMin) { + var dateMinVal = 0; + options.onRender = function(date) { + return date.valueOf() < dateMinVal ? 'disabled' : ''; + }; + + scope.$watch(attr.rpDatepickerMin, function(v) { + if (v instanceof Date) { + dateMinVal = v.valueOf(); + var viewDate = ngModel.$viewValue.valueOf(); + if (typeof viewDate === 'string') { + viewDate = Date.parse(viewDate).valueOf(); + } + if (dateMinVal > viewDate) { + var newDate = new Date(dateMinVal + 24 * 60 * 60 * 1000); + ngModel.$setViewValue(newDate); + $(element).datepicker('setValue', newDate); + } + // fore re-render + $(element).data('datepicker').fill(); + } + }); + } + + var dp = $(element).datepicker(options); dp.on('changeDate', function(e) { scope.$apply(function () { ngModel.$setViewValue(e.date.getMonth() ? e.date : new Date(e.date)); }); }); - scope.$watch(attr.ngModel,function() { + + scope.$watch(attr.ngModel, function() { var update = ngModel.$viewValue; function falsy(v) {return v == '0' || v == 'false'; } @@ -273,8 +300,8 @@ module.directive('rpDatepicker', [function() { if (!falsy(attr.ignoreInvalidUpdate) && (update == null || (update instanceof Date && isNaN(update.getYear())) )) { - return; - } + return; + } }); }); } diff --git a/src/templates/tabs/history.jade b/src/templates/tabs/history.jade index d03572d85..06fb93396 100644 --- a/src/templates/tabs/history.jade +++ b/src/templates/tabs/history.jade @@ -55,7 +55,7 @@ section.col-xs-12.content(ng-controller="HistoryCtrl") i.fa.fa-calendar.fa-fw span(l10n) To .input-wrapper - input.form-control(type="text", rp-datepicker, ng-model="dateMaxView", readonly) + input.form-control(type="text", rp-datepicker, ng-model="dateMaxView", rp-datepicker-min="dateMinView", readonly) button.btn.btn-block.btn-primary.submit(type='submit', l10n) Filter .transactions.col-lg-9.col-md-8.col-sm-7.col-xs-12 From ed5aa2fd43303b1c34b602b300f6a0525c08a5b0 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 5 May 2015 21:09:45 +0300 Subject: [PATCH 281/321] [TEST] join e2e tests join e2e tests in batches in hope that in this way they will run faster --- test/joinPrivateTests.js | 46 + .../selenium/tests-private/PrivateTests0.json | 980 ++++++++++++++++ .../selenium/tests-private/PrivateTests1.json | 1009 +++++++++++++++++ .../selenium/tests-private/PrivateTests2.json | 550 +++++++++ .../selenium/tests-private/PrivateTests3.json | 845 ++++++++++++++ .../selenium/tests-private/PrivateTests4.json | 366 ++++++ 6 files changed, 3796 insertions(+) create mode 100644 test/joinPrivateTests.js create mode 100644 test/selenium/tests-private/PrivateTests0.json create mode 100644 test/selenium/tests-private/PrivateTests1.json create mode 100644 test/selenium/tests-private/PrivateTests2.json create mode 100644 test/selenium/tests-private/PrivateTests3.json create mode 100644 test/selenium/tests-private/PrivateTests4.json diff --git a/test/joinPrivateTests.js b/test/joinPrivateTests.js new file mode 100644 index 000000000..da933ff1b --- /dev/null +++ b/test/joinPrivateTests.js @@ -0,0 +1,46 @@ +/** + * + * + */ + +(function() { + 'use strict'; + + var fs = require('fs'); + var privateDevPath = 'selenium/tests-private-dev'; + var privatePath = 'selenium/tests-private/PrivateTests'; + + function dump(contObj, num) { + var resStr = JSON.stringify(contObj, null, 2); + fs.writeFileSync(privatePath + num + '.json', resStr); + } + + function main() { + var dirs = fs.readdirSync(privateDevPath); + //console.log(dirs); + var resObj = null; + var c = 0; + var x = 0; + for (var i = 0; i < dirs.length; i++) { + console.log(dirs[i]); + var content = fs.readFileSync(privateDevPath + '/' + dirs[i]); + var obj = JSON.parse(content); + if (resObj === null) { + resObj = obj; + } else { + resObj.steps = resObj.steps.concat(obj.steps); + } + if (++c == 4) { + c = 0; + dump(resObj, x++); + resObj = null; + } + } + if (resObj) { + dump(resObj, x++); + } + } + + main(); + +})(); diff --git a/test/selenium/tests-private/PrivateTests0.json b/test/selenium/tests-private/PrivateTests0.json new file mode 100644 index 000000000..0927071b1 --- /dev/null +++ b/test/selenium/tests-private/PrivateTests0.json @@ -0,0 +1,980 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Gateways" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "Connect" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Connect gateway" + } + }, + { + "type": "waitForTextPresent", + "text": "address" + }, + { + "type": "verifyElementPresent", + "locator": { + "type": "id", + "value": "trust_counterparty" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "trust_counterparty" + }, + "text": "~snapswap" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "setElementText", + "locator": { + "type": "xpath", + "value": "//form[@id='trustForm']/div[2]/div/div[2]/div/div/input" + }, + "text": "USD" + }, + { + "type": "sendKeysToElement", + "locator": { + "type": "xpath", + "value": "//form[@id='trustForm']/div[2]/div/div[2]/div/div/input" + }, + "text": "\n" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "link text", + "value": "Save" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Save" + } + }, + { + "type": "waitForTextPresent", + "text": "Confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='modal-content']//button[.='Loading...Confirm']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "SnapSwap", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "BRL" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "BRL" + } + }, + { + "type": "waitForTextPresent", + "text": "Brazil" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-brl']//button[.=' Add Rippex Adding...']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "pause", + "waitTime": "1000" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Real", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "EUR" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "EUR" + } + }, + { + "type": "waitForTextPresent", + "text": "Euro" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-eur']//button[.='Add SnapSwap.eu']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Euro", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "JPY" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "JPY" + } + }, + { + "type": "waitForTextPresent", + "text": "Tokyo" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-jpy']//button[.='Add Tokyo JPY']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Japanese", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests-private/PrivateTests1.json b/test/selenium/tests-private/PrivateTests1.json new file mode 100644 index 000000000..7e9338c94 --- /dev/null +++ b/test/selenium/tests-private/PrivateTests1.json @@ -0,0 +1,1009 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "MXN" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "MXN" + } + }, + { + "type": "waitForTextPresent", + "text": "Mexican" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-mxn']//button[.='Add Bitso']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Mexican", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "SGD" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "SGD" + } + }, + { + "type": "waitForTextPresent", + "text": "Singapore" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-sgd']//button[.='Add Ripple Singapore']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Singapore", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "USD" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "USD" + } + }, + { + "type": "waitForTextPresent", + "text": "USA" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-usd']//button[.='Add SnapSwap.us']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Dollar", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "XAU" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "XAU" + } + }, + { + "type": "waitForTextPresent", + "text": "Gold" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-gold']//button[.='Add GBI']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Gold", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests-private/PrivateTests2.json b/test/selenium/tests-private/PrivateTests2.json new file mode 100644 index 000000000..0f6b474c7 --- /dev/null +++ b/test/selenium/tests-private/PrivateTests2.json @@ -0,0 +1,550 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send > a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "verifyText", + "text": "BTC - Bitcoin", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.00001" + }, + { + "type": "waitForTextPresent", + "text": "Send XRP" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send > a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "kate@snapswap.eu" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "verifyText", + "text": "EUR - Euro", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.01" + }, + { + "type": "waitForTextPresent", + "text": "Send XRP" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "#kate@snapswap.eu" + }, + { + "type": "waitForTextPresent", + "text": "Dollar" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "verifyText", + "text": "USD - US Dollar", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME2}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD2}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send > a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "~vakula" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "id", + "value": "send_amount_currency" + } + }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.0000001" + }, + { + "type": "waitForTextPresent", + "text": "too much" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.000001" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "id", + "value": "sendXrpButton" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "1000000000000" + }, + { + "type": "waitForTextPresent", + "text": "too much" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount_currency" + }, + "text": "USD" + }, + { + "type": "waitForTextPresent", + "text": "insufficient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "10000000000000000" + }, + { + "type": "waitForTextPresent", + "text": "too many" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": ".000000000000001" + }, + { + "type": "waitForTextPresent", + "text": "Send USD" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": ".0000000000000001" + }, + { + "type": "waitForTextPresent", + "text": "too many" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME2}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD2}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send > a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "~vakula" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "id", + "value": "send_amount_currency" + } + }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount_currency" + }, + "text": "USD" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.00001" + }, + { + "type": "waitForTextPresent", + "text": "Send USD" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount_currency" + }, + "text": "BTC" + }, + { + "type": "waitForTextPresent", + "text": "Send XRP" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests-private/PrivateTests3.json b/test/selenium/tests-private/PrivateTests3.json new file mode 100644 index 000000000..e72286d46 --- /dev/null +++ b/test/selenium/tests-private/PrivateTests3.json @@ -0,0 +1,845 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "verifyElementPresent", + "locator": { + "type": "id", + "value": "send_destination" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "~appsteamaccount1" + }, + { + "type": "waitForTextPresent", + "text": "receive" + }, + { + "type": "verifyElementPresent", + "locator": { + "type": "id", + "value": "send_amount" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.0001" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "id", + "value": "sendXrpButton" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "sendXrpButton" + } + }, + { + "type": "waitForTextPresent", + "text": "confirm" + }, + { + "type": "verifyElementPresent", + "locator": { + "type": "id", + "value": "send_unlock_password" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "confirmButton" + } + }, + { + "type": "waitForTextPresent", + "text": "successful" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME2}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD2}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "waitForTextPresent", + "text": "add pair" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "currency_pair" + }, + "text": "WRONG" + }, + { + "type": "waitForTextPresent", + "text": "show" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "currency_pair" + }, + "text": "USD.Bitstamp/USD.Snapswap" + }, + { + "type": "pause", + "waitTime": "1000" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "wrapper" + } + }, + { + "type": "waitForTextPresent", + "text": "BIDS" + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "setElementText", + "locator": { + "type": "css selector", + "value": "input[input-type='sell'][name='amount']" + }, + "text": "0.00001" + }, + { + "type": "setElementText", + "locator": { + "type": "css selector", + "value": "input[input-type='sell'][name='price']" + }, + "text": "1234" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button[btn-type='sell']" + } + }, + { + "type": "waitForTextPresent", + "text": "sure" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button[ng-disabled='confirm_wait']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD2}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "cancel" + }, + { + "type": "verifyText", + "text": "0.00001", + "locator": { + "type": "css selector", + "value": "div[data-label='QTY']" + } + }, + { + "type": "verifyText", + "text": "1,234", + "locator": { + "type": "css selector", + "value": "div[data-label='Limit']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "editPrice" + }, + "text": "1233" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "submit" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "cancel" + } + }, + { + "type": "verifyText", + "text": "1,233", + "locator": { + "type": "css selector", + "value": "div[data-label='Limit']" + } + }, + { + "type": "verifyText", + "text": "0.00001", + "locator": { + "type": "css selector", + "value": "div[data-label='QTY']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "editQuantity" + }, + "text": "0.00002" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "submit" + } + }, + { + "type": "waitForTextPresent", + "text": "Confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='actions']//button[.='Confirm']" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "cancel" + } + }, + { + "type": "verifyText", + "text": "0.00002", + "locator": { + "type": "css selector", + "value": "div[data-label='QTY']" + } + }, + { + "type": "verifyText", + "text": "1,233", + "locator": { + "type": "css selector", + "value": "div[data-label='Limit']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "cancel" + } + }, + { + "type": "waitForTextPresent", + "text": "confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "div.modal-content button[ng-click='cancel_order()']" + } + }, + { + "type": "waitForTextPresent", + "text": "cancel all", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "waitForTextPresent", + "text": "add pair" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-trade']//button[.='add pair']" + } + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "first_currency" + }, + "text": "GBP" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "first_iss" + }, + "text": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "second_currency" + }, + "text": "XRP" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='add_button']//button[.='Add']" + } + }, + { + "type": "waitForTextPresent", + "text": "edit pairs" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-trade']//button[.='edit pairs']" + } + }, + { + "type": "waitForTextPresent", + "text": "GBP.rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q/XRP" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='section']//span[.='remove']" + } + }, + { + "type": "waitForTextPresent", + "text": "GBP.rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q/XRP", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "waitForTextPresent", + "text": "add pair" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-trade']//button[.='add pair']" + } + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "first_currency" + }, + "text": "EUR" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "first_iss" + }, + "text": "~Bitstamp" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "second_currency" + }, + "text": "XRP" + }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='add_button']//button[.='Add']" + } + }, + { + "type": "waitForTextPresent", + "text": "edit pairs" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-trade']//button[.='edit pairs']" + } + }, + { + "type": "waitForTextPresent", + "text": "EUR.~Bitstamp/XRP" + }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='section']//span[.='remove']" + } + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "waitForTextPresent", + "text": "EUR.~Bitstamp/XRP", + "negated": true + }, + { + "type": "pause", + "waitTime": "8000" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests-private/PrivateTests4.json b/test/selenium/tests-private/PrivateTests4.json new file mode 100644 index 000000000..b2e6d56f4 --- /dev/null +++ b/test/selenium/tests-private/PrivateTests4.json @@ -0,0 +1,366 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "waitForTextPresent", + "text": "add pair" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "currency_pair" + }, + "text": "WRONG" + }, + { + "type": "waitForTextPresent", + "text": "show" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "currency_pair" + }, + "text": "XRP/USD.Bitstamp" + }, + { + "type": "waitForTextPresent", + "text": "BIDS" + }, + { + "type": "setElementText", + "locator": { + "type": "css selector", + "value": "input[input-type='sell'][name='amount']" + }, + "text": "0.001" + }, + { + "type": "setElementText", + "locator": { + "type": "css selector", + "value": "input[input-type='sell'][name='price']" + }, + "text": "1234" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button[btn-type='sell']" + } + }, + { + "type": "waitForTextPresent", + "text": "sure" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button[ng-disabled='confirm_wait']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "cancel" + }, + { + "type": "verifyText", + "text": "0.001", + "locator": { + "type": "css selector", + "value": "div[data-label='QTY']" + } + }, + { + "type": "verifyText", + "text": "1,234", + "locator": { + "type": "css selector", + "value": "div[data-label='Limit']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "waitForTextPresent", + "text": "n/a", + "negated": true + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "editPrice" + }, + "text": "12334" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "submit" + } + }, + { + "type": "waitForTextPresent", + "text": "Confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='actions']//button[.='Confirm']" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "cancel" + } + }, + { + "type": "verifyText", + "text": "12,334", + "locator": { + "type": "css selector", + "value": "div[data-label='Limit']" + } + }, + { + "type": "verifyText", + "text": "0.001", + "locator": { + "type": "css selector", + "value": "div[data-label='QTY']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "n/a", + "negated": true + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "editQuantity" + }, + "text": "0.002" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "submit" + } + }, + { + "type": "waitForTextPresent", + "text": "Confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='actions']//button[.='Confirm']" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "cancel" + } + }, + { + "type": "verifyText", + "text": "0.002", + "locator": { + "type": "css selector", + "value": "div[data-label='QTY']" + } + }, + { + "type": "verifyText", + "text": "12,334", + "locator": { + "type": "css selector", + "value": "div[data-label='Limit']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "cancel" + } + }, + { + "type": "waitForTextPresent", + "text": "confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "div.modal-content button[ng-click='cancel_order()']" + } + }, + { + "type": "waitForTextPresent", + "text": "cancel all", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file From 388072ae08f5d17eca0ccd4a87af387d61c3fa82 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 5 May 2015 21:49:51 +0300 Subject: [PATCH 282/321] [FIX] Trade: "My Orders" orderbooks (RT-3400) Advanced Trade: when switching between orderbooks using the "My Orders" widget check if current pair is same and do not try to switch in that case. --- src/js/tabs/trade.controller.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/js/tabs/trade.controller.js b/src/js/tabs/trade.controller.js index f8aa929b1..c70b2b798 100644 --- a/src/js/tabs/trade.controller.js +++ b/src/js/tabs/trade.controller.js @@ -494,6 +494,11 @@ TradeTab.prototype.angular = function(module) */ $scope.goto_order_currency = function() { if (!this.entry) return; + if (getOrderCurrency(this.entry) === $scope.order.currency_pair) { + // same pair, do nothing + return; + } + var entry = this.entry; var order = $scope.order; currencyPairChangedByNonUser = true; From 363177c25db0a6954ea4a7e4b195cf19feca770a Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Fri, 1 May 2015 21:27:27 +0300 Subject: [PATCH 283/321] [TEST] fixes to e2e tests --- test/selenium/tests-private/AddTrust.json | 2 +- .../tests-private/CustomGatewaysBRL.json | 10 ++-- .../tests-private/CustomGatewaysEUR.json | 8 ++- .../tests-private/CustomGatewaysJPY.json | 8 ++- .../tests-private/CustomGatewaysMXN.json | 8 ++- .../tests-private/CustomGatewaysSGD.json | 8 ++- .../tests-private/CustomGatewaysUSD.json | 8 ++- .../tests-private/CustomGatewaysXAU.json | 8 ++- test/selenium/tests-private/SendLimits.json | 4 +- test/selenium/tests-private/TradeNonXRP.json | 24 +++++++-- test/selenium/tests-private/TradeXRP.json | 51 +++++++++++++++++-- 11 files changed, 115 insertions(+), 24 deletions(-) diff --git a/test/selenium/tests-private/AddTrust.json b/test/selenium/tests-private/AddTrust.json index f220eca74..50481eb5f 100644 --- a/test/selenium/tests-private/AddTrust.json +++ b/test/selenium/tests-private/AddTrust.json @@ -60,7 +60,7 @@ "type": "clickElement", "locator": { "type": "link text", - "value": "Gateways" + "value": "Add any gateway (trust lines)" } }, { diff --git a/test/selenium/tests-private/CustomGatewaysBRL.json b/test/selenium/tests-private/CustomGatewaysBRL.json index 29636d8fa..685ee873e 100644 --- a/test/selenium/tests-private/CustomGatewaysBRL.json +++ b/test/selenium/tests-private/CustomGatewaysBRL.json @@ -67,11 +67,15 @@ "type": "waitForTextPresent", "text": "Brazil" }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "clickElement", "locator": { "type": "xpath", - "value": "//div[@id='t-brl']//button[.='Add RippexAdding...']" + "value": "//div[@id='t-brl']//button[.=' Add Rippex Adding...']" } }, { @@ -171,7 +175,7 @@ "type": "clickElement", "locator": { "type": "link text", - "value": "Gateways" + "value": "Add any gateway (trust lines)" } }, { @@ -227,7 +231,7 @@ }, { "type": "waitForTextPresent", - "text": "Australian", + "text": "Real", "negated": true }, { diff --git a/test/selenium/tests-private/CustomGatewaysEUR.json b/test/selenium/tests-private/CustomGatewaysEUR.json index 1b688722e..1ac5f4d87 100644 --- a/test/selenium/tests-private/CustomGatewaysEUR.json +++ b/test/selenium/tests-private/CustomGatewaysEUR.json @@ -67,6 +67,10 @@ "type": "waitForTextPresent", "text": "Euro" }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "clickElement", "locator": { @@ -171,7 +175,7 @@ "type": "clickElement", "locator": { "type": "link text", - "value": "Gateways" + "value": "Add any gateway (trust lines)" } }, { @@ -227,7 +231,7 @@ }, { "type": "waitForTextPresent", - "text": "Australian", + "text": "Euro", "negated": true }, { diff --git a/test/selenium/tests-private/CustomGatewaysJPY.json b/test/selenium/tests-private/CustomGatewaysJPY.json index 06c44b02b..9a92fa856 100644 --- a/test/selenium/tests-private/CustomGatewaysJPY.json +++ b/test/selenium/tests-private/CustomGatewaysJPY.json @@ -67,6 +67,10 @@ "type": "waitForTextPresent", "text": "Tokyo" }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "clickElement", "locator": { @@ -171,7 +175,7 @@ "type": "clickElement", "locator": { "type": "link text", - "value": "Gateways" + "value": "Add any gateway (trust lines)" } }, { @@ -227,7 +231,7 @@ }, { "type": "waitForTextPresent", - "text": "Australian", + "text": "Japanese", "negated": true }, { diff --git a/test/selenium/tests-private/CustomGatewaysMXN.json b/test/selenium/tests-private/CustomGatewaysMXN.json index 11b403eaa..4d4aceed2 100644 --- a/test/selenium/tests-private/CustomGatewaysMXN.json +++ b/test/selenium/tests-private/CustomGatewaysMXN.json @@ -67,6 +67,10 @@ "type": "waitForTextPresent", "text": "Mexican" }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "clickElement", "locator": { @@ -171,7 +175,7 @@ "type": "clickElement", "locator": { "type": "link text", - "value": "Gateways" + "value": "Add any gateway (trust lines)" } }, { @@ -227,7 +231,7 @@ }, { "type": "waitForTextPresent", - "text": "Australian", + "text": "Mexican", "negated": true }, { diff --git a/test/selenium/tests-private/CustomGatewaysSGD.json b/test/selenium/tests-private/CustomGatewaysSGD.json index 829f0af03..e577d2a78 100644 --- a/test/selenium/tests-private/CustomGatewaysSGD.json +++ b/test/selenium/tests-private/CustomGatewaysSGD.json @@ -67,6 +67,10 @@ "type": "waitForTextPresent", "text": "Singapore" }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "clickElement", "locator": { @@ -171,7 +175,7 @@ "type": "clickElement", "locator": { "type": "link text", - "value": "Gateways" + "value": "Add any gateway (trust lines)" } }, { @@ -227,7 +231,7 @@ }, { "type": "waitForTextPresent", - "text": "Australian", + "text": "Singapore", "negated": true }, { diff --git a/test/selenium/tests-private/CustomGatewaysUSD.json b/test/selenium/tests-private/CustomGatewaysUSD.json index 3155a339b..9cee839f4 100644 --- a/test/selenium/tests-private/CustomGatewaysUSD.json +++ b/test/selenium/tests-private/CustomGatewaysUSD.json @@ -67,6 +67,10 @@ "type": "waitForTextPresent", "text": "USA" }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "clickElement", "locator": { @@ -171,7 +175,7 @@ "type": "clickElement", "locator": { "type": "link text", - "value": "Gateways" + "value": "Add any gateway (trust lines)" } }, { @@ -227,7 +231,7 @@ }, { "type": "waitForTextPresent", - "text": "Australian", + "text": "Dollar", "negated": true }, { diff --git a/test/selenium/tests-private/CustomGatewaysXAU.json b/test/selenium/tests-private/CustomGatewaysXAU.json index 1947c13a0..2244478ca 100644 --- a/test/selenium/tests-private/CustomGatewaysXAU.json +++ b/test/selenium/tests-private/CustomGatewaysXAU.json @@ -67,6 +67,10 @@ "type": "waitForTextPresent", "text": "Gold" }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "clickElement", "locator": { @@ -171,7 +175,7 @@ "type": "clickElement", "locator": { "type": "link text", - "value": "Gateways" + "value": "Add any gateway (trust lines)" } }, { @@ -227,7 +231,7 @@ }, { "type": "waitForTextPresent", - "text": "Australian", + "text": "Gold", "negated": true }, { diff --git a/test/selenium/tests-private/SendLimits.json b/test/selenium/tests-private/SendLimits.json index e1fec98ae..570a1e474 100644 --- a/test/selenium/tests-private/SendLimits.json +++ b/test/selenium/tests-private/SendLimits.json @@ -17,7 +17,7 @@ "type": "id", "value": "login_username" }, - "text": "${FUNDED_USER_NAME}" + "text": "${FUNDED_USER_NAME2}" }, { "type": "setElementText", @@ -25,7 +25,7 @@ "type": "id", "value": "login_password" }, - "text": "${FUNDED_USER_PASSWORD}" + "text": "${FUNDED_USER_PASSWORD2}" }, { "type": "clickElement", diff --git a/test/selenium/tests-private/TradeNonXRP.json b/test/selenium/tests-private/TradeNonXRP.json index b44c09248..88f650afa 100644 --- a/test/selenium/tests-private/TradeNonXRP.json +++ b/test/selenium/tests-private/TradeNonXRP.json @@ -17,7 +17,7 @@ "type": "id", "value": "login_username" }, - "text": "${FUNDED_USER_NAME}" + "text": "${FUNDED_USER_NAME2}" }, { "type": "setElementText", @@ -25,7 +25,7 @@ "type": "id", "value": "login_password" }, - "text": "${FUNDED_USER_PASSWORD}" + "text": "${FUNDED_USER_PASSWORD2}" }, { "type": "clickElement", @@ -98,6 +98,10 @@ "type": "waitForTextPresent", "text": "BIDS" }, + { + "type": "pause", + "waitTime": "2000" + }, { "type": "setElementText", "locator": { @@ -143,7 +147,7 @@ "type": "id", "value": "popup_unlock_password" }, - "text": "${FUNDED_USER_PASSWORD}" + "text": "${FUNDED_USER_PASSWORD2}" }, { "type": "waitForElementAttribute", @@ -269,6 +273,20 @@ "value": "submit" } }, + { + "type": "waitForTextPresent", + "text": "Confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='actions']//button[.='Confirm']" + } + }, + + + { "type": "waitForElementPresent", "locator": { diff --git a/test/selenium/tests-private/TradeXRP.json b/test/selenium/tests-private/TradeXRP.json index 31f466a35..77c83da44 100644 --- a/test/selenium/tests-private/TradeXRP.json +++ b/test/selenium/tests-private/TradeXRP.json @@ -189,14 +189,28 @@ "value": "edit" } }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "waitForTextPresent", + "text": "n/a", + "negated": true + }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "setElementText", "locator": { "type": "name", "value": "editPrice" }, - "text": "1233" + "text": "12334" }, + { "type": "clickElement", "locator": { @@ -204,6 +218,17 @@ "value": "submit" } }, + { + "type": "waitForTextPresent", + "text": "Confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='actions']//button[.='Confirm']" + } + }, { "type": "waitForElementPresent", "locator": { @@ -214,7 +239,7 @@ { "type": "verifyText", - "text": "1,233", + "text": "12,334", "locator": { "type": "css selector", "value": "div[data-label='Limit']" @@ -238,6 +263,15 @@ "value": "edit" } }, + { + "type": "waitForTextPresent", + "text": "n/a", + "negated": true + }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "setElementText", "locator": { @@ -253,6 +287,17 @@ "value": "submit" } }, + { + "type": "waitForTextPresent", + "text": "Confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='actions']//button[.='Confirm']" + } + }, { "type": "waitForElementPresent", "locator": { @@ -270,7 +315,7 @@ }, { "type": "verifyText", - "text": "1,233", + "text": "12,334", "locator": { "type": "css selector", "value": "div[data-label='Limit']" From 10eedd5a5e71acfa21259a28f142f29e5794b677 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Fri, 1 May 2015 22:35:55 +0300 Subject: [PATCH 284/321] [TEST] move e2e private tests to separate dir this is for development. for testing they will be joined into one file for speedup --- test/selenium/{tests-private => tests-private-dev}/AddTrust.json | 0 .../{tests-private => tests-private-dev}/CustomGatewaysBRL.json | 0 .../{tests-private => tests-private-dev}/CustomGatewaysEUR.json | 0 .../{tests-private => tests-private-dev}/CustomGatewaysJPY.json | 0 .../{tests-private => tests-private-dev}/CustomGatewaysMXN.json | 0 .../{tests-private => tests-private-dev}/CustomGatewaysSGD.json | 0 .../{tests-private => tests-private-dev}/CustomGatewaysUSD.json | 0 .../{tests-private => tests-private-dev}/CustomGatewaysXAU.json | 0 test/selenium/{tests-private => tests-private-dev}/SendBTC.json | 0 .../{tests-private => tests-private-dev}/SendFederation.json | 0 .../selenium/{tests-private => tests-private-dev}/SendLimits.json | 0 test/selenium/{tests-private => tests-private-dev}/SendUSD.json | 0 test/selenium/{tests-private => tests-private-dev}/SendXrp.json | 0 .../{tests-private => tests-private-dev}/TradeNonXRP.json | 0 .../{tests-private => tests-private-dev}/TradePairsAddress.json | 0 .../{tests-private => tests-private-dev}/TradePairsName.json | 0 test/selenium/{tests-private => tests-private-dev}/TradeXRP.json | 0 17 files changed, 0 insertions(+), 0 deletions(-) rename test/selenium/{tests-private => tests-private-dev}/AddTrust.json (100%) rename test/selenium/{tests-private => tests-private-dev}/CustomGatewaysBRL.json (100%) rename test/selenium/{tests-private => tests-private-dev}/CustomGatewaysEUR.json (100%) rename test/selenium/{tests-private => tests-private-dev}/CustomGatewaysJPY.json (100%) rename test/selenium/{tests-private => tests-private-dev}/CustomGatewaysMXN.json (100%) rename test/selenium/{tests-private => tests-private-dev}/CustomGatewaysSGD.json (100%) rename test/selenium/{tests-private => tests-private-dev}/CustomGatewaysUSD.json (100%) rename test/selenium/{tests-private => tests-private-dev}/CustomGatewaysXAU.json (100%) rename test/selenium/{tests-private => tests-private-dev}/SendBTC.json (100%) rename test/selenium/{tests-private => tests-private-dev}/SendFederation.json (100%) rename test/selenium/{tests-private => tests-private-dev}/SendLimits.json (100%) rename test/selenium/{tests-private => tests-private-dev}/SendUSD.json (100%) rename test/selenium/{tests-private => tests-private-dev}/SendXrp.json (100%) rename test/selenium/{tests-private => tests-private-dev}/TradeNonXRP.json (100%) rename test/selenium/{tests-private => tests-private-dev}/TradePairsAddress.json (100%) rename test/selenium/{tests-private => tests-private-dev}/TradePairsName.json (100%) rename test/selenium/{tests-private => tests-private-dev}/TradeXRP.json (100%) diff --git a/test/selenium/tests-private/AddTrust.json b/test/selenium/tests-private-dev/AddTrust.json similarity index 100% rename from test/selenium/tests-private/AddTrust.json rename to test/selenium/tests-private-dev/AddTrust.json diff --git a/test/selenium/tests-private/CustomGatewaysBRL.json b/test/selenium/tests-private-dev/CustomGatewaysBRL.json similarity index 100% rename from test/selenium/tests-private/CustomGatewaysBRL.json rename to test/selenium/tests-private-dev/CustomGatewaysBRL.json diff --git a/test/selenium/tests-private/CustomGatewaysEUR.json b/test/selenium/tests-private-dev/CustomGatewaysEUR.json similarity index 100% rename from test/selenium/tests-private/CustomGatewaysEUR.json rename to test/selenium/tests-private-dev/CustomGatewaysEUR.json diff --git a/test/selenium/tests-private/CustomGatewaysJPY.json b/test/selenium/tests-private-dev/CustomGatewaysJPY.json similarity index 100% rename from test/selenium/tests-private/CustomGatewaysJPY.json rename to test/selenium/tests-private-dev/CustomGatewaysJPY.json diff --git a/test/selenium/tests-private/CustomGatewaysMXN.json b/test/selenium/tests-private-dev/CustomGatewaysMXN.json similarity index 100% rename from test/selenium/tests-private/CustomGatewaysMXN.json rename to test/selenium/tests-private-dev/CustomGatewaysMXN.json diff --git a/test/selenium/tests-private/CustomGatewaysSGD.json b/test/selenium/tests-private-dev/CustomGatewaysSGD.json similarity index 100% rename from test/selenium/tests-private/CustomGatewaysSGD.json rename to test/selenium/tests-private-dev/CustomGatewaysSGD.json diff --git a/test/selenium/tests-private/CustomGatewaysUSD.json b/test/selenium/tests-private-dev/CustomGatewaysUSD.json similarity index 100% rename from test/selenium/tests-private/CustomGatewaysUSD.json rename to test/selenium/tests-private-dev/CustomGatewaysUSD.json diff --git a/test/selenium/tests-private/CustomGatewaysXAU.json b/test/selenium/tests-private-dev/CustomGatewaysXAU.json similarity index 100% rename from test/selenium/tests-private/CustomGatewaysXAU.json rename to test/selenium/tests-private-dev/CustomGatewaysXAU.json diff --git a/test/selenium/tests-private/SendBTC.json b/test/selenium/tests-private-dev/SendBTC.json similarity index 100% rename from test/selenium/tests-private/SendBTC.json rename to test/selenium/tests-private-dev/SendBTC.json diff --git a/test/selenium/tests-private/SendFederation.json b/test/selenium/tests-private-dev/SendFederation.json similarity index 100% rename from test/selenium/tests-private/SendFederation.json rename to test/selenium/tests-private-dev/SendFederation.json diff --git a/test/selenium/tests-private/SendLimits.json b/test/selenium/tests-private-dev/SendLimits.json similarity index 100% rename from test/selenium/tests-private/SendLimits.json rename to test/selenium/tests-private-dev/SendLimits.json diff --git a/test/selenium/tests-private/SendUSD.json b/test/selenium/tests-private-dev/SendUSD.json similarity index 100% rename from test/selenium/tests-private/SendUSD.json rename to test/selenium/tests-private-dev/SendUSD.json diff --git a/test/selenium/tests-private/SendXrp.json b/test/selenium/tests-private-dev/SendXrp.json similarity index 100% rename from test/selenium/tests-private/SendXrp.json rename to test/selenium/tests-private-dev/SendXrp.json diff --git a/test/selenium/tests-private/TradeNonXRP.json b/test/selenium/tests-private-dev/TradeNonXRP.json similarity index 100% rename from test/selenium/tests-private/TradeNonXRP.json rename to test/selenium/tests-private-dev/TradeNonXRP.json diff --git a/test/selenium/tests-private/TradePairsAddress.json b/test/selenium/tests-private-dev/TradePairsAddress.json similarity index 100% rename from test/selenium/tests-private/TradePairsAddress.json rename to test/selenium/tests-private-dev/TradePairsAddress.json diff --git a/test/selenium/tests-private/TradePairsName.json b/test/selenium/tests-private-dev/TradePairsName.json similarity index 100% rename from test/selenium/tests-private/TradePairsName.json rename to test/selenium/tests-private-dev/TradePairsName.json diff --git a/test/selenium/tests-private/TradeXRP.json b/test/selenium/tests-private-dev/TradeXRP.json similarity index 100% rename from test/selenium/tests-private/TradeXRP.json rename to test/selenium/tests-private-dev/TradeXRP.json From df8009b604a14c29ced57f9a6eefd0cb32a241bf Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 5 May 2015 00:07:41 +0300 Subject: [PATCH 285/321] [TEST] more e2e tests fixes --- test/selenium/tests-private-dev/AddTrust.json | 4 ++++ .../tests-private-dev/CustomGatewaysBRL.json | 4 ++++ test/selenium/tests-private-dev/TradeNonXRP.json | 13 ++++++++++++- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/test/selenium/tests-private-dev/AddTrust.json b/test/selenium/tests-private-dev/AddTrust.json index 50481eb5f..78af0ad73 100644 --- a/test/selenium/tests-private-dev/AddTrust.json +++ b/test/selenium/tests-private-dev/AddTrust.json @@ -93,6 +93,10 @@ }, "text": "~snapswap" }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "setElementText", "locator": { diff --git a/test/selenium/tests-private-dev/CustomGatewaysBRL.json b/test/selenium/tests-private-dev/CustomGatewaysBRL.json index 685ee873e..bf7bb0caa 100644 --- a/test/selenium/tests-private-dev/CustomGatewaysBRL.json +++ b/test/selenium/tests-private-dev/CustomGatewaysBRL.json @@ -222,6 +222,10 @@ "value": "disabled", "negated": true }, + { + "type": "pause", + "waitTime": "1000" + }, { "type": "clickElement", "locator": { diff --git a/test/selenium/tests-private-dev/TradeNonXRP.json b/test/selenium/tests-private-dev/TradeNonXRP.json index 88f650afa..7dd2aa5f6 100644 --- a/test/selenium/tests-private-dev/TradeNonXRP.json +++ b/test/selenium/tests-private-dev/TradeNonXRP.json @@ -94,13 +94,24 @@ }, "text": "USD.Bitstamp/USD.Snapswap" }, + { + "type": "pause", + "waitTime": "1000" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "wrapper" + } + }, { "type": "waitForTextPresent", "text": "BIDS" }, { "type": "pause", - "waitTime": "2000" + "waitTime": "5000" }, { "type": "setElementText", From 94dd1d7a8b38d5f1d40ba884fe7a30b1cd381643 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 5 May 2015 21:09:45 +0300 Subject: [PATCH 286/321] [TEST] join e2e tests join e2e tests in batches in hope that in this way they will run faster --- test/joinPrivateTests.js | 46 + .../selenium/tests-private/PrivateTests0.json | 980 ++++++++++++++++ .../selenium/tests-private/PrivateTests1.json | 1009 +++++++++++++++++ .../selenium/tests-private/PrivateTests2.json | 550 +++++++++ .../selenium/tests-private/PrivateTests3.json | 845 ++++++++++++++ .../selenium/tests-private/PrivateTests4.json | 366 ++++++ 6 files changed, 3796 insertions(+) create mode 100644 test/joinPrivateTests.js create mode 100644 test/selenium/tests-private/PrivateTests0.json create mode 100644 test/selenium/tests-private/PrivateTests1.json create mode 100644 test/selenium/tests-private/PrivateTests2.json create mode 100644 test/selenium/tests-private/PrivateTests3.json create mode 100644 test/selenium/tests-private/PrivateTests4.json diff --git a/test/joinPrivateTests.js b/test/joinPrivateTests.js new file mode 100644 index 000000000..da933ff1b --- /dev/null +++ b/test/joinPrivateTests.js @@ -0,0 +1,46 @@ +/** + * + * + */ + +(function() { + 'use strict'; + + var fs = require('fs'); + var privateDevPath = 'selenium/tests-private-dev'; + var privatePath = 'selenium/tests-private/PrivateTests'; + + function dump(contObj, num) { + var resStr = JSON.stringify(contObj, null, 2); + fs.writeFileSync(privatePath + num + '.json', resStr); + } + + function main() { + var dirs = fs.readdirSync(privateDevPath); + //console.log(dirs); + var resObj = null; + var c = 0; + var x = 0; + for (var i = 0; i < dirs.length; i++) { + console.log(dirs[i]); + var content = fs.readFileSync(privateDevPath + '/' + dirs[i]); + var obj = JSON.parse(content); + if (resObj === null) { + resObj = obj; + } else { + resObj.steps = resObj.steps.concat(obj.steps); + } + if (++c == 4) { + c = 0; + dump(resObj, x++); + resObj = null; + } + } + if (resObj) { + dump(resObj, x++); + } + } + + main(); + +})(); diff --git a/test/selenium/tests-private/PrivateTests0.json b/test/selenium/tests-private/PrivateTests0.json new file mode 100644 index 000000000..0927071b1 --- /dev/null +++ b/test/selenium/tests-private/PrivateTests0.json @@ -0,0 +1,980 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Gateways" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "Connect" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Connect gateway" + } + }, + { + "type": "waitForTextPresent", + "text": "address" + }, + { + "type": "verifyElementPresent", + "locator": { + "type": "id", + "value": "trust_counterparty" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "trust_counterparty" + }, + "text": "~snapswap" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "setElementText", + "locator": { + "type": "xpath", + "value": "//form[@id='trustForm']/div[2]/div/div[2]/div/div/input" + }, + "text": "USD" + }, + { + "type": "sendKeysToElement", + "locator": { + "type": "xpath", + "value": "//form[@id='trustForm']/div[2]/div/div[2]/div/div/input" + }, + "text": "\n" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "link text", + "value": "Save" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Save" + } + }, + { + "type": "waitForTextPresent", + "text": "Confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='modal-content']//button[.='Loading...Confirm']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "SnapSwap", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "BRL" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "BRL" + } + }, + { + "type": "waitForTextPresent", + "text": "Brazil" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-brl']//button[.=' Add Rippex Adding...']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "pause", + "waitTime": "1000" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Real", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "EUR" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "EUR" + } + }, + { + "type": "waitForTextPresent", + "text": "Euro" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-eur']//button[.='Add SnapSwap.eu']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Euro", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "JPY" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "JPY" + } + }, + { + "type": "waitForTextPresent", + "text": "Tokyo" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-jpy']//button[.='Add Tokyo JPY']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Japanese", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests-private/PrivateTests1.json b/test/selenium/tests-private/PrivateTests1.json new file mode 100644 index 000000000..7e9338c94 --- /dev/null +++ b/test/selenium/tests-private/PrivateTests1.json @@ -0,0 +1,1009 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "MXN" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "MXN" + } + }, + { + "type": "waitForTextPresent", + "text": "Mexican" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-mxn']//button[.='Add Bitso']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Mexican", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "SGD" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "SGD" + } + }, + { + "type": "waitForTextPresent", + "text": "Singapore" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-sgd']//button[.='Add Ripple Singapore']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Singapore", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "USD" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "USD" + } + }, + { + "type": "waitForTextPresent", + "text": "USA" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-usd']//button[.='Add SnapSwap.us']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Dollar", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "XAU" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "XAU" + } + }, + { + "type": "waitForTextPresent", + "text": "Gold" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-gold']//button[.='Add GBI']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Gold", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests-private/PrivateTests2.json b/test/selenium/tests-private/PrivateTests2.json new file mode 100644 index 000000000..0f6b474c7 --- /dev/null +++ b/test/selenium/tests-private/PrivateTests2.json @@ -0,0 +1,550 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send > a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "verifyText", + "text": "BTC - Bitcoin", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.00001" + }, + { + "type": "waitForTextPresent", + "text": "Send XRP" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send > a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "kate@snapswap.eu" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "verifyText", + "text": "EUR - Euro", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.01" + }, + { + "type": "waitForTextPresent", + "text": "Send XRP" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "#kate@snapswap.eu" + }, + { + "type": "waitForTextPresent", + "text": "Dollar" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "verifyText", + "text": "USD - US Dollar", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME2}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD2}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send > a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "~vakula" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "id", + "value": "send_amount_currency" + } + }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.0000001" + }, + { + "type": "waitForTextPresent", + "text": "too much" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.000001" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "id", + "value": "sendXrpButton" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "1000000000000" + }, + { + "type": "waitForTextPresent", + "text": "too much" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount_currency" + }, + "text": "USD" + }, + { + "type": "waitForTextPresent", + "text": "insufficient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "10000000000000000" + }, + { + "type": "waitForTextPresent", + "text": "too many" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": ".000000000000001" + }, + { + "type": "waitForTextPresent", + "text": "Send USD" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": ".0000000000000001" + }, + { + "type": "waitForTextPresent", + "text": "too many" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME2}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD2}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send > a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "~vakula" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "id", + "value": "send_amount_currency" + } + }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount_currency" + }, + "text": "USD" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.00001" + }, + { + "type": "waitForTextPresent", + "text": "Send USD" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount_currency" + }, + "text": "BTC" + }, + { + "type": "waitForTextPresent", + "text": "Send XRP" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests-private/PrivateTests3.json b/test/selenium/tests-private/PrivateTests3.json new file mode 100644 index 000000000..e72286d46 --- /dev/null +++ b/test/selenium/tests-private/PrivateTests3.json @@ -0,0 +1,845 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "verifyElementPresent", + "locator": { + "type": "id", + "value": "send_destination" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "~appsteamaccount1" + }, + { + "type": "waitForTextPresent", + "text": "receive" + }, + { + "type": "verifyElementPresent", + "locator": { + "type": "id", + "value": "send_amount" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.0001" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "id", + "value": "sendXrpButton" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "sendXrpButton" + } + }, + { + "type": "waitForTextPresent", + "text": "confirm" + }, + { + "type": "verifyElementPresent", + "locator": { + "type": "id", + "value": "send_unlock_password" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "confirmButton" + } + }, + { + "type": "waitForTextPresent", + "text": "successful" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME2}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD2}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "waitForTextPresent", + "text": "add pair" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "currency_pair" + }, + "text": "WRONG" + }, + { + "type": "waitForTextPresent", + "text": "show" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "currency_pair" + }, + "text": "USD.Bitstamp/USD.Snapswap" + }, + { + "type": "pause", + "waitTime": "1000" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "wrapper" + } + }, + { + "type": "waitForTextPresent", + "text": "BIDS" + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "setElementText", + "locator": { + "type": "css selector", + "value": "input[input-type='sell'][name='amount']" + }, + "text": "0.00001" + }, + { + "type": "setElementText", + "locator": { + "type": "css selector", + "value": "input[input-type='sell'][name='price']" + }, + "text": "1234" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button[btn-type='sell']" + } + }, + { + "type": "waitForTextPresent", + "text": "sure" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button[ng-disabled='confirm_wait']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD2}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "cancel" + }, + { + "type": "verifyText", + "text": "0.00001", + "locator": { + "type": "css selector", + "value": "div[data-label='QTY']" + } + }, + { + "type": "verifyText", + "text": "1,234", + "locator": { + "type": "css selector", + "value": "div[data-label='Limit']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "editPrice" + }, + "text": "1233" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "submit" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "cancel" + } + }, + { + "type": "verifyText", + "text": "1,233", + "locator": { + "type": "css selector", + "value": "div[data-label='Limit']" + } + }, + { + "type": "verifyText", + "text": "0.00001", + "locator": { + "type": "css selector", + "value": "div[data-label='QTY']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "editQuantity" + }, + "text": "0.00002" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "submit" + } + }, + { + "type": "waitForTextPresent", + "text": "Confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='actions']//button[.='Confirm']" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "cancel" + } + }, + { + "type": "verifyText", + "text": "0.00002", + "locator": { + "type": "css selector", + "value": "div[data-label='QTY']" + } + }, + { + "type": "verifyText", + "text": "1,233", + "locator": { + "type": "css selector", + "value": "div[data-label='Limit']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "cancel" + } + }, + { + "type": "waitForTextPresent", + "text": "confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "div.modal-content button[ng-click='cancel_order()']" + } + }, + { + "type": "waitForTextPresent", + "text": "cancel all", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "waitForTextPresent", + "text": "add pair" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-trade']//button[.='add pair']" + } + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "first_currency" + }, + "text": "GBP" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "first_iss" + }, + "text": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "second_currency" + }, + "text": "XRP" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='add_button']//button[.='Add']" + } + }, + { + "type": "waitForTextPresent", + "text": "edit pairs" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-trade']//button[.='edit pairs']" + } + }, + { + "type": "waitForTextPresent", + "text": "GBP.rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q/XRP" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='section']//span[.='remove']" + } + }, + { + "type": "waitForTextPresent", + "text": "GBP.rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q/XRP", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "waitForTextPresent", + "text": "add pair" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-trade']//button[.='add pair']" + } + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "first_currency" + }, + "text": "EUR" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "first_iss" + }, + "text": "~Bitstamp" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "second_currency" + }, + "text": "XRP" + }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='add_button']//button[.='Add']" + } + }, + { + "type": "waitForTextPresent", + "text": "edit pairs" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-trade']//button[.='edit pairs']" + } + }, + { + "type": "waitForTextPresent", + "text": "EUR.~Bitstamp/XRP" + }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='section']//span[.='remove']" + } + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "waitForTextPresent", + "text": "EUR.~Bitstamp/XRP", + "negated": true + }, + { + "type": "pause", + "waitTime": "8000" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests-private/PrivateTests4.json b/test/selenium/tests-private/PrivateTests4.json new file mode 100644 index 000000000..b2e6d56f4 --- /dev/null +++ b/test/selenium/tests-private/PrivateTests4.json @@ -0,0 +1,366 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Trade" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Advanced" + } + }, + { + "type": "waitForTextPresent", + "text": "add pair" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "currency_pair" + }, + "text": "WRONG" + }, + { + "type": "waitForTextPresent", + "text": "show" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "currency_pair" + }, + "text": "XRP/USD.Bitstamp" + }, + { + "type": "waitForTextPresent", + "text": "BIDS" + }, + { + "type": "setElementText", + "locator": { + "type": "css selector", + "value": "input[input-type='sell'][name='amount']" + }, + "text": "0.001" + }, + { + "type": "setElementText", + "locator": { + "type": "css selector", + "value": "input[input-type='sell'][name='price']" + }, + "text": "1234" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button[btn-type='sell']" + } + }, + { + "type": "waitForTextPresent", + "text": "sure" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button[ng-disabled='confirm_wait']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "cancel" + }, + { + "type": "verifyText", + "text": "0.001", + "locator": { + "type": "css selector", + "value": "div[data-label='QTY']" + } + }, + { + "type": "verifyText", + "text": "1,234", + "locator": { + "type": "css selector", + "value": "div[data-label='Limit']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "waitForTextPresent", + "text": "n/a", + "negated": true + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "editPrice" + }, + "text": "12334" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "submit" + } + }, + { + "type": "waitForTextPresent", + "text": "Confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='actions']//button[.='Confirm']" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "cancel" + } + }, + { + "type": "verifyText", + "text": "12,334", + "locator": { + "type": "css selector", + "value": "div[data-label='Limit']" + } + }, + { + "type": "verifyText", + "text": "0.001", + "locator": { + "type": "css selector", + "value": "div[data-label='QTY']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "n/a", + "negated": true + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "editQuantity" + }, + "text": "0.002" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "submit" + } + }, + { + "type": "waitForTextPresent", + "text": "Confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='actions']//button[.='Confirm']" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "cancel" + } + }, + { + "type": "verifyText", + "text": "0.002", + "locator": { + "type": "css selector", + "value": "div[data-label='QTY']" + } + }, + { + "type": "verifyText", + "text": "12,334", + "locator": { + "type": "css selector", + "value": "div[data-label='Limit']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "cancel" + } + }, + { + "type": "waitForTextPresent", + "text": "confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "div.modal-content button[ng-click='cancel_order()']" + } + }, + { + "type": "waitForTextPresent", + "text": "cancel all", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file From 566cfc9f0250d57bd950e3b6174a39635daad7aa Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Wed, 6 May 2015 00:01:05 +0300 Subject: [PATCH 287/321] [TEST] move back e2e tests for dev also move firefox browser to be first in tests --- test/selenium/interpreter_config_private.json | 4 +- .../AddTrust.json | 0 .../CustomGatewaysBRL.json | 0 .../CustomGatewaysEUR.json | 0 .../CustomGatewaysJPY.json | 0 .../CustomGatewaysMXN.json | 0 .../CustomGatewaysSGD.json | 0 .../CustomGatewaysUSD.json | 0 .../CustomGatewaysXAU.json | 0 .../selenium/tests-private/PrivateTests0.json | 980 ---------------- .../selenium/tests-private/PrivateTests1.json | 1009 ----------------- .../selenium/tests-private/PrivateTests2.json | 550 --------- .../selenium/tests-private/PrivateTests3.json | 845 -------------- .../selenium/tests-private/PrivateTests4.json | 366 ------ .../SendBTC.json | 0 .../SendFederation.json | 0 .../SendLimits.json | 0 .../SendUSD.json | 0 .../SendXrp.json | 0 .../TradeNonXRP.json | 0 .../TradePairsAddress.json | 0 .../TradePairsName.json | 0 .../TradeXRP.json | 0 23 files changed, 2 insertions(+), 3752 deletions(-) rename test/selenium/{tests-private-dev => tests-private}/AddTrust.json (100%) rename test/selenium/{tests-private-dev => tests-private}/CustomGatewaysBRL.json (100%) rename test/selenium/{tests-private-dev => tests-private}/CustomGatewaysEUR.json (100%) rename test/selenium/{tests-private-dev => tests-private}/CustomGatewaysJPY.json (100%) rename test/selenium/{tests-private-dev => tests-private}/CustomGatewaysMXN.json (100%) rename test/selenium/{tests-private-dev => tests-private}/CustomGatewaysSGD.json (100%) rename test/selenium/{tests-private-dev => tests-private}/CustomGatewaysUSD.json (100%) rename test/selenium/{tests-private-dev => tests-private}/CustomGatewaysXAU.json (100%) delete mode 100644 test/selenium/tests-private/PrivateTests0.json delete mode 100644 test/selenium/tests-private/PrivateTests1.json delete mode 100644 test/selenium/tests-private/PrivateTests2.json delete mode 100644 test/selenium/tests-private/PrivateTests3.json delete mode 100644 test/selenium/tests-private/PrivateTests4.json rename test/selenium/{tests-private-dev => tests-private}/SendBTC.json (100%) rename test/selenium/{tests-private-dev => tests-private}/SendFederation.json (100%) rename test/selenium/{tests-private-dev => tests-private}/SendLimits.json (100%) rename test/selenium/{tests-private-dev => tests-private}/SendUSD.json (100%) rename test/selenium/{tests-private-dev => tests-private}/SendXrp.json (100%) rename test/selenium/{tests-private-dev => tests-private}/TradeNonXRP.json (100%) rename test/selenium/{tests-private-dev => tests-private}/TradePairsAddress.json (100%) rename test/selenium/{tests-private-dev => tests-private}/TradePairsName.json (100%) rename test/selenium/{tests-private-dev => tests-private}/TradeXRP.json (100%) diff --git a/test/selenium/interpreter_config_private.json b/test/selenium/interpreter_config_private.json index 55280ab70..d9ee58704 100644 --- a/test/selenium/interpreter_config_private.json +++ b/test/selenium/interpreter_config_private.json @@ -9,7 +9,7 @@ "port": 4445 }, "browserOptions": { - "browserName": "googlechrome", + "browserName": "firefox", "username": "${SAUCE_USERNAME}", "accessKey": "${SAUCE_ACCESS_KEY}", "tunnel-identifier": "${TRAVIS_JOB_NUMBER}", @@ -23,7 +23,7 @@ "port": 4445 }, "browserOptions": { - "browserName": "firefox", + "browserName": "googlechrome", "username": "${SAUCE_USERNAME}", "accessKey": "${SAUCE_ACCESS_KEY}", "tunnel-identifier": "${TRAVIS_JOB_NUMBER}", diff --git a/test/selenium/tests-private-dev/AddTrust.json b/test/selenium/tests-private/AddTrust.json similarity index 100% rename from test/selenium/tests-private-dev/AddTrust.json rename to test/selenium/tests-private/AddTrust.json diff --git a/test/selenium/tests-private-dev/CustomGatewaysBRL.json b/test/selenium/tests-private/CustomGatewaysBRL.json similarity index 100% rename from test/selenium/tests-private-dev/CustomGatewaysBRL.json rename to test/selenium/tests-private/CustomGatewaysBRL.json diff --git a/test/selenium/tests-private-dev/CustomGatewaysEUR.json b/test/selenium/tests-private/CustomGatewaysEUR.json similarity index 100% rename from test/selenium/tests-private-dev/CustomGatewaysEUR.json rename to test/selenium/tests-private/CustomGatewaysEUR.json diff --git a/test/selenium/tests-private-dev/CustomGatewaysJPY.json b/test/selenium/tests-private/CustomGatewaysJPY.json similarity index 100% rename from test/selenium/tests-private-dev/CustomGatewaysJPY.json rename to test/selenium/tests-private/CustomGatewaysJPY.json diff --git a/test/selenium/tests-private-dev/CustomGatewaysMXN.json b/test/selenium/tests-private/CustomGatewaysMXN.json similarity index 100% rename from test/selenium/tests-private-dev/CustomGatewaysMXN.json rename to test/selenium/tests-private/CustomGatewaysMXN.json diff --git a/test/selenium/tests-private-dev/CustomGatewaysSGD.json b/test/selenium/tests-private/CustomGatewaysSGD.json similarity index 100% rename from test/selenium/tests-private-dev/CustomGatewaysSGD.json rename to test/selenium/tests-private/CustomGatewaysSGD.json diff --git a/test/selenium/tests-private-dev/CustomGatewaysUSD.json b/test/selenium/tests-private/CustomGatewaysUSD.json similarity index 100% rename from test/selenium/tests-private-dev/CustomGatewaysUSD.json rename to test/selenium/tests-private/CustomGatewaysUSD.json diff --git a/test/selenium/tests-private-dev/CustomGatewaysXAU.json b/test/selenium/tests-private/CustomGatewaysXAU.json similarity index 100% rename from test/selenium/tests-private-dev/CustomGatewaysXAU.json rename to test/selenium/tests-private/CustomGatewaysXAU.json diff --git a/test/selenium/tests-private/PrivateTests0.json b/test/selenium/tests-private/PrivateTests0.json deleted file mode 100644 index 0927071b1..000000000 --- a/test/selenium/tests-private/PrivateTests0.json +++ /dev/null @@ -1,980 +0,0 @@ -{ - "type": "script", - "seleniumVersion": "2", - "formatVersion": 2, - "steps": [ - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "Gateways" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } - }, - { - "type": "waitForTextPresent", - "text": "Connect" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Connect gateway" - } - }, - { - "type": "waitForTextPresent", - "text": "address" - }, - { - "type": "verifyElementPresent", - "locator": { - "type": "id", - "value": "trust_counterparty" - } - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "trust_counterparty" - }, - "text": "~snapswap" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "setElementText", - "locator": { - "type": "xpath", - "value": "//form[@id='trustForm']/div[2]/div/div[2]/div/div/input" - }, - "text": "USD" - }, - { - "type": "sendKeysToElement", - "locator": { - "type": "xpath", - "value": "//form[@id='trustForm']/div[2]/div/div[2]/div/div/input" - }, - "text": "\n" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "link text", - "value": "Save" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Save" - } - }, - { - "type": "waitForTextPresent", - "text": "Confirm" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@class='modal-content']//button[.='Loading...Confirm']" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "edit" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "waitForTextPresent", - "text": "Remove" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" - } - }, - { - "type": "waitForTextPresent", - "text": "SnapSwap", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "BRL" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "BRL" - } - }, - { - "type": "waitForTextPresent", - "text": "Brazil" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-brl']//button[.=' Add Rippex Adding...']" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } - }, - { - "type": "waitForTextPresent", - "text": "edit" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "waitForTextPresent", - "text": "Remove" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "pause", - "waitTime": "1000" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "Real", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "EUR" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "EUR" - } - }, - { - "type": "waitForTextPresent", - "text": "Euro" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-eur']//button[.='Add SnapSwap.eu']" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } - }, - { - "type": "waitForTextPresent", - "text": "edit" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "waitForTextPresent", - "text": "Remove" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "Euro", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "JPY" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "JPY" - } - }, - { - "type": "waitForTextPresent", - "text": "Tokyo" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-jpy']//button[.='Add Tokyo JPY']" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } - }, - { - "type": "waitForTextPresent", - "text": "edit" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "waitForTextPresent", - "text": "Remove" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "Japanese", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - } - ], - "data": { - "configs": {}, - "source": "none" - }, - "inputs": [], - "timeoutSeconds": 420 -} \ No newline at end of file diff --git a/test/selenium/tests-private/PrivateTests1.json b/test/selenium/tests-private/PrivateTests1.json deleted file mode 100644 index 7e9338c94..000000000 --- a/test/selenium/tests-private/PrivateTests1.json +++ /dev/null @@ -1,1009 +0,0 @@ -{ - "type": "script", - "seleniumVersion": "2", - "formatVersion": 2, - "steps": [ - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "MXN" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "MXN" - } - }, - { - "type": "waitForTextPresent", - "text": "Mexican" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-mxn']//button[.='Add Bitso']" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } - }, - { - "type": "waitForTextPresent", - "text": "edit" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "waitForTextPresent", - "text": "Remove" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "Mexican", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "SGD" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "SGD" - } - }, - { - "type": "waitForTextPresent", - "text": "Singapore" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-sgd']//button[.='Add Ripple Singapore']" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } - }, - { - "type": "waitForTextPresent", - "text": "edit" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "waitForTextPresent", - "text": "Remove" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "Singapore", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "USD" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "USD" - } - }, - { - "type": "waitForTextPresent", - "text": "USA" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-usd']//button[.='Add SnapSwap.us']" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } - }, - { - "type": "waitForTextPresent", - "text": "edit" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "waitForTextPresent", - "text": "Remove" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "Dollar", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "XAU" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "XAU" - } - }, - { - "type": "waitForTextPresent", - "text": "Gold" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-gold']//button[.='Add GBI']" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } - }, - { - "type": "waitForTextPresent", - "text": "edit" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "waitForTextPresent", - "text": "Remove" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "Gold", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - } - ], - "data": { - "configs": {}, - "source": "none" - }, - "inputs": [], - "timeoutSeconds": 420 -} \ No newline at end of file diff --git a/test/selenium/tests-private/PrivateTests2.json b/test/selenium/tests-private/PrivateTests2.json deleted file mode 100644 index 0f6b474c7..000000000 --- a/test/selenium/tests-private/PrivateTests2.json +++ /dev/null @@ -1,550 +0,0 @@ -{ - "type": "script", - "seleniumVersion": "2", - "formatVersion": 2, - "steps": [ - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-send > a" - } - }, - { - "type": "waitForTextPresent", - "text": "Recipient" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_destination" - }, - "text": "1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX" - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "css selector", - "value": "span[ng-bind='send.currency_force']" - } - }, - { - "type": "verifyText", - "text": "BTC - Bitcoin", - "locator": { - "type": "css selector", - "value": "span[ng-bind='send.currency_force']" - } - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_amount" - }, - "text": "0.00001" - }, - { - "type": "waitForTextPresent", - "text": "Send XRP" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-send > a" - } - }, - { - "type": "waitForTextPresent", - "text": "Recipient" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_destination" - }, - "text": "kate@snapswap.eu" - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "css selector", - "value": "span[ng-bind='send.currency_force']" - } - }, - { - "type": "verifyText", - "text": "EUR - Euro", - "locator": { - "type": "css selector", - "value": "span[ng-bind='send.currency_force']" - } - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_amount" - }, - "text": "0.01" - }, - { - "type": "waitForTextPresent", - "text": "Send XRP" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_destination" - }, - "text": "#kate@snapswap.eu" - }, - { - "type": "waitForTextPresent", - "text": "Dollar" - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "css selector", - "value": "span[ng-bind='send.currency_force']" - } - }, - { - "type": "verifyText", - "text": "USD - US Dollar", - "locator": { - "type": "css selector", - "value": "span[ng-bind='send.currency_force']" - } - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME2}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD2}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-send > a" - } - }, - { - "type": "waitForTextPresent", - "text": "Recipient" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_destination" - }, - "text": "~vakula" - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "id", - "value": "send_amount_currency" - } - }, - { - "type": "print", - "text": "------- waiting 5 sec" - }, - { - "type": "pause", - "waitTime": "5000" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_amount" - }, - "text": "0.0000001" - }, - { - "type": "waitForTextPresent", - "text": "too much" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_amount" - }, - "text": "0.000001" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "id", - "value": "sendXrpButton" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_amount" - }, - "text": "1000000000000" - }, - { - "type": "waitForTextPresent", - "text": "too much" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_amount_currency" - }, - "text": "USD" - }, - { - "type": "waitForTextPresent", - "text": "insufficient" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_amount" - }, - "text": "10000000000000000" - }, - { - "type": "waitForTextPresent", - "text": "too many" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_amount" - }, - "text": ".000000000000001" - }, - { - "type": "waitForTextPresent", - "text": "Send USD" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_amount" - }, - "text": ".0000000000000001" - }, - { - "type": "waitForTextPresent", - "text": "too many" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME2}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD2}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-send > a" - } - }, - { - "type": "waitForTextPresent", - "text": "Recipient" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_destination" - }, - "text": "~vakula" - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "id", - "value": "send_amount_currency" - } - }, - { - "type": "print", - "text": "------- waiting 5 sec" - }, - { - "type": "pause", - "waitTime": "5000" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_amount_currency" - }, - "text": "USD" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_amount" - }, - "text": "0.00001" - }, - { - "type": "waitForTextPresent", - "text": "Send USD" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_amount_currency" - }, - "text": "BTC" - }, - { - "type": "waitForTextPresent", - "text": "Send XRP" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - } - ], - "data": { - "configs": {}, - "source": "none" - }, - "inputs": [], - "timeoutSeconds": 420 -} \ No newline at end of file diff --git a/test/selenium/tests-private/PrivateTests3.json b/test/selenium/tests-private/PrivateTests3.json deleted file mode 100644 index e72286d46..000000000 --- a/test/selenium/tests-private/PrivateTests3.json +++ /dev/null @@ -1,845 +0,0 @@ -{ - "type": "script", - "seleniumVersion": "2", - "formatVersion": 2, - "steps": [ - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-send a" - } - }, - { - "type": "waitForTextPresent", - "text": "Recipient" - }, - { - "type": "verifyElementPresent", - "locator": { - "type": "id", - "value": "send_destination" - } - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_destination" - }, - "text": "~appsteamaccount1" - }, - { - "type": "waitForTextPresent", - "text": "receive" - }, - { - "type": "verifyElementPresent", - "locator": { - "type": "id", - "value": "send_amount" - } - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_amount" - }, - "text": "0.0001" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "id", - "value": "sendXrpButton" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "sendXrpButton" - } - }, - { - "type": "waitForTextPresent", - "text": "confirm" - }, - { - "type": "verifyElementPresent", - "locator": { - "type": "id", - "value": "send_unlock_password" - } - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "confirmButton" - } - }, - { - "type": "waitForTextPresent", - "text": "successful" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME2}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD2}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "Trade" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Trade" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "Advanced" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Advanced" - } - }, - { - "type": "waitForTextPresent", - "text": "add pair" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "currency_pair" - }, - "text": "WRONG" - }, - { - "type": "waitForTextPresent", - "text": "show" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "currency_pair" - }, - "text": "USD.Bitstamp/USD.Snapswap" - }, - { - "type": "pause", - "waitTime": "1000" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "wrapper" - } - }, - { - "type": "waitForTextPresent", - "text": "BIDS" - }, - { - "type": "pause", - "waitTime": "5000" - }, - { - "type": "setElementText", - "locator": { - "type": "css selector", - "value": "input[input-type='sell'][name='amount']" - }, - "text": "0.00001" - }, - { - "type": "setElementText", - "locator": { - "type": "css selector", - "value": "input[input-type='sell'][name='price']" - }, - "text": "1234" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button[btn-type='sell']" - } - }, - { - "type": "waitForTextPresent", - "text": "sure" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button[ng-disabled='confirm_wait']" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD2}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "cancel" - }, - { - "type": "verifyText", - "text": "0.00001", - "locator": { - "type": "css selector", - "value": "div[data-label='QTY']" - } - }, - { - "type": "verifyText", - "text": "1,234", - "locator": { - "type": "css selector", - "value": "div[data-label='Limit']" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "print", - "text": "------- waiting 5 sec" - }, - { - "type": "pause", - "waitTime": "5000" - }, - { - "type": "setElementText", - "locator": { - "type": "name", - "value": "editPrice" - }, - "text": "1233" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "submit" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "cancel" - } - }, - { - "type": "verifyText", - "text": "1,233", - "locator": { - "type": "css selector", - "value": "div[data-label='Limit']" - } - }, - { - "type": "verifyText", - "text": "0.00001", - "locator": { - "type": "css selector", - "value": "div[data-label='QTY']" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "print", - "text": "------- waiting 5 sec" - }, - { - "type": "pause", - "waitTime": "5000" - }, - { - "type": "setElementText", - "locator": { - "type": "name", - "value": "editQuantity" - }, - "text": "0.00002" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "submit" - } - }, - { - "type": "waitForTextPresent", - "text": "Confirm" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@class='actions']//button[.='Confirm']" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "cancel" - } - }, - { - "type": "verifyText", - "text": "0.00002", - "locator": { - "type": "css selector", - "value": "div[data-label='QTY']" - } - }, - { - "type": "verifyText", - "text": "1,233", - "locator": { - "type": "css selector", - "value": "div[data-label='Limit']" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "cancel" - } - }, - { - "type": "waitForTextPresent", - "text": "confirm" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "div.modal-content button[ng-click='cancel_order()']" - } - }, - { - "type": "waitForTextPresent", - "text": "cancel all", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "Trade" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Trade" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "Advanced" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Advanced" - } - }, - { - "type": "waitForTextPresent", - "text": "add pair" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-trade']//button[.='add pair']" - } - }, - { - "type": "setElementText", - "locator": { - "type": "name", - "value": "first_currency" - }, - "text": "GBP" - }, - { - "type": "setElementText", - "locator": { - "type": "name", - "value": "first_iss" - }, - "text": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q" - }, - { - "type": "setElementText", - "locator": { - "type": "name", - "value": "second_currency" - }, - "text": "XRP" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='add_button']//button[.='Add']" - } - }, - { - "type": "waitForTextPresent", - "text": "edit pairs" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-trade']//button[.='edit pairs']" - } - }, - { - "type": "waitForTextPresent", - "text": "GBP.rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q/XRP" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@class='section']//span[.='remove']" - } - }, - { - "type": "waitForTextPresent", - "text": "GBP.rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q/XRP", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "Trade" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Trade" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "Advanced" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Advanced" - } - }, - { - "type": "waitForTextPresent", - "text": "add pair" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-trade']//button[.='add pair']" - } - }, - { - "type": "setElementText", - "locator": { - "type": "name", - "value": "first_currency" - }, - "text": "EUR" - }, - { - "type": "setElementText", - "locator": { - "type": "name", - "value": "first_iss" - }, - "text": "~Bitstamp" - }, - { - "type": "setElementText", - "locator": { - "type": "name", - "value": "second_currency" - }, - "text": "XRP" - }, - { - "type": "print", - "text": "------- waiting 5 sec" - }, - { - "type": "pause", - "waitTime": "5000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='add_button']//button[.='Add']" - } - }, - { - "type": "waitForTextPresent", - "text": "edit pairs" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-trade']//button[.='edit pairs']" - } - }, - { - "type": "waitForTextPresent", - "text": "EUR.~Bitstamp/XRP" - }, - { - "type": "print", - "text": "------- waiting 5 sec" - }, - { - "type": "pause", - "waitTime": "5000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@class='section']//span[.='remove']" - } - }, - { - "type": "pause", - "waitTime": "5000" - }, - { - "type": "waitForTextPresent", - "text": "EUR.~Bitstamp/XRP", - "negated": true - }, - { - "type": "pause", - "waitTime": "8000" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - } - ], - "data": { - "configs": {}, - "source": "none" - }, - "inputs": [], - "timeoutSeconds": 420 -} \ No newline at end of file diff --git a/test/selenium/tests-private/PrivateTests4.json b/test/selenium/tests-private/PrivateTests4.json deleted file mode 100644 index b2e6d56f4..000000000 --- a/test/selenium/tests-private/PrivateTests4.json +++ /dev/null @@ -1,366 +0,0 @@ -{ - "type": "script", - "seleniumVersion": "2", - "formatVersion": 2, - "steps": [ - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "Trade" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Trade" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "Advanced" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Advanced" - } - }, - { - "type": "waitForTextPresent", - "text": "add pair" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "currency_pair" - }, - "text": "WRONG" - }, - { - "type": "waitForTextPresent", - "text": "show" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "currency_pair" - }, - "text": "XRP/USD.Bitstamp" - }, - { - "type": "waitForTextPresent", - "text": "BIDS" - }, - { - "type": "setElementText", - "locator": { - "type": "css selector", - "value": "input[input-type='sell'][name='amount']" - }, - "text": "0.001" - }, - { - "type": "setElementText", - "locator": { - "type": "css selector", - "value": "input[input-type='sell'][name='price']" - }, - "text": "1234" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button[btn-type='sell']" - } - }, - { - "type": "waitForTextPresent", - "text": "sure" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button[ng-disabled='confirm_wait']" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "cancel" - }, - { - "type": "verifyText", - "text": "0.001", - "locator": { - "type": "css selector", - "value": "div[data-label='QTY']" - } - }, - { - "type": "verifyText", - "text": "1,234", - "locator": { - "type": "css selector", - "value": "div[data-label='Limit']" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "waitForTextPresent", - "text": "n/a", - "negated": true - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "setElementText", - "locator": { - "type": "name", - "value": "editPrice" - }, - "text": "12334" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "submit" - } - }, - { - "type": "waitForTextPresent", - "text": "Confirm" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@class='actions']//button[.='Confirm']" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "cancel" - } - }, - { - "type": "verifyText", - "text": "12,334", - "locator": { - "type": "css selector", - "value": "div[data-label='Limit']" - } - }, - { - "type": "verifyText", - "text": "0.001", - "locator": { - "type": "css selector", - "value": "div[data-label='QTY']" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "waitForTextPresent", - "text": "n/a", - "negated": true - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "setElementText", - "locator": { - "type": "name", - "value": "editQuantity" - }, - "text": "0.002" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "submit" - } - }, - { - "type": "waitForTextPresent", - "text": "Confirm" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@class='actions']//button[.='Confirm']" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "cancel" - } - }, - { - "type": "verifyText", - "text": "0.002", - "locator": { - "type": "css selector", - "value": "div[data-label='QTY']" - } - }, - { - "type": "verifyText", - "text": "12,334", - "locator": { - "type": "css selector", - "value": "div[data-label='Limit']" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "cancel" - } - }, - { - "type": "waitForTextPresent", - "text": "confirm" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "div.modal-content button[ng-click='cancel_order()']" - } - }, - { - "type": "waitForTextPresent", - "text": "cancel all", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - } - ], - "data": { - "configs": {}, - "source": "none" - }, - "inputs": [], - "timeoutSeconds": 420 -} \ No newline at end of file diff --git a/test/selenium/tests-private-dev/SendBTC.json b/test/selenium/tests-private/SendBTC.json similarity index 100% rename from test/selenium/tests-private-dev/SendBTC.json rename to test/selenium/tests-private/SendBTC.json diff --git a/test/selenium/tests-private-dev/SendFederation.json b/test/selenium/tests-private/SendFederation.json similarity index 100% rename from test/selenium/tests-private-dev/SendFederation.json rename to test/selenium/tests-private/SendFederation.json diff --git a/test/selenium/tests-private-dev/SendLimits.json b/test/selenium/tests-private/SendLimits.json similarity index 100% rename from test/selenium/tests-private-dev/SendLimits.json rename to test/selenium/tests-private/SendLimits.json diff --git a/test/selenium/tests-private-dev/SendUSD.json b/test/selenium/tests-private/SendUSD.json similarity index 100% rename from test/selenium/tests-private-dev/SendUSD.json rename to test/selenium/tests-private/SendUSD.json diff --git a/test/selenium/tests-private-dev/SendXrp.json b/test/selenium/tests-private/SendXrp.json similarity index 100% rename from test/selenium/tests-private-dev/SendXrp.json rename to test/selenium/tests-private/SendXrp.json diff --git a/test/selenium/tests-private-dev/TradeNonXRP.json b/test/selenium/tests-private/TradeNonXRP.json similarity index 100% rename from test/selenium/tests-private-dev/TradeNonXRP.json rename to test/selenium/tests-private/TradeNonXRP.json diff --git a/test/selenium/tests-private-dev/TradePairsAddress.json b/test/selenium/tests-private/TradePairsAddress.json similarity index 100% rename from test/selenium/tests-private-dev/TradePairsAddress.json rename to test/selenium/tests-private/TradePairsAddress.json diff --git a/test/selenium/tests-private-dev/TradePairsName.json b/test/selenium/tests-private/TradePairsName.json similarity index 100% rename from test/selenium/tests-private-dev/TradePairsName.json rename to test/selenium/tests-private/TradePairsName.json diff --git a/test/selenium/tests-private-dev/TradeXRP.json b/test/selenium/tests-private/TradeXRP.json similarity index 100% rename from test/selenium/tests-private-dev/TradeXRP.json rename to test/selenium/tests-private/TradeXRP.json From 49cf09a13e107372fd50255a4dd7cc3747588ab8 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Wed, 6 May 2015 00:08:45 +0300 Subject: [PATCH 288/321] [TEST] remove old unused e2e tests (RT-3405) --- test/e2e/account-public.controller.spec.js | 91 ------ test/e2e/gateway-advanced.controller.spec.js | 126 --------- test/e2e/gateway-simple.controller.spec.js | 101 ------- test/e2e/login.controller.spec.js | 97 ------- test/e2e/myOrders.js | 156 ---------- test/e2e/pages/advancedPage.js | 16 -- test/e2e/pages/tradePage.js | 99 ------- test/e2e/pages/trustPage.js | 108 ------- test/e2e/protractor.conf-example.js | 36 --- test/e2e/register.controller.spec.js | 282 ------------------- test/e2e/security.controller.spec.js | 94 ------- test/e2e/send.controller.spec.js | 145 ---------- test/e2e/utils/browser.js | 30 -- test/e2e/utils/forms.js | 53 ---- 14 files changed, 1434 deletions(-) delete mode 100644 test/e2e/account-public.controller.spec.js delete mode 100644 test/e2e/gateway-advanced.controller.spec.js delete mode 100644 test/e2e/gateway-simple.controller.spec.js delete mode 100644 test/e2e/login.controller.spec.js delete mode 100644 test/e2e/myOrders.js delete mode 100644 test/e2e/pages/advancedPage.js delete mode 100644 test/e2e/pages/tradePage.js delete mode 100644 test/e2e/pages/trustPage.js delete mode 100644 test/e2e/protractor.conf-example.js delete mode 100644 test/e2e/register.controller.spec.js delete mode 100644 test/e2e/security.controller.spec.js delete mode 100644 test/e2e/send.controller.spec.js delete mode 100644 test/e2e/utils/browser.js delete mode 100644 test/e2e/utils/forms.js diff --git a/test/e2e/account-public.controller.spec.js b/test/e2e/account-public.controller.spec.js deleted file mode 100644 index 4e4a93c5f..000000000 --- a/test/e2e/account-public.controller.spec.js +++ /dev/null @@ -1,91 +0,0 @@ -'use strict'; - -// Chai is a BDD / TDD assertion library -var chai = require('chai'); -var chaiAsPromised = require('chai-as-promised'); -var config = require('./protractor.conf.js').config; - -var helperForms = require('./utils/forms'); -var helperBrowser = require('./utils/browser'); - - -chai.use(chaiAsPromised); -var expect = chai.expect; - - -describe('public account', function() { - - before(function(){ - helperForms.login(config.user.username,config.user.password); - }); - - - function pressRenameSubmit() { - return $("form[name='renameForm'] button[type='submit']") - .click().then( - helperBrowser.waitForElementToDisplay.bind(this, $("div.showPublic div.alert-success")) - ); - } - - function waitForRenameSubmitButtonBecameAvailable() { - return helperBrowser.waitForElementToBecameAvailable($("form[name='renameForm'] button[type='submit']")); - } - - it('should show public account page', function(done) { - browser.get('#/account/public'); - - // Wait for the page to render - helperBrowser.waitForElementToDisplay($('#address')); - - expect($('.username').getText()).to.eventually.equal('~' + config.user.username) - .and.notify(done); - }); - - it('should show rename user controls', function(done) { - $('div.edit-account-btn-wrapper a').click(); - - expect($('#renameForm').isDisplayed()) - .to.eventually.be.true; - - expect($('#address').isDisplayed()) - .to.eventually.be.true - .and.notify(done); - }); - - - it('should allow to rename user', function(done) { - $('#username').sendKeys(config.user.username + '-E2E'); - $('#password').sendKeys(config.user.password); - - waitForRenameSubmitButtonBecameAvailable(); - - expect($("form[name='renameForm'] button[type='submit']").getAttribute('disabled')) - .to.eventually.be.null - .and.notify(done); - }); - - - it('should rename user', function(done) { - protractor.getInstance().ignoreSynchronization = true; - - pressRenameSubmit(); - - expect($('.username').getText()).to.eventually.equal('~' + config.user.username + '-E2E') - .and.notify(done); - }); - - it('should rename user back', function(done) { - $('div.edit-account-btn-wrapper a').click(); - - $('#username').sendKeys(config.user.username); - $('#password').sendKeys(config.user.password); - - waitForRenameSubmitButtonBecameAvailable(); - - pressRenameSubmit(); - - expect($('.username').getText()).to.eventually.equal('~' + config.user.username) - .and.notify(done); - }); - -}); diff --git a/test/e2e/gateway-advanced.controller.spec.js b/test/e2e/gateway-advanced.controller.spec.js deleted file mode 100644 index 9a7e4ccad..000000000 --- a/test/e2e/gateway-advanced.controller.spec.js +++ /dev/null @@ -1,126 +0,0 @@ -'use strict'; - -// Chai is a BDD / TDD assertion library -var chai = require('chai'); -var chaiAsPromised = require('chai-as-promised'); -var config = require('./protractor.conf.js').config; - -var helperForms = require('./utils/forms'); -var helperBrowser = require('./utils/browser'); -var TrustPage = require('./pages/trustPage.js'); -var AdvancedPage = require('./pages/advancedPage.js'); - - -chai.use(chaiAsPromised); -var expect = chai.expect; - -describe('gateway advanced', function() { - - var trustPage; - var advancedPage; - - before(function(){ - helperForms.login(config.user.username,config.user.password); - trustPage = new TrustPage(); - advancedPage = new AdvancedPage(); - advancedPage.goTo(); - }); - - it('should show advanced settings page', function(done) { - helperBrowser.waitForElementToDisplay(advancedPage.editAdvancedSettingsButton).then(done); - }); - - it('should show trust line advanced settings edit control', function(done) { - advancedPage.editAdvancedSettingsButton.click(). - then(helperBrowser.waitForElementToDisplay.bind(this, advancedPage.showAdvancedOptionsInput)). - then(done); - }); - - it('should save trust line advanced settings show on', function(done) { - advancedPage.showAdvancedOptionsInput.click(). - then(advancedPage.saveAdvancedSettingsButton.click). - then(helperBrowser.waitForElementToDisplay.bind(this, advancedPage.advancedSettingsShowHolder)). - then(done); - }); - - it('should show gateways page', function(done) { - trustPage.goTo(); - - helperBrowser.waitForElementToDisplay(trustPage.connectGatewayButton).then(done); - }); - - it('should show add gateway user controls', function(done) { - trustPage.connectGatewayButton.click(); - - expect(trustPage.gatewayAddressInput.isDisplayed()) - .to.eventually.be.true - .and.notify(done); - }); - - it('should show trust amount input field', function(done) { - expect(trustPage.gatewayTrustAmountInput.isDisplayed()) - .to.eventually.be.true - .and.notify(done); - }); - - it('should connect a gateway using Ripple address', function(done) { - var self = this; - trustPage.putAddressAdvanced(config.gateway.address, 'USD', "1000"). - then(trustPage.connectGatewaySubmit.bind(trustPage, config.user.password)). - then(done); - }); - - it('should show gateway', function(done) { - expect(trustPage.usdGatewayTitle).to.eventually.equal('USD - US Dollar') - .and.notify(done); - }); - - it('should show edit limit input', function(done) { - trustPage.usdGatewayEditButton.click(). - then(helperBrowser.waitForElementToDisplay.bind(this, trustPage.editLimitInput)). - then(done); - }); - - it('should show new limit', function(done) { - trustPage.editLimitInput.clear(). - then(function () { - trustPage.editLimitInput.sendKeys('200'); - }). - then(function() { - protractor.getInstance().ignoreSynchronization = true; - return trustPage.usdGatewaySaveButton.click(); - }).then(helperBrowser.waitForElement.bind(this, trustPage.changesSavedHolder)). - then(function() { - expect(trustPage.usdGatewayLimitHolder.getText()).to.eventually.equal('200.00') - .and.notify(done); - }); - }); - - it('should remove a gateway', function(done) { - trustPage.usdGatewayEditButton.click(). - then(trustPage.usdGatewayAdvancedDeleteButton.click). - then(helperBrowser.waitForElement.bind(this, trustPage.gatewayRemovedHolder)). - then(function() { - advancedPage.goTo(); - done(); - }); - }); - - it('should show advanced settings page 2', function(done) { - helperBrowser.waitForElementToDisplay(advancedPage.editAdvancedSettingsButton).then(done); - }); - - it('should show trust line advanced settings edit control 2', function(done) { - advancedPage.editAdvancedSettingsButton.click(). - then(helperBrowser.waitForElementToDisplay.bind(this, advancedPage.showAdvancedOptionsInput)). - then(done); - }); - - it('should save trust line advanced settings show off', function(done) { - advancedPage.showAdvancedOptionsInput.click(). - then(advancedPage.saveAdvancedSettingsButton.click). - then(helperBrowser.waitForElementToDisplay.bind(this, advancedPage.advancedSettingsHideHolder)). - then(done); - }); - -}); diff --git a/test/e2e/gateway-simple.controller.spec.js b/test/e2e/gateway-simple.controller.spec.js deleted file mode 100644 index f228d18e7..000000000 --- a/test/e2e/gateway-simple.controller.spec.js +++ /dev/null @@ -1,101 +0,0 @@ -'use strict'; - -// Chai is a BDD / TDD assertion library -var chai = require('chai'); -var chaiAsPromised = require('chai-as-promised'); -var config = require('./protractor.conf.js').config; - -var helperForms = require('./utils/forms'); -var helperBrowser = require('./utils/browser'); -var TrustPage = require('./pages/trustPage.js'); - - -chai.use(chaiAsPromised); -var expect = chai.expect; - -describe('gateway simple', function() { - - var page; - - before(function(){ - helperForms.login(config.user.username,config.user.password); - page = new TrustPage(); - page.goTo(); - }); - - it('should show gateways page', function(done) { - helperBrowser.waitForElementToDisplay(page.connectGatewayButton).then(done); - // hack. check if trust line advanced settings is on - than gatewayAdvanced - // $('#trust_counterparty').evaluate('advanced_feature_switch').then(function(on) { - // if (on) { - // $('#trust_counterparty').evaluate('advanced_feature_switch = true;'); - // } - // }); - }); - - it('should show add gateway user controls', function(done) { - page.connectGatewayButton.click(); - - // $('#trust_counterparty').evaluate('advanced_feature_switch').then(function(r) { }); - expect(page.gatewayAddressInput.isDisplayed()) - .to.eventually.be.true - .and.notify(done); - }); - - it('should connect a gateway using Ripple address', function(done) { - page.connectGateway(config.gateway.address, 'USD', config.user.password).then(done); - }); - - it('should show gateway', function(done) { - // protractor.getInstance().ignoreSynchronization = false; - expect(page.usdGatewayTitle).to.eventually.equal('USD - US Dollar') - .and.notify(done); - }); - - it('should remove a gateway', function(done) { - page.removeGateway('USD').then(done); - }); - - it('should show add gateway user controls (by name)', function(done) { - page.connectGatewayButton.click(); - - expect(page.gatewayAddressInput.isDisplayed()) - .to.eventually.be.true - .and.notify(done); - }); - - it('should connect a gateway using Ripple name', function(done) { - page.connectGateway(config.gateway.name, 'USD', config.user.password).then(done); - }); - - it('should show USD gateway', function(done) { - expect(page.usdGatewayTitle).to.eventually.equal('USD - US Dollar') - .and.notify(done); - }); - - it('should remove a USD gateway', function(done) { - page.removeGateway('USD').then(done); - }); - - it('should show add gateway user controls (fake currency)', function(done) { - page.connectGatewayButton.click().then(function() { - expect(page.gatewayAddressInput.isDisplayed()) - .to.eventually.be.true - .and.notify(done); - }); - }); - - it('should connect a gateway with fake currency', function(done) { - page.connectGateway(config.gateway.address, config.gateway.fakeCurrency, config.user.password).then(done); - }); - - it('should show gateway with fake currency', function(done) { - expect(page.gatewayTitle(config.gateway.fakeCurrency)).to.eventually.equal(config.gateway.fakeCurrency) - .and.notify(done); - }); - - it('should remove a fake currency gateway', function(done) { - page.removeGateway(config.gateway.fakeCurrency).then(done); - }); - -}); diff --git a/test/e2e/login.controller.spec.js b/test/e2e/login.controller.spec.js deleted file mode 100644 index 73c39a47e..000000000 --- a/test/e2e/login.controller.spec.js +++ /dev/null @@ -1,97 +0,0 @@ -'use strict'; - -// Chai is a BDD / TDD assertion library -var chai = require('chai'); -var chaiAsPromised = require('chai-as-promised'); -var config = require('./protractor.conf.js').config; - -var helperForms = require('./utils/forms'); -var helperBrowser = require('./utils/browser'); - -chai.use(chaiAsPromised); -var expect = chai.expect; - -describe('bootstrap', function() { - before(function() { - browser.get('/#'); - }); - - it('should automatically redirect to /register when location hash/fragment is empty', function(done) { - helperBrowser.waitForNavigation('/#'); - expect(browser.getCurrentUrl()) - .to.eventually - .contain('/register') - .and.notify(done); - }); -}); - -describe('migration', function() { - - before(function(){ - browser.get('#/migrate'); - }); - - it('should render migrate when user navigates to /migrate', function(done) { - expect($("form[name='loginForm']").getText()) - .to.exist - .and.notify(done); - }); - - it('should take old user to registration page', function(done) { - helperForms.migrate(config.oldUser.username,config.oldUser.password); - - // Check if it takes to the register page - expect(browser.getCurrentUrl()) - .to.eventually - .contain('/register') - .and.notify(done); - }); - -}); - -describe('login', function() { - - before(function(){ - browser.get('#/login'); - }); - - it('should render login when user navigates to /login', function(done) { - expect($("form[name='loginForm']").getText()) - .to.exist - .and.notify(done); - }); - - it('should login a user then change route to /balance', function(done) { - helperForms.login(config.user.username,config.user.password); - - // Check if it takes to the balance page (success login) - expect(browser.getCurrentUrl()) - .to.eventually - .contain('/balance') - .and.notify(done); - }); - - it('should not login a user with wrong password', function(done) { - helperForms.logout(); - browser.get('#/login'); - browser.getCurrentUrl() - .then(function(url){ - // It's already logged in if the page is other then login or register - if (url.match('login') || url.match('register')){ - browser.get('#/login'); - - $(".auth-form-container #login_username").sendKeys(config.user.username); - $(".auth-form-container #login_password").sendKeys("wrongpassword"); - $("#loginBtn").click() - .then(function(){ - var errorMessage = $("form[name='loginForm'] .text-status .backend b"); - helperBrowser.waitForElement(errorMessage); - expect(errorMessage.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - } - }); - }); - -}); diff --git a/test/e2e/myOrders.js b/test/e2e/myOrders.js deleted file mode 100644 index af1a82b0d..000000000 --- a/test/e2e/myOrders.js +++ /dev/null @@ -1,156 +0,0 @@ -'use strict'; - -// Chai is a BDD / TDD assertion library -var chai = require('chai'); -var chaiAsPromised = require('chai-as-promised'); -var config = require('./protractor.conf.js').config; - -var helperForms = require('./utils/forms'); -var helperBrowser = require('./utils/browser'); -var TradePage = require('./pages/tradePage.js'); - - -chai.use(chaiAsPromised); -var expect = chai.expect; - -describe('My Orders', function() { - - var page; - - before(function(){ - helperForms.login(config.user.username,config.user.password); - page = new TradePage(); - page.goTo(); - }); - - it('should show trade page', function(done) { - helperBrowser.waitForElement(page.myOrdersMsgHolder).then(done); - }); - - it('should set currency pair to XRP/USD.SnapSwap', function(done) { - page.setCurrencyPair('XRP/USD.SnapSwap').then(function() { - helperBrowser.waitForElement(page.sellXRPButton).then(done); - }); - }); - - it('should enable sell button', function(done) { - page.enterOrder(0.0001, 987).then(function () { - helperBrowser.waitForElementToBecameAvailable(page.sellXRPButton).then(done); - }); - }); - - it('should confirm fat finger', function(done) { - page.sellXRPButton.click().then(function () { - helperBrowser.waitForElementToBecameAvailable(page.confirmFatButton).then(done); - }); - }); - - it('should confirm show order', function(done) { - page.confirmOrder(config.user.password).then(done); - }); - - it('should enable sell button 2', function(done) { - page.enterOrder(0.0002, 907).then(function () { - helperBrowser.waitForElementToBecameAvailable(page.sellXRPButton).then(done); - }); - }); - - it('should confirm fat finger 2', function(done) { - page.sellXRPButton.click().then(function () { - helperBrowser.waitForElementToBecameAvailable(page.confirmFatButton).then(done); - }); - }); - - it('should confirm show order 2', function(done) { - page.confirmOrder(config.user.password).then(done); - }); - - it('should sort qty desc', function(done) { - var self = this; - page.qtyHead.click(). - then(browser.sleep.bind(this, 1000)). - then(function () { - page.qty.then(function(items) { - expect(items.length).to.equal(2); - expect(items[0].getText()).to.eventually.equal('0.0002'); - }); - }); - }); - - it('should sort qty asc', function(done) { - page.qtyHead.click(). - then(browser.sleep.bind(this, 1000)). - then(function () { - page.qty.then(function(items) { - expect(items[0].getText()).to.eventually.equal('0.0001'); - }); - }); - }); - - it('should sort limit desc', function(done) { - page.limitHead.click(). - then(browser.sleep.bind(this, 1000)). - then(function () { - page.limit.then(function(items) { - expect(items[0].getText()).to.eventually.equal('987'); - }); - }); - }); - - it('should sort limit asc', function(done) { - page.limitHead.click(). - then(browser.sleep.bind(this, 1000)). - then(function () { - page.limit.then(function(items) { - expect(items[0].getText()).to.eventually.equal('907'); - }); - }); - }); - - it('should set currency pair to XRP/USD.Bitstamp', function(done) { - page.setCurrencyPair('XRP/USD.Bitstamp').then(function() { - helperBrowser.waitForElement(page.sellXRPButton).then(done); - }); - }); - - it('should show current pairs only', function(done) { - helperBrowser.waitForElementToDisplay(page.currentPairOnly). - then(page.currentPairOnly.click). - then(browser.sleep.bind(this, 100)). - then(function() { - page.qty.then(function(items) { - expect(items.length).to.equal(0); - }); - }); - }); - - it('should show orders back', function(done) { - helperBrowser.waitForElementToDisplay(page.currentPairOnly). - then(page.currentPairOnly.click). - then(browser.sleep.bind(this, 100)). - then(function() { - page.qty.then(function(items) { - expect(items.length).to.equal(2); - }); - }); - }); - - it('should cancel all orders', function(done) { - function checkCount() { - page.limit.count().then(function(len) { - if (len == 0) { - done() - } else { - checkCount(); - } - }); - } - - page.cancelAllOrders(config.user.password). - then(browser.sleep.bind(this, 100)). - then(function() { - checkCount(); - }); - }); - -}); diff --git a/test/e2e/pages/advancedPage.js b/test/e2e/pages/advancedPage.js deleted file mode 100644 index c2b9d31ad..000000000 --- a/test/e2e/pages/advancedPage.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var AdvancedPage = function () { - this.editAdvancedSettingsButton = $('form[name="accountsAdvForm"] div[ng-hide="editAcctOptions"] a.btn-cancel'); - this.showAdvancedOptionsInput = $('input[name="acct_adv"]'); - this.saveAdvancedSettingsButton = $('form[name="accountsAdvForm"] #save'); - this.advancedSettingsShowHolder = $('form[name="accountsAdvForm"] div[ng-show="advanced_feature_switch"]'); - this.advancedSettingsHideHolder = $('form[name="accountsAdvForm"] div[ng-hide="advanced_feature_switch"]'); -}; - -AdvancedPage.prototype.goTo = function () { - browser.get('#/advanced'); -} - - -module.exports = AdvancedPage; diff --git a/test/e2e/pages/tradePage.js b/test/e2e/pages/tradePage.js deleted file mode 100644 index 5ae80861e..000000000 --- a/test/e2e/pages/tradePage.js +++ /dev/null @@ -1,99 +0,0 @@ -'use strict'; - -var helperBrowser = require('../utils/browser'); - -var TradePage = function () { - this.myOrdersMsgHolder = $('#myOrdersMsg'); - this.currencyPairInput = $('#currency_pair'); - this.sellXRPButton = $('form[name="tradeForm"] button[btn-type="sell"]'); - this.sellAmountInput = $('form[name="tradeForm"] input[name="amount"][input-type="sell"]'); - this.sellPriceInput = $('form[name="tradeForm"] input[name="price"][input-type="sell"]'); - this.confirmFatButton = $('form.mode-confirm button.submit'); - this.unlockPasswordInput = $("div.modal-dialog #popup_unlock_password"); - this.unlockPasswordButton = $("div.modal-dialog div.unlock-btns-wrapper button.modal-submit-btn"); - - this.orderIsActiveMsg = $("group.result-success[ng-show=\"tx_result=='cleared' && executedOnOfferCreate=='none'\"]"); - this.submitAnotherButton = $("a[ng-click=\"reset_widget(type)\"]"); - this.qtyHead = $('div[rp-sort-header-field="qty"]'); - this.limitHead = $('div[rp-sort-header-field="limit"]'); - this.qty = $$("div[data-label='QTY']"); - this.limit = $$("div[data-label='Limit']"); - this.currentPairOnly = $('input[name="current_pair_only"]'); - this.cancelAll = $('.listings .my .row rp-popup a.btn-cancel.btn-a'); - this.cancelAllConfirm = $('body div.modal button[ng-click="cancel_all_orders()"]'); -}; - -TradePage.prototype.goTo = function () { - browser.get('#/trade'); -} - -TradePage.prototype.setCurrencyPair = function (pair) { - var self = this; - return this.currencyPairInput.clear(). - then(function() { - return self.currencyPairInput.sendKeys(pair, protractor.Key.ENTER); - }); -} - -TradePage.prototype.enterOrder = function (amount, price) { - var self = this; - return helperBrowser.waitForElement(this.sellAmountInput). - then(this.sellAmountInput.clear). - then(function() { - return self.sellAmountInput.sendKeys(amount); - }). - then(this.sellPriceInput.clear). - then(function() { - return self.sellPriceInput.sendKeys(price); - }); -} - -TradePage.prototype.confirmOrder = function (password) { - var self = this; - - return helperBrowser.waitForElementToBecameAvailable(this.confirmFatButton). - then(this.confirmFatButton.click). - then(browser.sleep.bind(self, 1000)). - then(function() { - return self.unlockPasswordInput.isDisplayed(); - }). - then(function(isUnlockDisplayed) { - /// it should show password input - if (isUnlockDisplayed) { - return self.unlockPasswordInput.sendKeys(password).then(function() { - protractor.getInstance().ignoreSynchronization = true; - return self.unlockPasswordButton.click(); - }); - } else { - return protractor.promise.fulfilled(true); - } - }). - then(helperBrowser.waitForElement.bind(self, this.orderIsActiveMsg)). - then(this.submitAnotherButton.click); -} - -TradePage.prototype.cancelAllOrders = function (password) { - var self = this; - - return helperBrowser.waitForElementToDisplay(this.cancelAll). - then(this.cancelAll.click). - then(browser.sleep.bind(self, 10)). - then(this.cancelAllConfirm.click). - then(function() { - return self.unlockPasswordInput.isPresent(); - }). - then(function(isUnlockDisplayed) { - /// it should show password input - if (isUnlockDisplayed) { - return self.unlockPasswordInput.sendKeys(password).then(function() { - protractor.getInstance().ignoreSynchronization = true; - return self.unlockPasswordButton.click(); - }); - } else { - return protractor.promise.fulfilled(true); - } - }); -} - - -module.exports = TradePage; diff --git a/test/e2e/pages/trustPage.js b/test/e2e/pages/trustPage.js deleted file mode 100644 index 0b4478439..000000000 --- a/test/e2e/pages/trustPage.js +++ /dev/null @@ -1,108 +0,0 @@ -'use strict'; - -var helperBrowser = require('../utils/browser'); - -var TrustPage = function () { - this.connectGatewayButton = element(by.css('.btn-add-trust a')); - this.gatewayAddressInput = element(by.css('#trust_counterparty')); - this.trustFormSubmitButton = element(by.css("form[name='trustForm'] a.btn.btn-primary.submit")); - this.currencyInput = element(by.css('form[name="trustForm"] div[ng-hide="advanced_feature_switch"] #trust_amount_currency')); - this.confirmGatewayButton = element(by.css("div.modal-dialog button.btn-default.btn-success")); - this.unlockPasswordInput = element(by.css("div.modal-dialog #popup_unlock_password")); - this.unlockPasswordButton = element(by.css("div.modal-dialog div.unlock-btns-wrapper button.modal-submit-btn")); - this.gatewayAddedHolder = element(by.css('group.result-success[ng-show=\'tx_result=="cleared"\'] h2')); -// this.usdGatewayTitle = element(by.css('div.currency-usd span.currency')).getText(); - this.usdGatewayEditButton = element(by.css('div.currency-usd div.lines a[ng-click="edit_account()"]')); - this.usdGatewayDeleteButton = element(by.css('div.currency-usd div.lines span[ng-show="editing && !advanced_feature_switch"] button[ng-click="delete_account()"]')); - this.gatewayRemovedHolder = element(by.css('group[on="notif"] group.result-success[ng-switch-when="gateway_removed"]')); - - // for gateway advanced test - this.gatewayTrustAmountInput = element(by.css('#trust_amount')); - this.advancedCurrencyInput = element(by.css('form[name="trustForm"] div[ng-show="advanced_feature_switch"] #trust_amount_currency')); - // editLimitInput = element(by.model('trust.limit')); - this.editLimitInput = element(by.css('div.currency-usd input[name="limit"]')); - this.usdGatewaySaveButton = element(by.css('div.currency-usd div.lines div[ng-show="editing && advanced_feature_switch"] #save')); - this.changesSavedHolder = element(by.css('group[on="notif"] group.result-success[ng-switch-when="success"]')); - // exactBinding not working - protractor is too old :( - // usdGatewayLimitHolder = element(by.css('div.currency-usd div.lines ')).element(by.exactBinding('component.limit')); - this.usdGatewayLimitHolder = element(by.css('div.currency-usd div.lines div[ng-show="advanced_feature_switch"] div.ng-binding')); - this.usdGatewayAdvancedDeleteButton = element(by.css('div.currency-usd div.lines div[ng-show="editing && advanced_feature_switch"] button[ng-click="delete_account()"]')); -}; - -Object.defineProperty(TrustPage.prototype, 'usdGatewayTitle', { - get: function() { - return ($('div.currency-usd span.currency')).getText(); - } -}); - -TrustPage.prototype.goTo = function () { - browser.get('#/trust'); -} - -TrustPage.prototype.gatewayTitle = function (currency) { - return $('div.currency-' + currency.toLowerCase() + ' span.currency').getText(); -} - -TrustPage.prototype.putAddress = function (address, currency) { - var self = this; - return this.gatewayAddressInput.sendKeys(address). - then(this.currencyInput.clear). - then(function() { - return self.currencyInput.sendKeys(currency); - }); -} - -TrustPage.prototype.connectGateway = function (addressOrName, currency, password) { - return this.putAddress(addressOrName, currency).then(this.connectGatewaySubmit.bind(this, password)); -} - -TrustPage.prototype.connectGatewaySubmit = function (password) { - var self = this; - - return helperBrowser.waitForElementToBecameAvailable(this.trustFormSubmitButton). - then(this.trustFormSubmitButton.click). - then(helperBrowser.waitForElementToDisplay.bind(self, this.confirmGatewayButton)). - then(this.confirmGatewayButton.click). - then(browser.sleep.bind(self, 1000)). - then(function() { - return self.unlockPasswordInput.isPresent(); - }). - then(function(isUnlockDisplayed) { - /// it should show password input - if (isUnlockDisplayed) { - return self.unlockPasswordInput.sendKeys(password).then(function() { - protractor.getInstance().ignoreSynchronization = true; - return self.unlockPasswordButton.click(); - }); - } else { - return protractor.promise.fulfilled(true); - } - }). - then(helperBrowser.waitForElementToDisplay.bind(self, this.gatewayAddedHolder)); -} - -TrustPage.prototype.removeGateway = function (currency) { - var self = this; - return $('div.currency-' + currency.toLowerCase() + ' div.lines a[ng-click="edit_account()"]').click(). - then(browser.sleep.bind(this, 30)). - then($('div.currency-' + currency.toLowerCase() + ' div.lines span[ng-show="editing && !advanced_feature_switch"] button[ng-click="delete_account()"]').click). - then(helperBrowser.waitForElement.bind(self, self.gatewayRemovedHolder)). - then(browser.sleep.bind(this, 1000)); -} - - -// for gateway advanced test -TrustPage.prototype.putAddressAdvanced = function (address, currency, amount) { - var self = this; - return this.gatewayAddressInput.sendKeys(address). - then(this.advancedCurrencyInput.clear). - then(function () { - self.advancedCurrencyInput.sendKeys(currency); - }). - then(this.gatewayTrustAmountInput.clear). - then(function () { - self.gatewayTrustAmountInput.sendKeys(amount); - }); -} - -module.exports = TrustPage; diff --git a/test/e2e/protractor.conf-example.js b/test/e2e/protractor.conf-example.js deleted file mode 100644 index 0ef70a62e..000000000 --- a/test/e2e/protractor.conf-example.js +++ /dev/null @@ -1,36 +0,0 @@ -exports.config = { - seleniumAddress: 'http://localhost:4444/wd/hub', - framework: 'mocha', - mochaOpts: { - timeout: 20000 - }, - specs: ['*.js'], - capabilities: { - browserName: 'chrome' - }, - baseUrl: 'http://local.rippletrade.com/index_debug.html', - - // Credentials of a funded test account - user: { - username: '', - password: '', - secret: '' - }, - - // OldBlob user credentials for testing the migration - oldUser: { - username: '', - password: '', - secret: '' - }, - - // gateway test - gateway : { - address: 'rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q', - name: '~SnapSwap', - fakeCurrency: '111' - }, - - // Ripple address to send xrp to - counterparty: '' -}; diff --git a/test/e2e/register.controller.spec.js b/test/e2e/register.controller.spec.js deleted file mode 100644 index f1f571d75..000000000 --- a/test/e2e/register.controller.spec.js +++ /dev/null @@ -1,282 +0,0 @@ -'use strict'; - -// Chai is a BDD / TDD assertion library -var chai = require('chai'); -var chaiAsPromised = require('chai-as-promised'); -var config = require('./protractor.conf.js').config; - -var helperForms = require('./utils/forms'); -var helperBrowser = require('./utils/browser'); - -chai.use(chaiAsPromised); -var expect = chai.expect; - -describe('register form', function() { - - beforeEach(function(){ - browser.get('#/register'); - }); - - it('should render the register form', function(done) { - expect($("form[name='registerForm']").getText()) - .to.exist - .and.notify(done); - }); -}); - -describe('user name field', function() { - - beforeEach(function(){ - browser.get('#/register'); - }); - - it('should accept a non-existing user name', function(done) { - $(".auth-form-wrapper #register_username") - .sendKeys(config.user.username + "-new") - .then(function(){ - var message = $("form[name='registerForm'] .success[rp-error-valid]"); - helperBrowser.waitForElement(message); - expect(message.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - }); - - it('should deny an existing user name', function(done) { - $(".auth-form-wrapper #register_username") - .sendKeys(config.user.username) - .then(function(){ - var message = $("form[name='registerForm'] .errorGroup[rp-errors='register_username'] span[ng-switch-when='exists']"); - helperBrowser.waitForElement(message); - expect(message.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - }); - - it('should deny a reserved user name', function(done) { - $(".auth-form-wrapper #register_username") - .sendKeys("google") - .then(function(){ - var message = $("form[name='registerForm'] .errorGroup[rp-errors='register_username'] span[ng-switch-when='reserved']"); - helperBrowser.waitForElement(message); - expect(message.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - }); - - it('should deny a too short user name', function(done) { - $(".auth-form-wrapper #register_username") - .sendKeys("xy") - .then(function(){ - var message = $("form[name='registerForm'] .errorGroup[rp-errors='register_username'] span[ng-switch-when='tooshort']"); - expect(message.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - }); - - it('should deny a user name with a wrong charset', function(done) { - $(".auth-form-wrapper #register_username") - .sendKeys(config.user.username + "ä") - .then(function(){ - var message = $("form[name='registerForm'] .errorGroup[rp-errors='register_username'] span[ng-switch-when='charset']"); - expect(message.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - }); - - it('should deny a user name starting with a hyphen', function(done) { - $(".auth-form-wrapper #register_username") - .sendKeys("-" + config.user.username) - .then(function(){ - var message = $("form[name='registerForm'] .errorGroup[rp-errors='register_username'] span[ng-switch-when='starthyphen']"); - expect(message.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - }); - - it('should deny a user name ending with a hyphen', function(done) { - $(".auth-form-wrapper #register_username") - .sendKeys(config.user.username + "-") - .then(function(){ - var message = $("form[name='registerForm'] .errorGroup[rp-errors='register_username'] span[ng-switch-when='endhyphen']"); - expect(message.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - }); - - it('should deny a user name with multiple hyphens', function(done) { - $(".auth-form-wrapper #register_username") - .sendKeys(config.user.username + "--x") - .then(function(){ - var message = $("form[name='registerForm'] .errorGroup[rp-errors='register_username'] span[ng-switch-when='multhyphen']"); - expect(message.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - }); -}); - -describe('password field', function() { - - beforeEach(function(){ - browser.get('#/register'); - }); - - it('should deny a weak password', function(done) { - $(".auth-form-wrapper #register_password") - .sendKeys("123456") - .then(function(){ - var message = $(".ng-invalid-rp-strong-password#register_password"); - expect(message.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - }); - - it('should accept a strong password', function(done) { - $(".auth-form-wrapper #register_password") - .sendKeys("73571n6.") - .then(function(){ - var message = $(".ng-valid-rp-strong-password#register_password"); - expect(message.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - }); - - it('should deny non-matching passwords', function(done) { - $(".auth-form-wrapper #register_password").sendKeys("73571n6."); - $(".auth-form-wrapper #register_password2").sendKeys("73571n6") - .then(function(){ - var message = $(".ng-invalid-rp-same-in-set#register_password"); - expect(message.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - }); - - it('should accept matching passwords', function(done) { - $(".auth-form-wrapper #register_password").sendKeys("73571n6."); - $(".auth-form-wrapper #register_password2").sendKeys("73571n6.") - .then(function(){ - var message = $(".ng-valid-rp-same-in-set#register_password"); - expect(message.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - }); -}); - -describe('email field', function() { - - beforeEach(function(){ - browser.get('#/register'); - }); - - it('should deny an invalid email', function(done) { - $(".auth-form-wrapper #register_email").sendKeys("e2e-test") - .then(function(){ - var message = $(".ng-invalid-email#register_email"); - expect(message.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - }); - - it('should accept a valid email', function(done) { - $(".auth-form-wrapper #register_email").sendKeys("e2e-test+index@example.com") - .then(function(){ - var message = $(".ng-valid-email#register_email"); - expect(message.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - }); -}); - -describe('secret field', function() { - - beforeEach(function(){ - browser.get('#/register'); - }); - - it('should deny an invalid secret', function(done) { - $(".auth-form-wrapper a[ng-click='showMasterKeyInput=true']").click(); - $(".auth-form-wrapper #register_masterkey").sendKeys("test-invalid-key") - .then(function(){ - var message = $(".ng-invalid-rp-master-key#register_masterkey"); - expect(message.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - }); - - it('should accept a valid secret', function(done) { - $(".auth-form-wrapper a[ng-click='showMasterKeyInput=true']").click(); - $(".auth-form-wrapper #register_masterkey").sendKeys(config.oldUser.secret) - .then(function(){ - var message = $(".ng-valid-rp-master-key#register_masterkey"); - expect(message.isPresent()) - .to.eventually.be.true; - message = $(".ng-valid-rp-master-address-exists#register_masterkey"); - helperBrowser.waitForElement(message); - expect(message.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - }); - - it('should deny a valid secret that already has an account', function(done) { - $(".auth-form-wrapper a[ng-click='showMasterKeyInput=true']").click(); - $(".auth-form-wrapper #register_masterkey").sendKeys(config.user.secret) - .then(function(){ - var message = $(".register_masterkey .auth-attention:not(.ng-hide)"); - helperBrowser.waitForElement(message); - expect(message.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - }); -}); - -describe('register button', function() { - - var username = "e2e-test-reg-" + Math.floor(Math.random() * 1000000); - - before(function(){ - browser.get('#/register'); - $(".auth-form-wrapper #register_username").sendKeys(username); - $(".auth-form-wrapper #register_password").sendKeys(config.user.password); - $(".auth-form-wrapper #register_password2").sendKeys(config.user.password); - $(".auth-form-wrapper #register_email").sendKeys("test@example.com"); - $(".auth-form-wrapper #terms").click() - .then(function(){ - var message = $("form[name='registerForm'] .success[rp-error-valid]"); - helperBrowser.waitForElement(message); - }); - }); - - it('should be active', function(done) { - expect($(".submit-btn-container button").getAttribute('disabled')) - .to.eventually.not.equal('disabled') - .and.notify(done); - }); - - it('click should register the user', function(done) { - $(".submit-btn-container button").click() - .then(function () { - var message = $("form[name='resendForm']"); - helperBrowser.waitForElement(message); - expect(message.isPresent()) - .to.eventually.be.true - .and.notify(done); - }); - }); - -}); diff --git a/test/e2e/security.controller.spec.js b/test/e2e/security.controller.spec.js deleted file mode 100644 index 9b4054b42..000000000 --- a/test/e2e/security.controller.spec.js +++ /dev/null @@ -1,94 +0,0 @@ -'use strict'; - -// Chai is a BDD / TDD assertion library -var chai = require('chai'); -var chaiAsPromised = require('chai-as-promised'); -var config = require('./protractor.conf.js').config; - -var helperForms = require('./utils/forms'); - -chai.use(chaiAsPromised); -var expect = chai.expect; - -describe('password setting', function() { - - // security page object - var SecurityPage = function() { - this.changePasswordButton = $('a[ng-hide="openFormPassword"][l10n]'); - this.passwordForm = $('#renameForm'); - this.passwordNotification = $('.alert.alert-success[ng-show=success.changePassword]'); - - this.get = function() { - browser.get('#/security'); - browser.wait($('.showSecurity').isDisplayed); - }; - - this.changePassword = function(oldpassword, newpassword) { - $('input[name=password]').sendKeys(oldpassword); - $('input[name=change_password1]').sendKeys(newpassword); - $('input[name=change_password2]').sendKeys(newpassword); - return $('#renameForm button[type=submit]').click(); - }; - }; - var securityPage = new SecurityPage(); - - before(function(){ - helperForms.login(config.user.username, config.user.password); - }); - - it('should render the security page', function(done) { - // Go to send page - securityPage.get(); - - // Wait for the security page to render - expect(securityPage.changePasswordButton.isDisplayed()) - .to.eventually.be.true - .and.notify(done); - }); - - it('should render the password form', function(done) { - securityPage.changePasswordButton.click(); - expect(securityPage.passwordForm.isDisplayed()) - .to.eventually.be.true - .and.notify(done); - }); - - var tempPassword = config.user.password + '-e2e'; - protractor.getInstance().ignoreSynchronization = true; - - it('should change the password', function(done) { - securityPage.changePassword(config.user.password, tempPassword); - expect(securityPage.passwordNotification.isDisplayed()) - .to.eventually.be.true - .and.notify(done); - }); - - it('should login with the new password', function(done) { - helperForms.login(config.user.username, tempPassword); - }); - - it('should render the security page again', function(done) { - // sleep for 2s - browser.sleep(2000); - // Wait for the security page to render - securityPage.get(); - expect(securityPage.changePasswordButton.isDisplayed()) - .to.eventually.be.true - .and.notify(done); - }); - - it('should render the password form', function(done) { - securityPage.changePasswordButton.click(); - expect(securityPage.passwordForm.isDisplayed()) - .to.eventually.be.true - .and.notify(done); - }); - - it('should change the password back', function(done) { - - securityPage.changePassword(tempPassword, config.user.password); - expect(securityPage.passwordNotification.isDisplayed()) - .to.eventually.be.true - .and.notify(done); - }); -}); diff --git a/test/e2e/send.controller.spec.js b/test/e2e/send.controller.spec.js deleted file mode 100644 index 9308e9f10..000000000 --- a/test/e2e/send.controller.spec.js +++ /dev/null @@ -1,145 +0,0 @@ -'use strict'; - -// Chai is a BDD / TDD assertion library -var chai = require('chai'); -var chaiAsPromised = require('chai-as-promised'); -var config = require('./protractor.conf.js').config; - -var helperForms = require('./utils/forms'); -var helperBrowser = require('./utils/browser'); - -chai.use(chaiAsPromised); -var expect = chai.expect; - -describe('send', function() { - - before(function(){ - helperForms.login(config.user.username,config.user.password); - }); - - it('should render the send page', function(done) { - // Go to send page - browser.get('#/send'); - - // Wait for the send form to render - browser.wait(function() { - return $('#sendForm').isDisplayed().then(function(result) { - return result; - }); - }); - - // Assuming that everything's ok if the #send_destination is present - expect($('#send_destination').isDisplayed()) - .to.eventually.be.true - .and.notify(done); - }); - - describe('recipient', function() { - - var input = $('#send_destination'); - - beforeEach(function(){ - input.clear(); - }); - - it('should not accept an invalid ripple address', function(done) { - input.sendKeys('invalidrippleaddress'); - expect(input.getAttribute('class')) - .to.eventually.contain('ng-invalid') - .and.notify(done); - }); - - it('should accept a valid ripple address', function(done) { - input.sendKeys(config.counterparty); - expect(input.getAttribute('class')) - .to.eventually.not.contain('ng-invalid') - .and.notify(done); - }); - - // TODO should accept a contact name - // TODO should accept a ripple name - - }); - - describe('amount', function() { - - var input = $('#send_amount'); - - beforeEach(function(){ - input.clear(); - }); - - it('should not accept an invalid amount', function(done) { - input.sendKeys('123a'); - expect(input.getAttribute('class')) - .to.eventually.contain('ng-invalid') - .and.notify(done); - }); - - it('should accept a valid amount', function(done) { - input.sendKeys('0.000001'); - expect(input.getAttribute('class')) - .to.eventually.not.contain('ng-invalid') - .and.notify(done); - }); - - }); - - // TODO test destination tag - // TODO test source tag - - describe('send xrp button', function() { - - var input = $('#sendXrpButton'); - - it('should be active', function(done) { - expect(input.getAttribute('disabled')) - .to.eventually.not.equal('disabled') - .and.notify(done); - }); - - it('should take to the confirmation screen', function(done) { - input.click(); - expect($('.mode-confirm').isDisplayed()) - .to.eventually.be.true - .and.notify(done); - }); - - }); - - // TODO test alternate payments (with pathfinding) - - describe('confirm', function() { - - // TODO test the wrong password case - - it('button click should confirm the transaction', function(done) { - $('#send_unlock_password').sendKeys(config.user.password); - $('#confirmButton').click(); - - browser.wait(function() { - return $('.mode-status').isDisplayed().then(function(result) { - return result; - }); - }); - - expect($('.mode-status .pending').isDisplayed()) - .to.eventually.be.true - .and.notify(done); - }); - - it('should succeed', function(done) { - browser.wait(function() { - return $('.mode-status .pending').isDisplayed().then(function(result) { - return !result; - }); - }); - - expect($('.mode-status .result-success').isDisplayed()) - .to.eventually.be.true - .and.notify(done); - }); - - }); - -}); diff --git a/test/e2e/utils/browser.js b/test/e2e/utils/browser.js deleted file mode 100644 index 21286513c..000000000 --- a/test/e2e/utils/browser.js +++ /dev/null @@ -1,30 +0,0 @@ -exports.waitForNavigation = function (part) { - return browser.wait(function () { - return browser.driver.getCurrentUrl().then(function (url) { - return !!url.match(part); - }); - }); -}; - -exports.waitForElement = function (part) { - return browser.wait(function () { - return part.isPresent(); - }); -}; - -exports.waitForElementToDisplay = function (part) { - return browser.wait(function () { - return part.isPresent(); - }).then(function() { - return browser.wait(part.isDisplayed); - }); -}; - -exports.waitForElementToBecameAvailable = function (part) { - return browser.wait(function () { - return part.getAttribute('disabled').then(function (isDisabled) { - return !isDisabled; - }); - }); -}; - diff --git a/test/e2e/utils/forms.js b/test/e2e/utils/forms.js deleted file mode 100644 index 3d0d59028..000000000 --- a/test/e2e/utils/forms.js +++ /dev/null @@ -1,53 +0,0 @@ -var helpers = require('./browser'); - -/* - add these 2 lines to the top of your it block to force a logout and log back in - - forms.logout(); - - forms.login(config.user.username,config.user.password); - */ - -exports.login = function (username,password) { - browser.get('#/login'); - browser.getCurrentUrl() - .then(function(url){ - // It's already logged in if the page is other then login or register - if (url.match('login') || url.match('register')){ - browser.get('#/login'); - - $(".auth-form-container #login_username").sendKeys(username); - $(".auth-form-container #login_password").sendKeys(password); - $("#loginBtn").click() - .then(function(){ - helpers.waitForNavigation('#/balance'); - }) - } - }) -}; - -exports.migrate = function (username,password) { - browser.get('#/migrate'); - - $(".auth-form-container #login_username").sendKeys(username); - $(".auth-form-container #login_password").sendKeys(password); - $(".auth-form-container .submit-btn-container button").click() - .then(function(){ - helpers.waitForNavigation('#/register'); - }) -}; - -exports.logout = function () { - browser.getCurrentUrl() - .then(function(url){ - if (!url.match('login')){ - $(".mainnav .settings").click() - .then(function(){ - $(".mainnav .settings .dropdown-menu .logout").click() - .then(function(){ - helpers.waitForNavigation('#/login'); - }) - }) - } else { - browser.get('#/login'); - } - }); -}; From 89ff8f73c723374a94e6e9aab8811eddf82f0c68 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Wed, 6 May 2015 01:48:33 +0300 Subject: [PATCH 289/321] [TEST] BRL e2e test fix add id to "Add Rippex" button on #brl tab and use it in e2e test --- src/templates/tabs/brl.jade | 2 +- test/selenium/tests-private/CustomGatewaysBRL.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/templates/tabs/brl.jade b/src/templates/tabs/brl.jade index d52d1f69e..1bb8b9ab5 100644 --- a/src/templates/tabs/brl.jade +++ b/src/templates/tabs/brl.jade @@ -74,7 +74,7 @@ section.col-xs-12.content(ng-controller='BrlCtrl') .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4.action-btn-wrapper - button.btn.btn-large.btn-primary(type="submit",ng-click="save_account()", ng-hide="brlConnected || !loadState.account", ng-disabled="loading || !account.Balance || !can_add_trust") + button#t-brl-add-rippex.btn.btn-large.btn-primary(type="submit",ng-click="save_account()", ng-hide="brlConnected || !loadState.account", ng-disabled="loading || !account.Balance || !can_add_trust") span(ng-show="!loading", l10n) Add Rippex span(ng-show="loading", l10n) Adding... button.btn.btn-large.btn-primary(ng-show="showInstructions && brlConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions diff --git a/test/selenium/tests-private/CustomGatewaysBRL.json b/test/selenium/tests-private/CustomGatewaysBRL.json index bf7bb0caa..7ae201767 100644 --- a/test/selenium/tests-private/CustomGatewaysBRL.json +++ b/test/selenium/tests-private/CustomGatewaysBRL.json @@ -74,8 +74,8 @@ { "type": "clickElement", "locator": { - "type": "xpath", - "value": "//div[@id='t-brl']//button[.=' Add Rippex Adding...']" + "type": "id", + "value": "t-brl-add-rippex" } }, { From 3758174e8b80f645d715ad52c06eaf7355a78059 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Wed, 6 May 2015 03:33:40 +0300 Subject: [PATCH 290/321] [TEST] e2e TradeNonXRP test fix wait for confirmation dialog --- test/selenium/tests-private/TradeNonXRP.json | 21 ++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/selenium/tests-private/TradeNonXRP.json b/test/selenium/tests-private/TradeNonXRP.json index 7dd2aa5f6..019eee8f9 100644 --- a/test/selenium/tests-private/TradeNonXRP.json +++ b/test/selenium/tests-private/TradeNonXRP.json @@ -212,6 +212,15 @@ "type": "pause", "waitTime": "5000" }, + { + "type": "waitForTextPresent", + "text": "n/a", + "negated": true + }, + { + "type": "pause", + "waitTime": "3000" + }, { "type": "setElementText", "locator": { @@ -227,6 +236,18 @@ "value": "submit" } }, + { + "type": "waitForTextPresent", + "text": "Confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='actions']//button[.='Confirm']" + } + }, + { "type": "waitForElementPresent", "locator": { From 83dd28a9318503156f8d57fe627021e293cb6896 Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Wed, 6 May 2015 13:01:01 +0400 Subject: [PATCH 291/321] [TASK] Top menu icons disappear on a certain page width with an unfunded wallet (RT-3349) --- src/less/ripple/layout.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/less/ripple/layout.less b/src/less/ripple/layout.less index 0fbba209e..d3a44200f 100644 --- a/src/less/ripple/layout.less +++ b/src/less/ripple/layout.less @@ -336,7 +336,7 @@ header { header { nav.navbar { ul.nav > li > a { - padding: 20px 15px; + padding: 20px 10px; } } } From 546747246deb5730b8c0625de2cc7c6e26bbdb82 Mon Sep 17 00:00:00 2001 From: Yong-Soo Chung Date: Wed, 6 May 2015 11:23:23 -0400 Subject: [PATCH 292/321] [TASK] Trust: Do not allow incoming lines with balance to disable rippling, show warning message when enabling rippling (RT-3371) --- src/js/tabs/trust.controller.js | 12 +++++++++++- src/templates/tabs/trust.jade | 26 ++++++++++++++++++++------ 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/src/js/tabs/trust.controller.js b/src/js/tabs/trust.controller.js index 0d720a6f1..30a5efefe 100644 --- a/src/js/tabs/trust.controller.js +++ b/src/js/tabs/trust.controller.js @@ -384,7 +384,6 @@ TrustTab.prototype.angular = function (module) $scope.editing = false; }; - $scope.edit_account = function() { $scope.editing = true; @@ -638,6 +637,17 @@ TrustTab.prototype.angular = function (module) return ($scope.component.limit.is_zero() && !$scope.component.limit_peer.is_zero()); }; + $scope.ripplingEnabled = function() { + return !$scope.component.no_ripple; + } + + $scope.showEnableRipplingWarningMessage = function() { + return ($scope.isIncomingOnly() && + !$scope.ripplingEnabled() && + $scope.trust.rippling && + $scope.trust.balance !== '0'); + } + }]); }; diff --git a/src/templates/tabs/trust.jade b/src/templates/tabs/trust.jade index 80609c685..482fc712f 100644 --- a/src/templates/tabs/trust.jade +++ b/src/templates/tabs/trust.jade @@ -331,14 +331,28 @@ section.col-xs-12.content(ng-controller="TrustCtrl") .col-sm-2.col-md-2.inputPadding div.rippling-checkbox label(l10n) Rippling - input(name='rippling', type='checkbox', ng-model='trust.rippling', ng-disabled='trust.balance !== "0" && isIncomingOnly()') + input(name='rippling', type='checkbox', ng-model='trust.rippling', ng-disabled='trust.balance !== "0" && isIncomingOnly() && ripplingEnabled()') .col-sm-7.col-md-6 .row.row-padding-small - .col-xs-6.col-sm-5(ng-hide="trust.loading && trust.state==='removing'") - button.btn.btn-block.btn-primary#save(type='submit' - ng-disabled='accountForm.$invalid || trust.loading') - span(ng-hide="trust.loading", l10n) Save - span(ng-show="trust.loading && trust.state==='saving'", l10n) Saving... + div(ng-hide="trust.loading && trust.state==='removing'") + .col-xs-6.col-sm-5(ng-hide='showEnableRipplingWarningMessage()') + button.btn.btn-block.btn-primary#save(type='submit' + ng-disabled='accountForm.$invalid || trust.loading') + span(ng-hide="trust.loading", l10n) Save + span(ng-show="trust.loading && trust.state==='saving'", l10n) Saving... + .col-xs-6.col-sm-5(ng-show='showEnableRipplingWarningMessage()') + rp-confirm( + action-text="Are you sure you want to enable rippling? This is an incoming trust line with a balance. If you enable rippling, you will not be able to disable it." + action-button-text="Enable rippling and save" + action-button-css="btn btn-default btn-danger" + action-function="save_account()" + cancel-button-css="btn btn-cancel" + cancel-button-text="cancel" + ng-hide="showPassword==true") + button.btn.btn-block.btn-primary#save(type='submit' + ng-disabled='accountForm.$invalid || trust.loading') + span(ng-hide="trust.loading", l10n) Save + span(ng-show="trust.loading && trust.state==='saving'", l10n) Saving... .col-xs-6.col-sm-5(ng-show="trust.loading && trust.state==='removing'") .row .col-xs-12 From 0c2fe9f231cefc4db209df3b342ec07013ea2911 Mon Sep 17 00:00:00 2001 From: Mesrop Minasyan Date: Tue, 5 May 2015 17:22:18 +0400 Subject: [PATCH 293/321] [TASK] Signup/Login form UI messed up (RT-3367) --- src/less/ripple/landing.less | 1 + 1 file changed, 1 insertion(+) diff --git a/src/less/ripple/landing.less b/src/less/ripple/landing.less index f827580cc..b318fa3e1 100644 --- a/src/less/ripple/landing.less +++ b/src/less/ripple/landing.less @@ -287,6 +287,7 @@ header.loggedOut { margin-top: -15px; margin-left: -20px; margin-right: -20px; + white-space: nowrap; } .bottomText { From 07ed1c830042d52a537faa1860f7403d1bc79f55 Mon Sep 17 00:00:00 2001 From: Malika Date: Wed, 6 May 2015 13:35:59 -0700 Subject: [PATCH 294/321] Show full ripple addres in URIs --- src/js/filters/filters.filter.js | 12 +++++++++++- src/templates/tabs/login.jade | 8 ++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/js/filters/filters.filter.js b/src/js/filters/filters.filter.js index 9305684ca..c1a7685ff 100755 --- a/src/js/filters/filters.filter.js +++ b/src/js/filters/filters.filter.js @@ -261,7 +261,7 @@ module.filter('rpfromnow', function() { * * Shows a ripple name for a given ripple address */ -module.filter("rpripplename", ['$rootScope', '$http', 'rpId', function($scope, $http, id) { +module.filter("rpripplename", ['rpId', function(id) { return function(address, options) { var ripplename = id.resolveNameSync(address, options); if (ripplename !== address) { @@ -274,6 +274,16 @@ module.filter("rpripplename", ['$rootScope', '$http', 'rpId', function($scope, $ } }]); +module.filter("rpripplenamefull", ['rpId', function(id) { + return function(address, options) { + var ripplename = id.resolveNameSync(address, options); + if (ripplename !== address) { + return ripplename; + } + return address; + } +}]); + /** * Show contact name or address */ diff --git a/src/templates/tabs/login.jade b/src/templates/tabs/login.jade index 8010b04f8..0a0909cd6 100644 --- a/src/templates/tabs/login.jade +++ b/src/templates/tabs/login.jade @@ -49,7 +49,7 @@ section.col-xs-12.content(ng-controller="LoginCtrl") p.literal(ng-bind="$routeParams.label") div(ng-hide="$routeParams.amount", l10n) p(l10n-inc) You're sending money to - .address {{ $routeParams.to | rpripplename:{tilde:true} }} + .address {{ $routeParams.to | rpripplenamefull:{tilde:true} }} | . div(ng-show="$routeParams.amount", l10n) p(l10n-inc) You're sending @@ -57,7 +57,7 @@ section.col-xs-12.content(ng-controller="LoginCtrl") span.number {{$routeParams.amount | rpamount:{xrp_human: true} }} span.currency {{$routeParams.amount | rpcurrency}} p(l10n-inc) to - .address {{ $routeParams.to | rpripplename:{tilde:true} }} + .address {{ $routeParams.to | rpripplenamefull:{tilde:true} }} | . p(l10n-inc) Log in to your Ripple Trade account to continue. You | will be able to confirm this transaction on the next page. @@ -65,7 +65,7 @@ section.col-xs-12.content(ng-controller="LoginCtrl") p.literal {{$routeParams.label}} div(l10n) p(l10n-inc) You're connecting to the gateway - .address {{ $routeParams.to | rpripplename:{tilde:true} }} + .address {{ $routeParams.to | rpripplenamefull:{tilde:true} }} div(ng-show="$routeParams.currency", l10n-inc) | for .amount @@ -82,7 +82,7 @@ section.col-xs-12.content(ng-controller="LoginCtrl") p.literal(ng-bind="$routeParams.label") span(l10n) p(l10n-inc) You're adding - .address {{ $routeParams.to | rpripplename:{tilde:true} }} + .address {{ $routeParams.to | rpripplenamefull:{tilde:true} }} p(l10n-inc) to your contacts list p(l10n-inc) Log in to your Ripple Trade account to continue. You | will be able to confirm this transaction on the next page. From e2fe9aa6e476efc3bc5f35daf9793ba2a09e2d6f Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 7 May 2015 01:14:34 +0300 Subject: [PATCH 295/321] [TEST] remove CustomXXX e2e tests --- .../tests-private/CustomGatewaysBRL.json | 266 ------------------ .../tests-private/CustomGatewaysEUR.json | 262 ----------------- .../tests-private/CustomGatewaysJPY.json | 262 ----------------- .../tests-private/CustomGatewaysMXN.json | 262 ----------------- .../tests-private/CustomGatewaysSGD.json | 262 ----------------- .../tests-private/CustomGatewaysUSD.json | 262 ----------------- .../tests-private/CustomGatewaysXAU.json | 262 ----------------- 7 files changed, 1838 deletions(-) delete mode 100644 test/selenium/tests-private/CustomGatewaysBRL.json delete mode 100644 test/selenium/tests-private/CustomGatewaysEUR.json delete mode 100644 test/selenium/tests-private/CustomGatewaysJPY.json delete mode 100644 test/selenium/tests-private/CustomGatewaysMXN.json delete mode 100644 test/selenium/tests-private/CustomGatewaysSGD.json delete mode 100644 test/selenium/tests-private/CustomGatewaysUSD.json delete mode 100644 test/selenium/tests-private/CustomGatewaysXAU.json diff --git a/test/selenium/tests-private/CustomGatewaysBRL.json b/test/selenium/tests-private/CustomGatewaysBRL.json deleted file mode 100644 index 7ae201767..000000000 --- a/test/selenium/tests-private/CustomGatewaysBRL.json +++ /dev/null @@ -1,266 +0,0 @@ -{ - "type": "script", - "seleniumVersion": "2", - "formatVersion": 2, - "steps": [ - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "BRL" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "BRL" - } - }, - { - "type": "waitForTextPresent", - "text": "Brazil" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "t-brl-add-rippex" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } - }, - { - "type": "waitForTextPresent", - "text": "edit" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "waitForTextPresent", - "text": "Remove" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "pause", - "waitTime": "1000" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "Real", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - } - ], - "data": { - "configs": {}, - "source": "none" - }, - "inputs": [], - "timeoutSeconds": 420 -} \ No newline at end of file diff --git a/test/selenium/tests-private/CustomGatewaysEUR.json b/test/selenium/tests-private/CustomGatewaysEUR.json deleted file mode 100644 index 1ac5f4d87..000000000 --- a/test/selenium/tests-private/CustomGatewaysEUR.json +++ /dev/null @@ -1,262 +0,0 @@ -{ - "type": "script", - "seleniumVersion": "2", - "formatVersion": 2, - "steps": [ - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "EUR" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "EUR" - } - }, - { - "type": "waitForTextPresent", - "text": "Euro" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-eur']//button[.='Add SnapSwap.eu']" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } - }, - { - "type": "waitForTextPresent", - "text": "edit" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "waitForTextPresent", - "text": "Remove" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "Euro", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - } - ], - "data": { - "configs": {}, - "source": "none" - }, - "inputs": [], - "timeoutSeconds": 420 -} \ No newline at end of file diff --git a/test/selenium/tests-private/CustomGatewaysJPY.json b/test/selenium/tests-private/CustomGatewaysJPY.json deleted file mode 100644 index 9a92fa856..000000000 --- a/test/selenium/tests-private/CustomGatewaysJPY.json +++ /dev/null @@ -1,262 +0,0 @@ -{ - "type": "script", - "seleniumVersion": "2", - "formatVersion": 2, - "steps": [ - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "JPY" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "JPY" - } - }, - { - "type": "waitForTextPresent", - "text": "Tokyo" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-jpy']//button[.='Add Tokyo JPY']" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } - }, - { - "type": "waitForTextPresent", - "text": "edit" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "waitForTextPresent", - "text": "Remove" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "Japanese", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - } - ], - "data": { - "configs": {}, - "source": "none" - }, - "inputs": [], - "timeoutSeconds": 420 -} \ No newline at end of file diff --git a/test/selenium/tests-private/CustomGatewaysMXN.json b/test/selenium/tests-private/CustomGatewaysMXN.json deleted file mode 100644 index 4d4aceed2..000000000 --- a/test/selenium/tests-private/CustomGatewaysMXN.json +++ /dev/null @@ -1,262 +0,0 @@ -{ - "type": "script", - "seleniumVersion": "2", - "formatVersion": 2, - "steps": [ - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "MXN" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "MXN" - } - }, - { - "type": "waitForTextPresent", - "text": "Mexican" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-mxn']//button[.='Add Bitso']" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } - }, - { - "type": "waitForTextPresent", - "text": "edit" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "waitForTextPresent", - "text": "Remove" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "Mexican", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - } - ], - "data": { - "configs": {}, - "source": "none" - }, - "inputs": [], - "timeoutSeconds": 420 -} \ No newline at end of file diff --git a/test/selenium/tests-private/CustomGatewaysSGD.json b/test/selenium/tests-private/CustomGatewaysSGD.json deleted file mode 100644 index e577d2a78..000000000 --- a/test/selenium/tests-private/CustomGatewaysSGD.json +++ /dev/null @@ -1,262 +0,0 @@ -{ - "type": "script", - "seleniumVersion": "2", - "formatVersion": 2, - "steps": [ - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "SGD" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "SGD" - } - }, - { - "type": "waitForTextPresent", - "text": "Singapore" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-sgd']//button[.='Add Ripple Singapore']" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } - }, - { - "type": "waitForTextPresent", - "text": "edit" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "waitForTextPresent", - "text": "Remove" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "Singapore", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - } - ], - "data": { - "configs": {}, - "source": "none" - }, - "inputs": [], - "timeoutSeconds": 420 -} \ No newline at end of file diff --git a/test/selenium/tests-private/CustomGatewaysUSD.json b/test/selenium/tests-private/CustomGatewaysUSD.json deleted file mode 100644 index 9cee839f4..000000000 --- a/test/selenium/tests-private/CustomGatewaysUSD.json +++ /dev/null @@ -1,262 +0,0 @@ -{ - "type": "script", - "seleniumVersion": "2", - "formatVersion": 2, - "steps": [ - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "USD" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "USD" - } - }, - { - "type": "waitForTextPresent", - "text": "USA" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-usd']//button[.='Add SnapSwap.us']" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } - }, - { - "type": "waitForTextPresent", - "text": "edit" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "waitForTextPresent", - "text": "Remove" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "Dollar", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - } - ], - "data": { - "configs": {}, - "source": "none" - }, - "inputs": [], - "timeoutSeconds": 420 -} \ No newline at end of file diff --git a/test/selenium/tests-private/CustomGatewaysXAU.json b/test/selenium/tests-private/CustomGatewaysXAU.json deleted file mode 100644 index 2244478ca..000000000 --- a/test/selenium/tests-private/CustomGatewaysXAU.json +++ /dev/null @@ -1,262 +0,0 @@ -{ - "type": "script", - "seleniumVersion": "2", - "formatVersion": 2, - "steps": [ - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "XAU" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "XAU" - } - }, - { - "type": "waitForTextPresent", - "text": "Gold" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-gold']//button[.='Add GBI']" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } - }, - { - "type": "waitForTextPresent", - "text": "edit" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "waitForTextPresent", - "text": "Remove" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "Gold", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - } - ], - "data": { - "configs": {}, - "source": "none" - }, - "inputs": [], - "timeoutSeconds": 420 -} \ No newline at end of file From 55d44a03d0b2e4a377cc3e3e4e718ee13f8207e7 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 7 May 2015 01:15:17 +0300 Subject: [PATCH 296/321] [TEST] e2e: more robust TradeNonXRP test --- test/selenium/tests-private/TradeNonXRP.json | 22 ++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/test/selenium/tests-private/TradeNonXRP.json b/test/selenium/tests-private/TradeNonXRP.json index 019eee8f9..fc7f71086 100644 --- a/test/selenium/tests-private/TradeNonXRP.json +++ b/test/selenium/tests-private/TradeNonXRP.json @@ -212,6 +212,28 @@ "type": "pause", "waitTime": "5000" }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "back" + } + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "pause", + "waitTime": "5000" + }, { "type": "waitForTextPresent", "text": "n/a", From 2499480c5d756cceec25a8267ec13562fb7e829f Mon Sep 17 00:00:00 2001 From: Malika Date: Wed, 6 May 2015 15:47:31 -0700 Subject: [PATCH 297/321] Remove Paxmoneta from Advanced trade tab dropdown (RT-3406) --- deps/gateways.json | 8 -------- src/js/data/currencies.js | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/deps/gateways.json b/deps/gateways.json index f12b1d5f6..f2be009f6 100644 --- a/deps/gateways.json +++ b/deps/gateways.json @@ -154,14 +154,6 @@ }], "hotwallets": [], "domain": "ripple-market.jp" - }, { - "name": "PaxMoneta", - "accounts": [{ - "address": "rUkMKjQitpgAM5WTGk79xpjT38DEJY283d", - "currencies": ["KRW"] - }], - "hotwallets": ["rhLSigWL4J9JBBW1JFMBvaduDkVghG7cc2"], - "domain": "paxmoneta.com" }, { "name": "RippleExchangeTokyo", "accounts": [{ diff --git a/src/js/data/currencies.js b/src/js/data/currencies.js index ce26fb80f..77b8c49b0 100644 --- a/src/js/data/currencies.js +++ b/src/js/data/currencies.js @@ -29,7 +29,7 @@ module.exports = [ {value: 'PLN', name: 'Polish Zloty', display: true, custom_trade_currency_dropdown: false, standard_precision: 2, order: 0}, {value: 'AUD', name: 'Australian Dollar', display: true, custom_trade_currency_dropdown: true, standard_precision: 2, order: 0}, {value: 'MXN', name: 'Mexican Peso', display: true, custom_trade_currency_dropdown: true, standard_precision: 2, order: 0}, - {value: 'KRW', name: 'South Korean Won', display: true, custom_trade_currency_dropdown: true, standard_precision: 2, order: 0}, + {value: 'KRW', name: 'South Korean Won', display: true, custom_trade_currency_dropdown: false, standard_precision: 2, order: 0}, {value: 'TWD', name: 'New Taiwan Dollar', display: true, custom_trade_currency_dropdown: false, standard_precision: 2, order: 0}, {value: 'HKD', name: 'Hong Kong Dollar', display: true, custom_trade_currency_dropdown: false, standard_precision: 2, order: 0}, // Alphabetical from here From 5fdc72194f79d0eda6ba63f4f4772a2f79f22030 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 7 May 2015 05:49:18 +0300 Subject: [PATCH 298/321] [TEST] e2e: better TradeNonXRP and TradeXRP tests --- test/selenium/tests-private/TradeNonXRP.json | 12 ++++++------ test/selenium/tests-private/TradeXRP.json | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/test/selenium/tests-private/TradeNonXRP.json b/test/selenium/tests-private/TradeNonXRP.json index fc7f71086..e9d542036 100644 --- a/test/selenium/tests-private/TradeNonXRP.json +++ b/test/selenium/tests-private/TradeNonXRP.json @@ -186,7 +186,7 @@ "text": "0.00001", "locator": { "type": "css selector", - "value": "div[data-label='QTY']" + "value": ".my .row:nth-child(2) div[data-label='QTY']" } }, { @@ -194,7 +194,7 @@ "text": "1,234", "locator": { "type": "css selector", - "value": "div[data-label='Limit']" + "value": ".my .row:nth-child(2) div[data-label='Limit']" } }, { @@ -283,7 +283,7 @@ "text": "1,233", "locator": { "type": "css selector", - "value": "div[data-label='Limit']" + "value": ".my .row:nth-child(2) div[data-label='Limit']" } }, { @@ -291,7 +291,7 @@ "text": "0.00001", "locator": { "type": "css selector", - "value": "div[data-label='QTY']" + "value": ".my .row:nth-child(2) div[data-label='QTY']" } }, @@ -353,7 +353,7 @@ "text": "0.00002", "locator": { "type": "css selector", - "value": "div[data-label='QTY']" + "value": ".my .row:nth-child(2) div[data-label='QTY']" } }, { @@ -361,7 +361,7 @@ "text": "1,233", "locator": { "type": "css selector", - "value": "div[data-label='Limit']" + "value": ".my .row:nth-child(2) div[data-label='Limit']" } }, diff --git a/test/selenium/tests-private/TradeXRP.json b/test/selenium/tests-private/TradeXRP.json index 77c83da44..c5583bfc5 100644 --- a/test/selenium/tests-private/TradeXRP.json +++ b/test/selenium/tests-private/TradeXRP.json @@ -171,7 +171,7 @@ "text": "0.001", "locator": { "type": "css selector", - "value": "div[data-label='QTY']" + "value": ".my .row:nth-child(2) div[data-label='QTY']" } }, { @@ -179,7 +179,7 @@ "text": "1,234", "locator": { "type": "css selector", - "value": "div[data-label='Limit']" + "value": ".my .row:nth-child(2) div[data-label='Limit']" } }, { @@ -242,7 +242,7 @@ "text": "12,334", "locator": { "type": "css selector", - "value": "div[data-label='Limit']" + "value": ".my .row:nth-child(2) div[data-label='Limit']" } }, { @@ -250,7 +250,7 @@ "text": "0.001", "locator": { "type": "css selector", - "value": "div[data-label='QTY']" + "value": ".my .row:nth-child(2) div[data-label='QTY']" } }, @@ -310,7 +310,7 @@ "text": "0.002", "locator": { "type": "css selector", - "value": "div[data-label='QTY']" + "value": ".my .row:nth-child(2) div[data-label='QTY']" } }, { @@ -318,7 +318,7 @@ "text": "12,334", "locator": { "type": "css selector", - "value": "div[data-label='Limit']" + "value": ".my .row:nth-child(2) div[data-label='Limit']" } }, From 462a067cfee6321184a58fe45789591a3d91a700 Mon Sep 17 00:00:00 2001 From: Hovhannes Kuloghlyan Date: Fri, 8 May 2015 02:28:04 +0400 Subject: [PATCH 299/321] [FIX] Prevent lodash overwriting underscore RT-3407 Include underscore after other libs to prevent lodash overwriting '_' variable which is intended for underscore --- src/js/tabs/send.controller.js | 2 +- src/templates/index.jade | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/js/tabs/send.controller.js b/src/js/tabs/send.controller.js index a169e142d..63abc78bb 100644 --- a/src/js/tabs/send.controller.js +++ b/src/js/tabs/send.controller.js @@ -503,7 +503,7 @@ SendTab.prototype.angular = function (module) if (currencies.length === 1) { send.currency = send.currency_force = currencies[0]; - send.currencyIsBTC = _.startsWith(send.currency_force, 'BTC'); + send.currencyIsBTC = (send.currency_force.indexOf('BTC') === 0); } else if (currencies.length === 0) { send.path_status = 'error-no-currency'; send.currency = ''; diff --git a/src/templates/index.jade b/src/templates/index.jade index 7575a5f79..c3548f2c6 100644 --- a/src/templates/index.jade +++ b/src/templates/index.jade @@ -69,7 +69,6 @@ html(ng-app='rp', ng-controller='AppCtrl', ng-class='[$route.current.tabClass, $ script(src='../../deps/js/authy.js') script(src='../../deps/js/swfobject.js') script(src='../../deps/js/setImmediate.js') - script(src='../../deps/js/underscore/underscore.js') script(src='../../deps/js/downloadify.js') script(src='../../deps/js/angular/angular.js') script(src='../../deps/js/angular-route/angular-route.js') @@ -89,6 +88,7 @@ html(ng-app='rp', ng-controller='AppCtrl', ng-class='[$route.current.tabClass, $ script(src='../../deps/js/snapjs/snap.js') script(src='../../deps/js/ng-sortable/dist/ng-sortable.js') script(src='../../deps/js/charts/pricechart.js') + script(src='../../deps/js/underscore/underscore.js') script(src='../../deps/js/roost.min.js') // endbuild From c12baefa7c2a12d25bfcc4bde4ac69a26904284e Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Thu, 7 May 2015 16:43:52 -0700 Subject: [PATCH 300/321] Bump version to 1.4.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1f9e9ade9..f022ff50c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ripple-client", - "version": "1.4.0-4", + "version": "1.4.1", "description": "Trade client for the Ripple payment network", "author": { "name": "Ripple Labs, Inc.", From 36b2663f5031549a4a77aee15feb676de095e822 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 5 May 2015 23:11:59 +0300 Subject: [PATCH 301/321] [FIX] Trade: Show loading for orderbooks(RT-3402) Orderbook: Show loading instead of "no bids" --- src/templates/tabs/trade.jade | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/templates/tabs/trade.jade b/src/templates/tabs/trade.jade index d7cd9fec5..e5df46c91 100644 --- a/src/templates/tabs/trade.jade +++ b/src/templates/tabs/trade.jade @@ -652,7 +652,10 @@ section.col-xs-12.content(ng-controller="TradeCtrl") .col-xs-4.rpamount.price a(href="", ng-click="fill_widget('sell', order, true)", ng-bind="order.showPrice") - .message(ng-show='!bookShow.bids.length', l10n) There are currently no bids for this pair. + .message(ng-show='!bookShow.bids.length && book.ready', l10n) There are currently no bids for this pair. + .description(ng-show="!book.ready && !bookShow.bids.length") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... .asks.col-xs-12.col-lg-6 .title(l10n) Asks @@ -689,7 +692,11 @@ section.col-xs-12.content(ng-controller="TradeCtrl") ng-click="fill_widget('buy', order, true)") span(rp-bind-color-amount="order.showSum") - .message(ng-show='!bookShow.asks.length', l10n) There are currently no asks for this pair. + .message(ng-show='!bookShow.asks.length && book.ready', l10n) There are currently no asks for this pair. + .description(ng-show="!book.ready && !bookShow.asks.length") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... + .foot a.loadmore(ng-show="orderbookState=='ready' && (bookShow.asks.length || bookShow.bids.length)", href="", ng-click="loadMore()", l10n) Load more div(ng-show="orderbookState=='full'", l10n) No more orders From 3c20fd9a6a9adce84699c64a8b96f00040bdb557 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Wed, 6 May 2015 23:42:26 +0300 Subject: [PATCH 302/321] [FIX] center loading text (RT-3402) --- src/templates/tabs/trade.jade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/templates/tabs/trade.jade b/src/templates/tabs/trade.jade index e5df46c91..40c186d56 100644 --- a/src/templates/tabs/trade.jade +++ b/src/templates/tabs/trade.jade @@ -653,7 +653,7 @@ section.col-xs-12.content(ng-controller="TradeCtrl") a(href="", ng-click="fill_widget('sell', order, true)", ng-bind="order.showPrice") .message(ng-show='!bookShow.bids.length && book.ready', l10n) There are currently no bids for this pair. - .description(ng-show="!book.ready && !bookShow.bids.length") + .message(ng-show="!book.ready && !bookShow.bids.length") img(src="img/button-s.png", class="loader") span(class="loading_text", l10n) Loading... @@ -693,7 +693,7 @@ section.col-xs-12.content(ng-controller="TradeCtrl") span(rp-bind-color-amount="order.showSum") .message(ng-show='!bookShow.asks.length && book.ready', l10n) There are currently no asks for this pair. - .description(ng-show="!book.ready && !bookShow.asks.length") + .message(ng-show="!book.ready && !bookShow.asks.length") img(src="img/button-s.png", class="loader") span(class="loading_text", l10n) Loading... From f25e335da7deab9346643160bd5a2b8731f02fd9 Mon Sep 17 00:00:00 2001 From: Yong-Soo Chung Date: Fri, 8 May 2015 07:39:30 -0400 Subject: [PATCH 303/321] [TASK] Trust: Filter out and hide insignificant trustlines (RT-3373) --- src/js/controllers/app.controller.js | 24 ++++++++++++++---------- src/js/tabs/trust.controller.js | 13 ++++++++----- src/templates/tabs/trust.jade | 2 +- 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/src/js/controllers/app.controller.js b/src/js/controllers/app.controller.js index 8f3df8445..d6737424b 100644 --- a/src/js/controllers/app.controller.js +++ b/src/js/controllers/app.controller.js @@ -157,6 +157,7 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, } } + function handleRippleLines(data) { $scope.$apply(function () { @@ -165,7 +166,7 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, for (var n = 0, l = data.lines.length; n < l; n++) { var line = data.lines[n]; - if (isSignificantLine(line)) { + if ($scope.isSignificantLine(line)) { // XXX: This reinterpretation of the server response should be in the // library upstream. line = $.extend({}, line, { @@ -446,15 +447,6 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, } } - // Current user doesn't care about a line where he/she's in a default state, - // limits are zero but the counterparty is not in a default state (has a non default flag) - function isSignificantLine(line) { - var DefaultRipple = $scope.account.Flags & ripple.Remote.flags.account_root.DefaultRipple; - - return line.balance !== 0 || line.limit !== 0 || line.limit_peer !== 0 - || DefaultRipple === line.no_ripple; - } - function updateLines(effects) { if (!$.isArray(effects)) return; @@ -574,6 +566,18 @@ function AppCtrl ($scope, id, net, keychain, txQueue, appManager, rpTracker, }); }); } + // Current user doesn't care about a line where he/she's in a default state, + // limits are zero but the counterparty is not in a default state (has a non default flag) + $scope.isSignificantLine = function(line) { + var DefaultRipple = $scope.account.Flags & ripple.Remote.flags.account_root.DefaultRipple; + + if (typeof line.balance === 'object') { + return !line.balance.is_zero() || !line.limit.is_zero() || !line.limit_peer.is_zero() + || $scope.acctDefaultRippleFlag === line.no_ripple; + } + return line.balance !== 0 || line.limit !== 0 || line.limit_peer !== 0 + || DefaultRipple === line.no_ripple; + } /** * Integrations diff --git a/src/js/tabs/trust.controller.js b/src/js/tabs/trust.controller.js index 30a5efefe..7bb2fab45 100644 --- a/src/js/tabs/trust.controller.js +++ b/src/js/tabs/trust.controller.js @@ -67,7 +67,7 @@ TrustTab.prototype.angular = function (module) // User should not even be able to try granting a trust if the reserve is insufficient $scope.$watch('account', function() { // Check if account has DefaultRipple flag set - $scope.acctDefaultRippleFlag = ($scope.account.Flags & ripple.Remote.flags.account_root.DefaultRipple) + $scope.acctDefaultRippleFlag = ($scope.account.Flags & ripple.Remote.flags.account_root.DefaultRipple); $scope.can_add_trust = false; if ($scope.account.Balance && $scope.account.reserve_to_add_trust) { @@ -325,11 +325,14 @@ TrustTab.prototype.angular = function (module) var obj = {}; _.each($scope.lines, function(line){ - if (!obj[line.currency]) { - obj[line.currency] = { components: [] }; - } - obj[line.currency].components.push(line); + if ($scope.isSignificantLine(line)) { + if (!obj[line.currency]) { + obj[line.currency] = { components: [] }; + } + + obj[line.currency].components.push(line); + } }); $scope.accountLines = obj; diff --git a/src/templates/tabs/trust.jade b/src/templates/tabs/trust.jade index 482fc712f..820b6674b 100644 --- a/src/templates/tabs/trust.jade +++ b/src/templates/tabs/trust.jade @@ -56,7 +56,7 @@ section.col-xs-12.content(ng-controller="TrustCtrl") | to add a new trust line. a(href="https://ripple.com/wiki/Reserves", target="_blank") More information .row(ng-show='connected') - .col-sm-9.trust-menu + .trust-menu .row.row-padding-small.head(ng-hide='true') .col-sm-5(l10n) Name / Address .col-sm-2 From 1312a3d6cefddf569aabf0fe7f4e3ce79cb1ad61 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Fri, 8 May 2015 09:09:22 -0700 Subject: [PATCH 304/321] Hotfix 1.4.1-1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f022ff50c..cffcea3c8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ripple-client", - "version": "1.4.1", + "version": "1.4.1-1", "description": "Trade client for the Ripple payment network", "author": { "name": "Ripple Labs, Inc.", From 89b8b2880b04e2c3f01b9f586e6e537418b8a31d Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Sat, 9 May 2015 01:46:58 +0300 Subject: [PATCH 305/321] [FIX] btc2ripple right error message (RT-3412) fix error message on add btc2ripple confirm dialog if email is already in use --- src/templates/tabs/btc.jade | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/templates/tabs/btc.jade b/src/templates/tabs/btc.jade index eb71cffbe..74debe1ba 100644 --- a/src/templates/tabs/btc.jade +++ b/src/templates/tabs/btc.jade @@ -82,9 +82,12 @@ section.col-xs-12.content(ng-controller='BtcCtrl') span(ng-hide="loading", l10n) Confirm button.modal-btn.btn.btn-default.btn-link.btn-cancel(data-dismiss="modal" ng-hide="loading", l10n) cancel - span.modal-error(ng-show="emailError", l10n) + span.modal-error(ng-show="generalError", l10n) | SnapSwap's btc2ripple service is currently unavailable. | Please check back later. + div.modal-error(ng-show="emailError", l10n) + | You’ve already used this email address to generate a bitcoin receiving address in Ripple Trade. + | Please contact support@btc2ripple.com if you want to use this Ripple Trade account instead. button.btn.btn-primary(ng-show="!btcConnected && loading", ng-disabled="loading", l10n) Adding... button.btn.btn-block.btn-primary(ng-show="showInstructions && btcConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions button.btn.btn-block.btn-primary(ng-show="btcConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions From 72699f663756e3d8adebb05a58de19e3a28f14ef Mon Sep 17 00:00:00 2001 From: Malika Date: Mon, 11 May 2015 09:55:46 -0700 Subject: [PATCH 306/321] [FIX] Wrong bitstamp text on BTC page (RT-3420) --- src/templates/tabs/btc.jade | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/templates/tabs/btc.jade b/src/templates/tabs/btc.jade index 74debe1ba..9d31d9c27 100644 --- a/src/templates/tabs/btc.jade +++ b/src/templates/tabs/btc.jade @@ -157,7 +157,7 @@ section.col-xs-12.content(ng-controller='BtcCtrl') .row.fund-tab-description .col-xs-12.col-md-8.col-lg-6 - .descriptor(ng-show="!btcConnected", l10n) Ripple Trade has partnered with Bitstamp to provide easier access to USD. Following this action will enable Bitstamp to hold USD on your behalf. + .descriptor(ng-show="!btcConnected", l10n) Ripple Trade has partnered with Bitstamp to provide easier access to BTC. Following this action will enable Bitstamp to hold BTC on your behalf. .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 @@ -194,11 +194,9 @@ section.col-xs-12.content(ng-controller='BtcCtrl') li p(l10n) International wire transfer (.05% deposit fee on our side (minimum fee = $7.5) and 2 - 5 business days to credit) li - p(l10n) SEPA (All funds transferred in EUR will be converted to USD, free of charge. 1-3 business days) + p(l10n) SEPA (1-3 business days) li p(l10n) AstroPay (instantly from available countries) - li - p(l10n) Bitcoin .title(l10n) WITHDRAWAL OPTIONS .description(l10n) @@ -207,7 +205,6 @@ section.col-xs-12.content(ng-controller='BtcCtrl') p(l10n) International wire transfer (.09% fee on our side (minimum fee = $15) and 2 - 5 business days) li p(l10n) SEPA (1-3 business days) - li - p(l10n) Bitcoin + .description If you have any questions, please feel free to contact Bitstamp at a(href="support@bitstamp.net", target="_blank") support@bitstamp.net From 057cc22cdfad5ce9e2cfc7899664700ff22f41af Mon Sep 17 00:00:00 2001 From: Malika Date: Mon, 11 May 2015 10:17:54 -0700 Subject: [PATCH 307/321] [FIX] USD and BTC gateway pages (RT-3422) --- src/js/tabs/btc.controller.js | 6 +++--- src/js/tabs/usd.controller.js | 6 +++--- src/templates/tabs/btc.jade | 16 ++++++++-------- src/templates/tabs/usd.jade | 16 ++++++++-------- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/js/tabs/btc.controller.js b/src/js/tabs/btc.controller.js index 0f60ac5f4..811e9373e 100644 --- a/src/js/tabs/btc.controller.js +++ b/src/js/tabs/btc.controller.js @@ -192,7 +192,7 @@ BtcTab.prototype.angular = function (module) console.warn('Unhandled engine status encountered!'); } if ($scope.btc_tx_result=="cleared"){ - $scope.btcConnected = true; + $scope.btc2Connected = true; $scope.showBtcInstructions = true; } @@ -219,10 +219,10 @@ BtcTab.prototype.angular = function (module) $scope.$watch('lines', function () { if($scope.lines['rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59BBTC']){ - $scope.btcConnected = true; + $scope.btc2Connected = true; } else { - $scope.btcConnected = false; + $scope.btc2Connected = false; } }, true); diff --git a/src/js/tabs/usd.controller.js b/src/js/tabs/usd.controller.js index 8e0eaa31d..6f260742d 100644 --- a/src/js/tabs/usd.controller.js +++ b/src/js/tabs/usd.controller.js @@ -206,7 +206,7 @@ UsdTab.prototype.angular = function (module) console.warn('Unhandled engine status encountered!'); } if ($scope.usd_tx_result=="cleared"){ - $scope.usdConnected = true; + $scope.usd2Connected = true; $scope.showUsdInstructions = true; } @@ -240,10 +240,10 @@ UsdTab.prototype.angular = function (module) $scope.usdConnected = false; } if($scope.lines['rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59BUSD']){ - $scope.usdConnected = true; + $scope.usd2Connected = true; } else { - $scope.usdConnected = false; + $scope.usd2Connected = false; } }, true); diff --git a/src/templates/tabs/btc.jade b/src/templates/tabs/btc.jade index 9d31d9c27..6dd9fca04 100644 --- a/src/templates/tabs/btc.jade +++ b/src/templates/tabs/btc.jade @@ -157,24 +157,24 @@ section.col-xs-12.content(ng-controller='BtcCtrl') .row.fund-tab-description .col-xs-12.col-md-8.col-lg-6 - .descriptor(ng-show="!btcConnected", l10n) Ripple Trade has partnered with Bitstamp to provide easier access to BTC. Following this action will enable Bitstamp to hold BTC on your behalf. + .descriptor(ng-show="!btc2Connected", l10n) Ripple Trade has partnered with Bitstamp to provide easier access to BTC. Following this action will enable Bitstamp to hold BTC on your behalf. .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large.btn-primary(ng-show="!btcConnected && !btcLoading && loadState.account", type="submit", ng-click="save_btc_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Bitstamp - button.btn.btn-large.btn-primary(ng-show="!btcConnected && btcLoading", type="submit", ng-disabled="btcLoading", l10n) Adding... - button.btn.btn-large.btn-primary(ng-show="showBtcInstructions && btcConnected", type="submit", ng-click="toggle_btc_instructions()", l10n) Hide instructions - button.btn.btn-large.btn-primary(ng-show="btcConnected && !showBtcInstructions", type="submit", ng-click="toggle_btc_instructions()", l10n) Show instructions + button.btn.btn-large.btn-primary(ng-show="!btc2Connected && !btcLoading && loadState.account", type="submit", ng-click="save_btc_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Bitstamp + button.btn.btn-large.btn-primary(ng-show="!btc2Connected && btcLoading", type="submit", ng-disabled="btcLoading", l10n) Adding... + button.btn.btn-large.btn-primary(ng-show="showBtcInstructions && btc2Connected", type="submit", ng-click="toggle_btc_instructions()", l10n) Hide instructions + button.btn.btn-large.btn-primary(ng-show="btc2Connected && !showBtcInstructions", type="submit", ng-click="toggle_btc_instructions()", l10n) Show instructions .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="btcLoading") - .description.fa.fa-times(ng-show="!btcConnected && account.Balance", l10n) Not connected - .description.fa.fa-check(ng-show="btcConnected && account.Balance", l10n) Connected + .description.fa.fa-times(ng-show="!btc2Connected && account.Balance", l10n) Not connected + .description.fa.fa-check(ng-show="btc2Connected && account.Balance", l10n) Connected .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. .description(ng-show="!loadState.account") img(src="img/button-s.png", class="loader") span(class="loading_text", l10n) Loading... - .row(ng-show="showBtcInstructions && btcConnected") + .row(ng-show="showBtcInstructions && btc2Connected") .instructions.col-md-10 a.dismiss(href="", id="hide", ng-click="toggle_btc_instructions()", l10n) × .title(l10n) NEW CUSTOMERS- SIGN UP AT BITSTAMP diff --git a/src/templates/tabs/usd.jade b/src/templates/tabs/usd.jade index 5bfa84691..a3a0808f0 100644 --- a/src/templates/tabs/usd.jade +++ b/src/templates/tabs/usd.jade @@ -134,24 +134,24 @@ section.col-xs-12.content(ng-controller='UsdCtrl') .row.fund-tab-description .col-xs-12.col-md-8.col-lg-6 - .descriptor(ng-show="!usdConnected", l10n) Ripple Trade has partnered with Bitstamp to provide easier access to USD. Following this action will enable Bitstamp to hold USD on your behalf. + .descriptor(ng-show="!usd2Connected", l10n) Ripple Trade has partnered with Bitstamp to provide easier access to USD. Following this action will enable Bitstamp to hold USD on your behalf. .row.fund-tab-description .col-xs-7.col-sm-5.col-md-4 - button.btn.btn-large.btn-primary(ng-show="!usdConnected && !usdLoading && loadState.account", type="submit", ng-click="save_usd_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Bitstamp - button.btn.btn-large.btn-primary(ng-show="!usdConnected && usdLoading", type="submit", ng-disabled="usdLoading", l10n) Adding... - button.btn.btn-large.btn-primary(ng-show="showUsdInstructions && usdConnected", type="submit", ng-click="toggle_usd_instructions()", l10n) Hide instructions - button.btn.btn-large.btn-primary(ng-show="usdConnected && !showUsdInstructions", type="submit", ng-click="toggle_usd_instructions()", l10n) Show instructions + button.btn.btn-large.btn-primary(ng-show="!usd2Connected && !usdLoading && loadState.account", type="submit", ng-click="save_usd_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Bitstamp + button.btn.btn-large.btn-primary(ng-show="!usd2Connected && usdLoading", type="submit", ng-disabled="usdLoading", l10n) Adding... + button.btn.btn-large.btn-primary(ng-show="showUsdInstructions && usd2Connected", type="submit", ng-click="toggle_usd_instructions()", l10n) Hide instructions + button.btn.btn-large.btn-primary(ng-show="usd2Connected && !showUsdInstructions", type="submit", ng-click="toggle_usd_instructions()", l10n) Show instructions .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="usdLoading") - .description.fa.fa-times(ng-show="!usdConnected && account.Balance", l10n) Not connected - .description.fa.fa-check(ng-show="usdConnected && account.Balance", l10n) Connected + .description.fa.fa-times(ng-show="!usd2Connected && account.Balance", l10n) Not connected + .description.fa.fa-check(ng-show="usd2Connected && account.Balance", l10n) Connected .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. .description(ng-show="!loadState.account") img(src="img/button-s.png", class="loader") span(class="loading_text", l10n) Loading... - .row(ng-show="showUsdInstructions && usdConnected") + .row(ng-show="showUsdInstructions && usd2Connected") .instructions.col-md-10 a.dismiss(href="", id="hide", ng-click="toggle_usd_instructions()", l10n) × .title(l10n) NEW CUSTOMERS- SIGN UP AT BITSTAMP From 8c50d2b85e7a9497f98f5b1c6065fa0174f5843b Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Mon, 11 May 2015 17:29:55 -0700 Subject: [PATCH 308/321] [TASK] Readme: Add reddit user community link From a closed PR --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d3a0aef96..097f8dbb7 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,7 @@ Keep track of development and community news. - Follow [@RippleLabs on Twitter](https://twitter.com/ripplelabs) - Like [Ripple Labs on Facebook](https://facebook.com/ripplelabs) - Subscribe to [@Ripple on Reddit](http://www.reddit.com/r/Ripple) +- Subscribe to [the Ripple user community on Reddit](http://www.reddit.com/r/Ripplers) - Have a question that's not a feature request or bug report? Send a message to [support@ripple.com](mailto:support@ripple.com) - Chat directly with our engineers! Join us [here](https://gitter.im/ripple/developers). From 15d11ce2640ece40b564831dec9a232ade472aa2 Mon Sep 17 00:00:00 2001 From: Vahe Hovhannisyan Date: Tue, 12 May 2015 12:12:11 -0700 Subject: [PATCH 309/321] Bump version to 1.4.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cffcea3c8..5f76c0a5f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ripple-client", - "version": "1.4.1-1", + "version": "1.4.2", "description": "Trade client for the Ripple payment network", "author": { "name": "Ripple Labs, Inc.", From e69f8885115b3b1a2743e074106b6b0cef99d916 Mon Sep 17 00:00:00 2001 From: Jublo Date: Tue, 19 May 2015 19:52:19 +0200 Subject: [PATCH 310/321] Update README: current URLs for issues and clients --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 097f8dbb7..9f4e2acf9 100644 --- a/README.md +++ b/README.md @@ -37,11 +37,11 @@ Your web client is in the 'build/dist/' directory. ### Target backend By default, the [ripple.txt](https://wiki.ripple.com/Ripple.txt) file is pointed at the staging server. -__This means you will only be able to log in on your dev environment with an account created on [staging.ripple.com/client](https://staging.ripple.com/client).__ +__This means you will only be able to log in on your dev environment with an account created on [staging.rippletrade.com](https://staging.rippletrade.com).__ If you want to point your environment at the production server: - set the authinfo_url in ripple.txt (in the root of the repo directory) to: `https://id.ripple.com/v1/authinfo` (make sure to rebuild + clear browser cache) -- set the `activate_link` property in config.js to `http://ripple.com/client/#/register/activate` +- set the `activate_link` property in config.js to `https://rippletrade.com/#/register/activate` ## Directory Layout @@ -69,7 +69,7 @@ Stay tuned... ## Reporting Bugs -Have a bug or a feature request? [Please create a new issue](https://ripplelabs.atlassian.net/browse/WC). Before opening any issue, please search for [existing issues](https://ripplelabs.atlassian.net/browse/WC-1193?jql=project%20%3D%20WC) and read the [Issue Guidelines](https://github.com/rippleFoundation/ripple-client/blob/develop/CONTRIBUTING.md), written by [Nicolas Gallagher](https://github.com/necolas/). +Have a bug or a feature request? [Please create a new issue](https://ripplelabs.atlassian.net/browse/RT). Before opening any issue, please search for [existing issues](https://ripplelabs.atlassian.net/issues/?jql=project%20%3D%20RT) and read the [Issue Guidelines](https://github.com/ripple/ripple-client/blob/develop/CONTRIBUTING.md), written by [Nicolas Gallagher](https://github.com/necolas/). ## Contributing From f16dbaaa6add73fdd7ef1fbc7d2ade90e29bd2fe Mon Sep 17 00:00:00 2001 From: "J.M" Date: Tue, 19 May 2015 20:08:08 +0200 Subject: [PATCH 311/321] Update localizations --- l10n/de/messages.po | 414 ++++++++++++++++++++--------------------- l10n/fr_FR/messages.po | 198 ++++++++++---------- l10n/ja/messages.po | 32 ++-- l10n/ru/messages.po | 2 +- 4 files changed, 323 insertions(+), 323 deletions(-) diff --git a/l10n/de/messages.po b/l10n/de/messages.po index ce064849f..3b2a06433 100644 --- a/l10n/de/messages.po +++ b/l10n/de/messages.po @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: Ripple Trade\n" -"PO-Revision-Date: 2015-01-24 17:46+0000\n" +"PO-Revision-Date: 2015-04-04 14:08+0000\n" "Last-Translator: J.M. \n" "Language-Team: German (http://www.transifex.com/projects/p/ripple-trade/language/de/)\n" "MIME-Version: 1.0\n" @@ -1174,39 +1174,39 @@ msgstr "NEUKUNDEN- BEI RIPPEX REGISTRIEREN" msgid "" "{{1}} at Rippex.net to initiate deposits and withdrawals. You will " "need:{{2}}" -msgstr "" +msgstr "{{1}} Sie sich auf Rippex.net, um Ein- und Auszahlungen einzurichten. Sie brauchen:{{2}}" #: src/jade/tabs/brl.jade:90 msgid "A {{1}}" -msgstr "" +msgstr "Einen {{1}}" #: src/jade/tabs/brl.jade:92 msgid "A bank account in Brazil." -msgstr "" +msgstr "Ein Bankkonto in Brasilien." #: src/jade/tabs/brl.jade:96 msgid "EXISTING RIPPEX CUSTOMERS" -msgstr "" +msgstr "EXISTIERENDE RIPPEX-KUNDEN" #: src/jade/tabs/brl.jade:97 msgid "If you have a Rippex account, {{1}}" -msgstr "" +msgstr "Falls Sie ein Rippex-Konto haben, {{1}}" #: src/jade/tabs/brl.jade:100 msgid "DEPOSIT INSTRUCTIONS" -msgstr "" +msgstr "EINZAHLUNGS-ANWEISUNGEN" #: src/jade/tabs/brl.jade:101 msgid "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" -msgstr "" +msgstr "Rippex akzeptiert Einzahlungen von allen brasilianischen Banken. Anweisungen {{1}}" #: src/jade/tabs/btc.jade:19 msgid "Success! You can deposit BTC via your generated BTC receiving address." -msgstr "" +msgstr "Erfolg! Sie können BTC über Ihre generierte BTC-Empfangsadresse einzahlen." #: src/jade/tabs/btc.jade:21 msgid "There was an error with your request. {{1}}" -msgstr "" +msgstr "Ein Fehler mit Ihrer Anfrage ist aufgetreten. {{1}}" #: src/jade/tabs/btc.jade:30 msgid "Bitcoin Deposit" @@ -1214,27 +1214,27 @@ msgstr "Bitcoin-Guthaben" #: src/jade/tabs/btc.jade:36 msgid "btc2ripple (~snapswap) {{1}}" -msgstr "" +msgstr "btc2ripple (~snapswap) {{1}}" #: src/jade/tabs/btc.jade:40 src/jade/tabs/gold.jade:45 #: src/jade/tabs/jpy.jade:46 msgid "All countries" -msgstr "" +msgstr "Alle Länder" #: src/jade/tabs/btc.jade:43 src/jade/tabs/mxn.jade:50 msgid "0%" -msgstr "" +msgstr "0%" #: src/jade/tabs/btc.jade:50 msgid "" "Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By" " proceeding, you agree to the btc2ripple {{1}} Following this action will " "allow btc2ripple to hold BTC on your behalf." -msgstr "" +msgstr "Ripple Trade und btc2ripple sind Partner, um Einzahlungen von BTC einfacher zu machen. Indem Sie fortfahren, akzeptieren Sie die {{1}} von btc2ripple. Btc2ripple kann dann BTC in Ihrem Auftrag halten." #: src/jade/tabs/btc.jade:56 msgid "Add btc2ripple" -msgstr "" +msgstr "btc2ripple hinzufügen" #: src/jade/tabs/btc.jade:60 src/jade/tabs/security.jade:64 #: src/jade/tabs/trust.jade:123 @@ -1247,7 +1247,7 @@ msgstr "btc2ripple möchte gern:" #: src/jade/tabs/btc.jade:64 msgid "- Receive your email address {{1}}" -msgstr "" +msgstr "- Ihre E-Mail-Adresse erhalten {{1}}" #: src/jade/tabs/btc.jade:65 msgid "({{userBlob.data.email}})" @@ -1269,21 +1269,21 @@ msgstr "SnapSwap's btc2ripple-Service ist im Moment nicht verfügbar. Bitte vers #: src/jade/tabs/btc.jade:94 msgid "Personal Deposit address" -msgstr "" +msgstr "Persönliche Einzahlungsadresse" #: src/jade/tabs/btc.jade:96 msgid "Your account is fully verified." -msgstr "" +msgstr "Ihr Konto ist vollständig bestätigt." #: src/jade/tabs/btc.jade:104 msgid "Withdrawal instructions" -msgstr "" +msgstr "Abhebungsanweisungen" #: src/jade/tabs/btc.jade:105 msgid "" "To withdraw to a BTC address, go to the Send tab and enter the BTC address. " "Using the btc2ripple service, you will be able tosend to that BTC address." -msgstr "" +msgstr "Um an eine BTC-Adresse Guthaben abzuheben, gehen Sie zum Tab „Senden“ und geben Sie die BTC-Adresse ein. Über den btc2ripple-Dienst können Sie an diese BTC-Adresse senden." #: src/jade/tabs/btc.jade:110 msgid "Waiting for response from SnapSwap service..." @@ -1297,15 +1297,15 @@ msgstr "Zur Einzahlung erzeugen Sie eine Bitcoin-Empfänger-Adresse mit dem {{1} #: src/jade/tabs/contacts.jade:8 msgid "A new contact has been successfully added." -msgstr "" +msgstr "Ein neuer Kontakt wurde erfolgreich hinzugefügt." #: src/jade/tabs/contacts.jade:9 msgid "Your contact has been successfully updated." -msgstr "" +msgstr "Ihr Kontakt wurde erfolgreich aktualisiert." #: src/jade/tabs/contacts.jade:10 msgid "A contact has been successfully removed." -msgstr "" +msgstr "Ein Kontakt wurde erfolgreich entfernt." #: src/jade/tabs/contacts.jade:12 src/jade/tabs/contacts.jade:24 msgid "Contact" @@ -1350,7 +1350,7 @@ msgstr "Zielmarker" #: src/jade/tabs/contacts.jade:42 msgid "Leave blank if not applicable" -msgstr "" +msgstr "Leer lassen, falls nicht anwendbar" #: src/jade/tabs/contacts.jade:44 src/jade/tabs/send.jade:46 msgid "Invalid destination tag" @@ -1380,88 +1380,88 @@ msgstr "Sie haben noch keine Kontakte. Klicken Sie auf die Schaltfläche 'Kontak #: src/jade/tabs/debug.jade:9 msgid "Enter a Ripple name or address" -msgstr "" +msgstr "Geben Sie einen Ripple-Namen oder eine Adresse ein" #: src/jade/tabs/debug.jade:13 msgid "Please enter an address." -msgstr "" +msgstr "Bitte geben Sie eine Adresse an." #: src/jade/tabs/debug.jade:17 msgid "Turn on debug mode" -msgstr "" +msgstr "Debug-Modus einschalten" #: src/jade/tabs/eur.jade:35 msgid "Euro Deposit" -msgstr "" +msgstr "Euro-Guthaben" #: src/jade/tabs/eur.jade:39 msgid "SnapSwap EU (~SnapSwap){{1}}{{2}}" -msgstr "" +msgstr "SnapSwap EU (~SnapSwap){{1}}{{2}}" #: src/jade/tabs/eur.jade:45 msgid "All countries, except USA" -msgstr "" +msgstr "Alle Länder außer den USA" #: src/jade/tabs/eur.jade:49 msgid "€ 0.31 – € 15.00" -msgstr "" +msgstr "€ 0,31 – € 15,00" #: src/jade/tabs/eur.jade:59 msgid "" "Ripple Trade has partnered with SnapSwap to provide easier access to EUR. " "Following this action will enable SnapSwap to hold EUR on your behalf." -msgstr "" +msgstr "Ripple Trade und SnapSwap sind Partner, um einfacheren Zugriff auf EUR anzubieten. Indem Sie fortfahren, erlauben Sie SnapSwap, EUR in Ihrem Auftrag zu halten." #: src/jade/tabs/eur.jade:69 src/jade/tabs/usd.jade:66 msgid "Not connected" -msgstr "" +msgstr "Nicht verbunden" #: src/jade/tabs/eur.jade:70 src/jade/tabs/usd.jade:67 msgid "Connected" -msgstr "" +msgstr "Verbunden" #: src/jade/tabs/eur.jade:76 msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.EU" -msgstr "" +msgstr "NEUKUNDEN- BEI SNAPSWAP.EU REGISTRIEREN" #: src/jade/tabs/eur.jade:77 msgid "Register and verify your account at SnapSwap EU. You will need: {{1}}" -msgstr "" +msgstr "Registrieren und bestätigen Sie Ihr Konto bei SnapSwap EU. Sie brauchen: {{1}}" #: src/jade/tabs/eur.jade:81 src/jade/tabs/usd.jade:78 msgid "" "A valid government-issued ID: driver license, passport, ID card, or visa " "stamp." -msgstr "" +msgstr "Eine gültige von den Behörden ausgestellte ID: Führerschein, Reisepass, Personalausweis oder Visum mit Stempel." #: src/jade/tabs/eur.jade:83 src/jade/tabs/usd.jade:80 msgid "A proof of address: driver license, utility bill, bank statement, etc." -msgstr "" +msgstr "Ein Adressnachweis: Führerschein, Rechnung, Kontoauszug der Bank, usw." #: src/jade/tabs/eur.jade:85 msgid "EXISTING SNAPSWAP EU CUSTOMERS" -msgstr "" +msgstr "BESTEHENDE SNAPSWAP EU KUNDEN" #: src/jade/tabs/eur.jade:89 src/jade/tabs/jpy.jade:94 #: src/jade/tabs/usd.jade:86 msgid "Login to your account {{1}}" -msgstr "" +msgstr "Melden Sie sich bei Ihrem Konto an {{1}}" #: src/jade/tabs/eur.jade:92 src/jade/tabs/jpy.jade:96 msgid "DEPOSITS AND WITHDRAWALS:" -msgstr "" +msgstr "EIN- UND AUSZAHLUNGEN:" #: src/jade/tabs/eur.jade:96 msgid "Deposit from your bank (2-4 business days)" -msgstr "" +msgstr "Von Ihrer Bank einzahlen (2-4 Arbeitstage)" #: src/jade/tabs/eur.jade:98 msgid "Withdraw to your bank account in SEPA (2-4 business days)" -msgstr "" +msgstr "Auf Ihr Bankkonto mit SEPA abbuchen (2-4 Arbeitstage)" #: src/jade/tabs/eur.jade:100 msgid "Withdraw to SmartyCash Card (instant)" -msgstr "" +msgstr "Zu SmartyCash-Karte abbuchen (sofort)" #: src/jade/tabs/exchange.jade:13 msgid "You have to be funded before you can exchange money" @@ -1469,22 +1469,22 @@ msgstr "Ihr Konto benötigt einen gewissen Mindestbetrag, bevor Sie in der Lage #: src/jade/tabs/exchange.jade:23 msgid "Buy (Market Order)" -msgstr "" +msgstr "Kaufen (Markt-Order)" #: src/jade/tabs/exchange.jade:24 msgid "" "Submit a buy order at the current market rate. Orders will execute " "instantly." -msgstr "" +msgstr "Eine Kaufen-Order zur aktuellen Marktrate absenden. Order wird sofort ausgeführt." # Receive (amount) #: src/jade/tabs/exchange.jade:27 msgid "Receive (amount)" -msgstr "" +msgstr "Ich möchte kaufen" #: src/jade/tabs/exchange.jade:34 src/jade/tabs/widgets/balances.jade:49 msgid "add gateway" -msgstr "" +msgstr "Gateway hinzufügen" #: src/jade/tabs/exchange.jade:37 src/jade/tabs/send.jade:90 msgid "Please enter an amount." @@ -1500,12 +1500,12 @@ msgstr "Kein gültiger Betrag." msgid "" "You are either trying to convert too little or too much XRP.Minimum amount " "is 0.000001 XRP and maximum amount is 100 billion XRP." -msgstr "" +msgstr "Sie versuchen entweder zu wenig oder zu viel XRP zu wechseln. Der Minimalbetrag beträgt 0,000001 XRP und der Maximalbetrag beträgt 100 Milliarden XRP." #: src/jade/tabs/exchange.jade:42 src/jade/tabs/send.jade:96 #: src/jade/tabs/trust.jade:103 msgid "Your amount has too many digits. The max number of digits is 16." -msgstr "" +msgstr "Ihr Betrag hat zu viele Ziffern. Die maximale Anzahl Ziffern beträgt 16." #: src/jade/tabs/exchange.jade:43 msgid "Please enter an amount greater than zero." @@ -1513,7 +1513,7 @@ msgstr "Bitte geben Sie einen Betrag größer als Null ein." #: src/jade/tabs/exchange.jade:46 msgid "{{1}} Calculating..." -msgstr "" +msgstr "{{1}} Wird berechnet..." #: src/jade/tabs/exchange.jade:50 msgid "" @@ -1569,7 +1569,7 @@ msgstr "Vertrauen hinzufügen" #: src/jade/tabs/fund.jade:27 src/jade/tabs/send.jade:26 msgid "Enter a Ripple name or contact" -msgstr "" +msgstr "Geben Sie einen Ripple-Namen oder einen Kontakt ein" #: src/jade/tabs/fund.jade:33 src/jade/tabs/trust.jade:73 msgid "Account does not meet the minimum XRP reserve." @@ -1613,7 +1613,7 @@ msgid "" "Allow this trust line's balances to be transferred to another issuer you " "trust. More " "information" -msgstr "" +msgstr "Zulassen, dass das Guthaben dieser Vertrauenslinie an einen anderen Ausgeber übertragen werden kann, dem Sie ebenfalls vertrauen. Mehr Informationen" #: src/jade/tabs/fund.jade:63 msgid "Cancel" @@ -1621,43 +1621,43 @@ msgstr "Abbrechen" #: src/jade/tabs/fund/menu.jade:3 msgid "{{1}}XRP" -msgstr "" +msgstr "{{1}}XRP" #: src/jade/tabs/fund/menu.jade:6 msgid "Featured gateways" -msgstr "" +msgstr "Nennenswerte Gateways" #: src/jade/tabs/fund/menu.jade:7 msgid "{{1}}BRL" -msgstr "" +msgstr "{{1}}BRL" #: src/jade/tabs/fund/menu.jade:10 msgid "{{1}}BTC" -msgstr "" +msgstr "{{1}}BTC" #: src/jade/tabs/fund/menu.jade:13 msgid "{{1}}EUR" -msgstr "" +msgstr "{{1}}EUR" #: src/jade/tabs/fund/menu.jade:16 msgid "{{1}}JPY" -msgstr "" +msgstr "{{1}}JPY" #: src/jade/tabs/fund/menu.jade:19 msgid "{{1}}MXN" -msgstr "" +msgstr "{{1}}MXN" #: src/jade/tabs/fund/menu.jade:22 msgid "{{1}}USD" -msgstr "" +msgstr "{{1}}USD" #: src/jade/tabs/fund/menu.jade:25 msgid "{{1}}XAU" -msgstr "" +msgstr "{{1}}XAU" #: src/jade/tabs/fund/menu.jade:28 msgid "Add any gateway" -msgstr "" +msgstr "Anderes Gateway hinzufügen" #: src/jade/tabs/fund/menu.jade:30 msgid "Learn more about gateways" @@ -1665,54 +1665,54 @@ msgstr "Mehr über Gateways erfahren" #: src/jade/tabs/gold.jade:37 msgid "Gold Deposit" -msgstr "" +msgstr "Gold-Guthaben" #: src/jade/tabs/gold.jade:41 msgid "Gold Bullion International (~gbi) {{1}}" -msgstr "" +msgstr "Gold Bullion International (~gbi) {{1}}" #: src/jade/tabs/gold.jade:48 msgid "0.5% per year" -msgstr "" +msgstr "0,5% pro Jahr" #: src/jade/tabs/gold.jade:56 msgid "" "Ripple Trade has partnered with GBI to provide easy access toXAU. By " "continuing, you are allowing GBI to hold gold on your behalf." -msgstr "" +msgstr "Ripple Trade und GBI sind Partner, um einfachen Zugriff auf XAU anzubieten. Indem Sie fortfahren, erlauben Sie GBI, Gold in Ihrem Auftrag zu halten." #: src/jade/tabs/gold.jade:67 src/jade/tabs/jpy.jade:68 #: src/jade/tabs/mxn.jade:70 msgid "{{1}} Not connected" -msgstr "" +msgstr "{{1}} Nicht verbunden" #: src/jade/tabs/gold.jade:70 src/jade/tabs/jpy.jade:71 #: src/jade/tabs/mxn.jade:73 msgid "{{1}} Connected" -msgstr "" +msgstr "{{1}} Verbunden" #: src/jade/tabs/gold.jade:77 msgid "Deposit" -msgstr "" +msgstr "Einzahlung" #: src/jade/tabs/gold.jade:78 msgid "" "GBI does not currently support direct deposits. You can {{1}} or {{2}}." -msgstr "" +msgstr "GBI unterstützt zurzeit keine direkten Einzahlungen. Sie können {{1}} oder {{2}}." #: src/jade/tabs/gold.jade:84 msgid "Withdrawal" -msgstr "" +msgstr "Abhebung" #: src/jade/tabs/gold.jade:85 msgid "" "You can redeem the physical gold in 1 oz increments.To do so, you'll need to" " {{1}} and arrange to have the gold shipped to you." -msgstr "" +msgstr "Sie können das physische Gold in Einheiten von 1 oz abheben. Dazu müssen Sie {{1}} und sich das Gold schicken lassen." #: src/jade/tabs/history.jade:11 msgid "Loading History" -msgstr "" +msgstr "Kontoverlauf wird geladen" #: src/jade/tabs/history.jade:16 msgid "Your account history is empty" @@ -1834,7 +1834,7 @@ msgstr "{{1}} zur Kontaktliste hinzufügen" #: src/jade/tabs/history.jade:189 msgid "{{1}} Loading more" -msgstr "" +msgstr "{{1}} Weitere Daten werden geladen" #: src/jade/tabs/history.jade:192 src/jade/tabs/trade.jade:500 msgid "Load more" @@ -1898,65 +1898,65 @@ msgstr "Ihr Kontostand wurde geändert von {{1}}." #: src/jade/tabs/jpy.jade:38 msgid "Japanese Yen Deposit" -msgstr "" +msgstr "Depot für Japanische Yen" #: src/jade/tabs/jpy.jade:42 msgid "Tokyo JPY Issuer (~tokyojpy) {{1}}" -msgstr "" +msgstr "Tokyo JPY Issuer (~tokyojpy) {{1}}" #: src/jade/tabs/jpy.jade:59 msgid "" "Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to" " JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your" " behalf." -msgstr "" +msgstr "Ripple Trade und Tokyo JPY Issuer sind Partner, um einfacheren Zugriff auf JPY anzubieten. Indem Sie fortfahren, erlauben Sie Tokyo JPY Issuer, JPY in Ihrem Auftrag zu halten." #: src/jade/tabs/jpy.jade:78 msgid "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" -msgstr "" +msgstr "NEUKUNDEN- BEI TOKYO JPY ISSUER REGISTRIEREN" #: src/jade/tabs/jpy.jade:79 msgid "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" -msgstr "" +msgstr "{{1}}Sie sich bei Tokyo JPY Issuer. Sie brauchen:{{2}}" #: src/jade/tabs/jpy.jade:84 msgid "A valid government-issued ID." -msgstr "" +msgstr "Eine gültigen von der Regierung ausgestellten Personalausweis." #: src/jade/tabs/jpy.jade:86 msgid "A proof of address (utility bill, etc)." -msgstr "" +msgstr "Einen Adressnachweis (Rechnung, o.ä.)." #: src/jade/tabs/jpy.jade:88 msgid "A bank account under the same name." -msgstr "" +msgstr "Ein Bankkonto, das auf den gleichen Namen läuft." #: src/jade/tabs/jpy.jade:90 msgid "EXISTING TOKYO JPY ISSUER CUSTOMERS" -msgstr "" +msgstr "EXISTIERENDE KUNDEN VON TOKYO JPY ISSUER" #: src/jade/tabs/jpy.jade:100 msgid "" "Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details" " {{1}}" -msgstr "" +msgstr "Tokyo JPY Issuer akzeptiert Ein- und Auszahlungen per Banküberweisung. Details {{1}}" #: src/jade/tabs/jpy.jade:103 msgid "" "To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account " "and then initiate a transfer into your Ripple account." -msgstr "" +msgstr "Zum Einzahlen müssen Sie zuerst auf Ihr Konto bei Tokyo JPY Issuer einzahlen und dann eine Überweisung auf Ihr Ripple-Konto veranlassen." #: src/jade/tabs/jpy.jade:105 msgid "" "To withdraw to a bank account, you’ll first send money from your Ripple " "account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo " "JPY Issuer site to send to your bank account." -msgstr "" +msgstr "Zum Auszahlen an ein Bankkonto müssen Sie zuerst Geld von Ihrem Ripple-Konto an Ihr Konto bei Tokyo JPY Issuer senden. Folgen Sie dann den Anweisungen auf der Website von Tokyo JPY Issuer, um an Ihr Bankkonto zu senden." #: src/jade/tabs/kyc.jade:14 msgid "Profile completion is only available to US residents." -msgstr "" +msgstr "Die Identitätsprüfung steht nur für US-Bürger zur Verfügung." #: src/jade/tabs/kyc.jade:21 src/jade/tabs/trade.jade:285 msgid "Verifying your information. Please wait..." @@ -2012,7 +2012,7 @@ msgstr "Wir konnten Ihre Identitäts-Fragen nicht verifizieren. Bitte prüfen Si msgid "" "Sorry, you've reached your maximum number of verification attempts. Please " "try again in 24 hours." -msgstr "" +msgstr "Leider haben Sie die maximale Anzahl Versuche zur Verifizierung erreicht. Bitte versuchen Sie es in 24 Stunden erneut." #: src/jade/tabs/kyc.jade:43 msgid "" @@ -2128,19 +2128,19 @@ msgstr "Verifizierungs-Code" #: src/jade/tabs/kyc.jade:183 msgid "Submit code" -msgstr "" +msgstr "Code absenden" #: src/jade/tabs/login.jade:4 src/jade/tabs/migrate.jade:4 #: src/jade/tabs/recover.jade:3 src/jade/tabs/register.jade:5 #: src/jade/tabs/register.jade:137 src/jade/tabs/register.jade:184 msgid "Welcome to Ripple Trade" -msgstr "" +msgstr "Willkomen bei Ripple Trade" #: src/jade/tabs/login.jade:6 src/jade/tabs/migrate.jade:6 #: src/jade/tabs/recover.jade:5 src/jade/tabs/register.jade:7 #: src/jade/tabs/register.jade:139 src/jade/tabs/register.jade:186 msgid "Trade hundreds of assets, from XRP to crypto to gold to fiat." -msgstr "" +msgstr "Wechseln Sie Hunderte Aktiva, von XRP über Krypto und Gold bis zu Währungen." #: src/jade/tabs/login.jade:15 src/jade/tabs/login.jade:31 msgid "Log In" @@ -2158,7 +2158,7 @@ msgstr "E-Mail-Verifizierungs-Token ist ungültig. Es ist entweder abgelaufen od #: src/jade/tabs/login.jade:30 msgid "Logging in" -msgstr "" +msgstr "Anmeldung läuft" #: src/jade/tabs/login.jade:34 msgid "Verify" @@ -2193,7 +2193,7 @@ msgstr "{{1:Sie fügen}}{{2}}{{3:zu Ihrer Kontaktliste hinzu}}" #: src/jade/tabs/login.jade:95 msgid "{{1}} Log In" -msgstr "" +msgstr "{{1}} Anmelden" #: src/jade/tabs/login.jade:98 msgid "You can confirm this transaction on the next page." @@ -2260,90 +2260,90 @@ msgstr "Sie haben ein Konto bei {{productName}}? {{1:Anmelden}}" #: src/jade/tabs/mxn.jade:38 msgid "Mexican Peso Deposit" -msgstr "" +msgstr "Depot für mexikanische Pesos" #: src/jade/tabs/mxn.jade:42 msgid "Bitso (~bitso) {{1}}{{2}}" -msgstr "" +msgstr "Bitso (~bitso) {{1}}{{2}}" #: src/jade/tabs/mxn.jade:47 msgid "All countries except the US" -msgstr "" +msgstr "Alle Länder außer den USA" #: src/jade/tabs/mxn.jade:58 msgid "" "Ripple Trade has partnered with Bitso to provide easy access to MXN (Mexican" " Peso). By continuing, you agree with Bitso’s terms of service. Following " "this action will enable Bitso to hold MXN on your behalf." -msgstr "" +msgstr "Ripple Trade und Bitso sind Partner, um einfachen Zugriff auf MXN (mexikanische Pesos) anzubieten. Indem Sie fortfahren, akzeptieren Sie die Nutzungsbedingungen von Bitso. Bitso kann dann MXN in Ihrem Auftrag halten." #: src/jade/tabs/mxn.jade:80 msgid "TO FUND/REDEEM MEXICAN PESO:" -msgstr "" +msgstr "UM MEXIKANISCHE PESOS EIN- ODER AUSZUZAHLEN:" #: src/jade/tabs/mxn.jade:82 msgid "Register or login at {{1}}to initiate deposits and withdrawals." -msgstr "" +msgstr "Bei {{1}} registrieren oder anmelden, um Ein- und Auszahlungen einzurichten." #: src/jade/tabs/mxn.jade:86 msgid "" "A valid, non-US, state-issued ID (passport, driver's license, etc)." -msgstr "" +msgstr "Einen gültigen, Nicht-US-, vom Staat ausgestellten Ausweis (Reisepass, Führerschein o.ä.)." #: src/jade/tabs/mxn.jade:87 msgid "" "Proof of address (utility bill or other type of bill that has your address " "on it). Verification is required for peso deposits or withdrawals." -msgstr "" +msgstr "Adressnachweis (Rechnung mit Ihrer Adresse). Für Ein- und Auszahlungen von Pesos ist eine Verifizierung erforderlich." #: src/jade/tabs/mxn.jade:89 msgid "" "To fund your Ripple account, see the below options. Once a balance is " "deposited with Bitso, you can send it to your Ripple account using the Bitso" " Dashboard." -msgstr "" +msgstr "Um Guthaben auf Ihr Ripple-Konto einzuzahlen, siehe die Optionen unten. Sobald ein Betrag bei Bitso eingezahlt ist, können Sie ihn mithilfe des Bitso-Dashboards an Ihr Ripple-Konto senden" #: src/jade/tabs/mxn.jade:90 msgid "" "To withdraw from your Ripple account, click on the 'Redeem from Ripple' " "button on the Bitso Dashboard." -msgstr "" +msgstr "Zum Abheben von Ihrem Ripple-Konto klicken Sie im Bitso-Dashbard auf die Schaltfläche „Redeem from Ripple“." #: src/jade/tabs/mxn.jade:92 src/jade/tabs/usd.jade:89 msgid "DEPOSIT OPTIONS" -msgstr "" +msgstr "EINZAHLUNGSOPTIONEN" #: src/jade/tabs/mxn.jade:94 msgid "Bitso accepts deposits by the following methods:" -msgstr "" +msgstr "Bitso akzeptiert Einzahlungen mit folgenden Methoden:" #: src/jade/tabs/mxn.jade:96 src/jade/tabs/mxn.jade:106 msgid "Bank Wire" -msgstr "" +msgstr "Bank-Überweisung" #: src/jade/tabs/mxn.jade:97 src/jade/tabs/mxn.jade:107 msgid "SPEI (Mexican instant inter-bank transfer)" -msgstr "" +msgstr "SPEI (mexikanische Sofort-Überweisung zwischen Banken)" #: src/jade/tabs/mxn.jade:98 src/jade/tabs/mxn.jade:108 msgid "Bitcoin" -msgstr "" +msgstr "Bitcoin" #: src/jade/tabs/mxn.jade:99 msgid "MXN Cash (at locations across Mexico)" -msgstr "" +msgstr "MXN-Bargeld (an Standorten in ganz Mexiko)" #: src/jade/tabs/mxn.jade:100 msgid "Pademobile wallet" -msgstr "" +msgstr "Pademobile-Brieftasche" #: src/jade/tabs/mxn.jade:102 src/jade/tabs/usd.jade:99 msgid "WITHDRAWAL OPTIONS" -msgstr "" +msgstr "AUSZAHLUNGSOPTIONEN" #: src/jade/tabs/mxn.jade:104 msgid "Bitso offers withdrawals via the following methods:" -msgstr "" +msgstr "Bitso bietet Auszahlungen über die folgenden Methoden an:" #: src/jade/tabs/recover.jade:11 msgid "" @@ -2441,13 +2441,13 @@ msgstr "Mehr erfahren" #: src/jade/tabs/register.jade:41 msgid "Reserved for {{usernameReservedFor}}" -msgstr "" +msgstr "Reserviert für {{usernameReservedFor}}" #: src/jade/tabs/register.jade:43 msgid "" "This name belongs to a high-traffic website and has been reserved to prevent" " phishing." -msgstr "" +msgstr "Dieser Name gehört zu einer bekannten Website und wurde reserviert, um Phishing zu verhindern." #: src/jade/tabs/register.jade:49 msgid "You can only use the following characters: a-z, 0-9 and hyphens (-)" @@ -2481,7 +2481,7 @@ msgstr "Das Konto ~{{1}}{{2}} wurde bereits mit diesem geheimen Schlüssel angel #: src/jade/tabs/register.jade:98 msgid "I agree to the {{productName}} {{1:Terms of Use}}" -msgstr "" +msgstr "Ich akzeptiere die {{1:Nutzungsbedingungen}} von {{productName}}" #: src/jade/tabs/register.jade:101 msgid "" @@ -2627,11 +2627,11 @@ msgstr "Die Zwei-Faktor-Authentifizierung wurde erfolgreich deaktiviert." #: src/jade/tabs/security.jade:38 msgid "Password protection has been successfully enabled." -msgstr "" +msgstr "Der Kennwortschutz wurde erfolgreich aktiviert." #: src/jade/tabs/security.jade:39 msgid "Password protection has been successfully disabled." -msgstr "" +msgstr "Der Kennwortschutz wurde erfolgreich deaktiviert." #: src/jade/tabs/security.jade:45 msgid "Security settings" @@ -2734,14 +2734,14 @@ msgstr "Nein" #: src/jade/tabs/security.jade:192 msgid "Delete Ripple Trade account" -msgstr "" +msgstr "Ripple-Trade-Konto löschen" #: src/jade/tabs/security.jade:194 msgid "" "This deletes your Ripple Trade account. You will no longer be able to login " "to Ripple Trade and your account data will be deleted. However, you can " "still access your funds using your secret key." -msgstr "" +msgstr "Damit wird Ihr Ripple-Trade-Konto gelöscht. Sie können sich dann nicht mehr bei Ripple Trade anmelden, und die Daten in Ihrem Konto werden gelöscht. Über Ihren geheimen Schlüssel haben Sie aber weiterhin Zugriff auf Ihr Guthaben." #: src/jade/tabs/send.jade:12 msgid "You have to be funded before you can send money" @@ -2789,11 +2789,11 @@ msgstr "Falscher Ursprungsmarker" #: src/jade/tabs/send.jade:59 msgid "Invoice ID" -msgstr "" +msgstr "Rechnungskennung" #: src/jade/tabs/send.jade:62 msgid "Invoice ID must not be more than 64 characters long." -msgstr "" +msgstr "Rechnungskennung darf nicht mehr als 64 Zeichen lang sein." #: src/jade/tabs/send.jade:77 msgid "Recipient will receive" @@ -2811,7 +2811,7 @@ msgstr "Die Menge muss größer als Null sein." msgid "" "You are either trying to send too little or too much XRP.Minimum amount is " "0.000001 XRP and maximum amount is 100 billion XRP." -msgstr "" +msgstr "Sie versuchen entweder zu wenig oder zu viel XRP zu senden. Der Minimumbetrag ist 0,000001 XRP und der Maximumbetrag 100 Milliarden XRP." #: src/jade/tabs/send.jade:97 msgid "" @@ -2934,7 +2934,7 @@ msgstr "Name des Users" #: src/jade/tabs/send.jade:246 src/jade/tabs/send.jade:278 msgid "This contact already exists, please choose another name." -msgstr "" +msgstr "Dieser Kontakt existiert bereits, bitte wählen Sie einen anderen Namen." #: src/jade/tabs/send.jade:250 src/jade/tabs/send.jade:283 #: src/jade/tabs/trust.jade:233 @@ -2951,15 +2951,15 @@ msgstr "Sicherheit" #: src/jade/tabs/settingstrade.jade:12 msgid "Trade settings" -msgstr "" +msgstr "Wechsel-Einstellungen" #: src/jade/tabs/settingstrade.jade:14 msgid "Trade currency pairs" -msgstr "" +msgstr "Wechsel-Währungspaare" #: src/jade/tabs/trade.jade:12 src/jade/tabs/trade.jade:451 msgid "Loading Order Book" -msgstr "" +msgstr "Orderbuch wird geladen" #: src/jade/tabs/trade.jade:31 src/jade/tabs/widgets/markets.jade:24 msgid "flip" @@ -2967,31 +2967,31 @@ msgstr "umschalten" #: src/jade/tabs/trade.jade:34 msgid "add pair" -msgstr "" +msgstr "Paar hinzufügen" #: src/jade/tabs/trade.jade:37 msgid "edit pairs" -msgstr "" +msgstr "Paare bearbeiten" #: src/jade/tabs/trade.jade:41 msgid "Base Currency" -msgstr "" +msgstr "Basiswährung" #: src/jade/tabs/trade.jade:44 msgid "Base Gateway" -msgstr "" +msgstr "Basisgateway" #: src/jade/tabs/trade.jade:49 msgid "Counter Currency" -msgstr "" +msgstr "Gegenwährung" #: src/jade/tabs/trade.jade:52 msgid "Counter Gateway" -msgstr "" +msgstr "Gegengateway" #: src/jade/tabs/trade.jade:57 msgid "Add" -msgstr "" +msgstr "Hinzufügen" #: src/jade/tabs/trade.jade:60 msgid "Base currency issuer ({{order.first_currency | rpcurrency}})" @@ -2999,7 +2999,7 @@ msgstr "Ausgeber der Quell-Währung ({{order.first_currency | rpcurrency}})" #: src/jade/tabs/trade.jade:63 msgid "Ripple name or contact" -msgstr "" +msgstr "Ripple-Name oder Kontakt" #: src/jade/tabs/trade.jade:65 msgid "Not a valid Ripple address or contact" @@ -3017,7 +3017,7 @@ msgstr "Ripple-Name oder -Adresse ungültig" msgid "" "To show an orderbook, choose from the dropdown above or click \"Add custom " "pair\"." -msgstr "" +msgstr "Um ein Orderbuch anzuzeigen, wählen Sie aus der Klappliste oben oder klicken Sie auf „Benutzerdefiniertes Paar hinzufügen“." #: src/jade/tabs/trade.jade:86 msgid "Bid" @@ -3074,7 +3074,7 @@ msgstr "Die Menge muss größer als Null sein." msgid "" "Minimum amount of XRP you can send is a drop (0.000001) and the maximum is " "100 billion XRPs." -msgstr "" +msgstr "Der Minimalbetrag an XRP, die Sie senden können, ist ein Drop (0,000001) und der Maximalbetrag ist 100 Milliarden XRP." #: src/jade/tabs/trade.jade:160 msgid "Price of Each" @@ -3108,7 +3108,7 @@ msgstr "Sie haben nicht genug Mittel, um eine Order aufzugeben." msgid "" "You are about to create an order to {{1: buy}} {{2: " "sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" -msgstr "" +msgstr "Sie sind dabei, eine Order zum {{1: Kaufen}} {{2: Verkaufen}}{{3}}{{4:für}}{{5}}{{6}}zu erstellen{{7:Sind Sie sicher?}}{{8}}" #: src/jade/tabs/trade.jade:242 msgid "CAUTION: Your order is far off from the current market price." @@ -3132,12 +3132,12 @@ msgstr "Ihre Order ist jetzt aktiv." #: src/jade/tabs/trade.jade:265 msgid "Your order has been filled." -msgstr "" +msgstr "Ihre Order wurde erfüllt." #: src/jade/tabs/trade.jade:267 msgid "" "Your order has been partially filled. The remaining amount is now active." -msgstr "" +msgstr "Ihre Order wurde teilweise erfüllt. Der Restbetrag ist jetzt aktiv." #: src/jade/tabs/trade.jade:276 msgid "Submit another order" @@ -3149,49 +3149,49 @@ msgstr "Meine Aufträge{{1}}{{2}}" #: src/jade/tabs/trade.jade:287 msgid "Your order has been modified." -msgstr "" +msgstr "Ihre Order wurde bearbeitet." #: src/jade/tabs/trade.jade:289 msgid "Your order #{{ cancelOrder.seq }} has been cancelled." -msgstr "" +msgstr "Ihre Order #{{ cancelOrder.seq }} wurde abgebrochen." #: src/jade/tabs/trade.jade:291 msgid "" "Your order could not be modified and no longer exists. Error: " "{{order[editOrder.type].engine_result_message}}" -msgstr "" +msgstr "Ihre Order konnte nicht bearbeitet werden und existiert nicht mehr. Fehler: {{order[editOrder.type].engine_result_message}}" #: src/jade/tabs/trade.jade:293 msgid "Unable to cancel order as it no longer exists." -msgstr "" +msgstr "Fehler beim Abbrechen der Order, sie existiert nicht mehr." #: src/jade/tabs/trade.jade:295 msgid "Modifying your order (Placing new order) ..." -msgstr "" +msgstr "Ihre Order wird bearbeitet (neue Order wird platziert)…" #: src/jade/tabs/trade.jade:299 msgid "Current pair only" -msgstr "" +msgstr "Nur aktuelles Paar" #: src/jade/tabs/trade.jade:313 src/jade/tabs/widgets/orders.jade:24 msgid "reverse" -msgstr "" +msgstr "umkehren" #: src/jade/tabs/trade.jade:322 src/jade/tabs/widgets/orders.jade:33 msgid "QTY{{1}}" -msgstr "" +msgstr "MENGE{{1}}" #: src/jade/tabs/trade.jade:324 src/jade/tabs/widgets/orders.jade:35 msgid "Base{{1}}" -msgstr "" +msgstr "Basis{{1}}" #: src/jade/tabs/trade.jade:326 src/jade/tabs/widgets/orders.jade:37 msgid "Counter{{1}}" -msgstr "" +msgstr "Gegen{{1}}" #: src/jade/tabs/trade.jade:328 src/jade/tabs/widgets/orders.jade:39 msgid "Limit{{1}}" -msgstr "" +msgstr "Grenze{{1}}" #: src/jade/tabs/trade.jade:334 msgid "Action" @@ -3199,18 +3199,18 @@ msgstr "Aktion" #: src/jade/tabs/trade.jade:360 src/jade/tabs/trade.jade:424 msgid "TRADE CONFIRMATION" -msgstr "" +msgstr "WECHSEL-BESTÄTIGUNG" #: src/jade/tabs/trade.jade:362 msgid "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" -msgstr "" +msgstr "{{1:Bitte bestätigen Sie, dass Sie die Order #{{entry.seq}} abbrechen wollen}}" #: src/jade/tabs/trade.jade:364 msgid "" "{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div" " span.modal-order-type(l10n-inc) REMAIN: span remain data div span" ".modal-order-type(l10n-inc) PLACED: span time data" -msgstr "" +msgstr "{{1}} div span.modal-order-type(l10n-inc) ERFÜLLT: span filled data div span.modal-order-type(l10n-inc) ÜBRIG: span remain data div span.modal-order-type(l10n-inc) PLATZIERT: span time data" #: src/jade/tabs/trade.jade:371 msgid "with" @@ -3222,65 +3222,65 @@ msgstr "für" #: src/jade/tabs/trade.jade:376 msgid "at" -msgstr "" +msgstr "zu" #: src/jade/tabs/trade.jade:389 msgid "Cancel order" -msgstr "" +msgstr "Order abbrechen" #: src/jade/tabs/trade.jade:390 src/jade/tabs/trade.jade:431 msgid "back" -msgstr "" +msgstr "zurück" #: src/jade/tabs/trade.jade:407 msgid "" "CAUTION: Your new order is far off from the current market price.
Do " "you still want to replace your order ?" -msgstr "" +msgstr "VORSICHT: Ihre neue Order ist weit vom aktuellen Marktpreis entfernt.
Wollen Sie Ihre Order immer noch ersetzen?" #: src/jade/tabs/trade.jade:410 msgid "Unable to cancel order. Error: {{entry.errorMsg}}" -msgstr "" +msgstr "Fehler beim Abbrechen der Order. Fehler: {{entry.errorMsg}}" #: src/jade/tabs/trade.jade:412 msgid "" "Your order amount has been updated by Ripple. Please go back and edit again " "to modify this order." -msgstr "" +msgstr "Ihre Order-Menge wurde von Ripple aktualisiert. Bitte gehen Sie zurück und bearbeiten Sie die Order erneut, um sie zu verändern." #: src/jade/tabs/trade.jade:414 msgid "" "Your order could not be modified. Error: " "{{order[editOrder.type].engine_result_message}}" -msgstr "" +msgstr "Ihre Order konnte nicht bearbeitet werden. Fehler: {{order[editOrder.type].engine_result_message}}" #: src/jade/tabs/trade.jade:415 msgid "X" -msgstr "" +msgstr "X" #: src/jade/tabs/trade.jade:420 msgid "cancel all" -msgstr "" +msgstr "alle abbrechen" #: src/jade/tabs/trade.jade:426 msgid "{{1:Please confirm that you wish to cancel all orders.}}" -msgstr "" +msgstr "{{1:Bitte bestätigen Sie, dass Sie alle Order abbrechen wollen.}}" #: src/jade/tabs/trade.jade:430 msgid "Cancel all orders" -msgstr "" +msgstr "Alle Order abbrechen" #: src/jade/tabs/trade.jade:433 src/jade/tabs/widgets/orders.jade:64 msgid "No current orders. {{1}}" -msgstr "" +msgstr "Keine aktuellen Order. {{1}}" #: src/jade/tabs/trade.jade:434 src/jade/tabs/widgets/orders.jade:65 msgid "View orders history" -msgstr "" +msgstr "Orderverlauf anzeigen" #: src/jade/tabs/trade.jade:437 msgid "Orderbook{{1}}" -msgstr "" +msgstr "Orderbuch{{1}}" #: src/jade/tabs/trade.jade:440 msgid "show" @@ -3288,7 +3288,7 @@ msgstr "anzeigen" #: src/jade/tabs/trade.jade:442 msgid "Last updated {{1}} {{2: seconds}} {{3: second}} ago" -msgstr "" +msgstr "Zuletzt aktualisiert vor {{1}} {{2: Sekunden}} {{3: Sekunde}}" #: src/jade/tabs/trade.jade:458 msgid "Bids" @@ -3332,19 +3332,19 @@ msgstr "Gateway wird entfernt..." #: src/jade/tabs/trust.jade:31 msgid "Gateway removed." -msgstr "" +msgstr "Gateway entfernt." #: src/jade/tabs/trust.jade:33 msgid "Your changes have been saved." -msgstr "" +msgstr "Ihre Änderungen wurden gespeichert." #: src/jade/tabs/trust.jade:35 msgid "Request failed." -msgstr "" +msgstr "Anfrage gescheitert." #: src/jade/tabs/trust.jade:39 msgid "Account unlock failed." -msgstr "" +msgstr "Entsperren des Kontos gescheitert." #: src/jade/tabs/trust.jade:55 msgid "Name / Address" @@ -3364,14 +3364,14 @@ msgstr "Ripple-Name oder Adresse des Gateways" #: src/jade/tabs/trust.jade:100 msgid "Amount field is required." -msgstr "" +msgstr "Menge muss angegeben werden." #: src/jade/tabs/trust.jade:115 msgid "" "Allow this trust line's balances to be transferred to another issuer you " "connect to. More " "information" -msgstr "" +msgstr "Zulassen, dass das Guthaben dieser Vertrauenslinie an einen anderen Herausgeber übertragen werden kann, mit dem Sie sich verbunden haben. Mehr Informationen" #: src/jade/tabs/trust.jade:125 msgid "" @@ -3425,13 +3425,13 @@ msgstr "Ein" #: src/jade/tabs/trust.jade:239 src/jade/tabs/trust.jade:244 #: src/jade/tabs/trust.jade:248 msgid "Incoming trust" -msgstr "" +msgstr "Eingehendes Vertrauen" #: src/jade/tabs/trust.jade:192 msgid "" "You can't edit incoming trust lines. Incoming trust lines are when other " "Ripple users trust you." -msgstr "" +msgstr "Sie können eingehende Vertrauenslinien nicht bearbeiten. Eingehende Vertrauenslinien bedeuten, dass andere Ripple-Nutzer Ihnen vertrauen." #: src/jade/tabs/trust.jade:200 src/jade/tabs/trust.jade:202 #: src/jade/tabs/trust.jade:205 src/jade/tabs/trust.jade:207 @@ -3448,7 +3448,7 @@ msgstr "Entfernen" msgid "" "You can't delete incoming trust lines. Incoming trust lines are when other " "Ripple users trust you." -msgstr "" +msgstr "Sie können eingehende Vertrauenslinien nicht löschen. Eingehende Vertrauenslinien bedeuten, dass andere Ripple-Nutzer Ihnen vertrauen." #: src/jade/tabs/trust.jade:226 msgid "Rippling {{1}}" @@ -3514,69 +3514,69 @@ msgstr "Entschuldigung, wir haben bisher keine Informationsseite zu diesem Trans #: src/jade/tabs/usd.jade:35 msgid "US Dollar Deposit" -msgstr "" +msgstr "US-Dollar-Depot" #: src/jade/tabs/usd.jade:39 msgid "SnapSwap US (~SnapSwap){{1}}{{2}}" -msgstr "" +msgstr "SnapSwap US (~SnapSwap){{1}}{{2}}" #: src/jade/tabs/usd.jade:45 msgid "USA" -msgstr "" +msgstr "USA" #: src/jade/tabs/usd.jade:48 msgid "$ 0.31-$ 5.00" -msgstr "" +msgstr "$ 0.31-$ 5.00" #: src/jade/tabs/usd.jade:56 msgid "" "Ripple Trade has partnered with SnapSwap to provide easier access to USD. " "Following this action will enable SnapSwap to hold USD on your behalf." -msgstr "" +msgstr "Ripple Trade und SnapSwap sind Partner, um einfacheren Zugriff auf USD anzubieten. Indem Sie fortfahren, erlauben Sie SnapSwap, USD in Ihrem Auftrag zu halten." #: src/jade/tabs/usd.jade:73 msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" -msgstr "" +msgstr "NEUKUNDEN- BEI SNAPSWAP.US REGISTRIEREN" #: src/jade/tabs/usd.jade:74 msgid "Register and verify your account at SnapSwap US. You will need: {{1}}" -msgstr "" +msgstr "Registrieren und bestätigen Sie Ihr Konto bei SnapSwap US. Sie brauchen: {{1}}" #: src/jade/tabs/usd.jade:82 msgid "EXISTING SNAPSWAP US CUSTOMERS" -msgstr "" +msgstr "BESTEHENDE SNAPSWAP US KUNDEN" #: src/jade/tabs/usd.jade:93 msgid "Deposit instantly via selected banks" -msgstr "" +msgstr "Soforteinzahlung über ausgewählte Banken" #: src/jade/tabs/usd.jade:95 msgid "Deposit cash at Bank of America branches (3 business days)" -msgstr "" +msgstr "Geld bei Bank-of-America-Filialen einzahlen (3 Arbeitstage)" #: src/jade/tabs/usd.jade:97 msgid "Deposit via online bank transfer (3 business days)" -msgstr "" +msgstr "Via Online-Überweisung einzahlen (3 Arbeitstage)" #: src/jade/tabs/usd.jade:103 msgid "Directly to your bank account (3-4 business days)" -msgstr "" +msgstr "Direkt auf Ihr Bankkonto (3-4 Arbeitstage)" #: src/jade/tabs/usd.jade:105 msgid "Directly to your PayPal account (several minutes)" -msgstr "" +msgstr "Direkt auf Ihr PayPal-Konto (einige Minuten)" #: src/jade/tabs/widgets/assetallocation.jade:3 msgid "Asset Allocation" -msgstr "" +msgstr "Werte-Verteilung" #: src/jade/tabs/widgets/balances.jade:3 msgid "Balances" -msgstr "" +msgstr "Guthaben" #: src/jade/tabs/widgets/balances.jade:12 msgid "Balance
{{ account.Balance | rpamount }} XRP" -msgstr "" +msgstr "Guthaben
{{ account.Balance | rpamount }} XRP" #: src/jade/tabs/widgets/balances.jade:16 msgid "Reserve" @@ -3584,53 +3584,53 @@ msgstr "Rücklage" #: src/jade/tabs/widgets/balances.jade:18 msgid "Reserve amount" -msgstr "" +msgstr "Reservebetrag" #: src/jade/tabs/widgets/balances.jade:18 msgid "" "Minimum amount of XRP required to fund your account. You cannot spend the " "reserve." -msgstr "" +msgstr "Minimumbetrag an XRP, der zur Finanzierung Ihres Kontos benötigt wird. Sie können die Reserve nicht ausgeben." #: src/jade/tabs/widgets/balances.jade:20 msgid "Reserve amount
{{ account.reserve | rpamount }} XRP" -msgstr "" +msgstr "Reservebetrag
{{ account.reserve | rpamount }} XRP" #: src/jade/tabs/widgets/balances.jade:26 msgid "Available amount" -msgstr "" +msgstr "Verfügbarer Betrag" #: src/jade/tabs/widgets/balances.jade:26 msgid "Total amount of XRP in your account minus the reserve amount." -msgstr "" +msgstr "Gesamtbetrag an XRP in Ihrem Konto minus den Reservebetrag." #: src/jade/tabs/widgets/balances.jade:28 msgid "Available amount
{{ account.max_spend | rpamount }} XRP" -msgstr "" +msgstr "Verfügbarer Betrag
{{ account.max_spend | rpamount }} XRP" #: src/jade/tabs/widgets/balances.jade:35 msgid "" "Balance
{{ entry.total | rpamount:{precision: 30, hard_precision: true} " "}} {{ entry.total | rpcurrency }}" -msgstr "" +msgstr "Guthaben
{{ entry.total | rpamount:{precision: 30, hard_precision: true} }} {{ entry.total | rpcurrency }}" #: src/jade/tabs/widgets/balances.jade:43 msgid "" "Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, " "hard_precision: true} }} {{ entry.total | rpcurrency }}" -msgstr "" +msgstr "Guthaben
{{ component | rpamount:{precision: 30, el_min_precision: -2, hard_precision: true} }} {{ entry.total | rpcurrency }}" #: src/jade/tabs/widgets/markets.jade:3 msgid "Markets" -msgstr "" +msgstr "Märkte" #: src/jade/tabs/widgets/networth.jade:3 msgid "Net Worth" -msgstr "" +msgstr "Nettowert" #: src/jade/tabs/widgets/networth.jade:8 msgid "{{1:{{1:In}}}}{{2}}" -msgstr "" +msgstr "{{1:{{1:In}}}}{{2}}" #: src/jade/tabs/widgets/networth.jade:14 msgid "Estimated from latest trade price" @@ -3642,11 +3642,11 @@ msgstr "(exklusive negative Kontostände)" #: src/jade/tabs/widgets/orders.jade:3 msgid "My Orders" -msgstr "" +msgstr "Meine Order" #: src/jade/tabs/widgets/orders.jade:68 msgid "trade currencies" -msgstr "" +msgstr "Wechsel-Währungen" #: src/jade/tabs/xrp.jade:19 msgid "Ripple name: {{1}}{{2}}{{3}}" diff --git a/l10n/fr_FR/messages.po b/l10n/fr_FR/messages.po index fe6890d71..bed5e4454 100644 --- a/l10n/fr_FR/messages.po +++ b/l10n/fr_FR/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Ripple Trade\n" -"PO-Revision-Date: 2015-02-25 14:45+0000\n" +"PO-Revision-Date: 2015-03-21 01:02+0000\n" "Last-Translator: keepx \n" "Language-Team: French (France) (http://www.transifex.com/projects/p/ripple-trade/language/fr_FR/)\n" "MIME-Version: 1.0\n" @@ -72,7 +72,7 @@ msgstr "Pourquoi Utiliser Ripple Trade?" #: src/jade/client/index.jade:66 msgid "Home of XRP -" -msgstr "" +msgstr "Berceau des XRP -" #: src/jade/client/index.jade:67 msgid "the best place to buy and sell XRP" @@ -94,11 +94,11 @@ msgstr "Sans intermédiaires -" msgid "" "When you submit orders, Ripple automatically finds the best available match," " without a clearinghouse or broker." -msgstr "" +msgstr "Lorsque vous envoyez des ordres, Ripple détecte automatiquement la meilleure correspondance possible, sans chambre de compensation ou courtier." #: src/jade/client/index.jade:81 msgid "Deposit, trade and withdraw money on Ripple via gateways." -msgstr "" +msgstr "Déposer, échanger et retirer de l'argent sur Ripple par l'intermédiaire de passerelles." #: src/jade/client/index.jade:89 msgid "Featured Ripple Gateways" @@ -159,13 +159,13 @@ msgid "" "You are viewing an account in {{1}} mode. While in this mode, you can view " "publicly available data, but you cannot initiate any transactions. Click " "{{2}} to exit." -msgstr "" +msgstr "Vous visualisez un compte en mode {{1}}. Dans ce mode, vous pouvez afficher les données publiquement disponibles, mais vous ne pouvez pas déclencher de transactions. Cliquez sur {{2}} pour quitter." #: src/jade/client/navbar.jade:8 msgid "" "Warning: this account has over 200 trust lines, so the displayed account " "balance may not be accurate." -msgstr "" +msgstr "Avertissement: ce compte a plus de 200 lignes de confiance, de sorte que le solde du compte affiché peut ne pas être exact." #: src/jade/client/navbar.jade:19 msgid "Overview" @@ -314,12 +314,12 @@ msgstr "Code d'erreur: Cette demande a échoué parce qu'elle a dépassé les fr #: src/jade/directives/transactionerror.jade:35 msgid "" "Error code: You have no gateway connected in this currency [terNO_LINE]." -msgstr "" +msgstr "Code d'erreur: Vous n'avez pas de passerelle connectée dans cette devise [terNO_LINE]." #: src/jade/directives/transactionerror.jade:37 msgid "" "Error code: Insufficient reserve to connect gateway [tecINSUF_RESERVE_LINE]." -msgstr "" +msgstr "Code d'erreur: Réserve insuffisante pour connecter la passerelle [tecINSUF_RESERVE_LINE]." #: src/jade/directives/transactionerror.jade:39 msgid "" @@ -364,7 +364,7 @@ msgid "" "account limit. You can adjust your maximum network fee in Settings > " "Advanced, or try again later.
Error code: Network fee exceeded " "[tejMaxFeeExceeded]." -msgstr "" +msgstr "Cette demande a échoué car les frais de réseau actuels sont plus élevés que la limite de votre compte. Vous pouvez régler vos frais de réseau maximum dans Paramètres > Avancé, ou réessayer plus tard.
Code d'erreur: Frais Réseau dépassés [tejMaxFeeExceeded]." #: src/jade/directives/transactionerror.jade:59 #: src/jade/directives/transactionerror.jade:200 @@ -431,7 +431,7 @@ msgid "" "account limit. You can adjust your maximum network fee in Settings > " "Advanced, or try again later.
Error code: Network fee exceeded " "[tejMaxFeeExceeded]." -msgstr "" +msgstr "Cette transaction a échoué car les frais de réseau actuels sont plus élevés que la limite de votre compte. Vous pouvez régler vos frais de réseau maximum dans Paramètres > Avancé, ou réessayer plus tard.
Code d'erreur: Frais Réseau dépassés [tejMaxFeeExceeded]." #: src/jade/directives/transactionerror.jade:115 msgid "" @@ -456,7 +456,7 @@ msgstr "La transaction a échoué." #: src/jade/directives/transactionerror.jade:127 msgid "You do not have enough funds to create this order [tecUNFUNDED_ORDER]." -msgstr "" +msgstr "Vous n'avez pas suffisamment de fonds pour créer cet ordre [tecUNFUNDED_ORDER]." #: src/jade/directives/transactionerror.jade:129 msgid "" @@ -469,7 +469,7 @@ msgid "" "account limit. You can adjust your maximum network fee in Settings > " "Advanced, or try again later.
Error code: Network fee exceeded " "[tejMaxFeeExceeded]. {{1}}" -msgstr "" +msgstr "Cette transaction a échoué car les frais de réseau actuels sont plus élevés que la limite de votre compte. Vous pouvez régler vos frais de réseau maximum dans Paramètres > Avancé, ou réessayer plus tard.
Code d'erreur: Frais Réseau dépassés [tejMaxFeeExceeded]. {{1}}" #: src/jade/directives/transactionerror.jade:134 msgid "More information." @@ -481,13 +481,13 @@ msgstr "L'échange a échoué." #: src/jade/directives/transactionerror.jade:140 msgid "Trade failed, reason: {{engine_result_message}}" -msgstr "" +msgstr "Échec de l'échange, raison: {{engine_result_message}}" #: src/jade/directives/transactionerror.jade:144 msgid "" "The particular server you sent the transaction to was too busy to forward or" " process your transaction at the fee you included in it [telINSUF_FEE_P]." -msgstr "" +msgstr "Le serveur concerné auquel vous avez envoyé la transaction était trop occupé pour transmettre ou traiter votre transaction au niveau de frais que vous avez inclus [telINSUF_FEE_P]." #: src/jade/directives/transactionerror.jade:152 msgid "Request pending" @@ -597,35 +597,35 @@ msgstr "{{tx.counterparty | rpcontactname}} vous fait maintenant confiance pour" #: src/jade/popup/modifyOrderError.jade:2 msgid "Modify Order Error" -msgstr "" +msgstr "Erreur Modification Ordre" #: src/jade/popup/modifyOrderError.jade:4 msgid "Sorry, your order could not be modified." -msgstr "" +msgstr "Désolé, votre ordre n'a pas pu être modifié." #: src/jade/popup/modifyOrderError.jade:5 msgid "" "Your original order was cancelled but the modified order was not placed. " "
" -msgstr "" +msgstr "Votre ordre initial a été annulé mais l'ordre modifié n'a pas été placé.
" #: src/jade/popup/modifyOrderError.jade:6 msgid "" "The quantity of your order changed by {{order.qtyChangeAfterCancel | " "rpamount}} before the order could be modified.

" -msgstr "" +msgstr "La quantité de votre ordre a changé de {{order.qtyChangeAfterCancel | rpamount}} avant que l'ordre puisse être modifié.

" #: src/jade/popup/modifyOrderError.jade:7 msgid "" "To safeguard against the possibility of overfills a new order has not been " "placed.
" -msgstr "" +msgstr "Pour protéger contre la possibilité de dépassement un nouvel ordre n'a pas été placé.
" #: src/jade/popup/modifyOrderError.jade:8 msgid "" "Please check your balance and history before placing the new order manually." "
" -msgstr "" +msgstr "Veuillez vérifier votre solde et historique avant de placer le nouvel ordre manuellement.
" #: src/jade/popup/modifyOrderError.jade:10 src/jade/popup/unlock.jade:17 msgid "Close" @@ -908,19 +908,19 @@ msgstr "Adresse Ripple" #: src/jade/tabs/advanced.jade:8 msgid "Your blob vault has been changed successfully." -msgstr "" +msgstr "Votre blob vault a été changé avec succès." #: src/jade/tabs/advanced.jade:9 msgid "Your bitcoin bridge has been changed successfully." -msgstr "" +msgstr "Votre pont bitcoin a été changé avec succès." #: src/jade/tabs/advanced.jade:10 msgid "Trustline advanced settings has been changed successfully." -msgstr "" +msgstr "Paramètres avancés de confiance changé avec succès." #: src/jade/tabs/advanced.jade:11 msgid "Maximum network fee has been changed successfully." -msgstr "" +msgstr "Les frais de réseau maximum ont été changés avec succès." #: src/jade/tabs/advanced.jade:12 msgid "A new server has been successfully added." @@ -1012,7 +1012,7 @@ msgstr "Ajouter un nouveau serveur" #: src/jade/tabs/apps.jade:27 msgid "App Ripple Address" -msgstr "" +msgstr "App Addresse Ripple" #: src/jade/tabs/apps.jade:29 msgid "Please enter a ripple address." @@ -1117,7 +1117,7 @@ msgid "" "Ripple Trade has partnered with Rippex to provide easy access to BRL. By " "continuing, you agree with Rippex's {{1}}Following this action will enable " "Rippex to hold BRL on your behalf." -msgstr "" +msgstr "Ripple Trade a établi un partenariat avec Rippex pour fournir un accès facile aux BRL. En continuant, vous acceptez les {{1}} de Rippex. Cette action permettra à Rippex de conserver les BRL en votre nom." #: src/jade/tabs/brl.jade:69 msgid "Add Rippex" @@ -1165,11 +1165,11 @@ msgstr "NOUVEAUX CLIENTS- INSCRIVEZ-VOUS SUR RIPPEX" msgid "" "{{1}} at Rippex.net to initiate deposits and withdrawals. You will " "need:{{2}}" -msgstr "" +msgstr "{{1}} à Rippex.net pour initier les dépôts et retraits. Vous aurez besoin de:{{2}}" #: src/jade/tabs/brl.jade:90 msgid "A {{1}}" -msgstr "" +msgstr "UN {{1}}" #: src/jade/tabs/brl.jade:92 msgid "A bank account in Brazil." @@ -1181,7 +1181,7 @@ msgstr "CLIENTS ACTUELS DE RIPPEX" #: src/jade/tabs/brl.jade:97 msgid "If you have a Rippex account, {{1}}" -msgstr "" +msgstr "Si vous avez un compte Rippex, {{1}}" #: src/jade/tabs/brl.jade:100 msgid "DEPOSIT INSTRUCTIONS" @@ -1189,11 +1189,11 @@ msgstr "INSTRUCTIONS DE DÉPÔT" #: src/jade/tabs/brl.jade:101 msgid "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" -msgstr "" +msgstr "Rippex accepte les dépôts de toutes les banques brésiliennes. Instructions {{1}}" #: src/jade/tabs/btc.jade:19 msgid "Success! You can deposit BTC via your generated BTC receiving address." -msgstr "" +msgstr "Succès! Vous pouvez déposer des BTC via votre adresse de réception BTC générée." #: src/jade/tabs/btc.jade:21 msgid "There was an error with your request. {{1}}" @@ -1221,7 +1221,7 @@ msgid "" "Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By" " proceeding, you agree to the btc2ripple {{1}} Following this action will " "allow btc2ripple to hold BTC on your behalf." -msgstr "" +msgstr "Ripple Trade a établi un partenariat avec btc2ripple afin de rendre le dépôt de BTC plus facile. En continuant, vous acceptez les {{1}} de btc2ripple. Cette action permettra à btc2ripple de conserver les BTC en votre nom." #: src/jade/tabs/btc.jade:56 msgid "Add btc2ripple" @@ -1238,7 +1238,7 @@ msgstr "btc2ripple aimerait:" #: src/jade/tabs/btc.jade:64 msgid "- Receive your email address {{1}}" -msgstr "" +msgstr "- Reçoit votre adresse email {{1}}" #: src/jade/tabs/btc.jade:65 msgid "({{userBlob.data.email}})" @@ -1274,7 +1274,7 @@ msgstr "Instructions de retrait" msgid "" "To withdraw to a BTC address, go to the Send tab and enter the BTC address. " "Using the btc2ripple service, you will be able tosend to that BTC address." -msgstr "" +msgstr "Pour retirer vers une adresse BTC, allez sur l'onglet Envoyer et entrez l'adresse BTC. En utilisant le service btc2ripple, vous pourrez envoyer à cette adresse BTC." #: src/jade/tabs/btc.jade:110 msgid "Waiting for response from SnapSwap service..." @@ -1401,7 +1401,7 @@ msgstr "€ 0.31 – € 15.00" msgid "" "Ripple Trade has partnered with SnapSwap to provide easier access to EUR. " "Following this action will enable SnapSwap to hold EUR on your behalf." -msgstr "" +msgstr "Ripple Trade a établi un partenariat avec SnapSwap pour faciliter l'accès aux EUR. Cette action permettra à SnapSwap de conserver les EUR en votre nom." #: src/jade/tabs/eur.jade:69 src/jade/tabs/usd.jade:66 msgid "Not connected" @@ -1466,7 +1466,7 @@ msgstr "Acheter (Ordre de marché)" msgid "" "Submit a buy order at the current market rate. Orders will execute " "instantly." -msgstr "" +msgstr "Soumettre un ordre d'achat au taux actuel du marché. Les ordres seront exécutés instantanément." # Receive (amount) #: src/jade/tabs/exchange.jade:27 @@ -1475,7 +1475,7 @@ msgstr "Je veux acheter" #: src/jade/tabs/exchange.jade:34 src/jade/tabs/widgets/balances.jade:49 msgid "add gateway" -msgstr "" +msgstr "ajouter passerelle" #: src/jade/tabs/exchange.jade:37 src/jade/tabs/send.jade:90 msgid "Please enter an amount." @@ -1604,7 +1604,7 @@ msgid "" "Allow this trust line's balances to be transferred to another issuer you " "trust. More " "information" -msgstr "" +msgstr "Autoriser les soldes de cette ligne de confiance à être transférés vers un autre émetteur auquel vous faites confiance. Plus d'information" #: src/jade/tabs/fund.jade:63 msgid "Cancel" @@ -1648,7 +1648,7 @@ msgstr "{{1}}XAU" #: src/jade/tabs/fund/menu.jade:28 msgid "Add any gateway" -msgstr "" +msgstr "Ajouter une passerelle" #: src/jade/tabs/fund/menu.jade:30 msgid "Learn more about gateways" @@ -1670,7 +1670,7 @@ msgstr "0.5% par an" msgid "" "Ripple Trade has partnered with GBI to provide easy access toXAU. By " "continuing, you are allowing GBI to hold gold on your behalf." -msgstr "" +msgstr "Ripple Trade a établi un partenariat avec GBI pour fournir un accès facile aux XAU. En continuant, vous acceptez que GBI conserve l'or en votre nom." #: src/jade/tabs/gold.jade:67 src/jade/tabs/jpy.jade:68 #: src/jade/tabs/mxn.jade:70 @@ -1684,12 +1684,12 @@ msgstr "{{1}} Connecté" #: src/jade/tabs/gold.jade:77 msgid "Deposit" -msgstr "" +msgstr "Dépôt" #: src/jade/tabs/gold.jade:78 msgid "" "GBI does not currently support direct deposits. You can {{1}} or {{2}}." -msgstr "" +msgstr "GBI ne supporte pas actuellement les dépôts directs. Vous pouvez {{1}} ou {{2}}." #: src/jade/tabs/gold.jade:84 msgid "Withdrawal" @@ -1699,7 +1699,7 @@ msgstr "Retrait" msgid "" "You can redeem the physical gold in 1 oz increments.To do so, you'll need to" " {{1}} and arrange to have the gold shipped to you." -msgstr "" +msgstr "Vous pouvez échanger contre de l'or physique par tranches de 1 oz. Pour ce faire, vous devrez {{1}} et prendre des dispositions pour avoir l'or livré chez vous." #: src/jade/tabs/history.jade:11 msgid "Loading History" @@ -1849,7 +1849,7 @@ msgstr "prix" #: src/jade/tabs/history/effects.jade:17 msgid "This order has been filled." -msgstr "Cette ordre a été complété." +msgstr "Cet ordre a été exécuté." #: src/jade/tabs/history/effects.jade:32 msgid "The rest of your order has been cancelled due to lack of funds." @@ -1893,14 +1893,14 @@ msgstr "Dépôt de Yen japonais" #: src/jade/tabs/jpy.jade:42 msgid "Tokyo JPY Issuer (~tokyojpy) {{1}}" -msgstr "" +msgstr "Tokyo JPY Issuer (~tokyojpy) {{1}}" #: src/jade/tabs/jpy.jade:59 msgid "" "Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to" " JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your" " behalf." -msgstr "" +msgstr "Ripple Trade a établi un partenariat avec Tokyo JPY Issuer pour faciliter l'accès aux JPY. Cette action permettra à Tokyo JPY Issuer de conserver les JPY en votre nom." #: src/jade/tabs/jpy.jade:78 msgid "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" @@ -1908,7 +1908,7 @@ msgstr "NOUVEAUX CLIENTS- INSCRIVEZ-VOUS SUR TOKYO JPY ISSUER" #: src/jade/tabs/jpy.jade:79 msgid "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" -msgstr "" +msgstr "{{1}}à Tokyo JPY Issuer. Vous aurez besoin de:{{2}}" #: src/jade/tabs/jpy.jade:84 msgid "A valid government-issued ID." @@ -1930,24 +1930,24 @@ msgstr "CLIENTS ACTUELS DE TOKYO JPY ISSUER" msgid "" "Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details" " {{1}}" -msgstr "" +msgstr "Tokyo JPY Issuer accepte les dépôts et les retraits par virement bancaire. Détails {{1}}" #: src/jade/tabs/jpy.jade:103 msgid "" "To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account " "and then initiate a transfer into your Ripple account." -msgstr "" +msgstr "Pour faire un dépôt, vous devrez tout d'abord déposer sur votre compte Tokyo JPY Issuer et ensuite lancer un transfert sur votre compte Ripple." #: src/jade/tabs/jpy.jade:105 msgid "" "To withdraw to a bank account, you’ll first send money from your Ripple " "account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo " "JPY Issuer site to send to your bank account." -msgstr "" +msgstr "Pour retirer vers un compte bancaire, vous devez d'abord envoyer l'argent de votre compte Ripple vers votre compte Tokyo JPY Issuer. Suivez les instructions sur le site de Tokyo JPY Issuer pour envoyer à votre compte bancaire." #: src/jade/tabs/kyc.jade:14 msgid "Profile completion is only available to US residents." -msgstr "" +msgstr "Le remplissage du profil est uniquement disponible pour les résidents des États-Unis." #: src/jade/tabs/kyc.jade:21 src/jade/tabs/trade.jade:285 msgid "Verifying your information. Please wait..." @@ -2003,7 +2003,7 @@ msgstr "Nous ne pouvons pas valider vos questions d'identité. Vérifiez vos ré msgid "" "Sorry, you've reached your maximum number of verification attempts. Please " "try again in 24 hours." -msgstr "" +msgstr "Désolé, vous avez atteint votre nombre maximum de tentatives de vérification. Veuillez réessayer dans 24 heures." #: src/jade/tabs/kyc.jade:43 msgid "" @@ -2119,7 +2119,7 @@ msgstr "Code de Vérification" #: src/jade/tabs/kyc.jade:183 msgid "Submit code" -msgstr "" +msgstr "Envoyer Code" #: src/jade/tabs/login.jade:4 src/jade/tabs/migrate.jade:4 #: src/jade/tabs/recover.jade:3 src/jade/tabs/register.jade:5 @@ -2266,15 +2266,15 @@ msgid "" "Ripple Trade has partnered with Bitso to provide easy access to MXN (Mexican" " Peso). By continuing, you agree with Bitso’s terms of service. Following " "this action will enable Bitso to hold MXN on your behalf." -msgstr "" +msgstr "Ripple Trade a établi un partenariat avec Bitso pour fournir un accès facile aux MXN (Mexican Peso). En continuant, vous acceptez les conditions de service de Bitso. Cette action permettra à Bitso de conserver les MXN en votre nom." #: src/jade/tabs/mxn.jade:80 msgid "TO FUND/REDEEM MEXICAN PESO:" -msgstr "" +msgstr "POUR APPROVISIONNER/RETIRER PESO MEXICAIN:" #: src/jade/tabs/mxn.jade:82 msgid "Register or login at {{1}}to initiate deposits and withdrawals." -msgstr "" +msgstr "Inscrivez-vous ou connectez-vous sur {{1}}pour initier les dépôts et retraits." #: src/jade/tabs/mxn.jade:86 msgid "" @@ -2285,20 +2285,20 @@ msgstr "Une pièce d'identité valide, non-US, émise par l'état (passeport, pe msgid "" "Proof of address (utility bill or other type of bill that has your address " "on it). Verification is required for peso deposits or withdrawals." -msgstr "" +msgstr "Un justificatif de domicile (facture de services publics ou autre type de facture contenant votre adresse). La vérification est requise pour les dépôts ou retraits de pesos." #: src/jade/tabs/mxn.jade:89 msgid "" "To fund your Ripple account, see the below options. Once a balance is " "deposited with Bitso, you can send it to your Ripple account using the Bitso" " Dashboard." -msgstr "" +msgstr "Pour approvisionner votre compte Ripple, voir les options ci-dessous. Une fois qu'un solde est déposé avec Bitso, vous pouvez l'envoyer à votre compte Ripple en utilisant le tableau de bord Bitso." #: src/jade/tabs/mxn.jade:90 msgid "" "To withdraw from your Ripple account, click on the 'Redeem from Ripple' " "button on the Bitso Dashboard." -msgstr "" +msgstr "Pour retirer de votre compte Ripple, cliquez sur le bouton 'Redeem from Ripple' sur le tableau de bord Bitso." #: src/jade/tabs/mxn.jade:92 src/jade/tabs/usd.jade:89 msgid "DEPOSIT OPTIONS" @@ -2314,7 +2314,7 @@ msgstr "Virement bancaire" #: src/jade/tabs/mxn.jade:97 src/jade/tabs/mxn.jade:107 msgid "SPEI (Mexican instant inter-bank transfer)" -msgstr "" +msgstr "SPEI (transfert inter-bancaire instantané Mexicain)" #: src/jade/tabs/mxn.jade:98 src/jade/tabs/mxn.jade:108 msgid "Bitcoin" @@ -2322,7 +2322,7 @@ msgstr "Bitcoin" #: src/jade/tabs/mxn.jade:99 msgid "MXN Cash (at locations across Mexico)" -msgstr "" +msgstr "Espèces MXN (à divers endroits au Mexique)" #: src/jade/tabs/mxn.jade:100 msgid "Pademobile wallet" @@ -2432,13 +2432,13 @@ msgstr "En savoir plus" #: src/jade/tabs/register.jade:41 msgid "Reserved for {{usernameReservedFor}}" -msgstr "" +msgstr "Réservé pour {{usernameReservedFor}}" #: src/jade/tabs/register.jade:43 msgid "" "This name belongs to a high-traffic website and has been reserved to prevent" " phishing." -msgstr "" +msgstr "Ce nom appartient à un site web à fort trafic et a été réservé pour prévenir le phishing." #: src/jade/tabs/register.jade:49 msgid "You can only use the following characters: a-z, 0-9 and hyphens (-)" @@ -2478,7 +2478,7 @@ msgstr "J'accepte les {{1:Conditions d'utilisation}} de {{productName}}" msgid "" "Please see our {{1}} to see how we collect, use and share information about " "you" -msgstr "Merci de regarder notre {{1}} pour voir comment nous recueillons, utilisons et partageons des informations vous concernant" +msgstr "Merci de consulter notre {{1}} pour voir comment nous recueillons, utilisons et partageons des informations vous concernant" #: src/jade/tabs/register.jade:110 msgid "Migrate Account" @@ -2618,11 +2618,11 @@ msgstr "L'authentification à deux facteurs a été désactivée avec succès." #: src/jade/tabs/security.jade:38 msgid "Password protection has been successfully enabled." -msgstr "" +msgstr "La protection par mot de passe a été activée avec succès." #: src/jade/tabs/security.jade:39 msgid "Password protection has been successfully disabled." -msgstr "" +msgstr "La protection par mot de passe a été désactivée avec succès." #: src/jade/tabs/security.jade:45 msgid "Security settings" @@ -2780,11 +2780,11 @@ msgstr "Étiquette source invalide" #: src/jade/tabs/send.jade:59 msgid "Invoice ID" -msgstr "" +msgstr "Identifiant d'envoi" #: src/jade/tabs/send.jade:62 msgid "Invoice ID must not be more than 64 characters long." -msgstr "" +msgstr "L'identifiant d'envoi ne doit pas dépasser 64 caractères." #: src/jade/tabs/send.jade:77 msgid "Recipient will receive" @@ -2946,11 +2946,11 @@ msgstr "Paramètres d'échange" #: src/jade/tabs/settingstrade.jade:14 msgid "Trade currency pairs" -msgstr "" +msgstr "Échanger paire de devises" #: src/jade/tabs/trade.jade:12 src/jade/tabs/trade.jade:451 msgid "Loading Order Book" -msgstr "" +msgstr "Chargement du livre d'ordres" #: src/jade/tabs/trade.jade:31 src/jade/tabs/widgets/markets.jade:24 msgid "flip" @@ -2958,11 +2958,11 @@ msgstr "basculer" #: src/jade/tabs/trade.jade:34 msgid "add pair" -msgstr "" +msgstr "Ajouter une paire" #: src/jade/tabs/trade.jade:37 msgid "edit pairs" -msgstr "" +msgstr "Modifier les paires" #: src/jade/tabs/trade.jade:41 msgid "Base Currency" @@ -2970,15 +2970,15 @@ msgstr "Devise de base" #: src/jade/tabs/trade.jade:44 msgid "Base Gateway" -msgstr "" +msgstr "Passerelle de base" #: src/jade/tabs/trade.jade:49 msgid "Counter Currency" -msgstr "" +msgstr "Devise de contrepartie" #: src/jade/tabs/trade.jade:52 msgid "Counter Gateway" -msgstr "" +msgstr "Passerelle de contrepartie" #: src/jade/tabs/trade.jade:57 msgid "Add" @@ -3008,7 +3008,7 @@ msgstr "Pas un nom Ripple ou une adresse valide." msgid "" "To show an orderbook, choose from the dropdown above or click \"Add custom " "pair\"." -msgstr "" +msgstr "Pour afficher un carnet d'ordres, choisissez dans le menu déroulant ci-dessus ou cliquez sur \"Ajouter une paire personnalisée\"." #: src/jade/tabs/trade.jade:86 msgid "Bid" @@ -3099,7 +3099,7 @@ msgstr "Vous n'avez pas de fonds suffisants pour créer un ordre." msgid "" "You are about to create an order to {{1: buy}} {{2: " "sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" -msgstr "" +msgstr "Vous êtes sur le point de créer un ordre pour {{1: acheter}} {{2: vendre}}{{3}}{{4:pour}}{{5}}{{6}}{{7:Êtes-vous sûr?}}{{8}}" #: src/jade/tabs/trade.jade:242 msgid "CAUTION: Your order is far off from the current market price." @@ -3150,7 +3150,7 @@ msgstr "Votre ordre #{{ cancelOrder.seq }} a été annulé." msgid "" "Your order could not be modified and no longer exists. Error: " "{{order[editOrder.type].engine_result_message}}" -msgstr "" +msgstr "Votre ordre n'a pas pu être modifié et n'existe plus. Erreur: {{order[editOrder.type].engine_result_message}}" #: src/jade/tabs/trade.jade:293 msgid "Unable to cancel order as it no longer exists." @@ -3158,15 +3158,15 @@ msgstr "Impossible d'annuler l'ordre car il n'existe plus." #: src/jade/tabs/trade.jade:295 msgid "Modifying your order (Placing new order) ..." -msgstr "" +msgstr "Modification de votre ordre (Placement nouvel ordre) ..." #: src/jade/tabs/trade.jade:299 msgid "Current pair only" -msgstr "" +msgstr "Paire actuelle uniquement" #: src/jade/tabs/trade.jade:313 src/jade/tabs/widgets/orders.jade:24 msgid "reverse" -msgstr "" +msgstr "inverser" #: src/jade/tabs/trade.jade:322 src/jade/tabs/widgets/orders.jade:33 msgid "QTY{{1}}" @@ -3178,7 +3178,7 @@ msgstr "Base{{1}}" #: src/jade/tabs/trade.jade:326 src/jade/tabs/widgets/orders.jade:37 msgid "Counter{{1}}" -msgstr "" +msgstr "Contre{{1}}" #: src/jade/tabs/trade.jade:328 src/jade/tabs/widgets/orders.jade:39 msgid "Limit{{1}}" @@ -3194,14 +3194,14 @@ msgstr "CONFIRMATION DE TRANSACTION" #: src/jade/tabs/trade.jade:362 msgid "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" -msgstr "" +msgstr "{{1:Veuillez confirmer que vous souhaitez annuler l'ordre #{{entry.seq}}}}" #: src/jade/tabs/trade.jade:364 msgid "" "{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div" " span.modal-order-type(l10n-inc) REMAIN: span remain data div span" ".modal-order-type(l10n-inc) PLACED: span time data" -msgstr "" +msgstr "{{1}} div span.modal-order-type(l10n-inc) ÉXECUTÉ: span filled data div span.modal-order-type(l10n-inc) RESTE: span remain data div span.modal-order-type(l10n-inc) PLACÉ: span time data" #: src/jade/tabs/trade.jade:371 msgid "with" @@ -3213,7 +3213,7 @@ msgstr "pour" #: src/jade/tabs/trade.jade:376 msgid "at" -msgstr "" +msgstr "à" #: src/jade/tabs/trade.jade:389 msgid "Cancel order" @@ -3227,7 +3227,7 @@ msgstr "retour" msgid "" "CAUTION: Your new order is far off from the current market price.
Do " "you still want to replace your order ?" -msgstr "" +msgstr "ATTENTION: Votre nouvel ordre est loin du prix du marché actuel.
Voulez-vous toujours remplacer votre ordre ?" #: src/jade/tabs/trade.jade:410 msgid "Unable to cancel order. Error: {{entry.errorMsg}}" @@ -3237,13 +3237,13 @@ msgstr "Impossible d'annuler l'ordre. Erreur: {{entry.errorMsg}}" msgid "" "Your order amount has been updated by Ripple. Please go back and edit again " "to modify this order." -msgstr "" +msgstr "Le montant de votre ordre a été mis à jour par Ripple. Veuillez revenir en arrière et éditer à nouveau pour modifier cet ordre." #: src/jade/tabs/trade.jade:414 msgid "" "Your order could not be modified. Error: " "{{order[editOrder.type].engine_result_message}}" -msgstr "" +msgstr "Votre ordre n'a pas pu être modifié. Erreur: {{order[editOrder.type].engine_result_message}}" #: src/jade/tabs/trade.jade:415 msgid "X" @@ -3255,7 +3255,7 @@ msgstr "tout annuler" #: src/jade/tabs/trade.jade:426 msgid "{{1:Please confirm that you wish to cancel all orders.}}" -msgstr "" +msgstr "{{1:Veuillez confirmer que vous souhaitez annuler tous les ordres.}}" #: src/jade/tabs/trade.jade:430 msgid "Cancel all orders" @@ -3263,7 +3263,7 @@ msgstr "Annuler tous les ordres" #: src/jade/tabs/trade.jade:433 src/jade/tabs/widgets/orders.jade:64 msgid "No current orders. {{1}}" -msgstr "" +msgstr "Pas d'ordres en cours. {{1}}" #: src/jade/tabs/trade.jade:434 src/jade/tabs/widgets/orders.jade:65 msgid "View orders history" @@ -3362,7 +3362,7 @@ msgid "" "Allow this trust line's balances to be transferred to another issuer you " "connect to. More " "information" -msgstr "" +msgstr "Autoriser les soldes de cette ligne de confiance à être transférés vers un autre émetteur auquel vous vous connectez. Plus d'information" #: src/jade/tabs/trust.jade:125 msgid "" @@ -3416,13 +3416,13 @@ msgstr "Activé" #: src/jade/tabs/trust.jade:239 src/jade/tabs/trust.jade:244 #: src/jade/tabs/trust.jade:248 msgid "Incoming trust" -msgstr "" +msgstr "Confiance entrante" #: src/jade/tabs/trust.jade:192 msgid "" "You can't edit incoming trust lines. Incoming trust lines are when other " "Ripple users trust you." -msgstr "" +msgstr "Vous ne pouvez pas modifier les lignes de confiance entrantes. Les lignes de confiance entrantes sont quand les autres utilisateurs de Ripple vous font confiance." #: src/jade/tabs/trust.jade:200 src/jade/tabs/trust.jade:202 #: src/jade/tabs/trust.jade:205 src/jade/tabs/trust.jade:207 @@ -3439,7 +3439,7 @@ msgstr "Enlever" msgid "" "You can't delete incoming trust lines. Incoming trust lines are when other " "Ripple users trust you." -msgstr "" +msgstr "Vous ne pouvez pas supprimer les lignes de confiance entrantes. Les lignes de confiance entrantes sont quand les autres utilisateurs de Ripple vous font confiance." #: src/jade/tabs/trust.jade:226 msgid "Rippling {{1}}" @@ -3523,7 +3523,7 @@ msgstr "$ 0.31-$ 5.00" msgid "" "Ripple Trade has partnered with SnapSwap to provide easier access to USD. " "Following this action will enable SnapSwap to hold USD on your behalf." -msgstr "" +msgstr "Ripple Trade a établi un partenariat avec SnapSwap pour faciliter l'accès aux USD. Cette action permettra à SnapSwap de conserver les USD en votre nom." #: src/jade/tabs/usd.jade:73 msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" @@ -3559,7 +3559,7 @@ msgstr "Directement sur votre compte PayPal (plusieurs minutes)" #: src/jade/tabs/widgets/assetallocation.jade:3 msgid "Asset Allocation" -msgstr "" +msgstr "Allocation d'actifs" #: src/jade/tabs/widgets/balances.jade:3 msgid "Balances" @@ -3603,13 +3603,13 @@ msgstr "Montant disponible
{{ account.max_spend | rpamount }} XRP" msgid "" "Balance
{{ entry.total | rpamount:{precision: 30, hard_precision: true} " "}} {{ entry.total | rpcurrency }}" -msgstr "" +msgstr "Solde
{{ entry.total | rpamount:{precision: 30, hard_precision: true} }} {{ entry.total | rpcurrency }}" #: src/jade/tabs/widgets/balances.jade:43 msgid "" "Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, " "hard_precision: true} }} {{ entry.total | rpcurrency }}" -msgstr "" +msgstr "Solde
{{ component | rpamount:{precision: 30, rel_min_precision: -2, hard_precision: true} }} {{ entry.total | rpcurrency }}" #: src/jade/tabs/widgets/markets.jade:3 msgid "Markets" @@ -3621,7 +3621,7 @@ msgstr "Valeur Nette" #: src/jade/tabs/widgets/networth.jade:8 msgid "{{1:{{1:In}}}}{{2}}" -msgstr "" +msgstr "{{1:{{1:Dans}}}}{{2}}" #: src/jade/tabs/widgets/networth.jade:14 msgid "Estimated from latest trade price" diff --git a/l10n/ja/messages.po b/l10n/ja/messages.po index 4d8b2f232..80602d2f8 100644 --- a/l10n/ja/messages.po +++ b/l10n/ja/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Ripple Trade\n" -"PO-Revision-Date: 2015-02-25 17:35+0000\n" +"PO-Revision-Date: 2015-05-05 17:43+0000\n" "Last-Translator: hideo suguri \n" "Language-Team: Japanese (http://www.transifex.com/projects/p/ripple-trade/language/ja/)\n" "MIME-Version: 1.0\n" @@ -1690,7 +1690,7 @@ msgstr "入金" #: src/jade/tabs/gold.jade:78 msgid "" "GBI does not currently support direct deposits. You can {{1}} or {{2}}." -msgstr "" +msgstr "GBIは現在、ダイレクト入金をサポートしていません。{{1}} 又は {{2}}を利用できます。" #: src/jade/tabs/gold.jade:84 msgid "Withdrawal" @@ -1700,7 +1700,7 @@ msgstr "引き出し" msgid "" "You can redeem the physical gold in 1 oz increments.To do so, you'll need to" " {{1}} and arrange to have the gold shipped to you." -msgstr "" +msgstr "あなたは1オンス単位で実物の金を交換することができます。そうするには、あなたは{{1}}する必要があり、金をあなたに出荷手配する必要があります。" #: src/jade/tabs/history.jade:11 msgid "Loading History" @@ -1909,46 +1909,46 @@ msgstr "新しいカスタマーとしてTOKYO JPYにサインアップ" #: src/jade/tabs/jpy.jade:79 msgid "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" -msgstr "" +msgstr "東京JPY発行所における{{1}} あなたは以下を必要です:{{2}}" #: src/jade/tabs/jpy.jade:84 msgid "A valid government-issued ID." -msgstr "" +msgstr "有効な政府発行の身分証明" #: src/jade/tabs/jpy.jade:86 msgid "A proof of address (utility bill, etc)." -msgstr "" +msgstr "住所証明(公共料金など)" #: src/jade/tabs/jpy.jade:88 msgid "A bank account under the same name." -msgstr "" +msgstr "同じ名前の銀行口座" #: src/jade/tabs/jpy.jade:90 msgid "EXISTING TOKYO JPY ISSUER CUSTOMERS" -msgstr "" +msgstr "既存の東京JPY発行所のお客さま" #: src/jade/tabs/jpy.jade:100 msgid "" "Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details" " {{1}}" -msgstr "" +msgstr "東京JPY発行所は、銀行振込みの入出金を受け付けます。詳細{{1}}" #: src/jade/tabs/jpy.jade:103 msgid "" "To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account " "and then initiate a transfer into your Ripple account." -msgstr "" +msgstr "入金するために、東京JPY発行所の口座に最初の入金をする必要があり、それから、あなたのRippleのアカウントに転送します。" #: src/jade/tabs/jpy.jade:105 msgid "" "To withdraw to a bank account, you’ll first send money from your Ripple " "account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo " "JPY Issuer site to send to your bank account." -msgstr "" +msgstr "銀行口座に出金するには、まず東京JPY発行所アカウントにリップル口座からお金をお送ります。銀行預金口座に送るには東京JPY発行所のサイトの手順に従ってください。" #: src/jade/tabs/kyc.jade:14 msgid "Profile completion is only available to US residents." -msgstr "" +msgstr "プロフィールの完成は、米国居住者だけが利用できます。" #: src/jade/tabs/kyc.jade:21 src/jade/tabs/trade.jade:285 msgid "Verifying your information. Please wait..." @@ -2256,7 +2256,7 @@ msgstr "メキシコペソ入金" #: src/jade/tabs/mxn.jade:42 msgid "Bitso (~bitso) {{1}}{{2}}" -msgstr "" +msgstr "Bitso (~bitso) {{1}}{{2}}" #: src/jade/tabs/mxn.jade:47 msgid "All countries except the US" @@ -3155,15 +3155,15 @@ msgstr "" #: src/jade/tabs/trade.jade:293 msgid "Unable to cancel order as it no longer exists." -msgstr "" +msgstr "それはもう存在しないので、注文をキャンセルすることができません。" #: src/jade/tabs/trade.jade:295 msgid "Modifying your order (Placing new order) ..." -msgstr "" +msgstr "ご注文の変更(新規注文) ..." #: src/jade/tabs/trade.jade:299 msgid "Current pair only" -msgstr "" +msgstr "現在のペアのみ" #: src/jade/tabs/trade.jade:313 src/jade/tabs/widgets/orders.jade:24 msgid "reverse" diff --git a/l10n/ru/messages.po b/l10n/ru/messages.po index 5349c01d3..643b8ee5d 100644 --- a/l10n/ru/messages.po +++ b/l10n/ru/messages.po @@ -22,7 +22,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ru\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: src/jade/client/index.jade:5 src/jade/client/navbar.jade:117 #: src/jade/tabs/trust.jade:59 src/jade/tabs/trust.jade:168 From 3898c4adecd651cf8c8459da63f6d0f858537261 Mon Sep 17 00:00:00 2001 From: "J.M" Date: Tue, 19 May 2015 20:09:43 +0200 Subject: [PATCH 312/321] Update localization source file from templates --- l10n/templates/messages.pot | 1332 +++++++++++++++++++---------------- 1 file changed, 728 insertions(+), 604 deletions(-) diff --git a/l10n/templates/messages.pot b/l10n/templates/messages.pot index 51d36f2a1..14e7cac0d 100644 --- a/l10n/templates/messages.pot +++ b/l10n/templates/messages.pot @@ -8,8 +8,8 @@ msgstr "" #: src/templates/client/layout.jade:4 #: src/templates/client/navbar.jade:141 -#: src/templates/tabs/trust.jade:68 -#: src/templates/tabs/trust.jade:215 +#: src/templates/tabs/trust.jade:65 +#: src/templates/tabs/trust.jade:210 msgid "Balance" msgstr "Balance" @@ -25,7 +25,7 @@ msgstr "Contacts" #: src/templates/client/layout.jade:11 #: src/templates/client/navbar.jade:21 -#: src/templates/tabs/contacts.jade:114 +#: src/templates/tabs/contacts.jade:119 msgid "Send" msgstr "Send" @@ -38,15 +38,14 @@ msgid "Trade (advanced)" msgstr "Trade (advanced)" #: src/templates/client/layout.jade:21 -#: src/templates/client/navbar.jade:27 -msgid "Fund" -msgstr "Fund" +#: src/templates/client/navbar.jade:157 +msgid "Featured gateways" +msgstr "Featured gateways" #: src/templates/client/layout.jade:23 -#: src/templates/tabs/fund/menu.jade:32 -#: src/templates/tabs/settings/navbar.jade:5 -msgid "Gateways" -msgstr "Gateways" +#: src/templates/client/navbar.jade:159 +msgid "Add any gateway (trust lines)" +msgstr "Add any gateway (trust lines)" #: src/templates/client/layout.jade:27 #: src/templates/client/navbar.jade:131 @@ -56,7 +55,7 @@ msgstr "Account" #: src/templates/client/layout.jade:30 #: src/templates/client/navbar.jade:133 -#: src/templates/tabs/settingsgateway.jade:14 +#: src/templates/tabs/settingsgateway.jade:16 msgid "Settings" msgstr "Settings" @@ -115,26 +114,32 @@ msgstr "Ripple's growing gateway network." #: src/templates/client/layout.jade:123 #: src/templates/tabs/brl.jade:62 #: src/templates/tabs/brl.jade:66 -#: src/templates/tabs/brl.jade:102 +#: src/templates/tabs/brl.jade:105 #: src/templates/tabs/btc.jade:53 +#: src/templates/tabs/btc.jade:152 +#: src/templates/tabs/btc.jade:189 +#: src/templates/tabs/btc.jade:199 #: src/templates/tabs/eur.jade:59 #: src/templates/tabs/eur.jade:63 -#: src/templates/tabs/eur.jade:95 -#: src/templates/tabs/eur.jade:102 +#: src/templates/tabs/eur.jade:98 +#: src/templates/tabs/eur.jade:105 #: src/templates/tabs/gold.jade:60 #: src/templates/tabs/jpy.jade:64 -#: src/templates/tabs/jpy.jade:100 -#: src/templates/tabs/jpy.jade:106 +#: src/templates/tabs/jpy.jade:103 +#: src/templates/tabs/jpy.jade:109 #: src/templates/tabs/mxn.jade:62 #: src/templates/tabs/send.jade:100 #: src/templates/tabs/sgd.jade:59 #: src/templates/tabs/sgd.jade:63 -#: src/templates/tabs/sgd.jade:101 -#: src/templates/tabs/sgd.jade:107 +#: src/templates/tabs/sgd.jade:104 +#: src/templates/tabs/sgd.jade:110 #: src/templates/tabs/usd.jade:60 -#: src/templates/tabs/usd.jade:92 -#: src/templates/tabs/usd.jade:99 -#: src/templates/tabs/usd.jade:107 +#: src/templates/tabs/usd.jade:95 +#: src/templates/tabs/usd.jade:102 +#: src/templates/tabs/usd.jade:110 +#: src/templates/tabs/usd.jade:132 +#: src/templates/tabs/usd.jade:169 +#: src/templates/tabs/usd.jade:181 #: src/templates/tabs/banner/unfunded.jade:6 msgid "{{1}}" msgstr "{{1}}" @@ -185,6 +190,10 @@ msgstr "Overview" msgid "Trade" msgstr "Trade" +#: src/templates/client/navbar.jade:27 +msgid "Gateways" +msgstr "Gateways" + #: src/templates/client/navbar.jade:46 msgid ""Disconnected from the Ripple network"" msgstr ""Disconnected from the Ripple network"" @@ -208,15 +217,27 @@ msgstr ""Connected to the Ripple network."" #: src/templates/client/navbar.jade:68 #: src/templates/tabs/apps.jade:8 #: src/templates/tabs/balance.jade:10 +#: src/templates/tabs/brl.jade:93 #: src/templates/tabs/btc.jade:81 +#: src/templates/tabs/btc.jade:104 +#: src/templates/tabs/btc.jade:172 +#: src/templates/tabs/eur.jade:83 #: src/templates/tabs/exchange.jade:11 +#: src/templates/tabs/gold.jade:85 +#: src/templates/tabs/jpy.jade:86 #: src/templates/tabs/kyc.jade:50 +#: src/templates/tabs/mxn.jade:88 #: src/templates/tabs/recover.jade:32 #: src/templates/tabs/security.jade:164 #: src/templates/tabs/send.jade:11 +#: src/templates/tabs/sgd.jade:87 #: src/templates/tabs/su.jade:8 +#: src/templates/tabs/trade.jade:650 +#: src/templates/tabs/trade.jade:690 #: src/templates/tabs/trust.jade:9 -#: src/templates/tabs/trust.jade:182 +#: src/templates/tabs/trust.jade:177 +#: src/templates/tabs/usd.jade:80 +#: src/templates/tabs/usd.jade:152 #: src/templates/tabs/account/private.jade:7 #: src/templates/tabs/account/private.jade:16 #: src/templates/tabs/account/public.jade:59 @@ -241,7 +262,7 @@ msgstr "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" #: src/templates/client/navbar.jade:98 #: src/templates/tabs/history.jade:121 -#: src/templates/tabs/history/effects.jade:63 +#: src/templates/tabs/history/effects.jade:94 msgid "You have now connected to the gateway {{1}}{{2: for }}{{3}}." msgstr "You have now connected to the gateway {{1}}{{2: for }}{{3}}." @@ -256,7 +277,7 @@ msgstr "Account details have been changed" #: src/templates/client/navbar.jade:119 #: src/templates/tabs/history.jade:147 -#: src/templates/tabs/trust.jade:220 +#: src/templates/tabs/trust.jade:215 msgid "Rippling" msgstr "Rippling" @@ -278,15 +299,14 @@ msgid "Simple" msgstr "Simple" #: src/templates/client/navbar.jade:152 -#: src/templates/tabs/settings/navbar.jade:4 msgid "Advanced" msgstr "Advanced" -#: src/templates/client/navbar.jade:156 +#: src/templates/client/navbar.jade:162 msgid "Your account was successfully recovered and encrypted with the new password you provided!" msgstr "Your account was successfully recovered and encrypted with the new password you provided!" -#: src/templates/client/navbar.jade:158 +#: src/templates/client/navbar.jade:164 msgid "'l10n'" msgstr "×" @@ -511,33 +531,75 @@ msgstr "Request pending" msgid "Request successful" msgstr "Request successful" -#: src/templates/strings/myOrders.jade:3 -msgid "Type" -msgstr "Type" +#: src/templates/popup/modifyOrderError.jade:2 +msgid "Modify Order Error" +msgstr "Modify Order Error" -#: src/templates/strings/myOrders.jade:4 -#: src/templates/tabs/trade.jade:434 -#: src/templates/tabs/widgets/orders.jade:40 -msgid "QTY" -msgstr "QTY" +#: src/templates/popup/modifyOrderError.jade:4 +msgid "Sorry, your order could not be modified." +msgstr "Sorry, your order could not be modified." -#: src/templates/strings/myOrders.jade:5 -#: src/templates/tabs/trade.jade:439 -#: src/templates/tabs/widgets/orders.jade:45 -msgid "Base" -msgstr "Base" +#: src/templates/popup/modifyOrderError.jade:5 +msgid "Your original order was cancelled but the modified order was not placed.
" +msgstr "Your original order was cancelled but the modified order was not placed.
" -#: src/templates/strings/myOrders.jade:6 -#: src/templates/tabs/trade.jade:444 -#: src/templates/tabs/widgets/orders.jade:50 -msgid "Counter" -msgstr "Counter" +#: src/templates/popup/modifyOrderError.jade:6 +msgid "The quantity of your order changed by {{order.qtyChangeAfterCancel | rpamount}} before the order could be modified.

" +msgstr "The quantity of your order changed by {{order.qtyChangeAfterCancel | rpamount}} before the order could be modified.

" -#: src/templates/strings/myOrders.jade:7 -#: src/templates/tabs/trust.jade:218 -#: src/templates/tabs/trust.jade:326 -msgid "Limit" -msgstr "Limit" +#: src/templates/popup/modifyOrderError.jade:7 +msgid "To safeguard against the possibility of overfills a new order has not been placed.
" +msgstr "To safeguard against the possibility of overfills a new order has not been placed.
" + +#: src/templates/popup/modifyOrderError.jade:8 +msgid "Please check your balance and history before placing the new order manually.
" +msgstr "Please check your balance and history before placing the new order manually.
" + +#: src/templates/popup/modifyOrderError.jade:10 +#: src/templates/popup/unlock.jade:21 +msgid "Close" +msgstr "Close" + +#: src/templates/popup/unlock.jade:2 +msgid "Unlock account" +msgstr "Unlock account" + +#: src/templates/popup/unlock.jade:5 +#: src/templates/tabs/recover.jade:44 +#: src/templates/tabs/register.jade:72 +#: src/templates/tabs/security.jade:12 +#: src/templates/tabs/login/form.jade:9 +msgid "Password" +msgstr "Password" + +#: src/templates/popup/unlock.jade:11 +msgid "Please enter your password to show your secret key." +msgstr "Please enter your password to show your secret key." + +#: src/templates/popup/unlock.jade:12 +#: src/templates/tabs/send.jade:292 +msgid "Please enter your password to confirm this transaction." +msgstr "Please enter your password to confirm this transaction." + +#: src/templates/popup/unlock.jade:13 +msgid "This password is incorrect, please try again." +msgstr "This password is incorrect, please try again." + +#: src/templates/popup/unlock.jade:14 +#: src/templates/messages/sendconvert/localerror.jade:18 +#: src/templates/tabs/account/public.jade:48 +msgid "Your account cannot be accessed at the moment. Please try again later." +msgstr "Your account cannot be accessed at the moment. Please try again later." + +#: src/templates/popup/unlock.jade:17 +msgid "Confirming password" +msgstr "Confirming password" + +#: src/templates/popup/unlock.jade:20 +#: src/templates/tabs/security.jade:163 +#: src/templates/tabs/account/public.jade:58 +msgid "Submit" +msgstr "Submit" #: src/templates/tabs/_usd.jade:6 #: src/templates/tabs/brl.jade:6 @@ -588,7 +650,7 @@ msgstr "Your deposit failed. Your bank account was not charged. Please contact { #: src/templates/tabs/_usd.jade:92 #: src/templates/tabs/fund.jade:56 #: src/templates/tabs/history.jade:179 -#: src/templates/tabs/trust.jade:104 +#: src/templates/tabs/trust.jade:99 msgid "Amount" msgstr "Amount" @@ -623,11 +685,11 @@ msgstr "Back" #: src/templates/tabs/_usd.jade:112 #: src/templates/tabs/btc.jade:82 #: src/templates/tabs/exchange.jade:145 -#: src/templates/tabs/send.jade:299 +#: src/templates/tabs/send.jade:304 #: src/templates/tabs/trade.jade:97 #: src/templates/tabs/trade.jade:115 -#: src/templates/tabs/trade.jade:349 -#: src/templates/tabs/trust.jade:183 +#: src/templates/tabs/trade.jade:378 +#: src/templates/tabs/trust.jade:178 msgid "Confirm" msgstr "Confirm" @@ -670,16 +732,18 @@ msgstr "A server has been changed successfully." #: src/templates/tabs/advanced.jade:33 #: src/templates/tabs/advanced.jade:60 #: src/templates/tabs/advanced.jade:85 -#: src/templates/tabs/advanced.jade:153 -#: src/templates/tabs/contacts.jade:110 +#: src/templates/tabs/advanced.jade:108 +#: src/templates/tabs/advanced.jade:130 +#: src/templates/tabs/advanced.jade:197 +#: src/templates/tabs/contacts.jade:115 #: src/templates/tabs/security.jade:127 #: src/templates/tabs/security.jade:197 -#: src/templates/tabs/settingsgateway.jade:23 -#: src/templates/tabs/settingsgateway.jade:50 -#: src/templates/tabs/settingsgateway.jade:74 -#: src/templates/tabs/trade.jade:528 -#: src/templates/tabs/trust.jade:259 -#: src/templates/tabs/trust.jade:261 +#: src/templates/tabs/settingsgateway.jade:25 +#: src/templates/tabs/settingsgateway.jade:52 +#: src/templates/tabs/settingsgateway.jade:78 +#: src/templates/tabs/trade.jade:535 +#: src/templates/tabs/trust.jade:254 +#: src/templates/tabs/trust.jade:256 #: src/templates/tabs/account/public.jade:9 msgid "edit" msgstr "edit" @@ -687,39 +751,44 @@ msgstr "edit" #: src/templates/tabs/advanced.jade:43 #: src/templates/tabs/advanced.jade:70 #: src/templates/tabs/advanced.jade:98 -#: src/templates/tabs/advanced.jade:138 -#: src/templates/tabs/contacts.jade:156 +#: src/templates/tabs/advanced.jade:120 +#: src/templates/tabs/advanced.jade:142 +#: src/templates/tabs/advanced.jade:182 +#: src/templates/tabs/contacts.jade:161 #: src/templates/tabs/fund.jade:99 #: src/templates/tabs/notifications.jade:53 #: src/templates/tabs/security.jade:207 -#: src/templates/tabs/send.jade:352 -#: src/templates/tabs/send.jade:392 -#: src/templates/tabs/settingsgateway.jade:33 -#: src/templates/tabs/settingsgateway.jade:61 -#: src/templates/tabs/settingsgateway.jade:85 -#: src/templates/tabs/trust.jade:161 -#: src/templates/tabs/trust.jade:343 +#: src/templates/tabs/send.jade:357 +#: src/templates/tabs/send.jade:398 +#: src/templates/tabs/settingsgateway.jade:35 +#: src/templates/tabs/settingsgateway.jade:63 +#: src/templates/tabs/settingsgateway.jade:89 +#: src/templates/tabs/trust.jade:156 +#: src/templates/tabs/trust.jade:339 +#: src/templates/tabs/trust.jade:352 msgid "Save" msgstr "Save" #: src/templates/tabs/advanced.jade:46 #: src/templates/tabs/advanced.jade:73 -#: src/templates/tabs/advanced.jade:141 -#: src/templates/tabs/contacts.jade:168 +#: src/templates/tabs/advanced.jade:185 +#: src/templates/tabs/contacts.jade:173 #: src/templates/tabs/security.jade:222 -#: src/templates/tabs/settingsgateway.jade:36 -#: src/templates/tabs/settingsgateway.jade:64 -#: src/templates/tabs/settingsgateway.jade:88 +#: src/templates/tabs/settingsgateway.jade:38 +#: src/templates/tabs/settingsgateway.jade:66 +#: src/templates/tabs/settingsgateway.jade:92 msgid "Delete" msgstr "Delete" #: src/templates/tabs/advanced.jade:48 #: src/templates/tabs/advanced.jade:75 #: src/templates/tabs/advanced.jade:100 -#: src/templates/tabs/advanced.jade:143 +#: src/templates/tabs/advanced.jade:122 +#: src/templates/tabs/advanced.jade:144 +#: src/templates/tabs/advanced.jade:187 #: src/templates/tabs/btc.jade:83 -#: src/templates/tabs/contacts.jade:95 -#: src/templates/tabs/contacts.jade:170 +#: src/templates/tabs/contacts.jade:99 +#: src/templates/tabs/contacts.jade:175 #: src/templates/tabs/exchange.jade:148 #: src/templates/tabs/exchange.jade:161 #: src/templates/tabs/kyc.jade:152 @@ -731,17 +800,17 @@ msgstr "Delete" #: src/templates/tabs/security.jade:84 #: src/templates/tabs/security.jade:119 #: src/templates/tabs/security.jade:166 -#: src/templates/tabs/send.jade:303 -#: src/templates/tabs/send.jade:317 -#: src/templates/tabs/send.jade:353 -#: src/templates/tabs/send.jade:394 -#: src/templates/tabs/settingsgateway.jade:38 +#: src/templates/tabs/send.jade:308 +#: src/templates/tabs/send.jade:322 +#: src/templates/tabs/send.jade:358 +#: src/templates/tabs/send.jade:400 +#: src/templates/tabs/settingsgateway.jade:40 #: src/templates/tabs/trade.jade:79 -#: src/templates/tabs/trade.jade:486 -#: src/templates/tabs/trust.jade:184 -#: src/templates/tabs/trust.jade:187 -#: src/templates/tabs/trust.jade:311 -#: src/templates/tabs/trust.jade:395 +#: src/templates/tabs/trade.jade:493 +#: src/templates/tabs/trust.jade:179 +#: src/templates/tabs/trust.jade:182 +#: src/templates/tabs/trust.jade:306 +#: src/templates/tabs/trust.jade:404 #: src/templates/tabs/account/public.jade:61 msgid "cancel" msgstr "cancel" @@ -749,14 +818,14 @@ msgstr "cancel" #: src/templates/tabs/advanced.jade:56 #: src/templates/tabs/advanced.jade:68 #: src/templates/tabs/security.jade:179 -#: src/templates/tabs/settingsgateway.jade:47 -#: src/templates/tabs/settingsgateway.jade:59 +#: src/templates/tabs/settingsgateway.jade:49 +#: src/templates/tabs/settingsgateway.jade:61 msgid "Show" msgstr "Show" #: src/templates/tabs/advanced.jade:57 #: src/templates/tabs/security.jade:180 -#: src/templates/tabs/settingsgateway.jade:48 +#: src/templates/tabs/settingsgateway.jade:50 msgid "Hide" msgstr "Hide" @@ -769,39 +838,47 @@ msgid "Maximum network fee" msgstr "Maximum network fee" #: src/templates/tabs/advanced.jade:102 +msgid "Send: max deviation from specified amount" +msgstr "Send: max deviation from specified amount" + +#: src/templates/tabs/advanced.jade:124 +msgid "Simple Trade: max deviation from specified amount" +msgstr "Simple Trade: max deviation from specified amount" + +#: src/templates/tabs/advanced.jade:146 msgid "Confirmation Page settings" msgstr "Confirmation Page settings" -#: src/templates/tabs/advanced.jade:107 +#: src/templates/tabs/advanced.jade:151 msgid "Server settings" msgstr "Server settings" -#: src/templates/tabs/advanced.jade:114 +#: src/templates/tabs/advanced.jade:158 msgid "WebSocket host name" msgstr "WebSocket host name" -#: src/templates/tabs/advanced.jade:116 +#: src/templates/tabs/advanced.jade:160 msgid "Port number" msgstr "Port number" -#: src/templates/tabs/advanced.jade:125 +#: src/templates/tabs/advanced.jade:169 msgid "Socket ip or hostname is invalid or is down." msgstr "Socket ip or hostname is invalid or is down." -#: src/templates/tabs/advanced.jade:127 +#: src/templates/tabs/advanced.jade:171 msgid "Port number is invalid." msgstr "Port number is invalid." -#: src/templates/tabs/advanced.jade:136 -#: src/templates/tabs/advanced.jade:150 +#: src/templates/tabs/advanced.jade:180 +#: src/templates/tabs/advanced.jade:194 msgid "Secure" msgstr "Secure" -#: src/templates/tabs/advanced.jade:151 +#: src/templates/tabs/advanced.jade:195 msgid "Not Secure" msgstr "Not Secure" -#: src/templates/tabs/advanced.jade:156 +#: src/templates/tabs/advanced.jade:200 msgid "Add new server" msgstr "Add new server" @@ -867,21 +944,23 @@ msgstr "Brazilian Real Deposit" #: src/templates/tabs/brl.jade:50 #: src/templates/tabs/btc.jade:42 +#: src/templates/tabs/btc.jade:139 #: src/templates/tabs/eur.jade:47 #: src/templates/tabs/gold.jade:49 #: src/templates/tabs/jpy.jade:50 #: src/templates/tabs/mxn.jade:50 #: src/templates/tabs/sgd.jade:47 -#: src/templates/tabs/trust.jade:212 +#: src/templates/tabs/trust.jade:207 #: src/templates/tabs/usd.jade:47 +#: src/templates/tabs/usd.jade:119 msgid "Gateway" msgstr "Gateway" #: src/templates/tabs/brl.jade:51 #: src/templates/tabs/eur.jade:57 -#: src/templates/tabs/mxn.jade:90 -#: src/templates/tabs/mxn.jade:102 -#: src/templates/tabs/mxn.jade:112 +#: src/templates/tabs/mxn.jade:93 +#: src/templates/tabs/mxn.jade:105 +#: src/templates/tabs/mxn.jade:115 #: src/templates/tabs/security.jade:54 #: src/templates/tabs/sgd.jade:57 msgid "{{1}}{{2}}" @@ -893,12 +972,14 @@ msgstr "Ripple (~rippex)" #: src/templates/tabs/brl.jade:55 #: src/templates/tabs/btc.jade:46 +#: src/templates/tabs/btc.jade:145 #: src/templates/tabs/eur.jade:53 #: src/templates/tabs/gold.jade:53 #: src/templates/tabs/jpy.jade:54 #: src/templates/tabs/mxn.jade:55 #: src/templates/tabs/sgd.jade:53 #: src/templates/tabs/usd.jade:53 +#: src/templates/tabs/usd.jade:125 msgid "Availability" msgstr "Availability" @@ -908,12 +989,14 @@ msgstr "Brazil" #: src/templates/tabs/brl.jade:58 #: src/templates/tabs/btc.jade:49 +#: src/templates/tabs/btc.jade:148 #: src/templates/tabs/eur.jade:56 #: src/templates/tabs/gold.jade:56 #: src/templates/tabs/jpy.jade:57 #: src/templates/tabs/mxn.jade:58 #: src/templates/tabs/sgd.jade:56 #: src/templates/tabs/usd.jade:56 +#: src/templates/tabs/usd.jade:128 msgid "Fees" msgstr "Fees" @@ -935,12 +1018,14 @@ msgstr "Transfer: 0%" #: src/templates/tabs/brl.jade:65 #: src/templates/tabs/btc.jade:52 +#: src/templates/tabs/btc.jade:151 #: src/templates/tabs/eur.jade:62 #: src/templates/tabs/gold.jade:59 #: src/templates/tabs/jpy.jade:63 #: src/templates/tabs/mxn.jade:61 #: src/templates/tabs/sgd.jade:62 #: src/templates/tabs/usd.jade:59 +#: src/templates/tabs/usd.jade:131 msgid "Rating" msgstr "Rating" @@ -953,35 +1038,41 @@ msgid "Add Rippex" msgstr "Add Rippex" #: src/templates/tabs/brl.jade:79 -#: src/templates/tabs/btc.jade:88 +#: src/templates/tabs/btc.jade:91 +#: src/templates/tabs/btc.jade:162 #: src/templates/tabs/eur.jade:73 #: src/templates/tabs/gold.jade:71 #: src/templates/tabs/jpy.jade:72 #: src/templates/tabs/mxn.jade:74 #: src/templates/tabs/sgd.jade:73 #: src/templates/tabs/usd.jade:70 +#: src/templates/tabs/usd.jade:142 msgid "Adding..." msgstr "Adding..." #: src/templates/tabs/brl.jade:80 -#: src/templates/tabs/btc.jade:89 +#: src/templates/tabs/btc.jade:92 +#: src/templates/tabs/btc.jade:163 #: src/templates/tabs/eur.jade:74 #: src/templates/tabs/gold.jade:72 #: src/templates/tabs/jpy.jade:73 #: src/templates/tabs/mxn.jade:75 #: src/templates/tabs/sgd.jade:74 #: src/templates/tabs/usd.jade:71 +#: src/templates/tabs/usd.jade:143 msgid "Hide instructions" msgstr "Hide instructions" #: src/templates/tabs/brl.jade:81 -#: src/templates/tabs/btc.jade:90 +#: src/templates/tabs/btc.jade:93 +#: src/templates/tabs/btc.jade:164 #: src/templates/tabs/eur.jade:75 #: src/templates/tabs/gold.jade:73 #: src/templates/tabs/jpy.jade:74 #: src/templates/tabs/mxn.jade:76 #: src/templates/tabs/sgd.jade:75 #: src/templates/tabs/usd.jade:72 +#: src/templates/tabs/usd.jade:144 msgid "Show instructions" msgstr "Show instructions" @@ -994,54 +1085,58 @@ msgid "{{1}}Connected" msgstr "{{1}}Connected" #: src/templates/tabs/brl.jade:90 +#: src/templates/tabs/btc.jade:169 #: src/templates/tabs/eur.jade:80 #: src/templates/tabs/gold.jade:82 #: src/templates/tabs/jpy.jade:83 #: src/templates/tabs/mxn.jade:85 #: src/templates/tabs/sgd.jade:84 #: src/templates/tabs/usd.jade:77 +#: src/templates/tabs/usd.jade:149 msgid "Your account has to be activated before you can add a gateway account." msgstr "Your account has to be activated before you can add a gateway account." -#: src/templates/tabs/brl.jade:93 -#: src/templates/tabs/eur.jade:84 -#: src/templates/tabs/gold.jade:85 -#: src/templates/tabs/jpy.jade:86 -#: src/templates/tabs/mxn.jade:88 -#: src/templates/tabs/sgd.jade:88 -#: src/templates/tabs/usd.jade:81 +#: src/templates/tabs/brl.jade:96 +#: src/templates/tabs/btc.jade:176 +#: src/templates/tabs/eur.jade:87 +#: src/templates/tabs/gold.jade:88 +#: src/templates/tabs/jpy.jade:89 +#: src/templates/tabs/mxn.jade:91 +#: src/templates/tabs/sgd.jade:91 +#: src/templates/tabs/usd.jade:84 +#: src/templates/tabs/usd.jade:156 msgid "×" msgstr "×" -#: src/templates/tabs/brl.jade:94 +#: src/templates/tabs/brl.jade:97 msgid "NEW CUSTOMERS- SIGN UP AT RIPPEX" msgstr "NEW CUSTOMERS- SIGN UP AT RIPPEX" -#: src/templates/tabs/brl.jade:95 +#: src/templates/tabs/brl.jade:98 msgid "{{1}} at Rippex.net to initiate deposits and withdrawals. You will need:{{2}}" msgstr "{{1}} at Rippex.net to initiate deposits and withdrawals. You will need:{{2}}" -#: src/templates/tabs/brl.jade:99 +#: src/templates/tabs/brl.jade:102 msgid "A {{1}}" msgstr "A {{1}}" -#: src/templates/tabs/brl.jade:101 +#: src/templates/tabs/brl.jade:104 msgid "A bank account in Brazil." msgstr "A bank account in Brazil." -#: src/templates/tabs/brl.jade:105 +#: src/templates/tabs/brl.jade:108 msgid "EXISTING RIPPEX CUSTOMERS" msgstr "EXISTING RIPPEX CUSTOMERS" -#: src/templates/tabs/brl.jade:106 +#: src/templates/tabs/brl.jade:109 msgid "If you have a Rippex account, {{1}}" msgstr "If you have a Rippex account, {{1}}" -#: src/templates/tabs/brl.jade:109 +#: src/templates/tabs/brl.jade:112 msgid "DEPOSIT INSTRUCTIONS" msgstr "DEPOSIT INSTRUCTIONS" -#: src/templates/tabs/brl.jade:110 +#: src/templates/tabs/brl.jade:113 msgid "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" msgstr "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" @@ -1066,8 +1161,10 @@ msgid "btc2ripple (~SnapSwap) {{1}}" msgstr "btc2ripple (~SnapSwap) {{1}}" #: src/templates/tabs/btc.jade:47 +#: src/templates/tabs/btc.jade:146 #: src/templates/tabs/gold.jade:54 #: src/templates/tabs/jpy.jade:55 +#: src/templates/tabs/usd.jade:126 msgid "All countries" msgstr "All countries" @@ -1085,7 +1182,7 @@ msgstr "Add btc2ripple" #: src/templates/tabs/btc.jade:68 #: src/templates/tabs/security.jade:69 -#: src/templates/tabs/trust.jade:165 +#: src/templates/tabs/trust.jade:160 msgid "Connect" msgstr "Connect" @@ -1110,145 +1207,224 @@ msgid "By proceeding, you agree to the btc2ripple {{1}}" msgstr "By proceeding, you agree to the btc2ripple {{1}}" #: src/templates/tabs/btc.jade:85 -#: src/templates/tabs/btc.jade:99 +#: src/templates/tabs/btc.jade:105 msgid "SnapSwap's btc2ripple service is currently unavailable. Please check back later." msgstr "SnapSwap's btc2ripple service is currently unavailable. Please check back later." -#: src/templates/tabs/btc.jade:95 +#: src/templates/tabs/btc.jade:88 +#: src/templates/tabs/btc.jade:108 +msgid "You’ve already used this email address to generate a bitcoin receiving address in Ripple Trade.Please contact support@btc2ripple.com if you want to use this Ripple Trade account instead." +msgstr "You’ve already used this email address to generate a bitcoin receiving address in Ripple Trade.Please contact support@btc2ripple.com if you want to use this Ripple Trade account instead." + +#: src/templates/tabs/btc.jade:98 +#: src/templates/tabs/btc.jade:168 #: src/templates/tabs/eur.jade:79 #: src/templates/tabs/usd.jade:76 +#: src/templates/tabs/usd.jade:148 msgid "Connected" msgstr "Connected" -#: src/templates/tabs/btc.jade:98 +#: src/templates/tabs/btc.jade:101 +#: src/templates/tabs/btc.jade:167 #: src/templates/tabs/eur.jade:78 #: src/templates/tabs/usd.jade:75 +#: src/templates/tabs/usd.jade:147 msgid "Not connected" msgstr "Not connected" -#: src/templates/tabs/btc.jade:102 -msgid "You’ve already used this email address to generate a bitcoin receiving address in Ripple Trade.Please contact support@btc2ripple.com if you want to use this Ripple Trade account instead." -msgstr "You’ve already used this email address to generate a bitcoin receiving address in Ripple Trade.Please contact support@btc2ripple.com if you want to use this Ripple Trade account instead." - -#: src/templates/tabs/btc.jade:110 -msgid "Personal Deposit address" -msgstr "Personal Deposit address" +#: src/templates/tabs/btc.jade:116 +msgid "Personal Bitcoin Deposit address (deposit BTC to your Ripple account by sending BTC to this address)" +msgstr "Personal Bitcoin Deposit address (deposit BTC to your Ripple account by sending BTC to this address)" -#: src/templates/tabs/btc.jade:112 -msgid "Your account is fully verified." -msgstr "Your account is fully verified." +#: src/templates/tabs/btc.jade:118 +msgid "You can deposit an unlimited amount of BTC." +msgstr "You can deposit an unlimited amount of BTC." -#: src/templates/tabs/btc.jade:116 +#: src/templates/tabs/btc.jade:124 msgid "Withdrawal instructions" msgstr "Withdrawal instructions" -#: src/templates/tabs/btc.jade:117 +#: src/templates/tabs/btc.jade:125 msgid "To withdraw to a BTC address, go to the Send tab and enter the BTC address. Using the btc2ripple service, you will be able tosend to that BTC address." msgstr "To withdraw to a BTC address, go to the Send tab and enter the BTC address. Using the btc2ripple service, you will be able tosend to that BTC address." -#: src/templates/tabs/btc.jade:122 +#: src/templates/tabs/btc.jade:130 msgid "Waiting for response from SnapSwap service..." msgstr "Waiting for response from SnapSwap service..." -#: src/templates/tabs/btc.jade:124 +#: src/templates/tabs/btc.jade:132 msgid "To deposit, generate a bitcoin receiving address using the {{1}} service powered by SnapSwap." msgstr "To deposit, generate a bitcoin receiving address using the {{1}} service powered by SnapSwap." -#: src/templates/tabs/contacts.jade:13 +#: src/templates/tabs/btc.jade:140 +#: src/templates/tabs/usd.jade:120 +msgid "Bitstamp (~bitstamp){{1}}{{2}}" +msgstr "Bitstamp (~bitstamp){{1}}{{2}}" + +#: src/templates/tabs/btc.jade:149 +#: src/templates/tabs/usd.jade:129 +msgid "Deposit/withdrawal and when transferring .2%" +msgstr "Deposit/withdrawal and when transferring .2%" + +#: src/templates/tabs/btc.jade:157 +msgid "Ripple Trade has partnered with Bitstamp to provide easier access to BTC. Following this action will enable Bitstamp to hold BTC on your behalf." +msgstr "Ripple Trade has partnered with Bitstamp to provide easier access to BTC. Following this action will enable Bitstamp to hold BTC on your behalf." + +#: src/templates/tabs/btc.jade:161 +#: src/templates/tabs/usd.jade:141 +msgid "Add Bitstamp" +msgstr "Add Bitstamp" + +#: src/templates/tabs/btc.jade:177 +#: src/templates/tabs/usd.jade:157 +msgid "NEW CUSTOMERS- SIGN UP AT BITSTAMP" +msgstr "NEW CUSTOMERS- SIGN UP AT BITSTAMP" + +#: src/templates/tabs/btc.jade:178 +#: src/templates/tabs/usd.jade:158 +msgid "Register and verify your account at {{1}}. You will need: {{2}}" +msgstr "Register and verify your account at {{1}}. You will need: {{2}}" + +#: src/templates/tabs/btc.jade:184 +#: src/templates/tabs/usd.jade:164 +msgid "A valid government-issued ID: driver's license, international passport, or national ID card." +msgstr "A valid government-issued ID: driver's license, international passport, or national ID card." + +#: src/templates/tabs/btc.jade:186 +#: src/templates/tabs/usd.jade:166 +msgid "A proof of residency: tax return, council tax, utility bill, bank statement, certificate of residency issued by a government authority, etc." +msgstr "A proof of residency: tax return, council tax, utility bill, bank statement, certificate of residency issued by a government authority, etc." + +#: src/templates/tabs/btc.jade:188 +#: src/templates/tabs/mxn.jade:104 +#: src/templates/tabs/usd.jade:101 +#: src/templates/tabs/usd.jade:168 +msgid "DEPOSIT OPTIONS" +msgstr "DEPOSIT OPTIONS" + +#: src/templates/tabs/btc.jade:192 +#: src/templates/tabs/usd.jade:172 +msgid "International wire transfer (.05% deposit fee on our side (minimum fee = $7.5) and 2 - 5 business days to credit)" +msgstr "International wire transfer (.05% deposit fee on our side (minimum fee = $7.5) and 2 - 5 business days to credit)" + +#: src/templates/tabs/btc.jade:194 +#: src/templates/tabs/btc.jade:204 +#: src/templates/tabs/usd.jade:186 +msgid "SEPA (1-3 business days)" +msgstr "SEPA (1-3 business days)" + +#: src/templates/tabs/btc.jade:196 +#: src/templates/tabs/usd.jade:176 +msgid "AstroPay (instantly from available countries)" +msgstr "AstroPay (instantly from available countries)" + +#: src/templates/tabs/btc.jade:198 +#: src/templates/tabs/mxn.jade:114 +#: src/templates/tabs/usd.jade:109 +#: src/templates/tabs/usd.jade:180 +msgid "WITHDRAWAL OPTIONS" +msgstr "WITHDRAWAL OPTIONS" + +#: src/templates/tabs/btc.jade:202 +#: src/templates/tabs/usd.jade:184 +msgid "International wire transfer (.09% fee on our side (minimum fee = $15) and 2 - 5 business days)" +msgstr "International wire transfer (.09% fee on our side (minimum fee = $15) and 2 - 5 business days)" + +#: src/templates/tabs/contacts.jade:15 msgid "A new contact has been successfully added." msgstr "A new contact has been successfully added." -#: src/templates/tabs/contacts.jade:14 +#: src/templates/tabs/contacts.jade:17 msgid "Your contact has been successfully updated." msgstr "Your contact has been successfully updated." -#: src/templates/tabs/contacts.jade:15 +#: src/templates/tabs/contacts.jade:19 msgid "A contact has been successfully removed." msgstr "A contact has been successfully removed." -#: src/templates/tabs/contacts.jade:19 +#: src/templates/tabs/contacts.jade:23 msgid "Filter contacts" msgstr "Filter contacts" -#: src/templates/tabs/contacts.jade:24 +#: src/templates/tabs/contacts.jade:28 msgid "Contact{{1}}" msgstr "Contact{{1}}" -#: src/templates/tabs/contacts.jade:29 +#: src/templates/tabs/contacts.jade:33 msgid "Ripple name or address{{1}}" msgstr "Ripple name or address{{1}}" -#: src/templates/tabs/contacts.jade:35 #: src/templates/tabs/contacts.jade:39 -#: src/templates/tabs/contacts.jade:93 +#: src/templates/tabs/contacts.jade:43 +#: src/templates/tabs/contacts.jade:97 msgid "Add contact" msgstr "Add contact" -#: src/templates/tabs/contacts.jade:44 +#: src/templates/tabs/contacts.jade:48 msgid "Contact" msgstr "Contact" -#: src/templates/tabs/contacts.jade:53 -#: src/templates/tabs/send.jade:346 -#: src/templates/tabs/send.jade:384 +#: src/templates/tabs/contacts.jade:57 +#: src/templates/tabs/send.jade:351 +#: src/templates/tabs/send.jade:390 msgid "Please enter a contact." msgstr "Please enter a contact." -#: src/templates/tabs/contacts.jade:54 +#: src/templates/tabs/contacts.jade:58 msgid "This contact already exists." msgstr "This contact already exists." -#: src/templates/tabs/contacts.jade:58 +#: src/templates/tabs/contacts.jade:62 msgid "Ripple name or address" msgstr "Ripple name or address" -#: src/templates/tabs/contacts.jade:73 +#: src/templates/tabs/contacts.jade:77 msgid "Please enter a Ripple name." msgstr "Please enter a Ripple name." -#: src/templates/tabs/contacts.jade:74 -#: src/templates/tabs/contacts.jade:90 +#: src/templates/tabs/contacts.jade:78 +#: src/templates/tabs/contacts.jade:94 msgid "You already have a contact with the same Ripple name and/or the same Destination tag." msgstr "You already have a contact with the same Ripple name and/or the same Destination tag." -#: src/templates/tabs/contacts.jade:75 +#: src/templates/tabs/contacts.jade:79 msgid "Not a valid Ripple name or address." msgstr "Not a valid Ripple name or address." -#: src/templates/tabs/contacts.jade:78 -#: src/templates/tabs/contacts.jade:143 +#: src/templates/tabs/contacts.jade:82 +#: src/templates/tabs/contacts.jade:148 #: src/templates/tabs/send.jade:66 #: src/templates/tabs/tx.jade:56 msgid "Destination tag" msgstr "Destination tag" -#: src/templates/tabs/contacts.jade:79 +#: src/templates/tabs/contacts.jade:83 msgid ""Leave blank if not applicable"" msgstr ""Leave blank if not applicable"" -#: src/templates/tabs/contacts.jade:89 +#: src/templates/tabs/contacts.jade:93 #: src/templates/tabs/send.jade:75 msgid "Invalid destination tag" msgstr "Invalid destination tag" -#: src/templates/tabs/contacts.jade:126 +#: src/templates/tabs/contacts.jade:131 msgid "You already have a contact with the same name." msgstr "You already have a contact with the same name." -#: src/templates/tabs/contacts.jade:140 +#: src/templates/tabs/contacts.jade:145 msgid "You already have this address." msgstr "You already have this address." -#: src/templates/tabs/contacts.jade:141 +#: src/templates/tabs/contacts.jade:146 #: src/templates/tabs/debug.jade:22 msgid "Not a valid address." msgstr "Not a valid address." -#: src/templates/tabs/contacts.jade:152 +#: src/templates/tabs/contacts.jade:157 msgid "Invalid destination tag." msgstr "Invalid destination tag." -#: src/templates/tabs/contacts.jade:171 +#: src/templates/tabs/contacts.jade:176 msgid "You don't have any contacts yet. Click on 'Add contact' button in the top right corner to add a new contact." msgstr "You don't have any contacts yet. Click on 'Add contact' button in the top right corner to add a new contact." @@ -1288,48 +1464,48 @@ msgstr "Ripple Trade has partnered with SnapSwap to provide easier access to EUR msgid "Add SnapSwap.eu" msgstr "Add SnapSwap.eu" -#: src/templates/tabs/eur.jade:85 +#: src/templates/tabs/eur.jade:88 msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.EU" msgstr "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.EU" -#: src/templates/tabs/eur.jade:86 +#: src/templates/tabs/eur.jade:89 msgid "Register and verify your account at SnapSwap EU. You will need: {{1}}" msgstr "Register and verify your account at SnapSwap EU. You will need: {{1}}" -#: src/templates/tabs/eur.jade:90 -#: src/templates/tabs/usd.jade:87 +#: src/templates/tabs/eur.jade:93 +#: src/templates/tabs/usd.jade:90 msgid "A valid government-issued ID: driver license, passport, ID card, or visa stamp." msgstr "A valid government-issued ID: driver license, passport, ID card, or visa stamp." -#: src/templates/tabs/eur.jade:92 -#: src/templates/tabs/usd.jade:89 +#: src/templates/tabs/eur.jade:95 +#: src/templates/tabs/usd.jade:92 msgid "A proof of address: driver license, utility bill, bank statement, etc." msgstr "A proof of address: driver license, utility bill, bank statement, etc." -#: src/templates/tabs/eur.jade:94 +#: src/templates/tabs/eur.jade:97 msgid "EXISTING SNAPSWAP EU CUSTOMERS" msgstr "EXISTING SNAPSWAP EU CUSTOMERS" -#: src/templates/tabs/eur.jade:98 -#: src/templates/tabs/jpy.jade:103 -#: src/templates/tabs/usd.jade:95 +#: src/templates/tabs/eur.jade:101 +#: src/templates/tabs/jpy.jade:106 +#: src/templates/tabs/usd.jade:98 msgid "Login to your account {{1}}" msgstr "Login to your account {{1}}" -#: src/templates/tabs/eur.jade:101 -#: src/templates/tabs/jpy.jade:105 +#: src/templates/tabs/eur.jade:104 +#: src/templates/tabs/jpy.jade:108 msgid "DEPOSITS AND WITHDRAWALS:" msgstr "DEPOSITS AND WITHDRAWALS:" -#: src/templates/tabs/eur.jade:105 +#: src/templates/tabs/eur.jade:108 msgid "Deposit from your bank (2-4 business days)" msgstr "Deposit from your bank (2-4 business days)" -#: src/templates/tabs/eur.jade:107 +#: src/templates/tabs/eur.jade:110 msgid "Withdraw to your bank account in SEPA (2-4 business days)" msgstr "Withdraw to your bank account in SEPA (2-4 business days)" -#: src/templates/tabs/eur.jade:109 +#: src/templates/tabs/eur.jade:112 msgid "Withdraw to SmartyCash Card (instant)" msgstr "Withdraw to SmartyCash Card (instant)" @@ -1355,16 +1531,16 @@ msgid "add gateway" msgstr "add gateway" #: src/templates/tabs/exchange.jade:59 -#: src/templates/tabs/send.jade:161 +#: src/templates/tabs/send.jade:166 msgid "Please enter an amount." msgstr "Please enter an amount." #: src/templates/tabs/exchange.jade:60 -#: src/templates/tabs/send.jade:162 -#: src/templates/tabs/trade.jade:217 -#: src/templates/tabs/trade.jade:245 -#: src/templates/tabs/trade.jade:272 -#: src/templates/tabs/trust.jade:136 +#: src/templates/tabs/send.jade:167 +#: src/templates/tabs/trade.jade:219 +#: src/templates/tabs/trade.jade:247 +#: src/templates/tabs/trade.jade:274 +#: src/templates/tabs/trust.jade:131 msgid "Not a valid amount." msgstr "Not a valid amount." @@ -1373,8 +1549,8 @@ msgid "You are either trying to buy too little or too much XRP.Minimum amount is msgstr "You are either trying to buy too little or too much XRP.Minimum amount is 0.000001 XRP and maximum amount is 100 billion XRP." #: src/templates/tabs/exchange.jade:64 -#: src/templates/tabs/send.jade:167 -#: src/templates/tabs/trust.jade:138 +#: src/templates/tabs/send.jade:172 +#: src/templates/tabs/trust.jade:133 msgid "Your amount has too many digits. The max number of digits is 16." msgstr "Your amount has too many digits. The max number of digits is 16." @@ -1399,7 +1575,7 @@ msgid "Error while calculating price." msgstr "Error while calculating price." #: src/templates/tabs/exchange.jade:82 -#: src/templates/tabs/trade.jade:303 +#: src/templates/tabs/trade.jade:305 msgid "Sell" msgstr "Sell" @@ -1424,8 +1600,8 @@ msgid "Submit another buy order" msgstr "Submit another buy order" #: src/templates/tabs/exchange.jade:180 -#: src/templates/tabs/send.jade:358 -#: src/templates/tabs/send.jade:399 +#: src/templates/tabs/send.jade:363 +#: src/templates/tabs/send.jade:405 msgid "Back to balance" msgstr "Back to balance" @@ -1443,17 +1619,17 @@ msgid "Account does not meet the minimum XRP reserve." msgstr "Account does not meet the minimum XRP reserve." #: src/templates/tabs/fund.jade:51 -#: src/templates/tabs/trust.jade:98 +#: src/templates/tabs/trust.jade:93 msgid "Please enter a Ripple name, contact, or address." msgstr "Please enter a Ripple name, contact, or address." #: src/templates/tabs/fund.jade:52 -#: src/templates/tabs/trust.jade:99 +#: src/templates/tabs/trust.jade:94 msgid "You've entered your own address." msgstr "You've entered your own address." #: src/templates/tabs/fund.jade:53 -#: src/templates/tabs/trust.jade:100 +#: src/templates/tabs/trust.jade:95 msgid "Please enter a valid Ripple name, contact, or address." msgstr "Please enter a valid Ripple name, contact, or address." @@ -1462,22 +1638,22 @@ msgid "Amount field is required" msgstr "Amount field is required" #: src/templates/tabs/fund.jade:77 -#: src/templates/tabs/trust.jade:140 +#: src/templates/tabs/trust.jade:135 msgid "XRP can be sent without extending trust. If you really want to trust in XRP, please use XRR currency code." msgstr "XRP can be sent without extending trust. If you really want to trust in XRP, please use XRR currency code." #: src/templates/tabs/fund.jade:80 -#: src/templates/tabs/trust.jade:143 +#: src/templates/tabs/trust.jade:138 msgid "Currency field is required" msgstr "Currency field is required" #: src/templates/tabs/fund.jade:88 -#: src/templates/tabs/trust.jade:151 +#: src/templates/tabs/trust.jade:146 msgid "Allow Rippling" msgstr "Allow Rippling" #: src/templates/tabs/fund.jade:89 -#: src/templates/tabs/trust.jade:152 +#: src/templates/tabs/trust.jade:147 msgid ""Allow Rippling"" msgstr ""Allow Rippling"" @@ -1523,19 +1699,19 @@ msgstr "{{1}} Not connected" msgid "{{1}} Connected" msgstr "{{1}} Connected" -#: src/templates/tabs/gold.jade:86 +#: src/templates/tabs/gold.jade:89 msgid "Deposit" msgstr "Deposit" -#: src/templates/tabs/gold.jade:87 +#: src/templates/tabs/gold.jade:90 msgid "GBI does not currently support direct deposits. You can {{1}} or {{2}}." msgstr "GBI does not currently support direct deposits. You can {{1}} or {{2}}." -#: src/templates/tabs/gold.jade:93 +#: src/templates/tabs/gold.jade:96 msgid "Withdrawal" msgstr "Withdrawal" -#: src/templates/tabs/gold.jade:94 +#: src/templates/tabs/gold.jade:97 msgid "You can redeem the physical gold in 1 oz increments.To do so, you'll need to {{1}} and arrange to have the gold shipped to you." msgstr "You can redeem the physical gold in 1 oz increments.To do so, you'll need to {{1}} and arrange to have the gold shipped to you." @@ -1597,12 +1773,12 @@ msgid "{{1}}now trusts you for{{2}}" msgstr "{{1}}now trusts you for{{2}}" #: src/templates/tabs/history.jade:128 -#: src/templates/tabs/history/effects.jade:45 +#: src/templates/tabs/history/effects.jade:63 msgid "You created an order to sell{{1}}for{{2}}" msgstr "You created an order to sell{{1}}for{{2}}" #: src/templates/tabs/history.jade:132 -#: src/templates/tabs/history/effects.jade:49 +#: src/templates/tabs/history/effects.jade:67 msgid "You created an order to buy{{1}}for{{2}}" msgstr "You created an order to buy{{1}}for{{2}}" @@ -1674,39 +1850,39 @@ msgstr "Ripple Trade has partnered with Tokyo JPY Issuer to provide easier acces msgid "Add Tokyo JPY" msgstr "Add Tokyo JPY" -#: src/templates/tabs/jpy.jade:87 +#: src/templates/tabs/jpy.jade:90 msgid "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" msgstr "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" -#: src/templates/tabs/jpy.jade:88 +#: src/templates/tabs/jpy.jade:91 msgid "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" msgstr "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" -#: src/templates/tabs/jpy.jade:93 +#: src/templates/tabs/jpy.jade:96 msgid "A valid government-issued ID." msgstr "A valid government-issued ID." -#: src/templates/tabs/jpy.jade:95 +#: src/templates/tabs/jpy.jade:98 msgid "A proof of address (utility bill, etc)." msgstr "A proof of address (utility bill, etc)." -#: src/templates/tabs/jpy.jade:97 +#: src/templates/tabs/jpy.jade:100 msgid "A bank account under the same name." msgstr "A bank account under the same name." -#: src/templates/tabs/jpy.jade:99 +#: src/templates/tabs/jpy.jade:102 msgid "EXISTING TOKYO JPY ISSUER CUSTOMERS" msgstr "EXISTING TOKYO JPY ISSUER CUSTOMERS" -#: src/templates/tabs/jpy.jade:109 +#: src/templates/tabs/jpy.jade:112 msgid "Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details {{1}}" msgstr "Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details {{1}}" -#: src/templates/tabs/jpy.jade:112 +#: src/templates/tabs/jpy.jade:115 msgid "To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account and then initiate a transfer into your Ripple account." msgstr "To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account and then initiate a transfer into your Ripple account." -#: src/templates/tabs/jpy.jade:114 +#: src/templates/tabs/jpy.jade:117 msgid "To withdraw to a bank account, you’ll first send money from your Ripple account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo JPY Issuer site to send to your bank account." msgstr "To withdraw to a bank account, you’ll first send money from your Ripple account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo JPY Issuer site to send to your bank account." @@ -1715,7 +1891,7 @@ msgid "Profile completion is only available to US residents." msgstr "Profile completion is only available to US residents." #: src/templates/tabs/kyc.jade:26 -#: src/templates/tabs/trade.jade:391 +#: src/templates/tabs/trade.jade:398 msgid "Verifying your information. Please wait..." msgstr "Verifying your information. Please wait..." @@ -1898,6 +2074,7 @@ msgstr "Trade hundreds of assets, from XRP to crypto to gold to fiat." #: src/templates/tabs/login.jade:13 #: src/templates/tabs/login.jade:30 +#: src/templates/tabs/login.jade:95 msgid "Log In" msgstr "Log In" @@ -1936,25 +2113,21 @@ msgstr "{{1:You're sending money to}}{{2}}." msgid "{{1:You're sending}}{{2}}{{3: to }}{{4}}." msgstr "{{1:You're sending}}{{2}}{{3: to }}{{4}}." -#: src/templates/tabs/login.jade:64 +#: src/templates/tabs/login.jade:66 msgid "{{1:You're connecting to the gateway}}{{2}}{{3:for{{1}}}}{{4:with a limit of{{1}}}}." msgstr "{{1:You're connecting to the gateway}}{{2}}{{3:for{{1}}}}{{4:with a limit of{{1}}}}." -#: src/templates/tabs/login.jade:79 +#: src/templates/tabs/login.jade:83 msgid "{{1:You're adding}}{{2}}{{3:to your contacts list}}" msgstr "{{1:You're adding}}{{2}}{{3:to your contacts list}}" -#: src/templates/tabs/login.jade:96 +#: src/templates/tabs/login.jade:105 msgid "{{1}} Log In" msgstr "{{1}} Log In" -#: src/templates/tabs/login.jade:99 -msgid "You can confirm this transaction on the next page." -msgstr "You can confirm this transaction on the next page." - -#: src/templates/tabs/login.jade:100 -msgid "New to {{productName}}? {{1:Create a wallet}}" -msgstr "New to {{productName}}? {{1:Create a wallet}}" +#: src/templates/tabs/login.jade:108 +msgid "New to {{productName}}? {{1:Create an account}}" +msgstr "New to {{productName}}? {{1:Create an account}}" #: src/templates/tabs/migrate.jade:10 #: src/templates/tabs/register.jade:16 @@ -2011,68 +2184,60 @@ msgstr "Ripple Trade has partnered with Bitso to provide easy access to MXN (Mex msgid "Add Bitso" msgstr "Add Bitso" -#: src/templates/tabs/mxn.jade:89 +#: src/templates/tabs/mxn.jade:92 msgid "TO FUND/REDEEM MEXICAN PESO:" msgstr "TO FUND/REDEEM MEXICAN PESO:" -#: src/templates/tabs/mxn.jade:91 +#: src/templates/tabs/mxn.jade:94 msgid "Register or login at {{1}}to initiate deposits and withdrawals." msgstr "Register or login at {{1}}to initiate deposits and withdrawals." -#: src/templates/tabs/mxn.jade:95 +#: src/templates/tabs/mxn.jade:98 msgid "A valid, non-US, state-issued ID (passport, driver's license, etc)." msgstr "A valid, non-US, state-issued ID (passport, driver's license, etc)." -#: src/templates/tabs/mxn.jade:96 +#: src/templates/tabs/mxn.jade:99 msgid "Proof of address (utility bill or other type of bill that has your address on it). Verification is required for peso deposits or withdrawals." msgstr "Proof of address (utility bill or other type of bill that has your address on it). Verification is required for peso deposits or withdrawals." -#: src/templates/tabs/mxn.jade:98 +#: src/templates/tabs/mxn.jade:101 msgid "To fund your Ripple account, see the below options. Once a balance is deposited with Bitso, you can send it to your Ripple account using the Bitso Dashboard." msgstr "To fund your Ripple account, see the below options. Once a balance is deposited with Bitso, you can send it to your Ripple account using the Bitso Dashboard." -#: src/templates/tabs/mxn.jade:99 +#: src/templates/tabs/mxn.jade:102 msgid "To withdraw from your Ripple account, click on the 'Redeem from Ripple' button on the Bitso Dashboard." msgstr "To withdraw from your Ripple account, click on the 'Redeem from Ripple' button on the Bitso Dashboard." -#: src/templates/tabs/mxn.jade:101 -#: src/templates/tabs/usd.jade:98 -msgid "DEPOSIT OPTIONS" -msgstr "DEPOSIT OPTIONS" - -#: src/templates/tabs/mxn.jade:103 +#: src/templates/tabs/mxn.jade:106 msgid "Bitso accepts deposits by the following methods:" msgstr "Bitso accepts deposits by the following methods:" -#: src/templates/tabs/mxn.jade:105 -#: src/templates/tabs/mxn.jade:115 +#: src/templates/tabs/mxn.jade:108 +#: src/templates/tabs/mxn.jade:118 msgid "Bank Wire" msgstr "Bank Wire" -#: src/templates/tabs/mxn.jade:106 -#: src/templates/tabs/mxn.jade:116 +#: src/templates/tabs/mxn.jade:109 +#: src/templates/tabs/mxn.jade:119 msgid "SPEI (Mexican instant inter-bank transfer)" msgstr "SPEI (Mexican instant inter-bank transfer)" -#: src/templates/tabs/mxn.jade:107 -#: src/templates/tabs/mxn.jade:117 +#: src/templates/tabs/mxn.jade:110 +#: src/templates/tabs/mxn.jade:120 +#: src/templates/tabs/usd.jade:178 +#: src/templates/tabs/usd.jade:188 msgid "Bitcoin" msgstr "Bitcoin" -#: src/templates/tabs/mxn.jade:108 +#: src/templates/tabs/mxn.jade:111 msgid "MXN Cash (at locations across Mexico)" msgstr "MXN Cash (at locations across Mexico)" -#: src/templates/tabs/mxn.jade:109 +#: src/templates/tabs/mxn.jade:112 msgid "Pademobile wallet" msgstr "Pademobile wallet" -#: src/templates/tabs/mxn.jade:111 -#: src/templates/tabs/usd.jade:106 -msgid "WITHDRAWAL OPTIONS" -msgstr "WITHDRAWAL OPTIONS" - -#: src/templates/tabs/mxn.jade:113 +#: src/templates/tabs/mxn.jade:116 msgid "Bitso offers withdrawals via the following methods:" msgstr "Bitso offers withdrawals via the following methods:" @@ -2131,14 +2296,6 @@ msgstr "Set Password" msgid "Your account was sucessfully recovered. Please re-encrypt your account with a new password." msgstr "Your account was sucessfully recovered. Please re-encrypt your account with a new password." -#: src/templates/tabs/recover.jade:44 -#: src/templates/tabs/register.jade:72 -#: src/templates/tabs/security.jade:12 -#: src/templates/popup/unlock.jade:5 -#: src/templates/tabs/login/form.jade:9 -msgid "Password" -msgstr "Password" - #: src/templates/tabs/recover.jade:50 #: src/templates/tabs/register.jade:80 #: src/templates/tabs/security.jade:144 @@ -2430,12 +2587,12 @@ msgid "Loading Two-factor authentication settings..." msgstr "Loading Two-factor authentication settings..." #: src/templates/tabs/security.jade:60 -#: src/templates/tabs/settingsgateway.jade:71 +#: src/templates/tabs/settingsgateway.jade:73 msgid "Enabled" msgstr "Enabled" #: src/templates/tabs/security.jade:61 -#: src/templates/tabs/settingsgateway.jade:72 +#: src/templates/tabs/settingsgateway.jade:74 msgid "Disabled" msgstr "Disabled" @@ -2499,7 +2656,7 @@ msgid "Send Via SMS" msgstr "Send Via SMS" #: src/templates/tabs/security.jade:117 -#: src/templates/tabs/settingsgateway.jade:83 +#: src/templates/tabs/settingsgateway.jade:87 msgid "Enable" msgstr "Enable" @@ -2516,12 +2673,6 @@ msgstr "Current password" msgid "New password" msgstr "New password" -#: src/templates/tabs/security.jade:163 -#: src/templates/popup/unlock.jade:20 -#: src/templates/tabs/account/public.jade:58 -msgid "Submit" -msgstr "Submit" - #: src/templates/tabs/security.jade:170 msgid "Your secret key unlocks access to your account funds. Please write it down and store it somewhere private and safe. In the event you lose your Ripple name or password, you can use this secret key to recover your funds." msgstr "Your secret key unlocks access to your account funds. Please write it down and store it somewhere private and safe. In the event you lose your Ripple name or password, you can use this secret key to recover your funds." @@ -2610,164 +2761,164 @@ msgstr "Invoice ID must not be more than 64 characters long." msgid "Recipient will receive" msgstr "Recipient will receive" -#: src/templates/tabs/send.jade:159 +#: src/templates/tabs/send.jade:160 +msgid "The minimum BTC transaction size is .001 BTC. {{1:More info}}" +msgstr "The minimum BTC transaction size is .001 BTC. {{1:More info}}" + +#: src/templates/tabs/send.jade:164 msgid "{{send.recipient | rpcontactname}} can't receive this currency." msgstr "{{send.recipient | rpcontactname}} can't receive this currency." -#: src/templates/tabs/send.jade:163 -#: src/templates/tabs/trust.jade:137 +#: src/templates/tabs/send.jade:168 +#: src/templates/tabs/trust.jade:132 msgid "Amount must be greater than zero." msgstr "Amount must be greater than zero." -#: src/templates/tabs/send.jade:164 +#: src/templates/tabs/send.jade:169 msgid "You are either trying to send too little or too much XRP.Minimum amount is 0.000001 XRP and maximum amount is 100 billion XRP." msgstr "You are either trying to send too little or too much XRP.Minimum amount is 0.000001 XRP and maximum amount is 100 billion XRP." -#: src/templates/tabs/send.jade:168 +#: src/templates/tabs/send.jade:173 msgid "Recipient does not allow XRP payments. Are you sure you want to send XRP anyway?" msgstr "Recipient does not allow XRP payments. Are you sure you want to send XRP anyway?" -#: src/templates/tabs/send.jade:170 +#: src/templates/tabs/send.jade:175 msgid "{{send.recipient | rpcontactname}}trusts you for {{send.trust_limit | rpamount}} {{send.trust_limit | rpcurrency}}." msgstr "{{send.recipient | rpcontactname}}trusts you for {{send.trust_limit | rpamount}} {{send.trust_limit | rpcurrency}}." -#: src/templates/tabs/send.jade:174 +#: src/templates/tabs/send.jade:179 msgid "Send XRP" msgstr "Send XRP" -#: src/templates/tabs/send.jade:179 +#: src/templates/tabs/send.jade:184 msgid "Insufficient amount. You need to send at least 20 XRP to fund the account." msgstr "Insufficient amount. You need to send at least 20 XRP to fund the account." -#: src/templates/tabs/send.jade:183 +#: src/templates/tabs/send.jade:188 msgid "Checking" msgstr "Checking" -#: src/templates/tabs/send.jade:186 +#: src/templates/tabs/send.jade:191 msgid "Analyzing address" msgstr "Analyzing address" -#: src/templates/tabs/send.jade:189 +#: src/templates/tabs/send.jade:194 msgid "Scanning accepted currencies" msgstr "Scanning accepted currencies" -#: src/templates/tabs/send.jade:192 +#: src/templates/tabs/send.jade:197 msgid "Requesting quote" msgstr "Requesting quote" -#: src/templates/tabs/send.jade:195 +#: src/templates/tabs/send.jade:200 msgid "Calculating paths" msgstr "Calculating paths" -#: src/templates/tabs/send.jade:198 +#: src/templates/tabs/send.jade:203 msgid "Calculating alternatives" msgstr "Calculating alternatives" -#: src/templates/tabs/send.jade:199 +#: src/templates/tabs/send.jade:204 msgid "You cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. Either your account has insufficient funds, or {{send.recipient}} doesn't accept {{send.currency}}." msgstr "You cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. Either your account has insufficient funds, or {{send.recipient}} doesn't accept {{send.currency}}." -#: src/templates/tabs/send.jade:203 +#: src/templates/tabs/send.jade:208 msgid "You cannot send {{send.amount}} {{send.currency}} to{{send.recipient}}. Your account has insufficient funds." msgstr "You cannot send {{send.amount}} {{send.currency}} to{{send.recipient}}. Your account has insufficient funds." -#: src/templates/tabs/send.jade:206 +#: src/templates/tabs/send.jade:211 msgid "There are no valid currency choices for this destination." msgstr "There are no valid currency choices for this destination." -#: src/templates/tabs/send.jade:208 +#: src/templates/tabs/send.jade:213 msgid "Error while retrieving quote for outbound payment. {{1}}" msgstr "Error while retrieving quote for outbound payment. {{1}}" -#: src/templates/tabs/send.jade:211 +#: src/templates/tabs/send.jade:216 msgid "Error while calculating path" msgstr "Error while calculating path" -#: src/templates/tabs/send.jade:217 +#: src/templates/tabs/send.jade:222 msgid "You can send" msgstr "You can send" -#: src/templates/tabs/send.jade:219 +#: src/templates/tabs/send.jade:224 msgid "Or you can send" msgstr "Or you can send" -#: src/templates/tabs/send.jade:237 +#: src/templates/tabs/send.jade:242 msgid "Send {{ alt.amount | rpcurrency }} {{1}}" msgstr "Send {{ alt.amount | rpcurrency }} {{1}}" -#: src/templates/tabs/send.jade:247 +#: src/templates/tabs/send.jade:252 msgid "Paths last updated {{1}} {{2: seconds}} {{3: second}} ago" msgstr "Paths last updated {{1}} {{2: seconds}} {{3: second}} ago" -#: src/templates/tabs/send.jade:258 +#: src/templates/tabs/send.jade:263 msgid "Ripple is calculating a path for your payment." msgstr "Ripple is calculating a path for your payment." -#: src/templates/tabs/send.jade:263 +#: src/templates/tabs/send.jade:268 msgid "You are sending {{1}} to" msgstr "You are sending {{1}} to" -#: src/templates/tabs/send.jade:270 +#: src/templates/tabs/send.jade:275 msgid "Destination tag: {{send.dt}}" msgstr "Destination tag: {{send.dt}}" -#: src/templates/tabs/send.jade:271 +#: src/templates/tabs/send.jade:276 msgid "They will receive" msgstr "They will receive" -#: src/templates/tabs/send.jade:274 +#: src/templates/tabs/send.jade:279 msgid "You will pay at most" msgstr "You will pay at most" -#: src/templates/tabs/send.jade:280 +#: src/templates/tabs/send.jade:285 msgid "Exchange rate:" msgstr "Exchange rate:" -#: src/templates/tabs/send.jade:283 +#: src/templates/tabs/send.jade:288 msgid "Ripple network fee:" msgstr "Ripple network fee:" -#: src/templates/tabs/send.jade:286 +#: src/templates/tabs/send.jade:291 msgid "Are you sure?" msgstr "Are you sure?" -#: src/templates/tabs/send.jade:287 -#: src/templates/popup/unlock.jade:12 -msgid "Please enter your password to confirm this transaction." -msgstr "Please enter your password to confirm this transaction." - -#: src/templates/tabs/send.jade:296 +#: src/templates/tabs/send.jade:301 msgid "Password required to unlock wallet" msgstr "Password required to unlock wallet" -#: src/templates/tabs/send.jade:328 -#: src/templates/tabs/send.jade:367 +#: src/templates/tabs/send.jade:333 +#: src/templates/tabs/send.jade:372 msgid "Contact saved!" msgstr "Contact saved!" -#: src/templates/tabs/send.jade:330 -#: src/templates/tabs/send.jade:369 +#: src/templates/tabs/send.jade:335 +#: src/templates/tabs/send.jade:374 msgid "Add this address to contacts" msgstr "Add this address to contacts" -#: src/templates/tabs/send.jade:338 -#: src/templates/tabs/send.jade:376 +#: src/templates/tabs/send.jade:343 +#: src/templates/tabs/send.jade:382 msgid "Name this user" msgstr "Name this user" -#: src/templates/tabs/send.jade:347 -#: src/templates/tabs/send.jade:385 +#: src/templates/tabs/send.jade:352 +#: src/templates/tabs/send.jade:391 msgid "This contact already exists, please choose another name." msgstr "This contact already exists, please choose another name." -#: src/templates/tabs/send.jade:351 -#: src/templates/tabs/send.jade:391 -#: src/templates/tabs/trust.jade:344 +#: src/templates/tabs/send.jade:356 +#: src/templates/tabs/send.jade:397 +#: src/templates/tabs/trust.jade:340 +#: src/templates/tabs/trust.jade:353 msgid "Saving..." msgstr "Saving..." -#: src/templates/tabs/send.jade:356 -#: src/templates/tabs/send.jade:397 +#: src/templates/tabs/send.jade:361 +#: src/templates/tabs/send.jade:403 msgid "Send another payment" msgstr "Send another payment" @@ -2779,21 +2930,29 @@ msgstr "Your bitcoin bridge has been changed successfully." msgid "Trustline advanced settings have been changed successfully." msgstr "Trustline advanced settings have been changed successfully." -#: src/templates/tabs/settingsgateway.jade:42 +#: src/templates/tabs/settingsgateway.jade:10 +msgid "Updating DefaultRipple flag..." +msgstr "Updating DefaultRipple flag..." + +#: src/templates/tabs/settingsgateway.jade:11 +msgid "DefaultRipple flag updated" +msgstr "DefaultRipple flag updated" + +#: src/templates/tabs/settingsgateway.jade:44 msgid "Trust line" msgstr "Trust line" -#: src/templates/tabs/settingsgateway.jade:45 -#: src/templates/tabs/settingsgateway.jade:53 +#: src/templates/tabs/settingsgateway.jade:47 +#: src/templates/tabs/settingsgateway.jade:55 msgid "Advanced settings" msgstr "Advanced settings" -#: src/templates/tabs/settingsgateway.jade:66 +#: src/templates/tabs/settingsgateway.jade:68 msgid "Gateways: Enable if you plan to issue balances" msgstr "Gateways: Enable if you plan to issue balances" -#: src/templates/tabs/settingsgateway.jade:69 -#: src/templates/tabs/settingsgateway.jade:77 +#: src/templates/tabs/settingsgateway.jade:71 +#: src/templates/tabs/settingsgateway.jade:81 msgid "DefaultRipple flag" msgstr "DefaultRipple flag" @@ -2833,44 +2992,44 @@ msgstr "Ripple Trade has partnered with Ripple Singapore to provide easier acces msgid "Add Ripple Singapore" msgstr "Add Ripple Singapore" -#: src/templates/tabs/sgd.jade:89 +#: src/templates/tabs/sgd.jade:92 msgid "To Initiate Singapore Dollar Deposits and Withdrawals" msgstr "To Initiate Singapore Dollar Deposits and Withdrawals" -#: src/templates/tabs/sgd.jade:90 +#: src/templates/tabs/sgd.jade:93 msgid "Register or login to your Ripple Singapore account. You will need: {{1}}" msgstr "Register or login to your Ripple Singapore account. You will need: {{1}}" -#: src/templates/tabs/sgd.jade:94 +#: src/templates/tabs/sgd.jade:97 msgid "A valid non-US, government-issued ID (passport, driver’s license, etc)" msgstr "A valid non-US, government-issued ID (passport, driver’s license, etc)" -#: src/templates/tabs/sgd.jade:96 +#: src/templates/tabs/sgd.jade:99 msgid "Proof of address" msgstr "Proof of address" -#: src/templates/tabs/sgd.jade:98 +#: src/templates/tabs/sgd.jade:101 msgid "Verification is required for deposits or withdrawals" msgstr "Verification is required for deposits or withdrawals" -#: src/templates/tabs/sgd.jade:100 +#: src/templates/tabs/sgd.jade:103 msgid "Deposit Options" msgstr "Deposit Options" -#: src/templates/tabs/sgd.jade:104 +#: src/templates/tabs/sgd.jade:107 msgid "Users can deposit SGD by entering bank credentials and initiating a bank wire transfer from user’s bank account to Ripple Singapore." msgstr "Users can deposit SGD by entering bank credentials and initiating a bank wire transfer from user’s bank account to Ripple Singapore." -#: src/templates/tabs/sgd.jade:106 +#: src/templates/tabs/sgd.jade:109 msgid "Withdrawal Options" msgstr "Withdrawal Options" -#: src/templates/tabs/sgd.jade:110 +#: src/templates/tabs/sgd.jade:113 msgid "Users can withdraw SGD by sending funds from their Ripple address to Ripple Singapore’s Ripple address. Ripple Singapore will send the funds to a user’s bank account using a bank wire transfer." msgstr "Users can withdraw SGD by sending funds from their Ripple address to Ripple Singapore’s Ripple address. Ripple Singapore will send the funds to a user’s bank account using a bank wire transfer." #: src/templates/tabs/trade.jade:12 -#: src/templates/tabs/trade.jade:599 +#: src/templates/tabs/trade.jade:606 msgid "Loading Order Book" msgstr "Loading Order Book" @@ -2951,309 +3110,328 @@ msgstr "Last price" msgid "You have to be funded before you can trade" msgstr "You have to be funded before you can trade" -#: src/templates/tabs/trade.jade:152 +#: src/templates/tabs/trade.jade:154 msgid "Buy {{1}} {{order.first_currency | rpcurrency}}" msgstr "Buy {{1}} {{order.first_currency | rpcurrency}}" -#: src/templates/tabs/trade.jade:159 +#: src/templates/tabs/trade.jade:161 msgid "Sell {{1}} {{order.first_currency | rpcurrency}}" msgstr "Sell {{1}} {{order.first_currency | rpcurrency}}" -#: src/templates/tabs/trade.jade:166 -#: src/templates/tabs/trade.jade:178 +#: src/templates/tabs/trade.jade:168 +#: src/templates/tabs/trade.jade:180 msgid "{{1}} available" msgstr "{{1}} available" -#: src/templates/tabs/trade.jade:195 +#: src/templates/tabs/trade.jade:197 msgid "Amount To Buy" msgstr "Amount To Buy" -#: src/templates/tabs/trade.jade:196 +#: src/templates/tabs/trade.jade:198 msgid "Amount To Sell" msgstr "Amount To Sell" -#: src/templates/tabs/trade.jade:216 -#: src/templates/tabs/trade.jade:244 -#: src/templates/tabs/trade.jade:271 -msgid "Required" -msgstr "Required" - #: src/templates/tabs/trade.jade:218 #: src/templates/tabs/trade.jade:246 #: src/templates/tabs/trade.jade:273 -msgid "Must be greater than zero" -msgstr "Must be greater than zero" +msgid "Required" +msgstr "Required" #: src/templates/tabs/trade.jade:220 #: src/templates/tabs/trade.jade:248 #: src/templates/tabs/trade.jade:275 +msgid "Must be greater than zero" +msgstr "Must be greater than zero" + +#: src/templates/tabs/trade.jade:222 +#: src/templates/tabs/trade.jade:250 +#: src/templates/tabs/trade.jade:277 msgid "Minimum amount of XRP you can send is a drop (0.000001) and the maximum is 100 billion XRPs." msgstr "Minimum amount of XRP you can send is a drop (0.000001) and the maximum is 100 billion XRPs." -#: src/templates/tabs/trade.jade:224 +#: src/templates/tabs/trade.jade:226 msgid "Price of Each" msgstr "Price of Each" -#: src/templates/tabs/trade.jade:252 +#: src/templates/tabs/trade.jade:254 +#: src/templates/tabs/trade.jade:371 msgid "Order Value (max)" msgstr "Order Value (max)" -#: src/templates/tabs/trade.jade:281 +#: src/templates/tabs/trade.jade:283 msgid "You are wanting to buy {{1}} for {{2}} ({{3}} per {{4}})" msgstr "You are wanting to buy {{1}} for {{2}} ({{3}} per {{4}})" -#: src/templates/tabs/trade.jade:290 +#: src/templates/tabs/trade.jade:292 msgid "You are wanting to sell {{1}} for {{2}} ({{3}} per {{4}})" msgstr "You are wanting to sell {{1}} for {{2}} ({{3}} per {{4}})" -#: src/templates/tabs/trade.jade:302 +#: src/templates/tabs/trade.jade:304 msgid "Buy" msgstr "Buy" -#: src/templates/tabs/trade.jade:312 +#: src/templates/tabs/trade.jade:314 msgid "You do not have sufficient funds to create an order." msgstr "You do not have sufficient funds to create an order." #: src/templates/tabs/trade.jade:317 -msgid "You are about to create an order to {{1: buy}} {{2: sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" -msgstr "You are about to create an order to {{1: buy}} {{2: sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" - -#: src/templates/tabs/trade.jade:342 -msgid "CAUTION: Your order is far off from the current market price." -msgstr "CAUTION: Your order is far off from the current market price." - -#: src/templates/tabs/trade.jade:346 -msgid "« Back" -msgstr "« Back" - -#: src/templates/tabs/trade.jade:357 -msgid "Sending order to Ripple network..." -msgstr "Sending order to Ripple network..." - -#: src/templates/tabs/trade.jade:363 msgid "Your order has been submitted." msgstr "Your order has been submitted." -#: src/templates/tabs/trade.jade:365 +#: src/templates/tabs/trade.jade:319 msgid "Your order is now active." msgstr "Your order is now active." -#: src/templates/tabs/trade.jade:367 +#: src/templates/tabs/trade.jade:321 msgid "Your order has been filled." msgstr "Your order has been filled." -#: src/templates/tabs/trade.jade:369 +#: src/templates/tabs/trade.jade:323 msgid "Your order has been partially filled. The remaining amount is now active." msgstr "Your order has been partially filled. The remaining amount is now active." -#: src/templates/tabs/trade.jade:382 -msgid "Submit another order" -msgstr "Submit another order" +#: src/templates/tabs/trade.jade:336 +msgid "CAUTION: Your order is far off from the market price." +msgstr "CAUTION: Your order is far off from the market price." + +#: src/templates/tabs/trade.jade:342 +msgid "Amount to buy" +msgstr "Amount to buy" + +#: src/templates/tabs/trade.jade:343 +msgid "Amount to sell" +msgstr "Amount to sell" + +#: src/templates/tabs/trade.jade:355 +msgid "Price of each" +msgstr "Price of each" -#: src/templates/tabs/trade.jade:384 +#: src/templates/tabs/trade.jade:381 +msgid "« Back" +msgstr "« Back" + +#: src/templates/tabs/trade.jade:389 +msgid "Sending order to Ripple network..." +msgstr "Sending order to Ripple network..." + +#: src/templates/tabs/trade.jade:391 msgid "My Orders{{1}}{{2}}" msgstr "My Orders{{1}}{{2}}" -#: src/templates/tabs/trade.jade:393 +#: src/templates/tabs/trade.jade:400 msgid "Your order has been modified." msgstr "Your order has been modified." -#: src/templates/tabs/trade.jade:395 +#: src/templates/tabs/trade.jade:402 msgid "Your order #{{ cancelOrder.seq }} has been cancelled." msgstr "Your order #{{ cancelOrder.seq }} has been cancelled." -#: src/templates/tabs/trade.jade:397 +#: src/templates/tabs/trade.jade:404 msgid "Your order could not be modified and no longer exists. Error: {{order[editOrder.type].engine_result_message}}" msgstr "Your order could not be modified and no longer exists. Error: {{order[editOrder.type].engine_result_message}}" -#: src/templates/tabs/trade.jade:399 +#: src/templates/tabs/trade.jade:406 msgid "Unable to cancel order as it no longer exists." msgstr "Unable to cancel order as it no longer exists." -#: src/templates/tabs/trade.jade:401 +#: src/templates/tabs/trade.jade:408 msgid "Modifying your order (Placing new order) ..." msgstr "Modifying your order (Placing new order) ..." -#: src/templates/tabs/trade.jade:405 +#: src/templates/tabs/trade.jade:412 msgid "Current pair only" msgstr "Current pair only" -#: src/templates/tabs/trade.jade:420 +#: src/templates/tabs/trade.jade:427 #: src/templates/tabs/widgets/orders.jade:26 msgid "reverse" msgstr "reverse" -#: src/templates/tabs/trade.jade:449 +#: src/templates/tabs/trade.jade:441 +#: src/templates/strings/myOrders.jade:4 +#: src/templates/tabs/widgets/orders.jade:40 +msgid "QTY" +msgstr "QTY" + +#: src/templates/tabs/trade.jade:446 +#: src/templates/strings/myOrders.jade:5 +#: src/templates/tabs/widgets/orders.jade:45 +msgid "Base" +msgstr "Base" + +#: src/templates/tabs/trade.jade:451 +#: src/templates/strings/myOrders.jade:6 +#: src/templates/tabs/widgets/orders.jade:50 +msgid "Counter" +msgstr "Counter" + +#: src/templates/tabs/trade.jade:456 #: src/templates/tabs/widgets/orders.jade:55 msgid "Limit Price" msgstr "Limit Price" -#: src/templates/tabs/trade.jade:454 +#: src/templates/tabs/trade.jade:461 msgid "Action" msgstr "Action" -#: src/templates/tabs/trade.jade:457 +#: src/templates/tabs/trade.jade:464 #: src/templates/tabs/widgets/orders.jade:64 msgid ""Type"" msgstr ""Type"" -#: src/templates/tabs/trade.jade:460 +#: src/templates/tabs/trade.jade:467 #: src/templates/tabs/widgets/orders.jade:67 msgid ""QTY"" msgstr ""QTY"" -#: src/templates/tabs/trade.jade:462 +#: src/templates/tabs/trade.jade:469 #: src/templates/tabs/widgets/orders.jade:70 msgid ""BASE"" msgstr ""BASE"" -#: src/templates/tabs/trade.jade:471 +#: src/templates/tabs/trade.jade:478 #: src/templates/tabs/widgets/orders.jade:79 msgid ""Counter"" msgstr ""Counter"" -#: src/templates/tabs/trade.jade:480 -#: src/templates/tabs/trust.jade:238 +#: src/templates/tabs/trade.jade:487 +#: src/templates/tabs/trust.jade:233 #: src/templates/tabs/widgets/orders.jade:88 msgid ""Limit"" msgstr ""Limit"" -#: src/templates/tabs/trade.jade:491 -#: src/templates/tabs/trade.jade:575 +#: src/templates/tabs/trade.jade:498 +#: src/templates/tabs/trade.jade:582 msgid "TRADE CONFIRMATION" msgstr "TRADE CONFIRMATION" -#: src/templates/tabs/trade.jade:493 +#: src/templates/tabs/trade.jade:500 msgid "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" msgstr "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" -#: src/templates/tabs/trade.jade:495 -msgid "{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div span.modal-order-type(l10n-inc) REMAIN: span remain data div span.modal-order-type(l10n-inc) PLACED: span time data" -msgstr "{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div span.modal-order-type(l10n-inc) REMAIN: span remain data div span.modal-order-type(l10n-inc) PLACED: span time data" - -#: src/templates/tabs/trade.jade:505 +#: src/templates/tabs/trade.jade:512 msgid "with" msgstr "with" -#: src/templates/tabs/trade.jade:506 +#: src/templates/tabs/trade.jade:513 msgid "for" msgstr "for" -#: src/templates/tabs/trade.jade:513 +#: src/templates/tabs/trade.jade:520 msgid "at" msgstr "at" -#: src/templates/tabs/trade.jade:526 +#: src/templates/tabs/trade.jade:533 msgid "Cancel order" msgstr "Cancel order" -#: src/templates/tabs/trade.jade:527 -#: src/templates/tabs/trade.jade:547 -#: src/templates/tabs/trade.jade:582 +#: src/templates/tabs/trade.jade:534 +#: src/templates/tabs/trade.jade:554 +#: src/templates/tabs/trade.jade:589 msgid "back" msgstr "back" -#: src/templates/tabs/trade.jade:549 +#: src/templates/tabs/trade.jade:556 msgid ""CAUTION: Your new order is far off from the current market price.
Do you still want to replace your order ?"" msgstr ""CAUTION: Your new order is far off from the current market price.
Do you still want to replace your order ?"" -#: src/templates/tabs/trade.jade:549 +#: src/templates/tabs/trade.jade:556 msgid ""Confirm"" msgstr ""Confirm"" -#: src/templates/tabs/trade.jade:549 +#: src/templates/tabs/trade.jade:556 msgid ""« Back"" msgstr ""« Back"" -#: src/templates/tabs/trade.jade:556 +#: src/templates/tabs/trade.jade:563 msgid "submit" msgstr "submit" -#: src/templates/tabs/trade.jade:561 +#: src/templates/tabs/trade.jade:568 msgid "Unable to cancel order. Error: {{entry.errorMsg}}" msgstr "Unable to cancel order. Error: {{entry.errorMsg}}" -#: src/templates/tabs/trade.jade:563 +#: src/templates/tabs/trade.jade:570 msgid "Your order amount has been updated by Ripple. Please go back and edit again to modify this order." msgstr "Your order amount has been updated by Ripple. Please go back and edit again to modify this order." -#: src/templates/tabs/trade.jade:565 +#: src/templates/tabs/trade.jade:572 msgid "Your order could not be modified. Error: {{order[editOrder.type].engine_result_message}}" msgstr "Your order could not be modified. Error: {{order[editOrder.type].engine_result_message}}" -#: src/templates/tabs/trade.jade:566 +#: src/templates/tabs/trade.jade:573 msgid "X" msgstr "X" -#: src/templates/tabs/trade.jade:571 +#: src/templates/tabs/trade.jade:578 msgid "cancel all" msgstr "cancel all" -#: src/templates/tabs/trade.jade:577 +#: src/templates/tabs/trade.jade:584 msgid "{{1:Please confirm that you wish to cancel all orders.}}" msgstr "{{1:Please confirm that you wish to cancel all orders.}}" -#: src/templates/tabs/trade.jade:581 +#: src/templates/tabs/trade.jade:588 msgid "Cancel all orders" msgstr "Cancel all orders" -#: src/templates/tabs/trade.jade:584 +#: src/templates/tabs/trade.jade:591 #: src/templates/tabs/widgets/orders.jade:93 msgid "No current orders. {{1}}" msgstr "No current orders. {{1}}" -#: src/templates/tabs/trade.jade:585 +#: src/templates/tabs/trade.jade:592 #: src/templates/tabs/widgets/orders.jade:94 msgid "View orders history" msgstr "View orders history" -#: src/templates/tabs/trade.jade:588 +#: src/templates/tabs/trade.jade:595 msgid "Orderbook" msgstr "Orderbook" -#: src/templates/tabs/trade.jade:590 +#: src/templates/tabs/trade.jade:597 msgid "Last updated {{1}} {{2: seconds}} {{3: second}} ago" msgstr "Last updated {{1}} {{2: seconds}} {{3: second}} ago" -#: src/templates/tabs/trade.jade:607 +#: src/templates/tabs/trade.jade:614 msgid "Bids" msgstr "Bids" -#: src/templates/tabs/trade.jade:609 -#: src/templates/tabs/trade.jade:659 +#: src/templates/tabs/trade.jade:616 +#: src/templates/tabs/trade.jade:669 msgid "Sum{{1}}{{2}}" msgstr "Sum{{1}}{{2}}" -#: src/templates/tabs/trade.jade:616 -#: src/templates/tabs/trade.jade:652 +#: src/templates/tabs/trade.jade:623 +#: src/templates/tabs/trade.jade:662 msgid "Size{{1}}{{2}}" msgstr "Size{{1}}{{2}}" -#: src/templates/tabs/trade.jade:623 +#: src/templates/tabs/trade.jade:630 msgid "Bid Price{{1}}{{2}}" msgstr "Bid Price{{1}}{{2}}" -#: src/templates/tabs/trade.jade:640 +#: src/templates/tabs/trade.jade:647 msgid "There are currently no bids for this pair." msgstr "There are currently no bids for this pair." -#: src/templates/tabs/trade.jade:643 +#: src/templates/tabs/trade.jade:653 msgid "Asks" msgstr "Asks" -#: src/templates/tabs/trade.jade:645 +#: src/templates/tabs/trade.jade:655 msgid "Ask Price{{1}}{{2}}" msgstr "Ask Price{{1}}{{2}}" -#: src/templates/tabs/trade.jade:677 +#: src/templates/tabs/trade.jade:687 msgid "There are currently no asks for this pair." msgstr "There are currently no asks for this pair." -#: src/templates/tabs/trade.jade:679 +#: src/templates/tabs/trade.jade:693 msgid "Load more" msgstr "Load more" -#: src/templates/tabs/trade.jade:680 +#: src/templates/tabs/trade.jade:694 msgid "No more orders" msgstr "No more orders" @@ -3281,134 +3459,140 @@ msgstr "Account unlock failed." msgid "Your account could not be unlocked. Please try again later." msgstr "Your account could not be unlocked. Please try again later." -#: src/templates/tabs/trust.jade:64 +#: src/templates/tabs/trust.jade:61 msgid "Name / Address" msgstr "Name / Address" -#: src/templates/tabs/trust.jade:66 -#: src/templates/tabs/trust.jade:105 +#: src/templates/tabs/trust.jade:63 +#: src/templates/tabs/trust.jade:100 msgid "Currency" msgstr "Currency" -#: src/templates/tabs/trust.jade:69 +#: src/templates/tabs/trust.jade:66 msgid "Trust Limit" msgstr "Trust Limit" -#: src/templates/tabs/trust.jade:76 +#: src/templates/tabs/trust.jade:73 msgid "Gateway's Ripple name or address" msgstr "Gateway's Ripple name or address" -#: src/templates/tabs/trust.jade:97 +#: src/templates/tabs/trust.jade:92 msgid "This account does not meet the minimum XRP reserve, so you cannot use it as a gateway." msgstr "This account does not meet the minimum XRP reserve, so you cannot use it as a gateway." -#: src/templates/tabs/trust.jade:101 +#: src/templates/tabs/trust.jade:96 msgid "You cannot add an unfunded Ripple account as a gateway." msgstr "You cannot add an unfunded Ripple account as a gateway." -#: src/templates/tabs/trust.jade:135 +#: src/templates/tabs/trust.jade:130 msgid "Amount field is required." msgstr "Amount field is required." -#: src/templates/tabs/trust.jade:152 +#: src/templates/tabs/trust.jade:147 msgid ""Allow this trust line's balances to be transferred to another issuer you connect to. More information"" msgstr ""Allow this trust line's balances to be transferred to another issuer you connect to. More information"" -#: src/templates/tabs/trust.jade:167 +#: src/templates/tabs/trust.jade:162 msgid "{{1:You are connecting a gateway, which means}}{{2:{{ counterparty_address | rpripplename:{tilde: true} }} can:}}" msgstr "{{1:You are connecting a gateway, which means}}{{2:{{ counterparty_address | rpripplename:{tilde: true} }} can:}}" -#: src/templates/tabs/trust.jade:170 +#: src/templates/tabs/trust.jade:165 msgid "{{1:- Hold up to }}{{2}} {{3: on your behalf}}" msgstr "{{1:- Hold up to }}{{2}} {{3: on your behalf}}" -#: src/templates/tabs/trust.jade:174 +#: src/templates/tabs/trust.jade:169 msgid "{{1:- Hold }}{{2}} {{3: on your behalf}}" msgstr "{{1:- Hold }}{{2}} {{3: on your behalf}}" -#: src/templates/tabs/trust.jade:192 +#: src/templates/tabs/trust.jade:187 msgid "Verifying address" msgstr "Verifying address" -#: src/templates/tabs/trust.jade:195 +#: src/templates/tabs/trust.jade:190 msgid "Your account has to be {{1:activated}} before you can add a gateway account." msgstr "Your account has to be {{1:activated}} before you can add a gateway account." -#: src/templates/tabs/trust.jade:203 +#: src/templates/tabs/trust.jade:198 msgid "Connect gateway" msgstr "Connect gateway" -#: src/templates/tabs/trust.jade:219 +#: src/templates/tabs/trust.jade:213 +#: src/templates/tabs/trust.jade:321 +#: src/templates/strings/myOrders.jade:7 +msgid "Limit" +msgstr "Limit" + +#: src/templates/tabs/trust.jade:214 msgid "Min" msgstr "Min" -#: src/templates/tabs/trust.jade:221 +#: src/templates/tabs/trust.jade:216 msgid "Edit" msgstr "Edit" -#: src/templates/tabs/trust.jade:228 +#: src/templates/tabs/trust.jade:223 msgid ""Gateway"" msgstr ""Gateway"" -#: src/templates/tabs/trust.jade:234 +#: src/templates/tabs/trust.jade:229 msgid ""Balance"" msgstr ""Balance"" -#: src/templates/tabs/trust.jade:242 -#: src/templates/tabs/trust.jade:246 +#: src/templates/tabs/trust.jade:237 +#: src/templates/tabs/trust.jade:241 msgid ""Min"" msgstr ""Min"" -#: src/templates/tabs/trust.jade:252 +#: src/templates/tabs/trust.jade:247 msgid ""Rippling"" msgstr ""Rippling"" -#: src/templates/tabs/trust.jade:255 +#: src/templates/tabs/trust.jade:250 msgid "Off" msgstr "Off" -#: src/templates/tabs/trust.jade:256 +#: src/templates/tabs/trust.jade:251 msgid "On" msgstr "On" -#: src/templates/tabs/trust.jade:276 -#: src/templates/tabs/trust.jade:283 -#: src/templates/tabs/trust.jade:293 -#: src/templates/tabs/trust.jade:300 -#: src/templates/tabs/trust.jade:302 -#: src/templates/tabs/trust.jade:309 -#: src/templates/tabs/trust.jade:360 -#: src/templates/tabs/trust.jade:367 -#: src/templates/tabs/trust.jade:377 -#: src/templates/tabs/trust.jade:384 +#: src/templates/tabs/trust.jade:271 +#: src/templates/tabs/trust.jade:278 +#: src/templates/tabs/trust.jade:288 +#: src/templates/tabs/trust.jade:295 +#: src/templates/tabs/trust.jade:297 +#: src/templates/tabs/trust.jade:304 +#: src/templates/tabs/trust.jade:369 +#: src/templates/tabs/trust.jade:376 #: src/templates/tabs/trust.jade:386 #: src/templates/tabs/trust.jade:393 +#: src/templates/tabs/trust.jade:395 +#: src/templates/tabs/trust.jade:402 msgid "Remove" msgstr "Remove" -#: src/templates/tabs/trust.jade:277 -#: src/templates/tabs/trust.jade:294 -#: src/templates/tabs/trust.jade:303 -#: src/templates/tabs/trust.jade:361 -#: src/templates/tabs/trust.jade:378 +#: src/templates/tabs/trust.jade:272 +#: src/templates/tabs/trust.jade:289 +#: src/templates/tabs/trust.jade:298 +#: src/templates/tabs/trust.jade:370 #: src/templates/tabs/trust.jade:387 +#: src/templates/tabs/trust.jade:396 msgid ""Incoming trust"" msgstr ""Incoming trust"" -#: src/templates/tabs/trust.jade:277 -#: src/templates/tabs/trust.jade:294 -#: src/templates/tabs/trust.jade:303 -#: src/templates/tabs/trust.jade:361 -#: src/templates/tabs/trust.jade:378 +#: src/templates/tabs/trust.jade:272 +#: src/templates/tabs/trust.jade:289 +#: src/templates/tabs/trust.jade:298 +#: src/templates/tabs/trust.jade:370 #: src/templates/tabs/trust.jade:387 +#: src/templates/tabs/trust.jade:396 msgid ""You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you."" msgstr ""You can't delete incoming trust lines. Incoming trust lines are when other Ripple users trust you."" -#: src/templates/tabs/trust.jade:336 +#: src/templates/tabs/trust.jade:331 msgid "Rippling {{1}}" msgstr "Rippling {{1}}" -#: src/templates/tabs/trust.jade:348 +#: src/templates/tabs/trust.jade:357 msgid "Removing..." msgstr "Removing..." @@ -3492,100 +3676,53 @@ msgstr "Ripple Trade has partnered with SnapSwap to provide easier access to USD msgid "Add SnapSwap.us" msgstr "Add SnapSwap.us" -#: src/templates/tabs/usd.jade:82 +#: src/templates/tabs/usd.jade:85 msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" msgstr "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" -#: src/templates/tabs/usd.jade:83 +#: src/templates/tabs/usd.jade:86 msgid "Register and verify your account at SnapSwap US. You will need: {{1}}" msgstr "Register and verify your account at SnapSwap US. You will need: {{1}}" -#: src/templates/tabs/usd.jade:91 +#: src/templates/tabs/usd.jade:94 msgid "EXISTING SNAPSWAP US CUSTOMERS" msgstr "EXISTING SNAPSWAP US CUSTOMERS" -#: src/templates/tabs/usd.jade:102 +#: src/templates/tabs/usd.jade:105 msgid "Deposit instantly via selected banks" msgstr "Deposit instantly via selected banks" -#: src/templates/tabs/usd.jade:104 +#: src/templates/tabs/usd.jade:107 msgid "Deposit via online bank transfer (3 business days)" msgstr "Deposit via online bank transfer (3 business days)" -#: src/templates/tabs/usd.jade:110 +#: src/templates/tabs/usd.jade:113 msgid "Directly to your bank account (3-4 business days)" msgstr "Directly to your bank account (3-4 business days)" -#: src/templates/tabs/usd.jade:112 +#: src/templates/tabs/usd.jade:115 msgid "Directly to your PayPal account (several minutes)" msgstr "Directly to your PayPal account (several minutes)" -#: src/templates/tabs/xrp.jade:24 -msgid "Ripple name: {{1}}{{2}}{{3}}" -msgstr "Ripple name: {{1}}{{2}}{{3}}" - -#: src/templates/tabs/xrp.jade:26 -msgid "loading..." -msgstr "loading..." - -#: src/templates/tabs/xrp.jade:28 -msgid "Show address" -msgstr "Show address" - -#: src/templates/tabs/xrp.jade:31 -msgid "Ripple names are a new feature on Ripple! Use your Ripple name (~{{userCredentials.username}}) to receive money. You can still use your full Ripple address, and while we are working to transition to Ripple names, some gateways may still ask for your full address." -msgstr "Ripple names are a new feature on Ripple! Use your Ripple name (~{{userCredentials.username}}) to receive money. You can still use your full Ripple address, and while we are working to transition to Ripple names, some gateways may still ask for your full address." - -#: src/templates/popup/modifyOrderError.jade:2 -msgid "Modify Order Error" -msgstr "Modify Order Error" - -#: src/templates/popup/modifyOrderError.jade:4 -msgid "Sorry, your order could not be modified." -msgstr "Sorry, your order could not be modified." - -#: src/templates/popup/modifyOrderError.jade:5 -msgid "Your original order was cancelled but the modified order was not placed.
" -msgstr "Your original order was cancelled but the modified order was not placed.
" - -#: src/templates/popup/modifyOrderError.jade:6 -msgid "The quantity of your order changed by {{order.qtyChangeAfterCancel | rpamount}} before the order could be modified.

" -msgstr "The quantity of your order changed by {{order.qtyChangeAfterCancel | rpamount}} before the order could be modified.

" - -#: src/templates/popup/modifyOrderError.jade:7 -msgid "To safeguard against the possibility of overfills a new order has not been placed.
" -msgstr "To safeguard against the possibility of overfills a new order has not been placed.
" - -#: src/templates/popup/modifyOrderError.jade:8 -msgid "Please check your balance and history before placing the new order manually.
" -msgstr "Please check your balance and history before placing the new order manually.
" - -#: src/templates/popup/modifyOrderError.jade:10 -#: src/templates/popup/unlock.jade:21 -msgid "Close" -msgstr "Close" - -#: src/templates/popup/unlock.jade:2 -msgid "Unlock account" -msgstr "Unlock account" +#: src/templates/tabs/usd.jade:137 +msgid "Ripple Trade has partnered with Bitstamp to provide easier access to USD. Following this action will enable Bitstamp to hold USD on your behalf." +msgstr "Ripple Trade has partnered with Bitstamp to provide easier access to USD. Following this action will enable Bitstamp to hold USD on your behalf." -#: src/templates/popup/unlock.jade:11 -msgid "Please enter your password to show your secret key." -msgstr "Please enter your password to show your secret key." +#: src/templates/tabs/usd.jade:174 +msgid "SEPA (All funds transferred in EUR will be converted to USD, free of charge. 1-3 business days)" +msgstr "SEPA (All funds transferred in EUR will be converted to USD, free of charge. 1-3 business days)" -#: src/templates/popup/unlock.jade:13 -msgid "This password is incorrect, please try again." -msgstr "This password is incorrect, please try again." +#: src/templates/tabs/xrp.jade:24 +msgid "Featured Gateways" +msgstr "Featured Gateways" -#: src/templates/popup/unlock.jade:14 -#: src/templates/messages/sendconvert/localerror.jade:18 -#: src/templates/tabs/account/public.jade:48 -msgid "Your account cannot be accessed at the moment. Please try again later." -msgstr "Your account cannot be accessed at the moment. Please try again later." +#: src/templates/tabs/xrp.jade:25 +msgid "You can fund your account through gateways, which are entry and exit points off the Ripple network.Gateways will accept deposits from you and then issue you balances on the Ripple network in return.In order to hold a balance from a gateway, you must first add or trust the gateway." +msgstr "You can fund your account through gateways, which are entry and exit points off the Ripple network.Gateways will accept deposits from you and then issue you balances on the Ripple network in return.In order to hold a balance from a gateway, you must first add or trust the gateway." -#: src/templates/popup/unlock.jade:17 -msgid "Confirming password" -msgstr "Confirming password" +#: src/templates/strings/myOrders.jade:3 +msgid "Type" +msgstr "Type" #: src/templates/messages/sendconvert/confirmation.jade:4 msgid "Transaction pending." @@ -3696,7 +3833,6 @@ msgid "Account settings" msgstr "Account settings" #: src/templates/tabs/account/public.jade:5 -#: src/templates/tabs/fund/menu.jade:2 #: src/templates/tabs/login/form.jade:3 msgid "Ripple name" msgstr "Ripple name" @@ -3750,106 +3886,90 @@ msgstr "Welcome to Ripple Trade! Your account needs to be activated. You can act msgid "Have another user send XRP to your Ripple name (~{{userCredentials.username}}). {{1}}" msgstr "Have another user send XRP to your Ripple name (~{{userCredentials.username}}). {{1}}" -#: src/templates/tabs/fund/menu.jade:3 -msgid "{{1}}XRP" -msgstr "{{1}}XRP" - -#: src/templates/tabs/fund/menu.jade:6 -msgid "Featured gateways" -msgstr "Featured gateways" - -#: src/templates/tabs/fund/menu.jade:7 +#: src/templates/tabs/fund/menu.jade:2 msgid "{{1}}BRL" msgstr "{{1}}BRL" -#: src/templates/tabs/fund/menu.jade:10 +#: src/templates/tabs/fund/menu.jade:5 msgid "{{1}}BTC" msgstr "{{1}}BTC" -#: src/templates/tabs/fund/menu.jade:13 +#: src/templates/tabs/fund/menu.jade:8 msgid "{{1}}EUR" msgstr "{{1}}EUR" -#: src/templates/tabs/fund/menu.jade:16 +#: src/templates/tabs/fund/menu.jade:11 msgid "{{1}}JPY" msgstr "{{1}}JPY" -#: src/templates/tabs/fund/menu.jade:19 +#: src/templates/tabs/fund/menu.jade:14 msgid "{{1}}MXN" msgstr "{{1}}MXN" -#: src/templates/tabs/fund/menu.jade:22 +#: src/templates/tabs/fund/menu.jade:17 msgid "{{1}}SGD" msgstr "{{1}}SGD" -#: src/templates/tabs/fund/menu.jade:25 +#: src/templates/tabs/fund/menu.jade:20 msgid "{{1}}USD" msgstr "{{1}}USD" -#: src/templates/tabs/fund/menu.jade:28 +#: src/templates/tabs/fund/menu.jade:23 msgid "{{1}}XAU" msgstr "{{1}}XAU" -#: src/templates/tabs/fund/menu.jade:31 -msgid "Add any gateway" -msgstr "Add any gateway" - -#: src/templates/tabs/fund/menu.jade:33 -msgid "Learn more about gateways" -msgstr "Learn more about gateways" - #: src/templates/tabs/history/effects.jade:4 -#: src/templates/tabs/history/effects.jade:19 -msgid "You sold{{1}}for{{2}}" -msgstr "You sold{{1}}for{{2}}" +#: src/templates/tabs/history/effects.jade:28 +#: src/templates/tabs/history/effects.jade:83 +msgid "You sold{{1}}for{{2}}({{3:price :}} {{4}}{{5}}per{{6}})." +msgstr "You sold{{1}}for{{2}}({{3:price :}} {{4}}{{5}}per{{6}})." -#: src/templates/tabs/history/effects.jade:8 -#: src/templates/tabs/history/effects.jade:23 -msgid "You bought{{1}}for{{2}}" -msgstr "You bought{{1}}for{{2}}" +#: src/templates/tabs/history/effects.jade:15 +msgid "You bought{{1}}for{{2}}({{3}} {{4}}{{5}}per{{6}})." +msgstr "You bought{{1}}for{{2}}({{3}} {{4}}{{5}}per{{6}})." -#: src/templates/tabs/history/effects.jade:13 -#: src/templates/tabs/history/effects.jade:28 -msgid "price" -msgstr "price" +#: src/templates/tabs/history/effects.jade:20 +msgid "price :" +msgstr "price :" -#: src/templates/tabs/history/effects.jade:17 +#: src/templates/tabs/history/effects.jade:26 msgid "This order has been filled." msgstr "This order has been filled." -#: src/templates/tabs/history/effects.jade:32 +#: src/templates/tabs/history/effects.jade:39 +#: src/templates/tabs/history/effects.jade:72 +msgid "You bought{{1}}for{{2}}({{3:price :}} {{4}}{{5}}per{{6}})." +msgstr "You bought{{1}}for{{2}}({{3:price :}} {{4}}{{5}}per{{6}})." + +#: src/templates/tabs/history/effects.jade:50 msgid "The rest of your order has been cancelled due to lack of funds." msgstr "The rest of your order has been cancelled due to lack of funds." -#: src/templates/tabs/history/effects.jade:33 +#: src/templates/tabs/history/effects.jade:51 msgid "This order has{{1}}remaining." msgstr "This order has{{1}}remaining." -#: src/templates/tabs/history/effects.jade:39 -msgid "Order ({{1}} for {{2}}) has been cancelled due to lack of funds." -msgstr "Order ({{1}} for {{2}}) has been cancelled due to lack of funds." - -#: src/templates/tabs/history/effects.jade:53 -msgid "You bought{{1}}for{{2}}({{3:price}}{{4}})." -msgstr "You bought{{1}}for{{2}}({{3:price}}{{4}})." +#: src/templates/tabs/history/effects.jade:57 +msgid "Order ({{1}} for{{2}}) has been cancelled due to lack of funds." +msgstr "Order ({{1}} for{{2}}) has been cancelled due to lack of funds." -#: src/templates/tabs/history/effects.jade:68 +#: src/templates/tabs/history/effects.jade:99 msgid "{{1}}is trusting you for{{2}}." msgstr "{{1}}is trusting you for{{2}}." -#: src/templates/tabs/history/effects.jade:73 +#: src/templates/tabs/history/effects.jade:104 msgid "You have changed {{1}}trust for{{2}}from{{3}}to{{4}}." msgstr "You have changed {{1}}trust for{{2}}from{{3}}to{{4}}." -#: src/templates/tabs/history/effects.jade:83 +#: src/templates/tabs/history/effects.jade:114 msgid "{{1}}changed the{{2}}trust from{{3}}to{{4}}." msgstr "{{1}}changed the{{2}}trust from{{3}}to{{4}}." -#: src/templates/tabs/history/effects.jade:92 +#: src/templates/tabs/history/effects.jade:123 msgid "Trust balance between you and{{1}}has been changed by{{2}}." msgstr "Trust balance between you and{{1}}has been changed by{{2}}." -#: src/templates/tabs/history/effects.jade:99 +#: src/templates/tabs/history/effects.jade:130 msgid "Your balance has been changed by{{1}}." msgstr "Your balance has been changed by{{1}}." @@ -3865,9 +3985,13 @@ msgstr "Remember me on this device for 30 days" msgid "Security" msgstr "Security" -#: src/templates/tabs/settings/navbar.jade:6 -msgid "Notifications" -msgstr "Notifications" +#: src/templates/tabs/settings/navbar.jade:4 +msgid "Network and servers" +msgstr "Network and servers" + +#: src/templates/tabs/settings/navbar.jade:5 +msgid "Gateways and trust lines" +msgstr "Gateways and trust lines" #: src/templates/tabs/widgets/assetallocation.jade:4 msgid "Asset Allocation" From 7018fb7954045ff5eb5965b10bb4471036be6601 Mon Sep 17 00:00:00 2001 From: "J.M" Date: Wed, 20 May 2015 18:32:12 +0200 Subject: [PATCH 313/321] Navbar template: Remove double quotes in l10n string --- src/templates/client/navbar.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/templates/client/navbar.jade b/src/templates/client/navbar.jade index 8a77dc282..207abe681 100644 --- a/src/templates/client/navbar.jade +++ b/src/templates/client/navbar.jade @@ -51,7 +51,7 @@ nav.navbar(role="navigation", ng-controller="NavbarCtrl") l10n-rp-popover-content="Network fees are currently higher than your maximum. Fee: {{ fee | rpamount }} XRP. Change fees") span(ng-switch-when='mediumLoad' rp-popover, rp-popover-placement='bottom', rp-popover-trigger='hover', rp-popover-delay - l10n-rp-popover-content="'Network fees are currently higher than normal. Fee: {{ fee | rpamount }} XRP'") + l10n-rp-popover-content="Network fees are currently higher than normal. Fee: {{ fee | rpamount }} XRP") span(ng-switch-when='lowLoad' rp-popover, rp-popover-placement='bottom', rp-popover-trigger='hover', rp-popover-delay l10n-rp-popover-content="Connected to the Ripple network. Fee: {{ fee | rpamount }} XRP") From e230f859557443012a8ce7b767a49aed93e644c0 Mon Sep 17 00:00:00 2001 From: "J.M" Date: Wed, 27 May 2015 19:32:43 +0200 Subject: [PATCH 314/321] Add Korean localization --- l10n/ko/messages.po | 3658 ++++++++++++++++++++++++++++++ l10n/languages.json | 1 + src/templates/client/layout.jade | 2 + 3 files changed, 3661 insertions(+) create mode 100644 l10n/ko/messages.po diff --git a/l10n/ko/messages.po b/l10n/ko/messages.po new file mode 100644 index 000000000..464d94cf3 --- /dev/null +++ b/l10n/ko/messages.po @@ -0,0 +1,3658 @@ +# Generated by grunt-jade-l10n-extractor +# Translators: +# Jaesoo Kim <181.9cm@gmail.com>, 2015 +# ripko, 2014 +msgid "" +msgstr "" +"Project-Id-Version: Ripple Trade\n" +"PO-Revision-Date: 2015-05-22 08:04+0000\n" +"Last-Translator: Jaesoo Kim <181.9cm@gmail.com>\n" +"Language-Team: Korean (http://www.transifex.com/projects/p/ripple-trade/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/jade/client/index.jade:5 src/jade/client/navbar.jade:117 +#: src/jade/tabs/trust.jade:59 src/jade/tabs/trust.jade:168 +msgid "Balance" +msgstr "잔고" + +#: src/jade/client/index.jade:7 src/jade/client/navbar.jade:119 +msgid "History" +msgstr "거래 내역" + +#: src/jade/client/index.jade:8 src/jade/client/navbar.jade:121 +msgid "Contacts" +msgstr "연락처" + +#: src/jade/client/index.jade:12 src/jade/client/navbar.jade:21 +#: src/jade/tabs/contacts.jade:65 +msgid "Send" +msgstr "송금" + +#: src/jade/client/index.jade:16 +msgid "Convert" +msgstr "환전" + +#: src/jade/client/index.jade:18 src/jade/client/navbar.jade:23 +#: src/jade/client/navbar.jade:25 src/jade/tabs/settings/navbar.jade:3 +msgid "Trade" +msgstr "거래" + +#: src/jade/client/index.jade:22 src/jade/client/navbar.jade:27 +#: src/jade/client/navbar.jade:133 +msgid "Fund" +msgstr "자금" + +#: src/jade/client/index.jade:24 src/jade/tabs/fund/menu.jade:29 +msgid "Gateways" +msgstr "게이트웨이" + +#: src/jade/client/index.jade:29 src/jade/client/navbar.jade:107 +#: src/jade/tabs/su.jade:12 +msgid "Account" +msgstr "지갑" + +#: src/jade/client/index.jade:32 src/jade/client/navbar.jade:109 +#: src/jade/tabs/advanced.jade:19 +msgid "Settings" +msgstr "설정" + +#: src/jade/client/index.jade:35 +msgid "Logout" +msgstr "로그아웃" + +#: src/jade/client/index.jade:61 +msgid "Why Use Ripple Trade?" +msgstr "왜 리플 트레이드를 이용해야 되나요?" + +#: src/jade/client/index.jade:66 +msgid "Home of XRP -" +msgstr "XRP의 홈" + +#: src/jade/client/index.jade:67 +msgid "the best place to buy and sell XRP" +msgstr "XRP를 사고팔기에 최적의 사이트" + +#: src/jade/client/index.jade:71 +msgid "Free -" +msgstr "무료" + +#: src/jade/client/index.jade:72 +msgid "no fees to sign up and use Ripple Trade" +msgstr "회원가입 및 리플트레이를 수수료 없이 이용" + +#: src/jade/client/index.jade:76 +msgid "No Middlemen -" +msgstr "중개인이 없다" + +#: src/jade/client/index.jade:77 +msgid "" +"When you submit orders, Ripple automatically finds the best available match," +" without a clearinghouse or broker." +msgstr "주문시 리플은 가장 적합한 상대를 중개인 및 교환소 없이 자동으로 찾음" + +#: src/jade/client/index.jade:81 +msgid "Deposit, trade and withdraw money on Ripple via gateways." +msgstr "게이트웨이를 통하여 리플에 예탁, 거래, 인출 하기" + +#: src/jade/client/index.jade:89 +msgid "Featured Ripple Gateways" +msgstr "주요 리플 게이트웨이" + +#: src/jade/client/index.jade:91 +msgid "Ripple's growing gateway network." +msgstr "리플의 성장하는 게이트웨이 네트워크" + +#: src/jade/client/index.jade:93 src/jade/client/index.jade:96 +#: src/jade/client/index.jade:99 src/jade/client/index.jade:102 +#: src/jade/client/index.jade:105 src/jade/client/index.jade:108 +#: src/jade/client/index.jade:111 src/jade/client/index.jade:114 +#: src/jade/client/index.jade:117 src/jade/tabs/banner/unfunded.jade:6 +#: src/jade/tabs/brl.jade:53 src/jade/tabs/brl.jade:57 +#: src/jade/tabs/brl.jade:93 src/jade/tabs/btc.jade:46 +#: src/jade/tabs/eur.jade:50 src/jade/tabs/eur.jade:54 +#: src/jade/tabs/eur.jade:86 src/jade/tabs/eur.jade:93 +#: src/jade/tabs/gold.jade:51 src/jade/tabs/jpy.jade:55 +#: src/jade/tabs/jpy.jade:91 src/jade/tabs/jpy.jade:97 +#: src/jade/tabs/mxn.jade:53 src/jade/tabs/send.jade:63 +#: src/jade/tabs/trade.jade:320 src/jade/tabs/usd.jade:51 +#: src/jade/tabs/usd.jade:83 src/jade/tabs/usd.jade:90 +#: src/jade/tabs/usd.jade:100 src/jade/tabs/widgets/orders.jade:31 +msgid "{{1}}" +msgstr "{{1}}" + +#: src/jade/client/index.jade:123 +msgid "Version: {{version}}" +msgstr "버전: {{version}}" + +#: src/jade/client/index.jade:128 +msgid "Terms of Use" +msgstr "서비스 이용약관" + +#: src/jade/client/index.jade:129 +msgid "Privacy Policy" +msgstr "개인정보취급방침" + +#: src/jade/client/index.jade:130 +msgid "Support" +msgstr "고객지원" + +#: src/jade/client/index.jade:131 +msgid "Bug reports" +msgstr "버그 신고" + +#: src/jade/client/index.jade:138 +msgid "more..." +msgstr "추가..." + +#: src/jade/client/index.jade:142 +msgid "Select a language" +msgstr "언어선택" + +#: src/jade/client/navbar.jade:2 +msgid "" +"You are viewing an account in {{1}} mode. While in this mode, you can view " +"publicly available data, but you cannot initiate any transactions. Click " +"{{2}} to exit." +msgstr "{{1}} 모드에서 지갑을 볼 수 있습니다. 현재 모드에있는 동안, 공개 된 데이터를 볼 수 있지만, 거래를 시작할 수 없습니다. {{2}} 클릭해서 종료" + +#: src/jade/client/navbar.jade:8 +msgid "" +"Warning: this account has over 200 trust lines, so the displayed account " +"balance may not be accurate." +msgstr "경고: 이 계정에 200 개 이상의 트러스트 라인이 연결되 있으므로 표시된 계정 잔액이 정확하지 않을 수 있습니다." + +#: src/jade/client/navbar.jade:19 +msgid "Overview" +msgstr "개요" + +#: src/jade/client/navbar.jade:49 src/jade/tabs/account/private.jade:7 +#: src/jade/tabs/account/private.jade:16 src/jade/tabs/account/public.jade:45 +#: src/jade/tabs/apps.jade:8 src/jade/tabs/btc.jade:72 +#: src/jade/tabs/exchange.jade:9 src/jade/tabs/kyc.jade:45 +#: src/jade/tabs/recover.jade:26 src/jade/tabs/security.jade:147 +#: src/jade/tabs/su.jade:8 src/jade/tabs/trust.jade:9 +#: src/jade/tabs/trust.jade:139 +msgid "Loading..." +msgstr "로딩중" + +#: src/jade/client/navbar.jade:50 +msgid "There are no recent notifications." +msgstr "최근 공지 사항이 없습니다." + +#: src/jade/client/navbar.jade:54 +msgid "You sent {{1}} to {{2}}" +msgstr "{{1}}을 {{2}}에게 보냈습니다." + +#: src/jade/client/navbar.jade:60 +msgid "{{1}} sent you {{2}}" +msgstr "{{1}}이 {{2}}를 보냈습니다." + +#: src/jade/client/navbar.jade:68 +msgid "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" +msgstr "{{entry.transaction.counterparty | rpcontactname}}는 사용자에게 다음 긍액과 관련하여 트러스트를 부여합니다. " + +#: src/jade/client/navbar.jade:74 src/jade/notification/account.jade:25 +#: src/jade/tabs/history.jade:115 src/jade/tabs/history/effects.jade:63 +msgid "You have now connected to the gateway {{1}}{{2: for }}{{3}}." +msgstr "게이트웨이와 연결이 되었습니다 {{1}}{{2: for }}{{3}}." + +#: src/jade/client/navbar.jade:85 +msgid "You cancelled an order accepting {{1}} for {{2}}" +msgstr "주문을 취소하였습니다 {{1}} for {{2}}" + +#: src/jade/client/navbar.jade:92 src/jade/tabs/history.jade:138 +msgid "Account details have been changed" +msgstr "계좌 내역이 수정되었습니다." + +#: src/jade/client/navbar.jade:95 src/jade/tabs/history.jade:141 +#: src/jade/tabs/trust.jade:171 +msgid "Rippling" +msgstr "리플링" + +#: src/jade/client/navbar.jade:97 src/jade/tabs/history.jade:143 +msgid "Failed transaction" +msgstr "거래 실패" + +#: src/jade/client/navbar.jade:103 +msgid "View Full History" +msgstr "전체 거래내역 보기" + +#: src/jade/client/navbar.jade:111 +msgid "Log Out" +msgstr "로그아웃" + +#: src/jade/client/navbar.jade:126 +msgid "Simple" +msgstr "간편거래" + +#: src/jade/client/navbar.jade:128 src/jade/tabs/settings/navbar.jade:4 +msgid "Advanced" +msgstr "고급" + +#: src/jade/client/navbar.jade:135 +msgid "Withdraw" +msgstr "인출" + +#: src/jade/client/navbar.jade:137 +msgid "" +"Your account was successfully recovered and encrypted with the new password " +"you provided!" +msgstr "새로운 암호로 지갑이 성공적으로 복구되고 암호화 되었습니다." + +#: src/jade/client/navbar.jade:138 +msgid "dismiss" +msgstr "" + +#: src/jade/directives/addresspopover.jade:3 +msgid "Ripple address {{ identity }}" +msgstr "리플 주소" + +#: src/jade/directives/addresspopover.jade:8 src/jade/tabs/tx.jade:13 +msgid "Show in graph" +msgstr "도표로 보여주기" + +#: src/jade/directives/transactionerror.jade:8 +msgid "Connecting gateway to your account..." +msgstr "게이트웨이 연결중..." + +#: src/jade/directives/transactionerror.jade:10 +msgid "Gateway connected." +msgstr "게이트웨이 연결됨" + +#: src/jade/directives/transactionerror.jade:12 +msgid "There was a problem connecting to the gateway. Please try again later." +msgstr "게이트웨이 연결에 문제가 있습니다. 잠시 후 다시 시도해 주세요." + +#: src/jade/directives/transactionerror.jade:14 +#: src/jade/directives/transactionerror.jade:73 +#: src/jade/directives/transactionerror.jade:158 +#: src/jade/messages/sendconvert/confirmation.jade:13 +msgid "Error code: {{engine_result}} - {{engine_result_message}}" +msgstr "에러 코드: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:19 +#: src/jade/directives/transactionerror.jade:23 +#: src/jade/directives/transactionerror.jade:28 +#: src/jade/directives/transactionerror.jade:33 +#: src/jade/directives/transactionerror.jade:45 +#: src/jade/directives/transactionerror.jade:52 +#: src/jade/directives/transactionerror.jade:156 +#: src/jade/directives/transactionerror.jade:163 +#: src/jade/directives/transactionerror.jade:167 +#: src/jade/directives/transactionerror.jade:172 +#: src/jade/directives/transactionerror.jade:177 +#: src/jade/directives/transactionerror.jade:186 +#: src/jade/directives/transactionerror.jade:193 +msgid "Request failed" +msgstr "요청이 실패했습니다." + +#: src/jade/directives/transactionerror.jade:21 +#: src/jade/directives/transactionerror.jade:165 +msgid "Your request timed out, please try again." +msgstr "요청 시간이 경과 되었습니다. 다시 시도해 주세요." + +#: src/jade/directives/transactionerror.jade:25 +#: src/jade/directives/transactionerror.jade:84 +#: src/jade/directives/transactionerror.jade:169 +#: src/jade/messages/sendconvert/confirmation.jade:18 +msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." +msgstr "에러 코드: 대상 태그 필요 [tefDST_TAG_NEEDED]." + +#: src/jade/directives/transactionerror.jade:30 +#: src/jade/directives/transactionerror.jade:174 +msgid "" +"Error code: This request failed because it exceeded the maximum network fee," +" please try again later [telINSUF_FEE_P]." +msgstr "에러 코드: 네트워크 최대 수수료를 초과하였습니다. 요청이 실패하였으니 다시 시도해 주세요 [telINSUF_FEE_P]." + +#: src/jade/directives/transactionerror.jade:35 +msgid "" +"Error code: You have no gateway connected in this currency [terNO_LINE]." +msgstr "에러 코드: 해당 통화와 연결된 게이트웨이가 없습니다 [terNO_LINE]." + +#: src/jade/directives/transactionerror.jade:37 +msgid "" +"Error code: Insufficient reserve to connect gateway [tecINSUF_RESERVE_LINE]." +msgstr "에러 코드: 게이트웨이 연결에 부족한 저당입니다 [tecINSUF_RESERVE_LINE]." + +#: src/jade/directives/transactionerror.jade:39 +msgid "" +"Error code: You have an insufficient reserve amount to connect a gateway " +"[tecNO_LINE_INSUF_RESERVE]. {{1}}" +msgstr "에러 코드: 게이트웨이 연결에 부족한 저당입니다 [tecNO_LINE_INSUF_RESERVE]. {{1}}" + +#: src/jade/directives/transactionerror.jade:41 src/jade/tabs/fund.jade:34 +#: src/jade/tabs/send.jade:110 src/jade/tabs/trust.jade:74 +msgid "More information" +msgstr "상세 정보" + +#: src/jade/directives/transactionerror.jade:42 +#: src/jade/directives/transactionerror.jade:98 +#: src/jade/directives/transactionerror.jade:135 +#: src/jade/directives/transactionerror.jade:183 +#: src/jade/messages/sendconvert/confirmation.jade:27 +msgid "Error: {{engine_result_message}}" +msgstr "에러: {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:47 +#: src/jade/directives/transactionerror.jade:103 +#: src/jade/directives/transactionerror.jade:188 +#: src/jade/messages/sendconvert/confirmation.jade:32 +msgid "Error code: You have no trust line in this currency [terNO_LINE]." +msgstr "에러 코드: 해당 통화와 연결된 게이트웨이가 없습니다 [terNO_LINE]." + +#: src/jade/directives/transactionerror.jade:49 +#: src/jade/directives/transactionerror.jade:190 +msgid "Your request failed: {{engine_result}} - {{engine_result_message}}" +msgstr "요청이 실패하였습니다: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:54 +#: src/jade/directives/transactionerror.jade:195 +msgid "Error code: request could not be submitted [tejLost]." +msgstr "에러 코드: 요청을 제출할 수 없습니다 [tejLost]." + +#: src/jade/directives/transactionerror.jade:56 +#: src/jade/directives/transactionerror.jade:197 src/jade/tabs/trust.jade:36 +msgid "" +"This request failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "거래가 실패하였습니다. 현재 네트워크 수수료가 지갑 한도를 초과했습니다. 네트워크 최대 수수료를 고급 설정에서 조절하거나, 다음에 다시 시도하십시오. 에러 코드: 네트워크 수수료를 조절하십시오 [tejMaxFeeExceeded]." + +#: src/jade/directives/transactionerror.jade:59 +#: src/jade/directives/transactionerror.jade:200 +msgid "" +"Your request could not be submitted: {{engine_result}} - " +"{{engine_result_message}}" +msgstr "다음과 같은 이유로 거래가 제출되지 않았습니다. {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:67 +msgid "Payment pending" +msgstr "결제 보류중" + +#: src/jade/directives/transactionerror.jade:69 +msgid "Payment successful" +msgstr "결제 완료" + +#: src/jade/directives/transactionerror.jade:71 +#: src/jade/directives/transactionerror.jade:82 +#: src/jade/directives/transactionerror.jade:87 +#: src/jade/directives/transactionerror.jade:92 +#: src/jade/directives/transactionerror.jade:101 +#: src/jade/directives/transactionerror.jade:108 +msgid "Payment failed" +msgstr "결제 실패" + +#: src/jade/directives/transactionerror.jade:78 +msgid "Payment failed [tefMAX_LEDGER]." +msgstr "결제 실패 [tefMAX_LEDGER]." + +#: src/jade/directives/transactionerror.jade:80 +msgid "Your payment timed out, please try again." +msgstr "요청 시간이 경과 되었습니다. 다시 시도해 주세요." + +#: src/jade/directives/transactionerror.jade:89 +#: src/jade/messages/sendconvert/confirmation.jade:39 +msgid "" +"Error code: This transaction failed because it exceeded the maximum network " +"fee, please try again later [telINSUF_FEE_P]." +msgstr "에러 코드: 네트워크 최대 수수료를 초과하였습니다. 요청이 실패하였으니 다시 시도해 주세요. [telINSUF_FEE_P]." + +#: src/jade/directives/transactionerror.jade:94 +#: src/jade/directives/transactionerror.jade:179 +msgid "Error code: No destination [tecNO_DST]." +msgstr "에러 코드: 대상 없음 [tecNO_DST]." + +#: src/jade/directives/transactionerror.jade:96 +#: src/jade/directives/transactionerror.jade:181 +#: src/jade/messages/sendconvert/confirmation.jade:25 +msgid "" +"Error code: Insufficient XRP sent to destination [tecNO_DST_INSUF_XRP]." +msgstr "에러 코드: 불충분한 XRP 를 보냅니다[tecNO_DST_INSUF_XRP]." + +#: src/jade/directives/transactionerror.jade:105 +msgid "Your payment failed: {{engine_result}} - {{engine_result_message}}" +msgstr "결제가 실패하였습니다: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:110 +msgid "Error code: Transaction could not be submitted [tejLost]." +msgstr "에러 코드: 거래 요청이 이루어지지 않았습니다 [tejLost]." + +#: src/jade/directives/transactionerror.jade:112 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "거래가 실패하였습니다. 현재 네트워크 수수료가 지갑 한도를 초과했습니다. 네트워크 최대 수수료를 고급 설정에서 조절하거나, 다음에 다시 시도하십시오. 에러 코드: 네트워크 수수료를 조절하십시오 [tejMaxFeeExceeded]." + +#: src/jade/directives/transactionerror.jade:115 +msgid "" +"Your payment could not be submitted: {{engine_result}} - " +"{{engine_result_message}}" +msgstr "결제가 이루어지지 않았습니다: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:121 +msgid "Request is malformed." +msgstr "요청이 잘못되었습니다." + +#: src/jade/directives/transactionerror.jade:122 +msgid "" +"Your request is invalid, reason: {{engine_result_message}} - " +"{{engine_result_message}}" +msgstr "다음과 같은 이유로 요청이 유효하지 않습니다: {{engine_result_message}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:125 +#: src/jade/directives/transactionerror.jade:142 +msgid "Transaction failed." +msgstr "결제 실패." + +#: src/jade/directives/transactionerror.jade:127 +msgid "You do not have enough funds to create this order [tecUNFUNDED_ORDER]." +msgstr "거래하기 위한 자금이 부족합니다 [tecUNFUNDED_ORDER]." + +#: src/jade/directives/transactionerror.jade:129 +msgid "" +"Insufficient reserve amount to submit an order [tecINSUF_RESERVE_OFFER]." +msgstr "거래시 필요한 저당이 부족합니다 [tecINSUF_RESERVE_OFFER]." + +#: src/jade/directives/transactionerror.jade:131 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]. {{1}}" +msgstr "거래가 실패하였습니다. 현재 네트워크 수수료가 지갑 한도를 초과했습니다. 네트워크 최대 수수료를 고급 설정에서 조절하거나, 다음에 다시 시도하십시오. 에러 코드: 네트워크 수수료를 조절하십시오 [tejMaxFeeExceeded]." + +#: src/jade/directives/transactionerror.jade:134 +msgid "More information." +msgstr "추가 정보" + +#: src/jade/directives/transactionerror.jade:138 +msgid "Trade failed." +msgstr "거래가 실패했습니다." + +#: src/jade/directives/transactionerror.jade:140 +msgid "Trade failed, reason: {{engine_result_message}}" +msgstr "거래가 실패했습니다: {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:144 +msgid "" +"The particular server you sent the transaction to was too busy to forward or" +" process your transaction at the fee you included in it [telINSUF_FEE_P]." +msgstr "회원님이 거래한 수수료를 포함한 특정 서버가 거래를 전송하거나 처리하기에 매우 바쁜 상태입니다[telINSUF_FEE_P]." + +#: src/jade/directives/transactionerror.jade:152 +msgid "Request pending" +msgstr "요청 승인중" + +#: src/jade/directives/transactionerror.jade:154 +msgid "Request successful" +msgstr "승인 완료" + +#: src/jade/messages/sendconvert/confirmation.jade:4 +msgid "Transaction pending." +msgstr "거래 승인중" + +#: src/jade/messages/sendconvert/confirmation.jade:6 +msgid "Transaction successful" +msgstr "거래 완료" + +#: src/jade/messages/sendconvert/confirmation.jade:8 +#: src/jade/messages/sendconvert/confirmation.jade:11 +#: src/jade/messages/sendconvert/confirmation.jade:16 +#: src/jade/messages/sendconvert/confirmation.jade:21 +#: src/jade/messages/sendconvert/confirmation.jade:30 +#: src/jade/messages/sendconvert/confirmation.jade:37 +#: src/jade/messages/sendconvert/localerror.jade:5 +#: src/jade/messages/sendconvert/localerror.jade:8 +#: src/jade/messages/sendconvert/localerror.jade:11 +#: src/jade/messages/sendconvert/localerror.jade:14 +msgid "Transaction failed" +msgstr "거래 실패" + +#: src/jade/messages/sendconvert/confirmation.jade:9 src/jade/tabs/brl.jade:25 +#: src/jade/tabs/btc.jade:22 src/jade/tabs/eur.jade:25 +#: src/jade/tabs/gold.jade:25 src/jade/tabs/jpy.jade:25 +#: src/jade/tabs/mxn.jade:25 src/jade/tabs/trust.jade:43 +#: src/jade/tabs/usd.jade:25 +msgid "Please try again later." +msgstr "다시 시도해 주세요." + +#: src/jade/messages/sendconvert/confirmation.jade:23 +msgid "Error code: The destination account does not exist [tecNO_DST]." +msgstr "에러 코드: 대상 지갑이 존재 하지 않습니다 [tecNO_DST]." + +#: src/jade/messages/sendconvert/confirmation.jade:34 +msgid "Your transaction failed: {{engine_result_message}}" +msgstr "거래가 실패했습니다: {{engine_result_message}}" + +#: src/jade/messages/sendconvert/localerror.jade:6 +msgid "" +"Error code: The account you're trying to send to does not exist " +"[noDest]." +msgstr "에러 코드: 보내려는 지갑이 존재하지 않습니다 [noDest]." + +#: src/jade/messages/sendconvert/localerror.jade:9 +msgid "" +"Error code: Ripple was unable to find a path between you and the destination" +" account [noPath]." +msgstr "에러 코드: 대상 지갑 간에 연결된 경로를 찾지 못했습니다 [noPath]." + +#: src/jade/messages/sendconvert/localerror.jade:12 +msgid "" +"Error code: This transaction failed because it exceeded the maximum network " +"fee. [maxfeeExceeded]." +msgstr "에러 코드: 네트워크 최대 수수료를 초과하였습니다. 거래가 실패하였습니다. [maxfeeExceeded]." + +#: src/jade/messages/sendconvert/localerror.jade:15 +msgid "" +"Error code: The transaction was rejected by the Ripple network " +"[invalidTransaction]." +msgstr "에러 코드: 거래가 거절되었습니다 [invalidTransaction]." + +#: src/jade/messages/sendconvert/localerror.jade:17 +msgid "Account unlock failed" +msgstr "지갑 잠금해제 실패" + +#: src/jade/messages/sendconvert/localerror.jade:18 +#: src/jade/tabs/trust.jade:40 +msgid "Your account could not be unlocked. Please try again later." +msgstr "지갑을 열지 못했습니다. 다시 시도해 주십시오." + +#: src/jade/messages/sendconvert/localerror.jade:20 +msgid "" +"Sorry, an error occurred while submitting your transaction.Make sure you are" +" connected to the Internet and try again later." +msgstr "거래 요청 중 에러가 발생했습니다. 인터넷 연결 여부를 확인하시고 다시 시도해 주세요." + +#: src/jade/messages/sendconvert/localerror.jade:22 +msgid "" +"Before trying again, please ensure that the transaction has not been " +"executed already." +msgstr "다시 시도하기 전에 거래가 완료되었는지 한번 더 확인하세요." + +#: src/jade/messages/sendconvert/waiting.jade:5 +msgid "Sending transaction to the Ripple network" +msgstr "거래 내역을 리플 네트워크에 보내는 중" + +#: src/jade/notification/account.jade:3 +msgid "You sent {{1}} {{2}} to {{3}}" +msgstr "{{1}} {{2}}을 {{3}}에게 보냈습니다." + +#: src/jade/notification/account.jade:11 +msgid "{{tx.counterparty | rpcontactname}} sent you" +msgstr "{{tx.counterparty | rpcontactname}}님이 보냈습니다." + +#: src/jade/notification/account.jade:18 +msgid "{{tx.counterparty | rpcontactname}} now trusts you for" +msgstr "{{tx.counterparty | rpcontactname}}는 트러스트 합니다." + +#: src/jade/popup/modifyOrderError.jade:2 +msgid "Modify Order Error" +msgstr "거래 수정 에러" + +#: src/jade/popup/modifyOrderError.jade:4 +msgid "Sorry, your order could not be modified." +msgstr "거래가 수정되지 않았습니다." + +#: src/jade/popup/modifyOrderError.jade:5 +msgid "" +"Your original order was cancelled but the modified order was not placed. " +"
" +msgstr "원거래가 취소되었지만 수정된 거래는 나타나지 않았습니다." + +#: src/jade/popup/modifyOrderError.jade:6 +msgid "" +"The quantity of your order changed by {{order.qtyChangeAfterCancel | " +"rpamount}} before the order could be modified.

" +msgstr "거래량이 수정되었습니다 {{order.qtyChangeAfterCancel | rpamount}} 거래 전 수정됩니다." + +#: src/jade/popup/modifyOrderError.jade:7 +msgid "" +"To safeguard against the possibility of overfills a new order has not been " +"placed.
" +msgstr "지나치게 많은양의 거래를 보호하기 위하여 새 거래가 등록되지 않았습니다." + +#: src/jade/popup/modifyOrderError.jade:8 +msgid "" +"Please check your balance and history before placing the new order manually." +"
" +msgstr "거래 전 거래내역과 잔고를 직접 확인하세요." + +#: src/jade/popup/modifyOrderError.jade:10 src/jade/popup/unlock.jade:17 +msgid "Close" +msgstr "닫기" + +#: src/jade/popup/unlock.jade:2 +msgid "Unlock account" +msgstr "지갑 잠금해제" + +#: src/jade/popup/unlock.jade:5 src/jade/tabs/login/form.jade:8 +#: src/jade/tabs/recover.jade:38 src/jade/tabs/register.jade:58 +#: src/jade/tabs/security.jade:12 +msgid "Password" +msgstr "비밀번호" + +#: src/jade/popup/unlock.jade:8 +msgid "Please enter your password to show your secret key." +msgstr "시크릿 키를 보려면 비밀번호를 입력하세요." + +#: src/jade/popup/unlock.jade:9 src/jade/tabs/send.jade:205 +msgid "Please enter your password to confirm this transaction." +msgstr "해당 거래를 승인하려면 비밀번호를 입력하세요." + +#: src/jade/popup/unlock.jade:10 +msgid "This password is incorrect, please try again." +msgstr "잘못된 비밀번호입니다. 다시 시도해 주세요." + +#: src/jade/popup/unlock.jade:13 +msgid "Confirming password" +msgstr "비밀번호 확인 중" + +#: src/jade/popup/unlock.jade:16 src/jade/tabs/account/public.jade:44 +#: src/jade/tabs/security.jade:146 +msgid "Submit" +msgstr "제출하기" + +#: src/jade/tabs/2fa/form.jade:3 +msgid "Country Code" +msgstr "국가 코드" + +#: src/jade/tabs/2fa/form.jade:6 src/jade/tabs/kyc.jade:162 +msgid "Phone Number" +msgstr "휴대전화 번호" + +#: src/jade/tabs/_usd.jade:6 src/jade/tabs/apps.jade:5 +#: src/jade/tabs/balance.jade:5 src/jade/tabs/brl.jade:6 +#: src/jade/tabs/btc.jade:9 src/jade/tabs/eur.jade:6 +#: src/jade/tabs/exchange.jade:6 src/jade/tabs/fund.jade:6 +#: src/jade/tabs/gold.jade:6 src/jade/tabs/history.jade:6 +#: src/jade/tabs/jpy.jade:6 src/jade/tabs/kyc.jade:6 src/jade/tabs/mxn.jade:6 +#: src/jade/tabs/send.jade:6 src/jade/tabs/su.jade:5 +#: src/jade/tabs/trade.jade:7 src/jade/tabs/trust.jade:6 +#: src/jade/tabs/usd.jade:6 src/jade/tabs/withdraw.jade:6 +#: src/jade/tabs/xrp.jade:6 +msgid "You have to be online to see this screen" +msgstr "해당 화면을 보려면 온라인 상태여야 합니다. " + +#: src/jade/tabs/_usd.jade:17 +msgid "USD instant deposit" +msgstr "USD 즉시 예탁" + +#: src/jade/tabs/_usd.jade:19 src/jade/tabs/_usd.jade:21 +msgid "Step 1 (Amount)" +msgstr "스텝 1 (금액)" + +#: src/jade/tabs/_usd.jade:22 +msgid "Step 2 (Confirmation)" +msgstr "스텝 2 (확인)" + +#: src/jade/tabs/_usd.jade:23 +msgid "Step 3 (Complete deposit)" +msgstr "스텝 3 (예탁하기)" + +#: src/jade/tabs/_usd.jade:26 +msgid "STEP 1: AMOUNT" +msgstr "스텝 1: 금액" + +#: src/jade/tabs/_usd.jade:28 +msgid "STEP 2: CONFIRMATION" +msgstr "스텝 2: 확인" + +#: src/jade/tabs/_usd.jade:30 +msgid "STEP 3: COMPLETE DEPOSIT" +msgstr "스텝 3: 예탁하기" + +#: src/jade/tabs/_usd.jade:34 +msgid "" +"Success! You've completed your USD deposit. Your funds should be available " +"within a few minutes." +msgstr "거래 성공! USD 예탁이 완료되었습니다. 몇 분 내로 자금이 이용가능 합니다." + +#: src/jade/tabs/_usd.jade:36 +msgid "You cancelled your deposit." +msgstr "예탁을 취소하셨습니다." + +#: src/jade/tabs/_usd.jade:38 +msgid "" +"Your deposit failed. Your bank account was not charged. Please contact " +"{{1}}." +msgstr "예탁 실패. 은행 계좌가 부과되지 않았습니다. {{1}} 연결하기" + +#: src/jade/tabs/_usd.jade:49 src/jade/tabs/_usd.jade:91 +#: src/jade/tabs/fund.jade:41 src/jade/tabs/history.jade:172 +#: src/jade/tabs/trust.jade:89 +msgid "Amount" +msgstr "금액" + +#: src/jade/tabs/_usd.jade:59 src/jade/tabs/_usd.jade:62 +msgid "Select your bank" +msgstr "은행 선택" + +#: src/jade/tabs/_usd.jade:77 +msgid "" +"Ripple Trade has partnered with SnapSwap to make USD deposits easier. By " +"continuing, you agree to SnapSwap's {{1}}To contact support, email {{2}}." +msgstr "리플 트레이드는 USD 예탁을 편리하게 하기위해 SnapSwap과 파트너를 맺었습니다. 계속 진행하시려면, SnapSwap의 {{1}} 연결 지원을 승낙하세요, 이메일 {{2}}." + +#: src/jade/tabs/_usd.jade:93 src/jade/tabs/history.jade:178 +msgid "Fee" +msgstr "이용 요금" + +#: src/jade/tabs/_usd.jade:95 +msgid "Total" +msgstr "합계" + +#: src/jade/tabs/_usd.jade:98 +msgid "Calculating..." +msgstr "계산 중" + +#: src/jade/tabs/_usd.jade:109 src/jade/tabs/register.jade:126 +#: src/jade/tabs/register.jade:133 +msgid "Back" +msgstr "뒤로" + +#: src/jade/tabs/_usd.jade:111 src/jade/tabs/btc.jade:73 +#: src/jade/tabs/exchange.jade:111 src/jade/tabs/send.jade:213 +#: src/jade/tabs/trade.jade:67 src/jade/tabs/trade.jade:77 +#: src/jade/tabs/trade.jade:248 src/jade/tabs/trade.jade:407 +#: src/jade/tabs/trust.jade:140 +msgid "Confirm" +msgstr "확인" + +#: src/jade/tabs/account/navbar.jade:2 +msgid "Public Information" +msgstr "공공 정보" + +#: src/jade/tabs/account/private.jade:1 +msgid "Profile Information" +msgstr "프로필 정보" + +#: src/jade/tabs/account/private.jade:3 +msgid "Identity Information" +msgstr "본인 정보" + +#: src/jade/tabs/account/private.jade:8 src/jade/tabs/account/private.jade:17 +msgid "Completed" +msgstr "완료" + +#: src/jade/tabs/account/private.jade:9 src/jade/tabs/account/private.jade:18 +msgid "Incomplete" +msgstr "미완료" + +#: src/jade/tabs/account/private.jade:10 src/jade/tabs/account/private.jade:19 +msgid "Complete your profile" +msgstr "프로필 작성 완료" + +#: src/jade/tabs/account/private.jade:12 +msgid "Identity Questions" +msgstr "본인확인 질문" + +#: src/jade/tabs/account/public.jade:1 +msgid "Changing your Ripple name..." +msgstr "리플 아이디 변경" + +#: src/jade/tabs/account/public.jade:2 +msgid "Your Ripple name has been changed successfully." +msgstr "리플 아이디가 성공적으로 변경되었습니다." + +#: src/jade/tabs/account/public.jade:3 +msgid "Account settings" +msgstr "지갑 설정" + +#: src/jade/tabs/account/public.jade:5 src/jade/tabs/fund/menu.jade:2 +#: src/jade/tabs/login/form.jade:3 +msgid "Ripple name" +msgstr "리플 아이디" + +#: src/jade/tabs/account/public.jade:9 src/jade/tabs/advanced.jade:27 +#: src/jade/tabs/advanced.jade:44 src/jade/tabs/advanced.jade:63 +#: src/jade/tabs/advanced.jade:86 src/jade/tabs/advanced.jade:134 +#: src/jade/tabs/contacts.jade:61 src/jade/tabs/security.jade:120 +#: src/jade/tabs/security.jade:180 src/jade/tabs/trust.jade:191 +#: src/jade/tabs/trust.jade:193 +msgid "edit" +msgstr "편집" + +#: src/jade/tabs/account/public.jade:12 +msgid "New Ripple name" +msgstr "새 리플 아이디" + +#: src/jade/tabs/account/public.jade:17 src/jade/tabs/register.jade:35 +#: src/jade/tabs/widgets/balances.jade:24 +msgid "Available" +msgstr "가능" + +#: src/jade/tabs/account/public.jade:20 src/jade/tabs/register.jade:39 +msgid "Already taken!" +msgstr "이미 사용중!" + +#: src/jade/tabs/account/public.jade:21 +msgid "Reserved for {{usernameReservedFor}}{{1}}{{2}}" +msgstr "{{usernameReservedFor}}{{1}}{{2}} 을 위해 보관 중" + +#: src/jade/tabs/account/public.jade:24 src/jade/tabs/register.jade:45 +msgid "Must be at least 2 characters" +msgstr "최소 2자 이상 설정" + +#: src/jade/tabs/account/public.jade:25 src/jade/tabs/register.jade:47 +msgid "Must be at most 20 characters" +msgstr "최대 20자 이내 설정" + +#: src/jade/tabs/account/public.jade:26 +msgid "Only a-z, 0-9 and hyphen (-)" +msgstr "a-z, 0-9, 하이픈 (-) 이용 가능" + +#: src/jade/tabs/account/public.jade:27 src/jade/tabs/register.jade:51 +msgid "Cannot start with hyphen (-)" +msgstr "하이픈 (-) 으로 시작할 수 없음" + +#: src/jade/tabs/account/public.jade:28 src/jade/tabs/register.jade:53 +msgid "Cannot end with hyphen (-)" +msgstr "하이픈 (-) 으로 끝날 수 없음" + +#: src/jade/tabs/account/public.jade:29 +msgid "Cannot bundle hyphens (--)" +msgstr "하이픈 (--) 연속 사용 불가" + +#: src/jade/tabs/account/public.jade:30 src/jade/tabs/register.jade:56 +msgid "Checking..." +msgstr "검토중" + +#: src/jade/tabs/account/public.jade:32 src/jade/tabs/security.jade:126 +msgid "Current password" +msgstr "현재 비밀번호" + +#: src/jade/tabs/account/public.jade:35 src/jade/tabs/security.jade:18 +#: src/jade/tabs/security.jade:23 +msgid "Entered password is wrong." +msgstr "입력한 비밀번호 오류" + +#: src/jade/tabs/account/public.jade:37 +msgid "Your Ripple name has been changed. Please login again." +msgstr "리플 아이디가 변경되었습니다. 다시 로그인 하세요." + +#: src/jade/tabs/account/public.jade:39 +msgid "Couldn't change your Ripple name, please try again later." +msgstr "리플 아이디를 변경할 수 없습니다. 다시 시도해 주세요." + +#: src/jade/tabs/account/public.jade:47 src/jade/tabs/advanced.jade:36 +#: src/jade/tabs/advanced.jade:53 src/jade/tabs/advanced.jade:77 +#: src/jade/tabs/advanced.jade:94 src/jade/tabs/advanced.jade:124 +#: src/jade/tabs/btc.jade:74 src/jade/tabs/contacts.jade:50 +#: src/jade/tabs/contacts.jade:93 src/jade/tabs/exchange.jade:113 +#: src/jade/tabs/exchange.jade:126 src/jade/tabs/kyc.jade:116 +#: src/jade/tabs/kyc.jade:131 src/jade/tabs/kyc.jade:156 +#: src/jade/tabs/kyc.jade:157 src/jade/tabs/kyc.jade:186 +#: src/jade/tabs/login/form.jade:26 src/jade/tabs/security.jade:79 +#: src/jade/tabs/security.jade:112 src/jade/tabs/security.jade:149 +#: src/jade/tabs/send.jade:215 src/jade/tabs/send.jade:227 +#: src/jade/tabs/send.jade:252 src/jade/tabs/send.jade:286 +#: src/jade/tabs/trade.jade:55 src/jade/tabs/trust.jade:141 +#: src/jade/tabs/trust.jade:143 src/jade/tabs/trust.jade:213 +#: src/jade/tabs/trust.jade:251 +msgid "cancel" +msgstr "취소" + +#: src/jade/tabs/account/public.jade:49 +msgid "Ripple address" +msgstr "리플 계좌번호" + +#: src/jade/tabs/advanced.jade:8 +msgid "Your blob vault has been changed successfully." +msgstr "블랍 금고가 성공적으로 변경되었습니다." + +#: src/jade/tabs/advanced.jade:9 +msgid "Your bitcoin bridge has been changed successfully." +msgstr "비트코인 브릿지 설정이 성공적으로 변경되었습니다." + +#: src/jade/tabs/advanced.jade:10 +msgid "Trustline advanced settings has been changed successfully." +msgstr "트러스트 라인 고급설정이 성공적으로 변경되었습니다." + +#: src/jade/tabs/advanced.jade:11 +msgid "Maximum network fee has been changed successfully." +msgstr "최대 네트워크 수수료가 성공적으로 변경되었습니다." + +#: src/jade/tabs/advanced.jade:12 +msgid "A new server has been successfully added." +msgstr "새로운 서버가 성공적으로 추가되었습니다." + +#: src/jade/tabs/advanced.jade:13 +msgid "A server has been successfully removed." +msgstr "새로운 서버가 성공적으로 제거되었습니다." + +#: src/jade/tabs/advanced.jade:14 +msgid "A server has been changed successfully." +msgstr "새로운 서버가 성공적으로 변경되었습니다." + +#: src/jade/tabs/advanced.jade:21 +msgid "Blob vault" +msgstr "블랍 금고" + +#: src/jade/tabs/advanced.jade:32 src/jade/tabs/advanced.jade:49 +#: src/jade/tabs/advanced.jade:73 src/jade/tabs/advanced.jade:92 +#: src/jade/tabs/advanced.jade:120 src/jade/tabs/contacts.jade:88 +#: src/jade/tabs/fund.jade:65 src/jade/tabs/security.jade:190 +#: src/jade/tabs/send.jade:251 src/jade/tabs/send.jade:284 +#: src/jade/tabs/trust.jade:119 src/jade/tabs/trust.jade:232 +msgid "Save" +msgstr "저장" + +#: src/jade/tabs/advanced.jade:34 src/jade/tabs/advanced.jade:51 +#: src/jade/tabs/advanced.jade:75 src/jade/tabs/advanced.jade:122 +#: src/jade/tabs/contacts.jade:91 src/jade/tabs/security.jade:198 +msgid "Delete" +msgstr "삭제" + +#: src/jade/tabs/advanced.jade:38 +msgid "Bitcoin bridge" +msgstr "비트코인 브릿지" + +#: src/jade/tabs/advanced.jade:55 +msgid "Trust line" +msgstr "트러스트 라인" + +#: src/jade/tabs/advanced.jade:60 src/jade/tabs/advanced.jade:71 +#: src/jade/tabs/security.jade:162 +msgid "Show" +msgstr "보여주기" + +#: src/jade/tabs/advanced.jade:61 src/jade/tabs/security.jade:163 +msgid "Hide" +msgstr "숨기기" + +#: src/jade/tabs/advanced.jade:78 +msgid "Network settings" +msgstr "네트워크 설정" + +#: src/jade/tabs/advanced.jade:80 +msgid "Maximum network fee" +msgstr "네트워크 최대 수수료" + +#: src/jade/tabs/advanced.jade:96 +msgid "Server settings" +msgstr "서버 설정" + +#: src/jade/tabs/advanced.jade:101 +msgid "WebSocket host name" +msgstr "웹소켓 호스트 이름" + +#: src/jade/tabs/advanced.jade:103 +msgid "Port number" +msgstr "포트 번호" + +#: src/jade/tabs/advanced.jade:109 +msgid "Socket ip or hostname is invalid." +msgstr "소켓 IP 혹은 호스트 이름이 유효하지 않습니다." + +#: src/jade/tabs/advanced.jade:111 +msgid "Port number is invalid." +msgstr "포트 번호가 유효하지 않습니다." + +#: src/jade/tabs/advanced.jade:118 src/jade/tabs/advanced.jade:131 +msgid "Secure" +msgstr "보안" + +#: src/jade/tabs/advanced.jade:132 +msgid "Not Secure" +msgstr "미보안" + +#: src/jade/tabs/advanced.jade:138 +msgid "Add new server" +msgstr "새로운 서버를 추가하세요." + +#: src/jade/tabs/apps.jade:27 +msgid "App Ripple Address" +msgstr "새로운 리플 주소를 추가하세요" + +#: src/jade/tabs/apps.jade:29 +msgid "Please enter a ripple address." +msgstr "리플 계좌번호를 입력하세요." + +#: src/jade/tabs/apps.jade:31 +msgid "Please enter a valid ripple address." +msgstr "유효한 리플 계좌번호를 입력하세요." + +#: src/jade/tabs/banner/announcement.jade:2 +msgid "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" +msgstr "리플 트레이드 개선에 참여하기! {{1:Take a quick user survey.}}" + +#: src/jade/tabs/banner/unfunded.jade:2 +msgid "" +"Welcome to Ripple Trade! Your account needs to be activated. You can " +"activate it in 2 ways:" +msgstr "리플 트레이드에 오신것을 환영합니다! 리플 지갑을 활성화하세요. 2가지 방법으로 가능합니다." + +#: src/jade/tabs/banner/unfunded.jade:4 +msgid "" +"Have another user send XRP to your Ripple name " +"(~{{userCredentials.username}}). {{1}}" +msgstr "다른 유저가 XRP를 보낸적 있습니까, 리플아이디 (~{{userCredentials.username}}). {{1}}" + +#: src/jade/tabs/brl.jade:24 src/jade/tabs/eur.jade:24 +#: src/jade/tabs/gold.jade:24 src/jade/tabs/jpy.jade:24 +#: src/jade/tabs/mxn.jade:24 src/jade/tabs/trust.jade:42 +#: src/jade/tabs/usd.jade:24 +msgid "There was an error while saving your changes." +msgstr "수정사항을 저장하는 중 오류가 발생했습니다." + +#: src/jade/tabs/brl.jade:28 src/jade/tabs/eur.jade:27 +#: src/jade/tabs/gold.jade:27 src/jade/tabs/jpy.jade:28 +#: src/jade/tabs/mxn.jade:28 src/jade/tabs/trust.jade:45 +#: src/jade/tabs/usd.jade:27 +msgid "You must have at least {{1}} to add a new trust line. {{2}}" +msgstr "최소 {{1}} 을 소유해야 새로운 트러스트 라인 {{2}} 를 추가 할 수 있습니다." + +#: src/jade/tabs/brl.jade:38 +msgid "Brazilian Real Deposit" +msgstr "브라질 리얼 예탁" + +#: src/jade/tabs/brl.jade:41 src/jade/tabs/btc.jade:35 +#: src/jade/tabs/eur.jade:38 src/jade/tabs/gold.jade:40 +#: src/jade/tabs/jpy.jade:41 src/jade/tabs/mxn.jade:41 +#: src/jade/tabs/trust.jade:167 src/jade/tabs/usd.jade:38 +msgid "Gateway" +msgstr "게이트웨이" + +#: src/jade/tabs/brl.jade:42 src/jade/tabs/eur.jade:48 +#: src/jade/tabs/mxn.jade:81 src/jade/tabs/mxn.jade:93 +#: src/jade/tabs/mxn.jade:103 src/jade/tabs/security.jade:49 +msgid "{{1}}{{2}}" +msgstr "{{1}}{{2}}" + +#: src/jade/tabs/brl.jade:43 +msgid "Ripple (~rippex)" +msgstr "리플 (~rippex)" + +#: src/jade/tabs/brl.jade:46 src/jade/tabs/btc.jade:39 +#: src/jade/tabs/eur.jade:44 src/jade/tabs/gold.jade:44 +#: src/jade/tabs/jpy.jade:45 src/jade/tabs/mxn.jade:46 +#: src/jade/tabs/usd.jade:44 +msgid "Availability" +msgstr "이용가능지역" + +#: src/jade/tabs/brl.jade:47 +msgid "Brazil" +msgstr "브라질" + +#: src/jade/tabs/brl.jade:49 src/jade/tabs/btc.jade:42 +#: src/jade/tabs/eur.jade:47 src/jade/tabs/gold.jade:47 +#: src/jade/tabs/jpy.jade:48 src/jade/tabs/mxn.jade:49 +#: src/jade/tabs/usd.jade:47 +msgid "Fees" +msgstr "수수료" + +#: src/jade/tabs/brl.jade:50 src/jade/tabs/jpy.jade:49 +#: src/jade/tabs/kyc.jade:111 src/jade/tabs/kyc.jade:126 +#: src/jade/tabs/kyc.jade:151 +msgid "{{1}}{{2}}{{3}}" +msgstr "{{1}}{{2}}{{3}}" + +#: src/jade/tabs/brl.jade:51 +msgid "Deposit: 1.50 BRL + 0.5%" +msgstr "예탁: 1.50 BRL + 0.5%" + +#: src/jade/tabs/brl.jade:52 +msgid "Transfer: 0%" +msgstr "거래: 0%" + +#: src/jade/tabs/brl.jade:56 src/jade/tabs/btc.jade:45 +#: src/jade/tabs/eur.jade:53 src/jade/tabs/gold.jade:50 +#: src/jade/tabs/jpy.jade:54 src/jade/tabs/mxn.jade:52 +#: src/jade/tabs/usd.jade:50 +msgid "Rating" +msgstr "평가" + +#: src/jade/tabs/brl.jade:62 +msgid "" +"Ripple Trade has partnered with Rippex to provide easy access to BRL. By " +"continuing, you agree with Rippex's {{1}}Following this action will enable " +"Rippex to hold BRL on your behalf." +msgstr "리플 트레이드는 BRL을 손쉽게 제공하기 위하여 Rippex와 제휴 하고있습니다. 계속 진행하시려면, Rippex의 {{1}} 이용을 승낙하세요." + +#: src/jade/tabs/brl.jade:69 +msgid "Add Rippex" +msgstr "Rippex 추가" + +#: src/jade/tabs/brl.jade:70 +msgid "Adding..." +msgstr "추가중" + +#: src/jade/tabs/brl.jade:71 src/jade/tabs/eur.jade:65 +#: src/jade/tabs/jpy.jade:64 src/jade/tabs/usd.jade:62 +msgid "Hide instructions" +msgstr " 설명 숨기기" + +#: src/jade/tabs/brl.jade:72 src/jade/tabs/eur.jade:66 +#: src/jade/tabs/jpy.jade:65 src/jade/tabs/usd.jade:63 +msgid "Show instructions" +msgstr "설명 보이기" + +#: src/jade/tabs/brl.jade:75 src/jade/tabs/btc.jade:83 +msgid "{{1}}Not connected" +msgstr "{{1}}연결 되지않음" + +#: src/jade/tabs/brl.jade:78 src/jade/tabs/btc.jade:86 +msgid "{{1}}Connected" +msgstr "{{1}}연결됨" + +#: src/jade/tabs/brl.jade:81 src/jade/tabs/eur.jade:71 +#: src/jade/tabs/gold.jade:73 src/jade/tabs/jpy.jade:74 +#: src/jade/tabs/mxn.jade:76 src/jade/tabs/usd.jade:68 +msgid "Your account has to be activated before you can add a gateway account." +msgstr "게이트웨이를 추가하기 전 지갑이 활성화 되어야 합니다. " + +#: src/jade/tabs/brl.jade:84 src/jade/tabs/eur.jade:75 +#: src/jade/tabs/gold.jade:76 src/jade/tabs/jpy.jade:77 +#: src/jade/tabs/mxn.jade:79 src/jade/tabs/usd.jade:72 +msgid "×" +msgstr "×" + +#: src/jade/tabs/brl.jade:85 +msgid "NEW CUSTOMERS- SIGN UP AT RIPPEX" +msgstr "신규 회원- RIPPEX에 가입하기" + +#: src/jade/tabs/brl.jade:86 +msgid "" +"{{1}} at Rippex.net to initiate deposits and withdrawals. You will " +"need:{{2}}" +msgstr "{{1}} Rippex.net에서 예탁과 인출을 시작합니다. 다음이 요구됩니다:{{2}}" + +#: src/jade/tabs/brl.jade:90 +msgid "A {{1}}" +msgstr "{{1}}" + +#: src/jade/tabs/brl.jade:92 +msgid "A bank account in Brazil." +msgstr "브라질 은행계좌" + +#: src/jade/tabs/brl.jade:96 +msgid "EXISTING RIPPEX CUSTOMERS" +msgstr "기존 RIPPEX 회원" + +#: src/jade/tabs/brl.jade:97 +msgid "If you have a Rippex account, {{1}}" +msgstr "Rippex 계좌가 있다면, {{1}}" + +#: src/jade/tabs/brl.jade:100 +msgid "DEPOSIT INSTRUCTIONS" +msgstr "예탁 설명" + +#: src/jade/tabs/brl.jade:101 +msgid "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" +msgstr "Rippex는 모든 브라질 은행들과의 제휴로 예탁 가능합니다. 설명 {{1}}" + +#: src/jade/tabs/btc.jade:19 +msgid "Success! You can deposit BTC via your generated BTC receiving address." +msgstr "성공! 기존의 BTC 주소 를 통하여 BTC를 예탁할 수 있습니다." + +#: src/jade/tabs/btc.jade:21 +msgid "There was an error with your request. {{1}}" +msgstr "요청에 오류가 발생했습니다. {{1}}" + +#: src/jade/tabs/btc.jade:30 +msgid "Bitcoin Deposit" +msgstr "비트코인 예탁" + +#: src/jade/tabs/btc.jade:36 +msgid "btc2ripple (~snapswap) {{1}}" +msgstr "btc2ripple (~snapswap) {{1}}" + +#: src/jade/tabs/btc.jade:40 src/jade/tabs/gold.jade:45 +#: src/jade/tabs/jpy.jade:46 +msgid "All countries" +msgstr "모든 국가" + +#: src/jade/tabs/btc.jade:43 src/jade/tabs/mxn.jade:50 +msgid "0%" +msgstr "0%" + +#: src/jade/tabs/btc.jade:50 +msgid "" +"Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By" +" proceeding, you agree to the btc2ripple {{1}} Following this action will " +"allow btc2ripple to hold BTC on your behalf." +msgstr "리플 트레이드는 BTC를 손쉽게 제공하기 위하여 btc2ripple과 제휴 하고있습니다. 계속 진행하시려면, btc2ripple의 {{1}} 이용을 승낙하세요." + +#: src/jade/tabs/btc.jade:56 +msgid "Add btc2ripple" +msgstr "btc2ripple 추가" + +#: src/jade/tabs/btc.jade:60 src/jade/tabs/security.jade:64 +#: src/jade/tabs/trust.jade:123 +msgid "Connect" +msgstr "연결" + +#: src/jade/tabs/btc.jade:62 +msgid "btc2ripple would like to:" +msgstr "btc2ripple은 다음 사항을 시행합니다:" + +#: src/jade/tabs/btc.jade:64 +msgid "- Receive your email address {{1}}" +msgstr "- 이메일 주소 받기 {{1}}" + +#: src/jade/tabs/btc.jade:65 +msgid "({{userBlob.data.email}})" +msgstr "({{userBlob.data.email}})" + +#: src/jade/tabs/btc.jade:66 +msgid "- Hold deposited BTC on your behalf" +msgstr "- 회원을 대신하여 예탁된 BTC를 보관" + +#: src/jade/tabs/btc.jade:67 +msgid "By proceeding, you agree to the btc2ripple {{1}}" +msgstr "진행하시려면, btc2ripple 승낙하기 {{1}}" + +#: src/jade/tabs/btc.jade:75 +msgid "" +"SnapSwap's btc2ripple service is currently unavailable. Please check back " +"later." +msgstr "SnapSwap의 btc2ripple 서비스는 현재 이용불가합니다. 다음에 다시 시도하세요." + +#: src/jade/tabs/btc.jade:94 +msgid "Personal Deposit address" +msgstr "개인 예탁 주소" + +#: src/jade/tabs/btc.jade:96 +msgid "Your account is fully verified." +msgstr "지갑이 확인되었습니다." + +#: src/jade/tabs/btc.jade:104 +msgid "Withdrawal instructions" +msgstr "인출 설명" + +#: src/jade/tabs/btc.jade:105 +msgid "" +"To withdraw to a BTC address, go to the Send tab and enter the BTC address. " +"Using the btc2ripple service, you will be able tosend to that BTC address." +msgstr "BTC 주소에서 인출하기 위해, 보내기 탭에 가서 BTC 주소를 입력하세요. btc2ripple 서비스를 이용하시면, BTC 주소로 보내실 수 있습니다." + +#: src/jade/tabs/btc.jade:110 +msgid "Waiting for response from SnapSwap service..." +msgstr "SnapSwap 서비스 응답 대기중..." + +#: src/jade/tabs/btc.jade:112 +msgid "" +"To deposit, generate a bitcoin receiving address using the {{1}} service " +"powered by SnapSwap." +msgstr "예탁하기, SnapSwap에 의해 구동되는 {{1}} 서비스를 사용하여 비트코인 받을 주소를 만듭니다." + +#: src/jade/tabs/contacts.jade:8 +msgid "A new contact has been successfully added." +msgstr "새로운 연락처가 성공적으로 추가되었습니다." + +#: src/jade/tabs/contacts.jade:9 +msgid "Your contact has been successfully updated." +msgstr "연락처가 성공적으로 업데이트 되었습니다." + +#: src/jade/tabs/contacts.jade:10 +msgid "A contact has been successfully removed." +msgstr "연락처가 성공적으로 제거되었습니다." + +#: src/jade/tabs/contacts.jade:12 src/jade/tabs/contacts.jade:24 +msgid "Contact" +msgstr "연락처" + +#: src/jade/tabs/contacts.jade:13 src/jade/tabs/contacts.jade:32 +msgid "Ripple name or address" +msgstr "리플 사용자 이름 혹은 계좌번호" + +#: src/jade/tabs/contacts.jade:15 src/jade/tabs/contacts.jade:19 +#: src/jade/tabs/contacts.jade:48 +msgid "Add contact" +msgstr "연락처 등록" + +#: src/jade/tabs/contacts.jade:27 src/jade/tabs/send.jade:245 +#: src/jade/tabs/send.jade:277 +msgid "Please enter a contact." +msgstr "연락처를 입력하세요." + +#: src/jade/tabs/contacts.jade:28 +msgid "This contact already exists." +msgstr "해당 연락처는 이미 존재합니다." + +#: src/jade/tabs/contacts.jade:36 +msgid "Please enter a Ripple name." +msgstr "리플 사용자 이름을 입력하세요." + +#: src/jade/tabs/contacts.jade:37 src/jade/tabs/contacts.jade:45 +msgid "" +"You already have a contact with the same Ripple name and/or the same " +"Destination tag." +msgstr "이미 같은 리플 아이디 혹은 지정 태그가 연락처에 등록되어 있습니다." + +#: src/jade/tabs/contacts.jade:38 +msgid "Not a valid Ripple name or address." +msgstr "유효한 리플 사용자 이름 혹은 계좌번호가 아닙니다." + +#: src/jade/tabs/contacts.jade:41 src/jade/tabs/contacts.jade:81 +#: src/jade/tabs/send.jade:42 src/jade/tabs/tx.jade:56 +msgid "Destination tag" +msgstr "목적지 태그" + +#: src/jade/tabs/contacts.jade:42 +msgid "Leave blank if not applicable" +msgstr "해당되지 않으면 빈칸으로 남겨두세요" + +#: src/jade/tabs/contacts.jade:44 src/jade/tabs/send.jade:46 +msgid "Invalid destination tag" +msgstr "존재하지 않은 목적지 태그" + +#: src/jade/tabs/contacts.jade:72 +msgid "You already have a contact with the same name." +msgstr "같은 이름의 연락처가 존재합니다. " + +#: src/jade/tabs/contacts.jade:78 +msgid "You already have this address." +msgstr "같은 계좌번호가 존재합니다." + +#: src/jade/tabs/contacts.jade:79 src/jade/tabs/debug.jade:14 +msgid "Not a valid address." +msgstr "해당 계좌번호는 존재하지 않습니다." + +#: src/jade/tabs/contacts.jade:84 +msgid "Invalid destination tag." +msgstr "존재하지 않은 목적지 태그" + +#: src/jade/tabs/contacts.jade:94 +msgid "" +"You don't have any contacts yet. Click on 'Add contact' button in the top " +"right corner to add a new contact." +msgstr "아직 어떠한 연결도 없습니다. 우측 상단의 '연락처 등록' 버튼을 클릭하여 새로운 연락처 등록하기" + +#: src/jade/tabs/debug.jade:9 +msgid "Enter a Ripple name or address" +msgstr "리플 아이디 혹은 주소 입력" + +#: src/jade/tabs/debug.jade:13 +msgid "Please enter an address." +msgstr "주소를 입력하세요." + +#: src/jade/tabs/debug.jade:17 +msgid "Turn on debug mode" +msgstr "디버그 모드 켜기" + +#: src/jade/tabs/eur.jade:35 +msgid "Euro Deposit" +msgstr "유료 예탁" + +#: src/jade/tabs/eur.jade:39 +msgid "SnapSwap EU (~SnapSwap){{1}}{{2}}" +msgstr "SnapSwap EU (~SnapSwap){{1}}{{2}}" + +#: src/jade/tabs/eur.jade:45 +msgid "All countries, except USA" +msgstr "USA를 제외한, 모든 국가" + +#: src/jade/tabs/eur.jade:49 +msgid "€ 0.31 – € 15.00" +msgstr "€ 0.31 – € 15.00" + +#: src/jade/tabs/eur.jade:59 +msgid "" +"Ripple Trade has partnered with SnapSwap to provide easier access to EUR. " +"Following this action will enable SnapSwap to hold EUR on your behalf." +msgstr "리플 트레이드는 EUR을 손쉽게 제공하기 위하여 SnapSwap과 제휴 하고있습니다. 계속 진행하시려면, SnapSwap의 이용을 승낙 하세요." + +#: src/jade/tabs/eur.jade:69 src/jade/tabs/usd.jade:66 +msgid "Not connected" +msgstr "연결 되지않음" + +#: src/jade/tabs/eur.jade:70 src/jade/tabs/usd.jade:67 +msgid "Connected" +msgstr "연결됨" + +#: src/jade/tabs/eur.jade:76 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.EU" +msgstr "신규 회원- SNAPSWAP.EU에 가입하기" + +#: src/jade/tabs/eur.jade:77 +msgid "Register and verify your account at SnapSwap EU. You will need: {{1}}" +msgstr "SnapSwap EU에 지갑을 등록하고 인증하세요. 다음이 요구됩니다:{{1}}" + +#: src/jade/tabs/eur.jade:81 src/jade/tabs/usd.jade:78 +msgid "" +"A valid government-issued ID: driver license, passport, ID card, or visa " +"stamp." +msgstr "유효한 정부발행 ID와: 운전면허증, 여권, ID 카드, 또는 비자 도장." + +#: src/jade/tabs/eur.jade:83 src/jade/tabs/usd.jade:80 +msgid "A proof of address: driver license, utility bill, bank statement, etc." +msgstr "거주지 증명: 운전면허증, 공과금명세서, 은행거래내역서, 기타 등등" + +#: src/jade/tabs/eur.jade:85 +msgid "EXISTING SNAPSWAP EU CUSTOMERS" +msgstr "기존 SNAPSWAP EU 회원" + +#: src/jade/tabs/eur.jade:89 src/jade/tabs/jpy.jade:94 +#: src/jade/tabs/usd.jade:86 +msgid "Login to your account {{1}}" +msgstr "계정 로그인하기 {{1}}" + +#: src/jade/tabs/eur.jade:92 src/jade/tabs/jpy.jade:96 +msgid "DEPOSITS AND WITHDRAWALS:" +msgstr "예탁, 인출:" + +#: src/jade/tabs/eur.jade:96 +msgid "Deposit from your bank (2-4 business days)" +msgstr "은행에서 예탁 (2-4일 소요)" + +#: src/jade/tabs/eur.jade:98 +msgid "Withdraw to your bank account in SEPA (2-4 business days)" +msgstr "SEPA 계좌에서 인출 (2-4일 소요)" + +#: src/jade/tabs/eur.jade:100 +msgid "Withdraw to SmartyCash Card (instant)" +msgstr "스마티캐쉬 카드로 인출 (즉시)" + +#: src/jade/tabs/exchange.jade:13 +msgid "You have to be funded before you can exchange money" +msgstr "통화를 교환하기 전에 지갑을 충전하세요." + +#: src/jade/tabs/exchange.jade:23 +msgid "Buy (Market Order)" +msgstr "사기 (마켓 주문)" + +#: src/jade/tabs/exchange.jade:24 +msgid "" +"Submit a buy order at the current market rate. Orders will execute " +"instantly." +msgstr "현재 시세로 간편 구매 주문을 합니다. 주문은 즉시 체결됩니다." + +# Receive (amount) +#: src/jade/tabs/exchange.jade:27 +msgid "Receive (amount)" +msgstr "구매 수량" + +#: src/jade/tabs/exchange.jade:34 src/jade/tabs/widgets/balances.jade:49 +msgid "add gateway" +msgstr "게이트웨이 추가" + +#: src/jade/tabs/exchange.jade:37 src/jade/tabs/send.jade:90 +msgid "Please enter an amount." +msgstr "금액을 기재하세요." + +#: src/jade/tabs/exchange.jade:38 src/jade/tabs/send.jade:91 +#: src/jade/tabs/trade.jade:153 src/jade/tabs/trade.jade:168 +#: src/jade/tabs/trade.jade:183 src/jade/tabs/trust.jade:101 +msgid "Not a valid amount." +msgstr "유효한 금액이 아닙니다." + +#: src/jade/tabs/exchange.jade:39 +msgid "" +"You are either trying to convert too little or too much XRP.Minimum amount " +"is 0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "최소가 혹은 최대가로 XRP를 변환하려는 중입니다. 최소가는 0.000001XRP 이며 최고가는 1000억XRP입니다." + +#: src/jade/tabs/exchange.jade:42 src/jade/tabs/send.jade:96 +#: src/jade/tabs/trust.jade:103 +msgid "Your amount has too many digits. The max number of digits is 16." +msgstr "금액에 너무 많은 숫자가 있습니다. 숫자의 최대는 16입니다. " + +#: src/jade/tabs/exchange.jade:43 +msgid "Please enter an amount greater than zero." +msgstr "0 보다 큰 금액을 기재하세요." + +#: src/jade/tabs/exchange.jade:46 +msgid "{{1}} Calculating..." +msgstr "{{1}} 계산중..." + +#: src/jade/tabs/exchange.jade:50 +msgid "" +"Cannot convert to {{exchange.amount}} {{exchange.currency_name}}. Please " +"make sure your account has enough funds, and a {{1}} to a " +"{{exchange.currency_name}} gateway." +msgstr "변환 할 수 없습니다 {{exchange.amount}} {{exchange.currency_name}}. 충분한 자금을 확보해 주시고, {{1}} 에게 {{exchange.currency_name}} . 게이트웨이" + +#: src/jade/tabs/exchange.jade:54 +msgid "" +"Sorry! Cannot convert {{exchange.amount}} {{exchange.currency_name}}. Please" +" make sure your account has enough funds." +msgstr "변환 할 수 없습니다 {{exchange.amount}} {{exchange.currency_name}}. 충분한 자금을 확보해 주세요." + +#: src/jade/tabs/exchange.jade:56 src/jade/tabs/send.jade:142 +msgid "Error while calculating path" +msgstr "경로 계산 중 에러가 발생했습니다." + +#: src/jade/tabs/exchange.jade:60 +msgid "Exchange" +msgstr "교환" + +#: src/jade/tabs/exchange.jade:72 +msgid "Exchange {{ alt.amount | rpcurrency }} {{1}}" +msgstr "교환 {{ alt.amount | rpcurrency }} {{1}}" + +#: src/jade/tabs/exchange.jade:78 src/jade/tabs/send.jade:170 +msgid "Paths last updated {{1}} {{2: seconds}} {{3: second}} ago" +msgstr "마지막 경로 업데이트 {{1}} {{2: seconds}} {{3: second}} 전" + +#: src/jade/tabs/exchange.jade:89 +msgid "Ripple is calculating a path for your conversion." +msgstr "현재 요청하신 환전의 경로를 계산 중입니다." + +#: src/jade/tabs/exchange.jade:94 +msgid "" +"{{1:You are exchanging}}{{2}}{{3:to}}{{4}}{{5:You will pay at " +"most}}{{6}}{{7:Are you sure?}}" +msgstr "{{1:You are exchanging}}{{2}}{{3:to}}{{4}}{{5:You will pay at most}}{{6}}{{7:Are you sure?}}" + +#: src/jade/tabs/exchange.jade:139 +msgid "Do another conversion" +msgstr "환전을 다시 시도해 보세요." + +#: src/jade/tabs/exchange.jade:141 src/jade/tabs/send.jade:257 +#: src/jade/tabs/send.jade:291 +msgid "Back to balance" +msgstr "거래 내역으로 돌아가기" + +#: src/jade/tabs/fund.jade:20 +msgid "Add trust" +msgstr "신탁 추가" + +#: src/jade/tabs/fund.jade:27 src/jade/tabs/send.jade:26 +msgid "Enter a Ripple name or contact" +msgstr "리플 아이디 혹은 연락처 입력" + +#: src/jade/tabs/fund.jade:33 src/jade/tabs/trust.jade:73 +msgid "Account does not meet the minimum XRP reserve." +msgstr "계좌가 최소한의 XRP 예비금을 보유하고 있지 않습니다." + +#: src/jade/tabs/fund.jade:36 src/jade/tabs/trust.jade:76 +msgid "Please enter a Ripple name, contact, or address." +msgstr "리플 아이디, 연락처, 또는 주소를 입력하세요." + +#: src/jade/tabs/fund.jade:37 src/jade/tabs/trust.jade:77 +msgid "You've entered your own address." +msgstr "본인의 주소를 입력하였습니다." + +#: src/jade/tabs/fund.jade:38 src/jade/tabs/trust.jade:78 +msgid "Please enter a valid Ripple name, contact, or address." +msgstr "유효한 리플 아이디, 연락처, 또는 주소를 입력하세요" + +#: src/jade/tabs/fund.jade:48 src/jade/tabs/trust.jade:80 +msgid "Amount field is required" +msgstr "금액은 필수 입력 사항입니다." + +#: src/jade/tabs/fund.jade:50 src/jade/tabs/trust.jade:82 +#: src/jade/tabs/trust.jade:105 +msgid "" +"XRP can be sent without extending trust. If you really want to trust in XRP," +" please use XRR currency code." +msgstr "XRP는 트러스트 라인 확장 없이 보낼 수 있습니다. XRP 트러스트 라인을 형성하려면, XRR 통화 코드를 사용하세요." + +#: src/jade/tabs/fund.jade:53 src/jade/tabs/trust.jade:85 +#: src/jade/tabs/trust.jade:108 +msgid "Currency field is required" +msgstr "통화는 필수 입력 사항입니다." + +#: src/jade/tabs/fund.jade:59 src/jade/tabs/fund.jade:60 +#: src/jade/tabs/trust.jade:114 src/jade/tabs/trust.jade:115 +msgid "Allow Rippling" +msgstr "리플링 허용" + +#: src/jade/tabs/fund.jade:60 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"trust. More " +"information" +msgstr "이 트러스트 라인의 잔고가 다른 트러스트 라인에 전송 될 수 있도록. 더 많은 정보" + +#: src/jade/tabs/fund.jade:63 +msgid "Cancel" +msgstr "취소" + +#: src/jade/tabs/fund/menu.jade:3 +msgid "{{1}}XRP" +msgstr "{{1}}XRP" + +#: src/jade/tabs/fund/menu.jade:6 +msgid "Featured gateways" +msgstr "주요 게이트웨이" + +#: src/jade/tabs/fund/menu.jade:7 +msgid "{{1}}BRL" +msgstr "{{1}}BRL" + +#: src/jade/tabs/fund/menu.jade:10 +msgid "{{1}}BTC" +msgstr "{{1}}BTC" + +#: src/jade/tabs/fund/menu.jade:13 +msgid "{{1}}EUR" +msgstr "{{1}}EUR" + +#: src/jade/tabs/fund/menu.jade:16 +msgid "{{1}}JPY" +msgstr "{{1}}JPY" + +#: src/jade/tabs/fund/menu.jade:19 +msgid "{{1}}MXN" +msgstr "{{1}}MXN" + +#: src/jade/tabs/fund/menu.jade:22 +msgid "{{1}}USD" +msgstr "{{1}}USD" + +#: src/jade/tabs/fund/menu.jade:25 +msgid "{{1}}XAU" +msgstr "{{1}}XAU" + +#: src/jade/tabs/fund/menu.jade:28 +msgid "Add any gateway" +msgstr "게이트웨이 추가" + +#: src/jade/tabs/fund/menu.jade:30 +msgid "Learn more about gateways" +msgstr "게이트웨이에 더 알아보기" + +#: src/jade/tabs/gold.jade:37 +msgid "Gold Deposit" +msgstr "금 예탁" + +#: src/jade/tabs/gold.jade:41 +msgid "Gold Bullion International (~gbi) {{1}}" +msgstr "Gold Bullion International (~gbi) {{1}}" + +#: src/jade/tabs/gold.jade:48 +msgid "0.5% per year" +msgstr "연 0.5%" + +#: src/jade/tabs/gold.jade:56 +msgid "" +"Ripple Trade has partnered with GBI to provide easy access toXAU. By " +"continuing, you are allowing GBI to hold gold on your behalf." +msgstr "리플 트레이드는 XAU를 손쉽게 제공하기 위하여 GBI와 제휴 하고있습니다. 계속 진행하시려면, GBI의 이용을 동의 하세요." + +#: src/jade/tabs/gold.jade:67 src/jade/tabs/jpy.jade:68 +#: src/jade/tabs/mxn.jade:70 +msgid "{{1}} Not connected" +msgstr "{{1}} 연결 되지않음" + +#: src/jade/tabs/gold.jade:70 src/jade/tabs/jpy.jade:71 +#: src/jade/tabs/mxn.jade:73 +msgid "{{1}} Connected" +msgstr "{{1}} 연결됨" + +#: src/jade/tabs/gold.jade:77 +msgid "Deposit" +msgstr "예탁" + +#: src/jade/tabs/gold.jade:78 +msgid "" +"GBI does not currently support direct deposits. You can {{1}} or {{2}}." +msgstr "GBI는 현재 즉시 인출을 지원하지 않습니다. 거래하기: {{1}} 혹은 {{2}}." + +#: src/jade/tabs/gold.jade:84 +msgid "Withdrawal" +msgstr "인출" + +#: src/jade/tabs/gold.jade:85 +msgid "" +"You can redeem the physical gold in 1 oz increments.To do so, you'll need to" +" {{1}} and arrange to have the gold shipped to you." +msgstr "1온스 단위로 실제 금을 상환 할 수 있습니다. 그러기 위하여, 금을 출하 하기 위하여 {{1}} 과 준비가 필요합니다." + +#: src/jade/tabs/history.jade:11 +msgid "Loading History" +msgstr "거래내역 불러오기" + +#: src/jade/tabs/history.jade:16 +msgid "Your account history is empty" +msgstr "계좌 내역이 비어있습니다." + +#: src/jade/tabs/history.jade:24 +msgid "Transaction type{{1}}{{2}}" +msgstr "거래 종류{{1}}{{2}}" + +#: src/jade/tabs/history.jade:37 +msgid "Date{{1}}{{2}}" +msgstr "날짜{{1}}{{2}}" + +#: src/jade/tabs/history.jade:42 +msgid "Load history for specific date range" +msgstr "특정 기간의 내역 로딩하기" + +#: src/jade/tabs/history.jade:48 +msgid "From" +msgstr "보내는 이" + +#: src/jade/tabs/history.jade:54 +msgid "To" +msgstr "받는 이" + +#: src/jade/tabs/history.jade:57 +msgid "Filter" +msgstr "필터" + +#: src/jade/tabs/history.jade:64 +msgid "Date" +msgstr "날짜" + +#: src/jade/tabs/history.jade:65 src/jade/tabs/history.jade:170 +msgid "Description" +msgstr "상세설명" + +#: src/jade/tabs/history.jade:68 src/jade/tabs/history.jade:73 +msgid "Export to CSV" +msgstr "CSV 형식으로 내보내기" + +#: src/jade/tabs/history.jade:69 +msgid "Sorry, no transactions match your current filter." +msgstr "최근 필터에 부합하는 거래가 없습니다." + +#: src/jade/tabs/history.jade:91 +msgid "You sent{{1}}to{{2}}" +msgstr "{{1}}을 {{2}}에게 보냈습니다." + +#: src/jade/tabs/history.jade:97 +msgid "{{1}}sent you{{2}}" +msgstr "{{1}}이 {{2}}를 보냈습니다." + +#: src/jade/tabs/history.jade:103 +msgid "You requested to exchange{{1}}to{{2}}" +msgstr "{{1}} 교환을 {{2}} 로 요청 하였습니다." + +#: src/jade/tabs/history.jade:109 +msgid "{{1}}now trusts you for{{2}}" +msgstr "{{1}} 트러스트 라인 연결 {{2}}" + +#: src/jade/tabs/history.jade:122 src/jade/tabs/history/effects.jade:45 +msgid "You created an order to sell{{1}}for{{2}}" +msgstr "{{1}} 판매 주문을 하였습니다 {{2}}" + +#: src/jade/tabs/history.jade:126 src/jade/tabs/history/effects.jade:49 +msgid "You created an order to buy{{1}}for{{2}}" +msgstr "{{1}} 구매 주문을 하였습니다 {{2}}" + +#: src/jade/tabs/history.jade:132 +msgid "You cancelled an order accepting {{1}}for{{2}}" +msgstr "{{1}} 주문을 취소하였습니다 {{2}}" + +#: src/jade/tabs/history.jade:145 +msgid "Unknown transaction" +msgstr "알 수 없는 거래" + +#: src/jade/tabs/history.jade:148 +msgid "" +"The client failed to parse this transaction. The developers have been " +"notified of the issue." +msgstr "클라이언트는 이 거래를 구문 분석하는 데 실패했습니다.개발자들은 이 문제를 통보하였습니다." + +#: src/jade/tabs/history.jade:153 +msgid "{{1}} sent you{{2}} and activated your account!" +msgstr "{{1}} {{2}} 를 보냄. 지갑이 활성화 되었습니다!" + +#: src/jade/tabs/history.jade:160 +msgid "You deposited{{1}} using {{entry.details.app.name}}" +msgstr "{{1}} 예탁 하였습니다. {{entry.details.app.name}} 사용" + +#: src/jade/tabs/history.jade:168 +msgid "Balance Changes" +msgstr "잔고 변경" + +#: src/jade/tabs/history.jade:171 +msgid "Issuer" +msgstr "발행인" + +#: src/jade/tabs/history.jade:173 +msgid "Final balance" +msgstr "최종 잔고" + +#: src/jade/tabs/history.jade:176 +msgid "XRP Balance Change" +msgstr "XRP 잔고 변경" + +#: src/jade/tabs/history.jade:177 +msgid "{{effect.currency}} Balance Change" +msgstr "{{effect.currency}} 잔고 변경" + +#: src/jade/tabs/history.jade:183 +msgid "Transaction details" +msgstr "거래 상세 내역" + +#: src/jade/tabs/history.jade:184 +msgid "Add {{1}} to contact list" +msgstr "연락처에 {{1}} 추가" + +#: src/jade/tabs/history.jade:189 +msgid "{{1}} Loading more" +msgstr "{{1}} 더 불러오기" + +#: src/jade/tabs/history.jade:192 src/jade/tabs/trade.jade:500 +msgid "Load more" +msgstr "로딩 추가" + +#: src/jade/tabs/history.jade:193 +msgid "No more transactions left" +msgstr "더 이상의 거래 내용이 존재하지 않습니다. " + +#: src/jade/tabs/history/effects.jade:4 src/jade/tabs/history/effects.jade:19 +msgid "You sold{{1}}for{{2}}" +msgstr "{{1}}을 {{2}}에게 판매했습니다" + +#: src/jade/tabs/history/effects.jade:8 src/jade/tabs/history/effects.jade:23 +msgid "You bought{{1}}for{{2}}" +msgstr "{{1}}을 {{2}}에게 구매했습니다." + +#: src/jade/tabs/history/effects.jade:13 src/jade/tabs/history/effects.jade:28 +msgid "price" +msgstr "가격" + +#: src/jade/tabs/history/effects.jade:17 +msgid "This order has been filled." +msgstr "주문이 완료되었습니다." + +#: src/jade/tabs/history/effects.jade:32 +msgid "The rest of your order has been cancelled due to lack of funds." +msgstr "나머지 주문들은 자금부족으로 인하여 취소 되었습니다." + +#: src/jade/tabs/history/effects.jade:33 +msgid "This order has{{1}}remaining." +msgstr "{{1}} 주문이 남아있습니다." + +#: src/jade/tabs/history/effects.jade:39 +msgid "Order ({{1}} for {{2}}) has been cancelled due to lack of funds." +msgstr "주문 ({{1}} for {{2}}) 자금부족으로 인하여 취소 되었습니다." + +#: src/jade/tabs/history/effects.jade:53 +msgid "You bought{{1}}for{{2}}({{3:price}}{{4}})." +msgstr "{{1}} {{2}} ({{3:price}}{{4}}) 구매했습니다." + +#: src/jade/tabs/history/effects.jade:68 +msgid "{{1}}is trusting you for{{2}}." +msgstr "{{1}} 트러스트 라인 연결중 {{2}}" + +#: src/jade/tabs/history/effects.jade:73 +msgid "You have changed {{1}}trust for{{2}}from{{3}}to{{4}}." +msgstr "{{1}} 트러스트 라인 연결 {{2}} {{3}} 에서 {{4}} 로 변경" + +#: src/jade/tabs/history/effects.jade:83 +msgid "{{1}}changed the{{2}}trust from{{3}}to{{4}}." +msgstr "{{1}} 트러스트 라인 연결 변경 {{2}} {{3}} 에서 {{4}}" + +#: src/jade/tabs/history/effects.jade:92 +msgid "Trust balance between you and{{1}}has been changed by{{2}}." +msgstr "트러스트 라인 연결 {{1}} 에서 {{2}} 로 변경." + +#: src/jade/tabs/history/effects.jade:99 +msgid "Your balance has been changed by{{1}}." +msgstr "잔고가 {{1}}로 변경되었습니다." + +#: src/jade/tabs/jpy.jade:38 +msgid "Japanese Yen Deposit" +msgstr "일본 엔화 예탁" + +#: src/jade/tabs/jpy.jade:42 +msgid "Tokyo JPY Issuer (~tokyojpy) {{1}}" +msgstr "도쿄 JPY (~tokyojpy) {{1}}" + +#: src/jade/tabs/jpy.jade:59 +msgid "" +"Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to" +" JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your" +" behalf." +msgstr "리플 트레이드는 JPY를 손쉽게 제공하기 위하여 도쿄 JPY와 제휴 하고있습니다. 계속 진행하시려면, 도쿄 JPY의 이용을 승낙 하세요." + +#: src/jade/tabs/jpy.jade:78 +msgid "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" +msgstr "신규 회원- 도쿄 JPY에 가입하기" + +#: src/jade/tabs/jpy.jade:79 +msgid "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" +msgstr "{{1}} 도쿄 JPY. 다음이 요구됩니다:{{2}}" + +#: src/jade/tabs/jpy.jade:84 +msgid "A valid government-issued ID." +msgstr "유효한 정부에서 발행된 ID" + +#: src/jade/tabs/jpy.jade:86 +msgid "A proof of address (utility bill, etc)." +msgstr "거주지 증명 (공과금명세서, 기타 등등)" + +#: src/jade/tabs/jpy.jade:88 +msgid "A bank account under the same name." +msgstr "본인 명의 은행계좌" + +#: src/jade/tabs/jpy.jade:90 +msgid "EXISTING TOKYO JPY ISSUER CUSTOMERS" +msgstr "기존 도쿄 JPY 회원" + +#: src/jade/tabs/jpy.jade:100 +msgid "" +"Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details" +" {{1}}" +msgstr "도쿄 JPY는 예탁, 인출을 은행 거래를 통하여 이루어집니다. 자세히 보기 {{1}}" + +#: src/jade/tabs/jpy.jade:103 +msgid "" +"To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account " +"and then initiate a transfer into your Ripple account." +msgstr "예탁하기 위해서는, 도쿄 JPY 계정에 먼저 예탁을 해야 리플 지갑으로 거래 시작이 가능합니다. " + +#: src/jade/tabs/jpy.jade:105 +msgid "" +"To withdraw to a bank account, you’ll first send money from your Ripple " +"account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo " +"JPY Issuer site to send to your bank account." +msgstr "은행 계좌로 인출하기 위해서는, 먼저 리플 지갑의 JPY를 도쿄 JPY 계정으로 돈을 보내드립니다. 도쿄 JPY 사이트에서 은행 계좌로 보내는 지침을 따르십시오." + +#: src/jade/tabs/kyc.jade:14 +msgid "Profile completion is only available to US residents." +msgstr "프로필 완성은 미국 거주자만 가능 합니다." + +#: src/jade/tabs/kyc.jade:21 src/jade/tabs/trade.jade:285 +msgid "Verifying your information. Please wait..." +msgstr "정보를 확인중입니다. 기다려 주세요..." + +#: src/jade/tabs/kyc.jade:23 +msgid "Your identity information has been verified." +msgstr "신원 정보가 확인되었습니다." + +#: src/jade/tabs/kyc.jade:25 +msgid "Your identity questions have been verified." +msgstr "신원확인 질문이 확인되었습니다." + +#: src/jade/tabs/kyc.jade:27 +msgid "" +"Congratulations, you've verified your identity! You will now be redirected " +"back to the instant deposit page." +msgstr "축하합니다, 신원이 확인되었습니다! 바로 예탁 페이지로 이동됩니다." + +#: src/jade/tabs/kyc.jade:29 +msgid "There was an error with your request. Please try again later." +msgstr "요청에 오류가 발생했습니다. 잠시 후 다시 시도해 주세요." + +#: src/jade/tabs/kyc.jade:31 +msgid "" +"There was an error with your request. Make sure your phone number is valid " +"and try again." +msgstr "요청에 오류가 발생했습니다. 유효한 전화번호인지 확인 후 다시 시도해 주세요." + +#: src/jade/tabs/kyc.jade:33 +msgid "Please check your verification code and try again." +msgstr "인증코드를 다시 확인 해 주세요." + +#: src/jade/tabs/kyc.jade:35 +msgid "" +"There was an error while requesting the verification code. Please try again " +"later." +msgstr "인증코드 요청중 오류가 발생했습니다. 다시 시도해 주세요." + +#: src/jade/tabs/kyc.jade:37 +msgid "" +"We are unable to validate your identity information. Please check your " +"information and try again." +msgstr "신원 정보가 식별 불가능합니다. 정보를 다시 확인해 주세요. " + +#: src/jade/tabs/kyc.jade:39 +msgid "" +"We are unable to validate your identity questions. Please check your answers" +" and try again." +msgstr "신원확인 질문이 식별 불가능합니다. 답변을 다시 확인해 주세요." + +#: src/jade/tabs/kyc.jade:41 +msgid "" +"Sorry, you've reached your maximum number of verification attempts. Please " +"try again in 24 hours." +msgstr "신원 확인이 최대치를 초과하였습니다. 24시간 이내 다시 시도해 주세요." + +#: src/jade/tabs/kyc.jade:43 +msgid "" +"We can't verify your identity. Please contact us at support@ripple.com." +msgstr "신원 확인을 할 수 없습니다. support@ripple.com 으로 연락해 주세요." + +#: src/jade/tabs/kyc.jade:48 +msgid "Profile Completion" +msgstr "프로필 완성" + +#: src/jade/tabs/kyc.jade:52 +msgid "STEP 1: IDENTITY INFORMATION" +msgstr "스텝 1: 신원 정보" + +#: src/jade/tabs/kyc.jade:54 +msgid "STEP 2: IDENTITY QUESTIONS" +msgstr "스텝 2: 신원 확인 질문" + +#: src/jade/tabs/kyc.jade:56 +msgid "STEP 3: TWO-FACTOR AUTHENTICATION" +msgstr "스텝 3: 이중인증 설정" + +#: src/jade/tabs/kyc.jade:63 +msgid "First Name" +msgstr "이름" + +#: src/jade/tabs/kyc.jade:67 +msgid "Last Name" +msgstr "성" + +#: src/jade/tabs/kyc.jade:71 +msgid "Street Address" +msgstr "주소" + +#: src/jade/tabs/kyc.jade:76 +msgid "City" +msgstr "시티" + +#: src/jade/tabs/kyc.jade:80 +msgid "State" +msgstr "주" + +#: src/jade/tabs/kyc.jade:84 +msgid "ZIP" +msgstr "ZIP 코드" + +#: src/jade/tabs/kyc.jade:88 +msgid "Date of Birth" +msgstr "생년월일" + +#: src/jade/tabs/kyc.jade:92 +msgid "Month{{1}}" +msgstr "{{1}}월" + +#: src/jade/tabs/kyc.jade:95 +msgid "Day{{1}}" +msgstr "{{1}}일" + +#: src/jade/tabs/kyc.jade:98 +msgid "Year{{1}}" +msgstr "{{1}}년" + +#: src/jade/tabs/kyc.jade:113 +msgid "Continue to identity questions" +msgstr "신원 확인 질문 계속" + +#: src/jade/tabs/kyc.jade:114 src/jade/tabs/kyc.jade:129 +#: src/jade/tabs/kyc.jade:154 src/jade/tabs/kyc.jade:184 +#: src/jade/tabs/login.jade:17 +msgid "Verifying..." +msgstr "인증중..." + +#: src/jade/tabs/kyc.jade:120 +msgid "{{ q.question }}{{1}}" +msgstr "{{ q.question }}{{1}}" + +#: src/jade/tabs/kyc.jade:123 +msgid "{{ a.answer }}" +msgstr "{{ a.answer }}" + +#: src/jade/tabs/kyc.jade:128 +msgid "Continue to two-factor authentication" +msgstr "이중인증 계속" + +#: src/jade/tabs/kyc.jade:137 +msgid "Two-factor authentication provides extra security for your account." +msgstr "이중인증은 지갑에 안전에 안전을 더 해줍니다." + +#: src/jade/tabs/kyc.jade:145 +msgid "" +"Ripple Trade has partnered with Authy to provide better security for your " +"account.By continuing, you agree to Authy's {{1:Terms of Service}}." +msgstr "리플 트레이드는 더 나은 보안을 위해 Authy와 제휴 하고있습니다. 계속 진행하시려면, Authy의 이용을 동의하세요 {{1:Terms of Service}}." + +#: src/jade/tabs/kyc.jade:153 +msgid "Verify phone number" +msgstr "전화번호 인증" + +#: src/jade/tabs/kyc.jade:164 +msgid "change" +msgstr "변경" + +#: src/jade/tabs/kyc.jade:168 +msgid "" +"A verification code has been sent to +{{ currentCountryCode }} {{ " +"phoneNumber }}." +msgstr "인증코드가 +{{ currentCountryCode }} {{ phoneNumber }} 로 전송되었습니다." + +#: src/jade/tabs/kyc.jade:172 src/jade/tabs/login/form.jade:16 +#: src/jade/tabs/security.jade:97 +msgid "Verification Code" +msgstr "인증코드" + +#: src/jade/tabs/kyc.jade:183 +msgid "Submit code" +msgstr "코드 제출" + +#: src/jade/tabs/login.jade:4 src/jade/tabs/migrate.jade:4 +#: src/jade/tabs/recover.jade:3 src/jade/tabs/register.jade:5 +#: src/jade/tabs/register.jade:137 src/jade/tabs/register.jade:184 +msgid "Welcome to Ripple Trade" +msgstr "리플 트레이드에 오신 것을 환영합니다" + +#: src/jade/tabs/login.jade:6 src/jade/tabs/migrate.jade:6 +#: src/jade/tabs/recover.jade:5 src/jade/tabs/register.jade:7 +#: src/jade/tabs/register.jade:139 src/jade/tabs/register.jade:186 +msgid "Trade hundreds of assets, from XRP to crypto to gold to fiat." +msgstr "XRP로 수백가지의 자산, 가상화폐, 금, 모든 종류의 화폐를거래하세요." + +#: src/jade/tabs/login.jade:15 src/jade/tabs/login.jade:31 +msgid "Log In" +msgstr "로그인" + +#: src/jade/tabs/login.jade:18 +msgid "You have successfully verified your email address." +msgstr "성공적으로 이메일 주소가 확인되었습니다." + +#: src/jade/tabs/login.jade:19 +msgid "" +"Email verification token is invalid. It has either expired or has been " +"resent. Please check your inbox for the most recent verification email." +msgstr "유효하지 않은 이메일 인증 코드입니다. 기간이 만료되었거나 재전송 하였습니다. 가장 최신 인증 코드 이메일을 확인하세요." + +#: src/jade/tabs/login.jade:30 +msgid "Logging in" +msgstr "로그인 중" + +#: src/jade/tabs/login.jade:34 +msgid "Verify" +msgstr "인증" + +#: src/jade/tabs/login.jade:36 src/jade/tabs/register.jade:114 +msgid "Already have a ripple.com/client account? {{1:Migrate}}" +msgstr "ripple.com 회원이거나 지갑을 갖고 계신가요? {{1:Migrate}}" + +#: src/jade/tabs/login.jade:41 src/jade/tabs/login.jade:42 +#: src/jade/tabs/recover.jade:9 +msgid "Account Recovery" +msgstr "지갑 되찾기" + +#: src/jade/tabs/login.jade:49 +msgid "{{1:You're sending money to}}{{2}}." +msgstr "{{1:돈을 보냈습니다}}{{2}}." + +#: src/jade/tabs/login.jade:53 +msgid "{{1:You're sending}}{{2}}{{3: to }}{{4}}." +msgstr "{{1:보냈습니다}}{{2}}{{3: 에게 }}{{4}}." + +#: src/jade/tabs/login.jade:63 +msgid "" +"{{1:You're connecting to the gateway}}{{2}}{{3:for{{1}}}}{{4:with a limit " +"of{{1}}}}." +msgstr "{{1:게이트웨이 연결이 되었습니다}}{{2}}{{3:에{{1}}}}{{4:한도{{1}}}}." + +#: src/jade/tabs/login.jade:78 +msgid "{{1:You're adding}}{{2}}{{3:to your contacts list}}" +msgstr "" + +#: src/jade/tabs/login.jade:95 +msgid "{{1}} Log In" +msgstr "{{1}} 로그인" + +#: src/jade/tabs/login.jade:98 +msgid "You can confirm this transaction on the next page." +msgstr "다음 페이지에서 거래 내역을 확인하세요." + +#: src/jade/tabs/login.jade:99 +msgid "New to {{productName}}? {{1:Create a wallet}}" +msgstr "{{productName}}에 첫 방문입니까? {{1:Create a wallet}}" + +#: src/jade/tabs/login/form.jade:12 src/jade/tabs/security.jade:91 +msgid "" +"Please enter the verification code from the SMS message sent to your device:" +msgstr "휴대폰에 온 인증코드를 입력하세요:" + +#: src/jade/tabs/login/form.jade:13 src/jade/tabs/security.jade:92 +msgid "" +"Please enter the verification code from the Authy app installed on your " +"device:" +msgstr "Authy 앱의 인증코드를 입력하세요:" + +#: src/jade/tabs/login/form.jade:23 +msgid "Resend" +msgstr "재전송" + +#: src/jade/tabs/login/form.jade:24 src/jade/tabs/security.jade:105 +msgid "Send Via SMS" +msgstr "SMS로 보내기" + +#: src/jade/tabs/login/form.jade:30 +msgid "Remember me on this device for 30 days" +msgstr "30일동안 인증코드를 기억하도록 하겠습니까?" + +#: src/jade/tabs/migrate.jade:10 src/jade/tabs/register.jade:17 +#: src/jade/tabs/register.jade:142 src/jade/tabs/register.jade:189 +msgid "Migrate" +msgstr "이동" + +#: src/jade/tabs/migrate.jade:11 +msgid "" +"To begin migration, enter the name and passphrase used to encrypt your " +"ripple.com/client wallet below. After migration, you will no longer be able " +"to login on ripple.com/client." +msgstr "" + +#: src/jade/tabs/migrate.jade:15 +msgid "Existing ripple.com/client Wallet name" +msgstr "" + +#: src/jade/tabs/migrate.jade:18 +msgid "Passphrase" +msgstr "" + +#: src/jade/tabs/migrate.jade:31 +msgid "Begin Migration" +msgstr "" + +#: src/jade/tabs/migrate.jade:32 +msgid "New to {{productName}}? {{1:Sign Up}}" +msgstr "" + +#: src/jade/tabs/migrate.jade:34 +msgid "Have a {{productName}} account? {{1:Log In}}" +msgstr "" + +#: src/jade/tabs/mxn.jade:38 +msgid "Mexican Peso Deposit" +msgstr "" + +#: src/jade/tabs/mxn.jade:42 +msgid "Bitso (~bitso) {{1}}{{2}}" +msgstr "" + +#: src/jade/tabs/mxn.jade:47 +msgid "All countries except the US" +msgstr "" + +#: src/jade/tabs/mxn.jade:58 +msgid "" +"Ripple Trade has partnered with Bitso to provide easy access to MXN (Mexican" +" Peso). By continuing, you agree with Bitso’s terms of service. Following " +"this action will enable Bitso to hold MXN on your behalf." +msgstr "" + +#: src/jade/tabs/mxn.jade:80 +msgid "TO FUND/REDEEM MEXICAN PESO:" +msgstr "" + +#: src/jade/tabs/mxn.jade:82 +msgid "Register or login at {{1}}to initiate deposits and withdrawals." +msgstr "" + +#: src/jade/tabs/mxn.jade:86 +msgid "" +"A valid, non-US, state-issued ID (passport, driver's license, etc)." +msgstr "" + +#: src/jade/tabs/mxn.jade:87 +msgid "" +"Proof of address (utility bill or other type of bill that has your address " +"on it). Verification is required for peso deposits or withdrawals." +msgstr "" + +#: src/jade/tabs/mxn.jade:89 +msgid "" +"To fund your Ripple account, see the below options. Once a balance is " +"deposited with Bitso, you can send it to your Ripple account using the Bitso" +" Dashboard." +msgstr "" + +#: src/jade/tabs/mxn.jade:90 +msgid "" +"To withdraw from your Ripple account, click on the 'Redeem from Ripple' " +"button on the Bitso Dashboard." +msgstr "" + +#: src/jade/tabs/mxn.jade:92 src/jade/tabs/usd.jade:89 +msgid "DEPOSIT OPTIONS" +msgstr "" + +#: src/jade/tabs/mxn.jade:94 +msgid "Bitso accepts deposits by the following methods:" +msgstr "" + +#: src/jade/tabs/mxn.jade:96 src/jade/tabs/mxn.jade:106 +msgid "Bank Wire" +msgstr "" + +#: src/jade/tabs/mxn.jade:97 src/jade/tabs/mxn.jade:107 +msgid "SPEI (Mexican instant inter-bank transfer)" +msgstr "" + +#: src/jade/tabs/mxn.jade:98 src/jade/tabs/mxn.jade:108 +msgid "Bitcoin" +msgstr "" + +#: src/jade/tabs/mxn.jade:99 +msgid "MXN Cash (at locations across Mexico)" +msgstr "" + +#: src/jade/tabs/mxn.jade:100 +msgid "Pademobile wallet" +msgstr "" + +#: src/jade/tabs/mxn.jade:102 src/jade/tabs/usd.jade:99 +msgid "WITHDRAWAL OPTIONS" +msgstr "" + +#: src/jade/tabs/mxn.jade:104 +msgid "Bitso offers withdrawals via the following methods:" +msgstr "" + +#: src/jade/tabs/recover.jade:11 +msgid "" +"You can only recover your Ripple Trade account with a secret key. You will " +"recover the account's Ripple name, contacts and other information." +msgstr "" + +#: src/jade/tabs/recover.jade:13 src/jade/tabs/recover.jade:33 +msgid "Ripple Name" +msgstr "" + +#: src/jade/tabs/recover.jade:18 +msgid "Secret Key" +msgstr "비밀키" + +#: src/jade/tabs/recover.jade:21 +msgid "Unable to recover account." +msgstr "" + +#: src/jade/tabs/recover.jade:27 src/jade/tabs/register.jade:95 +msgid "Recover Account" +msgstr "" + +#: src/jade/tabs/recover.jade:29 src/jade/tabs/recover.jade:56 +msgid "Set Password" +msgstr "" + +#: src/jade/tabs/recover.jade:31 +msgid "" +"Your account was sucessfully recovered. Please re-encrypt your account with " +"a new password." +msgstr "" + +#: src/jade/tabs/recover.jade:41 src/jade/tabs/register.jade:62 +#: src/jade/tabs/security.jade:132 +msgid "" +"Your password is weak. It does not contain numbers and symbols or it is too " +"short." +msgstr "" + +#: src/jade/tabs/recover.jade:43 src/jade/tabs/register.jade:65 +#: src/jade/tabs/security.jade:134 +msgid "" +"Your Ripple name and password cannot match. Please create a new password." +msgstr "" + +#: src/jade/tabs/recover.jade:45 src/jade/tabs/register.jade:67 +#: src/jade/tabs/security.jade:136 +msgid "Confirm password" +msgstr "비밀번호 확인" + +#: src/jade/tabs/recover.jade:48 src/jade/tabs/register.jade:71 +#: src/jade/tabs/security.jade:139 +msgid "Passwords do not match" +msgstr "비밀번호가 일치하지 않습니다." + +#: src/jade/tabs/recover.jade:50 +msgid "Unable to change your account password." +msgstr "" + +#: src/jade/tabs/recover.jade:55 +msgid "Updating..." +msgstr "" + +#: src/jade/tabs/recover.jade:57 +msgid "Remember your password? {{1:Log In}}" +msgstr "" + +#: src/jade/tabs/register.jade:13 src/jade/tabs/register.jade:109 +#: src/jade/tabs/register.jade:141 src/jade/tabs/register.jade:188 +msgid "Sign Up" +msgstr "가입하기" + +#: src/jade/tabs/register.jade:19 src/jade/tabs/register.jade:21 +#: src/jade/tabs/register.jade:23 src/jade/tabs/register.jade:146 +#: src/jade/tabs/register.jade:148 src/jade/tabs/register.jade:191 +#: src/jade/tabs/register.jade:193 src/jade/tabs/register.jade:195 +msgid "Step {{1}}" +msgstr "" + +#: src/jade/tabs/register.jade:26 +msgid "Create Ripple name" +msgstr "" + +#: src/jade/tabs/register.jade:27 +msgid "" +"Please choose a Ripple name below. You will use this Ripple name to login to" +" Ripple Trade, so remember it! Ripple names are unique and public, like your" +" current Ripple address. {{1}}" +msgstr "" + +#: src/jade/tabs/register.jade:28 +msgid "Learn More" +msgstr "" + +#: src/jade/tabs/register.jade:41 +msgid "Reserved for {{usernameReservedFor}}" +msgstr "" + +#: src/jade/tabs/register.jade:43 +msgid "" +"This name belongs to a high-traffic website and has been reserved to prevent" +" phishing." +msgstr "" + +#: src/jade/tabs/register.jade:49 +msgid "You can only use the following characters: a-z, 0-9 and hyphens (-)" +msgstr "" + +#: src/jade/tabs/register.jade:55 +msgid "Cannot use hyphens in a row (--)" +msgstr "" + +#: src/jade/tabs/register.jade:80 +msgid "Email address is invalid" +msgstr "" + +#: src/jade/tabs/register.jade:82 src/jade/tabs/security.jade:151 +msgid "Secret key" +msgstr "" + +#: src/jade/tabs/register.jade:83 src/jade/tabs/send.jade:43 +#: src/jade/tabs/trade.jade:441 +msgid "hide" +msgstr "" + +#: src/jade/tabs/register.jade:88 +msgid "Secret Account Key is invalid" +msgstr "" + +#: src/jade/tabs/register.jade:90 +msgid "" +"The account ~{{1}}{{2}} has already been created using this secret key." +msgstr "" + +#: src/jade/tabs/register.jade:98 +msgid "I agree to the {{productName}} {{1:Terms of Use}}" +msgstr "" + +#: src/jade/tabs/register.jade:101 +msgid "" +"Please see our {{1}} to see how we collect, use and share information about " +"you" +msgstr "" + +#: src/jade/tabs/register.jade:110 +msgid "Migrate Account" +msgstr "" + +#: src/jade/tabs/register.jade:111 +msgid "Need to use your secret key? {{1}}" +msgstr "" + +#: src/jade/tabs/register.jade:113 +msgid "Use key" +msgstr "" + +#: src/jade/tabs/register.jade:121 +msgid "An error occurred during registration. Please try again later." +msgstr "" + +#: src/jade/tabs/register.jade:122 +msgid "The reported error was: {{1}}" +msgstr "" + +#: src/jade/tabs/register.jade:131 +msgid "" +"There is already a wallet using this username, please choose a different " +"username and try again." +msgstr "해당 사용자 이름의 지갑이 이미 존재합니다. 다른 사용자 이름으로 다시 시도하세요. " + +#: src/jade/tabs/register.jade:150 +msgid "" +"By proceeding, you understand that Ripple Trade does not provide a password " +"or secret key recovery mechanism. If you forget your Ripple name/password " +"and secret key, you will be unable to access this Ripple account." +msgstr "" + +#: src/jade/tabs/register.jade:155 +msgid "" +"You are now migrating your account- meaning you'll no longer be able to " +"access your account from ripple.com/client. You will retain all of your " +"balances, contacts, and account history. Your account will use the same " +"secret key as before. If you have already saved your secret key, please " +"continue your migration." +msgstr "" + +#: src/jade/tabs/register.jade:162 +msgid "" +"The secret key unlocks access to all your account funds in the event you " +"lose your Ripple name or password. Please write it down and store it " +"somewhere private and safe. {{1:Read more}} about keys and wallet safety." +msgstr "" + +#: src/jade/tabs/register.jade:167 +msgid "" +"If you have not saved your secret key, please write it down and store it " +"somewhere private and safe. In the event you lose your Ripple name or " +"password, you can use this secret key to recover your funds." +msgstr "" + +#: src/jade/tabs/register.jade:176 +msgid "Show secret key" +msgstr "비밀키 보여주기" + +#: src/jade/tabs/register.jade:177 +msgid "Hide secret key" +msgstr "비밀키 숨기기" + +#: src/jade/tabs/register.jade:180 +msgid "Continue to email verification" +msgstr "" + +#: src/jade/tabs/register.jade:197 +msgid "" +"We’ve sent an email to {{1}}. To complete registration, click the link in " +"the email." +msgstr "" + +#: src/jade/tabs/register.jade:200 +msgid "Email token has been resent." +msgstr "" + +#: src/jade/tabs/register.jade:203 +msgid "Email Address:" +msgstr "" + +#: src/jade/tabs/register.jade:210 +msgid "Re-send Email" +msgstr "" + +#: src/jade/tabs/security.jade:7 +msgid "Active Session Timeout" +msgstr "" + +#: src/jade/tabs/security.jade:8 +msgid "" +"To view or edit your security settings, you must currently have an active " +"session." +msgstr "" + +#: src/jade/tabs/security.jade:16 +msgid "Restore Session" +msgstr "" + +#: src/jade/tabs/security.jade:25 +msgid "Your Ripple password has been changed, please login again" +msgstr "" + +#: src/jade/tabs/security.jade:27 +msgid "Couldn't change your Ripple password, please try again later." +msgstr "" + +#: src/jade/tabs/security.jade:30 +msgid "Changing your Ripple password..." +msgstr "" + +#: src/jade/tabs/security.jade:31 +msgid "Your Ripple password has been changed successfully." +msgstr "" + +#: src/jade/tabs/security.jade:32 +msgid "Unable to load Two-factor authentication settings." +msgstr "" + +#: src/jade/tabs/security.jade:33 +msgid "Error saving Two-factor authentication settings." +msgstr "" + +#: src/jade/tabs/security.jade:34 +msgid "The verification code is invalid." +msgstr "" + +#: src/jade/tabs/security.jade:36 +msgid "Two-factor authentication has been successfully enabled." +msgstr "" + +#: src/jade/tabs/security.jade:37 +msgid "Two-factor authentication has been successfully disabled." +msgstr "" + +#: src/jade/tabs/security.jade:38 +msgid "Password protection has been successfully enabled." +msgstr "" + +#: src/jade/tabs/security.jade:39 +msgid "Password protection has been successfully disabled." +msgstr "" + +#: src/jade/tabs/security.jade:45 +msgid "Security settings" +msgstr "" + +#: src/jade/tabs/security.jade:51 +msgid "Loading Two-factor authentication settings..." +msgstr "" + +#: src/jade/tabs/security.jade:55 +msgid "Enabled" +msgstr "" + +#: src/jade/tabs/security.jade:56 +msgid "Disabled" +msgstr "" + +#: src/jade/tabs/security.jade:58 +msgid "disable" +msgstr "" + +#: src/jade/tabs/security.jade:60 +msgid "enable" +msgstr "" + +#: src/jade/tabs/security.jade:66 +msgid "" +"Authy is providing two-factor authentication for Ripple Trade. To enable " +"two-factor authentication, you must share some information with Authy." +msgstr "" + +#: src/jade/tabs/security.jade:69 +msgid "- Your email address:" +msgstr "" + +#: src/jade/tabs/security.jade:72 +msgid "- Your phone number:" +msgstr "" + +#: src/jade/tabs/security.jade:74 +msgid "By proceeding, you agree to the Authy {{1: terms of service.}}" +msgstr "" + +#: src/jade/tabs/security.jade:78 +msgid "Share" +msgstr "" + +#: src/jade/tabs/security.jade:84 +msgid "Saving settings..." +msgstr "" + +#: src/jade/tabs/security.jade:85 +msgid "Disabling Two-factor authentication..." +msgstr "" + +#: src/jade/tabs/security.jade:86 +msgid "Enabling Two-factor authentication..." +msgstr "" + +#: src/jade/tabs/security.jade:104 +msgid "Resend Code" +msgstr "" + +#: src/jade/tabs/security.jade:110 +msgid "Enable" +msgstr "" + +#: src/jade/tabs/security.jade:114 +msgid "Ripple password" +msgstr "" + +#: src/jade/tabs/security.jade:129 +msgid "New password" +msgstr "" + +#: src/jade/tabs/security.jade:153 +msgid "" +"Your secret key unlocks access to your account funds. Please write it down " +"and store it somewhere private and safe. In the event you lose your Ripple " +"name or password, you can use this secret key to recover your funds." +msgstr "" + +#: src/jade/tabs/security.jade:165 +msgid "Password protection for transactions" +msgstr "" + +#: src/jade/tabs/security.jade:168 +msgid "" +"If you turn off password requests, you’ll still need to enter your password " +"after each page refresh." +msgstr "" + +#: src/jade/tabs/security.jade:176 +msgid "Yes" +msgstr "" + +#: src/jade/tabs/security.jade:177 +msgid "No" +msgstr "" + +#: src/jade/tabs/security.jade:192 +msgid "Delete Ripple Trade account" +msgstr "" + +#: src/jade/tabs/security.jade:194 +msgid "" +"This deletes your Ripple Trade account. You will no longer be able to login " +"to Ripple Trade and your account data will be deleted. However, you can " +"still access your funds using your secret key." +msgstr "" + +#: src/jade/tabs/send.jade:12 +msgid "You have to be funded before you can send money" +msgstr "통화를 송금하기 전에 계좌를 충전하세요." + +#: src/jade/tabs/send.jade:25 +msgid "Recipient" +msgstr "받는 사람" + +#: src/jade/tabs/send.jade:30 +msgid "Please enter a recipient." +msgstr "보낼 곳을 입력하세요." + +#: src/jade/tabs/send.jade:32 +msgid "" +"Recipient should be a Ripple name, a contact, or Ripple/Bitcoin address." +msgstr "" + +#: src/jade/tabs/send.jade:34 +msgid "This email address is not Ripple-enabled." +msgstr "리플에서 사용 가능한 이메일 주소가 아닙니다. " + +#: src/jade/tabs/send.jade:38 +msgid "Show destination tag" +msgstr "" + +#: src/jade/tabs/send.jade:47 +msgid "Destination cannot be blank." +msgstr "목적지를 입력해야 합니다." + +#: src/jade/tabs/send.jade:48 +msgid "" +"Recipient requires a destination tag to be specified for the transaction. If" +" you don't know the destination tag, please contact them before doing a " +"transaction." +msgstr "" + +#: src/jade/tabs/send.jade:53 +msgid "Source tag" +msgstr "소스 태그" + +#: src/jade/tabs/send.jade:56 +msgid "Invalid source tag" +msgstr "유효하지 않은 소스 태그" + +#: src/jade/tabs/send.jade:59 +msgid "Invoice ID" +msgstr "" + +#: src/jade/tabs/send.jade:62 +msgid "Invoice ID must not be more than 64 characters long." +msgstr "" + +#: src/jade/tabs/send.jade:77 +msgid "Recipient will receive" +msgstr "보낼 금액" + +#: src/jade/tabs/send.jade:88 +msgid "{{send.recipient | rpcontactname}} can't receive this currency." +msgstr "" + +#: src/jade/tabs/send.jade:92 src/jade/tabs/trust.jade:102 +msgid "Amount must be greater than zero." +msgstr "금액이 0보다 많아야 합니다." + +#: src/jade/tabs/send.jade:93 +msgid "" +"You are either trying to send too little or too much XRP.Minimum amount is " +"0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "" + +#: src/jade/tabs/send.jade:97 +msgid "" +"Recipient does not allow XRP payments. Are you sure you want to send XRP " +"anyway?" +msgstr "수령인이 XRP를 허용하지 않습니다. 그래도 XRP를 보내시겠습니까?" + +#: src/jade/tabs/send.jade:99 +msgid "" +"{{send.recipient | rpcontactname}}trusts you for {{send.trust_limit | " +"rpamount}} {{send.trust_limit | rpcurrency}}." +msgstr "" + +#: src/jade/tabs/send.jade:103 +msgid "Send XRP" +msgstr "XRP 보내기" + +#: src/jade/tabs/send.jade:107 +msgid "" +"Destination account is unfunded; send at least {{send.xrp_deficiency | " +"rpamount}} XRP to fund it.{{1}}" +msgstr "" + +#: src/jade/tabs/send.jade:114 +msgid "Checking" +msgstr "검색 중" + +#: src/jade/tabs/send.jade:117 +msgid "Analyzing address" +msgstr "계좌번호 분석 중" + +#: src/jade/tabs/send.jade:120 +msgid "Scanning accepted currencies" +msgstr "" + +#: src/jade/tabs/send.jade:123 +msgid "Requesting quote" +msgstr "거래 가격 요청 중" + +#: src/jade/tabs/send.jade:126 +msgid "Calculating paths" +msgstr "경로 계산 중" + +#: src/jade/tabs/send.jade:129 +msgid "Calculating alternatives" +msgstr "대안 계산 중" + +#: src/jade/tabs/send.jade:130 +msgid "" +"You cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. " +"Either your account has insufficient funds, or {{send.recipient}} doesn't " +"accept {{send.currency}}." +msgstr "" + +#: src/jade/tabs/send.jade:134 +msgid "" +"You cannot send {{send.amount}} {{send.currency}} to{{send.recipient}}. Your" +" account has insufficient funds." +msgstr "" + +#: src/jade/tabs/send.jade:137 +msgid "There are no valid currency choices for this destination." +msgstr "" + +#: src/jade/tabs/send.jade:139 +msgid "Error while retrieving quote for outbound payment. {{1}}" +msgstr "" + +#: src/jade/tabs/send.jade:148 +msgid "You can send" +msgstr "보낼 수 있습니다." + +#: src/jade/tabs/send.jade:150 +msgid "Or you can send" +msgstr "혹은 보낼 수 있습니다." + +#: src/jade/tabs/send.jade:164 +msgid "Send {{ alt.amount | rpcurrency }} {{1}}" +msgstr "" + +#: src/jade/tabs/send.jade:181 +msgid "Ripple is calculating a path for your payment." +msgstr "송금액에 대한 경로를 계산 중입니다." + +#: src/jade/tabs/send.jade:186 +msgid "You are sending {{1}} to" +msgstr "" + +#: src/jade/tabs/send.jade:194 +msgid "Destination tag: {{send.dt}}" +msgstr "목적지 태그: {{send.dt}}" + +#: src/jade/tabs/send.jade:195 +msgid "They will receive" +msgstr "받을 금액" + +#: src/jade/tabs/send.jade:198 +msgid "You will pay at most" +msgstr "최대 지불 금액" + +#: src/jade/tabs/send.jade:204 +msgid "Are you sure?" +msgstr "다음 단계로 넘어갑니다." + +#: src/jade/tabs/send.jade:210 +msgid "Password required to unlock wallet" +msgstr "지갑을 열려면 비밀번호가 필요합니다." + +#: src/jade/tabs/send.jade:234 src/jade/tabs/send.jade:266 +msgid "Contact saved!" +msgstr "연락처 저장 완료" + +#: src/jade/tabs/send.jade:236 src/jade/tabs/send.jade:268 +msgid "Add this address to contacts" +msgstr "연락처에 추가" + +#: src/jade/tabs/send.jade:242 src/jade/tabs/send.jade:274 +msgid "Name this user" +msgstr "사용자 이름을 입력하세요." + +#: src/jade/tabs/send.jade:246 src/jade/tabs/send.jade:278 +msgid "This contact already exists, please choose another name." +msgstr "" + +#: src/jade/tabs/send.jade:250 src/jade/tabs/send.jade:283 +#: src/jade/tabs/trust.jade:233 +msgid "Saving..." +msgstr "저장 중..." + +#: src/jade/tabs/send.jade:255 src/jade/tabs/send.jade:289 +msgid "Send another payment" +msgstr "추가 송금" + +#: src/jade/tabs/settings/navbar.jade:2 +msgid "Security" +msgstr "보안" + +#: src/jade/tabs/settingstrade.jade:12 +msgid "Trade settings" +msgstr "" + +#: src/jade/tabs/settingstrade.jade:14 +msgid "Trade currency pairs" +msgstr "" + +#: src/jade/tabs/trade.jade:12 src/jade/tabs/trade.jade:451 +msgid "Loading Order Book" +msgstr "" + +#: src/jade/tabs/trade.jade:31 src/jade/tabs/widgets/markets.jade:24 +msgid "flip" +msgstr "" + +#: src/jade/tabs/trade.jade:34 +msgid "add pair" +msgstr "" + +#: src/jade/tabs/trade.jade:37 +msgid "edit pairs" +msgstr "" + +#: src/jade/tabs/trade.jade:41 +msgid "Base Currency" +msgstr "" + +#: src/jade/tabs/trade.jade:44 +msgid "Base Gateway" +msgstr "" + +#: src/jade/tabs/trade.jade:49 +msgid "Counter Currency" +msgstr "" + +#: src/jade/tabs/trade.jade:52 +msgid "Counter Gateway" +msgstr "" + +#: src/jade/tabs/trade.jade:57 +msgid "Add" +msgstr "" + +#: src/jade/tabs/trade.jade:60 +msgid "Base currency issuer ({{order.first_currency | rpcurrency}})" +msgstr "" + +#: src/jade/tabs/trade.jade:63 +msgid "Ripple name or contact" +msgstr "" + +#: src/jade/tabs/trade.jade:65 +msgid "Not a valid Ripple address or contact" +msgstr "유효한 리플 계좌 혹은 연락처가 아닙니다." + +#: src/jade/tabs/trade.jade:70 +msgid "Counter currency issuer ({{order.second_currency | rpcurrency}})" +msgstr "" + +#: src/jade/tabs/trade.jade:75 +msgid "Not a valid Ripple name or address" +msgstr "" + +#: src/jade/tabs/trade.jade:79 +msgid "" +"To show an orderbook, choose from the dropdown above or click \"Add custom " +"pair\"." +msgstr "" + +#: src/jade/tabs/trade.jade:86 +msgid "Bid" +msgstr "매수" + +#: src/jade/tabs/trade.jade:91 +msgid "Ask" +msgstr "호가" + +#: src/jade/tabs/trade.jade:96 +msgid "Spread" +msgstr "펼치기" + +#: src/jade/tabs/trade.jade:101 +msgid "Last price" +msgstr "종가" + +#: src/jade/tabs/trade.jade:108 +msgid "You have to be funded before you can trade" +msgstr "거래 전에 계좌를 충전하세요." + +#: src/jade/tabs/trade.jade:115 +msgid "Buy {{1}} {{order.first_currency | rpcurrency}}" +msgstr "" + +#: src/jade/tabs/trade.jade:118 +msgid "Sell {{1}} {{order.first_currency | rpcurrency}}" +msgstr "" + +#: src/jade/tabs/trade.jade:121 src/jade/tabs/trade.jade:130 +msgid "{{1}} available" +msgstr "" + +#: src/jade/tabs/trade.jade:144 +msgid "Amount To Buy" +msgstr "" + +#: src/jade/tabs/trade.jade:145 +msgid "Amount To Sell" +msgstr "" + +#: src/jade/tabs/trade.jade:152 src/jade/tabs/trade.jade:167 +#: src/jade/tabs/trade.jade:182 +msgid "Required" +msgstr "필수사항" + +#: src/jade/tabs/trade.jade:154 src/jade/tabs/trade.jade:169 +#: src/jade/tabs/trade.jade:184 +msgid "Must be greater than zero" +msgstr "0 보다 많아야 합니다." + +#: src/jade/tabs/trade.jade:156 src/jade/tabs/trade.jade:171 +#: src/jade/tabs/trade.jade:186 +msgid "" +"Minimum amount of XRP you can send is a drop (0.000001) and the maximum is " +"100 billion XRPs." +msgstr "" + +#: src/jade/tabs/trade.jade:160 +msgid "Price of Each" +msgstr "각각의 금액" + +#: src/jade/tabs/trade.jade:175 +msgid "Order Value (max)" +msgstr "주문가 (최대)" + +#: src/jade/tabs/trade.jade:192 +msgid "You are wanting to buy {{1}} for {{2}} ({{3}} per {{4}})" +msgstr "" + +#: src/jade/tabs/trade.jade:201 +msgid "You are wanting to sell {{1}} for {{2}} ({{3}} per {{4}})" +msgstr "" + +#: src/jade/tabs/trade.jade:213 +msgid "Buy" +msgstr "구매" + +#: src/jade/tabs/trade.jade:214 +msgid "Sell" +msgstr "매도" + +#: src/jade/tabs/trade.jade:220 +msgid "You do not have sufficient funds to create an order." +msgstr "주문서를 작성하기에는 자금이 부족합니다." + +#: src/jade/tabs/trade.jade:225 +msgid "" +"You are about to create an order to {{1: buy}} {{2: " +"sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" +msgstr "" + +#: src/jade/tabs/trade.jade:242 +msgid "CAUTION: Your order is far off from the current market price." +msgstr "" + +#: src/jade/tabs/trade.jade:246 src/jade/tabs/trade.jade:407 +msgid "« Back" +msgstr "« 이전" + +#: src/jade/tabs/trade.jade:255 +msgid "Sending order to Ripple network..." +msgstr "리플 네트워크로 주문을 보내는 중..." + +#: src/jade/tabs/trade.jade:261 +msgid "Your order has been submitted." +msgstr "주문이 제출되었습니다." + +#: src/jade/tabs/trade.jade:263 +msgid "Your order is now active." +msgstr "" + +#: src/jade/tabs/trade.jade:265 +msgid "Your order has been filled." +msgstr "" + +#: src/jade/tabs/trade.jade:267 +msgid "" +"Your order has been partially filled. The remaining amount is now active." +msgstr "" + +#: src/jade/tabs/trade.jade:276 +msgid "Submit another order" +msgstr "추가 주문" + +#: src/jade/tabs/trade.jade:278 +msgid "My Orders{{1}}{{2}}" +msgstr "" + +#: src/jade/tabs/trade.jade:287 +msgid "Your order has been modified." +msgstr "" + +#: src/jade/tabs/trade.jade:289 +msgid "Your order #{{ cancelOrder.seq }} has been cancelled." +msgstr "" + +#: src/jade/tabs/trade.jade:291 +msgid "" +"Your order could not be modified and no longer exists. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "" + +#: src/jade/tabs/trade.jade:293 +msgid "Unable to cancel order as it no longer exists." +msgstr "" + +#: src/jade/tabs/trade.jade:295 +msgid "Modifying your order (Placing new order) ..." +msgstr "" + +#: src/jade/tabs/trade.jade:299 +msgid "Current pair only" +msgstr "" + +#: src/jade/tabs/trade.jade:313 src/jade/tabs/widgets/orders.jade:24 +msgid "reverse" +msgstr "" + +#: src/jade/tabs/trade.jade:322 src/jade/tabs/widgets/orders.jade:33 +msgid "QTY{{1}}" +msgstr "" + +#: src/jade/tabs/trade.jade:324 src/jade/tabs/widgets/orders.jade:35 +msgid "Base{{1}}" +msgstr "" + +#: src/jade/tabs/trade.jade:326 src/jade/tabs/widgets/orders.jade:37 +msgid "Counter{{1}}" +msgstr "" + +#: src/jade/tabs/trade.jade:328 src/jade/tabs/widgets/orders.jade:39 +msgid "Limit{{1}}" +msgstr "" + +#: src/jade/tabs/trade.jade:334 +msgid "Action" +msgstr "동작" + +#: src/jade/tabs/trade.jade:360 src/jade/tabs/trade.jade:424 +msgid "TRADE CONFIRMATION" +msgstr "" + +#: src/jade/tabs/trade.jade:362 +msgid "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" +msgstr "" + +#: src/jade/tabs/trade.jade:364 +msgid "" +"{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div" +" span.modal-order-type(l10n-inc) REMAIN: span remain data div span" +".modal-order-type(l10n-inc) PLACED: span time data" +msgstr "" + +#: src/jade/tabs/trade.jade:371 +msgid "with" +msgstr "" + +#: src/jade/tabs/trade.jade:372 +msgid "for" +msgstr "" + +#: src/jade/tabs/trade.jade:376 +msgid "at" +msgstr "" + +#: src/jade/tabs/trade.jade:389 +msgid "Cancel order" +msgstr "" + +#: src/jade/tabs/trade.jade:390 src/jade/tabs/trade.jade:431 +msgid "back" +msgstr "" + +#: src/jade/tabs/trade.jade:407 +msgid "" +"CAUTION: Your new order is far off from the current market price.
Do " +"you still want to replace your order ?" +msgstr "" + +#: src/jade/tabs/trade.jade:410 +msgid "Unable to cancel order. Error: {{entry.errorMsg}}" +msgstr "" + +#: src/jade/tabs/trade.jade:412 +msgid "" +"Your order amount has been updated by Ripple. Please go back and edit again " +"to modify this order." +msgstr "" + +#: src/jade/tabs/trade.jade:414 +msgid "" +"Your order could not be modified. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "" + +#: src/jade/tabs/trade.jade:415 +msgid "X" +msgstr "" + +#: src/jade/tabs/trade.jade:420 +msgid "cancel all" +msgstr "" + +#: src/jade/tabs/trade.jade:426 +msgid "{{1:Please confirm that you wish to cancel all orders.}}" +msgstr "" + +#: src/jade/tabs/trade.jade:430 +msgid "Cancel all orders" +msgstr "" + +#: src/jade/tabs/trade.jade:433 src/jade/tabs/widgets/orders.jade:64 +msgid "No current orders. {{1}}" +msgstr "" + +#: src/jade/tabs/trade.jade:434 src/jade/tabs/widgets/orders.jade:65 +msgid "View orders history" +msgstr "" + +#: src/jade/tabs/trade.jade:437 +msgid "Orderbook{{1}}" +msgstr "" + +#: src/jade/tabs/trade.jade:440 +msgid "show" +msgstr "" + +#: src/jade/tabs/trade.jade:442 +msgid "Last updated {{1}} {{2: seconds}} {{3: second}} ago" +msgstr "" + +#: src/jade/tabs/trade.jade:458 +msgid "Bids" +msgstr "매수" + +#: src/jade/tabs/trade.jade:460 src/jade/tabs/trade.jade:487 +msgid "Sum{{1}}{{2}}" +msgstr "총 {{1}}{{2}}" + +#: src/jade/tabs/trade.jade:463 src/jade/tabs/trade.jade:484 +msgid "Size{{1}}{{2}}" +msgstr "규모 {{1}}{{2}}" + +#: src/jade/tabs/trade.jade:466 +msgid "Bid Price{{1}}{{2}}" +msgstr "매수가 {{1}}{{2}}" + +#: src/jade/tabs/trade.jade:477 +msgid "There are currently no bids for this pair." +msgstr "현재 본 건에 대한 입찰이 존재하지 않습니다. " + +#: src/jade/tabs/trade.jade:479 +msgid "Asks" +msgstr "호가" + +#: src/jade/tabs/trade.jade:481 +msgid "Ask Price{{1}}{{2}}" +msgstr "호가 {{1}}{{2}}" + +#: src/jade/tabs/trade.jade:498 +msgid "There are currently no asks for this pair." +msgstr "현재 본 건에 대한 요청이 존재하지 않습니다." + +#: src/jade/tabs/trade.jade:501 +msgid "No more orders" +msgstr "" + +#: src/jade/tabs/trust.jade:29 +msgid "Removing gateway..." +msgstr "" + +#: src/jade/tabs/trust.jade:31 +msgid "Gateway removed." +msgstr "" + +#: src/jade/tabs/trust.jade:33 +msgid "Your changes have been saved." +msgstr "" + +#: src/jade/tabs/trust.jade:35 +msgid "Request failed." +msgstr "" + +#: src/jade/tabs/trust.jade:39 +msgid "Account unlock failed." +msgstr "" + +#: src/jade/tabs/trust.jade:55 +msgid "Name / Address" +msgstr "이름 / 계좌번호" + +#: src/jade/tabs/trust.jade:57 src/jade/tabs/trust.jade:90 +msgid "Currency" +msgstr "통화" + +#: src/jade/tabs/trust.jade:60 +msgid "Trust Limit" +msgstr "신탁 한도" + +#: src/jade/tabs/trust.jade:66 +msgid "Gateway's Ripple name or address" +msgstr "" + +#: src/jade/tabs/trust.jade:100 +msgid "Amount field is required." +msgstr "" + +#: src/jade/tabs/trust.jade:115 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"connect to. More " +"information" +msgstr "" + +#: src/jade/tabs/trust.jade:125 +msgid "" +"{{1:You are connecting a gateway, which means}}{{2:{{ counterparty_address |" +" rpripplename:{tilde: true} }} can:}}" +msgstr "" + +#: src/jade/tabs/trust.jade:128 +msgid "{{1:- Hold up to }}{{2}} {{3: on your behalf}}" +msgstr "" + +#: src/jade/tabs/trust.jade:132 +msgid "{{1:- Hold }}{{2}} {{3: on your behalf}}" +msgstr "" + +#: src/jade/tabs/trust.jade:148 +msgid "Verifying address" +msgstr "계좌를 확인 중" + +#: src/jade/tabs/trust.jade:151 +msgid "" +"Your account has to be {{1:activated}} before you can add a gateway account." +msgstr "" + +#: src/jade/tabs/trust.jade:159 +msgid "Connect gateway" +msgstr "" + +#: src/jade/tabs/trust.jade:169 src/jade/tabs/trust.jade:221 +msgid "Limit" +msgstr "" + +#: src/jade/tabs/trust.jade:170 +msgid "Min" +msgstr "" + +#: src/jade/tabs/trust.jade:172 +msgid "Edit" +msgstr "편집" + +#: src/jade/tabs/trust.jade:188 +msgid "Off" +msgstr "" + +#: src/jade/tabs/trust.jade:189 +msgid "On" +msgstr "" + +#: src/jade/tabs/trust.jade:192 src/jade/tabs/trust.jade:201 +#: src/jade/tabs/trust.jade:206 src/jade/tabs/trust.jade:210 +#: src/jade/tabs/trust.jade:239 src/jade/tabs/trust.jade:244 +#: src/jade/tabs/trust.jade:248 +msgid "Incoming trust" +msgstr "" + +#: src/jade/tabs/trust.jade:192 +msgid "" +"You can't edit incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "" + +#: src/jade/tabs/trust.jade:200 src/jade/tabs/trust.jade:202 +#: src/jade/tabs/trust.jade:205 src/jade/tabs/trust.jade:207 +#: src/jade/tabs/trust.jade:209 src/jade/tabs/trust.jade:211 +#: src/jade/tabs/trust.jade:238 src/jade/tabs/trust.jade:240 +#: src/jade/tabs/trust.jade:243 src/jade/tabs/trust.jade:245 +#: src/jade/tabs/trust.jade:247 src/jade/tabs/trust.jade:249 +msgid "Remove" +msgstr "제거" + +#: src/jade/tabs/trust.jade:201 src/jade/tabs/trust.jade:206 +#: src/jade/tabs/trust.jade:210 src/jade/tabs/trust.jade:239 +#: src/jade/tabs/trust.jade:244 src/jade/tabs/trust.jade:248 +msgid "" +"You can't delete incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "" + +#: src/jade/tabs/trust.jade:226 +msgid "Rippling {{1}}" +msgstr "" + +#: src/jade/tabs/tx.jade:5 +msgid "Loading transaction details..." +msgstr "거래 상세 내역 로딩 중..." + +#: src/jade/tabs/tx.jade:7 +msgid "An error occurred while loading the transaction details." +msgstr "거래 내역 로딩 중 에러가 발생했습니다." + +#: src/jade/tabs/tx.jade:10 +msgid "Transaction #" +msgstr "거래 #" + +#: src/jade/tabs/tx.jade:15 +msgid "Transaction type: {{1}}" +msgstr "거래 종류: {{1}}" + +#: src/jade/tabs/tx.jade:22 +msgid "Address sent from" +msgstr "보낸 곳의 계좌" + +#: src/jade/tabs/tx.jade:26 +msgid "Amount sent" +msgstr "보낸 금액" + +#: src/jade/tabs/tx.jade:30 +msgid "Currency sent" +msgstr "보낸 화폐" + +#: src/jade/tabs/tx.jade:35 +msgid "Address sent to" +msgstr "보낸 계좌번호" + +#: src/jade/tabs/tx.jade:39 +msgid "Amount received" +msgstr "받은 금액" + +#: src/jade/tabs/tx.jade:43 +msgid "Currency received" +msgstr "받은 통화" + +#: src/jade/tabs/tx.jade:50 +msgid "Network fee paid" +msgstr "지불된 네트워크 이용 요금" + +#: src/jade/tabs/tx.jade:62 +msgid "Ledger number" +msgstr "장부 번호" + +#: src/jade/tabs/tx.jade:68 +msgid "Address sent from:" +msgstr "보낸 곳의 계좌번호" + +# Sorry, we don't have an info page layout for this transaction type yet. +#: src/jade/tabs/tx.jade:72 +msgid "" +"Sorry, we don't have an info page layout for this transaction type yet." +msgstr "" + +#: src/jade/tabs/usd.jade:35 +msgid "US Dollar Deposit" +msgstr "US 달러 예탁" + +#: src/jade/tabs/usd.jade:39 +msgid "SnapSwap US (~SnapSwap){{1}}{{2}}" +msgstr "" + +#: src/jade/tabs/usd.jade:45 +msgid "USA" +msgstr "USA" + +#: src/jade/tabs/usd.jade:48 +msgid "$ 0.31-$ 5.00" +msgstr "" + +#: src/jade/tabs/usd.jade:56 +msgid "" +"Ripple Trade has partnered with SnapSwap to provide easier access to USD. " +"Following this action will enable SnapSwap to hold USD on your behalf." +msgstr "" + +#: src/jade/tabs/usd.jade:73 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" +msgstr "" + +#: src/jade/tabs/usd.jade:74 +msgid "Register and verify your account at SnapSwap US. You will need: {{1}}" +msgstr "" + +#: src/jade/tabs/usd.jade:82 +msgid "EXISTING SNAPSWAP US CUSTOMERS" +msgstr "" + +#: src/jade/tabs/usd.jade:93 +msgid "Deposit instantly via selected banks" +msgstr "" + +#: src/jade/tabs/usd.jade:95 +msgid "Deposit cash at Bank of America branches (3 business days)" +msgstr "" + +#: src/jade/tabs/usd.jade:97 +msgid "Deposit via online bank transfer (3 business days)" +msgstr "" + +#: src/jade/tabs/usd.jade:103 +msgid "Directly to your bank account (3-4 business days)" +msgstr "" + +#: src/jade/tabs/usd.jade:105 +msgid "Directly to your PayPal account (several minutes)" +msgstr "" + +#: src/jade/tabs/widgets/assetallocation.jade:3 +msgid "Asset Allocation" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:3 +msgid "Balances" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:12 +msgid "Balance
{{ account.Balance | rpamount }} XRP" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:16 +msgid "Reserve" +msgstr "예비금" + +#: src/jade/tabs/widgets/balances.jade:18 +msgid "Reserve amount" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:18 +msgid "" +"Minimum amount of XRP required to fund your account. You cannot spend the " +"reserve." +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:20 +msgid "Reserve amount
{{ account.reserve | rpamount }} XRP" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Available amount" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Total amount of XRP in your account minus the reserve amount." +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:28 +msgid "Available amount
{{ account.max_spend | rpamount }} XRP" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:35 +msgid "" +"Balance
{{ entry.total | rpamount:{precision: 30, hard_precision: true} " +"}} {{ entry.total | rpcurrency }}" +msgstr "" + +#: src/jade/tabs/widgets/balances.jade:43 +msgid "" +"Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, " +"hard_precision: true} }} {{ entry.total | rpcurrency }}" +msgstr "" + +#: src/jade/tabs/widgets/markets.jade:3 +msgid "Markets" +msgstr "" + +#: src/jade/tabs/widgets/networth.jade:3 +msgid "Net Worth" +msgstr "" + +#: src/jade/tabs/widgets/networth.jade:8 +msgid "{{1:{{1:In}}}}{{2}}" +msgstr "" + +#: src/jade/tabs/widgets/networth.jade:14 +msgid "Estimated from latest trade price" +msgstr "" + +#: src/jade/tabs/widgets/networth.jade:23 +msgid "(excluding negative balances)" +msgstr "(마이너스 잔고를 제거)" + +#: src/jade/tabs/widgets/orders.jade:3 +msgid "My Orders" +msgstr "내 주문" + +#: src/jade/tabs/widgets/orders.jade:68 +msgid "trade currencies" +msgstr "거래 통화들" + +#: src/jade/tabs/xrp.jade:19 +msgid "Ripple name: {{1}}{{2}}{{3}}" +msgstr "리플 사용자 이름: {{1}}{{2}}{{3}}" + +#: src/jade/tabs/xrp.jade:21 +msgid "loading..." +msgstr "로딩중..." + +#: src/jade/tabs/xrp.jade:23 +msgid "Show address" +msgstr "주소 보기" + +#: src/jade/tabs/xrp.jade:25 +msgid "" +"Ripple names are a new feature on Ripple! Use your Ripple name " +"(~{{userCredentials.username}}) to receive money. You can still use your " +"full Ripple address, and while we are working to transition to Ripple names," +" some gateways may still ask for your full address." +msgstr "리플 아이디는 리플의 새로운 기능입니다! 리플 아이디로 (~{{}} userCredentials.username) 돈을 받을 수 있습니다. 리플 전체 주소도 여전히 사용할 수 있습니다, 아이디를 리플로 전환하는 작업을 하는 동안, 몇 게이트웨이는 전체 주소를 요청할 수 있습니다." diff --git a/l10n/languages.json b/l10n/languages.json index c06e73cf6..d905889b5 100644 --- a/l10n/languages.json +++ b/l10n/languages.json @@ -8,6 +8,7 @@ {"code": "he_IL", "name": "hebrew_israel", "nativeName": "עברית"}, {"code": "it", "name": "italian", "nativeName": "Italiano"}, {"code": "ja", "name": "japanese", "nativeName": "日本の"}, + {"code": "ko", "name": "korean", "nativeName": "한국말"}, {"code": "nb_NO", "name": "norwegian_bokmal", "nativeName": "Norsk bokmål"}, {"code": "nl_NL", "name": "dutch_netherlands", "nativeName": "Nederlands"}, {"code": "pl", "name": "polish", "nativeName": "Polski"}, diff --git a/src/templates/client/layout.jade b/src/templates/client/layout.jade index 81d72d052..dc339e274 100644 --- a/src/templates/client/layout.jade +++ b/src/templates/client/layout.jade @@ -165,6 +165,8 @@ div#wrapper a(href="#/lang/it") Italiano .col-sm-6 a(href="#/lang/ja") 日本語 + .col-sm-6 + a(href="#/lang/ko") 한국말 .col-sm-6 a(href="#/lang/nl_NL") Nederlands .col-sm-6 From 2f3aced43ac3775f17d6ed99b917bdf85a920dae Mon Sep 17 00:00:00 2001 From: "J.M" Date: Wed, 27 May 2015 19:33:55 +0200 Subject: [PATCH 315/321] Rename, update Brazilian Portuguese localization --- l10n/languages.json | 2 +- l10n/pt/messages.po | 2711 ---------------------- l10n/pt_BR/messages.po | 3658 ++++++++++++++++++++++++++++++ src/templates/client/layout.jade | 2 +- 4 files changed, 3660 insertions(+), 2713 deletions(-) delete mode 100644 l10n/pt/messages.po create mode 100644 l10n/pt_BR/messages.po diff --git a/l10n/languages.json b/l10n/languages.json index d905889b5..1ea329e12 100644 --- a/l10n/languages.json +++ b/l10n/languages.json @@ -12,7 +12,7 @@ {"code": "nb_NO", "name": "norwegian_bokmal", "nativeName": "Norsk bokmål"}, {"code": "nl_NL", "name": "dutch_netherlands", "nativeName": "Nederlands"}, {"code": "pl", "name": "polish", "nativeName": "Polski"}, - {"code": "pt", "name": "portuguese", "nativeName": "Português"}, + {"code": "pt_BR", "name": "portuguese_brazil", "nativeName": "Português brasileiro"}, {"code": "ro", "name": "romanian", "nativeName": "Român"}, {"code": "ru", "name": "russian", "nativeName": "Русский"}, {"code": "sk", "name": "slovak", "nativeName": "Slovenská"}, diff --git a/l10n/pt/messages.po b/l10n/pt/messages.po deleted file mode 100644 index 61f67c6c6..000000000 --- a/l10n/pt/messages.po +++ /dev/null @@ -1,2711 +0,0 @@ -# Generated by grunt-jade-l10n-extractor -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Ripple Trade\n" -"PO-Revision-Date: 2014-10-08 20:38+0000\n" -"Last-Translator: Jublo Solutions \n" -"Language-Team: Portuguese (http://www.transifex.com/projects/p/ripple-trade/language/pt/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: src/jade/client/index.jade:5 src/jade/client/navbar.jade:112 -#: src/jade/tabs/trust.jade:86 src/jade/tabs/trust.jade:228 -msgid "Balance" -msgstr "" - -#: src/jade/client/index.jade:7 src/jade/client/navbar.jade:114 -msgid "History" -msgstr "" - -#: src/jade/client/index.jade:8 src/jade/client/navbar.jade:116 -#: src/jade/tabs/contacts.jade:5 -msgid "Contacts" -msgstr "" - -#: src/jade/client/index.jade:12 src/jade/client/navbar.jade:13 -#: src/jade/tabs/contacts.jade:97 -msgid "Send" -msgstr "" - -#: src/jade/client/index.jade:16 src/jade/client/navbar.jade:123 -msgid "Convert" -msgstr "" - -#: src/jade/client/index.jade:18 src/jade/client/navbar.jade:121 -msgid "Trade" -msgstr "" - -#: src/jade/client/index.jade:22 src/jade/client/navbar.jade:19 -#: src/jade/client/navbar.jade:128 -msgid "Fund" -msgstr "" - -#: src/jade/client/index.jade:24 src/jade/tabs/fund/menu.jade:5 -msgid "Gateways" -msgstr "" - -#: src/jade/client/index.jade:29 src/jade/tabs/su.jade:12 -msgid "Account" -msgstr "" - -#: src/jade/client/index.jade:32 src/jade/tabs/advanced.jade:9 -msgid "Settings" -msgstr "" - -#: src/jade/client/index.jade:35 -msgid "Logout" -msgstr "" - -#: src/jade/client/index.jade:41 -msgid "Welcome to {{productName}}, a global value exchange" -msgstr "" - -#: src/jade/client/index.jade:51 -msgid "Version: {{version}}" -msgstr "" - -#: src/jade/client/index.jade:55 -msgid "End-User License Agreement" -msgstr "" - -#: src/jade/client/index.jade:56 -msgid "Support" -msgstr "" - -#: src/jade/client/index.jade:57 -msgid "Bug reports" -msgstr "" - -#: src/jade/client/index.jade:64 -msgid "more..." -msgstr "" - -#: src/jade/client/index.jade:68 -msgid "Select a language" -msgstr "" - -#: src/jade/client/navbar.jade:11 -msgid "Overview" -msgstr "" - -#: src/jade/client/navbar.jade:15 src/jade/client/navbar.jade:17 -#: src/jade/tabs/exchange.jade:45 -msgid "Exchange" -msgstr "" - -#: src/jade/client/navbar.jade:39 src/jade/tabs/account/public.jade:45 -#: src/jade/tabs/apps.jade:8 src/jade/tabs/balance.jade:8 -#: src/jade/tabs/balance.jade:27 src/jade/tabs/btc.jade:60 -#: src/jade/tabs/exchange.jade:9 src/jade/tabs/history.jade:206 -#: src/jade/tabs/kyc.jade:38 src/jade/tabs/recover.jade:21 -#: src/jade/tabs/security.jade:134 src/jade/tabs/su.jade:8 -#: src/jade/tabs/trust.jade:9 src/jade/tabs/trust.jade:175 -msgid "Loading..." -msgstr "" - -#: src/jade/client/navbar.jade:40 -msgid "There are no recent notifications." -msgstr "" - -#: src/jade/client/navbar.jade:44 -msgid "You sent {{1}} to {{2}}" -msgstr "" - -#: src/jade/client/navbar.jade:50 -msgid "{{1}} sent you {{2}}" -msgstr "" - -#: src/jade/client/navbar.jade:58 -msgid "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" -msgstr "" - -#: src/jade/client/navbar.jade:64 src/jade/notification/account.jade:25 -#: src/jade/tabs/history.jade:132 src/jade/tabs/history/effects.jade:63 -msgid "You have now connected to the gateway {{1}}{{2: for }}{{3}}." -msgstr "" - -#: src/jade/client/navbar.jade:75 -msgid "You cancelled an order accepting {{1}} for {{2}}" -msgstr "" - -#: src/jade/client/navbar.jade:82 -msgid "Account details have been changed" -msgstr "" - -#: src/jade/client/navbar.jade:85 src/jade/tabs/history.jade:158 -#: src/jade/tabs/trust.jade:231 -msgid "Rippling" -msgstr "" - -#: src/jade/client/navbar.jade:87 src/jade/tabs/history.jade:160 -msgid "Failed transaction" -msgstr "" - -#: src/jade/client/navbar.jade:93 -msgid "View Full History" -msgstr "" - -#: src/jade/client/navbar.jade:97 -msgid "{{1}} Account" -msgstr "" - -#: src/jade/client/navbar.jade:101 -msgid "{{1}} Settings" -msgstr "" - -#: src/jade/client/navbar.jade:105 -msgid "{{1}} Log Out" -msgstr "" - -#: src/jade/client/navbar.jade:130 src/jade/tabs/balance.jade:110 -msgid "Withdraw" -msgstr "" - -#: src/jade/client/navbar.jade:132 -msgid "" -"Your account was successfully recovered and encrypted with the new password " -"you provided!" -msgstr "" - -#: src/jade/client/navbar.jade:133 -msgid "dismiss" -msgstr "" - -#: src/jade/directives/transactionerror.jade:5 -msgid "Payment pending" -msgstr "" - -#: src/jade/directives/transactionerror.jade:7 -msgid "Payment successful" -msgstr "" - -#: src/jade/directives/transactionerror.jade:9 -#: src/jade/directives/transactionerror.jade:16 -#: src/jade/directives/transactionerror.jade:20 -#: src/jade/directives/transactionerror.jade:25 -#: src/jade/directives/transactionerror.jade:30 -#: src/jade/directives/transactionerror.jade:39 -#: src/jade/directives/transactionerror.jade:46 -msgid "Payment failed" -msgstr "" - -#: src/jade/directives/transactionerror.jade:11 -#: src/jade/messages/sendconvert/confirmation.jade:13 -msgid "Error code: {{engine_result}} - {{engine_result_message}}" -msgstr "" - -#: src/jade/directives/transactionerror.jade:18 -msgid "Your payment timed out, please try again." -msgstr "" - -#: src/jade/directives/transactionerror.jade:22 -#: src/jade/messages/sendconvert/confirmation.jade:18 -msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." -msgstr "" - -#: src/jade/directives/transactionerror.jade:27 -#: src/jade/messages/sendconvert/confirmation.jade:39 -msgid "" -"Error code: This transaction failed because it exceeded the maximum network " -"fee, please try again later [telINSUF_FEE_P]." -msgstr "" - -#: src/jade/directives/transactionerror.jade:32 -msgid "Error code: No destination [tecNO_DST]." -msgstr "" - -#: src/jade/directives/transactionerror.jade:34 -#: src/jade/messages/sendconvert/confirmation.jade:25 -msgid "" -"Error code: Insufficient XRP sent to destination [tecNO_DST_INSUF_XRP]." -msgstr "" - -#: src/jade/directives/transactionerror.jade:36 -#: src/jade/messages/sendconvert/confirmation.jade:27 -msgid "Error: {{engine_result_message}}" -msgstr "" - -#: src/jade/directives/transactionerror.jade:41 -#: src/jade/messages/sendconvert/confirmation.jade:32 -msgid "Error code: You have no trust line in this currency [terNO_LINE]." -msgstr "" - -#: src/jade/directives/transactionerror.jade:43 -msgid "Your payment failed: {{engine_result}} - {{engine_result_message}}" -msgstr "" - -#: src/jade/directives/transactionerror.jade:48 -msgid "Error code: Transaction could not be submitted [tejLost]." -msgstr "" - -#: src/jade/directives/transactionerror.jade:50 -msgid "Error code: Network fee exceeded [tejMaxFeeExceeded]." -msgstr "" - -#: src/jade/directives/transactionerror.jade:52 -msgid "" -"Your payment could not be submitted: {{engine_result}} - " -"{{engine_result_message}}" -msgstr "" - -#: src/jade/messages/sendconvert/confirmation.jade:4 -msgid "Transaction pending." -msgstr "" - -#: src/jade/messages/sendconvert/confirmation.jade:6 -msgid "Transaction successful" -msgstr "" - -#: src/jade/messages/sendconvert/confirmation.jade:8 -#: src/jade/messages/sendconvert/confirmation.jade:11 -#: src/jade/messages/sendconvert/confirmation.jade:16 -#: src/jade/messages/sendconvert/confirmation.jade:21 -#: src/jade/messages/sendconvert/confirmation.jade:30 -#: src/jade/messages/sendconvert/confirmation.jade:37 -#: src/jade/messages/sendconvert/localerror.jade:5 -#: src/jade/messages/sendconvert/localerror.jade:8 -#: src/jade/messages/sendconvert/localerror.jade:11 -#: src/jade/messages/sendconvert/localerror.jade:14 -msgid "Transaction failed" -msgstr "" - -#: src/jade/messages/sendconvert/confirmation.jade:9 -#: src/jade/tabs/trust.jade:58 src/jade/tabs/trust.jade:70 -msgid "Please try again later." -msgstr "" - -#: src/jade/messages/sendconvert/confirmation.jade:23 -msgid "Error code: The destination account does not exist [tecNO_DST]." -msgstr "" - -#: src/jade/messages/sendconvert/confirmation.jade:34 -msgid "Your transaction failed: {{engine_result_message}}" -msgstr "" - -#: src/jade/messages/sendconvert/localerror.jade:6 -msgid "" -"Error code: The account you're trying to send to does not exist " -"[noDest]." -msgstr "" - -#: src/jade/messages/sendconvert/localerror.jade:9 -msgid "" -"Error code: Ripple was unable to find a path between you and the destination" -" account [noPath]." -msgstr "" - -#: src/jade/messages/sendconvert/localerror.jade:12 -msgid "" -"Error code: This transaction failed because it exceeded the maximum network " -"fee. [maxfeeExceeded]." -msgstr "" - -#: src/jade/messages/sendconvert/localerror.jade:15 -msgid "" -"Error code: The transaction was rejected by the Ripple network " -"[invalidTransaction]." -msgstr "" - -#: src/jade/messages/sendconvert/localerror.jade:17 -msgid "Account unlock failed" -msgstr "" - -#: src/jade/messages/sendconvert/localerror.jade:18 -msgid "Your account could not be unlocked. Please try again later." -msgstr "" - -#: src/jade/messages/sendconvert/localerror.jade:20 -msgid "" -"Sorry, an error occurred while submitting your transaction.Make sure you are" -" connected to the Internet and try again later." -msgstr "" - -#: src/jade/messages/sendconvert/localerror.jade:22 -msgid "" -"Before trying again, please ensure that the transaction has not been " -"executed already." -msgstr "" - -#: src/jade/messages/sendconvert/waiting.jade:3 -msgid "Sending transaction to the Ripple network" -msgstr "" - -#: src/jade/notification/account.jade:3 -msgid "You sent {{1}} {{2}} to {{3}}" -msgstr "" - -#: src/jade/notification/account.jade:11 -msgid "{{tx.counterparty | rpcontactname}} sent you" -msgstr "" - -#: src/jade/notification/account.jade:18 -msgid "{{tx.counterparty | rpcontactname}} now trusts you for" -msgstr "" - -#: src/jade/popup/unlock.jade:2 -msgid "Unlock account" -msgstr "" - -#: src/jade/popup/unlock.jade:5 src/jade/tabs/desktop/register.jade:28 -#: src/jade/tabs/login/form.jade:7 src/jade/tabs/recover.jade:33 -#: src/jade/tabs/register.jade:42 src/jade/tabs/security.jade:10 -msgid "Password" -msgstr "" - -#: src/jade/popup/unlock.jade:8 -msgid "Please enter your password to show your secret key." -msgstr "" - -#: src/jade/popup/unlock.jade:9 src/jade/tabs/send.jade:199 -msgid "Please enter your password to confirm this transaction." -msgstr "" - -#: src/jade/popup/unlock.jade:10 -msgid "This password is incorrect, please try again." -msgstr "" - -#: src/jade/popup/unlock.jade:11 -msgid "Confirming password" -msgstr "" - -#: src/jade/popup/unlock.jade:14 src/jade/tabs/account/public.jade:44 -#: src/jade/tabs/security.jade:133 -msgid "Submit" -msgstr "" - -#: src/jade/popup/unlock.jade:15 -msgid "Close" -msgstr "" - -#: src/jade/tabs/2fa/form.jade:3 -msgid "Country Code" -msgstr "" - -#: src/jade/tabs/2fa/form.jade:6 src/jade/tabs/kyc.jade:143 -msgid "Phone Number" -msgstr "" - -#: src/jade/tabs/account/navbar.jade:2 -msgid "Public Information" -msgstr "" - -#: src/jade/tabs/account/private.jade:2 -msgid "Profile Information" -msgstr "" - -#: src/jade/tabs/account/private.jade:5 -msgid "Identity Information" -msgstr "" - -#: src/jade/tabs/account/private.jade:8 src/jade/tabs/account/private.jade:19 -msgid "Completed" -msgstr "" - -#: src/jade/tabs/account/private.jade:11 src/jade/tabs/account/private.jade:22 -msgid "Incomplete" -msgstr "" - -#: src/jade/tabs/account/private.jade:13 src/jade/tabs/account/private.jade:24 -msgid "Complete your profile" -msgstr "" - -#: src/jade/tabs/account/private.jade:16 -msgid "Identity Questions" -msgstr "" - -#: src/jade/tabs/account/public.jade:1 -msgid "Changing your Ripple name..." -msgstr "" - -#: src/jade/tabs/account/public.jade:2 -msgid "Your Ripple name has been changed successfully." -msgstr "" - -#: src/jade/tabs/account/public.jade:3 -msgid "Account settings" -msgstr "" - -#: src/jade/tabs/account/public.jade:5 src/jade/tabs/login/form.jade:2 -msgid "Ripple name" -msgstr "" - -#: src/jade/tabs/account/public.jade:9 src/jade/tabs/advanced.jade:17 -#: src/jade/tabs/advanced.jade:34 src/jade/tabs/advanced.jade:53 -#: src/jade/tabs/advanced.jade:106 src/jade/tabs/security.jade:107 -#: src/jade/tabs/security.jade:165 src/jade/tabs/trust.jade:219 -#: src/jade/tabs/trust.jade:248 -msgid "edit" -msgstr "" - -#: src/jade/tabs/account/public.jade:12 -msgid "New Ripple name" -msgstr "" - -#: src/jade/tabs/account/public.jade:17 src/jade/tabs/balance.jade:60 -msgid "Available" -msgstr "" - -#: src/jade/tabs/account/public.jade:20 src/jade/tabs/register.jade:30 -msgid "Already taken!" -msgstr "" - -#: src/jade/tabs/account/public.jade:21 src/jade/tabs/register.jade:31 -msgid "Reserved for {{usernameReservedFor}}{{1}}{{2}}" -msgstr "" - -#: src/jade/tabs/account/public.jade:24 src/jade/tabs/register.jade:34 -msgid "Must be at least 2 characters" -msgstr "" - -#: src/jade/tabs/account/public.jade:25 src/jade/tabs/register.jade:35 -msgid "Must be at most 20 characters" -msgstr "" - -#: src/jade/tabs/account/public.jade:26 -msgid "Only a-z, 0-9 and hyphen (-)" -msgstr "" - -#: src/jade/tabs/account/public.jade:27 src/jade/tabs/register.jade:37 -msgid "Cannot start with hyphen (-)" -msgstr "" - -#: src/jade/tabs/account/public.jade:28 src/jade/tabs/register.jade:38 -msgid "Cannot end with hyphen (-)" -msgstr "" - -#: src/jade/tabs/account/public.jade:29 -msgid "Cannot bundle hyphens (--)" -msgstr "" - -#: src/jade/tabs/account/public.jade:30 src/jade/tabs/register.jade:40 -msgid "Checking..." -msgstr "" - -#: src/jade/tabs/account/public.jade:32 src/jade/tabs/security.jade:113 -msgid "Current password" -msgstr "" - -#: src/jade/tabs/account/public.jade:35 src/jade/tabs/security.jade:15 -#: src/jade/tabs/security.jade:20 -msgid "Entered password is wrong." -msgstr "" - -#: src/jade/tabs/account/public.jade:37 -msgid "Your Ripple name has been changed. Please login again." -msgstr "" - -#: src/jade/tabs/account/public.jade:39 -msgid "Couldn't change your Ripple name, please try again later." -msgstr "" - -#: src/jade/tabs/account/public.jade:47 src/jade/tabs/desktop/register.jade:67 -#: src/jade/tabs/fund.jade:77 src/jade/tabs/trade.jade:323 -msgid "Cancel" -msgstr "" - -#: src/jade/tabs/account/public.jade:49 src/jade/tabs/contacts.jade:7 -#: src/jade/tabs/contacts.jade:34 src/jade/tabs/desktop/register.jade:88 -msgid "Ripple address" -msgstr "" - -#: src/jade/tabs/advanced.jade:11 -msgid "Blob vault" -msgstr "" - -#: src/jade/tabs/advanced.jade:22 src/jade/tabs/advanced.jade:39 -#: src/jade/tabs/advanced.jade:63 src/jade/tabs/advanced.jade:92 -#: src/jade/tabs/contacts.jade:86 src/jade/tabs/fund.jade:79 -#: src/jade/tabs/security.jade:175 src/jade/tabs/send.jade:241 -#: src/jade/tabs/send.jade:270 src/jade/tabs/trust.jade:156 -#: src/jade/tabs/trust.jade:282 -msgid "Save" -msgstr "" - -#: src/jade/tabs/advanced.jade:24 src/jade/tabs/advanced.jade:41 -#: src/jade/tabs/advanced.jade:65 src/jade/tabs/advanced.jade:94 -#: src/jade/tabs/contacts.jade:84 -msgid "Delete" -msgstr "" - -#: src/jade/tabs/advanced.jade:26 src/jade/tabs/advanced.jade:43 -#: src/jade/tabs/advanced.jade:67 src/jade/tabs/advanced.jade:96 -#: src/jade/tabs/btc.jade:62 src/jade/tabs/contacts.jade:58 -#: src/jade/tabs/contacts.jade:95 src/jade/tabs/exchange.jade:96 -#: src/jade/tabs/exchange.jade:109 src/jade/tabs/kyc.jade:104 -#: src/jade/tabs/kyc.jade:116 src/jade/tabs/kyc.jade:137 -#: src/jade/tabs/kyc.jade:138 src/jade/tabs/kyc.jade:162 -#: src/jade/tabs/login/form.jade:18 src/jade/tabs/security.jade:71 -#: src/jade/tabs/security.jade:101 src/jade/tabs/security.jade:136 -#: src/jade/tabs/send.jade:209 src/jade/tabs/send.jade:221 -#: src/jade/tabs/send.jade:242 src/jade/tabs/send.jade:272 -#: src/jade/tabs/trade.jade:32 src/jade/tabs/trade.jade:43 -#: src/jade/tabs/trust.jade:177 src/jade/tabs/trust.jade:179 -#: src/jade/tabs/trust.jade:263 src/jade/tabs/trust.jade:296 -msgid "cancel" -msgstr "" - -#: src/jade/tabs/advanced.jade:28 -msgid "Bitcoin bridge" -msgstr "" - -#: src/jade/tabs/advanced.jade:45 -msgid "Trust line" -msgstr "" - -#: src/jade/tabs/advanced.jade:50 src/jade/tabs/advanced.jade:61 -#: src/jade/tabs/desktop/register.jade:85 src/jade/tabs/security.jade:148 -msgid "Show" -msgstr "" - -#: src/jade/tabs/advanced.jade:51 src/jade/tabs/desktop/register.jade:86 -#: src/jade/tabs/security.jade:149 -msgid "Hide" -msgstr "" - -#: src/jade/tabs/advanced.jade:68 -msgid "Server settings" -msgstr "" - -#: src/jade/tabs/advanced.jade:73 -msgid "WebSocket host name" -msgstr "" - -#: src/jade/tabs/advanced.jade:75 -msgid "Port number" -msgstr "" - -#: src/jade/tabs/advanced.jade:81 -msgid "Socket ip or hostname is invalid." -msgstr "" - -#: src/jade/tabs/advanced.jade:83 -msgid "Port number is invalid." -msgstr "" - -#: src/jade/tabs/advanced.jade:90 src/jade/tabs/advanced.jade:103 -msgid "Secure" -msgstr "" - -#: src/jade/tabs/advanced.jade:104 -msgid "Not Secure" -msgstr "" - -#: src/jade/tabs/advanced.jade:110 -msgid "Add new server" -msgstr "" - -#: src/jade/tabs/apps.jade:5 src/jade/tabs/balance.jade:5 -#: src/jade/tabs/btc.jade:6 src/jade/tabs/exchange.jade:6 -#: src/jade/tabs/fund.jade:6 src/jade/tabs/history.jade:6 -#: src/jade/tabs/kyc.jade:6 src/jade/tabs/send.jade:6 src/jade/tabs/su.jade:5 -#: src/jade/tabs/trade.jade:7 src/jade/tabs/trust.jade:6 -#: src/jade/tabs/usd.jade:6 src/jade/tabs/withdraw.jade:6 -#: src/jade/tabs/xrp.jade:6 -msgid "You have to be online to see this screen" -msgstr "" - -#: src/jade/tabs/apps.jade:29 -msgid "Please enter a ripple address." -msgstr "" - -#: src/jade/tabs/apps.jade:31 -msgid "Please enter a valid ripple address." -msgstr "" - -#: src/jade/tabs/balance.jade:21 -msgid "Total Balance{{1}}" -msgstr "" - -#: src/jade/tabs/balance.jade:22 -msgid "Estimated from latest trade price" -msgstr "" - -#: src/jade/tabs/balance.jade:29 -msgid "(excluding negative balances)" -msgstr "" - -#: src/jade/tabs/balance.jade:67 -msgid "Reserve" -msgstr "" - -#: src/jade/tabs/balance.jade:85 -msgid "Unverified" -msgstr "" - -#: src/jade/tabs/balance.jade:92 -msgid "Enter bitcoin address." -msgstr "" - -#: src/jade/tabs/balance.jade:95 -msgid "Enter amount to withdraw." -msgstr "" - -#: src/jade/tabs/balance.jade:100 src/jade/tabs/balance.jade:102 -msgid "Enter a valid bitcoin address" -msgstr "" - -#: src/jade/tabs/balance.jade:106 -msgid "Enter a valid amount" -msgstr "" - -#: src/jade/tabs/balance.jade:113 -msgid "You are sending {{1}} BTC to:" -msgstr "" - -#: src/jade/tabs/balance.jade:119 src/jade/tabs/balance.jade:134 -#: src/jade/tabs/register.jade:105 src/jade/tabs/register.jade:111 -msgid "Back" -msgstr "" - -#: src/jade/tabs/balance.jade:122 src/jade/tabs/btc.jade:61 -#: src/jade/tabs/exchange.jade:94 src/jade/tabs/send.jade:207 -#: src/jade/tabs/trade.jade:57 src/jade/tabs/trade.jade:67 -#: src/jade/tabs/trade.jade:241 src/jade/tabs/trust.jade:176 -msgid "Confirm" -msgstr "" - -#: src/jade/tabs/balance.jade:127 -msgid "Reconnecting to Ripple network" -msgstr "" - -#: src/jade/tabs/balance.jade:128 -msgid "Transaction Successful" -msgstr "" - -#: src/jade/tabs/balance.jade:129 -msgid "Warning" -msgstr "" - -#: src/jade/tabs/balance.jade:130 -msgid "Transaction Failed" -msgstr "" - -#: src/jade/tabs/balance.jade:131 -msgid "Message" -msgstr "" - -#: src/jade/tabs/banner/announcement.jade:2 -msgid "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" -msgstr "" - -#: src/jade/tabs/banner/announcement.jade:5 -msgid "×" -msgstr "" - -#: src/jade/tabs/banner/unfunded.jade:2 -msgid "" -"Welcome to Ripple Trade! To activate your account, you'll need at least 20 " -"XRP." -msgstr "" - -#: src/jade/tabs/banner/unfunded.jade:4 -msgid "" -"Have another user send XRP to your Ripple name " -"(~{{userCredentials.username}})" -msgstr "" - -#: src/jade/tabs/banner/unfunded.jade:5 -msgid "" -"Use the {{1}}. A small amount of your first deposit will be used to " -"activate your account." -msgstr "" - -#: src/jade/tabs/btc.jade:18 -msgid "Bitcoin Deposit" -msgstr "" - -#: src/jade/tabs/btc.jade:26 -msgid "" -"A small amount (~.001 BTC) of your first transfer will be converted to XRP " -"to activate your wallet. {{1:Why?}}" -msgstr "" - -#: src/jade/tabs/btc.jade:30 -msgid "Your current deposit limit is:" -msgstr "" - -#: src/jade/tabs/btc.jade:32 -msgid "Remove Limit" -msgstr "" - -#: src/jade/tabs/btc.jade:36 -msgid "Waiting for response from SnapSwap service..." -msgstr "" - -#: src/jade/tabs/btc.jade:38 -msgid "" -"To deposit, generate a bitcoin receiving address using the {{1}} service " -"powered by SnapSwap." -msgstr "" - -#: src/jade/tabs/btc.jade:45 -msgid "Generate bitcoin address" -msgstr "" - -#: src/jade/tabs/btc.jade:49 src/jade/tabs/security.jade:56 -#: src/jade/tabs/trust.jade:160 -msgid "Connect" -msgstr "" - -#: src/jade/tabs/btc.jade:51 -msgid "btc2ripple would like to:" -msgstr "" - -#: src/jade/tabs/btc.jade:53 -msgid "- Receive your email address{{1}}" -msgstr "" - -#: src/jade/tabs/btc.jade:54 -msgid "({{userBlob.data.email}})" -msgstr "" - -#: src/jade/tabs/btc.jade:55 -msgid "- Hold deposited BTC on your behalf" -msgstr "" - -#: src/jade/tabs/btc.jade:56 -msgid "By proceeding, you agree to the btc2ripple {{1}}" -msgstr "" - -#: src/jade/tabs/btc.jade:63 -msgid "" -"SnapSwap's btc2ripple service is currently unavailable. Please check back " -"later." -msgstr "" - -#: src/jade/tabs/contacts.jade:6 src/jade/tabs/contacts.jade:26 -msgid "Ripple name or address" -msgstr "" - -#: src/jade/tabs/contacts.jade:9 src/jade/tabs/contacts.jade:13 -#: src/jade/tabs/contacts.jade:56 -msgid "Add contact" -msgstr "" - -#: src/jade/tabs/contacts.jade:18 -msgid "Contact" -msgstr "" - -#: src/jade/tabs/contacts.jade:21 -msgid "Please enter a contact." -msgstr "" - -#: src/jade/tabs/contacts.jade:22 -msgid "This contact already exists." -msgstr "" - -#: src/jade/tabs/contacts.jade:30 -msgid "Please enter a Ripple name." -msgstr "" - -#: src/jade/tabs/contacts.jade:31 src/jade/tabs/contacts.jade:47 -msgid "" -"You already have a contact with the same Ripple name and/or the same " -"Destination tag." -msgstr "" - -#: src/jade/tabs/contacts.jade:32 -msgid "Not a valid Ripple name or address." -msgstr "" - -#: src/jade/tabs/contacts.jade:38 -msgid "Please enter a Ripple address." -msgstr "" - -#: src/jade/tabs/contacts.jade:39 src/jade/tabs/contacts.jade:53 -msgid "" -"You already have a contact with the same Ripple address and/or the same " -"Destination tag." -msgstr "" - -#: src/jade/tabs/contacts.jade:40 -msgid "Not a valid Ripple address." -msgstr "" - -#: src/jade/tabs/contacts.jade:43 src/jade/tabs/contacts.jade:49 -#: src/jade/tabs/contacts.jade:77 src/jade/tabs/send.jade:51 -#: src/jade/tabs/tx.jade:54 -msgid "Destination tag" -msgstr "" - -#: src/jade/tabs/contacts.jade:46 src/jade/tabs/contacts.jade:52 -#: src/jade/tabs/send.jade:57 -msgid "Invalid destination tag" -msgstr "" - -#: src/jade/tabs/contacts.jade:66 src/jade/tabs/send.jade:236 -#: src/jade/tabs/send.jade:264 -msgid "You already have a contact with the same name." -msgstr "" - -#: src/jade/tabs/contacts.jade:74 -msgid "You already have this address." -msgstr "" - -#: src/jade/tabs/contacts.jade:75 -msgid "Not a valid address." -msgstr "" - -#: src/jade/tabs/contacts.jade:80 -msgid "Invalid destination tag." -msgstr "" - -#: src/jade/tabs/contacts.jade:93 src/jade/tabs/trust.jade:232 -msgid "Edit" -msgstr "" - -#: src/jade/tabs/contacts.jade:98 -msgid "" -"You don't have any contacts yet. Click on 'Add contact' button in the top " -"right corner to add a new contact." -msgstr "" - -#: src/jade/tabs/desktop/login.jade:3 -msgid "" -"You will not be able to login to the downloadable client using a " -"username/password you create on Ripple Trade or the web version of the " -"Ripple Client. You can only use a secret key to access an existing Ripple " -"account. This is because the downloadable client stores your login " -"information locally on your computer, so your account is as safe as the " -"security of your personal computer." -msgstr "" - -#: src/jade/tabs/desktop/login.jade:12 src/jade/tabs/desktop/login.jade:34 -msgid "Open account" -msgstr "" - -#: src/jade/tabs/desktop/login.jade:15 src/jade/tabs/desktop/register.jade:5 -#: src/jade/tabs/desktop/register.jade:65 -msgid "Create new account" -msgstr "" - -#: src/jade/tabs/desktop/login.jade:18 -msgid "Select account file {{walletfile}}" -msgstr "" - -#: src/jade/tabs/desktop/login.jade:21 -msgid "Select account file" -msgstr "" - -#: src/jade/tabs/desktop/login.jade:24 -msgid "Account password" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:8 -msgid "Open existing account" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:11 -msgid "Create an empty account" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:14 -msgid "Create a new account with a secret key" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:18 -msgid "Create empty account" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:20 -msgid "Encrypt your new account file: {{walletfile}}" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:24 -msgid "Wallet file" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:31 -msgid "" -"Your password is weak. It is not a mix of letters, numbers and symbols or it" -" is the same as your Ripple name." -msgstr "" - -#: src/jade/tabs/desktop/register.jade:33 src/jade/tabs/recover.jade:40 -#: src/jade/tabs/register.jade:49 src/jade/tabs/security.jade:123 -msgid "Confirm password" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:36 src/jade/tabs/recover.jade:43 -#: src/jade/tabs/register.jade:52 src/jade/tabs/security.jade:126 -msgid "Passwords do not match" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:42 -msgid "Encrypt account" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:44 -msgid "Cancel and delete account file" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:50 -msgid "Create account with secret key" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:55 -msgid "Enter your secret key" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:62 -msgid "Secret is invalid" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:69 src/jade/tabs/register.jade:95 -msgid "Have an account? {{1:Log In}}" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:75 -msgid "Important:" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:76 -msgid "" -"The secret key below gives access to your money in the unlikely case that " -"you lose your password. In that case your contacts will be lost, but with " -"this secret key alone anyone can retrieve your money. So please store it " -"somewhere PRIVATE AND SAFE. Read more about keys and wallet safety in {{1}}" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:79 src/jade/tabs/settings/navbar.jade:2 -msgid "Security" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:81 -msgid "Passphrase:{{1}}{{2}}{{3}}{{4}}" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:90 -msgid "Secret key:" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:95 src/jade/tabs/register.jade:150 -msgid "Show secret key" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:97 src/jade/tabs/register.jade:151 -msgid "Hide secret key" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:98 -msgid "Have you saved your secret key somewhere safe?" -msgstr "" - -#: src/jade/tabs/desktop/register.jade:101 -msgid "Yes, I saved my secret key" -msgstr "" - -#: src/jade/tabs/exchange.jade:13 -msgid "You have to be funded before you can exchange money" -msgstr "" - -#: src/jade/tabs/exchange.jade:18 -msgid "Convert one currency into another." -msgstr "" - -#: src/jade/tabs/exchange.jade:21 -msgid "Receive (amount)" -msgstr "" - -#: src/jade/tabs/exchange.jade:28 src/jade/tabs/send.jade:92 -msgid "Please enter an amount." -msgstr "" - -#: src/jade/tabs/exchange.jade:29 src/jade/tabs/send.jade:93 -#: src/jade/tabs/trade.jade:146 src/jade/tabs/trade.jade:161 -#: src/jade/tabs/trade.jade:176 -msgid "Not a valid amount." -msgstr "" - -#: src/jade/tabs/exchange.jade:30 -msgid "Please enter an amount greater than zero." -msgstr "" - -#: src/jade/tabs/exchange.jade:33 -msgid "Calculating..." -msgstr "" - -#: src/jade/tabs/exchange.jade:35 -msgid "" -"Cannot convert to {{exchange.amount}} {{exchange.currency_name}}. Please " -"make sure your account has enough funds, and a {{1}} to a " -"{{exchange.currency_name}} gateway." -msgstr "" - -#: src/jade/tabs/exchange.jade:39 -msgid "" -"Sorry! Cannot convert {{exchange.amount}} {{exchange.currency_name}}. Please" -" make sure your account has enough funds." -msgstr "" - -#: src/jade/tabs/exchange.jade:41 src/jade/tabs/send.jade:137 -msgid "Error while calculating path" -msgstr "" - -#: src/jade/tabs/exchange.jade:57 -msgid "Exchange {{ alt.amount | rpcurrency }} {{1}}" -msgstr "" - -#: src/jade/tabs/exchange.jade:63 src/jade/tabs/send.jade:165 -msgid "Paths last updated {{1}} {{2: seconds}} {{3: second}} ago" -msgstr "" - -#: src/jade/tabs/exchange.jade:72 -msgid "Ripple is calculating a path for your conversion." -msgstr "" - -#: src/jade/tabs/exchange.jade:77 -msgid "" -"{{1:You are exchanging}}{{2}}{{3:to}}{{4}}{{5:You will pay at " -"most}}{{6}}{{7:Are you sure?}}" -msgstr "" - -#: src/jade/tabs/exchange.jade:118 -msgid "Do another conversion" -msgstr "" - -#: src/jade/tabs/exchange.jade:120 src/jade/tabs/send.jade:247 -#: src/jade/tabs/send.jade:277 -msgid "Back to balance" -msgstr "" - -#: src/jade/tabs/fund.jade:20 -msgid "Add trust" -msgstr "" - -#: src/jade/tabs/fund.jade:33 src/jade/tabs/fund.jade:47 -#: src/jade/tabs/trust.jade:100 src/jade/tabs/trust.jade:121 -msgid "Account does not meet the minimum XRP reserve." -msgstr "" - -#: src/jade/tabs/fund.jade:34 src/jade/tabs/fund.jade:48 -#: src/jade/tabs/send.jade:111 src/jade/tabs/trust.jade:101 -#: src/jade/tabs/trust.jade:122 -msgid "More information" -msgstr "" - -#: src/jade/tabs/fund.jade:36 src/jade/tabs/trust.jade:103 -msgid "Please enter a Ripple name, contact, or address." -msgstr "" - -#: src/jade/tabs/fund.jade:37 src/jade/tabs/fund.jade:51 -#: src/jade/tabs/trust.jade:104 src/jade/tabs/trust.jade:125 -msgid "You've entered your own address." -msgstr "" - -#: src/jade/tabs/fund.jade:38 src/jade/tabs/trust.jade:105 -msgid "Please enter a valid Ripple name, contact, or address." -msgstr "" - -#: src/jade/tabs/fund.jade:50 src/jade/tabs/trust.jade:124 -msgid "Please enter a Ripple address or contact." -msgstr "" - -#: src/jade/tabs/fund.jade:52 src/jade/tabs/trust.jade:126 -msgid "Please enter a valid Ripple address or contact." -msgstr "" - -#: src/jade/tabs/fund.jade:55 src/jade/tabs/history.jade:189 -#: src/jade/tabs/trade.jade:301 src/jade/tabs/trust.jade:129 -msgid "Amount" -msgstr "" - -#: src/jade/tabs/fund.jade:62 src/jade/tabs/trust.jade:107 -#: src/jade/tabs/trust.jade:140 -msgid "Amount field is required" -msgstr "" - -#: src/jade/tabs/fund.jade:64 src/jade/tabs/trust.jade:109 -#: src/jade/tabs/trust.jade:142 -msgid "" -"XRP can be sent without extending trust. If you really want to trust in XRP," -" please use XRR currency code." -msgstr "" - -#: src/jade/tabs/fund.jade:67 src/jade/tabs/trust.jade:112 -#: src/jade/tabs/trust.jade:145 -msgid "Currency field is required" -msgstr "" - -#: src/jade/tabs/fund.jade:73 src/jade/tabs/trust.jade:151 -msgid "Allow Rippling" -msgstr "" - -#: src/jade/tabs/fund/menu.jade:2 -msgid "XRP" -msgstr "" - -#: src/jade/tabs/fund/menu.jade:3 -msgid "BTC" -msgstr "" - -#: src/jade/tabs/fund/menu.jade:6 -msgid "Learn more about gateways" -msgstr "" - -#: src/jade/tabs/history.jade:9 -msgid "Loading history..." -msgstr "" - -#: src/jade/tabs/history.jade:14 -msgid "Your account history is empty" -msgstr "" - -#: src/jade/tabs/history.jade:20 -msgid "Filters" -msgstr "" - -#: src/jade/tabs/history.jade:23 -msgid "Transaction type{{1}}{{2}}" -msgstr "" - -#: src/jade/tabs/history.jade:48 -msgid "Date{{1}}{{2}}" -msgstr "" - -#: src/jade/tabs/history.jade:53 -msgid "Load history for specific date range" -msgstr "" - -#: src/jade/tabs/history.jade:59 -msgid "From" -msgstr "" - -#: src/jade/tabs/history.jade:65 -msgid "To" -msgstr "" - -#: src/jade/tabs/history.jade:68 -msgid "Filter" -msgstr "" - -#: src/jade/tabs/history.jade:81 -msgid "Transaction History" -msgstr "" - -#: src/jade/tabs/history.jade:83 -msgid "Export to CSV" -msgstr "" - -#: src/jade/tabs/history.jade:87 -msgid "Date" -msgstr "" - -#: src/jade/tabs/history.jade:88 src/jade/tabs/history.jade:187 -msgid "Description" -msgstr "" - -#: src/jade/tabs/history.jade:89 -msgid "Sorry, no transactions match your current filter." -msgstr "" - -#: src/jade/tabs/history.jade:108 -msgid "You sent{{1}}to{{2}}" -msgstr "" - -#: src/jade/tabs/history.jade:114 -msgid "{{1}}sent you{{2}}" -msgstr "" - -#: src/jade/tabs/history.jade:120 -msgid "You requested to exchange{{1}}to{{2}}" -msgstr "" - -#: src/jade/tabs/history.jade:126 -msgid "{{1}}now trusts you for{{2}}" -msgstr "" - -#: src/jade/tabs/history.jade:139 src/jade/tabs/history/effects.jade:45 -msgid "You created an order to sell{{1}}for{{2}}" -msgstr "" - -#: src/jade/tabs/history.jade:143 src/jade/tabs/history/effects.jade:49 -msgid "You created an order to buy{{1}}for{{2}}" -msgstr "" - -#: src/jade/tabs/history.jade:149 -msgid "You cancelled an order accepting {{1}}for{{2}}" -msgstr "" - -#: src/jade/tabs/history.jade:155 -msgid "Account details have been Changed" -msgstr "" - -#: src/jade/tabs/history.jade:161 -msgid "{{1}}{{2}}" -msgstr "" - -#: src/jade/tabs/history.jade:162 -msgid "Unknown transaction" -msgstr "" - -#: src/jade/tabs/history.jade:165 -msgid "" -"The client failed to parse this transaction. The developers have been " -"notified of the issue." -msgstr "" - -#: src/jade/tabs/history.jade:170 -msgid "{{1}} sent you{{2}} and activated your account!" -msgstr "" - -#: src/jade/tabs/history.jade:177 -msgid "You deposited{{1}} using {{entry.details.app.name}}" -msgstr "" - -#: src/jade/tabs/history.jade:185 -msgid "Balance Changes" -msgstr "" - -#: src/jade/tabs/history.jade:188 -msgid "Issuer" -msgstr "" - -#: src/jade/tabs/history.jade:190 -msgid "Final balance" -msgstr "" - -#: src/jade/tabs/history.jade:193 -msgid "XRP Balance Change" -msgstr "" - -#: src/jade/tabs/history.jade:194 -msgid "{{effect.currency}} Balance Change" -msgstr "" - -#: src/jade/tabs/history.jade:195 -msgid "Fee" -msgstr "" - -#: src/jade/tabs/history.jade:200 -msgid "Transaction details" -msgstr "" - -#: src/jade/tabs/history.jade:201 -msgid "Add {{1}} to contact list" -msgstr "" - -#: src/jade/tabs/history.jade:207 src/jade/tabs/trade.jade:384 -msgid "Load more" -msgstr "" - -#: src/jade/tabs/history.jade:208 -msgid "No more transactions left" -msgstr "" - -#: src/jade/tabs/history/effects.jade:4 src/jade/tabs/history/effects.jade:19 -msgid "You sold{{1}}for{{2}}" -msgstr "" - -#: src/jade/tabs/history/effects.jade:8 src/jade/tabs/history/effects.jade:23 -msgid "You bought{{1}}for{{2}}" -msgstr "" - -#: src/jade/tabs/history/effects.jade:13 src/jade/tabs/history/effects.jade:28 -msgid "price" -msgstr "" - -#: src/jade/tabs/history/effects.jade:17 -msgid "This order has been filled." -msgstr "" - -#: src/jade/tabs/history/effects.jade:32 -msgid "The rest of your order has been cancelled due to lack of funds." -msgstr "" - -#: src/jade/tabs/history/effects.jade:33 -msgid "This order has{{1}}remaining." -msgstr "" - -#: src/jade/tabs/history/effects.jade:39 -msgid "Order ({{1}} for {{2}}) has been cancelled due to lack of funds." -msgstr "" - -#: src/jade/tabs/history/effects.jade:53 -msgid "You bought{{1}}for{{2}}({{3:price}}{{4}})." -msgstr "" - -#: src/jade/tabs/history/effects.jade:68 -msgid "{{1}}is trusting you for{{2}}." -msgstr "" - -#: src/jade/tabs/history/effects.jade:73 -msgid "You have changed {{1}}trust for{{2}}from{{3}}to{{4}}." -msgstr "" - -#: src/jade/tabs/history/effects.jade:83 -msgid "{{1}}changed the{{2}}trust from{{3}}to{{4}}." -msgstr "" - -#: src/jade/tabs/history/effects.jade:92 -msgid "Trust balance between you and{{1}}has been changed by{{2}}." -msgstr "" - -#: src/jade/tabs/history/effects.jade:99 -msgid "Your balance has been changed by{{1}}." -msgstr "" - -#: src/jade/tabs/kyc.jade:16 -msgid "Verifying your information. Please wait..." -msgstr "" - -#: src/jade/tabs/kyc.jade:18 -msgid "Your identity information has been verified." -msgstr "" - -#: src/jade/tabs/kyc.jade:20 -msgid "Your identity questions have been verified." -msgstr "" - -#: src/jade/tabs/kyc.jade:22 -msgid "" -"Congrats! Your profile is complete. You can now deposit up to $300 per day " -"instantly." -msgstr "" - -#: src/jade/tabs/kyc.jade:24 -msgid "There was an error with your request. Please try again later." -msgstr "" - -#: src/jade/tabs/kyc.jade:26 -msgid "" -"There was an error with your request. Make sure your phone number is valid " -"and try again." -msgstr "" - -#: src/jade/tabs/kyc.jade:28 -msgid "Please check your verification code and try again." -msgstr "" - -#: src/jade/tabs/kyc.jade:30 -msgid "" -"There was an error while requesting the verification code. Please try again " -"later." -msgstr "" - -#: src/jade/tabs/kyc.jade:32 -msgid "" -"We are unable to validate your identity information. Please check your " -"information and try again." -msgstr "" - -#: src/jade/tabs/kyc.jade:34 -msgid "" -"We are unable to validate your identity questions. Please check your answers" -" and try again." -msgstr "" - -#: src/jade/tabs/kyc.jade:36 -msgid "" -"We can't verify your identity. Please contact us at support@ripple.com." -msgstr "" - -#: src/jade/tabs/kyc.jade:41 -msgid "Profile Completion" -msgstr "" - -#: src/jade/tabs/kyc.jade:44 -msgid "STEP 1: IDENTITY INFORMATION" -msgstr "" - -#: src/jade/tabs/kyc.jade:46 -msgid "STEP 2: IDENTITY QUESTIONS" -msgstr "" - -#: src/jade/tabs/kyc.jade:48 -msgid "STEP 3: TWO-FACTOR AUTHENTICATION" -msgstr "" - -#: src/jade/tabs/kyc.jade:55 -msgid "First Name" -msgstr "" - -#: src/jade/tabs/kyc.jade:59 -msgid "Last Name" -msgstr "" - -#: src/jade/tabs/kyc.jade:63 -msgid "Street Address" -msgstr "" - -#: src/jade/tabs/kyc.jade:68 -msgid "City" -msgstr "" - -#: src/jade/tabs/kyc.jade:72 -msgid "State" -msgstr "" - -#: src/jade/tabs/kyc.jade:76 -msgid "ZIP" -msgstr "" - -#: src/jade/tabs/kyc.jade:80 -msgid "Date of Birth" -msgstr "" - -#: src/jade/tabs/kyc.jade:84 -msgid "Month{{1}}" -msgstr "" - -#: src/jade/tabs/kyc.jade:87 -msgid "Day{{1}}" -msgstr "" - -#: src/jade/tabs/kyc.jade:90 -msgid "Year{{1}}" -msgstr "" - -#: src/jade/tabs/kyc.jade:94 -msgid "Last 4 digits of Social Security Number" -msgstr "" - -#: src/jade/tabs/kyc.jade:102 -msgid "Continue to identity questions" -msgstr "" - -#: src/jade/tabs/kyc.jade:108 -msgid "{{ q.question }}{{1}}" -msgstr "" - -#: src/jade/tabs/kyc.jade:111 -msgid "{{ a.answer }}" -msgstr "" - -#: src/jade/tabs/kyc.jade:114 -msgid "Continue to two-factor authentication" -msgstr "" - -#: src/jade/tabs/kyc.jade:122 -msgid "Two-factor authentication provides extra security for your account." -msgstr "" - -#: src/jade/tabs/kyc.jade:129 -msgid "" -"Ripple Trade has partnered with Authy to provide better security for your " -"account.By continuing, you agree to Authy's {{1:Terms of Service}}." -msgstr "" - -#: src/jade/tabs/kyc.jade:135 -msgid "Verify phone number" -msgstr "" - -#: src/jade/tabs/kyc.jade:145 -msgid "change" -msgstr "" - -#: src/jade/tabs/kyc.jade:149 -msgid "" -"A verification code has been sent to +{{ currentCountryCode }} {{ " -"phoneNumber }}." -msgstr "" - -#: src/jade/tabs/kyc.jade:154 src/jade/tabs/login/form.jade:20 -#: src/jade/tabs/security.jade:88 -msgid "Verification Code" -msgstr "" - -#: src/jade/tabs/login.jade:5 src/jade/tabs/login.jade:19 -#: src/jade/tabs/login.jade:83 -msgid "Log In" -msgstr "" - -#: src/jade/tabs/login.jade:7 -msgid "Verifying..." -msgstr "" - -#: src/jade/tabs/login.jade:8 -msgid "You have successfully verified your email address." -msgstr "" - -#: src/jade/tabs/login.jade:9 -msgid "" -"Email verification token is invalid. It has either expired or has been " -"resent. Please check your inbox for the most recent verification email." -msgstr "" - -#: src/jade/tabs/login.jade:21 -msgid "Verify" -msgstr "" - -#: src/jade/tabs/login.jade:25 src/jade/tabs/login.jade:26 -#: src/jade/tabs/recover.jade:5 -msgid "Account Recovery" -msgstr "" - -#: src/jade/tabs/login.jade:28 src/jade/tabs/register.jade:93 -msgid "Already have a ripple.com/client account? {{1:Migrate}}" -msgstr "" - -#: src/jade/tabs/login.jade:30 src/jade/tabs/migrate.jade:26 -msgid "New to {{productName}}? {{1:Sign Up}}" -msgstr "" - -#: src/jade/tabs/login.jade:37 -msgid "{{1:You're sending money to}}{{2}}." -msgstr "" - -#: src/jade/tabs/login.jade:41 -msgid "{{1:You're sending}}{{2}}{{3: to }}{{4}}." -msgstr "" - -#: src/jade/tabs/login.jade:51 -msgid "" -"{{1:You're connecting to the gateway}}{{2}}{{3:for{{1}}}}{{4:with a limit " -"of{{1}}}}." -msgstr "" - -#: src/jade/tabs/login.jade:66 -msgid "{{1:You're adding}}{{2}}{{3:to your contacts list}}" -msgstr "" - -#: src/jade/tabs/login.jade:84 -msgid "You can confirm this transaction on the next page." -msgstr "" - -#: src/jade/tabs/login.jade:85 -msgid "New to {{productName}}? {{1:Create a wallet}}" -msgstr "" - -#: src/jade/tabs/login/form.jade:11 src/jade/tabs/security.jade:82 -msgid "" -"Please enter the verification code from the SMS message sent to your device:" -msgstr "" - -#: src/jade/tabs/login/form.jade:12 src/jade/tabs/security.jade:83 -msgid "" -"Please enter the verification code from the Authy app installed on your " -"device:" -msgstr "" - -#: src/jade/tabs/login/form.jade:16 -msgid "Resend" -msgstr "" - -#: src/jade/tabs/login/form.jade:17 src/jade/tabs/security.jade:95 -msgid "Send Via SMS" -msgstr "" - -#: src/jade/tabs/login/form.jade:24 -msgid "Remember me on this device for 30 days" -msgstr "" - -#: src/jade/tabs/migrate.jade:5 src/jade/tabs/register.jade:10 -#: src/jade/tabs/register.jade:116 src/jade/tabs/register.jade:159 -msgid "Migrate" -msgstr "" - -#: src/jade/tabs/migrate.jade:6 -msgid "" -"To begin migration, enter the name and passphrase used to encrypt your " -"ripple.com/client wallet below. After migration, you will no longer be able " -"to login on ripple.com/client." -msgstr "" - -#: src/jade/tabs/migrate.jade:10 -msgid "Existing ripple.com/client Wallet name" -msgstr "" - -#: src/jade/tabs/migrate.jade:13 -msgid "Passphrase" -msgstr "" - -#: src/jade/tabs/migrate.jade:25 -msgid "Begin Migration" -msgstr "" - -#: src/jade/tabs/migrate.jade:28 -msgid "Have a {{productName}} account? {{1:Log In}}" -msgstr "" - -#: src/jade/tabs/recover.jade:7 -msgid "" -"You can only recover your Ripple Trade account with a secret key. You will " -"recover the account's Ripple name, contacts and other information." -msgstr "" - -#: src/jade/tabs/recover.jade:9 src/jade/tabs/recover.jade:28 -msgid "Ripple Name" -msgstr "" - -#: src/jade/tabs/recover.jade:14 -msgid "Secret Key" -msgstr "" - -#: src/jade/tabs/recover.jade:17 -msgid "Unable to recover account." -msgstr "" - -#: src/jade/tabs/recover.jade:22 src/jade/tabs/register.jade:74 -msgid "Recover Account" -msgstr "" - -#: src/jade/tabs/recover.jade:24 src/jade/tabs/recover.jade:50 -msgid "Set Password" -msgstr "" - -#: src/jade/tabs/recover.jade:26 -msgid "" -"Your account was sucessfully recovered. Please re-encrypt your account with " -"a new password." -msgstr "" - -#: src/jade/tabs/recover.jade:36 src/jade/tabs/register.jade:45 -#: src/jade/tabs/security.jade:119 -msgid "" -"Your password is weak. It does not contain numbers and symbols or it is too " -"short." -msgstr "" - -#: src/jade/tabs/recover.jade:38 src/jade/tabs/register.jade:47 -#: src/jade/tabs/security.jade:121 -msgid "" -"Your Ripple name and password cannot match. Please create a new password." -msgstr "" - -#: src/jade/tabs/recover.jade:45 -msgid "Unable to change your account password." -msgstr "" - -#: src/jade/tabs/recover.jade:49 -msgid "Updating..." -msgstr "" - -#: src/jade/tabs/recover.jade:51 -msgid "Remember your password? {{1:Log In}}" -msgstr "" - -#: src/jade/tabs/register.jade:5 -msgid "" -"Ripple Trade is the only platform where you can trade between stores of " -"value spanning fiat, crypto, precious metals and more." -msgstr "" - -#: src/jade/tabs/register.jade:9 src/jade/tabs/register.jade:90 -#: src/jade/tabs/register.jade:115 src/jade/tabs/register.jade:158 -msgid "Sign Up" -msgstr "" - -#: src/jade/tabs/register.jade:12 src/jade/tabs/register.jade:14 -#: src/jade/tabs/register.jade:16 src/jade/tabs/register.jade:120 -#: src/jade/tabs/register.jade:122 src/jade/tabs/register.jade:161 -#: src/jade/tabs/register.jade:163 src/jade/tabs/register.jade:165 -msgid "Step {{1}}" -msgstr "" - -#: src/jade/tabs/register.jade:19 -msgid "Create Ripple name" -msgstr "" - -#: src/jade/tabs/register.jade:20 -msgid "" -"Please choose a Ripple name below. You will use this Ripple name to login to" -" Ripple Trade, so remember it! Ripple names are unique and public, like your" -" current Ripple address. {{1}}" -msgstr "" - -#: src/jade/tabs/register.jade:21 -msgid "Learn More" -msgstr "" - -#: src/jade/tabs/register.jade:36 -msgid "You can only use the following characters: a-z, 0-9 and hyphens (-)" -msgstr "" - -#: src/jade/tabs/register.jade:39 -msgid "Cannot use hyphens in a row (--)" -msgstr "" - -#: src/jade/tabs/register.jade:60 -msgid "Email address is invalid" -msgstr "" - -#: src/jade/tabs/register.jade:62 src/jade/tabs/security.jade:138 -msgid "Secret key" -msgstr "" - -#: src/jade/tabs/register.jade:63 src/jade/tabs/send.jade:53 -#: src/jade/tabs/trade.jade:329 src/jade/tabs/trade.jade:335 -msgid "hide" -msgstr "" - -#: src/jade/tabs/register.jade:67 -msgid "Secret Account Key is invalid" -msgstr "" - -#: src/jade/tabs/register.jade:69 -msgid "" -"The account ~{{1}}{{2}} has already been created using this secret key." -msgstr "" - -#: src/jade/tabs/register.jade:75 -msgid "Need to use your secret key? {{1}}" -msgstr "" - -#: src/jade/tabs/register.jade:77 -msgid "Use key" -msgstr "" - -#: src/jade/tabs/register.jade:80 -msgid "I agree to the {{productName}} {{1:end-user license agreement}}" -msgstr "" - -#: src/jade/tabs/register.jade:83 -msgid "" -"Please see our {{1}} to see how we collect, use and share information about " -"you" -msgstr "" - -#: src/jade/tabs/register.jade:91 -msgid "Migrate Account" -msgstr "" - -#: src/jade/tabs/register.jade:100 -msgid "An error occurred during registration. Please try again later." -msgstr "" - -#: src/jade/tabs/register.jade:101 -msgid "The reported error was: {{1}}" -msgstr "" - -#: src/jade/tabs/register.jade:109 -msgid "" -"There is already a wallet using this username, please choose a different " -"username and try again." -msgstr "" - -#: src/jade/tabs/register.jade:124 -msgid "" -"By proceeding, you understand that Ripple Trade does not provide a password " -"or secret key recovery mechanism. If you forget your Ripple name/password " -"and secret key, you will be unable to access this Ripple account." -msgstr "" - -#: src/jade/tabs/register.jade:129 -msgid "" -"You are now migrating your account- meaning you'll no longer be able to " -"access your account from ripple.com/client. You will retain all of your " -"balances, contacts, and account history. Your account will use the same " -"secret key as before. If you have already saved your secret key, please " -"continue your migration." -msgstr "" - -#: src/jade/tabs/register.jade:136 -msgid "" -"The secret key unlocks access to all your account funds in the event you " -"lose your Ripple name or password. Please write it down and store it " -"somewhere private and safe. {{1:Read more}} about keys and wallet safety." -msgstr "" - -#: src/jade/tabs/register.jade:141 -msgid "" -"If you have not saved your secret key, please write it down and store it " -"somewhere private and safe. In the event you lose your Ripple name or " -"password, you can use this secret key to recover your funds." -msgstr "" - -#: src/jade/tabs/register.jade:154 -msgid "Continue to email verification" -msgstr "" - -#: src/jade/tabs/register.jade:167 -msgid "" -"We’ve sent an email to {{1}}. To complete registration, click the link in " -"the email." -msgstr "" - -#: src/jade/tabs/register.jade:170 -msgid "Email token has been resent." -msgstr "" - -#: src/jade/tabs/register.jade:173 -msgid "Email Address:" -msgstr "" - -#: src/jade/tabs/register.jade:178 -msgid "Re-send Email" -msgstr "" - -#: src/jade/tabs/security.jade:5 -msgid "Active Session Timeout" -msgstr "" - -#: src/jade/tabs/security.jade:6 -msgid "" -"To view or edit your security settings, you must currently have an active " -"session." -msgstr "" - -#: src/jade/tabs/security.jade:13 -msgid "Restore Session" -msgstr "" - -#: src/jade/tabs/security.jade:22 -msgid "Your Ripple password has been changed, please login again" -msgstr "" - -#: src/jade/tabs/security.jade:24 -msgid "Couldn't change your Ripple password, please try again later." -msgstr "" - -#: src/jade/tabs/security.jade:27 -msgid "Changing your Ripple password..." -msgstr "" - -#: src/jade/tabs/security.jade:28 -msgid "Your Ripple password has been changed successfully." -msgstr "" - -#: src/jade/tabs/security.jade:29 -msgid "Unable to load Two-factor authentication settings." -msgstr "" - -#: src/jade/tabs/security.jade:30 -msgid "Error saving Two-factor authentication settings." -msgstr "" - -#: src/jade/tabs/security.jade:31 -msgid "The verification code is invalid." -msgstr "" - -#: src/jade/tabs/security.jade:32 -msgid "Two-factor authentication has been successfully enabled." -msgstr "" - -#: src/jade/tabs/security.jade:33 -msgid "Two-factor authentication has been successfully disabled." -msgstr "" - -#: src/jade/tabs/security.jade:39 -msgid "Security settings" -msgstr "" - -#: src/jade/tabs/security.jade:44 -msgid "Loading Two-factor authentication settings..." -msgstr "" - -#: src/jade/tabs/security.jade:47 -msgid "Enabled" -msgstr "" - -#: src/jade/tabs/security.jade:48 -msgid "Disabled" -msgstr "" - -#: src/jade/tabs/security.jade:50 -msgid "disable" -msgstr "" - -#: src/jade/tabs/security.jade:52 -msgid "enable" -msgstr "" - -#: src/jade/tabs/security.jade:58 -msgid "" -"Authy is providing two-factor authentication for Ripple Trade. To enable " -"two-factor authentication, you must share some information with Authy." -msgstr "" - -#: src/jade/tabs/security.jade:61 -msgid "- Your email address:" -msgstr "" - -#: src/jade/tabs/security.jade:64 -msgid "- Your phone number:" -msgstr "" - -#: src/jade/tabs/security.jade:66 -msgid "By proceeding, you agree to the Authy {{1: terms of service.}}" -msgstr "" - -#: src/jade/tabs/security.jade:70 -msgid "Share" -msgstr "" - -#: src/jade/tabs/security.jade:75 -msgid "Saving settings..." -msgstr "" - -#: src/jade/tabs/security.jade:76 -msgid "Disabling Two-factor authentication..." -msgstr "" - -#: src/jade/tabs/security.jade:77 -msgid "Enabling Two-factor authentication..." -msgstr "" - -#: src/jade/tabs/security.jade:94 -msgid "Resend Code" -msgstr "" - -#: src/jade/tabs/security.jade:99 -msgid "Enable" -msgstr "" - -#: src/jade/tabs/security.jade:103 -msgid "Ripple password" -msgstr "" - -#: src/jade/tabs/security.jade:116 -msgid "New password" -msgstr "" - -#: src/jade/tabs/security.jade:140 -msgid "" -"Your secret key unlocks access to your account funds. Please write it down " -"and store it somewhere private and safe. In the event you lose your Ripple " -"name or password, you can use this secret key to recover your funds." -msgstr "" - -#: src/jade/tabs/security.jade:150 -msgid "Password protection for transactions" -msgstr "" - -#: src/jade/tabs/security.jade:153 -msgid "" -"If you turn off password requests, you’ll still need to enter your password " -"after each page refresh." -msgstr "" - -#: src/jade/tabs/security.jade:161 -msgid "Yes" -msgstr "" - -#: src/jade/tabs/security.jade:162 -msgid "No" -msgstr "" - -#: src/jade/tabs/send.jade:12 -msgid "You have to be funded before you can send money" -msgstr "" - -#: src/jade/tabs/send.jade:17 -msgid "Send money on the Ripple network." -msgstr "" - -#: src/jade/tabs/send.jade:21 src/jade/tabs/send.jade:34 -msgid "Recipient" -msgstr "" - -#: src/jade/tabs/send.jade:26 src/jade/tabs/send.jade:39 -msgid "Please enter a recipient." -msgstr "" - -#: src/jade/tabs/send.jade:28 -msgid "" -"Recipient should be a Ripple name, a contact, or Ripple/Bitcoin address." -msgstr "" - -#: src/jade/tabs/send.jade:30 src/jade/tabs/send.jade:43 -msgid "This email address is not Ripple-enabled." -msgstr "" - -#: src/jade/tabs/send.jade:41 -msgid "Recipient should be a contact or Ripple/Bitcoin address." -msgstr "" - -#: src/jade/tabs/send.jade:47 -msgid "Show destination tag" -msgstr "" - -#: src/jade/tabs/send.jade:58 -msgid "Destination cannot be blank." -msgstr "" - -#: src/jade/tabs/send.jade:59 -msgid "" -"Recipient requires a destination tag to be specified for the transaction. If" -" you don't know the destination tag, please contact them before doing a " -"transaction." -msgstr "" - -#: src/jade/tabs/send.jade:64 -msgid "Source tag" -msgstr "" - -#: src/jade/tabs/send.jade:67 -msgid "Invalid source tag" -msgstr "" - -#: src/jade/tabs/send.jade:79 -msgid "Recipient will receive" -msgstr "" - -#: src/jade/tabs/send.jade:90 -msgid "{{send.recipient | rpcontactname}} can't receive this currency." -msgstr "" - -#: src/jade/tabs/send.jade:94 -msgid "Amount must be greater than zero." -msgstr "" - -#: src/jade/tabs/send.jade:95 -msgid "" -"This transaction exceeds your balance, you can send a max. of " -"{{account.max_spend | rpamount:{rel_precision: 0} }} XRP" -msgstr "" - -#: src/jade/tabs/send.jade:98 -msgid "" -"Recipient does not allow XRP payments. Are you sure you want to send XRP " -"anyway?" -msgstr "" - -#: src/jade/tabs/send.jade:100 -msgid "" -"{{send.recipient | rpcontactname}}trusts you for {{send.trust_limit | " -"rpamount}} {{send.trust_limit | rpcurrency}}." -msgstr "" - -#: src/jade/tabs/send.jade:104 -msgid "Send XRP" -msgstr "" - -#: src/jade/tabs/send.jade:108 -msgid "" -"Destination account is unfunded; send at least {{send.xrp_deficiency | " -"rpamount}} XRP to fund it.{{1}}" -msgstr "" - -#: src/jade/tabs/send.jade:113 -msgid "Checking" -msgstr "" - -#: src/jade/tabs/send.jade:115 -msgid "Analyzing address" -msgstr "" - -#: src/jade/tabs/send.jade:117 -msgid "Scanning accepted currencies" -msgstr "" - -#: src/jade/tabs/send.jade:119 -msgid "Requesting quote" -msgstr "" - -#: src/jade/tabs/send.jade:121 -msgid "Calculating paths" -msgstr "" - -#: src/jade/tabs/send.jade:123 -msgid "Calculating alternatives" -msgstr "" - -#: src/jade/tabs/send.jade:125 -msgid "" -"You cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. " -"Either your account has insufficient funds, or {{send.recipient}} doesn't " -"accept {{send.currency}}." -msgstr "" - -#: src/jade/tabs/send.jade:129 -msgid "" -"You cannot send {{send.amount}} {{send.currency}} to{{send.recipient}}. Your" -" account has insufficient funds." -msgstr "" - -#: src/jade/tabs/send.jade:132 -msgid "There are no valid currency choices for this destination." -msgstr "" - -#: src/jade/tabs/send.jade:134 -msgid "Error while retrieving quote for outbound payment. {{1}}" -msgstr "" - -#: src/jade/tabs/send.jade:143 -msgid "You can send" -msgstr "" - -#: src/jade/tabs/send.jade:145 -msgid "Or you can send" -msgstr "" - -#: src/jade/tabs/send.jade:159 -msgid "Send {{ alt.amount | rpcurrency }} {{1}}" -msgstr "" - -#: src/jade/tabs/send.jade:174 -msgid "Ripple is calculating a path for your payment." -msgstr "" - -#: src/jade/tabs/send.jade:180 -msgid "You are sending {{1}} to" -msgstr "" - -#: src/jade/tabs/send.jade:188 -msgid "Destination tag: {{send.dt}}" -msgstr "" - -#: src/jade/tabs/send.jade:189 -msgid "They will receive" -msgstr "" - -#: src/jade/tabs/send.jade:192 -msgid "You will pay at most" -msgstr "" - -#: src/jade/tabs/send.jade:198 -msgid "Are you sure?" -msgstr "" - -#: src/jade/tabs/send.jade:204 -msgid "Password required to unlock wallet" -msgstr "" - -#: src/jade/tabs/send.jade:228 src/jade/tabs/send.jade:256 -msgid "Contact saved!" -msgstr "" - -#: src/jade/tabs/send.jade:230 src/jade/tabs/send.jade:258 -msgid "Add this address to contacts" -msgstr "" - -#: src/jade/tabs/send.jade:234 src/jade/tabs/send.jade:262 -msgid "Name this user" -msgstr "" - -#: src/jade/tabs/send.jade:240 src/jade/tabs/send.jade:269 -#: src/jade/tabs/trust.jade:283 -msgid "Saving..." -msgstr "" - -#: src/jade/tabs/send.jade:245 src/jade/tabs/send.jade:275 -msgid "Send another payment" -msgstr "" - -#: src/jade/tabs/settings/navbar.jade:3 -msgid "Advanced" -msgstr "" - -#: src/jade/tabs/trade.jade:10 -msgid "Loading order book..." -msgstr "" - -#: src/jade/tabs/trade.jade:23 -msgid "flip" -msgstr "" - -#: src/jade/tabs/trade.jade:27 src/jade/tabs/trade.jade:35 -msgid "Base currency" -msgstr "" - -#: src/jade/tabs/trade.jade:30 src/jade/tabs/trade.jade:41 -msgid "Change gateway" -msgstr "" - -#: src/jade/tabs/trade.jade:38 src/jade/tabs/trade.jade:46 -msgid "Counter currency" -msgstr "" - -#: src/jade/tabs/trade.jade:50 -msgid "Base currency issuer ({{order.first_currency | rpcurrency}})" -msgstr "" - -#: src/jade/tabs/trade.jade:55 -msgid "Not a valid Ripple address or contact" -msgstr "" - -#: src/jade/tabs/trade.jade:60 -msgid "Counter currency issuer ({{order.second_currency | rpcurrency}})" -msgstr "" - -#: src/jade/tabs/trade.jade:65 -msgid "Not a valid Ripple name or address" -msgstr "" - -#: src/jade/tabs/trade.jade:69 -msgid "" -"You must select a gateway to trade currencies. Click the “Change gateway” " -"link above and enter the gateway's address or Ripple name. {{1:Find a " -"gateway.}}" -msgstr "" - -#: src/jade/tabs/trade.jade:79 -msgid "Bid" -msgstr "" - -#: src/jade/tabs/trade.jade:84 -msgid "Ask" -msgstr "" - -#: src/jade/tabs/trade.jade:89 -msgid "Spread" -msgstr "" - -#: src/jade/tabs/trade.jade:94 -msgid "Last price" -msgstr "" - -#: src/jade/tabs/trade.jade:101 -msgid "You have to be funded before you can trade" -msgstr "" - -#: src/jade/tabs/trade.jade:108 -msgid "Buy {{1}} {{order.first_currency | rpcurrency}}" -msgstr "" - -#: src/jade/tabs/trade.jade:111 -msgid "Sell {{1}} {{order.first_currency | rpcurrency}}" -msgstr "" - -#: src/jade/tabs/trade.jade:114 src/jade/tabs/trade.jade:123 -msgid "{{1}} available" -msgstr "" - -#: src/jade/tabs/trade.jade:137 -msgid "Amount To Buy" -msgstr "" - -#: src/jade/tabs/trade.jade:138 -msgid "Amount To Sell" -msgstr "" - -#: src/jade/tabs/trade.jade:145 src/jade/tabs/trade.jade:160 -#: src/jade/tabs/trade.jade:175 -msgid "Required" -msgstr "" - -#: src/jade/tabs/trade.jade:147 src/jade/tabs/trade.jade:162 -#: src/jade/tabs/trade.jade:177 -msgid "Must be greater than zero" -msgstr "" - -#: src/jade/tabs/trade.jade:149 src/jade/tabs/trade.jade:164 -#: src/jade/tabs/trade.jade:179 -msgid "Minimum is a drop (0.000001) and maximum is 100 billion XRPs" -msgstr "" - -#: src/jade/tabs/trade.jade:153 -msgid "Price of Each" -msgstr "" - -#: src/jade/tabs/trade.jade:168 -msgid "Order Value (max)" -msgstr "" - -#: src/jade/tabs/trade.jade:185 -msgid "You are wanting to buy {{1}} for {{2}} ({{3}} per {{4}})" -msgstr "" - -#: src/jade/tabs/trade.jade:194 -msgid "You are wanting to sell {{1}} for {{2}} ({{3}} per {{4}})" -msgstr "" - -#: src/jade/tabs/trade.jade:206 -msgid "Buy" -msgstr "" - -#: src/jade/tabs/trade.jade:207 -msgid "Sell" -msgstr "" - -#: src/jade/tabs/trade.jade:213 -msgid "You do not have sufficient funds to create an order." -msgstr "" - -#: src/jade/tabs/trade.jade:218 -msgid "CAUTION: Your order is far off from the current market price." -msgstr "" - -#: src/jade/tabs/trade.jade:220 -msgid "" -"You are about to create an order to {{1: buy}} {{2: " -"sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}" -msgstr "" - -#: src/jade/tabs/trade.jade:239 -msgid "« Back" -msgstr "" - -#: src/jade/tabs/trade.jade:246 -msgid "Sending order to Ripple network..." -msgstr "" - -#: src/jade/tabs/trade.jade:252 -msgid "Your order has been submitted." -msgstr "" - -#: src/jade/tabs/trade.jade:254 -msgid "Your order is now active!" -msgstr "" - -#: src/jade/tabs/trade.jade:256 -msgid "Request has been denied!" -msgstr "" - -#: src/jade/tabs/trade.jade:257 -msgid "We were unable to submit the request. Please try again later." -msgstr "" - -#: src/jade/tabs/trade.jade:259 -msgid "Request is malformed!" -msgstr "" - -#: src/jade/tabs/trade.jade:260 -msgid "" -"Your request is invalid, reason: {{order[type].engine_result}} - " -"{{order[type].engine_result_message}}" -msgstr "" - -#: src/jade/tabs/trade.jade:263 src/jade/tabs/trade.jade:277 -#: src/jade/tabs/trust.jade:43 -msgid "Transaction failed!" -msgstr "" - -#: src/jade/tabs/trade.jade:265 -msgid "" -"You do not have enough {{(type == 'buy' ? order.second_currency : " -"order.first_currency) | rpcurrency}} to create this order." -msgstr "" - -#: src/jade/tabs/trade.jade:267 -msgid "" -"You must have at least {{account.reserve_to_add_trust | rpamount}} XRP to " -"submit an order. {{1}}" -msgstr "" - -#: src/jade/tabs/trade.jade:269 -msgid "More information." -msgstr "" - -#: src/jade/tabs/trade.jade:270 -msgid "Error: {{order[type].engine_result_message}}" -msgstr "" - -#: src/jade/tabs/trade.jade:273 -msgid "Trade failed!" -msgstr "" - -#: src/jade/tabs/trade.jade:275 -msgid "Trade failed, reason: {{order[type].engine_result_message}}" -msgstr "" - -#: src/jade/tabs/trade.jade:279 src/jade/tabs/trust.jade:45 -msgid "" -"The particular server you sent the transaction to was too busy to forward or" -" process your transaction at the fee you included in it." -msgstr "" - -#: src/jade/tabs/trade.jade:288 -msgid "Submit another order" -msgstr "" - -#: src/jade/tabs/trade.jade:290 -msgid "My Orders{{1}}{{2}}" -msgstr "" - -#: src/jade/tabs/trade.jade:297 -msgid "Type" -msgstr "" - -#: src/jade/tabs/trade.jade:298 -msgid "Currencies {{1: (Issuer)}}" -msgstr "" - -#: src/jade/tabs/trade.jade:300 -msgid "Price" -msgstr "" - -#: src/jade/tabs/trade.jade:302 -msgid "Action" -msgstr "" - -#: src/jade/tabs/trade.jade:311 -msgid "with" -msgstr "" - -#: src/jade/tabs/trade.jade:312 -msgid "for" -msgstr "" - -#: src/jade/tabs/trade.jade:325 -msgid "You haven't placed any orders." -msgstr "" - -#: src/jade/tabs/trade.jade:327 -msgid "Unable to cancel order." -msgstr "" - -#: src/jade/tabs/trade.jade:328 -msgid "Error: {{cancelError}}" -msgstr "" - -#: src/jade/tabs/trade.jade:332 -msgid "Orderbook" -msgstr "" - -#: src/jade/tabs/trade.jade:334 -msgid "show" -msgstr "" - -#: src/jade/tabs/trade.jade:342 -msgid "Bids" -msgstr "" - -#: src/jade/tabs/trade.jade:344 src/jade/tabs/trade.jade:371 -msgid "Sum{{1}}{{2}}" -msgstr "" - -#: src/jade/tabs/trade.jade:347 src/jade/tabs/trade.jade:368 -msgid "Size{{1}}{{2}}" -msgstr "" - -#: src/jade/tabs/trade.jade:350 -msgid "Bid Price{{1}}{{2}}" -msgstr "" - -#: src/jade/tabs/trade.jade:361 -msgid "There are currently no bids for this pair." -msgstr "" - -#: src/jade/tabs/trade.jade:363 -msgid "Asks" -msgstr "" - -#: src/jade/tabs/trade.jade:365 -msgid "Ask Price{{1}}{{2}}" -msgstr "" - -#: src/jade/tabs/trade.jade:382 -msgid "There are currently no asks for this pair." -msgstr "" - -#: src/jade/tabs/trade.jade:385 -msgid "No more orders" -msgstr "" - -#: src/jade/tabs/trust.jade:23 -msgid "Connecting a gateway to your Ripple account..." -msgstr "" - -#: src/jade/tabs/trust.jade:25 -msgid "Gateway connected." -msgstr "" - -#: src/jade/tabs/trust.jade:27 -msgid "Gateway could not be connected!" -msgstr "" - -#: src/jade/tabs/trust.jade:28 src/jade/tabs/trust.jade:30 -msgid "There was a problem connecting the gateway. Please try again later." -msgstr "" - -#: src/jade/tabs/trust.jade:31 -msgid "" -"Your request is invalid, reason: {{engine_result}} - " -"{{engine_result_message}}" -msgstr "" - -#: src/jade/tabs/trust.jade:33 -msgid "Gateway connection failed!" -msgstr "" - -#: src/jade/tabs/trust.jade:35 -msgid "You have no gateway connected in this currency." -msgstr "" - -#: src/jade/tabs/trust.jade:36 -msgid "Insufficient reserve to connect gateway." -msgstr "" - -#: src/jade/tabs/trust.jade:37 -msgid "" -"You must have at least {{account.reserve_to_add_trust | rpamount:0}} XRP to " -"connect a gateway. {{1}}" -msgstr "" - -#: src/jade/tabs/trust.jade:39 -msgid "Read more." -msgstr "" - -#: src/jade/tabs/trust.jade:40 -msgid "Gateway connection failed to clear, reason: {{engine_result_message}}" -msgstr "" - -#: src/jade/tabs/trust.jade:53 -msgid "Saving changes..." -msgstr "" - -#: src/jade/tabs/trust.jade:55 -msgid "Changes saved!" -msgstr "" - -#: src/jade/tabs/trust.jade:57 src/jade/tabs/trust.jade:69 -msgid "There was an error while saving your changes." -msgstr "" - -#: src/jade/tabs/trust.jade:65 -msgid "Removing gateway..." -msgstr "" - -#: src/jade/tabs/trust.jade:67 -msgid "Gateway removed!" -msgstr "" - -#: src/jade/tabs/trust.jade:72 src/jade/tabs/trust.jade:194 -msgid "You must have at least {{1}} to add a new trust line. {{2}}" -msgstr "" - -#: src/jade/tabs/trust.jade:82 -msgid "Name / Address" -msgstr "" - -#: src/jade/tabs/trust.jade:84 src/jade/tabs/trust.jade:130 -msgid "Currency" -msgstr "" - -#: src/jade/tabs/trust.jade:87 -msgid "Trust Limit" -msgstr "" - -#: src/jade/tabs/trust.jade:93 -msgid "Gateway's Ripple name or address" -msgstr "" - -#: src/jade/tabs/trust.jade:162 -msgid "" -"{{1:You are connecting a gateway, which means}}{{2:{{ counterparty_address |" -" rpripplename:{tilde: true} }} can:}}" -msgstr "" - -#: src/jade/tabs/trust.jade:165 -msgid "{{1:- Hold up to }}{{2}} {{3: on your behalf}}" -msgstr "" - -#: src/jade/tabs/trust.jade:169 -msgid "{{1:- Hold }}{{2}} {{3: on your behalf}}" -msgstr "" - -#: src/jade/tabs/trust.jade:183 src/jade/tabs/trust.jade:186 -#: src/jade/tabs/trust.jade:189 src/jade/tabs/trust.jade:255 -#: src/jade/tabs/trust.jade:258 src/jade/tabs/trust.jade:261 -#: src/jade/tabs/trust.jade:288 src/jade/tabs/trust.jade:291 -#: src/jade/tabs/trust.jade:294 -msgid "Remove" -msgstr "" - -#: src/jade/tabs/trust.jade:192 -msgid "Verifying address" -msgstr "" - -#: src/jade/tabs/trust.jade:201 -msgid "" -"Your account has to be {{1:activated}} before you can add a gateway account." -msgstr "" - -#: src/jade/tabs/trust.jade:209 -msgid "Connect gateway" -msgstr "" - -#: src/jade/tabs/trust.jade:227 -msgid "Gateway" -msgstr "" - -#: src/jade/tabs/trust.jade:229 src/jade/tabs/trust.jade:271 -msgid "Limit" -msgstr "" - -#: src/jade/tabs/trust.jade:230 -msgid "Min" -msgstr "" - -#: src/jade/tabs/trust.jade:245 -msgid "Off" -msgstr "" - -#: src/jade/tabs/trust.jade:246 -msgid "On" -msgstr "" - -#: src/jade/tabs/trust.jade:276 -msgid "Rippling {{1}}" -msgstr "" - -#: src/jade/tabs/tx.jade:3 -msgid "Loading transaction details..." -msgstr "" - -#: src/jade/tabs/tx.jade:5 -msgid "An error occurred while loading the transaction details." -msgstr "" - -#: src/jade/tabs/tx.jade:8 -msgid "Transaction #" -msgstr "" - -#: src/jade/tabs/tx.jade:11 -msgid "Show in graph" -msgstr "" - -#: src/jade/tabs/tx.jade:13 -msgid "Transaction type: {{1}}" -msgstr "" - -#: src/jade/tabs/tx.jade:20 -msgid "Address sent from" -msgstr "" - -#: src/jade/tabs/tx.jade:24 -msgid "Amount sent" -msgstr "" - -#: src/jade/tabs/tx.jade:28 -msgid "Currency sent" -msgstr "" - -#: src/jade/tabs/tx.jade:33 -msgid "Address sent to" -msgstr "" - -#: src/jade/tabs/tx.jade:37 -msgid "Amount received" -msgstr "" - -#: src/jade/tabs/tx.jade:41 -msgid "Currency received" -msgstr "" - -#: src/jade/tabs/tx.jade:48 -msgid "Network fee paid" -msgstr "" - -#: src/jade/tabs/tx.jade:60 -msgid "Ledger number" -msgstr "" - -#: src/jade/tabs/tx.jade:66 -msgid "Address sent from:" -msgstr "" - -#: src/jade/tabs/tx.jade:70 -msgid "" -"Sorry, we don't have an info page layout for this transaction type yet." -msgstr "" - -#: src/jade/tabs/xrp.jade:19 -msgid "Ripple name: {{1}}{{2}}{{3}}" -msgstr "" - -#: src/jade/tabs/xrp.jade:21 -msgid "loading..." -msgstr "" - -#: src/jade/tabs/xrp.jade:23 -msgid "Show address" -msgstr "" - -#: src/jade/tabs/xrp.jade:25 -msgid "" -"Ripple names are a new feature on Ripple! Use your Ripple name " -"(~{{userCredentials.username}}) to receive money. You can still use your " -"full Ripple address, and while we are working to transition to Ripple names," -" some gateways may still ask for your full address." -msgstr "" - -#: src/jade/tabs/xrp.jade:31 -msgid "Ripple address {{1}}" -msgstr "" diff --git a/l10n/pt_BR/messages.po b/l10n/pt_BR/messages.po new file mode 100644 index 000000000..03b76534c --- /dev/null +++ b/l10n/pt_BR/messages.po @@ -0,0 +1,3658 @@ +# Generated by grunt-jade-l10n-extractor +# Translators: +# miguelvuc , 2014 +# Rafael Pereira , 2013-2015 +msgid "" +msgstr "" +"Project-Id-Version: Ripple Trade\n" +"PO-Revision-Date: 2015-05-27 01:47+0000\n" +"Last-Translator: Rafael Pereira \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/ripple-trade/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: src/jade/client/index.jade:5 src/jade/client/navbar.jade:117 +#: src/jade/tabs/trust.jade:59 src/jade/tabs/trust.jade:168 +msgid "Balance" +msgstr "Saldo" + +#: src/jade/client/index.jade:7 src/jade/client/navbar.jade:119 +msgid "History" +msgstr "Histórico" + +#: src/jade/client/index.jade:8 src/jade/client/navbar.jade:121 +msgid "Contacts" +msgstr "Contatos" + +#: src/jade/client/index.jade:12 src/jade/client/navbar.jade:21 +#: src/jade/tabs/contacts.jade:65 +msgid "Send" +msgstr "Enviar" + +#: src/jade/client/index.jade:16 +msgid "Convert" +msgstr "Converter" + +#: src/jade/client/index.jade:18 src/jade/client/navbar.jade:23 +#: src/jade/client/navbar.jade:25 src/jade/tabs/settings/navbar.jade:3 +msgid "Trade" +msgstr "Negociar" + +#: src/jade/client/index.jade:22 src/jade/client/navbar.jade:27 +#: src/jade/client/navbar.jade:133 +msgid "Fund" +msgstr "Depositar" + +#: src/jade/client/index.jade:24 src/jade/tabs/fund/menu.jade:29 +msgid "Gateways" +msgstr "Gateways" + +#: src/jade/client/index.jade:29 src/jade/client/navbar.jade:107 +#: src/jade/tabs/su.jade:12 +msgid "Account" +msgstr "Conta" + +#: src/jade/client/index.jade:32 src/jade/client/navbar.jade:109 +#: src/jade/tabs/advanced.jade:19 +msgid "Settings" +msgstr "Configurações" + +#: src/jade/client/index.jade:35 +msgid "Logout" +msgstr "Sair" + +#: src/jade/client/index.jade:61 +msgid "Why Use Ripple Trade?" +msgstr "Porque usar o Ripple Trade?" + +#: src/jade/client/index.jade:66 +msgid "Home of XRP -" +msgstr "O lar do XRP -" + +#: src/jade/client/index.jade:67 +msgid "the best place to buy and sell XRP" +msgstr "o melhor lugar para comprar e vender XRP" + +#: src/jade/client/index.jade:71 +msgid "Free -" +msgstr "Gratuito -" + +#: src/jade/client/index.jade:72 +msgid "no fees to sign up and use Ripple Trade" +msgstr "sem taxas para entrar ou usar o Ripple Trade" + +#: src/jade/client/index.jade:76 +msgid "No Middlemen -" +msgstr "Sem intermediários -" + +#: src/jade/client/index.jade:77 +msgid "" +"When you submit orders, Ripple automatically finds the best available match," +" without a clearinghouse or broker." +msgstr "Quando você submete ordens, Ripple encontra automaticamente a melhor oferta disponível, sem corretoras." + +#: src/jade/client/index.jade:81 +msgid "Deposit, trade and withdraw money on Ripple via gateways." +msgstr "No Ripple, deposite, negocie e saque dinheiro usando gateways." + +#: src/jade/client/index.jade:89 +msgid "Featured Ripple Gateways" +msgstr "Gateways Ripple em destaque" + +#: src/jade/client/index.jade:91 +msgid "Ripple's growing gateway network." +msgstr "A rede crescente de gateways do Ripple." + +#: src/jade/client/index.jade:93 src/jade/client/index.jade:96 +#: src/jade/client/index.jade:99 src/jade/client/index.jade:102 +#: src/jade/client/index.jade:105 src/jade/client/index.jade:108 +#: src/jade/client/index.jade:111 src/jade/client/index.jade:114 +#: src/jade/client/index.jade:117 src/jade/tabs/banner/unfunded.jade:6 +#: src/jade/tabs/brl.jade:53 src/jade/tabs/brl.jade:57 +#: src/jade/tabs/brl.jade:93 src/jade/tabs/btc.jade:46 +#: src/jade/tabs/eur.jade:50 src/jade/tabs/eur.jade:54 +#: src/jade/tabs/eur.jade:86 src/jade/tabs/eur.jade:93 +#: src/jade/tabs/gold.jade:51 src/jade/tabs/jpy.jade:55 +#: src/jade/tabs/jpy.jade:91 src/jade/tabs/jpy.jade:97 +#: src/jade/tabs/mxn.jade:53 src/jade/tabs/send.jade:63 +#: src/jade/tabs/trade.jade:320 src/jade/tabs/usd.jade:51 +#: src/jade/tabs/usd.jade:83 src/jade/tabs/usd.jade:90 +#: src/jade/tabs/usd.jade:100 src/jade/tabs/widgets/orders.jade:31 +msgid "{{1}}" +msgstr "{{1}}" + +#: src/jade/client/index.jade:123 +msgid "Version: {{version}}" +msgstr "Versão: {{version}}" + +#: src/jade/client/index.jade:128 +msgid "Terms of Use" +msgstr "Termos de Uso" + +#: src/jade/client/index.jade:129 +msgid "Privacy Policy" +msgstr "Política de Privacidade" + +#: src/jade/client/index.jade:130 +msgid "Support" +msgstr "Suporte" + +#: src/jade/client/index.jade:131 +msgid "Bug reports" +msgstr "Reporte um problema" + +#: src/jade/client/index.jade:138 +msgid "more..." +msgstr "mais..." + +#: src/jade/client/index.jade:142 +msgid "Select a language" +msgstr "Escolha um idioma" + +#: src/jade/client/navbar.jade:2 +msgid "" +"You are viewing an account in {{1}} mode. While in this mode, you can view " +"publicly available data, but you cannot initiate any transactions. Click " +"{{2}} to exit." +msgstr "Você está vendo uma conta em modo {{1}}. Enquanto estiver nesse modo, você pode ver dados que são públicos, mas não pode criar transações. Clique {{2}} para sair." + +#: src/jade/client/navbar.jade:8 +msgid "" +"Warning: this account has over 200 trust lines, so the displayed account " +"balance may not be accurate." +msgstr "Atenção: essa conta possui mais de 200 linhas de confiança, portanto o saldo mostrado pode não ser preciso." + +#: src/jade/client/navbar.jade:19 +msgid "Overview" +msgstr "Visão Geral" + +#: src/jade/client/navbar.jade:49 src/jade/tabs/account/private.jade:7 +#: src/jade/tabs/account/private.jade:16 src/jade/tabs/account/public.jade:45 +#: src/jade/tabs/apps.jade:8 src/jade/tabs/btc.jade:72 +#: src/jade/tabs/exchange.jade:9 src/jade/tabs/kyc.jade:45 +#: src/jade/tabs/recover.jade:26 src/jade/tabs/security.jade:147 +#: src/jade/tabs/su.jade:8 src/jade/tabs/trust.jade:9 +#: src/jade/tabs/trust.jade:139 +msgid "Loading..." +msgstr "Carregando..." + +#: src/jade/client/navbar.jade:50 +msgid "There are no recent notifications." +msgstr "Não há novos alertas." + +#: src/jade/client/navbar.jade:54 +msgid "You sent {{1}} to {{2}}" +msgstr "Você enviou {{1}} para {{2}}" + +#: src/jade/client/navbar.jade:60 +msgid "{{1}} sent you {{2}}" +msgstr "{{1}} lhe enviou {{2}}" + +#: src/jade/client/navbar.jade:68 +msgid "{{entry.transaction.counterparty | rpcontactname}} now trusts you for" +msgstr "{{entry.transaction.counterparty | rpcontactname}} agora confia em você até" + +#: src/jade/client/navbar.jade:74 src/jade/notification/account.jade:25 +#: src/jade/tabs/history.jade:115 src/jade/tabs/history/effects.jade:63 +msgid "You have now connected to the gateway {{1}}{{2: for }}{{3}}." +msgstr "Você se conectou ao gateway {{1}}{{2: para }}{{3}}." + +#: src/jade/client/navbar.jade:85 +msgid "You cancelled an order accepting {{1}} for {{2}}" +msgstr "Você cancelou uma ordem aceitando {{1}} por {{2}}" + +#: src/jade/client/navbar.jade:92 src/jade/tabs/history.jade:138 +msgid "Account details have been changed" +msgstr "Os detalhes da conta foram alterados" + +#: src/jade/client/navbar.jade:95 src/jade/tabs/history.jade:141 +#: src/jade/tabs/trust.jade:171 +msgid "Rippling" +msgstr "Rippling" + +#: src/jade/client/navbar.jade:97 src/jade/tabs/history.jade:143 +msgid "Failed transaction" +msgstr "Transação falha" + +#: src/jade/client/navbar.jade:103 +msgid "View Full History" +msgstr "Ver todo o Histórico" + +#: src/jade/client/navbar.jade:111 +msgid "Log Out" +msgstr "Sair" + +#: src/jade/client/navbar.jade:126 +msgid "Simple" +msgstr "Simples" + +#: src/jade/client/navbar.jade:128 src/jade/tabs/settings/navbar.jade:4 +msgid "Advanced" +msgstr "Avançado" + +#: src/jade/client/navbar.jade:135 +msgid "Withdraw" +msgstr "Sacar" + +#: src/jade/client/navbar.jade:137 +msgid "" +"Your account was successfully recovered and encrypted with the new password " +"you provided!" +msgstr "Sua conta foi recuperada com sucesso e criptografada com a nova senha que você forneceu!" + +#: src/jade/client/navbar.jade:138 +msgid "dismiss" +msgstr "dispensar" + +#: src/jade/directives/addresspopover.jade:3 +msgid "Ripple address {{ identity }}" +msgstr "Endereço Ripple {{ identity }}" + +#: src/jade/directives/addresspopover.jade:8 src/jade/tabs/tx.jade:13 +msgid "Show in graph" +msgstr "Mostrar no graph" + +#: src/jade/directives/transactionerror.jade:8 +msgid "Connecting gateway to your account..." +msgstr "Conectando um gateway à sua conta..." + +#: src/jade/directives/transactionerror.jade:10 +msgid "Gateway connected." +msgstr "Gateway conectado." + +#: src/jade/directives/transactionerror.jade:12 +msgid "There was a problem connecting to the gateway. Please try again later." +msgstr "Houve um problema ao conectar com o gateway. Por favor tente mais tarde." + +#: src/jade/directives/transactionerror.jade:14 +#: src/jade/directives/transactionerror.jade:73 +#: src/jade/directives/transactionerror.jade:158 +#: src/jade/messages/sendconvert/confirmation.jade:13 +msgid "Error code: {{engine_result}} - {{engine_result_message}}" +msgstr "Código do erro: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:19 +#: src/jade/directives/transactionerror.jade:23 +#: src/jade/directives/transactionerror.jade:28 +#: src/jade/directives/transactionerror.jade:33 +#: src/jade/directives/transactionerror.jade:45 +#: src/jade/directives/transactionerror.jade:52 +#: src/jade/directives/transactionerror.jade:156 +#: src/jade/directives/transactionerror.jade:163 +#: src/jade/directives/transactionerror.jade:167 +#: src/jade/directives/transactionerror.jade:172 +#: src/jade/directives/transactionerror.jade:177 +#: src/jade/directives/transactionerror.jade:186 +#: src/jade/directives/transactionerror.jade:193 +msgid "Request failed" +msgstr "O pedido falhou" + +#: src/jade/directives/transactionerror.jade:21 +#: src/jade/directives/transactionerror.jade:165 +msgid "Your request timed out, please try again." +msgstr "O seu pedido expirou, por favor tente de novo." + +#: src/jade/directives/transactionerror.jade:25 +#: src/jade/directives/transactionerror.jade:84 +#: src/jade/directives/transactionerror.jade:169 +#: src/jade/messages/sendconvert/confirmation.jade:18 +msgid "Error code: Destination tag needed [tefDST_TAG_NEEDED]." +msgstr "Código do erro: Tag do destinatário requerida [tefDST_TAG_NEEDED]." + +#: src/jade/directives/transactionerror.jade:30 +#: src/jade/directives/transactionerror.jade:174 +msgid "" +"Error code: This request failed because it exceeded the maximum network fee," +" please try again later [telINSUF_FEE_P]." +msgstr "Código do erro: Esta transação falhou porque excedeu a taxa máxima da rede, por favor tente mais tarde [telINSUF_FEE_P]." + +#: src/jade/directives/transactionerror.jade:35 +msgid "" +"Error code: You have no gateway connected in this currency [terNO_LINE]." +msgstr "Você não tem um gateway conectado para essa moeda [terNO_LINE]." + +#: src/jade/directives/transactionerror.jade:37 +msgid "" +"Error code: Insufficient reserve to connect gateway [tecINSUF_RESERVE_LINE]." +msgstr "Código do erro: Reserva insuficiente para conectar um gateway [tecINSUF_RESERVE_LINE]." + +#: src/jade/directives/transactionerror.jade:39 +msgid "" +"Error code: You have an insufficient reserve amount to connect a gateway " +"[tecNO_LINE_INSUF_RESERVE]. {{1}}" +msgstr "Código do erro: Reserva insuficiente para conectar um gateway [tecNO_LINE_INSUF_RESERVE]. {{1}}" + +#: src/jade/directives/transactionerror.jade:41 src/jade/tabs/fund.jade:34 +#: src/jade/tabs/send.jade:110 src/jade/tabs/trust.jade:74 +msgid "More information" +msgstr "Mais informações" + +#: src/jade/directives/transactionerror.jade:42 +#: src/jade/directives/transactionerror.jade:98 +#: src/jade/directives/transactionerror.jade:135 +#: src/jade/directives/transactionerror.jade:183 +#: src/jade/messages/sendconvert/confirmation.jade:27 +msgid "Error: {{engine_result_message}}" +msgstr "Erro: {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:47 +#: src/jade/directives/transactionerror.jade:103 +#: src/jade/directives/transactionerror.jade:188 +#: src/jade/messages/sendconvert/confirmation.jade:32 +msgid "Error code: You have no trust line in this currency [terNO_LINE]." +msgstr "Código do erro: Você não tem uma linha de confiança para esta moeda [terNO_LINE]." + +#: src/jade/directives/transactionerror.jade:49 +#: src/jade/directives/transactionerror.jade:190 +msgid "Your request failed: {{engine_result}} - {{engine_result_message}}" +msgstr "O seu pagamento falhou: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:54 +#: src/jade/directives/transactionerror.jade:195 +msgid "Error code: request could not be submitted [tejLost]." +msgstr "Código do erro: A transação não pôde ser submetida [tejLost]." + +#: src/jade/directives/transactionerror.jade:56 +#: src/jade/directives/transactionerror.jade:197 src/jade/tabs/trust.jade:36 +msgid "" +"This request failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "Essa solicitação falhou porque a taxa de rede atual é mais alta do que o limite da sua conta. Você pode ajustar o limite da sua taxa de rede em Configurações > Avançado, ou tentar novamente mais tarde.
Error code: Network fee exceeded [tejMaxFeeExceeded]." + +#: src/jade/directives/transactionerror.jade:59 +#: src/jade/directives/transactionerror.jade:200 +msgid "" +"Your request could not be submitted: {{engine_result}} - " +"{{engine_result_message}}" +msgstr "Sua solicitação não pôde ser submetida: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:67 +msgid "Payment pending" +msgstr "Pagamento pendente" + +#: src/jade/directives/transactionerror.jade:69 +msgid "Payment successful" +msgstr "Pagamento concluído" + +#: src/jade/directives/transactionerror.jade:71 +#: src/jade/directives/transactionerror.jade:82 +#: src/jade/directives/transactionerror.jade:87 +#: src/jade/directives/transactionerror.jade:92 +#: src/jade/directives/transactionerror.jade:101 +#: src/jade/directives/transactionerror.jade:108 +msgid "Payment failed" +msgstr "Pagamento falhou" + +#: src/jade/directives/transactionerror.jade:78 +msgid "Payment failed [tefMAX_LEDGER]." +msgstr "O pagamento falhou [tefMAX_LEDGER]." + +#: src/jade/directives/transactionerror.jade:80 +msgid "Your payment timed out, please try again." +msgstr "O seu pagamento expirou, por favor tente de novo." + +#: src/jade/directives/transactionerror.jade:89 +#: src/jade/messages/sendconvert/confirmation.jade:39 +msgid "" +"Error code: This transaction failed because it exceeded the maximum network " +"fee, please try again later [telINSUF_FEE_P]." +msgstr "Código do erro: Esta transação falhou porque excedeu a taxa máxima da rede, por favor tente mais tarde [telINSUF_FEE_P]." + +#: src/jade/directives/transactionerror.jade:94 +#: src/jade/directives/transactionerror.jade:179 +msgid "Error code: No destination [tecNO_DST]." +msgstr "Código do erro: Não há destinatário [tecNO_DST]." + +#: src/jade/directives/transactionerror.jade:96 +#: src/jade/directives/transactionerror.jade:181 +#: src/jade/messages/sendconvert/confirmation.jade:25 +msgid "" +"Error code: Insufficient XRP sent to destination [tecNO_DST_INSUF_XRP]." +msgstr "Código do erro: Quantia de XRP enviada é insuficiente [tecNO_DST_INSUF_XRP]." + +#: src/jade/directives/transactionerror.jade:105 +msgid "Your payment failed: {{engine_result}} - {{engine_result_message}}" +msgstr "O seu pagamento falhou: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:110 +msgid "Error code: Transaction could not be submitted [tejLost]." +msgstr "Código do erro: A transação não pôde ser submetida [tejLost]." + +#: src/jade/directives/transactionerror.jade:112 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]." +msgstr "Essa solicitação falhou porque a taxa de rede atual é mais alta do que o limite da sua conta. Você pode ajustar o limite da sua taxa de rede em Configurações > Avançado, ou tentar novamente mais tarde.
Error code: Network fee exceeded [tejMaxFeeExceeded]." + +#: src/jade/directives/transactionerror.jade:115 +msgid "" +"Your payment could not be submitted: {{engine_result}} - " +"{{engine_result_message}}" +msgstr "O seu pagamento não pôde ser submetido: {{engine_result}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:121 +msgid "Request is malformed." +msgstr "O pedido foi mal formado." + +#: src/jade/directives/transactionerror.jade:122 +msgid "" +"Your request is invalid, reason: {{engine_result_message}} - " +"{{engine_result_message}}" +msgstr "Seu pedido é inválido, motivo: {{engine_result_message}} - {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:125 +#: src/jade/directives/transactionerror.jade:142 +msgid "Transaction failed." +msgstr "A transação falhou." + +#: src/jade/directives/transactionerror.jade:127 +msgid "You do not have enough funds to create this order [tecUNFUNDED_ORDER]." +msgstr "Você não tem fundos suficientes para criar essa ordem [tecUNFUNDED_ORDER]." + +#: src/jade/directives/transactionerror.jade:129 +msgid "" +"Insufficient reserve amount to submit an order [tecINSUF_RESERVE_OFFER]." +msgstr "Reserva insuficiente para criar uma ordem [tecINSUF_RESERVE_OFFER]." + +#: src/jade/directives/transactionerror.jade:131 +msgid "" +"This transaction failed because the current network fee is higher than your " +"account limit. You can adjust your maximum network fee in Settings > " +"Advanced, or try again later.
Error code: Network fee exceeded " +"[tejMaxFeeExceeded]. {{1}}" +msgstr "Essa solicitação falhou porque a taxa de rede atual é mais alta do que o limite da sua conta. Você pode ajustar o limite da sua taxa de rede em Configurações > Avançado, ou tentar novamente mais tarde.
Error code: Network fee exceeded [tejMaxFeeExceeded]. {{1}}" + +#: src/jade/directives/transactionerror.jade:134 +msgid "More information." +msgstr "Mais informações." + +#: src/jade/directives/transactionerror.jade:138 +msgid "Trade failed." +msgstr "A negociação falhou." + +#: src/jade/directives/transactionerror.jade:140 +msgid "Trade failed, reason: {{engine_result_message}}" +msgstr "Negociação falhou, motivo: {{engine_result_message}}" + +#: src/jade/directives/transactionerror.jade:144 +msgid "" +"The particular server you sent the transaction to was too busy to forward or" +" process your transaction at the fee you included in it [telINSUF_FEE_P]." +msgstr "O servidor ao qual a transação foi enviada estava muito ocupado para encaminhá-la ou processá-la pelo valor da taxa incluída [telINSUF_FEE_P]." + +#: src/jade/directives/transactionerror.jade:152 +msgid "Request pending" +msgstr "Solicitação pendente" + +#: src/jade/directives/transactionerror.jade:154 +msgid "Request successful" +msgstr "Solicitação concluída" + +#: src/jade/messages/sendconvert/confirmation.jade:4 +msgid "Transaction pending." +msgstr "Transação pendente." + +#: src/jade/messages/sendconvert/confirmation.jade:6 +msgid "Transaction successful" +msgstr "Transação concluída" + +#: src/jade/messages/sendconvert/confirmation.jade:8 +#: src/jade/messages/sendconvert/confirmation.jade:11 +#: src/jade/messages/sendconvert/confirmation.jade:16 +#: src/jade/messages/sendconvert/confirmation.jade:21 +#: src/jade/messages/sendconvert/confirmation.jade:30 +#: src/jade/messages/sendconvert/confirmation.jade:37 +#: src/jade/messages/sendconvert/localerror.jade:5 +#: src/jade/messages/sendconvert/localerror.jade:8 +#: src/jade/messages/sendconvert/localerror.jade:11 +#: src/jade/messages/sendconvert/localerror.jade:14 +msgid "Transaction failed" +msgstr "Transação falhou" + +#: src/jade/messages/sendconvert/confirmation.jade:9 src/jade/tabs/brl.jade:25 +#: src/jade/tabs/btc.jade:22 src/jade/tabs/eur.jade:25 +#: src/jade/tabs/gold.jade:25 src/jade/tabs/jpy.jade:25 +#: src/jade/tabs/mxn.jade:25 src/jade/tabs/trust.jade:43 +#: src/jade/tabs/usd.jade:25 +msgid "Please try again later." +msgstr "Por favor tente mais tarde." + +#: src/jade/messages/sendconvert/confirmation.jade:23 +msgid "Error code: The destination account does not exist [tecNO_DST]." +msgstr "Código do erro: A tag do destinatário não existe [tecNO_DST]." + +#: src/jade/messages/sendconvert/confirmation.jade:34 +msgid "Your transaction failed: {{engine_result_message}}" +msgstr "Sua transação falhou: {{engine_result_message}}" + +#: src/jade/messages/sendconvert/localerror.jade:6 +msgid "" +"Error code: The account you're trying to send to does not exist " +"[noDest]." +msgstr "Código do erro: A conta para a qual está tentando enviar não existe [noDest]." + +#: src/jade/messages/sendconvert/localerror.jade:9 +msgid "" +"Error code: Ripple was unable to find a path between you and the destination" +" account [noPath]." +msgstr "Código do erro: Ripple não achou um caminho entre você e a conta destinatária [noPath]." + +#: src/jade/messages/sendconvert/localerror.jade:12 +msgid "" +"Error code: This transaction failed because it exceeded the maximum network " +"fee. [maxfeeExceeded]." +msgstr "Código do erro: Esta transação falhou porque excedeu a taxa de rede máxima. [maxfeeExceeded]." + +#: src/jade/messages/sendconvert/localerror.jade:15 +msgid "" +"Error code: The transaction was rejected by the Ripple network " +"[invalidTransaction]." +msgstr "Código do erro: A transação foi rejeitada pela rede Ripple [invalidTransaction]." + +#: src/jade/messages/sendconvert/localerror.jade:17 +msgid "Account unlock failed" +msgstr "Desbloqueio da conta falhou" + +#: src/jade/messages/sendconvert/localerror.jade:18 +#: src/jade/tabs/trust.jade:40 +msgid "Your account could not be unlocked. Please try again later." +msgstr "Sua conta não pôde ser desbloqueada. Por favor tente de novo mais tarde." + +#: src/jade/messages/sendconvert/localerror.jade:20 +msgid "" +"Sorry, an error occurred while submitting your transaction.Make sure you are" +" connected to the Internet and try again later." +msgstr "Desculpe, ocorreu um erro ao submeter sua transação. Certifique-se que está conectado a internet e tente novamente mais tarde." + +#: src/jade/messages/sendconvert/localerror.jade:22 +msgid "" +"Before trying again, please ensure that the transaction has not been " +"executed already." +msgstr "Antes de tentar novamente, verifique se a sua transação já não foi executada." + +#: src/jade/messages/sendconvert/waiting.jade:5 +msgid "Sending transaction to the Ripple network" +msgstr "Enviando a transação para a rede Ripple" + +#: src/jade/notification/account.jade:3 +msgid "You sent {{1}} {{2}} to {{3}}" +msgstr "Você enviou {{1}} {{2}} para {{3}}" + +#: src/jade/notification/account.jade:11 +msgid "{{tx.counterparty | rpcontactname}} sent you" +msgstr "{{tx.counterparty | rpcontactname}} lhe enviou" + +#: src/jade/notification/account.jade:18 +msgid "{{tx.counterparty | rpcontactname}} now trusts you for" +msgstr "{{tx.counterparty | rpcontactname}} agora confia em você até" + +#: src/jade/popup/modifyOrderError.jade:2 +msgid "Modify Order Error" +msgstr "Modificar Erro de Ordem" + +#: src/jade/popup/modifyOrderError.jade:4 +msgid "Sorry, your order could not be modified." +msgstr "Desculpe, não foi possível modificar sua ordem." + +#: src/jade/popup/modifyOrderError.jade:5 +msgid "" +"Your original order was cancelled but the modified order was not placed. " +"
" +msgstr "Sua ordem original foi cancelada e a ordem modificada não foi criada.
" + +#: src/jade/popup/modifyOrderError.jade:6 +msgid "" +"The quantity of your order changed by {{order.qtyChangeAfterCancel | " +"rpamount}} before the order could be modified.

" +msgstr "A quantia da sua ordem mudou {{order.qtyChangeAfterCancel | rpamount}} antes da ordem ser modificada.

" + +#: src/jade/popup/modifyOrderError.jade:7 +msgid "" +"To safeguard against the possibility of overfills a new order has not been " +"placed.
" +msgstr "Para evitar a possibilidade de extrapolação a nova ordem não foi criada.
" + +#: src/jade/popup/modifyOrderError.jade:8 +msgid "" +"Please check your balance and history before placing the new order manually." +"
" +msgstr "Por favor cheque o seu saldo e histórico antes de criar a nova ordem manualmente.
" + +#: src/jade/popup/modifyOrderError.jade:10 src/jade/popup/unlock.jade:17 +msgid "Close" +msgstr "Fechar" + +#: src/jade/popup/unlock.jade:2 +msgid "Unlock account" +msgstr "Desbloquear conta" + +#: src/jade/popup/unlock.jade:5 src/jade/tabs/login/form.jade:8 +#: src/jade/tabs/recover.jade:38 src/jade/tabs/register.jade:58 +#: src/jade/tabs/security.jade:12 +msgid "Password" +msgstr "Senha" + +#: src/jade/popup/unlock.jade:8 +msgid "Please enter your password to show your secret key." +msgstr "Por favor insira sua senha para ver sua Chave Secreta." + +#: src/jade/popup/unlock.jade:9 src/jade/tabs/send.jade:205 +msgid "Please enter your password to confirm this transaction." +msgstr "Por favor, digite a sua senha para confirmar esta transação." + +#: src/jade/popup/unlock.jade:10 +msgid "This password is incorrect, please try again." +msgstr "A senha está incorreta, por favor, tente novamente." + +#: src/jade/popup/unlock.jade:13 +msgid "Confirming password" +msgstr "Confirmando a senha" + +#: src/jade/popup/unlock.jade:16 src/jade/tabs/account/public.jade:44 +#: src/jade/tabs/security.jade:146 +msgid "Submit" +msgstr "Submeter" + +#: src/jade/tabs/2fa/form.jade:3 +msgid "Country Code" +msgstr "Código do país" + +#: src/jade/tabs/2fa/form.jade:6 src/jade/tabs/kyc.jade:162 +msgid "Phone Number" +msgstr "Número do Telefone" + +#: src/jade/tabs/_usd.jade:6 src/jade/tabs/apps.jade:5 +#: src/jade/tabs/balance.jade:5 src/jade/tabs/brl.jade:6 +#: src/jade/tabs/btc.jade:9 src/jade/tabs/eur.jade:6 +#: src/jade/tabs/exchange.jade:6 src/jade/tabs/fund.jade:6 +#: src/jade/tabs/gold.jade:6 src/jade/tabs/history.jade:6 +#: src/jade/tabs/jpy.jade:6 src/jade/tabs/kyc.jade:6 src/jade/tabs/mxn.jade:6 +#: src/jade/tabs/send.jade:6 src/jade/tabs/su.jade:5 +#: src/jade/tabs/trade.jade:7 src/jade/tabs/trust.jade:6 +#: src/jade/tabs/usd.jade:6 src/jade/tabs/withdraw.jade:6 +#: src/jade/tabs/xrp.jade:6 +msgid "You have to be online to see this screen" +msgstr "Você precisa estar online para ver essa página" + +#: src/jade/tabs/_usd.jade:17 +msgid "USD instant deposit" +msgstr "Depósito instantâneo de USD" + +#: src/jade/tabs/_usd.jade:19 src/jade/tabs/_usd.jade:21 +msgid "Step 1 (Amount)" +msgstr "Passo 1 (Quantia)" + +#: src/jade/tabs/_usd.jade:22 +msgid "Step 2 (Confirmation)" +msgstr "Passo 2 (Confirmação)" + +#: src/jade/tabs/_usd.jade:23 +msgid "Step 3 (Complete deposit)" +msgstr "Passo 3 (Completar depósito)" + +#: src/jade/tabs/_usd.jade:26 +msgid "STEP 1: AMOUNT" +msgstr "PASSO 1: QUANTIA" + +#: src/jade/tabs/_usd.jade:28 +msgid "STEP 2: CONFIRMATION" +msgstr "PASSO 2: CONFIRMAÇÃO" + +#: src/jade/tabs/_usd.jade:30 +msgid "STEP 3: COMPLETE DEPOSIT" +msgstr "PASSO 3: COMPLETAR DEPÓSITO" + +#: src/jade/tabs/_usd.jade:34 +msgid "" +"Success! You've completed your USD deposit. Your funds should be available " +"within a few minutes." +msgstr "Sucesso! Você completou o seu depósito de USD. Seu saldo deve estar disponível em poucos minutos." + +#: src/jade/tabs/_usd.jade:36 +msgid "You cancelled your deposit." +msgstr "Você cancelou o seu depósito." + +#: src/jade/tabs/_usd.jade:38 +msgid "" +"Your deposit failed. Your bank account was not charged. Please contact " +"{{1}}." +msgstr "O seu depósito falhou. Sua conta bancária não foi debitada. Por favor contate {{1}}." + +#: src/jade/tabs/_usd.jade:49 src/jade/tabs/_usd.jade:91 +#: src/jade/tabs/fund.jade:41 src/jade/tabs/history.jade:172 +#: src/jade/tabs/trust.jade:89 +msgid "Amount" +msgstr "Quantia" + +#: src/jade/tabs/_usd.jade:59 src/jade/tabs/_usd.jade:62 +msgid "Select your bank" +msgstr "Selecione o seu banco" + +#: src/jade/tabs/_usd.jade:77 +msgid "" +"Ripple Trade has partnered with SnapSwap to make USD deposits easier. By " +"continuing, you agree to SnapSwap's {{1}}To contact support, email {{2}}." +msgstr "Ripple Trade e SnapSwap fizeram uma parceria para facilitar depósitos em USD. Ao continuar você concorda com os {{1}} do SnapSwap. Para suporte, envie um email para {{2}}." + +#: src/jade/tabs/_usd.jade:93 src/jade/tabs/history.jade:178 +msgid "Fee" +msgstr "Taxa" + +#: src/jade/tabs/_usd.jade:95 +msgid "Total" +msgstr "Total" + +#: src/jade/tabs/_usd.jade:98 +msgid "Calculating..." +msgstr "Calculando..." + +#: src/jade/tabs/_usd.jade:109 src/jade/tabs/register.jade:126 +#: src/jade/tabs/register.jade:133 +msgid "Back" +msgstr "Voltar" + +#: src/jade/tabs/_usd.jade:111 src/jade/tabs/btc.jade:73 +#: src/jade/tabs/exchange.jade:111 src/jade/tabs/send.jade:213 +#: src/jade/tabs/trade.jade:67 src/jade/tabs/trade.jade:77 +#: src/jade/tabs/trade.jade:248 src/jade/tabs/trade.jade:407 +#: src/jade/tabs/trust.jade:140 +msgid "Confirm" +msgstr "Confirmar" + +#: src/jade/tabs/account/navbar.jade:2 +msgid "Public Information" +msgstr "Informação Pública" + +#: src/jade/tabs/account/private.jade:1 +msgid "Profile Information" +msgstr "Informações do Perfil" + +#: src/jade/tabs/account/private.jade:3 +msgid "Identity Information" +msgstr "Informações de Identidade" + +#: src/jade/tabs/account/private.jade:8 src/jade/tabs/account/private.jade:17 +msgid "Completed" +msgstr "Completo" + +#: src/jade/tabs/account/private.jade:9 src/jade/tabs/account/private.jade:18 +msgid "Incomplete" +msgstr "Incompleto" + +#: src/jade/tabs/account/private.jade:10 src/jade/tabs/account/private.jade:19 +msgid "Complete your profile" +msgstr "Complete o seu perfil" + +#: src/jade/tabs/account/private.jade:12 +msgid "Identity Questions" +msgstr "Perguntas de Identidade" + +#: src/jade/tabs/account/public.jade:1 +msgid "Changing your Ripple name..." +msgstr "Mudando o seu nome Ripple" + +#: src/jade/tabs/account/public.jade:2 +msgid "Your Ripple name has been changed successfully." +msgstr "Seu Nome Ripple foi mudado com sucesso." + +#: src/jade/tabs/account/public.jade:3 +msgid "Account settings" +msgstr "Configurações da Conta" + +#: src/jade/tabs/account/public.jade:5 src/jade/tabs/fund/menu.jade:2 +#: src/jade/tabs/login/form.jade:3 +msgid "Ripple name" +msgstr "Nome Ripple" + +#: src/jade/tabs/account/public.jade:9 src/jade/tabs/advanced.jade:27 +#: src/jade/tabs/advanced.jade:44 src/jade/tabs/advanced.jade:63 +#: src/jade/tabs/advanced.jade:86 src/jade/tabs/advanced.jade:134 +#: src/jade/tabs/contacts.jade:61 src/jade/tabs/security.jade:120 +#: src/jade/tabs/security.jade:180 src/jade/tabs/trust.jade:191 +#: src/jade/tabs/trust.jade:193 +msgid "edit" +msgstr "editar" + +#: src/jade/tabs/account/public.jade:12 +msgid "New Ripple name" +msgstr "Novo nome Ripple" + +#: src/jade/tabs/account/public.jade:17 src/jade/tabs/register.jade:35 +#: src/jade/tabs/widgets/balances.jade:24 +msgid "Available" +msgstr "Disponível" + +#: src/jade/tabs/account/public.jade:20 src/jade/tabs/register.jade:39 +msgid "Already taken!" +msgstr "Não disponível!" + +#: src/jade/tabs/account/public.jade:21 +msgid "Reserved for {{usernameReservedFor}}{{1}}{{2}}" +msgstr "Reservado para {{usernameReservedFor}}{{1}}{{2}}" + +#: src/jade/tabs/account/public.jade:24 src/jade/tabs/register.jade:45 +msgid "Must be at least 2 characters" +msgstr "Precisa ter pelo menos 2 caracteres" + +#: src/jade/tabs/account/public.jade:25 src/jade/tabs/register.jade:47 +msgid "Must be at most 20 characters" +msgstr "Precisa ter no máximo 20 caracteres" + +#: src/jade/tabs/account/public.jade:26 +msgid "Only a-z, 0-9 and hyphen (-)" +msgstr "Apenas a-z, 0-9 e hífen (-)" + +#: src/jade/tabs/account/public.jade:27 src/jade/tabs/register.jade:51 +msgid "Cannot start with hyphen (-)" +msgstr "Não pode começar com hífen (-)" + +#: src/jade/tabs/account/public.jade:28 src/jade/tabs/register.jade:53 +msgid "Cannot end with hyphen (-)" +msgstr "Não pode terminar com hífen (-)" + +#: src/jade/tabs/account/public.jade:29 +msgid "Cannot bundle hyphens (--)" +msgstr "Não pode ter 2 hífens seguidos (--)" + +#: src/jade/tabs/account/public.jade:30 src/jade/tabs/register.jade:56 +msgid "Checking..." +msgstr "Checando..." + +#: src/jade/tabs/account/public.jade:32 src/jade/tabs/security.jade:126 +msgid "Current password" +msgstr "Senha atual" + +#: src/jade/tabs/account/public.jade:35 src/jade/tabs/security.jade:18 +#: src/jade/tabs/security.jade:23 +msgid "Entered password is wrong." +msgstr "A senha digitada está errada." + +#: src/jade/tabs/account/public.jade:37 +msgid "Your Ripple name has been changed. Please login again." +msgstr "O seu nome Ripple mudou. Por favor faça novo login." + +#: src/jade/tabs/account/public.jade:39 +msgid "Couldn't change your Ripple name, please try again later." +msgstr "Não foi possível mudar o seu nome Ripple. Tente novamente mais tarde." + +#: src/jade/tabs/account/public.jade:47 src/jade/tabs/advanced.jade:36 +#: src/jade/tabs/advanced.jade:53 src/jade/tabs/advanced.jade:77 +#: src/jade/tabs/advanced.jade:94 src/jade/tabs/advanced.jade:124 +#: src/jade/tabs/btc.jade:74 src/jade/tabs/contacts.jade:50 +#: src/jade/tabs/contacts.jade:93 src/jade/tabs/exchange.jade:113 +#: src/jade/tabs/exchange.jade:126 src/jade/tabs/kyc.jade:116 +#: src/jade/tabs/kyc.jade:131 src/jade/tabs/kyc.jade:156 +#: src/jade/tabs/kyc.jade:157 src/jade/tabs/kyc.jade:186 +#: src/jade/tabs/login/form.jade:26 src/jade/tabs/security.jade:79 +#: src/jade/tabs/security.jade:112 src/jade/tabs/security.jade:149 +#: src/jade/tabs/send.jade:215 src/jade/tabs/send.jade:227 +#: src/jade/tabs/send.jade:252 src/jade/tabs/send.jade:286 +#: src/jade/tabs/trade.jade:55 src/jade/tabs/trust.jade:141 +#: src/jade/tabs/trust.jade:143 src/jade/tabs/trust.jade:213 +#: src/jade/tabs/trust.jade:251 +msgid "cancel" +msgstr "cancelar" + +#: src/jade/tabs/account/public.jade:49 +msgid "Ripple address" +msgstr "Endereço Ripple" + +#: src/jade/tabs/advanced.jade:8 +msgid "Your blob vault has been changed successfully." +msgstr "Seu blob vault foi alterado com sucesso." + +#: src/jade/tabs/advanced.jade:9 +msgid "Your bitcoin bridge has been changed successfully." +msgstr "Sua bridge de bitcoin foi alterada com sucesso." + +#: src/jade/tabs/advanced.jade:10 +msgid "Trustline advanced settings has been changed successfully." +msgstr "Configuração avançada de linha de confiança alterada com sucesso." + +#: src/jade/tabs/advanced.jade:11 +msgid "Maximum network fee has been changed successfully." +msgstr "A taxa máxima de rede foi alterada com sucesso." + +#: src/jade/tabs/advanced.jade:12 +msgid "A new server has been successfully added." +msgstr "Um novo servidor foi adicionado com sucesso." + +#: src/jade/tabs/advanced.jade:13 +msgid "A server has been successfully removed." +msgstr "O servidor foi removido com sucesso." + +#: src/jade/tabs/advanced.jade:14 +msgid "A server has been changed successfully." +msgstr "O servidor foi alterado com sucesso." + +#: src/jade/tabs/advanced.jade:21 +msgid "Blob vault" +msgstr "Blob vault" + +#: src/jade/tabs/advanced.jade:32 src/jade/tabs/advanced.jade:49 +#: src/jade/tabs/advanced.jade:73 src/jade/tabs/advanced.jade:92 +#: src/jade/tabs/advanced.jade:120 src/jade/tabs/contacts.jade:88 +#: src/jade/tabs/fund.jade:65 src/jade/tabs/security.jade:190 +#: src/jade/tabs/send.jade:251 src/jade/tabs/send.jade:284 +#: src/jade/tabs/trust.jade:119 src/jade/tabs/trust.jade:232 +msgid "Save" +msgstr "Salvar" + +#: src/jade/tabs/advanced.jade:34 src/jade/tabs/advanced.jade:51 +#: src/jade/tabs/advanced.jade:75 src/jade/tabs/advanced.jade:122 +#: src/jade/tabs/contacts.jade:91 src/jade/tabs/security.jade:198 +msgid "Delete" +msgstr "Apagar" + +#: src/jade/tabs/advanced.jade:38 +msgid "Bitcoin bridge" +msgstr "Bridge de bitcoin" + +#: src/jade/tabs/advanced.jade:55 +msgid "Trust line" +msgstr "Linha de Confiança" + +#: src/jade/tabs/advanced.jade:60 src/jade/tabs/advanced.jade:71 +#: src/jade/tabs/security.jade:162 +msgid "Show" +msgstr "Mostrar" + +#: src/jade/tabs/advanced.jade:61 src/jade/tabs/security.jade:163 +msgid "Hide" +msgstr "Ocultar" + +#: src/jade/tabs/advanced.jade:78 +msgid "Network settings" +msgstr "Configurações de rede" + +#: src/jade/tabs/advanced.jade:80 +msgid "Maximum network fee" +msgstr "Taxa máxima de rede" + +#: src/jade/tabs/advanced.jade:96 +msgid "Server settings" +msgstr "Configurações de Servidor" + +#: src/jade/tabs/advanced.jade:101 +msgid "WebSocket host name" +msgstr "WebSocket host name" + +#: src/jade/tabs/advanced.jade:103 +msgid "Port number" +msgstr "Número da Porta" + +#: src/jade/tabs/advanced.jade:109 +msgid "Socket ip or hostname is invalid." +msgstr "Ip do socket ou hostname inválido." + +#: src/jade/tabs/advanced.jade:111 +msgid "Port number is invalid." +msgstr "Número de porta inválido." + +#: src/jade/tabs/advanced.jade:118 src/jade/tabs/advanced.jade:131 +msgid "Secure" +msgstr "Seguro" + +#: src/jade/tabs/advanced.jade:132 +msgid "Not Secure" +msgstr "Não seguro" + +#: src/jade/tabs/advanced.jade:138 +msgid "Add new server" +msgstr "Adicionar novo servidor" + +#: src/jade/tabs/apps.jade:27 +msgid "App Ripple Address" +msgstr "Endereço Ripple do App" + +#: src/jade/tabs/apps.jade:29 +msgid "Please enter a ripple address." +msgstr "Por favor insira um endereço ripple." + +#: src/jade/tabs/apps.jade:31 +msgid "Please enter a valid ripple address." +msgstr "Por favor insira um endereço ripple válido." + +#: src/jade/tabs/banner/announcement.jade:2 +msgid "Help our team improve Ripple Trade! {{1:Take a quick user survey.}}" +msgstr "Ajude a nossa equipe a melhorar o Ripple Trade! {{1:Responda uma pesquisa rápida.}}" + +#: src/jade/tabs/banner/unfunded.jade:2 +msgid "" +"Welcome to Ripple Trade! Your account needs to be activated. You can " +"activate it in 2 ways:" +msgstr "Bem-vindo ao Ripple Trade! Sua conta precisa ser ativada. Você pode ativá-la de 2 maneiras:" + +#: src/jade/tabs/banner/unfunded.jade:4 +msgid "" +"Have another user send XRP to your Ripple name " +"(~{{userCredentials.username}}). {{1}}" +msgstr "Pedir a um outro usuário enviar XRP para o seu nome Ripple (~{{userCredentials.username}}). {{1}}" + +#: src/jade/tabs/brl.jade:24 src/jade/tabs/eur.jade:24 +#: src/jade/tabs/gold.jade:24 src/jade/tabs/jpy.jade:24 +#: src/jade/tabs/mxn.jade:24 src/jade/tabs/trust.jade:42 +#: src/jade/tabs/usd.jade:24 +msgid "There was an error while saving your changes." +msgstr "Houve um erro ao salvar as suas alterações." + +#: src/jade/tabs/brl.jade:28 src/jade/tabs/eur.jade:27 +#: src/jade/tabs/gold.jade:27 src/jade/tabs/jpy.jade:28 +#: src/jade/tabs/mxn.jade:28 src/jade/tabs/trust.jade:45 +#: src/jade/tabs/usd.jade:27 +msgid "You must have at least {{1}} to add a new trust line. {{2}}" +msgstr "Você precisa ter pelo menos {{1}} para adicionar uma nova linha de confiança. {{2}}" + +#: src/jade/tabs/brl.jade:38 +msgid "Brazilian Real Deposit" +msgstr "Depósito de Real Brasileiro" + +#: src/jade/tabs/brl.jade:41 src/jade/tabs/btc.jade:35 +#: src/jade/tabs/eur.jade:38 src/jade/tabs/gold.jade:40 +#: src/jade/tabs/jpy.jade:41 src/jade/tabs/mxn.jade:41 +#: src/jade/tabs/trust.jade:167 src/jade/tabs/usd.jade:38 +msgid "Gateway" +msgstr "Gateway" + +#: src/jade/tabs/brl.jade:42 src/jade/tabs/eur.jade:48 +#: src/jade/tabs/mxn.jade:81 src/jade/tabs/mxn.jade:93 +#: src/jade/tabs/mxn.jade:103 src/jade/tabs/security.jade:49 +msgid "{{1}}{{2}}" +msgstr "{{1}}{{2}}" + +#: src/jade/tabs/brl.jade:43 +msgid "Ripple (~rippex)" +msgstr "Ripple (~rippex)" + +#: src/jade/tabs/brl.jade:46 src/jade/tabs/btc.jade:39 +#: src/jade/tabs/eur.jade:44 src/jade/tabs/gold.jade:44 +#: src/jade/tabs/jpy.jade:45 src/jade/tabs/mxn.jade:46 +#: src/jade/tabs/usd.jade:44 +msgid "Availability" +msgstr "Disponibilidade" + +#: src/jade/tabs/brl.jade:47 +msgid "Brazil" +msgstr "Brasil" + +#: src/jade/tabs/brl.jade:49 src/jade/tabs/btc.jade:42 +#: src/jade/tabs/eur.jade:47 src/jade/tabs/gold.jade:47 +#: src/jade/tabs/jpy.jade:48 src/jade/tabs/mxn.jade:49 +#: src/jade/tabs/usd.jade:47 +msgid "Fees" +msgstr "Taxas" + +#: src/jade/tabs/brl.jade:50 src/jade/tabs/jpy.jade:49 +#: src/jade/tabs/kyc.jade:111 src/jade/tabs/kyc.jade:126 +#: src/jade/tabs/kyc.jade:151 +msgid "{{1}}{{2}}{{3}}" +msgstr "{{1}}{{2}}{{3}}" + +#: src/jade/tabs/brl.jade:51 +msgid "Deposit: 1.50 BRL + 0.5%" +msgstr "Depósito: 1.50 BRL + 0.5%" + +#: src/jade/tabs/brl.jade:52 +msgid "Transfer: 0%" +msgstr "Transfer: 0%" + +#: src/jade/tabs/brl.jade:56 src/jade/tabs/btc.jade:45 +#: src/jade/tabs/eur.jade:53 src/jade/tabs/gold.jade:50 +#: src/jade/tabs/jpy.jade:54 src/jade/tabs/mxn.jade:52 +#: src/jade/tabs/usd.jade:50 +msgid "Rating" +msgstr "Avaliação" + +#: src/jade/tabs/brl.jade:62 +msgid "" +"Ripple Trade has partnered with Rippex to provide easy access to BRL. By " +"continuing, you agree with Rippex's {{1}}Following this action will enable " +"Rippex to hold BRL on your behalf." +msgstr "Ripple Trade e Rippex fizeram uma parceria para garantir fácil acesso ao BRL. Ao continuar, você concorda com os {{1}} da Rippex. Essa ação permite que a Rippex custodie BRL para você." + +#: src/jade/tabs/brl.jade:69 +msgid "Add Rippex" +msgstr "Adicionar a Rippex" + +#: src/jade/tabs/brl.jade:70 +msgid "Adding..." +msgstr "Adicionando..." + +#: src/jade/tabs/brl.jade:71 src/jade/tabs/eur.jade:65 +#: src/jade/tabs/jpy.jade:64 src/jade/tabs/usd.jade:62 +msgid "Hide instructions" +msgstr "Ocultar instruções" + +#: src/jade/tabs/brl.jade:72 src/jade/tabs/eur.jade:66 +#: src/jade/tabs/jpy.jade:65 src/jade/tabs/usd.jade:63 +msgid "Show instructions" +msgstr "Mostrar instruções" + +#: src/jade/tabs/brl.jade:75 src/jade/tabs/btc.jade:83 +msgid "{{1}}Not connected" +msgstr "{{1}}Não conectado" + +#: src/jade/tabs/brl.jade:78 src/jade/tabs/btc.jade:86 +msgid "{{1}}Connected" +msgstr "{{1}}Conectado" + +#: src/jade/tabs/brl.jade:81 src/jade/tabs/eur.jade:71 +#: src/jade/tabs/gold.jade:73 src/jade/tabs/jpy.jade:74 +#: src/jade/tabs/mxn.jade:76 src/jade/tabs/usd.jade:68 +msgid "Your account has to be activated before you can add a gateway account." +msgstr "Sua conta precisa ser ativada para poder adicionar um gateway." + +#: src/jade/tabs/brl.jade:84 src/jade/tabs/eur.jade:75 +#: src/jade/tabs/gold.jade:76 src/jade/tabs/jpy.jade:77 +#: src/jade/tabs/mxn.jade:79 src/jade/tabs/usd.jade:72 +msgid "×" +msgstr "×" + +#: src/jade/tabs/brl.jade:85 +msgid "NEW CUSTOMERS- SIGN UP AT RIPPEX" +msgstr "NOVOS USUÁRIOS - CRIE UMA CONTA RIPPEX" + +#: src/jade/tabs/brl.jade:86 +msgid "" +"{{1}} at Rippex.net to initiate deposits and withdrawals. You will " +"need:{{2}}" +msgstr "{{1}} em rippex.net para fazer saques e depósitos. Você vai precisar de:{{2}}" + +#: src/jade/tabs/brl.jade:90 +msgid "A {{1}}" +msgstr "Um {{1}}" + +#: src/jade/tabs/brl.jade:92 +msgid "A bank account in Brazil." +msgstr "Uma conta bancária no Brazil." + +#: src/jade/tabs/brl.jade:96 +msgid "EXISTING RIPPEX CUSTOMERS" +msgstr "USUÁRIOS RIPPEX EXISTENTES" + +#: src/jade/tabs/brl.jade:97 +msgid "If you have a Rippex account, {{1}}" +msgstr "Se você tem uma conta Rippex, {{1}}" + +#: src/jade/tabs/brl.jade:100 +msgid "DEPOSIT INSTRUCTIONS" +msgstr "INSTRUÇÕES DE DEPÓSITO" + +#: src/jade/tabs/brl.jade:101 +msgid "Rippex accepts deposits from all Brazilian banks. Instructions {{1}}" +msgstr "Rippex aceita depósitos de todos os bancos brasileiros. Instruções {{1}}" + +#: src/jade/tabs/btc.jade:19 +msgid "Success! You can deposit BTC via your generated BTC receiving address." +msgstr "Sucesso! Você pode depositar BTC usando o endereço BTC gerado." + +#: src/jade/tabs/btc.jade:21 +msgid "There was an error with your request. {{1}}" +msgstr "Houve um erro com a sua solicitação. {{1}}" + +#: src/jade/tabs/btc.jade:30 +msgid "Bitcoin Deposit" +msgstr "Depósito de Bitcoin" + +#: src/jade/tabs/btc.jade:36 +msgid "btc2ripple (~snapswap) {{1}}" +msgstr "btc2ripple (~snapswap) {{1}}" + +#: src/jade/tabs/btc.jade:40 src/jade/tabs/gold.jade:45 +#: src/jade/tabs/jpy.jade:46 +msgid "All countries" +msgstr "Todos os países" + +#: src/jade/tabs/btc.jade:43 src/jade/tabs/mxn.jade:50 +msgid "0%" +msgstr "0%" + +#: src/jade/tabs/btc.jade:50 +msgid "" +"Ripple Trade has partnered with btc2ripple to make depositing BTC easier. By" +" proceeding, you agree to the btc2ripple {{1}} Following this action will " +"allow btc2ripple to hold BTC on your behalf." +msgstr "Ripple Trade e btc2ripple fizeram uma parceria para criar uma maneira fácil de depositar BTC. Ao continuar, você concorda com os {{1}} da btc2ripple. Essa ação permite que a btc2ripple custodie BTC para você." + +#: src/jade/tabs/btc.jade:56 +msgid "Add btc2ripple" +msgstr "Adicionar btc2ripple" + +#: src/jade/tabs/btc.jade:60 src/jade/tabs/security.jade:64 +#: src/jade/tabs/trust.jade:123 +msgid "Connect" +msgstr "Conectar" + +#: src/jade/tabs/btc.jade:62 +msgid "btc2ripple would like to:" +msgstr "btc2ripple gostaria de:" + +#: src/jade/tabs/btc.jade:64 +msgid "- Receive your email address {{1}}" +msgstr "- Ver o seu endereço de email {{1}}" + +#: src/jade/tabs/btc.jade:65 +msgid "({{userBlob.data.email}})" +msgstr "({{userBlob.data.email}})" + +#: src/jade/tabs/btc.jade:66 +msgid "- Hold deposited BTC on your behalf" +msgstr "- Ser o seu depositário de BTC" + +#: src/jade/tabs/btc.jade:67 +msgid "By proceeding, you agree to the btc2ripple {{1}}" +msgstr "Ao continuar, você concorda com os {{1}} de btc2ripple " + +#: src/jade/tabs/btc.jade:75 +msgid "" +"SnapSwap's btc2ripple service is currently unavailable. Please check back " +"later." +msgstr "O serviço btc2ripple de SnapSwap está indisponível no momento. Por favor, tente mais tarde." + +#: src/jade/tabs/btc.jade:94 +msgid "Personal Deposit address" +msgstr "Endereço Pessoal de Depósito" + +#: src/jade/tabs/btc.jade:96 +msgid "Your account is fully verified." +msgstr "Sua conta está totalmente verificada." + +#: src/jade/tabs/btc.jade:104 +msgid "Withdrawal instructions" +msgstr "Instruções de saque" + +#: src/jade/tabs/btc.jade:105 +msgid "" +"To withdraw to a BTC address, go to the Send tab and enter the BTC address. " +"Using the btc2ripple service, you will be able tosend to that BTC address." +msgstr "Para sacar para um endereço BTC, vá na aba Enviar e coloque o endereço BTC. Usando o serviço do btc2ripple, você poderá enviar para o endereço escolhido." + +#: src/jade/tabs/btc.jade:110 +msgid "Waiting for response from SnapSwap service..." +msgstr "Esperando resposta do SnapSwap..." + +#: src/jade/tabs/btc.jade:112 +msgid "" +"To deposit, generate a bitcoin receiving address using the {{1}} service " +"powered by SnapSwap." +msgstr "Para depositar, gere um endereço para receber Bitcoins usando o {{1}} serviço oferecido por SnapSwap." + +#: src/jade/tabs/contacts.jade:8 +msgid "A new contact has been successfully added." +msgstr "Um novo servidor foi adicionado com sucesso." + +#: src/jade/tabs/contacts.jade:9 +msgid "Your contact has been successfully updated." +msgstr "Seu contato foi alterado com sucesso." + +#: src/jade/tabs/contacts.jade:10 +msgid "A contact has been successfully removed." +msgstr "O contato foi removido com sucesso." + +#: src/jade/tabs/contacts.jade:12 src/jade/tabs/contacts.jade:24 +msgid "Contact" +msgstr "Contato" + +#: src/jade/tabs/contacts.jade:13 src/jade/tabs/contacts.jade:32 +msgid "Ripple name or address" +msgstr "Nome ou endereço Ripple" + +#: src/jade/tabs/contacts.jade:15 src/jade/tabs/contacts.jade:19 +#: src/jade/tabs/contacts.jade:48 +msgid "Add contact" +msgstr "Adicionar contato" + +#: src/jade/tabs/contacts.jade:27 src/jade/tabs/send.jade:245 +#: src/jade/tabs/send.jade:277 +msgid "Please enter a contact." +msgstr "Por favor insira um contato." + +#: src/jade/tabs/contacts.jade:28 +msgid "This contact already exists." +msgstr "Este contato já existe." + +#: src/jade/tabs/contacts.jade:36 +msgid "Please enter a Ripple name." +msgstr "Por favor insira um nome Ripple." + +#: src/jade/tabs/contacts.jade:37 src/jade/tabs/contacts.jade:45 +msgid "" +"You already have a contact with the same Ripple name and/or the same " +"Destination tag." +msgstr "Você já tem um contato com o mesmo nome Ripple e/ou mesma tag do destinatário." + +#: src/jade/tabs/contacts.jade:38 +msgid "Not a valid Ripple name or address." +msgstr "Nome ou endereço ripple inválido." + +#: src/jade/tabs/contacts.jade:41 src/jade/tabs/contacts.jade:81 +#: src/jade/tabs/send.jade:42 src/jade/tabs/tx.jade:56 +msgid "Destination tag" +msgstr "Tag do destinatário" + +#: src/jade/tabs/contacts.jade:42 +msgid "Leave blank if not applicable" +msgstr "Deixar em branco se não aplicável" + +#: src/jade/tabs/contacts.jade:44 src/jade/tabs/send.jade:46 +msgid "Invalid destination tag" +msgstr "Tag do destinatário inválida" + +#: src/jade/tabs/contacts.jade:72 +msgid "You already have a contact with the same name." +msgstr "Você já possui um contato com o mesmo nome." + +#: src/jade/tabs/contacts.jade:78 +msgid "You already have this address." +msgstr "Você já possui este endereço." + +#: src/jade/tabs/contacts.jade:79 src/jade/tabs/debug.jade:14 +msgid "Not a valid address." +msgstr "Não é um endereço válido." + +#: src/jade/tabs/contacts.jade:84 +msgid "Invalid destination tag." +msgstr "Tag do destinatário inválida." + +#: src/jade/tabs/contacts.jade:94 +msgid "" +"You don't have any contacts yet. Click on 'Add contact' button in the top " +"right corner to add a new contact." +msgstr "Você não tem contatos ainda. Clique em \"Adicionar Contato\" no alto à direita para adicionar um contato novo." + +#: src/jade/tabs/debug.jade:9 +msgid "Enter a Ripple name or address" +msgstr "Insira um nome ou endereço Ripple." + +#: src/jade/tabs/debug.jade:13 +msgid "Please enter an address." +msgstr "Por favor insira um endereço." + +#: src/jade/tabs/debug.jade:17 +msgid "Turn on debug mode" +msgstr "Ligar o modo debug" + +#: src/jade/tabs/eur.jade:35 +msgid "Euro Deposit" +msgstr "Depósito em Euro" + +#: src/jade/tabs/eur.jade:39 +msgid "SnapSwap EU (~SnapSwap){{1}}{{2}}" +msgstr "SnapSwap EU (~SnapSwap){{1}}{{2}}" + +#: src/jade/tabs/eur.jade:45 +msgid "All countries, except USA" +msgstr "Todos os países, exceto os Estados Unidos da América" + +#: src/jade/tabs/eur.jade:49 +msgid "€ 0.31 – € 15.00" +msgstr "€ 0.31 – € 15.00" + +#: src/jade/tabs/eur.jade:59 +msgid "" +"Ripple Trade has partnered with SnapSwap to provide easier access to EUR. " +"Following this action will enable SnapSwap to hold EUR on your behalf." +msgstr "Ripple Trade e SnapSwap fizeram uma parceria para criar uma maneira fácil de depositar EUR. Essa ação permite que a SnapSwap custodie EUR para você." + +#: src/jade/tabs/eur.jade:69 src/jade/tabs/usd.jade:66 +msgid "Not connected" +msgstr "Não conectado" + +#: src/jade/tabs/eur.jade:70 src/jade/tabs/usd.jade:67 +msgid "Connected" +msgstr "Conectado" + +#: src/jade/tabs/eur.jade:76 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.EU" +msgstr "NOVOS USUÁRIOS - CRIE UMA CONTA EM SNAPSWAP.EU" + +#: src/jade/tabs/eur.jade:77 +msgid "Register and verify your account at SnapSwap EU. You will need: {{1}}" +msgstr "Crie e verifique sua conta na SnapSwap EU. Você vai precisar de: {{1}}" + +#: src/jade/tabs/eur.jade:81 src/jade/tabs/usd.jade:78 +msgid "" +"A valid government-issued ID: driver license, passport, ID card, or visa " +"stamp." +msgstr "Uma identidade válida emitida por um governo: Carteira de motorista, passaporte, identidade ou carimbo de visto." + +#: src/jade/tabs/eur.jade:83 src/jade/tabs/usd.jade:80 +msgid "A proof of address: driver license, utility bill, bank statement, etc." +msgstr "Um comprovante de endereço: carteira de motorista, conta de luz, extrato bancário, etc" + +#: src/jade/tabs/eur.jade:85 +msgid "EXISTING SNAPSWAP EU CUSTOMERS" +msgstr "USUÁRIOS SNAPSWAP EXISTENTES" + +#: src/jade/tabs/eur.jade:89 src/jade/tabs/jpy.jade:94 +#: src/jade/tabs/usd.jade:86 +msgid "Login to your account {{1}}" +msgstr "Entre em sua conta {{1}}" + +#: src/jade/tabs/eur.jade:92 src/jade/tabs/jpy.jade:96 +msgid "DEPOSITS AND WITHDRAWALS:" +msgstr "DEPÓSITOS E SAQUES:" + +#: src/jade/tabs/eur.jade:96 +msgid "Deposit from your bank (2-4 business days)" +msgstr "Deposite de seu banco (2-4 dias úteis)" + +#: src/jade/tabs/eur.jade:98 +msgid "Withdraw to your bank account in SEPA (2-4 business days)" +msgstr "Saque para sua conta bancária SEPA (2-4 dias úteis)" + +#: src/jade/tabs/eur.jade:100 +msgid "Withdraw to SmartyCash Card (instant)" +msgstr "Saque para o cartão SmartyCash (instantâneo)" + +#: src/jade/tabs/exchange.jade:13 +msgid "You have to be funded before you can exchange money" +msgstr "Sua conta precisa de um saldo mínimo para poder negociar." + +#: src/jade/tabs/exchange.jade:23 +msgid "Buy (Market Order)" +msgstr "Comprar (Ordem ao Mercado)" + +#: src/jade/tabs/exchange.jade:24 +msgid "" +"Submit a buy order at the current market rate. Orders will execute " +"instantly." +msgstr "Criar uma ordem de compra ao valor do mercado. Serão executadas instantaneamente." + +# Receive (amount) +#: src/jade/tabs/exchange.jade:27 +msgid "Receive (amount)" +msgstr "Eu quero comprar" + +#: src/jade/tabs/exchange.jade:34 src/jade/tabs/widgets/balances.jade:49 +msgid "add gateway" +msgstr "adicionar gateway" + +#: src/jade/tabs/exchange.jade:37 src/jade/tabs/send.jade:90 +msgid "Please enter an amount." +msgstr "Por favor digite um valor." + +#: src/jade/tabs/exchange.jade:38 src/jade/tabs/send.jade:91 +#: src/jade/tabs/trade.jade:153 src/jade/tabs/trade.jade:168 +#: src/jade/tabs/trade.jade:183 src/jade/tabs/trust.jade:101 +msgid "Not a valid amount." +msgstr "Valor inválido." + +#: src/jade/tabs/exchange.jade:39 +msgid "" +"You are either trying to convert too little or too much XRP.Minimum amount " +"is 0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "Você está tentando converter muito pouco ou muito XRP. A quantia mínima é 0.000001 XRP e a máxima é 100 bilhões XRP." + +#: src/jade/tabs/exchange.jade:42 src/jade/tabs/send.jade:96 +#: src/jade/tabs/trust.jade:103 +msgid "Your amount has too many digits. The max number of digits is 16." +msgstr "Sua quantia tem muitos dígitos. O número máximo de dígitos é 16." + +#: src/jade/tabs/exchange.jade:43 +msgid "Please enter an amount greater than zero." +msgstr "Por favor digite um valor maior do que zero." + +#: src/jade/tabs/exchange.jade:46 +msgid "{{1}} Calculating..." +msgstr "{{1}} Calculando..." + +#: src/jade/tabs/exchange.jade:50 +msgid "" +"Cannot convert to {{exchange.amount}} {{exchange.currency_name}}. Please " +"make sure your account has enough funds, and a {{1}} to a " +"{{exchange.currency_name}} gateway." +msgstr "Impossível converter {{exchange.amount}} {{exchange.currency_name}}. Por favor certifique-se que sua conta tenha fundos suficientes, e uma {{1}} para um {{exchange.currency_name}} gateway." + +#: src/jade/tabs/exchange.jade:54 +msgid "" +"Sorry! Cannot convert {{exchange.amount}} {{exchange.currency_name}}. Please" +" make sure your account has enough funds." +msgstr "Desculpe! Impossível converter {{exchange.amount}} {{exchange.currency_name}}. Por favor assegure-se que a sua conta tenha fundos suficientes." + +#: src/jade/tabs/exchange.jade:56 src/jade/tabs/send.jade:142 +msgid "Error while calculating path" +msgstr "Erro ao calcular caminho" + +#: src/jade/tabs/exchange.jade:60 +msgid "Exchange" +msgstr "Converter" + +#: src/jade/tabs/exchange.jade:72 +msgid "Exchange {{ alt.amount | rpcurrency }} {{1}}" +msgstr "Negociar {{ alt.amount | rpcurrency }} {{1}}" + +#: src/jade/tabs/exchange.jade:78 src/jade/tabs/send.jade:170 +msgid "Paths last updated {{1}} {{2: seconds}} {{3: second}} ago" +msgstr "Caminhos atualizados {{1}} {{2: segundos}} {{3: sgundo}} atrás" + +#: src/jade/tabs/exchange.jade:89 +msgid "Ripple is calculating a path for your conversion." +msgstr "Ripple está encontrando um caminho para sua conversão." + +#: src/jade/tabs/exchange.jade:94 +msgid "" +"{{1:You are exchanging}}{{2}}{{3:to}}{{4}}{{5:You will pay at " +"most}}{{6}}{{7:Are you sure?}}" +msgstr "{{1:Você irá converter}}{{2}}{{3:em}}{{4}}{{5:Você pagará no máximo}}{{6}}{{7:Tem certeza?}}" + +#: src/jade/tabs/exchange.jade:139 +msgid "Do another conversion" +msgstr "Faça outra conversão" + +#: src/jade/tabs/exchange.jade:141 src/jade/tabs/send.jade:257 +#: src/jade/tabs/send.jade:291 +msgid "Back to balance" +msgstr "Voltar ao saldo" + +#: src/jade/tabs/fund.jade:20 +msgid "Add trust" +msgstr "Adicionar" + +#: src/jade/tabs/fund.jade:27 src/jade/tabs/send.jade:26 +msgid "Enter a Ripple name or contact" +msgstr "Insira um nome ou endereço Ripple." + +#: src/jade/tabs/fund.jade:33 src/jade/tabs/trust.jade:73 +msgid "Account does not meet the minimum XRP reserve." +msgstr "A conta não possui a reserva mínima de XRP." + +#: src/jade/tabs/fund.jade:36 src/jade/tabs/trust.jade:76 +msgid "Please enter a Ripple name, contact, or address." +msgstr "Por favor insira um nome Ripple, contato ou endereço." + +#: src/jade/tabs/fund.jade:37 src/jade/tabs/trust.jade:77 +msgid "You've entered your own address." +msgstr "Você inseriu o seu próprio endereço." + +#: src/jade/tabs/fund.jade:38 src/jade/tabs/trust.jade:78 +msgid "Please enter a valid Ripple name, contact, or address." +msgstr "Por favor insira um nome Ripple válido, contato ou endereço." + +#: src/jade/tabs/fund.jade:48 src/jade/tabs/trust.jade:80 +msgid "Amount field is required" +msgstr "O campo \"Quantia\" é obrigatório" + +#: src/jade/tabs/fund.jade:50 src/jade/tabs/trust.jade:82 +#: src/jade/tabs/trust.jade:105 +msgid "" +"XRP can be sent without extending trust. If you really want to trust in XRP," +" please use XRR currency code." +msgstr "XRP pode ser enviado sem criar uma linha de confiança. Se você realmente quer criar uma linha de confiança para XRP, por favor use o código de moeda XRP." + +#: src/jade/tabs/fund.jade:53 src/jade/tabs/trust.jade:85 +#: src/jade/tabs/trust.jade:108 +msgid "Currency field is required" +msgstr "O campo \"Moeda\" é obrigatório" + +#: src/jade/tabs/fund.jade:59 src/jade/tabs/fund.jade:60 +#: src/jade/tabs/trust.jade:114 src/jade/tabs/trust.jade:115 +msgid "Allow Rippling" +msgstr "Permitir Rippling" + +#: src/jade/tabs/fund.jade:60 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"trust. More " +"information" +msgstr "Permitir que o saldo desta Linha de Confiança seja transferido para outro Emissor de sua confiança. Mais informações" + +#: src/jade/tabs/fund.jade:63 +msgid "Cancel" +msgstr "Cancelar" + +#: src/jade/tabs/fund/menu.jade:3 +msgid "{{1}}XRP" +msgstr "{{1}}XRP" + +#: src/jade/tabs/fund/menu.jade:6 +msgid "Featured gateways" +msgstr "Gateways em destaque" + +#: src/jade/tabs/fund/menu.jade:7 +msgid "{{1}}BRL" +msgstr "{{1}}BRL" + +#: src/jade/tabs/fund/menu.jade:10 +msgid "{{1}}BTC" +msgstr "{{1}}BTC" + +#: src/jade/tabs/fund/menu.jade:13 +msgid "{{1}}EUR" +msgstr "{{1}}EUR" + +#: src/jade/tabs/fund/menu.jade:16 +msgid "{{1}}JPY" +msgstr "{{1}}JPY" + +#: src/jade/tabs/fund/menu.jade:19 +msgid "{{1}}MXN" +msgstr "{{1}}MXN" + +#: src/jade/tabs/fund/menu.jade:22 +msgid "{{1}}USD" +msgstr "{{1}}USD" + +#: src/jade/tabs/fund/menu.jade:25 +msgid "{{1}}XAU" +msgstr "{{1}}XAU" + +#: src/jade/tabs/fund/menu.jade:28 +msgid "Add any gateway" +msgstr "Adicionar qualquer gateway" + +#: src/jade/tabs/fund/menu.jade:30 +msgid "Learn more about gateways" +msgstr "Aprenda mais sobre gateways" + +#: src/jade/tabs/gold.jade:37 +msgid "Gold Deposit" +msgstr "Depósito de Ouro" + +#: src/jade/tabs/gold.jade:41 +msgid "Gold Bullion International (~gbi) {{1}}" +msgstr "Gold Bullion International (~gbi) {{1}}" + +#: src/jade/tabs/gold.jade:48 +msgid "0.5% per year" +msgstr "0.5% por ano" + +#: src/jade/tabs/gold.jade:56 +msgid "" +"Ripple Trade has partnered with GBI to provide easy access toXAU. By " +"continuing, you are allowing GBI to hold gold on your behalf." +msgstr "Ripple Trade e GBI fizeram uma parceria para garantir fácil acesso ao XAU. Essa ação permite que a GBI custodie XAU para você." + +#: src/jade/tabs/gold.jade:67 src/jade/tabs/jpy.jade:68 +#: src/jade/tabs/mxn.jade:70 +msgid "{{1}} Not connected" +msgstr "{{1}}Não conectado" + +#: src/jade/tabs/gold.jade:70 src/jade/tabs/jpy.jade:71 +#: src/jade/tabs/mxn.jade:73 +msgid "{{1}} Connected" +msgstr "{{1}}Conectado" + +#: src/jade/tabs/gold.jade:77 +msgid "Deposit" +msgstr "Depósito" + +#: src/jade/tabs/gold.jade:78 +msgid "" +"GBI does not currently support direct deposits. You can {{1}} or {{2}}." +msgstr "GBI atualmente não permite depósitos diretos. Você pode {{1}} ou {{2}}." + +#: src/jade/tabs/gold.jade:84 +msgid "Withdrawal" +msgstr "Saque" + +#: src/jade/tabs/gold.jade:85 +msgid "" +"You can redeem the physical gold in 1 oz increments.To do so, you'll need to" +" {{1}} and arrange to have the gold shipped to you." +msgstr "Você pode solicitar ouro físico em múltiplos de onças. Para isso, você vai precisar {{1}} e providenciar o frete do ouro." + +#: src/jade/tabs/history.jade:11 +msgid "Loading History" +msgstr "Carregando Histórico" + +#: src/jade/tabs/history.jade:16 +msgid "Your account history is empty" +msgstr "O histórico da sua conta está vazio" + +#: src/jade/tabs/history.jade:24 +msgid "Transaction type{{1}}{{2}}" +msgstr "Tipo de Transação{{1}}{{2}}" + +#: src/jade/tabs/history.jade:37 +msgid "Date{{1}}{{2}}" +msgstr "Data{{1}}{{2}}" + +#: src/jade/tabs/history.jade:42 +msgid "Load history for specific date range" +msgstr "Carregar histórico entre datas específicas" + +#: src/jade/tabs/history.jade:48 +msgid "From" +msgstr "De" + +#: src/jade/tabs/history.jade:54 +msgid "To" +msgstr "Para" + +#: src/jade/tabs/history.jade:57 +msgid "Filter" +msgstr "Filtrar" + +#: src/jade/tabs/history.jade:64 +msgid "Date" +msgstr "Data" + +#: src/jade/tabs/history.jade:65 src/jade/tabs/history.jade:170 +msgid "Description" +msgstr "Descrição" + +#: src/jade/tabs/history.jade:68 src/jade/tabs/history.jade:73 +msgid "Export to CSV" +msgstr "Exportar CSV" + +#: src/jade/tabs/history.jade:69 +msgid "Sorry, no transactions match your current filter." +msgstr "Desculpe, nenhuma transação coincide com os filtros escolhidos." + +#: src/jade/tabs/history.jade:91 +msgid "You sent{{1}}to{{2}}" +msgstr "Você enviou{{1}}para{{2}}" + +#: src/jade/tabs/history.jade:97 +msgid "{{1}}sent you{{2}}" +msgstr "{{1}}lhe enviou{{2}}" + +#: src/jade/tabs/history.jade:103 +msgid "You requested to exchange{{1}}to{{2}}" +msgstr "Você solicitou a conversão de{{1}}para{{2}}" + +#: src/jade/tabs/history.jade:109 +msgid "{{1}}now trusts you for{{2}}" +msgstr "{{1}}agora confia em você até{{2}}" + +#: src/jade/tabs/history.jade:122 src/jade/tabs/history/effects.jade:45 +msgid "You created an order to sell{{1}}for{{2}}" +msgstr "Você criou uma ordem para vender{{1}}por{{2}}" + +#: src/jade/tabs/history.jade:126 src/jade/tabs/history/effects.jade:49 +msgid "You created an order to buy{{1}}for{{2}}" +msgstr "Você criou uma ordem para comprar{{1}}por{{2}}" + +#: src/jade/tabs/history.jade:132 +msgid "You cancelled an order accepting {{1}}for{{2}}" +msgstr "Você cancelou uma ordem aceitando {{1}}por{{2}}" + +#: src/jade/tabs/history.jade:145 +msgid "Unknown transaction" +msgstr "Transação desconhecida" + +#: src/jade/tabs/history.jade:148 +msgid "" +"The client failed to parse this transaction. The developers have been " +"notified of the issue." +msgstr "O aplicativo não pôde analizar essa transação. Os desenvolvedores foram notificados sobre o problema." + +#: src/jade/tabs/history.jade:153 +msgid "{{1}} sent you{{2}} and activated your account!" +msgstr "{{1}} lhe enviou{{2}} e ativou sua conta!" + +#: src/jade/tabs/history.jade:160 +msgid "You deposited{{1}} using {{entry.details.app.name}}" +msgstr "Você depositou{{1}} usando {{entry.details.app.name}}" + +#: src/jade/tabs/history.jade:168 +msgid "Balance Changes" +msgstr "Mudanças no Saldo" + +#: src/jade/tabs/history.jade:171 +msgid "Issuer" +msgstr "Emissor" + +#: src/jade/tabs/history.jade:173 +msgid "Final balance" +msgstr "Saldo final" + +#: src/jade/tabs/history.jade:176 +msgid "XRP Balance Change" +msgstr "Mudança no saldo de XRP" + +#: src/jade/tabs/history.jade:177 +msgid "{{effect.currency}} Balance Change" +msgstr "Mudança no Saldo de {{effect.currency}}" + +#: src/jade/tabs/history.jade:183 +msgid "Transaction details" +msgstr "Detalhes da transação" + +#: src/jade/tabs/history.jade:184 +msgid "Add {{1}} to contact list" +msgstr "Adicionar {{1}} à lista de contatos" + +#: src/jade/tabs/history.jade:189 +msgid "{{1}} Loading more" +msgstr "{{1}} Carregando mais" + +#: src/jade/tabs/history.jade:192 src/jade/tabs/trade.jade:500 +msgid "Load more" +msgstr "Carregar mais" + +#: src/jade/tabs/history.jade:193 +msgid "No more transactions left" +msgstr "Não há mais transações" + +#: src/jade/tabs/history/effects.jade:4 src/jade/tabs/history/effects.jade:19 +msgid "You sold{{1}}for{{2}}" +msgstr "Você nedeu{{1}}por{{2}}" + +#: src/jade/tabs/history/effects.jade:8 src/jade/tabs/history/effects.jade:23 +msgid "You bought{{1}}for{{2}}" +msgstr "Você comprou{{1}}por{{2}}" + +#: src/jade/tabs/history/effects.jade:13 src/jade/tabs/history/effects.jade:28 +msgid "price" +msgstr "preço" + +#: src/jade/tabs/history/effects.jade:17 +msgid "This order has been filled." +msgstr "Esta ordem foi realizada." + +#: src/jade/tabs/history/effects.jade:32 +msgid "The rest of your order has been cancelled due to lack of funds." +msgstr "O restante da sua ordem foi cancelada devido a falta de fundos." + +#: src/jade/tabs/history/effects.jade:33 +msgid "This order has{{1}}remaining." +msgstr "Esta ordem possui{{1}}a realizar." + +#: src/jade/tabs/history/effects.jade:39 +msgid "Order ({{1}} for {{2}}) has been cancelled due to lack of funds." +msgstr "A ordem ({{1}} por {{2}}) foi cancelada por saldo insuficiente." + +#: src/jade/tabs/history/effects.jade:53 +msgid "You bought{{1}}for{{2}}({{3:price}}{{4}})." +msgstr "Você comprou{{1}}por{{2}}({{3:preço}}{{4}})." + +#: src/jade/tabs/history/effects.jade:68 +msgid "{{1}}is trusting you for{{2}}." +msgstr "{{1}}agora confia em você até{{2}}." + +#: src/jade/tabs/history/effects.jade:73 +msgid "You have changed {{1}}trust for{{2}}from{{3}}to{{4}}." +msgstr "Você mudou {{1}}de confiança para{{2}}de{{3}}para{{4}}." + +#: src/jade/tabs/history/effects.jade:83 +msgid "{{1}}changed the{{2}}trust from{{3}}to{{4}}." +msgstr "{{1}}mudou o{{2}}de confiança de{{3}}para{{4}}." + +#: src/jade/tabs/history/effects.jade:92 +msgid "Trust balance between you and{{1}}has been changed by{{2}}." +msgstr "O saldo da linha de confiança entre você e{{1}}mudou em{{2}}." + +#: src/jade/tabs/history/effects.jade:99 +msgid "Your balance has been changed by{{1}}." +msgstr "O seu saldo foi alterado em{{1}}." + +#: src/jade/tabs/jpy.jade:38 +msgid "Japanese Yen Deposit" +msgstr "Depósito de Yen Japonês" + +#: src/jade/tabs/jpy.jade:42 +msgid "Tokyo JPY Issuer (~tokyojpy) {{1}}" +msgstr "Tokyo JPY Issuer (~tokyojpy) {{1}}" + +#: src/jade/tabs/jpy.jade:59 +msgid "" +"Ripple Trade has partnered with Tokyo JPY Issuer to provide easier access to" +" JPY. Following this action will enable Tokyo JPY Issuer to hold JPY on your" +" behalf." +msgstr "Ripple Trade e Tokyo JPY fizeram uma parceria para garantir fácil acesso ao JPY. Essa ação permite que a Tokyo JPY custodie JPY para você." + +#: src/jade/tabs/jpy.jade:78 +msgid "NEW CUSTOMERS- SIGN UP AT TOKYO JPY ISSUER" +msgstr "NOVOS USUÁRIOS - CRIE UMA CONTA EM TOKYO JPY ISSUER" + +#: src/jade/tabs/jpy.jade:79 +msgid "{{1}}at Tokyo JPY Issuer. You will need:{{2}}" +msgstr "{{1}}em Tokyo JPY Issuer. Você vai precisar de:{{2}}" + +#: src/jade/tabs/jpy.jade:84 +msgid "A valid government-issued ID." +msgstr "Uma identidade oficial válida." + +#: src/jade/tabs/jpy.jade:86 +msgid "A proof of address (utility bill, etc)." +msgstr "Um comprovante de endereço (conta de luz, etc)." + +#: src/jade/tabs/jpy.jade:88 +msgid "A bank account under the same name." +msgstr "Uma conta de banco no seu nome." + +#: src/jade/tabs/jpy.jade:90 +msgid "EXISTING TOKYO JPY ISSUER CUSTOMERS" +msgstr "USUÁRIOS TOKYO JPY ISSUER EXISTENTES" + +#: src/jade/tabs/jpy.jade:100 +msgid "" +"Tokyo JPY Issuer accepts deposits and withdrawals via bank transfer. Details" +" {{1}}" +msgstr "Tokyo JPY Issuer aceita depósitos e saques via conta bancária. Detalhes {{1}}" + +#: src/jade/tabs/jpy.jade:103 +msgid "" +"To deposit, you’ll need to first deposit into your Tokyo JPY Issuer account " +"and then initiate a transfer into your Ripple account." +msgstr "Para depositar, você vai precisar primeiro depositar em sua conta Tokyo JPY Issuer para então solicitar uma transferência para sua conta Ripple." + +#: src/jade/tabs/jpy.jade:105 +msgid "" +"To withdraw to a bank account, you’ll first send money from your Ripple " +"account to your Tokyo JPY Issuer account. Follow instructions on the Tokyo " +"JPY Issuer site to send to your bank account." +msgstr "Para sacar para um banco, você deve enviar fundos da sua conta Ripple para sua conta Tokyo JPY Issuer. Então siga as instruções no site da Tokyo JPY Issuer para enviar para sua conta bancária." + +#: src/jade/tabs/kyc.jade:14 +msgid "Profile completion is only available to US residents." +msgstr "Completar o perfil está disponível apenas para residentes dos EUA." + +#: src/jade/tabs/kyc.jade:21 src/jade/tabs/trade.jade:285 +msgid "Verifying your information. Please wait..." +msgstr "Verificando suas informações. Por favor aguarde..." + +#: src/jade/tabs/kyc.jade:23 +msgid "Your identity information has been verified." +msgstr "Suas informações de identidade foram verificadas." + +#: src/jade/tabs/kyc.jade:25 +msgid "Your identity questions have been verified." +msgstr "As perguntas sobre sua identidade foram verificadas." + +#: src/jade/tabs/kyc.jade:27 +msgid "" +"Congratulations, you've verified your identity! You will now be redirected " +"back to the instant deposit page." +msgstr "Parabéns, você verificou sua identidade! Você será redirecionado à página de depósito instantâneo." + +#: src/jade/tabs/kyc.jade:29 +msgid "There was an error with your request. Please try again later." +msgstr "Houve um erro com o seu pedido. Por favor tente de novo mais tarde." + +#: src/jade/tabs/kyc.jade:31 +msgid "" +"There was an error with your request. Make sure your phone number is valid " +"and try again." +msgstr "Houve um erro. Certifique-se que o número do seu telefone é válido e tente do novo." + +#: src/jade/tabs/kyc.jade:33 +msgid "Please check your verification code and try again." +msgstr "Por favor cheque o seu código de verificação e tente de novo." + +#: src/jade/tabs/kyc.jade:35 +msgid "" +"There was an error while requesting the verification code. Please try again " +"later." +msgstr "Houve um erro ao solicitar o seu código de verificação. Por favor, tente mais tarde." + +#: src/jade/tabs/kyc.jade:37 +msgid "" +"We are unable to validate your identity information. Please check your " +"information and try again." +msgstr "Não foi possível verificar as informações da sua identidade. Por favor cheque-as novamente e tente de novo." + +#: src/jade/tabs/kyc.jade:39 +msgid "" +"We are unable to validate your identity questions. Please check your answers" +" and try again." +msgstr "Não foi possível validar as perguntas sobre sua identidade. Cheque suas respostas e tente de novo." + +#: src/jade/tabs/kyc.jade:41 +msgid "" +"Sorry, you've reached your maximum number of verification attempts. Please " +"try again in 24 hours." +msgstr "Desculpe, você atingiu o limite máximo de tentativas de verificação. Tente novamente em 24 horas." + +#: src/jade/tabs/kyc.jade:43 +msgid "" +"We can't verify your identity. Please contact us at support@ripple.com." +msgstr "Não é possível verificar sua identidade. Por favor contate-nos em support@ripple.com." + +#: src/jade/tabs/kyc.jade:48 +msgid "Profile Completion" +msgstr "Conclusão do Perfil" + +#: src/jade/tabs/kyc.jade:52 +msgid "STEP 1: IDENTITY INFORMATION" +msgstr "PASSO 1: INFORMAÇÕES DE IDENTIDADE" + +#: src/jade/tabs/kyc.jade:54 +msgid "STEP 2: IDENTITY QUESTIONS" +msgstr "PASSO 2: PERGUNTAS DE IDENTIDADE" + +#: src/jade/tabs/kyc.jade:56 +msgid "STEP 3: TWO-FACTOR AUTHENTICATION" +msgstr "PASSO3: AUTENTICAÇÃO EM DOIS PASSOS" + +#: src/jade/tabs/kyc.jade:63 +msgid "First Name" +msgstr "Primeiro nome" + +#: src/jade/tabs/kyc.jade:67 +msgid "Last Name" +msgstr "Último Sobrenome" + +#: src/jade/tabs/kyc.jade:71 +msgid "Street Address" +msgstr "Endereço" + +#: src/jade/tabs/kyc.jade:76 +msgid "City" +msgstr "Cidade" + +#: src/jade/tabs/kyc.jade:80 +msgid "State" +msgstr "Estado" + +#: src/jade/tabs/kyc.jade:84 +msgid "ZIP" +msgstr "Código Postal" + +#: src/jade/tabs/kyc.jade:88 +msgid "Date of Birth" +msgstr "Data de Nascimento" + +#: src/jade/tabs/kyc.jade:92 +msgid "Month{{1}}" +msgstr "Mês{{1}}" + +#: src/jade/tabs/kyc.jade:95 +msgid "Day{{1}}" +msgstr "Dia{{1}}" + +#: src/jade/tabs/kyc.jade:98 +msgid "Year{{1}}" +msgstr "Ano{{1}}" + +#: src/jade/tabs/kyc.jade:113 +msgid "Continue to identity questions" +msgstr "Continuar para as perguntas de identidade" + +#: src/jade/tabs/kyc.jade:114 src/jade/tabs/kyc.jade:129 +#: src/jade/tabs/kyc.jade:154 src/jade/tabs/kyc.jade:184 +#: src/jade/tabs/login.jade:17 +msgid "Verifying..." +msgstr "Verificando..." + +#: src/jade/tabs/kyc.jade:120 +msgid "{{ q.question }}{{1}}" +msgstr "{{ p.pergunta }}{{1}}" + +#: src/jade/tabs/kyc.jade:123 +msgid "{{ a.answer }}" +msgstr "{{ r.resposta }}" + +#: src/jade/tabs/kyc.jade:128 +msgid "Continue to two-factor authentication" +msgstr "Continuar para autenticação em dois passos" + +#: src/jade/tabs/kyc.jade:137 +msgid "Two-factor authentication provides extra security for your account." +msgstr "Autenticação em dois passos fornece segurança extra para sua conta." + +#: src/jade/tabs/kyc.jade:145 +msgid "" +"Ripple Trade has partnered with Authy to provide better security for your " +"account.By continuing, you agree to Authy's {{1:Terms of Service}}." +msgstr "Ripple Trade tem uma parceria com Authy para aumentar a segurança da sua conta. Ao continuar, você concorda com os {{1:Termos de uso}} do Authy." + +#: src/jade/tabs/kyc.jade:153 +msgid "Verify phone number" +msgstr "Verifique o seu número de telefone" + +#: src/jade/tabs/kyc.jade:164 +msgid "change" +msgstr "mudar" + +#: src/jade/tabs/kyc.jade:168 +msgid "" +"A verification code has been sent to +{{ currentCountryCode }} {{ " +"phoneNumber }}." +msgstr "Um código de verificação foi enviado para +{{ currentCountryCode }} {{ phoneNumber }}." + +#: src/jade/tabs/kyc.jade:172 src/jade/tabs/login/form.jade:16 +#: src/jade/tabs/security.jade:97 +msgid "Verification Code" +msgstr "Código de Verificação" + +#: src/jade/tabs/kyc.jade:183 +msgid "Submit code" +msgstr "Submeter código" + +#: src/jade/tabs/login.jade:4 src/jade/tabs/migrate.jade:4 +#: src/jade/tabs/recover.jade:3 src/jade/tabs/register.jade:5 +#: src/jade/tabs/register.jade:137 src/jade/tabs/register.jade:184 +msgid "Welcome to Ripple Trade" +msgstr "Bem-vindo ao Ripple Trade" + +#: src/jade/tabs/login.jade:6 src/jade/tabs/migrate.jade:6 +#: src/jade/tabs/recover.jade:5 src/jade/tabs/register.jade:7 +#: src/jade/tabs/register.jade:139 src/jade/tabs/register.jade:186 +msgid "Trade hundreds of assets, from XRP to crypto to gold to fiat." +msgstr "Negocie centenas de ativos, de XRP a criptomoedas, ouro e moedas. " + +#: src/jade/tabs/login.jade:15 src/jade/tabs/login.jade:31 +msgid "Log In" +msgstr "Entrar" + +#: src/jade/tabs/login.jade:18 +msgid "You have successfully verified your email address." +msgstr "Seu email foi verificado com sucesso." + +#: src/jade/tabs/login.jade:19 +msgid "" +"Email verification token is invalid. It has either expired or has been " +"resent. Please check your inbox for the most recent verification email." +msgstr "O código de verificação do email é inválido. Expirou ou foi reenviado. Por favor cheque sua caixa de entrada e procure o email de verificação mais recente." + +#: src/jade/tabs/login.jade:30 +msgid "Logging in" +msgstr "Entrando" + +#: src/jade/tabs/login.jade:34 +msgid "Verify" +msgstr "Verificar" + +#: src/jade/tabs/login.jade:36 src/jade/tabs/register.jade:114 +msgid "Already have a ripple.com/client account? {{1:Migrate}}" +msgstr "Já tem uma conta criada em ripple.com/client? {{1:Migre}}" + +#: src/jade/tabs/login.jade:41 src/jade/tabs/login.jade:42 +#: src/jade/tabs/recover.jade:9 +msgid "Account Recovery" +msgstr "Recuperação de Conta" + +#: src/jade/tabs/login.jade:49 +msgid "{{1:You're sending money to}}{{2}}." +msgstr "{{1:Você enviará dinheiro para}}{{2}}." + +#: src/jade/tabs/login.jade:53 +msgid "{{1:You're sending}}{{2}}{{3: to }}{{4}}." +msgstr "{{1:Você irá enviar}}{{2}}{{3: para }}{{4}}." + +#: src/jade/tabs/login.jade:63 +msgid "" +"{{1:You're connecting to the gateway}}{{2}}{{3:for{{1}}}}{{4:with a limit " +"of{{1}}}}." +msgstr "{{1:Você vai criar uma conexão com o gateway}}{{2}}{{3:para{{1}}}}{{4:com um limite de{{1}}}}." + +#: src/jade/tabs/login.jade:78 +msgid "{{1:You're adding}}{{2}}{{3:to your contacts list}}" +msgstr "{{1:Você vai adicionar}}{{2}}{{3:à sua lista de contatos}}" + +#: src/jade/tabs/login.jade:95 +msgid "{{1}} Log In" +msgstr "{{1}} Entrar" + +#: src/jade/tabs/login.jade:98 +msgid "You can confirm this transaction on the next page." +msgstr "Você pode confirmar esta transação na página seguinte." + +#: src/jade/tabs/login.jade:99 +msgid "New to {{productName}}? {{1:Create a wallet}}" +msgstr "Novo no {{productName}}? {{1:Crie uma carteira}}" + +#: src/jade/tabs/login/form.jade:12 src/jade/tabs/security.jade:91 +msgid "" +"Please enter the verification code from the SMS message sent to your device:" +msgstr "Por favor insira o código de verificação no SMS enviado ao seu dispositivo:" + +#: src/jade/tabs/login/form.jade:13 src/jade/tabs/security.jade:92 +msgid "" +"Please enter the verification code from the Authy app installed on your " +"device:" +msgstr "Por favor, insira o código de verificação do app Authy instalado no seu dispositivo:" + +#: src/jade/tabs/login/form.jade:23 +msgid "Resend" +msgstr "Re-enviar" + +#: src/jade/tabs/login/form.jade:24 src/jade/tabs/security.jade:105 +msgid "Send Via SMS" +msgstr "Enviar SMS" + +#: src/jade/tabs/login/form.jade:30 +msgid "Remember me on this device for 30 days" +msgstr "Lembrar-me nesse dispositivo por 30 dias" + +#: src/jade/tabs/migrate.jade:10 src/jade/tabs/register.jade:17 +#: src/jade/tabs/register.jade:142 src/jade/tabs/register.jade:189 +msgid "Migrate" +msgstr "Migrar" + +#: src/jade/tabs/migrate.jade:11 +msgid "" +"To begin migration, enter the name and passphrase used to encrypt your " +"ripple.com/client wallet below. After migration, you will no longer be able " +"to login on ripple.com/client." +msgstr "Para iniciar a migração, insira abaixo o nome e a senha usadas para encriptar a sua carteira de ripple.com/client. Após a migração, o login em ripple.com/client não estará mais disponível para essa conta." + +#: src/jade/tabs/migrate.jade:15 +msgid "Existing ripple.com/client Wallet name" +msgstr "Nome de carteira de ripple.com/client existente" + +#: src/jade/tabs/migrate.jade:18 +msgid "Passphrase" +msgstr "Senha" + +#: src/jade/tabs/migrate.jade:31 +msgid "Begin Migration" +msgstr "Iniciar Migração" + +#: src/jade/tabs/migrate.jade:32 +msgid "New to {{productName}}? {{1:Sign Up}}" +msgstr "Novo no {{productName}}? {{1:Crie uma conta}}" + +#: src/jade/tabs/migrate.jade:34 +msgid "Have a {{productName}} account? {{1:Log In}}" +msgstr "Já tem uma conta em {{productName}}? {{1:Entre}}" + +#: src/jade/tabs/mxn.jade:38 +msgid "Mexican Peso Deposit" +msgstr "Depósito de Pesos Mexicanos" + +#: src/jade/tabs/mxn.jade:42 +msgid "Bitso (~bitso) {{1}}{{2}}" +msgstr "Bitso (~bitso) {{1}}{{2}}" + +#: src/jade/tabs/mxn.jade:47 +msgid "All countries except the US" +msgstr "Todos os países, exceto os Estados Unidos da América" + +#: src/jade/tabs/mxn.jade:58 +msgid "" +"Ripple Trade has partnered with Bitso to provide easy access to MXN (Mexican" +" Peso). By continuing, you agree with Bitso’s terms of service. Following " +"this action will enable Bitso to hold MXN on your behalf." +msgstr "Ripple Trade e Bitso fizeram uma parceria para garantir fácil acesso ao MXN (Peso Mexicano). Ao continuar, você concorda com os termos de uso da Bitso. Essa ação permite que a Bitso custodie MXN para você." + +#: src/jade/tabs/mxn.jade:80 +msgid "TO FUND/REDEEM MEXICAN PESO:" +msgstr "PARA DEPOSITAR/SACAR PESO MEXICANO" + +#: src/jade/tabs/mxn.jade:82 +msgid "Register or login at {{1}}to initiate deposits and withdrawals." +msgstr "Registre-se ou faça login em {{1}}para iniciar depósitos ou saques." + +#: src/jade/tabs/mxn.jade:86 +msgid "" +"A valid, non-US, state-issued ID (passport, driver's license, etc)." +msgstr "Uma identidade oficial não emitida pelos EUA (passaporte, carteira de motorista, etc)" + +#: src/jade/tabs/mxn.jade:87 +msgid "" +"Proof of address (utility bill or other type of bill that has your address " +"on it). Verification is required for peso deposits or withdrawals." +msgstr "Comprovante de endereço (conta de luz ou outro tipo que contenha seu endereço). Verificação é necessária para fazer depósitos ou saques." + +#: src/jade/tabs/mxn.jade:89 +msgid "" +"To fund your Ripple account, see the below options. Once a balance is " +"deposited with Bitso, you can send it to your Ripple account using the Bitso" +" Dashboard." +msgstr "Para depositar em sua conta Ripple, veja as opções abaixo. Após o depósito na Bitso, você pode enviá-lo para sua conta Ripple usando o Bitso Dashboard." + +#: src/jade/tabs/mxn.jade:90 +msgid "" +"To withdraw from your Ripple account, click on the 'Redeem from Ripple' " +"button on the Bitso Dashboard." +msgstr "Para sacar de sua conta Ripple, clique no botão 'Sacar do Ripple' no Bitso Dashboard." + +#: src/jade/tabs/mxn.jade:92 src/jade/tabs/usd.jade:89 +msgid "DEPOSIT OPTIONS" +msgstr "OPÇÕES DE DEPÓSITO" + +#: src/jade/tabs/mxn.jade:94 +msgid "Bitso accepts deposits by the following methods:" +msgstr "Bitso aceita depósitos pelos seguintes métodos:" + +#: src/jade/tabs/mxn.jade:96 src/jade/tabs/mxn.jade:106 +msgid "Bank Wire" +msgstr "Transferência Bancária" + +#: src/jade/tabs/mxn.jade:97 src/jade/tabs/mxn.jade:107 +msgid "SPEI (Mexican instant inter-bank transfer)" +msgstr "SPEI (Transferência Interbancária Mexicana)" + +#: src/jade/tabs/mxn.jade:98 src/jade/tabs/mxn.jade:108 +msgid "Bitcoin" +msgstr "Bitcoin" + +#: src/jade/tabs/mxn.jade:99 +msgid "MXN Cash (at locations across Mexico)" +msgstr "MXN em dinheiro (em locais no México)" + +#: src/jade/tabs/mxn.jade:100 +msgid "Pademobile wallet" +msgstr "Carteira Pademobile" + +#: src/jade/tabs/mxn.jade:102 src/jade/tabs/usd.jade:99 +msgid "WITHDRAWAL OPTIONS" +msgstr "OPÇÕES DE SAQUE" + +#: src/jade/tabs/mxn.jade:104 +msgid "Bitso offers withdrawals via the following methods:" +msgstr "Bitso aceita saques pelos seguintes métodos:" + +#: src/jade/tabs/recover.jade:11 +msgid "" +"You can only recover your Ripple Trade account with a secret key. You will " +"recover the account's Ripple name, contacts and other information." +msgstr "Você só pode recuperar sua conta Ripple Trade com uma Chave Secreta. Você vai recuperar nome Ripple da conta, contatos e outras informações." + +#: src/jade/tabs/recover.jade:13 src/jade/tabs/recover.jade:33 +msgid "Ripple Name" +msgstr "Nome Ripple" + +#: src/jade/tabs/recover.jade:18 +msgid "Secret Key" +msgstr "Chave Secreta" + +#: src/jade/tabs/recover.jade:21 +msgid "Unable to recover account." +msgstr "Impossível recuperar conta." + +#: src/jade/tabs/recover.jade:27 src/jade/tabs/register.jade:95 +msgid "Recover Account" +msgstr "Recuperar conta" + +#: src/jade/tabs/recover.jade:29 src/jade/tabs/recover.jade:56 +msgid "Set Password" +msgstr "Criar Senha" + +#: src/jade/tabs/recover.jade:31 +msgid "" +"Your account was sucessfully recovered. Please re-encrypt your account with " +"a new password." +msgstr "Sua conta foi recuperada com sucesso . Por favor, re-criptografar sua conta com uma nova senha." + +#: src/jade/tabs/recover.jade:41 src/jade/tabs/register.jade:62 +#: src/jade/tabs/security.jade:132 +msgid "" +"Your password is weak. It does not contain numbers and symbols or it is too " +"short." +msgstr "Sua senha é fraca. Ele não contém números e símbolos ou é muito curta." + +#: src/jade/tabs/recover.jade:43 src/jade/tabs/register.jade:65 +#: src/jade/tabs/security.jade:134 +msgid "" +"Your Ripple name and password cannot match. Please create a new password." +msgstr "Seu nome Ripple e sua senha não podem ser iguais. Por favor crie uma nova senha." + +#: src/jade/tabs/recover.jade:45 src/jade/tabs/register.jade:67 +#: src/jade/tabs/security.jade:136 +msgid "Confirm password" +msgstr "Confirme a senha" + +#: src/jade/tabs/recover.jade:48 src/jade/tabs/register.jade:71 +#: src/jade/tabs/security.jade:139 +msgid "Passwords do not match" +msgstr "Senhas não correspondem" + +#: src/jade/tabs/recover.jade:50 +msgid "Unable to change your account password." +msgstr "Impossível mudar a Senha da sua conta." + +#: src/jade/tabs/recover.jade:55 +msgid "Updating..." +msgstr "Atualizando..." + +#: src/jade/tabs/recover.jade:57 +msgid "Remember your password? {{1:Log In}}" +msgstr "Lembrar sua senha? {{1:Login}}" + +#: src/jade/tabs/register.jade:13 src/jade/tabs/register.jade:109 +#: src/jade/tabs/register.jade:141 src/jade/tabs/register.jade:188 +msgid "Sign Up" +msgstr "Criar Conta" + +#: src/jade/tabs/register.jade:19 src/jade/tabs/register.jade:21 +#: src/jade/tabs/register.jade:23 src/jade/tabs/register.jade:146 +#: src/jade/tabs/register.jade:148 src/jade/tabs/register.jade:191 +#: src/jade/tabs/register.jade:193 src/jade/tabs/register.jade:195 +msgid "Step {{1}}" +msgstr "Passo {{1}}" + +#: src/jade/tabs/register.jade:26 +msgid "Create Ripple name" +msgstr "Crie um Nome Ripple" + +#: src/jade/tabs/register.jade:27 +msgid "" +"Please choose a Ripple name below. You will use this Ripple name to login to" +" Ripple Trade, so remember it! Ripple names are unique and public, like your" +" current Ripple address. {{1}}" +msgstr "Por favor escolha um nome Ripple abaixo. Você vai usar este nome Ripple para fazer login no Ripple Trade, então guarde-o! Nomes Ripple são únicos e públicos, como o seu endereço Ripple atual. {{1}}" + +#: src/jade/tabs/register.jade:28 +msgid "Learn More" +msgstr "Saber Mais" + +#: src/jade/tabs/register.jade:41 +msgid "Reserved for {{usernameReservedFor}}" +msgstr "Reservado para {{usernameReservedFor}}" + +#: src/jade/tabs/register.jade:43 +msgid "" +"This name belongs to a high-traffic website and has been reserved to prevent" +" phishing." +msgstr "Este nome pertence a um website de alto tráfego e foi reservado para prevenir phishing." + +#: src/jade/tabs/register.jade:49 +msgid "You can only use the following characters: a-z, 0-9 and hyphens (-)" +msgstr "Você pode usar somente os seguintes caracteres: a-z, 0-9 and hyphens (-)" + +#: src/jade/tabs/register.jade:55 +msgid "Cannot use hyphens in a row (--)" +msgstr "Não é permitido usar hífens em sequência (--)" + +#: src/jade/tabs/register.jade:80 +msgid "Email address is invalid" +msgstr "Endereço de email inválido" + +#: src/jade/tabs/register.jade:82 src/jade/tabs/security.jade:151 +msgid "Secret key" +msgstr "Chave Secreta" + +#: src/jade/tabs/register.jade:83 src/jade/tabs/send.jade:43 +#: src/jade/tabs/trade.jade:441 +msgid "hide" +msgstr "ocultar" + +#: src/jade/tabs/register.jade:88 +msgid "Secret Account Key is invalid" +msgstr "Chave Secreta inválida" + +#: src/jade/tabs/register.jade:90 +msgid "" +"The account ~{{1}}{{2}} has already been created using this secret key." +msgstr "A conta ~{{1}}{{2}} já foi criada usando essa chave secreta." + +#: src/jade/tabs/register.jade:98 +msgid "I agree to the {{productName}} {{1:Terms of Use}}" +msgstr "Eu concordo com os {{1:Termos de Uso}} de {{productName}} " + +#: src/jade/tabs/register.jade:101 +msgid "" +"Please see our {{1}} to see how we collect, use and share information about " +"you" +msgstr "Por favor, veja a nossa {{1}} para ver como podemos coletar, usar e compartilhar informações sobre você" + +#: src/jade/tabs/register.jade:110 +msgid "Migrate Account" +msgstr "Migrar Conta" + +#: src/jade/tabs/register.jade:111 +msgid "Need to use your secret key? {{1}}" +msgstr "Precisa usar sua Chave Secreta? {{1}}" + +#: src/jade/tabs/register.jade:113 +msgid "Use key" +msgstr "Usar chave" + +#: src/jade/tabs/register.jade:121 +msgid "An error occurred during registration. Please try again later." +msgstr "Houve um erro durante o registro. Por favor tente novamente mais tarde." + +#: src/jade/tabs/register.jade:122 +msgid "The reported error was: {{1}}" +msgstr "O erro informado foi: {{1}}" + +#: src/jade/tabs/register.jade:131 +msgid "" +"There is already a wallet using this username, please choose a different " +"username and try again." +msgstr "Já existe uma carteira de usar este nome de usuário, por favor, escolha um nome de usuário diferente e tente novamente." + +#: src/jade/tabs/register.jade:150 +msgid "" +"By proceeding, you understand that Ripple Trade does not provide a password " +"or secret key recovery mechanism. If you forget your Ripple name/password " +"and secret key, you will be unable to access this Ripple account." +msgstr "Ao prosseguir, você entende que Ripple Trade não fornece uma senha nem um mecanismo de recuperação de chave secreta. Se você esquecer seu nome Ripple / senha e chave secreta, você não será capaz de acessar essa conta Ripple." + +#: src/jade/tabs/register.jade:155 +msgid "" +"You are now migrating your account- meaning you'll no longer be able to " +"access your account from ripple.com/client. You will retain all of your " +"balances, contacts, and account history. Your account will use the same " +"secret key as before. If you have already saved your secret key, please " +"continue your migration." +msgstr "Você está migrando sua conta, ou seja, você não será mais capaz de acessar sua conta em ripple.com/client. Você não vai perder os seus saldos, contatos, e histórico da conta. Sua conta vai usar a mesma chave secreta de antes. Se você já salvou sua chave secreta, por favor, continue a sua migração." + +#: src/jade/tabs/register.jade:162 +msgid "" +"The secret key unlocks access to all your account funds in the event you " +"lose your Ripple name or password. Please write it down and store it " +"somewhere private and safe. {{1:Read more}} about keys and wallet safety." +msgstr "A chave secreta desbloqueia o acesso a todos os fundos do conta no caso de você perder o seu nome Ripple ou senha. Por favor anote-a e guarde-a em algum lugar privado e seguro. {{1:Leia mais}} sobre chaves e segurança da carteira." + +#: src/jade/tabs/register.jade:167 +msgid "" +"If you have not saved your secret key, please write it down and store it " +"somewhere private and safe. In the event you lose your Ripple name or " +"password, you can use this secret key to recover your funds." +msgstr "Se você não salvou sua chave secreta, por favor anote-a e guarde-a em algum lugar privado e seguro. No caso de você perder o seu nome Ripple ou senha, você pode usar essa chave secreta para recuperar seus fundos." + +#: src/jade/tabs/register.jade:176 +msgid "Show secret key" +msgstr "Mostrar Chave Secreta" + +#: src/jade/tabs/register.jade:177 +msgid "Hide secret key" +msgstr "Ocultar Chave Secreta" + +#: src/jade/tabs/register.jade:180 +msgid "Continue to email verification" +msgstr "Continuar para verificação de email" + +#: src/jade/tabs/register.jade:197 +msgid "" +"We’ve sent an email to {{1}}. To complete registration, click the link in " +"the email." +msgstr "Enviamos um e-mail para {{1}}. Para completar o registro, clique no link do e-mail." + +#: src/jade/tabs/register.jade:200 +msgid "Email token has been resent." +msgstr "O token foi re-enviado por email" + +#: src/jade/tabs/register.jade:203 +msgid "Email Address:" +msgstr "Endereço de email" + +#: src/jade/tabs/register.jade:210 +msgid "Re-send Email" +msgstr "Reenviar Email" + +#: src/jade/tabs/security.jade:7 +msgid "Active Session Timeout" +msgstr "Sessão Ativa Expirou" + +#: src/jade/tabs/security.jade:8 +msgid "" +"To view or edit your security settings, you must currently have an active " +"session." +msgstr "Para visualizar ou editar as configurações de segurança, você deve ter uma sessão ativa." + +#: src/jade/tabs/security.jade:16 +msgid "Restore Session" +msgstr "Restaurar Sessão" + +#: src/jade/tabs/security.jade:25 +msgid "Your Ripple password has been changed, please login again" +msgstr "Sua senha Ripple foi alterada, por favor faça novo login." + +#: src/jade/tabs/security.jade:27 +msgid "Couldn't change your Ripple password, please try again later." +msgstr "Não foi possível mudar a sua senha Ripple, tente novamente mais tarde." + +#: src/jade/tabs/security.jade:30 +msgid "Changing your Ripple password..." +msgstr "Mudando sua Senha Ripple..." + +#: src/jade/tabs/security.jade:31 +msgid "Your Ripple password has been changed successfully." +msgstr "Sua senha Ripple foi alterada com sucesso." + +#: src/jade/tabs/security.jade:32 +msgid "Unable to load Two-factor authentication settings." +msgstr "Não é possível carregar as configurações de autenticação em dois passos." + +#: src/jade/tabs/security.jade:33 +msgid "Error saving Two-factor authentication settings." +msgstr "Erro ao salvar as configurações de autenticação em dois passos." + +#: src/jade/tabs/security.jade:34 +msgid "The verification code is invalid." +msgstr "O código de verificação é inválido." + +#: src/jade/tabs/security.jade:36 +msgid "Two-factor authentication has been successfully enabled." +msgstr "Autenticação em dois passos ativada com sucesso." + +#: src/jade/tabs/security.jade:37 +msgid "Two-factor authentication has been successfully disabled." +msgstr "Autenticação em dois passos desativada com sucesso." + +#: src/jade/tabs/security.jade:38 +msgid "Password protection has been successfully enabled." +msgstr "A proteção por senha foi ativada com sucesso." + +#: src/jade/tabs/security.jade:39 +msgid "Password protection has been successfully disabled." +msgstr "A proteção por senha foi desativada com sucesso." + +#: src/jade/tabs/security.jade:45 +msgid "Security settings" +msgstr "Configurações de segurança" + +#: src/jade/tabs/security.jade:51 +msgid "Loading Two-factor authentication settings..." +msgstr "Carregando configurações da autenticação em dois passos..." + +#: src/jade/tabs/security.jade:55 +msgid "Enabled" +msgstr "Ativada" + +#: src/jade/tabs/security.jade:56 +msgid "Disabled" +msgstr "Desativada" + +#: src/jade/tabs/security.jade:58 +msgid "disable" +msgstr "desativar" + +#: src/jade/tabs/security.jade:60 +msgid "enable" +msgstr "ativar" + +#: src/jade/tabs/security.jade:66 +msgid "" +"Authy is providing two-factor authentication for Ripple Trade. To enable " +"two-factor authentication, you must share some information with Authy." +msgstr "Authy está fornecendo autenticação em dois passos para o Ripple Trade. Para habilitar a autenticação em dois passos, você deve compartilhar algumas informações com Authy." + +#: src/jade/tabs/security.jade:69 +msgid "- Your email address:" +msgstr "- Seu email:" + +#: src/jade/tabs/security.jade:72 +msgid "- Your phone number:" +msgstr "- O número do seu telefone:" + +#: src/jade/tabs/security.jade:74 +msgid "By proceeding, you agree to the Authy {{1: terms of service.}}" +msgstr "Ao continuar, você concorda com os {{1: termos de uso}} do Authy." + +#: src/jade/tabs/security.jade:78 +msgid "Share" +msgstr "Compartilhar" + +#: src/jade/tabs/security.jade:84 +msgid "Saving settings..." +msgstr "Salvando configurações..." + +#: src/jade/tabs/security.jade:85 +msgid "Disabling Two-factor authentication..." +msgstr "Desativando autenticação em dois passos..." + +#: src/jade/tabs/security.jade:86 +msgid "Enabling Two-factor authentication..." +msgstr "Ativando autenticação em dois passos..." + +#: src/jade/tabs/security.jade:104 +msgid "Resend Code" +msgstr "Re-enviar Código" + +#: src/jade/tabs/security.jade:110 +msgid "Enable" +msgstr "Ativar" + +#: src/jade/tabs/security.jade:114 +msgid "Ripple password" +msgstr "Senha Ripple" + +#: src/jade/tabs/security.jade:129 +msgid "New password" +msgstr "Nova senha" + +#: src/jade/tabs/security.jade:153 +msgid "" +"Your secret key unlocks access to your account funds. Please write it down " +"and store it somewhere private and safe. In the event you lose your Ripple " +"name or password, you can use this secret key to recover your funds." +msgstr "Sua Chave Secreta dá acesso aos fundos da sua conta. Por favor anote-a e guarde-a em um lugar privado e seguro. No caso de você perder o seu nome Ripple ou senha, você pode usar essa Chave Secreta para recuperar seus fundos." + +#: src/jade/tabs/security.jade:165 +msgid "Password protection for transactions" +msgstr "Solicitar senha para transações" + +#: src/jade/tabs/security.jade:168 +msgid "" +"If you turn off password requests, you’ll still need to enter your password " +"after each page refresh." +msgstr "Se você desativar as solicitações de senha, você ainda precisará digitar sua senha após cada atualização da página." + +#: src/jade/tabs/security.jade:176 +msgid "Yes" +msgstr "Sim" + +#: src/jade/tabs/security.jade:177 +msgid "No" +msgstr "Não" + +#: src/jade/tabs/security.jade:192 +msgid "Delete Ripple Trade account" +msgstr "Apagar a conta Ripple Trade" + +#: src/jade/tabs/security.jade:194 +msgid "" +"This deletes your Ripple Trade account. You will no longer be able to login " +"to Ripple Trade and your account data will be deleted. However, you can " +"still access your funds using your secret key." +msgstr "Isso apaga a sua conta Ripple Trade. Você não será mais capaz de entrar no Ripple Trade e sua conta será apagada. Porém, você ainda poderá acessar os seus fundos usando sua chave secreta." + +#: src/jade/tabs/send.jade:12 +msgid "You have to be funded before you can send money" +msgstr "Você precisa ter fundos antes de enviar dinheiro" + +#: src/jade/tabs/send.jade:25 +msgid "Recipient" +msgstr "Destinatário" + +#: src/jade/tabs/send.jade:30 +msgid "Please enter a recipient." +msgstr "Por favor insira um destinatário." + +#: src/jade/tabs/send.jade:32 +msgid "" +"Recipient should be a Ripple name, a contact, or Ripple/Bitcoin address." +msgstr "Destinatário deve ser um nome Ripple, um contato ou endereço Ripple / Bitcoin." + +#: src/jade/tabs/send.jade:34 +msgid "This email address is not Ripple-enabled." +msgstr "Este endereço de email não está Ripple-ativado." + +#: src/jade/tabs/send.jade:38 +msgid "Show destination tag" +msgstr "Mostrar tag do destinatário" + +#: src/jade/tabs/send.jade:47 +msgid "Destination cannot be blank." +msgstr "Destinatário não pode estar em branco" + +#: src/jade/tabs/send.jade:48 +msgid "" +"Recipient requires a destination tag to be specified for the transaction. If" +" you don't know the destination tag, please contact them before doing a " +"transaction." +msgstr "A conta de destino exige que a tag do destinatário seja especificada para esta transação. Se você não sabe a tag do destinatário, por favor contate-o antes de fazer a transação." + +#: src/jade/tabs/send.jade:53 +msgid "Source tag" +msgstr "Tag do remetente" + +#: src/jade/tabs/send.jade:56 +msgid "Invalid source tag" +msgstr "Tag do remetente inválida" + +#: src/jade/tabs/send.jade:59 +msgid "Invoice ID" +msgstr "Invoice ID" + +#: src/jade/tabs/send.jade:62 +msgid "Invoice ID must not be more than 64 characters long." +msgstr "Invoice ID não pode ter mais de 64 caracteres." + +#: src/jade/tabs/send.jade:77 +msgid "Recipient will receive" +msgstr "Destinatário vai receber" + +#: src/jade/tabs/send.jade:88 +msgid "{{send.recipient | rpcontactname}} can't receive this currency." +msgstr "{{send.recipient | rpcontactname}} não pode receber esta moeda." + +#: src/jade/tabs/send.jade:92 src/jade/tabs/trust.jade:102 +msgid "Amount must be greater than zero." +msgstr "A quantia deve ser maior do que zero" + +#: src/jade/tabs/send.jade:93 +msgid "" +"You are either trying to send too little or too much XRP.Minimum amount is " +"0.000001 XRP and maximum amount is 100 billion XRP." +msgstr "Você está tentando converter muito pouco ou muito XRP. A quantia mínima é 0.000001 XRP e a máxima é 100 bilhões XRP." + +#: src/jade/tabs/send.jade:97 +msgid "" +"Recipient does not allow XRP payments. Are you sure you want to send XRP " +"anyway?" +msgstr "O destinatário não permite pagamentos em XRP. Deseja enviar XRP mesmo assim?" + +#: src/jade/tabs/send.jade:99 +msgid "" +"{{send.recipient | rpcontactname}}trusts you for {{send.trust_limit | " +"rpamount}} {{send.trust_limit | rpcurrency}}." +msgstr "{{send.recipient | rpcontactname}}confia em você até {{send.trust_limit | rpamount}} {{send.trust_limit | rpcurrency}}." + +#: src/jade/tabs/send.jade:103 +msgid "Send XRP" +msgstr "Enviar XRP" + +#: src/jade/tabs/send.jade:107 +msgid "" +"Destination account is unfunded; send at least {{send.xrp_deficiency | " +"rpamount}} XRP to fund it.{{1}}" +msgstr "A conta de destino não foi ativada ainda; envie pelo menos {{send.xrp_deficiency | rpamount}} XRP para ativá-la.{{1}}" + +#: src/jade/tabs/send.jade:114 +msgid "Checking" +msgstr "Checando" + +#: src/jade/tabs/send.jade:117 +msgid "Analyzing address" +msgstr "Analisando endereço" + +#: src/jade/tabs/send.jade:120 +msgid "Scanning accepted currencies" +msgstr "Verificando moedas aceitas" + +#: src/jade/tabs/send.jade:123 +msgid "Requesting quote" +msgstr "Solicitando cotação" + +#: src/jade/tabs/send.jade:126 +msgid "Calculating paths" +msgstr "Calculando caminho" + +#: src/jade/tabs/send.jade:129 +msgid "Calculating alternatives" +msgstr "Calculando alternativas" + +#: src/jade/tabs/send.jade:130 +msgid "" +"You cannot send {{send.amount}} {{send.currency}} to {{send.recipient}}. " +"Either your account has insufficient funds, or {{send.recipient}} doesn't " +"accept {{send.currency}}." +msgstr "Você não pode enviar {{send.amount}} {{send.currency}} para {{send.recipient}}. Ou sua conta não tem fundos suficientes, ou {{send.recipient}} não aceita {{send.currency}}." + +#: src/jade/tabs/send.jade:134 +msgid "" +"You cannot send {{send.amount}} {{send.currency}} to{{send.recipient}}. Your" +" account has insufficient funds." +msgstr "Você não pode enviar {{send.amount}} {{send.currency}} para{{send.recipient}}. Sua conta não tem fundos suficientes." + +#: src/jade/tabs/send.jade:137 +msgid "There are no valid currency choices for this destination." +msgstr "Não há escolhas válidas para esse destinatário." + +#: src/jade/tabs/send.jade:139 +msgid "Error while retrieving quote for outbound payment. {{1}}" +msgstr "Erro ao obter cotação para pagamento de saída. {{1}}" + +#: src/jade/tabs/send.jade:148 +msgid "You can send" +msgstr "Você pode enviar" + +#: src/jade/tabs/send.jade:150 +msgid "Or you can send" +msgstr "Ou você pode enviar" + +#: src/jade/tabs/send.jade:164 +msgid "Send {{ alt.amount | rpcurrency }} {{1}}" +msgstr "Enviar {{ alt.amount | rpcurrency }} {{1}}" + +#: src/jade/tabs/send.jade:181 +msgid "Ripple is calculating a path for your payment." +msgstr "Ripple está calculando um caminho para o seu pagamento." + +#: src/jade/tabs/send.jade:186 +msgid "You are sending {{1}} to" +msgstr "Você vai enviar {{1}} para" + +#: src/jade/tabs/send.jade:194 +msgid "Destination tag: {{send.dt}}" +msgstr "Tag do destinatário: {{send.dt}}" + +#: src/jade/tabs/send.jade:195 +msgid "They will receive" +msgstr "O destinatário receberá" + +#: src/jade/tabs/send.jade:198 +msgid "You will pay at most" +msgstr "Você vai pagar no máximo" + +#: src/jade/tabs/send.jade:204 +msgid "Are you sure?" +msgstr "Tem certeza?" + +#: src/jade/tabs/send.jade:210 +msgid "Password required to unlock wallet" +msgstr "A senha é necessária para destravar a carteira" + +#: src/jade/tabs/send.jade:234 src/jade/tabs/send.jade:266 +msgid "Contact saved!" +msgstr "Contato salvo!" + +#: src/jade/tabs/send.jade:236 src/jade/tabs/send.jade:268 +msgid "Add this address to contacts" +msgstr "Adicionar este endereço aos contatos" + +#: src/jade/tabs/send.jade:242 src/jade/tabs/send.jade:274 +msgid "Name this user" +msgstr "Nomear este usuário" + +#: src/jade/tabs/send.jade:246 src/jade/tabs/send.jade:278 +msgid "This contact already exists, please choose another name." +msgstr "Este contato já existe, por favor escolha outro nome." + +#: src/jade/tabs/send.jade:250 src/jade/tabs/send.jade:283 +#: src/jade/tabs/trust.jade:233 +msgid "Saving..." +msgstr "Salvando..." + +#: src/jade/tabs/send.jade:255 src/jade/tabs/send.jade:289 +msgid "Send another payment" +msgstr "Enviar outro pagamento" + +#: src/jade/tabs/settings/navbar.jade:2 +msgid "Security" +msgstr "Segurança" + +#: src/jade/tabs/settingstrade.jade:12 +msgid "Trade settings" +msgstr "Configurações de negociação" + +#: src/jade/tabs/settingstrade.jade:14 +msgid "Trade currency pairs" +msgstr "Pares de moeda" + +#: src/jade/tabs/trade.jade:12 src/jade/tabs/trade.jade:451 +msgid "Loading Order Book" +msgstr "Carregando negociações" + +#: src/jade/tabs/trade.jade:31 src/jade/tabs/widgets/markets.jade:24 +msgid "flip" +msgstr "virar" + +#: src/jade/tabs/trade.jade:34 +msgid "add pair" +msgstr "adicionar par" + +#: src/jade/tabs/trade.jade:37 +msgid "edit pairs" +msgstr "editar pares" + +#: src/jade/tabs/trade.jade:41 +msgid "Base Currency" +msgstr "Moeda Base" + +#: src/jade/tabs/trade.jade:44 +msgid "Base Gateway" +msgstr "Gateway Base" + +#: src/jade/tabs/trade.jade:49 +msgid "Counter Currency" +msgstr "Moeda Par" + +#: src/jade/tabs/trade.jade:52 +msgid "Counter Gateway" +msgstr "Gateway Par" + +#: src/jade/tabs/trade.jade:57 +msgid "Add" +msgstr "Adicionar" + +#: src/jade/tabs/trade.jade:60 +msgid "Base currency issuer ({{order.first_currency | rpcurrency}})" +msgstr "Emissor da moeda base ({{order.first_currency | rpcurrency}})" + +#: src/jade/tabs/trade.jade:63 +msgid "Ripple name or contact" +msgstr "Nome Ripple ou contato" + +#: src/jade/tabs/trade.jade:65 +msgid "Not a valid Ripple address or contact" +msgstr "Não é um contato ou endereço ripple válido" + +#: src/jade/tabs/trade.jade:70 +msgid "Counter currency issuer ({{order.second_currency | rpcurrency}})" +msgstr "Emissor da moeda par ({{order.second_currency | rpcurrency}})" + +#: src/jade/tabs/trade.jade:75 +msgid "Not a valid Ripple name or address" +msgstr "Não é um Nome Ripple ou endereço válido" + +#: src/jade/tabs/trade.jade:79 +msgid "" +"To show an orderbook, choose from the dropdown above or click \"Add custom " +"pair\"." +msgstr "Para mostrar negociações, escolha do menu dropdown acima ou clique \"Adicionar par\"" + +#: src/jade/tabs/trade.jade:86 +msgid "Bid" +msgstr "Compra" + +#: src/jade/tabs/trade.jade:91 +msgid "Ask" +msgstr "Venda" + +#: src/jade/tabs/trade.jade:96 +msgid "Spread" +msgstr "Spread" + +#: src/jade/tabs/trade.jade:101 +msgid "Last price" +msgstr "Último preço" + +#: src/jade/tabs/trade.jade:108 +msgid "You have to be funded before you can trade" +msgstr "Você precisa ter fundos para poder negociar" + +#: src/jade/tabs/trade.jade:115 +msgid "Buy {{1}} {{order.first_currency | rpcurrency}}" +msgstr "Comprar {{1}} {{order.first_currency | rpcurrency}}" + +#: src/jade/tabs/trade.jade:118 +msgid "Sell {{1}} {{order.first_currency | rpcurrency}}" +msgstr "Vender {{1}} {{order.first_currency | rpcurrency}}" + +#: src/jade/tabs/trade.jade:121 src/jade/tabs/trade.jade:130 +msgid "{{1}} available" +msgstr "{{1}} disponível" + +#: src/jade/tabs/trade.jade:144 +msgid "Amount To Buy" +msgstr "Quantia a ser Comprada" + +#: src/jade/tabs/trade.jade:145 +msgid "Amount To Sell" +msgstr "Quantia a ser Vendida" + +#: src/jade/tabs/trade.jade:152 src/jade/tabs/trade.jade:167 +#: src/jade/tabs/trade.jade:182 +msgid "Required" +msgstr "Obrigatório" + +#: src/jade/tabs/trade.jade:154 src/jade/tabs/trade.jade:169 +#: src/jade/tabs/trade.jade:184 +msgid "Must be greater than zero" +msgstr "Precisa ser maior do que zero" + +#: src/jade/tabs/trade.jade:156 src/jade/tabs/trade.jade:171 +#: src/jade/tabs/trade.jade:186 +msgid "" +"Minimum amount of XRP you can send is a drop (0.000001) and the maximum is " +"100 billion XRPs." +msgstr "O mínimo é um drop (0.000001) e o máximo é 100 bilhões XRP." + +#: src/jade/tabs/trade.jade:160 +msgid "Price of Each" +msgstr "Preço de Cada" + +#: src/jade/tabs/trade.jade:175 +msgid "Order Value (max)" +msgstr "Valor da ordem (máx)" + +#: src/jade/tabs/trade.jade:192 +msgid "You are wanting to buy {{1}} for {{2}} ({{3}} per {{4}})" +msgstr "Você quer comprar {{1}} por {{2}} ({{3}} por cada {{4}})" + +#: src/jade/tabs/trade.jade:201 +msgid "You are wanting to sell {{1}} for {{2}} ({{3}} per {{4}})" +msgstr "Você quer vender {{1}} por {{2}} ({{3}} por cada {{4}})" + +#: src/jade/tabs/trade.jade:213 +msgid "Buy" +msgstr "Comprar" + +#: src/jade/tabs/trade.jade:214 +msgid "Sell" +msgstr "Vender" + +#: src/jade/tabs/trade.jade:220 +msgid "You do not have sufficient funds to create an order." +msgstr "Você não tem fundos suficientes para criar uma ordem" + +#: src/jade/tabs/trade.jade:225 +msgid "" +"You are about to create an order to {{1: buy}} {{2: " +"sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" +msgstr "Você irá criar uma ordem para {{1: comprar}} {{2: vender}}{{3}}{{4:por}}{{5}}{{6}}{{7:Tem certeza?}}{{8}}" + +#: src/jade/tabs/trade.jade:242 +msgid "CAUTION: Your order is far off from the current market price." +msgstr "ATENÇÃO: Sua ordem está muito fora do preço de mercado atual." + +#: src/jade/tabs/trade.jade:246 src/jade/tabs/trade.jade:407 +msgid "« Back" +msgstr "« Voltar" + +#: src/jade/tabs/trade.jade:255 +msgid "Sending order to Ripple network..." +msgstr "Enviando ordem para a rede ripple..." + +#: src/jade/tabs/trade.jade:261 +msgid "Your order has been submitted." +msgstr "Sua ordem foi submetida." + +#: src/jade/tabs/trade.jade:263 +msgid "Your order is now active." +msgstr "Sua ordem está ativa agora." + +#: src/jade/tabs/trade.jade:265 +msgid "Your order has been filled." +msgstr "Esta ordem foi realizada." + +#: src/jade/tabs/trade.jade:267 +msgid "" +"Your order has been partially filled. The remaining amount is now active." +msgstr "Sua ordem foi executada parcialmente. A quantia restante ainda está ativa." + +#: src/jade/tabs/trade.jade:276 +msgid "Submit another order" +msgstr "Submeter outra ordem" + +#: src/jade/tabs/trade.jade:278 +msgid "My Orders{{1}}{{2}}" +msgstr "Minhas Ordens{{1}}{{2}}" + +#: src/jade/tabs/trade.jade:287 +msgid "Your order has been modified." +msgstr "Sua ordem foi modificada." + +#: src/jade/tabs/trade.jade:289 +msgid "Your order #{{ cancelOrder.seq }} has been cancelled." +msgstr "Sua ordem #{{ cancelOrder.seq }} foi cancelada." + +#: src/jade/tabs/trade.jade:291 +msgid "" +"Your order could not be modified and no longer exists. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "Sua ordem não pôde ser modificada e não existe mais. Erro: {{order[editOrder.type].engine_result_message}}" + +#: src/jade/tabs/trade.jade:293 +msgid "Unable to cancel order as it no longer exists." +msgstr "Impossível cancelar ordem pois ela não existe mais." + +#: src/jade/tabs/trade.jade:295 +msgid "Modifying your order (Placing new order) ..." +msgstr "Modificando a sua ordem (criando nova ordem) ..." + +#: src/jade/tabs/trade.jade:299 +msgid "Current pair only" +msgstr "Apenas do par atual" + +#: src/jade/tabs/trade.jade:313 src/jade/tabs/widgets/orders.jade:24 +msgid "reverse" +msgstr "inverter" + +#: src/jade/tabs/trade.jade:322 src/jade/tabs/widgets/orders.jade:33 +msgid "QTY{{1}}" +msgstr "QTD{{1}}" + +#: src/jade/tabs/trade.jade:324 src/jade/tabs/widgets/orders.jade:35 +msgid "Base{{1}}" +msgstr "Base{{1}}" + +#: src/jade/tabs/trade.jade:326 src/jade/tabs/widgets/orders.jade:37 +msgid "Counter{{1}}" +msgstr "Par{{1}}" + +#: src/jade/tabs/trade.jade:328 src/jade/tabs/widgets/orders.jade:39 +msgid "Limit{{1}}" +msgstr "Limite{{1}}" + +#: src/jade/tabs/trade.jade:334 +msgid "Action" +msgstr "Ação" + +#: src/jade/tabs/trade.jade:360 src/jade/tabs/trade.jade:424 +msgid "TRADE CONFIRMATION" +msgstr "CONFIRMAÇÃO DA NEGOCIAÇÃO" + +#: src/jade/tabs/trade.jade:362 +msgid "{{1:Please confirm that you wish to cancel order #{{entry.seq}}}}" +msgstr "{{1:Por favor confirm que você que cancelar a ordem #{{entry.seq}}}}" + +#: src/jade/tabs/trade.jade:364 +msgid "" +"{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div" +" span.modal-order-type(l10n-inc) REMAIN: span remain data div span" +".modal-order-type(l10n-inc) PLACED: span time data" +msgstr "{{1}} div span.modal-order-type(l10n-inc) FILLED: span filled data div span.modal-order-type(l10n-inc) REMAIN: span remain data div span.modal-order-type(l10n-inc) PLACED: span time data" + +#: src/jade/tabs/trade.jade:371 +msgid "with" +msgstr "com" + +#: src/jade/tabs/trade.jade:372 +msgid "for" +msgstr "para" + +#: src/jade/tabs/trade.jade:376 +msgid "at" +msgstr "em" + +#: src/jade/tabs/trade.jade:389 +msgid "Cancel order" +msgstr "Cancelar ordem" + +#: src/jade/tabs/trade.jade:390 src/jade/tabs/trade.jade:431 +msgid "back" +msgstr "Voltar" + +#: src/jade/tabs/trade.jade:407 +msgid "" +"CAUTION: Your new order is far off from the current market price.
Do " +"you still want to replace your order ?" +msgstr "ATENÇÃO: Sua ordem está muito fora do preço de mercado atual.
Você ainda quer substituir sua ordem ?" + +#: src/jade/tabs/trade.jade:410 +msgid "Unable to cancel order. Error: {{entry.errorMsg}}" +msgstr "Impossível cancelar ordem. Erro: {{entry.errorMsg}}" + +#: src/jade/tabs/trade.jade:412 +msgid "" +"Your order amount has been updated by Ripple. Please go back and edit again " +"to modify this order." +msgstr "A quantia da sua ordem foi atualizada pelo Ripple. Por favor volte e edite novamente para modificar essa ordem." + +#: src/jade/tabs/trade.jade:414 +msgid "" +"Your order could not be modified. Error: " +"{{order[editOrder.type].engine_result_message}}" +msgstr "Sua ordem não pôde ser modificada. Erro: {{order[editOrder.type].engine_result_message}}" + +#: src/jade/tabs/trade.jade:415 +msgid "X" +msgstr "X" + +#: src/jade/tabs/trade.jade:420 +msgid "cancel all" +msgstr "cancelar todas" + +#: src/jade/tabs/trade.jade:426 +msgid "{{1:Please confirm that you wish to cancel all orders.}}" +msgstr "{{1:Por favor confirme que você quer cancelar todas as ordens}}" + +#: src/jade/tabs/trade.jade:430 +msgid "Cancel all orders" +msgstr "Cancelar todas ordens" + +#: src/jade/tabs/trade.jade:433 src/jade/tabs/widgets/orders.jade:64 +msgid "No current orders. {{1}}" +msgstr "Sem ordens {{1}}" + +#: src/jade/tabs/trade.jade:434 src/jade/tabs/widgets/orders.jade:65 +msgid "View orders history" +msgstr "Ver o histórico de ordens" + +#: src/jade/tabs/trade.jade:437 +msgid "Orderbook{{1}}" +msgstr "Livro de ordens{{1}}" + +#: src/jade/tabs/trade.jade:440 +msgid "show" +msgstr "mostrar" + +#: src/jade/tabs/trade.jade:442 +msgid "Last updated {{1}} {{2: seconds}} {{3: second}} ago" +msgstr "Última atualização {{1}} {{2: segundos}} {{3: segundo}} ago" + +#: src/jade/tabs/trade.jade:458 +msgid "Bids" +msgstr "Compra" + +#: src/jade/tabs/trade.jade:460 src/jade/tabs/trade.jade:487 +msgid "Sum{{1}}{{2}}" +msgstr "Soma{{1}}{{2}}" + +#: src/jade/tabs/trade.jade:463 src/jade/tabs/trade.jade:484 +msgid "Size{{1}}{{2}}" +msgstr "Quantia{{1}}{{2}}" + +#: src/jade/tabs/trade.jade:466 +msgid "Bid Price{{1}}{{2}}" +msgstr "Preço de Compra{{1}}{{2}}" + +#: src/jade/tabs/trade.jade:477 +msgid "There are currently no bids for this pair." +msgstr "Não há ofertas de compra para este par agora." + +#: src/jade/tabs/trade.jade:479 +msgid "Asks" +msgstr "Venda" + +#: src/jade/tabs/trade.jade:481 +msgid "Ask Price{{1}}{{2}}" +msgstr "Preço de Venda{{1}}{{2}}" + +#: src/jade/tabs/trade.jade:498 +msgid "There are currently no asks for this pair." +msgstr "Não há ofertas de venda para este par agora." + +#: src/jade/tabs/trade.jade:501 +msgid "No more orders" +msgstr "Não há mais ordens" + +#: src/jade/tabs/trust.jade:29 +msgid "Removing gateway..." +msgstr "Removendo gateway..." + +#: src/jade/tabs/trust.jade:31 +msgid "Gateway removed." +msgstr "Gateway removido." + +#: src/jade/tabs/trust.jade:33 +msgid "Your changes have been saved." +msgstr "Suas alterações foram salvas." + +#: src/jade/tabs/trust.jade:35 +msgid "Request failed." +msgstr "Solicitação falhou." + +#: src/jade/tabs/trust.jade:39 +msgid "Account unlock failed." +msgstr "Desbloqueio da conta falhou" + +#: src/jade/tabs/trust.jade:55 +msgid "Name / Address" +msgstr "Nome / Endereço" + +#: src/jade/tabs/trust.jade:57 src/jade/tabs/trust.jade:90 +msgid "Currency" +msgstr "Moeda" + +#: src/jade/tabs/trust.jade:60 +msgid "Trust Limit" +msgstr "Saldo máximo permitido" + +#: src/jade/tabs/trust.jade:66 +msgid "Gateway's Ripple name or address" +msgstr "Nome Ripple ou endereço do Gateway" + +#: src/jade/tabs/trust.jade:100 +msgid "Amount field is required." +msgstr "O campo Quantia é obrigatório" + +#: src/jade/tabs/trust.jade:115 +msgid "" +"Allow this trust line's balances to be transferred to another issuer you " +"connect to. More " +"information" +msgstr "Permitir que o saldo desta Linha de Confiança seja transferido para outro Emissor de sua confiança. Mais informações" + +#: src/jade/tabs/trust.jade:125 +msgid "" +"{{1:You are connecting a gateway, which means}}{{2:{{ counterparty_address |" +" rpripplename:{tilde: true} }} can:}}" +msgstr "{{1:Você está se conectando a um Gateway, o que significa que}}{{2:{{ counterparty_address | rpripplename:{tilde: true} }} pode:}}" + +#: src/jade/tabs/trust.jade:128 +msgid "{{1:- Hold up to }}{{2}} {{3: on your behalf}}" +msgstr "{{1:- Custodiar até }}{{2}} {{3: para você}}" + +#: src/jade/tabs/trust.jade:132 +msgid "{{1:- Hold }}{{2}} {{3: on your behalf}}" +msgstr "{{1:- Custodiar }}{{2}} {{3: para você}}" + +#: src/jade/tabs/trust.jade:148 +msgid "Verifying address" +msgstr "Verificando endereço" + +#: src/jade/tabs/trust.jade:151 +msgid "" +"Your account has to be {{1:activated}} before you can add a gateway account." +msgstr "Sua conta precisa ser {{1:ativada}} para poder adicionar um gateway." + +#: src/jade/tabs/trust.jade:159 +msgid "Connect gateway" +msgstr "Conectar gateway" + +#: src/jade/tabs/trust.jade:169 src/jade/tabs/trust.jade:221 +msgid "Limit" +msgstr "Limit" + +#: src/jade/tabs/trust.jade:170 +msgid "Min" +msgstr "Mín" + +#: src/jade/tabs/trust.jade:172 +msgid "Edit" +msgstr "Editar" + +#: src/jade/tabs/trust.jade:188 +msgid "Off" +msgstr "Desligar" + +#: src/jade/tabs/trust.jade:189 +msgid "On" +msgstr "Ligar" + +#: src/jade/tabs/trust.jade:192 src/jade/tabs/trust.jade:201 +#: src/jade/tabs/trust.jade:206 src/jade/tabs/trust.jade:210 +#: src/jade/tabs/trust.jade:239 src/jade/tabs/trust.jade:244 +#: src/jade/tabs/trust.jade:248 +msgid "Incoming trust" +msgstr "Linhas de confiança recebidas" + +#: src/jade/tabs/trust.jade:192 +msgid "" +"You can't edit incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "Você não pode editar linhas de confiança recebidas. Outro usuário as criou confiando em você." + +#: src/jade/tabs/trust.jade:200 src/jade/tabs/trust.jade:202 +#: src/jade/tabs/trust.jade:205 src/jade/tabs/trust.jade:207 +#: src/jade/tabs/trust.jade:209 src/jade/tabs/trust.jade:211 +#: src/jade/tabs/trust.jade:238 src/jade/tabs/trust.jade:240 +#: src/jade/tabs/trust.jade:243 src/jade/tabs/trust.jade:245 +#: src/jade/tabs/trust.jade:247 src/jade/tabs/trust.jade:249 +msgid "Remove" +msgstr "Remover" + +#: src/jade/tabs/trust.jade:201 src/jade/tabs/trust.jade:206 +#: src/jade/tabs/trust.jade:210 src/jade/tabs/trust.jade:239 +#: src/jade/tabs/trust.jade:244 src/jade/tabs/trust.jade:248 +msgid "" +"You can't delete incoming trust lines. Incoming trust lines are when other " +"Ripple users trust you." +msgstr "Você não pode editar linhas de confiança recebidas. Outro usuário as criou confiando em você." + +#: src/jade/tabs/trust.jade:226 +msgid "Rippling {{1}}" +msgstr "Rippling {{1}}" + +#: src/jade/tabs/tx.jade:5 +msgid "Loading transaction details..." +msgstr "Carregando detalhes da transação..." + +#: src/jade/tabs/tx.jade:7 +msgid "An error occurred while loading the transaction details." +msgstr "Ocorreu um erro ao carregar detalhes da transação." + +#: src/jade/tabs/tx.jade:10 +msgid "Transaction #" +msgstr "Transação #" + +#: src/jade/tabs/tx.jade:15 +msgid "Transaction type: {{1}}" +msgstr "Tipo de Transação: {{1}}" + +#: src/jade/tabs/tx.jade:22 +msgid "Address sent from" +msgstr "Endereço do remetente" + +#: src/jade/tabs/tx.jade:26 +msgid "Amount sent" +msgstr "Quantia enviada" + +#: src/jade/tabs/tx.jade:30 +msgid "Currency sent" +msgstr "Moeda enviada" + +#: src/jade/tabs/tx.jade:35 +msgid "Address sent to" +msgstr "Endereço do destinatário" + +#: src/jade/tabs/tx.jade:39 +msgid "Amount received" +msgstr "Quantia recebida" + +#: src/jade/tabs/tx.jade:43 +msgid "Currency received" +msgstr "moeda recebida" + +#: src/jade/tabs/tx.jade:50 +msgid "Network fee paid" +msgstr "Taxa de rede paga" + +#: src/jade/tabs/tx.jade:62 +msgid "Ledger number" +msgstr "Número do Ledger" + +#: src/jade/tabs/tx.jade:68 +msgid "Address sent from:" +msgstr "Endereço do remetente:" + +# Sorry, we don't have an info page layout for this transaction type yet. +#: src/jade/tabs/tx.jade:72 +msgid "" +"Sorry, we don't have an info page layout for this transaction type yet." +msgstr "Desculpe, nós ainda não temos uma página de informação para este tipo de transação." + +#: src/jade/tabs/usd.jade:35 +msgid "US Dollar Deposit" +msgstr "Depósito de Dólares Americanos" + +#: src/jade/tabs/usd.jade:39 +msgid "SnapSwap US (~SnapSwap){{1}}{{2}}" +msgstr "SnapSwap US (~SnapSwap){{1}}{{2}}" + +#: src/jade/tabs/usd.jade:45 +msgid "USA" +msgstr "EUA" + +#: src/jade/tabs/usd.jade:48 +msgid "$ 0.31-$ 5.00" +msgstr "$ 0.31-$ 5.00" + +#: src/jade/tabs/usd.jade:56 +msgid "" +"Ripple Trade has partnered with SnapSwap to provide easier access to USD. " +"Following this action will enable SnapSwap to hold USD on your behalf." +msgstr "Ripple Trade e SnapSwap fizeram uma parceria para garantir fácil acesso ao USD. Essa ação permite que a SnapSwap custodie USD para você." + +#: src/jade/tabs/usd.jade:73 +msgid "NEW CUSTOMERS- SIGN UP AT SNAPSWAP.US" +msgstr "NOVOS USUÁRIOS - CRIE UMA CONTA EM SNAPSWAP.US" + +#: src/jade/tabs/usd.jade:74 +msgid "Register and verify your account at SnapSwap US. You will need: {{1}}" +msgstr "Crie e verifique sua conta na SnapSwap US. Você vai precisar de: {{1}}" + +#: src/jade/tabs/usd.jade:82 +msgid "EXISTING SNAPSWAP US CUSTOMERS" +msgstr "USUÁRIOS SNAPSWAP US EXISTENTES" + +#: src/jade/tabs/usd.jade:93 +msgid "Deposit instantly via selected banks" +msgstr "Deposite instantaneamente via bancos selecionados" + +#: src/jade/tabs/usd.jade:95 +msgid "Deposit cash at Bank of America branches (3 business days)" +msgstr "Deposite dinheiro nas agências do Bank of America (3 dias úteis)" + +#: src/jade/tabs/usd.jade:97 +msgid "Deposit via online bank transfer (3 business days)" +msgstr "Deposite via transferência bancária (3 dias úteis)" + +#: src/jade/tabs/usd.jade:103 +msgid "Directly to your bank account (3-4 business days)" +msgstr "Diretamente á sua conta bancária (3-4 dias úteis)" + +#: src/jade/tabs/usd.jade:105 +msgid "Directly to your PayPal account (several minutes)" +msgstr "Diretamente à sua conta PayPal (alguns minutos)" + +#: src/jade/tabs/widgets/assetallocation.jade:3 +msgid "Asset Allocation" +msgstr "Alocação de Ativos" + +#: src/jade/tabs/widgets/balances.jade:3 +msgid "Balances" +msgstr "Saldos" + +#: src/jade/tabs/widgets/balances.jade:12 +msgid "Balance
{{ account.Balance | rpamount }} XRP" +msgstr "Saldo
{{ account.Balance | rpamount }} XRP" + +#: src/jade/tabs/widgets/balances.jade:16 +msgid "Reserve" +msgstr "Reserva" + +#: src/jade/tabs/widgets/balances.jade:18 +msgid "Reserve amount" +msgstr "Reserva" + +#: src/jade/tabs/widgets/balances.jade:18 +msgid "" +"Minimum amount of XRP required to fund your account. You cannot spend the " +"reserve." +msgstr "Quantia mínima de XRP necessária para ativar sua conta. Você não pode gastar a reserva." + +#: src/jade/tabs/widgets/balances.jade:20 +msgid "Reserve amount
{{ account.reserve | rpamount }} XRP" +msgstr "Quantia de reserva
{{ account.reserve | rpamount }} XRP" + +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Available amount" +msgstr "Quantia disponível" + +#: src/jade/tabs/widgets/balances.jade:26 +msgid "Total amount of XRP in your account minus the reserve amount." +msgstr "A quantia total de XRP em sua conta menos o valor de reserva." + +#: src/jade/tabs/widgets/balances.jade:28 +msgid "Available amount
{{ account.max_spend | rpamount }} XRP" +msgstr "Quantia disponívelt
{{ account.max_spend | rpamount }} XRP" + +#: src/jade/tabs/widgets/balances.jade:35 +msgid "" +"Balance
{{ entry.total | rpamount:{precision: 30, hard_precision: true} " +"}} {{ entry.total | rpcurrency }}" +msgstr "Saldo
{{ entry.total | rpamount:{precision: 30, hard_precision: true} }} {{ entry.total | rpcurrency }}" + +#: src/jade/tabs/widgets/balances.jade:43 +msgid "" +"Balance
{{ component | rpamount:{precision: 30, rel_min_precision: -2, " +"hard_precision: true} }} {{ entry.total | rpcurrency }}" +msgstr "Saldo
{{ component | rpamount:{precision: 30, rel_min_precision: -2, hard_precision: true} }} {{ entry.total | rpcurrency }}" + +#: src/jade/tabs/widgets/markets.jade:3 +msgid "Markets" +msgstr "Mercados" + +#: src/jade/tabs/widgets/networth.jade:3 +msgid "Net Worth" +msgstr "Patrimônio Líquido" + +#: src/jade/tabs/widgets/networth.jade:8 +msgid "{{1:{{1:In}}}}{{2}}" +msgstr "{{1:{{1:In}}}}{{2}}" + +#: src/jade/tabs/widgets/networth.jade:14 +msgid "Estimated from latest trade price" +msgstr "Estimado pelo último preço negociado" + +#: src/jade/tabs/widgets/networth.jade:23 +msgid "(excluding negative balances)" +msgstr "(excluindo saldos negativos)" + +#: src/jade/tabs/widgets/orders.jade:3 +msgid "My Orders" +msgstr "Minhas Ordens" + +#: src/jade/tabs/widgets/orders.jade:68 +msgid "trade currencies" +msgstr "Negociar moedas" + +#: src/jade/tabs/xrp.jade:19 +msgid "Ripple name: {{1}}{{2}}{{3}}" +msgstr "Nome Ripple: {{1}}{{2}}{{3}}" + +#: src/jade/tabs/xrp.jade:21 +msgid "loading..." +msgstr "carregando..." + +#: src/jade/tabs/xrp.jade:23 +msgid "Show address" +msgstr "Mostrar endereço" + +#: src/jade/tabs/xrp.jade:25 +msgid "" +"Ripple names are a new feature on Ripple! Use your Ripple name " +"(~{{userCredentials.username}}) to receive money. You can still use your " +"full Ripple address, and while we are working to transition to Ripple names," +" some gateways may still ask for your full address." +msgstr "Nomes Ripple são um novo recurso no Ripple! Use seu nome Ripple (~{{userCredentials.username}}) para receber dinheiro. Você ainda pode usar seu endereço Ripple completo e, enquanto estamos trabalhando para fazer a transição para nomes Ripple, alguns gateways ainda pode pedir o seu endereço completo." diff --git a/src/templates/client/layout.jade b/src/templates/client/layout.jade index dc339e274..51da3fcef 100644 --- a/src/templates/client/layout.jade +++ b/src/templates/client/layout.jade @@ -174,7 +174,7 @@ div#wrapper .col-sm-6 a(href="#/lang/pl") Polski .col-sm-6 - a(href="#/lang/pt") Português + a(href="#/lang/pt_BR") Português brasileiro .col-sm-6 a(href="#/lang/ro") Român .col-sm-6 From da041f5a03ef9834f34ca646686c16e65826a517 Mon Sep 17 00:00:00 2001 From: "J.M" Date: Wed, 27 May 2015 19:34:40 +0200 Subject: [PATCH 316/321] Update French localization --- l10n/fr_FR/messages.po | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/l10n/fr_FR/messages.po b/l10n/fr_FR/messages.po index bed5e4454..841b9462e 100644 --- a/l10n/fr_FR/messages.po +++ b/l10n/fr_FR/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Ripple Trade\n" -"PO-Revision-Date: 2015-03-21 01:02+0000\n" +"PO-Revision-Date: 2015-05-24 19:08+0000\n" "Last-Translator: keepx \n" "Language-Team: French (France) (http://www.transifex.com/projects/p/ripple-trade/language/fr_FR/)\n" "MIME-Version: 1.0\n" @@ -41,7 +41,7 @@ msgstr "Convertir" #: src/jade/client/index.jade:18 src/jade/client/navbar.jade:23 #: src/jade/client/navbar.jade:25 src/jade/tabs/settings/navbar.jade:3 msgid "Trade" -msgstr "Echanger" +msgstr "Échanger" #: src/jade/client/index.jade:22 src/jade/client/navbar.jade:27 #: src/jade/client/navbar.jade:133 @@ -68,7 +68,7 @@ msgstr "Déconnexion" #: src/jade/client/index.jade:61 msgid "Why Use Ripple Trade?" -msgstr "Pourquoi Utiliser Ripple Trade?" +msgstr "Pourquoi Utiliser Ripple Trade ?" #: src/jade/client/index.jade:66 msgid "Home of XRP -" @@ -1543,7 +1543,7 @@ msgstr "Ripple calcule un chemin pour votre conversion." msgid "" "{{1:You are exchanging}}{{2}}{{3:to}}{{4}}{{5:You will pay at " "most}}{{6}}{{7:Are you sure?}}" -msgstr "{{1:Vous échangez}}{{2}}{{3:pour}}{{4}}{{5:Vous paierai au plus}}{{6}}{{7:Êtes-vous sûr?}}" +msgstr "{{1:Vous échangez}}{{2}}{{3:pour}}{{4}}{{5:Vous paierai au plus}}{{6}}{{7:Êtes-vous sûr ?}}" #: src/jade/tabs/exchange.jade:139 msgid "Do another conversion" @@ -2192,7 +2192,7 @@ msgstr "Vous pouvez confirmer la transaction sur la page suivante." #: src/jade/tabs/login.jade:99 msgid "New to {{productName}}? {{1:Create a wallet}}" -msgstr "Nouveau sur {{productName}}? {{1:Créer un portefeuille}}" +msgstr "Nouveau sur {{productName}} ? {{1:Créer un portefeuille}}" #: src/jade/tabs/login/form.jade:12 src/jade/tabs/security.jade:91 msgid "" @@ -2243,11 +2243,11 @@ msgstr "Commencer la migration" #: src/jade/tabs/migrate.jade:32 msgid "New to {{productName}}? {{1:Sign Up}}" -msgstr "Nouveau sur {{productName}}? {{1:S'enregistrer}}" +msgstr "Nouveau sur {{productName}} ? {{1:S'enregistrer}}" #: src/jade/tabs/migrate.jade:34 msgid "Have a {{productName}} account? {{1:Log In}}" -msgstr "Vous avez un compte {{productName}}? {{1:S'identifier}}" +msgstr "Vous avez un compte {{productName}} ? {{1:S'identifier}}" #: src/jade/tabs/mxn.jade:38 msgid "Mexican Peso Deposit" @@ -2401,7 +2401,7 @@ msgstr "Mise à jour..." #: src/jade/tabs/recover.jade:57 msgid "Remember your password? {{1:Log In}}" -msgstr "Vous vous rappelez de votre mot de passe? {{1:S'identifier}}" +msgstr "Vous vous rappelez de votre mot de passe ? {{1:S'identifier}}" #: src/jade/tabs/register.jade:13 src/jade/tabs/register.jade:109 #: src/jade/tabs/register.jade:141 src/jade/tabs/register.jade:188 @@ -2486,7 +2486,7 @@ msgstr "Migrer le compte" #: src/jade/tabs/register.jade:111 msgid "Need to use your secret key? {{1}}" -msgstr "Besoin d'utiliser votre clé secrète? {{1}}" +msgstr "Besoin d'utiliser votre clé secrète ? {{1}}" #: src/jade/tabs/register.jade:113 msgid "Use key" @@ -2905,7 +2905,7 @@ msgstr "Vous paierez au plus" #: src/jade/tabs/send.jade:204 msgid "Are you sure?" -msgstr "Êtes-vous certain?" +msgstr "Êtes-vous certain ?" #: src/jade/tabs/send.jade:210 msgid "Password required to unlock wallet" @@ -3099,7 +3099,7 @@ msgstr "Vous n'avez pas de fonds suffisants pour créer un ordre." msgid "" "You are about to create an order to {{1: buy}} {{2: " "sell}}{{3}}{{4:for}}{{5}}{{6}}{{7:Are you sure?}}{{8}}" -msgstr "Vous êtes sur le point de créer un ordre pour {{1: acheter}} {{2: vendre}}{{3}}{{4:pour}}{{5}}{{6}}{{7:Êtes-vous sûr?}}{{8}}" +msgstr "Vous êtes sur le point de créer un ordre pour {{1: acheter}} {{2: vendre}}{{3}}{{4:pour}}{{5}}{{6}}{{7:Êtes-vous sûr ?}}{{8}}" #: src/jade/tabs/trade.jade:242 msgid "CAUTION: Your order is far off from the current market price." From 76ac32b371c40859a8c850463ae895e0228d8ff0 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 28 May 2015 04:18:34 +0300 Subject: [PATCH 317/321] [FEATURE] Add Bluzelle gateway for CAD (RT-3441) Add Bluzelle as a featured gateway for CAD --- src/js/entry/web.js | 1 + src/js/tabs/cad.controller.js | 136 +++++++++++++++++++++++++++++ src/less/ripple/tabs/gateways.less | 4 +- src/templates/tabs/cad.jade | 113 ++++++++++++++++++++++++ src/templates/tabs/fund/menu.jade | 3 + 5 files changed, 255 insertions(+), 2 deletions(-) create mode 100644 src/js/tabs/cad.controller.js create mode 100644 src/templates/tabs/cad.jade diff --git a/src/js/entry/web.js b/src/js/entry/web.js index 9463d3810..609da0075 100644 --- a/src/js/entry/web.js +++ b/src/js/entry/web.js @@ -100,6 +100,7 @@ var tabdefs = [ require('../tabs/usd.controller.js'), require('../tabs/eur.controller.js'), require('../tabs/sgd.controller.js'), + require('../tabs/cad.controller.js'), require('../tabs/gold.controller.js'), require('../tabs/tou.controller.js'), require('../tabs/privacypolicy.controller.js'), diff --git a/src/js/tabs/cad.controller.js b/src/js/tabs/cad.controller.js new file mode 100644 index 000000000..582967e81 --- /dev/null +++ b/src/js/tabs/cad.controller.js @@ -0,0 +1,136 @@ +var util = require('util'), + Tab = require('../client/tab').Tab; + +var CadTab = function() { + Tab.call(this); +}; + +util.inherits(CadTab, Tab); + +CadTab.prototype.tabName = 'cad'; +CadTab.prototype.mainMenu = 'fund'; + +CadTab.prototype.angular = function(module) { + module.controller('CadCtrl', ['$scope', 'rpId', 'rpAppManager', 'rpTracker', '$routeParams', 'rpKeychain', 'rpNetwork', '$timeout', + function($scope, id, appManager, rpTracker, $routeParams, keychain, $network, $timeout) + { + $scope.toggle_instructions = function() { + $scope.showInstructions = !$scope.showInstructions; + }; + + $scope.save_account = function() { + $scope.loading = true; + + var amount = ripple.Amount.from_human( + Options.gateway_max_limit + ' ' + 'CAD', { + reference_date: new Date(+new Date() + 5 * 60000) + } + ); + + amount.set_issuer('raBDVR7JFq3Yho2jf7mcx36sjTwpRJJrGU'); + + if (!amount.is_valid()) { + // Invalid amount. Indicates a bug in one of the validators. + console.warn('Invalid amount'); + return; + } + + var tx = $network.remote.transaction(); + + // Add memo to tx + tx.addMemo('client', 'rt' + $scope.version); + + // Flags + tx + .rippleLineSet(id.account, amount) + .setFlags('NoRipple') + .on('proposed', function(res) { + $scope.$apply(function() { + setEngineStatus(res, false); + }); + }) + .on('success', function(res) { + $scope.$apply(function() { + setEngineStatus(res, true); + $scope.loading = false; + $scope.editing = false; + }); + }) + .on('error', function(res) { + setEngineStatus(res, false); + console.log('error', res); + setImmediate(function() { + $scope.$apply(function() { + $scope.mode = 'error'; + + $scope.loading = false; + $scope.editing = false; + }); + }); + }); + + function setEngineStatus(res, accepted) { + $scope.engine_result = res.engine_result; + $scope.engine_result_message = res.engine_result_message; + $scope.engine_status_accepted = accepted; + + switch (res.engine_result.slice(0, 3)) { + case 'tes': + $scope.tx_result = accepted ? 'cleared' : 'pending'; + break; + case 'tem': + $scope.tx_result = 'malformed'; + break; + case 'ter': + $scope.tx_result = 'failed'; + break; + case 'tec': + $scope.tx_result = 'failed'; + break; + case 'tel': + $scope.tx_result = 'local'; + break; + case 'tep': + console.warn('Unhandled engine status encountered!'); + } + if ($scope.tx_result == 'cleared') { + $scope.cadConnected = true; + $scope.showInstructions = true; + } + console.log($scope.tx_result); + } + + keychain.requestSecret(id.account, id.username, function(err, secret) { + // XXX Error handling + if (err) { + $scope.loading = false; + console.warn(err); + return; + } + $scope.mode = 'granting'; + tx.secret(secret); + tx.submit(); + }); + }; + $scope.$watch('lines', function() { + if ($scope.lines.raBDVR7JFq3Yho2jf7mcx36sjTwpRJJrGUCAD) { + $scope.cadConnected = true; + } else { + $scope.cadConnected = false; + } + }, true); + + // User should be notified if the reserve is insufficient to add a gateway + $scope.$watch('account', function() { + $scope.can_add_trust = false; + if ($scope.account.Balance && $scope.account.reserve_to_add_trust) { + if (!$scope.account.reserve_to_add_trust.subtract($scope.account.Balance).is_positive() || $.isEmptyObject($scope.lines)) { + $scope.can_add_trust = true; + } + } + }, true); + } + ]); +}; + +module.exports = CadTab; diff --git a/src/less/ripple/tabs/gateways.less b/src/less/ripple/tabs/gateways.less index b81c2e7bd..9672c5f80 100644 --- a/src/less/ripple/tabs/gateways.less +++ b/src/less/ripple/tabs/gateways.less @@ -1,4 +1,4 @@ -#t-fund, #t-xrp, #t-btc, #t-usd, #t-gold, #t-trust, #t-jpy, #t-brl, #t-mxn, #t-eur, #t-sgd, #t-aud, #t-nzd { +#t-fund, #t-xrp, #t-btc, #t-usd, #t-gold, #t-trust, #t-jpy, #t-brl, #t-mxn, #t-eur, #t-sgd, #t-aud, #t-nzd, #t-cad { .currencies a { display: block; padding: 10px; @@ -279,7 +279,7 @@ } } -#t-fund, #t-xrp, #t-btc, #t-usd, #t-gold, #t-jpy, #t-brl, #t-mxn, #t-eur, #t-sgd, #t-aud, #t-nzd { +#t-fund, #t-xrp, #t-btc, #t-usd, #t-gold, #t-jpy, #t-brl, #t-mxn, #t-eur, #t-sgd, #t-aud, #t-nzd, #t-cad { button { text-align: center; border: 1px solid @midblue; diff --git a/src/templates/tabs/cad.jade b/src/templates/tabs/cad.jade new file mode 100644 index 000000000..c7903eaca --- /dev/null +++ b/src/templates/tabs/cad.jade @@ -0,0 +1,113 @@ +section.col-xs-12.content(ng-controller='CadCtrl') + + //- Disconnected + + group.disconnected(ng-hide='connected') + p.literal(l10n="err-you-must-be-online-to-see-this-screen") + | You have to be online to see this screen + + //- Funding + div(ng-show="!loadingAccount && !account.Balance && loadState.account && connected") + include ../tabs/banner/unfunded + + div(ng-show='hasRTJapanTrust') + include banner/rtjapan + div(ng-show='hasRTJapanTrustWithRippling') + include banner/rtjapanrippling + + .row(ng-show='connected') + // Transaction errors coming from errors.js & transactionerror.jade + .col-sm-12(ng-show='mode=="error" || mode=="granting" && account.Balance') + group.mode-ripplerror + rp-transaction-status( + rp-engine-result="{{engine_result}}" + rp-engine-result-message="{{engine_result_message}}" + rp-accepted="{{engine_status_accepted}}" + rp-current-tab="trust") + + //- Generic non-tx related messages + .col-sm-12(ng-show='notif !== "clear"', ng-hide="!notif") + group.mode-granted.wide + group(ng-switch="notif") + group.result-error(ng-switch-when="error") + h2.tx-status(l10n) There was an error while saving your changes. + p(l10n) Please try again later. + .col-sm-12(ng-show='account.Balance && !can_add_trust && !cadConnected') + .alert.alert-warning(l10n) You must have at least + strong {{account.reserve_to_add_trust | rpamount:0}} XRP + | to add a new trust line. + a(href="https://ripple.com/wiki/Reserves", target="_blank") More information + + .col-sm-3 + include ../tabs/fund/menu + .col-sm-9.list(ng-hide='debug') + .nameLine(l10n) Canadian Dollar Deposit + .gateway.row + .col-md-3 + .title(l10n) Gateway + .description(l10n) + | Bluzelle CAD Issuer (~bluzelle) + br + a(href="http://bluzelle.com", target="_blank") bluzelle.com + .col-md-3 + .title(l10n) Availability + .description(l10n) All countries + .col-md-6 + .title(l10n) Fees + .description + p(l10n) Deposit: $1 + 1.5% Max $5. Deposits available during business hours. + p(l10n) Withdrawal: $1.50. Withdrawals available during business hours. + p(l10n) Trading: 0.1% when transferring. + //- .col-md-3 + //- .title(l10n) Rating + //- .description(l10n) + //- a(href="https://coinist.co/ripple/gateways/ripple-singapore", target="_blank") read reviews + + .row.fund-tab-description + .col-xs-12.col-md-8.col-lg-6 + .descriptor(ng-show="!cadConnected", l10n) Ripple Trade has partnered with Bluzelle to provide easier access to CAD. Following this action will enable Bluzelle to hold CAD on your behalf. + + .row.fund-tab-description + .col-xs-7.col-sm-5.col-md-4(ng-hide="cadConnected") + button.btn.btn-large.btn-primary(ng-show="!cadConnected && !loading && loadState.account", type="submit", ng-click="save_account()", ng-disabled="!account.Balance || !can_add_trust", l10n) Add Bluzelle + button.btn.btn-large.btn-primary(ng-show="!cadConnected && loading", type="submit", ng-disabled="loading", l10n) Adding... + //- button.btn.btn-large.btn-primary(ng-show="showInstructions && cadConnected", type="submit", ng-click="toggle_instructions()", l10n) Hide instructions + //- button.btn.btn-large.btn-primary(ng-show="cadConnected && !showInstructions", type="submit", ng-click="toggle_instructions()", l10n) Show instructions + + .connect.col-xs-5.col-sm-7.col-md-8(ng-hide="loading") + .description(ng-show="!cadConnected && account.Balance", l10n) + i.fa.fa-times + | Not connected + .description(ng-show="cadConnected && account.Balance", l10n) + i.fa.fa-check + | Connected + .description(ng-show="!account.Balance && loadState.account", l10n) Your account has to be activated before you can add a gateway account. + .description(ng-show="!loadState.account") + img(src="img/button-s.png", class="loader") + span(class="loading_text", l10n) Loading... + + //- .row(ng-show="showInstructions && cadConnected") + //- .instructions.col-md-10 + //- a.dismiss(href="", id="hide", ng-click="toggle_instructions()", l10n) × + //- .title(l10n) To Initiate Canadian Dollar Deposits and Withdrawals + //- .description(l10n) + //- | Register or login to your Bluzelle account. You will need: + //- ul + //- li + //- p(l10n) A valid non-US, government-issued ID (passport, driver’s license, etc) + //- li + //- p(l10n) Proof of address + //- li + //- p(l10n) Verification is required for deposits or withdrawals + + //- .title(l10n) Deposit Options + //- .description(l10n) + //- ul + //- li + //- p(l10n) Users can deposit CAD by entering bank credentials and initiating a bank wire transfer from user’s bank account to Bluzelle. + + //- .title(l10n) Withdrawal Options + //- .description(l10n) + //- ul + //- li + //- p(l10n) Users can withdraw CAD by sending funds from their Ripple address to Bluzelle’s Ripple address. Bluzelle will send the funds to a user’s bank account using a bank wire transfer. diff --git a/src/templates/tabs/fund/menu.jade b/src/templates/tabs/fund/menu.jade index 5a2fae33b..21feb221e 100644 --- a/src/templates/tabs/fund/menu.jade +++ b/src/templates/tabs/fund/menu.jade @@ -5,6 +5,9 @@ a(href="#/btc", ng-class="{active: $route.current.tabName == 'btc'}", class="currency-btc", l10n) i.icon.fa.fa-money.fa-btc | BTC + a(href="#/cad", ng-class="{active: $route.current.tabName == 'cad'}", class="currency-cad", l10n) + i.icon.fa.fa-money.fa-cad + | CAD a(href="#/eur", ng-class="{active: $route.current.tabName == 'eur'}", l10n) i.icon.fa.fa-money.fa-eur | EUR From 3b9fbcbcced37561ebbbdeaa2fa8c7c4900e5a39 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Thu, 28 May 2015 05:34:06 +0300 Subject: [PATCH 318/321] [FIX] incoming trust line fix (RT-3392) fix how incoming trust line shown while logged in --- src/js/entry/web.js | 5 ++++- src/js/util/jsonrewriter.js | 18 +++++++----------- test/unit/util/jsonRewriterSpec.js | 25 +++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 12 deletions(-) create mode 100644 test/unit/util/jsonRewriterSpec.js diff --git a/src/js/entry/web.js b/src/js/entry/web.js index 9463d3810..96d68480b 100644 --- a/src/js/entry/web.js +++ b/src/js/entry/web.js @@ -1,4 +1,5 @@ -var types = require('../util/types'); +var types = require('../util/types'), + rewriter = require('../util/jsonrewriter'); // Load app modules require('../controllers/app.controller.js'); @@ -156,6 +157,8 @@ var app = angular var rippleclient = window.rippleclient = {}; rippleclient.app = app; rippleclient.types = types; +// for unit tests +rippleclient.rewriter = rewriter; // for unit tests rippleclient.tabs = {}; diff --git a/src/js/util/jsonrewriter.js b/src/js/util/jsonrewriter.js index 77ca1be5a..4c6d5f325 100644 --- a/src/js/util/jsonrewriter.js +++ b/src/js/util/jsonrewriter.js @@ -433,20 +433,16 @@ var JsonRewriter = module.exports = { var high = node.fields.HighLimit; var low = node.fields.LowLimit; + var viewHigh = high.issuer === account; - var which = high.issuer === account ? 'HighNoRipple' : 'LowNoRipple'; - + var which = obj.transaction.type === 'trusting' ? (viewHigh ? 'HighNoRipple' : 'LowNoRipple') : + (viewHigh ? 'LowNoRipple' : 'HighNoRipple'); // New trust line if (node.diffType === 'CreatedNode') { - effect.limit = ripple.Amount.from_json(high.value > 0 ? high : low); - effect.limit_peer = ripple.Amount.from_json(high.value > 0 ? low : high); - - if ((high.value > 0 && high.issuer === account) - || (low.value > 0 && low.issuer === account)) { - effect.type = 'trust_create_local'; - } else { - effect.type = 'trust_create_remote'; - } + effect.limit = ripple.Amount.from_json(viewHigh ? high : low); + effect.limit_peer = ripple.Amount.from_json(viewHigh ? low : high); + + effect.type = obj.transaction.type === 'trusting' ? 'trust_create_local' : 'trust_create_remote'; } // Modified trust line diff --git a/test/unit/util/jsonRewriterSpec.js b/test/unit/util/jsonRewriterSpec.js new file mode 100644 index 000000000..d436af8e7 --- /dev/null +++ b/test/unit/util/jsonRewriterSpec.js @@ -0,0 +1,25 @@ +'use strict'; + +describe('JsonRewriter', function() { + var rewriter = window.rippleclient.rewriter, + account = 'rfXK4fN2AAqH7H5Uo94JQwT88qQkv69pqR', + data = {engine_result: 'tesSUCCESS', engine_result_code: 0, engine_result_message: 'The transaction was applied. Only final in a validated ledger.', ledger_hash: '3A42FDDA268818463C360402FB37A1D95F4C7463C3C8568535C65358A9AFCFE2', ledger_index: 11412348, meta: { AffectedNodes: [{CreatedNode: {LedgerEntryType: 'RippleState', LedgerIndex: '40865600F1D8928F756718AF147BA726784A6C76317C08F9FB0A0530F38F48CE', NewFields: { Balance: { currency: 'TST', issuer: 'rrrrrrrrrrrrrrrrrrrrBZbvji', value: '0'}, Flags: 1114112, HighLimit: { currency: 'TST', issuer: 'rfXK4fN2AAqH7H5Uo94JQwT88qQkv69pqR', value: '0'}, LowLimit: { currency: 'TST', issuer: 'rp8rJYTpodf8qbSCHVTNacf8nSW8mRakFw', value: '541'}}}}, { ModifiedNode: { FinalFields: { Account: 'rp8rJYTpodf8qbSCHVTNacf8nSW8mRakFw', Balance: '71363800', Flags: 0, OwnerCount: 9, Sequence: 54}, LedgerEntryType: 'AccountRoot', LedgerIndex: '8B24E55376A65D68542C17F3BF446231AC7062CB43BED28817570128A1849819', PreviousFields:{ Balance: '71375800', OwnerCount: 8, Sequence: 53 }, PreviousTxnID: '8E194F430FF573C4BC748FA4B73A0CBA778A50A1855E8677FADBAE16E595CD4E', PreviousTxnLgrSeq: 11412343}}, { ModifiedNode: { FinalFields: { Flags: 0, Owner: 'rp8rJYTpodf8qbSCHVTNacf8nSW8mRakFw', RootIndex: 'D7198895F90CB2FBCA3D7DEECABA4104FB92287E8B8B1F26DB94525A5ABC3808'}, LedgerEntryType: 'DirectoryNode', LedgerIndex: 'D7198895F90CB2FBCA3D7DEECABA4104FB92287E8B8B1F26DB94525A5ABC3808'}}, { ModifiedNode: { FinalFields: { Account: 'rfXK4fN2AAqH7H5Uo94JQwT88qQkv69pqR', Balance: '118407447', Flags: 0, OwnerCount: 7, Sequence: 560 }, LedgerEntryType: 'AccountRoot', LedgerIndex: 'E47087B762FD22F5F36E8B7188BEA18659F443092041684A6C0C757609E1DF86', PreviousTxnID: '8E194F430FF573C4BC748FA4B73A0CBA778A50A1855E8677FADBAE16E595CD4E', PreviousTxnLgrSeq: 11412343}}, { ModifiedNode: { FinalFields: { Flags: 0, Owner: 'rfXK4fN2AAqH7H5Uo94JQwT88qQkv69pqR', RootIndex: 'F9F86D42EBA6096BE7FF953C60572E68D430D760CAD4F78BD04F2EE1450EA6B5'}, LedgerEntryType: 'DirectoryNode', LedgerIndex: 'F9F86D42EBA6096BE7FF953C60572E68D430D760CAD4F78BD04F2EE1450EA6B5'}}], TransactionIndex: 12, TransactionResult: 'tesSUCCESS'}, status: 'closed', transaction: { Account: 'rp8rJYTpodf8qbSCHVTNacf8nSW8mRakFw', Fee: '12000', Flags: 2147614720, LastLedgerSequence: 11412350, LimitAmount: { currency: 'TST', issuer: 'rfXK4fN2AAqH7H5Uo94JQwT88qQkv69pqR', value: '541'}, Memos: [{ Memo: { MemoFormat: '7274312E322E312D3234392D67323830353539302D64697274792D6465627567202D2048454144', 'MemoType': '636C69656E74'}}], Sequence: 53, SigningPubKey: '023DF3A034F5C7F4FE9F247ECCD7ABAC5DC3F2819F3C62AD9B9D2E9690DBAA84EB', TransactionType: 'TrustSet', TxnSignature: '3044022043D7C2F7256819CE61D3F22658A452116A7FC9919B01A07F4C937AD660C976C2022076E3090C3861A9F6FC9758FCA03270213579AF1F0F97D922F9AE46E5C4F46BFB', date: 475897740, hash: '72B496AF54ECD1D6E8B8BA91931BB2A99FD541835B5668F9AA2095BF97BB8352'}, type: 'transaction', validated: true}; + + it('should parse incoming trust line right', function(done) { + var tx = rewriter.processTxn(data.transaction, data.meta, account); + expect(tx).to.be.an('object'); + expect(tx.transaction).to.be.an('object'); + expect(tx.transaction.type).to.equal('trusted'); + expect(tx.transaction.currency).to.equal('TST'); + expect(tx.transaction.counterparty).to.equal('rp8rJYTpodf8qbSCHVTNacf8nSW8mRakFw'); + expect(tx.effects).to.be.an.instanceof(Array); + expect(tx.effects).to.have.length(1); + expect(tx.effects[0].type).to.equal('trust_create_remote'); + expect(tx.effects[0].currency).to.equal('TST'); + expect(tx.effects[0].noRipple).to.be.true; + assert.equal(tx.effects[0].limit.to_number(), 0); + assert.equal(tx.effects[0].limit_peer.to_number(), 541); + + done(); + }); +}); From 56781f7a01e6bf12b6c130cd67de4aeda859da36 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Fri, 29 May 2015 06:46:18 +0300 Subject: [PATCH 319/321] [FEATURE] Highlight new/changed orders (RT-3278) Advanced Trade: highlight new/updated orders with green/red color. --- src/js/tabs/trade.controller.js | 21 +++++++++++++---- src/less/ripple/tabs/trade.less | 41 +++++++++++++++++++++++++++++++++ src/templates/tabs/trade.jade | 4 ++-- 3 files changed, 59 insertions(+), 7 deletions(-) diff --git a/src/js/tabs/trade.controller.js b/src/js/tabs/trade.controller.js index ea915a668..8b7816675 100644 --- a/src/js/tabs/trade.controller.js +++ b/src/js/tabs/trade.controller.js @@ -1373,13 +1373,15 @@ TradeTab.prototype.angular = function(module) $scope.order.sell.showWidget = canSell; }; - var updateTypeBook = function (type) { + var updateTypeBook = function(type) { if ($scope.book && $scope.book[type + 'LastUpdate']) { $scope.load_orderbook = false; } if (!$scope.book || !$scope.book[type] || !$scope.book[type].length) return; + var oldBookShow = $scope.bookShow[type]; + $scope.bookShow[type] = jQuery.extend(true, [], $scope.book[type]); lastUpdate = new Date(); @@ -1394,12 +1396,21 @@ TradeTab.prototype.angular = function(module) var newValuesLength = $scope.bookShow[type].length; + var oldBookShowIndex = _.indexBy(oldBookShow, 'BookDirectory'); + var isUpdate = oldBookShow.length > 0; + for (i = 0; i < newValuesLength; i++) { - $scope.bookShow[type][i].showSum = rpamountFilter($scope.bookShow[type][i].sum, OrderbookFilterOpts); - $scope.bookShow[type][i].showPrice = rpamountFilter($scope.bookShow[type][i].price, OrderbookFilterOpts); + var order = $scope.bookShow[type][i]; + order.showSum = rpamountFilter(order.sum, OrderbookFilterOpts); + order.showPrice = rpamountFilter(order.price, OrderbookFilterOpts); var showValue = type === 'bids' ? 'TakerPays' : 'TakerGets'; - $scope.bookShow[type][i]['show' + showValue] = rpamountFilter($scope.bookShow[type][i][showValue], OrderbookFilterOpts); + order['show' + showValue] = rpamountFilter(order[showValue], OrderbookFilterOpts); + order.isNew = isUpdate && !oldBookShowIndex[order.BookDirectory]; + if (isUpdate && !order.isNew) { + order.isChanged = order['show' + showValue] !== oldBookShowIndex[order.BookDirectory]['show' + showValue] || + order.showPrice !== oldBookShowIndex[order.BookDirectory].showPrice; + } } $scope.priceTicker[type.substring(0, 3)] = rpamountFilter($scope.bookShow[type][0].price, OrderbookTickerFilterOpts); @@ -1431,7 +1442,7 @@ TradeTab.prototype.angular = function(module) /** * Watch widget field changes */ - ['buy','sell'].forEach(function(type){ + ['buy', 'sell'].forEach(function(type){ $scope.$watch('order.' + type + '.first', function () { $scope.update_first(type); }, true); diff --git a/src/less/ripple/tabs/trade.less b/src/less/ripple/tabs/trade.less index e15ce7d3e..9da8fac4c 100644 --- a/src/less/ripple/tabs/trade.less +++ b/src/less/ripple/tabs/trade.less @@ -509,6 +509,33 @@ } } + .new { + font-weight: normal; + color: @black; + .animation-mixin(newfadeout 5s ease-out 0s); + } + + .changed { + font-weight: normal; + color: @black; + .animation-mixin(changefadeout 5s ease-out 0s); + } + + .keyframes-mixin(newfadeout, { + color: @midgreen; + font-weight: bold; + }, { + color: @black; + font-weight: normal; + }); + .keyframes-mixin(changefadeout, { + color: @midred; + font-weight: bold; + }, { + color: @black; + font-weight: normal; + }); + @media (min-width: @screen-md-max) { .bids { border-right: 1px solid darken(@bg, 20%); @@ -609,3 +636,17 @@ } } } + +.animation-mixin(@arguments) { + -moz-animation: @arguments; + -webkit-animation: @arguments; + -o-animation: @arguments; + animation: @arguments; +} + +.keyframes-mixin(@name, @fromRules, @toRules) { + @-moz-keyframes ~'@{name}' { 0% { @fromRules(); } 100% { @toRules(); } } + @-o-keyframes ~'@{name}' { 0% { @fromRules(); } 100% { @toRules(); } } + @-webkit-keyframes ~'@{name}' { 0% { @fromRules(); } 100% { @toRules(); } } + @keyframes ~'@{name}' { 0% { @fromRules(); } 100% { @toRules(); } } +} diff --git a/src/templates/tabs/trade.jade b/src/templates/tabs/trade.jade index e55b514d5..127c183ba 100644 --- a/src/templates/tabs/trade.jade +++ b/src/templates/tabs/trade.jade @@ -636,7 +636,7 @@ section.col-xs-12.content(ng-controller="TradeCtrl") rp-pretty-issuer-or-short) .row(ng-repeat='order in bookShow.bids track by order.index' - ng-class="{my: order.my, cancelling: cancelling}") + ng-class="{my: order.my, cancelling: cancelling, new: order.isNew, changed: order.isChanged}") .col-xs-4.rpamount.sum a(href="", ng-click="fill_widget('sell', order, true)") span(rp-bind-color-amount="order.showSum") @@ -675,7 +675,7 @@ section.col-xs-12.content(ng-controller="TradeCtrl") rp-pretty-issuer-or-short) .row(ng-repeat='order in bookShow.asks track by order.index' - ng-class="{my: order.my, cancelling: cancelling}") + ng-class="{my: order.my, cancelling: cancelling, new: order.isNew, changed: order.isChanged}") .col-xs-4.rpamount.price a(href="", ng-click="fill_widget('buy', order, true)", ng-bind="order.showPrice") .col-xs-4.rpamount.size(rp-bind-color-amount="order.showTakerGets") From eae6eccefa20ed33c0c0c73f1cb8f63ae769d364 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Sat, 30 May 2015 06:43:39 +0300 Subject: [PATCH 320/321] [TEST] really turn off custom gateways tests --- .../tests-private.1/PrivateTests0.json | 980 ++++++++++++++++ .../tests-private.1/PrivateTests1.json | 1009 +++++++++++++++++ .../tests-private.1/PrivateTests2.json | 550 +++++++++ .../PrivateTests3.json | 0 .../PrivateTests4.json | 0 .../selenium/tests-private/PrivateTests0.json | 511 ++------- .../selenium/tests-private/PrivateTests1.json | 651 ++++------- .../selenium/tests-private/PrivateTests2.json | 436 ++++--- 8 files changed, 3078 insertions(+), 1059 deletions(-) create mode 100644 test/selenium/tests-private.1/PrivateTests0.json create mode 100644 test/selenium/tests-private.1/PrivateTests1.json create mode 100644 test/selenium/tests-private.1/PrivateTests2.json rename test/selenium/{tests-private => tests-private.1}/PrivateTests3.json (100%) rename test/selenium/{tests-private => tests-private.1}/PrivateTests4.json (100%) diff --git a/test/selenium/tests-private.1/PrivateTests0.json b/test/selenium/tests-private.1/PrivateTests0.json new file mode 100644 index 000000000..0927071b1 --- /dev/null +++ b/test/selenium/tests-private.1/PrivateTests0.json @@ -0,0 +1,980 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Gateways" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "Connect" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Connect gateway" + } + }, + { + "type": "waitForTextPresent", + "text": "address" + }, + { + "type": "verifyElementPresent", + "locator": { + "type": "id", + "value": "trust_counterparty" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "trust_counterparty" + }, + "text": "~snapswap" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "setElementText", + "locator": { + "type": "xpath", + "value": "//form[@id='trustForm']/div[2]/div/div[2]/div/div/input" + }, + "text": "USD" + }, + { + "type": "sendKeysToElement", + "locator": { + "type": "xpath", + "value": "//form[@id='trustForm']/div[2]/div/div[2]/div/div/input" + }, + "text": "\n" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "link text", + "value": "Save" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Save" + } + }, + { + "type": "waitForTextPresent", + "text": "Confirm" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='modal-content']//button[.='Loading...Confirm']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "SnapSwap", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "BRL" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "BRL" + } + }, + { + "type": "waitForTextPresent", + "text": "Brazil" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-brl']//button[.=' Add Rippex Adding...']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "pause", + "waitTime": "1000" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Real", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "EUR" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "EUR" + } + }, + { + "type": "waitForTextPresent", + "text": "Euro" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-eur']//button[.='Add SnapSwap.eu']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Euro", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "JPY" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "JPY" + } + }, + { + "type": "waitForTextPresent", + "text": "Tokyo" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-jpy']//button[.='Add Tokyo JPY']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Japanese", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests-private.1/PrivateTests1.json b/test/selenium/tests-private.1/PrivateTests1.json new file mode 100644 index 000000000..7e9338c94 --- /dev/null +++ b/test/selenium/tests-private.1/PrivateTests1.json @@ -0,0 +1,1009 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "MXN" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "MXN" + } + }, + { + "type": "waitForTextPresent", + "text": "Mexican" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-mxn']//button[.='Add Bitso']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Mexican", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "SGD" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "SGD" + } + }, + { + "type": "waitForTextPresent", + "text": "Singapore" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-sgd']//button[.='Add Ripple Singapore']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Singapore", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "USD" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "USD" + } + }, + { + "type": "waitForTextPresent", + "text": "USA" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-usd']//button[.='Add SnapSwap.us']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Dollar", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "XAU" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "XAU" + } + }, + { + "type": "waitForTextPresent", + "text": "Gold" + }, + { + "type": "pause", + "waitTime": "3000" + }, + { + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-gold']//button[.='Add GBI']" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "connected" + }, + { + "type": "waitForTextPresent", + "text": "Hide" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-fund a" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Add any gateway (trust lines)" + } + }, + { + "type": "waitForTextPresent", + "text": "edit" + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" + } + }, + { + "type": "waitForTextPresent", + "text": "Remove" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + } + }, + { + "type": "waitForTextPresent", + "text": "Password" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "popup_unlock_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + } + }, + { + "type": "waitForTextPresent", + "text": "Gold", + "negated": true + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests-private.1/PrivateTests2.json b/test/selenium/tests-private.1/PrivateTests2.json new file mode 100644 index 000000000..0f6b474c7 --- /dev/null +++ b/test/selenium/tests-private.1/PrivateTests2.json @@ -0,0 +1,550 @@ +{ + "type": "script", + "seleniumVersion": "2", + "formatVersion": 2, + "steps": [ + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send > a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "verifyText", + "text": "BTC - Bitcoin", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.00001" + }, + { + "type": "waitForTextPresent", + "text": "Send XRP" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send > a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "kate@snapswap.eu" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "verifyText", + "text": "EUR - Euro", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.01" + }, + { + "type": "waitForTextPresent", + "text": "Send XRP" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "#kate@snapswap.eu" + }, + { + "type": "waitForTextPresent", + "text": "Dollar" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "verifyText", + "text": "USD - US Dollar", + "locator": { + "type": "css selector", + "value": "span[ng-bind='send.currency_force']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME2}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD2}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send > a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "~vakula" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "id", + "value": "send_amount_currency" + } + }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.0000001" + }, + { + "type": "waitForTextPresent", + "text": "too much" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.000001" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "id", + "value": "sendXrpButton" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "1000000000000" + }, + { + "type": "waitForTextPresent", + "text": "too much" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount_currency" + }, + "text": "USD" + }, + { + "type": "waitForTextPresent", + "text": "insufficient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "10000000000000000" + }, + { + "type": "waitForTextPresent", + "text": "too many" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": ".000000000000001" + }, + { + "type": "waitForTextPresent", + "text": "Send USD" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": ".0000000000000001" + }, + { + "type": "waitForTextPresent", + "text": "too many" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_username" + }, + "text": "${FUNDED_USER_NAME2}" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "login_password" + }, + "text": "${FUNDED_USER_PASSWORD2}" + }, + { + "type": "clickElement", + "locator": { + "type": "id", + "value": "loginBtn" + } + }, + { + "type": "waitForTextPresent", + "text": "BALANCES" + }, + { + "type": "verifyTextPresent", + "text": "BALANCES" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "#nav-send > a" + } + }, + { + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "~vakula" + }, + { + "type": "waitForElementPresent", + "locator": { + "type": "id", + "value": "send_amount_currency" + } + }, + { + "type": "print", + "text": "------- waiting 5 sec" + }, + { + "type": "pause", + "waitTime": "5000" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount_currency" + }, + "text": "USD" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.00001" + }, + { + "type": "waitForTextPresent", + "text": "Send USD" + }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount_currency" + }, + "text": "BTC" + }, + { + "type": "waitForTextPresent", + "text": "Send XRP" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": ".fa-cog" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Log Out" + } + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + } + ], + "data": { + "configs": {}, + "source": "none" + }, + "inputs": [], + "timeoutSeconds": 420 +} \ No newline at end of file diff --git a/test/selenium/tests-private/PrivateTests3.json b/test/selenium/tests-private.1/PrivateTests3.json similarity index 100% rename from test/selenium/tests-private/PrivateTests3.json rename to test/selenium/tests-private.1/PrivateTests3.json diff --git a/test/selenium/tests-private/PrivateTests4.json b/test/selenium/tests-private.1/PrivateTests4.json similarity index 100% rename from test/selenium/tests-private/PrivateTests4.json rename to test/selenium/tests-private.1/PrivateTests4.json diff --git a/test/selenium/tests-private/PrivateTests0.json b/test/selenium/tests-private/PrivateTests0.json index 0927071b1..941d7dbe7 100644 --- a/test/selenium/tests-private/PrivateTests0.json +++ b/test/selenium/tests-private/PrivateTests0.json @@ -262,197 +262,47 @@ "type": "clickElement", "locator": { "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "BRL" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "BRL" - } - }, - { - "type": "waitForTextPresent", - "text": "Brazil" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-brl']//button[.=' Add Rippex Adding...']" + "value": "#nav-send > a" } }, { "type": "waitForTextPresent", - "text": "Password" + "text": "Recipient" }, { "type": "setElementText", "locator": { "type": "id", - "value": "popup_unlock_password" + "value": "send_destination" }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true + "text": "1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX" }, { - "type": "clickElement", + "type": "waitForElementPresent", "locator": { "type": "css selector", - "value": ".modal-submit-btn" + "value": "span[ng-bind='send.currency_force']" } }, { - "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", + "type": "verifyText", + "text": "BTC - Bitcoin", "locator": { "type": "css selector", - "value": ".fa-cog" + "value": "span[ng-bind='send.currency_force']" } }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, { "type": "setElementText", "locator": { "type": "id", - "value": "login_username" + "value": "send_amount" }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } + "text": "0.00001" }, { "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } - }, - { - "type": "waitForTextPresent", - "text": "edit" - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "edit" - } - }, - { - "type": "waitForTextPresent", - "text": "Remove" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "pause", - "waitTime": "1000" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } - }, - { - "type": "waitForTextPresent", - "text": "Real", - "negated": true + "text": "Send XRP" }, { "type": "clickElement", @@ -515,194 +365,75 @@ "type": "clickElement", "locator": { "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "EUR" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "EUR" + "value": "#nav-send > a" } }, { "type": "waitForTextPresent", - "text": "Euro" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-eur']//button[.='Add SnapSwap.eu']" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" + "text": "Recipient" }, { "type": "setElementText", "locator": { "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" + "value": "send_destination" }, - "attributeName": "disabled", - "value": "disabled", - "negated": true + "text": "kate@snapswap.eu" }, { - "type": "clickElement", + "type": "waitForElementPresent", "locator": { "type": "css selector", - "value": ".modal-submit-btn" + "value": "span[ng-bind='send.currency_force']" } }, { - "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", + "type": "verifyText", + "text": "EUR - Euro", "locator": { "type": "css selector", - "value": ".fa-cog" + "value": "span[ng-bind='send.currency_force']" } }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, { "type": "setElementText", "locator": { "type": "id", - "value": "login_password" + "value": "send_amount" }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } + "text": "0.01" }, { "type": "waitForTextPresent", - "text": "edit" + "text": "Send XRP" }, { - "type": "clickElement", + "type": "setElementText", "locator": { - "type": "link text", - "value": "edit" - } + "type": "id", + "value": "send_destination" + }, + "text": "#kate@snapswap.eu" }, { "type": "waitForTextPresent", - "text": "Remove" + "text": "Dollar" }, { - "type": "clickElement", + "type": "waitForElementPresent", "locator": { "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + "value": "span[ng-bind='send.currency_force']" } }, { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", + "type": "verifyText", + "text": "USD - US Dollar", "locator": { "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" + "value": "span[ng-bind='send.currency_force']" } }, - { - "type": "waitForTextPresent", - "text": "Euro", - "negated": true - }, { "type": "clickElement", "locator": { @@ -735,7 +466,7 @@ "type": "id", "value": "login_username" }, - "text": "${FUNDED_USER_NAME}" + "text": "${FUNDED_USER_NAME2}" }, { "type": "setElementText", @@ -743,7 +474,7 @@ "type": "id", "value": "login_password" }, - "text": "${FUNDED_USER_PASSWORD}" + "text": "${FUNDED_USER_PASSWORD2}" }, { "type": "clickElement", @@ -764,193 +495,125 @@ "type": "clickElement", "locator": { "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "JPY" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "JPY" - } - }, - { - "type": "waitForTextPresent", - "text": "Tokyo" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-jpy']//button[.='Add Tokyo JPY']" + "value": "#nav-send > a" } }, { "type": "waitForTextPresent", - "text": "Password" + "text": "Recipient" }, { "type": "setElementText", "locator": { "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" + "value": "send_destination" }, - "attributeName": "disabled", - "value": "disabled", - "negated": true + "text": "~vakula" }, { - "type": "clickElement", + "type": "waitForElementPresent", "locator": { - "type": "css selector", - "value": ".modal-submit-btn" + "type": "id", + "value": "send_amount_currency" } }, { - "type": "waitForTextPresent", - "text": "connected" + "type": "print", + "text": "------- waiting 5 sec" }, { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } + "type": "pause", + "waitTime": "5000" }, { - "type": "clickElement", + "type": "setElementText", "locator": { - "type": "link text", - "value": "Log Out" - } + "type": "id", + "value": "send_amount" + }, + "text": "0.0000001" }, { "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" + "text": "too much" }, { "type": "setElementText", "locator": { "type": "id", - "value": "login_username" + "value": "send_amount" }, - "text": "${FUNDED_USER_NAME}" + "text": "0.000001" }, { - "type": "setElementText", + "type": "waitForElementAttribute", "locator": { "type": "id", - "value": "login_password" + "value": "sendXrpButton" }, - "text": "${FUNDED_USER_PASSWORD}" + "attributeName": "disabled", + "value": "disabled", + "negated": true }, { - "type": "clickElement", + "type": "setElementText", "locator": { "type": "id", - "value": "loginBtn" - } + "value": "send_amount" + }, + "text": "1000000000000" }, { "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } + "text": "too much" }, { - "type": "clickElement", + "type": "setElementText", "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } + "type": "id", + "value": "send_amount_currency" + }, + "text": "USD" }, { "type": "waitForTextPresent", - "text": "edit" + "text": "insufficient" }, { - "type": "clickElement", + "type": "setElementText", "locator": { - "type": "link text", - "value": "edit" - } + "type": "id", + "value": "send_amount" + }, + "text": "10000000000000000" }, { "type": "waitForTextPresent", - "text": "Remove" + "text": "too many" }, { - "type": "clickElement", + "type": "setElementText", "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" - } + "type": "id", + "value": "send_amount" + }, + "text": ".000000000000001" }, { "type": "waitForTextPresent", - "text": "Password" + "text": "Send USD" }, { "type": "setElementText", "locator": { "type": "id", - "value": "popup_unlock_password" + "value": "send_amount" }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } + "text": ".0000000000000001" }, { "type": "waitForTextPresent", - "text": "Japanese", - "negated": true + "text": "too many" }, { "type": "clickElement", diff --git a/test/selenium/tests-private/PrivateTests1.json b/test/selenium/tests-private/PrivateTests1.json index 7e9338c94..34012c99b 100644 --- a/test/selenium/tests-private/PrivateTests1.json +++ b/test/selenium/tests-private/PrivateTests1.json @@ -17,7 +17,7 @@ "type": "id", "value": "login_username" }, - "text": "${FUNDED_USER_NAME}" + "text": "${FUNDED_USER_NAME2}" }, { "type": "setElementText", @@ -25,7 +25,7 @@ "type": "id", "value": "login_password" }, - "text": "${FUNDED_USER_PASSWORD}" + "text": "${FUNDED_USER_PASSWORD2}" }, { "type": "clickElement", @@ -46,74 +46,67 @@ "type": "clickElement", "locator": { "type": "css selector", - "value": "#nav-fund a" + "value": "#nav-send > a" } }, { - "type": "waitForElementPresent", + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "setElementText", "locator": { - "type": "link text", - "value": "MXN" - } + "type": "id", + "value": "send_destination" + }, + "text": "~vakula" }, { - "type": "clickElement", + "type": "waitForElementPresent", "locator": { - "type": "link text", - "value": "MXN" + "type": "id", + "value": "send_amount_currency" } }, { - "type": "waitForTextPresent", - "text": "Mexican" + "type": "print", + "text": "------- waiting 5 sec" }, { "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", - "locator": { - "type": "xpath", - "value": "//div[@id='t-mxn']//button[.='Add Bitso']" - } - }, - { - "type": "waitForTextPresent", - "text": "Password" + "waitTime": "5000" }, { "type": "setElementText", "locator": { "type": "id", - "value": "popup_unlock_password" + "value": "send_amount_currency" }, - "text": "${FUNDED_USER_PASSWORD}" + "text": "USD" }, { - "type": "waitForElementAttribute", + "type": "setElementText", "locator": { - "type": "css selector", - "value": ".modal-submit-btn" + "type": "id", + "value": "send_amount" }, - "attributeName": "disabled", - "value": "disabled", - "negated": true + "text": "0.00001" }, { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } + "type": "waitForTextPresent", + "text": "Send USD" }, { - "type": "waitForTextPresent", - "text": "connected" + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount_currency" + }, + "text": "BTC" }, { "type": "waitForTextPresent", - "text": "Hide" + "text": "Send XRP" }, { "type": "clickElement", @@ -133,6 +126,14 @@ "type": "waitForTextPresent", "text": "Welcome to Ripple Trade" }, + { + "type": "get", + "url": "http://ripp.site:3000/#/login" + }, + { + "type": "waitForTextPresent", + "text": "Welcome to Ripple Trade" + }, { "type": "setElementText", "locator": { @@ -168,71 +169,93 @@ "type": "clickElement", "locator": { "type": "css selector", - "value": "#nav-fund a" + "value": "#nav-send a" } }, { - "type": "clickElement", + "type": "waitForTextPresent", + "text": "Recipient" + }, + { + "type": "verifyElementPresent", "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" + "type": "id", + "value": "send_destination" } }, + { + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_destination" + }, + "text": "~appsteamaccount1" + }, { "type": "waitForTextPresent", - "text": "edit" + "text": "receive" }, { - "type": "clickElement", + "type": "verifyElementPresent", "locator": { - "type": "link text", - "value": "edit" + "type": "id", + "value": "send_amount" } }, { - "type": "waitForTextPresent", - "text": "Remove" + "type": "setElementText", + "locator": { + "type": "id", + "value": "send_amount" + }, + "text": "0.0001" + }, + { + "type": "waitForElementAttribute", + "locator": { + "type": "id", + "value": "sendXrpButton" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true }, { "type": "clickElement", "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + "type": "id", + "value": "sendXrpButton" } }, { "type": "waitForTextPresent", - "text": "Password" + "text": "confirm" }, { - "type": "setElementText", + "type": "verifyElementPresent", "locator": { "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" + "value": "send_unlock_password" + } }, { - "type": "waitForElementAttribute", + "type": "setElementText", "locator": { - "type": "css selector", - "value": ".modal-submit-btn" + "type": "id", + "value": "send_unlock_password" }, - "attributeName": "disabled", - "value": "disabled", - "negated": true + "text": "${FUNDED_USER_PASSWORD}" }, { "type": "clickElement", "locator": { - "type": "css selector", - "value": ".modal-submit-btn" + "type": "id", + "value": "confirmButton" } }, { "type": "waitForTextPresent", - "text": "Mexican", - "negated": true + "text": "successful" }, { "type": "clickElement", @@ -266,7 +289,7 @@ "type": "id", "value": "login_username" }, - "text": "${FUNDED_USER_NAME}" + "text": "${FUNDED_USER_NAME2}" }, { "type": "setElementText", @@ -274,7 +297,7 @@ "type": "id", "value": "login_password" }, - "text": "${FUNDED_USER_PASSWORD}" + "text": "${FUNDED_USER_PASSWORD2}" }, { "type": "clickElement", @@ -291,162 +314,109 @@ "type": "verifyTextPresent", "text": "BALANCES" }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, { "type": "waitForElementPresent", "locator": { "type": "link text", - "value": "SGD" + "value": "Trade" } }, { "type": "clickElement", "locator": { "type": "link text", - "value": "SGD" + "value": "Trade" } }, { - "type": "waitForTextPresent", - "text": "Singapore" - }, - { - "type": "pause", - "waitTime": "3000" + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "Advanced" + } }, { "type": "clickElement", "locator": { - "type": "xpath", - "value": "//div[@id='t-sgd']//button[.='Add Ripple Singapore']" + "type": "link text", + "value": "Advanced" } }, { "type": "waitForTextPresent", - "text": "Password" + "text": "add pair" }, { "type": "setElementText", "locator": { "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" + "value": "currency_pair" }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - } + "text": "WRONG" }, { "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" - } - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" + "text": "show" }, { "type": "setElementText", "locator": { "type": "id", - "value": "login_username" + "value": "currency_pair" }, - "text": "${FUNDED_USER_NAME}" + "text": "USD.Bitstamp/USD.Snapswap" }, { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" + "type": "pause", + "waitTime": "1000" }, { "type": "clickElement", "locator": { "type": "id", - "value": "loginBtn" + "value": "wrapper" } }, { "type": "waitForTextPresent", - "text": "BALANCES" + "text": "BIDS" }, { - "type": "verifyTextPresent", - "text": "BALANCES" + "type": "pause", + "waitTime": "5000" }, { - "type": "clickElement", + "type": "setElementText", "locator": { "type": "css selector", - "value": "#nav-fund a" - } + "value": "input[input-type='sell'][name='amount']" + }, + "text": "0.00001" }, { - "type": "clickElement", + "type": "setElementText", "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } - }, - { - "type": "waitForTextPresent", - "text": "edit" + "type": "css selector", + "value": "input[input-type='sell'][name='price']" + }, + "text": "1234" }, { "type": "clickElement", "locator": { - "type": "link text", - "value": "edit" + "type": "css selector", + "value": "button[btn-type='sell']" } }, { "type": "waitForTextPresent", - "text": "Remove" + "text": "sure" }, { "type": "clickElement", "locator": { "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + "value": "button[ng-disabled='confirm_wait']" } }, { @@ -459,7 +429,7 @@ "type": "id", "value": "popup_unlock_password" }, - "text": "${FUNDED_USER_PASSWORD}" + "text": "${FUNDED_USER_PASSWORD2}" }, { "type": "waitForElementAttribute", @@ -480,256 +450,204 @@ }, { "type": "waitForTextPresent", - "text": "Singapore", - "negated": true + "text": "cancel" }, { - "type": "clickElement", + "type": "verifyText", + "text": "0.00001", "locator": { "type": "css selector", - "value": ".fa-cog" + "value": ".my .row:nth-child(2) div[data-label='QTY']" } }, { - "type": "clickElement", + "type": "verifyText", + "text": "1,234", "locator": { - "type": "link text", - "value": "Log Out" + "type": "css selector", + "value": ".my .row:nth-child(2) div[data-label='Limit']" } }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, { "type": "clickElement", "locator": { - "type": "id", - "value": "loginBtn" + "type": "link text", + "value": "edit" } }, { - "type": "waitForTextPresent", - "text": "BALANCES" + "type": "print", + "text": "------- waiting 5 sec" }, { - "type": "verifyTextPresent", - "text": "BALANCES" + "type": "pause", + "waitTime": "5000" }, { "type": "clickElement", "locator": { - "type": "css selector", - "value": "#nav-fund a" + "type": "link text", + "value": "back" } }, { - "type": "waitForElementPresent", - "locator": { - "type": "link text", - "value": "USD" - } + "type": "pause", + "waitTime": "5000" }, { "type": "clickElement", "locator": { "type": "link text", - "value": "USD" + "value": "edit" } }, + { + "type": "pause", + "waitTime": "5000" + }, { "type": "waitForTextPresent", - "text": "USA" + "text": "n/a", + "negated": true }, { "type": "pause", "waitTime": "3000" }, + { + "type": "setElementText", + "locator": { + "type": "name", + "value": "editPrice" + }, + "text": "1233" + }, { "type": "clickElement", "locator": { - "type": "xpath", - "value": "//div[@id='t-usd']//button[.='Add SnapSwap.us']" + "type": "link text", + "value": "submit" } }, { "type": "waitForTextPresent", - "text": "Password" + "text": "Confirm" }, { - "type": "setElementText", + "type": "clickElement", "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" + "type": "xpath", + "value": "//div[@class='actions']//button[.='Confirm']" + } }, { - "type": "waitForElementAttribute", + "type": "waitForElementPresent", "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true + "type": "link text", + "value": "cancel" + } }, { - "type": "clickElement", + "type": "verifyText", + "text": "1,233", "locator": { "type": "css selector", - "value": ".modal-submit-btn" + "value": ".my .row:nth-child(2) div[data-label='Limit']" } }, { - "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" - }, - { - "type": "clickElement", + "type": "verifyText", + "text": "0.00001", "locator": { "type": "css selector", - "value": ".fa-cog" + "value": ".my .row:nth-child(2) div[data-label='QTY']" } }, { "type": "clickElement", "locator": { "type": "link text", - "value": "Log Out" + "value": "edit" } }, { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" + "type": "print", + "text": "------- waiting 5 sec" }, { - "type": "setElementText", - "locator": { - "type": "id", - "value": "login_username" - }, - "text": "${FUNDED_USER_NAME}" + "type": "pause", + "waitTime": "5000" }, { "type": "setElementText", "locator": { - "type": "id", - "value": "login_password" + "type": "name", + "value": "editQuantity" }, - "text": "${FUNDED_USER_PASSWORD}" + "text": "0.00002" }, { "type": "clickElement", "locator": { - "type": "id", - "value": "loginBtn" + "type": "link text", + "value": "submit" } }, { "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" + "text": "Confirm" }, { "type": "clickElement", "locator": { - "type": "css selector", - "value": "#nav-fund a" + "type": "xpath", + "value": "//div[@class='actions']//button[.='Confirm']" } }, { - "type": "clickElement", + "type": "waitForElementPresent", "locator": { "type": "link text", - "value": "Add any gateway (trust lines)" + "value": "cancel" } }, { - "type": "waitForTextPresent", - "text": "edit" - }, - { - "type": "clickElement", + "type": "verifyText", + "text": "0.00002", "locator": { - "type": "link text", - "value": "edit" + "type": "css selector", + "value": ".my .row:nth-child(2) div[data-label='QTY']" } }, { - "type": "waitForTextPresent", - "text": "Remove" - }, - { - "type": "clickElement", + "type": "verifyText", + "text": "1,233", "locator": { "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + "value": ".my .row:nth-child(2) div[data-label='Limit']" } }, { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", + "type": "clickElement", "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" + "type": "link text", + "value": "cancel" + } }, { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true + "type": "waitForTextPresent", + "text": "confirm" }, { "type": "clickElement", "locator": { "type": "css selector", - "value": ".modal-submit-btn" + "value": "div.modal-content button[ng-click='cancel_order()']" } }, { "type": "waitForTextPresent", - "text": "Dollar", + "text": "cancel all", "negated": true }, { @@ -789,196 +707,101 @@ "type": "verifyTextPresent", "text": "BALANCES" }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, { "type": "waitForElementPresent", "locator": { "type": "link text", - "value": "XAU" + "value": "Trade" } }, { "type": "clickElement", "locator": { "type": "link text", - "value": "XAU" + "value": "Trade" } }, { - "type": "waitForTextPresent", - "text": "Gold" - }, - { - "type": "pause", - "waitTime": "3000" - }, - { - "type": "clickElement", + "type": "waitForElementPresent", "locator": { - "type": "xpath", - "value": "//div[@id='t-gold']//button[.='Add GBI']" + "type": "link text", + "value": "Advanced" } }, - { - "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true - }, { "type": "clickElement", "locator": { - "type": "css selector", - "value": ".modal-submit-btn" + "type": "link text", + "value": "Advanced" } }, { "type": "waitForTextPresent", - "text": "connected" - }, - { - "type": "waitForTextPresent", - "text": "Hide" + "text": "add pair" }, { "type": "clickElement", "locator": { - "type": "css selector", - "value": ".fa-cog" - } - }, - { - "type": "clickElement", - "locator": { - "type": "link text", - "value": "Log Out" + "type": "xpath", + "value": "//div[@id='t-trade']//button[.='add pair']" } }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" - }, { "type": "setElementText", "locator": { - "type": "id", - "value": "login_username" + "type": "name", + "value": "first_currency" }, - "text": "${FUNDED_USER_NAME}" + "text": "GBP" }, { "type": "setElementText", "locator": { - "type": "id", - "value": "login_password" + "type": "name", + "value": "first_iss" }, - "text": "${FUNDED_USER_PASSWORD}" + "text": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q" }, { - "type": "clickElement", - "locator": { - "type": "id", - "value": "loginBtn" - } - }, - { - "type": "waitForTextPresent", - "text": "BALANCES" - }, - { - "type": "verifyTextPresent", - "text": "BALANCES" - }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-fund a" - } - }, - { - "type": "clickElement", + "type": "setElementText", "locator": { - "type": "link text", - "value": "Add any gateway (trust lines)" - } - }, - { - "type": "waitForTextPresent", - "text": "edit" + "type": "name", + "value": "second_currency" + }, + "text": "XRP" }, { "type": "clickElement", "locator": { - "type": "link text", - "value": "edit" + "type": "xpath", + "value": "//div[@id='add_button']//button[.='Add']" } }, { "type": "waitForTextPresent", - "text": "Remove" + "text": "edit pairs" }, { "type": "clickElement", "locator": { - "type": "css selector", - "value": "button.btn.submit[ng-click='delete_account()']:not(.ng-hide):not(.btn-xs)" + "type": "xpath", + "value": "//div[@id='t-trade']//button[.='edit pairs']" } }, { "type": "waitForTextPresent", - "text": "Password" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "popup_unlock_password" - }, - "text": "${FUNDED_USER_PASSWORD}" - }, - { - "type": "waitForElementAttribute", - "locator": { - "type": "css selector", - "value": ".modal-submit-btn" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true + "text": "GBP.rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q/XRP" }, { "type": "clickElement", "locator": { - "type": "css selector", - "value": ".modal-submit-btn" + "type": "xpath", + "value": "//div[@class='section']//span[.='remove']" } }, { "type": "waitForTextPresent", - "text": "Gold", + "text": "GBP.rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q/XRP", "negated": true }, { diff --git a/test/selenium/tests-private/PrivateTests2.json b/test/selenium/tests-private/PrivateTests2.json index 0f6b474c7..aa8795fca 100644 --- a/test/selenium/tests-private/PrivateTests2.json +++ b/test/selenium/tests-private/PrivateTests2.json @@ -42,181 +42,126 @@ "type": "verifyTextPresent", "text": "BALANCES" }, - { - "type": "clickElement", - "locator": { - "type": "css selector", - "value": "#nav-send > a" - } - }, - { - "type": "waitForTextPresent", - "text": "Recipient" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_destination" - }, - "text": "1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX" - }, { "type": "waitForElementPresent", "locator": { - "type": "css selector", - "value": "span[ng-bind='send.currency_force']" + "type": "link text", + "value": "Trade" } }, { - "type": "verifyText", - "text": "BTC - Bitcoin", + "type": "clickElement", "locator": { - "type": "css selector", - "value": "span[ng-bind='send.currency_force']" + "type": "link text", + "value": "Trade" } }, { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_amount" - }, - "text": "0.00001" - }, - { - "type": "waitForTextPresent", - "text": "Send XRP" - }, - { - "type": "clickElement", + "type": "waitForElementPresent", "locator": { - "type": "css selector", - "value": ".fa-cog" + "type": "link text", + "value": "Advanced" } }, { "type": "clickElement", "locator": { "type": "link text", - "value": "Log Out" + "value": "Advanced" } }, { "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" + "text": "add pair" }, { - "type": "get", - "url": "http://ripp.site:3000/#/login" - }, - { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@id='t-trade']//button[.='add pair']" + } }, { "type": "setElementText", "locator": { - "type": "id", - "value": "login_username" + "type": "name", + "value": "first_currency" }, - "text": "${FUNDED_USER_NAME}" + "text": "EUR" }, { "type": "setElementText", "locator": { - "type": "id", - "value": "login_password" + "type": "name", + "value": "first_iss" }, - "text": "${FUNDED_USER_PASSWORD}" + "text": "~Bitstamp" }, { - "type": "clickElement", + "type": "setElementText", "locator": { - "type": "id", - "value": "loginBtn" - } + "type": "name", + "value": "second_currency" + }, + "text": "XRP" }, { - "type": "waitForTextPresent", - "text": "BALANCES" + "type": "print", + "text": "------- waiting 5 sec" }, { - "type": "verifyTextPresent", - "text": "BALANCES" + "type": "pause", + "waitTime": "5000" }, { "type": "clickElement", "locator": { - "type": "css selector", - "value": "#nav-send > a" + "type": "xpath", + "value": "//div[@id='add_button']//button[.='Add']" } }, { "type": "waitForTextPresent", - "text": "Recipient" - }, - { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_destination" - }, - "text": "kate@snapswap.eu" + "text": "edit pairs" }, { - "type": "waitForElementPresent", + "type": "clickElement", "locator": { - "type": "css selector", - "value": "span[ng-bind='send.currency_force']" + "type": "xpath", + "value": "//div[@id='t-trade']//button[.='edit pairs']" } }, { - "type": "verifyText", - "text": "EUR - Euro", - "locator": { - "type": "css selector", - "value": "span[ng-bind='send.currency_force']" - } + "type": "waitForTextPresent", + "text": "EUR.~Bitstamp/XRP" }, { - "type": "setElementText", - "locator": { - "type": "id", - "value": "send_amount" - }, - "text": "0.01" + "type": "print", + "text": "------- waiting 5 sec" }, { - "type": "waitForTextPresent", - "text": "Send XRP" + "type": "pause", + "waitTime": "5000" }, { - "type": "setElementText", + "type": "clickElement", "locator": { - "type": "id", - "value": "send_destination" - }, - "text": "#kate@snapswap.eu" + "type": "xpath", + "value": "//div[@class='section']//span[.='remove']" + } }, { - "type": "waitForTextPresent", - "text": "Dollar" + "type": "pause", + "waitTime": "5000" }, { - "type": "waitForElementPresent", - "locator": { - "type": "css selector", - "value": "span[ng-bind='send.currency_force']" - } + "type": "waitForTextPresent", + "text": "EUR.~Bitstamp/XRP", + "negated": true }, { - "type": "verifyText", - "text": "USD - US Dollar", - "locator": { - "type": "css selector", - "value": "span[ng-bind='send.currency_force']" - } + "type": "pause", + "waitTime": "8000" }, { "type": "clickElement", @@ -250,7 +195,7 @@ "type": "id", "value": "login_username" }, - "text": "${FUNDED_USER_NAME2}" + "text": "${FUNDED_USER_NAME}" }, { "type": "setElementText", @@ -258,7 +203,7 @@ "type": "id", "value": "login_password" }, - "text": "${FUNDED_USER_PASSWORD2}" + "text": "${FUNDED_USER_PASSWORD}" }, { "type": "clickElement", @@ -276,251 +221,300 @@ "text": "BALANCES" }, { - "type": "clickElement", + "type": "waitForElementPresent", "locator": { - "type": "css selector", - "value": "#nav-send > a" + "type": "link text", + "value": "Trade" } }, { - "type": "waitForTextPresent", - "text": "Recipient" - }, - { - "type": "setElementText", + "type": "clickElement", "locator": { - "type": "id", - "value": "send_destination" - }, - "text": "~vakula" + "type": "link text", + "value": "Trade" + } }, { "type": "waitForElementPresent", "locator": { - "type": "id", - "value": "send_amount_currency" + "type": "link text", + "value": "Advanced" } }, { - "type": "print", - "text": "------- waiting 5 sec" + "type": "clickElement", + "locator": { + "type": "link text", + "value": "Advanced" + } }, { - "type": "pause", - "waitTime": "5000" + "type": "waitForTextPresent", + "text": "add pair" }, { "type": "setElementText", "locator": { "type": "id", - "value": "send_amount" + "value": "currency_pair" }, - "text": "0.0000001" + "text": "WRONG" }, { "type": "waitForTextPresent", - "text": "too much" + "text": "show" }, { "type": "setElementText", "locator": { "type": "id", - "value": "send_amount" + "value": "currency_pair" }, - "text": "0.000001" + "text": "XRP/USD.Bitstamp" }, { - "type": "waitForElementAttribute", - "locator": { - "type": "id", - "value": "sendXrpButton" - }, - "attributeName": "disabled", - "value": "disabled", - "negated": true + "type": "waitForTextPresent", + "text": "BIDS" }, { "type": "setElementText", "locator": { - "type": "id", - "value": "send_amount" + "type": "css selector", + "value": "input[input-type='sell'][name='amount']" }, - "text": "1000000000000" - }, - { - "type": "waitForTextPresent", - "text": "too much" + "text": "0.001" }, { "type": "setElementText", "locator": { - "type": "id", - "value": "send_amount_currency" + "type": "css selector", + "value": "input[input-type='sell'][name='price']" }, - "text": "USD" + "text": "1234" + }, + { + "type": "clickElement", + "locator": { + "type": "css selector", + "value": "button[btn-type='sell']" + } }, { "type": "waitForTextPresent", - "text": "insufficient" + "text": "sure" }, { - "type": "setElementText", + "type": "clickElement", "locator": { - "type": "id", - "value": "send_amount" - }, - "text": "10000000000000000" + "type": "css selector", + "value": "button[ng-disabled='confirm_wait']" + } }, { "type": "waitForTextPresent", - "text": "too many" + "text": "Password" }, { "type": "setElementText", "locator": { "type": "id", - "value": "send_amount" + "value": "popup_unlock_password" }, - "text": ".000000000000001" + "text": "${FUNDED_USER_PASSWORD}" }, { - "type": "waitForTextPresent", - "text": "Send USD" + "type": "waitForElementAttribute", + "locator": { + "type": "css selector", + "value": ".modal-submit-btn" + }, + "attributeName": "disabled", + "value": "disabled", + "negated": true }, { - "type": "setElementText", + "type": "clickElement", "locator": { - "type": "id", - "value": "send_amount" - }, - "text": ".0000000000000001" + "type": "css selector", + "value": ".modal-submit-btn" + } }, { "type": "waitForTextPresent", - "text": "too many" + "text": "cancel" }, { - "type": "clickElement", + "type": "verifyText", + "text": "0.001", "locator": { "type": "css selector", - "value": ".fa-cog" + "value": ".my .row:nth-child(2) div[data-label='QTY']" + } + }, + { + "type": "verifyText", + "text": "1,234", + "locator": { + "type": "css selector", + "value": ".my .row:nth-child(2) div[data-label='Limit']" } }, { "type": "clickElement", "locator": { "type": "link text", - "value": "Log Out" + "value": "edit" } }, { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" + "type": "pause", + "waitTime": "3000" }, { - "type": "get", - "url": "http://ripp.site:3000/#/login" + "type": "waitForTextPresent", + "text": "n/a", + "negated": true }, { - "type": "waitForTextPresent", - "text": "Welcome to Ripple Trade" + "type": "pause", + "waitTime": "3000" }, { "type": "setElementText", "locator": { - "type": "id", - "value": "login_username" + "type": "name", + "value": "editPrice" }, - "text": "${FUNDED_USER_NAME2}" + "text": "12334" }, { - "type": "setElementText", + "type": "clickElement", "locator": { - "type": "id", - "value": "login_password" - }, - "text": "${FUNDED_USER_PASSWORD2}" + "type": "link text", + "value": "submit" + } + }, + { + "type": "waitForTextPresent", + "text": "Confirm" }, { "type": "clickElement", "locator": { - "type": "id", - "value": "loginBtn" + "type": "xpath", + "value": "//div[@class='actions']//button[.='Confirm']" } }, { - "type": "waitForTextPresent", - "text": "BALANCES" + "type": "waitForElementPresent", + "locator": { + "type": "link text", + "value": "cancel" + } }, { - "type": "verifyTextPresent", - "text": "BALANCES" + "type": "verifyText", + "text": "12,334", + "locator": { + "type": "css selector", + "value": ".my .row:nth-child(2) div[data-label='Limit']" + } }, { - "type": "clickElement", + "type": "verifyText", + "text": "0.001", "locator": { "type": "css selector", - "value": "#nav-send > a" + "value": ".my .row:nth-child(2) div[data-label='QTY']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "edit" } }, { "type": "waitForTextPresent", - "text": "Recipient" + "text": "n/a", + "negated": true + }, + { + "type": "pause", + "waitTime": "3000" }, { "type": "setElementText", "locator": { - "type": "id", - "value": "send_destination" + "type": "name", + "value": "editQuantity" }, - "text": "~vakula" + "text": "0.002" }, { - "type": "waitForElementPresent", + "type": "clickElement", "locator": { - "type": "id", - "value": "send_amount_currency" + "type": "link text", + "value": "submit" } }, { - "type": "print", - "text": "------- waiting 5 sec" + "type": "waitForTextPresent", + "text": "Confirm" }, { - "type": "pause", - "waitTime": "5000" + "type": "clickElement", + "locator": { + "type": "xpath", + "value": "//div[@class='actions']//button[.='Confirm']" + } }, { - "type": "setElementText", + "type": "waitForElementPresent", "locator": { - "type": "id", - "value": "send_amount_currency" - }, - "text": "USD" + "type": "link text", + "value": "cancel" + } }, { - "type": "setElementText", + "type": "verifyText", + "text": "0.002", "locator": { - "type": "id", - "value": "send_amount" - }, - "text": "0.00001" + "type": "css selector", + "value": ".my .row:nth-child(2) div[data-label='QTY']" + } + }, + { + "type": "verifyText", + "text": "12,334", + "locator": { + "type": "css selector", + "value": ".my .row:nth-child(2) div[data-label='Limit']" + } + }, + { + "type": "clickElement", + "locator": { + "type": "link text", + "value": "cancel" + } }, { "type": "waitForTextPresent", - "text": "Send USD" + "text": "confirm" }, { - "type": "setElementText", + "type": "clickElement", "locator": { - "type": "id", - "value": "send_amount_currency" - }, - "text": "BTC" + "type": "css selector", + "value": "div.modal-content button[ng-click='cancel_order()']" + } }, { "type": "waitForTextPresent", - "text": "Send XRP" + "text": "cancel all", + "negated": true }, { "type": "clickElement", From 433047688122e75bb97e2079fcec941c463ddbc1 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Sat, 30 May 2015 05:21:48 +0300 Subject: [PATCH 321/321] [FEATURE] Highlight new/changed orders (RT-3278) change green to blue remove animation --- src/less/ripple/tabs/trade.less | 25 ++++--------------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/src/less/ripple/tabs/trade.less b/src/less/ripple/tabs/trade.less index 9da8fac4c..1d6043d30 100644 --- a/src/less/ripple/tabs/trade.less +++ b/src/less/ripple/tabs/trade.less @@ -510,32 +510,15 @@ } .new { - font-weight: normal; - color: @black; - .animation-mixin(newfadeout 5s ease-out 0s); + color: @midblue; + font-weight: bold; } .changed { - font-weight: normal; - color: @black; - .animation-mixin(changefadeout 5s ease-out 0s); + color: @midred; + font-weight: bold; } - .keyframes-mixin(newfadeout, { - color: @midgreen; - font-weight: bold; - }, { - color: @black; - font-weight: normal; - }); - .keyframes-mixin(changefadeout, { - color: @midred; - font-weight: bold; - }, { - color: @black; - font-weight: normal; - }); - @media (min-width: @screen-md-max) { .bids { border-right: 1px solid darken(@bg, 20%);