From e6785335a9c4a1a0025bb0f6d726cc0cc0f97c51 Mon Sep 17 00:00:00 2001 From: Kosta Korenkov <7r0ggy@gmail.com> Date: Sat, 4 Jul 2015 13:02:46 +0300 Subject: [PATCH 001/158] Addon support Addons are simple Angular modules with views, controllers, services etc. Addons can register themselves in Copay using pluginManagerProvider. It allows them to add extra items to the bottom menu and as well as extra tab-views: ```` addonManagerProvider.registerAddon({ menuItem: { 'title': 'Assets', 'icon': 'icon-pricetag', 'link': 'assets' }, view: { id: 'assets', 'class': 'assets', template: 'colored-coins/views/assets.html' } }); ```` Addons can consume core Copay services and listen for events to react on changes. For this very first addon system inplementation Copay emits additional BalanceUpdated event so that interested addons can react on new transactions (see plugin reference implementation below). As bottom menu can accomodate only 6 items without sacrificing usability, so it was reworked to have second layer of items. Now If menu has more than 6 items, toggle button will be added to the menu allowing to reveal extra items in a sliding panel. Bottom menu in this case will show only 5 items, the rest will be rendered on sliding panel. This changes addresses issue #2949 and reference implementation of addon could be found here: https://github.com/troggy/copay-colored-coins-plugin --- public/views/includes/menu-toggle.html | 5 +++++ public/views/includes/menu.html | 28 ++++++++++++++++++++++++-- public/views/walletHome.html | 3 +++ src/css/mobile.css | 14 +++++++++++++ src/js/app.js | 5 ++++- src/js/controllers/index.js | 9 +++++++-- src/js/directives/directives.js | 7 +++++++ src/js/services/addonManager.js | 26 ++++++++++++++++++++++++ src/js/services/pluginManager.js | 10 --------- 9 files changed, 92 insertions(+), 15 deletions(-) create mode 100644 public/views/includes/menu-toggle.html create mode 100644 src/js/services/addonManager.js delete mode 100644 src/js/services/pluginManager.js diff --git a/public/views/includes/menu-toggle.html b/public/views/includes/menu-toggle.html new file mode 100644 index 000000000..dcb1b5cff --- /dev/null +++ b/public/views/includes/menu-toggle.html @@ -0,0 +1,5 @@ +
+ + + +
diff --git a/public/views/includes/menu.html b/public/views/includes/menu.html index 5993029e8..451f67074 100644 --- a/public/views/includes/menu.html +++ b/public/views/includes/menu.html @@ -1,5 +1,21 @@ -
-
+ + +
+ + +
+ +
+ +
+ + diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 406b86608..da8da5591 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -505,6 +505,9 @@
+
+
+
diff --git a/src/css/mobile.css b/src/css/mobile.css index 8b0538674..9471f4215 100644 --- a/src/css/mobile.css +++ b/src/css/mobile.css @@ -151,6 +151,20 @@ _:-ms-fullscreen, :root .main { background: #2C3E50; } +.second-bottom-bar { + z-index: 6; +} + +.second-bottom-bar.animated.slideInRight, +.second-bottom-bar.animated.slideInLeft { + -webkit-animation-duration: 0.3s; + animation-duration: 0.3s; +} + +.menu-toggle { + padding-top: 1rem !important; +} + .amount { width: 100%; text-align: center; diff --git a/src/js/app.js b/src/js/app.js index cb2e8fb89..748099a7d 100644 --- a/src/js/app.js +++ b/src/js/app.js @@ -12,7 +12,8 @@ var modules = [ 'copayApp.filters', 'copayApp.services', 'copayApp.controllers', - 'copayApp.directives' + 'copayApp.directives', + 'copayApp.plugins' ]; var copayApp = window.copayApp = angular.module('copayApp', modules); @@ -21,3 +22,5 @@ angular.module('copayApp.filters', []); angular.module('copayApp.services', []); angular.module('copayApp.controllers', []); angular.module('copayApp.directives', []); +angular.module('copayApp.plugins', []); + diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index faf3a335c..857549eb5 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('indexController', function($rootScope, $scope, $log, $filter, $timeout, lodash, go, profileService, configService, isCordova, rateService, storageService, addressService, gettextCatalog, gettext, amMoment, nodeWebkit) { +angular.module('copayApp.controllers').controller('indexController', function($rootScope, $scope, $log, $filter, $timeout, lodash, go, profileService, configService, isCordova, rateService, storageService, addressService, gettextCatalog, gettext, amMoment, nodeWebkit, addonManager) { var self = this; self.isCordova = isCordova; self.onGoingProcess = {}; @@ -34,6 +34,10 @@ angular.module('copayApp.controllers').controller('indexController', function($r 'link': 'history' }]; + self.addonViews = addonManager.addonViews(); + self.menu = self.menu.concat(addonManager.addonMenuItems()); + self.menuItemSize = self.menu.length > 4 ? 2 : 3; + self.tab = 'walletHome'; self.availableLanguages = [{ @@ -274,6 +278,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.walletScanStatus = walletStatus.wallet.scanStatus; self.copayers = walletStatus.wallet.copayers; self.preferences = walletStatus.preferences; + $rootScope.$emit('Local/BalanceUpdated', walletStatus.balance); self.setBalance(walletStatus.balance); self.otherWallets = lodash.filter(profileService.getWallets(self.network), function(w) { return w.id != self.walletId; @@ -548,7 +553,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r } }); }, false); - chooser.click(); + chooser.click(); } function formatDate(date) { diff --git a/src/js/directives/directives.js b/src/js/directives/directives.js index 69433e59b..5696fd116 100644 --- a/src/js/directives/directives.js +++ b/src/js/directives/directives.js @@ -296,4 +296,11 @@ angular.module('copayApp.directives') }); } }; + }) + .directive('menuToggle', function() { + return { + restrict: 'E', + replace: true, + templateUrl: 'views/includes/menu-toggle.html' + } }); diff --git a/src/js/services/addonManager.js b/src/js/services/addonManager.js new file mode 100644 index 000000000..6a3aba52d --- /dev/null +++ b/src/js/services/addonManager.js @@ -0,0 +1,26 @@ +'use strict'; + +angular.module('copayApp.services').provider('addonManager', function () { + var addonMenuItems = []; + var addonViews = []; + + this.registerAddon = function(addonSpec) { + addonMenuItems.push(addonSpec.menuItem); + addonViews.push(addonSpec.view); + }; + + this.$get = function() { + var manager = {}; + + manager.addonMenuItems = function() { + return addonMenuItems; + }; + + manager.addonViews = function() { + return addonViews; + }; + + return manager; + } + +}); diff --git a/src/js/services/pluginManager.js b/src/js/services/pluginManager.js deleted file mode 100644 index 76b6361e2..000000000 --- a/src/js/services/pluginManager.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -angular.module('copayApp.services').factory('pluginManager', function() { - var root = {}; - root.getInstance = function(config){ - return new copay.PluginManager(config); - }; - - return root; -}); From 9dfca68354588907965442b451b8f4c3e4afb190 Mon Sep 17 00:00:00 2001 From: Kosta Korenkov <7r0ggy@gmail.com> Date: Fri, 10 Jul 2015 14:59:18 +0300 Subject: [PATCH 002/158] Rename module to copayApp.addons --- src/js/app.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/js/app.js b/src/js/app.js index 748099a7d..7468ccbd9 100644 --- a/src/js/app.js +++ b/src/js/app.js @@ -13,7 +13,7 @@ var modules = [ 'copayApp.services', 'copayApp.controllers', 'copayApp.directives', - 'copayApp.plugins' + 'copayApp.addons' ]; var copayApp = window.copayApp = angular.module('copayApp', modules); @@ -22,5 +22,5 @@ angular.module('copayApp.filters', []); angular.module('copayApp.services', []); angular.module('copayApp.controllers', []); angular.module('copayApp.directives', []); -angular.module('copayApp.plugins', []); +angular.module('copayApp.addons', []); From a8b20d3e7dd90ad964fad4a9a26a7e0a3e59d5b5 Mon Sep 17 00:00:00 2001 From: Kosta Korenkov <7r0ggy@gmail.com> Date: Mon, 13 Jul 2015 22:25:34 +0300 Subject: [PATCH 003/158] Clarify the purpose of BalanceUpdated event emission --- src/js/controllers/index.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 857549eb5..6de662943 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -278,11 +278,14 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.walletScanStatus = walletStatus.wallet.scanStatus; self.copayers = walletStatus.wallet.copayers; self.preferences = walletStatus.preferences; - $rootScope.$emit('Local/BalanceUpdated', walletStatus.balance); self.setBalance(walletStatus.balance); self.otherWallets = lodash.filter(profileService.getWallets(self.network), function(w) { return w.id != self.walletId; });; + + // Notify external addons or plugins + $rootScope.$emit('Local/BalanceUpdated', walletStatus.balance); + $rootScope.$apply(); }); }); From 2552a8661faac818cd2a0e3ccb5e64586104c07b Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 14 Jul 2015 16:00:51 -0300 Subject: [PATCH 004/158] Delete CONTRIBUTE.md --- CONTRIBUTE.md | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 CONTRIBUTE.md diff --git a/CONTRIBUTE.md b/CONTRIBUTE.md deleted file mode 100644 index 4400c428f..000000000 --- a/CONTRIBUTE.md +++ /dev/null @@ -1,25 +0,0 @@ -# QA - Bug Reporting - -To provide the most helpful bug reports to our developers, ensure that each issue/report that you create contains the following information: - -- Brief description of the bug -- Steps to reproduce the bug -- Platform in which you are testing -- Screenshots if possible -- Expected behaviour - - -**For example:** - -``` -Description: The application fails at login. - -1) Launch the app `npm run start` -2) Click on "Join a Wallet" -3) Type an nonexistent username -4) The app stops working and throws an "Unhandled exception" error. - -Expected: The app should login and show the home screen without any error. - -Platform: Android 4.3, Android 4.4, iOS -``` From 3f61445d02e18a7c19b569cd87a180a2874547b0 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 14 Jul 2015 16:01:02 -0300 Subject: [PATCH 005/158] Delete CHANGES.md --- CHANGES.md | 45 --------------------------------------------- 1 file changed, 45 deletions(-) delete mode 100644 CHANGES.md diff --git a/CHANGES.md b/CHANGES.md deleted file mode 100644 index 696a9f691..000000000 --- a/CHANGES.md +++ /dev/null @@ -1,45 +0,0 @@ -CHANGES -======= - -v0.2.1 ------- - -New features ------------- - * Smart backup restore procedure: now it is possible to restore all wallet's fund with an old backup (thanks Ian for the feedback). - * Transaction proposals can now have a short note attached for reference (thanks Gentry for the feedback). - * New wallet settings: Bitcoin Unit, defaults to *bits* (thanks Eric for the suggestion) - * Backup is now auto generated on wallet completion (thanks Eric for the suggestion) - * A wallet now can be removed from a particular system from the UX. - * New address book shared between copayers. - -Security --------- - * Asymmetric encryption and signing using ECIES. Details at https://gist.github.com/ryanxcharles/c29fc94d31de7c8c89dc - * Default SSL connection to Insight and PeerJs servers - -Code quality ------------- - * Test coverage from 60.9% to 74% (1) (thanks Ryan for insisting on this) - * Mayor refactoring of Angular services (backupService, controllerUtils, wallet's Indexes handling, txProposal merge related functions, - * Add +30 karma tests for Angular controllers and services - * Unified js-beautifier format throw all the code - -Other ------ - * Backup to email have been removed - * Performance improvements when signing transactions - * Review of Copay 1-of-1 UX - * Minor UX and wording fixes (address list on receiving funds, notifications fixes, error handling on bad passwords, network timeouts, feedback at importing process, etc). - -Next steps ----------- - * Make Copay available in other platforms (update Gordon's Atom shell packages, Android bundle, Firefox / Chrome extensions). - * Implement Copay 2.0 design: http://invis.io/FWZGJWUS (please take a look at leave comments) - - -Please check https://github.com/bitpay/copay/wiki/Copay-Known-issues before using Copay. - - -(1) not including Karma tests, not included on Coveralls yet. - From b2a901c17f96dc8295ea035edd22cfe55c5f2335 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Tue, 14 Jul 2015 16:47:23 -0300 Subject: [PATCH 006/158] Adds txid to Note column --- src/js/controllers/index.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 9048332ca..8764f40d5 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -629,11 +629,12 @@ angular.module('copayApp.controllers').controller('indexController', function($r if (!isNode) csvContent = 'data:text/csv;charset=utf-8,'; csvContent += 'Date,Destination,Note,Amount,Currency,Spot Value,Total Value,Tax Type,Category\n'; - var _amount; + var _amount, _note; var dataString; data.forEach(function(it, index) { _amount = (it.action == 'sent' ? '-' : '') + (it.amount * satToBtc).toFixed(8); - dataString = formatDate(it.time * 1000) + ',' + formatString(it.addressTo) + ',' + formatString(it.message) + ',' + _amount + ',BTC,,,,'; + _note = formatString((it.message ? 'Note: ' + it.message + ' - ' : '') + 'TxId: ' + it.txid); + dataString = formatDate(it.time * 1000) + ',' + formatString(it.addressTo) + ',' + _note + ',' + _amount + ',BTC,,,,'; csvContent += index < data.length ? dataString + "\n" : dataString; }); From 91b0bb285450cb40a53f89b33d647c27f720aea3 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Tue, 14 Jul 2015 17:27:31 -0300 Subject: [PATCH 007/158] Show alias to notification after delete the wallet --- src/js/controllers/preferencesDelete.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/js/controllers/preferencesDelete.js b/src/js/controllers/preferencesDelete.js index cfd6dfa39..17decc0f3 100644 --- a/src/js/controllers/preferencesDelete.js +++ b/src/js/controllers/preferencesDelete.js @@ -35,14 +35,14 @@ angular.module('copayApp.controllers').controller('preferencesDeleteWalletContro var _deleteWallet = function() { var fc = profileService.focusedClient; var name = fc.credentials.walletName; - var walletName = (fc.alias||'') + ' [' + name + ']'; + var walletName = name + (fc.alias ? ' (' + fc.alias + ')' : '' ); var self = this; profileService.deleteWalletFC({}, function(err) { if (err) { self.error = err.message || err; } else { - notification.success(gettext('Success'), gettextCatalog.getString('The wallet "{{walletName}}" was deleted', {walletName: name})); + notification.success(gettext('Success'), gettextCatalog.getString('The wallet "{{walletName}}" was deleted', {walletName: walletName})); } }); }; From 1224a9a5bc65bbc53cb284e8c46395351551b3d5 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 14 Jul 2015 17:29:56 -0300 Subject: [PATCH 008/158] fix disabling email --- src/js/controllers/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 5787c5f81..fea1a13be 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -792,7 +792,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r $rootScope.$on('Local/EmailSettingUpdated', function(event, email, cb) { self.updateRemotePreferences({ preferences: { - email: email + email: email || null }, }, cb); }); From f0c5639febc6be2970d44360faa601d44e692276 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Tue, 14 Jul 2015 17:39:20 -0300 Subject: [PATCH 009/158] Standarization --- src/js/controllers/preferencesDelete.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/controllers/preferencesDelete.js b/src/js/controllers/preferencesDelete.js index 17decc0f3..67176147a 100644 --- a/src/js/controllers/preferencesDelete.js +++ b/src/js/controllers/preferencesDelete.js @@ -35,7 +35,7 @@ angular.module('copayApp.controllers').controller('preferencesDeleteWalletContro var _deleteWallet = function() { var fc = profileService.focusedClient; var name = fc.credentials.walletName; - var walletName = name + (fc.alias ? ' (' + fc.alias + ')' : '' ); + var walletName = (fc.alias||'') + ' [' + name + ']'; var self = this; profileService.deleteWalletFC({}, function(err) { From 17d8bd8082ed9b5e36b6b897740a75225ab9b449 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Wed, 15 Jul 2015 10:08:40 -0300 Subject: [PATCH 010/158] handles invalid txs in history --- public/views/modals/tx-details.html | 10 +++++++++- public/views/walletHome.html | 6 ++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/public/views/modals/tx-details.html b/public/views/modals/tx-details.html index 84b397cfd..60e731c61 100644 --- a/public/views/modals/tx-details.html +++ b/public/views/modals/tx-details.html @@ -14,9 +14,13 @@ @@ -64,8 +64,8 @@
- + ng-model="_customAlternative" valid-alternative required autocomplete="off" pattern="[0-9]+([\.,][0-9]+)*" required> + {{ alternativeIsoCode }}
diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 06a71249e..69df80a74 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -373,7 +373,7 @@ Not valid - + @@ -385,7 +385,7 @@ + ng-blur="home.formFocus(false)"> {{home.unitName}} @@ -396,8 +396,8 @@
+ ng-model="_alternative" valid-alternative required autocomplete="off" ng-focus="home.formFocus('amount')" + ng-blur="home.formFocus(false)"> {{ home.alternativeIsoCode }}
diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 37b14ea88..db32b9769 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -475,6 +475,8 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi $scope.customAlternative = newValue; if (typeof(newValue) === 'number' && $scope.isRateAvailable) { $scope.customAmount = parseFloat((rateService.fromFiat(newValue, $scope.alternativeIsoCode) * satToUnit).toFixed($scope.unitDecimals), 10); + } else { + $scope.customAmount = null; } }, enumerable: true, @@ -491,7 +493,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi if (typeof(newValue) === 'number' && $scope.isRateAvailable) { $scope.customAlternative = parseFloat((rateService.toFiat(newValue * $scope.unitToSatoshi, $scope.alternativeIsoCode)).toFixed(2), 10); } else { - $scope.customAlternative = 0; + $scope.customAlternative = null; } $scope.alternativeAmount = $scope.customAlternative; }, @@ -625,6 +627,8 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi $scope.__alternative = newValue; if (typeof(newValue) === 'number' && self.isRateAvailable) { $scope._amount = parseFloat((rateService.fromFiat(newValue, self.alternativeIsoCode) * satToUnit).toFixed(self.unitDecimals), 10); + } else { + $scope.__amount = null; } }, enumerable: true, @@ -640,7 +644,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi if (typeof(newValue) === 'number' && self.isRateAvailable) { $scope.__alternative = parseFloat((rateService.toFiat(newValue * self.unitToSatoshi, self.alternativeIsoCode)).toFixed(2), 10); } else { - $scope.__alternative = 0; + $scope.__alternative = null; } self.alternativeAmount = $scope.__alternative; self.resetError(); diff --git a/src/js/directives/directives.js b/src/js/directives/directives.js index 78376c647..6ca44a772 100644 --- a/src/js/directives/directives.js +++ b/src/js/directives/directives.js @@ -85,14 +85,14 @@ angular.module('copayApp.directives') }; } ]) - .directive('validAmount', ['configService', '$locale', - function(configService, locale) { + .directive('validAmount', ['configService', + function(configService) { return { require: 'ngModel', link: function(scope, element, attrs, ctrl) { var val = function(value) { - if (value) value = value.replace(/,/g, '.'); + if (value) value = Number(String(value).replace(/,/g, '.')); var settings = configService.getSync().wallet.settings; var vNum = Number((value * settings.unitToSatoshi).toFixed(0)); @@ -120,6 +120,33 @@ angular.module('copayApp.directives') }; } ]) + .directive('validAlternative', [ + function() { + + return { + require: 'ngModel', + link: function(scope, element, attrs, ctrl) { + var val = function(value) { + if (value) value = Number(String(value).replace(/,/g, '.')); + var vNum = Number(value); + + if (typeof value == 'undefined' || value == 0) { + ctrl.$pristine = true; + } + + if (typeof vNum == "number" && vNum > 0) { + ctrl.$setValidity('validAlternative', true); + } else { + ctrl.$setValidity('validAlternative', false); + } + return value; + } + ctrl.$parsers.unshift(val); + ctrl.$formatters.unshift(val); + } + }; + } + ]) .directive('walletSecret', function(bitcore) { return { require: 'ngModel', From 16d704ae499d4f68ceb3f45e7006f9beef5251bd Mon Sep 17 00:00:00 2001 From: Jameson Lopp Date: Sat, 8 Aug 2015 17:26:19 -0400 Subject: [PATCH 093/158] fix connection error messages to be grammatically correct --- i18n/po/de.po | 12 ++++++------ i18n/po/el.po | 12 ++++++------ i18n/po/es.po | 12 ++++++------ i18n/po/fr.po | 12 ++++++------ i18n/po/it.po | 12 ++++++------ i18n/po/ja.po | 12 ++++++------ i18n/po/pt.po | 12 ++++++------ i18n/po/template.pot | 12 ++++++------ src/js/controllers/walletHome.js | 14 +++++++------- 9 files changed, 55 insertions(+), 55 deletions(-) diff --git a/i18n/po/de.po b/i18n/po/de.po index f1d6c22d9..40a2c7e7a 100644 --- a/i18n/po/de.po +++ b/i18n/po/de.po @@ -182,7 +182,7 @@ msgid "Changing wallet alias only affects the local wallet name." msgstr "Änderung der Aliases hat nur Auswirkungen auf den lokalen Namen des Wallets" #: src/js/controllers/walletHome.js -msgid "Check you connection and try again" +msgid "Check your Internet connection and try again" msgstr "Bitte die Verbindung prüfen und erneut probieren" #: public/views/import.html @@ -231,11 +231,11 @@ msgid "Copy to clipboard" msgstr "In die Zwischenablage kopieren" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check you connection and try again" +msgid "Could not accept payment. Check your Internet connection and try again" msgstr "Zahlung konnte nicht angenommen werden. Bitte die Verbindung überprüfen und erneut versuchen" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check you connection and try again" +msgid "Could not broadcast payment. Check your Internet connection and try again" msgstr "Zahlung kann nicht übermittelt werden. Bitte die Verbindung prüfen und erneut probieren" #: src/js/controllers/walletHome.js @@ -243,7 +243,7 @@ msgid "Could not connect wallet service. Check your Internet connection and your msgstr "Could not connect wallet service. Check your Internet connection and your wallet service configuration." #: src/js/controllers/walletHome.js -msgid "Could not create address. Check you connection and try again" +msgid "Could not create address. Check your Internet connection and try again" msgstr "Es kann keine Adresse erzeugt werden. Bitte Verbindung prüfen und erneut versuchen" #: src/js/controllers/walletHome.js @@ -259,7 +259,7 @@ msgid "Could not decrypt file, check your password" msgstr "Datei kann nicht entschlüsselt werden, bitte das Passwort überprüfen" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check you connection and try again" +msgid "Could not delete payment proposal. Check your Internet connection and try again" msgstr "Die Zahlungsanweisung kann nicht gelöscht werden. Bitte Verbindung prüfen und erneut probieren" #: src/js/controllers/walletHome.js @@ -287,7 +287,7 @@ msgid "Could not recognize a valid Bitcoin QR Code" msgstr "Es konnte kein gültiger Bitcoin-QR-Code erkannt werden," #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check you connection and try again" +msgid "Could not reject payment. Check your Internet connection and try again" msgstr "Zahlung kann nicht abgelehnt werden. Bitte Verbindung prüfen und erneut versuchen" #: src/js/controllers/walletHome.js diff --git a/i18n/po/el.po b/i18n/po/el.po index 81fd45f46..b795cc892 100644 --- a/i18n/po/el.po +++ b/i18n/po/el.po @@ -182,7 +182,7 @@ msgid "Changing wallet alias only affects the local wallet name." msgstr "Αλλάζοντας το ψευδώνυμο του πορτοφολιού επηρεάζει μόνο το τοπικό όνομα πορτοφολιού." #: src/js/controllers/walletHome.js -msgid "Check you connection and try again" +msgid "Check your Internet connection and try again" msgstr "Ελέγξτε την συνδεσή σας και προσπαθήστε ξανά" #: public/views/import.html @@ -231,11 +231,11 @@ msgid "Copy to clipboard" msgstr "Αντιγραφή στο πρόχειρο" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check you connection and try again" +msgid "Could not accept payment. Check your Internet connection and try again" msgstr "Η πληρωμή δεν έγινε αποδεκτή. Ελέγξτε τη σύνδεσή σας και προσπαθήστε ξανά" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check you connection and try again" +msgid "Could not broadcast payment. Check your Internet connection and try again" msgstr "Δεν μπορεί να αποσταλεί η πληρωμή. Ελέγξτε τη σύνδεσή σας και προσπαθήστε ξανά" #: src/js/controllers/walletHome.js @@ -243,7 +243,7 @@ msgid "Could not connect wallet service. Check your Internet connection and your msgstr "Δεν είναι δυνατή η σύνδεση στην υπηρεσία του πορτοφολιού. Ελέγξτε τη σύνδεσή σας και τη ρύθμιση παραμέτρων της υπηρεσίας του πορτοφολίου." #: src/js/controllers/walletHome.js -msgid "Could not create address. Check you connection and try again" +msgid "Could not create address. Check your Internet connection and try again" msgstr "Δεν είναι δυνατή η δημιουργία διεύθυνσης. Ελέγξτε τη σύνδεσή σας και προσπαθήστε ξανά" #: src/js/controllers/walletHome.js @@ -259,7 +259,7 @@ msgid "Could not decrypt file, check your password" msgstr "Δεν ήταν δυνατή η αποκρυπτογράφηση του αρχείου, ελέγξτε τον κωδικό σας" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check you connection and try again" +msgid "Could not delete payment proposal. Check your Internet connection and try again" msgstr "Δεν ήταν δυνατή η διαγραφή της πρότασης πληρωμής. Ελέγξτε τη σύνδεση σας και προσπαθήστε ξανά" #: src/js/controllers/walletHome.js @@ -287,7 +287,7 @@ msgid "Could not recognize a valid Bitcoin QR Code" msgstr "Δεν ήταν δυνατή η αναγνώριση ενός έγκυρου κωδικού QR για Βitcoin" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check you connection and try again" +msgid "Could not reject payment. Check your Internet connection and try again" msgstr "Δεν είναι δυνατή η απόρριψη της πληρωμής. Ελέγξτε τη σύνδεση σας και προσπαθήστε ξανά" #: src/js/controllers/walletHome.js diff --git a/i18n/po/es.po b/i18n/po/es.po index 9b5031801..2aa66e0ed 100644 --- a/i18n/po/es.po +++ b/i18n/po/es.po @@ -182,7 +182,7 @@ msgid "Changing wallet alias only affects the local wallet name." msgstr "Cambiar el alias del monedero solo afecta al nombre del monedero local." #: src/js/controllers/walletHome.js -msgid "Check you connection and try again" +msgid "Check your Internet connection and try again" msgstr "Verifique su conexión e inténtelo nuevamente" #: public/views/import.html @@ -231,11 +231,11 @@ msgid "Copy to clipboard" msgstr "Copiar al portapapeles" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check you connection and try again" +msgid "Could not accept payment. Check your Internet connection and try again" msgstr "No se pudo aceptar el pago. Verifique su conexión e inténtelo nuevamente" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check you connection and try again" +msgid "Could not broadcast payment. Check your Internet connection and try again" msgstr "No se pudo emitir el pago. Verifique su conexión e inténtelo nuevamente" #: src/js/controllers/walletHome.js @@ -243,7 +243,7 @@ msgid "Could not connect wallet service. Check your Internet connection and your msgstr "No se pudo conectar con Wallet Service. Verifique la conexión a internet y la configuración a Wallet Service." #: src/js/controllers/walletHome.js -msgid "Could not create address. Check you connection and try again" +msgid "Could not create address. Check your Internet connection and try again" msgstr "No se pudo crear la dirección. Verifique su conexión e inténtelo nuevamente" #: src/js/controllers/walletHome.js @@ -259,7 +259,7 @@ msgid "Could not decrypt file, check your password" msgstr "No se pudo desencriptar el archivo, verifique su contraseña" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check you connection and try again" +msgid "Could not delete payment proposal. Check your Internet connection and try again" msgstr "No se pudo eliminar la propuesta de pago. Verifique su conexión e inténtelo nuevamente" #: src/js/controllers/walletHome.js @@ -287,7 +287,7 @@ msgid "Could not recognize a valid Bitcoin QR Code" msgstr "No se reconoció un código QR de Bitcoin válido" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check you connection and try again" +msgid "Could not reject payment. Check your Internet connection and try again" msgstr "No se pudo rechazar el pago. Verifique su conexión e inténtelo nuevamente" #: src/js/controllers/walletHome.js diff --git a/i18n/po/fr.po b/i18n/po/fr.po index befa8c1c1..cfaa89314 100644 --- a/i18n/po/fr.po +++ b/i18n/po/fr.po @@ -182,7 +182,7 @@ msgid "Changing wallet alias only affects the local wallet name." msgstr "La modification d'un alias de portefeuille affecte uniquement le nom du portefeuille local." #: src/js/controllers/walletHome.js -msgid "Check you connection and try again" +msgid "Check your Internet connection and try again" msgstr "Vérifiez votre connexion internet et réessayez" #: public/views/import.html @@ -231,11 +231,11 @@ msgid "Copy to clipboard" msgstr "Copier dans le presse-papier" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check you connection and try again" +msgid "Could not accept payment. Check your Internet connection and try again" msgstr "Impossible d'accepter le paiement. Vérifiez votre connexion internet et réessayez" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check you connection and try again" +msgid "Could not broadcast payment. Check your Internet connection and try again" msgstr "Impossible de diffuser le paiement. Vérifiez votre connexion internet et réessayez" #: src/js/controllers/walletHome.js @@ -243,7 +243,7 @@ msgid "Could not connect wallet service. Check your Internet connection and your msgstr "Impossible de se connecter au service de portefeuille. Vérifiez votre connexion Internet et la configuration de votre service de portefeuille." #: src/js/controllers/walletHome.js -msgid "Could not create address. Check you connection and try again" +msgid "Could not create address. Check your Internet connection and try again" msgstr "Impossible de créer l'adresse. Vérifiez votre connexion internet et réessayez" #: src/js/controllers/walletHome.js @@ -259,7 +259,7 @@ msgid "Could not decrypt file, check your password" msgstr "Impossible de déchiffrer le fichier, vérifiez votre mot de passe" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check you connection and try again" +msgid "Could not delete payment proposal. Check your Internet connection and try again" msgstr "Impossible de supprimer la proposition de paiement. Vérifiez votre connexion internet et réessayez" #: src/js/controllers/walletHome.js @@ -287,7 +287,7 @@ msgid "Could not recognize a valid Bitcoin QR Code" msgstr "Impossible de reconnaître un code QR Bitcoin valide" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check you connection and try again" +msgid "Could not reject payment. Check your Internet connection and try again" msgstr "Impossible de rejeter le paiement. Vérifiez votre connexion internet réessayez" #: src/js/controllers/walletHome.js diff --git a/i18n/po/it.po b/i18n/po/it.po index 94f57bbd1..69f52dfeb 100644 --- a/i18n/po/it.po +++ b/i18n/po/it.po @@ -182,7 +182,7 @@ msgid "Changing wallet alias only affects the local wallet name." msgstr "Il cambiamento degli alias dei portafogli influenza solo il nome del portafoglio locale." #: src/js/controllers/walletHome.js -msgid "Check you connection and try again" +msgid "Check your Internet connection and try again" msgstr "Verifica la connessione e riprova" #: public/views/import.html @@ -231,11 +231,11 @@ msgid "Copy to clipboard" msgstr "Copia negli appunti" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check you connection and try again" +msgid "Could not accept payment. Check your Internet connection and try again" msgstr "Impossibile accettare il pagamento. Controlla la connessione e riprova di nuovo" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check you connection and try again" +msgid "Could not broadcast payment. Check your Internet connection and try again" msgstr "Impossibile trasmettere il pagamento. Controlla la connessione e riprova" #: src/js/controllers/walletHome.js @@ -243,7 +243,7 @@ msgid "Could not connect wallet service. Check your Internet connection and your msgstr "Impossibile connettersi al servizio portafoglio. Verifica la tua connessione Internet e la configurazione del servizio portafoglio." #: src/js/controllers/walletHome.js -msgid "Could not create address. Check you connection and try again" +msgid "Could not create address. Check your Internet connection and try again" msgstr "Impossibile creare l'indirizzo. Verifica la tua connessione e prova di nuovo" #: src/js/controllers/walletHome.js @@ -259,7 +259,7 @@ msgid "Could not decrypt file, check your password" msgstr "Impossibile decrittografare il file, controlla la tua password" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check you connection and try again" +msgid "Could not delete payment proposal. Check your Internet connection and try again" msgstr "Impossibile eliminare la proposta di pagamento. Verifica la tua connessione e prova di nuovo" #: src/js/controllers/walletHome.js @@ -287,7 +287,7 @@ msgid "Could not recognize a valid Bitcoin QR Code" msgstr "Impossibile riconoscere un Codice QR Bitcoin valido" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check you connection and try again" +msgid "Could not reject payment. Check your Internet connection and try again" msgstr "Impossibile rifiutare il pagamento. Verifica la tua connessione e prova di nuovo" #: src/js/controllers/walletHome.js diff --git a/i18n/po/ja.po b/i18n/po/ja.po index 31d11ced6..23a2de1b4 100644 --- a/i18n/po/ja.po +++ b/i18n/po/ja.po @@ -183,7 +183,7 @@ msgid "Changing wallet alias only affects the local wallet name." msgstr "ウォレット通称を変更しても、この端末でしか変わりません。" #: src/js/controllers/walletHome.js -msgid "Check you connection and try again" +msgid "Check your Internet connection and try again" msgstr "接続を確認し、やり直して下さい。" #: public/views/import.html @@ -232,11 +232,11 @@ msgid "Copy to clipboard" msgstr "クリップボードへコピー" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check you connection and try again" +msgid "Could not accept payment. Check your Internet connection and try again" msgstr "送金の提案が承諾できませんでした。接続を確認し、やり直して下さい。" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check you connection and try again" +msgid "Could not broadcast payment. Check your Internet connection and try again" msgstr "送金できませんでした。接続を確認し、やり直して下さい。" #: src/js/controllers/walletHome.js @@ -244,7 +244,7 @@ msgid "Could not connect wallet service. Check your Internet connection and your msgstr "ウォレットサービスと接続できませんでした。インターネットの接続とウォレットサービスの設定を確認して下さい。" #: src/js/controllers/walletHome.js -msgid "Could not create address. Check you connection and try again" +msgid "Could not create address. Check your Internet connection and try again" msgstr "アドレスが生成できませんでした。接続を確認し、やり直して下さい。" #: src/js/controllers/walletHome.js @@ -260,7 +260,7 @@ msgid "Could not decrypt file, check your password" msgstr "複合化できませんでした。パスワードが正しいかご確認下さい。" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check you connection and try again" +msgid "Could not delete payment proposal. Check your Internet connection and try again" msgstr "送金の提案が削除できませんでした。接続を確認し、やり直して下さい。" #: src/js/controllers/walletHome.js @@ -288,7 +288,7 @@ msgid "Could not recognize a valid Bitcoin QR Code" msgstr "有効なビットコインQRコードが認識できませんでした。" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check you connection and try again" +msgid "Could not reject payment. Check your Internet connection and try again" msgstr "送金の提案を却下できませんでした。接続を確認し、やり直して下さい。" #: src/js/controllers/walletHome.js diff --git a/i18n/po/pt.po b/i18n/po/pt.po index ee04d2efc..cee159750 100644 --- a/i18n/po/pt.po +++ b/i18n/po/pt.po @@ -182,7 +182,7 @@ msgid "Changing wallet alias only affects the local wallet name." msgstr "Alterando o apelido da carteira somente afeta o nome da carteira local." #: src/js/controllers/walletHome.js -msgid "Check you connection and try again" +msgid "Check your Internet connection and try again" msgstr "Verifique sua conexão e tente novamente" #: public/views/import.html @@ -231,11 +231,11 @@ msgid "Copy to clipboard" msgstr "Copiar para área de transferência" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check you connection and try again" +msgid "Could not accept payment. Check your Internet connection and try again" msgstr "Não foi possível aceitar pagamentos. Verifique sua conexão e tente novamente" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check you connection and try again" +msgid "Could not broadcast payment. Check your Internet connection and try again" msgstr "Não foi possível transmitir pagamentos. Verifique sua conexão e tente novamente" #: src/js/controllers/walletHome.js @@ -243,7 +243,7 @@ msgid "Could not connect wallet service. Check your Internet connection and your msgstr "Could not connect wallet service. Check your Internet connection and your wallet service configuration." #: src/js/controllers/walletHome.js -msgid "Could not create address. Check you connection and try again" +msgid "Could not create address. Check your Internet connection and try again" msgstr "Não foi possível criar o endereço. Verifique sua conexão e tente novamente" #: src/js/controllers/walletHome.js @@ -259,7 +259,7 @@ msgid "Could not decrypt file, check your password" msgstr "Não foi possível descriptografar o arquivo, verifique sua senha" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check you connection and try again" +msgid "Could not delete payment proposal. Check your Internet connection and try again" msgstr "Não foi possível apagar a proposta de pagamento. Verifique sua conexão e tente novamente" #: src/js/controllers/walletHome.js @@ -287,7 +287,7 @@ msgid "Could not recognize a valid Bitcoin QR Code" msgstr "Could not recognize a valid Bitcoin QR Code" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check you connection and try again" +msgid "Could not reject payment. Check your Internet connection and try again" msgstr "Não é possível rejeitar o pagamentos. Verifique sua conexão e tente novamente" #: src/js/controllers/walletHome.js diff --git a/i18n/po/template.pot b/i18n/po/template.pot index 9ce819829..7c4e1ecaa 100644 --- a/i18n/po/template.pot +++ b/i18n/po/template.pot @@ -192,7 +192,7 @@ msgid "Changing wallet alias only affects the local wallet name." msgstr "" #: src/js/controllers/walletHome.js -msgid "Check you connection and try again" +msgid "Check your Internet connection and try again" msgstr "" #: public/views/import.html @@ -254,11 +254,11 @@ msgid "Copy to clipboard" msgstr "" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check you connection and try again" +msgid "Could not accept payment. Check your Internet connection and try again" msgstr "" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check you connection and try again" +msgid "Could not broadcast payment. Check your Internet connection and try again" msgstr "" #: src/js/controllers/walletHome.js @@ -266,7 +266,7 @@ msgid "Could not connect wallet service. Check your Internet connection and your msgstr "" #: src/js/controllers/walletHome.js -msgid "Could not create address. Check you connection and try again" +msgid "Could not create address. Check your Internet connection and try again" msgstr "" #: src/js/controllers/walletHome.js @@ -282,7 +282,7 @@ msgid "Could not decrypt file, check your password" msgstr "" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check you connection and try again" +msgid "Could not delete payment proposal. Check your Internet connection and try again" msgstr "" #: src/js/controllers/walletHome.js @@ -310,7 +310,7 @@ msgid "Could not recognize a valid Bitcoin QR Code" msgstr "" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check you connection and try again" +msgid "Could not reject payment. Check your Internet connection and try again" msgstr "" #: src/js/controllers/walletHome.js diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index db32b9769..efa6e28f7 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -265,7 +265,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi if (err) { $scope.loading = false; parseError(err); - $scope.error = err.message || gettext('Could not accept payment. Check you connection and try again'); + $scope.error = err.message || gettext('Could not accept payment. Check your Internet connection and try again'); $scope.$digest(); } else { //if txp has required signatures then broadcast it @@ -278,7 +278,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi $scope.loading = false; if (err) { parseError(err); - $scope.error = gettext('Could not broadcast payment. Check you connection and try again'); + $scope.error = gettext('Could not broadcast payment. Check your Internet connection and try again'); $scope.$digest(); } else { $log.debug('Transaction signed and broadcasted') @@ -308,7 +308,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi $scope.loading = false; if (err) { parseError(err); - $scope.error = err.message || gettext('Could not reject payment. Check you connection and try again'); + $scope.error = err.message || gettext('Could not reject payment. Check your Internet connection and try again'); $scope.$digest(); } else { $modalInstance.close(txpr); @@ -330,7 +330,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi // Hacky: request tries to parse an empty response if (err && !(err.message && err.message.match(/Unexpected/))) { parseError(err); - $scope.error = err.message || gettext('Could not delete payment proposal. Check you connection and try again'); + $scope.error = err.message || gettext('Could not delete payment proposal. Check your Internet connection and try again'); $scope.$digest(); return; } @@ -349,7 +349,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi $scope.loading = false; if (err) { parseError(err); - $scope.error = err.message || gettext('Could not broadcast payment. Check you connection and try again'); + $scope.error = err.message || gettext('Could not broadcast payment. Check your Internet connection and try again'); $scope.$digest(); } else { @@ -421,7 +421,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi if (err) { parseError(err); - self.addrError = err.message || gettext('Could not create address. Check you connection and try again'); + self.addrError = err.message || gettext('Could not create address. Check your Internet connection and try again'); } if (addr) @@ -675,7 +675,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi //This are abnormal situations, but still err message will not be translated //(the should) we should switch using err.code and use proper gettext messages - errMessage = errMessage + '. ' + (err.message ? err.message : gettext('Check you connection and try again')); + errMessage = errMessage + '. ' + (err.message ? err.message : gettext('Check your Internet connection and try again')); this.error = errMessage; From d853cf12b7fca1a427f516e47e18a5fed50eb1ca Mon Sep 17 00:00:00 2001 From: Jameson Lopp Date: Sat, 8 Aug 2015 18:19:15 -0400 Subject: [PATCH 094/158] don't modify .po files --- i18n/po/de.po | 12 ++++++------ i18n/po/el.po | 12 ++++++------ i18n/po/es.po | 12 ++++++------ i18n/po/fr.po | 12 ++++++------ i18n/po/it.po | 12 ++++++------ i18n/po/ja.po | 12 ++++++------ i18n/po/pt.po | 12 ++++++------ 7 files changed, 42 insertions(+), 42 deletions(-) diff --git a/i18n/po/de.po b/i18n/po/de.po index 40a2c7e7a..f1d6c22d9 100644 --- a/i18n/po/de.po +++ b/i18n/po/de.po @@ -182,7 +182,7 @@ msgid "Changing wallet alias only affects the local wallet name." msgstr "Änderung der Aliases hat nur Auswirkungen auf den lokalen Namen des Wallets" #: src/js/controllers/walletHome.js -msgid "Check your Internet connection and try again" +msgid "Check you connection and try again" msgstr "Bitte die Verbindung prüfen und erneut probieren" #: public/views/import.html @@ -231,11 +231,11 @@ msgid "Copy to clipboard" msgstr "In die Zwischenablage kopieren" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check your Internet connection and try again" +msgid "Could not accept payment. Check you connection and try again" msgstr "Zahlung konnte nicht angenommen werden. Bitte die Verbindung überprüfen und erneut versuchen" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check your Internet connection and try again" +msgid "Could not broadcast payment. Check you connection and try again" msgstr "Zahlung kann nicht übermittelt werden. Bitte die Verbindung prüfen und erneut probieren" #: src/js/controllers/walletHome.js @@ -243,7 +243,7 @@ msgid "Could not connect wallet service. Check your Internet connection and your msgstr "Could not connect wallet service. Check your Internet connection and your wallet service configuration." #: src/js/controllers/walletHome.js -msgid "Could not create address. Check your Internet connection and try again" +msgid "Could not create address. Check you connection and try again" msgstr "Es kann keine Adresse erzeugt werden. Bitte Verbindung prüfen und erneut versuchen" #: src/js/controllers/walletHome.js @@ -259,7 +259,7 @@ msgid "Could not decrypt file, check your password" msgstr "Datei kann nicht entschlüsselt werden, bitte das Passwort überprüfen" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check your Internet connection and try again" +msgid "Could not delete payment proposal. Check you connection and try again" msgstr "Die Zahlungsanweisung kann nicht gelöscht werden. Bitte Verbindung prüfen und erneut probieren" #: src/js/controllers/walletHome.js @@ -287,7 +287,7 @@ msgid "Could not recognize a valid Bitcoin QR Code" msgstr "Es konnte kein gültiger Bitcoin-QR-Code erkannt werden," #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check your Internet connection and try again" +msgid "Could not reject payment. Check you connection and try again" msgstr "Zahlung kann nicht abgelehnt werden. Bitte Verbindung prüfen und erneut versuchen" #: src/js/controllers/walletHome.js diff --git a/i18n/po/el.po b/i18n/po/el.po index b795cc892..81fd45f46 100644 --- a/i18n/po/el.po +++ b/i18n/po/el.po @@ -182,7 +182,7 @@ msgid "Changing wallet alias only affects the local wallet name." msgstr "Αλλάζοντας το ψευδώνυμο του πορτοφολιού επηρεάζει μόνο το τοπικό όνομα πορτοφολιού." #: src/js/controllers/walletHome.js -msgid "Check your Internet connection and try again" +msgid "Check you connection and try again" msgstr "Ελέγξτε την συνδεσή σας και προσπαθήστε ξανά" #: public/views/import.html @@ -231,11 +231,11 @@ msgid "Copy to clipboard" msgstr "Αντιγραφή στο πρόχειρο" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check your Internet connection and try again" +msgid "Could not accept payment. Check you connection and try again" msgstr "Η πληρωμή δεν έγινε αποδεκτή. Ελέγξτε τη σύνδεσή σας και προσπαθήστε ξανά" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check your Internet connection and try again" +msgid "Could not broadcast payment. Check you connection and try again" msgstr "Δεν μπορεί να αποσταλεί η πληρωμή. Ελέγξτε τη σύνδεσή σας και προσπαθήστε ξανά" #: src/js/controllers/walletHome.js @@ -243,7 +243,7 @@ msgid "Could not connect wallet service. Check your Internet connection and your msgstr "Δεν είναι δυνατή η σύνδεση στην υπηρεσία του πορτοφολιού. Ελέγξτε τη σύνδεσή σας και τη ρύθμιση παραμέτρων της υπηρεσίας του πορτοφολίου." #: src/js/controllers/walletHome.js -msgid "Could not create address. Check your Internet connection and try again" +msgid "Could not create address. Check you connection and try again" msgstr "Δεν είναι δυνατή η δημιουργία διεύθυνσης. Ελέγξτε τη σύνδεσή σας και προσπαθήστε ξανά" #: src/js/controllers/walletHome.js @@ -259,7 +259,7 @@ msgid "Could not decrypt file, check your password" msgstr "Δεν ήταν δυνατή η αποκρυπτογράφηση του αρχείου, ελέγξτε τον κωδικό σας" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check your Internet connection and try again" +msgid "Could not delete payment proposal. Check you connection and try again" msgstr "Δεν ήταν δυνατή η διαγραφή της πρότασης πληρωμής. Ελέγξτε τη σύνδεση σας και προσπαθήστε ξανά" #: src/js/controllers/walletHome.js @@ -287,7 +287,7 @@ msgid "Could not recognize a valid Bitcoin QR Code" msgstr "Δεν ήταν δυνατή η αναγνώριση ενός έγκυρου κωδικού QR για Βitcoin" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check your Internet connection and try again" +msgid "Could not reject payment. Check you connection and try again" msgstr "Δεν είναι δυνατή η απόρριψη της πληρωμής. Ελέγξτε τη σύνδεση σας και προσπαθήστε ξανά" #: src/js/controllers/walletHome.js diff --git a/i18n/po/es.po b/i18n/po/es.po index 2aa66e0ed..9b5031801 100644 --- a/i18n/po/es.po +++ b/i18n/po/es.po @@ -182,7 +182,7 @@ msgid "Changing wallet alias only affects the local wallet name." msgstr "Cambiar el alias del monedero solo afecta al nombre del monedero local." #: src/js/controllers/walletHome.js -msgid "Check your Internet connection and try again" +msgid "Check you connection and try again" msgstr "Verifique su conexión e inténtelo nuevamente" #: public/views/import.html @@ -231,11 +231,11 @@ msgid "Copy to clipboard" msgstr "Copiar al portapapeles" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check your Internet connection and try again" +msgid "Could not accept payment. Check you connection and try again" msgstr "No se pudo aceptar el pago. Verifique su conexión e inténtelo nuevamente" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check your Internet connection and try again" +msgid "Could not broadcast payment. Check you connection and try again" msgstr "No se pudo emitir el pago. Verifique su conexión e inténtelo nuevamente" #: src/js/controllers/walletHome.js @@ -243,7 +243,7 @@ msgid "Could not connect wallet service. Check your Internet connection and your msgstr "No se pudo conectar con Wallet Service. Verifique la conexión a internet y la configuración a Wallet Service." #: src/js/controllers/walletHome.js -msgid "Could not create address. Check your Internet connection and try again" +msgid "Could not create address. Check you connection and try again" msgstr "No se pudo crear la dirección. Verifique su conexión e inténtelo nuevamente" #: src/js/controllers/walletHome.js @@ -259,7 +259,7 @@ msgid "Could not decrypt file, check your password" msgstr "No se pudo desencriptar el archivo, verifique su contraseña" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check your Internet connection and try again" +msgid "Could not delete payment proposal. Check you connection and try again" msgstr "No se pudo eliminar la propuesta de pago. Verifique su conexión e inténtelo nuevamente" #: src/js/controllers/walletHome.js @@ -287,7 +287,7 @@ msgid "Could not recognize a valid Bitcoin QR Code" msgstr "No se reconoció un código QR de Bitcoin válido" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check your Internet connection and try again" +msgid "Could not reject payment. Check you connection and try again" msgstr "No se pudo rechazar el pago. Verifique su conexión e inténtelo nuevamente" #: src/js/controllers/walletHome.js diff --git a/i18n/po/fr.po b/i18n/po/fr.po index cfaa89314..befa8c1c1 100644 --- a/i18n/po/fr.po +++ b/i18n/po/fr.po @@ -182,7 +182,7 @@ msgid "Changing wallet alias only affects the local wallet name." msgstr "La modification d'un alias de portefeuille affecte uniquement le nom du portefeuille local." #: src/js/controllers/walletHome.js -msgid "Check your Internet connection and try again" +msgid "Check you connection and try again" msgstr "Vérifiez votre connexion internet et réessayez" #: public/views/import.html @@ -231,11 +231,11 @@ msgid "Copy to clipboard" msgstr "Copier dans le presse-papier" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check your Internet connection and try again" +msgid "Could not accept payment. Check you connection and try again" msgstr "Impossible d'accepter le paiement. Vérifiez votre connexion internet et réessayez" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check your Internet connection and try again" +msgid "Could not broadcast payment. Check you connection and try again" msgstr "Impossible de diffuser le paiement. Vérifiez votre connexion internet et réessayez" #: src/js/controllers/walletHome.js @@ -243,7 +243,7 @@ msgid "Could not connect wallet service. Check your Internet connection and your msgstr "Impossible de se connecter au service de portefeuille. Vérifiez votre connexion Internet et la configuration de votre service de portefeuille." #: src/js/controllers/walletHome.js -msgid "Could not create address. Check your Internet connection and try again" +msgid "Could not create address. Check you connection and try again" msgstr "Impossible de créer l'adresse. Vérifiez votre connexion internet et réessayez" #: src/js/controllers/walletHome.js @@ -259,7 +259,7 @@ msgid "Could not decrypt file, check your password" msgstr "Impossible de déchiffrer le fichier, vérifiez votre mot de passe" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check your Internet connection and try again" +msgid "Could not delete payment proposal. Check you connection and try again" msgstr "Impossible de supprimer la proposition de paiement. Vérifiez votre connexion internet et réessayez" #: src/js/controllers/walletHome.js @@ -287,7 +287,7 @@ msgid "Could not recognize a valid Bitcoin QR Code" msgstr "Impossible de reconnaître un code QR Bitcoin valide" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check your Internet connection and try again" +msgid "Could not reject payment. Check you connection and try again" msgstr "Impossible de rejeter le paiement. Vérifiez votre connexion internet réessayez" #: src/js/controllers/walletHome.js diff --git a/i18n/po/it.po b/i18n/po/it.po index 69f52dfeb..94f57bbd1 100644 --- a/i18n/po/it.po +++ b/i18n/po/it.po @@ -182,7 +182,7 @@ msgid "Changing wallet alias only affects the local wallet name." msgstr "Il cambiamento degli alias dei portafogli influenza solo il nome del portafoglio locale." #: src/js/controllers/walletHome.js -msgid "Check your Internet connection and try again" +msgid "Check you connection and try again" msgstr "Verifica la connessione e riprova" #: public/views/import.html @@ -231,11 +231,11 @@ msgid "Copy to clipboard" msgstr "Copia negli appunti" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check your Internet connection and try again" +msgid "Could not accept payment. Check you connection and try again" msgstr "Impossibile accettare il pagamento. Controlla la connessione e riprova di nuovo" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check your Internet connection and try again" +msgid "Could not broadcast payment. Check you connection and try again" msgstr "Impossibile trasmettere il pagamento. Controlla la connessione e riprova" #: src/js/controllers/walletHome.js @@ -243,7 +243,7 @@ msgid "Could not connect wallet service. Check your Internet connection and your msgstr "Impossibile connettersi al servizio portafoglio. Verifica la tua connessione Internet e la configurazione del servizio portafoglio." #: src/js/controllers/walletHome.js -msgid "Could not create address. Check your Internet connection and try again" +msgid "Could not create address. Check you connection and try again" msgstr "Impossibile creare l'indirizzo. Verifica la tua connessione e prova di nuovo" #: src/js/controllers/walletHome.js @@ -259,7 +259,7 @@ msgid "Could not decrypt file, check your password" msgstr "Impossibile decrittografare il file, controlla la tua password" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check your Internet connection and try again" +msgid "Could not delete payment proposal. Check you connection and try again" msgstr "Impossibile eliminare la proposta di pagamento. Verifica la tua connessione e prova di nuovo" #: src/js/controllers/walletHome.js @@ -287,7 +287,7 @@ msgid "Could not recognize a valid Bitcoin QR Code" msgstr "Impossibile riconoscere un Codice QR Bitcoin valido" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check your Internet connection and try again" +msgid "Could not reject payment. Check you connection and try again" msgstr "Impossibile rifiutare il pagamento. Verifica la tua connessione e prova di nuovo" #: src/js/controllers/walletHome.js diff --git a/i18n/po/ja.po b/i18n/po/ja.po index 23a2de1b4..31d11ced6 100644 --- a/i18n/po/ja.po +++ b/i18n/po/ja.po @@ -183,7 +183,7 @@ msgid "Changing wallet alias only affects the local wallet name." msgstr "ウォレット通称を変更しても、この端末でしか変わりません。" #: src/js/controllers/walletHome.js -msgid "Check your Internet connection and try again" +msgid "Check you connection and try again" msgstr "接続を確認し、やり直して下さい。" #: public/views/import.html @@ -232,11 +232,11 @@ msgid "Copy to clipboard" msgstr "クリップボードへコピー" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check your Internet connection and try again" +msgid "Could not accept payment. Check you connection and try again" msgstr "送金の提案が承諾できませんでした。接続を確認し、やり直して下さい。" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check your Internet connection and try again" +msgid "Could not broadcast payment. Check you connection and try again" msgstr "送金できませんでした。接続を確認し、やり直して下さい。" #: src/js/controllers/walletHome.js @@ -244,7 +244,7 @@ msgid "Could not connect wallet service. Check your Internet connection and your msgstr "ウォレットサービスと接続できませんでした。インターネットの接続とウォレットサービスの設定を確認して下さい。" #: src/js/controllers/walletHome.js -msgid "Could not create address. Check your Internet connection and try again" +msgid "Could not create address. Check you connection and try again" msgstr "アドレスが生成できませんでした。接続を確認し、やり直して下さい。" #: src/js/controllers/walletHome.js @@ -260,7 +260,7 @@ msgid "Could not decrypt file, check your password" msgstr "複合化できませんでした。パスワードが正しいかご確認下さい。" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check your Internet connection and try again" +msgid "Could not delete payment proposal. Check you connection and try again" msgstr "送金の提案が削除できませんでした。接続を確認し、やり直して下さい。" #: src/js/controllers/walletHome.js @@ -288,7 +288,7 @@ msgid "Could not recognize a valid Bitcoin QR Code" msgstr "有効なビットコインQRコードが認識できませんでした。" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check your Internet connection and try again" +msgid "Could not reject payment. Check you connection and try again" msgstr "送金の提案を却下できませんでした。接続を確認し、やり直して下さい。" #: src/js/controllers/walletHome.js diff --git a/i18n/po/pt.po b/i18n/po/pt.po index cee159750..ee04d2efc 100644 --- a/i18n/po/pt.po +++ b/i18n/po/pt.po @@ -182,7 +182,7 @@ msgid "Changing wallet alias only affects the local wallet name." msgstr "Alterando o apelido da carteira somente afeta o nome da carteira local." #: src/js/controllers/walletHome.js -msgid "Check your Internet connection and try again" +msgid "Check you connection and try again" msgstr "Verifique sua conexão e tente novamente" #: public/views/import.html @@ -231,11 +231,11 @@ msgid "Copy to clipboard" msgstr "Copiar para área de transferência" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check your Internet connection and try again" +msgid "Could not accept payment. Check you connection and try again" msgstr "Não foi possível aceitar pagamentos. Verifique sua conexão e tente novamente" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check your Internet connection and try again" +msgid "Could not broadcast payment. Check you connection and try again" msgstr "Não foi possível transmitir pagamentos. Verifique sua conexão e tente novamente" #: src/js/controllers/walletHome.js @@ -243,7 +243,7 @@ msgid "Could not connect wallet service. Check your Internet connection and your msgstr "Could not connect wallet service. Check your Internet connection and your wallet service configuration." #: src/js/controllers/walletHome.js -msgid "Could not create address. Check your Internet connection and try again" +msgid "Could not create address. Check you connection and try again" msgstr "Não foi possível criar o endereço. Verifique sua conexão e tente novamente" #: src/js/controllers/walletHome.js @@ -259,7 +259,7 @@ msgid "Could not decrypt file, check your password" msgstr "Não foi possível descriptografar o arquivo, verifique sua senha" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check your Internet connection and try again" +msgid "Could not delete payment proposal. Check you connection and try again" msgstr "Não foi possível apagar a proposta de pagamento. Verifique sua conexão e tente novamente" #: src/js/controllers/walletHome.js @@ -287,7 +287,7 @@ msgid "Could not recognize a valid Bitcoin QR Code" msgstr "Could not recognize a valid Bitcoin QR Code" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check your Internet connection and try again" +msgid "Could not reject payment. Check you connection and try again" msgstr "Não é possível rejeitar o pagamentos. Verifique sua conexão e tente novamente" #: src/js/controllers/walletHome.js From 779db5a06c01fb4bfc6041f1de6c5a77317103b1 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Mon, 3 Aug 2015 20:39:09 -0300 Subject: [PATCH 095/158] Advanced send options --- public/views/preferences.html | 4 +++ public/views/walletHome.html | 27 ++++++++++++++++++ src/js/controllers/index.js | 9 ++++++ src/js/controllers/preferences.js | 16 +++++++++++ src/js/controllers/walletHome.js | 46 ++++++++++--------------------- src/js/services/feeService.js | 4 +-- 6 files changed, 73 insertions(+), 33 deletions(-) diff --git a/public/views/preferences.html b/public/views/preferences.html index c5f31797e..41dccf56c 100644 --- a/public/views/preferences.html +++ b/public/views/preferences.html @@ -84,6 +84,10 @@ {{index.feeOpts[index.currentFeeLevel]|translate}} +
  • + Spend Unconfirmed Transaction + +
  • Bitcore Wallet Service diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 69df80a74..349bb8c93 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -418,6 +418,33 @@ + +
    +

    Fee policy for this transaction

    +
      +
    • + {{index.feeOpts[fee.level]|translate}} + +
    • +
    +

    Spend unconfirmed transaction

    +
    + Use unconfirmed in this transaction + +
    +
    + +
    Cancel diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 775acfcdc..15ce7f58b 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -279,6 +279,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r $log.debug('Wallet Status:', walletStatus); self.setPendingTxps(walletStatus.pendingTxps); self.setFees(); + self.setSpendUnconfirmed(); // Status Shortcuts self.walletName = walletStatus.wallet.name; @@ -306,6 +307,10 @@ angular.module('copayApp.controllers').controller('indexController', function($r }); }; + self.setSpendUnconfirmed = function() { + self.spendUnconfirmed = configService.getSync().wallet.spendUnconfirmed; + }; + self.setCurrentFeeLevel = function(level) { self.currentFeeLevel = level || configService.getSync().wallet.settings.feeLevel || 'priority'; }; @@ -855,6 +860,10 @@ angular.module('copayApp.controllers').controller('indexController', function($r }); }); + $rootScope.$on('Local/SpendUnconfirmedUpdated', function(event) { + self.setSpendUnconfirmed(); + }); + $rootScope.$on('Local/FeeLevelUpdated', function(event, level) { self.setCurrentFeeLevel(level); }); diff --git a/src/js/controllers/preferences.js b/src/js/controllers/preferences.js index 742db5a84..c562785bb 100644 --- a/src/js/controllers/preferences.js +++ b/src/js/controllers/preferences.js @@ -9,10 +9,25 @@ angular.module('copayApp.controllers').controller('preferencesController', name: config.wallet.settings.alternativeName, isoCode: config.wallet.settings.alternativeIsoCode }; + $scope.spendUnconfirmed = config.wallet.spendUnconfirmed; var fc = profileService.focusedClient; if (fc) $scope.encrypt = fc.hasPrivKeyEncrypted(); + var unwatchSpendUnconfirmed = $scope.$watch('spendUnconfirmed', function(newVal, oldVal) { + if (newVal == oldVal) return; + var opts = { + wallet: { + spendUnconfirmed: newVal + } + }; + $rootScope.$emit('Local/SpendUnconfirmedUpdated'); + + configService.set(opts, function(err) { + if (err) $log.debug(err); + }); + }); + var unwatch = $scope.$watch('encrypt', function(val) { var fc = profileService.focusedClient; if (!fc) return; @@ -49,5 +64,6 @@ angular.module('copayApp.controllers').controller('preferencesController', $scope.$on('$destroy', function() { unwatch(); + unwatchSpendUnconfirmed(); }); }); diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index efa6e28f7..ec96ba394 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -5,6 +5,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi var self = this; $rootScope.hideMenuBar = false; $rootScope.wpInputFocused = false; + $scope.currentSpendUnconfirmed = configService.getSync().wallet.spendUnconfirmed; // INIT var config = configService.getSync().wallet.settings; @@ -538,6 +539,15 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi // Send + var unwatchSpendUnconfirmed = $scope.$watch('currentSpendUnconfirmed', function(newVal, oldVal) { + if (newVal == oldVal) return; + $scope.currentSpendUnconfirmed = newVal; + }); + + $scope.$on('$destroy', function() { + unwatchSpendUnconfirmed(); + }); + this.canShowAlternative = function() { return $scope.showAlternative; }; @@ -736,7 +746,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi address = form.address.$modelValue; amount = parseInt((form.amount.$modelValue * unitToSat).toFixed(0)); - feeService.getCurrentFeeValue(function(err, feePerKb) { + feeService.getCurrentFeeValue(self.currentSendFeeLevel, function(err, feePerKb) { if (err) $log.debug(err); fc.sendTxProposal({ toAddress: address, @@ -744,6 +754,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi message: comment, payProUrl: paypro ? paypro.url : null, feePerKb: feePerKb, + excludeUnconfirmedUtxos: $scope.currentSpendUnconfirmed ? false : true }, function(err, txp) { if (err) { self.setOngoingProcess(); @@ -848,6 +859,9 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi this.lockAddress = false; this.lockAmount = false; + this.currentSendFeeLevel = null; + this.hideAdvSend = true; + $scope.currentSpendUnconfirmed = configService.getSync().wallet.spendUnconfirmed; this._amount = this._address = null; @@ -985,36 +999,6 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi } }; - // Advanced SEND: set temporary fee policy for each transaction - this.openAdvancedSendModal = function(feeLevels, currentFeeLevel) { - var fc = profileService.focusedClient; - - var ModalInstanceCtrl = function($scope, $modalInstance) { - $scope.feeLevels = feeLevels; - $scope.currentFeeLevel = currentFeeLevel - $scope.network = fc.credentials.network; - $scope.color = fc.backgroundColor; - $scope.save = function(level) { - $scope.currentFeeLevel = level; - }; - - $scope.cancel = function() { - $modalInstance.dismiss('cancel'); - }; - }; - var modalInstance = $modal.open({ - templateUrl: 'views/modals/advancedSend.html', - windowClass: 'full animated slideInUp', - controller: ModalInstanceCtrl - }); - - modalInstance.result.finally(function() { - var m = angular.element(document.getElementsByClassName('reveal-modal')); - m.addClass('slideOutDown'); - }); - }; - - // History function strip(number) { diff --git a/src/js/services/feeService.js b/src/js/services/feeService.js index 99dde9bff..e77901bc4 100644 --- a/src/js/services/feeService.js +++ b/src/js/services/feeService.js @@ -10,10 +10,10 @@ angular.module('copayApp.services').factory('feeService', function($log, profile economy: gettextCatalog.getString('Economy') }; - root.getCurrentFeeValue = function(cb) { + root.getCurrentFeeValue = function(currentSendFeeLevel, cb) { var fc = profileService.focusedClient; var config = configService.getSync().wallet.settings; - var feeLevel = config.feeLevel || 'normal'; + var feeLevel = currentSendFeeLevel || config.feeLevel || 'normal'; // static fee var fee = 10000; fc.getFeeLevels(fc.credentials.network, function(err, levels) { From 12d132c37a873dc0dda045a4a116d9b4cb4b7b0d Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Wed, 5 Aug 2015 10:44:29 -0300 Subject: [PATCH 096/158] Updates angular-bwc and new error messages --- bower.json | 2 +- src/js/controllers/index.js | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bower.json b/bower.json index 572438ec3..93266daf7 100644 --- a/bower.json +++ b/bower.json @@ -17,7 +17,7 @@ "ng-lodash": "~0.2.0", "angular-moment": "~0.10.1", "moment": "~2.10.3", - "angular-bitcore-wallet-client": "^0.0.28", + "angular-bitcore-wallet-client": "^0.1.1", "angular-ui-router": "~0.2.13", "qrcode-decoder-js": "*", "fastclick": "*", diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 15ce7f58b..bb0a1b9ad 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -400,9 +400,9 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.handleError = function(err) { $log.warn('Client ERROR:', err); - if (err.code === 'NOTAUTHORIZED') { + if (err.code === 'NOT_AUTHORIZED') { $scope.$emit('Local/NotAuthorized'); - } else if (err.code === 'NOTFOUND') { + } else if (err.code === 'NOT_FOUND') { $scope.$emit('Local/BWSNotFound'); } else { $scope.$emit('Local/ClientError', (err.error ? err.error : err)); @@ -960,12 +960,12 @@ angular.module('copayApp.controllers').controller('indexController', function($r }); $rootScope.$on('Local/ClientError', function(event, err) { - if (err.code && err.code === 'NOTAUTHORIZED') { + if (err.code && err.code === 'NOT_AUTHORIZED') { // Show not error, just redirect to home (where the recreate option is shown) go.walletHome(); } else if (err && err.cors == 'rejected') { $log.debug('CORS error:', err); - } else if (err.code === 'ETIMEDOUT' || err.code === 'CONNERROR') { + } else if (err.code === 'ETIMEDOUT' || err.code === 'CONNECTION_ERROR') { $log.debug('Time out:', err); } else { var msg = 'Error at Wallet Service: '; From 4a79dbd01f4c442aa10d9a75239b90e2b0238a62 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Wed, 5 Aug 2015 12:56:25 -0300 Subject: [PATCH 097/158] Fix layout. Adds spend unconfirmed to txp details --- public/views/includes/output.html | 2 +- public/views/modals/txp-details.html | 4 ++++ public/views/walletHome.html | 34 ++++++++++++++-------------- 3 files changed, 22 insertions(+), 18 deletions(-) diff --git a/public/views/includes/output.html b/public/views/includes/output.html index d217412b2..2fb157df1 100644 --- a/public/views/includes/output.html +++ b/public/views/includes/output.html @@ -1,4 +1,4 @@ -
    +
  • Recipients: {{output.recipientCount}} diff --git a/public/views/modals/txp-details.html b/public/views/modals/txp-details.html index 783668dae..c1abe1c16 100644 --- a/public/views/modals/txp-details.html +++ b/public/views/modals/txp-details.html @@ -30,6 +30,10 @@ Fee: {{feeStr}}
  • +
  • + Spend Unconfirmed Transactions: + {{(tx.excludeUnconfirmedUtxos ? 'No' : 'Yes')|translate}} +
  • Time: diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 349bb8c93..986297b7d 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -418,29 +418,29 @@ -
    - + -
    -

    Fee policy for this transaction

    -
      -
    • - {{index.feeOpts[fee.level]|translate}} - -
    • -
    -

    Spend unconfirmed transaction

    -
    - Use unconfirmed in this transaction - +
    +

    Fee policy for this transaction

    +
      +
    • + {{index.feeOpts[fee.level]|translate}} + +
    • +
    +

    Unconfirmed transactions for this transaction

    +
    + Spend Unconfirmed Transactions + +
    From a034c832beb4f0ef711ba34956b8c6ebd37608c4 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Wed, 5 Aug 2015 14:07:09 -0300 Subject: [PATCH 098/158] Fix typos. Updates with suggestions --- public/views/modals/txp-details.html | 2 +- public/views/preferences.html | 2 +- public/views/walletHome.html | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/public/views/modals/txp-details.html b/public/views/modals/txp-details.html index c1abe1c16..6460111a2 100644 --- a/public/views/modals/txp-details.html +++ b/public/views/modals/txp-details.html @@ -31,7 +31,7 @@ {{feeStr}}
  • - Spend Unconfirmed Transactions: + Uses unconfirmed funds: {{(tx.excludeUnconfirmedUtxos ? 'No' : 'Yes')|translate}}
  • diff --git a/public/views/preferences.html b/public/views/preferences.html index 41dccf56c..416dd9522 100644 --- a/public/views/preferences.html +++ b/public/views/preferences.html @@ -85,7 +85,7 @@
  • - Spend Unconfirmed Transaction + Use Unconfirmed Funds
  • diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 986297b7d..951e56c88 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -436,9 +436,9 @@ ng-show="(home.currentSendFeeLevel || index.currentFeeLevel) == fee.level">
  • -

    Unconfirmed transactions for this transaction

    +

    Use unconfirmed funds for this transaction

    - Spend Unconfirmed Transactions + Use Unconfirmed Funds
    From d8a155a0e81c88881e8140b2fc5829eaa59bba45 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Wed, 5 Aug 2015 16:34:05 -0300 Subject: [PATCH 099/158] Hide options if it is the old bws --- public/views/preferences.html | 5 +++-- public/views/preferencesFee.html | 2 +- public/views/walletHome.html | 22 ++++++++++++---------- src/js/services/feeService.js | 8 ++------ 4 files changed, 18 insertions(+), 19 deletions(-) diff --git a/public/views/preferences.html b/public/views/preferences.html index 416dd9522..3f1e1d0cf 100644 --- a/public/views/preferences.html +++ b/public/views/preferences.html @@ -77,11 +77,12 @@ {{preferences.selectedAlternative.name}} -
  • +
  • Bitcoin Network Fee Policy - {{index.feeOpts[index.currentFeeLevel]|translate}} + {{index.feeOpts[index.currentFeeLevel]|translate}}
  • diff --git a/public/views/preferencesFee.html b/public/views/preferencesFee.html index 425164145..7eb64566d 100644 --- a/public/views/preferencesFee.html +++ b/public/views/preferencesFee.html @@ -7,7 +7,7 @@
    • - {{index.feeOpts[fee.level]|translate}} + {{index.feeOpts[fee.level]|translate}}
    diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 951e56c88..02ecebe38 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -427,16 +427,18 @@
    -

    Fee policy for this transaction

    -
      -
    • - {{index.feeOpts[fee.level]|translate}} - -
    • -
    -

    Use unconfirmed funds for this transaction

    +
    +

    Fee policy for this transaction

    +
      +
    • + {{index.feeOpts[fee.level]|translate}} + +
    • +
    +
    +

     

    Use Unconfirmed Funds diff --git a/src/js/services/feeService.js b/src/js/services/feeService.js index e77901bc4..3b7f810ce 100644 --- a/src/js/services/feeService.js +++ b/src/js/services/feeService.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.services').factory('feeService', function($log, profileService, configService, gettextCatalog) { +angular.module('copayApp.services').factory('feeService', function($log, profileService, configService, gettextCatalog, lodash) { var root = {}; // Constant fee options to translate @@ -21,11 +21,7 @@ angular.module('copayApp.services').factory('feeService', function($log, profile return cb({message: 'Could not get dynamic fee. Using static 10000sat'}, fee); } else { - for (var i = 0; i < 3; i++) { - if (levels[i].level == feeLevel) { - fee = levels[i].feePerKB; - } - } + fee = lodash.find(levels, { level: feeLevel }).feePerKB; $log.debug('Dynamic fee for ' + feeLevel + ': ' + fee); return cb(null, fee); } From 45c32371d671b7bd725a1976fd535315e960956f Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Wed, 5 Aug 2015 16:44:58 -0300 Subject: [PATCH 100/158] Fixes some capitalized words --- public/views/backup.html | 4 ++-- public/views/create.html | 4 ++-- public/views/join.html | 4 ++-- public/views/walletHome.html | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/public/views/backup.html b/public/views/backup.html index d3cb3387b..f0f0d7a22 100644 --- a/public/views/backup.html +++ b/public/views/backup.html @@ -38,8 +38,8 @@
    - Show Advanced options - Hide Advanced options + Show advanced options + Hide advanced options diff --git a/public/views/create.html b/public/views/create.html index d721f7b13..83f02975d 100644 --- a/public/views/create.html +++ b/public/views/create.html @@ -81,8 +81,8 @@
    - Show Advanced options - Hide Advanced options + Show advanced options + Hide advanced options diff --git a/public/views/join.html b/public/views/join.html index c18aed109..7c4a19f8a 100644 --- a/public/views/join.html +++ b/public/views/join.html @@ -66,8 +66,8 @@ - Show Advanced options - Hide Advanced options + Show advanced options + Hide advanced options diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 02ecebe38..a9353d02c 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -421,8 +421,8 @@
    - Show Advanced options - Hide Advanced options + Show advanced options + Hide advanced options From 3e87998981b8dc8d5e51b8228f97fa907340d370 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Mon, 10 Aug 2015 11:31:23 -0300 Subject: [PATCH 101/158] Updates template.pot --- i18n/po/template.pot | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/i18n/po/template.pot b/i18n/po/template.pot index 7c4e1ecaa..9b384c51c 100644 --- a/i18n/po/template.pot +++ b/i18n/po/template.pot @@ -468,6 +468,10 @@ msgstr "" msgid "Fee Policy" msgstr "" +#: public/views/walletHome.html +msgid "Fee policy for this transaction" +msgstr "" + #. Get information of payment if using Payment Protocol #: src/js/controllers/walletHome.js msgid "Fetching Payment Information" @@ -524,7 +528,8 @@ msgstr "" #: public/views/backup.html #: public/views/create.html #: public/views/join.html -msgid "Hide Advanced options" +#: public/views/walletHome.html +msgid "Hide advanced options" msgstr "" #: src/js/controllers/index.js @@ -689,6 +694,7 @@ msgstr "" #: public/views/walletHome.html #: public/views/includes/output.html +#: public/views/modals/tx-details.html msgid "Note" msgstr "" @@ -1012,7 +1018,8 @@ msgstr "" #: public/views/backup.html #: public/views/create.html #: public/views/join.html -msgid "Show Advanced options" +#: public/views/walletHome.html +msgid "Show advanced options" msgstr "" #: src/js/controllers/walletHome.js @@ -1148,6 +1155,15 @@ msgstr "" msgid "Updating Wallet..." msgstr "" +#: public/views/preferences.html +#: public/views/walletHome.html +msgid "Use Unconfirmed Funds" +msgstr "" + +#: public/views/modals/txp-details.html +msgid "Uses unconfirmed funds" +msgstr "" + #: public/views/preferencesAbout.html msgid "Version" msgstr "" From 1613062f48baa7f162edc2a542109edb2f0904f2 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Tue, 11 Aug 2015 01:21:50 -0300 Subject: [PATCH 102/158] Disables alert() function for chromeapp --- src/js/controllers/index.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index bb0a1b9ad..e8a820836 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('indexController', function($rootScope, $scope, $log, $filter, $timeout, lodash, go, profileService, configService, isCordova, rateService, storageService, addressService, gettextCatalog, gettext, amMoment, nodeWebkit, addonManager, feeService) { +angular.module('copayApp.controllers').controller('indexController', function($rootScope, $scope, $log, $filter, $timeout, lodash, go, profileService, configService, isCordova, rateService, storageService, addressService, gettextCatalog, gettext, amMoment, nodeWebkit, addonManager, feeService, isChromeApp) { var self = this; self.isCordova = isCordova; self.onGoingProcess = {}; @@ -752,7 +752,9 @@ angular.module('copayApp.controllers').controller('indexController', function($r 'Wallet Server Error', ['OK'] ); } else { - alert(err); + if (!isChromeApp) { + alert(err); + } } }; @@ -764,7 +766,9 @@ angular.module('copayApp.controllers').controller('indexController', function($r 'Device Error', ['OK'] ); } else { - alert(err); + if (!isChromeApp) { + alert(err); + } } }; From 48d6b7866755e26cedc48d3832a9ed84883aa0a0 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 11 Aug 2015 17:11:40 -0300 Subject: [PATCH 103/158] WIP send max fixes --- public/views/walletHome.html | 2 +- src/js/controllers/index.js | 50 ++++++++++++++++++++++---------- src/js/controllers/walletHome.js | 5 ++++ src/js/services/feeService.js | 2 +- 4 files changed, 41 insertions(+), 18 deletions(-) diff --git a/public/views/walletHome.html b/public/views/walletHome.html index a9353d02c..57f28cd22 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -431,7 +431,7 @@

    Fee policy for this transaction

    • + ng-click="home.setFee(fee.level)" class="line-b p20"> {{index.feeOpts[fee.level]|translate}} diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index e8a820836..6559dbd7f 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -278,7 +278,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r } $log.debug('Wallet Status:', walletStatus); self.setPendingTxps(walletStatus.pendingTxps); - self.setFees(); + self.setFeesOpts(); self.setSpendUnconfirmed(); // Status Shortcuts @@ -311,17 +311,40 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.spendUnconfirmed = configService.getSync().wallet.spendUnconfirmed; }; - self.setCurrentFeeLevel = function(level) { - self.currentFeeLevel = level || configService.getSync().wallet.settings.feeLevel || 'priority'; + self.setSendMax = function() { + + // Set Send max + if (self.currentFeeLevel && self.totalBytesToSendMax) { + feeService.getCurrentFeeValue(self.currentFeeLevel, function(err, feePerKb) { + + // KB to send max + if (self.totalBytesToSendMax) { + var feeToSendMaxSat = parseInt(((self.totalBytesToSendMax * feePerKb ) / 1000.).toFixed(0)); + self.availableMaxBalance = strip((self.availableBalanceSat - feeToSendMaxSat) * self.satToUnit); + self.feeToSendMaxStr = profileService.formatAmount(feeToSendMaxSat) + ' ' + self.unitName; + +console.log('[index.js.595]', self.currentFeeLevel, feePerKb, self.totalBytesToSendMax, feeToSendMaxSat, self.feeToSendMaxStr, "AVAIL", self.availableBalanceSat,self.availableMaxBalance); //TODO + + } else { + self.feeToSendMaxStr = null; + } + }); + } + }; - self.setFees = function() { + self.setCurrentFeeLevel = function(level) { + self.currentFeeLevel = level || configService.getSync().wallet.settings.feeLevel || 'priority'; + self.setSendMax(); + }; + + + self.setFeesOpts = function() { var fc = profileService.focusedClient; if (!fc) return; $timeout(function() { feeService.getFeeLevels(function(levels) { self.feeLevels = levels; - self.setCurrentFeeLevel(); $rootScope.$apply(); }); }); @@ -550,6 +573,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r var config = configService.getSync().wallet.settings; var COIN = 1e8; + // Address with Balance self.balanceByAddress = balance.byAddress; @@ -572,17 +596,6 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.lockedBalanceBTC = strip(self.lockedBalanceSat / COIN); self.availableBalanceBTC = strip(self.availableBalanceBTC / COIN); - // KB to send max - self.feePerKbSat = config.feeValue || 10000; - if (balance.totalKbToSendMax) { - var feeToSendMaxSat = balance.totalKbToSendMax * self.feePerKbSat; - - self.availableMaxBalance = strip((self.availableBalanceSat - feeToSendMaxSat) * self.satToUnit); - self.feeToSendMaxStr = profileService.formatAmount(feeToSendMaxSat) + ' ' + self.unitName; - } else { - self.feeToSendMaxStr = null; - } - //STR self.totalBalanceStr = profileService.formatAmount(self.totalBalanceSat) + ' ' + self.unitName; self.lockedBalanceStr = profileService.formatAmount(self.lockedBalanceSat) + ' ' + self.unitName; @@ -591,6 +604,11 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.alternativeName = config.alternativeName; self.alternativeIsoCode = config.alternativeIsoCode; + // Other + self.totalBytesToSendMax = balance.totalBytesToSendMax; + + self.setCurrentFeeLevel(); + // Check address addressService.isUsed(self.walletId, balance.byAddress, function(err, used) { if (used) { diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index ec96ba394..ff1d59536 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -714,6 +714,10 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi }; }; + this.setFee = function(level) { + this.currentSendFeeLevel = level; + }; + this.submitForm = function() { var fc = profileService.focusedClient; var unitToSat = this.unitToSatoshi; @@ -748,6 +752,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi feeService.getCurrentFeeValue(self.currentSendFeeLevel, function(err, feePerKb) { if (err) $log.debug(err); +console.log('[walletHome.js.757:amount:]',amount, feePerKb); //TODO fc.sendTxProposal({ toAddress: address, amount: amount, diff --git a/src/js/services/feeService.js b/src/js/services/feeService.js index 3b7f810ce..1924d0ac8 100644 --- a/src/js/services/feeService.js +++ b/src/js/services/feeService.js @@ -22,7 +22,7 @@ angular.module('copayApp.services').factory('feeService', function($log, profile } else { fee = lodash.find(levels, { level: feeLevel }).feePerKB; - $log.debug('Dynamic fee for ' + feeLevel + ': ' + fee); + $log.debug('Dynamic fee for:' + feeLevel + ': ' + fee + ' SAT'); return cb(null, fee); } }); From ba40323b7b1402392cfc84e50842e28cf9b476d9 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 11 Aug 2015 17:45:57 -0300 Subject: [PATCH 104/158] show pending update --- public/views/walletHome.html | 16 ++++-- src/js/controllers/index.js | 51 +++++++++-------- src/js/controllers/preferences.js | 3 +- src/js/services/balanceService.js | 92 ------------------------------- 4 files changed, 41 insertions(+), 121 deletions(-) delete mode 100644 src/js/services/balanceService.js diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 57f28cd22..02d459b87 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -91,6 +91,12 @@ ng-if="index.totalBalanceAlternative"> {{index.totalBalanceAlternative}} {{index.alternativeIsoCode}}
    +
    + Pending Confirmation: + {{index.pendingAmountStr}} +
    +
    @@ -162,9 +168,9 @@
    + ng-show="index.lockedBalanceSat && !index.updatingStatus"> Total Locked Balance: - {{index.lockedBalance}} {{index.unitName}} + {{index.lockedBalanceStr}} {{index.lockedBalanceAlternative}} {{index.alternativeIsoCode}}
    @@ -288,12 +294,12 @@

    Send All -
    +
    Available Balance: @@ -301,7 +307,7 @@
    -
    +
    diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 6559dbd7f..0963c7a7d 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -89,17 +89,23 @@ angular.module('copayApp.controllers').controller('indexController', function($r if (!fc) return; // Clean status - self.lockedBalance = null; + self.totalBalanceSat = null; + self.lockedBalanceSat = null; + self.availableBalanceSat = null; + + self.totalBalanceStr = null; self.availableBalanceStr = null; - self.totalBalanceStr = null; self.lockedBalanceStr = null; - self.totalBalanceStr = null; + self.alternativeBalanceAvailable = false; self.totalBalanceAlternative = null; + self.notAuthorized = false; self.txHistory = []; self.txHistoryPaging = false; self.pendingTxProposalsCountForUs = null; + self.setSpendUnconfirmed(); + $timeout(function() { self.hasProfile = true; self.noFocusedWallet = false; @@ -279,7 +285,6 @@ angular.module('copayApp.controllers').controller('indexController', function($r $log.debug('Wallet Status:', walletStatus); self.setPendingTxps(walletStatus.pendingTxps); self.setFeesOpts(); - self.setSpendUnconfirmed(); // Status Shortcuts self.walletName = walletStatus.wallet.name; @@ -322,9 +327,6 @@ angular.module('copayApp.controllers').controller('indexController', function($r var feeToSendMaxSat = parseInt(((self.totalBytesToSendMax * feePerKb ) / 1000.).toFixed(0)); self.availableMaxBalance = strip((self.availableBalanceSat - feeToSendMaxSat) * self.satToUnit); self.feeToSendMaxStr = profileService.formatAmount(feeToSendMaxSat) + ' ' + self.unitName; - -console.log('[index.js.595]', self.currentFeeLevel, feePerKb, self.totalBytesToSendMax, feeToSendMaxSat, self.feeToSendMaxStr, "AVAIL", self.availableBalanceSat,self.availableMaxBalance); //TODO - } else { self.feeToSendMaxStr = null; } @@ -578,35 +580,39 @@ console.log('[index.js.595]', self.currentFeeLevel, feePerKb, self.totalBytesToS self.balanceByAddress = balance.byAddress; // SAT - self.totalBalanceSat = balance.totalAmount; - self.lockedBalanceSat = balance.lockedAmount; - self.availableBalanceSat = self.totalBalanceSat - self.lockedBalanceSat; + if (self.spendUnconfirmed) { + self.totalBalanceSat = balance.totalAmount; + self.lockedBalanceSat = balance.lockedAmount; + self.availableBalanceSat = balance.availableAmount; + self.pendingAmount = null; + } else { + self.totalBalanceSat = balance.totalConfirmedAmount; + self.lockedBalanceSat = balance.lockedConfirmedAmount; + self.availableBalanceSat = balance.availableConfirmedAmount; + self.pendingAmount = balance.totalAmount - balance.totalConfirmedAmount; + } // Selected unit self.unitToSatoshi = config.unitToSatoshi; self.satToUnit = 1 / self.unitToSatoshi; self.unitName = config.unitName; - self.totalBalance = strip(self.totalBalanceSat * self.satToUnit); - self.lockedBalance = strip(self.lockedBalanceSat * self.satToUnit); - self.availableBalance = strip(self.availableBalanceSat * self.satToUnit); - - // BTC - self.totalBalanceBTC = strip(self.totalBalanceSat / COIN); - self.lockedBalanceBTC = strip(self.lockedBalanceSat / COIN); - self.availableBalanceBTC = strip(self.availableBalanceBTC / COIN); - //STR self.totalBalanceStr = profileService.formatAmount(self.totalBalanceSat) + ' ' + self.unitName; self.lockedBalanceStr = profileService.formatAmount(self.lockedBalanceSat) + ' ' + self.unitName; self.availableBalanceStr = profileService.formatAmount(self.availableBalanceSat) + ' ' + self.unitName; + if (self.pendingAmount) { + self.pendingAmountStr = profileService.formatAmount(self.pendingAmount) + ' ' + self.unitName; + } else { + self.pendingAmountStr = null; + } + self.alternativeName = config.alternativeName; self.alternativeIsoCode = config.alternativeIsoCode; // Other self.totalBytesToSendMax = balance.totalBytesToSendMax; - self.setCurrentFeeLevel(); // Check address @@ -619,8 +625,8 @@ console.log('[index.js.595]', self.currentFeeLevel, feePerKb, self.totalBytesToS rateService.whenAvailable(function() { - var totalBalanceAlternative = rateService.toFiat(self.totalBalance * self.unitToSatoshi, self.alternativeIsoCode); - var lockedBalanceAlternative = rateService.toFiat(self.lockedBalance * self.unitToSatoshi, self.alternativeIsoCode); + var totalBalanceAlternative = rateService.toFiat(self.totalBalanceSat, self.alternativeIsoCode); + var lockedBalanceAlternative = rateService.toFiat(self.lockedBalanceSat, self.alternativeIsoCode); var alternativeConversionRate = rateService.toFiat(100000000, self.alternativeIsoCode); self.totalBalanceAlternative = $filter('noFractionNumber')(totalBalanceAlternative, 2); @@ -884,6 +890,7 @@ console.log('[index.js.595]', self.currentFeeLevel, feePerKb, self.totalBytesToS $rootScope.$on('Local/SpendUnconfirmedUpdated', function(event) { self.setSpendUnconfirmed(); + self.updateAll(); }); $rootScope.$on('Local/FeeLevelUpdated', function(event, level) { diff --git a/src/js/controllers/preferences.js b/src/js/controllers/preferences.js index c562785bb..468b74841 100644 --- a/src/js/controllers/preferences.js +++ b/src/js/controllers/preferences.js @@ -21,9 +21,8 @@ angular.module('copayApp.controllers').controller('preferencesController', spendUnconfirmed: newVal } }; - $rootScope.$emit('Local/SpendUnconfirmedUpdated'); - configService.set(opts, function(err) { + $rootScope.$emit('Local/SpendUnconfirmedUpdated'); if (err) $log.debug(err); }); }); diff --git a/src/js/services/balanceService.js b/src/js/services/balanceService.js deleted file mode 100644 index 432a2e10b..000000000 --- a/src/js/services/balanceService.js +++ /dev/null @@ -1,92 +0,0 @@ -'use strict'; - -angular.module('copayApp.services') - .factory('balanceService', function($rootScope, $filter, $timeout, bwcService) { - var root = {}; - var _balanceCache = {}; - root.clearBalanceCache = function(w) { - w.clearUnspentCache(); - delete _balanceCache[w.getId()]; - }; - - root._fetchBalance = function(w, cb) { - cb = cb || function() {}; - var satToUnit = 1 / w.settings.unitToSatoshi; - var COIN = bwcService.Bitcore.util.COIN; - w.getBalance(function(err, balanceSat, balanceByAddrSat, safeBalanceSat, safeUnspentCount) { - if (err) return cb(err); - - var r = {}; - r.totalBalance = $filter('noFractionNumber')(balanceSat * satToUnit); - r.totalBalanceBTC = (balanceSat / COIN); - var availableBalanceNr = safeBalanceSat * satToUnit; - r.availableBalance = $filter('noFractionNumber')(safeBalanceSat * satToUnit); - r.availableBalanceBTC = (safeBalanceSat / COIN); - r.safeUnspentCount = safeUnspentCount; - - var lockedBalance = (balanceSat - safeBalanceSat) * satToUnit; - r.lockedBalance = lockedBalance ? $filter('noFractionNumber')(lockedBalance) : null; - r.lockedBalanceBTC = (balanceSat - safeBalanceSat) / COIN; - - - if (r.safeUnspentCount) { - var estimatedFee = copay.Wallet.estimatedFee(r.safeUnspentCount); - r.topAmount = (((availableBalanceNr * w.settings.unitToSatoshi).toFixed(0) - estimatedFee) / w.settings.unitToSatoshi); - } - - var balanceByAddr = {}; - for (var ii in balanceByAddrSat) { - balanceByAddr[ii] = balanceByAddrSat[ii] * satToUnit; - } - r.balanceByAddr = balanceByAddr; - - r.totalBalanceAlternative = $filter('noFractionNumber')(totalBalanceAlternative, 2); - r.lockedBalanceAlternative = $filter('noFractionNumber')(lockedBalanceAlternative, 2); - r.alternativeConversionRate = $filter('noFractionNumber')(alternativeConversionRate, 2); - - r.alternativeBalanceAvailable = true; - r.alternativeIsoCode = w.settings.alternativeIsoCode; - - r.updatingBalance = false; - - return cb(null, r) - }); - }; - - root.update = function(w, cb, isFocused) { - w = w || $rootScope.wallet; - if (!w || !w.isComplete()) return; - - copay.logger.debug('Updating balance of:', w.getName(), isFocused); - var wid = w.getId(); - - - // cache available? Set the cached values until we updated them - if (_balanceCache[wid]) { - w.balanceInfo = _balanceCache[wid]; - } else { - if (isFocused) - $rootScope.updatingBalance = true; - } - - w.balanceInfo = w.balanceInfo || {}; - w.balanceInfo.updating = true; - - root._fetchBalance(w, function(err, res) { - if (err) throw err; - w.balanceInfo = _balanceCache[wid] = res; - w.balanceInfo.updating = false; - - if (isFocused) { - $rootScope.updatingBalance = false; - } - // we alwalys calltimeout because if balance is cached, we are still on the same - // execution path - if (cb) $timeout(function() { - return cb(); - }, 1); - }); - }; - - return root; - }); From 90bfe4aaa2391ff8f5cd8f32c3f1186b13c8d96b Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Tue, 11 Aug 2015 17:59:41 -0300 Subject: [PATCH 105/158] Display if has unconfirmed inputs --- public/views/modals/txp-details.html | 4 ++-- src/js/controllers/walletHome.js | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/public/views/modals/txp-details.html b/public/views/modals/txp-details.html index 6460111a2..f1a47d9b4 100644 --- a/public/views/modals/txp-details.html +++ b/public/views/modals/txp-details.html @@ -30,9 +30,9 @@ Fee: {{feeStr}}

  • -
  • +
  • Uses unconfirmed funds: - {{(tx.excludeUnconfirmedUtxos ? 'No' : 'Yes')|translate}} + {{(tx.hasUnconfirmedInputs ? 'Yes' : 'No')|translate}}
  • Time: diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index ff1d59536..df7d089f9 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -184,6 +184,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi this.openTxpModal = function(tx, copayers) { var fc = profileService.focusedClient; var refreshUntilItChanges = false; + var currentSpendUnconfirmed = $scope.currentSpendUnconfirmed; var ModalInstanceCtrl = function($scope, $modalInstance) { $scope.error = null; $scope.tx = tx; @@ -196,6 +197,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi $scope.loading = null; $scope.color = fc.backgroundColor; refreshUntilItChanges = false; + $scope.currentSpendUnconfirmed = currentSpendUnconfirmed; $scope.getShortNetworkName = function() { return fc.credentials.networkName.substring(0, 4); From 42cd5ba3e0a51dcfa420a66d8b92577533e37ac0 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Tue, 11 Aug 2015 18:55:47 -0300 Subject: [PATCH 106/158] Fixes unconfirmed message --- bower.json | 2 +- public/views/modals/txp-details.html | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/bower.json b/bower.json index 93266daf7..05df61448 100644 --- a/bower.json +++ b/bower.json @@ -17,7 +17,7 @@ "ng-lodash": "~0.2.0", "angular-moment": "~0.10.1", "moment": "~2.10.3", - "angular-bitcore-wallet-client": "^0.1.1", + "angular-bitcore-wallet-client": "^0.1.2", "angular-ui-router": "~0.2.13", "qrcode-decoder-js": "*", "fastclick": "*", diff --git a/public/views/modals/txp-details.html b/public/views/modals/txp-details.html index f1a47d9b4..dc8c683bd 100644 --- a/public/views/modals/txp-details.html +++ b/public/views/modals/txp-details.html @@ -29,11 +29,7 @@
  • Fee: {{feeStr}} -
  • -
  • - Uses unconfirmed funds: - {{(tx.hasUnconfirmedInputs ? 'Yes' : 'No')|translate}} -
  • +
  • Time: @@ -45,6 +41,9 @@ {{tx.creatorName}}
  • +
    + Warning: this transaction has unconfirmed inputs +

    Payment details

      From 6747d5a02bace9cb713f20b4e676545bed4b57c3 Mon Sep 17 00:00:00 2001 From: dabura667 Date: Wed, 12 Aug 2015 20:19:13 +0900 Subject: [PATCH 107/158] Update template.pot --- i18n/po/template.pot | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/i18n/po/template.pot b/i18n/po/template.pot index 9b384c51c..d7cd8e5e1 100644 --- a/i18n/po/template.pot +++ b/i18n/po/template.pot @@ -805,6 +805,10 @@ msgstr "" msgid "Payment to" msgstr "" +#: public/views/walletHome.html +msgid "Pending Confirmation" +msgstr "" + #: public/views/preferencesDeleteWallet.html msgid "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" msgstr "" From c87eb6014a31d1f700da353aac741fbce7e75a82 Mon Sep 17 00:00:00 2001 From: dabura667 Date: Wed, 12 Aug 2015 20:20:40 +0900 Subject: [PATCH 108/158] Update appstore update info --- i18n/docs/updateinfo_en.txt | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/i18n/docs/updateinfo_en.txt b/i18n/docs/updateinfo_en.txt index 6cc35687a..96fb0d7f4 100644 --- a/i18n/docs/updateinfo_en.txt +++ b/i18n/docs/updateinfo_en.txt @@ -1,7 +1,5 @@ -* Now is possible to make backups without signing capabilities (more info https://github.com/bitpay/copay/pull/2998) -* Better refresh and sorting rules in transaction history -* Better handling of `invalid` transactions in history -* Better handling of wallets with 1K+ transactions in history -* Exports .csv files with transaction ID -* Better UTXOs selection polices +* Improved fee handling and fee notifications +* Added advanced sending options +* Create transaction proposals with multiple destinations +* Added Italian and Greek language options * Minor bug fixes From fe07348a5a48781b803cfca064f7825502931386 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Wed, 12 Aug 2015 08:57:44 -0300 Subject: [PATCH 109/158] adds errorCb, handles blocks --- src/js/controllers/create.js | 3 +++ src/js/controllers/index.js | 17 +++++++++++++++++ src/js/services/profileService.js | 19 +++++++++++++++++-- 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/src/js/controllers/create.js b/src/js/controllers/create.js index c696d487b..8ac67f68a 100644 --- a/src/js/controllers/create.js +++ b/src/js/controllers/create.js @@ -63,6 +63,9 @@ angular.module('copayApp.controllers').controller('createController', if (err) { $log.debug(err); self.error = err; + $timeout(function() { + $rootScope.$apply(); + }); } else { go.walletHome(); diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 0963c7a7d..50935294a 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -960,6 +960,9 @@ angular.module('copayApp.controllers').controller('indexController', function($r trailing: true }); + self.debouncedUpdateHistory = lodash.throttle(function() { + self.updateTxHistory(); + }, 60000); $rootScope.$on('Local/Resume', function(event) { $log.debug('### Resume event'); @@ -1023,6 +1026,20 @@ angular.module('copayApp.controllers').controller('indexController', function($r }); }); + + $rootScope.$on('NewBlock', function() { + if (self.pendingAmount) { + self.updateAll(); + } + + if (self.network =='testnet') { + self.debouncedUpdateHistory(); + } else { + self.updateTxHistory(); + } + }); + + $rootScope.$on('NewOutgoingTx', function() { self.updateAll({ walletStatus: null, diff --git a/src/js/services/profileService.js b/src/js/services/profileService.js index e16408c45..bbb75921c 100644 --- a/src/js/services/profileService.js +++ b/src/js/services/profileService.js @@ -12,6 +12,21 @@ angular.module('copayApp.services') return bwcService.getUtils(); }; + root.errorCb = function(err, prefix, cb) { + var body = ''; + + prefix = gettext(prefix); + if (!err || !err.code) return cb(prefix); + + switch(err.code) { + case 'CONNECTION_ERROR': + body = gettext('Network connection error'); + ;; + } + + return cb(prefix + ( body ? ': ' + body : '')); + }; + root.formatAmount = function(amount) { var config = configService.getSync().wallet.settings; if (config.unitCode == 'sat') return amount; @@ -176,7 +191,7 @@ angular.module('copayApp.services') walletClient.createWallet('Personal Wallet', 'me', 1, 1, { network: 'livenet' }, function(err) { - if (err) return cb(gettext('Error creating wallet. Check your internet connection')); + if (err) return root.errorCb(err, 'Error creating wallet', cb); var p = Profile.create({ credentials: [JSON.parse(walletClient.export())], }); @@ -198,7 +213,7 @@ angular.module('copayApp.services') walletClient.createWallet(opts.name, opts.myName || 'me', opts.m, opts.n, { network: opts.networkName }, function(err, secret) { - if (err) return cb(gettext('Error creating wallet')); + if (err) return root.errorCb(err, 'Error creating wallet', cb); root.profile.credentials.push(JSON.parse(walletClient.export())); root.setWalletClients(); From 033f7c163fcd6d47d898adbb3644170195088ea2 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Wed, 12 Aug 2015 11:08:33 -0300 Subject: [PATCH 110/158] better handing of errors + prevent joining the same wallet more that once --- public/views/walletHome.html | 2 +- src/js/controllers/index.js | 4 +- src/js/controllers/join.js | 2 +- src/js/controllers/walletHome.js | 73 +++++------------ src/js/services/addressService.js | 5 +- src/js/services/bwsError.js | 125 ++++++++++++++++++++++++++++++ src/js/services/profileService.js | 35 ++++----- 7 files changed, 167 insertions(+), 79 deletions(-) create mode 100644 src/js/services/bwsError.js diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 02d459b87..12d3bcba6 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -76,7 +76,7 @@
      - Could not update Wallet + {{index.updateError}}
      diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 50935294a..00a6c50d7 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('indexController', function($rootScope, $scope, $log, $filter, $timeout, lodash, go, profileService, configService, isCordova, rateService, storageService, addressService, gettextCatalog, gettext, amMoment, nodeWebkit, addonManager, feeService, isChromeApp) { +angular.module('copayApp.controllers').controller('indexController', function($rootScope, $scope, $log, $filter, $timeout, lodash, go, profileService, configService, isCordova, rateService, storageService, addressService, gettextCatalog, gettext, amMoment, nodeWebkit, addonManager, feeService, isChromeApp, bwsError) { var self = this; self.isCordova = isCordova; self.onGoingProcess = {}; @@ -243,7 +243,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.updateError = false; return fc.getStatus(function(err, ret) { if (err) { - self.updateError = true; + self.updateError = bwsError.msg(err, 'Could not update Wallet'); } else { if (!opts.quiet) self.setOngoingProcess('scanning', ret.wallet.scanning); diff --git a/src/js/controllers/join.js b/src/js/controllers/join.js index 948cfe176..1ca442f8c 100644 --- a/src/js/controllers/join.js +++ b/src/js/controllers/join.js @@ -153,7 +153,7 @@ angular.module('copayApp.controllers').controller('joinController', }, function(err) { if (err) { self.loading = false; - self.error = gettext('Could not join wallet: ') + (err.message ? err.message : err); + self.error = err; $rootScope.$apply(); return } diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index ff1d59536..9b19db9c2 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('walletHomeController', function($scope, $rootScope, $timeout, $filter, $modal, $log, notification, txStatus, isCordova, profileService, lodash, configService, rateService, storageService, bitcore, isChromeApp, gettext, gettextCatalog, nodeWebkit, addressService, feeService) { +angular.module('copayApp.controllers').controller('walletHomeController', function($scope, $rootScope, $timeout, $filter, $modal, $log, notification, txStatus, isCordova, profileService, lodash, configService, rateService, storageService, bitcore, isChromeApp, gettext, gettextCatalog, nodeWebkit, addressService, feeService, bwsError) { var self = this; $rootScope.hideMenuBar = false; @@ -94,24 +94,6 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi var cancel_msg = gettextCatalog.getString('Cancel'); var confirm_msg = gettextCatalog.getString('Confirm'); - // walletHome - - - var parseError = function(err) { - if (!err) return; - - if (err.message) { - // TODO : this is not used anymore? - if (err.message.indexOf('CORS') >= 0) { - err.message = gettext('Could not connect wallet service. Check your Internet connection and your wallet service configuration.'); - } - - if (err.message.indexOf('TIMEDOUT') >= 0) { - err.message = gettext('Wallet service timed out. Check your Internet connection and your wallet service configuration.'); - } - } - }; - $scope.openCopayersModal = function(copayers, copayerId) { var fc = profileService.focusedClient; @@ -152,13 +134,14 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi }); addressService.getAddress(walletId, false, function(err, addr) { $scope.gettingAddress = false; - if (!err || addr) - $modalInstance.close(addr); - else { - parseError(err); + + if (err) { self.error = err; $modalInstance.dismiss('cancel'); + return; } + + $modalInstance.close(addr); }); }; }; @@ -247,8 +230,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi if (fc.isPrivKeyEncrypted()) { profileService.unlockFC(function(err) { if (err) { - parseError(err); - $scope.error = err; + $scope.error = bwsError.msg(err); return; } return $scope.sign(txp); @@ -265,8 +247,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.setOngoingProcess(); if (err) { $scope.loading = false; - parseError(err); - $scope.error = err.message || gettext('Could not accept payment. Check your Internet connection and try again'); + $scope.error = bwsError.msg(err, gettext('Could not accept payment')); $scope.$digest(); } else { //if txp has required signatures then broadcast it @@ -278,8 +259,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.setOngoingProcess(); $scope.loading = false; if (err) { - parseError(err); - $scope.error = gettext('Could not broadcast payment. Check your Internet connection and try again'); + $scope.error = bwsError.msg('Could not broadcast payment'); $scope.$digest(); } else { $log.debug('Transaction signed and broadcasted') @@ -308,8 +288,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.setOngoingProcess(); $scope.loading = false; if (err) { - parseError(err); - $scope.error = err.message || gettext('Could not reject payment. Check your Internet connection and try again'); + $scope.error = bwsError.msg(err,gettext('Could not reject payment')); $scope.$digest(); } else { $modalInstance.close(txpr); @@ -330,8 +309,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi // Hacky: request tries to parse an empty response if (err && !(err.message && err.message.match(/Unexpected/))) { - parseError(err); - $scope.error = err.message || gettext('Could not delete payment proposal. Check your Internet connection and try again'); + $scope.error = bwsError.msg(err, gettext('Could not delete payment proposal')); $scope.$digest(); return; } @@ -349,8 +327,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.setOngoingProcess(); $scope.loading = false; if (err) { - parseError(err); - $scope.error = err.message || gettext('Could not broadcast payment. Check your Internet connection and try again'); + $scope.error = bwsError.msg(gettext('Could not broadcast payment')); $scope.$digest(); } else { @@ -420,14 +397,13 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi addressService.getAddress(fc.credentials.walletId, forceNew, function(err, addr) { self.generatingAddress = false; - if (err) { - parseError(err); - self.addrError = err.message || gettext('Could not create address. Check your Internet connection and try again'); + if (err) { + self.addrError = err; + } else { + if (addr) + self.addr[fc.credentials.walletId] = addr; } - if (addr) - self.addr[fc.credentials.walletId] = addr; - $scope.$digest(); }); }); @@ -678,16 +654,10 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi this.setSendError = function(err) { var fc = profileService.focusedClient; - $log.warn(err); - parseError(err); - var errMessage = + var prefix = fc.credentials.m > 1 ? gettext('Could not create payment proposal') : gettext('Could not send payment'); - //This are abnormal situations, but still err message will not be translated - //(the should) we should switch using err.code and use proper gettext messages - errMessage = errMessage + '. ' + (err.message ? err.message : gettext('Check your Internet connection and try again')); - - this.error = errMessage; + this.error = bwsError.msg(err, prefix); $timeout(function() { $scope.$digest(); @@ -802,8 +772,7 @@ console.log('[walletHome.js.757:amount:]',amount, feePerKb); //TODO profileService.lockFC(); self.setOngoingProcess(); if (err) { - $log.debug('Sign error:', err); - err.message = gettext('The payment was created but could not be signed. Please try again from home screen.') + (err.message ? ' ' + err.message : ''); + err.message = bwsError.msg(err, gettext('The payment was created but could not be signed. Please try again from home screen')); return cb(err); } @@ -812,7 +781,7 @@ console.log('[walletHome.js.757:amount:]',amount, feePerKb); //TODO fc.broadcastTxProposal(signedTx, function(err, btx, memo) { self.setOngoingProcess(); if (err) { - err.message = gettext('The payment was signed but could not be broadcasted. Please try again from home screen.') + (err.message ? ' ' + err.message : ''); + err.message = bwsError.msg(err, gettext('The payment was signed but could not be broadcasted. Please try again from home screen')); return cb(err); } if (memo) diff --git a/src/js/services/addressService.js b/src/js/services/addressService.js index 39978f94a..b0432d00a 100644 --- a/src/js/services/addressService.js +++ b/src/js/services/addressService.js @@ -1,7 +1,7 @@ 'use strict'; 'use strict'; angular.module('copayApp.services') - .factory('addressService', function(storageService, profileService, $log, $timeout, lodash) { + .factory('addressService', function(storageService, profileService, $log, $timeout, lodash, bwsError, gettext) { var root = {}; @@ -34,8 +34,7 @@ angular.module('copayApp.services') root._createAddress(walletId, cb); }, 5000); } - $log.debug('Creating address ERROR:', err); - return cb(err); + return bwsError.cb(err, gettext('Could not create address'), cb); } return cb(null, addr.address); }); diff --git a/src/js/services/bwsError.js b/src/js/services/bwsError.js new file mode 100644 index 000000000..a8e513f18 --- /dev/null +++ b/src/js/services/bwsError.js @@ -0,0 +1,125 @@ +'use strict'; +angular.module('copayApp.services') + .factory('bwsError', function bwcErrorService($log, gettext) { + var root = {}; + + root.msg = function(err, prefix) { + var body = ''; + prefix = prefix || ''; + + if (err && err.code) { + switch(err.code) { + case 'CONNECTION_ERROR': + body = gettext('Network connection error'); + break; + ;; + case 'NOT_FOUND': + body = gettext('Wallet service not found'); + break; + ;; + case 'BAD_SIGNATURES': + body = gettext('Signatures rejected by server'); + break; + ;; + case 'COPAYER_DATA_MISMATCH': + body = gettext('Copayer data mismatch'); + break; + ;; + case 'COPAYER_IN_WALLET': + body = gettext('Copayer already in this wallet'); + break; + ;; + case 'COPAYER_REGISTERED': + body = gettext('Copayer already registered'); + break; + ;; + case 'COPAYER_VOTED': + body = gettext('Copayer already voted on this spend proposal'); + break; + ;; + case 'DUST_AMOUNT': + body = gettext('Amount below dust threshold'); + break; + ;; + case 'INCORRECT_ADDRESS_NETWORK': + body = gettext('Incorrect address network'); + break; + ;; + case 'INSUFFICIENT_FUNDS': + body = gettext('Insufficient funds'); + break; + ;; + case 'INSUFFICIENT_FUNDS_FOR_FEE': + body = gettext('Insufficient funds for fee'); + break; + ;; + case 'INVALID_ADDRESS': + body = gettext('Invalid address'); + break; + ;; + case 'LOCKED_FUNDS': + body = gettext('Funds are locked by pending spend proposals'); + break; + ;; + case 'NOT_AUTHORIZED': + body = gettext('Not authorized'); + break; + ;; + case 'TX_ALREADY_BROADCASTED': + body = gettext('Transaction already broadcasted'); + break; + ;; + case 'TX_CANNOT_CREATE': + body = gettext('Locktime in effect. Please wait to create a new spend proposal'); + break; + ;; + case 'TX_CANNOT_REMOVE': + body = gettext('Locktime in effect. Please wait to remove this spend proposal'); + break; + ;; + case 'TX_NOT_ACCEPTED': + body = gettext('Spend proposal is not accepted'); + break; + ;; + case 'TX_NOT_FOUND': + body = gettext('Spend proposal not found'); + break; + ;; + case 'TX_NOT_PENDING': + body = gettext('The spend proposal is not pending'); + break; + ;; + case 'UPGRADE_NEEDED': + body = gettext('Please upgrade Copay to perform this action'); + break; + ;; + case 'WALLET_ALREADY_EXISTS': + body = gettext('Wallet already exists'); + break; + ;; + case 'WALLET_FULL': + body = gettext('Wallet is full'); + break; + ;; + case 'WALLET_NOT_COMPLETE': + body = gettext('Wallet is not complete'); + break; + ;; + case 'WALLET_NOT_FOUND': + body = gettext('Wallet not found'); + break; + ;; + } + } + + var msg = prefix + ( body ? ': ' + body : ''); + $log.warn("BWC ERROR:" + msg); + return msg; + }; + + root.cb = function (err,prefix, cb) { + return cb(root.msg(err, prefix)) + }; + + return root; + }); diff --git a/src/js/services/profileService.js b/src/js/services/profileService.js index bbb75921c..3d9c03373 100644 --- a/src/js/services/profileService.js +++ b/src/js/services/profileService.js @@ -1,6 +1,6 @@ 'use strict'; angular.module('copayApp.services') - .factory('profileService', function profileServiceFactory($rootScope, $location, $timeout, $filter, $log, lodash, storageService, bwcService, configService, notificationService, isChromeApp, isCordova, gettext, nodeWebkit) { + .factory('profileService', function profileServiceFactory($rootScope, $location, $timeout, $filter, $log, lodash, storageService, bwcService, configService, notificationService, isChromeApp, isCordova, gettext, nodeWebkit, bwsError) { var root = {}; @@ -11,22 +11,6 @@ angular.module('copayApp.services') root.getUtils = function() { return bwcService.getUtils(); }; - - root.errorCb = function(err, prefix, cb) { - var body = ''; - - prefix = gettext(prefix); - if (!err || !err.code) return cb(prefix); - - switch(err.code) { - case 'CONNECTION_ERROR': - body = gettext('Network connection error'); - ;; - } - - return cb(prefix + ( body ? ': ' + body : '')); - }; - root.formatAmount = function(amount) { var config = configService.getSync().wallet.settings; if (config.unitCode == 'sat') return amount; @@ -191,7 +175,7 @@ angular.module('copayApp.services') walletClient.createWallet('Personal Wallet', 'me', 1, 1, { network: 'livenet' }, function(err) { - if (err) return root.errorCb(err, 'Error creating wallet', cb); + if (err) return bwsError.cb(err, gettext('Error creating wallet'), cb); var p = Profile.create({ credentials: [JSON.parse(walletClient.export())], }); @@ -213,7 +197,7 @@ angular.module('copayApp.services') walletClient.createWallet(opts.name, opts.myName || 'me', opts.m, opts.n, { network: opts.networkName }, function(err, secret) { - if (err) return root.errorCb(err, 'Error creating wallet', cb); + if (err) return bwsError.cb(err, gettext('Error creating wallet'), cb); root.profile.credentials.push(JSON.parse(walletClient.export())); root.setWalletClients(); @@ -236,8 +220,19 @@ angular.module('copayApp.services') return cb(gettext('Could not join using the specified extended private key')); } } + + + try { + var walletData = this.getUtils().fromSecret(opts.secret); + if (root.walletClients[walletData.walletId]) + return cb(gettext('Cannot join the same wallet more that once')); + + } catch (ex) { + return cb(gettext('Bad wallet invitation')); + } + walletClient.joinWallet(opts.secret, opts.myName || 'me', function(err) { - if (err) return cb(err); + if (err) return bwsError.cb(err, gettext('Could not join wallet'), cb); root.profile.credentials.push(JSON.parse(walletClient.export())); root.setWalletClients(); From 7c65b9907fec706d7c75b8582389e03bf7184290 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Wed, 12 Aug 2015 11:16:34 -0300 Subject: [PATCH 111/158] better find code --- src/js/services/profileService.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/js/services/profileService.js b/src/js/services/profileService.js index 3d9c03373..d3bb65c1f 100644 --- a/src/js/services/profileService.js +++ b/src/js/services/profileService.js @@ -224,9 +224,13 @@ angular.module('copayApp.services') try { var walletData = this.getUtils().fromSecret(opts.secret); - if (root.walletClients[walletData.walletId]) - return cb(gettext('Cannot join the same wallet more that once')); + // check if exist + if (lodash.find(root.profile.credentials, { + 'walletId': walletData.walletId + })) { + return cb(gettext('Cannot join the same wallet more that once')); + } } catch (ex) { return cb(gettext('Bad wallet invitation')); } From 8231271bc63e148dc5dd511d73e72f57194e8c79 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Wed, 12 Aug 2015 11:18:03 -0300 Subject: [PATCH 112/158] New language: Russian --- i18n/po/ru.po | 1312 +++++++++++++++++++++++++++++++++ public/views/translators.html | 1 + src/js/controllers/index.js | 3 + 3 files changed, 1316 insertions(+) create mode 100644 i18n/po/ru.po diff --git a/i18n/po/ru.po b/i18n/po/ru.po new file mode 100644 index 000000000..84d411ed4 --- /dev/null +++ b/i18n/po/ru.po @@ -0,0 +1,1312 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Project-Id-Version: copay\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" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: copay\n" +"X-Crowdin-Language: ru\n" +"X-Crowdin-File: template.pot\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Last-Translator: cmgustavo83\n" +"Language-Team: Russian\n" +"Language: ru\n" +"PO-Revision-Date: 2015-08-12 06:59-0400\n" + +#: public/views/walletHome.html +msgid "(possible double spend)" +msgstr "(возможна двойная трата)" + +#: public/views/modals/txp-details.html +msgid "* A payment proposal can be deleted if 1) you are the creator, and no other copayer has signed, or 2) 24 hours have passed since the proposal was created." +msgstr "* Предложение платежа может быть удалено если 1) вы создали предложение, и никто его еще не подписал, или 2) прошло более 24 часов с момента создания предложения." + +#: public/views/backup.html +msgid "* You can safely install your backup on another device and use your wallet from multiple devices at the same time." +msgstr "* Вы можете безопасно восстановить свой бэкап на другом устройстве и использовать ваш кошелек с нескольких устройств одновременно." + +#: public/views/backup.html +msgid "A backup without its private key will allow the user to see the wallet balance, transactions, and create spend proposals. However, it will not be able to approve (sign) proposals." +msgstr "Бэкап без закрытого ключа позволит пользователю видеть баланс кошелька, транзакции, и создавать предложения платежей. Однако будет невозможно одобрить (подписать) предложения." + +#: public/views/splash.html +msgid "A multisignature bitcoin wallet" +msgstr "Bitcoin-кошелёк с мультиподписью" + +#: public/views/preferences.html +msgid "About Copay" +msgstr "О Copay" + +#: public/views/modals/txp-details.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Accept" +msgstr "Принять" + +#: public/views/includes/sidebar.html +msgid "Add wallet" +msgstr "Добавить кошелёк" + +#: public/views/paymentUri.html +#: public/views/modals/customized-amount.html +#: public/views/modals/paypro.html +msgid "Address" +msgstr "Адрес" + +#: public/views/preferences.html +msgid "Advanced" +msgstr "Подробнее" + +#: public/views/modals/advancedSend.html +msgid "Advanced Send" +msgstr "Расширенные настройки платежа" + +#: public/views/disclaimer.html +msgid "Agree" +msgstr "Соглашаюсь" + +#: public/views/preferencesAlias.html +msgid "Alias for {{index.walletName}}" +msgstr "Псевдоним для {{index.walletName}}" + +#: public/views/translators.html +msgid "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at" +msgstr "Любой вклад в перевод Copay приветствуются. Регистрируйтесь на crowdin.com и присоединяйтесь к проекту Copay на" + +#: public/views/splash.html +msgid "Already have a wallet?" +msgstr "Уже есть кошелек?" + +#: public/views/preferences.html +msgid "Alternative Currency" +msgstr "Альтернативная валюта" + +#: public/views/paymentUri.html +#: public/views/walletHome.html +#: public/views/includes/output.html +#: public/views/modals/customized-amount.html +msgid "Amount" +msgstr "Сумма" + +#: public/views/walletHome.html +#: public/views/modals/customized-amount.html +msgid "Amount in" +msgstr "Сумма в" + +#: public/views/preferencesLanguage.html +msgid "Applying changes" +msgstr "Применение изменений" + +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +msgid "Are you sure you want to delete this wallet?" +msgstr "Вы уверены, что хотите удалить этот кошелек?" + +#: public/views/walletHome.html +msgid "Available Balance" +msgstr "Доступный баланс" + +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Average confirmation time: {{fee.nbBlocks * 10}} minutes" +msgstr "Среднее время подтверждения: {{fee.nbBlocks * 10}} минут" + +#: public/views/create.html +#: public/views/join.html +msgid "BIP32 master extended private key" +msgstr "BIP32-мастер расширенного закрытого ключа" + +#: public/views/includes/topbar.html +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Back" +msgstr "Назад" + +#: public/views/preferences.html +msgid "Backup" +msgstr "Резервное копирование" + +#: src/js/controllers/backup.js +msgid "Backup created" +msgstr "Резервная копия создана" + +#: public/views/walletHome.html +msgid "Backup now" +msgstr "Создать резервную копию" + +#: public/views/backup.html +msgid "Backup options" +msgstr "Параметры резервной копии" + +#: public/views/walletHome.html +msgid "Before receiving funds, it is highly recommended you backup your wallet keys." +msgstr "До получения средств, настоятельно рекомендуется, чтобы вы сделали резервную копию ключей кошелька." + +#: public/views/preferences.html +msgid "Bitcoin Network Fee Policy" +msgstr "Политика комиссии в сети Bitcoin" + +#: public/views/paymentUri.html +msgid "Bitcoin URI is NOT valid!" +msgstr "Bitcoin URI не действителен!" + +#: public/views/walletHome.html +msgid "Bitcoin address" +msgstr "Адрес bitcoin" + +#: public/views/preferencesFee.html +msgid "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy." +msgstr "Биткойн-транзакции могут включать комиссию, собираемую майнерами в сети. Чем выше комиссия, тем больше стимул для майнера включить транзакцию в блок. Фактическая комиссия определяется на основе сетевой нагрузки и выбранной политики." + +#: public/views/modals/txp-details.html +msgid "Broadcast Payment" +msgstr "Отправить платёж" + +#: src/js/controllers/walletHome.js +msgid "Broadcasting Payment" +msgstr "Отправление платежа" + +#: src/js/controllers/walletHome.js +msgid "Broadcasting transaction" +msgstr "Создание транзакции" + +#: public/views/unsupported.html +msgid "Browser unsupported" +msgstr "Браузер не поддерживается" + +#: public/views/modals/txp-details.html +msgid "But not broadcasted. Try to send manually" +msgstr "Не отправлено. Попробуйте отправить вручную" + +#: public/views/includes/password.html +msgid "CANCEL" +msgstr "ОТМЕНА" + +#: public/views/copayers.html +#: public/views/walletHome.html +#: public/views/modals/confirmation.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Cancel" +msgstr "Отмена" + +#: public/views/modals/paypro.html +msgid "Certified by" +msgstr "Сертифицирован" + +#: public/views/preferencesAlias.html +msgid "Changing wallet alias only affects the local wallet name." +msgstr "Изменение псевдонима кошелька влияет только на название локального кошелька." + +#: src/js/controllers/walletHome.js +msgid "Check your Internet connection and try again" +msgstr "Check your Internet connection and try again" + +#: public/views/import.html +msgid "Choose a backup file from your computer" +msgstr "Выберите файл резервной копии с вашего компьютера" + +#: public/views/modals/wallets.html +msgid "Choose a wallet to send funds" +msgstr "Выберите кошелёк для отправки средств" + +#: public/views/includes/topbar.html +#: public/views/modals/advancedSend.html +#: public/views/modals/copayers.html +#: public/views/modals/customized-amount.html +#: public/views/modals/paypro.html +#: public/views/modals/scanner.html +#: public/views/modals/wallets.html +msgid "Close" +msgstr "Закрыть" + +#: public/views/preferences.html +msgid "Color" +msgstr "Цвет" + +#: public/views/preferencesAbout.html +msgid "Commit hash" +msgstr "Хэш версии" + +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Confirm" +msgstr "Подтвердить" + +#: public/views/modals/tx-details.html +msgid "Confirmations" +msgstr "Подтверждения" + +#: public/views/modals/copayers.html +msgid "Copayers" +msgstr "Совладельцы кошелька" + +#: src/js/controllers/backup.js +#: src/js/controllers/copayers.js +#: src/js/controllers/walletHome.js +msgid "Copied to clipboard" +msgstr "Скопировано в буфер обмена" + +#: public/views/backup.html +msgid "Copy backup to a safe place" +msgstr "Сохраните резервную копию в надежном месте" + +#: public/views/backup.html +msgid "Copy this text as it is to a safe place (notepad or email)" +msgstr "Скопируйте этот текст как есть (в блокнот или отправьте по электронной почте)" + +#: public/views/backup.html +msgid "Copy to clipboard" +msgstr "Скопировать в буфер обмена" + +#: src/js/controllers/walletHome.js +msgid "Could not accept payment. Check your Internet connection and try again" +msgstr "Could not accept payment. Check your Internet connection and try again" + +#: src/js/controllers/walletHome.js +msgid "Could not broadcast payment. Check your Internet connection and try again" +msgstr "Could not broadcast payment. Check your Internet connection and try again" + +#: src/js/controllers/walletHome.js +msgid "Could not connect wallet service. Check your Internet connection and your wallet service configuration." +msgstr "Не удалось подключиться к службе кошелька. Проверьте своё Интернет-подключение и конфигурацию службы кошелька." + +#: src/js/controllers/walletHome.js +msgid "Could not create address. Check your Internet connection and try again" +msgstr "Could not create address. Check your Internet connection and try again" + +#: src/js/controllers/walletHome.js +msgid "Could not create payment proposal" +msgstr "Не удалось создать предложение платежа" + +#: src/js/services/profileService.js +msgid "Could not create using the specified extended private key" +msgstr "Не удалось создать используя указанный расширенный закрытый ключ" + +#: src/js/controllers/import.js +msgid "Could not decrypt file, check your password" +msgstr "Не удалось расшифровать файл, проверьте ваш пароль" + +#: src/js/controllers/walletHome.js +msgid "Could not delete payment proposal. Check your Internet connection and try again" +msgstr "Could not delete payment proposal. Check your Internet connection and try again" + +#: src/js/controllers/walletHome.js +msgid "Could not fetch payment information" +msgstr "Не удалось получить информацию о платеже" + +#: public/views/walletHome.html +msgid "Could not fetch transaction history" +msgstr "Не удалось получить историю транзакций" + +#: src/js/services/profileService.js +msgid "Could not import. Check input file and password" +msgstr "Не удалось импортировать. Проверьте входной файл и пароль" + +#: src/js/services/profileService.js +msgid "Could not join using the specified extended private key" +msgstr "Не удалось присоединиться используя указанный расширенный закрытый ключ" + +#: src/js/controllers/join.js +msgid "Could not join wallet:" +msgstr "Не удалось присоединиться к кошельку:" + +#: src/js/controllers/walletHome.js +msgid "Could not recognize a valid Bitcoin QR Code" +msgstr "Не удалось распознать действительный Bitcoin QR-код" + +#: src/js/controllers/walletHome.js +msgid "Could not reject payment. Check your Internet connection and try again" +msgstr "Could not reject payment. Check your Internet connection and try again" + +#: src/js/controllers/walletHome.js +msgid "Could not send payment" +msgstr "Не удалось отправить платёж" + +#: public/views/walletHome.html +msgid "Could not update Wallet" +msgstr "Не удалось обновить кошелёк" + +#: public/views/walletHome.html +msgid "Create" +msgstr "Создать" + +#: public/views/add.html +#: public/views/create.html +msgid "Create new wallet" +msgstr "Создать новый кошелёк" + +#: public/views/create.html +msgid "Create {{requiredCopayers}}-of-{{totalCopayers}} wallet" +msgstr "Создать кошелёк {{requiredCopayers}}-из-{{totalCopayers}}" + +#: public/views/includes/sidebar.html +msgid "Create, join or import" +msgstr "Создать, присоединиться или импортировать" + +#: public/views/modals/txp-details.html +msgid "Created by" +msgstr "Создан" + +#: public/views/splash.html +msgid "Creating Profile..." +msgstr "Создание профиля..." + +#: public/views/create.html +msgid "Creating Wallet..." +msgstr "Создание кошелька..." + +#: src/js/controllers/walletHome.js +msgid "Creating transaction" +msgstr "Создание транзакции" + +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB" +msgstr "Текущая ставка комиссии для этой политики: {{fee.feePerKBUnit}}/kiB" + +#: public/views/modals/tx-details.html +msgid "Date" +msgstr "Дата" + +#: public/views/modals/txp-details.html +msgid "Delete Payment Proposal" +msgstr "Удалить предложение платежа" + +#: public/views/preferencesAdvanced.html +msgid "Delete Wallet" +msgstr "Удалить кошелёк" + +#: public/views/copayers.html +msgid "Delete it and create a new one" +msgstr "Удалите и создайте заново" + +#: public/views/preferencesDeleteWallet.html +msgid "Delete wallet" +msgstr "Удалить кошелёк" + +#: src/js/controllers/walletHome.js +msgid "Deleting payment" +msgstr "Удаление платежа" + +#: public/views/modals/customized-amount.html +#: public/views/modals/paypro.html +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Details" +msgstr "Подробности" + +#: public/views/preferences.html +msgid "Disabled" +msgstr "Выключено" + +#: public/views/backup.html +msgid "Do not include private key in backup" +msgstr "Не включать в резервную копию закрытый ключ" + +#: public/views/translators.html +msgid "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." +msgstr "Не видите свой язык на Crowdin? Свяжитесь с владельцем по Crowdin! Мы с удовольствием поддержим ваш язык." + +#: public/views/walletHome.html +msgid "Download CSV file" +msgstr "Скачать CSV-файл" + +#: public/views/backup.html +msgid "Download backup" +msgstr "Скачать резервную копию" + +#: src/js/services/feeService.js +msgid "Economy" +msgstr "Экономичный" + +#: public/views/preferences.html +msgid "Email Notifications" +msgstr "Email-уведомления" + +#: public/views/preferences.html +msgid "Encrypt Private Key" +msgstr "Зашифровать закрытый ключ" + +#: src/js/controllers/backup.js +msgid "Encrypted backup file saved" +msgstr "Зашифрованный файл резервной копии сохранен" + +#: public/views/includes/password.html +msgid "Enter your password" +msgstr "Введите свой пароль" + +#: src/js/services/profileService.js +msgid "Error creating wallet" +msgstr "Ошибка создания кошелька" + +#: src/js/services/profileService.js +msgid "Error creating wallet. Check your internet connection" +msgstr "Ошибка создания кошелька. Проверьте своё Интернет-подключение" + +#: src/js/services/profileService.js +msgid "Error importing wallet:" +msgstr "Ошибка импорта кошелька:" + +#: public/views/modals/paypro.html +#: public/views/modals/txp-details.html +msgid "Expires" +msgstr "Срок действия" + +#: public/views/backup.html +msgid "Failed to create backup" +msgstr "Не удалось создать резервную копию" + +#: src/js/controllers/importLegacy.js +msgid "Failed to import wallets" +msgstr "Не удалось импортировать кошельки" + +#: public/views/create.html +msgid "Family vacation funds" +msgstr "Средства на семейный отпуск" + +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Fee" +msgstr "Комиссия" + +#: public/views/modals/advancedSend.html +msgid "Fee Policy" +msgstr "Политика комиссии" + +#: public/views/walletHome.html +msgid "Fee policy for this transaction" +msgstr "Fee policy for this transaction" + +#. Get information of payment if using Payment Protocol +#: src/js/controllers/walletHome.js +msgid "Fetching Payment Information" +msgstr "Извлечение информации платежа" + +#: public/views/translators.html +msgid "French" +msgstr "французский" + +#: src/js/services/notificationsService.js +msgid "Funds received" +msgstr "Принят платёж" + +#: public/views/splash.html +msgid "GET STARTED" +msgstr "НАЧАТЬ" + +#: public/views/modals/customized-amount.html +msgid "Generate QR Code" +msgstr "Сгенерировать QR-код" + +#: public/views/walletHome.html +msgid "Generate new address" +msgstr "Создать новый адрес" + +#: public/views/walletHome.html +msgid "Generating .csv file..." +msgstr "Создание .сsv-файла..." + +#: public/views/translators.html +msgid "German" +msgstr "немецкий" + +#: public/views/modals/wallets.html +msgid "Getting address for wallet {{selectedWalletName}} ..." +msgstr "Получение адреса для кошелька {{selectedWalletName}}..." + +#: public/views/preferences.html +msgid "Global settings" +msgstr "Глобальные настройки" + +#: public/views/disclaimer.html +msgid "Go back" +msgstr "Вернуться" + +#: public/views/translators.html +msgid "Greek" +msgstr "греческий" + +#: public/views/import.html +msgid "Have a Backup from Copay v0.9?" +msgstr "Есть резервная копия из Copay v0.9?" + +#: public/views/backup.html +#: public/views/create.html +#: public/views/join.html +#: public/views/walletHome.html +msgid "Hide advanced options" +msgstr "Hide advanced options" + +#: src/js/controllers/index.js +msgid "History" +msgstr "История" + +#: src/js/controllers/index.js +msgid "Home" +msgstr "Главная" + +#: public/views/disclaimer.html +msgid "I affirm that I have read, understood, and agree with these terms." +msgstr "Я подтверждаю, что я прочитал(а), понял(а) и согласен(а) с настоящими условиями." + +#: public/views/create.html +#: public/views/join.html +msgid "If not given, a secure key will be generated" +msgstr "Если не указан, безопасный ключ будет создан" + +#: public/views/importLegacy.html +msgid "Import" +msgstr "Импорт" + +#: public/views/import.html +#: public/views/splash.html +msgid "Import backup" +msgstr "Импорт резервной копии" + +#: public/views/importLegacy.html +msgid "Import from the Cloud?" +msgstr "Импортировать из облака?" + +#: public/views/import.html +msgid "Import here" +msgstr "Импортировать сюда" + +#: public/views/add.html +msgid "Import wallet" +msgstr "Импорт кошелька" + +#: public/views/import.html +msgid "Importing wallet..." +msgstr "Импорт кошелька..." + +#: public/views/importLegacy.html +msgid "Importing..." +msgstr "Импорт..." + +#: public/views/walletHome.html +msgid "Invalid" +msgstr "Недействительно" + +#: src/js/controllers/copayers.js +msgid "Invitation to share a Copay Wallet" +msgstr "Приглашение присоединиться к кошельку Copay" + +#: public/views/translators.html +msgid "Italian" +msgstr "итальянский" + +#: public/views/translators.html +msgid "Japanese" +msgstr "японский" + +#: public/views/create.html +#: public/views/join.html +msgid "John" +msgstr "John" + +#: public/views/join.html +msgid "Join" +msgstr "Присоединиться" + +#: src/js/controllers/copayers.js +msgid "Join my Copay wallet. Here is the invitation code: {{secret}} You can download Copay for your phone or desktop at https://copay.io" +msgstr "Присоединяйтесь к моему кошельку Copay. Вот код приглашения: {{secret}} Вы можете скачать Copay для своего телефона или настольного компьютера на https://copay.io" + +#: public/views/add.html +msgid "Join shared wallet" +msgstr "Присоединиться к общему кошельку" + +#: public/views/join.html +msgid "Joining Wallet..." +msgstr "Присоединение к кошельку..." + +#: public/views/preferences.html +msgid "Language" +msgstr "Язык" + +#: public/views/importLegacy.html +msgid "Learn more about Wallet Migration" +msgstr "Узнайте больше о переносе кошелька" + +#: public/views/paymentUri.html +msgid "Make a payment to" +msgstr "Сделать платёж" + +#: public/views/create.html +#: public/views/join.html +msgid "Master extended private key" +msgstr "Мастер расширенного закрытого ключа" + +#: public/views/includes/copayers.html +#: public/views/modals/copayers.html +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Me" +msgstr "Я" + +#: public/views/modals/paypro.html +msgid "Memo" +msgstr "Памятка" + +#: public/views/modals/tx-details.html +msgid "Merchant message" +msgstr "Сообщение от продавца" + +#: public/views/paymentUri.html +msgid "Message" +msgstr "Сообщение" + +#: public/views/walletHome.html +msgid "More" +msgstr "Подробнее" + +#: public/views/walletHome.html +msgid "Moved" +msgstr "Перемещено" + +#: public/views/walletHome.html +msgid "Multisignature wallet" +msgstr "Кошелёк с мультиподписью" + +#: public/views/walletHome.html +msgid "My Bitcoin address" +msgstr "Мой адрес Bitcoin" + +#: public/views/paymentUri.html +msgid "Network" +msgstr "Сеть" + +#: src/js/services/notificationsService.js +msgid "New Payment Proposal" +msgstr "Новое предложение платежа" + +#: public/views/walletHome.html +msgid "No Private key" +msgstr "Нет закрытого ключа" + +#: public/views/walletHome.html +msgid "No transactions yet" +msgstr "Транзакций пока не было" + +#: src/js/services/feeService.js +msgid "Normal" +msgstr "Обычный" + +#: public/views/walletHome.html +#: public/views/modals/customized-amount.html +msgid "Not valid" +msgstr "Не действительно" + +#: public/views/walletHome.html +#: public/views/includes/output.html +#: public/views/modals/tx-details.html +msgid "Note" +msgstr "Примечание" + +#: public/views/includes/password.html +msgid "OK" +msgstr "Хорошо" + +#: public/views/modals/tx-status.html +msgid "OKAY" +msgstr "ХОРОШО" + +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Participants" +msgstr "Участники" + +#: public/views/import.html +#: public/views/importLegacy.html +msgid "Password" +msgstr "Пароль" + +#: public/views/includes/password.html +msgid "Password cannot be recovered. Be sure to write it down" +msgstr "Пароль не может быть восстановлен. Обязательно запишите его" + +#: src/js/services/profileService.js +msgid "Password needed" +msgstr "Нужен пароль" + +#: src/js/controllers/password.js +msgid "Passwords do not match" +msgstr "Пароли не совпадают" + +#: public/views/join.html +msgid "Paste invitation here" +msgstr "Вставьте приглашение сюда" + +#: public/views/import.html +msgid "Paste the backup plain text code" +msgstr "Вставьте код резервной копии обычным текстом" + +#: public/views/modals/paypro.html +msgid "Pay To" +msgstr "Отправить платёж" + +#: public/views/modals/tx-status.html +msgid "Payment Accepted" +msgstr "Платёж принят" + +#: public/views/modals/txp-details.html +msgid "Payment Proposal" +msgstr "Предложение платежа" + +#: public/views/modals/tx-status.html +msgid "Payment Proposal Created" +msgstr "Создано предложение платежа" + +#: src/js/services/notificationsService.js +msgid "Payment Proposal Rejected" +msgstr "Предложение платежа отклонено" + +#: src/js/services/notificationsService.js +msgid "Payment Proposal Rejected by Copayer" +msgstr "Предложение платежа отклонено совладельцем кошелька" + +#: src/js/services/notificationsService.js +msgid "Payment Proposal Signed by Copayer" +msgstr "Предложение платежа подписано совладельцем кошелька" + +#: public/views/walletHome.html +msgid "Payment Proposals" +msgstr "Предложение платежа" + +#: src/js/controllers/walletHome.js +msgid "Payment Protocol not supported on Chrome App" +msgstr "Платёжный протокол не поддерживается в приложении Chrome" + +#: public/views/modals/tx-status.html +msgid "Payment Rejected" +msgstr "Платёж отклонён" + +#: public/views/modals/tx-status.html +#: src/js/services/notificationsService.js +msgid "Payment Sent" +msgstr "Платёж отправлен" + +#: public/views/modals/txp-details.html +msgid "Payment accepted..." +msgstr "Платёж принят..." + +#: public/views/modals/txp-details.html +msgid "Payment details" +msgstr "Детали платежа" + +#: public/views/modals/txp-details.html +msgid "Payment finally rejected" +msgstr "Платёж окончательно отклонён" + +#: public/views/modals/paypro.html +msgid "Payment request" +msgstr "Запрос платежа" + +#: public/views/modals/txp-details.html +msgid "Payment sent!" +msgstr "Платёж отправлен!" + +#: public/views/walletHome.html +msgid "Payment to" +msgstr "Платёж" + +#: public/views/walletHome.html +msgid "Pending Confirmation" +msgstr "Pending Confirmation" + +#: public/views/preferencesDeleteWallet.html +msgid "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" +msgstr "Окончательно удалить этот кошелёк. ЭТО ДЕЙСТВИЕ НЕ МОЖЕТ БЫТЬ ОТМЕНЕНО" + +#: public/views/create.html +msgid "Personal Wallet" +msgstr "Личный кошелёк" + +#: src/js/controllers/create.js +#: src/js/controllers/join.js +msgid "Please enter the required fields" +msgstr "Пожалуйста, заполните необходимые поля" + +#: src/js/controllers/import.js +msgid "Please, select your backup file" +msgstr "Пожалуйста, выберите ваш файл резервной копии" + +#: public/views/translators.html +msgid "Portuguese" +msgstr "португальский" + +#: public/views/walletHome.html +msgid "Preferences" +msgstr "Предпочтения" + +#: src/js/controllers/backup.js +msgid "Preparing backup..." +msgstr "Подготовка резервной копии..." + +#: src/js/services/feeService.js +msgid "Priority" +msgstr "Приоритетный" + +#: public/views/modals/customized-amount.html +msgid "QR Code" +msgstr "QR-код" + +#: public/views/modals/scanner.html +msgid "QR-Scanner" +msgstr "QR-сканер" + +#: src/js/controllers/index.js +msgid "Receive" +msgstr "Получить" + +#: public/views/walletHome.html +msgid "Received" +msgstr "Получен" + +#: public/views/includes/output.html +#: public/views/includes/transaction.html +msgid "Recipients" +msgstr "Получатели" + +#: public/views/walletHome.html +msgid "Reconnecting to Wallet Service..." +msgstr "Повторное подключение к службе кошелька..." + +#: public/views/walletHome.html +msgid "Recreate" +msgstr "Создать заново" + +#: public/views/walletHome.html +msgid "Recreating Wallet..." +msgstr "Воссоздаю кошелёк..." + +#: public/views/modals/txp-details.html +msgid "Reject" +msgstr "Отклонить" + +#: src/js/controllers/walletHome.js +msgid "Rejecting payment" +msgstr "Отклонение платежа" + +#: public/views/preferencesAbout.html +msgid "Release Information" +msgstr "Расскрыть информацию" + +#: public/views/backup.html +#: public/views/includes/password.html +msgid "Repeat password" +msgstr "Повторите пароль" + +#: public/views/walletHome.html +#: public/views/modals/customized-amount.html +msgid "Request a specific amount" +msgstr "Запросить определенную сумму" + +#: public/views/import.html +#: public/views/join.html +msgid "Required" +msgstr "Необходимо" + +#: public/views/splash.html +msgid "Retrying..." +msgstr "Повторная попытка..." + +#: public/views/includes/password.html +msgid "SET" +msgstr "УСТАНОВИТЬ" + +#: public/views/walletHome.html +msgid "SKIP BACKUP" +msgstr "ПРОПУСТИТЬ РЕЗЕРВНОЕ КОПИРОВАНИЕ" + +#: public/views/preferencesAlias.html +#: public/views/preferencesBwsUrl.html +#: public/views/preferencesEmail.html +msgid "Save" +msgstr "Сохранить" + +#: public/views/preferencesEmail.html +msgid "Saving preferences..." +msgstr "Сохранение настроек..." + +#: src/js/services/notificationsService.js +msgid "Scan Finished" +msgstr "Сканирование завершено" + +#: public/views/preferencesAdvanced.html +msgid "Scan addresses for funds" +msgstr "Сканировать адреса для средств" + +#: public/views/walletHome.html +msgid "Scan status finished with error" +msgstr "Сканирование завершено с ошибкой" + +#: public/views/walletHome.html +msgid "Scanning Wallet funds..." +msgstr "Сканирование средств кошелька..." + +#: public/views/modals/tx-details.html +msgid "See it on the blockchain" +msgstr "Посмотреть на blockchain" + +#: public/views/import.html +msgid "Select a backup file" +msgstr "Выберите файл резервной копии" + +#: public/views/paymentUri.html +msgid "Select a wallet" +msgstr "Выберите кошелёк" + +#: public/views/create.html +msgid "Select required number of signatures" +msgstr "Выберите необходимое количество подписей" + +#: public/views/create.html +msgid "Select total number of copayers" +msgstr "Выберите общее количество совладельцев кошелька" + +#: public/views/walletHome.html +#: public/views/includes/transaction.html +#: src/js/controllers/index.js +msgid "Send" +msgstr "Отправить" + +#: public/views/walletHome.html +msgid "Send All" +msgstr "Отправить все" + +#: public/views/backup.html +#: public/views/preferencesLogs.html +msgid "Send by email" +msgstr "Отправить по email" + +#: public/views/walletHome.html +msgid "Sent" +msgstr "Отправлено" + +#: public/views/importLegacy.html +msgid "Server" +msgstr "Сервер" + +#: public/views/preferencesAbout.html +msgid "Session log" +msgstr "Журнал сеанса" + +#: public/views/backup.html +msgid "Set up a Password for your backup" +msgstr "Выберите пароль для вашей резервной копии" + +#: public/views/includes/password.html +msgid "Set up a password" +msgstr "Выберите пароль" + +#: public/views/preferencesEmail.html +msgid "Setting up email notifications could weaken your privacy, if the wallet service provider is compromised. Information available to an attacker would include your wallet addresses and its balance, but no more." +msgstr "Включение email-уведомлений может ослабить вашу конфиденциальность, если поставщик услуг кошелька будет скомпрометирован. Информация доступная злоумышленнику будет включать адреса вашего кошелька и его баланс, но больше ничего." + +#: public/views/walletHome.html +msgid "Share address" +msgstr "Отправить адрес" + +#: public/views/copayers.html +msgid "Share invitation" +msgstr "Отправить приглашение" + +#: public/views/copayers.html +msgid "Share this invitation with your copayers" +msgstr "Отправьте приглашение совладельцам кошелька" + +#: public/views/walletHome.html +msgid "Share this wallet address to receive payments. To protect your privacy, new addresses are generated automatically once you use them." +msgstr "Поделитесь этим адресом кошелька получения платежей. Для защиты вашей конфиденциальности, новые адреса создаются автоматически как только вы их использовали." + +#: public/views/create.html +msgid "Shared Wallet" +msgstr "Общий бумажник" + +#: public/views/backup.html +#: public/views/create.html +#: public/views/join.html +#: public/views/walletHome.html +msgid "Show advanced options" +msgstr "Show advanced options" + +#: src/js/controllers/walletHome.js +msgid "Signing payment" +msgstr "Подписание платежа" + +#: src/js/controllers/walletHome.js +msgid "Signing transaction" +msgstr "Подписание транзакции" + +#: public/views/translators.html +msgid "Spanish" +msgstr "испанский" + +#: src/js/controllers/copayers.js +#: src/js/controllers/import.js +#: src/js/controllers/preferencesDelete.js +msgid "Success" +msgstr "Успешно" + +#: public/views/walletHome.html +msgid "Tap to retry" +msgstr "Нажмите для повторения" + +#: public/views/disclaimer.html +#: public/views/preferencesAbout.html +msgid "Terms of Use" +msgstr "Условия использования" + +#: public/views/create.html +msgid "Testnet" +msgstr "Testnet" + +#: src/js/controllers/walletHome.js +msgid "The payment was created but could not be completed. Please try again from home screen" +msgstr "Платёж был создан, но не может быть завершен. Пожалуйста, попробуйте снова с главной страницы" + +#: src/js/controllers/walletHome.js +msgid "The payment was created but could not be signed. Please try again from home screen." +msgstr "Платёж был создан, но не может быть подписан. Пожалуйста, попробуйте снова с главной страницы." + +#: public/views/modals/txp-details.html +msgid "The payment was removed by creator" +msgstr "Платёж был удалён его создателем" + +#: src/js/controllers/walletHome.js +msgid "The payment was signed but could not be broadcasted. Please try again from home screen." +msgstr "Платёж был подписан, но не может быть отправлен. Пожалуйста, попробуйте снова с главной страницы." + +#: public/views/backup.html +msgid "The private key for this wallet is encrypted. Exporting a backup will keep the private key encrypted in the backup archive." +msgstr "Закрытый ключ для этого кошелька зашифрован. Экспорт резервной копии будет содержать закрытый ключ в зашифрованном виде в архиве резервой копии." + +#: public/views/disclaimer.html +msgid "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." +msgstr "Программное обеспечение, которое вы собираетесь использовать, функционирует как цифровой кошелёк - бесплатный, с открытым исходным кодом и мультиподписью. Программное обеспечение не является счетом, где BitPay или других третьих сторон выступают в качестве финансовых посредников или хранителей ваших биткойнов. Хотя программное обеспечение прошло бета-тестирования и продолжает улучшаться путем обратной связи с пользователями открытого исходного кода и сообществом разработчиков, мы не можем гарантировать, что не будет никаких ошибок в программном обеспечении. Вы признаете, что используете это программное обеспечение по вашему собственному усмотрению и в соответствии со всеми применимыми законами. Вы ответственны за хранение ваших паролей, пары закрытых ключей, ПИН-кодов и любых других кодов, которые вы используете для доступа к программному обеспечению. ЕСЛИ ВЫ ПОТЕРЯЕТЕ ДОСТУП К ВАШЕМУ КОШЕЛЬКУ COPAY ИЛИ ВАШИМ ЗАШИФРОВАННЫМ ЗАКРЫТЫМ КЛЮЧАМ, И У ВАС НЕ ХРАНИЛАСЬ ОТДЕЛЬНО РЕЗЕРВНАЯ КОПИЯ ВАШЕГО БУМАЖНИКА И СООТВЕТСТВУЮЩИЙ ПАРОЛЬ, ВЫ ПРИЗНАЕТЕ И СОГЛАШАЕТЕСЬ, ЧТО ЛЮБЫЕ БИТКОЙНЫ, КОТОРЫЕ СВЯЗАННЫ С ЭТИМ КОШЕЛЬКОМ COPAY СТАНУТ НЕДОСТУПНЫМИ. Все транзакции являются необратимыми. Авторы программного обеспечения, работников и связанные лица Bitpay, владельцы авторских прав и BitPay, Inc. не могут восстановить ваши закрытые ключи или пароли, если вы потеряете или забудете их и не могут гарантировать подтверждение транзакций, поскольку они не имеют контроля над сетью Bitcoin. В максимальной степени, разрешенной законом это программное обеспечение предоставляется «как есть», и никаких заверений или гарантий не может быть дано - любого рода, явных или подразумеваемых, включая, но не ограничиваясь гарантии товарности, пригодности или конкретной цели и ненарушения. Вы принимаете на себя любые и все виды рисков, связанные с использованием программного обеспечения. Ни при каком случае авторы программного обеспечения, работников и связанные лица Bitpay, владельцы авторских прав, или BitPay, Inc. не несут ответственности за любые претензии, убытки или иной ответственности, будь то в действие контракта, правонарушения, или иным образом, проистекающей из, вне или в связи с программным обеспечением. Мы оставляем за собой право время от времени изменять этот отказ." + +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +msgid "The wallet \"{{walletName}}\" was deleted" +msgstr "Кошелёк «{{walletName}}» был удален" + +#: public/views/paymentUri.html +msgid "There are no wallets to make this payment" +msgstr "Нет кошельков, чтобы осуществить этот платёж" + +#: src/js/controllers/import.js +msgid "There is an error in the form" +msgstr "В форме ошибка" + +#: public/views/modals/tx-details.html +msgid "This transaction has become invalid; possibly due to a double spend attempt." +msgstr "Эта транзакция стала недействительной; возможно из-за попытки двойной траты." + +#: public/views/walletHome.html +msgid "This wallet is not registered at the given Bitcore Wallet Service (BWS). You can recreate it from the local information." +msgstr "Это кошелёк не зарегистрирован в данной службе кошелька Bitcore (BWS). Вы можете воссоздать его из локальной информации." + +#: public/views/modals/txp-details.html +msgid "Time" +msgstr "Время" + +#: public/views/walletHome.html +#: public/views/includes/output.html +#: public/views/includes/transaction.html +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "To" +msgstr "Кому" + +#: public/views/includes/output.html +msgid "Total" +msgstr "Итого" + +#: public/views/walletHome.html +msgid "Total Locked Balance" +msgstr "Всего заблокировано средств" + +#: public/views/modals/tx-details.html +msgid "Transaction" +msgstr "Транзакция" + +#: public/views/translators.html +msgid "Translation Credits" +msgstr "Благодарность за перевод" + +#: public/views/preferencesAbout.html +msgid "Translators" +msgstr "Переводчики" + +#: src/js/controllers/walletHome.js +msgid "Unable to send transaction proposal" +msgstr "Не удается отправить предложение транзакции" + +#: public/views/walletHome.html +#: public/views/modals/tx-details.html +msgid "Unconfirmed" +msgstr "Неподтверждено" + +#: public/views/preferences.html +msgid "Unit" +msgstr "Единица измерения" + +#: public/views/walletHome.html +msgid "Unsent transactions" +msgstr "Неотправленные транзакции" + +#: public/views/modals/paypro.html +msgid "Untrusted" +msgstr "Ненадежно" + +#: public/views/walletHome.html +msgid "Updating Wallet..." +msgstr "Обновление кошелька..." + +#: public/views/preferences.html +#: public/views/walletHome.html +msgid "Use Unconfirmed Funds" +msgstr "Use Unconfirmed Funds" + +#: public/views/modals/txp-details.html +msgid "Uses unconfirmed funds" +msgstr "Uses unconfirmed funds" + +#: public/views/preferencesAbout.html +msgid "Version" +msgstr "Версия" + +#: public/views/backup.html +msgid "View backup" +msgstr "Просмотр резервной копии" + +#: public/views/walletHome.html +msgid "WARNING: Backup needed" +msgstr "ПРЕДУПРЕЖДЕНИЕ: Необходимо резервное копирование" + +#: public/views/walletHome.html +msgid "WARNING: Wallet not registered" +msgstr "ПРЕДУПРЕЖДЕНИЕ: Кошелёк не зарегистрирован" + +#: public/views/splash.html +msgid "WELCOME TO COPAY" +msgstr "ДОБРО ПОЖАЛОВАТЬ В COPAY" + +#: public/views/copayers.html +msgid "Waiting for copayers" +msgstr "Ожидание совладельцев кошелька" + +#: public/views/copayers.html +msgid "Waiting..." +msgstr "Ожидание..." + +#: public/views/preferences.html +msgid "Wallet Alias" +msgstr "Псевдоним кошелька" + +#: src/js/services/profileService.js +msgid "Wallet Already Imported:" +msgstr "Кошелек уже импортирован:" + +#: public/views/join.html +msgid "Wallet Invitation" +msgstr "Приглашение присоединиться к кошельку" + +#: public/views/join.html +msgid "Wallet Invitation is not valid!" +msgstr "Приглашение присоединиться к кошельку не действительно!" + +#: src/js/services/profileService.js +msgid "Wallet already exists" +msgstr "Кошелёк уже существует" + +#: public/views/copayers.html +msgid "Wallet incomplete and broken" +msgstr "Сбой: кошелёк не работает" + +#: public/views/create.html +msgid "Wallet name" +msgstr "Имя кошелька" + +#: src/js/controllers/walletHome.js +msgid "Wallet service timed out. Check your Internet connection and your wallet service configuration." +msgstr "Истекло время ожидания службы кошелька. Проверьте своё Интернет-подключение и конфигурацию службы кошелька." + +#: public/views/preferencesDeleteWallet.html +msgid "Warning!" +msgstr "Предупреждение!" + +#: src/js/services/profileService.js +msgid "Wrong password" +msgstr "Неверный пароль" + +#: public/views/modals/confirmation.html +msgid "Yes" +msgstr "Да" + +#: public/views/walletHome.html +msgid "You do not have a wallet" +msgstr "У вас нет кошелька" + +#: public/views/backup.html +#: public/views/import.html +msgid "Your backup password" +msgstr "Ваш пароль резервной копии" + +#: public/views/create.html +#: public/views/join.html +msgid "Your nickname" +msgstr "Ваше имя" + +#: public/views/includes/password.html +msgid "Your password" +msgstr "Ваш пароль" + +#: public/views/importLegacy.html +msgid "Your profile password" +msgstr "Пароль вашего профиля" + +#: src/js/controllers/import.js +msgid "Your wallet has been imported correctly" +msgstr "Ваш кошелёк был импортирован правильно" + +#: public/views/preferencesEmail.html +msgid "email for wallet notifications" +msgstr "адрес email для уведомлений кошелька" + +#: public/views/walletHome.html +msgid "locked by pending payments" +msgstr "заблокировано в ожидании платежей" + +#: public/views/copayers.html +#: public/views/walletHome.html +#: public/views/includes/sidebar.html +msgid "of" +msgstr "из" + +#: public/views/walletHome.html +msgid "optional" +msgstr "необязательно" + +#: public/views/preferences.html +msgid "settings" +msgstr "настройки" + +#: public/views/walletHome.html +msgid "too long!" +msgstr "слишком долго!" + +#: src/js/controllers/walletHome.js +msgid "{{fee}} will be discounted for bitcoin networking fees" +msgstr "{{fee}} будет снижена до уровня комиссий сети" + +#: src/js/controllers/importLegacy.js +msgid "{{len}} wallets imported. Funds scanning in progress. Hold on to see updated balance" +msgstr "{{len}} кошельки импортированы. Идёт сканирование средств. Дождитесь обновлённого баланса" + diff --git a/public/views/translators.html b/public/views/translators.html index 535d0d9e6..39187d299 100644 --- a/public/views/translators.html +++ b/public/views/translators.html @@ -21,6 +21,7 @@
    • johnblazakisGreek
    • chek2fire1Greek
    • cmgustavo83Spanish
    • +
    • lax5Russian
    diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 0963c7a7d..c1f993e2d 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -62,6 +62,9 @@ angular.module('copayApp.controllers').controller('indexController', function($r }, { name: '日本語', isoCode: 'ja', + }, { + name: 'Pусский', + isoCode: 'ru', }]; self.feeOpts = feeService.feeOpts; From ead4c403d4e29a69afdac19ca273ff6b7df605bd Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Wed, 12 Aug 2015 11:39:55 -0300 Subject: [PATCH 113/158] rm translate --- public/views/walletHome.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 12d3bcba6..14a38b4da 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -76,7 +76,7 @@
    - {{index.updateError}} + {{index.updateError}}
    From d61206d2c09970f251f674a62aa7aee62fa40e61 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Wed, 12 Aug 2015 11:49:13 -0300 Subject: [PATCH 114/158] fix parameters --- src/js/controllers/walletHome.js | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 9b19db9c2..24507e51c 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -175,7 +175,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi $scope.alternativeAmountStr = tx.alternativeAmountStr; $scope.copayers = copayers $scope.copayerId = fc.credentials.copayerId; - $scope.canSign= fc.canSign(); + $scope.canSign = fc.canSign(); $scope.loading = null; $scope.color = fc.backgroundColor; refreshUntilItChanges = false; @@ -259,7 +259,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.setOngoingProcess(); $scope.loading = false; if (err) { - $scope.error = bwsError.msg('Could not broadcast payment'); + $scope.error = bwsError.msg(err, gettext('Could not broadcast payment')); $scope.$digest(); } else { $log.debug('Transaction signed and broadcasted') @@ -288,7 +288,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.setOngoingProcess(); $scope.loading = false; if (err) { - $scope.error = bwsError.msg(err,gettext('Could not reject payment')); + $scope.error = bwsError.msg(err, gettext('Could not reject payment')); $scope.$digest(); } else { $modalInstance.close(txpr); @@ -327,7 +327,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.setOngoingProcess(); $scope.loading = false; if (err) { - $scope.error = bwsError.msg(gettext('Could not broadcast payment')); + $scope.error = bwsError.msg(err, gettext('Could not broadcast payment')); $scope.$digest(); } else { @@ -397,9 +397,9 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi addressService.getAddress(fc.credentials.walletId, forceNew, function(err, addr) { self.generatingAddress = false; - if (err) { + if (err) { self.addrError = err; - } else { + } else { if (addr) self.addr[fc.credentials.walletId] = addr; } @@ -657,7 +657,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi var prefix = fc.credentials.m > 1 ? gettext('Could not create payment proposal') : gettext('Could not send payment'); - this.error = bwsError.msg(err, prefix); + this.error = bwsError.msg(err, prefix); $timeout(function() { $scope.$digest(); @@ -691,7 +691,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi this.submitForm = function() { var fc = profileService.focusedClient; var unitToSat = this.unitToSatoshi; - + if (isCordova && this.isWindowsPhoneApp) { this.hideAddress = false; this.hideAmount = false; @@ -722,7 +722,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi feeService.getCurrentFeeValue(self.currentSendFeeLevel, function(err, feePerKb) { if (err) $log.debug(err); -console.log('[walletHome.js.757:amount:]',amount, feePerKb); //TODO + console.log('[walletHome.js.757:amount:]', amount, feePerKb); //TODO fc.sendTxProposal({ toAddress: address, amount: amount, @@ -1046,7 +1046,7 @@ console.log('[walletHome.js.757:amount:]',amount, feePerKb); //TODO }; this.confirmDialog = function(msg, cb) { - if (isCordova) { + if (isCordova) { navigator.notification.confirm( msg, function(buttonIndex) { @@ -1074,11 +1074,11 @@ console.log('[walletHome.js.757:amount:]',amount, feePerKb); //TODO fee: feeStr }); - this.confirmDialog(msg, function(confirmed){ - if (confirmed) + this.confirmDialog(msg, function(confirmed) { + if (confirmed) self._doSendAll(amount); }); - }; + }; /* Start setup */ From 5ad2532593d9a87785a046d6095b3c72eb0108c9 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Wed, 12 Aug 2015 11:52:04 -0300 Subject: [PATCH 115/158] fix parameters2 --- src/js/controllers/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 00a6c50d7..e574db27c 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -243,7 +243,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.updateError = false; return fc.getStatus(function(err, ret) { if (err) { - self.updateError = bwsError.msg(err, 'Could not update Wallet'); + self.updateError = bwsError.msg(err, gettext('Could not update Wallet')); } else { if (!opts.quiet) self.setOngoingProcess('scanning', ret.wallet.scanning); From 1cb5687d0ad70be1e202b5b2ea0fa802388891e7 Mon Sep 17 00:00:00 2001 From: dabura667 Date: Thu, 13 Aug 2015 00:50:19 +0900 Subject: [PATCH 116/158] Add Russian --- i18n/docs/updateinfo_en.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/i18n/docs/updateinfo_en.txt b/i18n/docs/updateinfo_en.txt index 96fb0d7f4..7827597d5 100644 --- a/i18n/docs/updateinfo_en.txt +++ b/i18n/docs/updateinfo_en.txt @@ -1,5 +1,4 @@ * Improved fee handling and fee notifications * Added advanced sending options -* Create transaction proposals with multiple destinations -* Added Italian and Greek language options +* Added Italian, Russian, and Greek language options * Minor bug fixes From e4651ef7b08549a02326bb1ab81302b64820ffea Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Wed, 12 Aug 2015 13:04:39 -0300 Subject: [PATCH 117/158] simplifies error handling at index + universal error popup --- public/index.html | 4 +- public/views/walletHome.html | 4 +- src/css/main.css | 11 ++++ src/js/controllers/index.js | 115 +++++++++++++---------------------- 4 files changed, 56 insertions(+), 78 deletions(-) diff --git a/public/index.html b/public/index.html index 88cbd56cb..1c3633722 100644 --- a/public/index.html +++ b/public/index.html @@ -24,8 +24,8 @@
    -
    +
    +
    - {{index.updateError}} + {{index.updateError|translate}}
    @@ -481,7 +481,7 @@
    -

    Could not fetch transaction history

    +

    Could not fetch transaction history

    diff --git a/src/css/main.css b/src/css/main.css index 3de53f411..00bc52152 100644 --- a/src/css/main.css +++ b/src/css/main.css @@ -1119,6 +1119,17 @@ input.ng-invalid-match, input.ng-invalid-match:focus { padding: 0.6rem 0.8rem !important; } +.alertModal { + background: #FFFFFF; + box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.50); + border-radius: 5px; + position: absolute; + width: 90%; + left: 5%; + top: 15%; + z-index: 1100; +} + .passModal { background: #FFFFFF; box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.50); diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index e574db27c..4ee500d03 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -319,12 +319,12 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.setSendMax = function() { // Set Send max - if (self.currentFeeLevel && self.totalBytesToSendMax) { + if (self.currentFeeLevel && self.totalBytesToSendMax) { feeService.getCurrentFeeValue(self.currentFeeLevel, function(err, feePerKb) { // KB to send max if (self.totalBytesToSendMax) { - var feeToSendMaxSat = parseInt(((self.totalBytesToSendMax * feePerKb ) / 1000.).toFixed(0)); + var feeToSendMaxSat = parseInt(((self.totalBytesToSendMax * feePerKb) / 1000.).toFixed(0)); self.availableMaxBalance = strip((self.availableBalanceSat - feeToSendMaxSat) * self.satToUnit); self.feeToSendMaxStr = profileService.formatAmount(feeToSendMaxSat) + ' ' + self.unitName; } else { @@ -360,8 +360,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r fc.getBalance(function(err, balance) { self.setOngoingProcess('updatingBalance', false); if (err) { - $log.debug('Wallet Balance ERROR:', err); - $scope.$emit('Local/ClientError', err); + self.handleError(err); return; } $log.debug('Wallet Balance:', balance); @@ -378,8 +377,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r fc.getTxProposals({}, function(err, txps) { self.setOngoingProcess('updatingPendingTxps', false); if (err) { - $log.debug('Wallet PendingTxps ERROR:', err); - $scope.$emit('Local/ClientError', err); + self.handleError(err); } else { $log.debug('Wallet PendingTxps:', txps); self.setPendingTxps(txps); @@ -392,7 +390,6 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.updateTxHistory = function(skip) { var fc = profileService.focusedClient; if (!fc.isComplete()) return; - if (!skip) { self.txHistory = []; } @@ -401,6 +398,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.txHistoryError = false; self.updatingTxHistory = true; self.txHistoryPaging = false; + $timeout(function() { fc.getTxHistory({ skip: self.skipHistory, @@ -410,8 +408,10 @@ angular.module('copayApp.controllers').controller('indexController', function($r if (err) { $log.debug('TxHistory ERROR:', err); // We do not should errors here, since history is usually - // fetched AFTER others requests. - //self.handleError(err); + // fetched AFTER others requests (if skip=0) + if (skip) + self.handleError(err); + self.txHistoryError = true; } else { $log.debug('Wallet Transaction History:', txs); @@ -423,14 +423,20 @@ angular.module('copayApp.controllers').controller('indexController', function($r }); }; + // This handles errors from BWS/index with are nomally + // trigger from async events (like updates) self.handleError = function(err) { $log.warn('Client ERROR:', err); if (err.code === 'NOT_AUTHORIZED') { - $scope.$emit('Local/NotAuthorized'); + self.notAuthorized = true; + go.walletHome(); } else if (err.code === 'NOT_FOUND') { - $scope.$emit('Local/BWSNotFound'); + self.showErrorPopup(gettext('Could not access Wallet Service: Not found')); } else { + var msg = "" $scope.$emit('Local/ClientError', (err.error ? err.error : err)); + var msg = bwsError.msg(err, gettext('Error at Wallet Service')); + self.showErrorPopup(msg); } }; self.openWallet = function() { @@ -478,7 +484,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r if (tx.outputs.length === 1 && !tx.outputs[0].message) { tx.showSingle = true; tx.toAddress = tx.outputs[0].toAddress; // txproposal - tx.address = tx.outputs[0].address; // txhistory + tx.address = tx.outputs[0].address; // txhistory } } }; @@ -718,7 +724,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r getHistory(null, function(err, txs) { self.setOngoingProcess('generatingCSV', false); if (err) { - $log.debug('TxHistory ERROR:', err); + self.handleError(err); } else { $log.debug('Wallet Transaction History:', txs); @@ -745,11 +751,11 @@ angular.module('copayApp.controllers').controller('indexController', function($r _note += ' Moved:' + (it.amount * satToBtc).toFixed(8) dataString = formatDate(it.time * 1000) + ',' + formatString(it.addressTo) + ',' + _note + ',' + _amount + ',BTC,,,,'; - csvContent += dataString + "\n"; + csvContent += dataString + "\n"; if (it.fees && (it.action == 'moved' || it.action == 'sent')) { var _fee = (it.fees * satToBtc).toFixed(8) - csvContent += formatDate(it.time * 1000) + ',Bitcoin Network Fees,, -' + _fee + ',BTC,,,,' + "\n"; + csvContent += formatDate(it.time * 1000) + ',Bitcoin Network Fees,, -' + _fee + ',BTC,,,,' + "\n"; } }); @@ -768,35 +774,21 @@ angular.module('copayApp.controllers').controller('indexController', function($r }); }; - self.clientError = function(err) { - if (isCordova) { - navigator.notification.confirm( - err, - function() {}, - 'Wallet Server Error', ['OK'] - ); - } else { - if (!isChromeApp) { - alert(err); - } - } + self.showErrorPopup = function (msg, cb) { + $log.warn('Showing err popup:' + msg); + self.showAlert = { + msg: msg, + close: function(err) { + self.showAlert = null; + if (cb) return cb(err); + }, + }; + $timeout(function() { + $rootScope.$apply(); + }); + }; - self.deviceError = function(err) { - if (isCordova) { - navigator.notification.confirm( - err, - function() {}, - 'Device Error', ['OK'] - ); - } else { - if (!isChromeApp) { - alert(err); - } - } - }; - - self.recreate = function(cb) { var fc = profileService.focusedClient; self.setOngoingProcess('recreating', true); @@ -972,41 +964,12 @@ angular.module('copayApp.controllers').controller('indexController', function($r $rootScope.$on('Local/BackupDone', function(event) { self.needsBackup = false; storageService.setBackupFlag(self.walletId, function(err) { - if (err) $rootScope.$emit('Local/DeviceError', err) + if (err) root.showErrorPopup(err); }); }); - $rootScope.$on('Local/NotAuthorized', function(event) { - self.notAuthorized = true; - $rootScope.$apply(); - }); - - $rootScope.$on('Local/BWSNotFound', function(event) { - self.clientError('Could not access Wallet Service: Not found'); - $rootScope.$apply(); - }); - $rootScope.$on('Local/DeviceError', function(event, err) { - self.deviceError(err); - $rootScope.$apply(); - }); - - $rootScope.$on('Local/ClientError', function(event, err) { - if (err.code && err.code === 'NOT_AUTHORIZED') { - // Show not error, just redirect to home (where the recreate option is shown) - go.walletHome(); - } else if (err && err.cors == 'rejected') { - $log.debug('CORS error:', err); - } else if (err.code === 'ETIMEDOUT' || err.code === 'CONNECTION_ERROR') { - $log.debug('Time out:', err); - } else { - var msg = 'Error at Wallet Service: '; - if (err.message) msg = msg + err.message; - else if (err.error) msg = msg + err.error; - else msg = msg + (lodash.isObject(err) ? JSON.stringify(err) : err); - self.clientError(msg); - } - $rootScope.$apply(); + root.showErrorPopup(err); }); $rootScope.$on('Local/WalletImported', function(event, walletId) { @@ -1032,7 +995,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.updateAll(); } - if (self.network =='testnet') { + if (self.network == 'testnet') { self.debouncedUpdateHistory(); } else { self.updateTxHistory(); @@ -1105,6 +1068,10 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.setTab(tab, reset); }); + $rootScope.$on('Local/ShowAlert', function(event, msg, cb) { + self.showErrorPopup(msg,cb); + }); + $rootScope.$on('Local/NeedsPassword', function(event, isSetup, cb) { self.askPassword = { isSetup: isSetup, From 46f78f4900e711a243a5c81f69595d02930f3332 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Wed, 12 Aug 2015 13:04:50 -0300 Subject: [PATCH 118/158] add alert template --- public/views/includes/alert.html | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 public/views/includes/alert.html diff --git a/public/views/includes/alert.html b/public/views/includes/alert.html new file mode 100644 index 000000000..2c9ed4b85 --- /dev/null +++ b/public/views/includes/alert.html @@ -0,0 +1,14 @@ +
    +
    + +
    +
    +
    + + {{index.showAlert.msg|translate}} +
    +
    + OK +
    +
    +
    From d7af0bf9bedaf3895997cd061063fdd5e6ffe8a6 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Wed, 12 Aug 2015 14:36:07 -0300 Subject: [PATCH 119/158] fix translate --- public/views/walletHome.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 47cf110f0..d2a69224f 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -481,7 +481,7 @@
    -

    Could not fetch transaction history

    +

    Could not fetch transaction history

    From 81ebe2708f2dbb5baf4b8526f60274a1f86655d9 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Wed, 12 Aug 2015 14:38:29 -0300 Subject: [PATCH 120/158] fix switch case --- src/js/services/bwsError.js | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/src/js/services/bwsError.js b/src/js/services/bwsError.js index a8e513f18..3dec7ccc4 100644 --- a/src/js/services/bwsError.js +++ b/src/js/services/bwsError.js @@ -12,103 +12,78 @@ angular.module('copayApp.services') case 'CONNECTION_ERROR': body = gettext('Network connection error'); break; - ;; case 'NOT_FOUND': body = gettext('Wallet service not found'); break; - ;; case 'BAD_SIGNATURES': body = gettext('Signatures rejected by server'); break; - ;; case 'COPAYER_DATA_MISMATCH': body = gettext('Copayer data mismatch'); break; - ;; case 'COPAYER_IN_WALLET': body = gettext('Copayer already in this wallet'); break; - ;; case 'COPAYER_REGISTERED': body = gettext('Copayer already registered'); break; - ;; case 'COPAYER_VOTED': body = gettext('Copayer already voted on this spend proposal'); break; - ;; case 'DUST_AMOUNT': body = gettext('Amount below dust threshold'); break; - ;; case 'INCORRECT_ADDRESS_NETWORK': body = gettext('Incorrect address network'); break; - ;; case 'INSUFFICIENT_FUNDS': body = gettext('Insufficient funds'); break; - ;; case 'INSUFFICIENT_FUNDS_FOR_FEE': body = gettext('Insufficient funds for fee'); break; - ;; case 'INVALID_ADDRESS': body = gettext('Invalid address'); break; - ;; case 'LOCKED_FUNDS': body = gettext('Funds are locked by pending spend proposals'); break; - ;; case 'NOT_AUTHORIZED': body = gettext('Not authorized'); break; - ;; case 'TX_ALREADY_BROADCASTED': body = gettext('Transaction already broadcasted'); break; - ;; case 'TX_CANNOT_CREATE': body = gettext('Locktime in effect. Please wait to create a new spend proposal'); break; - ;; case 'TX_CANNOT_REMOVE': body = gettext('Locktime in effect. Please wait to remove this spend proposal'); break; - ;; case 'TX_NOT_ACCEPTED': body = gettext('Spend proposal is not accepted'); break; - ;; case 'TX_NOT_FOUND': body = gettext('Spend proposal not found'); break; - ;; case 'TX_NOT_PENDING': body = gettext('The spend proposal is not pending'); break; - ;; case 'UPGRADE_NEEDED': body = gettext('Please upgrade Copay to perform this action'); break; - ;; case 'WALLET_ALREADY_EXISTS': body = gettext('Wallet already exists'); break; - ;; case 'WALLET_FULL': body = gettext('Wallet is full'); break; - ;; case 'WALLET_NOT_COMPLETE': body = gettext('Wallet is not complete'); break; - ;; case 'WALLET_NOT_FOUND': body = gettext('Wallet not found'); break; - ;; } } From fcaf035369f0158560e957c106a56a27ab246e68 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Wed, 12 Aug 2015 17:11:32 -0300 Subject: [PATCH 121/158] Updates templates.pot --- i18n/po/template.pot | 158 +++++++++++++++++++++++++------ public/views/includes/alert.html | 4 +- src/js/controllers/walletHome.js | 1 - 3 files changed, 132 insertions(+), 31 deletions(-) diff --git a/i18n/po/template.pot b/i18n/po/template.pot index d7cd8e5e1..9df6cf09a 100644 --- a/i18n/po/template.pot +++ b/i18n/po/template.pot @@ -80,6 +80,10 @@ msgstr "" msgid "Amount" msgstr "" +#: src/js/services/bwsError.js +msgid "Amount below dust threshold" +msgstr "" + #: public/views/walletHome.html #: public/views/modals/customized-amount.html msgid "Amount in" @@ -130,6 +134,10 @@ msgstr "" msgid "Backup options" msgstr "" +#: src/js/services/profileService.js +msgid "Bad wallet invitation" +msgstr "" + #: public/views/walletHome.html msgid "Before receiving funds, it is highly recommended you backup your wallet keys." msgstr "" @@ -183,6 +191,10 @@ msgstr "" msgid "Cancel" msgstr "" +#: src/js/services/profileService.js +msgid "Cannot join the same wallet more that once" +msgstr "" + #: public/views/modals/paypro.html msgid "Certified by" msgstr "" @@ -191,10 +203,6 @@ msgstr "" msgid "Changing wallet alias only affects the local wallet name." msgstr "" -#: src/js/controllers/walletHome.js -msgid "Check your Internet connection and try again" -msgstr "" - #: public/views/import.html msgid "Choose a backup file from your computer" msgstr "" @@ -231,6 +239,22 @@ msgstr "" msgid "Confirmations" msgstr "" +#: src/js/services/bwsError.js +msgid "Copayer already in this wallet" +msgstr "" + +#: src/js/services/bwsError.js +msgid "Copayer already registered" +msgstr "" + +#: src/js/services/bwsError.js +msgid "Copayer already voted on this spend proposal" +msgstr "" + +#: src/js/services/bwsError.js +msgid "Copayer data mismatch" +msgstr "" + #: public/views/modals/copayers.html msgid "Copayers" msgstr "" @@ -254,19 +278,19 @@ msgid "Copy to clipboard" msgstr "" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check your Internet connection and try again" +msgid "Could not accept payment" +msgstr "" + +#: src/js/controllers/index.js +msgid "Could not access Wallet Service: Not found" msgstr "" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check your Internet connection and try again" +msgid "Could not broadcast payment" msgstr "" -#: src/js/controllers/walletHome.js -msgid "Could not connect wallet service. Check your Internet connection and your wallet service configuration." -msgstr "" - -#: src/js/controllers/walletHome.js -msgid "Could not create address. Check your Internet connection and try again" +#: src/js/services/addressService.js +msgid "Could not create address" msgstr "" #: src/js/controllers/walletHome.js @@ -282,7 +306,7 @@ msgid "Could not decrypt file, check your password" msgstr "" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check your Internet connection and try again" +msgid "Could not delete payment proposal" msgstr "" #: src/js/controllers/walletHome.js @@ -301,8 +325,8 @@ msgstr "" msgid "Could not join using the specified extended private key" msgstr "" -#: src/js/controllers/join.js -msgid "Could not join wallet:" +#: src/js/services/profileService.js +msgid "Could not join wallet" msgstr "" #: src/js/controllers/walletHome.js @@ -310,14 +334,14 @@ msgid "Could not recognize a valid Bitcoin QR Code" msgstr "" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check your Internet connection and try again" +msgid "Could not reject payment" msgstr "" #: src/js/controllers/walletHome.js msgid "Could not send payment" msgstr "" -#: public/views/walletHome.html +#: src/js/controllers/index.js msgid "Could not update Wallet" msgstr "" @@ -430,12 +454,12 @@ msgstr "" msgid "Enter your password" msgstr "" -#: src/js/services/profileService.js -msgid "Error creating wallet" +#: src/js/controllers/index.js +msgid "Error at Wallet Service" msgstr "" #: src/js/services/profileService.js -msgid "Error creating wallet. Check your internet connection" +msgid "Error creating wallet" msgstr "" #: src/js/services/profileService.js @@ -481,6 +505,10 @@ msgstr "" msgid "French" msgstr "" +#: src/js/services/bwsError.js +msgid "Funds are locked by pending spend proposals" +msgstr "" + #: src/js/services/notificationsService.js msgid "Funds received" msgstr "" @@ -578,10 +606,26 @@ msgstr "" msgid "Importing..." msgstr "" +#: src/js/services/bwsError.js +msgid "Incorrect address network" +msgstr "" + +#: src/js/services/bwsError.js +msgid "Insufficient funds" +msgstr "" + +#: src/js/services/bwsError.js +msgid "Insufficient funds for fee" +msgstr "" + #: public/views/walletHome.html msgid "Invalid" msgstr "" +#: src/js/services/bwsError.js +msgid "Invalid address" +msgstr "" + #: src/js/controllers/copayers.js msgid "Invitation to share a Copay Wallet" msgstr "" @@ -623,6 +667,14 @@ msgstr "" msgid "Learn more about Wallet Migration" msgstr "" +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to create a new spend proposal" +msgstr "" + +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to remove this spend proposal" +msgstr "" + #: public/views/paymentUri.html msgid "Make a payment to" msgstr "" @@ -671,6 +723,10 @@ msgstr "" msgid "Network" msgstr "" +#: src/js/services/bwsError.js +msgid "Network connection error" +msgstr "" + #: src/js/services/notificationsService.js msgid "New Payment Proposal" msgstr "" @@ -687,6 +743,10 @@ msgstr "" msgid "Normal" msgstr "" +#: src/js/services/bwsError.js +msgid "Not authorized" +msgstr "" + #: public/views/walletHome.html #: public/views/modals/customized-amount.html msgid "Not valid" @@ -698,6 +758,7 @@ msgstr "" msgid "Note" msgstr "" +#: public/views/includes/alert.html #: public/views/includes/password.html msgid "OK" msgstr "" @@ -822,6 +883,10 @@ msgstr "" msgid "Please enter the required fields" msgstr "" +#: src/js/services/bwsError.js +msgid "Please upgrade Copay to perform this action" +msgstr "" + #: src/js/controllers/import.js msgid "Please, select your backup file" msgstr "" @@ -906,6 +971,10 @@ msgstr "" msgid "Retrying..." msgstr "" +#: public/views/translators.html +msgid "Russian" +msgstr "" + #: public/views/includes/password.html msgid "SET" msgstr "" @@ -1026,6 +1095,10 @@ msgstr "" msgid "Show advanced options" msgstr "" +#: src/js/services/bwsError.js +msgid "Signatures rejected by server" +msgstr "" + #: src/js/controllers/walletHome.js msgid "Signing payment" msgstr "" @@ -1038,6 +1111,14 @@ msgstr "" msgid "Spanish" msgstr "" +#: src/js/services/bwsError.js +msgid "Spend proposal is not accepted" +msgstr "" + +#: src/js/services/bwsError.js +msgid "Spend proposal not found" +msgstr "" + #: src/js/controllers/copayers.js #: src/js/controllers/import.js #: src/js/controllers/preferencesDelete.js @@ -1062,7 +1143,7 @@ msgid "The payment was created but could not be completed. Please try again from msgstr "" #: src/js/controllers/walletHome.js -msgid "The payment was created but could not be signed. Please try again from home screen." +msgid "The payment was created but could not be signed. Please try again from home screen" msgstr "" #: public/views/modals/txp-details.html @@ -1070,7 +1151,7 @@ msgid "The payment was removed by creator" msgstr "" #: src/js/controllers/walletHome.js -msgid "The payment was signed but could not be broadcasted. Please try again from home screen." +msgid "The payment was signed but could not be broadcasted. Please try again from home screen" msgstr "" #: public/views/backup.html @@ -1081,6 +1162,10 @@ msgstr "" msgid "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." msgstr "" +#: src/js/services/bwsError.js +msgid "The spend proposal is not pending" +msgstr "" + #: src/js/controllers/copayers.js #: src/js/controllers/preferencesDelete.js msgid "The wallet \"{{walletName}}\" was deleted" @@ -1126,6 +1211,10 @@ msgstr "" msgid "Transaction" msgstr "" +#: src/js/services/bwsError.js +msgid "Transaction already broadcasted" +msgstr "" + #: public/views/translators.html msgid "Translation Credits" msgstr "" @@ -1164,10 +1253,6 @@ msgstr "" msgid "Use Unconfirmed Funds" msgstr "" -#: public/views/modals/txp-details.html -msgid "Uses unconfirmed funds" -msgstr "" - #: public/views/preferencesAbout.html msgid "Version" msgstr "" @@ -1212,6 +1297,7 @@ msgstr "" msgid "Wallet Invitation is not valid!" msgstr "" +#: src/js/services/bwsError.js #: src/js/services/profileService.js msgid "Wallet already exists" msgstr "" @@ -1220,18 +1306,34 @@ msgstr "" msgid "Wallet incomplete and broken" msgstr "" +#: src/js/services/bwsError.js +msgid "Wallet is full" +msgstr "" + +#: src/js/services/bwsError.js +msgid "Wallet is not complete" +msgstr "" + #: public/views/create.html msgid "Wallet name" msgstr "" -#: src/js/controllers/walletHome.js -msgid "Wallet service timed out. Check your Internet connection and your wallet service configuration." +#: src/js/services/bwsError.js +msgid "Wallet not found" +msgstr "" + +#: src/js/services/bwsError.js +msgid "Wallet service not found" msgstr "" #: public/views/preferencesDeleteWallet.html msgid "Warning!" msgstr "" +#: public/views/modals/txp-details.html +msgid "Warning: this transaction has unconfirmed inputs" +msgstr "" + #: src/js/services/profileService.js msgid "Wrong password" msgstr "" diff --git a/public/views/includes/alert.html b/public/views/includes/alert.html index 2c9ed4b85..a3a25ee4d 100644 --- a/public/views/includes/alert.html +++ b/public/views/includes/alert.html @@ -3,12 +3,12 @@
    -
    +
    {{index.showAlert.msg|translate}}
    - OK + OK
    diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 3c7ae8c5a..bb7df5bf7 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -724,7 +724,6 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi feeService.getCurrentFeeValue(self.currentSendFeeLevel, function(err, feePerKb) { if (err) $log.debug(err); - console.log('[walletHome.js.757:amount:]', amount, feePerKb); //TODO fc.sendTxProposal({ toAddress: address, amount: amount, From c0c3b9db1a1bc793bd07cbb542540a2c78f14fd6 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Thu, 13 Aug 2015 10:14:54 -0300 Subject: [PATCH 122/158] Updates info --- i18n/docs/updateinfo_en.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/i18n/docs/updateinfo_en.txt b/i18n/docs/updateinfo_en.txt index 7827597d5..b3fb2e069 100644 --- a/i18n/docs/updateinfo_en.txt +++ b/i18n/docs/updateinfo_en.txt @@ -1,4 +1,5 @@ -* Improved fee handling and fee notifications +* Adaptive fee levels based on bitcoin network load +* Option to prevent creating transactions with unconfirmed inputs * Added advanced sending options * Added Italian, Russian, and Greek language options * Minor bug fixes From 19d24e808493b8f63738a0479ca33ef50a054749 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Thu, 13 Aug 2015 11:07:24 -0300 Subject: [PATCH 123/158] Fix tx-details --- public/views/modals/tx-details.html | 20 +++++++------------- src/js/services/feeService.js | 2 +- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/public/views/modals/tx-details.html b/public/views/modals/tx-details.html index ad1160134..d4c04665a 100644 --- a/public/views/modals/tx-details.html +++ b/public/views/modals/tx-details.html @@ -20,21 +20,11 @@
    -
    - -
    - {{btx.alternativeAmount}} {{settings.alternativeIsoCode}} -

    Details

    -
      -
      -
    • - Note: - {{btx.message}} -
    • -
      +
        {{btx.merchant.domain}} - {{btx.labelTo || btx.addressTo}} + {{btx.labelTo || btx.addressTo}} @@ -67,10 +57,14 @@ -
      • +
      • Fee: {{feeStr}}
      • +
      • + Note: + {{btx.message}} +
      • Merchant message: diff --git a/src/js/services/feeService.js b/src/js/services/feeService.js index 1924d0ac8..f2316f733 100644 --- a/src/js/services/feeService.js +++ b/src/js/services/feeService.js @@ -22,7 +22,7 @@ angular.module('copayApp.services').factory('feeService', function($log, profile } else { fee = lodash.find(levels, { level: feeLevel }).feePerKB; - $log.debug('Dynamic fee for:' + feeLevel + ': ' + fee + ' SAT'); + $log.debug('Dynamic fee: ' + feeLevel + ' ' + fee + ' SAT'); return cb(null, fee); } }); From cebd8fe06eec3f6b593b719b7a97ef47e34286b6 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Thu, 13 Aug 2015 12:59:19 -0300 Subject: [PATCH 124/158] Allow only dots to separate decimals --- public/views/modals/customized-amount.html | 12 +++++----- public/views/walletHome.html | 14 ++++------- src/js/directives/directives.js | 28 ---------------------- 3 files changed, 10 insertions(+), 44 deletions(-) diff --git a/public/views/modals/customized-amount.html b/public/views/modals/customized-amount.html index a50eb0764..af03b55de 100644 --- a/public/views/modals/customized-amount.html +++ b/public/views/modals/customized-amount.html @@ -53,9 +53,9 @@ Amount
        - - + + {{unitName}}
      • @@ -63,9 +63,9 @@
        diff --git a/public/views/walletHome.html b/public/views/walletHome.html index d2a69224f..6d6e027fb 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -388,11 +388,8 @@ Amount
    @@ -400,11 +397,8 @@
    diff --git a/src/js/directives/directives.js b/src/js/directives/directives.js index 6ca44a772..4388f99c4 100644 --- a/src/js/directives/directives.js +++ b/src/js/directives/directives.js @@ -92,7 +92,6 @@ angular.module('copayApp.directives') require: 'ngModel', link: function(scope, element, attrs, ctrl) { var val = function(value) { - if (value) value = Number(String(value).replace(/,/g, '.')); var settings = configService.getSync().wallet.settings; var vNum = Number((value * settings.unitToSatoshi).toFixed(0)); @@ -120,33 +119,6 @@ angular.module('copayApp.directives') }; } ]) - .directive('validAlternative', [ - function() { - - return { - require: 'ngModel', - link: function(scope, element, attrs, ctrl) { - var val = function(value) { - if (value) value = Number(String(value).replace(/,/g, '.')); - var vNum = Number(value); - - if (typeof value == 'undefined' || value == 0) { - ctrl.$pristine = true; - } - - if (typeof vNum == "number" && vNum > 0) { - ctrl.$setValidity('validAlternative', true); - } else { - ctrl.$setValidity('validAlternative', false); - } - return value; - } - ctrl.$parsers.unshift(val); - ctrl.$formatters.unshift(val); - } - }; - } - ]) .directive('walletSecret', function(bitcore) { return { require: 'ngModel', From 03823b7e5359ef29235d2d37d9eb1f921863bd3f Mon Sep 17 00:00:00 2001 From: bechi Date: Thu, 13 Aug 2015 13:20:34 -0300 Subject: [PATCH 125/158] add logo chrome --- public/img/icons/logo-chrome-256.png | Bin 0 -> 10900 bytes public/img/icons/logo-chrome-64.png | Bin 0 -> 2277 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/img/icons/logo-chrome-256.png create mode 100644 public/img/icons/logo-chrome-64.png diff --git a/public/img/icons/logo-chrome-256.png b/public/img/icons/logo-chrome-256.png new file mode 100644 index 0000000000000000000000000000000000000000..803f97494159232010edac807b2aee35d3f838df GIT binary patch literal 10900 zcmZvCWn7fq^Y<*^=Ug*$=FFM-&Ri3ss33`nL5u+cfiR_|#FRlGFz^!$LPG(*bR6ulz$ z*>cTjYUxnILu$Q;<)1$jYuMeNZR;cmM~q_I{w_)eX*~+kd}c~8`^n@j*3}q3Ht3N6 zo5zb%r2Cv*5*p>Js`0-2x0c-y}fu;n%oS*FnFpU8*7=6s4K+%KVrau}{3s=b+ z)Ha7*NQ}HzPB;Cd_gEISl11wE~&_ z#BSa$>j`P*@FP}e!F|WNQluE_APUl2vb?Me{?pl@U4}sW)Q4mN1{dUKEAFYg%-YqF z!zRb?uy~%d6o++?XbfUtoiSI(v5l7+*pQ{kucr%YS2Vt+2y*FHI8oV|M>+Lq&wJp9 zx}2J;xL>jzNC^-=1e1CA0wU#C@>HMHZ8u?GK81(x=o1PEZE29voJ>0h2C8dNPYgEC z)7S#&!G@qe-W9XZ+M_MtQP@0A`d?e>=0_V12NpKqK-%nI zW#*%{pul`z%C%skE6x*s1l@L!^Dqe!CZgB!fk&@)xzc$H!w`YBHd2%=3`?MLuw8r7 zHWdfh;yx3#Mcel_uLWrV(1eN}`cCTiZDkHH%|CjGaxFj5fwk*>+nF3-ZqNe>KtT?M z2_w-EB1{2hR+d3{cE$)+poQAAx*cE!^o)`KBf&F3TDIs zeqg4h8L-GMq#01H{ifq+A~5rW$p+>D7`FUiObZ(VW=?Ej=(X$sLmQo29jE_~C{T$O zq-xx9tr9d_qQGF9AFpOPN#C~mq2=#KdR!1HUJnoZocT(>ci2@HV%gjbY4+OKBUyN%?cR@>zuU0-Oc$*>=0lVS+VufHbXBUAVMU2E; zXeF<^2VQIs>9?%m@0Wk+)Jm3?;pU*PnH)rEu`XJ2X>Du}WY4#C4TsxMqFf*P@jEwI zNjj~mNk^A^v~$ZnHxJthQ4faDPd{bPfF_>!)m7UFaOCagZ+;SSSVak%YP{drkgAJ6 zJ6Za=Z1ew4R3W*hNw;hev~usgfpOKy$| zJV@60vc1)}#%W0OS`+(l?ys2LBczi7n}RR!Ywl3XXLhlb^hn@PydNxzFGj$Pr!yb% zaK>}LXPBhtU8MTk&(s~WVTJWJ;N=akE!@U3j0c;|5v@zUY%N)rpj2%5l+TbXtI+x} z=DAeLRSmvyD+HW;(c|0ciw+g+g}{9EK}<&Xwh$G~3Ku+Xn|c3s$;hl)P0#Cw(q@WW zXkxhK{dM67UruSa>x}{_+%A|uH(*26_C@x}6D#^2XF?Z8Q=?H0Y4UIwHRE(I=JQPN zc;F6G(MAbjT1$YEXun?N?d?U~Ig#rzM-OYQ)wz(qlUz$}d~L+|YW<{Gx{m=U)%!+4 zuGWywY&Bx3+*yneB3OH9cGwWIGGd(i3eD8}yYol`$gvIlyx#tveBjni$f$E>Y1VM^u0*Q8 zHaIH%4lCyB{IYfZdMT90)O&-Ce7RT-;+s}psnDeS18JwA?j~#&PV%gDn%#W8Ti~`~ zYpW)^P8-0PSbIEzBhDEoN6etSVfwQcRZ*59S^c2#qQg7ky=EA9t+-ly#iUohgnFTGz?jFCT)o|yTZ{l`5sUH;^^3ssh$oxQI^GG3xO1O6p{U9F^I9t~SC zZNLlD@NH|-`6oSBvrO9xyUNwQ4CySC^f(`xcJzw%D1Uyy{3cEd|IRG(cdj%)CsBDF z-dYZcs=KhHCVwESzoM8bZcqG%y&$Bg=1}e8_y5-anyL1;o!TF6pRbSDx-h4B5@l`h z^S4J&a^_WuN_~>yMvNOAA6?Ju^VuB6Kr06;f(rPv!YSODmu}{bPfkuok};DuJa@kH zSjw&EeH$AR=faX)k4zDhF#TmJam3Jr((>K%3GUZ;x)m0=Ki4UV#ZUe;|C{ALX_(+C z=opT^Q7$Hbb9;Shk?FV~jD8|QN%%tkqIrsV)s`wNAqdD1~@KXRBEhip6Qbxb3;;8I>H zH8^@!yIek3P4^3;BK}+2W!qQ8;dN_jX}Ha9SCtZZM}kjh)x;e0(9PQGsS3B%ih4Bx z8fF4o^uZ*7VRDQnJ!HVctAQN04qFL}O5LqVu5nC`%K4 z3>WnOw|880*6khX~XjGE15W!@wNPd7Eir<^J~e(2%U4_1z$w zX)ml#cb#$#*S9rlZ&&ZJ06p7*x)W=q)Mk z>tF$zaNPOOm<>EwuM)cRxq#Ro34sdt5CvRrDmmX{j@tw9JEyuTEN;-G&i#ZzZsS?( zUT<0DZ0>iVnCGXz3oCtkWf8-iiLTGq>vHl*5h(XIrx+^Zc7&T&pu)P`g41z4WvJWb z@^M`NEh+J|%JkB}Nx@7fZ#~L^5oe6wPxvf|NLnR_W$$YLa^ZfKC#>A!kvoq5H(sN$ z6Uib=&*5gcPR#Jb38UBTqq3*c4IBk9YfcD<$a}c6qu_OqE?jlg>Ny#@wLfNkWs9CQpC$qDvF`66oVP)r*o&Y>}pS+sJXrH-eNn1*yN+^RoOaOBPe&f}9pzc|1oE z7N0k`Dhi2f8G99k2}3dS5I;)fB`!(Y_ta{-@8yw_Z_ejo4D6$T3K}N}@hd-Ml@Wdm zZ@39|yd3@8x8CtLa?`Pm%vg44@!N=F5IYa*s*TQ4nyb=e!Q z^%7C7AOrbh|Fl&H;WBgUXZr&l)a`#qN;>4g;KW%o#dVxBt8;RG%)8R2=e?6}$6tC+ zUy*Zt_sLtaSr1}9#rW79mBhlT{Uly&uuy57CYvm#N+0v*0U-_RARFWAHMzIXo!8&e z3g50yrf~SV^cT}@Ui#^~=nQ9YBiuzywP>p?>!;e4wcYKRiGAA%eFxdcR&uY4RW7k4 zPf(yiu~x5c%|d?BsS1XZ2UOntAy%J%!LfhH`;5YSd&L83=3NxtUO-oS0w4KH5`h6xd;qVdZ6bNb}dl*BdOv8?@kt63%Z;se+d(Co}R;}Pe%gRJYG zBegZOvUdmPOXZ7&C^n^@rcH& z=#_mr2oG?*;W%^ZcFWoJ4;M8*0?Xj9fFT;yz)0SX^IRoSXLF&L*zmZ0?)|aWHo0^L zfO8>L_UcpqK8l5lvu+Zpb?B;fc@F1I^XGpS0=fEY|IW#r+V?ulXH(4=PFYz_1w8WF zP?@|yrT%ZQ`Mh!+>_RrdD(+_-PD&1L$U6 zhf^1`ScC9gpiY+bU)5lO$B|SIVE1nTMnqEX4?P+1h>P4}rq#S=Kd!dILaG*&bOsTI zqewC#P4R<1rCthh_wLmeq-1e`#i#7wJTD~Y)qldP4`&=-C4S~=pN}m4R$1N;SeSvL z+DnoJjhb9864#xnR*VD~F(CBBh{G$_nRFklBZm4vF5@mHID7)?L)9lt- zJ7Z3CPeem`*}MOg17QXK{P$aEt2KX*#hKp@G)B(mC*n}3!pV3QW7o~Idq5FvLt$H!g(f1vmyxabt<=c zMf}nOIiIJ4HhH4x+h!t+1{mfvtf!h7haCx%-6Tf;%6Lb})Q434k9GF$n9to#*+#(?zSsOH`MtyxqdlTn2xgZ>8N|F!_ronD6e ztD4{x#hq&8wrM0w!+iaS%}Ch6QoULw3y34IH1U`3|79z3SzDl5)O4^=7?BJhC`z)B z&=PSrL)Z;*c3!1vQyWq&4zQzel{!uL+b*VM%wj@C1y)}}gdrf6f*_tQ$aXQU6j1a4 zzkLYUqX2zlvN^ugYSl>d1QG941^@h~&~$TEY}giPZ{l<;3X#ANp$o9(bU))#KUueS zl0fqwa2VVFbTXPx4x(PCEl0y+3;aiql%pzqzMBH4^w|IhQ#{|EsEgrChJK}Gup)~)H0?gBPn|h2nk1DHSgpd zN~B0=3-v}p^l-i3=l=L8e6tqR+;on*j&_nI`L5sJzME4Zn)$*ZpH1xFj~!* zw$f2h#Z_g;^?n+-v8oey%=J!E@q}aoMpCyg{yfY_S$Y_)=2eZb=l&Rs_GvVDLr|t^ zc}}j+`A;sV@`ZA19u|ET&M%_Scr2wgYsmWuQs~6bchiJ9EYDTg%ORdL5f#5@<1BgB z53ifcJ=1K7Bmn@)uQ^8KykGjr&lyYTeN+0oPe0#exu@lk%{8#StJ!h+Z3CyZ0yAUX zJ^=s~hTxwoTw)Y3H9CW^k5ID|$eIfO+zHW{f)0bCQKo>|2w!gA+bcIAK%^qmw$5?6?1fxL8g>q2DN{yF-Y>L>5X&4!M)H- zt#{dMREmHU5p9k5$qh0iv<7_ag1Nz!*iLkot5 z!n?R8l!DXBu=U&yY?$thxbLp=J-)AZKi}gFH(X)4-ecZh=Bsp|K*(5sR}7~>TO*r` zE8U^};tmA-+k?%1rURBT>4Cn>*%g{kgQ#oIyd!fcl73664Hr|S4fnlXlA|}Ny+}+z z@gZJLp`Cdm2no4Q*e6Q?lgezL`?!NcrE|QZ$62Fo5^wQdzy=O>UGmBje66fJTOD`T zS!23xpz|$yhqPM^K@ip8l}=JarnKOhj-0Jl4U8`*X8lJm*@yBP zUkWYtVaeX^PERI0>^0k8Js@i^M9gn}_XMG+H|7PQZuzp2k!5O=rNS6F ziIW!UtskToI4$zmB%o{`SWH(3p9eZ^eXZDIF&W1t0gol*6PNw&H}|jj+OdS09tca1 z>2ONWcj2;c@A+IOBuw7=dhz^#V^td|$l0m zIEe(+x7EehyQs%((gGX04i{f^tLz1a-c#=@1kte8S4WD}D6sF$)-^t4U%wJ1X7(d~ zlGJBy>9Y2$4z3Ev140lR&J`nck##uYcS1lh|7r*Q0Ur@-J-z?~H(pM*2^uy(p_08C zne*l@zOmFJL@YQ%=G;_%go=u^gz9&ObC~Jb``pw9o5e;7$7Ve=t+DIj8eL!IX5%Jgzp(LSDD6K_zg7MebN;RbgXaSbRe zVqQFJgik|LBsKg4C+><(mF6h>cBYp-xmt#IU&2%ExM0PXt=mDE=!ACrlTA)f!d0-(p zI+*e7!LRCZ{{RD`0wSe_8V)gOfOa=l_l_arXmJuYx;#9J!IOsyTXNooB5L`)88c!3 zBq@L*bh1m~F2Mvvhj+c6=vpV{C%{cmD-cq`sWiID}2nQ{H&pYK8}5^ zAb`GO?cSJ7(TPWJCoj9vS`;_Z=-FCN?y6$dcoea_gek#LsJO^PN?w-&%imp&5}cJ5 zBmi*1h%W?AN>wDUN>x}}pij`_E7=Z~R-=lg)TxE-Fb&7V&$ABgu74K&wb;kK&~I_F zMOFO~_6@g!^v%^e9k|g>_(3F!I+x0=oBecB%{q+3z3SstVb>q7fRv+ zj|s}?9($fK0T|gr8C5L7=LdiCIXlVqR<*2-w4fKNi4Ef0fVL{#Sd-aOyL3qQf8+*f zj%bHGmyCRR$n!?CpylhOZTtHX^>to9PTYTi9V>mE0;IhklYmi4A}M@pyq+SMAmZC6`vZ2;bl z_oI5v>fXS&O0XTxA#pOnkKx^21X$MX7-QV#>%0xXjLTTU* zhp7e>nfSxc53{s;hdy~YnX^)OWtx(G!`aO67omAhAqysM9ZLmL-m9M4S!aHKSi~NU zE##xP|1p(1&D|Z{`GqA4gM-D{S+#4$JtXkbbyFJfT;*}}*>g$bUi>I2z{zGiZYCj@p>6nnbJzcuE+Iqh(AElUF8kcftZpz_>GZ!?I?LxXpx;{wC}^q;J5$n?GB z%sFHZ^3c<1Q9bKCv934vEZMpJLMZtaj{dGF_Lt@W79TF2qu#;SO*=}lvwqeiS|~%^ zDLBUPgP%;~EW`Im!`#=4u>=VvS!-Ri*MtDUV?#GA> z6i_rtI7^S0i;5O@P{ZDMaX`-s3KM9dY3+NM^BWS)$0I)rGwVCOp{E@b?@U(Jcc~u4 zvZjdhe`3ZuY&JihwCY&0DSXyxClkC!n$RlZ-^kbY?Uv7Cv*|Dx?ZlqSkWSn2o5}L! zx?2zVdP!eoGNzOn_N*h#(1tH~I!Ta%f+@>%dGbg6C1s&|DFAdVETNKKbHdLfWNVP9 z(e^^?#g8fE5Bo_!Zk#72L?iI0{n|~$CF8!Vexlb6UmHZ{Bw_n>!IYVU&|r-z3hykA zEgbT_%+YaPvQP_WH&V9UtHSn=*l}^;^*$2(RkjqY-$6k}J=7}X7bG(#RwF#`gM@fo zEed{8i4M>x{t@-%^n+rRgPIj6wrcEkOxI=E$LCZI;xFi4*J&YO{$o zJ)9ohlA)Z3?(YzW&$tw2UYSArh%1ohmc2i`@%r04pJm_Jr}o}T?VtMhSE z2ceoE(Zqh?KkU_Km;8dX#30?pG1b-Me6}yb4Z^oRuB1NmO?tdK$`j?fo|eQyDDWAgoif=G!*o zYgok5hYutCo?4F02D8VSKnTYOE7XfM`f~S2NyChS@yYB>_-fkMB<}sPze?QZJ)%@g;hWX&zQYIHybT^k)&h`wR#Cp zcoP|eE}WS$?8W(_UXfi|d^rn4uzaTzr>B?0_YWlrNL($G1vkY#k86YQ^-8=N$;lwJ znTlmKTb+wZ0~s8~8_1S#yh|?Bl2wYFc4Zx~J)P!ACp~v}{ z#K7{-+f0#;!4uZVKkvclUL}mAnDWP!!Npp?1 z9hlvyl_WpEk?irhE?sRvwYtO`o^NZ2Jo?)c?yh|6PBq4D+eHOc_b1905YrE$2y;!Q zzsL2zxjYdi_r^sQr*?DQ%#hK2a`?&U_1STU>2H{!h+9zsZ+z}hmP$9lE`If!=QvML z7YA}(BMV7HilBd)k0t}_g1zfDu}Pik^fvz`S)P^oo*#wLH+J?b8AQ2@E6Mw##qzBY zzHHM?K7zmYuB%sgJ4+v4(z_#eUagsM8_hILyyu+0!bB{q1hc&|EnonyiuztBg>VRv zu!dr4yT&iAJ+nYsmd2Z{rd+T}BT3fBS810pOu1~C^-e#@-OL`%#>G`#^1bDIQIP1K zPvTKkTe1KO2-2&}85*$!s#Trt;%}_m-ncGv03~6wZ!YQu@i4X4edowKb+5T9FpX_J zNY)K+^ocr|AjVUxefNUY$%={~Xp?dJ)sF4Gb$|n=TK5JYtniI_XzLGsJnn6@S@I_h znfn1QFz^08`Y{Z2iz%UJB=!8fkjlrQszum_QMB<@PWB3~|w(Scck{OUY zUmYC|hab2J1CHfFbbIesxKyuX=ohp zR8YNf#VW#t)hDx@FC+ABUR%wJ`6p1($msgOl>{+Vzm4;Zz%Z`RD$j6-6Cr>awZ8L( zT3qYNxp_~VUy7La$<*6hE%L_i+3r_nOas-%(3rSMB!u|Rh2o@l1A@N^jN5-6?l8ZE z#83)PiYJd`@r8zA;EcW4VpZNNE1?ILs zx!J3tvcJ{*L#S`@P;+4sp(1S`jFFOup=S6KxjrJWFnSa>5fesW!KAW|{)IN56O`HU zRb=h7GxvBDt^`_2ogr%%;QpkWb{5#eVEQn}gV|PO%)e?ndV`((L$YsnJL4+l$!7HC z9AiK~x1APo@+R#AA%xM78{4BrK=ZNQCGAD4TlM*)nWpe-Y9p5ut1jv|ldOs=FAELy1-3^`d`$mUk9iwFMEv+@?F*F32TyDM)M>$!&tQ3-8y*LK0uC zUp!L>=&bTX6VFy4xz7GR-9*Tp9(u+{YPY+hW8{&DHk~xp;%=GZylGF9MfA`NfyB7K ziC;(aJS#1b^h?eBGmW;xhf-ofEs&U6kOpWWwusR@4Cml{Zl0+%qXn`G{SqSFn8(u; zJRQF{({M}(J^It}FF;(`+SqIxuTmt{<^?3Nz)iXkEtaA1V*$RyT_}1Lm@X)-xt0v* z-hi?)OW6C_OSIHbQq)Lx7fSFQUr)_AmH)Kh`v@TWixJ~ltxxG}c)axuVv~CiN#tfF zemX($xH-75eJQ}8;ojJD69J|3H4234YaVF=OdGF`XT$)K1r|67TS|*M92VhSTQfcX0vrGE#?HuF@I$?D zC9CzH7xO;&w;~NW_nY|9FogLK+&;yi(9>1;9z91N_S2Fm8eXmzuV+ z*|;jiK8Mr(;r477dlS~U`{bluX5mA^r%?n#mb+i|8YTK-^LgYgSo|;j{C@Q&#O3&*#$g?Ar(bFbr`sIF)xuAD@nkauI8HZ$DJ#r-k}&%c9F zV%pN!VcvGeJi%8g-8XOtJ$8B8EDd?t5J4{eB^VlstI3R8tS+4lmZ}HolvTv{9>qoC zVvK)q^e^tc_wA2k8k>^Axj_IV2t^y|O6eCT&paJpf)kJ2h_e(7s?5jd@pk^&qIew_ z`wr;;Qe;Gn{p&spiq&CwQeZ+;u5qbQH&_t?nr_}x&cPS9#79jK?f&()ow|pRWUc^h zL9Xx1H-@==oq5s&GIx)pzV#0vE&PDY{(YMMkoT{(oSII^eqRVMXn%N!ett1ymsgS&74e?57dsu2dmBOzPFIi8Q~nKyZQ4wjK2C56cvY` zZ*Vr=e)=r*kch5|4Q3x_CAbZ~esE2mZ9Hp863pKN$EuMox>`vV0~7?>5Xh=|*ary_R4Bbf>~HOw2ZPYe;DAuPC>$dfbUoXPx-pGibPRCodHTYFGc*BSrayDZ3a!5{<(A|T-60~NJe3_gMKrO_mx>TR zYV8nq)D#@I`XpAbST4P70z#k<9zTr(AD=>b zWtAPaC5zIr@%3N8Y_{O1ue^zZOC@&s-z75WpFqUJA^79Q*I|r{mile6SgVRrHq_;`V0&>!%T;i1^DZnaYP$iH$GSq(vR0uq_ZzO%Lmz`f2ctX{tf zH*ei`+5h0tK?pSXlV-QTT;mzSs1HyZHP zu&J#0@)ehT_4L%^_?|z(dz8I#iawc@uf2`#Zj;Np1If^ofH&4;AuJ?V>DTW4$8hF+ zff9EmbTTcG3Fz$V!UrE7#rF5J(b?7Qs>*=VH6tKtVmubio1=8>ZpS@r|KOiW+?7CY zIP=9{N{b(p$&A9{QqWVYpcw%)Z`+2y?#)3<>mA!9mvVD!8$M&p-@yo)Y=+WOX0mnt z1f~Bp>c5|TSc$unpa}uAzPAm#_8dgVy-wRCw~PQb#n6g!Oh1()pN?iNv%0KMJ=3FF7vVZ2mQZWnjA zh^hp{$3!Wc9T{kO<#kzf%crUYOpK4U14-N1rj}N_G&$5?*l7WL}0e23n z65t5b!)7*c%yXBxrUb|v8g~KPTR&7Kz~Z3pWY!J|R_Bz>xJYdduBb}DwdxutlH+5e zoYEd7fk^z-OV4BR!n6me*6*^a5>Q%k)v4im%&Ifc@KBHef7$#7GT63y=Rfuj^l$pC zrz!#8T&o6IZfwI-^XDPJ&(}7oUvft3Z0z5)1u;>N;OD>I1hOY+5mY6BI=JuP3A=s< z`1|5FFTZ4$)>mZa)QQ;h=RaWUhIPz-(1zz%tw+_3+Pt}z<< zcWrqa(PJa*+9Pwjov_znXKq?1y1JXnWD7-lRH*#3a5LpN&bP*hrh8?|+EQJ2rL%yS&e2E)^N7hIMZXol)zfMZ9=}qXP|c zw(=~vSb{A({;tH;6g1ZW$IgeN^0&@-~kg7#ZGJ#Zb9!*&j0~g zViO_+6L#u1<-%%Z#A*iX05+J zxCmy3(_6J637wdJTZh7iz#h~#k|qR9HpWR!(8@0R&?m@d`-9rs4K~fHBl^cN!0EoY zQsITs?E=bw@(OZ0d=MSPV^PE!B!pWn(%l!EQMj$gQES_}CIryv{Z;X0>C~4NE^Qfr zcNjbH?!n=2X`y(wdK`9EnqjuIpoDEmBYcQ}EUD<^XxGPZG$G)?u~Tv%HGRs1yeZKW zWnRHBv)e#&XzT9Tg6lm*Ioau{`gYi<1q~Cr8hd~h1eap|gg|((0XR0;7qNZ^l$NjD zbUhPjq5(?F8VhaZA|6f?q4Q#!ZG#C#?YohX7|90NI!q5gq_m!s7p2IK!jRSg3-h?w zp6XG1-cLYNU=`B6^I-6`o+ZjJ8H1zwk&d{PxCiJ`;Sjzc*;2$l1JQ!8bRN1<9D?t* zB6HGJ3E+|Qk@)@YBv=F&@0nre5+7ai86&{nrK|8WbOfFqMDvU0FfI5NLiKlX{y!n8 zuJ`L3fQURcJ_;YP$z;eAATT>hTbYP6Wubk8w#g;zJl&!dd6BSK^!&P~G3(?w#s zOH0>DM+9;P(t35)vYfC>qXXTcrMt8vK@;fB%lC%qg)4`78n2gCdya|Q?xjZ~n^kG_ z@MD9cHx(N4!FqkZkbU!8*?r*^*YXcn%9#EOte4)&14aqr00000NkvXXu0mjfU4U#l literal 0 HcmV?d00001 From 19ee4424a42cc4be51f70d65ecf745ab0fad86b3 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Thu, 13 Aug 2015 14:54:53 -0300 Subject: [PATCH 126/158] fix commit --- public/views/walletHome.html | 2 +- src/js/controllers/index.js | 2 ++ src/js/controllers/walletHome.js | 29 +++++++++++++++++++++++------ 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/public/views/walletHome.html b/public/views/walletHome.html index d2a69224f..d4d1fc9e7 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -295,7 +295,7 @@ Send All diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 2f5188fbf..cb050f6da 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -328,10 +328,12 @@ angular.module('copayApp.controllers').controller('indexController', function($r // KB to send max if (self.totalBytesToSendMax) { var feeToSendMaxSat = parseInt(((self.totalBytesToSendMax * feePerKb) / 1000.).toFixed(0)); + self.feeRateToSendMax = feePerKb; self.availableMaxBalance = strip((self.availableBalanceSat - feeToSendMaxSat) * self.satToUnit); self.feeToSendMaxStr = profileService.formatAmount(feeToSendMaxSat) + ' ' + self.unitName; } else { self.feeToSendMaxStr = null; + self.feeRateToSendMax = null; } }); } diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index bb7df5bf7..7d1e340cb 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -722,7 +722,15 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi address = form.address.$modelValue; amount = parseInt((form.amount.$modelValue * unitToSat).toFixed(0)); - feeService.getCurrentFeeValue(self.currentSendFeeLevel, function(err, feePerKb) { + var getFee = function(cb) { + if (form.feePerKb) { + cb(null, form.feePerKb); + } else { + feeService.getCurrentFeeValue(self.currentSendFeeLevel, cb); + } + }; + + getFee(function(err, feePerKb) { if (err) $log.debug(err); fc.sendTxProposal({ toAddress: address, @@ -803,7 +811,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi }); }; - this.setForm = function(to, amount, comment) { + this.setForm = function(to, amount, comment, feeRate) { var form = $scope.sendForm; if (to) { form.address.$setViewValue(to); @@ -824,6 +832,10 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi form.comment.$isValid = true; form.comment.$render(); } + + if (feeRate) { + form.feeRate = feeRate; + } }; @@ -841,6 +853,11 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi this._amount = this._address = null; var form = $scope.sendForm; + + if (form && form.feeRate) { + form.feeRate = null; + } + if (form && form.amount) { form.amount.$pristine = true; form.amount.$setViewValue(''); @@ -1042,8 +1059,8 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi return actions.hasOwnProperty('create'); }; - this._doSendAll = function(amount) { - this.setForm(null, amount); + this._doSendAll = function(amount, feeRate) { + this.setForm(null, amount, null, feeRate); }; this.confirmDialog = function(msg, cb) { @@ -1069,7 +1086,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi } }; - this.sendAll = function(amount, feeStr) { + this.sendAll = function(amount, feeStr, feeRate) { var self = this; var msg = gettextCatalog.getString("{{fee}} will be discounted for bitcoin networking fees", { fee: feeStr @@ -1077,7 +1094,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi this.confirmDialog(msg, function(confirmed) { if (confirmed) - self._doSendAll(amount); + self._doSendAll(amount, feeRate); }); }; From dc303615e4119963c9d17043638f6fdbddeb1173 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Thu, 13 Aug 2015 15:40:13 -0300 Subject: [PATCH 127/158] add chrome icon --- public/img/icons/icon-chrome-128.png | Bin 0 -> 6437 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/img/icons/icon-chrome-128.png diff --git a/public/img/icons/icon-chrome-128.png b/public/img/icons/icon-chrome-128.png new file mode 100644 index 0000000000000000000000000000000000000000..0044af9ca10ee2f69553bb2826fe539cb8adfb09 GIT binary patch literal 6437 zcmZ`;WmFqYxDLT7E`{PwD3Tz>DJfE%Rj4xIqAbJ!1esBn1EPS?e^|J0`;Fhv8WxZ- zLtlI+B$flB!5VaIP0d8z2O1BLtQK6w>J}1QMV59GMl<>7U}q*{%r0Xisc+@8l@ESq zdeTu1cZIdp9*zaD#o62IvZOVaCoRDT@%>-e+zvShFA*`j6K z=ctq-V9o1zAaC20LR@)L8)&PkP>vQEpxB8IBJKqOJp*2@28L5(yw$*9eOO~AY_U!6^gk!Md(o{*zVF<8@aln993G_ zi5qYK_MNvGX1zZ9$3oIX0ofekH#Q7*ZZptqfCAheSb&8Q?OgDu!(Ug{)H_=dWX%1m zpex50tssrhVm!b8NQ_b%Mi{;U>RUk_X1$wcy_wgp_;DvH?fkRSXP?C;3yNE9-F&yu zZZ9!;#wHk|V3Jf-&B5g0tF56RJ6(^LBaq*eHrl#K4p_W;942kJ1HZ z_($oV&(H1A#e?HMmDiXmKO}QiaehR0d{dAFpb`?{N=@*G^w{@ox5maNn;Or-Y*kh z@>N2z1Lx*`va*>}r|_h@DmKSf$PyRhNkMRfpb%)~!f<`z%h*h@;pHB(3~@i~ICxlL z-xF4;0$iNk!!PwlN}7;JUm5eo*7)X=S8}!WE~9fT%(P*_{uP}dZjdSn7e|qmMAyiM zJfI?r_KHSi%;wlW+nr79e?Lf|e@@wlxIcmQM(Awy$Hk)*%>NB$p1p&Lo?3^hQ$zI7|n69qE^Zj1Mo6{(*<&9}@$6mHdFQbMv76ccy zWwgJfAj%Uq&BUpvAG!pinVns~R5Q>R?lLP9`g(?|wO28@wBNsdZWexVO$bDkfBLjo z>!0k~8q)os4}e*WZxl!@1xgSa!=IRVMA=e^f#JV9zl7X+Ka0lIIz3u{*B>*n^ZL5v z?RG)hacfFPRx~~}ITyn)1s~<$SE8zM$43h~5ckZe`(gfc1@;RrSJ6zJp8j&$G5>`H}B3Ah_G)itcR}*yzzuGqVx}+7VTdjuqU~|82!$bgN^XTfaOV`%Uw3cW77V;Tk)fwgjt%@VU%GDtnWr zF?oy8=owQKS+hKEe4h^bwo|gQM9K_gwFEovuCEbyrxu<*0ZvZsCRpb<=R@P8lxMmN zG58MwfL`tWFnMMGQI{#t`ADJc&H8qS=vs4oerfvi`FLfmotL@dY+Z{-WcarY=ab9< zI!bppr(0`O-{%`FyVg`vAR!d~Cd>EWop0-=S7S!3$)QNg*P9M-$K>(DDMg$NTJ2CT zpUT_+LhCs~TbCziMkf-u@Is+rEHh{dmUzxTPRL5*EsGhaTit}O zY(K7eEAQZEI#2{k3kJzl>6DX_Z&lwG4Nw}LcY}9xt@Jm^%1q0IQ!rBVq z+uLvlhxOi67oL6Za5EHXkF%%Yts)Rt7GK`dUy{Vuhr3UUv@0}9H`2j%f6Sk@iomM6 zVwgl-_O;8rCEJ&`x7QvLYi)57OwEqYcX4hK$4Zp7)82eD2 z*!?d{lWI&xBZ=&E7eqY|m*RGhcH8!6D}Uq_!AGC(HcK@#-VU#!pF0U7x7=`#GEK;( zJ+x%+1JZke(I1R=)0r!fK07j)(!W(iN982;lIZs#Vl?8vJ*RXZjsnY;$)SY>_mi$G zgA~_HRiWq=I%sgC^=ZckeQdyLms_c}Ca<$vLK??q>+_IuVD3aCcSqhAlmO#!C_R=! z-^JOHdju7VwB9ob!AjiF&p69kvul(+s`L(lZBY1-Ql=BQ&r?IceQ@8-q zqY&*j61fzLEs>v1|J8wM`}JJ6Qd!(PDD#HbsWZ)MwM&>{@52%?QRMbUwXM@`_&)=Q z8-2V8F=V?V86f8Y0}4p5%eA}f>i!VfAs2Y>zC^rC$HBt|AYxz{>WgG~VQ=M8QvCMw_GX ztl-p?I}?MyD6=~{bYsVDGNTpQs$ZNBKa|H>#g8yRp@={A zTTQ)Z5Mb1|Yg7i2rtQR0HT0GN=$$jXexha)4z-m!*s>$L` z?-X(9)6TQSBwr`kx9Air(XBZ_iM6}&n2_|f^+6d$94HEHW%eu;O+#Jng6+npc^4W1Fw|t#S;X_HWo6Cp;X$QZ zoAc)3G(LwI`NARa?fl&8FPg(^-D0+%_Jie-v5G9@XMz&9C=y;yd`jhq-tE__i_%4A zHQDN~c`+Nk>wPsB(9dyFlaeIOJ}d}|9KF{94gWWcOj6_3b*(?fDrlcB%Ly#4t>V(r zW+)C(7|)w)$tzY*@9eFT`D`$v$VX(O9V!TrH9LK#TO&?<@cE%q;k8LR(GPS{Jdmxml)NoL#lFs$|HU#g$w|NkglD#h26~dyZtO+jD1KI&cCC@hIHV|=TK*6eYw0AUx;$r1-2(4({6Hd^+~t}ygi6sCiY z4|3cdlRPrKm&~<1K41p3MSaf;)SDkmiw~GK+4kHN_I_$99V7Gko-$(!Q?ufc@V=7w zy?F3o2Xh@6tq9iFoyJwR_v|10L@(?|eb|VEwMM_;NUn19B^r_!BvHpD+M}%aX94e<-Q>D@55-6kG$#gR&4$&VthuOEZ>F*# zi(P*E01}fS;ZRtdmO9e1{e_>Jy_SM|Ok52HHtQ0ExiZUAQ%ScrAsxT`g}(?Ru_@lX z2|sR7DIR>T{T{H;ff(2MS0xo7S>lP3X7wfjS%Op&135*-BZy$VH-%4~D zhgX^8*if=2V3*DWE?K`4I3L_5P}TE@QMsnxm|ntcoOh(@fw0Py(#b7i0qkeDjQoyy z4LxBbpU=0JYs^Qqu|p*J8hJ;vso3_q=z3OdC}a)ukTQ}_rUVH)JEt_VOnTE%=@X62L2pX#K3rjM#v&!rlKUD z_tO$TN+AlAl^{D-_Db=CN}s8KY`=2^BDC8?%#g19kcMBNegd)hU;RFpe)Bx^v7WX0 z>sM@yAW%Urznk7<>kcz-O$r%l+nSW*`cQa3)2GfD_XA<;It zFuK&d5<}Eae8Uz!ml%SpJ8btlwFtK(_)Him<1n`8KrU<4RQg6q|XoYvyC7!f&?f4HDdWhw0MjCv0QJ0pC)#u?|o0bPU_gkoYF1MM5qREd1qlH zdwK6<@|L9!eS~AA$k<)LihT%i_%dlB<9n#j9lRVX46owPo0I?2pSxlWFbN~F&r1??0jPRSeWoV5 zx;QfEwL03my?NgmBVU}$t0>Xd_Aq?^y}Ud*)Hm!#{nl`3S&Hn>tYDzJ)4F#`FmQ)% z7$t0}e<8iS=je`Z|@n~~^* zvIIOcHM<Zoi23S~BsA{M?@_5Z z^s;~W#M1tjvmNSy@<*qGKRRPZB?bAlRDSdjkR1QK+GR^0;5$zv-0|GMafr>I1XZJh zlN2Su-gWFXM|LT*GCLKDJ=j{9*oh5Em3WJa&QBgozg%3;M(fJ$c@PnO{koLV;hGpk zhU9d4ksq}7clVB1s0HrUpN$%NFnw5aRDog~nVclxr1r2sIE1vThBR_)Bf6(m+TI76 z+{H?u-m%&ZUX$HDaO_3+?C7 z6)~*iiK6F50!|?sci)qdLbXgV)WZW@R5Dh(-${i3F{7}$I1vhQt@VnF2W9fUyP^&{ zm?vB_+4-{!VI(n-S;5A)3y%lRMy9{+=_j8*WEsL`wntM<$sR@`G}$`rkRE=1f!gZ{ zC-*~%e^h*T*Nwy=dq9@~o5*oY(^C*3Ts_`*r(qCeh-)K~8wj+0F|1b14b0_8k-V=? ztvGFAbOilfIHJm!*HF-lb5jiX)kp;OwSURIJrO)%d9*UthB@c4BZLP}#}4hby?R*wwgn?g7r8>wY2#%f52?|gT6 zN%4xDN9e@Im@N8|6Osc}6`b0d$Qs~LEla}{kFtpBd%!lge%Jc>W&PC+PEQ)OvAo)2 zZIi~PJZCFH%6(8~q2|)twJ;*q5Pau<{Bhbfh(KkO*=r^Np-I;4evWMgBpo^EGr^l& z=UKUe5DEf?{B~bI-)mJm-7U&+8`*`6Q3`~zx|+QMBuM4n9kmnh$O}5szEPjmr-&dFMkTznAdnWk7>X!J{Q(!OPI>ExcqO#oul2)`)s02f|Ao~Q>Q@_ zp--Oez48I#WJVJ^DlYd1k|sepe6K0zhN{pRyD~gYzUWgM9nxY74aOebE#2o}a>HoM6Qw&T|U(J9qv!jhSJ1ze<$)wgq#o5*%L% z%|QYuT;}MTv}N%SQ>vi(j~rf$bZSX$!E7!r)jRlNx%j$4_mJU^zjdy7&h3S(cX*;< zW1nM%)#w@gu_aO3w9v-ibR`yHTmo@qiuP9hEd=qGVs!-9vG3U7VAUjD(G6Xow_$wW zX1{qI4_W{{4`zxGY4GBN`ycw9cm^)5TvbZXUMY)TRHB(;8NRQIgvA;!Z5*$xUmqW) zNoEVK24!avblOprKq*RbF0nL6{T$7^OH(xIph8Wa{4-HDY|=GG%_ZoC6C{WCB&_Z^=$ zr5^G>$90>sO~%CWJqpE`@`_k&wCE;a*G%$e8?+_s37EU;XG0lC+270kMjsfiR4#v$ z-ZmAZGXm`Z%@7T?JUT-hO;U2KohscsvHoTM87eOYeF_?n5``uD72{b+_yNi$&CU&o$^F#jlXsMP7`h+iK-vtuN{zjq z7=*zaae*7bz$ie-nEsWk6P-vH*Sio`*;4nrC}G8Rx0Vt9eg88-gk+cKPK4qM*2#MRN5Rg)+zR&P W|5u<91aBi10P-@*(iM`%f&T+pt459h literal 0 HcmV?d00001 From 330f2d7c9ed9dff06a0eb1fc626212b6c1fd57a7 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Thu, 13 Aug 2015 15:43:58 -0300 Subject: [PATCH 128/158] update manifest --- browser-extensions/chrome/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/browser-extensions/chrome/manifest.json b/browser-extensions/chrome/manifest.json index d5361b40e..c628f0073 100644 --- a/browser-extensions/chrome/manifest.json +++ b/browser-extensions/chrome/manifest.json @@ -14,6 +14,6 @@ } }, "icons": { - "128": "img/icons/icon.png" + "128": "img/icons/icon-chrome-128.png" } } From 9d2a6614c8704cd90d9ccaf030f4a20497c662ed Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Thu, 13 Aug 2015 16:21:03 -0300 Subject: [PATCH 129/158] Updates po files --- i18n/docs/appstore_de.txt | 2 +- i18n/docs/updateinfo_el.txt | 10 +- i18n/docs/updateinfo_es.txt | 10 +- i18n/docs/updateinfo_fr.txt | 12 +- i18n/docs/updateinfo_ja.txt | 10 +- i18n/docs/updateinfo_ko.txt | 10 +- i18n/docs/updateinfo_tr.txt | 10 +- i18n/po/de.po | 341 ++++++++++++++++++++++++++--------- i18n/po/el.po | 333 ++++++++++++++++++++++++++-------- i18n/po/es.po | 323 +++++++++++++++++++++++++-------- i18n/po/fr.po | 349 +++++++++++++++++++++++++++--------- i18n/po/it.po | 333 ++++++++++++++++++++++++++-------- i18n/po/ja.po | 333 ++++++++++++++++++++++++++-------- i18n/po/pt.po | 329 +++++++++++++++++++++++++-------- i18n/po/ru.po | 192 +++++++++++++++----- 15 files changed, 1977 insertions(+), 620 deletions(-) diff --git a/i18n/docs/appstore_de.txt b/i18n/docs/appstore_de.txt index 5cc3453f1..c65e43e35 100644 --- a/i18n/docs/appstore_de.txt +++ b/i18n/docs/appstore_de.txt @@ -1,4 +1,4 @@ -Sichere Bitcoins zu eigenen Bedingungen, mit einem quelloffenen Gemeinschaftswallet(elektronische Brieftasche mit Mehrfachunterschriften) von BitPay. +Sichere Bitcoins zu eigenen Bedingungen, mit einem quelloffenen Gemeinschaftswallet (elektronische Brieftasche mit Mehrfachunterschriften) von BitPay. Copay Nutzer können ihre Beträge individuell speichern oder ihre Finanzen mit anderen Nutzern in Gemeinschaftswallets teilen, die je nach Einstellung mehrere Bestätigungen (elektronische Unterschriften) benötigen und so nichtautorisierte Zahlungen verhindern. Ein paar Einsatzmöglichkeiten, wie ein solches Wallet mit anderen Copayern genutzt werden kann: Ansparen von Beträgen für Urlaub oder gemeinsame Anschaffungen (z.B. mit Freunden) diff --git a/i18n/docs/updateinfo_el.txt b/i18n/docs/updateinfo_el.txt index a42d506ce..9e57216d8 100644 --- a/i18n/docs/updateinfo_el.txt +++ b/i18n/docs/updateinfo_el.txt @@ -1,7 +1,5 @@ -* Τώρα είναι δυνατό να κάνετε αντίγραφα ασφαλείας, χωρίς δυνατότητες ψηφιακής υπογραφής (για περισσότερες πληροφορίες δείτε εδώ https://github.com/bitpay/copay/pull/2998) -* Βελτίωση των κανόνων ανανέωσης και της διαλογής στο ιστορικό συναλλαγών -* Καλύτερη διαχείριση των `λανθασμένων` συναλλαγών στο ιστορικό -* Καλύτερη διαχείριση των πορτοφολιών με 1000+ συναλλαγές στο ιστορικό τους -* Εξάγει τα αρχεία .csv με αναγνωριστικό συναλλαγής -* Καλύτερη πολιτική επιλογής αξόδευτων συναλλαγών +* Adaptive fee levels based on bitcoin network load +* Option to prevent creating transactions with unconfirmed inputs +* Added advanced sending options +* Added Italian, Russian, and Greek language options * Μικρές διορθώσεις σφαλμάτων diff --git a/i18n/docs/updateinfo_es.txt b/i18n/docs/updateinfo_es.txt index 7153b25b8..05c8a50ae 100644 --- a/i18n/docs/updateinfo_es.txt +++ b/i18n/docs/updateinfo_es.txt @@ -1,7 +1,5 @@ -* Copias de seguridad sin capacidad de firmar transacciones (más información https://github.com/bitpay/copay/pull/2998) -* Mejor reglas de orden y actualización en la historia de transacción -* Mejor manejo de transacciones no válidas -* Mejor manejo de monederos con 1K+ transacciones -* Exporta archivos .csv con el ID de transacción -* Mejor política de selección de UTXOs +* Adaptive fee levels based on bitcoin network load +* Option to prevent creating transactions with unconfirmed inputs +* Opciones de envío avanzado +* Nuevos idiomas: Italiano, Ruso, and Griego * Corrección de errores menores diff --git a/i18n/docs/updateinfo_fr.txt b/i18n/docs/updateinfo_fr.txt index 4aaf51127..d6e6fbad1 100644 --- a/i18n/docs/updateinfo_fr.txt +++ b/i18n/docs/updateinfo_fr.txt @@ -1,7 +1,5 @@ -• Il est maintenant possible de faire des sauvegardes sans les capacités de signature (plus d'informations sur https://github.com/bitpay/copay/pull/2998) -• Meilleures règles d'actualisation et de tri dans l'historique des transactions -• Meilleure prise en charge des transactions 'invalides' dans l'historique -• Meilleure prise en charge des portefeuilles avec plus de 1000 transactions dans l'historique -• Exportez les fichiers .csv avec un ID de transaction -• Meilleures politiques de sélection des UTXO -• Corrections de bugs mineurs +* Adaptive fee levels based on bitcoin network load +* Option to prevent creating transactions with unconfirmed inputs +* Ajout d'options d'envois avancés +* Ajout de langues : Italien, Russe et Grec +* Corrections de bugs mineurs diff --git a/i18n/docs/updateinfo_ja.txt b/i18n/docs/updateinfo_ja.txt index 53834a107..3ccbee5fe 100644 --- a/i18n/docs/updateinfo_ja.txt +++ b/i18n/docs/updateinfo_ja.txt @@ -1,7 +1,5 @@ -■ 署名のできない、送金の提案のみできる閲覧専用のバックアップが作成できます。(詳細 https://github.com/bitpay/copay/pull/2998) -■ 取引履歴のソートとページ更新の品質向上 -■ 「無効」な取引の処理改善 -■ 1000個以上の取引履歴のあるウォレットの処理改善 -■ 取引のCSV出力可能 -■ 未使用出力(utxo)の選択ロジックの改善 +* Adaptive fee levels based on bitcoin network load +* Option to prevent creating transactions with unconfirmed inputs +■ 詳細な送金設定の追加 +■ イタリア語、ロシア語、ギリシャ語の言語選択を追加 ■ バグの修正 diff --git a/i18n/docs/updateinfo_ko.txt b/i18n/docs/updateinfo_ko.txt index 250e40459..b656af4fd 100644 --- a/i18n/docs/updateinfo_ko.txt +++ b/i18n/docs/updateinfo_ko.txt @@ -1,7 +1,5 @@ -서명 기능과 관계 없는 백업 생성이 가능합니다. (https://github.com/bitpay/copay/pull/2998 더 많은 정보) -* 트랜잭션 기록의 더 나은 새로고침 및 정렬 -* 기록에서의 더 나은 '무효' 거래 처리 -* 1천회가 넘는 지갑의 기록 처리 향상 -트랜잭션 ID를 이용한 .csv 파일 내보내기 -* 더 나은 UXTO 선택 정책 +* Adaptive fee levels based on bitcoin network load +* Option to prevent creating transactions with unconfirmed inputs +* Added advanced sending options +* Added Italian, Russian, and Greek language options 자잘한 버그 수정 diff --git a/i18n/docs/updateinfo_tr.txt b/i18n/docs/updateinfo_tr.txt index 50387207c..ed9f8aa09 100644 --- a/i18n/docs/updateinfo_tr.txt +++ b/i18n/docs/updateinfo_tr.txt @@ -1,7 +1,5 @@ -*Artık imza özelliği olmadan yedek almak mümkün (daha fazla bilgi için https://github.com/bitpay/copay/pull/2998) -*İşlem geçmişinde daha iyi yenileme ve sıralama kuralları -*Geçmişteki `geçersiz` işlemleri daha iyi kullanma -*Geçmişte 1K+ fazla işlemlerin olduğu cüzdanlara daha iyi kullanım -*İşlem kimliği ile .csv dosyalarını çıkarma -*Daha iyi UTXO seçim ilkeleri +* Adaptive fee levels based on bitcoin network load +* Option to prevent creating transactions with unconfirmed inputs +* Added advanced sending options +* Added Italian, Russian, and Greek language options *Küçük hata düzeltmeleri diff --git a/i18n/po/de.po b/i18n/po/de.po index f1d6c22d9..907f2966c 100644 --- a/i18n/po/de.po +++ b/i18n/po/de.po @@ -12,7 +12,7 @@ msgstr "" "Last-Translator: cmgustavo83\n" "Language-Team: German\n" "Language: de\n" -"PO-Revision-Date: 2015-07-23 11:32-0400\n" +"PO-Revision-Date: 2015-08-13 09:15-0400\n" #: public/views/walletHome.html msgid "(possible double spend)" @@ -39,6 +39,9 @@ msgid "About Copay" msgstr "Über Copay" #: public/views/modals/txp-details.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js msgid "Accept" msgstr "Akzeptieren" @@ -56,6 +59,10 @@ msgstr "Adresse" msgid "Advanced" msgstr "Erweitert" +#: public/views/modals/advancedSend.html +msgid "Advanced Send" +msgstr "Advanced Send" + #: public/views/disclaimer.html msgid "Agree" msgstr "Zustimmen" @@ -64,6 +71,10 @@ msgstr "Zustimmen" msgid "Alias for {{index.walletName}}" msgstr "Alias für {{index.walletName}}" +#: public/views/translators.html +msgid "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at" +msgstr "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at" + #: public/views/splash.html msgid "Already have a wallet?" msgstr "Existiert bereits ein Wallet?" @@ -74,11 +85,15 @@ msgstr "Alternative Währung" #: public/views/paymentUri.html #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/modals/customized-amount.html -#: public/views/modals/txp-details.html msgid "Amount" msgstr "Betrag" +#: src/js/services/bwsError.js +msgid "Amount below dust threshold" +msgstr "Amount below dust threshold" + #: public/views/walletHome.html #: public/views/modals/customized-amount.html msgid "Amount in" @@ -97,6 +112,11 @@ msgstr "Soll das Wallet wirklich gelöscht werden?" msgid "Available Balance" msgstr "Verfügbarer Gesamtbetrag" +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Average confirmation time: {{fee.nbBlocks * 10}} minutes" +msgstr "Average confirmation time: {{fee.nbBlocks * 10}} minutes" + #: public/views/create.html #: public/views/join.html msgid "BIP32 master extended private key" @@ -124,6 +144,10 @@ msgstr "Jetzt sichern" msgid "Backup options" msgstr "Sicherungseinstellungen" +#: src/js/services/profileService.js +msgid "Bad wallet invitation" +msgstr "Bad wallet invitation" + #: public/views/walletHome.html msgid "Before receiving funds, it is highly recommended you backup your wallet keys." msgstr "Bevor Beträge empfangen werden, wird dringend empfohlen die Wallet Schlüssel zu sichern." @@ -141,8 +165,8 @@ msgid "Bitcoin address" msgstr "Bitcoinadresse" #: public/views/preferencesFee.html -msgid "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. The ‘Emergency’ level should only be used when there is a network congestion." -msgstr "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. The ‘Emergency’ level should only be used when there is a network congestion." +msgid "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy." +msgstr "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy." #: public/views/modals/txp-details.html msgid "Broadcast Payment" @@ -170,9 +194,17 @@ msgstr "ABBRUCH" #: public/views/copayers.html #: public/views/walletHome.html +#: public/views/modals/confirmation.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js msgid "Cancel" msgstr "Abbruch" +#: src/js/services/profileService.js +msgid "Cannot join the same wallet more that once" +msgstr "Cannot join the same wallet more that once" + #: public/views/modals/paypro.html msgid "Certified by" msgstr "Zertifiziert von" @@ -181,19 +213,16 @@ msgstr "Zertifiziert von" msgid "Changing wallet alias only affects the local wallet name." msgstr "Änderung der Aliases hat nur Auswirkungen auf den lokalen Namen des Wallets" -#: src/js/controllers/walletHome.js -msgid "Check you connection and try again" -msgstr "Bitte die Verbindung prüfen und erneut probieren" - #: public/views/import.html msgid "Choose a backup file from your computer" msgstr "Bitte eine Sicherungsdatei vom Computer wählen" #: public/views/modals/wallets.html msgid "Choose a wallet to send funds" -msgstr "Choose a wallet to send funds" +msgstr "Wählen Sie eine Zahlungsmethode, um Geld zu senden" #: public/views/includes/topbar.html +#: public/views/modals/advancedSend.html #: public/views/modals/copayers.html #: public/views/modals/customized-amount.html #: public/views/modals/paypro.html @@ -210,14 +239,42 @@ msgstr "Farbe" msgid "Commit hash" msgstr "Hash übertragen" +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Confirm" +msgstr "Bestätigen" + #: public/views/modals/tx-details.html msgid "Confirmations" msgstr "Bestätigungen" +#: src/js/services/bwsError.js +msgid "Copayer already in this wallet" +msgstr "Copayer already in this wallet" + +#: src/js/services/bwsError.js +msgid "Copayer already registered" +msgstr "Copayer already registered" + +#: src/js/services/bwsError.js +msgid "Copayer already voted on this spend proposal" +msgstr "Copayer already voted on this spend proposal" + +#: src/js/services/bwsError.js +msgid "Copayer data mismatch" +msgstr "Copayer data mismatch" + #: public/views/modals/copayers.html msgid "Copayers" msgstr "Copayers" +#: src/js/controllers/backup.js +#: src/js/controllers/copayers.js +#: src/js/controllers/walletHome.js +msgid "Copied to clipboard" +msgstr "In Zwischenablage kopiert" + #: public/views/backup.html msgid "Copy backup to a safe place" msgstr "Sicherung an einen sicheren Ort kopieren" @@ -231,20 +288,20 @@ msgid "Copy to clipboard" msgstr "In die Zwischenablage kopieren" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check you connection and try again" -msgstr "Zahlung konnte nicht angenommen werden. Bitte die Verbindung überprüfen und erneut versuchen" +msgid "Could not accept payment" +msgstr "Could not accept payment" + +#: src/js/controllers/index.js +msgid "Could not access Wallet Service: Not found" +msgstr "Could not access Wallet Service: Not found" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check you connection and try again" -msgstr "Zahlung kann nicht übermittelt werden. Bitte die Verbindung prüfen und erneut probieren" +msgid "Could not broadcast payment" +msgstr "Could not broadcast payment" -#: src/js/controllers/walletHome.js -msgid "Could not connect wallet service. Check your Internet connection and your wallet service configuration." -msgstr "Could not connect wallet service. Check your Internet connection and your wallet service configuration." - -#: src/js/controllers/walletHome.js -msgid "Could not create address. Check you connection and try again" -msgstr "Es kann keine Adresse erzeugt werden. Bitte Verbindung prüfen und erneut versuchen" +#: src/js/services/addressService.js +msgid "Could not create address" +msgstr "Could not create address" #: src/js/controllers/walletHome.js msgid "Could not create payment proposal" @@ -259,8 +316,8 @@ msgid "Could not decrypt file, check your password" msgstr "Datei kann nicht entschlüsselt werden, bitte das Passwort überprüfen" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check you connection and try again" -msgstr "Die Zahlungsanweisung kann nicht gelöscht werden. Bitte Verbindung prüfen und erneut probieren" +msgid "Could not delete payment proposal" +msgstr "Could not delete payment proposal" #: src/js/controllers/walletHome.js msgid "Could not fetch payment information" @@ -278,23 +335,23 @@ msgstr "Import nicht möglich. Bitte Datei und Passwort überprüfen" msgid "Could not join using the specified extended private key" msgstr "Teilnahme mit spezifizierten erweiterten privaten Schlüssel nicht möglich" -#: src/js/controllers/join.js -msgid "Could not join wallet:" -msgstr "Beteiligung am Wallet nicht möglich" +#: src/js/services/profileService.js +msgid "Could not join wallet" +msgstr "Could not join wallet" #: src/js/controllers/walletHome.js msgid "Could not recognize a valid Bitcoin QR Code" msgstr "Es konnte kein gültiger Bitcoin-QR-Code erkannt werden," #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check you connection and try again" -msgstr "Zahlung kann nicht abgelehnt werden. Bitte Verbindung prüfen und erneut versuchen" +msgid "Could not reject payment" +msgstr "Could not reject payment" #: src/js/controllers/walletHome.js msgid "Could not send payment" msgstr "Zahlung kann nicht gesendet werden" -#: public/views/walletHome.html +#: src/js/controllers/index.js msgid "Could not update Wallet" msgstr "Wallet kann nicht aktualisiert werden" @@ -331,6 +388,11 @@ msgstr "Wallet erstellen..." msgid "Creating transaction" msgstr "Transaktion erstellen" +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB" +msgstr "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB" + #: public/views/modals/tx-details.html msgid "Date" msgstr "Datum" @@ -370,6 +432,10 @@ msgstr "Deaktiviert" msgid "Do not include private key in backup" msgstr "Keine privaten Schlüssel zur Sicherung hinzufügen" +#: public/views/translators.html +msgid "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." +msgstr "Wird deine Sprache auf Crowdin nicht angezeigt? Kontaktiere den Support von Crowdin, denn wir würden deine Sprache gerne hinzufügen." + #: public/views/walletHome.html msgid "Download CSV file" msgstr "CSV-Datei herunterladen" @@ -378,22 +444,14 @@ msgstr "CSV-Datei herunterladen" msgid "Download backup" msgstr "Download der Sicherung " -#: public/views/includes/password.html -msgid "ENTER" -msgstr "ENTER" - -#: src/js/controllers/preferencesFee.js +#: src/js/services/feeService.js msgid "Economy" -msgstr "Economy" +msgstr "Wirtschaft" #: public/views/preferences.html msgid "Email Notifications" msgstr "Benachrichtigunen per E-Mail" -#: src/js/controllers/preferencesFee.js -msgid "Emergency" -msgstr "Emergency" - #: public/views/preferences.html msgid "Encrypt Private Key" msgstr "Verschlüsselung des privaten Schlüssels" @@ -402,22 +460,18 @@ msgstr "Verschlüsselung des privaten Schlüssels" msgid "Encrypted backup file saved" msgstr "Verschlüsselte Sicherungsdatei wurde gespeichert" -#: src/js/controllers/index.js -msgid "English" -msgstr "Englisch" - #: public/views/includes/password.html msgid "Enter your password" msgstr "Passwort eingeben" +#: src/js/controllers/index.js +msgid "Error at Wallet Service" +msgstr "Error at Wallet Service" + #: src/js/services/profileService.js msgid "Error creating wallet" msgstr "Fehler beim Erstellen des Wallets" -#: src/js/services/profileService.js -msgid "Error creating wallet. Check your internet connection" -msgstr "Fehler beim Erstellen des Wallets. Bitte die Internetverbindung prüfen" - #: src/js/services/profileService.js msgid "Error importing wallet:" msgstr "Fehler beim Import des Wallets" @@ -429,7 +483,7 @@ msgstr "Gültig bis" #: public/views/backup.html msgid "Failed to create backup" -msgstr "Failed to create backup" +msgstr "Fehler beim Erstellen der Sicherung" #: src/js/controllers/importLegacy.js msgid "Failed to import wallets" @@ -444,15 +498,27 @@ msgstr "Familienurlaub" msgid "Fee" msgstr "Gebühr" +#: public/views/modals/advancedSend.html +msgid "Fee Policy" +msgstr "Fee Policy" + +#: public/views/walletHome.html +msgid "Fee policy for this transaction" +msgstr "Fee policy for this transaction" + #. Get information of payment if using Payment Protocol #: src/js/controllers/walletHome.js msgid "Fetching Payment Information" msgstr "Zahlungsinformationen abrufen" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "French" msgstr "Français" +#: src/js/services/bwsError.js +msgid "Funds are locked by pending spend proposals" +msgstr "Funds are locked by pending spend proposals" + #: src/js/services/notificationsService.js msgid "Funds received" msgstr "Beträge empfangen" @@ -463,7 +529,7 @@ msgstr "JETZT STARTEN" #: public/views/modals/customized-amount.html msgid "Generate QR Code" -msgstr "Generate QR Code" +msgstr "QR-Code generieren" #: public/views/walletHome.html msgid "Generate new address" @@ -473,7 +539,7 @@ msgstr "Neue Adresse erzeugen" msgid "Generating .csv file..." msgstr "CSV-Datei erzeugen..." -#: src/js/controllers/index.js +#: public/views/translators.html msgid "German" msgstr "Deutsch" @@ -489,7 +555,7 @@ msgstr "Globale Einstellungen" msgid "Go back" msgstr "Zurück" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Greek" msgstr "Griechisch" @@ -500,8 +566,9 @@ msgstr "Ist eine Copay v0.9 Sicherung vorhanden" #: public/views/backup.html #: public/views/create.html #: public/views/join.html -msgid "Hide Advanced options" -msgstr "Erweiterte Optionen ausblenden" +#: public/views/walletHome.html +msgid "Hide advanced options" +msgstr "Hide advanced options" #: src/js/controllers/index.js msgid "History" @@ -522,7 +589,7 @@ msgstr "Sofern nicht angegeben, wird ein sicherer Schlüssel erzeugt " #: public/views/importLegacy.html msgid "Import" -msgstr "Import" +msgstr "Importien" #: public/views/import.html #: public/views/splash.html @@ -549,15 +616,35 @@ msgstr "Wallet wird importiert..." msgid "Importing..." msgstr "Importiere..." +#: src/js/services/bwsError.js +msgid "Incorrect address network" +msgstr "Incorrect address network" + +#: src/js/services/bwsError.js +msgid "Insufficient funds" +msgstr "Insufficient funds" + +#: src/js/services/bwsError.js +msgid "Insufficient funds for fee" +msgstr "Insufficient funds for fee" + #: public/views/walletHome.html msgid "Invalid" -msgstr "Invalid" +msgstr "Ungültig" -#: src/js/controllers/index.js +#: src/js/services/bwsError.js +msgid "Invalid address" +msgstr "Invalid address" + +#: src/js/controllers/copayers.js +msgid "Invitation to share a Copay Wallet" +msgstr "Invitation to share a Copay Wallet" + +#: public/views/translators.html msgid "Italian" msgstr "Italienisch" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Japanese" msgstr "日本語" @@ -570,6 +657,10 @@ msgstr "Sascha" msgid "Join" msgstr "Teilnehmen" +#: src/js/controllers/copayers.js +msgid "Join my Copay wallet. Here is the invitation code: {{secret}} You can download Copay for your phone or desktop at https://copay.io" +msgstr "Join my Copay wallet. Here is the invitation code: {{secret}} You can download Copay for your phone or desktop at https://copay.io" + #: public/views/add.html msgid "Join shared wallet" msgstr "Gemeinschaftliches Wallet" @@ -586,6 +677,14 @@ msgstr "Sprache" msgid "Learn more about Wallet Migration" msgstr "Mehr über die Migration von Wallets erfahren" +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to create a new spend proposal" +msgstr "Locktime in effect. Please wait to create a new spend proposal" + +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to remove this spend proposal" +msgstr "Locktime in effect. Please wait to remove this spend proposal" + #: public/views/paymentUri.html msgid "Make a payment to" msgstr "Sende eine Zahlung an" @@ -634,14 +733,14 @@ msgstr "Eigene Bitcoinadresse" msgid "Network" msgstr "Netzwerk" +#: src/js/services/bwsError.js +msgid "Network connection error" +msgstr "Network connection error" + #: src/js/services/notificationsService.js msgid "New Payment Proposal" msgstr "Neue Zahlungsvorschlag" -#: public/views/modals/confirmation.html -msgid "No" -msgstr "Nein" - #: public/views/walletHome.html msgid "No Private key" msgstr "Kein privater Schlüssel" @@ -650,21 +749,30 @@ msgstr "Kein privater Schlüssel" msgid "No transactions yet" msgstr "Noch keine Transaktionen" -#: src/js/controllers/preferencesFee.js +#: src/js/services/feeService.js msgid "Normal" msgstr "Normal" +#: src/js/services/bwsError.js +msgid "Not authorized" +msgstr "Not authorized" + #: public/views/walletHome.html #: public/views/modals/customized-amount.html msgid "Not valid" msgstr "Nicht gültig" #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/modals/tx-details.html -#: public/views/modals/txp-details.html msgid "Note" msgstr "Notiz" +#: public/views/includes/alert.html +#: public/views/includes/password.html +msgid "OK" +msgstr "OK" + #: public/views/modals/tx-status.html msgid "OKAY" msgstr "Okay" @@ -768,6 +876,10 @@ msgstr "Zahlung gesendet!" msgid "Payment to" msgstr "Zahlung an" +#: public/views/walletHome.html +msgid "Pending Confirmation" +msgstr "Pending Confirmation" + #: public/views/preferencesDeleteWallet.html msgid "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" msgstr "Wallet dauerhaft löschen. DIESE AKTION KANN NICHT RÜCKGÄNGIG GEMACHT WERDEN" @@ -781,11 +893,15 @@ msgstr "Persönliches Wallet" msgid "Please enter the required fields" msgstr "Bitte die benötigten Felder ausfüllen" +#: src/js/services/bwsError.js +msgid "Please upgrade Copay to perform this action" +msgstr "Please upgrade Copay to perform this action" + #: src/js/controllers/import.js msgid "Please, select your backup file" msgstr "Bitte die Sicherungsdatei wählen" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Portuguese" msgstr "Português" @@ -793,9 +909,13 @@ msgstr "Português" msgid "Preferences" msgstr "Einstellungen" -#: src/js/controllers/preferencesFee.js +#: src/js/controllers/backup.js +msgid "Preparing backup..." +msgstr "Backup wird vorbereitet..." + +#: src/js/services/feeService.js msgid "Priority" -msgstr "Priority" +msgstr "Priorität" #: public/views/modals/customized-amount.html msgid "QR Code" @@ -813,6 +933,11 @@ msgstr "Empfangen" msgid "Received" msgstr "Empfangen" +#: public/views/includes/output.html +#: public/views/includes/transaction.html +msgid "Recipients" +msgstr "Empfänger" + #: public/views/walletHome.html msgid "Reconnecting to Wallet Service..." msgstr "Neuverbindung zum Wallet Service... " @@ -856,6 +981,10 @@ msgstr "Benötigt" msgid "Retrying..." msgstr "Neuer Versuch..." +#: public/views/translators.html +msgid "Russian" +msgstr "Russian" + #: public/views/includes/password.html msgid "SET" msgstr "EINRICHTEN" @@ -972,8 +1101,13 @@ msgstr "Wallet teilen" #: public/views/backup.html #: public/views/create.html #: public/views/join.html -msgid "Show Advanced options" -msgstr "Erweiterte Optionen anzeigen" +#: public/views/walletHome.html +msgid "Show advanced options" +msgstr "Show advanced options" + +#: src/js/services/bwsError.js +msgid "Signatures rejected by server" +msgstr "Signatures rejected by server" #: src/js/controllers/walletHome.js msgid "Signing payment" @@ -983,10 +1117,18 @@ msgstr "Zahlung unterschreiben" msgid "Signing transaction" msgstr "Transaktion unterschreiben" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Spanish" msgstr "Español" +#: src/js/services/bwsError.js +msgid "Spend proposal is not accepted" +msgstr "Spend proposal is not accepted" + +#: src/js/services/bwsError.js +msgid "Spend proposal not found" +msgstr "Spend proposal not found" + #: src/js/controllers/copayers.js #: src/js/controllers/import.js #: src/js/controllers/preferencesDelete.js @@ -1011,16 +1153,16 @@ msgid "The payment was created but could not be completed. Please try again from msgstr "Die Zahlung wurde erzeugt, kann aber nicht abgeschlossen werden. Bitte erneut über die Startseite versuchen" #: src/js/controllers/walletHome.js -msgid "The payment was created but could not be signed. Please try again from home screen." -msgstr "Die Zahlung wurde erzeugt, kann aber nicht unterschrieben werden. Bitte erneut über die Startseite versuchen" +msgid "The payment was created but could not be signed. Please try again from home screen" +msgstr "The payment was created but could not be signed. Please try again from home screen" #: public/views/modals/txp-details.html msgid "The payment was removed by creator" msgstr "Die Zahlung wurde vom Ersteller entfernt" #: src/js/controllers/walletHome.js -msgid "The payment was signed but could not be broadcasted. Please try again from home screen." -msgstr "Die Zahlung wurde unterschrieben, kann aber nicht übertragen werden. Bitte erneut über die Startseite versuchen" +msgid "The payment was signed but could not be broadcasted. Please try again from home screen" +msgstr "The payment was signed but could not be broadcasted. Please try again from home screen" #: public/views/backup.html msgid "The private key for this wallet is encrypted. Exporting a backup will keep the private key encrypted in the backup archive." @@ -1030,6 +1172,10 @@ msgstr "Der private Schlüssel für dieses Wallet ist verschlüsselt. Ein Export msgid "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." msgstr "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." +#: src/js/services/bwsError.js +msgid "The spend proposal is not pending" +msgstr "The spend proposal is not pending" + #: src/js/controllers/copayers.js #: src/js/controllers/preferencesDelete.js msgid "The wallet \"{{walletName}}\" was deleted" @@ -1056,12 +1202,17 @@ msgid "Time" msgstr "Zeit" #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/includes/transaction.html #: public/views/modals/tx-details.html #: public/views/modals/txp-details.html msgid "To" msgstr "Zu" +#: public/views/includes/output.html +msgid "Total" +msgstr "Gesamtsumme" + #: public/views/walletHome.html msgid "Total Locked Balance" msgstr "Ingesamt gesperrter Gesamtsaldo" @@ -1070,6 +1221,18 @@ msgstr "Ingesamt gesperrter Gesamtsaldo" msgid "Transaction" msgstr "Transaktion" +#: src/js/services/bwsError.js +msgid "Transaction already broadcasted" +msgstr "Transaction already broadcasted" + +#: public/views/translators.html +msgid "Translation Credits" +msgstr "Danksagung an die Übersetzer" + +#: public/views/preferencesAbout.html +msgid "Translators" +msgstr "Übersetzer" + #: src/js/controllers/walletHome.js msgid "Unable to send transaction proposal" msgstr "Transaktionsvorschlag kann nicht gesendet werden" @@ -1095,6 +1258,11 @@ msgstr "Nicht Vertrauenswürdig" msgid "Updating Wallet..." msgstr "Wallet aktualisieren..." +#: public/views/preferences.html +#: public/views/walletHome.html +msgid "Use Unconfirmed Funds" +msgstr "Use Unconfirmed Funds" + #: public/views/preferencesAbout.html msgid "Version" msgstr "Version" @@ -1139,6 +1307,7 @@ msgstr "Wallet Einladung" msgid "Wallet Invitation is not valid!" msgstr "Wallet Einladung nicht gültig!" +#: src/js/services/bwsError.js #: src/js/services/profileService.js msgid "Wallet already exists" msgstr "Wallet exstiert bereits" @@ -1147,18 +1316,34 @@ msgstr "Wallet exstiert bereits" msgid "Wallet incomplete and broken" msgstr "Wallet unvollständig oder defekt" +#: src/js/services/bwsError.js +msgid "Wallet is full" +msgstr "Wallet is full" + +#: src/js/services/bwsError.js +msgid "Wallet is not complete" +msgstr "Wallet is not complete" + #: public/views/create.html msgid "Wallet name" msgstr "Name des Wallets" -#: src/js/controllers/walletHome.js -msgid "Wallet service timed out. Check your Internet connection and your wallet service configuration." -msgstr "Wallet service timed out. Check your Internet connection and your wallet service configuration." +#: src/js/services/bwsError.js +msgid "Wallet not found" +msgstr "Wallet not found" + +#: src/js/services/bwsError.js +msgid "Wallet service not found" +msgstr "Wallet service not found" #: public/views/preferencesDeleteWallet.html msgid "Warning!" msgstr "Warnung!" +#: public/views/modals/txp-details.html +msgid "Warning: this transaction has unconfirmed inputs" +msgstr "Warning: this transaction has unconfirmed inputs" + #: src/js/services/profileService.js msgid "Wrong password" msgstr "Falsches Passwort" @@ -1219,10 +1404,6 @@ msgstr "Einstellungen" msgid "too long!" msgstr "zu lang!" -#: public/views/preferencesFee.html -msgid "{{fee.value}} bits per kB" -msgstr "{{fee.value}} Bits pro kB" - #: src/js/controllers/walletHome.js msgid "{{fee}} will be discounted for bitcoin networking fees" msgstr "{{fee}} will be discounted for bitcoin networking fees" diff --git a/i18n/po/el.po b/i18n/po/el.po index 81fd45f46..5fff2d04a 100644 --- a/i18n/po/el.po +++ b/i18n/po/el.po @@ -12,7 +12,7 @@ msgstr "" "Last-Translator: cmgustavo83\n" "Language-Team: Greek\n" "Language: el\n" -"PO-Revision-Date: 2015-07-23 11:32-0400\n" +"PO-Revision-Date: 2015-08-13 09:15-0400\n" #: public/views/walletHome.html msgid "(possible double spend)" @@ -39,6 +39,9 @@ msgid "About Copay" msgstr "Σχετικά με το Copay" #: public/views/modals/txp-details.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js msgid "Accept" msgstr "Αποδοχή" @@ -56,6 +59,10 @@ msgstr "Διεύθυνση" msgid "Advanced" msgstr "Για προχωρημένους" +#: public/views/modals/advancedSend.html +msgid "Advanced Send" +msgstr "Advanced Send" + #: public/views/disclaimer.html msgid "Agree" msgstr "Συμφωνώ" @@ -64,6 +71,10 @@ msgstr "Συμφωνώ" msgid "Alias for {{index.walletName}}" msgstr "Ψευδώνυμο για {{index.walletName}}" +#: public/views/translators.html +msgid "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at" +msgstr "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at" + #: public/views/splash.html msgid "Already have a wallet?" msgstr "Έχετε ήδη πορτοφόλι?" @@ -74,11 +85,15 @@ msgstr "Εναλλακτικό Νόμισμα" #: public/views/paymentUri.html #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/modals/customized-amount.html -#: public/views/modals/txp-details.html msgid "Amount" msgstr "Ποσό" +#: src/js/services/bwsError.js +msgid "Amount below dust threshold" +msgstr "Amount below dust threshold" + #: public/views/walletHome.html #: public/views/modals/customized-amount.html msgid "Amount in" @@ -97,6 +112,11 @@ msgstr "Είσαι σίγουρος ότι θέλετε να διαγράψετ msgid "Available Balance" msgstr "Διαθέσιμο Υπόλοιπο" +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Average confirmation time: {{fee.nbBlocks * 10}} minutes" +msgstr "Average confirmation time: {{fee.nbBlocks * 10}} minutes" + #: public/views/create.html #: public/views/join.html msgid "BIP32 master extended private key" @@ -124,6 +144,10 @@ msgstr "Πάρτε Αντίγραφο Ασφαλείας τώρα" msgid "Backup options" msgstr "Επιλογές Αντιγράφου Ασφαλείας" +#: src/js/services/profileService.js +msgid "Bad wallet invitation" +msgstr "Bad wallet invitation" + #: public/views/walletHome.html msgid "Before receiving funds, it is highly recommended you backup your wallet keys." msgstr "Πρίν λάβετε χρήματα, προτέινεται ισχυρά να πάρετε αντίγραφο ασφαλείας των κλειδιών του πορτοφολιού σας." @@ -141,8 +165,8 @@ msgid "Bitcoin address" msgstr "Διεύθυνση Bitcoin" #: public/views/preferencesFee.html -msgid "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. The ‘Emergency’ level should only be used when there is a network congestion." -msgstr "Οι συναλλαγές με Bitcoin μπορεί να περιλαμβάνουν αμοιβή η οποία συλλέγεται απο τον εξορυκτή στο δίκτυο. Όσο μεγαλύτερη η αμοιβή τόσο μεγαλύτερο το κίνητρο του εξορυκτή να συμπεριλάβει την συναλλαγή στο μπλόκ των συναλλαγών. Το 'Επείγον' επίπεδο πρέπει να χρησιμοποιείται μόνο όταν υπάρχει συμφόρηση του δικτύου." +msgid "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy." +msgstr "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy." #: public/views/modals/txp-details.html msgid "Broadcast Payment" @@ -170,9 +194,17 @@ msgstr "ΑΚΥΡΟ" #: public/views/copayers.html #: public/views/walletHome.html +#: public/views/modals/confirmation.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js msgid "Cancel" msgstr "Άκυρο" +#: src/js/services/profileService.js +msgid "Cannot join the same wallet more that once" +msgstr "Cannot join the same wallet more that once" + #: public/views/modals/paypro.html msgid "Certified by" msgstr "Πιστοποιήθηκε από" @@ -181,10 +213,6 @@ msgstr "Πιστοποιήθηκε από" msgid "Changing wallet alias only affects the local wallet name." msgstr "Αλλάζοντας το ψευδώνυμο του πορτοφολιού επηρεάζει μόνο το τοπικό όνομα πορτοφολιού." -#: src/js/controllers/walletHome.js -msgid "Check you connection and try again" -msgstr "Ελέγξτε την συνδεσή σας και προσπαθήστε ξανά" - #: public/views/import.html msgid "Choose a backup file from your computer" msgstr "Επιλέξτε ένα αντίγραφο ασφαλείας απο τον υπολογιστή σας" @@ -194,6 +222,7 @@ msgid "Choose a wallet to send funds" msgstr "Επιλέξτε ένα πορτοφόλι για να στείλετε χρήματα" #: public/views/includes/topbar.html +#: public/views/modals/advancedSend.html #: public/views/modals/copayers.html #: public/views/modals/customized-amount.html #: public/views/modals/paypro.html @@ -210,14 +239,42 @@ msgstr "Χρώμα" msgid "Commit hash" msgstr "Δέσμευση λύσης" +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Confirm" +msgstr "Confirm" + #: public/views/modals/tx-details.html msgid "Confirmations" msgstr "Επιβεβαιώσεις" +#: src/js/services/bwsError.js +msgid "Copayer already in this wallet" +msgstr "Copayer already in this wallet" + +#: src/js/services/bwsError.js +msgid "Copayer already registered" +msgstr "Copayer already registered" + +#: src/js/services/bwsError.js +msgid "Copayer already voted on this spend proposal" +msgstr "Copayer already voted on this spend proposal" + +#: src/js/services/bwsError.js +msgid "Copayer data mismatch" +msgstr "Copayer data mismatch" + #: public/views/modals/copayers.html msgid "Copayers" msgstr "Μέλη του πορτοφολιού Copay" +#: src/js/controllers/backup.js +#: src/js/controllers/copayers.js +#: src/js/controllers/walletHome.js +msgid "Copied to clipboard" +msgstr "Copied to clipboard" + #: public/views/backup.html msgid "Copy backup to a safe place" msgstr "Αποθηκεύστε το αντίγραφο ασφαλείας σε ασφαλές μέρος" @@ -231,20 +288,20 @@ msgid "Copy to clipboard" msgstr "Αντιγραφή στο πρόχειρο" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check you connection and try again" -msgstr "Η πληρωμή δεν έγινε αποδεκτή. Ελέγξτε τη σύνδεσή σας και προσπαθήστε ξανά" +msgid "Could not accept payment" +msgstr "Could not accept payment" + +#: src/js/controllers/index.js +msgid "Could not access Wallet Service: Not found" +msgstr "Could not access Wallet Service: Not found" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check you connection and try again" -msgstr "Δεν μπορεί να αποσταλεί η πληρωμή. Ελέγξτε τη σύνδεσή σας και προσπαθήστε ξανά" +msgid "Could not broadcast payment" +msgstr "Could not broadcast payment" -#: src/js/controllers/walletHome.js -msgid "Could not connect wallet service. Check your Internet connection and your wallet service configuration." -msgstr "Δεν είναι δυνατή η σύνδεση στην υπηρεσία του πορτοφολιού. Ελέγξτε τη σύνδεσή σας και τη ρύθμιση παραμέτρων της υπηρεσίας του πορτοφολίου." - -#: src/js/controllers/walletHome.js -msgid "Could not create address. Check you connection and try again" -msgstr "Δεν είναι δυνατή η δημιουργία διεύθυνσης. Ελέγξτε τη σύνδεσή σας και προσπαθήστε ξανά" +#: src/js/services/addressService.js +msgid "Could not create address" +msgstr "Could not create address" #: src/js/controllers/walletHome.js msgid "Could not create payment proposal" @@ -259,8 +316,8 @@ msgid "Could not decrypt file, check your password" msgstr "Δεν ήταν δυνατή η αποκρυπτογράφηση του αρχείου, ελέγξτε τον κωδικό σας" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check you connection and try again" -msgstr "Δεν ήταν δυνατή η διαγραφή της πρότασης πληρωμής. Ελέγξτε τη σύνδεση σας και προσπαθήστε ξανά" +msgid "Could not delete payment proposal" +msgstr "Could not delete payment proposal" #: src/js/controllers/walletHome.js msgid "Could not fetch payment information" @@ -278,23 +335,23 @@ msgstr "Δεν ήταν δυνατή η εισαγωγή. Ελέγξτε το α msgid "Could not join using the specified extended private key" msgstr "Δεν μπορείτε να συμμετέχετε χρησιμοποιώντας το συγκεκριμένο ιδιωτικό κλειδί επέκτασης" -#: src/js/controllers/join.js -msgid "Could not join wallet:" -msgstr "Δεν μπορείτε να συμμετάσχετε στο πορτοφόλι:" +#: src/js/services/profileService.js +msgid "Could not join wallet" +msgstr "Could not join wallet" #: src/js/controllers/walletHome.js msgid "Could not recognize a valid Bitcoin QR Code" msgstr "Δεν ήταν δυνατή η αναγνώριση ενός έγκυρου κωδικού QR για Βitcoin" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check you connection and try again" -msgstr "Δεν είναι δυνατή η απόρριψη της πληρωμής. Ελέγξτε τη σύνδεση σας και προσπαθήστε ξανά" +msgid "Could not reject payment" +msgstr "Could not reject payment" #: src/js/controllers/walletHome.js msgid "Could not send payment" msgstr "Δεν είναι δυνατή η αποστολή της πληρωμής" -#: public/views/walletHome.html +#: src/js/controllers/index.js msgid "Could not update Wallet" msgstr "Δεν ήταν δυνατή η ενημέρωση του πορτοφολιού" @@ -331,6 +388,11 @@ msgstr "Δημιουργία του Πορτοφολιού..." msgid "Creating transaction" msgstr "Δημιουργία συναλλαγής" +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB" +msgstr "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB" + #: public/views/modals/tx-details.html msgid "Date" msgstr "Ημερομηνία" @@ -370,6 +432,10 @@ msgstr "Απενεργοποιημένο" msgid "Do not include private key in backup" msgstr "Μην συμπεριλάβετε το ιδιωτικό κλειδί στο αντίγραφο ασφαλείας" +#: public/views/translators.html +msgid "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." +msgstr "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." + #: public/views/walletHome.html msgid "Download CSV file" msgstr "Κατεβάστε το αρχείο CSV" @@ -378,22 +444,14 @@ msgstr "Κατεβάστε το αρχείο CSV" msgid "Download backup" msgstr "Λήψη αντιγράφου ασφαλείας" -#: public/views/includes/password.html -msgid "ENTER" -msgstr "ΕΙΣΑΓΕΤΕ" - -#: src/js/controllers/preferencesFee.js +#: src/js/services/feeService.js msgid "Economy" -msgstr "Οικονομία" +msgstr "Economy" #: public/views/preferences.html msgid "Email Notifications" msgstr "Ειδοποιήσεις Email" -#: src/js/controllers/preferencesFee.js -msgid "Emergency" -msgstr "Έκτακτη Ανάγκη" - #: public/views/preferences.html msgid "Encrypt Private Key" msgstr "Κρυπτογράφηση ιδιωτικού κλειδιού" @@ -402,22 +460,18 @@ msgstr "Κρυπτογράφηση ιδιωτικού κλειδιού" msgid "Encrypted backup file saved" msgstr "Κρυπτογραφημένο αρχείο αντιγράφου ασφαλείας αποθηκεύτηκε" -#: src/js/controllers/index.js -msgid "English" -msgstr "Αγγλικά" - #: public/views/includes/password.html msgid "Enter your password" msgstr "Παρακαλώ εισάγετε τον κωδικό σας" +#: src/js/controllers/index.js +msgid "Error at Wallet Service" +msgstr "Error at Wallet Service" + #: src/js/services/profileService.js msgid "Error creating wallet" msgstr "Σφάλμα στην δημιουργία πορτοφολιού" -#: src/js/services/profileService.js -msgid "Error creating wallet. Check your internet connection" -msgstr "Σφάλμα στην δημιουργία του πορτοφολιού. Ελέγξτε τη σύνδεσή σας στο internet" - #: src/js/services/profileService.js msgid "Error importing wallet:" msgstr "Σφάλμα στην εισαγωγή πορτοφολίου:" @@ -444,15 +498,27 @@ msgstr "Χρήματα διακοπών της οικογένειας" msgid "Fee" msgstr "Αμοιβή" +#: public/views/modals/advancedSend.html +msgid "Fee Policy" +msgstr "Fee Policy" + +#: public/views/walletHome.html +msgid "Fee policy for this transaction" +msgstr "Fee policy for this transaction" + #. Get information of payment if using Payment Protocol #: src/js/controllers/walletHome.js msgid "Fetching Payment Information" msgstr "Λήψη Πληροφοριών Πληρωμής" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "French" msgstr "Γαλλικά" +#: src/js/services/bwsError.js +msgid "Funds are locked by pending spend proposals" +msgstr "Funds are locked by pending spend proposals" + #: src/js/services/notificationsService.js msgid "Funds received" msgstr "Χρήματα ελήφθησαν" @@ -473,7 +539,7 @@ msgstr "Δημιουργία νέας διεύθυνσης" msgid "Generating .csv file..." msgstr "Δημιουργία .csv αρχείου..." -#: src/js/controllers/index.js +#: public/views/translators.html msgid "German" msgstr "Γερμανικά" @@ -489,7 +555,7 @@ msgstr "Καθολικές ρυθμίσεις" msgid "Go back" msgstr "Πάμε πίσω" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Greek" msgstr "Ελληνικά" @@ -500,8 +566,9 @@ msgstr "Έχετε ένα αντίγραφο ασφαλείας από το Copa #: public/views/backup.html #: public/views/create.html #: public/views/join.html -msgid "Hide Advanced options" -msgstr "Απόκρυψη Προχωρημένων επιλογών" +#: public/views/walletHome.html +msgid "Hide advanced options" +msgstr "Hide advanced options" #: src/js/controllers/index.js msgid "History" @@ -549,15 +616,35 @@ msgstr "Εισάγεται το πορτοφόλι ..." msgid "Importing..." msgstr "Εισαγωγή ..." +#: src/js/services/bwsError.js +msgid "Incorrect address network" +msgstr "Incorrect address network" + +#: src/js/services/bwsError.js +msgid "Insufficient funds" +msgstr "Insufficient funds" + +#: src/js/services/bwsError.js +msgid "Insufficient funds for fee" +msgstr "Insufficient funds for fee" + #: public/views/walletHome.html msgid "Invalid" msgstr "Μη έγκυρο" -#: src/js/controllers/index.js +#: src/js/services/bwsError.js +msgid "Invalid address" +msgstr "Invalid address" + +#: src/js/controllers/copayers.js +msgid "Invitation to share a Copay Wallet" +msgstr "Invitation to share a Copay Wallet" + +#: public/views/translators.html msgid "Italian" msgstr "Ιταλικά" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Japanese" msgstr "Ιαπωνικά" @@ -570,6 +657,10 @@ msgstr "Ιωάννης" msgid "Join" msgstr "Συμμετοχή" +#: src/js/controllers/copayers.js +msgid "Join my Copay wallet. Here is the invitation code: {{secret}} You can download Copay for your phone or desktop at https://copay.io" +msgstr "Join my Copay wallet. Here is the invitation code: {{secret}} You can download Copay for your phone or desktop at https://copay.io" + #: public/views/add.html msgid "Join shared wallet" msgstr "Συμμετοχή σε κοινόχρηστο πορτοφόλι" @@ -586,6 +677,14 @@ msgstr "Γλώσσα" msgid "Learn more about Wallet Migration" msgstr "Μάθετε περισσότερα για τη Μετανάστευση Πορτοφολιού" +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to create a new spend proposal" +msgstr "Locktime in effect. Please wait to create a new spend proposal" + +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to remove this spend proposal" +msgstr "Locktime in effect. Please wait to remove this spend proposal" + #: public/views/paymentUri.html msgid "Make a payment to" msgstr "Κάντε μια πληρωμή σε" @@ -634,14 +733,14 @@ msgstr "Η διεύθυνση Bitcoin μου" msgid "Network" msgstr "Δίκτυο" +#: src/js/services/bwsError.js +msgid "Network connection error" +msgstr "Network connection error" + #: src/js/services/notificationsService.js msgid "New Payment Proposal" msgstr "Νέα Πρόταση Πληρωμής" -#: public/views/modals/confirmation.html -msgid "No" -msgstr "Όχι" - #: public/views/walletHome.html msgid "No Private key" msgstr "Δεν υπάρχει ιδιωτικό κλειδί" @@ -650,9 +749,13 @@ msgstr "Δεν υπάρχει ιδιωτικό κλειδί" msgid "No transactions yet" msgstr "Δεν υπάρχουν συναλλαγές ακόμα" -#: src/js/controllers/preferencesFee.js +#: src/js/services/feeService.js msgid "Normal" -msgstr "Κανονική" +msgstr "Normal" + +#: src/js/services/bwsError.js +msgid "Not authorized" +msgstr "Not authorized" #: public/views/walletHome.html #: public/views/modals/customized-amount.html @@ -660,11 +763,16 @@ msgid "Not valid" msgstr "Δεν είναι έγκυρη" #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/modals/tx-details.html -#: public/views/modals/txp-details.html msgid "Note" msgstr "Σημείωση" +#: public/views/includes/alert.html +#: public/views/includes/password.html +msgid "OK" +msgstr "OK" + #: public/views/modals/tx-status.html msgid "OKAY" msgstr "ΕΝΤΑΞΕΙ" @@ -768,6 +876,10 @@ msgstr "Πληρωμή Εστάλη!" msgid "Payment to" msgstr "Πληρωμή σε" +#: public/views/walletHome.html +msgid "Pending Confirmation" +msgstr "Pending Confirmation" + #: public/views/preferencesDeleteWallet.html msgid "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" msgstr "Να διαγράφεί μόνιμα αυτό το πορτοφόλι? ΑΥΤΗ Η ΕΝΕΡΓΕΙΑ ΔΕΝ ΜΠΟΡΕΙ ΝΑ ΑΝΤΙΣΤΡΑΦΕΙ" @@ -781,11 +893,15 @@ msgstr "Προσωπικό πορτοφόλι" msgid "Please enter the required fields" msgstr "Παρακαλώ εισάγετε τα απαιτούμενα πεδία" +#: src/js/services/bwsError.js +msgid "Please upgrade Copay to perform this action" +msgstr "Please upgrade Copay to perform this action" + #: src/js/controllers/import.js msgid "Please, select your backup file" msgstr "Παρακαλώ, επιλέξτε το αρχείο αντιγράφου ασφαλείας" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Portuguese" msgstr "Πορτογαλικά" @@ -793,9 +909,13 @@ msgstr "Πορτογαλικά" msgid "Preferences" msgstr "Προτιμήσεις" -#: src/js/controllers/preferencesFee.js +#: src/js/controllers/backup.js +msgid "Preparing backup..." +msgstr "Preparing backup..." + +#: src/js/services/feeService.js msgid "Priority" -msgstr "Προτεραιότητα" +msgstr "Priority" #: public/views/modals/customized-amount.html msgid "QR Code" @@ -813,6 +933,11 @@ msgstr "Λάβετε" msgid "Received" msgstr "Ληφθέντα" +#: public/views/includes/output.html +#: public/views/includes/transaction.html +msgid "Recipients" +msgstr "Recipients" + #: public/views/walletHome.html msgid "Reconnecting to Wallet Service..." msgstr "Γίνεται επανασύνδεση στην Υπηρεσία Πορτοφολιού..." @@ -856,6 +981,10 @@ msgstr "Απαιτείτε" msgid "Retrying..." msgstr "Επανάληψη..." +#: public/views/translators.html +msgid "Russian" +msgstr "Russian" + #: public/views/includes/password.html msgid "SET" msgstr "Ορισμός" @@ -972,8 +1101,13 @@ msgstr "Κοινόχρηστο πορτοφόλι" #: public/views/backup.html #: public/views/create.html #: public/views/join.html -msgid "Show Advanced options" -msgstr "Εμφάνιση προχωρημένων επιλογών" +#: public/views/walletHome.html +msgid "Show advanced options" +msgstr "Show advanced options" + +#: src/js/services/bwsError.js +msgid "Signatures rejected by server" +msgstr "Signatures rejected by server" #: src/js/controllers/walletHome.js msgid "Signing payment" @@ -983,10 +1117,18 @@ msgstr "Υπογραφή πληρωμής" msgid "Signing transaction" msgstr "Υπογραφή συναλλαγής" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Spanish" msgstr "Ισπανικά" +#: src/js/services/bwsError.js +msgid "Spend proposal is not accepted" +msgstr "Spend proposal is not accepted" + +#: src/js/services/bwsError.js +msgid "Spend proposal not found" +msgstr "Spend proposal not found" + #: src/js/controllers/copayers.js #: src/js/controllers/import.js #: src/js/controllers/preferencesDelete.js @@ -1011,16 +1153,16 @@ msgid "The payment was created but could not be completed. Please try again from msgstr "Η πληρωμή δημιουργήθηκε, αλλά δεν ήταν δυνατό να ολοκληρωθεί. Παρακαλώ ξαναπροσπαθήστε από την αρχική οθόνη" #: src/js/controllers/walletHome.js -msgid "The payment was created but could not be signed. Please try again from home screen." -msgstr "Η πληρωμή δημιουργήθηκε, αλλά δεν θα μπορούσε να υπογραφεί. Παρακαλώ ξαναπροσπαθήστε από την αρχική οθόνη." +msgid "The payment was created but could not be signed. Please try again from home screen" +msgstr "The payment was created but could not be signed. Please try again from home screen" #: public/views/modals/txp-details.html msgid "The payment was removed by creator" msgstr "Η πληρωμή έχει αφαιρεθεί από τον δημιουργό της" #: src/js/controllers/walletHome.js -msgid "The payment was signed but could not be broadcasted. Please try again from home screen." -msgstr "Η πληρωμή έχει υπογραφεί αλλά δεν μπορούσε να μεταδοθεί. Παρακαλώ ξαναπροσπαθήστε από την αρχική οθόνη." +msgid "The payment was signed but could not be broadcasted. Please try again from home screen" +msgstr "The payment was signed but could not be broadcasted. Please try again from home screen" #: public/views/backup.html msgid "The private key for this wallet is encrypted. Exporting a backup will keep the private key encrypted in the backup archive." @@ -1030,6 +1172,10 @@ msgstr "Το ιδιωτικό κλειδί για αυτό το πορτοφόλ msgid "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." msgstr "Το λογισμικό που πρόκειται να χρησιμοποιήσετε λειτουργεί ως ένα δωρεάν, ανοικτού κώδικα και πολλαπλών υπογραφών ψηφιακό πορτοφόλι. Το λογισμικό δεν αποτελεί ένα λογαριασμό όπου το BitPay ή άλλα τρίτα μέρη χρησιμεύουν ως ενδιάμεσοι χρηματοπιστωτικοί οργανισμοί ή θεματοφύλακες των bitcoin σας. Ενώ το λογισμικό έχει υποβληθεί σε δοκιμή beta και συνεχίζει να βελτιώνεται από χρήστες ανοικτού κώδικα και την κοινότητα των προγραμματιστών, εμείς δεν μπορούμε να εγγυηθούμε ότι δεν θα υπάρξει κανένα σφάλμα στο λογισμικό. Αναγνωρίζετε ότι η χρήση αυτού του λογισμικού είναι στην κρίση σας και σε συμφωνία με όλους τους ισχύοντες νόμους. Είστε υπεύθυνος για τη διαφύλαξή των κωδικών πρόσβασής σας, το ιδιωτικό ζεύγος κλειδιών, τετραψήφιων κωδικών PIN και οποιουσδήποτε άλλους κωδικούς που χρησιμοποιείτε για να έχετε πρόσβαση στο λογισμικό. ΕΑΝ ΧΑΣΕΤΕ ΤΗΝ ΠΡΟΣΒΑΣΗ ΝΑ ΣΑΣ ΣΤΟ ΠΟΡΤΟΦΌΛΙ COPAY Ή ΣΤΑ ΚΡΥΠΤΟΓΡΑΦΗΜΕΝΑ ΙΔΙΩΤΙΚΑ ΣΑΣ ΚΛΕΙΔΙΑ ΚΑΙ ΔΕΝ ΑΠΟΘΗΚΕΥΣΑΤΕ ΧΩΡΙΣΤΆ ΕΝΑ ΑΝΤΙΓΡΑΦΟ ΑΣΦΑΛΕΙΑΣ ΤΟΥ ΠΟΡΤΟΦΟΛΙΟΥ ΚΑΙ ΤΟΥ ΑΝΤΙΣΤΟΙΧΟΥ ΚΩΔΙΚΟΥ ΠΡΌΣΒΑΣΗΣ, ΑΠΟΔΕΧΕΣΤΕ ΚΑΙ ΣΥΜΦΩΝΕΙΤΕ ΟΤΙ ΟΠΟΙΑΔΗΠΟΤΕ ΠΟΣΟΤΗΤΑ BITCOIN ΠΟΥ ΕΧΕΤΕ ΣΥΣΧΕΤΙΣΕΙ ΜΕ ΤΟ ΠΟΡΤΟΦΟΛΙ ΤΟΥ COPAY ΘΑ ΓΙΝΟΥΝ ΑΠΡΟΣΠΕΛΑΣΤΑ. Όλες οι αιτήσεις για συναλλαγές είναι αμετάκλητες. Οι συγγραφείς του λογισμικού, οι εργαζόμενοι και οι συνεργάτες του Bitpay, οι κατόχοι πνευματικών δικαιωμάτων, και η BitPay α.ε., δεν μπορούν να ανακτήσουν ιδιωτικά κλειδιά ή τους κωδικούς πρόσβασης σας, εάν χάσετε ή ξεχασετε αυτούς και δεν μπορούν να εγγυηθούν την επιβεβαίωση της συναλλαγής, δεδομένου ότι δεν έχουν τον έλεγχο του δικτύου Bitcoin. Στο μέγιστο βαθμό που επιτρέπει το δίκαιο, το λογισμικό παρέχεται \"ως έχει\" και καμία δήλωση ή εγγύηση μπορεί να γίνει του κάθε είδους, ρητή ή σιωπηρή, συμπεριλαμβανομένων, αλλά μη περιορισμένων, των εγγυήσεων εμπορευσιμότητας, καταλληλότητας ή συγκεκριμένου σκοπού και νομιμότητας. Αναλάμβανετε κάθε κινδύνο που συνδέεται με τη χρήση του λογισμικού. Σε καμία περίπτωση οι συντάκτες του λογισμικού, οι συνεργάτες του Bitpay, οι κατόχοι πνευματικών δικαιωμάτων, ή η BitPay α.ε. ευθύνεται για οποιαδήποτε αξίωση, ζημία ή άλλη ευθύνη, είτε βαση κάποιας σύμβασης, αδικοπραξίας, ή άλλο, που προκύπτει από την σχέση σας με το λογισμικό. Διατηρούμε το δικαίωμα να τροποποιήσουμε αυτή την αποποίηση ευθυνών από καιρό σε καιρό." +#: src/js/services/bwsError.js +msgid "The spend proposal is not pending" +msgstr "The spend proposal is not pending" + #: src/js/controllers/copayers.js #: src/js/controllers/preferencesDelete.js msgid "The wallet \"{{walletName}}\" was deleted" @@ -1056,12 +1202,17 @@ msgid "Time" msgstr "Ώρα" #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/includes/transaction.html #: public/views/modals/tx-details.html #: public/views/modals/txp-details.html msgid "To" msgstr "Προς" +#: public/views/includes/output.html +msgid "Total" +msgstr "Total" + #: public/views/walletHome.html msgid "Total Locked Balance" msgstr "Συνολικό Κλειδωμένο Υπόλοιπο" @@ -1070,6 +1221,18 @@ msgstr "Συνολικό Κλειδωμένο Υπόλοιπο" msgid "Transaction" msgstr "Συναλλαγή" +#: src/js/services/bwsError.js +msgid "Transaction already broadcasted" +msgstr "Transaction already broadcasted" + +#: public/views/translators.html +msgid "Translation Credits" +msgstr "Translation Credits" + +#: public/views/preferencesAbout.html +msgid "Translators" +msgstr "Translators" + #: src/js/controllers/walletHome.js msgid "Unable to send transaction proposal" msgstr "Δεν είναι δυνατή η αποστολή πρότασης συναλλαγής" @@ -1095,6 +1258,11 @@ msgstr "Μη αξιόπιστη" msgid "Updating Wallet..." msgstr "Ενημέρωση πορτοφολιού..." +#: public/views/preferences.html +#: public/views/walletHome.html +msgid "Use Unconfirmed Funds" +msgstr "Use Unconfirmed Funds" + #: public/views/preferencesAbout.html msgid "Version" msgstr "Έκδοση" @@ -1139,6 +1307,7 @@ msgstr "Πρόσκληση πορτοφολιού" msgid "Wallet Invitation is not valid!" msgstr "Η πρόσκληση πορτοφολιού δεν είναι έγκυρη!" +#: src/js/services/bwsError.js #: src/js/services/profileService.js msgid "Wallet already exists" msgstr "Υπάρχει ήδη το πορτοφόλι" @@ -1147,18 +1316,34 @@ msgstr "Υπάρχει ήδη το πορτοφόλι" msgid "Wallet incomplete and broken" msgstr "Πορτοφόλι ελλιπές και χαλασμένο" +#: src/js/services/bwsError.js +msgid "Wallet is full" +msgstr "Wallet is full" + +#: src/js/services/bwsError.js +msgid "Wallet is not complete" +msgstr "Wallet is not complete" + #: public/views/create.html msgid "Wallet name" msgstr "Όνομα πορτοφολιού" -#: src/js/controllers/walletHome.js -msgid "Wallet service timed out. Check your Internet connection and your wallet service configuration." -msgstr "Η υπηρεσία πορτοφολιού έληξε. Ελέγξτε τη συνδεσή σας και τη ρύθμιση των παραμέτρων του πορτοφολιού σας." +#: src/js/services/bwsError.js +msgid "Wallet not found" +msgstr "Wallet not found" + +#: src/js/services/bwsError.js +msgid "Wallet service not found" +msgstr "Wallet service not found" #: public/views/preferencesDeleteWallet.html msgid "Warning!" msgstr "Προειδοποίηση!" +#: public/views/modals/txp-details.html +msgid "Warning: this transaction has unconfirmed inputs" +msgstr "Warning: this transaction has unconfirmed inputs" + #: src/js/services/profileService.js msgid "Wrong password" msgstr "Λάθος κωδικός πρόσβασης" @@ -1219,10 +1404,6 @@ msgstr "ρυθμίσεις" msgid "too long!" msgstr "πάρα πολύ μεγάλο μέγεθος!" -#: public/views/preferencesFee.html -msgid "{{fee.value}} bits per kB" -msgstr "{{fee.value}} bits ανά kB" - #: src/js/controllers/walletHome.js msgid "{{fee}} will be discounted for bitcoin networking fees" msgstr "{{fee}}, θα προεξοφληθεί ώς τέλος του δικτύου bitcoin" diff --git a/i18n/po/es.po b/i18n/po/es.po index 9b5031801..007f595ae 100644 --- a/i18n/po/es.po +++ b/i18n/po/es.po @@ -12,7 +12,7 @@ msgstr "" "Last-Translator: cmgustavo83\n" "Language-Team: Spanish\n" "Language: es\n" -"PO-Revision-Date: 2015-07-23 11:32-0400\n" +"PO-Revision-Date: 2015-08-13 09:15-0400\n" #: public/views/walletHome.html msgid "(possible double spend)" @@ -39,6 +39,9 @@ msgid "About Copay" msgstr "Acerca de Copay" #: public/views/modals/txp-details.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js msgid "Accept" msgstr "Aceptar" @@ -56,6 +59,10 @@ msgstr "Dirección" msgid "Advanced" msgstr "Avanzado" +#: public/views/modals/advancedSend.html +msgid "Advanced Send" +msgstr "Envío avanzado" + #: public/views/disclaimer.html msgid "Agree" msgstr "Aceptar" @@ -64,6 +71,10 @@ msgstr "Aceptar" msgid "Alias for {{index.walletName}}" msgstr "Alias de {{index.walletName}}" +#: public/views/translators.html +msgid "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at" +msgstr "Todas las contribuciones a la traducción de Copay son bienvenidas. Regístrese en crowdin.com y únase al proyecto Copay en" + #: public/views/splash.html msgid "Already have a wallet?" msgstr "¿Ya dispone de un monedero?" @@ -74,11 +85,15 @@ msgstr "Moneda Alternativa" #: public/views/paymentUri.html #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/modals/customized-amount.html -#: public/views/modals/txp-details.html msgid "Amount" msgstr "Importe" +#: src/js/services/bwsError.js +msgid "Amount below dust threshold" +msgstr "Cantidad debajo del umbral permitido" + #: public/views/walletHome.html #: public/views/modals/customized-amount.html msgid "Amount in" @@ -97,6 +112,11 @@ msgstr "¿Estas seguro de borrar este monedero?" msgid "Available Balance" msgstr "Balance disponible" +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Average confirmation time: {{fee.nbBlocks * 10}} minutes" +msgstr "Tiempo promedio de confirmación: {{fee.nbBlocks * 10}} minutos" + #: public/views/create.html #: public/views/join.html msgid "BIP32 master extended private key" @@ -124,6 +144,10 @@ msgstr "Copia de seguridad" msgid "Backup options" msgstr "Opciones de copia de seguridad" +#: src/js/services/profileService.js +msgid "Bad wallet invitation" +msgstr "Invitación incorrecta al monedero" + #: public/views/walletHome.html msgid "Before receiving funds, it is highly recommended you backup your wallet keys." msgstr "Antes de recibir fondos, es altamente recomendable realizar una copia de seguridad." @@ -141,8 +165,8 @@ msgid "Bitcoin address" msgstr "Dirección bitcoin" #: public/views/preferencesFee.html -msgid "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. The ‘Emergency’ level should only be used when there is a network congestion." -msgstr "Las transacciones de Bitcoin pueden incluir una tasa que es recaudada por los mineros de la red. Cuanto mayor sea la tasa, mayor será el incentivo de los mineros para incluir esa transacción en un bloque. El nivel 'Emergencia' debe ser utilizado solo cuando hay una congestión en la red." +msgid "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy." +msgstr "Las transacciones de Bitcoin pueden incluir una tasa colectada por los mineros en la red. Cuanto mayor sea la tasa, mayor será el incentivo para que el minero incluya esa transacción en un bloque. Las tasas reales se determinan en base a la carga de la red y a la política seleccionada." #: public/views/modals/txp-details.html msgid "Broadcast Payment" @@ -170,9 +194,17 @@ msgstr "CANCELAR" #: public/views/copayers.html #: public/views/walletHome.html +#: public/views/modals/confirmation.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js msgid "Cancel" msgstr "Cancelar" +#: src/js/services/profileService.js +msgid "Cannot join the same wallet more that once" +msgstr "No puede unirse al mismo monedero más de una vez" + #: public/views/modals/paypro.html msgid "Certified by" msgstr "Certificado por" @@ -181,10 +213,6 @@ msgstr "Certificado por" msgid "Changing wallet alias only affects the local wallet name." msgstr "Cambiar el alias del monedero solo afecta al nombre del monedero local." -#: src/js/controllers/walletHome.js -msgid "Check you connection and try again" -msgstr "Verifique su conexión e inténtelo nuevamente" - #: public/views/import.html msgid "Choose a backup file from your computer" msgstr "Seleccione el archivo backup de su computadora" @@ -194,6 +222,7 @@ msgid "Choose a wallet to send funds" msgstr "Seleccione un monedero para enviar fondos" #: public/views/includes/topbar.html +#: public/views/modals/advancedSend.html #: public/views/modals/copayers.html #: public/views/modals/customized-amount.html #: public/views/modals/paypro.html @@ -210,14 +239,42 @@ msgstr "Color" msgid "Commit hash" msgstr "Commit hash" +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Confirm" +msgstr "Confirmar" + #: public/views/modals/tx-details.html msgid "Confirmations" msgstr "Confirmaciones" +#: src/js/services/bwsError.js +msgid "Copayer already in this wallet" +msgstr "Ya se encuentra en este monedero" + +#: src/js/services/bwsError.js +msgid "Copayer already registered" +msgstr "Ya esta registrado" + +#: src/js/services/bwsError.js +msgid "Copayer already voted on this spend proposal" +msgstr "Ya ha votado en esta propuesta de gasto" + +#: src/js/services/bwsError.js +msgid "Copayer data mismatch" +msgstr "Discrepancia en los datos del Copayer" + #: public/views/modals/copayers.html msgid "Copayers" msgstr "Copayers" +#: src/js/controllers/backup.js +#: src/js/controllers/copayers.js +#: src/js/controllers/walletHome.js +msgid "Copied to clipboard" +msgstr "Copiado al portapapeles" + #: public/views/backup.html msgid "Copy backup to a safe place" msgstr "Guardar copia de seguridad en un lugar seguro" @@ -231,20 +288,20 @@ msgid "Copy to clipboard" msgstr "Copiar al portapapeles" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check you connection and try again" -msgstr "No se pudo aceptar el pago. Verifique su conexión e inténtelo nuevamente" +msgid "Could not accept payment" +msgstr "No se pudo aceptar el pago" + +#: src/js/controllers/index.js +msgid "Could not access Wallet Service: Not found" +msgstr "No se pudo acceder a Wallet Service: No encontrado" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check you connection and try again" -msgstr "No se pudo emitir el pago. Verifique su conexión e inténtelo nuevamente" +msgid "Could not broadcast payment" +msgstr "No se pudo emitir el pago" -#: src/js/controllers/walletHome.js -msgid "Could not connect wallet service. Check your Internet connection and your wallet service configuration." -msgstr "No se pudo conectar con Wallet Service. Verifique la conexión a internet y la configuración a Wallet Service." - -#: src/js/controllers/walletHome.js -msgid "Could not create address. Check you connection and try again" -msgstr "No se pudo crear la dirección. Verifique su conexión e inténtelo nuevamente" +#: src/js/services/addressService.js +msgid "Could not create address" +msgstr "No se pudo crear dirección" #: src/js/controllers/walletHome.js msgid "Could not create payment proposal" @@ -259,8 +316,8 @@ msgid "Could not decrypt file, check your password" msgstr "No se pudo desencriptar el archivo, verifique su contraseña" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check you connection and try again" -msgstr "No se pudo eliminar la propuesta de pago. Verifique su conexión e inténtelo nuevamente" +msgid "Could not delete payment proposal" +msgstr "No se pudo eliminar la propuesta de pago" #: src/js/controllers/walletHome.js msgid "Could not fetch payment information" @@ -278,23 +335,23 @@ msgstr "No se pudo importar. Verifique el archivo y su contraseña" msgid "Could not join using the specified extended private key" msgstr "No se pudo unir al monedero usando la clave privada ingresada" -#: src/js/controllers/join.js -msgid "Could not join wallet:" -msgstr "No se pudo unir al monedero:" +#: src/js/services/profileService.js +msgid "Could not join wallet" +msgstr "No se pudo unir al monedero" #: src/js/controllers/walletHome.js msgid "Could not recognize a valid Bitcoin QR Code" msgstr "No se reconoció un código QR de Bitcoin válido" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check you connection and try again" -msgstr "No se pudo rechazar el pago. Verifique su conexión e inténtelo nuevamente" +msgid "Could not reject payment" +msgstr "No se pudo rechazar el pago" #: src/js/controllers/walletHome.js msgid "Could not send payment" msgstr "No se pudo enviar el pago" -#: public/views/walletHome.html +#: src/js/controllers/index.js msgid "Could not update Wallet" msgstr "No se puede actualizar el monedero" @@ -331,6 +388,11 @@ msgstr "Creando Monedero..." msgid "Creating transaction" msgstr "Creando transacción" +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB" +msgstr "Costo actual para esta política: {{fee.feePerKBUnit}}/kiB" + #: public/views/modals/tx-details.html msgid "Date" msgstr "Fecha" @@ -370,6 +432,10 @@ msgstr "Deshabilitado" msgid "Do not include private key in backup" msgstr "No incluir la clave privada en la copia de seguridad" +#: public/views/translators.html +msgid "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." +msgstr "¿No ve su idioma en Crowdin? Contáctese con el encargado del proyecto! Nos encantaría soportar su idioma." + #: public/views/walletHome.html msgid "Download CSV file" msgstr "Descargar archivo CSV" @@ -378,11 +444,7 @@ msgstr "Descargar archivo CSV" msgid "Download backup" msgstr "Descargar copia de seguridad" -#: public/views/includes/password.html -msgid "ENTER" -msgstr "ENTRAR" - -#: src/js/controllers/preferencesFee.js +#: src/js/services/feeService.js msgid "Economy" msgstr "Económico" @@ -390,10 +452,6 @@ msgstr "Económico" msgid "Email Notifications" msgstr "Notificaciones por Email" -#: src/js/controllers/preferencesFee.js -msgid "Emergency" -msgstr "Emergencia" - #: public/views/preferences.html msgid "Encrypt Private Key" msgstr "Encriptar Clave Privada" @@ -402,22 +460,18 @@ msgstr "Encriptar Clave Privada" msgid "Encrypted backup file saved" msgstr "Archivo de copia de seguridad encriptado guardado" -#: src/js/controllers/index.js -msgid "English" -msgstr "Inglés" - #: public/views/includes/password.html msgid "Enter your password" msgstr "Escribe tu contraseña" +#: src/js/controllers/index.js +msgid "Error at Wallet Service" +msgstr "Error en Wallet Service" + #: src/js/services/profileService.js msgid "Error creating wallet" msgstr "Error al crear monedero" -#: src/js/services/profileService.js -msgid "Error creating wallet. Check your internet connection" -msgstr "Error al crear monedero. Verifique su conexión a internet" - #: src/js/services/profileService.js msgid "Error importing wallet:" msgstr "Error al importar monedero: " @@ -444,15 +498,27 @@ msgstr "Fondos para vacaciones en familia" msgid "Fee" msgstr "Costo" +#: public/views/modals/advancedSend.html +msgid "Fee Policy" +msgstr "Política de costo" + +#: public/views/walletHome.html +msgid "Fee policy for this transaction" +msgstr "Política de costo para esta transacción" + #. Get information of payment if using Payment Protocol #: src/js/controllers/walletHome.js msgid "Fetching Payment Information" msgstr "Obteniendo información del pago" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "French" msgstr "Francés" +#: src/js/services/bwsError.js +msgid "Funds are locked by pending spend proposals" +msgstr "Los fondos están bloqueados por propuestas de gastos pendientes" + #: src/js/services/notificationsService.js msgid "Funds received" msgstr "Fondos Recibidos" @@ -473,7 +539,7 @@ msgstr "Generar nueva dirección" msgid "Generating .csv file..." msgstr "Generando archivo .csv..." -#: src/js/controllers/index.js +#: public/views/translators.html msgid "German" msgstr "Alemán" @@ -489,7 +555,7 @@ msgstr "Opciones globales" msgid "Go back" msgstr "Volver" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Greek" msgstr "Griego" @@ -500,7 +566,8 @@ msgstr "¿Tiene una copia de seguridad de Copay v0.9?" #: public/views/backup.html #: public/views/create.html #: public/views/join.html -msgid "Hide Advanced options" +#: public/views/walletHome.html +msgid "Hide advanced options" msgstr "Ocultar opciones avanzadas" #: src/js/controllers/index.js @@ -549,15 +616,35 @@ msgstr "Importando monedero..." msgid "Importing..." msgstr "Importando..." +#: src/js/services/bwsError.js +msgid "Incorrect address network" +msgstr "Dirección de red incorrecta" + +#: src/js/services/bwsError.js +msgid "Insufficient funds" +msgstr "Fondos insuficientes" + +#: src/js/services/bwsError.js +msgid "Insufficient funds for fee" +msgstr "Fondos insuficientes por el costo" + #: public/views/walletHome.html msgid "Invalid" msgstr "Inválido" -#: src/js/controllers/index.js +#: src/js/services/bwsError.js +msgid "Invalid address" +msgstr "Dirección inválida" + +#: src/js/controllers/copayers.js +msgid "Invitation to share a Copay Wallet" +msgstr "Invitación para compartir un monedero Copay" + +#: public/views/translators.html msgid "Italian" msgstr "Italiano" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Japanese" msgstr "Japonés" @@ -570,6 +657,10 @@ msgstr "Juan" msgid "Join" msgstr "Unirse" +#: src/js/controllers/copayers.js +msgid "Join my Copay wallet. Here is the invitation code: {{secret}} You can download Copay for your phone or desktop at https://copay.io" +msgstr "Únase a mi monedero Copay. Aquí esta el código de invitación: {{secret}}. Puede descargar Copay para su teléfono o computadora en https://copay.io" + #: public/views/add.html msgid "Join shared wallet" msgstr "Unirse a un monedero" @@ -586,6 +677,14 @@ msgstr "Idioma" msgid "Learn more about Wallet Migration" msgstr "Más detalles para migrar Monedero" +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to create a new spend proposal" +msgstr "Bloqueo temporal. Por favor espere para crear una nueva propuesta de gasto" + +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to remove this spend proposal" +msgstr "Bloqueo temporal. Por favor espere para eliminar esta propuesta de gasto" + #: public/views/paymentUri.html msgid "Make a payment to" msgstr "Hacer un pago a" @@ -634,14 +733,14 @@ msgstr "Mi dirección Bitcoin" msgid "Network" msgstr "Red" +#: src/js/services/bwsError.js +msgid "Network connection error" +msgstr "Error de conexión a la red" + #: src/js/services/notificationsService.js msgid "New Payment Proposal" msgstr "Nueva Propuesta de Pago" -#: public/views/modals/confirmation.html -msgid "No" -msgstr "No" - #: public/views/walletHome.html msgid "No Private key" msgstr "Sin clave privada" @@ -650,21 +749,30 @@ msgstr "Sin clave privada" msgid "No transactions yet" msgstr "Sin transacciones todavía" -#: src/js/controllers/preferencesFee.js +#: src/js/services/feeService.js msgid "Normal" msgstr "Normal" +#: src/js/services/bwsError.js +msgid "Not authorized" +msgstr "No autorizado" + #: public/views/walletHome.html #: public/views/modals/customized-amount.html msgid "Not valid" msgstr "No válido" #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/modals/tx-details.html -#: public/views/modals/txp-details.html msgid "Note" msgstr "Nota" +#: public/views/includes/alert.html +#: public/views/includes/password.html +msgid "OK" +msgstr "OK" + #: public/views/modals/tx-status.html msgid "OKAY" msgstr "LISTO" @@ -768,6 +876,10 @@ msgstr "¡Pago enviado!" msgid "Payment to" msgstr "Pago a" +#: public/views/walletHome.html +msgid "Pending Confirmation" +msgstr "Pendiente a Confirmar" + #: public/views/preferencesDeleteWallet.html msgid "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" msgstr "Borrar permanentemente este monedero. ESTA ACCIÓN NO PUEDE SER REVERTIDA" @@ -781,11 +893,15 @@ msgstr "Monedero Personal" msgid "Please enter the required fields" msgstr "Por favor ingrese los campos requeridos" +#: src/js/services/bwsError.js +msgid "Please upgrade Copay to perform this action" +msgstr "Por favor actualizar Copay para realizar esta acción" + #: src/js/controllers/import.js msgid "Please, select your backup file" msgstr "Por favor, selecciona el archivo de copia de seguridad" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Portuguese" msgstr "Portugués" @@ -793,7 +909,11 @@ msgstr "Portugués" msgid "Preferences" msgstr "Preferencias" -#: src/js/controllers/preferencesFee.js +#: src/js/controllers/backup.js +msgid "Preparing backup..." +msgstr "Preparando copia de seguridad..." + +#: src/js/services/feeService.js msgid "Priority" msgstr "Prioritario" @@ -813,6 +933,11 @@ msgstr "Recibir" msgid "Received" msgstr "Recibido" +#: public/views/includes/output.html +#: public/views/includes/transaction.html +msgid "Recipients" +msgstr "Destinatarios" + #: public/views/walletHome.html msgid "Reconnecting to Wallet Service..." msgstr "Reconectando a Wallet Service..." @@ -856,6 +981,10 @@ msgstr "Requerido" msgid "Retrying..." msgstr "Reintentando..." +#: public/views/translators.html +msgid "Russian" +msgstr "Ruso" + #: public/views/includes/password.html msgid "SET" msgstr "ESTABLECER" @@ -972,9 +1101,14 @@ msgstr "Monedero Compartido" #: public/views/backup.html #: public/views/create.html #: public/views/join.html -msgid "Show Advanced options" +#: public/views/walletHome.html +msgid "Show advanced options" msgstr "Mostrar opciones avanzadas" +#: src/js/services/bwsError.js +msgid "Signatures rejected by server" +msgstr "Firmas rechazadas por el servidor" + #: src/js/controllers/walletHome.js msgid "Signing payment" msgstr "Firmando el pago" @@ -983,10 +1117,18 @@ msgstr "Firmando el pago" msgid "Signing transaction" msgstr "Firmando transacción" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Spanish" msgstr "Español" +#: src/js/services/bwsError.js +msgid "Spend proposal is not accepted" +msgstr "La propuesta de gasto no es aceptada" + +#: src/js/services/bwsError.js +msgid "Spend proposal not found" +msgstr "Propuesta de gasto no encontrada" + #: src/js/controllers/copayers.js #: src/js/controllers/import.js #: src/js/controllers/preferencesDelete.js @@ -1011,16 +1153,16 @@ msgid "The payment was created but could not be completed. Please try again from msgstr "El pago fue creado pero no se pudo completar. Por favor intente nuevamente desde la pantalla de inicio." #: src/js/controllers/walletHome.js -msgid "The payment was created but could not be signed. Please try again from home screen." -msgstr "El pago fue creado pero no pudo ser firmado. Por favor intente nuevamente desde la pantalla de inicio." +msgid "The payment was created but could not be signed. Please try again from home screen" +msgstr "El pago fue creado pero no pudo ser firmado. Por favor intente nuevamente desde la pantalla de inicio" #: public/views/modals/txp-details.html msgid "The payment was removed by creator" msgstr "El pago fue eliminado por el creador" #: src/js/controllers/walletHome.js -msgid "The payment was signed but could not be broadcasted. Please try again from home screen." -msgstr "El pago fue firmado pero no pudo ser enviado. Por favor intente nuevamente desde la pantalla de inicio." +msgid "The payment was signed but could not be broadcasted. Please try again from home screen" +msgstr "El pago fue firmado pero no pudo ser enviado. Por favor intente nuevamente desde la pantalla de inicio" #: public/views/backup.html msgid "The private key for this wallet is encrypted. Exporting a backup will keep the private key encrypted in the backup archive." @@ -1030,6 +1172,10 @@ msgstr "Este monedero tiene sus claves privadas encriptadas. Exportar una copia msgid "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." msgstr "El software que va a utilizar es un monedero digital de código abierto y multi-firmas. El software no constituye una cuenta donde BitPay u otras terceras partes sirven como intermediarios financieros o custodios de su bitcoin. Mientras que el software ha sido objeto de pruebas beta y continúa siendo mejorada por los comentarios de los usuarios de código abierto y la comunidad de desarrolladores, no podemos garantizar que no habrá errores en el software. Usted reconoce que el uso de este software es bajo tu propia responsabilidad y en cumplimiento con todas las leyes aplicables. Usted es responsable de la custodia de sus contraseñas, pares de claves privadas, PIN y cualquier otro código que se utiliza para acceder al software. SI UD. PIERDE ACCESO A SU MONEDERO COPAY O A SUS CLAVES PRIVADAS ENCRIPTADAS Y NO HA GUARDADO POR SEPARADO UNA COPIA DE SEGURIDAD DE SU MONEDERO Y CONTRASEÑA CORRESPONDIENTES, USTED RECONOCE Y ACEPTA QUE CUALQUIER BITCOIN QUE HA ASOCIADO CON ESE MONEDERO COPAY SERÁ INACCESIBLE. Todas las solicitudes de transacción son irreversibles. Los autores de los software, empleados y afiliados de Bitpay, los titulares de derechos de autor, y BitPay, Inc. no pueden recuperar sus claves privadas o contraseñas si se pierde o se olvida de ellos y no se puede garantizar la confirmación de la transacción, ya que no tienen control sobre la red Bitcoin. En la máxima medida permitida por la ley, este software se proporciona \"tal cual\" y no asume la responsabilidad ni ofrece garantías de ningún tipo, expresa o implícita, incluyendo, pero no limitado a las garantías comerciales, de conveniencia o a un propósito particular. Usted asume todos los riesgos asociados con el uso del software. En ningún caso los autores, empleados y afiliados de Bitpay, los titulares de derechos de autor, o BitPay, Inc. serán declarados responsables de los reclamos, daños o cualquier otra responsabilidad, ya sea en una acción de contrato, agravio o de otra manera, que surja fuera de la conexión con el software. Nos reservamos el derecho a modificar el presente aviso legal de vez en cuando.

    The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." +#: src/js/services/bwsError.js +msgid "The spend proposal is not pending" +msgstr "La propuesta de gasto no esta pendiente" + #: src/js/controllers/copayers.js #: src/js/controllers/preferencesDelete.js msgid "The wallet \"{{walletName}}\" was deleted" @@ -1056,12 +1202,17 @@ msgid "Time" msgstr "Hora" #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/includes/transaction.html #: public/views/modals/tx-details.html #: public/views/modals/txp-details.html msgid "To" msgstr "Para" +#: public/views/includes/output.html +msgid "Total" +msgstr "Total" + #: public/views/walletHome.html msgid "Total Locked Balance" msgstr "Balance total bloqueado" @@ -1070,6 +1221,18 @@ msgstr "Balance total bloqueado" msgid "Transaction" msgstr "Transacción" +#: src/js/services/bwsError.js +msgid "Transaction already broadcasted" +msgstr "La transacción ya se ha enviado" + +#: public/views/translators.html +msgid "Translation Credits" +msgstr "Créditos de traducción" + +#: public/views/preferencesAbout.html +msgid "Translators" +msgstr "Traductores" + #: src/js/controllers/walletHome.js msgid "Unable to send transaction proposal" msgstr "No se puede enviar propuesta de transacción" @@ -1095,6 +1258,11 @@ msgstr "No es de confianza" msgid "Updating Wallet..." msgstr "Actualizando Monedero..." +#: public/views/preferences.html +#: public/views/walletHome.html +msgid "Use Unconfirmed Funds" +msgstr "Utilizar los fondos sin confirmar" + #: public/views/preferencesAbout.html msgid "Version" msgstr "Versión" @@ -1139,6 +1307,7 @@ msgstr "Invitación para unirse al monedero" msgid "Wallet Invitation is not valid!" msgstr "¡Invitación no válida!" +#: src/js/services/bwsError.js #: src/js/services/profileService.js msgid "Wallet already exists" msgstr "El monedero ya existe" @@ -1147,18 +1316,34 @@ msgstr "El monedero ya existe" msgid "Wallet incomplete and broken" msgstr "Monedero incompleto y roto" +#: src/js/services/bwsError.js +msgid "Wallet is full" +msgstr "El monedero está lleno" + +#: src/js/services/bwsError.js +msgid "Wallet is not complete" +msgstr "El monedero no esta completo" + #: public/views/create.html msgid "Wallet name" msgstr "Nombre del monedero" -#: src/js/controllers/walletHome.js -msgid "Wallet service timed out. Check your Internet connection and your wallet service configuration." -msgstr "Tiempo de espera agotado. Verifique la conexión a internet y la configuración a Wallet Service." +#: src/js/services/bwsError.js +msgid "Wallet not found" +msgstr "Monedero no encontrado" + +#: src/js/services/bwsError.js +msgid "Wallet service not found" +msgstr "Wallet Service no encontrado" #: public/views/preferencesDeleteWallet.html msgid "Warning!" msgstr "¡Advertencia!" +#: public/views/modals/txp-details.html +msgid "Warning: this transaction has unconfirmed inputs" +msgstr "Advertencia: esta operación tiene entradas sin confirmar" + #: src/js/services/profileService.js msgid "Wrong password" msgstr "Contraseña incorrecta" @@ -1219,10 +1404,6 @@ msgstr "configuración" msgid "too long!" msgstr "¡demasiado largo!" -#: public/views/preferencesFee.html -msgid "{{fee.value}} bits per kB" -msgstr "{{fee.value}} bits por kB" - #: src/js/controllers/walletHome.js msgid "{{fee}} will be discounted for bitcoin networking fees" msgstr "{{fee}} se descontarán de los costos de la red bitcoin" diff --git a/i18n/po/fr.po b/i18n/po/fr.po index befa8c1c1..75426cd65 100644 --- a/i18n/po/fr.po +++ b/i18n/po/fr.po @@ -12,7 +12,7 @@ msgstr "" "Last-Translator: cmgustavo83\n" "Language-Team: French\n" "Language: fr\n" -"PO-Revision-Date: 2015-07-23 11:32-0400\n" +"PO-Revision-Date: 2015-08-13 09:15-0400\n" #: public/views/walletHome.html msgid "(possible double spend)" @@ -20,7 +20,7 @@ msgstr "(double dépense éventuelle)" #: public/views/modals/txp-details.html msgid "* A payment proposal can be deleted if 1) you are the creator, and no other copayer has signed, or 2) 24 hours have passed since the proposal was created." -msgstr "* Une proposition de transaction peut être supprimée si vous en êtes le créateur et qu'aucun des autres copayers n'a signé, ou si 24 heures sont passées depuis la création de la proposition." +msgstr "* Une proposition de paiement peut être supprimée si vous en êtes le créateur et qu'aucun des autres copayers n'a signé, ou si 24 heures sont passées depuis la création de la proposition." #: public/views/backup.html msgid "* You can safely install your backup on another device and use your wallet from multiple devices at the same time." @@ -39,6 +39,9 @@ msgid "About Copay" msgstr "À propos de Copay" #: public/views/modals/txp-details.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js msgid "Accept" msgstr "Accepter" @@ -56,6 +59,10 @@ msgstr "Adresse" msgid "Advanced" msgstr "Avancés" +#: public/views/modals/advancedSend.html +msgid "Advanced Send" +msgstr "Envoi avancé" + #: public/views/disclaimer.html msgid "Agree" msgstr "Accepter" @@ -64,6 +71,10 @@ msgstr "Accepter" msgid "Alias for {{index.walletName}}" msgstr "Alias pour {{index.walletName}}" +#: public/views/translators.html +msgid "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at" +msgstr "Toutes les contributions à la traduction de Copay sont les bienvenues. Inscrivez-vous sur crowdin.com et rejoignez le projet Copay sur" + #: public/views/splash.html msgid "Already have a wallet?" msgstr "Vous avez déjà un portefeuille ?" @@ -74,11 +85,15 @@ msgstr "Devise alternative" #: public/views/paymentUri.html #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/modals/customized-amount.html -#: public/views/modals/txp-details.html msgid "Amount" msgstr "Montant" +#: src/js/services/bwsError.js +msgid "Amount below dust threshold" +msgstr "Montant en dessous du seuil minimal recommandé" + #: public/views/walletHome.html #: public/views/modals/customized-amount.html msgid "Amount in" @@ -97,6 +112,11 @@ msgstr "Êtes-vous certain de vouloir supprimer ce portefeuille ?" msgid "Available Balance" msgstr "Solde disponible" +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Average confirmation time: {{fee.nbBlocks * 10}} minutes" +msgstr "Temps de confirmation moyen : {{fee.nbBlocks * 10}} minutes" + #: public/views/create.html #: public/views/join.html msgid "BIP32 master extended private key" @@ -124,13 +144,17 @@ msgstr "Sauvegarder" msgid "Backup options" msgstr "Options de sauvegarde" +#: src/js/services/profileService.js +msgid "Bad wallet invitation" +msgstr "Mauvaise invitation de portefeuille" + #: public/views/walletHome.html msgid "Before receiving funds, it is highly recommended you backup your wallet keys." msgstr "Avant de recevoir des fonds, il est fortement recommandé de sauvegarder les clés de votre portefeuille." #: public/views/preferences.html msgid "Bitcoin Network Fee Policy" -msgstr "Politique des frais de réseau Bitcoin" +msgstr "Stratégie des frais de réseau Bitcoin" #: public/views/paymentUri.html msgid "Bitcoin URI is NOT valid!" @@ -141,8 +165,8 @@ msgid "Bitcoin address" msgstr "Adresse Bitcoin" #: public/views/preferencesFee.html -msgid "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. The ‘Emergency’ level should only be used when there is a network congestion." -msgstr "Les transactions Bitcoin peuvent inclure des frais collectés par les mineurs du réseau. Plus les frais sont élevés, et plus l'incitation à inclure une transaction dans un bloc est importante pour les mineurs. La priorité \"Urgente\" ne devrait être utilisée que lorsque le réseau présente une congestion." +msgid "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy." +msgstr "Les transactions Bitcoin peuvent inclure des frais prélevés par les mineurs sur le réseau. Plus les frais sont élevés, et plus un mineur sera incité à inclure cette transaction dans un bloc. Les frais actuels sont déterminés en fonction de la charge du réseau et de la stratégie sélectionnée." #: public/views/modals/txp-details.html msgid "Broadcast Payment" @@ -170,9 +194,17 @@ msgstr "ANNULER" #: public/views/copayers.html #: public/views/walletHome.html +#: public/views/modals/confirmation.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js msgid "Cancel" msgstr "Annuler" +#: src/js/services/profileService.js +msgid "Cannot join the same wallet more that once" +msgstr "Impossible de rejoindre le même portefeuille plus d'une fois" + #: public/views/modals/paypro.html msgid "Certified by" msgstr "Certifié par" @@ -181,10 +213,6 @@ msgstr "Certifié par" msgid "Changing wallet alias only affects the local wallet name." msgstr "La modification d'un alias de portefeuille affecte uniquement le nom du portefeuille local." -#: src/js/controllers/walletHome.js -msgid "Check you connection and try again" -msgstr "Vérifiez votre connexion internet et réessayez" - #: public/views/import.html msgid "Choose a backup file from your computer" msgstr "Choisissez un fichier de sauvegarde depuis votre ordinateur" @@ -194,6 +222,7 @@ msgid "Choose a wallet to send funds" msgstr "Choisissez un portefeuille pour envoyer des fonds" #: public/views/includes/topbar.html +#: public/views/modals/advancedSend.html #: public/views/modals/copayers.html #: public/views/modals/customized-amount.html #: public/views/modals/paypro.html @@ -210,14 +239,42 @@ msgstr "Couleur" msgid "Commit hash" msgstr "Commit hash" +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Confirm" +msgstr "Confirmer" + #: public/views/modals/tx-details.html msgid "Confirmations" msgstr "Confirmations" +#: src/js/services/bwsError.js +msgid "Copayer already in this wallet" +msgstr "Copayer déjà dans ce portefeuille" + +#: src/js/services/bwsError.js +msgid "Copayer already registered" +msgstr "Copayer déjà inscrit" + +#: src/js/services/bwsError.js +msgid "Copayer already voted on this spend proposal" +msgstr "Le Copayer a déjà voté pour cette proposition de dépense" + +#: src/js/services/bwsError.js +msgid "Copayer data mismatch" +msgstr "Les données Copayer ne correspondent pas" + #: public/views/modals/copayers.html msgid "Copayers" msgstr "Copayers" +#: src/js/controllers/backup.js +#: src/js/controllers/copayers.js +#: src/js/controllers/walletHome.js +msgid "Copied to clipboard" +msgstr "Copié dans le presse-papier" + #: public/views/backup.html msgid "Copy backup to a safe place" msgstr "Copiez la sauvegarde vers un endroit sûr" @@ -231,20 +288,20 @@ msgid "Copy to clipboard" msgstr "Copier dans le presse-papier" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check you connection and try again" -msgstr "Impossible d'accepter le paiement. Vérifiez votre connexion internet et réessayez" +msgid "Could not accept payment" +msgstr "Impossible d'accepter le paiement" + +#: src/js/controllers/index.js +msgid "Could not access Wallet Service: Not found" +msgstr "Impossible d'accéder au Wallet Service : Introuvable" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check you connection and try again" -msgstr "Impossible de diffuser le paiement. Vérifiez votre connexion internet et réessayez" +msgid "Could not broadcast payment" +msgstr "Impossible de diffuser le paiement" -#: src/js/controllers/walletHome.js -msgid "Could not connect wallet service. Check your Internet connection and your wallet service configuration." -msgstr "Impossible de se connecter au service de portefeuille. Vérifiez votre connexion Internet et la configuration de votre service de portefeuille." - -#: src/js/controllers/walletHome.js -msgid "Could not create address. Check you connection and try again" -msgstr "Impossible de créer l'adresse. Vérifiez votre connexion internet et réessayez" +#: src/js/services/addressService.js +msgid "Could not create address" +msgstr "Impossible de créer l'adresse" #: src/js/controllers/walletHome.js msgid "Could not create payment proposal" @@ -259,8 +316,8 @@ msgid "Could not decrypt file, check your password" msgstr "Impossible de déchiffrer le fichier, vérifiez votre mot de passe" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check you connection and try again" -msgstr "Impossible de supprimer la proposition de paiement. Vérifiez votre connexion internet et réessayez" +msgid "Could not delete payment proposal" +msgstr "Impossible de supprimer la proposition de paiement" #: src/js/controllers/walletHome.js msgid "Could not fetch payment information" @@ -278,8 +335,8 @@ msgstr "Impossible d'importer. Vérifiez le fichier d'entrée et le mot de passe msgid "Could not join using the specified extended private key" msgstr "Impossible de rejoindre en utilisant la clé privée étendue spécifiée" -#: src/js/controllers/join.js -msgid "Could not join wallet:" +#: src/js/services/profileService.js +msgid "Could not join wallet" msgstr "Impossible de rejoindre le portefeuille" #: src/js/controllers/walletHome.js @@ -287,14 +344,14 @@ msgid "Could not recognize a valid Bitcoin QR Code" msgstr "Impossible de reconnaître un code QR Bitcoin valide" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check you connection and try again" -msgstr "Impossible de rejeter le paiement. Vérifiez votre connexion internet réessayez" +msgid "Could not reject payment" +msgstr "Impossible de rejeter le paiement" #: src/js/controllers/walletHome.js msgid "Could not send payment" msgstr "Impossible d'envoyer le paiement" -#: public/views/walletHome.html +#: src/js/controllers/index.js msgid "Could not update Wallet" msgstr "Impossible de mettre à jour le portefeuille" @@ -331,6 +388,11 @@ msgstr "Création du portefeuille..." msgid "Creating transaction" msgstr "Création de la transaction" +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB" +msgstr "Frais actuels pour cette stratégie : {{fee.feePerKBUnit}}/kiB" + #: public/views/modals/tx-details.html msgid "Date" msgstr "Date" @@ -370,6 +432,10 @@ msgstr "Désactivé" msgid "Do not include private key in backup" msgstr "Ne pas inclure la clé privée dans la sauvegarde" +#: public/views/translators.html +msgid "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." +msgstr "Vous ne voyez pas votre langue sur Crowdin ? Contactez le propriétaire sur Crowdin ! Nous serions ravis de prendre en charge votre langue." + #: public/views/walletHome.html msgid "Download CSV file" msgstr "Télécharger le fichier CSV" @@ -378,11 +444,7 @@ msgstr "Télécharger le fichier CSV" msgid "Download backup" msgstr "Télécharger la sauvegarde" -#: public/views/includes/password.html -msgid "ENTER" -msgstr "ENTRER" - -#: src/js/controllers/preferencesFee.js +#: src/js/services/feeService.js msgid "Economy" msgstr "Économique" @@ -390,10 +452,6 @@ msgstr "Économique" msgid "Email Notifications" msgstr "Notifications e-mail" -#: src/js/controllers/preferencesFee.js -msgid "Emergency" -msgstr "Urgente" - #: public/views/preferences.html msgid "Encrypt Private Key" msgstr "Chiffrer la clé privée" @@ -402,22 +460,18 @@ msgstr "Chiffrer la clé privée" msgid "Encrypted backup file saved" msgstr "Le fichier de sauvegarde chiffré a été sauvegardé" -#: src/js/controllers/index.js -msgid "English" -msgstr "Anglais" - #: public/views/includes/password.html msgid "Enter your password" msgstr "Entrer votre mot de passe" +#: src/js/controllers/index.js +msgid "Error at Wallet Service" +msgstr "Erreur au niveau de Wallet Service" + #: src/js/services/profileService.js msgid "Error creating wallet" msgstr "Erreur de création du portefeuille" -#: src/js/services/profileService.js -msgid "Error creating wallet. Check your internet connection" -msgstr "Erreur de création du portefeuille. Vérifiez votre connexion internet" - #: src/js/services/profileService.js msgid "Error importing wallet:" msgstr "Erreur d'importation du portefeuille :" @@ -444,15 +498,27 @@ msgstr "Fonds pour les vacances familiales" msgid "Fee" msgstr "Frais" +#: public/views/modals/advancedSend.html +msgid "Fee Policy" +msgstr "Stratégie des frais" + +#: public/views/walletHome.html +msgid "Fee policy for this transaction" +msgstr "Stratégie des frais pour cette transaction" + #. Get information of payment if using Payment Protocol #: src/js/controllers/walletHome.js msgid "Fetching Payment Information" msgstr "Récupération des informations de paiement" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "French" msgstr "Français" +#: src/js/services/bwsError.js +msgid "Funds are locked by pending spend proposals" +msgstr "Les fonds sont verrouillés par des propositions de dépenses en attente" + #: src/js/services/notificationsService.js msgid "Funds received" msgstr "Fonds reçus" @@ -473,7 +539,7 @@ msgstr "Générer une nouvelle adresse" msgid "Generating .csv file..." msgstr "Génération du fichier .csv..." -#: src/js/controllers/index.js +#: public/views/translators.html msgid "German" msgstr "Allemand" @@ -489,7 +555,7 @@ msgstr "Paramètres globaux" msgid "Go back" msgstr "Retour" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Greek" msgstr "Grec" @@ -500,7 +566,8 @@ msgstr "Vous avez une sauvegarde de Copay v0.9 ?" #: public/views/backup.html #: public/views/create.html #: public/views/join.html -msgid "Hide Advanced options" +#: public/views/walletHome.html +msgid "Hide advanced options" msgstr "Masquer les options avancées" #: src/js/controllers/index.js @@ -549,15 +616,35 @@ msgstr "Importation du portefeuille..." msgid "Importing..." msgstr "Importation..." +#: src/js/services/bwsError.js +msgid "Incorrect address network" +msgstr "Adresse réseau incorrecte" + +#: src/js/services/bwsError.js +msgid "Insufficient funds" +msgstr "Fonds insuffisants" + +#: src/js/services/bwsError.js +msgid "Insufficient funds for fee" +msgstr "Fonds insuffisants pour les frais" + #: public/views/walletHome.html msgid "Invalid" msgstr "Invalide" -#: src/js/controllers/index.js +#: src/js/services/bwsError.js +msgid "Invalid address" +msgstr "Adresse invalide" + +#: src/js/controllers/copayers.js +msgid "Invitation to share a Copay Wallet" +msgstr "Invitation pour partager un portefeuille Copay" + +#: public/views/translators.html msgid "Italian" msgstr "Italien" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Japanese" msgstr "Japonais" @@ -570,6 +657,10 @@ msgstr "John" msgid "Join" msgstr "Rejoindre" +#: src/js/controllers/copayers.js +msgid "Join my Copay wallet. Here is the invitation code: {{secret}} You can download Copay for your phone or desktop at https://copay.io" +msgstr "Rejoignez mon portefeuille Copay. Voici le code d'invitation : {{secret}} Vous pouvez télécharger Copay pour votre téléphone ou pour votre ordinateur sur https://copay.io" + #: public/views/add.html msgid "Join shared wallet" msgstr "Rejoindre" @@ -586,6 +677,14 @@ msgstr "Langue" msgid "Learn more about Wallet Migration" msgstr "En savoir plus sur la migration de portefeuille" +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to create a new spend proposal" +msgstr "Locktime effectif. Veuillez patienter pour créer une nouvelle proposition de dépense" + +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to remove this spend proposal" +msgstr "Locktime effectif. Veuillez patienter pour supprimer cette proposition de dépense" + #: public/views/paymentUri.html msgid "Make a payment to" msgstr "Faire un paiement à" @@ -634,14 +733,14 @@ msgstr "Mon adresse Bitcoin" msgid "Network" msgstr "Réseau" +#: src/js/services/bwsError.js +msgid "Network connection error" +msgstr "Erreur de connexion réseau" + #: src/js/services/notificationsService.js msgid "New Payment Proposal" msgstr "Nouvelle proposition de paiement" -#: public/views/modals/confirmation.html -msgid "No" -msgstr "Non" - #: public/views/walletHome.html msgid "No Private key" msgstr "Aucune clé privée" @@ -650,21 +749,30 @@ msgstr "Aucune clé privée" msgid "No transactions yet" msgstr "Aucune transaction" -#: src/js/controllers/preferencesFee.js +#: src/js/services/feeService.js msgid "Normal" msgstr "Normale" +#: src/js/services/bwsError.js +msgid "Not authorized" +msgstr "Non autorisé" + #: public/views/walletHome.html #: public/views/modals/customized-amount.html msgid "Not valid" msgstr "Non valide" #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/modals/tx-details.html -#: public/views/modals/txp-details.html msgid "Note" msgstr "Note" +#: public/views/includes/alert.html +#: public/views/includes/password.html +msgid "OK" +msgstr "Ok" + #: public/views/modals/tx-status.html msgid "OKAY" msgstr "Ok" @@ -768,6 +876,10 @@ msgstr "Paiement envoyé !" msgid "Payment to" msgstr "Paiement à" +#: public/views/walletHome.html +msgid "Pending Confirmation" +msgstr "Confirmations en attente" + #: public/views/preferencesDeleteWallet.html msgid "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" msgstr "Supprimer définitivement ce portefeuille. CETTE ACTION NE PEUT PAS ÊTRE ANNULÉE" @@ -781,11 +893,15 @@ msgstr "Portefeuille personnel" msgid "Please enter the required fields" msgstr "Veuillez saisir les champs requis" +#: src/js/services/bwsError.js +msgid "Please upgrade Copay to perform this action" +msgstr "Veuillez mettre à jour Copay pour effectuer cette action" + #: src/js/controllers/import.js msgid "Please, select your backup file" msgstr "Veuillez sélectionner votre fichier de sauvegarde" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Portuguese" msgstr "Portugais" @@ -793,7 +909,11 @@ msgstr "Portugais" msgid "Preferences" msgstr "Préférences" -#: src/js/controllers/preferencesFee.js +#: src/js/controllers/backup.js +msgid "Preparing backup..." +msgstr "Préparation de la sauvegarde..." + +#: src/js/services/feeService.js msgid "Priority" msgstr "Prioritaire" @@ -813,6 +933,11 @@ msgstr "Recevoir" msgid "Received" msgstr "Reçue" +#: public/views/includes/output.html +#: public/views/includes/transaction.html +msgid "Recipients" +msgstr "Destinataires" + #: public/views/walletHome.html msgid "Reconnecting to Wallet Service..." msgstr "Reconnexion au service de portefeuille..." @@ -856,6 +981,10 @@ msgstr "Requis" msgid "Retrying..." msgstr "Nouvelle tentative" +#: public/views/translators.html +msgid "Russian" +msgstr "Russe" + #: public/views/includes/password.html msgid "SET" msgstr "DEFINIR" @@ -972,8 +1101,13 @@ msgstr "Portefeuille partagé" #: public/views/backup.html #: public/views/create.html #: public/views/join.html -msgid "Show Advanced options" -msgstr "Montrer les options avancées" +#: public/views/walletHome.html +msgid "Show advanced options" +msgstr "Afficher les options avancées" + +#: src/js/services/bwsError.js +msgid "Signatures rejected by server" +msgstr "Signatures rejetées par le serveur" #: src/js/controllers/walletHome.js msgid "Signing payment" @@ -983,10 +1117,18 @@ msgstr "Signature du paiement" msgid "Signing transaction" msgstr "Signature de la transaction" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Spanish" msgstr "Espagnol" +#: src/js/services/bwsError.js +msgid "Spend proposal is not accepted" +msgstr "La proposition de dépense n'est pas acceptée" + +#: src/js/services/bwsError.js +msgid "Spend proposal not found" +msgstr "Propostion de dépense introuvable" + #: src/js/controllers/copayers.js #: src/js/controllers/import.js #: src/js/controllers/preferencesDelete.js @@ -1011,7 +1153,7 @@ msgid "The payment was created but could not be completed. Please try again from msgstr "Le paiement a été créé mais n'a pas pu être achevé. Veuillez réessayer depuis l'écran d'accueil" #: src/js/controllers/walletHome.js -msgid "The payment was created but could not be signed. Please try again from home screen." +msgid "The payment was created but could not be signed. Please try again from home screen" msgstr "Le paiement a été créé mais n'a pas pu être signé. Veuillez réessayer depuis l'écran d'accueil" #: public/views/modals/txp-details.html @@ -1019,8 +1161,8 @@ msgid "The payment was removed by creator" msgstr "Le paiement a été supprimé par le créateur" #: src/js/controllers/walletHome.js -msgid "The payment was signed but could not be broadcasted. Please try again from home screen." -msgstr "Le paiement a été signé, mais ne peut pas être diffusé. Veuillez réessayer depuis l'écran d'accueil." +msgid "The payment was signed but could not be broadcasted. Please try again from home screen" +msgstr "Le paiement a été signé mais ne peut pas être diffusé. Veuillez réessayer depuis l'écran d'accueil" #: public/views/backup.html msgid "The private key for this wallet is encrypted. Exporting a backup will keep the private key encrypted in the backup archive." @@ -1028,19 +1170,23 @@ msgstr "La clé privée pour ce portefeuille est chiffrée. Exporter une sauvega #: public/views/disclaimer.html msgid "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." -msgstr "Le logiciel que vous êtes sur le point d'utiliser fonctionne comme un portefeuille numérique gratuit, open source et multi-signatures.\n" -"Le logiciel ne constitue pas un compte où BitPay, ou des tiers, agissent comme des intermédiaires financiers ou dépositaires de vos bitcoins.\n" -"Bien que le logiciel ait subi des tests bêta et continue d'être amélioré par les commentaires d'utilisateurs et de développeurs de la communauté open source, nous ne pouvons pas garantir qu'il n'y aura plus de bugs dans le logiciel.\n" -"Vous reconnaissez que votre utilisation de ce logiciel est à votre propre discrétion et est en conformité avec toutes les lois applicables.\n" -"Vous êtes responsable de la sauvegarde de vos mots de passe, paires de clés privées, codes PIN et autres codes que vous utilisez pour accéder au logiciel.\n" -"SI VOUS PERDEZ L'ACCÈS À VOTRE PORTEFEUILLE COPAY OU À VOS CLÉS PRIVÉES CHIFFRÉES ET QUE VOUS N'AVEZ PAS ENTREPOSÉ SÉPARÉMENT UNE SAUVEGARDE DE VOTRE PORTEFEUILLE ET LES MOTS DE PASSE CORRESPONDANT, VOUS RECONNAISSEZ ET ACCEPTEZ QUE LES BITCOINS QUE VOUS AVEZ ASSOCIÉ À CE PORTEFEUILLE COPAY DEVIENNENT INACCESSIBLES.\n" -"Toutes les transactions sont irréversibles.\n" -"Les auteurs de ce logiciel, employés et sociétés affiliés à BitPay, détenteurs de droits d'auteur, et BitPay, Inc. ne peuvent pas récupérer vos clés privées ou mots de passe si vous les perdez et ne peuvent pas garantir la confirmation des transactions étant donné qu'ils n'ont pas de contrôle sur le réseau Bitcoin.\n" -"Dans toute la mesure permise par la loi, ce logiciel est fourni “tel quel” et aucune représentation ou garantie ne peut être faite de toute nature, expresse ou implicite, y compris, mais sans s'y limiter, les garanties de qualité marchande, la conformité ou un usage particulier et absent de contrefaçon.\n" -"Vous assumez tous les risques associés à l'utilisation du logiciel.\n" -"En aucun cas les auteurs des logiciels, employés et sociétés affiliés de Bitpay, détenteurs de droits d'auteur, ou BitPay, Inc. ne peuvent être tenus responsables de toute réclamation, dommages ou autre responsabilité, que ce soit dans une action contractuelle, délictuelle ou autre, découlant ou en étant en connexion avec le logiciel.\n" +msgstr "Le logiciel que vous êtes sur le point d'utiliser fonctionne comme un portefeuille numérique gratuit, open source et multi-signatures.\n" +"Le logiciel ne constitue pas un compte où BitPay, ou des tiers, agissent comme des intermédiaires financiers ou dépositaires de vos bitcoins.\n" +"Bien que le logiciel ait subi des tests bêta et continue d'être amélioré par les commentaires d'utilisateurs et de développeurs de la communauté open source, nous ne pouvons pas garantir qu'il n'y aura plus de bugs dans le logiciel.\n" +"Vous reconnaissez que votre utilisation de ce logiciel est à votre propre discrétion et est en conformité avec toutes les lois applicables.\n" +"Vous êtes responsable de la sauvegarde de vos mots de passe, paires de clés privées, codes PIN et autres codes que vous utilisez pour accéder au logiciel.\n" +"SI VOUS PERDEZ L'ACCÈS À VOTRE PORTEFEUILLE COPAY OU À VOS CLÉS PRIVÉES CHIFFRÉES ET QUE VOUS N'AVEZ PAS ENTREPOSÉ SÉPARÉMENT UNE SAUVEGARDE DE VOTRE PORTEFEUILLE ET LES MOTS DE PASSE CORRESPONDANT, VOUS RECONNAISSEZ ET ACCEPTEZ QUE LES BITCOINS QUE VOUS AVEZ ASSOCIÉ À CE PORTEFEUILLE COPAY DEVIENNENT INACCESSIBLES.\n" +"Toutes les transactions sont irréversibles.\n" +"Les auteurs de ce logiciel, employés et sociétés affiliés à BitPay, détenteurs de droits d'auteur, et BitPay, Inc. ne peuvent pas récupérer vos clés privées ou mots de passe si vous les perdez et ne peuvent pas garantir la confirmation des transactions étant donné qu'ils n'ont pas de contrôle sur le réseau Bitcoin.\n" +"Dans toute la mesure permise par la loi, ce logiciel est fourni “tel quel” et aucune représentation ou garantie ne peut être faite de toute nature, expresse ou implicite, y compris, mais sans s'y limiter, les garanties de qualité marchande, la conformité ou un usage particulier et absent de contrefaçon.\n" +"Vous assumez tous les risques associés à l'utilisation du logiciel.\n" +"En aucun cas les auteurs des logiciels, employés et sociétés affiliés de Bitpay, détenteurs de droits d'auteur, ou BitPay, Inc. ne peuvent être tenus responsables de toute réclamation, dommages ou autre responsabilité, que ce soit dans une action contractuelle, délictuelle ou autre, découlant ou en étant en connexion avec le logiciel.\n" "Nous nous réservons le droit de modifier cette clause de temps à autre." +#: src/js/services/bwsError.js +msgid "The spend proposal is not pending" +msgstr "La proposition de dépense n'est pas en attente" + #: src/js/controllers/copayers.js #: src/js/controllers/preferencesDelete.js msgid "The wallet \"{{walletName}}\" was deleted" @@ -1060,19 +1206,24 @@ msgstr "Cette transaction est devenue invalide ; il s'agit peut-être d'une tent #: public/views/walletHome.html msgid "This wallet is not registered at the given Bitcore Wallet Service (BWS). You can recreate it from the local information." -msgstr "Ce portefeuille n'est pas enregistré dans le Bitcore Wallet Service (BWS).Vous pouvez le recréer depuis l'information locale." +msgstr "Ce portefeuille n'est pas enregistré dans le Bitcore Wallet Service (BWS) donné. Vous pouvez le recréer depuis l'information locale." #: public/views/modals/txp-details.html msgid "Time" msgstr "Heure" #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/includes/transaction.html #: public/views/modals/tx-details.html #: public/views/modals/txp-details.html msgid "To" msgstr "À" +#: public/views/includes/output.html +msgid "Total" +msgstr "Total" + #: public/views/walletHome.html msgid "Total Locked Balance" msgstr "Solde verrouillé total" @@ -1081,6 +1232,18 @@ msgstr "Solde verrouillé total" msgid "Transaction" msgstr "Transaction" +#: src/js/services/bwsError.js +msgid "Transaction already broadcasted" +msgstr "Transaction déjà diffusée" + +#: public/views/translators.html +msgid "Translation Credits" +msgstr "Crédits de traduction" + +#: public/views/preferencesAbout.html +msgid "Translators" +msgstr "Traducteurs" + #: src/js/controllers/walletHome.js msgid "Unable to send transaction proposal" msgstr "Impossible d'envoyer la proposition de transaction" @@ -1106,6 +1269,11 @@ msgstr "Non-approuvé" msgid "Updating Wallet..." msgstr "Mise à jour du portefeuille..." +#: public/views/preferences.html +#: public/views/walletHome.html +msgid "Use Unconfirmed Funds" +msgstr "Utiliser les fonds non confirmés" + #: public/views/preferencesAbout.html msgid "Version" msgstr "Version" @@ -1150,6 +1318,7 @@ msgstr "Invitation de portefeuille" msgid "Wallet Invitation is not valid!" msgstr "L'invitation de portefeuille n'est pas valide !" +#: src/js/services/bwsError.js #: src/js/services/profileService.js msgid "Wallet already exists" msgstr "Le portefeuille existe déjà" @@ -1158,18 +1327,34 @@ msgstr "Le portefeuille existe déjà" msgid "Wallet incomplete and broken" msgstr "Portefeuille incomplet et cassé " +#: src/js/services/bwsError.js +msgid "Wallet is full" +msgstr "Le portefeuille est plein" + +#: src/js/services/bwsError.js +msgid "Wallet is not complete" +msgstr "Le portefeuille n'est pas complet" + #: public/views/create.html msgid "Wallet name" msgstr "Nom du portefeuille" -#: src/js/controllers/walletHome.js -msgid "Wallet service timed out. Check your Internet connection and your wallet service configuration." -msgstr "Le service de portefeuille s'est déconnecté. Vérifiez votre connexion Internetet la configuration de votre service de portefeuille." +#: src/js/services/bwsError.js +msgid "Wallet not found" +msgstr "Portefeuille introuvable" + +#: src/js/services/bwsError.js +msgid "Wallet service not found" +msgstr "Wallet Service introuvable" #: public/views/preferencesDeleteWallet.html msgid "Warning!" msgstr "Attention !" +#: public/views/modals/txp-details.html +msgid "Warning: this transaction has unconfirmed inputs" +msgstr "ATTENTION : Cette transaction a des entrées non confirmées" + #: src/js/services/profileService.js msgid "Wrong password" msgstr "Mauvais mot de passe" @@ -1230,10 +1415,6 @@ msgstr "paramètres" msgid "too long!" msgstr "trop long !" -#: public/views/preferencesFee.html -msgid "{{fee.value}} bits per kB" -msgstr "{{fee.value}} bits par kB" - #: src/js/controllers/walletHome.js msgid "{{fee}} will be discounted for bitcoin networking fees" msgstr "{{fee}} seront déduits pour les frais de réseau Bitcoin" diff --git a/i18n/po/it.po b/i18n/po/it.po index 94f57bbd1..cda10b4b3 100644 --- a/i18n/po/it.po +++ b/i18n/po/it.po @@ -12,7 +12,7 @@ msgstr "" "Last-Translator: cmgustavo83\n" "Language-Team: Italian\n" "Language: it\n" -"PO-Revision-Date: 2015-07-23 11:32-0400\n" +"PO-Revision-Date: 2015-08-13 09:15-0400\n" #: public/views/walletHome.html msgid "(possible double spend)" @@ -39,6 +39,9 @@ msgid "About Copay" msgstr "Circa Copay" #: public/views/modals/txp-details.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js msgid "Accept" msgstr "Accetta" @@ -56,6 +59,10 @@ msgstr "Indirizzo" msgid "Advanced" msgstr "Avanzato" +#: public/views/modals/advancedSend.html +msgid "Advanced Send" +msgstr "Invio Avanzato" + #: public/views/disclaimer.html msgid "Agree" msgstr "Acconsento" @@ -64,6 +71,10 @@ msgstr "Acconsento" msgid "Alias for {{index.walletName}}" msgstr "Alias per {{index.walletName}}" +#: public/views/translators.html +msgid "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at" +msgstr "Tutti i contributori alla traduzione di Copay sono i benvenuti. Iscriviti a crowdin e unisciti al progetto Copay presso" + #: public/views/splash.html msgid "Already have a wallet?" msgstr "Hai già un portafoglio?" @@ -74,11 +85,15 @@ msgstr "Valuta alternativa" #: public/views/paymentUri.html #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/modals/customized-amount.html -#: public/views/modals/txp-details.html msgid "Amount" msgstr "Ammontare" +#: src/js/services/bwsError.js +msgid "Amount below dust threshold" +msgstr "Importo sotto soglia" + #: public/views/walletHome.html #: public/views/modals/customized-amount.html msgid "Amount in" @@ -97,6 +112,11 @@ msgstr "Sei sicuro di voler eliminare questo portafoglio?" msgid "Available Balance" msgstr "Saldo disponibile" +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Average confirmation time: {{fee.nbBlocks * 10}} minutes" +msgstr "Tempo medio di conferma: {{fee.nbBlocks * 10}} minuti" + #: public/views/create.html #: public/views/join.html msgid "BIP32 master extended private key" @@ -124,6 +144,10 @@ msgstr "Esegui backup ora" msgid "Backup options" msgstr "Opzioni di backup" +#: src/js/services/profileService.js +msgid "Bad wallet invitation" +msgstr "Invito al wallet non corretto" + #: public/views/walletHome.html msgid "Before receiving funds, it is highly recommended you backup your wallet keys." msgstr "Prima di ricevere fondi, è altamente raccomandato eseguire il backup delle chiavi del portafoglio." @@ -141,8 +165,8 @@ msgid "Bitcoin address" msgstr "Indirizzo Bitcoin" #: public/views/preferencesFee.html -msgid "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. The ‘Emergency’ level should only be used when there is a network congestion." -msgstr "Le transazioni in bitcoin possono includere una tassa raccolta dai minatori sulla rete. Più alto il costo, maggiore sarà l'incentivo di un minatore per includere tale transazione in un blocco. Il livello 'Emergenza' dovrebbe essere usato solo quando c'è una congestione di rete." +msgid "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy." +msgstr "Le transazioni bitcoin possono includere una tassa raccolta dai minatori della rete. Più alto è il costo, maggiore sarà la possibilità di includere tale transazione in un blocco. Le tasse effettive sono determinate in base al carico della rete ed ai criteri selezionati." #: public/views/modals/txp-details.html msgid "Broadcast Payment" @@ -170,9 +194,17 @@ msgstr "Annulla" #: public/views/copayers.html #: public/views/walletHome.html +#: public/views/modals/confirmation.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js msgid "Cancel" msgstr "Annulla" +#: src/js/services/profileService.js +msgid "Cannot join the same wallet more that once" +msgstr "Non è possibile aggiungere un portafoglio più di una volta" + #: public/views/modals/paypro.html msgid "Certified by" msgstr "Certificato da" @@ -181,10 +213,6 @@ msgstr "Certificato da" msgid "Changing wallet alias only affects the local wallet name." msgstr "Il cambiamento degli alias dei portafogli influenza solo il nome del portafoglio locale." -#: src/js/controllers/walletHome.js -msgid "Check you connection and try again" -msgstr "Verifica la connessione e riprova" - #: public/views/import.html msgid "Choose a backup file from your computer" msgstr "Seleziona un file di backup dal tuo computer" @@ -194,6 +222,7 @@ msgid "Choose a wallet to send funds" msgstr "Seleziona un portafoglio per inviare fondi" #: public/views/includes/topbar.html +#: public/views/modals/advancedSend.html #: public/views/modals/copayers.html #: public/views/modals/customized-amount.html #: public/views/modals/paypro.html @@ -210,14 +239,42 @@ msgstr "Colore" msgid "Commit hash" msgstr "Commit hash" +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Confirm" +msgstr "Conferma" + #: public/views/modals/tx-details.html msgid "Confirmations" msgstr "Conferme" +#: src/js/services/bwsError.js +msgid "Copayer already in this wallet" +msgstr "Copayer già in questo portafoglio" + +#: src/js/services/bwsError.js +msgid "Copayer already registered" +msgstr "Copayer già registrato" + +#: src/js/services/bwsError.js +msgid "Copayer already voted on this spend proposal" +msgstr "Copayer già votato su questa proposta" + +#: src/js/services/bwsError.js +msgid "Copayer data mismatch" +msgstr "Mancata corrispondenza dei dati del copayer" + #: public/views/modals/copayers.html msgid "Copayers" msgstr "Copayers" +#: src/js/controllers/backup.js +#: src/js/controllers/copayers.js +#: src/js/controllers/walletHome.js +msgid "Copied to clipboard" +msgstr "Copiato negli appunti" + #: public/views/backup.html msgid "Copy backup to a safe place" msgstr "Copia il backup in un posto sicuro" @@ -231,20 +288,20 @@ msgid "Copy to clipboard" msgstr "Copia negli appunti" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check you connection and try again" -msgstr "Impossibile accettare il pagamento. Controlla la connessione e riprova di nuovo" +msgid "Could not accept payment" +msgstr "Could not accept payment" + +#: src/js/controllers/index.js +msgid "Could not access Wallet Service: Not found" +msgstr "Could not access Wallet Service: Not found" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check you connection and try again" -msgstr "Impossibile trasmettere il pagamento. Controlla la connessione e riprova" +msgid "Could not broadcast payment" +msgstr "Could not broadcast payment" -#: src/js/controllers/walletHome.js -msgid "Could not connect wallet service. Check your Internet connection and your wallet service configuration." -msgstr "Impossibile connettersi al servizio portafoglio. Verifica la tua connessione Internet e la configurazione del servizio portafoglio." - -#: src/js/controllers/walletHome.js -msgid "Could not create address. Check you connection and try again" -msgstr "Impossibile creare l'indirizzo. Verifica la tua connessione e prova di nuovo" +#: src/js/services/addressService.js +msgid "Could not create address" +msgstr "Could not create address" #: src/js/controllers/walletHome.js msgid "Could not create payment proposal" @@ -259,8 +316,8 @@ msgid "Could not decrypt file, check your password" msgstr "Impossibile decrittografare il file, controlla la tua password" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check you connection and try again" -msgstr "Impossibile eliminare la proposta di pagamento. Verifica la tua connessione e prova di nuovo" +msgid "Could not delete payment proposal" +msgstr "Could not delete payment proposal" #: src/js/controllers/walletHome.js msgid "Could not fetch payment information" @@ -278,23 +335,23 @@ msgstr "Impossibile importare. Verifica file importato e password" msgid "Could not join using the specified extended private key" msgstr "Impossibile partecipare utilizzando la chiave privata estesa specificata" -#: src/js/controllers/join.js -msgid "Could not join wallet:" -msgstr "Impossibile partecipare al portafoglio:" +#: src/js/services/profileService.js +msgid "Could not join wallet" +msgstr "Impossibile partecipare al portafoglio" #: src/js/controllers/walletHome.js msgid "Could not recognize a valid Bitcoin QR Code" msgstr "Impossibile riconoscere un Codice QR Bitcoin valido" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check you connection and try again" -msgstr "Impossibile rifiutare il pagamento. Verifica la tua connessione e prova di nuovo" +msgid "Could not reject payment" +msgstr "Impossibile rifiutare il pagamento" #: src/js/controllers/walletHome.js msgid "Could not send payment" msgstr "Impossibile inviare il pagamento" -#: public/views/walletHome.html +#: src/js/controllers/index.js msgid "Could not update Wallet" msgstr "Impossibile aggiornare il Portafoglio" @@ -331,6 +388,11 @@ msgstr "Creazione Portafoglio..." msgid "Creating transaction" msgstr "Creazione transazione" +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB" +msgstr "Tassa corrente per questa policy: {{fee.feePerKBUnit}}/kiB" + #: public/views/modals/tx-details.html msgid "Date" msgstr "Data" @@ -370,6 +432,10 @@ msgstr "Disabilitato" msgid "Do not include private key in backup" msgstr "Non includere la chiave privata nel backup" +#: public/views/translators.html +msgid "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." +msgstr "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." + #: public/views/walletHome.html msgid "Download CSV file" msgstr "Scarica in formato CSV" @@ -378,22 +444,14 @@ msgstr "Scarica in formato CSV" msgid "Download backup" msgstr "Scarica il backup" -#: public/views/includes/password.html -msgid "ENTER" -msgstr "IMMETTERE" - -#: src/js/controllers/preferencesFee.js +#: src/js/services/feeService.js msgid "Economy" -msgstr "Economia" +msgstr "Economy" #: public/views/preferences.html msgid "Email Notifications" msgstr "Notifiche Email" -#: src/js/controllers/preferencesFee.js -msgid "Emergency" -msgstr "Emergenza" - #: public/views/preferences.html msgid "Encrypt Private Key" msgstr "Cripta la chiave privata" @@ -402,22 +460,18 @@ msgstr "Cripta la chiave privata" msgid "Encrypted backup file saved" msgstr "Backup criptato salvato" -#: src/js/controllers/index.js -msgid "English" -msgstr "Inglese" - #: public/views/includes/password.html msgid "Enter your password" msgstr "Inserisci la tua password" +#: src/js/controllers/index.js +msgid "Error at Wallet Service" +msgstr "Error at Wallet Service" + #: src/js/services/profileService.js msgid "Error creating wallet" msgstr "Errore creazione portafoglio" -#: src/js/services/profileService.js -msgid "Error creating wallet. Check your internet connection" -msgstr "Errore creazione portafoglio. Verifica la tua connessione internet" - #: src/js/services/profileService.js msgid "Error importing wallet:" msgstr "Errore importazione portafoglio:" @@ -444,15 +498,27 @@ msgstr "Fondi vacanza di famiglia" msgid "Fee" msgstr "Tassa" +#: public/views/modals/advancedSend.html +msgid "Fee Policy" +msgstr "Politica delle tasse" + +#: public/views/walletHome.html +msgid "Fee policy for this transaction" +msgstr "Fee policy for this transaction" + #. Get information of payment if using Payment Protocol #: src/js/controllers/walletHome.js msgid "Fetching Payment Information" msgstr "Recuperando le informazioni del pagamento" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "French" msgstr "Francese" +#: src/js/services/bwsError.js +msgid "Funds are locked by pending spend proposals" +msgstr "Funds are locked by pending spend proposals" + #: src/js/services/notificationsService.js msgid "Funds received" msgstr "Fondi ricevuti" @@ -473,7 +539,7 @@ msgstr "Genera un nuovo indirizzo" msgid "Generating .csv file..." msgstr "Genera un file .csv..." -#: src/js/controllers/index.js +#: public/views/translators.html msgid "German" msgstr "Tedesco" @@ -489,7 +555,7 @@ msgstr "Impostazioni Globali" msgid "Go back" msgstr "Indietro" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Greek" msgstr "Greco" @@ -500,8 +566,9 @@ msgstr "Hai un Backup da Copay v0.9?" #: public/views/backup.html #: public/views/create.html #: public/views/join.html -msgid "Hide Advanced options" -msgstr "Nascondi opzioni avanzate" +#: public/views/walletHome.html +msgid "Hide advanced options" +msgstr "Hide advanced options" #: src/js/controllers/index.js msgid "History" @@ -549,15 +616,35 @@ msgstr "Importando il portafoglio..." msgid "Importing..." msgstr "Importando..." +#: src/js/services/bwsError.js +msgid "Incorrect address network" +msgstr "Incorrect address network" + +#: src/js/services/bwsError.js +msgid "Insufficient funds" +msgstr "Insufficient funds" + +#: src/js/services/bwsError.js +msgid "Insufficient funds for fee" +msgstr "Insufficient funds for fee" + #: public/views/walletHome.html msgid "Invalid" msgstr "Invalido" -#: src/js/controllers/index.js +#: src/js/services/bwsError.js +msgid "Invalid address" +msgstr "Invalid address" + +#: src/js/controllers/copayers.js +msgid "Invitation to share a Copay Wallet" +msgstr "Invito a condividere un portafoglio Copay" + +#: public/views/translators.html msgid "Italian" msgstr "Italiano" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Japanese" msgstr "Giapponese" @@ -570,6 +657,10 @@ msgstr "John" msgid "Join" msgstr "Unisciti" +#: src/js/controllers/copayers.js +msgid "Join my Copay wallet. Here is the invitation code: {{secret}} You can download Copay for your phone or desktop at https://copay.io" +msgstr "Unisciti al mio portafoglio Copay. Ecco il codice di invito: {{secret}} Puoi scaricare Copay dal tuo telefono o computer da https://copay.io" + #: public/views/add.html msgid "Join shared wallet" msgstr "Unisciti al portafoglio condiviso" @@ -586,6 +677,14 @@ msgstr "Lingua" msgid "Learn more about Wallet Migration" msgstr "Ulteriori informazioni sulla migrazione di portafoglio" +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to create a new spend proposal" +msgstr "Locktime in effect. Please wait to create a new spend proposal" + +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to remove this spend proposal" +msgstr "Locktime in effect. Please wait to remove this spend proposal" + #: public/views/paymentUri.html msgid "Make a payment to" msgstr "Effettuare un pagamento a" @@ -634,14 +733,14 @@ msgstr "Il mio indirizzo Bitcoin" msgid "Network" msgstr "Network" +#: src/js/services/bwsError.js +msgid "Network connection error" +msgstr "Network connection error" + #: src/js/services/notificationsService.js msgid "New Payment Proposal" msgstr "Nuova proposta di pagamento" -#: public/views/modals/confirmation.html -msgid "No" -msgstr "No" - #: public/views/walletHome.html msgid "No Private key" msgstr "Nessuna chiave privata" @@ -650,9 +749,13 @@ msgstr "Nessuna chiave privata" msgid "No transactions yet" msgstr "Ancora nessuna transazione" -#: src/js/controllers/preferencesFee.js +#: src/js/services/feeService.js msgid "Normal" -msgstr "Normale" +msgstr "Normal" + +#: src/js/services/bwsError.js +msgid "Not authorized" +msgstr "Not authorized" #: public/views/walletHome.html #: public/views/modals/customized-amount.html @@ -660,11 +763,16 @@ msgid "Not valid" msgstr "Non valido" #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/modals/tx-details.html -#: public/views/modals/txp-details.html msgid "Note" msgstr "Nota" +#: public/views/includes/alert.html +#: public/views/includes/password.html +msgid "OK" +msgstr "Ok" + #: public/views/modals/tx-status.html msgid "OKAY" msgstr "OKAY" @@ -768,6 +876,10 @@ msgstr "Pagamento inviato!" msgid "Payment to" msgstr "Pagamento a" +#: public/views/walletHome.html +msgid "Pending Confirmation" +msgstr "Pending Confirmation" + #: public/views/preferencesDeleteWallet.html msgid "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" msgstr "Elimina definitivamente questo portafoglio. QUESTA AZIONE NON PUO' ESSERE INVERTITA" @@ -781,11 +893,15 @@ msgstr "Portafoglio Personale" msgid "Please enter the required fields" msgstr "Per favore completa i campi richiesti" +#: src/js/services/bwsError.js +msgid "Please upgrade Copay to perform this action" +msgstr "Please upgrade Copay to perform this action" + #: src/js/controllers/import.js msgid "Please, select your backup file" msgstr "Per favore, selezione il tuo file di backup" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Portuguese" msgstr "Portoghese" @@ -793,9 +909,13 @@ msgstr "Portoghese" msgid "Preferences" msgstr "Preferenze" -#: src/js/controllers/preferencesFee.js +#: src/js/controllers/backup.js +msgid "Preparing backup..." +msgstr "Preparing backup..." + +#: src/js/services/feeService.js msgid "Priority" -msgstr "Priorità" +msgstr "Priority" #: public/views/modals/customized-amount.html msgid "QR Code" @@ -813,6 +933,11 @@ msgstr "Ricevi" msgid "Received" msgstr "Ricevuti" +#: public/views/includes/output.html +#: public/views/includes/transaction.html +msgid "Recipients" +msgstr "Destinatari" + #: public/views/walletHome.html msgid "Reconnecting to Wallet Service..." msgstr "Riconnessione al Servizio Portafoglio..." @@ -856,6 +981,10 @@ msgstr "Richiesto" msgid "Retrying..." msgstr "Sto riprovando..." +#: public/views/translators.html +msgid "Russian" +msgstr "Russian" + #: public/views/includes/password.html msgid "SET" msgstr "IMPOSTA" @@ -972,8 +1101,13 @@ msgstr "Portafoglio Condiviso" #: public/views/backup.html #: public/views/create.html #: public/views/join.html -msgid "Show Advanced options" -msgstr "Mostra opzioni avanzate" +#: public/views/walletHome.html +msgid "Show advanced options" +msgstr "Show advanced options" + +#: src/js/services/bwsError.js +msgid "Signatures rejected by server" +msgstr "Signatures rejected by server" #: src/js/controllers/walletHome.js msgid "Signing payment" @@ -983,10 +1117,18 @@ msgstr "Sto firmando il pagamento" msgid "Signing transaction" msgstr "Sto firmando la transazione" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Spanish" msgstr "Spagnolo" +#: src/js/services/bwsError.js +msgid "Spend proposal is not accepted" +msgstr "Spend proposal is not accepted" + +#: src/js/services/bwsError.js +msgid "Spend proposal not found" +msgstr "Spend proposal not found" + #: src/js/controllers/copayers.js #: src/js/controllers/import.js #: src/js/controllers/preferencesDelete.js @@ -1011,16 +1153,16 @@ msgid "The payment was created but could not be completed. Please try again from msgstr "Il pagamento è stato creato ma è stato impossibile completarlo. Per favore prova di nuovo dalla schermata iniziale" #: src/js/controllers/walletHome.js -msgid "The payment was created but could not be signed. Please try again from home screen." -msgstr "Il pagamento è stato creato ma è stato impossibile firmarlo. Per favore prova di nuovo dalla schermata iniziale." +msgid "The payment was created but could not be signed. Please try again from home screen" +msgstr "The payment was created but could not be signed. Please try again from home screen" #: public/views/modals/txp-details.html msgid "The payment was removed by creator" msgstr "Il pagamento è stato rimosso dal creatore" #: src/js/controllers/walletHome.js -msgid "The payment was signed but could not be broadcasted. Please try again from home screen." -msgstr "Il pagamento è stato firmato ma non è stato possibile trasmetterlo. Per favore prova di nuovo dalla schermata principale." +msgid "The payment was signed but could not be broadcasted. Please try again from home screen" +msgstr "The payment was signed but could not be broadcasted. Please try again from home screen" #: public/views/backup.html msgid "The private key for this wallet is encrypted. Exporting a backup will keep the private key encrypted in the backup archive." @@ -1030,6 +1172,10 @@ msgstr "La chiave privata di questo portafoglio è criptata. L'esportazione del msgid "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." msgstr "Il software che stai per utilizzare è un portafoglio digitale gratis, open source, e multi-firma. Il software non costituisce un account in cui BitPay o altre terze parti servono come intermediari finanziari o custodi dei tuoi bitcoins. Anche se il software beta è stato testato e continua ad essere migliorato dai feedback dalla comunità open source e dai programmatori, non possiamo garantire la completa assenza di errori nel software. Sei consapevole che l'utilizzo di questo software avviene a tua discrezione e in accordo con tutte le leggi applicabili. Sei responsabile della gestione della tua password, chiavi private, PIN e tutti gli altri codici che utilizzi per accedere a questo portafoglio. SE PERDI L'ACCESSO AL TUO PORTAFOGLIO O ALLE TUE CHIAVI PRIVATE CRIPTATE, E NON POSSIEDI UN BACKUP DEL PORTAFOGLIO O DELLE PASSWORD CORRISPONDENTI, SEI CONSAPEVOLE DEL FATTO CHE OGNI BITCOIN ASSOCIATO AL TUO PORTAFOGLIO COPAY SARA' INACCESSIBILE. Tutte le richieste di transazione sono irreversibili. Gli autori del software, dipendenti e affiliati di BitPay, possessori del copyright, e BitPay, Inc., non possono recuperare le tue chiavi private o le tue passwords se le dimentichi o le perdi, e non possono garantire la conferma delle transazioni poichè non sono in controllo del Network Bitcoin. Nella misura massima consentita dalla legge, il software è reso disponibile \"così com'è\" e nessuna rappresentazione o richiesta di garanzia può essere inoltrata, espressa o implicita, comprese ma non limitato alle garanzie di commerciabilità, idoneità o a particolare scopo e non-infrazione. Ti assumi tutti i rischi relativi all'utilizzo del software. In nessuno caso gli autori del software, dipendenti o affiliati BitPay, possessori del Copyright, o BitPay, inc, sono responsabili di qualsiasi rivendicazioni, danni o responsabili di terzi, sia in un'azione di contratto, torto, o derivanti da, o i connessione con questo software. Ci riserviamo il diritto di modificare questi termini di volta in volta." +#: src/js/services/bwsError.js +msgid "The spend proposal is not pending" +msgstr "The spend proposal is not pending" + #: src/js/controllers/copayers.js #: src/js/controllers/preferencesDelete.js msgid "The wallet \"{{walletName}}\" was deleted" @@ -1056,12 +1202,17 @@ msgid "Time" msgstr "Tempo" #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/includes/transaction.html #: public/views/modals/tx-details.html #: public/views/modals/txp-details.html msgid "To" msgstr "A" +#: public/views/includes/output.html +msgid "Total" +msgstr "Totale" + #: public/views/walletHome.html msgid "Total Locked Balance" msgstr "Totale Importo Bloccato" @@ -1070,6 +1221,18 @@ msgstr "Totale Importo Bloccato" msgid "Transaction" msgstr "Transazione" +#: src/js/services/bwsError.js +msgid "Transaction already broadcasted" +msgstr "Transaction already broadcasted" + +#: public/views/translators.html +msgid "Translation Credits" +msgstr "Translation Credits" + +#: public/views/preferencesAbout.html +msgid "Translators" +msgstr "Translators" + #: src/js/controllers/walletHome.js msgid "Unable to send transaction proposal" msgstr "Impossibile inviare la proposta di transazione" @@ -1095,6 +1258,11 @@ msgstr "Non attendibile" msgid "Updating Wallet..." msgstr "Aggiornamento portafoglio..." +#: public/views/preferences.html +#: public/views/walletHome.html +msgid "Use Unconfirmed Funds" +msgstr "Use Unconfirmed Funds" + #: public/views/preferencesAbout.html msgid "Version" msgstr "Versione" @@ -1139,6 +1307,7 @@ msgstr "Invito Portafoglio" msgid "Wallet Invitation is not valid!" msgstr "Invito Portafoglio non valido!" +#: src/js/services/bwsError.js #: src/js/services/profileService.js msgid "Wallet already exists" msgstr "Il portafoglio esiste già" @@ -1147,18 +1316,34 @@ msgstr "Il portafoglio esiste già" msgid "Wallet incomplete and broken" msgstr "Portafoglio incompleto e danneggiato" +#: src/js/services/bwsError.js +msgid "Wallet is full" +msgstr "Wallet is full" + +#: src/js/services/bwsError.js +msgid "Wallet is not complete" +msgstr "Wallet is not complete" + #: public/views/create.html msgid "Wallet name" msgstr "Nome Portafoglio" -#: src/js/controllers/walletHome.js -msgid "Wallet service timed out. Check your Internet connection and your wallet service configuration." -msgstr "Servizio portafoglio scaduto. Verifica la tua connessione internet e la configurazione del tuo servizio portafoglio." +#: src/js/services/bwsError.js +msgid "Wallet not found" +msgstr "Wallet not found" + +#: src/js/services/bwsError.js +msgid "Wallet service not found" +msgstr "Wallet service not found" #: public/views/preferencesDeleteWallet.html msgid "Warning!" msgstr "Attenzione!" +#: public/views/modals/txp-details.html +msgid "Warning: this transaction has unconfirmed inputs" +msgstr "Warning: this transaction has unconfirmed inputs" + #: src/js/services/profileService.js msgid "Wrong password" msgstr "Password sbagliata" @@ -1219,10 +1404,6 @@ msgstr "impostazioni" msgid "too long!" msgstr "troppo lungo!" -#: public/views/preferencesFee.html -msgid "{{fee.value}} bits per kB" -msgstr "{{fee.value}} bits per kB" - #: src/js/controllers/walletHome.js msgid "{{fee}} will be discounted for bitcoin networking fees" msgstr "{{fee}} verranno scalati come commissione del Network Bitcoin" diff --git a/i18n/po/ja.po b/i18n/po/ja.po index 31d11ced6..00febc4fa 100644 --- a/i18n/po/ja.po +++ b/i18n/po/ja.po @@ -12,7 +12,7 @@ msgstr "" "Last-Translator: cmgustavo83\n" "Language-Team: Japanese\n" "Language: ja\n" -"PO-Revision-Date: 2015-07-23 11:32-0400\n" +"PO-Revision-Date: 2015-08-13 09:15-0400\n" #: public/views/walletHome.html msgid "(possible double spend)" @@ -39,6 +39,9 @@ msgid "About Copay" msgstr "Copayについて" #: public/views/modals/txp-details.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js msgid "Accept" msgstr "承諾" @@ -56,6 +59,10 @@ msgstr "アドレス" msgid "Advanced" msgstr "上級者向け" +#: public/views/modals/advancedSend.html +msgid "Advanced Send" +msgstr "上級者向け送金" + #: public/views/disclaimer.html msgid "Agree" msgstr "同意します" @@ -64,6 +71,10 @@ msgstr "同意します" msgid "Alias for {{index.walletName}}" msgstr "{{index.walletName}} の通称設定" +#: public/views/translators.html +msgid "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at" +msgstr "Copayの翻訳は簡単に投稿することができます。crowdin.comのアカウント作成の後、自由にご参加いただけるプロジェクトページはこちら" + #: public/views/splash.html msgid "Already have a wallet?" msgstr "すでにウォレットをお持ちですか?" @@ -74,11 +85,15 @@ msgstr "表示通貨" #: public/views/paymentUri.html #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/modals/customized-amount.html -#: public/views/modals/txp-details.html msgid "Amount" msgstr "金額" +#: src/js/services/bwsError.js +msgid "Amount below dust threshold" +msgstr "最小送金額を下回っています。" + #: public/views/walletHome.html #: public/views/modals/customized-amount.html msgid "Amount in" @@ -91,13 +106,18 @@ msgstr "変更を反映" #: src/js/controllers/copayers.js #: src/js/controllers/preferencesDelete.js msgid "Are you sure you want to delete this wallet?" -msgstr "本当にこのウォレットを削除しても\n" +msgstr "本当にこのウォレットを削除しても\n" "宜しいですか?" #: public/views/walletHome.html msgid "Available Balance" msgstr "送金可能残高" +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Average confirmation time: {{fee.nbBlocks * 10}} minutes" +msgstr "承認までの時間(平均): {{fee.nbBlocks * 10}} 分" + #: public/views/create.html #: public/views/join.html msgid "BIP32 master extended private key" @@ -125,6 +145,10 @@ msgstr "今すぐバックアップ" msgid "Backup options" msgstr "バックアップ設定" +#: src/js/services/profileService.js +msgid "Bad wallet invitation" +msgstr "不正なウォレット招待コード" + #: public/views/walletHome.html msgid "Before receiving funds, it is highly recommended you backup your wallet keys." msgstr "ビットコインをもらう前に、このウォレットのバックアップすることを強くおすすめします。" @@ -142,8 +166,8 @@ msgid "Bitcoin address" msgstr "ビットコインアドレス" #: public/views/preferencesFee.html -msgid "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. The ‘Emergency’ level should only be used when there is a network congestion." -msgstr "円滑な送金をしていただくために、ビットコインの送金には少量の手数料を付けることが義務付けられております。この手数料はビットコインのネットワークを運用する人たちに寄付され、より高い手数料であればより優先的にブロックに含まれ、承認されます。「緊急」の設定はネットワーク全体の混雑時にのみご利用下さい。" +msgid "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy." +msgstr "円滑な送金をしていただくために、ビットコインの送金には少量の手数料を付けることが義務付けられております。この手数料はビットコインのネットワークを運用する人たちに寄付され、より高い手数料であればより優先的にブロックに含まれ、承認されます。選択された手数料基準やネットワークの混雑状況により、実際に払われる手数料が変動することがあります。" #: public/views/modals/txp-details.html msgid "Broadcast Payment" @@ -171,9 +195,17 @@ msgstr "キャンセル" #: public/views/copayers.html #: public/views/walletHome.html +#: public/views/modals/confirmation.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js msgid "Cancel" msgstr "キャンセル" +#: src/js/services/profileService.js +msgid "Cannot join the same wallet more that once" +msgstr "同じ端末で同じウォレットに複数回参加することができません。" + #: public/views/modals/paypro.html msgid "Certified by" msgstr "証明元:" @@ -182,10 +214,6 @@ msgstr "証明元:" msgid "Changing wallet alias only affects the local wallet name." msgstr "ウォレット通称を変更しても、この端末でしか変わりません。" -#: src/js/controllers/walletHome.js -msgid "Check you connection and try again" -msgstr "接続を確認し、やり直して下さい。" - #: public/views/import.html msgid "Choose a backup file from your computer" msgstr "パソコンからバックアップファイルを選択して下さい。" @@ -195,6 +223,7 @@ msgid "Choose a wallet to send funds" msgstr "送金元のウォレットを選択して下さい" #: public/views/includes/topbar.html +#: public/views/modals/advancedSend.html #: public/views/modals/copayers.html #: public/views/modals/customized-amount.html #: public/views/modals/paypro.html @@ -211,14 +240,42 @@ msgstr "色" msgid "Commit hash" msgstr "コミットのハッシュ値" +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Confirm" +msgstr "確認" + #: public/views/modals/tx-details.html msgid "Confirmations" msgstr "承認回数" +#: src/js/services/bwsError.js +msgid "Copayer already in this wallet" +msgstr "ウォレット参加者が既に存在しています。" + +#: src/js/services/bwsError.js +msgid "Copayer already registered" +msgstr "ウォレット参加者が既に登録されています。" + +#: src/js/services/bwsError.js +msgid "Copayer already voted on this spend proposal" +msgstr "ウォレット参加者が既に送金の提案の意思表明をしています。" + +#: src/js/services/bwsError.js +msgid "Copayer data mismatch" +msgstr "ウォレット参加者のデータ不整合" + #: public/views/modals/copayers.html msgid "Copayers" msgstr "ウォレット参加者" +#: src/js/controllers/backup.js +#: src/js/controllers/copayers.js +#: src/js/controllers/walletHome.js +msgid "Copied to clipboard" +msgstr "クリップボードにコピーしました" + #: public/views/backup.html msgid "Copy backup to a safe place" msgstr "安全な場所でバックアップを保管して下さい" @@ -232,20 +289,20 @@ msgid "Copy to clipboard" msgstr "クリップボードへコピー" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check you connection and try again" -msgstr "送金の提案が承諾できませんでした。接続を確認し、やり直して下さい。" +msgid "Could not accept payment" +msgstr "送金を承認できませんでした。" + +#: src/js/controllers/index.js +msgid "Could not access Wallet Service: Not found" +msgstr "Wallet Serviceにアクセスできませんでした: 見つかりません" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check you connection and try again" -msgstr "送金できませんでした。接続を確認し、やり直して下さい。" +msgid "Could not broadcast payment" +msgstr "送金を配信できませんでした。" -#: src/js/controllers/walletHome.js -msgid "Could not connect wallet service. Check your Internet connection and your wallet service configuration." -msgstr "ウォレットサービスと接続できませんでした。インターネットの接続とウォレットサービスの設定を確認して下さい。" - -#: src/js/controllers/walletHome.js -msgid "Could not create address. Check you connection and try again" -msgstr "アドレスが生成できませんでした。接続を確認し、やり直して下さい。" +#: src/js/services/addressService.js +msgid "Could not create address" +msgstr "アドレスを生成できませんでした。" #: src/js/controllers/walletHome.js msgid "Could not create payment proposal" @@ -260,8 +317,8 @@ msgid "Could not decrypt file, check your password" msgstr "複合化できませんでした。パスワードが正しいかご確認下さい。" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check you connection and try again" -msgstr "送金の提案が削除できませんでした。接続を確認し、やり直して下さい。" +msgid "Could not delete payment proposal" +msgstr "送金の提案を削除できませんでした" #: src/js/controllers/walletHome.js msgid "Could not fetch payment information" @@ -279,23 +336,23 @@ msgstr "インポートできませんでした。入力ファイルとパスワ msgid "Could not join using the specified extended private key" msgstr "指定された拡張秘密鍵で参加できませんでした。" -#: src/js/controllers/join.js -msgid "Could not join wallet:" -msgstr "ウォレットに参加できませんでした:" +#: src/js/services/profileService.js +msgid "Could not join wallet" +msgstr "ウォレットに参加できませんでした。" #: src/js/controllers/walletHome.js msgid "Could not recognize a valid Bitcoin QR Code" msgstr "有効なビットコインQRコードが認識できませんでした。" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check you connection and try again" -msgstr "送金の提案を却下できませんでした。接続を確認し、やり直して下さい。" +msgid "Could not reject payment" +msgstr "送金を却下できませんでした。" #: src/js/controllers/walletHome.js msgid "Could not send payment" msgstr "送金できませんでした。" -#: public/views/walletHome.html +#: src/js/controllers/index.js msgid "Could not update Wallet" msgstr "ウォレットが更新できませんでした。" @@ -332,6 +389,11 @@ msgstr "ウォレット作成中…" msgid "Creating transaction" msgstr "取引作成中…" +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB" +msgstr "この手数料基準の現レート: {{fee.feePerKBUnit}}/kiB" + #: public/views/modals/tx-details.html msgid "Date" msgstr "日付" @@ -371,6 +433,10 @@ msgstr "無効" msgid "Do not include private key in backup" msgstr "バックアップに秘密鍵を含めない" +#: public/views/translators.html +msgid "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." +msgstr "ご自分の言語はCrowdinで見当たりませんか?Crowdinの管理者に連絡とってみてください。是非とも対応したく思っております。" + #: public/views/walletHome.html msgid "Download CSV file" msgstr "CSVファイルをダウンロード" @@ -379,11 +445,7 @@ msgstr "CSVファイルをダウンロード" msgid "Download backup" msgstr "バックアップをダウンロード" -#: public/views/includes/password.html -msgid "ENTER" -msgstr "ENTER" - -#: src/js/controllers/preferencesFee.js +#: src/js/services/feeService.js msgid "Economy" msgstr "節約" @@ -391,10 +453,6 @@ msgstr "節約" msgid "Email Notifications" msgstr "メールのお知らせ" -#: src/js/controllers/preferencesFee.js -msgid "Emergency" -msgstr "緊急" - #: public/views/preferences.html msgid "Encrypt Private Key" msgstr "秘密鍵を暗号化" @@ -403,22 +461,18 @@ msgstr "秘密鍵を暗号化" msgid "Encrypted backup file saved" msgstr "暗号化されたバックアップ保存しました" -#: src/js/controllers/index.js -msgid "English" -msgstr "英語" - #: public/views/includes/password.html msgid "Enter your password" msgstr "パスワードを入力して下さい。" +#: src/js/controllers/index.js +msgid "Error at Wallet Service" +msgstr "Wallet Serviceにてエラー" + #: src/js/services/profileService.js msgid "Error creating wallet" msgstr "ウォレット作成時にエラー" -#: src/js/services/profileService.js -msgid "Error creating wallet. Check your internet connection" -msgstr "ウォレット作成時にエラー発生、インターネットの接続をご確認下さい。" - #: src/js/services/profileService.js msgid "Error importing wallet:" msgstr "ウォレットインポート時にエラー:" @@ -445,15 +499,27 @@ msgstr "家族旅行貯金" msgid "Fee" msgstr "手数料" +#: public/views/modals/advancedSend.html +msgid "Fee Policy" +msgstr "手数料基準" + +#: public/views/walletHome.html +msgid "Fee policy for this transaction" +msgstr "当取引の手数料基準" + #. Get information of payment if using Payment Protocol #: src/js/controllers/walletHome.js msgid "Fetching Payment Information" msgstr "支払い情報要求しています…" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "French" msgstr "フランス語" +#: src/js/services/bwsError.js +msgid "Funds are locked by pending spend proposals" +msgstr "協議中の送金の提案により、資金がロックされています。" + #: src/js/services/notificationsService.js msgid "Funds received" msgstr "着金あり" @@ -474,7 +540,7 @@ msgstr "新規アドレスを生成" msgid "Generating .csv file..." msgstr "CSVファイル作成中…" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "German" msgstr "ドイツ語" @@ -490,7 +556,7 @@ msgstr "グローバル設定" msgid "Go back" msgstr "前に戻る" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Greek" msgstr "ギリシャ語" @@ -501,8 +567,9 @@ msgstr "Copay v0.9 のバックアップをお持ちですか?" #: public/views/backup.html #: public/views/create.html #: public/views/join.html -msgid "Hide Advanced options" -msgstr "詳細設定 非表示" +#: public/views/walletHome.html +msgid "Hide advanced options" +msgstr "詳細設定を非表示" #: src/js/controllers/index.js msgid "History" @@ -550,15 +617,35 @@ msgstr "ウォレットインポート中…" msgid "Importing..." msgstr "インポート中…" +#: src/js/services/bwsError.js +msgid "Incorrect address network" +msgstr "アドレスのネットワークが不正です。" + +#: src/js/services/bwsError.js +msgid "Insufficient funds" +msgstr "残高不足" + +#: src/js/services/bwsError.js +msgid "Insufficient funds for fee" +msgstr "手数料付けるには残高が足りません" + #: public/views/walletHome.html msgid "Invalid" msgstr "無効" -#: src/js/controllers/index.js +#: src/js/services/bwsError.js +msgid "Invalid address" +msgstr "不正アドレス" + +#: src/js/controllers/copayers.js +msgid "Invitation to share a Copay Wallet" +msgstr "Copay共有ウォレットへの招待" + +#: public/views/translators.html msgid "Italian" msgstr "イタリア語" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Japanese" msgstr "日本語" @@ -571,6 +658,10 @@ msgstr "山田太郎" msgid "Join" msgstr "参加" +#: src/js/controllers/copayers.js +msgid "Join my Copay wallet. Here is the invitation code: {{secret}} You can download Copay for your phone or desktop at https://copay.io" +msgstr "Copayの共有ウォレット作りました: {{secret}} この招待コードを入力して、ウォレットに参加して下さい。アプリのダウンロードは https://copay.io にてどうぞ!" + #: public/views/add.html msgid "Join shared wallet" msgstr "共有ウォレットに参加" @@ -587,6 +678,14 @@ msgstr "言語設定" msgid "Learn more about Wallet Migration" msgstr "ウォレット移行について詳しく" +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to create a new spend proposal" +msgstr "Locktime待ち中です。新しい送金の提案が作成できるまであとしばらくお待ち下さい。" + +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to remove this spend proposal" +msgstr "Locktime待ち中です。この送金の提案が削除できるまであとしばらくお待ち下さい。" + #: public/views/paymentUri.html msgid "Make a payment to" msgstr "支払いは次の宛先へ" @@ -635,14 +734,14 @@ msgstr "私のビットコインアドレス:" msgid "Network" msgstr "ネットワーク" +#: src/js/services/bwsError.js +msgid "Network connection error" +msgstr "ネットワーク接続エラー" + #: src/js/services/notificationsService.js msgid "New Payment Proposal" msgstr "新しい送金の提案" -#: public/views/modals/confirmation.html -msgid "No" -msgstr "いいえ" - #: public/views/walletHome.html msgid "No Private key" msgstr "秘密鍵なし" @@ -651,21 +750,30 @@ msgstr "秘密鍵なし" msgid "No transactions yet" msgstr "取引がありません" -#: src/js/controllers/preferencesFee.js +#: src/js/services/feeService.js msgid "Normal" msgstr "通常" +#: src/js/services/bwsError.js +msgid "Not authorized" +msgstr "権限がありません。" + #: public/views/walletHome.html #: public/views/modals/customized-amount.html msgid "Not valid" msgstr "無効です" #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/modals/tx-details.html -#: public/views/modals/txp-details.html msgid "Note" msgstr "メモ" +#: public/views/includes/alert.html +#: public/views/includes/password.html +msgid "OK" +msgstr "OK" + #: public/views/modals/tx-status.html msgid "OKAY" msgstr "OK" @@ -769,9 +877,13 @@ msgstr "支払いを送信しました!" msgid "Payment to" msgstr "支払い先" +#: public/views/walletHome.html +msgid "Pending Confirmation" +msgstr "承認待ち" + #: public/views/preferencesDeleteWallet.html msgid "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" -msgstr "永久にこのウォレットを削除します。\n" +msgstr "永久にこのウォレットを削除します。\n" "二度と取り戻せない行為ですのどご注意下さい。" #: public/views/create.html @@ -783,11 +895,15 @@ msgstr "個人用ウォレット" msgid "Please enter the required fields" msgstr "必須項目をご入力下さい" +#: src/js/services/bwsError.js +msgid "Please upgrade Copay to perform this action" +msgstr "この操作を実行するにはCopayを最新バージョンに更新してください" + #: src/js/controllers/import.js msgid "Please, select your backup file" msgstr "バックアップファイルを選択" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Portuguese" msgstr "ポルトガル語" @@ -795,7 +911,11 @@ msgstr "ポルトガル語" msgid "Preferences" msgstr "設定" -#: src/js/controllers/preferencesFee.js +#: src/js/controllers/backup.js +msgid "Preparing backup..." +msgstr "バックアップを準備中..." + +#: src/js/services/feeService.js msgid "Priority" msgstr "優先" @@ -815,6 +935,11 @@ msgstr "受取" msgid "Received" msgstr "受取済み" +#: public/views/includes/output.html +#: public/views/includes/transaction.html +msgid "Recipients" +msgstr "受取人" + #: public/views/walletHome.html msgid "Reconnecting to Wallet Service..." msgstr "Wallet Serviceへ再接続しています…" @@ -858,6 +983,10 @@ msgstr "入力必須" msgid "Retrying..." msgstr "再度試しています…" +#: public/views/translators.html +msgid "Russian" +msgstr "ロシア語" + #: public/views/includes/password.html msgid "SET" msgstr "指定" @@ -961,8 +1090,8 @@ msgstr "招待コードを共有" #: public/views/copayers.html msgid "Share this invitation with your copayers" -msgstr "ウォレット参加者に\n" -"この招待コードを\n" +msgstr "ウォレット参加者に\n" +"この招待コードを\n" "送って下さい。" #: public/views/walletHome.html @@ -976,8 +1105,13 @@ msgstr "共有ウォレットに参加" #: public/views/backup.html #: public/views/create.html #: public/views/join.html -msgid "Show Advanced options" -msgstr "詳細設定 表示" +#: public/views/walletHome.html +msgid "Show advanced options" +msgstr "詳細設定を表示" + +#: src/js/services/bwsError.js +msgid "Signatures rejected by server" +msgstr "サーバーより署名が却下されました。" #: src/js/controllers/walletHome.js msgid "Signing payment" @@ -987,10 +1121,18 @@ msgstr "送金の提案署名中" msgid "Signing transaction" msgstr "取引署名中" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Spanish" msgstr "スペイン語" +#: src/js/services/bwsError.js +msgid "Spend proposal is not accepted" +msgstr "送金の提案が受諾されませんでした。" + +#: src/js/services/bwsError.js +msgid "Spend proposal not found" +msgstr "送金の提案が見つかりませんでした。" + #: src/js/controllers/copayers.js #: src/js/controllers/import.js #: src/js/controllers/preferencesDelete.js @@ -1015,7 +1157,7 @@ msgid "The payment was created but could not be completed. Please try again from msgstr "送金の提案は作成されましたが完了できませんでした。ホーム画面からやり直して下さい。" #: src/js/controllers/walletHome.js -msgid "The payment was created but could not be signed. Please try again from home screen." +msgid "The payment was created but could not be signed. Please try again from home screen" msgstr "送金の提案は作成されましたが署名できませんでした。ホーム画面からやり直して下さい。" #: public/views/modals/txp-details.html @@ -1023,7 +1165,7 @@ msgid "The payment was removed by creator" msgstr "送金の提案が作成者により削除されました" #: src/js/controllers/walletHome.js -msgid "The payment was signed but could not be broadcasted. Please try again from home screen." +msgid "The payment was signed but could not be broadcasted. Please try again from home screen" msgstr "送金の提案は署名されましたが送信できませんでした。ホーム画面からやり直して下さい。" #: public/views/backup.html @@ -1032,9 +1174,13 @@ msgstr "このウォレットの秘密鍵が暗号化されています。バッ #: public/views/disclaimer.html msgid "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." -msgstr "当ソフトウェアは無料のオープンソースプロジェクトで、マルチシグネチャを用いるデジタルウォレットです。BitPay, Inc. 若しくはその他の第三者がアクセス権限を管理する、若しくはデジタル資産の代理保管を行うサービスではありません。このソフトは長いテスト期間を経てリリースしましたが、今後バグや不具合が見つからないという保障はございません。この規約に同意することで、自己責任で利用するものとし、このソフトを用いてお住まいの地域の法令の違反はしないことを意味します。このソフトを正常に利用するために必要なパスワード、秘密鍵、暗証番号などの秘密情報は自己責任で管理するものとします。***Copayウォレットとその中にある秘密鍵の情報を紛失してしまい、尚且つバックアップが無い、若しくはそのバックアップを暗号化した際のパスワードが分からないなどの状況に陥ってしまえば、そのウォレットに含まれた全てのビットコインが永久送金不可能となってしまうことを認識し、同意するものとします。***署名が完了してしまった取引は取り消しが不可能となります。このソフトの開発者、BitPayの従業員とその関係者、著作権所有者、BitPay, Inc.自体もパスワード・秘密鍵・パスワードなどへのアクセスが不可能なため、教えることがだきません、なお、ビットコインのネットワークへの影響が無いので、取引の取り消しや優先的な承認などはできません。このソフトはそのままの提供となり、このソフトの利用に関わるあらゆる責任とリスクを自己責任で被り、利用するものとし、いかなる損害が発生しても、このソフトの開発者、BitPayの従業員とその関係者、著作権所有者、BitPay, Inc.自体も責任を求めることは無いと誓います。この規約の言葉や表現のニュアンスによる解釈が必要となった場合、規約の元である英語のものを正とします。和訳は簡単な要約と考えて下さい。下記に英語の規約がありますので、英語が理解できる方は是非熟読して下さい。\n\n" +msgstr "当ソフトウェアは無料のオープンソースプロジェクトで、マルチシグネチャを用いるデジタルウォレットです。BitPay, Inc. 若しくはその他の第三者がアクセス権限を管理する、若しくはデジタル資産の代理保管を行うサービスではありません。このソフトは長いテスト期間を経てリリースしましたが、今後バグや不具合が見つからないという保障はございません。この規約に同意することで、自己責任で利用するものとし、このソフトを用いてお住まいの地域の法令の違反はしないことを意味します。このソフトを正常に利用するために必要なパスワード、秘密鍵、暗証番号などの秘密情報は自己責任で管理するものとします。***Copayウォレットとその中にある秘密鍵の情報を紛失してしまい、尚且つバックアップが無い、若しくはそのバックアップを暗号化した際のパスワードが分からないなどの状況に陥ってしまえば、そのウォレットに含まれた全てのビットコインが永久送金不可能となってしまうことを認識し、同意するものとします。***署名が完了してしまった取引は取り消しが不可能となります。このソフトの開発者、BitPayの従業員とその関係者、著作権所有者、BitPay, Inc.自体もパスワード・秘密鍵・パスワードなどへのアクセスが不可能なため、教えることがだきません、なお、ビットコインのネットワークへの影響が無いので、取引の取り消しや優先的な承認などはできません。このソフトはそのままの提供となり、このソフトの利用に関わるあらゆる責任とリスクを自己責任で被り、利用するものとし、いかなる損害が発生しても、このソフトの開発者、BitPayの従業員とその関係者、著作権所有者、BitPay, Inc.自体も責任を求めることは無いと誓います。この規約の言葉や表現のニュアンスによる解釈が必要となった場合、規約の元である英語のものを正とします。和訳は簡単な要約と考えて下さい。下記に英語の規約がありますので、英語が理解できる方は是非熟読して下さい。\n\n" "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." +#: src/js/services/bwsError.js +msgid "The spend proposal is not pending" +msgstr "送金の提案が協議中ではありません。" + #: src/js/controllers/copayers.js #: src/js/controllers/preferencesDelete.js msgid "The wallet \"{{walletName}}\" was deleted" @@ -1061,12 +1207,17 @@ msgid "Time" msgstr "時刻" #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/includes/transaction.html #: public/views/modals/tx-details.html #: public/views/modals/txp-details.html msgid "To" msgstr "宛先" +#: public/views/includes/output.html +msgid "Total" +msgstr "合計" + #: public/views/walletHome.html msgid "Total Locked Balance" msgstr "ロック中の残高" @@ -1075,6 +1226,18 @@ msgstr "ロック中の残高" msgid "Transaction" msgstr "取引" +#: src/js/services/bwsError.js +msgid "Transaction already broadcasted" +msgstr "取引は既に配信されました。" + +#: public/views/translators.html +msgid "Translation Credits" +msgstr "翻訳ボランティアの皆さん" + +#: public/views/preferencesAbout.html +msgid "Translators" +msgstr "翻訳者" + #: src/js/controllers/walletHome.js msgid "Unable to send transaction proposal" msgstr "取引提案を送れませんでした。" @@ -1100,6 +1263,11 @@ msgstr "信頼されていません。" msgid "Updating Wallet..." msgstr "ウォレット更新中…" +#: public/views/preferences.html +#: public/views/walletHome.html +msgid "Use Unconfirmed Funds" +msgstr "未承認ビットコインを使用" + #: public/views/preferencesAbout.html msgid "Version" msgstr "バージョン" @@ -1144,6 +1312,7 @@ msgstr "ウォレット招待" msgid "Wallet Invitation is not valid!" msgstr "ウォレット招待コードが無効です!" +#: src/js/services/bwsError.js #: src/js/services/profileService.js msgid "Wallet already exists" msgstr "既存のウォレットです" @@ -1152,18 +1321,34 @@ msgstr "既存のウォレットです" msgid "Wallet incomplete and broken" msgstr "ウォレットが未完成で破損しています" +#: src/js/services/bwsError.js +msgid "Wallet is full" +msgstr "ウォレットがいっぱいです。" + +#: src/js/services/bwsError.js +msgid "Wallet is not complete" +msgstr "ウォレットが未完成です。" + #: public/views/create.html msgid "Wallet name" msgstr "ウォレット名" -#: src/js/controllers/walletHome.js -msgid "Wallet service timed out. Check your Internet connection and your wallet service configuration." -msgstr "ウォレットサービスがタイムアウトになりました。インターネットの接続とウォレットサービスの設定を確認して下さい。" +#: src/js/services/bwsError.js +msgid "Wallet not found" +msgstr "ウォレットが見つかりません。" + +#: src/js/services/bwsError.js +msgid "Wallet service not found" +msgstr "Wallet serviceが見つかりません。" #: public/views/preferencesDeleteWallet.html msgid "Warning!" msgstr "注意!" +#: public/views/modals/txp-details.html +msgid "Warning: this transaction has unconfirmed inputs" +msgstr "注意: この取引は未承認資金が含まれており、承認されるまで商品等をお渡しするのを待つことをお勧めします。" + #: src/js/services/profileService.js msgid "Wrong password" msgstr "不正なパスワード" @@ -1224,10 +1409,6 @@ msgstr "設定" msgid "too long!" msgstr "長すぎます!" -#: public/views/preferencesFee.html -msgid "{{fee.value}} bits per kB" -msgstr "1キロバイト当たり {{fee.value}} bits" - #: src/js/controllers/walletHome.js msgid "{{fee}} will be discounted for bitcoin networking fees" msgstr "{{fee}} のビットコインネットワーク手数料が差し引かれます。" diff --git a/i18n/po/pt.po b/i18n/po/pt.po index ee04d2efc..7457cd6c8 100644 --- a/i18n/po/pt.po +++ b/i18n/po/pt.po @@ -12,7 +12,7 @@ msgstr "" "Last-Translator: cmgustavo83\n" "Language-Team: Portuguese\n" "Language: pt\n" -"PO-Revision-Date: 2015-07-23 11:32-0400\n" +"PO-Revision-Date: 2015-08-13 09:15-0400\n" #: public/views/walletHome.html msgid "(possible double spend)" @@ -39,6 +39,9 @@ msgid "About Copay" msgstr "Sobre a Copay" #: public/views/modals/txp-details.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js msgid "Accept" msgstr "Aceitar" @@ -56,6 +59,10 @@ msgstr "Endereço" msgid "Advanced" msgstr "Avançado" +#: public/views/modals/advancedSend.html +msgid "Advanced Send" +msgstr "Advanced Send" + #: public/views/disclaimer.html msgid "Agree" msgstr "Agree" @@ -64,6 +71,10 @@ msgstr "Agree" msgid "Alias for {{index.walletName}}" msgstr "Alias for {{index.walletName}}" +#: public/views/translators.html +msgid "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at" +msgstr "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at" + #: public/views/splash.html msgid "Already have a wallet?" msgstr "Já tem uma carteira?" @@ -74,11 +85,15 @@ msgstr "Moeda Alternativa" #: public/views/paymentUri.html #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/modals/customized-amount.html -#: public/views/modals/txp-details.html msgid "Amount" msgstr "Valor" +#: src/js/services/bwsError.js +msgid "Amount below dust threshold" +msgstr "Amount below dust threshold" + #: public/views/walletHome.html #: public/views/modals/customized-amount.html msgid "Amount in" @@ -97,6 +112,11 @@ msgstr "Tem certeza que deseja excluir esta carteira?" msgid "Available Balance" msgstr "Saldo Disponível" +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Average confirmation time: {{fee.nbBlocks * 10}} minutes" +msgstr "Average confirmation time: {{fee.nbBlocks * 10}} minutes" + #: public/views/create.html #: public/views/join.html msgid "BIP32 master extended private key" @@ -124,6 +144,10 @@ msgstr "Backup agora" msgid "Backup options" msgstr "Opções de backup" +#: src/js/services/profileService.js +msgid "Bad wallet invitation" +msgstr "Bad wallet invitation" + #: public/views/walletHome.html msgid "Before receiving funds, it is highly recommended you backup your wallet keys." msgstr "Antes de receber fundos, é altamente recomendável que você faça backup de suas chaves de carteira." @@ -141,8 +165,8 @@ msgid "Bitcoin address" msgstr "Endereço Bitcoin" #: public/views/preferencesFee.html -msgid "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. The ‘Emergency’ level should only be used when there is a network congestion." -msgstr "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. The ‘Emergency’ level should only be used when there is a network congestion." +msgid "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy." +msgstr "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy." #: public/views/modals/txp-details.html msgid "Broadcast Payment" @@ -170,9 +194,17 @@ msgstr "CANCELAR" #: public/views/copayers.html #: public/views/walletHome.html +#: public/views/modals/confirmation.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js msgid "Cancel" msgstr "Cancelar" +#: src/js/services/profileService.js +msgid "Cannot join the same wallet more that once" +msgstr "Cannot join the same wallet more that once" + #: public/views/modals/paypro.html msgid "Certified by" msgstr "Certificado por" @@ -181,10 +213,6 @@ msgstr "Certificado por" msgid "Changing wallet alias only affects the local wallet name." msgstr "Alterando o apelido da carteira somente afeta o nome da carteira local." -#: src/js/controllers/walletHome.js -msgid "Check you connection and try again" -msgstr "Verifique sua conexão e tente novamente" - #: public/views/import.html msgid "Choose a backup file from your computer" msgstr "Escolha um arquivo de backup do seu computador" @@ -194,6 +222,7 @@ msgid "Choose a wallet to send funds" msgstr "Choose a wallet to send funds" #: public/views/includes/topbar.html +#: public/views/modals/advancedSend.html #: public/views/modals/copayers.html #: public/views/modals/customized-amount.html #: public/views/modals/paypro.html @@ -210,14 +239,42 @@ msgstr "Cor" msgid "Commit hash" msgstr "Commit de hash" +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Confirm" +msgstr "Confirm" + #: public/views/modals/tx-details.html msgid "Confirmations" msgstr "Confirmações" +#: src/js/services/bwsError.js +msgid "Copayer already in this wallet" +msgstr "Copayer already in this wallet" + +#: src/js/services/bwsError.js +msgid "Copayer already registered" +msgstr "Copayer already registered" + +#: src/js/services/bwsError.js +msgid "Copayer already voted on this spend proposal" +msgstr "Copayer already voted on this spend proposal" + +#: src/js/services/bwsError.js +msgid "Copayer data mismatch" +msgstr "Copayer data mismatch" + #: public/views/modals/copayers.html msgid "Copayers" msgstr "Copayers" +#: src/js/controllers/backup.js +#: src/js/controllers/copayers.js +#: src/js/controllers/walletHome.js +msgid "Copied to clipboard" +msgstr "Copied to clipboard" + #: public/views/backup.html msgid "Copy backup to a safe place" msgstr "Copie o backup para um lugar seguro" @@ -231,20 +288,20 @@ msgid "Copy to clipboard" msgstr "Copiar para área de transferência" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check you connection and try again" -msgstr "Não foi possível aceitar pagamentos. Verifique sua conexão e tente novamente" +msgid "Could not accept payment" +msgstr "Could not accept payment" + +#: src/js/controllers/index.js +msgid "Could not access Wallet Service: Not found" +msgstr "Could not access Wallet Service: Not found" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check you connection and try again" -msgstr "Não foi possível transmitir pagamentos. Verifique sua conexão e tente novamente" +msgid "Could not broadcast payment" +msgstr "Could not broadcast payment" -#: src/js/controllers/walletHome.js -msgid "Could not connect wallet service. Check your Internet connection and your wallet service configuration." -msgstr "Could not connect wallet service. Check your Internet connection and your wallet service configuration." - -#: src/js/controllers/walletHome.js -msgid "Could not create address. Check you connection and try again" -msgstr "Não foi possível criar o endereço. Verifique sua conexão e tente novamente" +#: src/js/services/addressService.js +msgid "Could not create address" +msgstr "Could not create address" #: src/js/controllers/walletHome.js msgid "Could not create payment proposal" @@ -259,8 +316,8 @@ msgid "Could not decrypt file, check your password" msgstr "Não foi possível descriptografar o arquivo, verifique sua senha" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check you connection and try again" -msgstr "Não foi possível apagar a proposta de pagamento. Verifique sua conexão e tente novamente" +msgid "Could not delete payment proposal" +msgstr "Could not delete payment proposal" #: src/js/controllers/walletHome.js msgid "Could not fetch payment information" @@ -278,23 +335,23 @@ msgstr "Não foi possível importar. Verifique o arquivo de entrada e senha" msgid "Could not join using the specified extended private key" msgstr "Não é possível asssociar-se usando a chave privada estendida especificada" -#: src/js/controllers/join.js -msgid "Could not join wallet:" -msgstr "Não é possível se associar a carteira:" +#: src/js/services/profileService.js +msgid "Could not join wallet" +msgstr "Could not join wallet" #: src/js/controllers/walletHome.js msgid "Could not recognize a valid Bitcoin QR Code" msgstr "Could not recognize a valid Bitcoin QR Code" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check you connection and try again" -msgstr "Não é possível rejeitar o pagamentos. Verifique sua conexão e tente novamente" +msgid "Could not reject payment" +msgstr "Could not reject payment" #: src/js/controllers/walletHome.js msgid "Could not send payment" msgstr "Não foi possível enviar o pagamento" -#: public/views/walletHome.html +#: src/js/controllers/index.js msgid "Could not update Wallet" msgstr "Não é possível atualizar carteira" @@ -331,6 +388,11 @@ msgstr "Criando Carteira…" msgid "Creating transaction" msgstr "Criando transação" +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB" +msgstr "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB" + #: public/views/modals/tx-details.html msgid "Date" msgstr "Data" @@ -370,6 +432,10 @@ msgstr "Desabilitado" msgid "Do not include private key in backup" msgstr "Do not include private key in backup" +#: public/views/translators.html +msgid "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." +msgstr "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." + #: public/views/walletHome.html msgid "Download CSV file" msgstr "Download CSV file" @@ -378,11 +444,7 @@ msgstr "Download CSV file" msgid "Download backup" msgstr "Baixar backup" -#: public/views/includes/password.html -msgid "ENTER" -msgstr "ENTER" - -#: src/js/controllers/preferencesFee.js +#: src/js/services/feeService.js msgid "Economy" msgstr "Economy" @@ -390,10 +452,6 @@ msgstr "Economy" msgid "Email Notifications" msgstr "Notificações por E-mail" -#: src/js/controllers/preferencesFee.js -msgid "Emergency" -msgstr "Emergency" - #: public/views/preferences.html msgid "Encrypt Private Key" msgstr "Criptografar Chave Privada" @@ -402,22 +460,18 @@ msgstr "Criptografar Chave Privada" msgid "Encrypted backup file saved" msgstr "Arquivo de backup criptografado salvo" -#: src/js/controllers/index.js -msgid "English" -msgstr "Inglês" - #: public/views/includes/password.html msgid "Enter your password" msgstr "Digite sua senha" +#: src/js/controllers/index.js +msgid "Error at Wallet Service" +msgstr "Error at Wallet Service" + #: src/js/services/profileService.js msgid "Error creating wallet" msgstr "Erro na criação da carteira" -#: src/js/services/profileService.js -msgid "Error creating wallet. Check your internet connection" -msgstr "Erro criando carteira. Verifique sua conexão com a internet" - #: src/js/services/profileService.js msgid "Error importing wallet:" msgstr "Erro importando carteira:" @@ -444,15 +498,27 @@ msgstr "Fundos de férias com a família" msgid "Fee" msgstr "Fee" +#: public/views/modals/advancedSend.html +msgid "Fee Policy" +msgstr "Fee Policy" + +#: public/views/walletHome.html +msgid "Fee policy for this transaction" +msgstr "Fee policy for this transaction" + #. Get information of payment if using Payment Protocol #: src/js/controllers/walletHome.js msgid "Fetching Payment Information" msgstr "Buscando Informação de Pagamento" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "French" msgstr "Francês" +#: src/js/services/bwsError.js +msgid "Funds are locked by pending spend proposals" +msgstr "Funds are locked by pending spend proposals" + #: src/js/services/notificationsService.js msgid "Funds received" msgstr "Fundos recebidos" @@ -473,7 +539,7 @@ msgstr "Gerar novo endereço" msgid "Generating .csv file..." msgstr "Generating .csv file..." -#: src/js/controllers/index.js +#: public/views/translators.html msgid "German" msgstr "Alemão" @@ -489,7 +555,7 @@ msgstr "Configurações globais" msgid "Go back" msgstr "Go back" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Greek" msgstr "Grego" @@ -500,8 +566,9 @@ msgstr "Tem um Backup do Copay v 0.9?" #: public/views/backup.html #: public/views/create.html #: public/views/join.html -msgid "Hide Advanced options" -msgstr "Hide Advanced options" +#: public/views/walletHome.html +msgid "Hide advanced options" +msgstr "Hide advanced options" #: src/js/controllers/index.js msgid "History" @@ -549,15 +616,35 @@ msgstr "Importando carteira…" msgid "Importing..." msgstr "Importando…" +#: src/js/services/bwsError.js +msgid "Incorrect address network" +msgstr "Incorrect address network" + +#: src/js/services/bwsError.js +msgid "Insufficient funds" +msgstr "Insufficient funds" + +#: src/js/services/bwsError.js +msgid "Insufficient funds for fee" +msgstr "Insufficient funds for fee" + #: public/views/walletHome.html msgid "Invalid" msgstr "Invalid" -#: src/js/controllers/index.js +#: src/js/services/bwsError.js +msgid "Invalid address" +msgstr "Invalid address" + +#: src/js/controllers/copayers.js +msgid "Invitation to share a Copay Wallet" +msgstr "Invitation to share a Copay Wallet" + +#: public/views/translators.html msgid "Italian" msgstr "Italiano" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Japanese" msgstr "Japonês" @@ -570,6 +657,10 @@ msgstr "John" msgid "Join" msgstr "Participar" +#: src/js/controllers/copayers.js +msgid "Join my Copay wallet. Here is the invitation code: {{secret}} You can download Copay for your phone or desktop at https://copay.io" +msgstr "Join my Copay wallet. Here is the invitation code: {{secret}} You can download Copay for your phone or desktop at https://copay.io" + #: public/views/add.html msgid "Join shared wallet" msgstr "Associando carteira compartilhada" @@ -586,6 +677,14 @@ msgstr "Idioma" msgid "Learn more about Wallet Migration" msgstr "Saiba mais sobre Migração de Carteira" +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to create a new spend proposal" +msgstr "Locktime in effect. Please wait to create a new spend proposal" + +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to remove this spend proposal" +msgstr "Locktime in effect. Please wait to remove this spend proposal" + #: public/views/paymentUri.html msgid "Make a payment to" msgstr "Fazer um pagamento para" @@ -634,14 +733,14 @@ msgstr "Meu endereço Bitcoin" msgid "Network" msgstr "Rede" +#: src/js/services/bwsError.js +msgid "Network connection error" +msgstr "Network connection error" + #: src/js/services/notificationsService.js msgid "New Payment Proposal" msgstr "Nova Proposta de Pagamento" -#: public/views/modals/confirmation.html -msgid "No" -msgstr "Não" - #: public/views/walletHome.html msgid "No Private key" msgstr "No Private key" @@ -650,21 +749,30 @@ msgstr "No Private key" msgid "No transactions yet" msgstr "Nenhuma transação ainda" -#: src/js/controllers/preferencesFee.js +#: src/js/services/feeService.js msgid "Normal" msgstr "Normal" +#: src/js/services/bwsError.js +msgid "Not authorized" +msgstr "Not authorized" + #: public/views/walletHome.html #: public/views/modals/customized-amount.html msgid "Not valid" msgstr "Inválido" #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/modals/tx-details.html -#: public/views/modals/txp-details.html msgid "Note" msgstr "Nota" +#: public/views/includes/alert.html +#: public/views/includes/password.html +msgid "OK" +msgstr "OK" + #: public/views/modals/tx-status.html msgid "OKAY" msgstr "OKAY" @@ -768,6 +876,10 @@ msgstr "Pagamento enviado!" msgid "Payment to" msgstr "Pagamento para" +#: public/views/walletHome.html +msgid "Pending Confirmation" +msgstr "Pending Confirmation" + #: public/views/preferencesDeleteWallet.html msgid "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" msgstr "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" @@ -781,19 +893,27 @@ msgstr "Carteira Pessoal" msgid "Please enter the required fields" msgstr "Por favor, preencha os campos obrigatórios" +#: src/js/services/bwsError.js +msgid "Please upgrade Copay to perform this action" +msgstr "Please upgrade Copay to perform this action" + #: src/js/controllers/import.js msgid "Please, select your backup file" msgstr "Por favor, selecione seu arquivo de backup" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Portuguese" -msgstr "Portuguese" +msgstr "Português" #: public/views/walletHome.html msgid "Preferences" msgstr "Preferências" -#: src/js/controllers/preferencesFee.js +#: src/js/controllers/backup.js +msgid "Preparing backup..." +msgstr "Preparing backup..." + +#: src/js/services/feeService.js msgid "Priority" msgstr "Priority" @@ -813,6 +933,11 @@ msgstr "Receber" msgid "Received" msgstr "Recebido" +#: public/views/includes/output.html +#: public/views/includes/transaction.html +msgid "Recipients" +msgstr "Recipients" + #: public/views/walletHome.html msgid "Reconnecting to Wallet Service..." msgstr "Reconectando ao Serviço de Carteira…" @@ -856,6 +981,10 @@ msgstr "Obrigatório" msgid "Retrying..." msgstr "Repetindo…" +#: public/views/translators.html +msgid "Russian" +msgstr "Russian" + #: public/views/includes/password.html msgid "SET" msgstr "DEFINIR" @@ -972,8 +1101,13 @@ msgstr "Compartilhar Carteira" #: public/views/backup.html #: public/views/create.html #: public/views/join.html -msgid "Show Advanced options" -msgstr "Show Advanced options" +#: public/views/walletHome.html +msgid "Show advanced options" +msgstr "Show advanced options" + +#: src/js/services/bwsError.js +msgid "Signatures rejected by server" +msgstr "Signatures rejected by server" #: src/js/controllers/walletHome.js msgid "Signing payment" @@ -983,10 +1117,18 @@ msgstr "Pagamento assinado" msgid "Signing transaction" msgstr "Transação assinada" -#: src/js/controllers/index.js +#: public/views/translators.html msgid "Spanish" msgstr "Espanhol" +#: src/js/services/bwsError.js +msgid "Spend proposal is not accepted" +msgstr "Spend proposal is not accepted" + +#: src/js/services/bwsError.js +msgid "Spend proposal not found" +msgstr "Spend proposal not found" + #: src/js/controllers/copayers.js #: src/js/controllers/import.js #: src/js/controllers/preferencesDelete.js @@ -1011,16 +1153,16 @@ msgid "The payment was created but could not be completed. Please try again from msgstr "O pagamento foi criado mas não pode ser completado. Por favor, tente novamente a partir da tela inicial." #: src/js/controllers/walletHome.js -msgid "The payment was created but could not be signed. Please try again from home screen." -msgstr "O pagamento foi criado mas não pode ser assinado. Por favor, tente novamente a partir da tela inicial." +msgid "The payment was created but could not be signed. Please try again from home screen" +msgstr "The payment was created but could not be signed. Please try again from home screen" #: public/views/modals/txp-details.html msgid "The payment was removed by creator" msgstr "O pagamento foi removido pelo criador" #: src/js/controllers/walletHome.js -msgid "The payment was signed but could not be broadcasted. Please try again from home screen." -msgstr "O pagamento foi assinado mas não pode ser transmitido. Por favor, tente novamente a partir da tela inicial." +msgid "The payment was signed but could not be broadcasted. Please try again from home screen" +msgstr "The payment was signed but could not be broadcasted. Please try again from home screen" #: public/views/backup.html msgid "The private key for this wallet is encrypted. Exporting a backup will keep the private key encrypted in the backup archive." @@ -1030,6 +1172,10 @@ msgstr "A chave privada para esta carteira é criptografada. A exportação de u msgid "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." msgstr "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." +#: src/js/services/bwsError.js +msgid "The spend proposal is not pending" +msgstr "The spend proposal is not pending" + #: src/js/controllers/copayers.js #: src/js/controllers/preferencesDelete.js msgid "The wallet \"{{walletName}}\" was deleted" @@ -1056,12 +1202,17 @@ msgid "Time" msgstr "Hora" #: public/views/walletHome.html +#: public/views/includes/output.html #: public/views/includes/transaction.html #: public/views/modals/tx-details.html #: public/views/modals/txp-details.html msgid "To" msgstr "Para" +#: public/views/includes/output.html +msgid "Total" +msgstr "Total" + #: public/views/walletHome.html msgid "Total Locked Balance" msgstr "Saldo Total Bloqueado" @@ -1070,6 +1221,18 @@ msgstr "Saldo Total Bloqueado" msgid "Transaction" msgstr "Transação" +#: src/js/services/bwsError.js +msgid "Transaction already broadcasted" +msgstr "Transaction already broadcasted" + +#: public/views/translators.html +msgid "Translation Credits" +msgstr "Translation Credits" + +#: public/views/preferencesAbout.html +msgid "Translators" +msgstr "Translators" + #: src/js/controllers/walletHome.js msgid "Unable to send transaction proposal" msgstr "Impossível enviar a proposta de transação" @@ -1095,6 +1258,11 @@ msgstr "Não confiável" msgid "Updating Wallet..." msgstr "Atualizando Carteira…" +#: public/views/preferences.html +#: public/views/walletHome.html +msgid "Use Unconfirmed Funds" +msgstr "Use Unconfirmed Funds" + #: public/views/preferencesAbout.html msgid "Version" msgstr "Versão" @@ -1139,6 +1307,7 @@ msgstr "Convite para Carteira" msgid "Wallet Invitation is not valid!" msgstr "O convite para carteira não é válido!" +#: src/js/services/bwsError.js #: src/js/services/profileService.js msgid "Wallet already exists" msgstr "A carteira já existe" @@ -1147,18 +1316,34 @@ msgstr "A carteira já existe" msgid "Wallet incomplete and broken" msgstr "Carteira incompleta e quebrada" +#: src/js/services/bwsError.js +msgid "Wallet is full" +msgstr "Wallet is full" + +#: src/js/services/bwsError.js +msgid "Wallet is not complete" +msgstr "Wallet is not complete" + #: public/views/create.html msgid "Wallet name" msgstr "Nome da carteira" -#: src/js/controllers/walletHome.js -msgid "Wallet service timed out. Check your Internet connection and your wallet service configuration." -msgstr "Wallet service timed out. Check your Internet connection and your wallet service configuration." +#: src/js/services/bwsError.js +msgid "Wallet not found" +msgstr "Wallet not found" + +#: src/js/services/bwsError.js +msgid "Wallet service not found" +msgstr "Wallet service not found" #: public/views/preferencesDeleteWallet.html msgid "Warning!" msgstr "Atenção!" +#: public/views/modals/txp-details.html +msgid "Warning: this transaction has unconfirmed inputs" +msgstr "Warning: this transaction has unconfirmed inputs" + #: src/js/services/profileService.js msgid "Wrong password" msgstr "Senha errada" @@ -1219,10 +1404,6 @@ msgstr "configurações" msgid "too long!" msgstr "muito tempo!" -#: public/views/preferencesFee.html -msgid "{{fee.value}} bits per kB" -msgstr "{{fee.value}} bits per kB" - #: src/js/controllers/walletHome.js msgid "{{fee}} will be discounted for bitcoin networking fees" msgstr "{{fee}} will be discounted for bitcoin networking fees" diff --git a/i18n/po/ru.po b/i18n/po/ru.po index 84d411ed4..1f547a52d 100644 --- a/i18n/po/ru.po +++ b/i18n/po/ru.po @@ -12,7 +12,7 @@ msgstr "" "Last-Translator: cmgustavo83\n" "Language-Team: Russian\n" "Language: ru\n" -"PO-Revision-Date: 2015-08-12 06:59-0400\n" +"PO-Revision-Date: 2015-08-13 09:15-0400\n" #: public/views/walletHome.html msgid "(possible double spend)" @@ -90,6 +90,10 @@ msgstr "Альтернативная валюта" msgid "Amount" msgstr "Сумма" +#: src/js/services/bwsError.js +msgid "Amount below dust threshold" +msgstr "Сумма ниже возможного порога" + #: public/views/walletHome.html #: public/views/modals/customized-amount.html msgid "Amount in" @@ -140,6 +144,10 @@ msgstr "Создать резервную копию" msgid "Backup options" msgstr "Параметры резервной копии" +#: src/js/services/profileService.js +msgid "Bad wallet invitation" +msgstr "Недействительное приглашение присоединиться к кошельку" + #: public/views/walletHome.html msgid "Before receiving funds, it is highly recommended you backup your wallet keys." msgstr "До получения средств, настоятельно рекомендуется, чтобы вы сделали резервную копию ключей кошелька." @@ -193,6 +201,10 @@ msgstr "ОТМЕНА" msgid "Cancel" msgstr "Отмена" +#: src/js/services/profileService.js +msgid "Cannot join the same wallet more that once" +msgstr "Нельзя присоединиться к одному и тому же кошельку более одного раза" + #: public/views/modals/paypro.html msgid "Certified by" msgstr "Сертифицирован" @@ -201,10 +213,6 @@ msgstr "Сертифицирован" msgid "Changing wallet alias only affects the local wallet name." msgstr "Изменение псевдонима кошелька влияет только на название локального кошелька." -#: src/js/controllers/walletHome.js -msgid "Check your Internet connection and try again" -msgstr "Check your Internet connection and try again" - #: public/views/import.html msgid "Choose a backup file from your computer" msgstr "Выберите файл резервной копии с вашего компьютера" @@ -241,6 +249,22 @@ msgstr "Подтвердить" msgid "Confirmations" msgstr "Подтверждения" +#: src/js/services/bwsError.js +msgid "Copayer already in this wallet" +msgstr "Совладелец кошелька уже присоединился" + +#: src/js/services/bwsError.js +msgid "Copayer already registered" +msgstr "Совладелец кошелька уже зарегистрирован" + +#: src/js/services/bwsError.js +msgid "Copayer already voted on this spend proposal" +msgstr "Совладелец кошелька уже проголосовал по этому предложению платежа" + +#: src/js/services/bwsError.js +msgid "Copayer data mismatch" +msgstr "Несоответствие данных совладельца кошелька" + #: public/views/modals/copayers.html msgid "Copayers" msgstr "Совладельцы кошелька" @@ -264,20 +288,20 @@ msgid "Copy to clipboard" msgstr "Скопировать в буфер обмена" #: src/js/controllers/walletHome.js -msgid "Could not accept payment. Check your Internet connection and try again" -msgstr "Could not accept payment. Check your Internet connection and try again" +msgid "Could not accept payment" +msgstr "Не удалось принять платёж" + +#: src/js/controllers/index.js +msgid "Could not access Wallet Service: Not found" +msgstr "Не удалось получить доступ к службе кошелька: не найдена" #: src/js/controllers/walletHome.js -msgid "Could not broadcast payment. Check your Internet connection and try again" -msgstr "Could not broadcast payment. Check your Internet connection and try again" +msgid "Could not broadcast payment" +msgstr "Не удалось отправить платёж" -#: src/js/controllers/walletHome.js -msgid "Could not connect wallet service. Check your Internet connection and your wallet service configuration." -msgstr "Не удалось подключиться к службе кошелька. Проверьте своё Интернет-подключение и конфигурацию службы кошелька." - -#: src/js/controllers/walletHome.js -msgid "Could not create address. Check your Internet connection and try again" -msgstr "Could not create address. Check your Internet connection and try again" +#: src/js/services/addressService.js +msgid "Could not create address" +msgstr "Не удалось создать адрес" #: src/js/controllers/walletHome.js msgid "Could not create payment proposal" @@ -292,8 +316,8 @@ msgid "Could not decrypt file, check your password" msgstr "Не удалось расшифровать файл, проверьте ваш пароль" #: src/js/controllers/walletHome.js -msgid "Could not delete payment proposal. Check your Internet connection and try again" -msgstr "Could not delete payment proposal. Check your Internet connection and try again" +msgid "Could not delete payment proposal" +msgstr "Не удалось удалить предложение платежа" #: src/js/controllers/walletHome.js msgid "Could not fetch payment information" @@ -311,23 +335,23 @@ msgstr "Не удалось импортировать. Проверьте вх msgid "Could not join using the specified extended private key" msgstr "Не удалось присоединиться используя указанный расширенный закрытый ключ" -#: src/js/controllers/join.js -msgid "Could not join wallet:" -msgstr "Не удалось присоединиться к кошельку:" +#: src/js/services/profileService.js +msgid "Could not join wallet" +msgstr "Не удалось присоединиться к кошельку" #: src/js/controllers/walletHome.js msgid "Could not recognize a valid Bitcoin QR Code" msgstr "Не удалось распознать действительный Bitcoin QR-код" #: src/js/controllers/walletHome.js -msgid "Could not reject payment. Check your Internet connection and try again" -msgstr "Could not reject payment. Check your Internet connection and try again" +msgid "Could not reject payment" +msgstr "Не удалось отклонить платёж" #: src/js/controllers/walletHome.js msgid "Could not send payment" msgstr "Не удалось отправить платёж" -#: public/views/walletHome.html +#: src/js/controllers/index.js msgid "Could not update Wallet" msgstr "Не удалось обновить кошелёк" @@ -440,14 +464,14 @@ msgstr "Зашифрованный файл резервной копии сох msgid "Enter your password" msgstr "Введите свой пароль" +#: src/js/controllers/index.js +msgid "Error at Wallet Service" +msgstr "Ошибка в службе кошелька" + #: src/js/services/profileService.js msgid "Error creating wallet" msgstr "Ошибка создания кошелька" -#: src/js/services/profileService.js -msgid "Error creating wallet. Check your internet connection" -msgstr "Ошибка создания кошелька. Проверьте своё Интернет-подключение" - #: src/js/services/profileService.js msgid "Error importing wallet:" msgstr "Ошибка импорта кошелька:" @@ -480,7 +504,7 @@ msgstr "Политика комиссии" #: public/views/walletHome.html msgid "Fee policy for this transaction" -msgstr "Fee policy for this transaction" +msgstr "Политика комиссий для этой транзакции" #. Get information of payment if using Payment Protocol #: src/js/controllers/walletHome.js @@ -491,6 +515,10 @@ msgstr "Извлечение информации платежа" msgid "French" msgstr "французский" +#: src/js/services/bwsError.js +msgid "Funds are locked by pending spend proposals" +msgstr "Средства заблокированы ожидающим предложением платежа" + #: src/js/services/notificationsService.js msgid "Funds received" msgstr "Принят платёж" @@ -540,7 +568,7 @@ msgstr "Есть резервная копия из Copay v0.9?" #: public/views/join.html #: public/views/walletHome.html msgid "Hide advanced options" -msgstr "Hide advanced options" +msgstr "Скрыть дополнительные настройки" #: src/js/controllers/index.js msgid "History" @@ -588,10 +616,26 @@ msgstr "Импорт кошелька..." msgid "Importing..." msgstr "Импорт..." +#: src/js/services/bwsError.js +msgid "Incorrect address network" +msgstr "Неверный адрес" + +#: src/js/services/bwsError.js +msgid "Insufficient funds" +msgstr "Недостаточно средств" + +#: src/js/services/bwsError.js +msgid "Insufficient funds for fee" +msgstr "Недостаточно средств на комиссию" + #: public/views/walletHome.html msgid "Invalid" msgstr "Недействительно" +#: src/js/services/bwsError.js +msgid "Invalid address" +msgstr "Неверный адрес" + #: src/js/controllers/copayers.js msgid "Invitation to share a Copay Wallet" msgstr "Приглашение присоединиться к кошельку Copay" @@ -633,6 +677,14 @@ msgstr "Язык" msgid "Learn more about Wallet Migration" msgstr "Узнайте больше о переносе кошелька" +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to create a new spend proposal" +msgstr "Действует блокировка. Пожалуйста, подождите, чтобы создать новое предложение платежа" + +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to remove this spend proposal" +msgstr "Действует блокировка. Пожалуйста, подождите, чтобы удалить это предложение платежа" + #: public/views/paymentUri.html msgid "Make a payment to" msgstr "Сделать платёж" @@ -681,6 +733,10 @@ msgstr "Мой адрес Bitcoin" msgid "Network" msgstr "Сеть" +#: src/js/services/bwsError.js +msgid "Network connection error" +msgstr "Ошибка сетевого подключения" + #: src/js/services/notificationsService.js msgid "New Payment Proposal" msgstr "Новое предложение платежа" @@ -697,6 +753,10 @@ msgstr "Транзакций пока не было" msgid "Normal" msgstr "Обычный" +#: src/js/services/bwsError.js +msgid "Not authorized" +msgstr "Не авторизован" + #: public/views/walletHome.html #: public/views/modals/customized-amount.html msgid "Not valid" @@ -708,6 +768,7 @@ msgstr "Не действительно" msgid "Note" msgstr "Примечание" +#: public/views/includes/alert.html #: public/views/includes/password.html msgid "OK" msgstr "Хорошо" @@ -817,7 +878,7 @@ msgstr "Платёж" #: public/views/walletHome.html msgid "Pending Confirmation" -msgstr "Pending Confirmation" +msgstr "Ожидание подтверждения" #: public/views/preferencesDeleteWallet.html msgid "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" @@ -832,6 +893,10 @@ msgstr "Личный кошелёк" msgid "Please enter the required fields" msgstr "Пожалуйста, заполните необходимые поля" +#: src/js/services/bwsError.js +msgid "Please upgrade Copay to perform this action" +msgstr "Пожалуйста, обновите Copay для выполнения этого действия" + #: src/js/controllers/import.js msgid "Please, select your backup file" msgstr "Пожалуйста, выберите ваш файл резервной копии" @@ -916,6 +981,10 @@ msgstr "Необходимо" msgid "Retrying..." msgstr "Повторная попытка..." +#: public/views/translators.html +msgid "Russian" +msgstr "русский" + #: public/views/includes/password.html msgid "SET" msgstr "УСТАНОВИТЬ" @@ -1034,7 +1103,11 @@ msgstr "Общий бумажник" #: public/views/join.html #: public/views/walletHome.html msgid "Show advanced options" -msgstr "Show advanced options" +msgstr "Показать дополнительные настройки" + +#: src/js/services/bwsError.js +msgid "Signatures rejected by server" +msgstr "Подписи отклонены сервером" #: src/js/controllers/walletHome.js msgid "Signing payment" @@ -1048,6 +1121,14 @@ msgstr "Подписание транзакции" msgid "Spanish" msgstr "испанский" +#: src/js/services/bwsError.js +msgid "Spend proposal is not accepted" +msgstr "Предложение платежа не принято" + +#: src/js/services/bwsError.js +msgid "Spend proposal not found" +msgstr "Предложение платежа не найдено" + #: src/js/controllers/copayers.js #: src/js/controllers/import.js #: src/js/controllers/preferencesDelete.js @@ -1072,16 +1153,16 @@ msgid "The payment was created but could not be completed. Please try again from msgstr "Платёж был создан, но не может быть завершен. Пожалуйста, попробуйте снова с главной страницы" #: src/js/controllers/walletHome.js -msgid "The payment was created but could not be signed. Please try again from home screen." -msgstr "Платёж был создан, но не может быть подписан. Пожалуйста, попробуйте снова с главной страницы." +msgid "The payment was created but could not be signed. Please try again from home screen" +msgstr "Платёж был создан, но не может быть завершен. Пожалуйста, попробуйте снова с главной страницы" #: public/views/modals/txp-details.html msgid "The payment was removed by creator" msgstr "Платёж был удалён его создателем" #: src/js/controllers/walletHome.js -msgid "The payment was signed but could not be broadcasted. Please try again from home screen." -msgstr "Платёж был подписан, но не может быть отправлен. Пожалуйста, попробуйте снова с главной страницы." +msgid "The payment was signed but could not be broadcasted. Please try again from home screen" +msgstr "Платёж был подписан, но не может быть отправлен. Пожалуйста, попробуйте снова с главной страницы" #: public/views/backup.html msgid "The private key for this wallet is encrypted. Exporting a backup will keep the private key encrypted in the backup archive." @@ -1091,6 +1172,10 @@ msgstr "Закрытый ключ для этого кошелька зашиф msgid "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." msgstr "Программное обеспечение, которое вы собираетесь использовать, функционирует как цифровой кошелёк - бесплатный, с открытым исходным кодом и мультиподписью. Программное обеспечение не является счетом, где BitPay или других третьих сторон выступают в качестве финансовых посредников или хранителей ваших биткойнов. Хотя программное обеспечение прошло бета-тестирования и продолжает улучшаться путем обратной связи с пользователями открытого исходного кода и сообществом разработчиков, мы не можем гарантировать, что не будет никаких ошибок в программном обеспечении. Вы признаете, что используете это программное обеспечение по вашему собственному усмотрению и в соответствии со всеми применимыми законами. Вы ответственны за хранение ваших паролей, пары закрытых ключей, ПИН-кодов и любых других кодов, которые вы используете для доступа к программному обеспечению. ЕСЛИ ВЫ ПОТЕРЯЕТЕ ДОСТУП К ВАШЕМУ КОШЕЛЬКУ COPAY ИЛИ ВАШИМ ЗАШИФРОВАННЫМ ЗАКРЫТЫМ КЛЮЧАМ, И У ВАС НЕ ХРАНИЛАСЬ ОТДЕЛЬНО РЕЗЕРВНАЯ КОПИЯ ВАШЕГО БУМАЖНИКА И СООТВЕТСТВУЮЩИЙ ПАРОЛЬ, ВЫ ПРИЗНАЕТЕ И СОГЛАШАЕТЕСЬ, ЧТО ЛЮБЫЕ БИТКОЙНЫ, КОТОРЫЕ СВЯЗАННЫ С ЭТИМ КОШЕЛЬКОМ COPAY СТАНУТ НЕДОСТУПНЫМИ. Все транзакции являются необратимыми. Авторы программного обеспечения, работников и связанные лица Bitpay, владельцы авторских прав и BitPay, Inc. не могут восстановить ваши закрытые ключи или пароли, если вы потеряете или забудете их и не могут гарантировать подтверждение транзакций, поскольку они не имеют контроля над сетью Bitcoin. В максимальной степени, разрешенной законом это программное обеспечение предоставляется «как есть», и никаких заверений или гарантий не может быть дано - любого рода, явных или подразумеваемых, включая, но не ограничиваясь гарантии товарности, пригодности или конкретной цели и ненарушения. Вы принимаете на себя любые и все виды рисков, связанные с использованием программного обеспечения. Ни при каком случае авторы программного обеспечения, работников и связанные лица Bitpay, владельцы авторских прав, или BitPay, Inc. не несут ответственности за любые претензии, убытки или иной ответственности, будь то в действие контракта, правонарушения, или иным образом, проистекающей из, вне или в связи с программным обеспечением. Мы оставляем за собой право время от времени изменять этот отказ." +#: src/js/services/bwsError.js +msgid "The spend proposal is not pending" +msgstr "Предложение платежа не в ожидании" + #: src/js/controllers/copayers.js #: src/js/controllers/preferencesDelete.js msgid "The wallet \"{{walletName}}\" was deleted" @@ -1136,6 +1221,10 @@ msgstr "Всего заблокировано средств" msgid "Transaction" msgstr "Транзакция" +#: src/js/services/bwsError.js +msgid "Transaction already broadcasted" +msgstr "Транзакция уже отправлена" + #: public/views/translators.html msgid "Translation Credits" msgstr "Благодарность за перевод" @@ -1172,11 +1261,7 @@ msgstr "Обновление кошелька..." #: public/views/preferences.html #: public/views/walletHome.html msgid "Use Unconfirmed Funds" -msgstr "Use Unconfirmed Funds" - -#: public/views/modals/txp-details.html -msgid "Uses unconfirmed funds" -msgstr "Uses unconfirmed funds" +msgstr "Использовать неподтверждённые средства" #: public/views/preferencesAbout.html msgid "Version" @@ -1222,6 +1307,7 @@ msgstr "Приглашение присоединиться к кошельку" msgid "Wallet Invitation is not valid!" msgstr "Приглашение присоединиться к кошельку не действительно!" +#: src/js/services/bwsError.js #: src/js/services/profileService.js msgid "Wallet already exists" msgstr "Кошелёк уже существует" @@ -1230,18 +1316,34 @@ msgstr "Кошелёк уже существует" msgid "Wallet incomplete and broken" msgstr "Сбой: кошелёк не работает" +#: src/js/services/bwsError.js +msgid "Wallet is full" +msgstr "Все уже присоединены" + +#: src/js/services/bwsError.js +msgid "Wallet is not complete" +msgstr "Не все ещё присоединились" + #: public/views/create.html msgid "Wallet name" msgstr "Имя кошелька" -#: src/js/controllers/walletHome.js -msgid "Wallet service timed out. Check your Internet connection and your wallet service configuration." -msgstr "Истекло время ожидания службы кошелька. Проверьте своё Интернет-подключение и конфигурацию службы кошелька." +#: src/js/services/bwsError.js +msgid "Wallet not found" +msgstr "Кошелёк не найден" + +#: src/js/services/bwsError.js +msgid "Wallet service not found" +msgstr "Служба кошелька не найдена" #: public/views/preferencesDeleteWallet.html msgid "Warning!" msgstr "Предупреждение!" +#: public/views/modals/txp-details.html +msgid "Warning: this transaction has unconfirmed inputs" +msgstr "Предупреждение: эта транзакция имеет неподтвержденные входы" + #: src/js/services/profileService.js msgid "Wrong password" msgstr "Неверный пароль" @@ -1304,7 +1406,7 @@ msgstr "слишком долго!" #: src/js/controllers/walletHome.js msgid "{{fee}} will be discounted for bitcoin networking fees" -msgstr "{{fee}} будет снижена до уровня комиссий сети" +msgstr "{{fee}} будет использовано для оплаты комиссии" #: src/js/controllers/importLegacy.js msgid "{{len}} wallets imported. Funds scanning in progress. Hold on to see updated balance" From ec471bdba32550a21d66a91b1d69dcb6380630cd Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Thu, 13 Aug 2015 16:47:10 -0300 Subject: [PATCH 130/158] Translates errors from send --- src/js/controllers/walletHome.js | 16 +++++----- src/js/services/bwsError.js | 53 ++++++++++++++++---------------- 2 files changed, 34 insertions(+), 35 deletions(-) diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 7d1e340cb..50fa2a54b 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -249,7 +249,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.setOngoingProcess(); if (err) { $scope.loading = false; - $scope.error = bwsError.msg(err, gettext('Could not accept payment')); + $scope.error = bwsError.msg(err, gettextCatalog.getString('Could not accept payment')); $scope.$digest(); } else { //if txp has required signatures then broadcast it @@ -261,7 +261,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.setOngoingProcess(); $scope.loading = false; if (err) { - $scope.error = bwsError.msg(err, gettext('Could not broadcast payment')); + $scope.error = bwsError.msg(err, gettextCatalog.getString('Could not broadcast payment')); $scope.$digest(); } else { $log.debug('Transaction signed and broadcasted') @@ -290,7 +290,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.setOngoingProcess(); $scope.loading = false; if (err) { - $scope.error = bwsError.msg(err, gettext('Could not reject payment')); + $scope.error = bwsError.msg(err, gettextCatalog.getString('Could not reject payment')); $scope.$digest(); } else { $modalInstance.close(txpr); @@ -311,7 +311,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi // Hacky: request tries to parse an empty response if (err && !(err.message && err.message.match(/Unexpected/))) { - $scope.error = bwsError.msg(err, gettext('Could not delete payment proposal')); + $scope.error = bwsError.msg(err, gettextCatalog.getString('Could not delete payment proposal')); $scope.$digest(); return; } @@ -329,7 +329,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.setOngoingProcess(); $scope.loading = false; if (err) { - $scope.error = bwsError.msg(err, gettext('Could not broadcast payment')); + $scope.error = bwsError.msg(err, gettextCatalog.getString('Could not broadcast payment')); $scope.$digest(); } else { @@ -657,7 +657,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi this.setSendError = function(err) { var fc = profileService.focusedClient; var prefix = - fc.credentials.m > 1 ? gettext('Could not create payment proposal') : gettext('Could not send payment'); + fc.credentials.m > 1 ? gettextCatalog.getString('Could not create payment proposal') : gettextCatalog.getString('Could not send payment'); this.error = bwsError.msg(err, prefix); @@ -781,7 +781,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi profileService.lockFC(); self.setOngoingProcess(); if (err) { - err.message = bwsError.msg(err, gettext('The payment was created but could not be signed. Please try again from home screen')); + err.message = bwsError.msg(err, gettextCatalog.getString('The payment was created but could not be signed. Please try again from home screen')); return cb(err); } @@ -790,7 +790,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi fc.broadcastTxProposal(signedTx, function(err, btx, memo) { self.setOngoingProcess(); if (err) { - err.message = bwsError.msg(err, gettext('The payment was signed but could not be broadcasted. Please try again from home screen')); + err.message = bwsError.msg(err, gettextCatalog.getString('The payment was signed but could not be broadcasted. Please try again from home screen')); return cb(err); } if (memo) diff --git a/src/js/services/bwsError.js b/src/js/services/bwsError.js index 3dec7ccc4..f91c3b541 100644 --- a/src/js/services/bwsError.js +++ b/src/js/services/bwsError.js @@ -1,6 +1,6 @@ 'use strict'; angular.module('copayApp.services') - .factory('bwsError', function bwcErrorService($log, gettext) { + .factory('bwsError', function bwcErrorService($log, gettextCatalog) { var root = {}; root.msg = function(err, prefix) { @@ -10,85 +10,84 @@ angular.module('copayApp.services') if (err && err.code) { switch(err.code) { case 'CONNECTION_ERROR': - body = gettext('Network connection error'); + body = gettextCatalog.getString('Network connection error'); break; case 'NOT_FOUND': - body = gettext('Wallet service not found'); + body = gettextCatalog.getString('Wallet service not found'); break; case 'BAD_SIGNATURES': - body = gettext('Signatures rejected by server'); + body = gettextCatalog.getString('Signatures rejected by server'); break; case 'COPAYER_DATA_MISMATCH': - body = gettext('Copayer data mismatch'); + body = gettextCatalog.getString('Copayer data mismatch'); break; case 'COPAYER_IN_WALLET': - body = gettext('Copayer already in this wallet'); + body = gettextCatalog.getString('Copayer already in this wallet'); break; case 'COPAYER_REGISTERED': - body = gettext('Copayer already registered'); + body = gettextCatalog.getString('Copayer already registered'); break; case 'COPAYER_VOTED': - body = gettext('Copayer already voted on this spend proposal'); + body = gettextCatalog.getString('Copayer already voted on this spend proposal'); break; case 'DUST_AMOUNT': - body = gettext('Amount below dust threshold'); + body = gettextCatalog.getString('Amount below dust threshold'); break; case 'INCORRECT_ADDRESS_NETWORK': - body = gettext('Incorrect address network'); + body = gettextCatalog.getString('Incorrect address network'); break; case 'INSUFFICIENT_FUNDS': - body = gettext('Insufficient funds'); + body = gettextCatalog.getString('Insufficient funds'); break; case 'INSUFFICIENT_FUNDS_FOR_FEE': - body = gettext('Insufficient funds for fee'); + body = gettextCatalog.getString('Insufficient funds for fee'); break; case 'INVALID_ADDRESS': - body = gettext('Invalid address'); + body = gettextCatalog.getString('Invalid address'); break; case 'LOCKED_FUNDS': - body = gettext('Funds are locked by pending spend proposals'); + body = gettextCatalog.getString('Funds are locked by pending spend proposals'); break; case 'NOT_AUTHORIZED': - body = gettext('Not authorized'); + body = gettextCatalog.getString('Not authorized'); break; case 'TX_ALREADY_BROADCASTED': - body = gettext('Transaction already broadcasted'); + body = gettextCatalog.getString('Transaction already broadcasted'); break; case 'TX_CANNOT_CREATE': - body = gettext('Locktime in effect. Please wait to create a new spend proposal'); + body = gettextCatalog.getString('Locktime in effect. Please wait to create a new spend proposal'); break; case 'TX_CANNOT_REMOVE': - body = gettext('Locktime in effect. Please wait to remove this spend proposal'); + body = gettextCatalog.getString('Locktime in effect. Please wait to remove this spend proposal'); break; case 'TX_NOT_ACCEPTED': - body = gettext('Spend proposal is not accepted'); + body = gettextCatalog.getString('Spend proposal is not accepted'); break; case 'TX_NOT_FOUND': - body = gettext('Spend proposal not found'); + body = gettextCatalog.getString('Spend proposal not found'); break; case 'TX_NOT_PENDING': - body = gettext('The spend proposal is not pending'); + body = gettextCatalog.getString('The spend proposal is not pending'); break; case 'UPGRADE_NEEDED': - body = gettext('Please upgrade Copay to perform this action'); + body = gettextCatalog.getString('Please upgrade Copay to perform this action'); break; case 'WALLET_ALREADY_EXISTS': - body = gettext('Wallet already exists'); + body = gettextCatalog.getString('Wallet already exists'); break; case 'WALLET_FULL': - body = gettext('Wallet is full'); + body = gettextCatalog.getString('Wallet is full'); break; case 'WALLET_NOT_COMPLETE': - body = gettext('Wallet is not complete'); + body = gettextCatalog.getString('Wallet is not complete'); break; case 'WALLET_NOT_FOUND': - body = gettext('Wallet not found'); + body = gettextCatalog.getString('Wallet not found'); break; } } var msg = prefix + ( body ? ': ' + body : ''); - $log.warn("BWC ERROR:" + msg); return msg; }; From f3e88ae83abad12f2a4e545406a691a08f39742c Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Thu, 13 Aug 2015 16:48:13 -0300 Subject: [PATCH 131/158] New release v1.1.3 --- cordova/config.xml | 6 +++--- cordova/ios/Copay-Info.plist | 4 ++-- cordova/wp/Package.appxmanifest | 2 +- package.json | 2 +- webkitbuilds/.desktop | 2 +- webkitbuilds/setup-win32.iss | 2 +- webkitbuilds/setup-win64.iss | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cordova/config.xml b/cordova/config.xml index 7e2d0f1e4..46c8cf90c 100644 --- a/cordova/config.xml +++ b/cordova/config.xml @@ -1,8 +1,8 @@ + version="1.1.3" + android-versionCode="40" + ios-CFBundleVersion="1.1.3"> Copay A secure bitcoin wallet for friends and companies. diff --git a/cordova/ios/Copay-Info.plist b/cordova/ios/Copay-Info.plist index 8b6a16678..1e7b16959 100644 --- a/cordova/ios/Copay-Info.plist +++ b/cordova/ios/Copay-Info.plist @@ -57,11 +57,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.1.2 + 1.1.3 CFBundleSignature ???? CFBundleVersion - 1.1.2 + 1.1.3 LSRequiresIPhoneOS NSMainNibFile diff --git a/cordova/wp/Package.appxmanifest b/cordova/wp/Package.appxmanifest index ebb44af4a..8585fc499 100644 --- a/cordova/wp/Package.appxmanifest +++ b/cordova/wp/Package.appxmanifest @@ -1,6 +1,6 @@  - + Copay Wallet diff --git a/package.json b/package.json index 70d5546ac..f11aa6a8e 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "copay", "description": "A multisignature wallet", "author": "BitPay", - "version": "1.1.2", + "version": "1.1.3", "keywords": [ "wallet", "copay", diff --git a/webkitbuilds/.desktop b/webkitbuilds/.desktop index 438fe9b3d..d6866f041 100644 --- a/webkitbuilds/.desktop +++ b/webkitbuilds/.desktop @@ -1,6 +1,6 @@ [Desktop Entry] Type=Application -Version=1.0.2 +Version=1.1.3 Name=Copay Comment=A multisignature wallet Exec=copay diff --git a/webkitbuilds/setup-win32.iss b/webkitbuilds/setup-win32.iss index 1cc2132ff..78c98fa6e 100755 --- a/webkitbuilds/setup-win32.iss +++ b/webkitbuilds/setup-win32.iss @@ -2,7 +2,7 @@ ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "Copay" -#define MyAppVersion "1.1.2" +#define MyAppVersion "1.1.3" #define MyAppPublisher "BitPay" #define MyAppURL "https://copay.io" #define MyAppExeName "copay.exe" diff --git a/webkitbuilds/setup-win64.iss b/webkitbuilds/setup-win64.iss index 1cac9d798..a22fc0dcd 100755 --- a/webkitbuilds/setup-win64.iss +++ b/webkitbuilds/setup-win64.iss @@ -2,7 +2,7 @@ ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "Copay" -#define MyAppVersion "1.1.2" +#define MyAppVersion "1.1.3" #define MyAppPublisher "BitPay" #define MyAppURL "https://copay.io" #define MyAppExeName "copay.exe" From 6b73e7e05465cda8a537f51bc208e9bdec469d01 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Fri, 14 Aug 2015 09:51:42 -0300 Subject: [PATCH 132/158] Updates po files --- i18n/docs/updateinfo_es.txt | 4 +- i18n/docs/updateinfo_fr.txt | 4 +- i18n/docs/updateinfo_ja.txt | 4 +- i18n/po/es.po | 2 +- i18n/po/fr.po | 4 +- i18n/po/it.po | 84 ++++++++++++++++++------------------ i18n/po/ja.po | 2 +- i18n/po/ru.po | 2 +- webkitbuilds/setup-win32.iss | 2 +- webkitbuilds/setup-win64.iss | 2 +- 10 files changed, 55 insertions(+), 55 deletions(-) diff --git a/i18n/docs/updateinfo_es.txt b/i18n/docs/updateinfo_es.txt index 05c8a50ae..edd1cff7d 100644 --- a/i18n/docs/updateinfo_es.txt +++ b/i18n/docs/updateinfo_es.txt @@ -1,5 +1,5 @@ -* Adaptive fee levels based on bitcoin network load -* Option to prevent creating transactions with unconfirmed inputs +* Niveles de tasa adaptables en base a la carga de la red bitcoin +* Opción para evitar la creación de transacciones con entradas sin confirmar * Opciones de envío avanzado * Nuevos idiomas: Italiano, Ruso, and Griego * Corrección de errores menores diff --git a/i18n/docs/updateinfo_fr.txt b/i18n/docs/updateinfo_fr.txt index d6e6fbad1..5b1238c23 100644 --- a/i18n/docs/updateinfo_fr.txt +++ b/i18n/docs/updateinfo_fr.txt @@ -1,5 +1,5 @@ -* Adaptive fee levels based on bitcoin network load -* Option to prevent creating transactions with unconfirmed inputs +* Les frais sont maintenant calculés dynamiquement, en fonction de la charge du réseau Bitcoin +* Ajout d'une option permettant d'éviter la création de transactions avec des entrées non confirmées * Ajout d'options d'envois avancés * Ajout de langues : Italien, Russe et Grec * Corrections de bugs mineurs diff --git a/i18n/docs/updateinfo_ja.txt b/i18n/docs/updateinfo_ja.txt index 3ccbee5fe..f84c8c5ed 100644 --- a/i18n/docs/updateinfo_ja.txt +++ b/i18n/docs/updateinfo_ja.txt @@ -1,5 +1,5 @@ -* Adaptive fee levels based on bitcoin network load -* Option to prevent creating transactions with unconfirmed inputs +■ ネットワーク混雑状況に自動的に合わせる手数料設定 +■ 未承認資金の使用を禁止するオプション ■ 詳細な送金設定の追加 ■ イタリア語、ロシア語、ギリシャ語の言語選択を追加 ■ バグの修正 diff --git a/i18n/po/es.po b/i18n/po/es.po index 007f595ae..f850efd92 100644 --- a/i18n/po/es.po +++ b/i18n/po/es.po @@ -12,7 +12,7 @@ msgstr "" "Last-Translator: cmgustavo83\n" "Language-Team: Spanish\n" "Language: es\n" -"PO-Revision-Date: 2015-08-13 09:15-0400\n" +"PO-Revision-Date: 2015-08-14 02:33-0400\n" #: public/views/walletHome.html msgid "(possible double spend)" diff --git a/i18n/po/fr.po b/i18n/po/fr.po index 75426cd65..fc829fd30 100644 --- a/i18n/po/fr.po +++ b/i18n/po/fr.po @@ -12,7 +12,7 @@ msgstr "" "Last-Translator: cmgustavo83\n" "Language-Team: French\n" "Language: fr\n" -"PO-Revision-Date: 2015-08-13 09:15-0400\n" +"PO-Revision-Date: 2015-08-14 02:33-0400\n" #: public/views/walletHome.html msgid "(possible double spend)" @@ -1210,7 +1210,7 @@ msgstr "Ce portefeuille n'est pas enregistré dans le Bitcore Wallet Service (BW #: public/views/modals/txp-details.html msgid "Time" -msgstr "Heure" +msgstr "Ancienneté" #: public/views/walletHome.html #: public/views/includes/output.html diff --git a/i18n/po/it.po b/i18n/po/it.po index cda10b4b3..bec7713b2 100644 --- a/i18n/po/it.po +++ b/i18n/po/it.po @@ -12,7 +12,7 @@ msgstr "" "Last-Translator: cmgustavo83\n" "Language-Team: Italian\n" "Language: it\n" -"PO-Revision-Date: 2015-08-13 09:15-0400\n" +"PO-Revision-Date: 2015-08-14 02:34-0400\n" #: public/views/walletHome.html msgid "(possible double spend)" @@ -289,19 +289,19 @@ msgstr "Copia negli appunti" #: src/js/controllers/walletHome.js msgid "Could not accept payment" -msgstr "Could not accept payment" +msgstr "Impossibile accettare il pagamento" #: src/js/controllers/index.js msgid "Could not access Wallet Service: Not found" -msgstr "Could not access Wallet Service: Not found" +msgstr "Impossibile accedere al Wallet Service: non trovato" #: src/js/controllers/walletHome.js msgid "Could not broadcast payment" -msgstr "Could not broadcast payment" +msgstr "Impossibile trasmettere il pagamento" #: src/js/services/addressService.js msgid "Could not create address" -msgstr "Could not create address" +msgstr "Impossibile creare un indirizzo" #: src/js/controllers/walletHome.js msgid "Could not create payment proposal" @@ -317,7 +317,7 @@ msgstr "Impossibile decrittografare il file, controlla la tua password" #: src/js/controllers/walletHome.js msgid "Could not delete payment proposal" -msgstr "Could not delete payment proposal" +msgstr "Impossibile eliminare la proposta di pagamento" #: src/js/controllers/walletHome.js msgid "Could not fetch payment information" @@ -434,7 +434,7 @@ msgstr "Non includere la chiave privata nel backup" #: public/views/translators.html msgid "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." -msgstr "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." +msgstr "Non vedi la tua lingua su Crowdin? Contatta il proprietario su Crowdin! Ci piacerebbe supportare la lingua." #: public/views/walletHome.html msgid "Download CSV file" @@ -446,7 +446,7 @@ msgstr "Scarica il backup" #: src/js/services/feeService.js msgid "Economy" -msgstr "Economy" +msgstr "Economia" #: public/views/preferences.html msgid "Email Notifications" @@ -466,7 +466,7 @@ msgstr "Inserisci la tua password" #: src/js/controllers/index.js msgid "Error at Wallet Service" -msgstr "Error at Wallet Service" +msgstr "Errore del Wallet Service" #: src/js/services/profileService.js msgid "Error creating wallet" @@ -504,7 +504,7 @@ msgstr "Politica delle tasse" #: public/views/walletHome.html msgid "Fee policy for this transaction" -msgstr "Fee policy for this transaction" +msgstr "Commissioni per questa transazione" #. Get information of payment if using Payment Protocol #: src/js/controllers/walletHome.js @@ -517,7 +517,7 @@ msgstr "Francese" #: src/js/services/bwsError.js msgid "Funds are locked by pending spend proposals" -msgstr "Funds are locked by pending spend proposals" +msgstr "I fondi sono bloccati in attesa della proposta di pagamento" #: src/js/services/notificationsService.js msgid "Funds received" @@ -568,7 +568,7 @@ msgstr "Hai un Backup da Copay v0.9?" #: public/views/join.html #: public/views/walletHome.html msgid "Hide advanced options" -msgstr "Hide advanced options" +msgstr "Nascondi opzioni avanzate" #: src/js/controllers/index.js msgid "History" @@ -618,15 +618,15 @@ msgstr "Importando..." #: src/js/services/bwsError.js msgid "Incorrect address network" -msgstr "Incorrect address network" +msgstr "Indirizzo della rete incorretto" #: src/js/services/bwsError.js msgid "Insufficient funds" -msgstr "Insufficient funds" +msgstr "Fondi insufficienti" #: src/js/services/bwsError.js msgid "Insufficient funds for fee" -msgstr "Insufficient funds for fee" +msgstr "Fondi insufficienti per la commissione" #: public/views/walletHome.html msgid "Invalid" @@ -634,7 +634,7 @@ msgstr "Invalido" #: src/js/services/bwsError.js msgid "Invalid address" -msgstr "Invalid address" +msgstr "Indirizzo non valido" #: src/js/controllers/copayers.js msgid "Invitation to share a Copay Wallet" @@ -679,11 +679,11 @@ msgstr "Ulteriori informazioni sulla migrazione di portafoglio" #: src/js/services/bwsError.js msgid "Locktime in effect. Please wait to create a new spend proposal" -msgstr "Locktime in effect. Please wait to create a new spend proposal" +msgstr "Locktime in effetto. Si prega di attendere per creare una nuova proposta di pagamento" #: src/js/services/bwsError.js msgid "Locktime in effect. Please wait to remove this spend proposal" -msgstr "Locktime in effect. Please wait to remove this spend proposal" +msgstr "Locktime in effetto. Si prega di attendere per rimuovere questa proposta di pagamento" #: public/views/paymentUri.html msgid "Make a payment to" @@ -735,7 +735,7 @@ msgstr "Network" #: src/js/services/bwsError.js msgid "Network connection error" -msgstr "Network connection error" +msgstr "Errore di connessione alla rete" #: src/js/services/notificationsService.js msgid "New Payment Proposal" @@ -751,11 +751,11 @@ msgstr "Ancora nessuna transazione" #: src/js/services/feeService.js msgid "Normal" -msgstr "Normal" +msgstr "Normale" #: src/js/services/bwsError.js msgid "Not authorized" -msgstr "Not authorized" +msgstr "Non autorizzato" #: public/views/walletHome.html #: public/views/modals/customized-amount.html @@ -878,7 +878,7 @@ msgstr "Pagamento a" #: public/views/walletHome.html msgid "Pending Confirmation" -msgstr "Pending Confirmation" +msgstr "In attesa di conferma" #: public/views/preferencesDeleteWallet.html msgid "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" @@ -895,7 +895,7 @@ msgstr "Per favore completa i campi richiesti" #: src/js/services/bwsError.js msgid "Please upgrade Copay to perform this action" -msgstr "Please upgrade Copay to perform this action" +msgstr "Si prega di aggiornare Copay per eseguire questa azione" #: src/js/controllers/import.js msgid "Please, select your backup file" @@ -911,11 +911,11 @@ msgstr "Preferenze" #: src/js/controllers/backup.js msgid "Preparing backup..." -msgstr "Preparing backup..." +msgstr "Preparando il backup..." #: src/js/services/feeService.js msgid "Priority" -msgstr "Priority" +msgstr "Priorità" #: public/views/modals/customized-amount.html msgid "QR Code" @@ -983,7 +983,7 @@ msgstr "Sto riprovando..." #: public/views/translators.html msgid "Russian" -msgstr "Russian" +msgstr "Russo" #: public/views/includes/password.html msgid "SET" @@ -1103,11 +1103,11 @@ msgstr "Portafoglio Condiviso" #: public/views/join.html #: public/views/walletHome.html msgid "Show advanced options" -msgstr "Show advanced options" +msgstr "Mostra opzioni avanzate" #: src/js/services/bwsError.js msgid "Signatures rejected by server" -msgstr "Signatures rejected by server" +msgstr "Firme rifiutate dal server" #: src/js/controllers/walletHome.js msgid "Signing payment" @@ -1123,11 +1123,11 @@ msgstr "Spagnolo" #: src/js/services/bwsError.js msgid "Spend proposal is not accepted" -msgstr "Spend proposal is not accepted" +msgstr "La proposta di pagamento non è accettata" #: src/js/services/bwsError.js msgid "Spend proposal not found" -msgstr "Spend proposal not found" +msgstr "Proposta di pagamento non trovata" #: src/js/controllers/copayers.js #: src/js/controllers/import.js @@ -1154,7 +1154,7 @@ msgstr "Il pagamento è stato creato ma è stato impossibile completarlo. Per fa #: src/js/controllers/walletHome.js msgid "The payment was created but could not be signed. Please try again from home screen" -msgstr "The payment was created but could not be signed. Please try again from home screen" +msgstr "Il pagamento è stato creato ma è stato impossibile firmarlo. Per favore prova di nuovo dalla schermata iniziale" #: public/views/modals/txp-details.html msgid "The payment was removed by creator" @@ -1162,7 +1162,7 @@ msgstr "Il pagamento è stato rimosso dal creatore" #: src/js/controllers/walletHome.js msgid "The payment was signed but could not be broadcasted. Please try again from home screen" -msgstr "The payment was signed but could not be broadcasted. Please try again from home screen" +msgstr "Il pagamento è stato firmato ma non è stato possibile trasmetterlo. Per favore prova di nuovo dalla schermata principale" #: public/views/backup.html msgid "The private key for this wallet is encrypted. Exporting a backup will keep the private key encrypted in the backup archive." @@ -1174,7 +1174,7 @@ msgstr "Il software che stai per utilizzare è un portafoglio digitale gratis, o #: src/js/services/bwsError.js msgid "The spend proposal is not pending" -msgstr "The spend proposal is not pending" +msgstr "La proposta di pagamento non è in sospeso" #: src/js/controllers/copayers.js #: src/js/controllers/preferencesDelete.js @@ -1223,15 +1223,15 @@ msgstr "Transazione" #: src/js/services/bwsError.js msgid "Transaction already broadcasted" -msgstr "Transaction already broadcasted" +msgstr "Transazione già trasmessa" #: public/views/translators.html msgid "Translation Credits" -msgstr "Translation Credits" +msgstr "Ringraziamenti per la traduzione" #: public/views/preferencesAbout.html msgid "Translators" -msgstr "Translators" +msgstr "Traduttori" #: src/js/controllers/walletHome.js msgid "Unable to send transaction proposal" @@ -1261,7 +1261,7 @@ msgstr "Aggiornamento portafoglio..." #: public/views/preferences.html #: public/views/walletHome.html msgid "Use Unconfirmed Funds" -msgstr "Use Unconfirmed Funds" +msgstr "Usa i fondi non confermati" #: public/views/preferencesAbout.html msgid "Version" @@ -1318,11 +1318,11 @@ msgstr "Portafoglio incompleto e danneggiato" #: src/js/services/bwsError.js msgid "Wallet is full" -msgstr "Wallet is full" +msgstr "Portafoglio è pieno" #: src/js/services/bwsError.js msgid "Wallet is not complete" -msgstr "Wallet is not complete" +msgstr "Portafoglio non è completo" #: public/views/create.html msgid "Wallet name" @@ -1330,11 +1330,11 @@ msgstr "Nome Portafoglio" #: src/js/services/bwsError.js msgid "Wallet not found" -msgstr "Wallet not found" +msgstr "Portafoglio non trovato" #: src/js/services/bwsError.js msgid "Wallet service not found" -msgstr "Wallet service not found" +msgstr "Wallet service non trovato" #: public/views/preferencesDeleteWallet.html msgid "Warning!" @@ -1342,7 +1342,7 @@ msgstr "Attenzione!" #: public/views/modals/txp-details.html msgid "Warning: this transaction has unconfirmed inputs" -msgstr "Warning: this transaction has unconfirmed inputs" +msgstr "Attenzione: questa transazione ha inputs non confermati" #: src/js/services/profileService.js msgid "Wrong password" diff --git a/i18n/po/ja.po b/i18n/po/ja.po index 00febc4fa..5ac9f8778 100644 --- a/i18n/po/ja.po +++ b/i18n/po/ja.po @@ -12,7 +12,7 @@ msgstr "" "Last-Translator: cmgustavo83\n" "Language-Team: Japanese\n" "Language: ja\n" -"PO-Revision-Date: 2015-08-13 09:15-0400\n" +"PO-Revision-Date: 2015-08-14 02:34-0400\n" #: public/views/walletHome.html msgid "(possible double spend)" diff --git a/i18n/po/ru.po b/i18n/po/ru.po index 1f547a52d..5808872c5 100644 --- a/i18n/po/ru.po +++ b/i18n/po/ru.po @@ -12,7 +12,7 @@ msgstr "" "Last-Translator: cmgustavo83\n" "Language-Team: Russian\n" "Language: ru\n" -"PO-Revision-Date: 2015-08-13 09:15-0400\n" +"PO-Revision-Date: 2015-08-14 02:34-0400\n" #: public/views/walletHome.html msgid "(possible double spend)" diff --git a/webkitbuilds/setup-win32.iss b/webkitbuilds/setup-win32.iss index 78c98fa6e..22ad34238 100755 --- a/webkitbuilds/setup-win32.iss +++ b/webkitbuilds/setup-win32.iss @@ -35,7 +35,7 @@ Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{ [Files] Source: "copay\win32\copay.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "copay\win32\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs -Source: "favicon.ico"; DestDir: "{app}"; DestName: "icon.ico"; Flags: ignoreversion +Source: "../public/img/icons/favicon.ico"; DestDir: "{app}"; DestName: "icon.ico"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] diff --git a/webkitbuilds/setup-win64.iss b/webkitbuilds/setup-win64.iss index a22fc0dcd..8a3daed85 100755 --- a/webkitbuilds/setup-win64.iss +++ b/webkitbuilds/setup-win64.iss @@ -35,7 +35,7 @@ Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{ [Files] Source: "copay\win64\copay.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "copay\win64\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs -Source: "favicon.ico"; DestDir: "{app}"; DestName: "icon.ico"; Flags: ignoreversion +Source: "../public/img/icons/favicon.ico"; DestDir: "{app}"; DestName: "icon.ico"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] From a4731e7f06160960d143526cd866bfdcb5eae763 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Fri, 14 Aug 2015 16:56:13 -0300 Subject: [PATCH 133/158] Fix txp modals for single outputs --- public/views/modals/txp-details.html | 8 ++++---- src/js/controllers/walletHome.js | 3 +++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/public/views/modals/txp-details.html b/public/views/modals/txp-details.html index dc8c683bd..9a504c217 100644 --- a/public/views/modals/txp-details.html +++ b/public/views/modals/txp-details.html @@ -14,15 +14,15 @@ -
    Payment finally rejected
    diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 50fa2a54b..1f633431c 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -204,6 +204,9 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi var action = lodash.find(tx.actions, { copayerId: fc.credentials.copayerId }); + tx.amountStr = profileService.formatAmount(tx.amount) + ' ' + config.unitName; + tx.alternativeAmount = rateService.toFiat(tx.amount, config.alternativeIsoCode) ? rateService.toFiat(tx.amount, config.alternativeIsoCode).toFixed(2) : 'N/A'; + tx.alternativeAmountStr = tx.alternativeAmount + " " + config.alternativeIsoCode; $scope.tx = tx; if (!action && tx.status == 'pending') $scope.tx.pendingForUs = true; From 000bef4aec68b657927f5bff2707a85da6defea6 Mon Sep 17 00:00:00 2001 From: dabura667 Date: Sun, 16 Aug 2015 01:05:43 +0900 Subject: [PATCH 134/158] fixed crowdin download script + latest translation --- i18n/crowdin_download.js | 289 +++++-- i18n/docs/appstore_it.txt | 23 + i18n/docs/appstore_ko.txt | 23 + i18n/docs/appstore_ru.txt | 23 + i18n/docs/appstore_tr.txt | 23 + i18n/docs/appstore_zh.txt | 23 + i18n/docs/updateinfo_de.txt | 5 + i18n/docs/updateinfo_it.txt | 5 + i18n/docs/updateinfo_nl.txt | 5 + i18n/docs/updateinfo_ru.txt | 5 + i18n/docs/updateinfo_tr.txt | 10 +- i18n/docs/updateinfo_zh.txt | 5 + i18n/po/ja.po | 2 +- i18n/po/ko.po | 1414 +++++++++++++++++++++++++++++++++++ i18n/po/nl.po | 1414 +++++++++++++++++++++++++++++++++++ i18n/po/ru.po | 6 +- i18n/po/sq.po | 1414 +++++++++++++++++++++++++++++++++++ 17 files changed, 4607 insertions(+), 82 deletions(-) create mode 100644 i18n/docs/appstore_it.txt create mode 100644 i18n/docs/appstore_ko.txt create mode 100644 i18n/docs/appstore_ru.txt create mode 100644 i18n/docs/appstore_tr.txt create mode 100644 i18n/docs/appstore_zh.txt create mode 100644 i18n/docs/updateinfo_de.txt create mode 100644 i18n/docs/updateinfo_it.txt create mode 100644 i18n/docs/updateinfo_nl.txt create mode 100644 i18n/docs/updateinfo_ru.txt create mode 100644 i18n/docs/updateinfo_zh.txt create mode 100644 i18n/po/ko.po create mode 100644 i18n/po/nl.po create mode 100644 i18n/po/sq.po diff --git a/i18n/crowdin_download.js b/i18n/crowdin_download.js index 5470a2a9e..84f3597e1 100644 --- a/i18n/crowdin_download.js +++ b/i18n/crowdin_download.js @@ -2,6 +2,21 @@ 'use strict'; +if (process.argv[2]) { + var no_key = (process.argv[2].toLowerCase() == '--nokey') + if (no_key == false) { + console.log('Incorrect arg. Please use --nokey if you would like to download without api key.'); + process.exit(1); + }; +} else { + var no_key = false; + console.log('\n' + + 'Please note: If you do not have the crowdin API key and would like to download the ' + + 'translations without building anyways, please make sure your English files are the same ' + + 'version as crowdin, and then run this script with --nokey\n\n' + + 'eg. "node crowdin_download.js --nokey"\n\n'); +}; + var fs = require('fs'); var path = require('path'); var https = require('https'); @@ -21,85 +36,213 @@ catch (e) { process.exit(1); } -// Download most recent translations for all languages. -https.get('https://crowdin.com/download/project/' + crowdin_identifier + '.zip', function(res) { - var data = [], dataLen = 0; - - res.on('data', function(chunk) { - data.push(chunk); - dataLen += chunk.length; - }).on('end', function() { - var buf = new Buffer(dataLen); - for (var i=0, len = data.length, pos = 0; i < len; i++) { - data[i].copy(buf, pos); - pos += data[i].length; - }; - var zip = new AdmZip(buf); - zip.extractAllTo('./', true); - console.log('Done extracting ZIP file.'); +if (no_key == false) { // Reminder: Any changes to the script below must also be made to the else clause and vice versa. + + try { + // obtain the crowdin api key + var crowdin_api_key = fs.readFileSync(path.join(__dirname, 'crowdin_api_key.txt'), 'utf8') + } catch (e) { + console.log('### ERROR ### You do not have the crowdin api key in ./crowdin_api_key.txt so the translation build has failed.\nFor download only use --nokey.'); + process.exit(1); + }; + + // This call will tell the server to generate a new zip file for you based on most recent translations. + https.get('https://api.crowdin.com/api/project/' + crowdin_identifier + '/export?key=' + crowdin_api_key, function(res) { + + console.log('Export Got response: ' + res.statusCode); + + res.on('data', function(chunk) { + var resxml = chunk.toString('utf8'); + console.log(resxml); - var files = fs.readdirSync('./docs'); - - for (var i in files) { - if (files[i].slice(0,9) == 'appstore_' && files[i].slice(-4) == '.txt' && files[i] != 'appstore_en.txt') { - var english_file = fs.readFileSync(local_file_name2, 'utf8'); - var compare_file = fs.readFileSync(path.join(__dirname, 'docs/' + files[i]), 'utf8') - if (compare_file == english_file) { - fs.unlinkSync(path.join(__dirname, 'docs/' + files[i])); - }; - }; - if (files[i].slice(0,11) == 'updateinfo_' && files[i].slice(-4) == '.txt' && files[i] != 'updateinfo_en.txt') { - var english_file = fs.readFileSync(local_file_name3, 'utf8'); - var compare_file = fs.readFileSync(path.join(__dirname, 'docs/' + files[i]), 'utf8') - if (compare_file == english_file) { - fs.unlinkSync(path.join(__dirname, 'docs/' + files[i])); - }; - }; + if (resxml.indexOf('status="skipped"') >= 0) { + console.log('Translation build was skipped due to either:\n' + + '1. No changes since last translation build, or\n' + + '2. API limit of once per 30 minutes has not been waited.\n\n' + + 'Since we can not guarantee that translations have been built properly, this script will end here.\n' + + 'Log in to Copay\'s Crowdin Settings and click the "Build Project" button to assure it is built recently, and then run this ' + + 'script again with the --nokey arg to download translations without checking if built.'); + process.exit(1); }; - console.log('Cleaned out completely untranslated appstore docs.'); - - var files = fs.readdirSync('./po'); - - for (var i in files) { - if (files[i] != 'template.pot') { - var po_file = fs.readFileSync(path.join(__dirname, 'po/' + files[i]), 'utf8'); - var po_array = po_file.split('\n'); - for (var j in po_array) { - if (po_array[j].slice(0,5) == 'msgid') { - var source_text = po_array[j].slice(5); - } else if (po_array[j].slice(0,6) == 'msgstr') { - var translate_text = po_array[j].slice(6); - // if a line is not == English, it means there is translation. Keep this file. - if (source_text != translate_text) { - // erase email addresses of last translator for privacy - po_file = po_file.replace(/ <.+@.+\..+>/, '') - fs.writeFileSync(path.join(__dirname, 'po/' + files[i]), po_file); - - // split the file into 3 parts, before locale, locale, and after locale. - var lang_pos = po_file.search('"Language: ') + 11; - var po_start = po_file.slice(0,lang_pos); - var po_locale = po_file.slice(lang_pos,lang_pos + 5); - var po_end = po_file.slice(lang_pos + 5); - - // check for underscore, if it's there, only take the first 2 letters and reconstruct the po file. - if (po_locale.search('_') > 0) { - fs.writeFileSync(path.join(__dirname, 'po/' + files[i]), po_start + po_locale.slice(0,2) + po_end); - po_start = ''; - po_locale = ''; - po_end = ''; + // Download most recent translations for all languages. + https.get('https://crowdin.com/download/project/' + crowdin_identifier + '.zip', function(res) { + var data = [], dataLen = 0; + + res.on('data', function(chunk) { + data.push(chunk); + dataLen += chunk.length; + }).on('end', function() { + var buf = new Buffer(dataLen); + for (var i=0, len = data.length, pos = 0; i < len; i++) { + data[i].copy(buf, pos); + pos += data[i].length; + }; + var zip = new AdmZip(buf); + zip.extractAllTo('./', true); + console.log('Done extracting ZIP file.'); + + var files = fs.readdirSync('./docs'); + + for (var i in files) { + debugger; + if (files[i].slice(0,9) == 'appstore_' && files[i].slice(-4) == '.txt' && files[i] != 'appstore_en.txt') { + var english_file = fs.readFileSync(local_file_name2, 'utf8'); + var compare_file = fs.readFileSync(path.join(__dirname, 'docs/' + files[i]), 'utf8') + english_file = english_file.replace(/\r\n/g, '\n'); + compare_file = compare_file.replace(/\r\n/g, '\n'); + if (compare_file == english_file) { + fs.unlinkSync(path.join(__dirname, 'docs/' + files[i])); + }; + }; + if (files[i].slice(0,11) == 'updateinfo_' && files[i].slice(-4) == '.txt' && files[i] != 'updateinfo_en.txt') { + var english_file = fs.readFileSync(local_file_name3, 'utf8'); + var compare_file = fs.readFileSync(path.join(__dirname, 'docs/' + files[i]), 'utf8') + english_file = english_file.replace(/\r\n/g, '\n'); + compare_file = compare_file.replace(/\r\n/g, '\n'); + if (compare_file == english_file) { + fs.unlinkSync(path.join(__dirname, 'docs/' + files[i])); }; - break; }; }; - if (j == po_array.length - 1) { // All strings are exactly identical to English. Delete po file. - fs.unlinkSync(path.join(__dirname, 'po/' + files[i])); + + console.log('Cleaned out completely untranslated appstore docs.'); + + var files = fs.readdirSync('./po'); + + for (var i in files) { + if (files[i] != 'template.pot') { + var po_file = fs.readFileSync(path.join(__dirname, 'po/' + files[i]), 'utf8'); + var po_array = po_file.split('\n'); + for (var j in po_array) { + if (po_array[j].slice(0,5) == 'msgid') { + var source_text = po_array[j].slice(5); + } else if (po_array[j].slice(0,6) == 'msgstr') { + var translate_text = po_array[j].slice(6); + // if a line is not == English, it means there is translation. Keep this file. + if (source_text != translate_text) { + // erase email addresses of last translator for privacy + po_file = po_file.replace(/ <.+@.+\..+>/, '') + fs.writeFileSync(path.join(__dirname, 'po/' + files[i]), po_file); + + // split the file into 3 parts, before locale, locale, and after locale. + var lang_pos = po_file.search('"Language: ') + 11; + var po_start = po_file.slice(0,lang_pos); + var po_locale = po_file.slice(lang_pos,lang_pos + 5); + var po_end = po_file.slice(lang_pos + 5); + + // check for underscore, if it's there, only take the first 2 letters and reconstruct the po file. + if (po_locale.search('_') > 0) { + fs.writeFileSync(path.join(__dirname, 'po/' + files[i]), po_start + po_locale.slice(0,2) + po_end); + po_start = ''; + po_locale = ''; + po_end = ''; + }; + break; + }; + }; + if (j == po_array.length - 1) { // All strings are exactly identical to English. Delete po file. + fs.unlinkSync(path.join(__dirname, 'po/' + files[i])); + }; + }; + }; + }; + + console.log('Cleaned out completely untranslated po files.'); + + }); + }); + }); + }).on('error', function(e) { + console.log('Export Got error: ' + e.message); + }); + +} else { // Reminder: Any changes to the script below must also be made to the above and vice versa. + + // Download most recent translations for all languages. + https.get('https://crowdin.com/download/project/' + crowdin_identifier + '.zip', function(res) { + var data = [], dataLen = 0; + + res.on('data', function(chunk) { + data.push(chunk); + dataLen += chunk.length; + }).on('end', function() { + var buf = new Buffer(dataLen); + for (var i=0, len = data.length, pos = 0; i < len; i++) { + data[i].copy(buf, pos); + pos += data[i].length; + }; + var zip = new AdmZip(buf); + zip.extractAllTo('./', true); + console.log('Done extracting ZIP file.'); + + var files = fs.readdirSync('./docs'); + + for (var i in files) { + if (files[i].slice(0,9) == 'appstore_' && files[i].slice(-4) == '.txt' && files[i] != 'appstore_en.txt') { + var english_file = fs.readFileSync(local_file_name2, 'utf8'); + var compare_file = fs.readFileSync(path.join(__dirname, 'docs/' + files[i]), 'utf8') + english_file = english_file.replace(/\r\n/g, '\n'); + compare_file = compare_file.replace(/\r\n/g, '\n'); + if (compare_file == english_file) { + fs.unlinkSync(path.join(__dirname, 'docs/' + files[i])); + }; + }; + if (files[i].slice(0,11) == 'updateinfo_' && files[i].slice(-4) == '.txt' && files[i] != 'updateinfo_en.txt') { + var english_file = fs.readFileSync(local_file_name3, 'utf8'); + var compare_file = fs.readFileSync(path.join(__dirname, 'docs/' + files[i]), 'utf8') + english_file = english_file.replace(/\r\n/g, '\n'); + compare_file = compare_file.replace(/\r\n/g, '\n'); + if (compare_file == english_file) { + fs.unlinkSync(path.join(__dirname, 'docs/' + files[i])); }; }; }; - }; - - console.log('Cleaned out completely untranslated po files.'); - - }); -}); + + console.log('Cleaned out completely untranslated appstore docs.'); + + var files = fs.readdirSync('./po'); + + for (var i in files) { + if (files[i] != 'template.pot') { + var po_file = fs.readFileSync(path.join(__dirname, 'po/' + files[i]), 'utf8'); + var po_array = po_file.split('\n'); + for (var j in po_array) { + if (po_array[j].slice(0,5) == 'msgid') { + var source_text = po_array[j].slice(5); + } else if (po_array[j].slice(0,6) == 'msgstr') { + var translate_text = po_array[j].slice(6); + // if a line is not == English, it means there is translation. Keep this file. + if (source_text != translate_text) { + // erase email addresses of last translator for privacy + po_file = po_file.replace(/ <.+@.+\..+>/, '') + fs.writeFileSync(path.join(__dirname, 'po/' + files[i]), po_file); + + // split the file into 3 parts, before locale, locale, and after locale. + var lang_pos = po_file.search('"Language: ') + 11; + var po_start = po_file.slice(0,lang_pos); + var po_locale = po_file.slice(lang_pos,lang_pos + 5); + var po_end = po_file.slice(lang_pos + 5); + + // check for underscore, if it's there, only take the first 2 letters and reconstruct the po file. + if (po_locale.search('_') > 0) { + fs.writeFileSync(path.join(__dirname, 'po/' + files[i]), po_start + po_locale.slice(0,2) + po_end); + po_start = ''; + po_locale = ''; + po_end = ''; + }; + break; + }; + }; + if (j == po_array.length - 1) { // All strings are exactly identical to English. Delete po file. + fs.unlinkSync(path.join(__dirname, 'po/' + files[i])); + }; + }; + }; + }; + + console.log('Cleaned out completely untranslated po files.'); + + }); + }); +}; diff --git a/i18n/docs/appstore_it.txt b/i18n/docs/appstore_it.txt new file mode 100644 index 000000000..242f699cc --- /dev/null +++ b/i18n/docs/appstore_it.txt @@ -0,0 +1,23 @@ +Metti al sicuro i tuoi bitcoins, alle tue condizioni, con un portafoglio open source e multifirma realizzato da BitPay. +Gli utenti Copay possono gestire i propri fondi individualmente, o condividerli in maniera sicura con altri utenti grazie ai portafogli multifirma, che prevengono pagamenti non autorizzati richiedendo più approvazioni. Ecco alcuni modi per utilizzare Copay con altre persone: + +Per rismarmiare soldi per le vacanze o per acquisti congiunti con gli amici +Per tenere traccia di spese familiari o indennità +Per gestire i fondi e le spese di aziende, club, or organizzazioni + +In questa versione di Copay abbiamo realizzato le seguenti funzioni per un portafoglio bitcoin che non comprometta sicurezza o accessibilità: + +Creazione e gestione integrata di portafogli multipli +Sicurezza multifirma intuitiva per portafogli personali o condivisi +Proposte di pagamento facili da iniziare per portafogli condivisi e pagamenti di gruppo +Generazione di portafogli gerarchici deterministici (HD) e funzionalità di backup +Sicurezza integrata nel dispositivo: tutte le chiave private sono memorizzate localmente, non nel cloud +Supporto per portafogli della testnet Bitcoin +Accesso sincrono in tutte le piattaforme mobile e desktop +Supporto per il protocollo di pagamento (BIP70-BIP73): richieste di pagamento facilmente identificabili e pagamenti bitcoin sicuri e verificabili +Supporto per 150+ valute e denominazione in BTC o bits +Notifiche email per pagamenti o trasferimenti +Colori di sfondo e nomi dei portafogli personalizzabli +4 lingue supportate (EN, JP, FR, ES) + +Copay è un software gratuito e open source che non dipende da server proprietari, pertanto il supporto del software non dipende da nessuna azienda. Chiunque può rivedere o contribuire al codice sorgente di Copay su GitHub (https://github.com/bitpay/copay). diff --git a/i18n/docs/appstore_ko.txt b/i18n/docs/appstore_ko.txt new file mode 100644 index 000000000..c9fd43243 --- /dev/null +++ b/i18n/docs/appstore_ko.txt @@ -0,0 +1,23 @@ +비트코인을 당신이 원하는 방식으로 안전하게 보관할 수 있는 오픈소스 다중서명 지갑이 BitPay에서 출시됐습니다. +Copay는 사용자의 개인적인 자금 보관은 물론이고, 여러 명의 동의가 필요한 다중서명 지갑을 통해 누군가 독단적으로 자금을 써버리는 일을 방지하고 여럿이 함께 자금을 관리 할 수 있습니다. 예를 들면 이런 식으로 사용할 수 있습니다: + +친구들과 함께 휴가를 떠나거나 공동구매를 하기 위해 돈을 모을 때 +가족의 소비와 지출을 관리하고 싶을 때 +사업, 동호회, 단체의 자금과 소비를 관리 하고 싶을 때 + +이번 버전 Copay는 안전과 접근성에 대해 타협하지 않는 비트코인 지갑이 되기 위해 다음과 같은 기능이 포함돼 있습니다 + +앱 안에서 가능한 여러 개의 지갑 생성과 관리 +개인, 공유 지갑을 위한 직관적인 다중서명 안전장치 +공유 지갑과 공동지불을 위해 손쉽게 가능한 지불제안 +계층결정론적(Hierarchical deterministic, HD) 주소 생성과 지갑 백업 +장치기반 보안: 모든 비밀키는 클라우드가 아닌 장치 내부에 보관됩니다 +비트코인 테스트넷 지갑 지원 +모든 주요 모바일, 데스크탑 플랫폼에서의 동시 접속을 지원합니다 +Payment protocol (BIP70-BIP73)지원: 쉽게 확인 가능한 지불요청과 증명 가능한 비트코인 안전 결제 +150가지가 넘는 통화 지원과 BTC와 bits의 단위 지원 +지불, 송금의 이메일 알림 +바꿀 수 있는 지갑의 이름과 배경색 +4개국어 지원(영어, 일본어, 프랑스어, 스페인어) + +Copay는 누구나 운영할 수 있는 서버에서 돌아가는 무료 오픈소스 소프트웨어입니다. 그러므로 어떤 한 회사의 지속적인 지원에 의지할 필요가 없습니다. 누구나 GitHub(https://github.com/bitpay/copay)에서 Copay의 소스코드를 검토하거나 참여할 수 있습니다 diff --git a/i18n/docs/appstore_ru.txt b/i18n/docs/appstore_ru.txt new file mode 100644 index 000000000..87d9af542 --- /dev/null +++ b/i18n/docs/appstore_ru.txt @@ -0,0 +1,23 @@ +Обезопасьте биткойны на своих условиях с открытым исходным кодом, кошельком с мультиподписью от BitPay. +Пользователи Copay могут хранить средства самостоятельно или совместно безопасно управлять средствами вместе с другими пользователями с помощью кошельков с мультиподписью (multisignature wallets), которые предотвращают несанкционированный платежи, требуя несколько одобрений. Вот некоторые способы как Copay может быть использован вместе с другими пользователями: + +Накопить на отпуск или совместные покупки с друзьями +Отслеживать семейные траты и карманные деньги +Управлять бизнесом, клубом, или средствами и расходами организации + +Мы встроили следующие функции в эту версию Copay для биткойн-кошелька, которые не идут на компромисс безопасности или доступности: + +Создание и управление множеством кошельков внутри приложения +Интуитивно-понятная безопасность, основанная на мультиподписи, для личных и общих кошельков +Удобный порядок предложений платежей для совместных кошельков и и групповых платежей +Генерирование иерархически-детерминированных (HD) адресов и бэкакоп кошельков +Безопасность на основе устройств: все закрытые ключи хранятся локально, а не в облаке +Поддержка кошельков Bitcoin testnet +Синхронный доступ со всех основных мобильных и настольных платформ +Поддержка платежных протоколов (BIP70-BIP73): легко идентифицируемые платежные запросы и проверяемо-безопасные биткойн-платежи +Поддержка отображения сумм в более чем 150 валютах и обозначение в BTC или bits +Уведомления о платежах и переводах по email +Настраиваемые названия кошельков и цветов фона +4 поддерживаемых языка (английский, японский, французский, испанский) + +Copay бесплатен и является программным обеспечением с открытым исходным кодом, запускаемым на не-проприетарных серверах, поэтому нет необходимости полагаться на какую-либо компанию и её постоянную поддержку. Любой может просмотреть и сделать предложение по изменению исходного кода Copay на GitHub (https://github.com/bitpay/copay). diff --git a/i18n/docs/appstore_tr.txt b/i18n/docs/appstore_tr.txt new file mode 100644 index 000000000..2553f6ee6 --- /dev/null +++ b/i18n/docs/appstore_tr.txt @@ -0,0 +1,23 @@ +Bitcoinlerinizi kendi kurallarınıza göre BitPay tarafından oluşturulan açık kaynak, çoklu imzalı bir cüzdan ile koruyun. +Copay kullanıcıları paralarını ayrı ayrı tutabilir veya çoklu imzalı cüzdanlar ile diğer kullanıcılarla arasında mali durumları paylaşabilirler ki birden fazla onay isteyen yetkilendirilmemiş ödemeleri önleyebilirler. Diğerleri ile kullanmak için bazı Copay yolları: + +To save for vacations or joint purchases with friends +To track family spending and allowances +To manage business, club, or organization funds and expenses + +We built the following features into this version of Copay for a bitcoin wallet that doesn't compromise on security or accessibility: + +Multiple wallet creation and management in-app +Intuitive multisignature security for personal or shared wallets +Easy spending proposal flow for shared wallets and group payments +Hierarchical deterministic (HD) address generation and wallet backups +Device-based security: all private keys are stored locally, not in the cloud +Support for Bitcoin testnet wallets +Synchronous access across all major mobile and desktop platforms +Payment protocol (BIP70-BIP73) support: easily-identifiable payment requests and verifiably secure bitcoin payments +Support for 150+ currency pricing options and unit denomination in BTC or bits +Email notifications for payments and transfers +Customizable wallet naming and background colors +4 supported languages (EN, JP, FR, ES) + +Copay is free and open source software run on non-proprietary servers, so there's no need to rely on any company for continuous support. Anyone can review or contribute to Copay's source code on GitHub (https://github.com/bitpay/copay). diff --git a/i18n/docs/appstore_zh.txt b/i18n/docs/appstore_zh.txt new file mode 100644 index 000000000..848f5c720 --- /dev/null +++ b/i18n/docs/appstore_zh.txt @@ -0,0 +1,23 @@ +Secure bitcoin on your own terms with an open source, multisignature wallet from BitPay. +Copay users can hold funds individually or share finances securely with other users with multisignature wallets, which prevent unauthorized payments by requiring multiple approvals. Here are some ways Copay can be used with others: + +To save for vacations or joint purchases with friends +To track family spending and allowances +可用来管理商务,团体,或集团的收支 + +We built the following features into this version of Copay for a bitcoin wallet that doesn't compromise on security or accessibility: + +Multiple wallet creation and management in-app +Intuitive multisignature security for personal or shared wallets +Easy spending proposal flow for shared wallets and group payments +Hierarchical deterministic (HD) address generation and wallet backups +Device-based security: all private keys are stored locally, not in the cloud +Support for Bitcoin testnet wallets +Synchronous access across all major mobile and desktop platforms +Payment protocol (BIP70-BIP73) support: easily-identifiable payment requests and verifiably secure bitcoin payments +Support for 150+ currency pricing options and unit denomination in BTC or bits +Email notifications for payments and transfers +Customizable wallet naming and background colors +4种可用语言 (EN,JP,FR,ES) + +Copay is free and open source software run on non-proprietary servers, so there's no need to rely on any company for continuous support. Anyone can review or contribute to Copay's source code on GitHub (https://github.com/bitpay/copay). diff --git a/i18n/docs/updateinfo_de.txt b/i18n/docs/updateinfo_de.txt new file mode 100644 index 000000000..b837f53bd --- /dev/null +++ b/i18n/docs/updateinfo_de.txt @@ -0,0 +1,5 @@ +* Adaptive fee levels based on bitcoin network load +* Option to prevent creating transactions with unconfirmed inputs +* Added advanced sending options +* Added Italian, Russian, and Greek language options +* Kleinere Bug-Fixes diff --git a/i18n/docs/updateinfo_it.txt b/i18n/docs/updateinfo_it.txt new file mode 100644 index 000000000..5f40e600d --- /dev/null +++ b/i18n/docs/updateinfo_it.txt @@ -0,0 +1,5 @@ +* Livello della commissione basata sul carico del network bitcoin +* Opzione per impedire la creazione di transazioni con input non confermati +* Aggiunte le opzioni avanzate di invio +* Aggiunto il supporto alla lingua italiana, russa e greca +* Correzione bug minori diff --git a/i18n/docs/updateinfo_nl.txt b/i18n/docs/updateinfo_nl.txt new file mode 100644 index 000000000..d0bd09c97 --- /dev/null +++ b/i18n/docs/updateinfo_nl.txt @@ -0,0 +1,5 @@ +* Adaptive fee levels based on bitcoin network load +* Option to prevent creating transactions with unconfirmed inputs +* Added advanced sending options +* Added Italian, Russian, and Greek language options +* Kleine bug fixes diff --git a/i18n/docs/updateinfo_ru.txt b/i18n/docs/updateinfo_ru.txt new file mode 100644 index 000000000..b1ee96416 --- /dev/null +++ b/i18n/docs/updateinfo_ru.txt @@ -0,0 +1,5 @@ +* Адаптивные уровни комиссий на основе загрузки сети Bitcoin +* Опция, запрещающая создание транзакций с неподтверждёнными входами +* Добавлены расширенные настройки отправки +* Добавлены итальянский, русский и греческий языки +* Исправлены мелкие ошибки diff --git a/i18n/docs/updateinfo_tr.txt b/i18n/docs/updateinfo_tr.txt index ed9f8aa09..77bb46d5d 100644 --- a/i18n/docs/updateinfo_tr.txt +++ b/i18n/docs/updateinfo_tr.txt @@ -1,5 +1,5 @@ -* Adaptive fee levels based on bitcoin network load -* Option to prevent creating transactions with unconfirmed inputs -* Added advanced sending options -* Added Italian, Russian, and Greek language options -*Küçük hata düzeltmeleri +* Bitcoin ağ yüküne göre daha uygun ücret düzeyleri +* Onaylanmamış girişler ile işlem oluşturmayı önlemek için tercih +* Gelişmiş gönderme seçenekleri eklendi +* İtalyanca, Rusça ve Yunanca dil seçenekleri eklendi +* Ufak hata düzeltmeleri diff --git a/i18n/docs/updateinfo_zh.txt b/i18n/docs/updateinfo_zh.txt new file mode 100644 index 000000000..b1291c0a5 --- /dev/null +++ b/i18n/docs/updateinfo_zh.txt @@ -0,0 +1,5 @@ +* Adaptive fee levels based on bitcoin network load +* Option to prevent creating transactions with unconfirmed inputs +* Added advanced sending options +* Added Italian, Russian, and Greek language options +*修复一些bug diff --git a/i18n/po/ja.po b/i18n/po/ja.po index 5ac9f8778..c319bf3ed 100644 --- a/i18n/po/ja.po +++ b/i18n/po/ja.po @@ -12,7 +12,7 @@ msgstr "" "Last-Translator: cmgustavo83\n" "Language-Team: Japanese\n" "Language: ja\n" -"PO-Revision-Date: 2015-08-14 02:34-0400\n" +"PO-Revision-Date: 2015-08-15 11:27-0400\n" #: public/views/walletHome.html msgid "(possible double spend)" diff --git a/i18n/po/ko.po b/i18n/po/ko.po new file mode 100644 index 000000000..c2639d8dc --- /dev/null +++ b/i18n/po/ko.po @@ -0,0 +1,1414 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Project-Id-Version: copay\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: copay\n" +"X-Crowdin-Language: ko\n" +"X-Crowdin-File: template.pot\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Last-Translator: cmgustavo83\n" +"Language-Team: Korean\n" +"Language: ko\n" +"PO-Revision-Date: 2015-08-13 09:15-0400\n" + +#: public/views/walletHome.html +msgid "(possible double spend)" +msgstr "(이중 사용 가능성 있음)" + +#: public/views/modals/txp-details.html +msgid "* A payment proposal can be deleted if 1) you are the creator, and no other copayer has signed, or 2) 24 hours have passed since the proposal was created." +msgstr "* 지불제안은 다음 조건이 만족할 때 지울 수 있습니다. 1) 당신이 작성자이고, 다른 지갑 참여자가 사인하지 않았을 때, 또는 2) 제안이 작성된 지 24시간 이상이 지났을 때." + +#: public/views/backup.html +msgid "* You can safely install your backup on another device and use your wallet from multiple devices at the same time." +msgstr "* 다른 장치에 안전하게 백업을 설치하고 여러 기기에서 동시에 지갑을 사용할 수 있습니다." + +#: public/views/backup.html +msgid "A backup without its private key will allow the user to see the wallet balance, transactions, and create spend proposals. However, it will not be able to approve (sign) proposals." +msgstr "비밀키가 없는 백업은 잔액 확인, 거래 확인, 지불 제안을 작성할 수 있지만, 제안에 찬성(서명)할 수는 없습니다." + +#: public/views/splash.html +msgid "A multisignature bitcoin wallet" +msgstr "다중서명 비트코인 지갑" + +#: public/views/preferences.html +msgid "About Copay" +msgstr "Copay에 대하여" + +#: public/views/modals/txp-details.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Accept" +msgstr "승인" + +#: public/views/includes/sidebar.html +msgid "Add wallet" +msgstr "지갑 추가" + +#: public/views/paymentUri.html +#: public/views/modals/customized-amount.html +#: public/views/modals/paypro.html +msgid "Address" +msgstr "주소" + +#: public/views/preferences.html +msgid "Advanced" +msgstr "고급" + +#: public/views/modals/advancedSend.html +msgid "Advanced Send" +msgstr "Advanced Send" + +#: public/views/disclaimer.html +msgid "Agree" +msgstr "동의" + +#: public/views/preferencesAlias.html +msgid "Alias for {{index.walletName}}" +msgstr "{{index.walletName}}의 별명" + +#: public/views/translators.html +msgid "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at" +msgstr "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at" + +#: public/views/splash.html +msgid "Already have a wallet?" +msgstr "이미 지갑을 가지고 있나요?" + +#: public/views/preferences.html +msgid "Alternative Currency" +msgstr "표시 통화" + +#: public/views/paymentUri.html +#: public/views/walletHome.html +#: public/views/includes/output.html +#: public/views/modals/customized-amount.html +msgid "Amount" +msgstr "금액" + +#: src/js/services/bwsError.js +msgid "Amount below dust threshold" +msgstr "Amount below dust threshold" + +#: public/views/walletHome.html +#: public/views/modals/customized-amount.html +msgid "Amount in" +msgstr "Amount in" + +#: public/views/preferencesLanguage.html +msgid "Applying changes" +msgstr "변경 사항 적용 중" + +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +msgid "Are you sure you want to delete this wallet?" +msgstr "정말로 지갑을 삭제하시겠습니까?" + +#: public/views/walletHome.html +msgid "Available Balance" +msgstr "사용 가능한 잔액" + +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Average confirmation time: {{fee.nbBlocks * 10}} minutes" +msgstr "Average confirmation time: {{fee.nbBlocks * 10}} minutes" + +#: public/views/create.html +#: public/views/join.html +msgid "BIP32 master extended private key" +msgstr "BIP32 마스터확장비밀키" + +#: public/views/includes/topbar.html +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Back" +msgstr "뒤로" + +#: public/views/preferences.html +msgid "Backup" +msgstr "백업" + +#: src/js/controllers/backup.js +msgid "Backup created" +msgstr "백업 생성됨" + +#: public/views/walletHome.html +msgid "Backup now" +msgstr "지금 백업" + +#: public/views/backup.html +msgid "Backup options" +msgstr "백업 옵션" + +#: src/js/services/profileService.js +msgid "Bad wallet invitation" +msgstr "Bad wallet invitation" + +#: public/views/walletHome.html +msgid "Before receiving funds, it is highly recommended you backup your wallet keys." +msgstr "비트코인을 받기 전에 지갑의 키를 백업하길 강력히 권장합니다." + +#: public/views/preferences.html +msgid "Bitcoin Network Fee Policy" +msgstr "비트코인 네트워크 수수료 설정" + +#: public/views/paymentUri.html +msgid "Bitcoin URI is NOT valid!" +msgstr "비트코인 URI가 유효하지 않습니다!" + +#: public/views/walletHome.html +msgid "Bitcoin address" +msgstr "비트코인 주소" + +#: public/views/preferencesFee.html +msgid "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy." +msgstr "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy." + +#: public/views/modals/txp-details.html +msgid "Broadcast Payment" +msgstr "Broadcast Payment" + +#: src/js/controllers/walletHome.js +msgid "Broadcasting Payment" +msgstr "결제 전송 중" + +#: src/js/controllers/walletHome.js +msgid "Broadcasting transaction" +msgstr "Broadcasting transaction" + +#: public/views/unsupported.html +msgid "Browser unsupported" +msgstr "지원되지 않는 브라우저" + +#: public/views/modals/txp-details.html +msgid "But not broadcasted. Try to send manually" +msgstr "But not broadcasted. Try to send manually" + +#: public/views/includes/password.html +msgid "CANCEL" +msgstr "취소" + +#: public/views/copayers.html +#: public/views/walletHome.html +#: public/views/modals/confirmation.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Cancel" +msgstr "취소" + +#: src/js/services/profileService.js +msgid "Cannot join the same wallet more that once" +msgstr "Cannot join the same wallet more that once" + +#: public/views/modals/paypro.html +msgid "Certified by" +msgstr "Certified by" + +#: public/views/preferencesAlias.html +msgid "Changing wallet alias only affects the local wallet name." +msgstr "Changing wallet alias only affects the local wallet name." + +#: public/views/import.html +msgid "Choose a backup file from your computer" +msgstr "컴퓨터에서 백업 파일을 골라주세요" + +#: public/views/modals/wallets.html +msgid "Choose a wallet to send funds" +msgstr "돈을 보낼 지갑을 선택해주세요" + +#: public/views/includes/topbar.html +#: public/views/modals/advancedSend.html +#: public/views/modals/copayers.html +#: public/views/modals/customized-amount.html +#: public/views/modals/paypro.html +#: public/views/modals/scanner.html +#: public/views/modals/wallets.html +msgid "Close" +msgstr "닫기" + +#: public/views/preferences.html +msgid "Color" +msgstr "색상" + +#: public/views/preferencesAbout.html +msgid "Commit hash" +msgstr "커밋 해시" + +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Confirm" +msgstr "Confirm" + +#: public/views/modals/tx-details.html +msgid "Confirmations" +msgstr "승인횟수" + +#: src/js/services/bwsError.js +msgid "Copayer already in this wallet" +msgstr "Copayer already in this wallet" + +#: src/js/services/bwsError.js +msgid "Copayer already registered" +msgstr "Copayer already registered" + +#: src/js/services/bwsError.js +msgid "Copayer already voted on this spend proposal" +msgstr "Copayer already voted on this spend proposal" + +#: src/js/services/bwsError.js +msgid "Copayer data mismatch" +msgstr "Copayer data mismatch" + +#: public/views/modals/copayers.html +msgid "Copayers" +msgstr "Copayers" + +#: src/js/controllers/backup.js +#: src/js/controllers/copayers.js +#: src/js/controllers/walletHome.js +msgid "Copied to clipboard" +msgstr "Copied to clipboard" + +#: public/views/backup.html +msgid "Copy backup to a safe place" +msgstr "백업을 안전한 장소에 복사해주세요" + +#: public/views/backup.html +msgid "Copy this text as it is to a safe place (notepad or email)" +msgstr "이 텍스트를 있는 그대로 복사해두세요(메모장이나 이메일등으로)" + +#: public/views/backup.html +msgid "Copy to clipboard" +msgstr "클립보드에 복사" + +#: src/js/controllers/walletHome.js +msgid "Could not accept payment" +msgstr "Could not accept payment" + +#: src/js/controllers/index.js +msgid "Could not access Wallet Service: Not found" +msgstr "Could not access Wallet Service: Not found" + +#: src/js/controllers/walletHome.js +msgid "Could not broadcast payment" +msgstr "Could not broadcast payment" + +#: src/js/services/addressService.js +msgid "Could not create address" +msgstr "Could not create address" + +#: src/js/controllers/walletHome.js +msgid "Could not create payment proposal" +msgstr "Could not create payment proposal" + +#: src/js/services/profileService.js +msgid "Could not create using the specified extended private key" +msgstr "Could not create using the specified extended private key" + +#: src/js/controllers/import.js +msgid "Could not decrypt file, check your password" +msgstr "Could not decrypt file, check your password" + +#: src/js/controllers/walletHome.js +msgid "Could not delete payment proposal" +msgstr "Could not delete payment proposal" + +#: src/js/controllers/walletHome.js +msgid "Could not fetch payment information" +msgstr "Could not fetch payment information" + +#: public/views/walletHome.html +msgid "Could not fetch transaction history" +msgstr "거래내역을 가져올 수 없습니다" + +#: src/js/services/profileService.js +msgid "Could not import. Check input file and password" +msgstr "가져올 수 없습니다. 파일과 패스워드를 확인해 주세요" + +#: src/js/services/profileService.js +msgid "Could not join using the specified extended private key" +msgstr "Could not join using the specified extended private key" + +#: src/js/services/profileService.js +msgid "Could not join wallet" +msgstr "Could not join wallet" + +#: src/js/controllers/walletHome.js +msgid "Could not recognize a valid Bitcoin QR Code" +msgstr "유효한 비트코인 QR코드를 인식할 수 없었습니다" + +#: src/js/controllers/walletHome.js +msgid "Could not reject payment" +msgstr "Could not reject payment" + +#: src/js/controllers/walletHome.js +msgid "Could not send payment" +msgstr "Could not send payment" + +#: src/js/controllers/index.js +msgid "Could not update Wallet" +msgstr "지갑을 업데이트할 수 없습니다" + +#: public/views/walletHome.html +msgid "Create" +msgstr "작성" + +#: public/views/add.html +#: public/views/create.html +msgid "Create new wallet" +msgstr "새로운 지갑 만들기" + +#: public/views/create.html +msgid "Create {{requiredCopayers}}-of-{{totalCopayers}} wallet" +msgstr "{{requiredCopayers}}-of-{{totalCopayers}} 지갑 만들기" + +#: public/views/includes/sidebar.html +msgid "Create, join or import" +msgstr "만들기, 참가하기, 불러오기" + +#: public/views/modals/txp-details.html +msgid "Created by" +msgstr "작성자" + +#: public/views/splash.html +msgid "Creating Profile..." +msgstr "프로필 만드는 중.." + +#: public/views/create.html +msgid "Creating Wallet..." +msgstr "지갑 만드는 중..." + +#: src/js/controllers/walletHome.js +msgid "Creating transaction" +msgstr "Creating transaction" + +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB" +msgstr "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB" + +#: public/views/modals/tx-details.html +msgid "Date" +msgstr "날짜" + +#: public/views/modals/txp-details.html +msgid "Delete Payment Proposal" +msgstr "지불제안 삭제" + +#: public/views/preferencesAdvanced.html +msgid "Delete Wallet" +msgstr "지갑 삭제" + +#: public/views/copayers.html +msgid "Delete it and create a new one" +msgstr "이 지갑을 삭제하고 새로운 지갑 만들기" + +#: public/views/preferencesDeleteWallet.html +msgid "Delete wallet" +msgstr "지갑 삭제" + +#: src/js/controllers/walletHome.js +msgid "Deleting payment" +msgstr "Deleting payment" + +#: public/views/modals/customized-amount.html +#: public/views/modals/paypro.html +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Details" +msgstr "상세" + +#: public/views/preferences.html +msgid "Disabled" +msgstr "Disabled" + +#: public/views/backup.html +msgid "Do not include private key in backup" +msgstr "Do not include private key in backup" + +#: public/views/translators.html +msgid "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." +msgstr "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." + +#: public/views/walletHome.html +msgid "Download CSV file" +msgstr "CSV 파일 다운로드" + +#: public/views/backup.html +msgid "Download backup" +msgstr "백업 다운로드" + +#: src/js/services/feeService.js +msgid "Economy" +msgstr "Economy" + +#: public/views/preferences.html +msgid "Email Notifications" +msgstr "이메일 알림" + +#: public/views/preferences.html +msgid "Encrypt Private Key" +msgstr "비밀키 암호화" + +#: src/js/controllers/backup.js +msgid "Encrypted backup file saved" +msgstr "암호화된 백업파일이 저장됐습니다" + +#: public/views/includes/password.html +msgid "Enter your password" +msgstr "패스워드를 입력해주세요" + +#: src/js/controllers/index.js +msgid "Error at Wallet Service" +msgstr "Error at Wallet Service" + +#: src/js/services/profileService.js +msgid "Error creating wallet" +msgstr "지갑 생성 중 오류" + +#: src/js/services/profileService.js +msgid "Error importing wallet:" +msgstr "지갑 가져오는 중 오류" + +#: public/views/modals/paypro.html +#: public/views/modals/txp-details.html +msgid "Expires" +msgstr "Expires" + +#: public/views/backup.html +msgid "Failed to create backup" +msgstr "백업 생성 실패" + +#: src/js/controllers/importLegacy.js +msgid "Failed to import wallets" +msgstr "지갑 가져오기 실패" + +#: public/views/create.html +msgid "Family vacation funds" +msgstr "가족 휴가 자금" + +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Fee" +msgstr "수수료" + +#: public/views/modals/advancedSend.html +msgid "Fee Policy" +msgstr "Fee Policy" + +#: public/views/walletHome.html +msgid "Fee policy for this transaction" +msgstr "Fee policy for this transaction" + +#. Get information of payment if using Payment Protocol +#: src/js/controllers/walletHome.js +msgid "Fetching Payment Information" +msgstr "Fetching Payment Information" + +#: public/views/translators.html +msgid "French" +msgstr "French" + +#: src/js/services/bwsError.js +msgid "Funds are locked by pending spend proposals" +msgstr "Funds are locked by pending spend proposals" + +#: src/js/services/notificationsService.js +msgid "Funds received" +msgstr "Funds received" + +#: public/views/splash.html +msgid "GET STARTED" +msgstr "시작하기" + +#: public/views/modals/customized-amount.html +msgid "Generate QR Code" +msgstr "Generate QR Code" + +#: public/views/walletHome.html +msgid "Generate new address" +msgstr "새로운 주소 생성" + +#: public/views/walletHome.html +msgid "Generating .csv file..." +msgstr ".csv 파일 생성중..." + +#: public/views/translators.html +msgid "German" +msgstr "German" + +#: public/views/modals/wallets.html +msgid "Getting address for wallet {{selectedWalletName}} ..." +msgstr "'{{selectedWalletName}}' 지갑의 주소 얻는 중..." + +#: public/views/preferences.html +msgid "Global settings" +msgstr "전역 설정" + +#: public/views/disclaimer.html +msgid "Go back" +msgstr "뒤로 가기" + +#: public/views/translators.html +msgid "Greek" +msgstr "Greek" + +#: public/views/import.html +msgid "Have a Backup from Copay v0.9?" +msgstr "Copay v0.9용 백업을 가지고 계신가요?" + +#: public/views/backup.html +#: public/views/create.html +#: public/views/join.html +#: public/views/walletHome.html +msgid "Hide advanced options" +msgstr "Hide advanced options" + +#: src/js/controllers/index.js +msgid "History" +msgstr "내역" + +#: src/js/controllers/index.js +msgid "Home" +msgstr "홈" + +#: public/views/disclaimer.html +msgid "I affirm that I have read, understood, and agree with these terms." +msgstr "I affirm that I have read, understood, and agree with these terms." + +#: public/views/create.html +#: public/views/join.html +msgid "If not given, a secure key will be generated" +msgstr "If not given, a secure key will be generated" + +#: public/views/importLegacy.html +msgid "Import" +msgstr "가져오기" + +#: public/views/import.html +#: public/views/splash.html +msgid "Import backup" +msgstr "백업 가져오기" + +#: public/views/importLegacy.html +msgid "Import from the Cloud?" +msgstr "클라우드에서 가져올까요?" + +#: public/views/import.html +msgid "Import here" +msgstr "Import here" + +#: public/views/add.html +msgid "Import wallet" +msgstr "지갑 가져오기" + +#: public/views/import.html +msgid "Importing wallet..." +msgstr "지갑 가져오는 중..." + +#: public/views/importLegacy.html +msgid "Importing..." +msgstr "가져오는 중..." + +#: src/js/services/bwsError.js +msgid "Incorrect address network" +msgstr "Incorrect address network" + +#: src/js/services/bwsError.js +msgid "Insufficient funds" +msgstr "Insufficient funds" + +#: src/js/services/bwsError.js +msgid "Insufficient funds for fee" +msgstr "Insufficient funds for fee" + +#: public/views/walletHome.html +msgid "Invalid" +msgstr "Invalid" + +#: src/js/services/bwsError.js +msgid "Invalid address" +msgstr "Invalid address" + +#: src/js/controllers/copayers.js +msgid "Invitation to share a Copay Wallet" +msgstr "Invitation to share a Copay Wallet" + +#: public/views/translators.html +msgid "Italian" +msgstr "Italian" + +#: public/views/translators.html +msgid "Japanese" +msgstr "Japanese" + +#: public/views/create.html +#: public/views/join.html +msgid "John" +msgstr "John" + +#: public/views/join.html +msgid "Join" +msgstr "참가" + +#: src/js/controllers/copayers.js +msgid "Join my Copay wallet. Here is the invitation code: {{secret}} You can download Copay for your phone or desktop at https://copay.io" +msgstr "Join my Copay wallet. Here is the invitation code: {{secret}} You can download Copay for your phone or desktop at https://copay.io" + +#: public/views/add.html +msgid "Join shared wallet" +msgstr "공유지갑에 참가" + +#: public/views/join.html +msgid "Joining Wallet..." +msgstr "지갑에 참가하는 중..." + +#: public/views/preferences.html +msgid "Language" +msgstr "언어" + +#: public/views/importLegacy.html +msgid "Learn more about Wallet Migration" +msgstr "지갑 이동에 대해 더 알아보기" + +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to create a new spend proposal" +msgstr "Locktime in effect. Please wait to create a new spend proposal" + +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to remove this spend proposal" +msgstr "Locktime in effect. Please wait to remove this spend proposal" + +#: public/views/paymentUri.html +msgid "Make a payment to" +msgstr "Make a payment to" + +#: public/views/create.html +#: public/views/join.html +msgid "Master extended private key" +msgstr "Master extended private key" + +#: public/views/includes/copayers.html +#: public/views/modals/copayers.html +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Me" +msgstr "나" + +#: public/views/modals/paypro.html +msgid "Memo" +msgstr "메모" + +#: public/views/modals/tx-details.html +msgid "Merchant message" +msgstr "Merchant message" + +#: public/views/paymentUri.html +msgid "Message" +msgstr "메시지" + +#: public/views/walletHome.html +msgid "More" +msgstr "More" + +#: public/views/walletHome.html +msgid "Moved" +msgstr "Moved" + +#: public/views/walletHome.html +msgid "Multisignature wallet" +msgstr "다중서명 지갑" + +#: public/views/walletHome.html +msgid "My Bitcoin address" +msgstr "나의 비트코인 주소" + +#: public/views/paymentUri.html +msgid "Network" +msgstr "네트워크" + +#: src/js/services/bwsError.js +msgid "Network connection error" +msgstr "Network connection error" + +#: src/js/services/notificationsService.js +msgid "New Payment Proposal" +msgstr "새 지불제안" + +#: public/views/walletHome.html +msgid "No Private key" +msgstr "No Private key" + +#: public/views/walletHome.html +msgid "No transactions yet" +msgstr "No transactions yet" + +#: src/js/services/feeService.js +msgid "Normal" +msgstr "Normal" + +#: src/js/services/bwsError.js +msgid "Not authorized" +msgstr "Not authorized" + +#: public/views/walletHome.html +#: public/views/modals/customized-amount.html +msgid "Not valid" +msgstr "Not valid" + +#: public/views/walletHome.html +#: public/views/includes/output.html +#: public/views/modals/tx-details.html +msgid "Note" +msgstr "메모" + +#: public/views/includes/alert.html +#: public/views/includes/password.html +msgid "OK" +msgstr "OK" + +#: public/views/modals/tx-status.html +msgid "OKAY" +msgstr "OKAY" + +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Participants" +msgstr "참가자" + +#: public/views/import.html +#: public/views/importLegacy.html +msgid "Password" +msgstr "Password" + +#: public/views/includes/password.html +msgid "Password cannot be recovered. Be sure to write it down" +msgstr "Password cannot be recovered. Be sure to write it down" + +#: src/js/services/profileService.js +msgid "Password needed" +msgstr "비밀번호가 필요합니다" + +#: src/js/controllers/password.js +msgid "Passwords do not match" +msgstr "비밀번호가 일치하지 않습니다" + +#: public/views/join.html +msgid "Paste invitation here" +msgstr "Paste invitation here" + +#: public/views/import.html +msgid "Paste the backup plain text code" +msgstr "Paste the backup plain text code" + +#: public/views/modals/paypro.html +msgid "Pay To" +msgstr "Pay To" + +#: public/views/modals/tx-status.html +msgid "Payment Accepted" +msgstr "Payment Accepted" + +#: public/views/modals/txp-details.html +msgid "Payment Proposal" +msgstr "지불제안" + +#: public/views/modals/tx-status.html +msgid "Payment Proposal Created" +msgstr "Payment Proposal Created" + +#: src/js/services/notificationsService.js +msgid "Payment Proposal Rejected" +msgstr "Payment Proposal Rejected" + +#: src/js/services/notificationsService.js +msgid "Payment Proposal Rejected by Copayer" +msgstr "Payment Proposal Rejected by Copayer" + +#: src/js/services/notificationsService.js +msgid "Payment Proposal Signed by Copayer" +msgstr "Payment Proposal Signed by Copayer" + +#: public/views/walletHome.html +msgid "Payment Proposals" +msgstr "지불제안" + +#: src/js/controllers/walletHome.js +msgid "Payment Protocol not supported on Chrome App" +msgstr "Payment Protocol not supported on Chrome App" + +#: public/views/modals/tx-status.html +msgid "Payment Rejected" +msgstr "Payment Rejected" + +#: public/views/modals/tx-status.html +#: src/js/services/notificationsService.js +msgid "Payment Sent" +msgstr "Payment Sent" + +#: public/views/modals/txp-details.html +msgid "Payment accepted..." +msgstr "Payment accepted..." + +#: public/views/modals/txp-details.html +msgid "Payment details" +msgstr "Payment details" + +#: public/views/modals/txp-details.html +msgid "Payment finally rejected" +msgstr "Payment finally rejected" + +#: public/views/modals/paypro.html +msgid "Payment request" +msgstr "Payment request" + +#: public/views/modals/txp-details.html +msgid "Payment sent!" +msgstr "Payment sent!" + +#: public/views/walletHome.html +msgid "Payment to" +msgstr "Payment to" + +#: public/views/walletHome.html +msgid "Pending Confirmation" +msgstr "Pending Confirmation" + +#: public/views/preferencesDeleteWallet.html +msgid "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" +msgstr "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" + +#: public/views/create.html +msgid "Personal Wallet" +msgstr "Personal Wallet" + +#: src/js/controllers/create.js +#: src/js/controllers/join.js +msgid "Please enter the required fields" +msgstr "Please enter the required fields" + +#: src/js/services/bwsError.js +msgid "Please upgrade Copay to perform this action" +msgstr "Please upgrade Copay to perform this action" + +#: src/js/controllers/import.js +msgid "Please, select your backup file" +msgstr "Please, select your backup file" + +#: public/views/translators.html +msgid "Portuguese" +msgstr "Portuguese" + +#: public/views/walletHome.html +msgid "Preferences" +msgstr "Preferences" + +#: src/js/controllers/backup.js +msgid "Preparing backup..." +msgstr "Preparing backup..." + +#: src/js/services/feeService.js +msgid "Priority" +msgstr "Priority" + +#: public/views/modals/customized-amount.html +msgid "QR Code" +msgstr "QR코드" + +#: public/views/modals/scanner.html +msgid "QR-Scanner" +msgstr "QR스캐너" + +#: src/js/controllers/index.js +msgid "Receive" +msgstr "Receive" + +#: public/views/walletHome.html +msgid "Received" +msgstr "Received" + +#: public/views/includes/output.html +#: public/views/includes/transaction.html +msgid "Recipients" +msgstr "Recipients" + +#: public/views/walletHome.html +msgid "Reconnecting to Wallet Service..." +msgstr "Reconnecting to Wallet Service..." + +#: public/views/walletHome.html +msgid "Recreate" +msgstr "Recreate" + +#: public/views/walletHome.html +msgid "Recreating Wallet..." +msgstr "Recreating Wallet..." + +#: public/views/modals/txp-details.html +msgid "Reject" +msgstr "거절" + +#: src/js/controllers/walletHome.js +msgid "Rejecting payment" +msgstr "Rejecting payment" + +#: public/views/preferencesAbout.html +msgid "Release Information" +msgstr "Release Information" + +#: public/views/backup.html +#: public/views/includes/password.html +msgid "Repeat password" +msgstr "패스워드 다시 입력" + +#: public/views/walletHome.html +#: public/views/modals/customized-amount.html +msgid "Request a specific amount" +msgstr "Request a specific amount" + +#: public/views/import.html +#: public/views/join.html +msgid "Required" +msgstr "Required" + +#: public/views/splash.html +msgid "Retrying..." +msgstr "다시 시도 중..." + +#: public/views/translators.html +msgid "Russian" +msgstr "Russian" + +#: public/views/includes/password.html +msgid "SET" +msgstr "SET" + +#: public/views/walletHome.html +msgid "SKIP BACKUP" +msgstr "백업 건너뛰기" + +#: public/views/preferencesAlias.html +#: public/views/preferencesBwsUrl.html +#: public/views/preferencesEmail.html +msgid "Save" +msgstr "Save" + +#: public/views/preferencesEmail.html +msgid "Saving preferences..." +msgstr "Saving preferences..." + +#: src/js/services/notificationsService.js +msgid "Scan Finished" +msgstr "Scan Finished" + +#: public/views/preferencesAdvanced.html +msgid "Scan addresses for funds" +msgstr "Scan addresses for funds" + +#: public/views/walletHome.html +msgid "Scan status finished with error" +msgstr "Scan status finished with error" + +#: public/views/walletHome.html +msgid "Scanning Wallet funds..." +msgstr "Scanning Wallet funds..." + +#: public/views/modals/tx-details.html +msgid "See it on the blockchain" +msgstr "블록체인에서 보기" + +#: public/views/import.html +msgid "Select a backup file" +msgstr "백업 파일 선택" + +#: public/views/paymentUri.html +msgid "Select a wallet" +msgstr "Select a wallet" + +#: public/views/create.html +msgid "Select required number of signatures" +msgstr "Select required number of signatures" + +#: public/views/create.html +msgid "Select total number of copayers" +msgstr "Select total number of copayers" + +#: public/views/walletHome.html +#: public/views/includes/transaction.html +#: src/js/controllers/index.js +msgid "Send" +msgstr "Send" + +#: public/views/walletHome.html +msgid "Send All" +msgstr "Send All" + +#: public/views/backup.html +#: public/views/preferencesLogs.html +msgid "Send by email" +msgstr "Send by email" + +#: public/views/walletHome.html +msgid "Sent" +msgstr "Sent" + +#: public/views/importLegacy.html +msgid "Server" +msgstr "서버" + +#: public/views/preferencesAbout.html +msgid "Session log" +msgstr "세션 로그" + +#: public/views/backup.html +msgid "Set up a Password for your backup" +msgstr "백업을 위한 패스워드를 설정해주세요" + +#: public/views/includes/password.html +msgid "Set up a password" +msgstr "패스워드 설정" + +#: public/views/preferencesEmail.html +msgid "Setting up email notifications could weaken your privacy, if the wallet service provider is compromised. Information available to an attacker would include your wallet addresses and its balance, but no more." +msgstr "Setting up email notifications could weaken your privacy, if the wallet service provider is compromised. Information available to an attacker would include your wallet addresses and its balance, but no more." + +#: public/views/walletHome.html +msgid "Share address" +msgstr "Share address" + +#: public/views/copayers.html +msgid "Share invitation" +msgstr "Share invitation" + +#: public/views/copayers.html +msgid "Share this invitation with your copayers" +msgstr "Share this invitation with your copayers" + +#: public/views/walletHome.html +msgid "Share this wallet address to receive payments. To protect your privacy, new addresses are generated automatically once you use them." +msgstr "Share this wallet address to receive payments. To protect your privacy, new addresses are generated automatically once you use them." + +#: public/views/create.html +msgid "Shared Wallet" +msgstr "공유 지갑" + +#: public/views/backup.html +#: public/views/create.html +#: public/views/join.html +#: public/views/walletHome.html +msgid "Show advanced options" +msgstr "Show advanced options" + +#: src/js/services/bwsError.js +msgid "Signatures rejected by server" +msgstr "Signatures rejected by server" + +#: src/js/controllers/walletHome.js +msgid "Signing payment" +msgstr "Signing payment" + +#: src/js/controllers/walletHome.js +msgid "Signing transaction" +msgstr "Signing transaction" + +#: public/views/translators.html +msgid "Spanish" +msgstr "Spanish" + +#: src/js/services/bwsError.js +msgid "Spend proposal is not accepted" +msgstr "Spend proposal is not accepted" + +#: src/js/services/bwsError.js +msgid "Spend proposal not found" +msgstr "Spend proposal not found" + +#: src/js/controllers/copayers.js +#: src/js/controllers/import.js +#: src/js/controllers/preferencesDelete.js +msgid "Success" +msgstr "성공" + +#: public/views/walletHome.html +msgid "Tap to retry" +msgstr "Tap to retry" + +#: public/views/disclaimer.html +#: public/views/preferencesAbout.html +msgid "Terms of Use" +msgstr "이용약관" + +#: public/views/create.html +msgid "Testnet" +msgstr "Testnet" + +#: src/js/controllers/walletHome.js +msgid "The payment was created but could not be completed. Please try again from home screen" +msgstr "The payment was created but could not be completed. Please try again from home screen" + +#: src/js/controllers/walletHome.js +msgid "The payment was created but could not be signed. Please try again from home screen" +msgstr "The payment was created but could not be signed. Please try again from home screen" + +#: public/views/modals/txp-details.html +msgid "The payment was removed by creator" +msgstr "The payment was removed by creator" + +#: src/js/controllers/walletHome.js +msgid "The payment was signed but could not be broadcasted. Please try again from home screen" +msgstr "The payment was signed but could not be broadcasted. Please try again from home screen" + +#: public/views/backup.html +msgid "The private key for this wallet is encrypted. Exporting a backup will keep the private key encrypted in the backup archive." +msgstr "The private key for this wallet is encrypted. Exporting a backup will keep the private key encrypted in the backup archive." + +#: public/views/disclaimer.html +msgid "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." +msgstr "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." + +#: src/js/services/bwsError.js +msgid "The spend proposal is not pending" +msgstr "The spend proposal is not pending" + +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +msgid "The wallet \"{{walletName}}\" was deleted" +msgstr "The wallet \"{{walletName}}\" was deleted" + +#: public/views/paymentUri.html +msgid "There are no wallets to make this payment" +msgstr "There are no wallets to make this payment" + +#: src/js/controllers/import.js +msgid "There is an error in the form" +msgstr "There is an error in the form" + +#: public/views/modals/tx-details.html +msgid "This transaction has become invalid; possibly due to a double spend attempt." +msgstr "This transaction has become invalid; possibly due to a double spend attempt." + +#: public/views/walletHome.html +msgid "This wallet is not registered at the given Bitcore Wallet Service (BWS). You can recreate it from the local information." +msgstr "This wallet is not registered at the given Bitcore Wallet Service (BWS). You can recreate it from the local information." + +#: public/views/modals/txp-details.html +msgid "Time" +msgstr "시간" + +#: public/views/walletHome.html +#: public/views/includes/output.html +#: public/views/includes/transaction.html +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "To" +msgstr "To" + +#: public/views/includes/output.html +msgid "Total" +msgstr "Total" + +#: public/views/walletHome.html +msgid "Total Locked Balance" +msgstr "Total Locked Balance" + +#: public/views/modals/tx-details.html +msgid "Transaction" +msgstr "Transaction" + +#: src/js/services/bwsError.js +msgid "Transaction already broadcasted" +msgstr "Transaction already broadcasted" + +#: public/views/translators.html +msgid "Translation Credits" +msgstr "Translation Credits" + +#: public/views/preferencesAbout.html +msgid "Translators" +msgstr "Translators" + +#: src/js/controllers/walletHome.js +msgid "Unable to send transaction proposal" +msgstr "Unable to send transaction proposal" + +#: public/views/walletHome.html +#: public/views/modals/tx-details.html +msgid "Unconfirmed" +msgstr "Unconfirmed" + +#: public/views/preferences.html +msgid "Unit" +msgstr "단위" + +#: public/views/walletHome.html +msgid "Unsent transactions" +msgstr "Unsent transactions" + +#: public/views/modals/paypro.html +msgid "Untrusted" +msgstr "Untrusted" + +#: public/views/walletHome.html +msgid "Updating Wallet..." +msgstr "Updating Wallet..." + +#: public/views/preferences.html +#: public/views/walletHome.html +msgid "Use Unconfirmed Funds" +msgstr "Use Unconfirmed Funds" + +#: public/views/preferencesAbout.html +msgid "Version" +msgstr "버전" + +#: public/views/backup.html +msgid "View backup" +msgstr "백업 보기" + +#: public/views/walletHome.html +msgid "WARNING: Backup needed" +msgstr "경고: 백업이 필요합니다" + +#: public/views/walletHome.html +msgid "WARNING: Wallet not registered" +msgstr "WARNING: Wallet not registered" + +#: public/views/splash.html +msgid "WELCOME TO COPAY" +msgstr "WELCOME TO COPAY" + +#: public/views/copayers.html +msgid "Waiting for copayers" +msgstr "Waiting for copayers" + +#: public/views/copayers.html +msgid "Waiting..." +msgstr "대기 중..." + +#: public/views/preferences.html +msgid "Wallet Alias" +msgstr "지갑 별명" + +#: src/js/services/profileService.js +msgid "Wallet Already Imported:" +msgstr "이미 가져온 지갑:" + +#: public/views/join.html +msgid "Wallet Invitation" +msgstr "지갑 초대" + +#: public/views/join.html +msgid "Wallet Invitation is not valid!" +msgstr "지갑 초대가 유효하지 않습니다!" + +#: src/js/services/bwsError.js +#: src/js/services/profileService.js +msgid "Wallet already exists" +msgstr "이미 존재하는 지갑입니다" + +#: public/views/copayers.html +msgid "Wallet incomplete and broken" +msgstr "Wallet incomplete and broken" + +#: src/js/services/bwsError.js +msgid "Wallet is full" +msgstr "Wallet is full" + +#: src/js/services/bwsError.js +msgid "Wallet is not complete" +msgstr "Wallet is not complete" + +#: public/views/create.html +msgid "Wallet name" +msgstr "지갑 이름" + +#: src/js/services/bwsError.js +msgid "Wallet not found" +msgstr "Wallet not found" + +#: src/js/services/bwsError.js +msgid "Wallet service not found" +msgstr "Wallet service not found" + +#: public/views/preferencesDeleteWallet.html +msgid "Warning!" +msgstr "경고!" + +#: public/views/modals/txp-details.html +msgid "Warning: this transaction has unconfirmed inputs" +msgstr "Warning: this transaction has unconfirmed inputs" + +#: src/js/services/profileService.js +msgid "Wrong password" +msgstr "잘못된 비밀번호" + +#: public/views/modals/confirmation.html +msgid "Yes" +msgstr "Yes" + +#: public/views/walletHome.html +msgid "You do not have a wallet" +msgstr "지갑이 없습니다" + +#: public/views/backup.html +#: public/views/import.html +msgid "Your backup password" +msgstr "백업 패스워드" + +#: public/views/create.html +#: public/views/join.html +msgid "Your nickname" +msgstr "당신의 닉네임" + +#: public/views/includes/password.html +msgid "Your password" +msgstr "당신의 비밀번호" + +#: public/views/importLegacy.html +msgid "Your profile password" +msgstr "프로필 패스워드" + +#: src/js/controllers/import.js +msgid "Your wallet has been imported correctly" +msgstr "지갑을 정상적으로 가져왔습니다" + +#: public/views/preferencesEmail.html +msgid "email for wallet notifications" +msgstr "지갑 알림을 위한 이메일" + +#: public/views/walletHome.html +msgid "locked by pending payments" +msgstr "locked by pending payments" + +#: public/views/copayers.html +#: public/views/walletHome.html +#: public/views/includes/sidebar.html +msgid "of" +msgstr "of" + +#: public/views/walletHome.html +msgid "optional" +msgstr "선택사항" + +#: public/views/preferences.html +msgid "settings" +msgstr "설정" + +#: public/views/walletHome.html +msgid "too long!" +msgstr "너무 깁니다!" + +#: src/js/controllers/walletHome.js +msgid "{{fee}} will be discounted for bitcoin networking fees" +msgstr "{{fee}} will be discounted for bitcoin networking fees" + +#: src/js/controllers/importLegacy.js +msgid "{{len}} wallets imported. Funds scanning in progress. Hold on to see updated balance" +msgstr "{{len}} 개의 지갑을 가져왔습니다. 잔액을 조회하고 있습니다. 갱신된 잔액을 확인하려면 기다려 주세요" + diff --git a/i18n/po/nl.po b/i18n/po/nl.po new file mode 100644 index 000000000..e536677f7 --- /dev/null +++ b/i18n/po/nl.po @@ -0,0 +1,1414 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Project-Id-Version: copay\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: copay\n" +"X-Crowdin-Language: nl\n" +"X-Crowdin-File: template.pot\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Last-Translator: cmgustavo83\n" +"Language-Team: Dutch\n" +"Language: nl\n" +"PO-Revision-Date: 2015-08-13 09:15-0400\n" + +#: public/views/walletHome.html +msgid "(possible double spend)" +msgstr "(mogelijk dubbel besteed)" + +#: public/views/modals/txp-details.html +msgid "* A payment proposal can be deleted if 1) you are the creator, and no other copayer has signed, or 2) 24 hours have passed since the proposal was created." +msgstr "* Een betalingsvoorstel kan worden verwijderd als 1) u de aanmaker bent, en geen andere medebetaler heeft ondertekend, of 2) 24 uur zijn verstreken sinds het voorstel werd aangemaakt." + +#: public/views/backup.html +msgid "* You can safely install your backup on another device and use your wallet from multiple devices at the same time." +msgstr "* U kunt veilig uw back-up op een ander apparaat installeren en gebruik maken van uw portefeuille op meerdere apparaten op hetzelfde moment." + +#: public/views/backup.html +msgid "A backup without its private key will allow the user to see the wallet balance, transactions, and create spend proposals. However, it will not be able to approve (sign) proposals." +msgstr "A backup without its private key will allow the user to see the wallet balance, transactions, and create spend proposals. However, it will not be able to approve (sign) proposals." + +#: public/views/splash.html +msgid "A multisignature bitcoin wallet" +msgstr "A multisignature bitcoin wallet" + +#: public/views/preferences.html +msgid "About Copay" +msgstr "About Copay" + +#: public/views/modals/txp-details.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Accept" +msgstr "Accept" + +#: public/views/includes/sidebar.html +msgid "Add wallet" +msgstr "Add wallet" + +#: public/views/paymentUri.html +#: public/views/modals/customized-amount.html +#: public/views/modals/paypro.html +msgid "Address" +msgstr "Address" + +#: public/views/preferences.html +msgid "Advanced" +msgstr "Advanced" + +#: public/views/modals/advancedSend.html +msgid "Advanced Send" +msgstr "Advanced Send" + +#: public/views/disclaimer.html +msgid "Agree" +msgstr "Agree" + +#: public/views/preferencesAlias.html +msgid "Alias for {{index.walletName}}" +msgstr "Alias for {{index.walletName}}" + +#: public/views/translators.html +msgid "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at" +msgstr "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at" + +#: public/views/splash.html +msgid "Already have a wallet?" +msgstr "Already have a wallet?" + +#: public/views/preferences.html +msgid "Alternative Currency" +msgstr "Alternative Currency" + +#: public/views/paymentUri.html +#: public/views/walletHome.html +#: public/views/includes/output.html +#: public/views/modals/customized-amount.html +msgid "Amount" +msgstr "Amount" + +#: src/js/services/bwsError.js +msgid "Amount below dust threshold" +msgstr "Amount below dust threshold" + +#: public/views/walletHome.html +#: public/views/modals/customized-amount.html +msgid "Amount in" +msgstr "Amount in" + +#: public/views/preferencesLanguage.html +msgid "Applying changes" +msgstr "Applying changes" + +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +msgid "Are you sure you want to delete this wallet?" +msgstr "Are you sure you want to delete this wallet?" + +#: public/views/walletHome.html +msgid "Available Balance" +msgstr "Available Balance" + +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Average confirmation time: {{fee.nbBlocks * 10}} minutes" +msgstr "Average confirmation time: {{fee.nbBlocks * 10}} minutes" + +#: public/views/create.html +#: public/views/join.html +msgid "BIP32 master extended private key" +msgstr "BIP32 master extended private key" + +#: public/views/includes/topbar.html +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Back" +msgstr "Back" + +#: public/views/preferences.html +msgid "Backup" +msgstr "Backup" + +#: src/js/controllers/backup.js +msgid "Backup created" +msgstr "Backup created" + +#: public/views/walletHome.html +msgid "Backup now" +msgstr "Backup now" + +#: public/views/backup.html +msgid "Backup options" +msgstr "Backup options" + +#: src/js/services/profileService.js +msgid "Bad wallet invitation" +msgstr "Bad wallet invitation" + +#: public/views/walletHome.html +msgid "Before receiving funds, it is highly recommended you backup your wallet keys." +msgstr "Before receiving funds, it is highly recommended you backup your wallet keys." + +#: public/views/preferences.html +msgid "Bitcoin Network Fee Policy" +msgstr "Bitcoin Network Fee Policy" + +#: public/views/paymentUri.html +msgid "Bitcoin URI is NOT valid!" +msgstr "Bitcoin URI is NOT valid!" + +#: public/views/walletHome.html +msgid "Bitcoin address" +msgstr "Bitcoin address" + +#: public/views/preferencesFee.html +msgid "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy." +msgstr "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy." + +#: public/views/modals/txp-details.html +msgid "Broadcast Payment" +msgstr "Broadcast Payment" + +#: src/js/controllers/walletHome.js +msgid "Broadcasting Payment" +msgstr "Broadcasting Payment" + +#: src/js/controllers/walletHome.js +msgid "Broadcasting transaction" +msgstr "Broadcasting transaction" + +#: public/views/unsupported.html +msgid "Browser unsupported" +msgstr "Browser unsupported" + +#: public/views/modals/txp-details.html +msgid "But not broadcasted. Try to send manually" +msgstr "But not broadcasted. Try to send manually" + +#: public/views/includes/password.html +msgid "CANCEL" +msgstr "CANCEL" + +#: public/views/copayers.html +#: public/views/walletHome.html +#: public/views/modals/confirmation.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Cancel" +msgstr "Cancel" + +#: src/js/services/profileService.js +msgid "Cannot join the same wallet more that once" +msgstr "Cannot join the same wallet more that once" + +#: public/views/modals/paypro.html +msgid "Certified by" +msgstr "Certified by" + +#: public/views/preferencesAlias.html +msgid "Changing wallet alias only affects the local wallet name." +msgstr "Changing wallet alias only affects the local wallet name." + +#: public/views/import.html +msgid "Choose a backup file from your computer" +msgstr "Choose a backup file from your computer" + +#: public/views/modals/wallets.html +msgid "Choose a wallet to send funds" +msgstr "Choose a wallet to send funds" + +#: public/views/includes/topbar.html +#: public/views/modals/advancedSend.html +#: public/views/modals/copayers.html +#: public/views/modals/customized-amount.html +#: public/views/modals/paypro.html +#: public/views/modals/scanner.html +#: public/views/modals/wallets.html +msgid "Close" +msgstr "Close" + +#: public/views/preferences.html +msgid "Color" +msgstr "Color" + +#: public/views/preferencesAbout.html +msgid "Commit hash" +msgstr "Commit hash" + +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Confirm" +msgstr "Confirm" + +#: public/views/modals/tx-details.html +msgid "Confirmations" +msgstr "Confirmations" + +#: src/js/services/bwsError.js +msgid "Copayer already in this wallet" +msgstr "Copayer already in this wallet" + +#: src/js/services/bwsError.js +msgid "Copayer already registered" +msgstr "Copayer already registered" + +#: src/js/services/bwsError.js +msgid "Copayer already voted on this spend proposal" +msgstr "Copayer already voted on this spend proposal" + +#: src/js/services/bwsError.js +msgid "Copayer data mismatch" +msgstr "Copayer data mismatch" + +#: public/views/modals/copayers.html +msgid "Copayers" +msgstr "Copayers" + +#: src/js/controllers/backup.js +#: src/js/controllers/copayers.js +#: src/js/controllers/walletHome.js +msgid "Copied to clipboard" +msgstr "Copied to clipboard" + +#: public/views/backup.html +msgid "Copy backup to a safe place" +msgstr "Copy backup to a safe place" + +#: public/views/backup.html +msgid "Copy this text as it is to a safe place (notepad or email)" +msgstr "Copy this text as it is to a safe place (notepad or email)" + +#: public/views/backup.html +msgid "Copy to clipboard" +msgstr "Copy to clipboard" + +#: src/js/controllers/walletHome.js +msgid "Could not accept payment" +msgstr "Could not accept payment" + +#: src/js/controllers/index.js +msgid "Could not access Wallet Service: Not found" +msgstr "Could not access Wallet Service: Not found" + +#: src/js/controllers/walletHome.js +msgid "Could not broadcast payment" +msgstr "Could not broadcast payment" + +#: src/js/services/addressService.js +msgid "Could not create address" +msgstr "Could not create address" + +#: src/js/controllers/walletHome.js +msgid "Could not create payment proposal" +msgstr "Could not create payment proposal" + +#: src/js/services/profileService.js +msgid "Could not create using the specified extended private key" +msgstr "Could not create using the specified extended private key" + +#: src/js/controllers/import.js +msgid "Could not decrypt file, check your password" +msgstr "Could not decrypt file, check your password" + +#: src/js/controllers/walletHome.js +msgid "Could not delete payment proposal" +msgstr "Could not delete payment proposal" + +#: src/js/controllers/walletHome.js +msgid "Could not fetch payment information" +msgstr "Could not fetch payment information" + +#: public/views/walletHome.html +msgid "Could not fetch transaction history" +msgstr "Could not fetch transaction history" + +#: src/js/services/profileService.js +msgid "Could not import. Check input file and password" +msgstr "Could not import. Check input file and password" + +#: src/js/services/profileService.js +msgid "Could not join using the specified extended private key" +msgstr "Could not join using the specified extended private key" + +#: src/js/services/profileService.js +msgid "Could not join wallet" +msgstr "Could not join wallet" + +#: src/js/controllers/walletHome.js +msgid "Could not recognize a valid Bitcoin QR Code" +msgstr "Could not recognize a valid Bitcoin QR Code" + +#: src/js/controllers/walletHome.js +msgid "Could not reject payment" +msgstr "Could not reject payment" + +#: src/js/controllers/walletHome.js +msgid "Could not send payment" +msgstr "Could not send payment" + +#: src/js/controllers/index.js +msgid "Could not update Wallet" +msgstr "Could not update Wallet" + +#: public/views/walletHome.html +msgid "Create" +msgstr "Create" + +#: public/views/add.html +#: public/views/create.html +msgid "Create new wallet" +msgstr "Create new wallet" + +#: public/views/create.html +msgid "Create {{requiredCopayers}}-of-{{totalCopayers}} wallet" +msgstr "Create {{requiredCopayers}}-of-{{totalCopayers}} wallet" + +#: public/views/includes/sidebar.html +msgid "Create, join or import" +msgstr "Create, join or import" + +#: public/views/modals/txp-details.html +msgid "Created by" +msgstr "Created by" + +#: public/views/splash.html +msgid "Creating Profile..." +msgstr "Creating Profile..." + +#: public/views/create.html +msgid "Creating Wallet..." +msgstr "Creating Wallet..." + +#: src/js/controllers/walletHome.js +msgid "Creating transaction" +msgstr "Creating transaction" + +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB" +msgstr "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB" + +#: public/views/modals/tx-details.html +msgid "Date" +msgstr "Date" + +#: public/views/modals/txp-details.html +msgid "Delete Payment Proposal" +msgstr "Delete Payment Proposal" + +#: public/views/preferencesAdvanced.html +msgid "Delete Wallet" +msgstr "Delete Wallet" + +#: public/views/copayers.html +msgid "Delete it and create a new one" +msgstr "Delete it and create a new one" + +#: public/views/preferencesDeleteWallet.html +msgid "Delete wallet" +msgstr "Delete wallet" + +#: src/js/controllers/walletHome.js +msgid "Deleting payment" +msgstr "Deleting payment" + +#: public/views/modals/customized-amount.html +#: public/views/modals/paypro.html +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Details" +msgstr "Details" + +#: public/views/preferences.html +msgid "Disabled" +msgstr "Disabled" + +#: public/views/backup.html +msgid "Do not include private key in backup" +msgstr "Do not include private key in backup" + +#: public/views/translators.html +msgid "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." +msgstr "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." + +#: public/views/walletHome.html +msgid "Download CSV file" +msgstr "Download CSV file" + +#: public/views/backup.html +msgid "Download backup" +msgstr "Download backup" + +#: src/js/services/feeService.js +msgid "Economy" +msgstr "Economy" + +#: public/views/preferences.html +msgid "Email Notifications" +msgstr "Email Notifications" + +#: public/views/preferences.html +msgid "Encrypt Private Key" +msgstr "Encrypt Private Key" + +#: src/js/controllers/backup.js +msgid "Encrypted backup file saved" +msgstr "Encrypted backup file saved" + +#: public/views/includes/password.html +msgid "Enter your password" +msgstr "Enter your password" + +#: src/js/controllers/index.js +msgid "Error at Wallet Service" +msgstr "Error at Wallet Service" + +#: src/js/services/profileService.js +msgid "Error creating wallet" +msgstr "Error creating wallet" + +#: src/js/services/profileService.js +msgid "Error importing wallet:" +msgstr "Error importing wallet:" + +#: public/views/modals/paypro.html +#: public/views/modals/txp-details.html +msgid "Expires" +msgstr "Expires" + +#: public/views/backup.html +msgid "Failed to create backup" +msgstr "Failed to create backup" + +#: src/js/controllers/importLegacy.js +msgid "Failed to import wallets" +msgstr "Failed to import wallets" + +#: public/views/create.html +msgid "Family vacation funds" +msgstr "Family vacation funds" + +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Fee" +msgstr "Fee" + +#: public/views/modals/advancedSend.html +msgid "Fee Policy" +msgstr "Fee Policy" + +#: public/views/walletHome.html +msgid "Fee policy for this transaction" +msgstr "Fee policy for this transaction" + +#. Get information of payment if using Payment Protocol +#: src/js/controllers/walletHome.js +msgid "Fetching Payment Information" +msgstr "Fetching Payment Information" + +#: public/views/translators.html +msgid "French" +msgstr "French" + +#: src/js/services/bwsError.js +msgid "Funds are locked by pending spend proposals" +msgstr "Funds are locked by pending spend proposals" + +#: src/js/services/notificationsService.js +msgid "Funds received" +msgstr "Funds received" + +#: public/views/splash.html +msgid "GET STARTED" +msgstr "GET STARTED" + +#: public/views/modals/customized-amount.html +msgid "Generate QR Code" +msgstr "Generate QR Code" + +#: public/views/walletHome.html +msgid "Generate new address" +msgstr "Generate new address" + +#: public/views/walletHome.html +msgid "Generating .csv file..." +msgstr "Generating .csv file..." + +#: public/views/translators.html +msgid "German" +msgstr "German" + +#: public/views/modals/wallets.html +msgid "Getting address for wallet {{selectedWalletName}} ..." +msgstr "Getting address for wallet {{selectedWalletName}} ..." + +#: public/views/preferences.html +msgid "Global settings" +msgstr "Global settings" + +#: public/views/disclaimer.html +msgid "Go back" +msgstr "Go back" + +#: public/views/translators.html +msgid "Greek" +msgstr "Greek" + +#: public/views/import.html +msgid "Have a Backup from Copay v0.9?" +msgstr "Have a Backup from Copay v0.9?" + +#: public/views/backup.html +#: public/views/create.html +#: public/views/join.html +#: public/views/walletHome.html +msgid "Hide advanced options" +msgstr "Hide advanced options" + +#: src/js/controllers/index.js +msgid "History" +msgstr "History" + +#: src/js/controllers/index.js +msgid "Home" +msgstr "Home" + +#: public/views/disclaimer.html +msgid "I affirm that I have read, understood, and agree with these terms." +msgstr "I affirm that I have read, understood, and agree with these terms." + +#: public/views/create.html +#: public/views/join.html +msgid "If not given, a secure key will be generated" +msgstr "If not given, a secure key will be generated" + +#: public/views/importLegacy.html +msgid "Import" +msgstr "Import" + +#: public/views/import.html +#: public/views/splash.html +msgid "Import backup" +msgstr "Import backup" + +#: public/views/importLegacy.html +msgid "Import from the Cloud?" +msgstr "Import from the Cloud?" + +#: public/views/import.html +msgid "Import here" +msgstr "Import here" + +#: public/views/add.html +msgid "Import wallet" +msgstr "Import wallet" + +#: public/views/import.html +msgid "Importing wallet..." +msgstr "Importing wallet..." + +#: public/views/importLegacy.html +msgid "Importing..." +msgstr "Importing..." + +#: src/js/services/bwsError.js +msgid "Incorrect address network" +msgstr "Incorrect address network" + +#: src/js/services/bwsError.js +msgid "Insufficient funds" +msgstr "Insufficient funds" + +#: src/js/services/bwsError.js +msgid "Insufficient funds for fee" +msgstr "Insufficient funds for fee" + +#: public/views/walletHome.html +msgid "Invalid" +msgstr "Invalid" + +#: src/js/services/bwsError.js +msgid "Invalid address" +msgstr "Invalid address" + +#: src/js/controllers/copayers.js +msgid "Invitation to share a Copay Wallet" +msgstr "Invitation to share a Copay Wallet" + +#: public/views/translators.html +msgid "Italian" +msgstr "Italian" + +#: public/views/translators.html +msgid "Japanese" +msgstr "Japanese" + +#: public/views/create.html +#: public/views/join.html +msgid "John" +msgstr "John" + +#: public/views/join.html +msgid "Join" +msgstr "Join" + +#: src/js/controllers/copayers.js +msgid "Join my Copay wallet. Here is the invitation code: {{secret}} You can download Copay for your phone or desktop at https://copay.io" +msgstr "Join my Copay wallet. Here is the invitation code: {{secret}} You can download Copay for your phone or desktop at https://copay.io" + +#: public/views/add.html +msgid "Join shared wallet" +msgstr "Join shared wallet" + +#: public/views/join.html +msgid "Joining Wallet..." +msgstr "Joining Wallet..." + +#: public/views/preferences.html +msgid "Language" +msgstr "Language" + +#: public/views/importLegacy.html +msgid "Learn more about Wallet Migration" +msgstr "Learn more about Wallet Migration" + +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to create a new spend proposal" +msgstr "Locktime in effect. Please wait to create a new spend proposal" + +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to remove this spend proposal" +msgstr "Locktime in effect. Please wait to remove this spend proposal" + +#: public/views/paymentUri.html +msgid "Make a payment to" +msgstr "Make a payment to" + +#: public/views/create.html +#: public/views/join.html +msgid "Master extended private key" +msgstr "Master extended private key" + +#: public/views/includes/copayers.html +#: public/views/modals/copayers.html +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Me" +msgstr "Me" + +#: public/views/modals/paypro.html +msgid "Memo" +msgstr "Memo" + +#: public/views/modals/tx-details.html +msgid "Merchant message" +msgstr "Merchant message" + +#: public/views/paymentUri.html +msgid "Message" +msgstr "Message" + +#: public/views/walletHome.html +msgid "More" +msgstr "More" + +#: public/views/walletHome.html +msgid "Moved" +msgstr "Moved" + +#: public/views/walletHome.html +msgid "Multisignature wallet" +msgstr "Multisignature wallet" + +#: public/views/walletHome.html +msgid "My Bitcoin address" +msgstr "My Bitcoin address" + +#: public/views/paymentUri.html +msgid "Network" +msgstr "Network" + +#: src/js/services/bwsError.js +msgid "Network connection error" +msgstr "Network connection error" + +#: src/js/services/notificationsService.js +msgid "New Payment Proposal" +msgstr "New Payment Proposal" + +#: public/views/walletHome.html +msgid "No Private key" +msgstr "No Private key" + +#: public/views/walletHome.html +msgid "No transactions yet" +msgstr "No transactions yet" + +#: src/js/services/feeService.js +msgid "Normal" +msgstr "Normal" + +#: src/js/services/bwsError.js +msgid "Not authorized" +msgstr "Not authorized" + +#: public/views/walletHome.html +#: public/views/modals/customized-amount.html +msgid "Not valid" +msgstr "Not valid" + +#: public/views/walletHome.html +#: public/views/includes/output.html +#: public/views/modals/tx-details.html +msgid "Note" +msgstr "Note" + +#: public/views/includes/alert.html +#: public/views/includes/password.html +msgid "OK" +msgstr "OK" + +#: public/views/modals/tx-status.html +msgid "OKAY" +msgstr "OKAY" + +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Participants" +msgstr "Participants" + +#: public/views/import.html +#: public/views/importLegacy.html +msgid "Password" +msgstr "Password" + +#: public/views/includes/password.html +msgid "Password cannot be recovered. Be sure to write it down" +msgstr "Password cannot be recovered. Be sure to write it down" + +#: src/js/services/profileService.js +msgid "Password needed" +msgstr "Password needed" + +#: src/js/controllers/password.js +msgid "Passwords do not match" +msgstr "Passwords do not match" + +#: public/views/join.html +msgid "Paste invitation here" +msgstr "Paste invitation here" + +#: public/views/import.html +msgid "Paste the backup plain text code" +msgstr "Paste the backup plain text code" + +#: public/views/modals/paypro.html +msgid "Pay To" +msgstr "Pay To" + +#: public/views/modals/tx-status.html +msgid "Payment Accepted" +msgstr "Payment Accepted" + +#: public/views/modals/txp-details.html +msgid "Payment Proposal" +msgstr "Payment Proposal" + +#: public/views/modals/tx-status.html +msgid "Payment Proposal Created" +msgstr "Payment Proposal Created" + +#: src/js/services/notificationsService.js +msgid "Payment Proposal Rejected" +msgstr "Payment Proposal Rejected" + +#: src/js/services/notificationsService.js +msgid "Payment Proposal Rejected by Copayer" +msgstr "Payment Proposal Rejected by Copayer" + +#: src/js/services/notificationsService.js +msgid "Payment Proposal Signed by Copayer" +msgstr "Payment Proposal Signed by Copayer" + +#: public/views/walletHome.html +msgid "Payment Proposals" +msgstr "Payment Proposals" + +#: src/js/controllers/walletHome.js +msgid "Payment Protocol not supported on Chrome App" +msgstr "Payment Protocol not supported on Chrome App" + +#: public/views/modals/tx-status.html +msgid "Payment Rejected" +msgstr "Payment Rejected" + +#: public/views/modals/tx-status.html +#: src/js/services/notificationsService.js +msgid "Payment Sent" +msgstr "Payment Sent" + +#: public/views/modals/txp-details.html +msgid "Payment accepted..." +msgstr "Payment accepted..." + +#: public/views/modals/txp-details.html +msgid "Payment details" +msgstr "Payment details" + +#: public/views/modals/txp-details.html +msgid "Payment finally rejected" +msgstr "Payment finally rejected" + +#: public/views/modals/paypro.html +msgid "Payment request" +msgstr "Payment request" + +#: public/views/modals/txp-details.html +msgid "Payment sent!" +msgstr "Payment sent!" + +#: public/views/walletHome.html +msgid "Payment to" +msgstr "Payment to" + +#: public/views/walletHome.html +msgid "Pending Confirmation" +msgstr "Pending Confirmation" + +#: public/views/preferencesDeleteWallet.html +msgid "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" +msgstr "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" + +#: public/views/create.html +msgid "Personal Wallet" +msgstr "Personal Wallet" + +#: src/js/controllers/create.js +#: src/js/controllers/join.js +msgid "Please enter the required fields" +msgstr "Please enter the required fields" + +#: src/js/services/bwsError.js +msgid "Please upgrade Copay to perform this action" +msgstr "Please upgrade Copay to perform this action" + +#: src/js/controllers/import.js +msgid "Please, select your backup file" +msgstr "Please, select your backup file" + +#: public/views/translators.html +msgid "Portuguese" +msgstr "Portuguese" + +#: public/views/walletHome.html +msgid "Preferences" +msgstr "Preferences" + +#: src/js/controllers/backup.js +msgid "Preparing backup..." +msgstr "Preparing backup..." + +#: src/js/services/feeService.js +msgid "Priority" +msgstr "Priority" + +#: public/views/modals/customized-amount.html +msgid "QR Code" +msgstr "QR Code" + +#: public/views/modals/scanner.html +msgid "QR-Scanner" +msgstr "QR-Scanner" + +#: src/js/controllers/index.js +msgid "Receive" +msgstr "Receive" + +#: public/views/walletHome.html +msgid "Received" +msgstr "Received" + +#: public/views/includes/output.html +#: public/views/includes/transaction.html +msgid "Recipients" +msgstr "Recipients" + +#: public/views/walletHome.html +msgid "Reconnecting to Wallet Service..." +msgstr "Reconnecting to Wallet Service..." + +#: public/views/walletHome.html +msgid "Recreate" +msgstr "Recreate" + +#: public/views/walletHome.html +msgid "Recreating Wallet..." +msgstr "Recreating Wallet..." + +#: public/views/modals/txp-details.html +msgid "Reject" +msgstr "Reject" + +#: src/js/controllers/walletHome.js +msgid "Rejecting payment" +msgstr "Rejecting payment" + +#: public/views/preferencesAbout.html +msgid "Release Information" +msgstr "Release Information" + +#: public/views/backup.html +#: public/views/includes/password.html +msgid "Repeat password" +msgstr "Repeat password" + +#: public/views/walletHome.html +#: public/views/modals/customized-amount.html +msgid "Request a specific amount" +msgstr "Request a specific amount" + +#: public/views/import.html +#: public/views/join.html +msgid "Required" +msgstr "Required" + +#: public/views/splash.html +msgid "Retrying..." +msgstr "Retrying..." + +#: public/views/translators.html +msgid "Russian" +msgstr "Russian" + +#: public/views/includes/password.html +msgid "SET" +msgstr "SET" + +#: public/views/walletHome.html +msgid "SKIP BACKUP" +msgstr "SKIP BACKUP" + +#: public/views/preferencesAlias.html +#: public/views/preferencesBwsUrl.html +#: public/views/preferencesEmail.html +msgid "Save" +msgstr "Save" + +#: public/views/preferencesEmail.html +msgid "Saving preferences..." +msgstr "Saving preferences..." + +#: src/js/services/notificationsService.js +msgid "Scan Finished" +msgstr "Scan Finished" + +#: public/views/preferencesAdvanced.html +msgid "Scan addresses for funds" +msgstr "Scan addresses for funds" + +#: public/views/walletHome.html +msgid "Scan status finished with error" +msgstr "Scan status finished with error" + +#: public/views/walletHome.html +msgid "Scanning Wallet funds..." +msgstr "Scanning Wallet funds..." + +#: public/views/modals/tx-details.html +msgid "See it on the blockchain" +msgstr "See it on the blockchain" + +#: public/views/import.html +msgid "Select a backup file" +msgstr "Select a backup file" + +#: public/views/paymentUri.html +msgid "Select a wallet" +msgstr "Select a wallet" + +#: public/views/create.html +msgid "Select required number of signatures" +msgstr "Select required number of signatures" + +#: public/views/create.html +msgid "Select total number of copayers" +msgstr "Select total number of copayers" + +#: public/views/walletHome.html +#: public/views/includes/transaction.html +#: src/js/controllers/index.js +msgid "Send" +msgstr "Send" + +#: public/views/walletHome.html +msgid "Send All" +msgstr "Send All" + +#: public/views/backup.html +#: public/views/preferencesLogs.html +msgid "Send by email" +msgstr "Send by email" + +#: public/views/walletHome.html +msgid "Sent" +msgstr "Sent" + +#: public/views/importLegacy.html +msgid "Server" +msgstr "Server" + +#: public/views/preferencesAbout.html +msgid "Session log" +msgstr "Session log" + +#: public/views/backup.html +msgid "Set up a Password for your backup" +msgstr "Set up a Password for your backup" + +#: public/views/includes/password.html +msgid "Set up a password" +msgstr "Set up a password" + +#: public/views/preferencesEmail.html +msgid "Setting up email notifications could weaken your privacy, if the wallet service provider is compromised. Information available to an attacker would include your wallet addresses and its balance, but no more." +msgstr "Setting up email notifications could weaken your privacy, if the wallet service provider is compromised. Information available to an attacker would include your wallet addresses and its balance, but no more." + +#: public/views/walletHome.html +msgid "Share address" +msgstr "Share address" + +#: public/views/copayers.html +msgid "Share invitation" +msgstr "Share invitation" + +#: public/views/copayers.html +msgid "Share this invitation with your copayers" +msgstr "Share this invitation with your copayers" + +#: public/views/walletHome.html +msgid "Share this wallet address to receive payments. To protect your privacy, new addresses are generated automatically once you use them." +msgstr "Share this wallet address to receive payments. To protect your privacy, new addresses are generated automatically once you use them." + +#: public/views/create.html +msgid "Shared Wallet" +msgstr "Shared Wallet" + +#: public/views/backup.html +#: public/views/create.html +#: public/views/join.html +#: public/views/walletHome.html +msgid "Show advanced options" +msgstr "Show advanced options" + +#: src/js/services/bwsError.js +msgid "Signatures rejected by server" +msgstr "Signatures rejected by server" + +#: src/js/controllers/walletHome.js +msgid "Signing payment" +msgstr "Signing payment" + +#: src/js/controllers/walletHome.js +msgid "Signing transaction" +msgstr "Signing transaction" + +#: public/views/translators.html +msgid "Spanish" +msgstr "Spanish" + +#: src/js/services/bwsError.js +msgid "Spend proposal is not accepted" +msgstr "Spend proposal is not accepted" + +#: src/js/services/bwsError.js +msgid "Spend proposal not found" +msgstr "Spend proposal not found" + +#: src/js/controllers/copayers.js +#: src/js/controllers/import.js +#: src/js/controllers/preferencesDelete.js +msgid "Success" +msgstr "Success" + +#: public/views/walletHome.html +msgid "Tap to retry" +msgstr "Tap to retry" + +#: public/views/disclaimer.html +#: public/views/preferencesAbout.html +msgid "Terms of Use" +msgstr "Terms of Use" + +#: public/views/create.html +msgid "Testnet" +msgstr "Testnet" + +#: src/js/controllers/walletHome.js +msgid "The payment was created but could not be completed. Please try again from home screen" +msgstr "The payment was created but could not be completed. Please try again from home screen" + +#: src/js/controllers/walletHome.js +msgid "The payment was created but could not be signed. Please try again from home screen" +msgstr "The payment was created but could not be signed. Please try again from home screen" + +#: public/views/modals/txp-details.html +msgid "The payment was removed by creator" +msgstr "The payment was removed by creator" + +#: src/js/controllers/walletHome.js +msgid "The payment was signed but could not be broadcasted. Please try again from home screen" +msgstr "The payment was signed but could not be broadcasted. Please try again from home screen" + +#: public/views/backup.html +msgid "The private key for this wallet is encrypted. Exporting a backup will keep the private key encrypted in the backup archive." +msgstr "The private key for this wallet is encrypted. Exporting a backup will keep the private key encrypted in the backup archive." + +#: public/views/disclaimer.html +msgid "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." +msgstr "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." + +#: src/js/services/bwsError.js +msgid "The spend proposal is not pending" +msgstr "The spend proposal is not pending" + +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +msgid "The wallet \"{{walletName}}\" was deleted" +msgstr "The wallet \"{{walletName}}\" was deleted" + +#: public/views/paymentUri.html +msgid "There are no wallets to make this payment" +msgstr "There are no wallets to make this payment" + +#: src/js/controllers/import.js +msgid "There is an error in the form" +msgstr "There is an error in the form" + +#: public/views/modals/tx-details.html +msgid "This transaction has become invalid; possibly due to a double spend attempt." +msgstr "This transaction has become invalid; possibly due to a double spend attempt." + +#: public/views/walletHome.html +msgid "This wallet is not registered at the given Bitcore Wallet Service (BWS). You can recreate it from the local information." +msgstr "This wallet is not registered at the given Bitcore Wallet Service (BWS). You can recreate it from the local information." + +#: public/views/modals/txp-details.html +msgid "Time" +msgstr "Time" + +#: public/views/walletHome.html +#: public/views/includes/output.html +#: public/views/includes/transaction.html +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "To" +msgstr "To" + +#: public/views/includes/output.html +msgid "Total" +msgstr "Total" + +#: public/views/walletHome.html +msgid "Total Locked Balance" +msgstr "Total Locked Balance" + +#: public/views/modals/tx-details.html +msgid "Transaction" +msgstr "Transaction" + +#: src/js/services/bwsError.js +msgid "Transaction already broadcasted" +msgstr "Transaction already broadcasted" + +#: public/views/translators.html +msgid "Translation Credits" +msgstr "Translation Credits" + +#: public/views/preferencesAbout.html +msgid "Translators" +msgstr "Translators" + +#: src/js/controllers/walletHome.js +msgid "Unable to send transaction proposal" +msgstr "Unable to send transaction proposal" + +#: public/views/walletHome.html +#: public/views/modals/tx-details.html +msgid "Unconfirmed" +msgstr "Unconfirmed" + +#: public/views/preferences.html +msgid "Unit" +msgstr "Unit" + +#: public/views/walletHome.html +msgid "Unsent transactions" +msgstr "Unsent transactions" + +#: public/views/modals/paypro.html +msgid "Untrusted" +msgstr "Untrusted" + +#: public/views/walletHome.html +msgid "Updating Wallet..." +msgstr "Updating Wallet..." + +#: public/views/preferences.html +#: public/views/walletHome.html +msgid "Use Unconfirmed Funds" +msgstr "Use Unconfirmed Funds" + +#: public/views/preferencesAbout.html +msgid "Version" +msgstr "Version" + +#: public/views/backup.html +msgid "View backup" +msgstr "View backup" + +#: public/views/walletHome.html +msgid "WARNING: Backup needed" +msgstr "WARNING: Backup needed" + +#: public/views/walletHome.html +msgid "WARNING: Wallet not registered" +msgstr "WARNING: Wallet not registered" + +#: public/views/splash.html +msgid "WELCOME TO COPAY" +msgstr "WELCOME TO COPAY" + +#: public/views/copayers.html +msgid "Waiting for copayers" +msgstr "Waiting for copayers" + +#: public/views/copayers.html +msgid "Waiting..." +msgstr "Waiting..." + +#: public/views/preferences.html +msgid "Wallet Alias" +msgstr "Wallet Alias" + +#: src/js/services/profileService.js +msgid "Wallet Already Imported:" +msgstr "Wallet Already Imported:" + +#: public/views/join.html +msgid "Wallet Invitation" +msgstr "Wallet Invitation" + +#: public/views/join.html +msgid "Wallet Invitation is not valid!" +msgstr "Wallet Invitation is not valid!" + +#: src/js/services/bwsError.js +#: src/js/services/profileService.js +msgid "Wallet already exists" +msgstr "Wallet already exists" + +#: public/views/copayers.html +msgid "Wallet incomplete and broken" +msgstr "Wallet incomplete and broken" + +#: src/js/services/bwsError.js +msgid "Wallet is full" +msgstr "Wallet is full" + +#: src/js/services/bwsError.js +msgid "Wallet is not complete" +msgstr "Wallet is not complete" + +#: public/views/create.html +msgid "Wallet name" +msgstr "Wallet name" + +#: src/js/services/bwsError.js +msgid "Wallet not found" +msgstr "Wallet not found" + +#: src/js/services/bwsError.js +msgid "Wallet service not found" +msgstr "Wallet service not found" + +#: public/views/preferencesDeleteWallet.html +msgid "Warning!" +msgstr "Warning!" + +#: public/views/modals/txp-details.html +msgid "Warning: this transaction has unconfirmed inputs" +msgstr "Warning: this transaction has unconfirmed inputs" + +#: src/js/services/profileService.js +msgid "Wrong password" +msgstr "Wrong password" + +#: public/views/modals/confirmation.html +msgid "Yes" +msgstr "Yes" + +#: public/views/walletHome.html +msgid "You do not have a wallet" +msgstr "You do not have a wallet" + +#: public/views/backup.html +#: public/views/import.html +msgid "Your backup password" +msgstr "Your backup password" + +#: public/views/create.html +#: public/views/join.html +msgid "Your nickname" +msgstr "Your nickname" + +#: public/views/includes/password.html +msgid "Your password" +msgstr "Your password" + +#: public/views/importLegacy.html +msgid "Your profile password" +msgstr "Your profile password" + +#: src/js/controllers/import.js +msgid "Your wallet has been imported correctly" +msgstr "Your wallet has been imported correctly" + +#: public/views/preferencesEmail.html +msgid "email for wallet notifications" +msgstr "email for wallet notifications" + +#: public/views/walletHome.html +msgid "locked by pending payments" +msgstr "locked by pending payments" + +#: public/views/copayers.html +#: public/views/walletHome.html +#: public/views/includes/sidebar.html +msgid "of" +msgstr "of" + +#: public/views/walletHome.html +msgid "optional" +msgstr "optional" + +#: public/views/preferences.html +msgid "settings" +msgstr "settings" + +#: public/views/walletHome.html +msgid "too long!" +msgstr "too long!" + +#: src/js/controllers/walletHome.js +msgid "{{fee}} will be discounted for bitcoin networking fees" +msgstr "{{fee}} will be discounted for bitcoin networking fees" + +#: src/js/controllers/importLegacy.js +msgid "{{len}} wallets imported. Funds scanning in progress. Hold on to see updated balance" +msgstr "{{len}} wallets imported. Funds scanning in progress. Hold on to see updated balance" + diff --git a/i18n/po/ru.po b/i18n/po/ru.po index 5808872c5..9414e2c39 100644 --- a/i18n/po/ru.po +++ b/i18n/po/ru.po @@ -12,7 +12,7 @@ msgstr "" "Last-Translator: cmgustavo83\n" "Language-Team: Russian\n" "Language: ru\n" -"PO-Revision-Date: 2015-08-14 02:34-0400\n" +"PO-Revision-Date: 2015-08-14 22:46-0400\n" #: public/views/walletHome.html msgid "(possible double spend)" @@ -24,11 +24,11 @@ msgstr "* Предложение платежа может быть удален #: public/views/backup.html msgid "* You can safely install your backup on another device and use your wallet from multiple devices at the same time." -msgstr "* Вы можете безопасно восстановить свой бэкап на другом устройстве и использовать ваш кошелек с нескольких устройств одновременно." +msgstr "* Вы можете безопасно восстановить свою резервную копию на другом устройстве и использовать ваш кошелек с нескольких устройств одновременно." #: public/views/backup.html msgid "A backup without its private key will allow the user to see the wallet balance, transactions, and create spend proposals. However, it will not be able to approve (sign) proposals." -msgstr "Бэкап без закрытого ключа позволит пользователю видеть баланс кошелька, транзакции, и создавать предложения платежей. Однако будет невозможно одобрить (подписать) предложения." +msgstr "Резервная копия без закрытого ключа позволит пользователю видеть баланс кошелька, транзакции, и создавать предложения платежей. Однако будет невозможно одобрить (подписать) предложения." #: public/views/splash.html msgid "A multisignature bitcoin wallet" diff --git a/i18n/po/sq.po b/i18n/po/sq.po new file mode 100644 index 000000000..899d2fd41 --- /dev/null +++ b/i18n/po/sq.po @@ -0,0 +1,1414 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Project-Id-Version: copay\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: copay\n" +"X-Crowdin-Language: sq\n" +"X-Crowdin-File: template.pot\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Last-Translator: cmgustavo83\n" +"Language-Team: Albanian\n" +"Language: sq\n" +"PO-Revision-Date: 2015-08-13 09:15-0400\n" + +#: public/views/walletHome.html +msgid "(possible double spend)" +msgstr "(possible double spend)" + +#: public/views/modals/txp-details.html +msgid "* A payment proposal can be deleted if 1) you are the creator, and no other copayer has signed, or 2) 24 hours have passed since the proposal was created." +msgstr "* A payment proposal can be deleted if 1) you are the creator, and no other copayer has signed, or 2) 24 hours have passed since the proposal was created." + +#: public/views/backup.html +msgid "* You can safely install your backup on another device and use your wallet from multiple devices at the same time." +msgstr "* You can safely install your backup on another device and use your wallet from multiple devices at the same time." + +#: public/views/backup.html +msgid "A backup without its private key will allow the user to see the wallet balance, transactions, and create spend proposals. However, it will not be able to approve (sign) proposals." +msgstr "A backup without its private key will allow the user to see the wallet balance, transactions, and create spend proposals. However, it will not be able to approve (sign) proposals." + +#: public/views/splash.html +msgid "A multisignature bitcoin wallet" +msgstr "A multisignature bitcoin wallet" + +#: public/views/preferences.html +msgid "About Copay" +msgstr "Rreth Copay" + +#: public/views/modals/txp-details.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Accept" +msgstr "Prano" + +#: public/views/includes/sidebar.html +msgid "Add wallet" +msgstr "Shto kuletë" + +#: public/views/paymentUri.html +#: public/views/modals/customized-amount.html +#: public/views/modals/paypro.html +msgid "Address" +msgstr "Adresa" + +#: public/views/preferences.html +msgid "Advanced" +msgstr "Avancuar" + +#: public/views/modals/advancedSend.html +msgid "Advanced Send" +msgstr "Dërgim i avancuar" + +#: public/views/disclaimer.html +msgid "Agree" +msgstr "Pranoj" + +#: public/views/preferencesAlias.html +msgid "Alias for {{index.walletName}}" +msgstr "Nofka për {{index.walletName}}" + +#: public/views/translators.html +msgid "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at" +msgstr "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at" + +#: public/views/splash.html +msgid "Already have a wallet?" +msgstr "Tashmë keni një kuletë?" + +#: public/views/preferences.html +msgid "Alternative Currency" +msgstr "Monedhë alternative" + +#: public/views/paymentUri.html +#: public/views/walletHome.html +#: public/views/includes/output.html +#: public/views/modals/customized-amount.html +msgid "Amount" +msgstr "Shuma" + +#: src/js/services/bwsError.js +msgid "Amount below dust threshold" +msgstr "Amount below dust threshold" + +#: public/views/walletHome.html +#: public/views/modals/customized-amount.html +msgid "Amount in" +msgstr "Shuma në" + +#: public/views/preferencesLanguage.html +msgid "Applying changes" +msgstr "Duke aplikuar ndryshimet" + +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +msgid "Are you sure you want to delete this wallet?" +msgstr "Jeni i sigurtë që doni të fshini këtë kuletë?" + +#: public/views/walletHome.html +msgid "Available Balance" +msgstr "Shuma në dispozicion" + +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Average confirmation time: {{fee.nbBlocks * 10}} minutes" +msgstr "Koha mesatare e konfirmimit: {{fee.nbBlocks * 10}} minuta" + +#: public/views/create.html +#: public/views/join.html +msgid "BIP32 master extended private key" +msgstr "BIP32 master çelësi privat i zgjëruar" + +#: public/views/includes/topbar.html +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Back" +msgstr "Prapa" + +#: public/views/preferences.html +msgid "Backup" +msgstr "Kopje rezervë" + +#: src/js/controllers/backup.js +msgid "Backup created" +msgstr "Kopja rezervë u krijua" + +#: public/views/walletHome.html +msgid "Backup now" +msgstr "Krijo kopjen rezervë tani" + +#: public/views/backup.html +msgid "Backup options" +msgstr "Opsionet e kopjes rezervë" + +#: src/js/services/profileService.js +msgid "Bad wallet invitation" +msgstr "Bad wallet invitation" + +#: public/views/walletHome.html +msgid "Before receiving funds, it is highly recommended you backup your wallet keys." +msgstr "Before receiving funds, it is highly recommended you backup your wallet keys." + +#: public/views/preferences.html +msgid "Bitcoin Network Fee Policy" +msgstr "Bitcoin Network Fee Policy" + +#: public/views/paymentUri.html +msgid "Bitcoin URI is NOT valid!" +msgstr "Bitcoin URI NUK është valid!" + +#: public/views/walletHome.html +msgid "Bitcoin address" +msgstr "Bitcoin adresa" + +#: public/views/preferencesFee.html +msgid "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy." +msgstr "Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy." + +#: public/views/modals/txp-details.html +msgid "Broadcast Payment" +msgstr "Transmeto pagesën" + +#: src/js/controllers/walletHome.js +msgid "Broadcasting Payment" +msgstr "Duke transmetuar pagesën" + +#: src/js/controllers/walletHome.js +msgid "Broadcasting transaction" +msgstr "Duke transmetuar transaksionin" + +#: public/views/unsupported.html +msgid "Browser unsupported" +msgstr "Shfletues i pambështetur" + +#: public/views/modals/txp-details.html +msgid "But not broadcasted. Try to send manually" +msgstr "Por nuk u transmetua. Provo ta dërgoni manualisht" + +#: public/views/includes/password.html +msgid "CANCEL" +msgstr "ANULO" + +#: public/views/copayers.html +#: public/views/walletHome.html +#: public/views/modals/confirmation.html +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Cancel" +msgstr "Anulo" + +#: src/js/services/profileService.js +msgid "Cannot join the same wallet more that once" +msgstr "Cannot join the same wallet more that once" + +#: public/views/modals/paypro.html +msgid "Certified by" +msgstr "Çertifikuar nga" + +#: public/views/preferencesAlias.html +msgid "Changing wallet alias only affects the local wallet name." +msgstr "Ndërrimi i nofkës së kuletës ndikon vetëm në emrin lokal të kuletës." + +#: public/views/import.html +msgid "Choose a backup file from your computer" +msgstr "Choose a backup file from your computer" + +#: public/views/modals/wallets.html +msgid "Choose a wallet to send funds" +msgstr "Choose a wallet to send funds" + +#: public/views/includes/topbar.html +#: public/views/modals/advancedSend.html +#: public/views/modals/copayers.html +#: public/views/modals/customized-amount.html +#: public/views/modals/paypro.html +#: public/views/modals/scanner.html +#: public/views/modals/wallets.html +msgid "Close" +msgstr "Close" + +#: public/views/preferences.html +msgid "Color" +msgstr "Color" + +#: public/views/preferencesAbout.html +msgid "Commit hash" +msgstr "Commit hash" + +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +#: src/js/controllers/walletHome.js +msgid "Confirm" +msgstr "Confirm" + +#: public/views/modals/tx-details.html +msgid "Confirmations" +msgstr "Confirmations" + +#: src/js/services/bwsError.js +msgid "Copayer already in this wallet" +msgstr "Copayer already in this wallet" + +#: src/js/services/bwsError.js +msgid "Copayer already registered" +msgstr "Copayer already registered" + +#: src/js/services/bwsError.js +msgid "Copayer already voted on this spend proposal" +msgstr "Copayer already voted on this spend proposal" + +#: src/js/services/bwsError.js +msgid "Copayer data mismatch" +msgstr "Copayer data mismatch" + +#: public/views/modals/copayers.html +msgid "Copayers" +msgstr "Copayers" + +#: src/js/controllers/backup.js +#: src/js/controllers/copayers.js +#: src/js/controllers/walletHome.js +msgid "Copied to clipboard" +msgstr "Copied to clipboard" + +#: public/views/backup.html +msgid "Copy backup to a safe place" +msgstr "Copy backup to a safe place" + +#: public/views/backup.html +msgid "Copy this text as it is to a safe place (notepad or email)" +msgstr "Copy this text as it is to a safe place (notepad or email)" + +#: public/views/backup.html +msgid "Copy to clipboard" +msgstr "Copy to clipboard" + +#: src/js/controllers/walletHome.js +msgid "Could not accept payment" +msgstr "Could not accept payment" + +#: src/js/controllers/index.js +msgid "Could not access Wallet Service: Not found" +msgstr "Could not access Wallet Service: Not found" + +#: src/js/controllers/walletHome.js +msgid "Could not broadcast payment" +msgstr "Could not broadcast payment" + +#: src/js/services/addressService.js +msgid "Could not create address" +msgstr "Could not create address" + +#: src/js/controllers/walletHome.js +msgid "Could not create payment proposal" +msgstr "Could not create payment proposal" + +#: src/js/services/profileService.js +msgid "Could not create using the specified extended private key" +msgstr "Could not create using the specified extended private key" + +#: src/js/controllers/import.js +msgid "Could not decrypt file, check your password" +msgstr "Could not decrypt file, check your password" + +#: src/js/controllers/walletHome.js +msgid "Could not delete payment proposal" +msgstr "Could not delete payment proposal" + +#: src/js/controllers/walletHome.js +msgid "Could not fetch payment information" +msgstr "Could not fetch payment information" + +#: public/views/walletHome.html +msgid "Could not fetch transaction history" +msgstr "Could not fetch transaction history" + +#: src/js/services/profileService.js +msgid "Could not import. Check input file and password" +msgstr "Could not import. Check input file and password" + +#: src/js/services/profileService.js +msgid "Could not join using the specified extended private key" +msgstr "Could not join using the specified extended private key" + +#: src/js/services/profileService.js +msgid "Could not join wallet" +msgstr "Could not join wallet" + +#: src/js/controllers/walletHome.js +msgid "Could not recognize a valid Bitcoin QR Code" +msgstr "Could not recognize a valid Bitcoin QR Code" + +#: src/js/controllers/walletHome.js +msgid "Could not reject payment" +msgstr "Could not reject payment" + +#: src/js/controllers/walletHome.js +msgid "Could not send payment" +msgstr "Could not send payment" + +#: src/js/controllers/index.js +msgid "Could not update Wallet" +msgstr "Could not update Wallet" + +#: public/views/walletHome.html +msgid "Create" +msgstr "Create" + +#: public/views/add.html +#: public/views/create.html +msgid "Create new wallet" +msgstr "Create new wallet" + +#: public/views/create.html +msgid "Create {{requiredCopayers}}-of-{{totalCopayers}} wallet" +msgstr "Create {{requiredCopayers}}-of-{{totalCopayers}} wallet" + +#: public/views/includes/sidebar.html +msgid "Create, join or import" +msgstr "Create, join or import" + +#: public/views/modals/txp-details.html +msgid "Created by" +msgstr "Created by" + +#: public/views/splash.html +msgid "Creating Profile..." +msgstr "Creating Profile..." + +#: public/views/create.html +msgid "Creating Wallet..." +msgstr "Creating Wallet..." + +#: src/js/controllers/walletHome.js +msgid "Creating transaction" +msgstr "Creating transaction" + +#: public/views/preferencesFee.html +#: public/views/modals/advancedSend.html +msgid "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB" +msgstr "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB" + +#: public/views/modals/tx-details.html +msgid "Date" +msgstr "Date" + +#: public/views/modals/txp-details.html +msgid "Delete Payment Proposal" +msgstr "Delete Payment Proposal" + +#: public/views/preferencesAdvanced.html +msgid "Delete Wallet" +msgstr "Delete Wallet" + +#: public/views/copayers.html +msgid "Delete it and create a new one" +msgstr "Delete it and create a new one" + +#: public/views/preferencesDeleteWallet.html +msgid "Delete wallet" +msgstr "Delete wallet" + +#: src/js/controllers/walletHome.js +msgid "Deleting payment" +msgstr "Deleting payment" + +#: public/views/modals/customized-amount.html +#: public/views/modals/paypro.html +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Details" +msgstr "Details" + +#: public/views/preferences.html +msgid "Disabled" +msgstr "Disabled" + +#: public/views/backup.html +msgid "Do not include private key in backup" +msgstr "Do not include private key in backup" + +#: public/views/translators.html +msgid "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." +msgstr "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." + +#: public/views/walletHome.html +msgid "Download CSV file" +msgstr "Download CSV file" + +#: public/views/backup.html +msgid "Download backup" +msgstr "Download backup" + +#: src/js/services/feeService.js +msgid "Economy" +msgstr "Economy" + +#: public/views/preferences.html +msgid "Email Notifications" +msgstr "Email Notifications" + +#: public/views/preferences.html +msgid "Encrypt Private Key" +msgstr "Encrypt Private Key" + +#: src/js/controllers/backup.js +msgid "Encrypted backup file saved" +msgstr "Encrypted backup file saved" + +#: public/views/includes/password.html +msgid "Enter your password" +msgstr "Enter your password" + +#: src/js/controllers/index.js +msgid "Error at Wallet Service" +msgstr "Error at Wallet Service" + +#: src/js/services/profileService.js +msgid "Error creating wallet" +msgstr "Error creating wallet" + +#: src/js/services/profileService.js +msgid "Error importing wallet:" +msgstr "Error importing wallet:" + +#: public/views/modals/paypro.html +#: public/views/modals/txp-details.html +msgid "Expires" +msgstr "Expires" + +#: public/views/backup.html +msgid "Failed to create backup" +msgstr "Failed to create backup" + +#: src/js/controllers/importLegacy.js +msgid "Failed to import wallets" +msgstr "Failed to import wallets" + +#: public/views/create.html +msgid "Family vacation funds" +msgstr "Family vacation funds" + +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Fee" +msgstr "Fee" + +#: public/views/modals/advancedSend.html +msgid "Fee Policy" +msgstr "Fee Policy" + +#: public/views/walletHome.html +msgid "Fee policy for this transaction" +msgstr "Fee policy for this transaction" + +#. Get information of payment if using Payment Protocol +#: src/js/controllers/walletHome.js +msgid "Fetching Payment Information" +msgstr "Fetching Payment Information" + +#: public/views/translators.html +msgid "French" +msgstr "French" + +#: src/js/services/bwsError.js +msgid "Funds are locked by pending spend proposals" +msgstr "Funds are locked by pending spend proposals" + +#: src/js/services/notificationsService.js +msgid "Funds received" +msgstr "Funds received" + +#: public/views/splash.html +msgid "GET STARTED" +msgstr "GET STARTED" + +#: public/views/modals/customized-amount.html +msgid "Generate QR Code" +msgstr "Generate QR Code" + +#: public/views/walletHome.html +msgid "Generate new address" +msgstr "Generate new address" + +#: public/views/walletHome.html +msgid "Generating .csv file..." +msgstr "Generating .csv file..." + +#: public/views/translators.html +msgid "German" +msgstr "German" + +#: public/views/modals/wallets.html +msgid "Getting address for wallet {{selectedWalletName}} ..." +msgstr "Getting address for wallet {{selectedWalletName}} ..." + +#: public/views/preferences.html +msgid "Global settings" +msgstr "Global settings" + +#: public/views/disclaimer.html +msgid "Go back" +msgstr "Go back" + +#: public/views/translators.html +msgid "Greek" +msgstr "Greek" + +#: public/views/import.html +msgid "Have a Backup from Copay v0.9?" +msgstr "Have a Backup from Copay v0.9?" + +#: public/views/backup.html +#: public/views/create.html +#: public/views/join.html +#: public/views/walletHome.html +msgid "Hide advanced options" +msgstr "Hide advanced options" + +#: src/js/controllers/index.js +msgid "History" +msgstr "History" + +#: src/js/controllers/index.js +msgid "Home" +msgstr "Home" + +#: public/views/disclaimer.html +msgid "I affirm that I have read, understood, and agree with these terms." +msgstr "I affirm that I have read, understood, and agree with these terms." + +#: public/views/create.html +#: public/views/join.html +msgid "If not given, a secure key will be generated" +msgstr "If not given, a secure key will be generated" + +#: public/views/importLegacy.html +msgid "Import" +msgstr "Import" + +#: public/views/import.html +#: public/views/splash.html +msgid "Import backup" +msgstr "Import backup" + +#: public/views/importLegacy.html +msgid "Import from the Cloud?" +msgstr "Import from the Cloud?" + +#: public/views/import.html +msgid "Import here" +msgstr "Import here" + +#: public/views/add.html +msgid "Import wallet" +msgstr "Import wallet" + +#: public/views/import.html +msgid "Importing wallet..." +msgstr "Importing wallet..." + +#: public/views/importLegacy.html +msgid "Importing..." +msgstr "Importing..." + +#: src/js/services/bwsError.js +msgid "Incorrect address network" +msgstr "Incorrect address network" + +#: src/js/services/bwsError.js +msgid "Insufficient funds" +msgstr "Insufficient funds" + +#: src/js/services/bwsError.js +msgid "Insufficient funds for fee" +msgstr "Insufficient funds for fee" + +#: public/views/walletHome.html +msgid "Invalid" +msgstr "Invalid" + +#: src/js/services/bwsError.js +msgid "Invalid address" +msgstr "Invalid address" + +#: src/js/controllers/copayers.js +msgid "Invitation to share a Copay Wallet" +msgstr "Invitation to share a Copay Wallet" + +#: public/views/translators.html +msgid "Italian" +msgstr "Italian" + +#: public/views/translators.html +msgid "Japanese" +msgstr "Japanese" + +#: public/views/create.html +#: public/views/join.html +msgid "John" +msgstr "John" + +#: public/views/join.html +msgid "Join" +msgstr "Join" + +#: src/js/controllers/copayers.js +msgid "Join my Copay wallet. Here is the invitation code: {{secret}} You can download Copay for your phone or desktop at https://copay.io" +msgstr "Join my Copay wallet. Here is the invitation code: {{secret}} You can download Copay for your phone or desktop at https://copay.io" + +#: public/views/add.html +msgid "Join shared wallet" +msgstr "Join shared wallet" + +#: public/views/join.html +msgid "Joining Wallet..." +msgstr "Joining Wallet..." + +#: public/views/preferences.html +msgid "Language" +msgstr "Language" + +#: public/views/importLegacy.html +msgid "Learn more about Wallet Migration" +msgstr "Learn more about Wallet Migration" + +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to create a new spend proposal" +msgstr "Locktime in effect. Please wait to create a new spend proposal" + +#: src/js/services/bwsError.js +msgid "Locktime in effect. Please wait to remove this spend proposal" +msgstr "Locktime in effect. Please wait to remove this spend proposal" + +#: public/views/paymentUri.html +msgid "Make a payment to" +msgstr "Make a payment to" + +#: public/views/create.html +#: public/views/join.html +msgid "Master extended private key" +msgstr "Master extended private key" + +#: public/views/includes/copayers.html +#: public/views/modals/copayers.html +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Me" +msgstr "Me" + +#: public/views/modals/paypro.html +msgid "Memo" +msgstr "Memo" + +#: public/views/modals/tx-details.html +msgid "Merchant message" +msgstr "Merchant message" + +#: public/views/paymentUri.html +msgid "Message" +msgstr "Message" + +#: public/views/walletHome.html +msgid "More" +msgstr "More" + +#: public/views/walletHome.html +msgid "Moved" +msgstr "Moved" + +#: public/views/walletHome.html +msgid "Multisignature wallet" +msgstr "Multisignature wallet" + +#: public/views/walletHome.html +msgid "My Bitcoin address" +msgstr "My Bitcoin address" + +#: public/views/paymentUri.html +msgid "Network" +msgstr "Network" + +#: src/js/services/bwsError.js +msgid "Network connection error" +msgstr "Network connection error" + +#: src/js/services/notificationsService.js +msgid "New Payment Proposal" +msgstr "New Payment Proposal" + +#: public/views/walletHome.html +msgid "No Private key" +msgstr "No Private key" + +#: public/views/walletHome.html +msgid "No transactions yet" +msgstr "No transactions yet" + +#: src/js/services/feeService.js +msgid "Normal" +msgstr "Normal" + +#: src/js/services/bwsError.js +msgid "Not authorized" +msgstr "Not authorized" + +#: public/views/walletHome.html +#: public/views/modals/customized-amount.html +msgid "Not valid" +msgstr "Not valid" + +#: public/views/walletHome.html +#: public/views/includes/output.html +#: public/views/modals/tx-details.html +msgid "Note" +msgstr "Note" + +#: public/views/includes/alert.html +#: public/views/includes/password.html +msgid "OK" +msgstr "OK" + +#: public/views/modals/tx-status.html +msgid "OKAY" +msgstr "OKAY" + +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "Participants" +msgstr "Participants" + +#: public/views/import.html +#: public/views/importLegacy.html +msgid "Password" +msgstr "Password" + +#: public/views/includes/password.html +msgid "Password cannot be recovered. Be sure to write it down" +msgstr "Password cannot be recovered. Be sure to write it down" + +#: src/js/services/profileService.js +msgid "Password needed" +msgstr "Password needed" + +#: src/js/controllers/password.js +msgid "Passwords do not match" +msgstr "Passwords do not match" + +#: public/views/join.html +msgid "Paste invitation here" +msgstr "Paste invitation here" + +#: public/views/import.html +msgid "Paste the backup plain text code" +msgstr "Paste the backup plain text code" + +#: public/views/modals/paypro.html +msgid "Pay To" +msgstr "Pay To" + +#: public/views/modals/tx-status.html +msgid "Payment Accepted" +msgstr "Payment Accepted" + +#: public/views/modals/txp-details.html +msgid "Payment Proposal" +msgstr "Payment Proposal" + +#: public/views/modals/tx-status.html +msgid "Payment Proposal Created" +msgstr "Payment Proposal Created" + +#: src/js/services/notificationsService.js +msgid "Payment Proposal Rejected" +msgstr "Payment Proposal Rejected" + +#: src/js/services/notificationsService.js +msgid "Payment Proposal Rejected by Copayer" +msgstr "Payment Proposal Rejected by Copayer" + +#: src/js/services/notificationsService.js +msgid "Payment Proposal Signed by Copayer" +msgstr "Payment Proposal Signed by Copayer" + +#: public/views/walletHome.html +msgid "Payment Proposals" +msgstr "Payment Proposals" + +#: src/js/controllers/walletHome.js +msgid "Payment Protocol not supported on Chrome App" +msgstr "Payment Protocol not supported on Chrome App" + +#: public/views/modals/tx-status.html +msgid "Payment Rejected" +msgstr "Payment Rejected" + +#: public/views/modals/tx-status.html +#: src/js/services/notificationsService.js +msgid "Payment Sent" +msgstr "Payment Sent" + +#: public/views/modals/txp-details.html +msgid "Payment accepted..." +msgstr "Payment accepted..." + +#: public/views/modals/txp-details.html +msgid "Payment details" +msgstr "Payment details" + +#: public/views/modals/txp-details.html +msgid "Payment finally rejected" +msgstr "Payment finally rejected" + +#: public/views/modals/paypro.html +msgid "Payment request" +msgstr "Payment request" + +#: public/views/modals/txp-details.html +msgid "Payment sent!" +msgstr "Payment sent!" + +#: public/views/walletHome.html +msgid "Payment to" +msgstr "Payment to" + +#: public/views/walletHome.html +msgid "Pending Confirmation" +msgstr "Pending Confirmation" + +#: public/views/preferencesDeleteWallet.html +msgid "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" +msgstr "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" + +#: public/views/create.html +msgid "Personal Wallet" +msgstr "Personal Wallet" + +#: src/js/controllers/create.js +#: src/js/controllers/join.js +msgid "Please enter the required fields" +msgstr "Please enter the required fields" + +#: src/js/services/bwsError.js +msgid "Please upgrade Copay to perform this action" +msgstr "Please upgrade Copay to perform this action" + +#: src/js/controllers/import.js +msgid "Please, select your backup file" +msgstr "Please, select your backup file" + +#: public/views/translators.html +msgid "Portuguese" +msgstr "Portuguese" + +#: public/views/walletHome.html +msgid "Preferences" +msgstr "Preferences" + +#: src/js/controllers/backup.js +msgid "Preparing backup..." +msgstr "Preparing backup..." + +#: src/js/services/feeService.js +msgid "Priority" +msgstr "Priority" + +#: public/views/modals/customized-amount.html +msgid "QR Code" +msgstr "QR Code" + +#: public/views/modals/scanner.html +msgid "QR-Scanner" +msgstr "QR-Scanner" + +#: src/js/controllers/index.js +msgid "Receive" +msgstr "Receive" + +#: public/views/walletHome.html +msgid "Received" +msgstr "Received" + +#: public/views/includes/output.html +#: public/views/includes/transaction.html +msgid "Recipients" +msgstr "Recipients" + +#: public/views/walletHome.html +msgid "Reconnecting to Wallet Service..." +msgstr "Reconnecting to Wallet Service..." + +#: public/views/walletHome.html +msgid "Recreate" +msgstr "Recreate" + +#: public/views/walletHome.html +msgid "Recreating Wallet..." +msgstr "Recreating Wallet..." + +#: public/views/modals/txp-details.html +msgid "Reject" +msgstr "Reject" + +#: src/js/controllers/walletHome.js +msgid "Rejecting payment" +msgstr "Rejecting payment" + +#: public/views/preferencesAbout.html +msgid "Release Information" +msgstr "Release Information" + +#: public/views/backup.html +#: public/views/includes/password.html +msgid "Repeat password" +msgstr "Repeat password" + +#: public/views/walletHome.html +#: public/views/modals/customized-amount.html +msgid "Request a specific amount" +msgstr "Request a specific amount" + +#: public/views/import.html +#: public/views/join.html +msgid "Required" +msgstr "Required" + +#: public/views/splash.html +msgid "Retrying..." +msgstr "Retrying..." + +#: public/views/translators.html +msgid "Russian" +msgstr "Russian" + +#: public/views/includes/password.html +msgid "SET" +msgstr "SET" + +#: public/views/walletHome.html +msgid "SKIP BACKUP" +msgstr "SKIP BACKUP" + +#: public/views/preferencesAlias.html +#: public/views/preferencesBwsUrl.html +#: public/views/preferencesEmail.html +msgid "Save" +msgstr "Save" + +#: public/views/preferencesEmail.html +msgid "Saving preferences..." +msgstr "Saving preferences..." + +#: src/js/services/notificationsService.js +msgid "Scan Finished" +msgstr "Scan Finished" + +#: public/views/preferencesAdvanced.html +msgid "Scan addresses for funds" +msgstr "Scan addresses for funds" + +#: public/views/walletHome.html +msgid "Scan status finished with error" +msgstr "Scan status finished with error" + +#: public/views/walletHome.html +msgid "Scanning Wallet funds..." +msgstr "Scanning Wallet funds..." + +#: public/views/modals/tx-details.html +msgid "See it on the blockchain" +msgstr "See it on the blockchain" + +#: public/views/import.html +msgid "Select a backup file" +msgstr "Select a backup file" + +#: public/views/paymentUri.html +msgid "Select a wallet" +msgstr "Select a wallet" + +#: public/views/create.html +msgid "Select required number of signatures" +msgstr "Select required number of signatures" + +#: public/views/create.html +msgid "Select total number of copayers" +msgstr "Select total number of copayers" + +#: public/views/walletHome.html +#: public/views/includes/transaction.html +#: src/js/controllers/index.js +msgid "Send" +msgstr "Send" + +#: public/views/walletHome.html +msgid "Send All" +msgstr "Send All" + +#: public/views/backup.html +#: public/views/preferencesLogs.html +msgid "Send by email" +msgstr "Send by email" + +#: public/views/walletHome.html +msgid "Sent" +msgstr "Sent" + +#: public/views/importLegacy.html +msgid "Server" +msgstr "Server" + +#: public/views/preferencesAbout.html +msgid "Session log" +msgstr "Session log" + +#: public/views/backup.html +msgid "Set up a Password for your backup" +msgstr "Set up a Password for your backup" + +#: public/views/includes/password.html +msgid "Set up a password" +msgstr "Set up a password" + +#: public/views/preferencesEmail.html +msgid "Setting up email notifications could weaken your privacy, if the wallet service provider is compromised. Information available to an attacker would include your wallet addresses and its balance, but no more." +msgstr "Setting up email notifications could weaken your privacy, if the wallet service provider is compromised. Information available to an attacker would include your wallet addresses and its balance, but no more." + +#: public/views/walletHome.html +msgid "Share address" +msgstr "Share address" + +#: public/views/copayers.html +msgid "Share invitation" +msgstr "Share invitation" + +#: public/views/copayers.html +msgid "Share this invitation with your copayers" +msgstr "Share this invitation with your copayers" + +#: public/views/walletHome.html +msgid "Share this wallet address to receive payments. To protect your privacy, new addresses are generated automatically once you use them." +msgstr "Share this wallet address to receive payments. To protect your privacy, new addresses are generated automatically once you use them." + +#: public/views/create.html +msgid "Shared Wallet" +msgstr "Shared Wallet" + +#: public/views/backup.html +#: public/views/create.html +#: public/views/join.html +#: public/views/walletHome.html +msgid "Show advanced options" +msgstr "Show advanced options" + +#: src/js/services/bwsError.js +msgid "Signatures rejected by server" +msgstr "Signatures rejected by server" + +#: src/js/controllers/walletHome.js +msgid "Signing payment" +msgstr "Signing payment" + +#: src/js/controllers/walletHome.js +msgid "Signing transaction" +msgstr "Signing transaction" + +#: public/views/translators.html +msgid "Spanish" +msgstr "Spanish" + +#: src/js/services/bwsError.js +msgid "Spend proposal is not accepted" +msgstr "Spend proposal is not accepted" + +#: src/js/services/bwsError.js +msgid "Spend proposal not found" +msgstr "Spend proposal not found" + +#: src/js/controllers/copayers.js +#: src/js/controllers/import.js +#: src/js/controllers/preferencesDelete.js +msgid "Success" +msgstr "Success" + +#: public/views/walletHome.html +msgid "Tap to retry" +msgstr "Tap to retry" + +#: public/views/disclaimer.html +#: public/views/preferencesAbout.html +msgid "Terms of Use" +msgstr "Terms of Use" + +#: public/views/create.html +msgid "Testnet" +msgstr "Testnet" + +#: src/js/controllers/walletHome.js +msgid "The payment was created but could not be completed. Please try again from home screen" +msgstr "The payment was created but could not be completed. Please try again from home screen" + +#: src/js/controllers/walletHome.js +msgid "The payment was created but could not be signed. Please try again from home screen" +msgstr "The payment was created but could not be signed. Please try again from home screen" + +#: public/views/modals/txp-details.html +msgid "The payment was removed by creator" +msgstr "The payment was removed by creator" + +#: src/js/controllers/walletHome.js +msgid "The payment was signed but could not be broadcasted. Please try again from home screen" +msgstr "The payment was signed but could not be broadcasted. Please try again from home screen" + +#: public/views/backup.html +msgid "The private key for this wallet is encrypted. Exporting a backup will keep the private key encrypted in the backup archive." +msgstr "The private key for this wallet is encrypted. Exporting a backup will keep the private key encrypted in the backup archive." + +#: public/views/disclaimer.html +msgid "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." +msgstr "The software you are about to use functions as a free, open source, and multi-signature digital wallet. The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin. While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software. You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws. You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software. IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network. To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement. You assume any and all risks associated with the use of the software. In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software. We reserve the right to modify this disclaimer from time to time." + +#: src/js/services/bwsError.js +msgid "The spend proposal is not pending" +msgstr "The spend proposal is not pending" + +#: src/js/controllers/copayers.js +#: src/js/controllers/preferencesDelete.js +msgid "The wallet \"{{walletName}}\" was deleted" +msgstr "The wallet \"{{walletName}}\" was deleted" + +#: public/views/paymentUri.html +msgid "There are no wallets to make this payment" +msgstr "There are no wallets to make this payment" + +#: src/js/controllers/import.js +msgid "There is an error in the form" +msgstr "There is an error in the form" + +#: public/views/modals/tx-details.html +msgid "This transaction has become invalid; possibly due to a double spend attempt." +msgstr "This transaction has become invalid; possibly due to a double spend attempt." + +#: public/views/walletHome.html +msgid "This wallet is not registered at the given Bitcore Wallet Service (BWS). You can recreate it from the local information." +msgstr "This wallet is not registered at the given Bitcore Wallet Service (BWS). You can recreate it from the local information." + +#: public/views/modals/txp-details.html +msgid "Time" +msgstr "Time" + +#: public/views/walletHome.html +#: public/views/includes/output.html +#: public/views/includes/transaction.html +#: public/views/modals/tx-details.html +#: public/views/modals/txp-details.html +msgid "To" +msgstr "To" + +#: public/views/includes/output.html +msgid "Total" +msgstr "Total" + +#: public/views/walletHome.html +msgid "Total Locked Balance" +msgstr "Total Locked Balance" + +#: public/views/modals/tx-details.html +msgid "Transaction" +msgstr "Transaction" + +#: src/js/services/bwsError.js +msgid "Transaction already broadcasted" +msgstr "Transaction already broadcasted" + +#: public/views/translators.html +msgid "Translation Credits" +msgstr "Translation Credits" + +#: public/views/preferencesAbout.html +msgid "Translators" +msgstr "Translators" + +#: src/js/controllers/walletHome.js +msgid "Unable to send transaction proposal" +msgstr "Unable to send transaction proposal" + +#: public/views/walletHome.html +#: public/views/modals/tx-details.html +msgid "Unconfirmed" +msgstr "Unconfirmed" + +#: public/views/preferences.html +msgid "Unit" +msgstr "Unit" + +#: public/views/walletHome.html +msgid "Unsent transactions" +msgstr "Unsent transactions" + +#: public/views/modals/paypro.html +msgid "Untrusted" +msgstr "Untrusted" + +#: public/views/walletHome.html +msgid "Updating Wallet..." +msgstr "Updating Wallet..." + +#: public/views/preferences.html +#: public/views/walletHome.html +msgid "Use Unconfirmed Funds" +msgstr "Use Unconfirmed Funds" + +#: public/views/preferencesAbout.html +msgid "Version" +msgstr "Version" + +#: public/views/backup.html +msgid "View backup" +msgstr "View backup" + +#: public/views/walletHome.html +msgid "WARNING: Backup needed" +msgstr "WARNING: Backup needed" + +#: public/views/walletHome.html +msgid "WARNING: Wallet not registered" +msgstr "WARNING: Wallet not registered" + +#: public/views/splash.html +msgid "WELCOME TO COPAY" +msgstr "WELCOME TO COPAY" + +#: public/views/copayers.html +msgid "Waiting for copayers" +msgstr "Waiting for copayers" + +#: public/views/copayers.html +msgid "Waiting..." +msgstr "Waiting..." + +#: public/views/preferences.html +msgid "Wallet Alias" +msgstr "Wallet Alias" + +#: src/js/services/profileService.js +msgid "Wallet Already Imported:" +msgstr "Wallet Already Imported:" + +#: public/views/join.html +msgid "Wallet Invitation" +msgstr "Wallet Invitation" + +#: public/views/join.html +msgid "Wallet Invitation is not valid!" +msgstr "Wallet Invitation is not valid!" + +#: src/js/services/bwsError.js +#: src/js/services/profileService.js +msgid "Wallet already exists" +msgstr "Wallet already exists" + +#: public/views/copayers.html +msgid "Wallet incomplete and broken" +msgstr "Wallet incomplete and broken" + +#: src/js/services/bwsError.js +msgid "Wallet is full" +msgstr "Wallet is full" + +#: src/js/services/bwsError.js +msgid "Wallet is not complete" +msgstr "Wallet is not complete" + +#: public/views/create.html +msgid "Wallet name" +msgstr "Wallet name" + +#: src/js/services/bwsError.js +msgid "Wallet not found" +msgstr "Wallet not found" + +#: src/js/services/bwsError.js +msgid "Wallet service not found" +msgstr "Wallet service not found" + +#: public/views/preferencesDeleteWallet.html +msgid "Warning!" +msgstr "Warning!" + +#: public/views/modals/txp-details.html +msgid "Warning: this transaction has unconfirmed inputs" +msgstr "Warning: this transaction has unconfirmed inputs" + +#: src/js/services/profileService.js +msgid "Wrong password" +msgstr "Wrong password" + +#: public/views/modals/confirmation.html +msgid "Yes" +msgstr "Yes" + +#: public/views/walletHome.html +msgid "You do not have a wallet" +msgstr "You do not have a wallet" + +#: public/views/backup.html +#: public/views/import.html +msgid "Your backup password" +msgstr "Your backup password" + +#: public/views/create.html +#: public/views/join.html +msgid "Your nickname" +msgstr "Your nickname" + +#: public/views/includes/password.html +msgid "Your password" +msgstr "Your password" + +#: public/views/importLegacy.html +msgid "Your profile password" +msgstr "Your profile password" + +#: src/js/controllers/import.js +msgid "Your wallet has been imported correctly" +msgstr "Your wallet has been imported correctly" + +#: public/views/preferencesEmail.html +msgid "email for wallet notifications" +msgstr "email for wallet notifications" + +#: public/views/walletHome.html +msgid "locked by pending payments" +msgstr "locked by pending payments" + +#: public/views/copayers.html +#: public/views/walletHome.html +#: public/views/includes/sidebar.html +msgid "of" +msgstr "of" + +#: public/views/walletHome.html +msgid "optional" +msgstr "optional" + +#: public/views/preferences.html +msgid "settings" +msgstr "settings" + +#: public/views/walletHome.html +msgid "too long!" +msgstr "too long!" + +#: src/js/controllers/walletHome.js +msgid "{{fee}} will be discounted for bitcoin networking fees" +msgstr "{{fee}} will be discounted for bitcoin networking fees" + +#: src/js/controllers/importLegacy.js +msgid "{{len}} wallets imported. Funds scanning in progress. Hold on to see updated balance" +msgstr "{{len}} wallets imported. Funds scanning in progress. Hold on to see updated balance" + From 6523d1d59d9fe6732de4f74b0e0cdb384f14394c Mon Sep 17 00:00:00 2001 From: dabura667 Date: Sun, 16 Aug 2015 13:18:15 +0900 Subject: [PATCH 135/158] Normalize line break discrepancies between OSes --- i18n/crowdin_update.js | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/i18n/crowdin_update.js b/i18n/crowdin_update.js index a83269da2..0a39b6db7 100644 --- a/i18n/crowdin_update.js +++ b/i18n/crowdin_update.js @@ -10,12 +10,32 @@ var bhttp = require('bhttp'); var crowdin_identifier = 'copay' var local_file_name1 = path.join(__dirname, 'po/template.pot') + +// Similar to Github, normalize all line breaks to CRLF so that different people +// using different OSes to update does not constantly swith format back and forth. +var local_file1_text = fs.readFileSync(local_file_name1, 'utf8'); +local_file1_text = local_file1_text.replace('\r\n', '\n'); +local_file1_text = local_file1_text.replace('\n', '\r\n'); +fs.writeFileSync(local_file_name1, local_file1_text); + var local_file1 = fs.createReadStream(local_file_name1) var local_file_name2 = path.join(__dirname, 'docs/appstore_en.txt') + +var local_file2_text = fs.readFileSync(local_file_name2, 'utf8'); +local_file2_text = local_file2_text.replace('\r\n', '\n'); +local_file2_text = local_file2_text.replace('\n', '\r\n'); +fs.writeFileSync(local_file_name2, local_file2_text); + var local_file2 = fs.createReadStream(local_file_name2) var local_file_name3 = path.join(__dirname, 'docs/updateinfo_en.txt') + +var local_file3_text = fs.readFileSync(local_file_name3, 'utf8'); +local_file3_text = local_file3_text.replace('\r\n', '\n'); +local_file3_text = local_file3_text.replace('\n', '\r\n'); +fs.writeFileSync(local_file_name3, local_file3_text); + var local_file3 = fs.createReadStream(local_file_name3) // obtain the crowdin api key @@ -31,11 +51,14 @@ if (crowdin_api_key != '') { }; bhttp.post('https://api.crowdin.com/api/project/' + crowdin_identifier + '/update-file?key=' + crowdin_api_key, payload, {}, function(err, response) { - console.log('Response from update file call:', response.body.toString()); + console.log('\nResponse from update file call:\n', response.body.toString()); // This call will tell the server to generate a new zip file for you based on most recent translations. https.get('https://api.crowdin.com/api/project/' + crowdin_identifier + '/export?key=' + crowdin_api_key, function(res) { console.log('Export Got response: ' + res.statusCode); + res.on('data', function(chunk) { + console.log(chunk.toString('utf8')); + }); }).on('error', function(e) { console.log('Export Got error: ' + e.message); }); From 0f1717187be57695060e6a4166a1b18040cbc931 Mon Sep 17 00:00:00 2001 From: dabura667 Date: Mon, 17 Aug 2015 09:04:28 +0900 Subject: [PATCH 136/158] Make update file replace all instances of LF --- i18n/crowdin_update.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/i18n/crowdin_update.js b/i18n/crowdin_update.js index 0a39b6db7..8f351f3c8 100644 --- a/i18n/crowdin_update.js +++ b/i18n/crowdin_update.js @@ -14,8 +14,8 @@ var local_file_name1 = path.join(__dirname, 'po/template.pot') // Similar to Github, normalize all line breaks to CRLF so that different people // using different OSes to update does not constantly swith format back and forth. var local_file1_text = fs.readFileSync(local_file_name1, 'utf8'); -local_file1_text = local_file1_text.replace('\r\n', '\n'); -local_file1_text = local_file1_text.replace('\n', '\r\n'); +local_file1_text = local_file1_text.replace(/\r\n/g, '\n'); +local_file1_text = local_file1_text.replace(/\n/g, '\r\n'); fs.writeFileSync(local_file_name1, local_file1_text); var local_file1 = fs.createReadStream(local_file_name1) @@ -23,8 +23,8 @@ var local_file1 = fs.createReadStream(local_file_name1) var local_file_name2 = path.join(__dirname, 'docs/appstore_en.txt') var local_file2_text = fs.readFileSync(local_file_name2, 'utf8'); -local_file2_text = local_file2_text.replace('\r\n', '\n'); -local_file2_text = local_file2_text.replace('\n', '\r\n'); +local_file2_text = local_file2_text.replace(/\r\n/g, '\n'); +local_file2_text = local_file2_text.replace(/\n/g, '\r\n'); fs.writeFileSync(local_file_name2, local_file2_text); var local_file2 = fs.createReadStream(local_file_name2) @@ -32,8 +32,8 @@ var local_file2 = fs.createReadStream(local_file_name2) var local_file_name3 = path.join(__dirname, 'docs/updateinfo_en.txt') var local_file3_text = fs.readFileSync(local_file_name3, 'utf8'); -local_file3_text = local_file3_text.replace('\r\n', '\n'); -local_file3_text = local_file3_text.replace('\n', '\r\n'); +local_file3_text = local_file3_text.replace(/\r\n/g, '\n'); +local_file3_text = local_file3_text.replace(/\n/g, '\r\n'); fs.writeFileSync(local_file_name3, local_file3_text); var local_file3 = fs.createReadStream(local_file_name3) @@ -64,4 +64,3 @@ if (crowdin_api_key != '') { }); }) }; - From 9e522265b649990290fba3db3020611328b42439 Mon Sep 17 00:00:00 2001 From: Marco Polci Date: Tue, 18 Aug 2015 09:57:21 +0200 Subject: [PATCH 137/158] Fixed a broblem with latest angular-moment release (see issue 3098). --- bower.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bower.json b/bower.json index 05df61448..2b07effab 100644 --- a/bower.json +++ b/bower.json @@ -15,8 +15,8 @@ "foundation": "zurb/bower-foundation#~5.5.1", "foundation-icon-fonts": "*", "ng-lodash": "~0.2.0", - "angular-moment": "~0.10.1", - "moment": "~2.10.3", + "angular-moment": "0.10.1", + "moment": "2.10.3", "angular-bitcore-wallet-client": "^0.1.2", "angular-ui-router": "~0.2.13", "qrcode-decoder-js": "*", From c209711d43a790689b9ad1def7d0bad0d400a190 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Tue, 18 Aug 2015 09:40:52 -0300 Subject: [PATCH 138/158] Removes duplicates --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index f11aa6a8e..2264f8b1c 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ "grunt-cli": "^0.1.13", "grunt-contrib-concat": "^0.5.1", "grunt-contrib-copy": "^0.8.0", + "grunt-contrib-compress": "^0.13.0", "grunt-contrib-uglify": "^0.8.0", "grunt-contrib-watch": "^0.5.3", "grunt-exec": "^0.4.6", @@ -61,8 +62,6 @@ "angular": "^1.3.14", "angular-mocks": "^1.3.14", "bhttp": "^1.2.1", - "grunt-contrib-compress": "^0.13.0", - "grunt-contrib-copy": "^0.8.0", "grunt-karma": "^0.10.1", "grunt-karma-coveralls": "^2.5.3", "grunt-node-webkit-builder": "^1.0.2", From 8baed21745c6c585050cc81168e8765d9e7f2367 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 18 Aug 2015 10:21:12 -0300 Subject: [PATCH 139/158] Update README.md --- README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/README.md b/README.md index 1076f742b..1e1c08289 100644 --- a/README.md +++ b/README.md @@ -122,3 +122,22 @@ This will download all partially/completely translated languages and clean out a - German: @saschad *Gracias totales!​* + +## Release schedules +Copay uses following convention for versioning: +``` + MAJOR.MINOR.BATCH, eg: 1.1.3 +``` +Any release that adds features should modify the MINOR or MAJOR number. + +### Bug Fixing Releases + +We release it ASAP in all platforms. As soon as the bug is fixed, we release the new version to all platforms. A week later we can send a new release with translation update (like 1.1.4 and then 1.1.5). There is no coordination so all platforms are updated at the same time. + +### Minor and Major releases + - t+0: tag the release 1.2 and "text lock" (meaning, only non-text related bug fixes. Though this rule is sometimes broken, it's good to make a rule.) + - t+7: testing for 1.2 is finished, translation is also finished, and 1.2.1 is tagged with all translations and bug fixes made in the last week. + - t+7: iOS is submitted for 1.2.1. All other platforms submitted with auto-release off. + - t + (~17): All platforms 1.2.1 is released when iOS approves. + + From ae7edb1d3eafa62d1eb3fb13426f1a6e99d457fb Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Tue, 18 Aug 2015 12:31:37 -0300 Subject: [PATCH 140/158] Fix default fee: normal --- src/js/controllers/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index cb050f6da..b217a4c06 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -341,7 +341,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r }; self.setCurrentFeeLevel = function(level) { - self.currentFeeLevel = level || configService.getSync().wallet.settings.feeLevel || 'priority'; + self.currentFeeLevel = level || configService.getSync().wallet.settings.feeLevel || 'normal'; self.setSendMax(); }; @@ -791,7 +791,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r $timeout(function() { $rootScope.$apply(); }); - + }; self.recreate = function(cb) { From aefff5a831e83fa3f5c4609cf03881bd85f76676 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Tue, 18 Aug 2015 16:42:39 -0300 Subject: [PATCH 141/158] Updates translation credits: russian --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1e1c08289..c576d024a 100644 --- a/README.md +++ b/README.md @@ -120,6 +120,7 @@ This will download all partially/completely translated languages and clean out a - Portuguese: @pmichelazzo - Spanish: @cmgustavo - German: @saschad +- Russian: @vadim0 *Gracias totales!​* From a13e12ff07c14d25558b1d3b1064368e6d1656d8 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Wed, 19 Aug 2015 11:16:55 -0300 Subject: [PATCH 142/158] Smooth start on mobile --- public/views/disclaimer.html | 8 ++++-- src/js/routes.js | 54 +++++++++++++++++++++--------------- 2 files changed, 37 insertions(+), 25 deletions(-) diff --git a/public/views/disclaimer.html b/public/views/disclaimer.html index 879d04da0..8f1426196 100644 --- a/public/views/disclaimer.html +++ b/public/views/disclaimer.html @@ -19,11 +19,13 @@

    I affirm that I have read, understood, and agree with these terms.

    -
    - +
    diff --git a/src/js/routes.js b/src/js/routes.js index 2c56b361c..1bc276d58 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -89,25 +89,27 @@ angular $scope.create = function(noWallet) { $scope.creatingProfile = true; - profileService.create({ - noWallet: noWallet - }, function(err) { - if (err) { - $scope.creatingProfile = false; - $log.warn(err); - $scope.error = err; - $scope.$apply(); - $timeout(function() { - $scope.create(noWallet); - }, 3000); - } - }); + $timeout(function() { + profileService.create({ + noWallet: noWallet + }, function(err) { + if (err) { + $scope.creatingProfile = false; + $log.warn(err); + $scope.error = err; + $scope.$apply(); + $timeout(function() { + $scope.create(noWallet); + }, 3000); + } + }); + }, 100); }; } } } }); - + $stateProvider .state('translators', { url: '/translators', @@ -125,7 +127,7 @@ angular views: { 'main': { templateUrl: 'views/disclaimer.html', - controller: function($scope, $timeout, storageService, applicationService, go) { + controller: function($scope, $timeout, storageService, applicationService, go, gettextCatalog, isCordova) { storageService.getCopayDisclaimerFlag(function(err, val) { $scope.agreed = val; $timeout(function() { @@ -134,11 +136,20 @@ angular }); $scope.agree = function() { - storageService.setCopayDisclaimerFlag(function(err) { - $timeout(function() { - applicationService.restart(); - }, 1000); - }); + if (isCordova) { + window.plugins.spinnerDialog.show(null, gettextCatalog.getString('Loading...'), true); + } + $scope.loading = true; + $timeout(function() { + storageService.setCopayDisclaimerFlag(function(err) { + $timeout(function() { + if (isCordova) { + window.plugins.spinnerDialog.hide(); + } + applicationService.restart(); + }, 1000); + }); + }, 100); }; } } @@ -531,7 +542,7 @@ angular event.preventDefault(); } - /* + /* * -------------------- */ @@ -630,7 +641,6 @@ angular cachedBackPanel.getElementsByClassName('content')[0].scrollTop = sc; cachedTransitionState = desiredTransitionState; - //console.log('CACHing animation', cachedTransitionState); return false; } } From ba8e5dacc85b1ded6202a25139f24b3198392ea0 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Wed, 19 Aug 2015 11:17:23 -0300 Subject: [PATCH 143/158] Hide some global preferences if noFocusedWallet --- public/views/preferences.html | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/public/views/preferences.html b/public/views/preferences.html index 3f1e1d0cf..bf7db5528 100644 --- a/public/views/preferences.html +++ b/public/views/preferences.html @@ -8,7 +8,7 @@
    -
      +

        {{index.alias}} [{{index.walletName}}] settings

        @@ -55,29 +55,28 @@

        Global settings

        -
      • +
      • Language {{index.defaultLanguageName|translate}}
      • - -
      • +
      • Unit {{preferences.unitName}}
      • -
      • +
      • Alternative Currency {{preferences.selectedAlternative.name}}
      • -
      • Bitcoin Network Fee Policy @@ -85,7 +84,7 @@ {{index.feeOpts[index.currentFeeLevel]|translate}}
      • -
      • +
      • Use Unconfirmed Funds
      • From cdf16f0485cec075a10b0601e234b80c845896c6 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Wed, 19 Aug 2015 11:18:16 -0300 Subject: [PATCH 144/158] Fix splash for large devices --- public/views/splash.html | 24 +++++++++++++++--------- src/css/main.css | 11 ++--------- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/public/views/splash.html b/public/views/splash.html index 9fca6a0b6..5c343df9b 100644 --- a/public/views/splash.html +++ b/public/views/splash.html @@ -1,14 +1,16 @@ -
        +
        -
        -
        +
        +
        WELCOME TO COPAY

        A multisignature bitcoin wallet

        -
        - icon +
        +
        + icon +
        {{(error)|translate}}. Retrying... @@ -25,9 +27,13 @@ Creating Profile...
        -
        - -

        Already have a wallet?

        - +
        +
        + +

        Already have a wallet?

        + +
        diff --git a/src/css/main.css b/src/css/main.css index 00bc52152..ba8a7564a 100644 --- a/src/css/main.css +++ b/src/css/main.css @@ -1085,20 +1085,13 @@ input.ng-invalid-match, input.ng-invalid-match:focus { } .splash { - width: 100%; - height: 100%; + top: 0; background: #2C3E50; - position: absolute; background-image: -webkit-linear-gradient(#3D5672 0%, #223243 100%); background-image: -o-linear-gradient(#3D5672 0%, #223243 100%); background-image: linear-gradient(#3D5672 0%, #223243 100%); } -.splash .start-button { - position: absolute; - bottom: 0; -} - .splash .start-button button.black { background-color: #4B6178; } @@ -1107,7 +1100,7 @@ input.ng-invalid-match, input.ng-invalid-match:focus { font-size: 0.58rem; } -.gif-splash { +.splash .container-image { padding: 2rem 0; } From 96f93411b324b740e801b613e4bcfd44503030e9 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Wed, 19 Aug 2015 11:35:58 -0300 Subject: [PATCH 145/158] Fix layout for prefFee, logs, about, disclaimer, translators --- public/views/disclaimer.html | 2 +- public/views/preferencesAbout.html | 2 +- public/views/preferencesFee.html | 4 ++-- public/views/preferencesLogs.html | 4 ++-- public/views/translators.html | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/public/views/disclaimer.html b/public/views/disclaimer.html index 8f1426196..f634daadd 100644 --- a/public/views/disclaimer.html +++ b/public/views/disclaimer.html @@ -23,7 +23,7 @@ Agree
        -
        diff --git a/public/views/preferencesAbout.html b/public/views/preferencesAbout.html index 61e23b7bd..17ce28a14 100644 --- a/public/views/preferencesAbout.html +++ b/public/views/preferencesAbout.html @@ -6,7 +6,7 @@
        - Copay + Copay

        Release Information

        diff --git a/public/views/preferencesFee.html b/public/views/preferencesFee.html index 7eb64566d..2cf126cd1 100644 --- a/public/views/preferencesFee.html +++ b/public/views/preferencesFee.html @@ -12,7 +12,7 @@
      -
      +
      @@ -22,7 +22,7 @@
      -
      +
      Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy.
      diff --git a/public/views/preferencesLogs.html b/public/views/preferencesLogs.html index dbe0d6a53..d579c9922 100644 --- a/public/views/preferencesLogs.html +++ b/public/views/preferencesLogs.html @@ -8,8 +8,8 @@
      -
      - diff --git a/public/views/translators.html b/public/views/translators.html index 39187d299..fc7def514 100644 --- a/public/views/translators.html +++ b/public/views/translators.html @@ -23,7 +23,7 @@
    • cmgustavo83Spanish
    • lax5Russian
    -
    +

    All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at From d29b36b93518d2ff7c143c4c4e945b7ba02aa8c8 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Wed, 19 Aug 2015 17:10:40 -0300 Subject: [PATCH 146/158] Clear variable if wallet changed. Fix padding in home --- src/css/mobile.css | 2 +- src/js/controllers/index.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/css/mobile.css b/src/css/mobile.css index f76d106b9..113948bc2 100644 --- a/src/css/mobile.css +++ b/src/css/mobile.css @@ -168,7 +168,7 @@ _:-ms-fullscreen, :root .main { .amount { width: 100%; text-align: center; - padding: 3rem 1rem; + padding: 2.5rem 1rem 1.5rem 1rem; margin-bottom: 11px; color: #fff; height: 175px; diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index cb050f6da..5f0a5ac1c 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -95,6 +95,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.totalBalanceSat = null; self.lockedBalanceSat = null; self.availableBalanceSat = null; + self.pendingAmount = null; self.totalBalanceStr = null; self.availableBalanceStr = null; From cae4074cc9aa74e76e9e88a0764154bc1e7fc942 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Wed, 19 Aug 2015 17:39:31 -0300 Subject: [PATCH 147/158] Cleaning more variables --- src/js/controllers/index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 5f0a5ac1c..e8a8dbf12 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -96,6 +96,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.lockedBalanceSat = null; self.availableBalanceSat = null; self.pendingAmount = null; + self.spendUnconfirmed = null; self.totalBalanceStr = null; self.availableBalanceStr = null; @@ -104,6 +105,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.alternativeBalanceAvailable = false; self.totalBalanceAlternative = null; + self.currentFeeLevel = null; self.notAuthorized = false; self.txHistory = []; self.txHistoryPaging = false; From dc512f6459ae09c15ec38417f01fafa39a5edc41 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Wed, 19 Aug 2015 17:41:10 -0300 Subject: [PATCH 148/158] Fix avatar padding --- src/css/mobile.css | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/css/mobile.css b/src/css/mobile.css index 113948bc2..ad536cf03 100644 --- a/src/css/mobile.css +++ b/src/css/mobile.css @@ -198,7 +198,7 @@ _:-ms-fullscreen, :root .main { } .walletHome .avatar-wallet { - padding: 1.7rem 1rem; + padding: 0.5rem; width: 75px; height: 75px; position: absolute; @@ -209,7 +209,6 @@ _:-ms-fullscreen, :root .main { margin: 0; color: #FFF; font-weight: 700; - line-height: 15px; text-align: center; border-radius: 5px; } @@ -305,13 +304,12 @@ a.missing-copayers { font-size: 20px; font-weight: 700; margin-right: 15px; - padding: 0.33rem 0.65rem; - line-height: 24px; text-align: center; float: left; width: 35px; height: 35px; border-radius: 3px; + padding: 2px; } .sidebar header { @@ -340,7 +338,6 @@ a.missing-copayers { border-bottom: transparent; color: #A5B2BF; padding: 1rem 0.7rem; - line-height: 155%; } .sidebar ul.off-canvas-list li a i { From 854b1511de76735294d9ac4e14aa0269a11fba0c Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Thu, 20 Aug 2015 16:43:03 -0300 Subject: [PATCH 149/158] Refactory single/multiples outputs --- public/views/includes/output.html | 38 +++++++----------- public/views/includes/transaction.html | 11 +++--- public/views/modals/tx-details.html | 37 +++++++++++------ public/views/modals/txp-details.html | 42 ++++++++++++++------ public/views/walletHome.html | 1 - src/js/controllers/index.js | 55 ++------------------------ src/js/controllers/walletHome.js | 18 +-------- src/js/services/utilService.js | 46 +++++++++++++++++++++ 8 files changed, 127 insertions(+), 121 deletions(-) create mode 100644 src/js/services/utilService.js diff --git a/public/views/includes/output.html b/public/views/includes/output.html index 2fb157df1..e22e4b8c2 100644 --- a/public/views/includes/output.html +++ b/public/views/includes/output.html @@ -1,24 +1,14 @@ -

    -
  • - Recipients: - {{output.recipientCount}} - - - -
  • -
  • - To: - {{output.toAddress || output.address}} -
  • -
  • - Total - Amount: - {{output.amountStr}} - {{output.alternativeAmountStr}} - -
  • -
  • - Note: - {{output.message}} -
  • -
    +
  • + To: + {{output.toAddress || output.address}} +
  • +
  • + Amount: + {{output.amountStr}} + {{output.alternativeAmountStr}} + +
  • +
  • + Note: + {{output.message}} +
  • diff --git a/public/views/includes/transaction.html b/public/views/includes/transaction.html index f7d9b9d92..0a0be0be0 100644 --- a/public/views/includes/transaction.html +++ b/public/views/includes/transaction.html @@ -11,18 +11,19 @@
    - + Recipients: - {{tx.outputs.length}} + {{tx.recipientCount}} - + To: {{tx.merchant.domain}} {{tx.merchant.domain}} - - {{tx.toAddress}} + + {{tx.toAddress}} +
    diff --git a/public/views/modals/tx-details.html b/public/views/modals/tx-details.html index d4c04665a..35e1a1e1d 100644 --- a/public/views/modals/tx-details.html +++ b/public/views/modals/tx-details.html @@ -15,7 +15,7 @@