mirror of https://github.com/BTCPrivate/copay.git
Merge branch 'master' of https://github.com/bitpay/copay into feat/balance-modal
This commit is contained in:
commit
58478b8113
|
@ -9,9 +9,9 @@
|
||||||
"nameNoSpace": "bitpay",
|
"nameNoSpace": "bitpay",
|
||||||
"nameCase": "BitPay",
|
"nameCase": "BitPay",
|
||||||
"nameCaseNoSpace": "BitPay",
|
"nameCaseNoSpace": "BitPay",
|
||||||
"gitHubRepoName": "bitpay-wallet",
|
"gitHubRepoName": "copay",
|
||||||
"gitHubRepoUrl": "git://github.com/bitpay/bitpay-wallet.git",
|
"gitHubRepoUrl": "git://github.com/bitpay/copay.git",
|
||||||
"gitHubRepoBugs": "https://github.com/bitpay/bitpay-wallet/issues",
|
"gitHubRepoBugs": "https://github.com/bitpay/copay/issues",
|
||||||
"disclaimerUrl": "",
|
"disclaimerUrl": "",
|
||||||
"url": "https://bitpay.com",
|
"url": "https://bitpay.com",
|
||||||
"appDescription": "Secure Bitcoin Wallet",
|
"appDescription": "Secure Bitcoin Wallet",
|
||||||
|
@ -21,7 +21,7 @@
|
||||||
"windowsAppId": "",
|
"windowsAppId": "",
|
||||||
"pushSenderId": "1036948132229",
|
"pushSenderId": "1036948132229",
|
||||||
"description": "Secure Bitcoin Wallet",
|
"description": "Secure Bitcoin Wallet",
|
||||||
"version": "1.1.0",
|
"version": "1.2.0",
|
||||||
"androidVersion": "1",
|
"androidVersion": "1",
|
||||||
"_extraCSS": null,
|
"_extraCSS": null,
|
||||||
"_enabledExtensions": {
|
"_enabledExtensions": {
|
||||||
|
|
3308
i18n/po/es.po
3308
i18n/po/es.po
File diff suppressed because it is too large
Load Diff
3310
i18n/po/fr.po
3310
i18n/po/fr.po
File diff suppressed because it is too large
Load Diff
|
@ -22,7 +22,7 @@ msgstr ""
|
||||||
msgid "5-star ratings help us get BitPay into more hands, and more users means more resources can be committed to the app!"
|
msgid "5-star ratings help us get BitPay into more hands, and more users means more resources can be committed to the app!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/confirm.js:450
|
#: src/js/controllers/confirm.js:455
|
||||||
msgid "A SMS containing a confirmation code was sent to your phone."
|
msgid "A SMS containing a confirmation code was sent to your phone."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -31,16 +31,16 @@ msgstr ""
|
||||||
msgid "A member of the team will review your feedback as soon as possible."
|
msgid "A member of the team will review your feedback as soon as possible."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/confirm.js:208
|
#: src/js/controllers/confirm.js:213
|
||||||
msgid "A total of {{amountAboveMaxSizeStr}} were excluded. The maximum size allowed for a transaction was exceeded."
|
msgid "A total of {{amountAboveMaxSizeStr}} were excluded. The maximum size allowed for a transaction was exceeded."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/confirm.js:202
|
#: src/js/controllers/confirm.js:207
|
||||||
msgid "A total of {{amountBelowFeeStr}} were excluded. These funds come from UTXOs smaller than the network fee provided."
|
msgid "A total of {{amountBelowFeeStr}} were excluded. These funds come from UTXOs smaller than the network fee provided."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/preferencesAbout.js:6
|
#: src/js/controllers/preferencesAbout.js:6
|
||||||
#: www/views/tab-settings.html:161
|
#: www/views/tab-settings.html:149
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ msgstr ""
|
||||||
msgid "Add Funds"
|
msgid "Add Funds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/confirm.html:71
|
#: www/views/confirm.html:72
|
||||||
msgid "Add Memo"
|
msgid "Add Memo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -112,7 +112,7 @@ msgstr ""
|
||||||
msgid "Add an optional password to secure the recovery phrase"
|
msgid "Add an optional password to secure the recovery phrase"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/confirm.js:262
|
#: src/js/controllers/confirm.js:267
|
||||||
msgid "Add description"
|
msgid "Add description"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -140,7 +140,7 @@ msgstr ""
|
||||||
msgid "Addresses With Balance"
|
msgid "Addresses With Balance"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/tab-settings.html:154
|
#: www/views/tab-settings.html:142
|
||||||
msgid "Advanced"
|
msgid "Advanced"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -173,7 +173,7 @@ msgid "Almost done! Let's review."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/preferencesAltCurrency.html:4
|
#: www/views/preferencesAltCurrency.html:4
|
||||||
#: www/views/tab-settings.html:83
|
#: www/views/tab-settings.html:81
|
||||||
msgid "Alternative Currency"
|
msgid "Alternative Currency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -192,10 +192,26 @@ msgstr ""
|
||||||
msgid "Amount below minimum allowed"
|
msgid "Amount below minimum allowed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/confirm.js:382
|
||||||
|
msgid "Amount too big"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/tab-home.html:14
|
#: www/views/tab-home.html:14
|
||||||
msgid "An update to this app is available"
|
msgid "An update to this app is available"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/tab-home.js:133
|
||||||
|
msgid "An update to this app is available. For your security, please update to the latest version."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: www/views/backupWarning.html:14
|
||||||
|
msgid "Anyone with your backup phrase can access or spend your bitcoin."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: www/views/backupWarning.html:10
|
||||||
|
msgid "Are you being watched?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/copayers.js:43
|
#: src/js/controllers/copayers.js:43
|
||||||
msgid "Are you sure you want to cancel and delete this wallet?"
|
msgid "Are you sure you want to cancel and delete this wallet?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -237,10 +253,6 @@ msgstr ""
|
||||||
msgid "Average confirmation time: <span class=\"fee-minutes\">{{fee.nbBlocks * 10}} minutes</span>"
|
msgid "Average confirmation time: <span class=\"fee-minutes\">{{fee.nbBlocks * 10}} minutes</span>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/includes/terms.html:47
|
|
||||||
msgid "BINDING AGREEMENT"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/join.html:118
|
#: www/views/join.html:118
|
||||||
#: www/views/tab-create-personal.html:85
|
#: www/views/tab-create-personal.html:85
|
||||||
#: www/views/tab-create-shared.html:115
|
#: www/views/tab-create-shared.html:115
|
||||||
|
@ -281,8 +293,8 @@ msgstr ""
|
||||||
msgid "Be sure to store your recovery phrase in a secure place. If this app is deleted, your money cannot be recovered without it."
|
msgid "Be sure to store your recovery phrase in a secure place. If this app is deleted, your money cannot be recovered without it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/includes/terms.html:8
|
#: src/js/controllers/tab-settings.js:52
|
||||||
msgid "BitPay provides the Software solely on the terms and conditions set forth in this Agreement and on the condition that You accept and comply with them. By using the Software You (a) accept this Agreement and agree that You are legally bound by its terms; and (b) represent and warrant that: (i) You are of legal age to enter into a binding agreement; and (ii) if You are a corporation, governmental organization or other legal entity, You have the right, power and authority to enter into this Agreement on behalf of the corporation, governmental organization or other legal entity and bind them to these terms."
|
msgid "BitPay Help Center"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/addressbook.add.html:38
|
#: www/views/addressbook.add.html:38
|
||||||
|
@ -294,7 +306,7 @@ msgid "Bitcoin Exchanges"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/preferencesFee.html:4
|
#: www/views/preferencesFee.html:4
|
||||||
#: www/views/tab-settings.html:94
|
#: www/views/tab-settings.html:92
|
||||||
msgid "Bitcoin Network Fee Policy"
|
msgid "Bitcoin Network Fee Policy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -302,7 +314,7 @@ msgstr ""
|
||||||
msgid "Bitcoin URI is NOT valid!"
|
msgid "Bitcoin URI is NOT valid!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/tab-settings.html:72
|
#: www/views/tab-settings.html:70
|
||||||
msgid "Bitcoin Unit"
|
msgid "Bitcoin Unit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -363,15 +375,11 @@ msgstr ""
|
||||||
msgid "Buying Bitcoin..."
|
msgid "Buying Bitcoin..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/includes/terms.html:35
|
|
||||||
msgid "CHOICE OF LAW"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/js/services/onGoingProcess.js:11
|
#: src/js/services/onGoingProcess.js:11
|
||||||
msgid "Calculating fee"
|
msgid "Calculating fee"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/confirm.js:506
|
#: src/js/controllers/confirm.js:511
|
||||||
#: src/js/services/confirmDialog.js:9
|
#: src/js/services/confirmDialog.js:9
|
||||||
#: src/js/services/popupService.js:58
|
#: src/js/services/popupService.js:58
|
||||||
#: www/views/addressbook.add.html:10
|
#: www/views/addressbook.add.html:10
|
||||||
|
@ -391,7 +399,7 @@ msgstr ""
|
||||||
msgid "Cannot join the same wallet more that once"
|
msgid "Cannot join the same wallet more that once"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/amazon.js:25
|
#: src/js/controllers/amazon.js:27
|
||||||
msgid "Card not found"
|
msgid "Card not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -404,10 +412,6 @@ msgstr ""
|
||||||
msgid "Certified by"
|
msgid "Certified by"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/translators.html:18
|
|
||||||
msgid "Chinese"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/tab-import-file.html:4
|
#: www/views/tab-import-file.html:4
|
||||||
msgid "Choose a backup file from your computer"
|
msgid "Choose a backup file from your computer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -441,7 +445,7 @@ msgstr ""
|
||||||
msgid "Commit hash"
|
msgid "Commit hash"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/confirm.js:505
|
#: src/js/controllers/confirm.js:510
|
||||||
#: src/js/controllers/copayers.js:42
|
#: src/js/controllers/copayers.js:42
|
||||||
#: src/js/services/confirmDialog.js:10
|
#: src/js/services/confirmDialog.js:10
|
||||||
#: www/views/backup.html:53
|
#: www/views/backup.html:53
|
||||||
|
@ -456,7 +460,8 @@ msgstr ""
|
||||||
msgid "Confirm & Finish"
|
msgid "Confirm & Finish"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/services/walletService.js:839
|
#: src/js/services/walletService.js:840
|
||||||
|
#: src/js/services/walletService.js:841
|
||||||
msgid "Confirm you new spending password"
|
msgid "Confirm you new spending password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -497,8 +502,8 @@ msgstr ""
|
||||||
msgid "Continue"
|
msgid "Continue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/preferencesLanguage.html:17
|
#: www/views/preferencesLanguage.html:26
|
||||||
#: www/views/translators.html:25
|
#: www/views/translators.html:33
|
||||||
msgid "Contribute Translations"
|
msgid "Contribute Translations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -545,6 +550,10 @@ msgstr ""
|
||||||
msgid "Could not access wallet"
|
msgid "Could not access wallet"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/confirm.js:376
|
||||||
|
msgid "Could not add message to imported wallet without shared encrypting key"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/modals/txpDetails.js:172
|
#: src/js/controllers/modals/txpDetails.js:172
|
||||||
msgid "Could not broadcast payment"
|
msgid "Could not broadcast payment"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -585,7 +594,7 @@ msgstr ""
|
||||||
msgid "Could not get dynamic fee for level: {{feeLevel}}"
|
msgid "Could not get dynamic fee for level: {{feeLevel}}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/confirm.js:651
|
#: src/js/controllers/confirm.js:656
|
||||||
msgid "Could not get the destination bitcoin address"
|
msgid "Could not get the destination bitcoin address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -616,7 +625,7 @@ msgstr ""
|
||||||
msgid "Could not remove card"
|
msgid "Could not remove card"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/confirm.js:445
|
#: src/js/controllers/confirm.js:450
|
||||||
msgid "Could not send confirmation code to your phone"
|
msgid "Could not send confirmation code to your phone"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -624,14 +633,10 @@ msgstr ""
|
||||||
msgid "Could not send payment"
|
msgid "Could not send payment"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/tab-home.js:200
|
#: src/js/controllers/tab-home.js:206
|
||||||
msgid "Could not update"
|
msgid "Could not update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/services/walletService.js:147
|
|
||||||
msgid "Could not update Wallet"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/tab-create-personal.html:3
|
#: www/views/tab-create-personal.html:3
|
||||||
msgid "Create Personal Wallet"
|
msgid "Create Personal Wallet"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -644,6 +649,7 @@ msgstr ""
|
||||||
msgid "Create a bitcoin wallet"
|
msgid "Create a bitcoin wallet"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: www/views/onboarding/tour.html:46
|
||||||
#: www/views/tab-send.html:16
|
#: www/views/tab-send.html:16
|
||||||
msgid "Create bitcoin wallet"
|
msgid "Create bitcoin wallet"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -681,14 +687,6 @@ msgstr ""
|
||||||
msgid "Custom Amount"
|
msgid "Custom Amount"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/translators.html:20
|
|
||||||
msgid "Czech"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/includes/terms.html:20
|
|
||||||
msgid "DISCLAIMER"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/preferencesDeleteWallet.html:21
|
#: www/views/preferencesDeleteWallet.html:21
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -739,8 +737,8 @@ msgstr ""
|
||||||
msgid "Do not include private key"
|
msgid "Do not include private key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/preferencesLanguage.html:20
|
#: www/views/preferencesLanguage.html:21
|
||||||
#: www/views/translators.html:29
|
#: www/views/translators.html:28
|
||||||
msgid "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language."
|
msgid "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -749,7 +747,7 @@ msgid "Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/addresses.html:23
|
#: www/views/addresses.html:23
|
||||||
msgid "Each bitcoin wallet can generate billions of addresses from your 12-word backup. A new address is automatically generated and shown each time your recive a payment."
|
msgid "Each bitcoin wallet can generate billions of addresses from your 12-word backup. A new address is automatically generated and shown each time you receive a payment."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/services/feeService.js:10
|
#: src/js/services/feeService.js:10
|
||||||
|
@ -815,8 +813,8 @@ msgstr ""
|
||||||
msgid "Enter Amount"
|
msgid "Enter Amount"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/services/walletService.js:852
|
#: src/js/services/walletService.js:854
|
||||||
#: src/js/services/walletService.js:867
|
#: src/js/services/walletService.js:869
|
||||||
msgid "Enter Spending Password"
|
msgid "Enter Spending Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -851,36 +849,36 @@ msgstr ""
|
||||||
#: src/js/controllers/addresses.js:84
|
#: src/js/controllers/addresses.js:84
|
||||||
#: src/js/controllers/addresses.js:85
|
#: src/js/controllers/addresses.js:85
|
||||||
#: src/js/controllers/amazon.js:15
|
#: src/js/controllers/amazon.js:15
|
||||||
#: src/js/controllers/amazon.js:25
|
#: src/js/controllers/amazon.js:27
|
||||||
#: src/js/controllers/amazon.js:46
|
#: src/js/controllers/amazon.js:48
|
||||||
#: src/js/controllers/amazon.js:66
|
#: src/js/controllers/amazon.js:68
|
||||||
#: src/js/controllers/amount.js:249
|
#: src/js/controllers/amount.js:265
|
||||||
#: src/js/controllers/amount.js:256
|
#: src/js/controllers/amount.js:272
|
||||||
#: src/js/controllers/amount.js:264
|
#: src/js/controllers/amount.js:280
|
||||||
#: src/js/controllers/amount.js:293
|
#: src/js/controllers/amount.js:309
|
||||||
#: src/js/controllers/amount.js:306
|
|
||||||
#: src/js/controllers/amount.js:313
|
|
||||||
#: src/js/controllers/amount.js:322
|
#: src/js/controllers/amount.js:322
|
||||||
|
#: src/js/controllers/amount.js:329
|
||||||
|
#: src/js/controllers/amount.js:338
|
||||||
#: src/js/controllers/bitpayCard.js:145
|
#: src/js/controllers/bitpayCard.js:145
|
||||||
#: src/js/controllers/bitpayCard.js:68
|
#: src/js/controllers/bitpayCard.js:68
|
||||||
#: src/js/controllers/bitpayCardIntro.js:27
|
#: src/js/controllers/bitpayCardIntro.js:27
|
||||||
#: src/js/controllers/confirm.js:148
|
#: src/js/controllers/confirm.js:153
|
||||||
#: src/js/controllers/confirm.js:161
|
#: src/js/controllers/confirm.js:166
|
||||||
#: src/js/controllers/confirm.js:167
|
#: src/js/controllers/confirm.js:172
|
||||||
#: src/js/controllers/confirm.js:445
|
#: src/js/controllers/confirm.js:450
|
||||||
#: src/js/controllers/confirm.js:456
|
#: src/js/controllers/confirm.js:461
|
||||||
#: src/js/controllers/confirm.js:468
|
#: src/js/controllers/confirm.js:473
|
||||||
#: src/js/controllers/confirm.js:617
|
#: src/js/controllers/confirm.js:622
|
||||||
#: src/js/controllers/confirm.js:645
|
#: src/js/controllers/confirm.js:650
|
||||||
#: src/js/controllers/confirm.js:651
|
#: src/js/controllers/confirm.js:656
|
||||||
#: src/js/controllers/confirm.js:679
|
#: src/js/controllers/confirm.js:684
|
||||||
#: src/js/controllers/confirm.js:685
|
#: src/js/controllers/confirm.js:690
|
||||||
#: src/js/controllers/confirm.js:692
|
#: src/js/controllers/confirm.js:697
|
||||||
#: src/js/controllers/confirm.js:699
|
#: src/js/controllers/confirm.js:704
|
||||||
#: src/js/controllers/confirm.js:717
|
#: src/js/controllers/confirm.js:722
|
||||||
#: src/js/controllers/confirm.js:736
|
#: src/js/controllers/confirm.js:741
|
||||||
#: src/js/controllers/confirm.js:750
|
#: src/js/controllers/confirm.js:755
|
||||||
#: src/js/controllers/confirm.js:793
|
#: src/js/controllers/confirm.js:798
|
||||||
#: src/js/controllers/copayers.js:54
|
#: src/js/controllers/copayers.js:54
|
||||||
#: src/js/controllers/create.js:101
|
#: src/js/controllers/create.js:101
|
||||||
#: src/js/controllers/create.js:129
|
#: src/js/controllers/create.js:129
|
||||||
|
@ -933,14 +931,14 @@ msgstr ""
|
||||||
#: src/js/controllers/preferencesDelete.js:22
|
#: src/js/controllers/preferencesDelete.js:22
|
||||||
#: src/js/controllers/preferencesFee.js:9
|
#: src/js/controllers/preferencesFee.js:9
|
||||||
#: src/js/controllers/preferencesGlidera.js:60
|
#: src/js/controllers/preferencesGlidera.js:60
|
||||||
#: src/js/controllers/tab-home.js:154
|
#: src/js/controllers/tab-home.js:160
|
||||||
#: src/js/controllers/tab-receive.js:24
|
#: src/js/controllers/tab-receive.js:24
|
||||||
#: src/js/controllers/tabsController.js:7
|
#: src/js/controllers/tabsController.js:7
|
||||||
#: src/js/controllers/tx-details.js:18
|
#: src/js/controllers/tx-details.js:18
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/confirm.js:349
|
#: src/js/controllers/confirm.js:354
|
||||||
msgid "Error at confirm"
|
msgid "Error at confirm"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -964,8 +962,8 @@ msgstr ""
|
||||||
msgid "Experimental Features"
|
msgid "Experimental Features"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/confirm.js:307
|
#: src/js/controllers/confirm.js:312
|
||||||
#: www/views/confirm.html:29
|
#: www/views/confirm.html:30
|
||||||
#: www/views/modals/txp-details.html:114
|
#: www/views/modals/txp-details.html:114
|
||||||
msgid "Expired"
|
msgid "Expired"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -988,7 +986,7 @@ msgstr ""
|
||||||
msgid "Export wallet"
|
msgid "Export wallet"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/services/walletService.js:999
|
#: src/js/services/walletService.js:1000
|
||||||
#: www/views/tab-export-qrCode.html:9
|
#: www/views/tab-export-qrCode.html:9
|
||||||
msgid "Exporting via QR not supported for this wallet"
|
msgid "Exporting via QR not supported for this wallet"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1014,16 +1012,13 @@ msgstr ""
|
||||||
msgid "Family vacation funds"
|
msgid "Family vacation funds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: www/views/confirm.html:79
|
||||||
#: www/views/includes/confirm-tx.html:19
|
#: www/views/includes/confirm-tx.html:19
|
||||||
#: www/views/modals/txp-details.html:95
|
#: www/views/modals/txp-details.html:95
|
||||||
#: www/views/tx-details.html:71
|
#: www/views/tx-details.html:71
|
||||||
msgid "Fee"
|
msgid "Fee"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/confirm.html:78
|
|
||||||
msgid "Fee: {{feeLevel}}"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/js/controllers/feedback/send.js:23
|
#: src/js/controllers/feedback/send.js:23
|
||||||
msgid "Feedback could not be submitted. Please try again later."
|
msgid "Feedback could not be submitted. Please try again later."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1060,8 +1055,8 @@ msgstr ""
|
||||||
msgid "French"
|
msgid "French"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/confirm.html:59
|
#: www/views/confirm.html:60
|
||||||
#: www/views/confirm.html:61
|
#: www/views/confirm.html:62
|
||||||
#: www/views/modals/txp-details.html:74
|
#: www/views/modals/txp-details.html:74
|
||||||
#: www/views/tx-details.html:48
|
#: www/views/tx-details.html:48
|
||||||
msgid "From"
|
msgid "From"
|
||||||
|
@ -1091,10 +1086,6 @@ msgstr ""
|
||||||
msgid "Generating new address..."
|
msgid "Generating new address..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/translators.html:14
|
|
||||||
msgid "German"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/bitpayCardIntro.html:23
|
#: www/views/bitpayCardIntro.html:23
|
||||||
msgid "Get local cash anywhere you go, from any Visa<sup>®</sup> compatible ATM. ATM bank fees may apply."
|
msgid "Get local cash anywhere you go, from any Visa<sup>®</sup> compatible ATM. ATM bank fees may apply."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1119,6 +1110,16 @@ msgstr ""
|
||||||
msgid "Glidera Inc. (Glidera) is providing the service of buying or selling bitcoin to BitPay users. To enable this service, Glidera has registered with US Treasury Department’s FinCEN as a Money Service Business (#31000042625755). Users of BitPay must agree to the service agreement presented by Glidera prior to obtaining Glidera’s service of buying or selling bitcoin."
|
msgid "Glidera Inc. (Glidera) is providing the service of buying or selling bitcoin to BitPay users. To enable this service, Glidera has registered with US Treasury Department’s FinCEN as a Money Service Business (#31000042625755). Users of BitPay must agree to the service agreement presented by Glidera prior to obtaining Glidera’s service of buying or selling bitcoin."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/onboarding/terms.js:23
|
||||||
|
#: src/js/controllers/preferencesAbout.js:15
|
||||||
|
#: src/js/controllers/preferencesLanguage.js:14
|
||||||
|
#: src/js/controllers/tab-home.js:135
|
||||||
|
#: src/js/controllers/tab-settings.js:55
|
||||||
|
#: src/js/controllers/translators.js:11
|
||||||
|
#: src/js/controllers/tx-details.js:128
|
||||||
|
msgid "Go Back"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/bitpayCardIntro.js:35
|
#: src/js/controllers/bitpayCardIntro.js:35
|
||||||
#: src/js/controllers/onboarding/backupRequest.js:13
|
#: src/js/controllers/onboarding/backupRequest.js:13
|
||||||
#: src/js/controllers/onboarding/backupRequest.js:19
|
#: src/js/controllers/onboarding/backupRequest.js:19
|
||||||
|
@ -1131,6 +1132,10 @@ msgstr ""
|
||||||
msgid "Got it"
|
msgid "Got it"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: www/views/onboarding/tour.html:18
|
||||||
|
msgid "Got it →"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/preferences.html:20
|
#: www/views/preferences.html:20
|
||||||
#: www/views/preferencesInformation.html:47
|
#: www/views/preferencesInformation.html:47
|
||||||
msgid "Hardware Wallet"
|
msgid "Hardware Wallet"
|
||||||
|
@ -1145,7 +1150,11 @@ msgid "Have the OAuth Code?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/tab-settings.html:27
|
#: www/views/tab-settings.html:27
|
||||||
msgid "Help & Support"
|
msgid "Help & Support"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/tab-settings.js:53
|
||||||
|
msgid "Help and support information is available at the BitPay Help Center website. Would you like to go there now?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/addresses.html:29
|
#: www/views/addresses.html:29
|
||||||
|
@ -1166,6 +1175,10 @@ msgstr ""
|
||||||
msgid "Hide advanced options"
|
msgid "Hide advanced options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: www/views/tabs.html:3
|
||||||
|
msgid "Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/feedback/send.js:55
|
#: src/js/controllers/feedback/send.js:55
|
||||||
#: src/js/controllers/feedback/send.js:59
|
#: src/js/controllers/feedback/send.js:59
|
||||||
#: src/js/controllers/feedback/send.js:63
|
#: src/js/controllers/feedback/send.js:63
|
||||||
|
@ -1228,18 +1241,6 @@ msgstr ""
|
||||||
msgid "I've written it down"
|
msgid "I've written it down"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/includes/terms.html:17
|
|
||||||
msgid "IF YOU LOSE ACCESS TO YOUR BITCOIN 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 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."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/includes/terms.html:26
|
|
||||||
msgid "IN NO EVENT WILL BITPAY OR ITS AFFILIATES, OR ANY OF ITS OR THEIR RESPECTIVE SERVICE PROVIDERS, BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY USE, INTERRUPTION, DELAY OR INABILITY TO USE THE SOFTWARE, LOST REVENUES OR PROFITS, DELAYS, INTERRUPTION OR LOSS OF SERVICES, BUSINESS OR GOODWILL, LOSS OR CORRUPTION OF DATA, LOSS RESULTING FROM SYSTEM OR SYSTEM SERVICE FAILURE, MALFUNCTION OR SHUTDOWN, FAILURE TO ACCURATELY TRANSFER, READ OR TRANSMIT INFORMATION, FAILURE TO UPDATE OR PROVIDE CORRECT INFORMATION, SYSTEM INCOMPATIBILITY OR PROVISION OF INCORRECT COMPATIBILITY INFORMATION OR BREACHES IN SYSTEM SECURITY, OR FOR ANY CONSEQUENTIAL, INCIDENTAL, INDIRECT, EXEMPLARY, SPECIAL OR PUNITIVE DAMAGES, WHETHER ARISING OUT OF OR IN CONNECTION WITH THIS AGREEMENT, BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE) OR OTHERWISE, REGARDLESS OF WHETHER SUCH DAMAGES WERE FORESEEABLE AND WHETHER OR NOT WE WERE ADVISED OF THE POSSIBILITY OF SUCH DAMAGES."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/includes/terms.html:29
|
|
||||||
msgid "INTELLECTUAL PROPERTY"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/advancedSettings.html:50
|
#: www/views/advancedSettings.html:50
|
||||||
msgid "If enabled, the Recent Transactions card - a list of transactions occuring across all wallets - will appear in the Home tab."
|
msgid "If enabled, the Recent Transactions card - a list of transactions occuring across all wallets - will appear in the Home tab."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1289,13 +1290,9 @@ msgstr ""
|
||||||
msgid "In order to verify your wallet backup, please type your password."
|
msgid "In order to verify your wallet backup, please type your password."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/includes/terms.html:44
|
|
||||||
msgid "In the event any court shall declare any section or sections of this Agreement invalid or void, such declaration shall not invalidate the entire Agreement and all other paragraphs of the Agreement shall remain in full force and effect."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/includes/walletSelector.html:18
|
#: www/views/includes/walletSelector.html:18
|
||||||
#: www/views/tab-home.html:79
|
#: www/views/tab-home.html:79
|
||||||
#: www/views/tab-settings.html:115
|
#: www/views/tab-settings.html:114
|
||||||
msgid "Incomplete"
|
msgid "Incomplete"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1313,7 +1310,7 @@ msgid "Incorrect code format"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/services/bwcError.js:44
|
#: src/js/services/bwcError.js:44
|
||||||
#: www/views/confirm.html:115
|
#: www/views/confirm.html:116
|
||||||
msgid "Insufficient funds"
|
msgid "Insufficient funds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1370,14 +1367,6 @@ msgstr ""
|
||||||
msgid "It's important that you write your backup phrase down correctly. If something happens to your wallet, you'll need this backup to recover your money. Please review your backup and try again."
|
msgid "It's important that you write your backup phrase down correctly. If something happens to your wallet, you'll need this backup to recover your money. Please review your backup and try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/translators.html:17
|
|
||||||
msgid "Italian"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/translators.html:12
|
|
||||||
msgid "Japanese"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/join.html:18
|
#: www/views/join.html:18
|
||||||
msgid "John"
|
msgid "John"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1408,6 +1397,7 @@ msgid "Key already associated with an existing wallet"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/preferencesLanguage.html:4
|
#: www/views/preferencesLanguage.html:4
|
||||||
|
#: www/views/tab-settings.html:60
|
||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1435,6 +1425,10 @@ msgstr ""
|
||||||
msgid "Make a payment to"
|
msgid "Make a payment to"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: www/views/onboarding/tour.html:33
|
||||||
|
msgid "Makes sense →"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/modals/search.js:61
|
#: src/js/controllers/modals/search.js:61
|
||||||
msgid "Matches:"
|
msgid "Matches:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1557,11 +1551,11 @@ msgstr ""
|
||||||
msgid "No transactions yet"
|
msgid "No transactions yet"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/amount.js:293
|
#: src/js/controllers/amount.js:309
|
||||||
msgid "No wallet found!"
|
msgid "No wallet found!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/confirm.html:112
|
#: www/views/confirm.html:113
|
||||||
msgid "No wallets available"
|
msgid "No wallets available"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1577,7 +1571,7 @@ msgstr ""
|
||||||
msgid "Not authorized"
|
msgid "Not authorized"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/confirm.js:167
|
#: src/js/controllers/confirm.js:172
|
||||||
msgid "Not enough funds for fee"
|
msgid "Not enough funds for fee"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1612,6 +1606,10 @@ msgstr ""
|
||||||
msgid "Now is a good time to backup your wallet. If this device is lost, it is impossible to access your funds without a backup."
|
msgid "Now is a good time to backup your wallet. If this device is lost, it is impossible to access your funds without a backup."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: www/views/backupWarning.html:11
|
||||||
|
msgid "Now is a perfect time to assess your surroundings. Nearby windows? Hidden cameras? Shoulder-spies?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/services/popupService.js:15
|
#: src/js/services/popupService.js:15
|
||||||
#: src/js/services/popupService.js:57
|
#: src/js/services/popupService.js:57
|
||||||
msgid "OK"
|
msgid "OK"
|
||||||
|
@ -1637,6 +1635,36 @@ msgstr ""
|
||||||
msgid "On this screen you can see all your wallets, accounts, and assets."
|
msgid "On this screen you can see all your wallets, accounts, and assets."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/preferencesLanguage.js:13
|
||||||
|
#: src/js/controllers/translators.js:10
|
||||||
|
msgid "Open Crowdin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/preferencesAbout.js:14
|
||||||
|
msgid "Open GitHub"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/preferencesAbout.js:12
|
||||||
|
msgid "Open GitHub Project"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/tab-settings.js:54
|
||||||
|
msgid "Open Help Center"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/tx-details.js:127
|
||||||
|
msgid "Open Insight"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/preferencesLanguage.js:11
|
||||||
|
#: src/js/controllers/translators.js:8
|
||||||
|
msgid "Open Translation Community"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/onboarding/terms.js:22
|
||||||
|
msgid "Open Website"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/tab-receive.html:41
|
#: www/views/tab-receive.html:41
|
||||||
msgid "Open wallet"
|
msgid "Open wallet"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1674,7 +1702,7 @@ msgstr ""
|
||||||
msgid "Payment Accepted"
|
msgid "Payment Accepted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/confirm.html:27
|
#: www/views/confirm.html:28
|
||||||
msgid "Payment Expires:"
|
msgid "Payment Expires:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1774,7 +1802,7 @@ msgstr ""
|
||||||
msgid "Please upgrade Copay to perform this action"
|
msgid "Please upgrade Copay to perform this action"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/confirm.js:449
|
#: src/js/controllers/confirm.js:454
|
||||||
msgid "Please, enter the code below"
|
msgid "Please, enter the code below"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1782,10 +1810,6 @@ msgstr ""
|
||||||
msgid "Please, select your backup file"
|
msgid "Please, select your backup file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/translators.html:19
|
|
||||||
msgid "Polish"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/tab-settings.html:47
|
#: www/views/tab-settings.html:47
|
||||||
msgid "Preferences"
|
msgid "Preferences"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1851,10 +1875,6 @@ msgstr ""
|
||||||
msgid "Quick review!"
|
msgid "Quick review!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/includes/terms.html:5
|
|
||||||
msgid "RIGHTS AND OBLIGATIONS"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/js/controllers/create.js:70
|
#: src/js/controllers/create.js:70
|
||||||
#: src/js/controllers/join.js:53
|
#: src/js/controllers/join.js:53
|
||||||
msgid "Random"
|
msgid "Random"
|
||||||
|
@ -1873,6 +1893,7 @@ msgid "Read more"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/tab-receive.html:3
|
#: www/views/tab-receive.html:3
|
||||||
|
#: www/views/tabs.html:7
|
||||||
msgid "Receive"
|
msgid "Receive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1885,7 +1906,12 @@ msgstr ""
|
||||||
msgid "Received Funds"
|
msgid "Received Funds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: www/views/walletDetails.html:242
|
||||||
|
msgid "Receiving"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/bitpayCard.html:55
|
#: www/views/bitpayCard.html:55
|
||||||
|
#: www/views/walletDetails.html:199
|
||||||
msgid "Recent"
|
msgid "Recent"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1973,18 +1999,10 @@ msgstr ""
|
||||||
msgid "Retry"
|
msgid "Retry"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/translators.html:16
|
|
||||||
msgid "Russian"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/includes/password.html:31
|
#: www/views/includes/password.html:31
|
||||||
msgid "SET"
|
msgid "SET"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/includes/terms.html:41
|
|
||||||
msgid "SEVERABILITY"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/addressbook.add.html:58
|
#: www/views/addressbook.add.html:58
|
||||||
#: www/views/includes/note.html:9
|
#: www/views/includes/note.html:9
|
||||||
#: www/views/preferencesAlias.html:21
|
#: www/views/preferencesAlias.html:21
|
||||||
|
@ -1994,6 +2012,7 @@ msgid "Save"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/tab-scan.html:3
|
#: www/views/tab-scan.html:3
|
||||||
|
#: www/views/tabs.html:11
|
||||||
msgid "Scan"
|
msgid "Scan"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2057,6 +2076,7 @@ msgstr ""
|
||||||
#: www/views/feedback/send.html:13
|
#: www/views/feedback/send.html:13
|
||||||
#: www/views/feedback/send.html:43
|
#: www/views/feedback/send.html:43
|
||||||
#: www/views/tab-send.html:3
|
#: www/views/tab-send.html:3
|
||||||
|
#: www/views/tabs.html:15
|
||||||
msgid "Send"
|
msgid "Send"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2082,11 +2102,11 @@ msgstr ""
|
||||||
msgid "Send by email"
|
msgid "Send by email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/confirm.js:243
|
#: src/js/controllers/confirm.js:248
|
||||||
msgid "Send from"
|
msgid "Send from"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/amount.js:95
|
#: src/js/controllers/amount.js:97
|
||||||
msgid "Send max amount"
|
msgid "Send max amount"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2097,6 +2117,7 @@ msgstr ""
|
||||||
#: www/views/confirm.html:15
|
#: www/views/confirm.html:15
|
||||||
#: www/views/includes/txp.html:14
|
#: www/views/includes/txp.html:14
|
||||||
#: www/views/modals/txp-details.html:19
|
#: www/views/modals/txp-details.html:19
|
||||||
|
#: www/views/walletDetails.html:241
|
||||||
msgid "Sending"
|
msgid "Sending"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2116,7 +2137,7 @@ msgstr ""
|
||||||
msgid "Sending transaction"
|
msgid "Sending transaction"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/confirm.js:501
|
#: src/js/controllers/confirm.js:506
|
||||||
msgid "Sending {{amountStr}} from your {{name}} wallet"
|
msgid "Sending {{amountStr}} from your {{name}} wallet"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2151,11 +2172,13 @@ msgid "Set up a spending password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/tab-settings.html:3
|
#: www/views/tab-settings.html:3
|
||||||
|
#: www/views/tabs.html:19
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/customAmount.html:20
|
#: www/views/customAmount.html:20
|
||||||
#: www/views/tab-receive.html:70
|
#: www/views/tab-receive.html:70
|
||||||
|
#: www/views/tab-settings.html:43
|
||||||
msgid "Share"
|
msgid "Share"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2176,10 +2199,6 @@ msgstr ""
|
||||||
msgid "Share this invitation with your copayers"
|
msgid "Share this invitation with your copayers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/tab-settings.html:43
|
|
||||||
msgid "Share {{appName}}"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/tab-import-hardware.html:24
|
#: www/views/tab-import-hardware.html:24
|
||||||
msgid "Shared Wallet"
|
msgid "Shared Wallet"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2268,10 +2287,6 @@ msgstr ""
|
||||||
msgid "Sweeping Wallet..."
|
msgid "Sweeping Wallet..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/includes/terms.html:23
|
|
||||||
msgid "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OF THE SOFTWARE, EMPLOYEES AND AFFILIATES OF BITPAY, COPYRIGHT HOLDERS, OR BITPAY, INC. BE 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 OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/preferencesDeleteWallet.html:14
|
#: www/views/preferencesDeleteWallet.html:14
|
||||||
msgid "THIS ACTION CANNOT BE REVERSED"
|
msgid "THIS ACTION CANNOT BE REVERSED"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2291,10 +2306,6 @@ msgstr ""
|
||||||
msgid "Tap to retry"
|
msgid "Tap to retry"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/tab-settings.html:144
|
|
||||||
msgid "Tell a friend"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/termsOfUse.html:3
|
#: www/views/termsOfUse.html:3
|
||||||
msgid "Terms Of Use"
|
msgid "Terms Of Use"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2345,11 +2356,15 @@ msgstr ""
|
||||||
msgid "The maximum number of consecutive unused addresses (20) has been reached. When one of your unused addresses receives a payment, a new address will be generated and shown in your Receive tab."
|
msgid "The maximum number of consecutive unused addresses (20) has been reached. When one of your unused addresses receives a payment, a new address will be generated and shown in your Receive tab."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/onboarding/terms.js:21
|
||||||
|
msgid "The official English Terms of Service are available on the BitPay website. Would you like to view them?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/tab-import-phrase.html:4
|
#: www/views/tab-import-phrase.html:4
|
||||||
msgid "The password of the recovery phrase (if set)"
|
msgid "The password of the recovery phrase (if set)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/services/walletService.js:951
|
#: src/js/services/walletService.js:952
|
||||||
msgid "The payment was created but could not be completed. Please try again from home screen"
|
msgid "The payment was created but could not be completed. Please try again from home screen"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2376,10 +2391,6 @@ msgstr ""
|
||||||
msgid "The spend proposal is not pending"
|
msgid "The spend proposal is not pending"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/includes/terms.html:50
|
|
||||||
msgid "The terms and provisions of this Agreement are binding upon Your heirs, successors, assigns, and other representatives. This Agreement may be executed in counterparts, each of which shall be considered to be an original, but both of which constitute the same Agreement."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/preferencesHistory.html:26
|
#: www/views/preferencesHistory.html:26
|
||||||
msgid "The transaction history and every new incoming transaction are cached in the app. This feature clean this up and synchronizes again from the server"
|
msgid "The transaction history and every new incoming transaction are cached in the app. This feature clean this up and synchronizes again from the server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2415,14 +2426,6 @@ msgstr ""
|
||||||
msgid "These utilities may be unstable. Proceed at your own risk."
|
msgid "These utilities may be unstable. Proceed at your own risk."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/includes/terms.html:38
|
|
||||||
msgid "This Agreement, and its application and interpretation, shall be governed exclusively by the laws of the State of Georgia, without regard to its conflict of law rules. You consent to the exclusive jurisdiction of the federal and state courts located in or near Atlanta, Georgia for any dispute arising under this Agreement."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/includes/terms.html:11
|
|
||||||
msgid "This Software functions as a free, open source, and multi-signature digital wallet. The Software does not constitute an account where We or other third parties serve as financial intermediaries or custodians of Your bitcoin(s)."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/js/controllers/feedback/rateCard.js:37
|
#: src/js/controllers/feedback/rateCard.js:37
|
||||||
msgid "This app is fantastic!"
|
msgid "This app is fantastic!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2431,14 +2434,10 @@ msgstr ""
|
||||||
msgid "This app stores your bitcoin with cutting-edge security."
|
msgid "This app stores your bitcoin with cutting-edge security."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/confirm.js:434
|
#: src/js/controllers/confirm.js:439
|
||||||
msgid "This bitcoin payment request has expired."
|
msgid "This bitcoin payment request has expired."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/includes/terms.html:2
|
|
||||||
msgid "This is a binding Agreement between BitPay, Inc. (“BitPay” or “We”) and the person, persons, or entity (“You” or “Your”) using the service, Software, or application (“Software”)."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/join.html:108
|
#: www/views/join.html:108
|
||||||
#: www/views/tab-create-personal.html:75
|
#: www/views/tab-create-personal.html:75
|
||||||
#: www/views/tab-create-shared.html:105
|
#: www/views/tab-create-shared.html:105
|
||||||
|
@ -2459,8 +2458,8 @@ msgstr ""
|
||||||
msgid "Timeline"
|
msgid "Timeline"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/confirm.html:32
|
#: www/views/confirm.html:33
|
||||||
#: www/views/confirm.html:60
|
#: www/views/confirm.html:61
|
||||||
#: www/views/includes/output.html:2
|
#: www/views/includes/output.html:2
|
||||||
#: www/views/modals/txp-details.html:104
|
#: www/views/modals/txp-details.html:104
|
||||||
#: www/views/modals/txp-details.html:53
|
#: www/views/modals/txp-details.html:53
|
||||||
|
@ -2504,7 +2503,7 @@ msgid "Transaction already broadcasted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/activity.js:45
|
#: src/js/controllers/activity.js:45
|
||||||
#: src/js/controllers/tab-home.js:154
|
#: src/js/controllers/tab-home.js:160
|
||||||
#: src/js/controllers/tx-details.js:18
|
#: src/js/controllers/tx-details.js:18
|
||||||
msgid "Transaction not found"
|
msgid "Transaction not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2517,6 +2516,7 @@ msgstr ""
|
||||||
msgid "Translation Credits"
|
msgid "Translation Credits"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: www/views/preferencesAbout.html:35
|
||||||
#: www/views/translators.html:3
|
#: www/views/translators.html:3
|
||||||
msgid "Translators"
|
msgid "Translators"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2529,6 +2529,10 @@ msgstr ""
|
||||||
msgid "Type the Recovery Phrase (usually 12 words)"
|
msgid "Type the Recovery Phrase (usually 12 words)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/backup.js:75
|
||||||
|
msgid "Uh oh..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/modals/search.html:36
|
#: www/views/modals/search.html:36
|
||||||
#: www/views/tx-details.html:79
|
#: www/views/tx-details.html:79
|
||||||
msgid "Unconfirmed"
|
msgid "Unconfirmed"
|
||||||
|
@ -2550,6 +2554,10 @@ msgstr ""
|
||||||
msgid "Unused Addresses Limit"
|
msgid "Unused Addresses Limit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/tab-home.js:132
|
||||||
|
msgid "Update Available"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/proposals.html:15
|
#: www/views/proposals.html:15
|
||||||
msgid "Updating pending proposals. Please stand by"
|
msgid "Updating pending proposals. Please stand by"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2586,6 +2594,18 @@ msgstr ""
|
||||||
msgid "View All Addresses"
|
msgid "View All Addresses"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/onboarding/terms.js:20
|
||||||
|
msgid "View Terms of Service"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/tx-details.js:125
|
||||||
|
msgid "View Transaction on Insight"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/tab-home.js:134
|
||||||
|
msgid "View Update"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/tx-details.html:117
|
#: www/views/tx-details.html:117
|
||||||
msgid "View on blockchain"
|
msgid "View on blockchain"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2733,6 +2753,7 @@ msgid "Wallet needs backup"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/tab-receive.html:56
|
#: www/views/tab-receive.html:56
|
||||||
|
#: www/views/walletDetails.html:145
|
||||||
msgid "Wallet not backed up"
|
msgid "Wallet not backed up"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2740,7 +2761,7 @@ msgstr ""
|
||||||
msgid "Wallet not found"
|
msgid "Wallet not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/tab-home.js:199
|
#: src/js/controllers/tab-home.js:205
|
||||||
msgid "Wallet not registered"
|
msgid "Wallet not registered"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2760,8 +2781,8 @@ msgstr ""
|
||||||
msgid "Wallets"
|
msgid "Wallets"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/tab-settings.html:101
|
#: www/views/tab-settings.html:99
|
||||||
msgid "Wallets & Integrations"
|
msgid "Wallets & Integrations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/modals/txpDetails.js:126
|
#: src/js/controllers/modals/txpDetails.js:126
|
||||||
|
@ -2775,10 +2796,6 @@ msgstr ""
|
||||||
msgid "Warning: this transaction has unconfirmed inputs"
|
msgid "Warning: this transaction has unconfirmed inputs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/includes/terms.html:32
|
|
||||||
msgid "We retain all right, title, and interest in and to the Content and all of BitPay’s brands, logos, and trademarks, including, but not limited to, BitPay, Inc., BitPay, BitPay – Secure Bitcoin Wallet, BitPay Wallet, BitPay App, Copay, BitPay Prepaid Card, and variations of the wording of the aforementioned brands, logos, and trademarks."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/js/controllers/feedback/send.js:63
|
#: src/js/controllers/feedback/send.js:63
|
||||||
msgid "We'd love to do better."
|
msgid "We'd love to do better."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2796,7 +2813,7 @@ msgid "We're always looking for ways to improve BitPay. How could we improve you
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/preferencesLanguage.html:16
|
#: www/views/preferencesLanguage.html:16
|
||||||
#: www/views/translators.html:24
|
#: www/views/translators.html:23
|
||||||
msgid "We’re always looking for translation contributions! You can make corrections or help to make this app available in your native language by joining our community on Crowdin."
|
msgid "We’re always looking for translation contributions! You can make corrections or help to make this app available in your native language by joining our community on Crowdin."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2812,10 +2829,6 @@ msgstr ""
|
||||||
msgid "Where would you like to receive email notifications about payments?"
|
msgid "Where would you like to receive email notifications about payments?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/includes/terms.html:14
|
|
||||||
msgid "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 there will not be 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."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: www/views/addresses.html:23
|
#: www/views/addresses.html:23
|
||||||
msgid "Why?"
|
msgid "Why?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2840,6 +2853,10 @@ msgstr ""
|
||||||
msgid "Would you like to receive push notifications about payments?"
|
msgid "Would you like to receive push notifications about payments?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/tx-details.js:126
|
||||||
|
msgid "Would you like to view this transaction on the Insight blockchain explorer?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/import.js:248
|
#: src/js/controllers/import.js:248
|
||||||
msgid "Wrong number of recovery words:"
|
msgid "Wrong number of recovery words:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2857,18 +2874,23 @@ msgstr ""
|
||||||
msgid "Yes, skip backup"
|
msgid "Yes, skip backup"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/includes/terms.html:53
|
|
||||||
msgid "You assume any and all risks associated with the use of the Software. We reserve the right to modify this Agreement from time to time."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/js/controllers/onboarding/backupRequest.js:17
|
#: src/js/controllers/onboarding/backupRequest.js:17
|
||||||
msgid "You can create a backup later from your wallet settings."
|
msgid "You can create a backup later from your wallet settings."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/preferencesLanguage.js:12
|
||||||
|
#: src/js/controllers/translators.js:9
|
||||||
|
msgid "You can make contributions by signing up on our Crowdin community translation website. We’re looking forward to hearing from you!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/tab-scan.html:16
|
#: www/views/tab-scan.html:16
|
||||||
msgid "You can scan bitcoin addresses, payment requests, paper wallets, and more."
|
msgid "You can scan bitcoin addresses, payment requests, paper wallets, and more."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/js/controllers/preferencesAbout.js:13
|
||||||
|
msgid "You can see the latest developments and contribute to this open source app by visiting our project on GitHub."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/onboarding/tour.html:14
|
#: www/views/onboarding/tour.html:14
|
||||||
msgid "You can spend bitcoin at millions of websites and stores worldwide."
|
msgid "You can spend bitcoin at millions of websites and stores worldwide."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2901,6 +2923,10 @@ msgstr ""
|
||||||
msgid "Your bitcoin wallet is ready!"
|
msgid "Your bitcoin wallet is ready!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: www/views/feedback/send.html:42
|
||||||
|
msgid "Your ideas, feedback, or comments"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/tab-create-shared.html:22
|
#: www/views/tab-create-shared.html:22
|
||||||
msgid "Your name"
|
msgid "Your name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2927,6 +2953,7 @@ msgid "Your wallet key will be encrypted. The Spending Password cannot be recove
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/includes/walletSelector.html:23
|
#: www/views/includes/walletSelector.html:23
|
||||||
|
#: www/views/includes/wallets.html:13
|
||||||
#: www/views/tab-home.html:84
|
#: www/views/tab-home.html:84
|
||||||
#: www/views/walletDetails.html:127
|
#: www/views/walletDetails.html:127
|
||||||
#: www/views/walletDetails.html:69
|
#: www/views/walletDetails.html:69
|
||||||
|
@ -2949,6 +2976,10 @@ msgstr ""
|
||||||
msgid "me"
|
msgid "me"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: www/views/addressbook.add.html:32
|
||||||
|
msgid "name@example.com"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: www/views/preferencesHistory.html:14
|
#: www/views/preferencesHistory.html:14
|
||||||
msgid "preparing..."
|
msgid "preparing..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2957,7 +2988,7 @@ msgstr ""
|
||||||
msgid "{{feeRateStr}} of the transaction"
|
msgid "{{feeRateStr}} of the transaction"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/js/controllers/confirm.js:181
|
#: src/js/controllers/confirm.js:186
|
||||||
msgid "{{fee}} will be deducted for bitcoin networking fees."
|
msgid "{{fee}} will be deducted for bitcoin networking fees."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('addressbookListController', function($scope, $log, $timeout, addressbookService, lodash, popupService) {
|
angular.module('copayApp.controllers').controller('addressbookListController', function($scope, $log, $timeout, addressbookService, lodash, popupService, gettextCatalog) {
|
||||||
|
|
||||||
var contacts;
|
var contacts;
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,8 @@ angular.module('copayApp.controllers').controller('amazonController',
|
||||||
|
|
||||||
$scope.network = amazonService.getEnvironment();
|
$scope.network = amazonService.getEnvironment();
|
||||||
|
|
||||||
$scope.openExternalLink = function(url, optIn, title, message, okText, cancelText) {
|
$scope.openExternalLink = function(url) {
|
||||||
externalLinkService.open(url, optIn, title, message, okText, cancelText);
|
externalLinkService.open(url);
|
||||||
};
|
};
|
||||||
|
|
||||||
var initAmazon = function() {
|
var initAmazon = function() {
|
||||||
|
@ -20,7 +20,9 @@ angular.module('copayApp.controllers').controller('amazonController',
|
||||||
$scope.$digest();
|
$scope.$digest();
|
||||||
});
|
});
|
||||||
if ($scope.cardClaimCode) {
|
if ($scope.cardClaimCode) {
|
||||||
var card = lodash.find($scope.giftCards, { claimCode: $scope.cardClaimCode });
|
var card = lodash.find($scope.giftCards, {
|
||||||
|
claimCode: $scope.cardClaimCode
|
||||||
|
});
|
||||||
if (lodash.isEmpty(card)) {
|
if (lodash.isEmpty(card)) {
|
||||||
popupService.showAlert(gettextCatalog.getString('Error'), gettextCatalog.getString('Card not found'));
|
popupService.showAlert(gettextCatalog.getString('Error'), gettextCatalog.getString('Card not found'));
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -36,12 +36,14 @@ angular.module('copayApp.controllers').controller('amountController', function($
|
||||||
throw ('bad params');
|
throw ('bad params');
|
||||||
}
|
}
|
||||||
|
|
||||||
glideraService.getLimits($scope.glideraAccessToken, function(err, limits) {
|
if ($scope.isGlidera) {
|
||||||
$scope.limits = limits;
|
glideraService.getLimits($scope.glideraAccessToken, function(err, limits) {
|
||||||
$timeout(function() {
|
$scope.limits = limits;
|
||||||
$scope.$apply();
|
$timeout(function() {
|
||||||
|
$scope.$apply();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
}
|
||||||
|
|
||||||
var reNr = /^[1234567890\.]$/;
|
var reNr = /^[1234567890\.]$/;
|
||||||
var reOp = /^[\*\+\-\/]$/;
|
var reOp = /^[\*\+\-\/]$/;
|
||||||
|
@ -229,6 +231,20 @@ angular.module('copayApp.controllers').controller('amountController', function($
|
||||||
return result.replace('x', '*');
|
return result.replace('x', '*');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$scope.getRates = function() {
|
||||||
|
bitpayCardService.getRates($scope.alternativeIsoCode, function(err, res) {
|
||||||
|
if (err) {
|
||||||
|
$log.warn(err);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if ($scope.unitName == 'bits') {
|
||||||
|
$scope.exchangeRate = '1,000,000 bits ~ ' + res.rate + ' ' + $scope.alternativeIsoCode;
|
||||||
|
} else {
|
||||||
|
$scope.exchangeRate = '1 BTC ~ ' + res.rate + ' ' + $scope.alternativeIsoCode;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
$scope.finish = function() {
|
$scope.finish = function() {
|
||||||
var _amount = evaluate(format($scope.amount));
|
var _amount = evaluate(format($scope.amount));
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ angular.module('copayApp.controllers').controller('backupController',
|
||||||
|
|
||||||
var showBackupResult = function() {
|
var showBackupResult = function() {
|
||||||
if ($scope.backupError) {
|
if ($scope.backupError) {
|
||||||
var title = 'Uh oh...';
|
var title = gettextCatalog.getString('Uh oh...');
|
||||||
var message = gettextCatalog.getString("It's important that you write your backup phrase down correctly. If something happens to your wallet, you'll need this backup to recover your money. Please review your backup and try again.");
|
var message = gettextCatalog.getString("It's important that you write your backup phrase down correctly. If something happens to your wallet, you'll need this backup to recover your money. Please review your backup and try again.");
|
||||||
popupService.showAlert(title, message, function() {
|
popupService.showAlert(title, message, function() {
|
||||||
$scope.setFlow(2);
|
$scope.setFlow(2);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('confirmController', function($rootScope, $scope, $interval, $filter, $timeout, $ionicScrollDelegate, gettextCatalog, walletService, platformInfo, lodash, configService, rateService, $stateParams, $window, $state, $log, profileService, bitcore, gettext, txFormatService, ongoingProcess, $ionicModal, popupService, $ionicHistory, $ionicConfig, payproService, feeService, amazonService, glideraService, bwcError) {
|
angular.module('copayApp.controllers').controller('confirmController', function($rootScope, $scope, $interval, $filter, $timeout, $ionicScrollDelegate, gettextCatalog, walletService, platformInfo, lodash, configService, rateService, $stateParams, $window, $state, $log, profileService, bitcore, txFormatService, ongoingProcess, $ionicModal, popupService, $ionicHistory, $ionicConfig, payproService, feeService, amazonService, glideraService, bwcError, bitpayCardService) {
|
||||||
var cachedTxp = {};
|
var cachedTxp = {};
|
||||||
var toAmount;
|
var toAmount;
|
||||||
var isChromeApp = platformInfo.isChromeApp;
|
var isChromeApp = platformInfo.isChromeApp;
|
||||||
|
@ -45,7 +45,8 @@ angular.module('copayApp.controllers').controller('confirmController', function(
|
||||||
};
|
};
|
||||||
|
|
||||||
var config = configService.getSync().wallet;
|
var config = configService.getSync().wallet;
|
||||||
$scope.feeLevel = config.settings && config.settings.feeLevel ? config.settings.feeLevel : 'normal';
|
var feeLevel = config.settings && config.settings.feeLevel ? config.settings.feeLevel : 'normal';
|
||||||
|
$scope.feeLevel = feeService.feeOpts[feeLevel];
|
||||||
if ($scope.isGlidera) $scope.network = glideraService.getEnvironment();
|
if ($scope.isGlidera) $scope.network = glideraService.getEnvironment();
|
||||||
else $scope.network = (new bitcore.Address($scope.toAddress)).network.name;
|
else $scope.network = (new bitcore.Address($scope.toAddress)).network.name;
|
||||||
resetValues();
|
resetValues();
|
||||||
|
@ -55,8 +56,7 @@ angular.module('copayApp.controllers').controller('confirmController', function(
|
||||||
function setwallets() {
|
function setwallets() {
|
||||||
$scope.wallets = profileService.getWallets({
|
$scope.wallets = profileService.getWallets({
|
||||||
onlyComplete: true,
|
onlyComplete: true,
|
||||||
network: $scope.network,
|
network: $scope.network
|
||||||
n: $scope.isGiftCard ? true : false
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!$scope.wallets || !$scope.wallets.length) {
|
if (!$scope.wallets || !$scope.wallets.length) {
|
||||||
|
@ -70,6 +70,11 @@ angular.module('copayApp.controllers').controller('confirmController', function(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($scope.isGlidera == 'buy') {
|
||||||
|
initConfirm();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var filteredWallets = [];
|
var filteredWallets = [];
|
||||||
var index = 0;
|
var index = 0;
|
||||||
var enoughFunds = false;
|
var enoughFunds = false;
|
||||||
|
@ -346,7 +351,7 @@ angular.module('copayApp.controllers').controller('confirmController', function(
|
||||||
$timeout(function() {
|
$timeout(function() {
|
||||||
$scope.$apply();
|
$scope.$apply();
|
||||||
});
|
});
|
||||||
popupService.showAlert(gettextCatalog.getString('Error at confirm'), msg);
|
popupService.showAlert(gettextCatalog.getString('Error at confirm'), bwcError.msg(msg));
|
||||||
};
|
};
|
||||||
|
|
||||||
function apply(txp) {
|
function apply(txp) {
|
||||||
|
@ -368,13 +373,13 @@ angular.module('copayApp.controllers').controller('confirmController', function(
|
||||||
|
|
||||||
// ToDo: use a credential's (or fc's) function for this
|
// ToDo: use a credential's (or fc's) function for this
|
||||||
if (description && !wallet.credentials.sharedEncryptingKey) {
|
if (description && !wallet.credentials.sharedEncryptingKey) {
|
||||||
var msg = 'Could not add message to imported wallet without shared encrypting key';
|
var msg = gettextCatalog.getString('Could not add message to imported wallet without shared encrypting key');
|
||||||
$log.warn(msg);
|
$log.warn(msg);
|
||||||
return setSendError(msg);
|
return setSendError(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (toAmount > Number.MAX_SAFE_INTEGER) {
|
if (toAmount > Number.MAX_SAFE_INTEGER) {
|
||||||
var msg = 'Amount too big';
|
var msg = gettextCatalog.getString('Amount too big');
|
||||||
$log.warn(msg);
|
$log.warn(msg);
|
||||||
return setSendError(msg);
|
return setSendError(msg);
|
||||||
}
|
}
|
||||||
|
@ -824,4 +829,21 @@ angular.module('copayApp.controllers').controller('confirmController', function(
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$scope.getRates = function() {
|
||||||
|
var config = configService.getSync().wallet.settings;
|
||||||
|
var unitName = config.unitName;
|
||||||
|
var alternativeIsoCode = config.alternativeIsoCode;
|
||||||
|
bitpayCardService.getRates(alternativeIsoCode, function(err, res) {
|
||||||
|
if (err) {
|
||||||
|
$log.warn(err);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (unitName == 'bits') {
|
||||||
|
$scope.exchangeRate = '1,000,000 bits ~ ' + res.rate + ' ' + alternativeIsoCode;
|
||||||
|
} else {
|
||||||
|
$scope.exchangeRate = '1 BTC ~ ' + res.rate + ' ' + alternativeIsoCode;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('createController',
|
angular.module('copayApp.controllers').controller('createController',
|
||||||
function($scope, $rootScope, $timeout, $log, lodash, $state, $ionicScrollDelegate, $ionicHistory, profileService, configService, gettext, gettextCatalog, ledger, trezor, platformInfo, derivationPathHelper, ongoingProcess, walletService, storageService, popupService) {
|
function($scope, $rootScope, $timeout, $log, lodash, $state, $ionicScrollDelegate, $ionicHistory, profileService, configService, gettextCatalog, ledger, trezor, platformInfo, derivationPathHelper, ongoingProcess, walletService, storageService, popupService) {
|
||||||
|
|
||||||
var isChromeApp = platformInfo.isChromeApp;
|
var isChromeApp = platformInfo.isChromeApp;
|
||||||
var isCordova = platformInfo.isCordova;
|
var isCordova = platformInfo.isCordova;
|
||||||
|
@ -67,10 +67,10 @@ angular.module('copayApp.controllers').controller('createController',
|
||||||
function updateSeedSourceSelect(n) {
|
function updateSeedSourceSelect(n) {
|
||||||
var seedOptions = [{
|
var seedOptions = [{
|
||||||
id: 'new',
|
id: 'new',
|
||||||
label: gettext('Random'),
|
label: gettextCatalog.getString('Random'),
|
||||||
}, {
|
}, {
|
||||||
id: 'set',
|
id: 'set',
|
||||||
label: gettext('Specify Recovery Phrase...'),
|
label: gettextCatalog.getString('Specify Recovery Phrase...'),
|
||||||
}];
|
}];
|
||||||
|
|
||||||
$scope.seedSource = seedOptions[0];
|
$scope.seedSource = seedOptions[0];
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('rateAppController', function($scope, $state, $stateParams, $window, lodash, externalLinkService, configService, gettextCatalog, platformInfo, feedbackService, ongoingProcess, popupService) {
|
angular.module('copayApp.controllers').controller('rateAppController', function($scope, $state, $stateParams, $window, lodash, externalLinkService, configService, platformInfo, feedbackService, ongoingProcess, popupService) {
|
||||||
$scope.score = parseInt($stateParams.score);
|
$scope.score = parseInt($stateParams.score);
|
||||||
var isAndroid = platformInfo.isAndroid;
|
var isAndroid = platformInfo.isAndroid;
|
||||||
var isIOS = platformInfo.isIOS;
|
var isIOS = platformInfo.isIOS;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('joinController',
|
angular.module('copayApp.controllers').controller('joinController',
|
||||||
function($scope, $rootScope, $timeout, $state, $ionicHistory, $ionicScrollDelegate, profileService, configService, storageService, applicationService, gettext, gettextCatalog, lodash, ledger, trezor, platformInfo, derivationPathHelper, ongoingProcess, walletService, $log, $stateParams, popupService) {
|
function($scope, $rootScope, $timeout, $state, $ionicHistory, $ionicScrollDelegate, profileService, configService, storageService, applicationService, gettextCatalog, lodash, ledger, trezor, platformInfo, derivationPathHelper, ongoingProcess, walletService, $log, $stateParams, popupService) {
|
||||||
|
|
||||||
var isChromeApp = platformInfo.isChromeApp;
|
var isChromeApp = platformInfo.isChromeApp;
|
||||||
var isDevel = platformInfo.isDevel;
|
var isDevel = platformInfo.isDevel;
|
||||||
|
@ -50,10 +50,10 @@ angular.module('copayApp.controllers').controller('joinController',
|
||||||
var updateSeedSourceSelect = function() {
|
var updateSeedSourceSelect = function() {
|
||||||
self.seedOptions = [{
|
self.seedOptions = [{
|
||||||
id: 'new',
|
id: 'new',
|
||||||
label: gettext('Random'),
|
label: gettextCatalog.getString('Random'),
|
||||||
}, {
|
}, {
|
||||||
id: 'set',
|
id: 'set',
|
||||||
label: gettext('Specify Recovery Phrase...'),
|
label: gettextCatalog.getString('Specify Recovery Phrase...'),
|
||||||
}];
|
}];
|
||||||
$scope.seedSource = self.seedOptions[0];
|
$scope.seedSource = self.seedOptions[0];
|
||||||
|
|
||||||
|
|
|
@ -62,8 +62,8 @@ angular.module('copayApp.controllers').controller('amazonCardDetailsController',
|
||||||
$scope.amazonCardDetailsModal.hide();
|
$scope.amazonCardDetailsModal.hide();
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.openExternalLink = function(url, optIn, title, message, okText, cancelText) {
|
$scope.openExternalLink = function(url) {
|
||||||
externalLinkService.open(url, optIn, title, message, okText, cancelText);
|
externalLinkService.open(url);
|
||||||
};
|
};
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
@ -107,7 +107,7 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var setError = function (err, prefix) {
|
var setError = function(err, prefix) {
|
||||||
$scope.sendStatus = '';
|
$scope.sendStatus = '';
|
||||||
$scope.loading = false;
|
$scope.loading = false;
|
||||||
popupService.showAlert(gettextCatalog.getString('Error'), bwcError.msg(err, prefix));
|
popupService.showAlert(gettextCatalog.getString('Error'), bwcError.msg(err, prefix));
|
||||||
|
@ -164,9 +164,9 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi
|
||||||
$scope.loading = true;
|
$scope.loading = true;
|
||||||
|
|
||||||
$timeout(function() {
|
$timeout(function() {
|
||||||
ongoingProcess.set('broadcastTx', true);
|
ongoingProcess.set('broadcastingTx', true);
|
||||||
walletService.broadcastTx($scope.wallet, $scope.tx, function(err, txpb) {
|
walletService.broadcastTx($scope.wallet, $scope.tx, function(err, txpb) {
|
||||||
ongoingProcess.set('broadcastTx', false);
|
ongoingProcess.set('broadcastingTx', false);
|
||||||
|
|
||||||
if (err) {
|
if (err) {
|
||||||
return setError(err, gettextCatalog.getString('Could not broadcast payment'));
|
return setError(err, gettextCatalog.getString('Could not broadcast payment'));
|
||||||
|
@ -185,7 +185,7 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi
|
||||||
$scope.wallet.getTx($scope.tx.id, function(err, tx) {
|
$scope.wallet.getTx($scope.tx.id, function(err, tx) {
|
||||||
if (err) {
|
if (err) {
|
||||||
if (err.message && err.message == 'Transaction proposal not found' &&
|
if (err.message && err.message == 'Transaction proposal not found' &&
|
||||||
(eventName == 'transactionProposalRemoved' || eventName == 'TxProposalRemoved')) {
|
(eventName == 'transactionProposalRemoved' || eventName == 'TxProposalRemoved')) {
|
||||||
$scope.tx.removed = true;
|
$scope.tx.removed = true;
|
||||||
$scope.tx.canBeRemoved = false;
|
$scope.tx.canBeRemoved = false;
|
||||||
$scope.tx.pendingForUs = false;
|
$scope.tx.pendingForUs = false;
|
||||||
|
@ -209,7 +209,7 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
var bwsEvent = $rootScope.$on('bwsEvent', function(e, walletId, type, n) {
|
var bwsEvent = $rootScope.$on('bwsEvent', function(e, walletId, type, n) {
|
||||||
lodash.each([
|
lodash.each([
|
||||||
'TxProposalRejectedBy',
|
'TxProposalRejectedBy',
|
||||||
'TxProposalAcceptedBy',
|
'TxProposalAcceptedBy',
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('termsController', function($scope, $log, $state, $window, uxLanguage, profileService, externalLinkService) {
|
angular.module('copayApp.controllers').controller('termsController', function($scope, $log, $state, $window, uxLanguage, profileService, externalLinkService, gettextCatalog) {
|
||||||
$scope.lang = uxLanguage.currentLanguage;
|
$scope.lang = uxLanguage.currentLanguage;
|
||||||
$scope.disclaimerUrl = $window.appConfig.disclaimerUrl;
|
|
||||||
|
|
||||||
$scope.confirm = function() {
|
$scope.confirm = function() {
|
||||||
profileService.setDisclaimerAccepted(function(err) {
|
profileService.setDisclaimerAccepted(function(err) {
|
||||||
|
@ -15,7 +14,13 @@ angular.module('copayApp.controllers').controller('termsController', function($s
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.openExternalLink = function(url, optIn, title, message, okText, cancelText) {
|
$scope.openExternalLink = function() {
|
||||||
|
var url = $window.appConfig.disclaimerUrl;
|
||||||
|
var optIn = true;
|
||||||
|
var title = gettextCatalog.getString('View Terms of Service');
|
||||||
|
var message = gettextCatalog.getString('The official English Terms of Service are available on the BitPay website. Would you like to view them?');
|
||||||
|
var okText = gettextCatalog.getString('Open Website');
|
||||||
|
var cancelText = gettextCatalog.getString('Go Back');
|
||||||
externalLinkService.open(url, optIn, title, message, okText, cancelText);
|
externalLinkService.open(url, optIn, title, message, okText, cancelText);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('preferencesController',
|
angular.module('copayApp.controllers').controller('preferencesController',
|
||||||
function($scope, $rootScope, $timeout, $log, $stateParams, $ionicHistory, gettextCatalog, configService, profileService, fingerprintService, walletService) {
|
function($scope, $rootScope, $timeout, $log, $stateParams, $ionicHistory, configService, profileService, fingerprintService, walletService) {
|
||||||
var wallet = profileService.getWallet($stateParams.walletId);
|
var wallet = profileService.getWallet($stateParams.walletId);
|
||||||
var walletId = wallet.credentials.walletId;
|
var walletId = wallet.credentials.walletId;
|
||||||
$scope.wallet = wallet;
|
$scope.wallet = wallet;
|
||||||
|
|
|
@ -6,9 +6,14 @@ angular.module('copayApp.controllers').controller('preferencesAbout',
|
||||||
$scope.title = gettextCatalog.getString('About') + ' ' + $window.appConfig.nameCase;
|
$scope.title = gettextCatalog.getString('About') + ' ' + $window.appConfig.nameCase;
|
||||||
$scope.version = $window.version;
|
$scope.version = $window.version;
|
||||||
$scope.commitHash = $window.commitHash;
|
$scope.commitHash = $window.commitHash;
|
||||||
$scope.name = $window.appConfig.gitHubRepoName;
|
|
||||||
|
|
||||||
$scope.openExternalLink = function(url, optIn, title, message, okText, cancelText) {
|
$scope.openExternalLink = function() {
|
||||||
|
var url = 'https://github.com/bitpay/' + $window.appConfig.gitHubRepoName + '/tree/' + $window.commitHash + '';
|
||||||
|
var optIn = true;
|
||||||
|
var title = gettextCatalog.getString('Open GitHub Project');
|
||||||
|
var message = gettextCatalog.getString('You can see the latest developments and contribute to this open source app by visiting our project on GitHub.');
|
||||||
|
var okText = gettextCatalog.getString('Open GitHub');
|
||||||
|
var cancelText = gettextCatalog.getString('Go Back');
|
||||||
externalLinkService.open(url, optIn, title, message, okText, cancelText);
|
externalLinkService.open(url, optIn, title, message, okText, cancelText);
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('preferencesAliasController',
|
angular.module('copayApp.controllers').controller('preferencesAliasController',
|
||||||
function($scope, $timeout, $stateParams, $ionicHistory, gettextCatalog, configService, profileService, walletService) {
|
function($scope, $timeout, $stateParams, $ionicHistory, configService, profileService, walletService) {
|
||||||
var wallet = profileService.getWallet($stateParams.walletId);
|
var wallet = profileService.getWallet($stateParams.walletId);
|
||||||
var walletId = wallet.credentials.walletId;
|
var walletId = wallet.credentials.walletId;
|
||||||
var config = configService.getSync();
|
var config = configService.getSync();
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('preferencesAltCurrencyController',
|
angular.module('copayApp.controllers').controller('preferencesAltCurrencyController',
|
||||||
function($scope, $log, $timeout, $ionicHistory, gettextCatalog, configService, rateService, lodash, profileService, walletService) {
|
function($scope, $log, $timeout, $ionicHistory, configService, rateService, lodash, profileService, walletService) {
|
||||||
|
|
||||||
var next = 10;
|
var next = 10;
|
||||||
var completeAlternativeList;
|
var completeAlternativeList;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('preferencesColorController', function($scope, $timeout, $log, $stateParams, $ionicHistory, gettextCatalog, configService, profileService) {
|
angular.module('copayApp.controllers').controller('preferencesColorController', function($scope, $timeout, $log, $stateParams, $ionicHistory, configService, profileService) {
|
||||||
var wallet = profileService.getWallet($stateParams.walletId);
|
var wallet = profileService.getWallet($stateParams.walletId);
|
||||||
$scope.wallet = wallet;
|
$scope.wallet = wallet;
|
||||||
var walletId = wallet.credentials.walletId;
|
var walletId = wallet.credentials.walletId;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('preferencesHistory',
|
angular.module('copayApp.controllers').controller('preferencesHistory',
|
||||||
function($scope, $log, $stateParams, $timeout, $state, $ionicHistory, gettextCatalog, storageService, platformInfo, profileService, lodash, $window) {
|
function($scope, $log, $stateParams, $timeout, $state, $ionicHistory, storageService, platformInfo, profileService, lodash, $window) {
|
||||||
$scope.wallet = profileService.getWallet($stateParams.walletId);
|
$scope.wallet = profileService.getWallet($stateParams.walletId);
|
||||||
$scope.csvReady = false;
|
$scope.csvReady = false;
|
||||||
$scope.isCordova = platformInfo.isCordova;
|
$scope.isCordova = platformInfo.isCordova;
|
||||||
|
|
|
@ -1,12 +1,18 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('preferencesLanguageController',
|
angular.module('copayApp.controllers').controller('preferencesLanguageController',
|
||||||
function($scope, $log, $ionicHistory, gettextCatalog, configService, profileService, uxLanguage, walletService, externalLinkService) {
|
function($scope, $log, $ionicHistory, configService, profileService, uxLanguage, walletService, externalLinkService) {
|
||||||
|
|
||||||
$scope.availableLanguages = uxLanguage.getLanguages();
|
$scope.availableLanguages = uxLanguage.getLanguages();
|
||||||
|
|
||||||
$scope.openExternalLink = function(url, target) {
|
$scope.openExternalLink = function() {
|
||||||
externalLinkService.open(url, target);
|
var url = 'https://crowdin.com/project/copay';
|
||||||
|
var optIn = true;
|
||||||
|
var title = gettextCatalog.getString('Open Translation Community');
|
||||||
|
var message = gettextCatalog.getString('You can make contributions by signing up on our Crowdin community translation website. We’re looking forward to hearing from you!');
|
||||||
|
var okText = gettextCatalog.getString('Open Crowdin');
|
||||||
|
var cancelText = gettextCatalog.getString('Go Back');
|
||||||
|
externalLinkService.open(url, optIn, title, message, okText, cancelText);
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.save = function(newLang) {
|
$scope.save = function(newLang) {
|
||||||
|
@ -18,19 +24,18 @@ angular.module('copayApp.controllers').controller('preferencesLanguageController
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
uxLanguage._set(newLang);
|
||||||
configService.set(opts, function(err) {
|
configService.set(opts, function(err) {
|
||||||
if (err) $log.warn(err);
|
if (err) $log.warn(err);
|
||||||
|
walletService.updateRemotePreferences(profileService.getWallets(), {}, function() {
|
||||||
$ionicHistory.goBack();
|
$log.debug('Remote preferences saved');
|
||||||
uxLanguage.init(function() {
|
|
||||||
walletService.updateRemotePreferences(profileService.getWallets(), {}, function() {
|
|
||||||
$log.debug('Remote preferences saved');
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$ionicHistory.goBack();
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.$on("$ionicView.enter", function(event, data){
|
$scope.$on("$ionicView.beforeEnter", function(event, data) {
|
||||||
$scope.currentLanguage = uxLanguage.getCurrentLanguage();
|
$scope.currentLanguage = uxLanguage.getCurrentLanguage();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('preferencesLogs',
|
angular.module('copayApp.controllers').controller('preferencesLogs',
|
||||||
function($scope, historicLog, gettextCatalog) {
|
function($scope, historicLog) {
|
||||||
|
|
||||||
$scope.$on("$ionicView.enter", function(event, data) {
|
$scope.$on("$ionicView.enter", function(event, data) {
|
||||||
$scope.logs = historicLog.get();
|
$scope.logs = historicLog.get();
|
||||||
|
|
|
@ -126,7 +126,13 @@ angular.module('copayApp.controllers').controller('tabHomeController',
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
$scope.openExternalLink = function(url, optIn, title, message, okText, cancelText) {
|
$scope.openExternalLink = function() {
|
||||||
|
var url = 'https://github.com/bitpay/copay/releases/latest';
|
||||||
|
var optIn = true;
|
||||||
|
var title = gettextCatalog.getString('Update Available');
|
||||||
|
var message = gettextCatalog.getString('An update to this app is available. For your security, please update to the latest version.');
|
||||||
|
var okText = gettextCatalog.getString('View Update');
|
||||||
|
var cancelText = gettextCatalog.getString('Go Back');
|
||||||
externalLinkService.open(url, optIn, title, message, okText, cancelText);
|
externalLinkService.open(url, optIn, title, message, okText, cancelText);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('tabSendController', function($scope, $log, $timeout, $ionicScrollDelegate, addressbookService, profileService, lodash, $state, walletService, incomingData, popupService, $rootScope) {
|
angular.module('copayApp.controllers').controller('tabSendController', function($scope, $rootScope, $log, $timeout, $ionicScrollDelegate, addressbookService, profileService, lodash, $state, walletService, incomingData, popupService) {
|
||||||
|
|
||||||
var originalList;
|
var originalList;
|
||||||
var CONTACTS_SHOW_LIMIT;
|
var CONTACTS_SHOW_LIMIT;
|
||||||
|
@ -128,6 +128,7 @@ angular.module('copayApp.controllers').controller('tabSendController', function(
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$scope.checkingBalance = true;
|
||||||
var index = 0;
|
var index = 0;
|
||||||
lodash.each(wallets, function(w) {
|
lodash.each(wallets, function(w) {
|
||||||
walletService.getStatus(w, {}, function(err, status) {
|
walletService.getStatus(w, {}, function(err, status) {
|
||||||
|
@ -143,6 +144,7 @@ angular.module('copayApp.controllers').controller('tabSendController', function(
|
||||||
}
|
}
|
||||||
|
|
||||||
if (index == wallets.length) {
|
if (index == wallets.length) {
|
||||||
|
$scope.checkingBalance = false;
|
||||||
$timeout(function() {
|
$timeout(function() {
|
||||||
$scope.$apply();
|
$scope.$apply();
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('tabSettingsController', function($scope, $window, $ionicModal, $log, lodash, uxLanguage, platformInfo, profileService, feeService, configService, externalLinkService, bitpayCardService, storageService, glideraService) {
|
angular.module('copayApp.controllers').controller('tabSettingsController', function($scope, $window, $ionicModal, $log, lodash, uxLanguage, platformInfo, profileService, feeService, configService, externalLinkService, bitpayCardService, storageService, glideraService, gettextCatalog) {
|
||||||
|
|
||||||
var updateConfig = function() {
|
var updateConfig = function() {
|
||||||
|
|
||||||
var config = configService.getSync();
|
|
||||||
var isCordova = platformInfo.isCordova;
|
var isCordova = platformInfo.isCordova;
|
||||||
var isWP = platformInfo.isWP;
|
var isWP = platformInfo.isWP;
|
||||||
var isWindowsPhoneApp = platformInfo.isWP && isCordova;
|
var isWindowsPhoneApp = platformInfo.isWP && isCordova;
|
||||||
|
@ -13,41 +11,53 @@ angular.module('copayApp.controllers').controller('tabSettingsController', funct
|
||||||
$scope.isCordova = isCordova;
|
$scope.isCordova = isCordova;
|
||||||
|
|
||||||
$scope.appName = $window.appConfig.nameCase;
|
$scope.appName = $window.appConfig.nameCase;
|
||||||
|
|
||||||
$scope.unitName = config.wallet.settings.unitName;
|
|
||||||
$scope.currentLanguageName = uxLanguage.getCurrentLanguageName();
|
$scope.currentLanguageName = uxLanguage.getCurrentLanguageName();
|
||||||
$scope.selectedAlternative = {
|
|
||||||
name: config.wallet.settings.alternativeName,
|
|
||||||
isoCode: config.wallet.settings.alternativeIsoCode
|
|
||||||
};
|
|
||||||
$scope.feeOpts = feeService.feeOpts;
|
$scope.feeOpts = feeService.feeOpts;
|
||||||
$scope.currentFeeLevel = feeService.getCurrentFeeLevel();
|
$scope.currentFeeLevel = feeService.getCurrentFeeLevel();
|
||||||
|
|
||||||
$scope.wallets = profileService.getWallets();
|
$scope.wallets = profileService.getWallets();
|
||||||
|
|
||||||
|
configService.whenAvailable(function(config) {
|
||||||
|
$scope.unitName = config.wallet.settings.unitName;
|
||||||
|
$scope.selectedAlternative = {
|
||||||
|
name: config.wallet.settings.alternativeName,
|
||||||
|
isoCode: config.wallet.settings.alternativeIsoCode
|
||||||
|
};
|
||||||
|
|
||||||
$scope.bitpayCardEnabled = config.bitpayCard.enabled;
|
$scope.bitpayCardEnabled = config.bitpayCard.enabled;
|
||||||
|
$scope.glideraEnabled = config.glidera.enabled && !isWindowsPhoneApp;
|
||||||
|
|
||||||
$scope.glideraEnabled = config.glidera.enabled && !isWindowsPhoneApp;
|
if ($scope.bitpayCardEnabled) {
|
||||||
|
bitpayCardService.getBitpayDebitCards(function(err, data) {
|
||||||
|
if (err) $log.error(err);
|
||||||
|
if (!lodash.isEmpty(data)) {
|
||||||
|
$scope.bitpayCards = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($scope.glideraEnabled) {
|
||||||
|
storageService.getGlideraToken(glideraService.getEnvironment(), function(err, token) {
|
||||||
|
if (err) $log.error(err);
|
||||||
|
$scope.glideraToken = token;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.openExternalLink = function(url, optIn, title, message, okText, cancelText) {
|
$scope.openExternalLink = function() {
|
||||||
|
var url = 'https://help.bitpay.com/bitpay-app';
|
||||||
|
var optIn = true;
|
||||||
|
var title = gettextCatalog.getString('BitPay Help Center');
|
||||||
|
var message = gettextCatalog.getString('Help and support information is available at the BitPay Help Center website. Would you like to go there now?');
|
||||||
|
var okText = gettextCatalog.getString('Open Help Center');
|
||||||
|
var cancelText = gettextCatalog.getString('Go Back');
|
||||||
externalLinkService.open(url, optIn, title, message, okText, cancelText);
|
externalLinkService.open(url, optIn, title, message, okText, cancelText);
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.$on("$ionicView.beforeEnter", function(event, data) {
|
$scope.$on("$ionicView.beforeEnter", function(event, data) {
|
||||||
updateConfig();
|
updateConfig();
|
||||||
|
|
||||||
bitpayCardService.getBitpayDebitCards(function(err, data) {
|
|
||||||
if (err) $log.error(err);
|
|
||||||
if (!lodash.isEmpty(data)) {
|
|
||||||
$scope.bitpayCards = true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
storageService.getGlideraToken(glideraService.getEnvironment(), function(err, token) {
|
|
||||||
if (err) $log.error(err);
|
|
||||||
$scope.glideraToken = token;
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('tabsController', function($rootScope, $log, $scope, $state, $stateParams, $timeout, incomingData, lodash, popupService) {
|
angular.module('copayApp.controllers').controller('tabsController', function($rootScope, $log, $scope, $state, $stateParams, $timeout, incomingData, lodash, popupService, gettextCatalog) {
|
||||||
|
|
||||||
$scope.onScan = function(data) {
|
$scope.onScan = function(data) {
|
||||||
if (!incomingData.redir(data)) {
|
if (!incomingData.redir(data)) {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('termOfUseController',
|
angular.module('copayApp.controllers').controller('termOfUseController',
|
||||||
function($scope, $window, uxLanguage, gettextCatalog, externalLinkService) {
|
function($scope, $window, uxLanguage, externalLinkService) {
|
||||||
$scope.lang = uxLanguage.currentLanguage;
|
$scope.lang = uxLanguage.currentLanguage;
|
||||||
$scope.disclaimerUrl = $window.appConfig.disclaimerUrl;
|
$scope.disclaimerUrl = $window.appConfig.disclaimerUrl;
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,14 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('translatorsController',
|
angular.module('copayApp.controllers').controller('translatorsController',
|
||||||
function($scope, externalLinkService) {
|
function($scope, externalLinkService, gettextCatalog) {
|
||||||
$scope.openExternalLink = function(url, target) {
|
$scope.openExternalLink = function() {
|
||||||
externalLinkService.open(url, target);
|
var url = 'https://crowdin.com/project/copay';
|
||||||
|
var optIn = true;
|
||||||
|
var title = gettextCatalog.getString('Open Translation Community');
|
||||||
|
var message = gettextCatalog.getString('You can make contributions by signing up on our Crowdin community translation website. We’re looking forward to hearing from you!');
|
||||||
|
var okText = gettextCatalog.getString('Open Crowdin');
|
||||||
|
var cancelText = gettextCatalog.getString('Go Back');
|
||||||
|
externalLinkService.open(url, optIn, title, message, okText, cancelText);
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
|
@ -121,12 +121,11 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio
|
||||||
$scope.viewOnBlockchain = function() {
|
$scope.viewOnBlockchain = function() {
|
||||||
var btx = $scope.btx;
|
var btx = $scope.btx;
|
||||||
var url = 'https://' + ($scope.getShortNetworkName() == 'test' ? 'test-' : '') + 'insight.bitpay.com/tx/' + btx.txid;
|
var url = 'https://' + ($scope.getShortNetworkName() == 'test' ? 'test-' : '') + 'insight.bitpay.com/tx/' + btx.txid;
|
||||||
var title = 'View Transaction on Insight';
|
var optIn = true;
|
||||||
var message = 'Would you like to view this transaction on the Insight blockchain explorer?';
|
var title = gettextCatalog.getString('View Transaction on Insight');
|
||||||
$scope.openExternalLink(url, true, title, message, 'Open Insight', 'Go back');
|
var message = gettextCatalog.getString('Would you like to view this transaction on the Insight blockchain explorer?');
|
||||||
};
|
var okText = gettextCatalog.getString('Open Insight');
|
||||||
|
var cancelText = gettextCatalog.getString('Go Back');
|
||||||
$scope.openExternalLink = function(url, optIn, title, message, okText, cancelText) {
|
|
||||||
externalLinkService.open(url, optIn, title, message, okText, cancelText);
|
externalLinkService.open(url, optIn, title, message, okText, cancelText);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('walletDetailsController', function($scope, $rootScope, $interval, $timeout, $filter, $log, $ionicModal, $ionicPopover, $state, $stateParams, $ionicHistory, profileService, lodash, configService, gettextCatalog, platformInfo, walletService, txpModalService, externalLinkService, popupService, addressbookService, storageService, $ionicScrollDelegate, $window) {
|
angular.module('copayApp.controllers').controller('walletDetailsController', function($scope, $rootScope, $interval, $timeout, $filter, $log, $ionicModal, $ionicPopover, $state, $stateParams, $ionicHistory, profileService, lodash, configService, platformInfo, walletService, txpModalService, externalLinkService, popupService, addressbookService, storageService, $ionicScrollDelegate, $window) {
|
||||||
|
|
||||||
var HISTORY_SHOW_LIMIT = 10;
|
var HISTORY_SHOW_LIMIT = 10;
|
||||||
var currentTxHistoryPage = 0;
|
var currentTxHistoryPage = 0;
|
||||||
|
@ -316,7 +316,7 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun
|
||||||
var scrollWatcherInitialized;
|
var scrollWatcherInitialized;
|
||||||
|
|
||||||
$scope.$on("$ionicView.enter", function(event, data) {
|
$scope.$on("$ionicView.enter", function(event, data) {
|
||||||
setAndroidStatusBarColor();
|
if ($scope.isCordova && $scope.isAndroid) setAndroidStatusBarColor();
|
||||||
if (scrollWatcherInitialized || !$scope.amountIsCollapsible) {
|
if (scrollWatcherInitialized || !$scope.amountIsCollapsible) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -349,7 +349,7 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun
|
||||||
});
|
});
|
||||||
|
|
||||||
$scope.$on("$ionicView.beforeLeave", function(event, data) {
|
$scope.$on("$ionicView.beforeLeave", function(event, data) {
|
||||||
if($window.StatusBar) {
|
if ($window.StatusBar) {
|
||||||
$window.StatusBar.backgroundColorByHexString('#1e3186');
|
$window.StatusBar.backgroundColorByHexString('#1e3186');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -362,20 +362,18 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun
|
||||||
|
|
||||||
function setAndroidStatusBarColor() {
|
function setAndroidStatusBarColor() {
|
||||||
var SUBTRACT_AMOUNT = 15;
|
var SUBTRACT_AMOUNT = 15;
|
||||||
if(!$scope.isAndroid) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var rgb = hexToRgb($scope.wallet.color);
|
var rgb = hexToRgb($scope.wallet.color);
|
||||||
var keys = Object.keys(rgb);
|
var keys = Object.keys(rgb);
|
||||||
keys.forEach(function(k) {
|
keys.forEach(function(k) {
|
||||||
if(rgb[k] - SUBTRACT_AMOUNT < 0) {
|
if (rgb[k] - SUBTRACT_AMOUNT < 0) {
|
||||||
rgb[k] = 0;
|
rgb[k] = 0;
|
||||||
} else {
|
} else {
|
||||||
rgb[k] -= SUBTRACT_AMOUNT;
|
rgb[k] -= SUBTRACT_AMOUNT;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
var statusBarColorHexString = rgbToHex(rgb.r, rgb.g, rgb.b);
|
var statusBarColorHexString = rgbToHex(rgb.r, rgb.g, rgb.b);
|
||||||
$window.StatusBar.backgroundColorByHexString(statusBarColorHexString);
|
if ($window.StatusBar)
|
||||||
|
$window.StatusBar.backgroundColorByHexString(statusBarColorHexString);
|
||||||
}
|
}
|
||||||
|
|
||||||
function hexToRgb(hex) {
|
function hexToRgb(hex) {
|
||||||
|
|
|
@ -305,6 +305,15 @@ angular.module('copayApp.services').factory('bitpayCardService', function($http,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
root.getRates = function(currency, cb) {
|
||||||
|
$http(_get('/rates/' + currency)).then(function(data) {
|
||||||
|
$log.info('BitPay Get Rates: SUCCESS');
|
||||||
|
return cb(data.data.error, data.data.data);
|
||||||
|
}, function(data) {
|
||||||
|
return cb(_setError('BitPay Error: Get Rates', data));
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* CONSTANTS
|
* CONSTANTS
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -21,14 +21,10 @@ angular.module('copayApp.services').service('externalLinkService', function(plat
|
||||||
_restoreHandleOpenURL(old);
|
_restoreHandleOpenURL(old);
|
||||||
} else {
|
} else {
|
||||||
if (optIn) {
|
if (optIn) {
|
||||||
var message = gettextCatalog.getString(message),
|
var openBrowser = function(res) {
|
||||||
title = gettextCatalog.getString(title),
|
if (res) window.open(url, '_system');
|
||||||
okText = gettextCatalog.getString(okText),
|
_restoreHandleOpenURL(old);
|
||||||
cancelText = gettextCatalog.getString(cancelText),
|
};
|
||||||
openBrowser = function(res) {
|
|
||||||
if (res) window.open(url, '_system');
|
|
||||||
_restoreHandleOpenURL(old);
|
|
||||||
};
|
|
||||||
popupService.showConfirm(title, message, okText, cancelText, openBrowser);
|
popupService.showConfirm(title, message, okText, cancelText, openBrowser);
|
||||||
} else {
|
} else {
|
||||||
window.open(url, '_system');
|
window.open(url, '_system');
|
||||||
|
|
|
@ -765,6 +765,12 @@ angular.module('copayApp.services')
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (opts.m) {
|
||||||
|
ret = lodash.filter(ret, function(w) {
|
||||||
|
return (w.credentials.m == opts.m);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
if (opts.onlyComplete) {
|
if (opts.onlyComplete) {
|
||||||
ret = lodash.filter(ret, function(w) {
|
ret = lodash.filter(ret, function(w) {
|
||||||
return w.isComplete();
|
return w.isComplete();
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.services')
|
angular.module('copayApp.services')
|
||||||
.factory('trezor', function($log, $timeout, gettext, lodash, bitcore, hwWallet) {
|
.factory('trezor', function($log, $timeout, lodash, bitcore, hwWallet) {
|
||||||
var root = {};
|
var root = {};
|
||||||
|
|
||||||
var SETTLE_TIME = 3000;
|
var SETTLE_TIME = 3000;
|
||||||
|
@ -82,7 +82,7 @@ angular.module('copayApp.services')
|
||||||
if (txp.outputs.length > 1)
|
if (txp.outputs.length > 1)
|
||||||
return callback('Only single output TXPs are supported in TREZOR');
|
return callback('Only single output TXPs are supported in TREZOR');
|
||||||
} else {
|
} else {
|
||||||
return callback('Unknown TXP at TREZOR');
|
return callback('Unknown TXP at TREZOR');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (txp.outputs) {
|
if (txp.outputs) {
|
||||||
|
|
|
@ -8,42 +8,39 @@ angular.module('copayApp.services')
|
||||||
root.availableLanguages = [{
|
root.availableLanguages = [{
|
||||||
name: 'English',
|
name: 'English',
|
||||||
isoCode: 'en',
|
isoCode: 'en',
|
||||||
}, {
|
|
||||||
name: 'Český',
|
|
||||||
isoCode: 'cs',
|
|
||||||
}, {
|
|
||||||
name: 'Français',
|
|
||||||
isoCode: 'fr',
|
|
||||||
}, {
|
|
||||||
name: 'Italiano',
|
|
||||||
isoCode: 'it',
|
|
||||||
}, {
|
|
||||||
name: 'Deutsch',
|
|
||||||
isoCode: 'de',
|
|
||||||
}, {
|
}, {
|
||||||
name: 'Español',
|
name: 'Español',
|
||||||
isoCode: 'es',
|
isoCode: 'es',
|
||||||
}, {
|
}, {
|
||||||
name: '日本語',
|
name: 'Français',
|
||||||
isoCode: 'ja',
|
isoCode: 'fr',
|
||||||
useIdeograms: true,
|
// }, {
|
||||||
}, {
|
// name: 'Český',
|
||||||
name: '中文(简体)',
|
// isoCode: 'cs',
|
||||||
isoCode: 'zh',
|
// }, {
|
||||||
useIdeograms: true,
|
// name: 'Italiano',
|
||||||
}, {
|
// isoCode: 'it',
|
||||||
name: 'Polski',
|
// }, {
|
||||||
isoCode: 'pl',
|
// name: 'Deutsch',
|
||||||
}, {
|
// isoCode: 'de',
|
||||||
name: 'Pусский',
|
// }, {
|
||||||
isoCode: 'ru',
|
// name: '日本語',
|
||||||
|
// isoCode: 'ja',
|
||||||
|
// useIdeograms: true,
|
||||||
|
// }, {
|
||||||
|
// name: '中文(简体)',
|
||||||
|
// isoCode: 'zh',
|
||||||
|
// useIdeograms: true,
|
||||||
|
// }, {
|
||||||
|
// name: 'Polski',
|
||||||
|
// isoCode: 'pl',
|
||||||
|
// }, {
|
||||||
|
// name: 'Pусский',
|
||||||
|
// isoCode: 'ru',
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
|
||||||
root._detect = function(cb) {
|
root._detect = function(cb) {
|
||||||
|
|
||||||
return cb('en'); //disable auto detection for release;
|
|
||||||
|
|
||||||
var userLang, androidLang;
|
var userLang, androidLang;
|
||||||
if (navigator && navigator.globalization) {
|
if (navigator && navigator.globalization) {
|
||||||
|
|
||||||
|
|
|
@ -144,7 +144,7 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim
|
||||||
if (err instanceof errors.NOT_AUTHORIZED) {
|
if (err instanceof errors.NOT_AUTHORIZED) {
|
||||||
return cb('WALLET_NOT_REGISTERED');
|
return cb('WALLET_NOT_REGISTERED');
|
||||||
}
|
}
|
||||||
return cb(bwcError.msg(err, gettext('Could not update Wallet')));
|
return cb(err);
|
||||||
}
|
}
|
||||||
return cb(null, ret);
|
return cb(null, ret);
|
||||||
});
|
});
|
||||||
|
@ -405,7 +405,7 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim
|
||||||
function getNewTxs(newTxs, skip, cb) {
|
function getNewTxs(newTxs, skip, cb) {
|
||||||
getTxsFromServer(wallet, skip, endingTxid, requestLimit, function(err, res, shouldContinue) {
|
getTxsFromServer(wallet, skip, endingTxid, requestLimit, function(err, res, shouldContinue) {
|
||||||
if (err) {
|
if (err) {
|
||||||
$log.warn('BWS Error:' + err); //TODO
|
$log.warn(bwcError.msg(err, 'BWS Error')); //TODO
|
||||||
if (err instanceof errors.CONNECTION_ERROR || (err.message && err.message.match(/5../))) {
|
if (err instanceof errors.CONNECTION_ERROR || (err.message && err.message.match(/5../))) {
|
||||||
log.info('Retrying history download in 5 secs...');
|
log.info('Retrying history download in 5 secs...');
|
||||||
return $timeout(function() {
|
return $timeout(function() {
|
||||||
|
@ -835,9 +835,11 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim
|
||||||
|
|
||||||
|
|
||||||
root.encrypt = function(wallet, cb) {
|
root.encrypt = function(wallet, cb) {
|
||||||
askPassword(wallet.name, gettext('Enter new spending password'), function(password) {
|
var title = gettextCatalog.getString('Enter new spending password');
|
||||||
|
askPassword(wallet.name, title, function(password) {
|
||||||
if (!password) return cb('no password');
|
if (!password) return cb('no password');
|
||||||
askPassword(wallet.name, gettext('Confirm you new spending password'), function(password2) {
|
title = gettextCatalog.getString('Confirm you new spending password');
|
||||||
|
askPassword(wallet.name, gettextCatalog.getString('Confirm you new spending password'), function(password2) {
|
||||||
if (!password2 || password != password2)
|
if (!password2 || password != password2)
|
||||||
return cb('password mismatch');
|
return cb('password mismatch');
|
||||||
|
|
||||||
|
@ -850,7 +852,7 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim
|
||||||
|
|
||||||
root.decrypt = function(wallet, cb) {
|
root.decrypt = function(wallet, cb) {
|
||||||
$log.debug('Disabling private key encryption for' + wallet.name);
|
$log.debug('Disabling private key encryption for' + wallet.name);
|
||||||
askPassword(wallet.name, gettext('Enter Spending Password'), function(password) {
|
askPassword(wallet.name, gettextCatalog.getString('Enter Spending Password'), function(password) {
|
||||||
if (!password) return cb('no password');
|
if (!password) return cb('no password');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -865,7 +867,7 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim
|
||||||
root.handleEncryptedWallet = function(wallet, cb) {
|
root.handleEncryptedWallet = function(wallet, cb) {
|
||||||
if (!root.isEncrypted(wallet)) return cb();
|
if (!root.isEncrypted(wallet)) return cb();
|
||||||
|
|
||||||
askPassword(wallet.name, gettext('Enter Spending Password'), function(password) {
|
askPassword(wallet.name, gettextCatalog.getString('Enter Spending Password'), function(password) {
|
||||||
if (!password) return cb('No password');
|
if (!password) return cb('No password');
|
||||||
if (!wallet.checkPassword(password)) return cb('Wrong password');
|
if (!wallet.checkPassword(password)) return cb('Wrong password');
|
||||||
|
|
||||||
|
@ -930,13 +932,13 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim
|
||||||
}
|
}
|
||||||
|
|
||||||
root.prepare(wallet, function(err, password) {
|
root.prepare(wallet, function(err, password) {
|
||||||
if (err) return cb('Prepare error: ' + err);
|
if (err) return cb(bwcError.msg(err));
|
||||||
|
|
||||||
ongoingProcess.set('sendingTx', true, customStatusHandler);
|
ongoingProcess.set('sendingTx', true, customStatusHandler);
|
||||||
|
|
||||||
publishFn(wallet, txp, function(err, publishedTxp) {
|
publishFn(wallet, txp, function(err, publishedTxp) {
|
||||||
ongoingProcess.set('sendingTx', false, customStatusHandler);
|
ongoingProcess.set('sendingTx', false, customStatusHandler);
|
||||||
if (err) return cb('Send Error: ' + err);
|
if (err) return cb(bwcError.msg(err));
|
||||||
|
|
||||||
ongoingProcess.set('signingTx', true, customStatusHandler);
|
ongoingProcess.set('signingTx', true, customStatusHandler);
|
||||||
root.signTx(wallet, publishedTxp, password, function(err, signedTxp) {
|
root.signTx(wallet, publishedTxp, password, function(err, signedTxp) {
|
||||||
|
@ -946,10 +948,9 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim
|
||||||
|
|
||||||
if (err) {
|
if (err) {
|
||||||
$log.warn('sign error:' + err);
|
$log.warn('sign error:' + err);
|
||||||
// TODO?
|
var msg = err && err.message ?
|
||||||
var msg = err.message ?
|
|
||||||
err.message :
|
err.message :
|
||||||
gettext('The payment was created but could not be completed. Please try again from home screen');
|
gettextCatalog.getString('The payment was created but could not be completed. Please try again from home screen');
|
||||||
|
|
||||||
$rootScope.$emit('Local/TxAction', wallet.id);
|
$rootScope.$emit('Local/TxAction', wallet.id);
|
||||||
return cb(msg);
|
return cb(msg);
|
||||||
|
@ -959,7 +960,7 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim
|
||||||
ongoingProcess.set('broadcastingTx', true, customStatusHandler);
|
ongoingProcess.set('broadcastingTx', true, customStatusHandler);
|
||||||
root.broadcastTx(wallet, signedTxp, function(err, broadcastedTxp) {
|
root.broadcastTx(wallet, signedTxp, function(err, broadcastedTxp) {
|
||||||
ongoingProcess.set('broadcastingTx', false, customStatusHandler);
|
ongoingProcess.set('broadcastingTx', false, customStatusHandler);
|
||||||
if (err) return cb('sign error' + err);
|
if (err) return cb(bwcError.msg(err));
|
||||||
|
|
||||||
$rootScope.$emit('Local/TxAction', wallet.id);
|
$rootScope.$emit('Local/TxAction', wallet.id);
|
||||||
var type = root.getViewStatus(wallet, broadcastedTxp);
|
var type = root.getViewStatus(wallet, broadcastedTxp);
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
<span class="input-label" translate>Email</span>
|
<span class="input-label" translate>Email</span>
|
||||||
<input type="text"
|
<input type="text"
|
||||||
id="email"
|
id="email"
|
||||||
placeholder="name@example.com"
|
placeholder="{{'name@example.com' | translate}}"
|
||||||
name="email"
|
name="email"
|
||||||
ng-model="addressbookEntry.email">
|
ng-model="addressbookEntry.email">
|
||||||
</label>
|
</label>
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
<div class="addr-list">
|
<div class="addr-list">
|
||||||
<div class="addr-explanation">
|
<div class="addr-explanation">
|
||||||
<div class="addr-description">
|
<div class="addr-description">
|
||||||
<span translate>Each bitcoin wallet can generate billions of addresses from your 12-word backup. A new address is automatically generated and shown each time your recive a payment.</span><a ng-click="showInformation()" ng-if="!showInfo" translate>Why?</a>
|
<span translate>Each bitcoin wallet can generate billions of addresses from your 12-word backup. A new address is automatically generated and shown each time you receive a payment.</span><a ng-click="showInformation()" ng-if="!showInfo" translate>Why?</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,7 @@
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<span translate>Amount</span>
|
<span translate>Amount</span>
|
||||||
<div class="size-12" ng-show="isGiftCard">Purchase Amount is limited to USD 1000 per day</div>
|
<div class="size-12" ng-show="isGiftCard">Purchase Amount is limited to USD 1000 per day</div>
|
||||||
|
<div class="size-12" ng-if="cardId" ng-init="getRates()">{{exchangeRate}}</div>
|
||||||
<div ng-show="isGlidera">
|
<div ng-show="isGlidera">
|
||||||
<div class="limits" ng-show="limits && isGlidera == 'buy'">
|
<div class="limits" ng-show="limits && isGlidera == 'buy'">
|
||||||
<span>Daily buy limit</span>:
|
<span>Daily buy limit</span>:
|
||||||
|
|
|
@ -7,11 +7,11 @@
|
||||||
</ion-nav-buttons>
|
</ion-nav-buttons>
|
||||||
</ion-nav-bar>
|
</ion-nav-bar>
|
||||||
<ion-content scroll="false">
|
<ion-content scroll="false">
|
||||||
<div class="onboarding-topic">Are you being watched?</div>
|
<div class="onboarding-topic" translate>Are you being watched?</div>
|
||||||
<div class="onboarding-description">Now is a perfect time to assess your surroundings. Nearby windows? Hidden cameras? Shoulder-spies?</div>
|
<div class="onboarding-description" translate>Now is a perfect time to assess your surroundings. Nearby windows? Hidden cameras? Shoulder-spies?</div>
|
||||||
<div class="onboarding-illustration-backup-warning"></div>
|
<div class="onboarding-illustration-backup-warning"></div>
|
||||||
<div id="cta-buttons">
|
<div id="cta-buttons">
|
||||||
<div class="onboarding-tldr">Anyone with your backup phrase can access or spend your bitcoin.</div>
|
<div class="onboarding-tldr" translate>Anyone with your backup phrase can access or spend your bitcoin.</div>
|
||||||
<button class="button button-standard button-primary" ng-click="openPopup()" translate>All clear, let's do this</button>
|
<button class="button button-standard button-primary" ng-click="openPopup()" translate>All clear, let's do this</button>
|
||||||
</div>
|
</div>
|
||||||
</ion-content>
|
</ion-content>
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="amount-label">
|
<div class="amount-label">
|
||||||
<div class="amount">{{displayAmount || '...'}} <span class="unit">{{displayUnit}}</span></div>
|
<div class="amount">{{displayAmount || '...'}} <span class="unit">{{displayUnit}}</span></div>
|
||||||
|
<div class="right size-12" ng-if="cardId" ng-init="getRates()">{{exchangeRate}}</div>
|
||||||
<div class="alternative">{{alternativeAmountStr || '...'}}</div>
|
<div class="alternative">{{alternativeAmountStr || '...'}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -75,7 +76,7 @@
|
||||||
<i class="icon bp-arrow-right"></i>
|
<i class="icon bp-arrow-right"></i>
|
||||||
</a>
|
</a>
|
||||||
<div class="item single-line" ng-if="!insufficientFunds && !noMatchingWallet && !isGlidera">
|
<div class="item single-line" ng-if="!insufficientFunds && !noMatchingWallet && !isGlidera">
|
||||||
<span class="label" translate>Fee: {{feeLevel}}</span>
|
<span class="label">{{'Fee' | translate}}: {{feeLevel | translate}}</span>
|
||||||
<span class="item-note">
|
<span class="item-note">
|
||||||
{{fee || '...'}}
|
{{fee || '...'}}
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
<span>{{comment}}</span>
|
<span>{{comment}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div ng-if="showForm" class="form-fade-in">
|
<div ng-if="showForm" class="form-fade-in">
|
||||||
<textarea class="user-feedback" ng-model="feedback.value" rows="5" placeholder="Your ideas, feedback, or comments" autofocus></textarea>
|
<textarea class="user-feedback" ng-model="feedback.value" rows="5" placeholder="{{'Your ideas, feedback, or comments' | translate}}" autofocus></textarea>
|
||||||
<button ng-disabled="!feedback.value" type="submit" class="button button-standard button-primary" ng-click="sendFeedback(feedback.value)" translate>
|
<button ng-disabled="!feedback.value" type="submit" class="button button-standard button-primary" ng-click="sendFeedback(feedback.value)" translate>
|
||||||
Send
|
Send
|
||||||
</button>
|
</button>
|
||||||
|
|
|
@ -31,13 +31,13 @@
|
||||||
Connect to Glidera
|
Connect to Glidera
|
||||||
</button>
|
</button>
|
||||||
<div class="m10t">
|
<div class="m10t">
|
||||||
<a href ng-click="showOauthForm = true" class="button button-standard button-secondary buttion-clear" translate>
|
<a href ng-click="showOauthForm = true" class="button button-standard button-secondary buttion-clear">
|
||||||
Have the OAuth Code?
|
Have the OAuth Code?
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="disclosure">
|
<div class="disclosure">
|
||||||
<p translate>Glidera Inc. (Glidera) is providing the service of buying or selling bitcoin to BitPay users. To enable this service, Glidera has registered with US Treasury Department’s FinCEN as a Money Service Business (#31000042625755). Users of BitPay must agree to the service agreement presented by Glidera prior to obtaining Glidera’s service of buying or selling bitcoin.</p>
|
<p>Glidera Inc. (Glidera) is providing the service of buying or selling bitcoin to BitPay users. To enable this service, Glidera has registered with US Treasury Department’s FinCEN as a Money Service Business (#31000042625755). Users of BitPay must agree to the service agreement presented by Glidera prior to obtaining Glidera’s service of buying or selling bitcoin.</p>
|
||||||
<p>Service is available in the U.S. and Canada. In the U.S. – AZ, CA, CO, DE, GA, IL, KS, MA, MD, ME, MN, MO, MT, NJ, NV, PA, SC, TN, TX, UT, WI. In Canada – AB, BC, MB, NB, NL, NS, NT, NU, ON, PE, SK, YT.</p>
|
<p>Service is available in the U.S. and Canada.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div ng-show="showOauthForm">
|
<div ng-show="showOauthForm">
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<img src="img/glidera-logo.png" width="100">
|
<img src="img/glidera-logo.png" width="100">
|
||||||
<div class="m20t" translate>
|
<div class="m20t">
|
||||||
Connecting...
|
Connecting...
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,56 +1,56 @@
|
||||||
<div id="terms">
|
<div id="terms">
|
||||||
<p translate>
|
<p>
|
||||||
This is a binding Agreement between BitPay, Inc. (“BitPay” or “We”) and the person, persons, or entity (“You” or “Your”) using the service, Software, or application (“Software”).
|
This is a binding Agreement between BitPay, Inc. (“BitPay” or “We”) and the person, persons, or entity (“You” or “Your”) using the service, Software, or application (“Software”).
|
||||||
</p>
|
</p>
|
||||||
<p class="terms__heading" translate>
|
<p class="terms__heading">
|
||||||
RIGHTS AND OBLIGATIONS
|
RIGHTS AND OBLIGATIONS
|
||||||
</p>
|
</p>
|
||||||
<p translate>
|
<p>
|
||||||
BitPay provides the Software solely on the terms and conditions set forth in this Agreement and on the condition that You accept and comply with them. By using the Software You (a) accept this Agreement and agree that You are legally bound by its terms; and (b) represent and warrant that: (i) You are of legal age to enter into a binding agreement; and (ii) if You are a corporation, governmental organization or other legal entity, You have the right, power and authority to enter into this Agreement on behalf of the corporation, governmental organization or other legal entity and bind them to these terms.
|
BitPay provides the Software solely on the terms and conditions set forth in this Agreement and on the condition that You accept and comply with them. By using the Software You (a) accept this Agreement and agree that You are legally bound by its terms; and (b) represent and warrant that: (i) You are of legal age to enter into a binding agreement; and (ii) if You are a corporation, governmental organization or other legal entity, You have the right, power and authority to enter into this Agreement on behalf of the corporation, governmental organization or other legal entity and bind them to these terms.
|
||||||
</p>
|
</p>
|
||||||
<p translate>
|
<p>
|
||||||
This Software functions as a free, open source, and multi-signature digital wallet. The Software does not constitute an account where We or other third parties serve as financial intermediaries or custodians of Your bitcoin(s).
|
This Software functions as a free, open source, and multi-signature digital wallet. The Software does not constitute an account where We or other third parties serve as financial intermediaries or custodians of Your bitcoin(s).
|
||||||
</p>
|
</p>
|
||||||
<p translate>
|
<p>
|
||||||
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 there will not be 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.
|
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 there will not be 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.
|
||||||
</p>
|
</p>
|
||||||
<p translate>
|
<p>
|
||||||
IF YOU LOSE ACCESS TO YOUR BITCOIN 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 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.
|
IF YOU LOSE ACCESS TO YOUR BITCOIN 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 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.
|
||||||
</p>
|
</p>
|
||||||
<p class="terms__heading" translate>
|
<p class="terms__heading">
|
||||||
DISCLAIMER
|
DISCLAIMER
|
||||||
</p>
|
</p>
|
||||||
<p translate>
|
<p>
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OF THE SOFTWARE, EMPLOYEES AND AFFILIATES OF BITPAY, COPYRIGHT HOLDERS, OR BITPAY, INC. BE 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 OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OF THE SOFTWARE, EMPLOYEES AND AFFILIATES OF BITPAY, COPYRIGHT HOLDERS, OR BITPAY, INC. BE 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 OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
</p>
|
</p>
|
||||||
<p translate>
|
<p>
|
||||||
IN NO EVENT WILL BITPAY OR ITS AFFILIATES, OR ANY OF ITS OR THEIR RESPECTIVE SERVICE PROVIDERS, BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY USE, INTERRUPTION, DELAY OR INABILITY TO USE THE SOFTWARE, LOST REVENUES OR PROFITS, DELAYS, INTERRUPTION OR LOSS OF SERVICES, BUSINESS OR GOODWILL, LOSS OR CORRUPTION OF DATA, LOSS RESULTING FROM SYSTEM OR SYSTEM SERVICE FAILURE, MALFUNCTION OR SHUTDOWN, FAILURE TO ACCURATELY TRANSFER, READ OR TRANSMIT INFORMATION, FAILURE TO UPDATE OR PROVIDE CORRECT INFORMATION, SYSTEM INCOMPATIBILITY OR PROVISION OF INCORRECT COMPATIBILITY INFORMATION OR BREACHES IN SYSTEM SECURITY, OR FOR ANY CONSEQUENTIAL, INCIDENTAL, INDIRECT, EXEMPLARY, SPECIAL OR PUNITIVE DAMAGES, WHETHER ARISING OUT OF OR IN CONNECTION WITH THIS AGREEMENT, BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE) OR OTHERWISE, REGARDLESS OF WHETHER SUCH DAMAGES WERE FORESEEABLE AND WHETHER OR NOT WE WERE ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
IN NO EVENT WILL BITPAY OR ITS AFFILIATES, OR ANY OF ITS OR THEIR RESPECTIVE SERVICE PROVIDERS, BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY USE, INTERRUPTION, DELAY OR INABILITY TO USE THE SOFTWARE, LOST REVENUES OR PROFITS, DELAYS, INTERRUPTION OR LOSS OF SERVICES, BUSINESS OR GOODWILL, LOSS OR CORRUPTION OF DATA, LOSS RESULTING FROM SYSTEM OR SYSTEM SERVICE FAILURE, MALFUNCTION OR SHUTDOWN, FAILURE TO ACCURATELY TRANSFER, READ OR TRANSMIT INFORMATION, FAILURE TO UPDATE OR PROVIDE CORRECT INFORMATION, SYSTEM INCOMPATIBILITY OR PROVISION OF INCORRECT COMPATIBILITY INFORMATION OR BREACHES IN SYSTEM SECURITY, OR FOR ANY CONSEQUENTIAL, INCIDENTAL, INDIRECT, EXEMPLARY, SPECIAL OR PUNITIVE DAMAGES, WHETHER ARISING OUT OF OR IN CONNECTION WITH THIS AGREEMENT, BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE) OR OTHERWISE, REGARDLESS OF WHETHER SUCH DAMAGES WERE FORESEEABLE AND WHETHER OR NOT WE WERE ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||||
</p>
|
</p>
|
||||||
<p class="terms__heading" translate>
|
<p class="terms__heading">
|
||||||
INTELLECTUAL PROPERTY
|
INTELLECTUAL PROPERTY
|
||||||
</p>
|
</p>
|
||||||
<p translate>
|
<p>
|
||||||
We retain all right, title, and interest in and to the Content and all of BitPay’s brands, logos, and trademarks, including, but not limited to, BitPay, Inc., BitPay, BitPay – Secure Bitcoin Wallet, BitPay Wallet, BitPay App, Copay, BitPay Prepaid Card, and variations of the wording of the aforementioned brands, logos, and trademarks.
|
We retain all right, title, and interest in and to the Content and all of BitPay’s brands, logos, and trademarks, including, but not limited to, BitPay, Inc., BitPay, BitPay – Secure Bitcoin Wallet, BitPay Wallet, BitPay App, Copay, BitPay Prepaid Card, and variations of the wording of the aforementioned brands, logos, and trademarks.
|
||||||
</p>
|
</p>
|
||||||
<p class="terms__heading" translate>
|
<p class="terms__heading">
|
||||||
CHOICE OF LAW
|
CHOICE OF LAW
|
||||||
</p>
|
</p>
|
||||||
<p translate>
|
<p>
|
||||||
This Agreement, and its application and interpretation, shall be governed exclusively by the laws of the State of Georgia, without regard to its conflict of law rules. You consent to the exclusive jurisdiction of the federal and state courts located in or near Atlanta, Georgia for any dispute arising under this Agreement.
|
This Agreement, and its application and interpretation, shall be governed exclusively by the laws of the State of Georgia, without regard to its conflict of law rules. You consent to the exclusive jurisdiction of the federal and state courts located in or near Atlanta, Georgia for any dispute arising under this Agreement.
|
||||||
</p>
|
</p>
|
||||||
<p class="terms__heading" translate>
|
<p class="terms__heading">
|
||||||
SEVERABILITY
|
SEVERABILITY
|
||||||
</p>
|
</p>
|
||||||
<p translate>
|
<p>
|
||||||
In the event any court shall declare any section or sections of this Agreement invalid or void, such declaration shall not invalidate the entire Agreement and all other paragraphs of the Agreement shall remain in full force and effect.
|
In the event any court shall declare any section or sections of this Agreement invalid or void, such declaration shall not invalidate the entire Agreement and all other paragraphs of the Agreement shall remain in full force and effect.
|
||||||
</p>
|
</p>
|
||||||
<p class="terms__heading" translate>
|
<p class="terms__heading">
|
||||||
BINDING AGREEMENT
|
BINDING AGREEMENT
|
||||||
</p>
|
</p>
|
||||||
<p translate>
|
<p>
|
||||||
The terms and provisions of this Agreement are binding upon Your heirs, successors, assigns, and other representatives. This Agreement may be executed in counterparts, each of which shall be considered to be an original, but both of which constitute the same Agreement.
|
The terms and provisions of this Agreement are binding upon Your heirs, successors, assigns, and other representatives. This Agreement may be executed in counterparts, each of which shall be considered to be an original, but both of which constitute the same Agreement.
|
||||||
</p>
|
</p>
|
||||||
<p translate>
|
<p>
|
||||||
You assume any and all risks associated with the use of the Software. We reserve the right to modify this Agreement from time to time.
|
You assume any and all risks associated with the use of the Software. We reserve the right to modify this Agreement from time to time.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -7,9 +7,10 @@
|
||||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': wallet.color}" class="bg"/>
|
<img src="img/icon-wallet.svg" ng-style="{'background-color': wallet.color}" class="bg"/>
|
||||||
</i>
|
</i>
|
||||||
<span class="wallet-name">{{wallet.name || wallet.id}}</span>
|
<span class="wallet-name">{{wallet.name || wallet.id}}</span>
|
||||||
<span class="item-note m10l">
|
<span class="item-note m10l" ng-if="!wallet.balanceHidden">
|
||||||
{{wallet.status.availableBalanceStr}}
|
{{wallet.status.availableBalanceStr}}
|
||||||
</span>
|
</span>
|
||||||
|
<span class="item-note m10l" ng-if="wallet.balanceHidden" translate>[Balance Hidden]</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ion-slide-page>
|
</ion-slide-page>
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
</ion-content>
|
</ion-content>
|
||||||
<div id="agree-to-terms">
|
<div id="agree-to-terms">
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<a ng-click="openExternalLink('https://copay.io/disclaimer', true, 'View Terms of Service', 'The official English Terms of Service are available on the BitPay website. Would you like to view them?', 'Open Website', 'Go Back')" ng-show="lang != 'en'" translate>Official English Disclaimer</a>
|
<a ng-click="openExternalLink()" ng-show="lang != 'en'" translate>Official English Disclaimer</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col col-20">
|
<div class="col col-20">
|
||||||
|
|
|
@ -164,13 +164,15 @@
|
||||||
<click-to-accept
|
<click-to-accept
|
||||||
ng-click="onConfirm(statusChangeHandler)"
|
ng-click="onConfirm(statusChangeHandler)"
|
||||||
ng-if="tx.pendingForUs && canSign && !paymentExpired && hasClick"
|
ng-if="tx.pendingForUs && canSign && !paymentExpired && hasClick"
|
||||||
click-send-status="sendStatus">
|
click-send-status="sendStatus"
|
||||||
|
has-wallet-chosen="true">
|
||||||
Click to accept
|
Click to accept
|
||||||
</click-to-accept>
|
</click-to-accept>
|
||||||
<slide-to-accept
|
<slide-to-accept
|
||||||
ng-if="tx.pendingForUs && canSign && !paymentExpired && !hasClick"
|
ng-if="tx.pendingForUs && canSign && !paymentExpired && !hasClick"
|
||||||
slide-on-confirm="onConfirm()"
|
slide-on-confirm="onConfirm()"
|
||||||
slide-send-status="sendStatus">
|
slide-send-status="sendStatus"
|
||||||
|
has-wallet-chosen="true">
|
||||||
Slide to accept
|
Slide to accept
|
||||||
</slide-to-accept>
|
</slide-to-accept>
|
||||||
<slide-to-accept-success
|
<slide-to-accept-success
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
<div class="onboarding-illustration-secure"></div>
|
<div class="onboarding-illustration-secure"></div>
|
||||||
<div class="cta-buttons">
|
<div class="cta-buttons">
|
||||||
<div class="onboarding-tldr" translate>Just scan the code to pay.</div>
|
<div class="onboarding-tldr" translate>Just scan the code to pay.</div>
|
||||||
<button class="button button-standard button-secondary" ng-click="slideNext()">
|
<button class="button button-standard button-secondary" ng-click="slideNext()" translate>
|
||||||
Got it →
|
Got it →
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="cta-buttons">
|
<div class="cta-buttons">
|
||||||
<div class="onboarding-tldr" translate>The exchange rate changes with the market.</div>
|
<div class="onboarding-tldr" translate>The exchange rate changes with the market.</div>
|
||||||
<button class="button button-standard button-secondary" ng-click="slideNext()">
|
<button class="button button-standard button-secondary" ng-click="slideNext()" translate>
|
||||||
Makes sense →
|
Makes sense →
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -38,12 +38,12 @@
|
||||||
</ion-slide-page>
|
</ion-slide-page>
|
||||||
<ion-slide-page>
|
<ion-slide-page>
|
||||||
<ion-content id="onboard-tour-control" scroll="false">
|
<ion-content id="onboard-tour-control" scroll="false">
|
||||||
<div translate class="onboarding-topic">You control your bitcoin.</div>
|
<div class="onboarding-topic" translate>You control your bitcoin.</div>
|
||||||
<div translate class="onboarding-description">This app stores your bitcoin with cutting-edge security.</div>
|
<div class="onboarding-description" translate>This app stores your bitcoin with cutting-edge security.</div>
|
||||||
<div class="onboarding-illustration-control"></div>
|
<div class="onboarding-illustration-control"></div>
|
||||||
<div class="cta-buttons">
|
<div class="cta-buttons">
|
||||||
<div class="onboarding-tldr" translate>Not even BitPay can access it.</div>
|
<div class="onboarding-tldr" translate>Not even BitPay can access it.</div>
|
||||||
<button class="button button-standard button-primary" ng-click="createDefaultWallet()">
|
<button class="button button-standard button-primary" ng-click="createDefaultWallet()" translate>
|
||||||
Create bitcoin wallet
|
Create bitcoin wallet
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
v{{version}}
|
v{{version}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item item-icon-left" ng-click="openExternalLink('https://github.com/bitpay/'+name+'/tree/'+commitHash+'', true, 'Open GitHub Project', 'You can see the latest developments and contribute to this open source app by visiting our project on GitHub.', 'Open GitHub', 'Go Back')">
|
<div class="item item-icon-left" ng-click="openExternalLink()">
|
||||||
<i class="icon ion-social-github-outline"></i>
|
<i class="icon ion-social-github-outline"></i>
|
||||||
<span translate>Commit hash</span>
|
<span translate>Commit hash</span>
|
||||||
<span class="item-note">
|
<span class="item-note">
|
||||||
|
@ -30,11 +30,11 @@
|
||||||
<span translate>Terms of Use</span>
|
<span translate>Terms of Use</span>
|
||||||
<i class="icon bp-arrow-right"></i>
|
<i class="icon bp-arrow-right"></i>
|
||||||
</a>
|
</a>
|
||||||
<!-- <a class="item item-icon-left item-icon-right" ui-sref="tabs.about.translators">
|
<a class="item item-icon-left item-icon-right" ui-sref="tabs.about.translators">
|
||||||
<i class="icon ion-ios-people-outline"></i>
|
<i class="icon ion-ios-people-outline"></i>
|
||||||
<span translate>Translators</span>
|
<span translate>Translators</span>
|
||||||
<i class="icon bp-arrow-right"></i>
|
<i class="icon bp-arrow-right"></i>
|
||||||
</a> Disabled for release-->
|
</a>
|
||||||
<a class="item item-icon-left item-icon-right" ui-sref="tabs.about.logs">
|
<a class="item item-icon-left item-icon-right" ui-sref="tabs.about.logs">
|
||||||
<i class="icon ion-ios-copy-outline"></i>
|
<i class="icon ion-ios-copy-outline"></i>
|
||||||
<span translate>Session log</span>
|
<span translate>Session log</span>
|
||||||
|
|
|
@ -12,14 +12,18 @@
|
||||||
ng-click="save(lang.isoCode)">{{lang.name}}
|
ng-click="save(lang.isoCode)">{{lang.name}}
|
||||||
</ion-radio>
|
</ion-radio>
|
||||||
</div>
|
</div>
|
||||||
<div class="padding">
|
<div class="settings-explanation">
|
||||||
<span translate>We’re always looking for translation contributions! You can make corrections or help to make this app available in your native language by joining our community on Crowdin.</span>
|
<div class="settings-description" translate>
|
||||||
<button class="button button-standard button-primary" ng-click="openExternalLink(true, 'Open Translation Community', 'You can make contributions by signing up on our Crowdin community translation website. We’re looking forward to hearing from you!
|
We’re always looking for translation contributions! You can make corrections or help to make this app available in your native language by joining our community on Crowdin.
|
||||||
', 'Open Crowdin', 'Go Back')" translate>Contribute Translations
|
</div>
|
||||||
</button>
|
|
||||||
<span translate>
|
|
||||||
Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language.
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="settings-explanation">
|
||||||
|
<div class="settings-description" translate>
|
||||||
|
Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="padding">
|
||||||
|
<a class="button button-standard button-primary" ng-click="openExternalLink()" translate>Contribute Translations</a>
|
||||||
|
<div>
|
||||||
</ion-content>
|
</ion-content>
|
||||||
</ion-view>
|
</ion-view>
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
spinner="ios-small"
|
spinner="ios-small"
|
||||||
on-refresh="onRefresh()">
|
on-refresh="onRefresh()">
|
||||||
</ion-refresher>
|
</ion-refresher>
|
||||||
<div class="release ng-hide" ng-show="newRelease" ng-click="openExternalLink('https://github.com/bitpay/copay/releases/latest', true, 'Update Available', 'An update to this app is available. For your security, please update to the latest version.', 'View Update', 'Go Back')">
|
<div class="release ng-hide" ng-show="newRelease" ng-click="openExternalLink()">
|
||||||
<span translate>An update to this app is available</span><span><i class="icon bp-arrow-right"></i></span>
|
<span translate>An update to this app is available</span><span><i class="icon bp-arrow-right"></i></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="ng-hide" ng-show="showRateCard.value" ng-include="'views/feedback/rateCard.html'"></div>
|
<div class="ng-hide" ng-show="showRateCard.value" ng-include="'views/feedback/rateCard.html'"></div>
|
||||||
|
@ -136,7 +136,7 @@
|
||||||
<i class="icon big-icon-svg">
|
<i class="icon big-icon-svg">
|
||||||
<div class="bg icon-amazon"></div>
|
<div class="bg icon-amazon"></div>
|
||||||
</i>
|
</i>
|
||||||
<span translate>Amazon.com Gift Cards</span>
|
<span>Amazon.com Gift Cards</span>
|
||||||
<i class="icon bp-arrow-right"></i>
|
<i class="icon bp-arrow-right"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<ion-nav-bar class="bar-royal">
|
<ion-nav-bar class="bar-royal">
|
||||||
<ion-nav-title>{{'Send' | translate}}</ion-nav-title>
|
<ion-nav-title>{{'Send' | translate}}</ion-nav-title>
|
||||||
</ion-nav-bar>
|
</ion-nav-bar>
|
||||||
<ion-content>
|
<ion-content ng-show="!checkingBalance">
|
||||||
<div ng-if="hasFunds == false" class="zero-state">
|
<div ng-if="hasFunds == false" class="zero-state">
|
||||||
<div>
|
<div>
|
||||||
<i class="icon zero-state-icon">
|
<i class="icon zero-state-icon">
|
||||||
|
|
|
@ -10,66 +10,64 @@
|
||||||
<i class="icon big-icon-svg">
|
<i class="icon big-icon-svg">
|
||||||
<img src="img/icon-exchange.svg" class="bg"/>
|
<img src="img/icon-exchange.svg" class="bg"/>
|
||||||
</i>
|
</i>
|
||||||
<span translate>Bitcoin Exchanges</span>
|
<span>{{'Bitcoin Exchanges' | translate}}</span>
|
||||||
<i class="icon bp-arrow-right"></i>
|
<i class="icon bp-arrow-right"></i>
|
||||||
</a>
|
</a>
|
||||||
<a class="item item-icon-left item-icon-right" ui-sref="tabs.addressbook">
|
<a class="item item-icon-left item-icon-right" ui-sref="tabs.addressbook">
|
||||||
<i class="icon big-icon-svg">
|
<i class="icon big-icon-svg">
|
||||||
<img src="img/icon-address-book.svg" class="bg"/>
|
<img src="img/icon-address-book.svg" class="bg"/>
|
||||||
</i>
|
</i>
|
||||||
<span translate>Address Book</span>
|
<span>{{'Address Book' | translate}}</span>
|
||||||
<i class="icon bp-arrow-right"></i>
|
<i class="icon bp-arrow-right"></i>
|
||||||
</a>
|
</a>
|
||||||
<a class="item item-icon-left item-icon-right" ng-click="openExternalLink('https://help.bitpay.com/bitpay-app', true, 'BitPay Help Center', 'Help and support information is available at the BitPay Help Center website. Would you like to go there now?', 'Open Help Center', 'Go Back')">
|
<a class="item item-icon-left item-icon-right" ng-click="openExternalLink()">
|
||||||
<i class="icon big-icon-svg">
|
<i class="icon big-icon-svg">
|
||||||
<img src="img/icon-help-support.svg" class="bg"/>
|
<img src="img/icon-help-support.svg" class="bg"/>
|
||||||
</i>
|
</i>
|
||||||
<span translate>Help & Support</span>
|
<span>{{'Help & Support' | translate }}</span>
|
||||||
<i class="icon big-icon-svg">
|
<i class="icon big-icon-svg">
|
||||||
<img src="img/icon-link.svg" class="bg just-a-hint"/>
|
<img src="img/icon-link.svg" class="bg just-a-hint"/>
|
||||||
</i>
|
</i>
|
||||||
</a>
|
</a>
|
||||||
<a class="item item-icon-left item-icon-right" ui-sref="tabs.feedback">
|
<a class="item item-icon-left item-icon-right" ui-sref="tabs.feedback">
|
||||||
<i class="icon big-icon-svg">
|
<i class="icon big-icon-svg">
|
||||||
<img src="img/icon-language.svg" class="bg"/>
|
<img src="img/icon-send-feedback.svg" class="bg"/>
|
||||||
</i>
|
</i>
|
||||||
<span translate>Send Feedback</span>
|
<span>{{'Send Feedback' | translate}}</span>
|
||||||
<i class="icon bp-arrow-right"></i>
|
<i class="icon bp-arrow-right"></i>
|
||||||
</a>
|
</a>
|
||||||
<a ng-if="isCordova" class="item item-icon-left item-icon-right" ui-sref="tabs.shareApp({score: 4, skipped: true, fromSettings: true})">
|
<a ng-if="isCordova" class="item item-icon-left item-icon-right" ui-sref="tabs.shareApp({score: 4, skipped: true, fromSettings: true})">
|
||||||
<i class="icon big-icon-svg">
|
<i class="icon big-icon-svg">
|
||||||
<img src="img/icon-send-feedback.svg" class="bg"/>
|
<img src="img/icon-heart.svg" class="bg"/>
|
||||||
</i>
|
</i>
|
||||||
<span translate>Share {{appName}}</span>
|
<span>{{'Share'|translate}} {{appName}}</span>
|
||||||
<i class="icon bp-arrow-right"></i>
|
<i class="icon bp-arrow-right"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<div class="item item-divider" translate>Preferences</div>
|
<div class="item item-divider">{{'Preferences' | translate}}</div>
|
||||||
|
|
||||||
<a class="item item-icon-left item-icon-right" ui-sref="tabs.notifications">
|
<a class="item item-icon-left item-icon-right" ui-sref="tabs.notifications">
|
||||||
<i class="icon big-icon-svg">
|
<i class="icon big-icon-svg">
|
||||||
<img src="img/icon-notifications.svg" class="bg"/>
|
<img src="img/icon-notifications.svg" class="bg"/>
|
||||||
</i>
|
</i>
|
||||||
<span translate>Notifications</span>
|
<span>{{'Notifications' | translate}}</span>
|
||||||
<i class="icon bp-arrow-right"></i>
|
<i class="icon bp-arrow-right"></i>
|
||||||
</a>
|
</a>
|
||||||
<!-- See https://github.com/bitpay/bitpay-wallet/issues/265 -->
|
<a class="item item-icon-left item-icon-right" ui-sref="tabs.language">
|
||||||
<!-- <a class="item item-icon-left item-icon-right" ui-sref="tabs.language"> -->
|
<i class="icon big-icon-svg">
|
||||||
<!-- <i class="icon big-icon-svg"> -->
|
<img src="img/icon-language.svg" class="bg"/>
|
||||||
<!-- <img src="img/icon-language.svg" class="bg"/> -->
|
</i>
|
||||||
<!-- </i> -->
|
<span>{{'Language' | translate}}</span>
|
||||||
<!-- <span translate>Language</span> -->
|
<span class="item-note">
|
||||||
<!-- <span class="item-note"> -->
|
{{currentLanguageName|translate}}
|
||||||
<!-- {{currentLanguageName|translate}} -->
|
</span>
|
||||||
<!-- </span> -->
|
<i class="icon bp-arrow-right"></i>
|
||||||
<!-- <i class="icon bp-arrow-right"></i> -->
|
</a>
|
||||||
<!-- </a> -->
|
|
||||||
<!-- -->
|
|
||||||
<a class="item has-setting-value item-icon-left item-icon-right" ui-sref="tabs.unit">
|
<a class="item has-setting-value item-icon-left item-icon-right" ui-sref="tabs.unit">
|
||||||
<i class="icon big-icon-svg">
|
<i class="icon big-icon-svg">
|
||||||
<img src="img/icon-unit.svg" class="bg"/>
|
<img src="img/icon-unit.svg" class="bg"/>
|
||||||
</i>
|
</i>
|
||||||
<span class="setting-title" translate>Bitcoin Unit</span>
|
<span class="setting-title">{{'Bitcoin Unit' | translate}}</span>
|
||||||
<span class="setting-value">
|
<span class="setting-value">
|
||||||
{{unitName}}
|
{{unitName}}
|
||||||
</span>
|
</span>
|
||||||
|
@ -80,7 +78,7 @@
|
||||||
<i class="icon big-icon-svg">
|
<i class="icon big-icon-svg">
|
||||||
<img src="img/icon-alternative-currency.svg" class="bg"/>
|
<img src="img/icon-alternative-currency.svg" class="bg"/>
|
||||||
</i>
|
</i>
|
||||||
<span class="setting-title" translate>Alternative Currency</span>
|
<span class="setting-title">{{'Alternative Currency' | translate}}</span>
|
||||||
<span class="setting-value">
|
<span class="setting-value">
|
||||||
{{selectedAlternative.name}}
|
{{selectedAlternative.name}}
|
||||||
</span>
|
</span>
|
||||||
|
@ -91,14 +89,14 @@
|
||||||
<i class="icon big-icon-svg">
|
<i class="icon big-icon-svg">
|
||||||
<img src="img/icon-network.svg" class="bg"/>
|
<img src="img/icon-network.svg" class="bg"/>
|
||||||
</i>
|
</i>
|
||||||
<span class="setting-title" translate>Bitcoin Network Fee Policy</span>
|
<span class="setting-title">{{'Bitcoin Network Fee Policy' | translate}}</span>
|
||||||
<span class="setting-value">
|
<span class="setting-value">
|
||||||
{{feeOpts[currentFeeLevel]|translate}}
|
{{feeOpts[currentFeeLevel]|translate}}
|
||||||
</span>
|
</span>
|
||||||
<i class="icon bp-arrow-right"></i>
|
<i class="icon bp-arrow-right"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<div class="item item-divider" ng-show="wallets[0]" translate>Wallets & Integrations</div>
|
<div class="item item-divider" ng-show="wallets[0]">{{'Wallets & Integrations' | translate}}</div>
|
||||||
|
|
||||||
<a class="item item-icon-left item-icon-right" href
|
<a class="item item-icon-left item-icon-right" href
|
||||||
ui-sref="tabs.preferences({'walletId': item.id})"
|
ui-sref="tabs.preferences({'walletId': item.id})"
|
||||||
|
@ -112,8 +110,8 @@
|
||||||
{{item.m}}-of-{{item.n}}
|
{{item.m}}-of-{{item.n}}
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
<span class="right text-light assertive" ng-show="!item.isComplete()" translate>
|
<span class="right text-light assertive" ng-show="!item.isComplete()">
|
||||||
Incomplete
|
{{'Incomplete' | translate}}
|
||||||
</span>
|
</span>
|
||||||
<i class="icon bp-arrow-right"></i>
|
<i class="icon bp-arrow-right"></i>
|
||||||
</a>
|
</a>
|
||||||
|
@ -137,28 +135,18 @@
|
||||||
|
|
||||||
<div class="item item-divider"></div>
|
<div class="item item-divider"></div>
|
||||||
|
|
||||||
<a class="ng-hide item item-icon-left item-icon-right" href ng-hide="true">
|
|
||||||
<i class="icon big-icon-svg">
|
|
||||||
<img src="img/icon-heart.svg" class="bg"/>
|
|
||||||
</i>
|
|
||||||
<span translate>Tell a friend</span>
|
|
||||||
<i class="icon bp-arrow-right"></i>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<div class="ng-hide item item-divider" ng-hide="true"></div>
|
|
||||||
|
|
||||||
<a class="item item-icon-right item-icon-left" href ui-sref="tabs.advanced">
|
<a class="item item-icon-right item-icon-left" href ui-sref="tabs.advanced">
|
||||||
<i class="icon big-icon-svg">
|
<i class="icon big-icon-svg">
|
||||||
<img src="img/icon-advanced.svg" class="bg"/>
|
<img src="img/icon-advanced.svg" class="bg"/>
|
||||||
</i>
|
</i>
|
||||||
<span translate>Advanced</span>
|
<span>{{'Advanced' | translate}}</span>
|
||||||
<i class="icon bp-arrow-right"></i>
|
<i class="icon bp-arrow-right"></i>
|
||||||
</a>
|
</a>
|
||||||
<a class="item item-icon-left item-icon-right" href ui-sref="tabs.about">
|
<a class="item item-icon-left item-icon-right" href ui-sref="tabs.about">
|
||||||
<i class="icon big-icon-svg">
|
<i class="icon big-icon-svg">
|
||||||
<img src="img/icon-about.svg" class="bg"/>
|
<img src="img/icon-about.svg" class="bg"/>
|
||||||
</i>
|
</i>
|
||||||
<span translate>About</span> {{appName}}
|
<span>{{'About' | translate}}</span> {{appName}}
|
||||||
<i class="icon bp-arrow-right"></i>
|
<i class="icon bp-arrow-right"></i>
|
||||||
</a>
|
</a>
|
||||||
<div class="item item-divider"></div>
|
<div class="item item-divider"></div>
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
<ion-tabs class="tabs-icon-top tabs-color-active-positive ion-tabs-transparent {{$root.hideTabs}}">
|
<ion-tabs class="tabs-icon-top tabs-color-active-positive ion-tabs-transparent {{$root.hideTabs}}">
|
||||||
|
|
||||||
<ion-tab title="Home" icon-off="ico-home" icon-on="ico-home-selected" ui-sref="tabs.home">
|
<ion-tab title="{{'Home'|translate}}" icon-off="ico-home" icon-on="ico-home-selected" ui-sref="tabs.home">
|
||||||
<ion-nav-view name="tab-home"></ion-nav-view>
|
<ion-nav-view name="tab-home"></ion-nav-view>
|
||||||
</ion-tab>
|
</ion-tab>
|
||||||
|
|
||||||
<ion-tab title="Receive" icon-off="ico-receive" icon-on="ico-receive-selected" ui-sref="tabs.receive">
|
<ion-tab title="{{'Receive'|translate}}" icon-off="ico-receive" icon-on="ico-receive-selected" ui-sref="tabs.receive">
|
||||||
<ion-nav-view name="tab-receive"></ion-nav-view>
|
<ion-nav-view name="tab-receive"></ion-nav-view>
|
||||||
</ion-tab>
|
</ion-tab>
|
||||||
|
|
||||||
<ion-tab title="Scan" icon-off="ico-scan" icon-on="ico-scan-selected" ui-sref="tabs.scan">
|
<ion-tab title="{{'Scan'|translate}}" icon-off="ico-scan" icon-on="ico-scan-selected" ui-sref="tabs.scan">
|
||||||
<ion-nav-view name="tab-scan"></ion-nav-view>
|
<ion-nav-view name="tab-scan"></ion-nav-view>
|
||||||
</ion-tab>
|
</ion-tab>
|
||||||
|
|
||||||
<ion-tab title="Send" icon-off="ico-send" icon-on="ico-send-selected" ui-sref="tabs.send">
|
<ion-tab title="{{'Send'|translate}}" icon-off="ico-send" icon-on="ico-send-selected" ui-sref="tabs.send">
|
||||||
<ion-nav-view name="tab-send"></ion-nav-view>
|
<ion-nav-view name="tab-send"></ion-nav-view>
|
||||||
</ion-tab>
|
</ion-tab>
|
||||||
|
|
||||||
<ion-tab title="Settings" icon-off="ico-settings" icon-on="ico-settings-selected" ui-sref="tabs.settings">
|
<ion-tab title="{{'Settings'|translate}}" icon-off="ico-settings" icon-on="ico-settings-selected" ui-sref="tabs.settings">
|
||||||
<ion-nav-view name="tab-settings"></ion-nav-view>
|
<ion-nav-view name="tab-settings"></ion-nav-view>
|
||||||
</ion-tab>
|
</ion-tab>
|
||||||
</ion-tabs>
|
</ion-tabs>
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
</div>
|
</div>
|
||||||
<button class="button button-standard button-primary"
|
<button class="button button-standard button-primary"
|
||||||
ng-show="lang != 'en'"
|
ng-show="lang != 'en'"
|
||||||
ng-click="openExternalLink(disclaimerUrl, true, 'View Terms of Service', 'The official English Terms of Service are available on the BitPay website. Would you like to view them?', 'Open Website', 'Go Back')" translate>
|
ng-click="openExternazlLink()" translate>
|
||||||
Official English Disclaimer
|
Official English Disclaimer
|
||||||
</button>
|
</button>
|
||||||
</ion-content>
|
</ion-content>
|
||||||
|
|
|
@ -9,26 +9,28 @@
|
||||||
<div class="item item-divider" translate>
|
<div class="item item-divider" translate>
|
||||||
Translation Credits
|
Translation Credits
|
||||||
</div>
|
</div>
|
||||||
<div class="item">kinoshitajona<span class="item-note" translate>Japanese</span></div>
|
<!-- <div class="item">kinoshitajona<span class="item-note" translate>Japanese</span></div> -->
|
||||||
<div class="item">Kirvx<span class="item-note" translate>French</span></div>
|
<div class="item">Kirvx<span class="item-note" translate>French</span></div>
|
||||||
<div class="item">saschad<span class="item-note" translate>German</span></div>
|
<!-- <div class="item">saschad<span class="item-note" translate>German</span></div> -->
|
||||||
<div class="item">cmgustavo83<span class="item-note" translate>Spanish</span></div>
|
<div class="item">cmgustavo83<span class="item-note" translate>Spanish</span></div>
|
||||||
<div class="item">RussianNeuroMancer<span class="item-note" translate>Russian</span></div>
|
<!-- <div class="item">RussianNeuroMancer<span class="item-note" translate>Russian</span></div>
|
||||||
<div class="item">HostFat<span class="item-note" translate>Italian</span></div>
|
<div class="item">HostFat<span class="item-note" translate>Italian</span></div>
|
||||||
<div class="item">xm2hi<span class="item-note" translate>Chinese</span></div>
|
<div class="item">xm2hi<span class="item-note" translate>Chinese</span></div>
|
||||||
<div class="item">Pirx1618<span class="item-note" translate>Polish</span></div>
|
<div class="item">Pirx1618<span class="item-note" translate>Polish</span></div>
|
||||||
<div class="item">mareksip<span class="item-note" translate>Czech</span></div>
|
<div class="item">mareksip<span class="item-note" translate>Czech</span></div> -->
|
||||||
|
</div>
|
||||||
|
<div class="settings-explanation">
|
||||||
|
<div class="settings-description" translate>
|
||||||
|
We’re always looking for translation contributions! You can make corrections or help to make this app available in your native language by joining our community on Crowdin.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="settings-explanation">
|
||||||
|
<div class="settings-description" translate>
|
||||||
|
Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language.
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="padding">
|
<div class="padding">
|
||||||
<p>
|
<a class="button button-standard button-primary" ng-click="openExternalLink()" translate>Contribute Translations</a>
|
||||||
<span translate>We’re always looking for translation contributions! You can make corrections or help to make this app available in your native language by joining our community on Crowdin.</span>
|
|
||||||
<button class="button button-standard button-primary" ng-click="openExternalLink(true, 'Open Translation Community', 'You can make contributions by signing up on our Crowdin community translation website. We’re looking forward to hearing from you!
|
|
||||||
', 'Open Crowdin', 'Go Back')" translate>Contribute Translations
|
|
||||||
</button>
|
|
||||||
</p>
|
|
||||||
<span translate>
|
|
||||||
Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language.
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
</ion-content>
|
</ion-content>
|
||||||
</ion-view>
|
</ion-view>
|
||||||
|
|
|
@ -14,7 +14,9 @@
|
||||||
<img src="img/icon-tx-sent-outline.svg" ng-if="btx.action === 'sent'">
|
<img src="img/icon-tx-sent-outline.svg" ng-if="btx.action === 'sent'">
|
||||||
<img src="img/icon-tx-received-outline.svg" ng-if="btx.action === 'received'">
|
<img src="img/icon-tx-received-outline.svg" ng-if="btx.action === 'received'">
|
||||||
<img src="img/icon-tx-moved-outline.svg" ng-if="btx.action === 'moved'">
|
<img src="img/icon-tx-moved-outline.svg" ng-if="btx.action === 'moved'">
|
||||||
<span>{{btx.action | translate}}</span>
|
<span ng-if="btx.action === 'sent'">{{'Sent' | translate}}</span>
|
||||||
|
<span ng-if="btx.action === 'received'">{{'Received' | translate}}</span>
|
||||||
|
<span ng-if="btx.action === 'moved'">{{'Moved' | translate}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="sending-label" ng-if="btx.confirmations === 0">
|
<div class="sending-label" ng-if="btx.confirmations === 0">
|
||||||
<img src="img/icon-confirming.svg">
|
<img src="img/icon-confirming.svg">
|
||||||
|
|
|
@ -198,7 +198,7 @@
|
||||||
Recent
|
Recent
|
||||||
</span>
|
</span>
|
||||||
<span ng-if="!isDateInCurrentMonth(getDate(btx.time))">
|
<span ng-if="!isDateInCurrentMonth(getDate(btx.time))">
|
||||||
{{getDate(btx.time) | date:'MMMM'}}
|
{{getDate(btx.time) | amDateFormat:'MMMM'}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -215,7 +215,7 @@
|
||||||
<div class="wallet-details__tx-title" ng-if="!isUnconfirmed(btx)">
|
<div class="wallet-details__tx-title" ng-if="!isUnconfirmed(btx)">
|
||||||
<div ng-show="btx.action == 'received'" class="ellipsis">
|
<div ng-show="btx.action == 'received'" class="ellipsis">
|
||||||
<div ng-if="btx.note.body" class="wallet-details__tx-message ellipsis">{{btx.note.body}}</div>
|
<div ng-if="btx.note.body" class="wallet-details__tx-message ellipsis">{{btx.note.body}}</div>
|
||||||
<div ng-if="!btx.note.body" class="wallet-details__tx-message ellipsis" translate> Received</div>
|
<div ng-if="!btx.note.body" class="wallet-details__tx-message ellipsis" translate>Received</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div ng-show="btx.action == 'sent'" class="ellipsis">
|
<div ng-show="btx.action == 'sent'" class="ellipsis">
|
||||||
|
@ -253,7 +253,9 @@
|
||||||
</span>
|
</span>
|
||||||
<div>
|
<div>
|
||||||
<time class="wallet-details__tx-time" ng-if="btx.time && createdWithinPastDay(btx.time)">{{btx.time * 1000 | amTimeAgo}}</time>
|
<time class="wallet-details__tx-time" ng-if="btx.time && createdWithinPastDay(btx.time)">{{btx.time * 1000 | amTimeAgo}}</time>
|
||||||
<time class="wallet-details__tx-time" ng-if="btx.time && !createdWithinPastDay(btx.time)">{{btx.time * 1000 | date:'MMMM d, y'}}</time>
|
<time class="wallet-details__tx-time" ng-if="btx.time && !createdWithinPastDay(btx.time)">
|
||||||
|
{{btx.time * 1000 | amDateFormat:'MMM d, YYYY'}}
|
||||||
|
</time>
|
||||||
</div>
|
</div>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue