Merge branch 'master' into translations_ios-fastlane-metadata-en-us-promotional-text-txt--master_ru

This commit is contained in:
Ivan 2020-09-04 15:48:33 +03:00 committed by GitHub
commit a191d55440
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
60 changed files with 1501 additions and 888 deletions

View File

@ -30,6 +30,9 @@ let wasConnectedAtLeastOnce = false;
let serverName = false; let serverName = false;
let disableBatching = false; let disableBatching = false;
let latestBlockheight = false;
let latestBlockheightTimestamp = false;
const txhashHeightCache = {}; const txhashHeightCache = {};
async function connectMain() { async function connectMain() {
@ -65,6 +68,11 @@ async function connectMain() {
// TODO: once they release support for batching - disable batching only for lower versions // TODO: once they release support for batching - disable batching only for lower versions
disableBatching = true; disableBatching = true;
} }
const header = await mainClient.blockchainHeaders_subscribe();
if (header && header.height) {
latestBlockheight = header.height;
latestBlockheightTimestamp = Math.floor(+new Date() / 1000);
}
// AsyncStorage.setItem(storageKey, JSON.stringify(peers)); TODO: refactor // AsyncStorage.setItem(storageKey, JSON.stringify(peers)); TODO: refactor
} }
} catch (e) { } catch (e) {
@ -168,7 +176,10 @@ module.exports.getTransactionsByAddress = async function (address) {
const hash = bitcoin.crypto.sha256(script); const hash = bitcoin.crypto.sha256(script);
const reversedHash = Buffer.from(reverse(hash)); const reversedHash = Buffer.from(reverse(hash));
const history = await mainClient.blockchainScripthash_getHistory(reversedHash.toString('hex')); const history = await mainClient.blockchainScripthash_getHistory(reversedHash.toString('hex'));
if (history.tx_hash) txhashHeightCache[history.tx_hash] = history.height; // cache tx height for (const h of history || []) {
if (h.tx_hash) txhashHeightCache[h.tx_hash] = h.height; // cache tx height
}
return history; return history;
}; };
@ -334,7 +345,10 @@ module.exports.multiGetHistoryByAddress = async function (addresses, batchsize)
for (const history of results) { for (const history of results) {
if (history.error) console.warn('multiGetHistoryByAddress():', history.error); if (history.error) console.warn('multiGetHistoryByAddress():', history.error);
ret[scripthash2addr[history.param]] = history.result || []; ret[scripthash2addr[history.param]] = history.result || [];
if (history.result && history.result[0]) txhashHeightCache[history.result[0].tx_hash] = history.result[0].height; // cache tx height for (const result of history.result || []) {
if (result.tx_hash) txhashHeightCache[result.tx_hash] = result.height; // cache tx height
}
for (const hist of ret[scripthash2addr[history.param]]) { for (const hist of ret[scripthash2addr[history.param]]) {
hist.address = scripthash2addr[history.param]; hist.address = scripthash2addr[history.param];
} }
@ -472,9 +486,15 @@ module.exports.broadcastV2 = async function (hex) {
}; };
module.exports.estimateCurrentBlockheight = function () { module.exports.estimateCurrentBlockheight = function () {
if (latestBlockheight) {
const timeDiff = Math.floor(+new Date() / 1000) - latestBlockheightTimestamp;
const extraBlocks = Math.floor(timeDiff / (9.93 * 60));
return latestBlockheight + extraBlocks;
}
const baseTs = 1587570465609; // uS const baseTs = 1587570465609; // uS
const baseHeight = 627179; const baseHeight = 627179;
return Math.floor(baseHeight + (+new Date() - baseTs) / 1000 / 60 / 9.5); return Math.floor(baseHeight + (+new Date() - baseTs) / 1000 / 60 / 9.93);
}; };
/** /**
@ -483,9 +503,13 @@ module.exports.estimateCurrentBlockheight = function () {
* @returns {number} Timestamp in seconds * @returns {number} Timestamp in seconds
*/ */
module.exports.calculateBlockTime = function (height) { module.exports.calculateBlockTime = function (height) {
if (latestBlockheight) {
return Math.floor(latestBlockheightTimestamp + (height - latestBlockheight) * 9.93 * 60);
}
const baseTs = 1585837504; // sec const baseTs = 1585837504; // sec
const baseHeight = 624083; const baseHeight = 624083;
return baseTs + (height - baseHeight) * 10 * 60; return Math.floor(baseTs + (height - baseHeight) * 9.93 * 60);
}; };
/** /**

View File

@ -18,6 +18,7 @@ import {
import WatchConnectivity from '../WatchConnectivity'; import WatchConnectivity from '../WatchConnectivity';
import DeviceQuickActions from './quick-actions'; import DeviceQuickActions from './quick-actions';
import { AbstractHDElectrumWallet } from './wallets/abstract-hd-electrum-wallet'; import { AbstractHDElectrumWallet } from './wallets/abstract-hd-electrum-wallet';
import { Platform } from 'react-native';
const encryption = require('../blue_modules/encryption'); const encryption = require('../blue_modules/encryption');
const Realm = require('realm'); const Realm = require('realm');
const createHash = require('create-hash'); const createHash = require('create-hash');
@ -77,6 +78,7 @@ export class AppStorage {
} }
async setResetOnAppUninstallTo(value) { async setResetOnAppUninstallTo(value) {
if (Platform.OS === 'ios') {
await this.setItem(AppStorage.DELETE_WALLET_AFTER_UNINSTALL, value ? '1' : ''); await this.setItem(AppStorage.DELETE_WALLET_AFTER_UNINSTALL, value ? '1' : '');
try { try {
RNSecureKeyStore.setResetOnAppUninstallTo(value); RNSecureKeyStore.setResetOnAppUninstallTo(value);
@ -84,6 +86,7 @@ export class AppStorage {
console.warn(Error); console.warn(Error);
} }
} }
}
async storageIsEncrypted() { async storageIsEncrypted() {
let data; let data;

View File

@ -404,10 +404,10 @@ export class AbstractHDElectrumWallet extends AbstractHDWallet {
// its faster to pre-build hashmap of owned addresses than to query `this.weOwnAddress()`, which in turn // its faster to pre-build hashmap of owned addresses than to query `this.weOwnAddress()`, which in turn
// iterates over all addresses in hierarchy // iterates over all addresses in hierarchy
const ownedAddressesHashmap = {}; const ownedAddressesHashmap = {};
for (let c = 0; c < this.next_free_address_index + this.gap_limit; c++) { for (let c = 0; c < this.next_free_address_index + 1; c++) {
ownedAddressesHashmap[this._getExternalAddressByIndex(c)] = true; ownedAddressesHashmap[this._getExternalAddressByIndex(c)] = true;
} }
for (let c = 0; c < this.next_free_change_address_index + this.gap_limit; c++) { for (let c = 0; c < this.next_free_change_address_index + 1; c++) {
ownedAddressesHashmap[this._getInternalAddressByIndex(c)] = true; ownedAddressesHashmap[this._getInternalAddressByIndex(c)] = true;
} }
// hack: in case this code is called from LegacyWallet: // hack: in case this code is called from LegacyWallet:

View File

@ -26,7 +26,7 @@
32B5A32A2334450100F8D608 /* Bridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B5A3292334450100F8D608 /* Bridge.swift */; }; 32B5A32A2334450100F8D608 /* Bridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B5A3292334450100F8D608 /* Bridge.swift */; };
32F0A29A2311DBB20095C559 /* ComplicationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32F0A2992311DBB20095C559 /* ComplicationController.swift */; }; 32F0A29A2311DBB20095C559 /* ComplicationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32F0A2992311DBB20095C559 /* ComplicationController.swift */; };
6DF25A9F249DB97E001D06F5 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6DF25A9E249DB97E001D06F5 /* LaunchScreen.storyboard */; }; 6DF25A9F249DB97E001D06F5 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6DF25A9E249DB97E001D06F5 /* LaunchScreen.storyboard */; };
6DFC807024EA0B6C007B8700 /* EFQRCode in Frameworks */ = {isa = PBXBuildFile; productRef = 6DFC806F24EA0B6C007B8700 /* EFQRCode */; }; 6DFC807024EA0B6C007B8700 /* BuildFile in Frameworks */ = {isa = PBXBuildFile; productRef = 6DFC806F24EA0B6C007B8700 /* SwiftPackageProductDependency */; };
6DFC807224EA2FA9007B8700 /* ViewQRCodefaceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DFC807124EA2FA9007B8700 /* ViewQRCodefaceController.swift */; }; 6DFC807224EA2FA9007B8700 /* ViewQRCodefaceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DFC807124EA2FA9007B8700 /* ViewQRCodefaceController.swift */; };
764B49B1420D4AEB8109BF62 /* libsqlite3.0.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B468CC34D5B41F3950078EF /* libsqlite3.0.tbd */; }; 764B49B1420D4AEB8109BF62 /* libsqlite3.0.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B468CC34D5B41F3950078EF /* libsqlite3.0.tbd */; };
782F075B5DD048449E2DECE9 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B9D9B3A7B2CB4255876B67AF /* libz.tbd */; }; 782F075B5DD048449E2DECE9 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B9D9B3A7B2CB4255876B67AF /* libz.tbd */; };
@ -339,7 +339,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
6DFC807024EA0B6C007B8700 /* EFQRCode in Frameworks */, 6DFC807024EA0B6C007B8700 /* BuildFile in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -694,7 +694,7 @@
); );
name = "BlueWalletWatch Extension"; name = "BlueWalletWatch Extension";
packageProductDependencies = ( packageProductDependencies = (
6DFC806F24EA0B6C007B8700 /* EFQRCode */, 6DFC806F24EA0B6C007B8700 /* SwiftPackageProductDependency */,
); );
productName = "BlueWalletWatch Extension"; productName = "BlueWalletWatch Extension";
productReference = B40D4E3C225841ED00428FCC /* BlueWalletWatch Extension.appex */; productReference = B40D4E3C225841ED00428FCC /* BlueWalletWatch Extension.appex */;
@ -793,7 +793,7 @@
); );
mainGroup = 83CBB9F61A601CBA00E9B192; mainGroup = 83CBB9F61A601CBA00E9B192;
packageReferences = ( packageReferences = (
6DFC806E24EA0B6C007B8700 /* XCRemoteSwiftPackageReference "EFQRCode" */, 6DFC806E24EA0B6C007B8700 /* RemoteSwiftPackageReference */,
); );
productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
projectDirPath = ""; projectDirPath = "";
@ -939,12 +939,43 @@
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
); );
inputFileListPaths = ( inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-BlueWallet/Pods-BlueWallet-resources-${CONFIGURATION}-input-files.xcfilelist", "${PODS_ROOT}/Target Support Files/Pods-BlueWallet/Pods-BlueWallet-resources.sh",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Feather.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Fontisto.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Foundation.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Octicons.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Zocial.ttf",
); );
name = "[CP] Copy Pods Resources"; name = "[CP] Copy Pods Resources";
outputFileListPaths = ( outputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-BlueWallet/Pods-BlueWallet-resources-${CONFIGURATION}-output-files.xcfilelist", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AntDesign.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Entypo.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EvilIcons.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Feather.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Brands.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Regular.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Solid.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Fontisto.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Foundation.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Ionicons.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialCommunityIcons.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialIcons.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Octicons.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SimpleLineIcons.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Zocial.ttf",
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
@ -1925,7 +1956,7 @@
/* End XCConfigurationList section */ /* End XCConfigurationList section */
/* Begin XCRemoteSwiftPackageReference section */ /* Begin XCRemoteSwiftPackageReference section */
6DFC806E24EA0B6C007B8700 /* XCRemoteSwiftPackageReference "EFQRCode" */ = { 6DFC806E24EA0B6C007B8700 /* RemoteSwiftPackageReference */ = {
isa = XCRemoteSwiftPackageReference; isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/EFPrefix/EFQRCode.git"; repositoryURL = "https://github.com/EFPrefix/EFQRCode.git";
requirement = { requirement = {
@ -1936,9 +1967,9 @@
/* End XCRemoteSwiftPackageReference section */ /* End XCRemoteSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */ /* Begin XCSwiftPackageProductDependency section */
6DFC806F24EA0B6C007B8700 /* EFQRCode */ = { 6DFC806F24EA0B6C007B8700 /* SwiftPackageProductDependency */ = {
isa = XCSwiftPackageProductDependency; isa = XCSwiftPackageProductDependency;
package = 6DFC806E24EA0B6C007B8700 /* XCRemoteSwiftPackageReference "EFQRCode" */; package = 6DFC806E24EA0B6C007B8700 /* RemoteSwiftPackageReference */;
productName = EFQRCode; productName = EFQRCode;
}; };
/* End XCSwiftPackageProductDependency section */ /* End XCSwiftPackageProductDependency section */

View File

@ -68,6 +68,9 @@ PODS:
- boost-for-react-native - boost-for-react-native
- DoubleConversion - DoubleConversion
- glog - glog
- GCDWebServer (3.5.4):
- GCDWebServer/Core (= 3.5.4)
- GCDWebServer/Core (3.5.4)
- glog (0.3.5) - glog (0.3.5)
- lottie-ios (3.1.8) - lottie-ios (3.1.8)
- lottie-react-native (3.5.0): - lottie-react-native (3.5.0):
@ -270,7 +273,7 @@ PODS:
- react-native-tcp-socket (3.7.1): - react-native-tcp-socket (3.7.1):
- CocoaAsyncSocket - CocoaAsyncSocket
- React - React
- react-native-webview (9.0.2): - react-native-webview (10.8.3):
- React - React
- React-RCTActionSheet (0.62.2): - React-RCTActionSheet (0.62.2):
- React-Core/RCTActionSheetHeaders (= 0.62.2) - React-Core/RCTActionSheetHeaders (= 0.62.2)
@ -333,6 +336,9 @@ PODS:
- ReactCommon/callinvoker (= 0.62.2) - ReactCommon/callinvoker (= 0.62.2)
- ReactNativePrivacySnapshot (1.0.0): - ReactNativePrivacySnapshot (1.0.0):
- React - React
- RealmJS (6.1.0):
- GCDWebServer
- React
- RemobileReactNativeQrcodeLocalImage (1.0.4): - RemobileReactNativeQrcodeLocalImage (1.0.4):
- React - React
- RNCAsyncStorage (1.11.0): - RNCAsyncStorage (1.11.0):
@ -345,7 +351,7 @@ PODS:
- React - React
- RNDefaultPreference (1.4.3): - RNDefaultPreference (1.4.3):
- React - React
- RNDeviceInfo (5.6.1): - RNDeviceInfo (6.0.1):
- React - React
- RNFS (2.16.6): - RNFS (2.16.6):
- React - React
@ -365,9 +371,9 @@ PODS:
- React - React
- RNSecureKeyStore (1.0.0): - RNSecureKeyStore (1.0.0):
- React - React
- RNSentry (1.6.3): - RNSentry (1.7.1):
- React - React
- Sentry (~> 5.1.8) - Sentry (~> 5.2.0)
- RNShare (3.7.0): - RNShare (3.7.0):
- React - React
- RNSVG (12.1.0): - RNSVG (12.1.0):
@ -376,9 +382,9 @@ PODS:
- React - React
- RNWatch (0.5.0): - RNWatch (0.5.0):
- React - React
- Sentry (5.1.10): - Sentry (5.2.2):
- Sentry/Core (= 5.1.10) - Sentry/Core (= 5.2.2)
- Sentry/Core (5.1.10) - Sentry/Core (5.2.2)
- ToolTipMenu (5.2.0): - ToolTipMenu (5.2.0):
- React - React
- Yoga (1.14.0) - Yoga (1.14.0)
@ -449,6 +455,7 @@ DEPENDENCIES:
- ReactCommon/callinvoker (from `../node_modules/react-native/ReactCommon`) - ReactCommon/callinvoker (from `../node_modules/react-native/ReactCommon`)
- ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
- ReactNativePrivacySnapshot (from `../node_modules/react-native-privacy-snapshot`) - ReactNativePrivacySnapshot (from `../node_modules/react-native-privacy-snapshot`)
- RealmJS (from `../node_modules/realm`)
- "RemobileReactNativeQrcodeLocalImage (from `../node_modules/@remobile/react-native-qrcode-local-image`)" - "RemobileReactNativeQrcodeLocalImage (from `../node_modules/@remobile/react-native-qrcode-local-image`)"
- "RNCAsyncStorage (from `../node_modules/@react-native-community/async-storage`)" - "RNCAsyncStorage (from `../node_modules/@react-native-community/async-storage`)"
- "RNCClipboard (from `../node_modules/@react-native-community/clipboard`)" - "RNCClipboard (from `../node_modules/@react-native-community/clipboard`)"
@ -485,6 +492,7 @@ SPEC REPOS:
- Flipper-PeerTalk - Flipper-PeerTalk
- Flipper-RSocket - Flipper-RSocket
- FlipperKit - FlipperKit
- GCDWebServer
- OpenSSL-Universal - OpenSSL-Universal
- Sentry - Sentry
- YogaKit - YogaKit
@ -572,6 +580,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/ReactCommon" :path: "../node_modules/react-native/ReactCommon"
ReactNativePrivacySnapshot: ReactNativePrivacySnapshot:
:path: "../node_modules/react-native-privacy-snapshot" :path: "../node_modules/react-native-privacy-snapshot"
RealmJS:
:path: "../node_modules/realm"
RemobileReactNativeQrcodeLocalImage: RemobileReactNativeQrcodeLocalImage:
:path: "../node_modules/@remobile/react-native-qrcode-local-image" :path: "../node_modules/@remobile/react-native-qrcode-local-image"
RNCAsyncStorage: RNCAsyncStorage:
@ -635,6 +645,7 @@ SPEC CHECKSUMS:
Flipper-RSocket: 64e7431a55835eb953b0bf984ef3b90ae9fdddd7 Flipper-RSocket: 64e7431a55835eb953b0bf984ef3b90ae9fdddd7
FlipperKit: afd4259ef9eadeeb2d30250b37d95cb3b6b97a69 FlipperKit: afd4259ef9eadeeb2d30250b37d95cb3b6b97a69
Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51 Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51
GCDWebServer: 2c156a56c8226e2d5c0c3f208a3621ccffbe3ce4
glog: 1f3da668190260b06b429bb211bfbee5cd790c28 glog: 1f3da668190260b06b429bb211bfbee5cd790c28
lottie-ios: 48fac6be217c76937e36e340e2d09cf7b10b7f5f lottie-ios: 48fac6be217c76937e36e340e2d09cf7b10b7f5f
lottie-react-native: 1fb4ce21d6ad37dab8343eaff8719df76035bd93 lottie-react-native: 1fb4ce21d6ad37dab8343eaff8719df76035bd93
@ -660,7 +671,7 @@ SPEC CHECKSUMS:
react-native-safe-area-context: 0ed9288ed4409beabb0817b54efc047286fc84da react-native-safe-area-context: 0ed9288ed4409beabb0817b54efc047286fc84da
react-native-slider: b733e17fdd31186707146debf1f04b5d94aa1a93 react-native-slider: b733e17fdd31186707146debf1f04b5d94aa1a93
react-native-tcp-socket: 96a4f104cdcc9c6621aafe92937f163d88447c5b react-native-tcp-socket: 96a4f104cdcc9c6621aafe92937f163d88447c5b
react-native-webview: 838be111a7805977e5fc4fa6b66ae293f6c17384 react-native-webview: 162c2f2b14555cb524ac0e3b422a9b66ebceefee
React-RCTActionSheet: f41ea8a811aac770e0cc6e0ad6b270c644ea8b7c React-RCTActionSheet: f41ea8a811aac770e0cc6e0ad6b270c644ea8b7c
React-RCTAnimation: 49ab98b1c1ff4445148b72a3d61554138565bad0 React-RCTAnimation: 49ab98b1c1ff4445148b72a3d61554138565bad0
React-RCTBlob: a332773f0ebc413a0ce85942a55b064471587a71 React-RCTBlob: a332773f0ebc413a0ce85942a55b064471587a71
@ -672,13 +683,14 @@ SPEC CHECKSUMS:
React-RCTVibration: 4356114dbcba4ce66991096e51a66e61eda51256 React-RCTVibration: 4356114dbcba4ce66991096e51a66e61eda51256
ReactCommon: ed4e11d27609d571e7eee8b65548efc191116eb3 ReactCommon: ed4e11d27609d571e7eee8b65548efc191116eb3
ReactNativePrivacySnapshot: cc295e45dc22810e9ff2c93380d643de20a77015 ReactNativePrivacySnapshot: cc295e45dc22810e9ff2c93380d643de20a77015
RealmJS: c8645e0d65b676780f7e6c393d327527a2eb15e8
RemobileReactNativeQrcodeLocalImage: 57aadc12896b148fb5e04bc7c6805f3565f5c3fa RemobileReactNativeQrcodeLocalImage: 57aadc12896b148fb5e04bc7c6805f3565f5c3fa
RNCAsyncStorage: db711e29e5e0500d9bd21aa0c2e397efa45302b1 RNCAsyncStorage: db711e29e5e0500d9bd21aa0c2e397efa45302b1
RNCClipboard: 5f3218dcdc28405aa2ae72b78e388f150b826dd3 RNCClipboard: 5f3218dcdc28405aa2ae72b78e388f150b826dd3
RNCMaskedView: f5c7d14d6847b7b44853f7acb6284c1da30a3459 RNCMaskedView: f5c7d14d6847b7b44853f7acb6284c1da30a3459
RNCPushNotificationIOS: f4a1a20fe1d70bbb1fab6abf86ffec2996012b12 RNCPushNotificationIOS: f4a1a20fe1d70bbb1fab6abf86ffec2996012b12
RNDefaultPreference: 21816c0a6f61a2829ccc0cef034392e9b509ee5f RNDefaultPreference: 21816c0a6f61a2829ccc0cef034392e9b509ee5f
RNDeviceInfo: ab2ab4ca9e7f2bc4f35d62ab6ce2b66f2cbf1e7a RNDeviceInfo: a0a4edaebb926d04db08640d64281b6615f5505d
RNFS: 2bd9eb49dc82fa9676382f0585b992c424cd59df RNFS: 2bd9eb49dc82fa9676382f0585b992c424cd59df
RNGestureHandler: b6b359bb800ae399a9c8b27032bdbf7c18f08a08 RNGestureHandler: b6b359bb800ae399a9c8b27032bdbf7c18f08a08
RNHandoff: d3b0754cca3a6bcd9b25f544f733f7f033ccf5fa RNHandoff: d3b0754cca3a6bcd9b25f544f733f7f033ccf5fa
@ -688,16 +700,16 @@ SPEC CHECKSUMS:
RNReactNativeHapticFeedback: 22c5ecf474428766c6b148f96f2ff6155cd7225e RNReactNativeHapticFeedback: 22c5ecf474428766c6b148f96f2ff6155cd7225e
RNScreens: b748efec66e095134c7166ca333b628cd7e6f3e2 RNScreens: b748efec66e095134c7166ca333b628cd7e6f3e2
RNSecureKeyStore: f1ad870e53806453039f650720d2845c678d89c8 RNSecureKeyStore: f1ad870e53806453039f650720d2845c678d89c8
RNSentry: ae1e005e4f2655775475445a9c49c1d343e8e3a7 RNSentry: 2bae4ffee2e66376ef42cb845a494c3bde17bc56
RNShare: a1d5064df7a0ebe778d001869b3f0a124bf0a491 RNShare: a1d5064df7a0ebe778d001869b3f0a124bf0a491
RNSVG: ce9d996113475209013317e48b05c21ee988d42e RNSVG: ce9d996113475209013317e48b05c21ee988d42e
RNVectorIcons: 0bb4def82230be1333ddaeee9fcba45f0b288ed4 RNVectorIcons: 0bb4def82230be1333ddaeee9fcba45f0b288ed4
RNWatch: 4de37878bbf071847e438b089c01d4ad8d4eddae RNWatch: 4de37878bbf071847e438b089c01d4ad8d4eddae
Sentry: 8715e88b813bde9ad37aead365d5b04ac7302153 Sentry: 8fa58a051237554f22507fb483b9a1de0171a2dc
ToolTipMenu: 4d89d95ddffd7539230bdbe02ee51bbde362e37e ToolTipMenu: 4d89d95ddffd7539230bdbe02ee51bbde362e37e
Yoga: 3ebccbdd559724312790e7742142d062476b698e Yoga: 3ebccbdd559724312790e7742142d062476b698e
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
PODFILE CHECKSUM: e9c5efd531ca5ac67a4b743a179eeefb322cf387 PODFILE CHECKSUM: e9c5efd531ca5ac67a4b743a179eeefb322cf387
COCOAPODS: 1.9.3 COCOAPODS: 1.10.0.beta.2

View File

@ -0,0 +1,53 @@
A Bitcoin wallet that allows you to store, send Bitcoin, receive Bitcoin and buy Bitcoin with focus on security and simplicity.
On BlueWallet, a bitcoin wallet you own you private keys. A Bitcoin wallet made by Bitcoin users for the community.
You can instantly transact with anyone in the world and transform the financial system right from your pocket.
Create for free unlimited number of bitcoin wallets or import your existing wallet. It's simple and fast.
_____
Here's what you get:
1 - Security by design
Open Source
MIT licensed, you can build it and run it on your own! Made with ReactNative
Plausible deniability
Password which decrypts fake bitcoin wallets if you are forced to disclose your access
Full encryption
On top of the iOS multi-layer encryption, we encrypt everything with added passwords
Full node
Connect to your Bitcoin full node through Electrum
Cold Storage
Connect to your hardware wallet and keep your coins in Cold storage
2 - Focused on your experience
Be in control
Private keys never leave your device.You control your private keys
Flexible fees
Starting from 1 Satoshi. Defined by you, the user
Replace-By-Fee
(RBF) Speed-up your transactions by increasing the fee (BIP125)
Watch-only wallets
Watch-only wallets allow you to keep an eye on your cold storage without touching the hardware.
Lightning Network
Lightning wallet with zero-configuration. Unfairly cheap and fast transactions with the best Bitcoin user experience.
Buy Bitcoin
Enter in the open financial revolution with the ability to buy Bitcoin directly in your wallet.
Local Trader
A p2p Bitcoin Trading platform, that allows you to buy and sell bitcoin directly to other users without 3rd parties.

View File

@ -0,0 +1 @@
bitcoin,wallet,bitcoin wallet,blockchain,btc,cryptocurrency,buy bitcoin,samourai,electrum,ethereum

View File

@ -0,0 +1 @@

View File

@ -0,0 +1,10 @@
Features
* Open Source
* Full encryption
* Plausible deniability
* Flexible fees
* Replace-By-Fee (RBF)
* SegWit
* Watch-only (Sentinel) wallets
* Lightning network

View File

@ -0,0 +1 @@
../en-US/release_notes.txt

View File

@ -0,0 +1 @@
https://github.com/BlueWallet/BlueWallet/issues

View File

@ -0,0 +1 @@

View File

@ -0,0 +1,53 @@
A Bitcoin wallet that allows you to store, send Bitcoin, receive Bitcoin and buy Bitcoin with focus on security and simplicity.
On BlueWallet, a bitcoin wallet you own you private keys. A Bitcoin wallet made by Bitcoin users for the community.
You can instantly transact with anyone in the world and transform the financial system right from your pocket.
Create for free unlimited number of bitcoin wallets or import your existing wallet. It's simple and fast.
_____
Folgendes ist enthalten:
1 - Security by design
Free/Libre Open Source Software
MIT licensed, you can build it and run it on your own! Made with ReactNative
Plausible deniability
Password which decrypts fake bitcoin wallets if you are forced to disclose your access
Full encryption
On top of the iOS multi-layer encryption, we encrypt everything with added passwords
Full node
Connect to your Bitcoin full node through Electrum
Cold Storage
Connect to your hardware wallet and keep your coins in Cold storage
2 - Focused on your experience
Be in control
Private keys never leave your device.
You control your private keys
Flexible fees
Starting from 1 Satoshi. Defined by you, the user
Replace-By-Fee
(RBF) Speed-up your transactions by increasing the fee (BIP125)
Watch-only wallets
Watch-only wallets allow you to keep an eye on your cold storage without touching the hardware.
Lightning Network
Lightning wallet with zero-configuration. Unfairly cheap and fast transactions with the best Bitcoin user experience.
Bitcoin kaufen
Enter in the open financial revolution with the ability to buy Bitcoin directly in your wallet.
Local Trader
A p2p Bitcoin Trading platform, that allows you to buy and sell bitcoin directly to other users without 3rd parties.

View File

@ -0,0 +1 @@
Bitcoin,Wallet,Bitcoin Wallet,Blockchain,BTC,Kryptowährung,Bitcoin Kaufen,Samourai,Electrum

View File

@ -0,0 +1 @@

View File

@ -0,0 +1 @@
BlueWallet - Bitcoin Wallet

View File

@ -0,0 +1 @@
http://www.bluewallet.io/privacy.txt

View File

@ -0,0 +1,10 @@
Eigenschaften
* Quelloffene Software
* Vollverschlüsselung
* Glaubhafte Täuschung
* Flexible Gebühren
* Gebührenübernahme
* SegWit
* Wallets beobachten (nicht handeln)
* Lightning Netzwerk

View File

@ -0,0 +1 @@
../en-US/release_notes.txt

View File

@ -0,0 +1 @@
Bitcoin & Lightning

View File

@ -0,0 +1 @@
https://github.com/BlueWallet/BlueWallet/issues

View File

@ -0,0 +1,53 @@
ארנק ביטקוין המאפשר לך לאחסן, לשלוח ביטקוין, לקבל ביטקוין ולקנות ביטקוין תוך שמירה על אבטחה ופשטות.
בארנק BlueWallet, המפתחות שלך נשלטים על ידך. ארנק ביטקוין שנוצר על ידי הקהילה למען הקהילה.
You can instantly transact with anyone in the world and transform the financial system right from your pocket.
Create for free unlimited number of bitcoin wallets or import your existing wallet. It's simple and fast.
_____
Here's what you get:
1 - Security by design
Open Source
MIT licensed, you can build it and run it on your own! Made with ReactNative
Plausible deniability
Password which decrypts fake bitcoin wallets if you are forced to disclose your access
Full encryption
On top of the iOS multi-layer encryption, we encrypt everything with added passwords
Full node
Connect to your Bitcoin full node through Electrum
Cold Storage
Connect to your hardware wallet and keep your coins in Cold storage
2 - Focused on your experience
Be in control
Private keys never leave your device.
You control your private keys
Flexible fees
Starting from 1 Satoshi. Defined by you, the user
Replace-By-Fee
(RBF) Speed-up your transactions by increasing the fee (BIP125)
Watch-only wallets
Watch-only wallets allow you to keep an eye on your cold storage without touching the hardware.
Lightning Network
Lightning wallet with zero-configuration. Unfairly cheap and fast transactions with the best Bitcoin user experience.
Buy Bitcoin
Enter in the open financial revolution with the ability to buy Bitcoin directly in your wallet.
Local Trader
A p2p Bitcoin Trading platform, that allows you to buy and sell bitcoin directly to other users without 3rd parties.

View File

@ -0,0 +1 @@
ביטקוין,ארנק,ארנק ביטקוין,בלוקצ'יין,btc,בק,ביט,מטבע קריפטו,קריפטו,קניית ביטקוין,אלקטרום,איתריום

View File

@ -0,0 +1 @@

View File

@ -0,0 +1 @@
BlueWallet - ארנק ביטקוין

View File

@ -0,0 +1,10 @@
תכונות
* קוד פתוח
* הצפנה מלאה
* הכחשה סבירה (Plausible deniability)
* עמלות גמישות
* Replace-By-Fee (RBF)
* SegWit
* ארנקי צפייה בלבד
* רשת הברק

View File

@ -0,0 +1 @@
../en-US/release_notes.txt

View File

@ -0,0 +1 @@
https://github.com/BlueWallet/BlueWallet/issues

View File

@ -0,0 +1,53 @@
Un wallet per Bitcoin che ti consente di conservare, inviare, ricevere ed acquistare Bitcoin in modo sicuro e semplice.
Su BlueWallet, un wallet Bitcoin, tu solo sei in controllo delle tue chiavi private. Un wallet Bitcoin fatto da utilizzatori per la comunità Bitcoin.
Puoi scambiare valore instantaneamente con chiunque nel mondo e trasformare il sistema finanziario direttamente dalla tua tasca.
Crea gratis un numero illimitato di wallet bitcoin o importa il tuo wallet. Semplice e veloce.
_____
Ecco quel che ottieni:
1 - Sicurezza by design
Open Source
Licenza MIT, puoi compilarlo ed eseguirlo per conto tuo! Scritto con ReactNative
Negabilità plausibile
Una password che sblocca falsi wallet bitcoin se sei costretto a rivelare i tuoi accessi
Crittografia completa
In aggiunta alla crittografia multi strato di iOS, codifichiamo tutto con password aggiuntive
Full node
Si connette al tuo full node Bitcoin tramite Electrum
Cold Storage
Connettiti al tuo hardware wallet e conserva i tuoi coins al sicuro.
2 - Focalizzato sulla tua esperienza
Mantieni il controllo
Le chiavi private non lasciano mai il tuo dispositivo.
Tu controlli le chiavi private.
Commissioni flessibili
A partire da 1 Satoshi. Deciso da te, l'utente
Replace-By-Fee
(RBF) Velocizza le tue transazioni aumentando le commissioni (BIP125)
Watch-only wallets
Watch-only wallets allow you to keep an eye on your cold storage without touching the hardware.
Lightning Network
Wallet per Lightning Network con zero configurazioni necessarie. Per transazioni incredibilmente economiche e veloci con la miglior esperienza utente.
Acquista Bitcoin
Enter in the open financial revolution with the ability to buy Bitcoin directly in your wallet.
Local Trader
A p2p Bitcoin Trading platform, that allows you to buy and sell bitcoin directly to other users without 3rd parties.

View File

@ -0,0 +1 @@
bitcoin,wallet,bitcoin wallet,blockchain,btc,cryptocurrency,acquista bitcoin,electrum,crypto-valuta

View File

@ -0,0 +1 @@

View File

@ -0,0 +1 @@
BlueWallet - Bitcoin wallet

View File

@ -0,0 +1,10 @@
Funzionalità
* Open Source
* Crittografia completa
* Negabilita' plausibile
* Commissioni flessibili
* Replace-By-Fee (RBF)
* SegWit
* Watch-only (Sentinel) wallets
* Lightning network

View File

@ -0,0 +1 @@
../en-US/release_notes.txt

View File

@ -0,0 +1 @@

View File

@ -1 +1 @@
MZGenre.Finance FINANCE

View File

@ -1,54 +1,53 @@
Биткоин кошелек для iOS на русском языке. Биткойн-кошелёк который позволяет вам получать, хранить, посылать и покупать биткойны просто и безопасно.
Бесплатный и с открытым исходным кодом.
* Приватные ключи всегда остаются на вашем устройстве В BlueWallet вы владеете приватными ключами. Этокошелек, созданный пользователями биткойнов для сообщества.
* Полное шифрование
* Фальшивый пароль для расшифровки фальшивых кошельков (Правдоподобное отрицание) Вы можете моментально обмениваться средствами с кем угодно в мире. Новая финансовая система у вас в кармане.
* Поддержка SegWit
* Поддержка замены транзакций (Replace-by-Fee - RBF) Создайте бесплатно неограниченное количество биткойн-кошельков или импортируйте существующий. Это просто и быстро.
* Watch-only (Sentinel) wallets
_____
Что внутри:
Особенности 1 - Разработка с фокусом на безопасность
===========
Открытый исходный код Открытый исходный код
--------------------- Лицензия MIT даёт максимум свободы модифицировать код! Разработано на ReactNative
Лицензия MIT. Вы можете самостоятельно собрать приложение. Сделано на ReactNative
Безопасность под контролем Правдопободное отрицание (Plausible deniability)
-------------------------- В случае угрозы вы можете раскрыть пароль от фальшивого биткойн-кошелька. Ваши биткоины будут скрыты от посторонних
Приватные ключи всегда остаются на вашем устройстве
Полное шифрование Полное шифрование
---------------- Поверх родного многослойного шифрования iOS, BlueWallet дополнительно шифрует все данные пользовательским паролем
Поверх родного многослойного шифрования iOS, BlueWallet дополнительно шифрует все данные пользовательским паролем.
Не стоит доверять биометрической безопасности
Правдопободное отрицание Поддержка полной ноды
------------------- Используйте свой сервер Биткойн с Electrum, чтобы повысить приватность
Aka Plausible Deniability. На случай если вас заставляют раскрыть пароль под давлением, вы можете раскрыть "фальшивый"
пароль от фальшивого кошелька. Ваши биткоины будут скрыты от посторонних
Холодное хранение
Подключите аппаратный кошелёк и храните монеты в Холодном хранилище
2 - Получите максимум возможностей
Безопасность под контролем
Приватные ключи всегда остаются на вашем устройстве
Только вы управляете ключами
Гибкие комиссии Гибкие комиссии
---------------
От одного Сатоши. Не переплачивайте за биткоин переводы От одного Сатоши. Не переплачивайте за биткоин переводы
Замена транзакций Замена транзакций (Replace-By-Fee)
------------------ Вы можете ускорить ваши подвисшие транзакции повышением комиссии (стандарт BIP125). Вы также можете поменять адрес назначения для неподтвержденной транзакции
Aka Replace-By-Fee (RBF). Вы можете ускорить ваши подвисшие транзакции повышением комиссии (стандарт BIP125).
Вы также можете поменять адрес назначения для неподтвержденной транзакции
SegWit Кошельки только для просмотра (Watch-only)
-------- Импортировав адрес своего Холодного хранилища вы можете следить за его балансом не подвергая его риску.
Поддержка SegWit (в режиме P2SH совместимости). Экономьте на комиссии еще больше
Экспорт TXHEX Lightning Network
-------------- Этот платёжный протокол позволяет проводить моментальные и почти бесплатные платежи!
Получите данные транзакции не выпуская транзакцию в сеть (если хотите транслировать транакцию самостоятельно)
Покупайте Биткойн
Прямо в вашем кошельке - это настоящая финансовая революция.
Watch-only (Sentinel) wallets Local Trader
----------------------------- Покупайте и продавайте биткоины напрямую с другим пользователям, без третьих лиц.
You can watch status of your offline wallets. No private keys on your device!

View File

@ -1 +1 @@
MZGenre.Apps.Shopping SHOPPING

View File

@ -1,26 +1,109 @@
{ {
"_": { "_": {
"bad_password": "Fasches Passwort, nächster Versuch", "bad_password": "Falsches Passwort, bitte noch einmal versuchen",
"cancel": "Abbrechen", "cancel": "Abbrechen",
"continue": "Weiter", "continue": "Weiter",
"enter_password": "Gib das Passwort ein", "enter_password": "Gib das Passwort ein",
"never": "nie", "never": "nie",
"of": "{number} von {total}",
"ok": "OK", "ok": "OK",
"storage_is_encrypted": "Dein Speicher ist verschlüsselt. Zum Entschlüsseln wird ein Passwort benötigt." "storage_is_encrypted": "Dein Speicher ist verschlüsselt. Zum Entschlüsseln wird ein Passwort benötigt.",
"yes": "Ja"
},
"azteco": {
"codeIs": "Dein Gutscheincode lautet",
"errorBeforeRefeem": "Vor der Einlösung muss eine Bitcoin Wallet hinzugefügt werden.",
"errorSomething": "Etwas ist schiefgelaufen. Ist der Gutscheincode noch gültig?",
"redeem": "Einlösen in Wallet",
"redeemButton": "Einlösen",
"success": "Erfolg",
"title": "Azte.co Gutschein einlösen"
},
"entropy": {
"save": "Speichern",
"title": "Entropie",
"undo": "Zurück"
},
"errors": {
"broadcast": "Übertragung fehlgeschlagen",
"error": "Fehler",
"network": "Netzwerkfehler"
},
"hodl": {
"are_you_sure_you_want_to_logout": "Bist Du sicher, dass Du dich aus HodlHodl ausloggen möchtest?",
"cont_address_escrow": "Treuhandkonto",
"cont_address_to": "an",
"cont_buying": "kaufen",
"cont_cancel": "Auftrag abbrechen",
"cont_cancel_q": "Bist Du sicher, dass du den Auftrag abbrechen möchtest?",
"cont_cancel_y": "Ja, Auftrag abbrechen",
"cont_chat": "Öffne Chat mit Gegenpartei",
"cont_how": "Zahlungsart",
"cont_no": "Du hast keine Aufträge in Bearbeitung.",
"cont_paid": "Markiere als bezahlt",
"cont_paid_e": "Tue dies nur, wenn Du das Geld an den Verkäufer mithilfe der abgemachten Zahlungsmethode übermittelt hast.",
"cont_paid_q": "Bist Du sicher, dass du den Auftrag als bezahlt kennzeichnen möchtest?",
"cont_selling": "verkaufen",
"cont_st_completed": "Alles erledigt!",
"cont_st_in_progress_buyer": "Coins sind im Treuhandkonto, bitte bezahle den Verkäufer.",
"cont_st_paid_enought": "Bitcoins sind im Treuhandkonto! Bitte bezahle den Verkäufer mit der abgemachten Zahlungsmethode.",
"cont_st_paid_waiting": "Warte auf die Freigabe der Coins aus dem Treuhandkonto.",
"cont_st_waiting": "Warte auf die Einzahlung der Coins in das Treuhandkonto durch den Verkäufer.",
"cont_title": "Meine Verträge",
"filter_any": "Jegliche",
"filter_buying": "Kaufen",
"filter_country_global": "Weltweite Angebote",
"filter_country_near": "In meiner Nähe",
"filter_currency": "Währung",
"filter_detail": "Details",
"filter_filters": "Filter",
"filter_iambuying": "Ich kaufe Bitcoin",
"filter_iamselling": "Ich verkaufe Bitcoin",
"filter_method": "Zahlungsmethode",
"filter_search": "Suche",
"filter_selling": "verkaufen",
"item_minmax": "Min/Max",
"item_nooffers": "Keine Angebote. Versuche von \"in meiner Nähe\" zu Globale Angebote zu wechseln!",
"item_rating": "{rating} Transaktionen",
"item_rating_no": "Keine Bewertung",
"login": "Login",
"mycont": "Meine Verträge",
"offer_accept": "Angebot annehmen",
"offer_account_finish": "Die Einrichtung Deines HodlHodl Konto scheint unvollständig. Möchtest Du die Einrichtung jetzt abschliessen?",
"offer_choosemethod": "Wähle Zahlungsmethode",
"offer_confirmations": "Bestätigungen",
"offer_minmax": "Minimum / Maximum",
"offer_minutes": "Minimum",
"offer_promt_fiat": "Wieviel {currency} möchtest Du kaufen?",
"offer_promt_fiat_e": "Zum Beispiel 100",
"offer_window": "Fenster",
"p2p": "Eine Peer2Peer Börse"
}, },
"lnd": { "lnd": {
"errorInvoiceExpired": "Rechnung verfallen",
"exchange": "Börse",
"expired": "Abgelaufen", "expired": "Abgelaufen",
"expiredLow": "verfallen",
"expiresIn": "Verfällt: {time}",
"payButton": "Zahlen",
"placeholder": "Rechnung", "placeholder": "Rechnung",
"potentialFee": "Geschätzte Gebühr: {fee}",
"refill": "Aufladen", "refill": "Aufladen",
"refill_card": "Aufladen mit Zahlkarte",
"refill_create": "Bitte eine Bitcoin wallet erstellen um fortzufahren",
"refill_external": "Aufladen von einer anderen wallet",
"refill_lnd_balance": "Lade deine Lightning Wallet auf", "refill_lnd_balance": "Lade deine Lightning Wallet auf",
"sameWalletAsInvoiceError": "Du kannst nicht die Rechnung mit der Wallet begleichen, die du für die Erstellung dieser Rechnung verwendet hast.", "sameWalletAsInvoiceError": "Du kannst nicht die Rechnung mit der Wallet begleichen, die du für die Erstellung dieser Rechnung verwendet hast.",
"title": "Beträge verwalten" "title": "Beträge verwalten"
}, },
"lndViewInvoice": { "lndViewInvoice": {
"for": "für:", "additional_info": "Weiterführende Informationen",
"for": "Für:",
"has_been_paid": "Diese Rechnung wurde bezahlt.", "has_been_paid": "Diese Rechnung wurde bezahlt.",
"open_direct_channel": "Direkten Kanal zu diesem Knoten eröffnen:", "open_direct_channel": "Direkten Kanal zu diesem Knoten eröffnen:",
"please_pay": "Bitte zahle", "please_pay": "Bitte zahle",
"preimage": "Gegenstand",
"sats": "sats",
"wasnt_paid_and_expired": "Diese Rechnung ist unbezahlt und abgelaufen." "wasnt_paid_and_expired": "Diese Rechnung ist unbezahlt und abgelaufen."
}, },
"plausibledeniability": { "plausibledeniability": {
@ -36,8 +119,13 @@
"title": "Glaubhafte Täuschung" "title": "Glaubhafte Täuschung"
}, },
"pleasebackup": { "pleasebackup": {
"ask": "Hast Du die Backup-Phrase deines Wallet gesichert? Diese ist erforderlich, um auf deine bitcoin zuzugreifen. Ohne die Sicherung der Wörter sind deine bitcoin dauerhaft verloren, sollte dein Gerät verloren oder kaputt gehen.",
"ask_no": "Nein, habe ich nicht.",
"ask_yes": "Ja, habe ich.",
"ok": "Ja, mein Geld ist sicher!", "ok": "Ja, mein Geld ist sicher!",
"ok_lnd": "Okay, ich habe sie gesichert.",
"text": "Nimm Dir Zeit die mnemonischen Wörter zur späteren Wiederherstellung des Wallets aufzuschreiben. Die Wörter sind dein einziges Backup im Fall eines Geräteverlustes.", "text": "Nimm Dir Zeit die mnemonischen Wörter zur späteren Wiederherstellung des Wallets aufzuschreiben. Die Wörter sind dein einziges Backup im Fall eines Geräteverlustes.",
"text_lnd": "Bitte sichere die LNDHub-Authentifizierung. Die Sicherung ist erforderlich, damit Du das Wallet auf anderen Geräten wiederherzustellen kannst.",
"title": "Ihr Wallet wird erstellt..." "title": "Ihr Wallet wird erstellt..."
}, },
"receive": { "receive": {
@ -48,57 +136,174 @@
"header": "Erhalten" "header": "Erhalten"
}, },
"send": { "send": {
"broadcastButton": "Sendung",
"broadcastError": "Fehler",
"broadcastNone": "Transaktions hash-code eingeben",
"broadcastPending": "ausstehend",
"broadcastSuccess": "Erfolg",
"confirm_header": "Bestätigen", "confirm_header": "Bestätigen",
"confirm_sendNow": "Jetzt senden", "confirm_sendNow": "Jetzt senden",
"create_amount": "Betrag", "create_amount": "Betrag",
"create_broadcast": "Übertragen", "create_broadcast": "Übertragen",
"create_copy": "Kopieren und später senden",
"create_details": "Details",
"create_fee": "Gebühr", "create_fee": "Gebühr",
"create_memo": "Notiz",
"create_satoshi_per_byte": "Satoshi pro Byte", "create_satoshi_per_byte": "Satoshi pro Byte",
"create_this_is_hex": "Das ist die hexadezimale Darstellung der signierten Transaktion und bereit zum Übertragen an das Netzwerk", "create_this_is_hex": "Das ist die hexadezimale Darstellung der signierten Transaktion und bereit zum Übertragen an das Netzwerk",
"create_to": "An", "create_to": "An",
"create_tx_size": "Größe", "create_tx_size": "TRX Größe",
"create_verify": "Vergleiche mit coinb.in",
"details_add_rec_add": "Empfänger hinzufügen",
"details_add_rec_rem": "Empfänger entfernen",
"details_address": "Adresse", "details_address": "Adresse",
"details_address_field_is_not_valid": "Adresseingabe ist nicht korrekt", "details_address_field_is_not_valid": "Adresseingabe ist nicht korrekt",
"details_adv_fee_bump": "Gebühranhebung erlauben",
"details_adv_full": "Nutze gesamtes Guthaben",
"details_adv_full_remove": "Die anderen Empfänger werden von dieser Transaktion entfernt.",
"details_adv_full_sure": "Bist Du sicher, dass Du das gesamte Guthaben für diese Transaktion verwenden willst?",
"details_adv_import": "Transaktion importieren",
"details_amount_field_is_not_valid": "Betrageingabe ist nicht korrekt", "details_amount_field_is_not_valid": "Betrageingabe ist nicht korrekt",
"details_create": "Erstellen", "details_create": "Erstellen",
"details_error_decode": "Fehler: Bitcoinadresse kann nicht dekodiert werden",
"details_fee_field_is_not_valid": "Gebühreingabe ist nicht korrekt", "details_fee_field_is_not_valid": "Gebühreingabe ist nicht korrekt",
"details_next": "Weiter",
"details_no_maximum": "Das maximale Guthaben kann für das gewählte Wallet nicht automatisch berechnet werden. Willst Du es trotzdem verwenden?",
"details_no_multiple": "Die Ausgewählte Wallet erlaubt nicht die Sendung von Bitcoin an mehrere Empfänger. Diese Wallet benutzen?",
"details_no_signed_tx": "Die ausgewählte Datei enthält keine importierbare signierte Datei.",
"details_note_placeholder": "Notiz", "details_note_placeholder": "Notiz",
"details_scan": "Scannen", "details_scan": "Scannen",
"details_total_exceeds_balance": "Der zu sendende Betrag ist größer als der verfügbare Betrag.", "details_total_exceeds_balance": "Der zu sendende Betrag ist größer als der verfügbare Betrag.",
"details_wallet_before_tx": "Vor der Ausführung einer Transaktion musst Du zuerst eine Bitcoin Wallet erstellen.",
"details_wallet_selection": "Wallet Auswahl",
"dynamic_init": "Initialisierung",
"dynamic_next": "Nächste",
"dynamic_prev": "Vorherige",
"dynamic_start": "Start",
"dynamic_stop": "Stop",
"header": "Senden", "header": "Senden",
"success_done": "Fertig" "input_clear": "Löschen",
"input_done": "Fertig",
"input_paste": "Einfügen",
"input_total": "Gesamt:",
"permission_camera_message": "Wir brauchen Deine Erlaubnis um die Kamera zu nutzen.",
"permission_camera_title": "Erlaubnis die Kamera zu benutzen",
"open_settings": "Einstellungen Öffnen",
"permission_storage_later": "Später beantworten",
"permission_storage_message": "BlueWallet braucht Deine Erlaubnis die Kamera zu benutzen.",
"permission_storage_title": "BlueWallet Speicherzugriffserlaubnis",
"psbt_clipboard": "In die Zwischenablage kopieren",
"psbt_this_is_psbt": "Dies ist eine partiell signierte Bitcoin-Transaktion (PSBT). Beende die Signatur mit Deiner Hardware-Wallet.",
"psbt_tx_export": "In Datei exportieren",
"psbt_tx_open": "Öffne signierte Transaktion.",
"psbt_tx_scan": "Signierte Transaktion scannen",
"qr_error_no_qrcode": "Das gewählte Foto enthält keinen QR code",
"qr_error_no_wallet": "Die ausgewählte Datei enthält keine wallet die importiert werden kann.",
"success_done": "Fertig",
"txSaved": "Die Transaktionsdatei ({filePath}) wurde im Download Ordner gespeichert."
}, },
"settings": { "settings": {
"about": "Über", "about": "Über",
"about_awesome": "Entwickelt mt der eindrucksvollen",
"about_backup": "Stets die Backup-Phrase sichern!",
"about_free": "BlueWallet ist kostenlose Open Source Software. Produziert von Bitcoin-Benutzern.",
"about_release_notes": "Versionshinweise",
"about_review": "Bewertung hinterlassen",
"about_selftest": "Selbsttest ausführen",
"about_sm_github": "GitHub",
"about_sm_telegram": "Telegram chat",
"about_sm_twitter": "Folgt uns auf Twitter",
"advanced_options": "Erweiterte Optionen", "advanced_options": "Erweiterte Optionen",
"currency": "Währung", "currency": "Währung",
"currency_source": "Die Preisangaben stammen von CoinDesk",
"default_desc": "Wenn deaktiviert, öffnet BlueWallet beim Start die ausgewählte Wallet.",
"default_info": "Beim Start öffnen",
"default_title": "Beim Start",
"default_wallets": "Alle Wallets anzeigen",
"electrum_connected": "Verbunden",
"electrum_connected_not": "Nicht verbunden",
"electrum_error_connect": "Keine Verbindung zum angegebenen Electrum-Server möglich.",
"electrum_host": "Host, zum Beispiel {example}",
"electrum_port": "TCP Port, normalerweise {example}",
"electrum_port_ssl": "SSL port, normalerweise {example}",
"electrum_saved": "Deine Änderungen wurden gespeichert. Zur Aktivierung ist ggf. ein Neustart von BlueWallet erforderlich.",
"electrum_settings": "Electrum Einstellungen", "electrum_settings": "Electrum Einstellungen",
"electrum_settings_explain": "Leer lassen, um den Standard zu verwenden.", "electrum_settings_explain": "Leer lassen, um den Standard zu verwenden.",
"electrum_status": "Status",
"encrypt_decrypt": "Speicher entschlüsseln",
"encrypt_decrypt_q": "Hiermit wird dein Wallet ohne Passwortschutz direkt benutzbar. Willst du die Speicherverschlüsselung wirklich aufheben?",
"encrypt_del_uninstall": "Bei Deinstallation löschen",
"encrypt_enc_and_pass": "Verschlüsselt und Passwort geschützt",
"encrypt_title": "Sicherheit",
"encrypt_tstorage": "Speicher",
"encrypt_use": "Benutze {type}",
"encrypt_use_expl": "{type} wird zur Transaktionsdurchführung, zum Entsperren, dem Export oder der Löschung einer Wallet benötigt. {type} ersetzt nicht die Passworteingabe bei verschlüsseltem Speicher.",
"general": "Allgemein",
"general_adv_mode": "Erweiterter Modus verwenden", "general_adv_mode": "Erweiterter Modus verwenden",
"general_adv_mode_e": "Erlaubt wenn aktiviert verschiedene Wallet-Typen anzulegen, dabei eine benutzerdefinierte Entropie zu verwenden und für Lightning Wallet die LNDHub-Instanz frei anzugeben.",
"general_continuity": "Kontinuität",
"general_continuity_e": "Zeigt wenn aktiviert ausgewählte Wallets und deren Transaktionen auf Deinen anderen Apple iCloud Geräten an. ",
"header": "Einstellungen", "header": "Einstellungen",
"language": "Sprache", "language": "Sprache",
"language_restart": "Um die geänderte Sprache zu aktivieren ist ggf. ein Neustart von BlueWallet erforderlich.",
"lightning_error_lndhub_uri": "Keine gültige LndHub URI",
"lightning_saved": "Deine Änderungen wurden gespeichert.",
"lightning_settings": "Lightning Einstellungen", "lightning_settings": "Lightning Einstellungen",
"lightning_settings_explain": "Bitte installier Lndhub, um mit deiner eigenen LND Node zu verbinden und setz seine URL hier in den Einstellungen. Lass das Feld leer, um Standard- LndHub\n (lndhub.io) zu verwenden", "lightning_settings_explain": "Bitte installier Lndhub, um mit deiner eigenen LND Node zu verbinden und setz seine URL hier in den Einstellungen. Lass das Feld leer, um Standard- LndHub\n (lndhub.io) zu verwenden",
"network": "Netzwerk",
"network_broadcast": "Transaktion publizieren",
"network_electrum": "Electrum Server",
"password": "Passwort", "password": "Passwort",
"password_explain": "Erstelle das Passwort zum Entschlüsseln des Speichers", "password_explain": "Erstelle das Passwort zum Entschlüsseln des Speichers",
"passwords_do_not_match": "Passwörter stimmen nicht überein", "passwords_do_not_match": "Passwörter stimmen nicht überein",
"plausible_deniability": "Glaubhafte Täuschung...", "plausible_deniability": "Glaubhafte Täuschung...",
"retype_password": "Passwort wiederholen", "retype_password": "Passwort wiederholen",
"save": "Speichern" "notifications": "Benachrichtigungen",
"save": "Speichern",
"saved": "gespeichert",
"not_a_valid_uri": "Keine gültige URL",
"push_notifications": "Push Benachrichtigungen",
"groundcontrol_explanation": "GroundControl ist ein kostenloser Open-Source Push-Benachrichtigungsdienst für Bitcoin-Wallets. Trage hier die URL eines selbst aufgesetzten GroundControl-Server ein, um von BlueWallet unabhängig zu bleiben. Leer lassen, um die Standardeinstellung zu verwenden."
}, },
"transactions": { "transactions": {
"cancel_explain": "Wir werden diese Transaktion mit derjenigen ersetzen, welche an dich überweist und höhere Transaktionskosten hat. Die Transaktion wird dadurch effektiv abgebrochen. Dies wird RBF genannt - Replace By Fee.",
"cancel_no": "Diese Transaktion ist nicht ersetzbar.",
"cancel_title": "Diese Transaktion abbrechen (RBF)",
"cpfp_create": "erzeugen",
"cpfp_exp": "Wir werden eine andere Transaktion erzeugen, welche deine unbestätigte Transaktion ausgibt. Die gesamten Kosten werden höher als bei der ursprünglichen Transaktion sein, daher sollte sie schneller gemined werden. Dies wird CPFP genannt - Child Pays For Parent.",
"cpfp_no_bump": "Keine TRX-Gebührenerhöhung möglich",
"cpfp_title": "TRX-Gebühr erhöhen (CPFP)",
"details_block": "Blockhöhe",
"details_copy": "Kopieren", "details_copy": "Kopieren",
"details_from": "Eingehend", "details_from": "Eingehend",
"details_inputs": "Eingänge",
"details_outputs": "Ausgänge",
"details_received": "Empfangen",
"details_show_in_block_explorer": "Im Block-Explorer zeigen", "details_show_in_block_explorer": "Im Block-Explorer zeigen",
"details_title": "Transaktionen", "details_title": "Transaktionen",
"details_to": "Ausgehend", "details_to": "Ausgehend",
"details_transaction_details": "Details", "details_transaction_details": "Details",
"enable_hw": "Dieses Wallet nutzt keine Hardware-Wallet. Möchtest Du die Verwendung einer Hardware-Wallet aktivieren?",
"list_conf": "Konf", "list_conf": "Konf",
"list_title": "Transaktionen" "list_title": "Transaktionen",
"transactions_count": "Anzahl Transaktionen",
"rbf_explain": "BlueWallet ersetzt diese Transaktion zur Verringerung der Transaktionszeit durch eine mit höherer Gebühr. (RBF - Replace By Fee)",
"rbf_title": "TRX-Gebühr erhöhen (RBF)",
"status_bump": "TRX-Gebühr erhöhen",
"status_cancel": "Transaktion abbrechen"
}, },
"wallets": { "wallets": {
"add_bitcoin": "Bitcoin",
"add_create": "Erstellen", "add_create": "Erstellen",
"add_entropy_generated": "{gen} Bytes an generierter Entropie ",
"add_entropy_provide": "Entropie selbst erzeugen",
"add_entropy_remain": "{gen} Bytes an generierter Entropie. Die restlichen {rem} Bytes werden vom Zufallsgenerator des Systems ergänzt.",
"add_import_wallet": "Wallet importieren", "add_import_wallet": "Wallet importieren",
"import_file": "Datei importieren",
"add_lightning": "Lightning",
"add_lndhub": "LNDHub Verbindung",
"add_lndhub_error": "Die angegebene LNDHub Verbindung ist ungültig. ",
"add_lndhub_placeholder": "Adresse Deines Bitcoin-Knotens (Node)",
"add_or": "oder", "add_or": "oder",
"add_title": "Wallet hinzufügen", "add_title": "Wallet hinzufügen",
"add_wallet_name": "Wallet Name", "add_wallet_name": "Wallet Name",
@ -107,14 +312,22 @@
"details_advanced": "Fortgeschritten", "details_advanced": "Fortgeschritten",
"details_are_you_sure": "Bist du dir sicher??", "details_are_you_sure": "Bist du dir sicher??",
"details_connected_to": "Verbunden mit", "details_connected_to": "Verbunden mit",
"details_del_wb": "Wallet Guthaben",
"details_del_wb_err": "Das angegebene Guthaben deckt sich nicht mit dem Guthaben des Wallet. Bitte versuche es erneut.",
"details_del_wb_q": "Dieses Wallet enthält noch bitcoin. Ohne vorhandenes Backup der mnemonische Phrase sind diese unwiederbringlich verloren. Um ein versehentliches entfernen zu vermeiden, gib bitte das Wallet-Guthaben von {balance} satoshis ein.",
"details_delete": "Löschen", "details_delete": "Löschen",
"details_delete_wallet": "Wallet löschen",
"details_display": "In Wallet-List anzeigen",
"details_export_backup": "Exportieren / Backup", "details_export_backup": "Exportieren / Backup",
"details_marketplace": "Marktplatz",
"details_master_fingerprint": "Fingerabdruckerkennung", "details_master_fingerprint": "Fingerabdruckerkennung",
"details_no_cancel": "Nein, abbrechnen", "details_no_cancel": "Nein, abbrechnen",
"details_save": "Sichern", "details_save": "Sichern",
"details_show_xpub": "Wallet XPUB zeigen", "details_show_xpub": "Wallet XPUB zeigen",
"details_title": "Wallet",
"details_type": "Typ", "details_type": "Typ",
"details_use_with_hardware_wallet": "Hardware Wallet nutzen", "details_use_with_hardware_wallet": "Hardware Wallet nutzen",
"details_wallet_updated": "Wallet aktualisiert",
"details_yes_delete": "Ja, löschen", "details_yes_delete": "Ja, löschen",
"export_title": "Wallet exportieren", "export_title": "Wallet exportieren",
"import_do_import": "Importieren", "import_do_import": "Importieren",
@ -132,10 +345,20 @@
"list_empty_txs1_lightning": "Verwende das Lightning Wallet für Deine täglichen Bezahlungen. Lightning Transaktionen sind konkurrenzlos günstig und verblüffend schnell.", "list_empty_txs1_lightning": "Verwende das Lightning Wallet für Deine täglichen Bezahlungen. Lightning Transaktionen sind konkurrenzlos günstig und verblüffend schnell.",
"list_empty_txs2": "Noch keine Transaktionen", "list_empty_txs2": "Noch keine Transaktionen",
"list_empty_txs2_lightning": "\nDrücke zum Starten «Beträge verwalten», um das Wallet zu laden.", "list_empty_txs2_lightning": "\nDrücke zum Starten «Beträge verwalten», um das Wallet zu laden.",
"list_header": "Eine Wallet besteht aus einer Adresse, die zwecks Einzahlung geteilt werden kann und einem in BlueWallet nicht sichtbaren Privatschlüssel, welche das Senden von dieser Adresse erlaubt.",
"list_import_error": "Beim Versuch diese Wallet zu importieren ist ein Fehler aufgetreten. ",
"list_import_problem": "Beim Import dieses Wallet ist ein Problem aufgetreten.",
"list_latest_transaction": "Lezte Transaktion", "list_latest_transaction": "Lezte Transaktion",
"list_long_choose": "Foto auswählen",
"list_long_clipboard": "Aus der Zwischenablage kopieren",
"list_long_scan": "QR Code scannen",
"take_photo": "Foto aufnehmen",
"list_tap_here_to_buy": "Klicke hier, um Bitcoin zu kaufen", "list_tap_here_to_buy": "Klicke hier, um Bitcoin zu kaufen",
"list_title": "Wallets", "list_title": "Wallets",
"list_tryagain": "Nochmal versuchen",
"reorder_title": "Wallets neu ordnen", "reorder_title": "Wallets neu ordnen",
"select_no_bitcoin": "Es sind momentan keine Bitcoin Wallets verfügbar.",
"select_no_bitcoin_exp": "Eine Bitcoin Wallet ist Voraussetzung dafür, um eine Lightning Wallet zu befüllen. Bitte erstelle oder importiere eines.",
"select_wallet": "Wähle eine Wallet", "select_wallet": "Wähle eine Wallet",
"xpub_copiedToClipboard": "In die Zwischenablage kopiert.", "xpub_copiedToClipboard": "In die Zwischenablage kopiert.",
"xpub_title": "Wallet XPUB" "xpub_title": "Wallet XPUB"

View File

@ -299,6 +299,7 @@
"add_entropy_provide": "Provide entropy via dice rolls", "add_entropy_provide": "Provide entropy via dice rolls",
"add_entropy_remain": "{gen} bytes of generated entropy. Remaining {rem} bytes will be obtained from the System random number generator.", "add_entropy_remain": "{gen} bytes of generated entropy. Remaining {rem} bytes will be obtained from the System random number generator.",
"add_import_wallet": "Import wallet", "add_import_wallet": "Import wallet",
"import_file": "Import File",
"add_lightning": "Lightning", "add_lightning": "Lightning",
"add_lndhub": "Connect to your LNDHub", "add_lndhub": "Connect to your LNDHub",
"add_lndhub_error": "The provided node address is not valid LNDHub node.", "add_lndhub_error": "The provided node address is not valid LNDHub node.",
@ -344,7 +345,7 @@
"list_empty_txs1_lightning": "Lightning wallet should be used for your daily transactions. Fees are unfairly cheap and speed is blazing fast.", "list_empty_txs1_lightning": "Lightning wallet should be used for your daily transactions. Fees are unfairly cheap and speed is blazing fast.",
"list_empty_txs2": "Start with your wallet", "list_empty_txs2": "Start with your wallet",
"list_empty_txs2_lightning": "\nTo start using it tap on \"manage funds\" and topup your balance.", "list_empty_txs2_lightning": "\nTo start using it tap on \"manage funds\" and topup your balance.",
"list_header": "A wallet represents a pair of a secret (private key) and an addressyou can share to receive coins.", "list_header": "A wallet represents a pair of keys, one private and one you can share to receive coins.",
"list_import_error": "An error was encountered when attempting to import this wallet.", "list_import_error": "An error was encountered when attempting to import this wallet.",
"list_import_problem": "There was a problem importing this wallet", "list_import_problem": "There was a problem importing this wallet",
"list_latest_transaction": "latest transaction", "list_latest_transaction": "latest transaction",

View File

@ -1,114 +1,366 @@
{ {
"_": { "_": {
"bad_password": "Contraseña incorrecta. Intente nuevamente.", "bad_password": "Contraseña incorrecta, por favor inténtalo de nuevo.",
"cancel": "Cancelar", "cancel": "Cancelar",
"continue": "Continua", "continue": "Continua",
"enter_password": "Inserte contraseña", "enter_password": "Introduce la contraseña",
"never": "nunca", "never": "nunca",
"of": "{number} de {total}",
"ok": "OK", "ok": "OK",
"storage_is_encrypted": "Su almacenamiento está cifrado. Se requiere contraseña para descifrarla." "storage_is_encrypted": "Tu almacenamiento está cifrado. Se requiere la contraseña para descifrarlo.",
"yes": "Sí"
},
"azteco": {
"codeIs": "El código de tu cupón es",
"errorBeforeRefeem": "Antes de canjear, primero debe añadir una cartera de Bitcoin.",
"errorSomething": "Algo ha salido mal. ¿Sigue siendo válido este cupón?",
"redeem": "Canjear y mover a la cartera",
"redeemButton": "Canjear",
"success": "Completado",
"title": "Canjear Boleto Azte.co"
},
"entropy": {
"save": "Guardar",
"title": "Entropía ",
"undo": "Deshacer"
},
"errors": {
"broadcast": "Error de transmisión",
"error": "Error",
"network": "Error de Red"
},
"hodl": {
"are_you_sure_you_want_to_logout": "¿Estás seguro de que quieres cerrar sesión en HodlHodl?",
"cont_address_escrow": "Depósito",
"cont_address_to": "Para",
"cont_buying": "comprando",
"cont_cancel": "Cancelar contrato",
"cont_cancel_q": "¿Estás seguro de que quieres cancelar este contrato?",
"cont_cancel_y": "Sí, cancelar contrato",
"cont_chat": "Abrir chat con contraparte",
"cont_how": "Cómo pagar",
"cont_no": "No tienes ningún contrato en curso",
"cont_paid": "Marcar contrato como pagado",
"cont_paid_e": "Haz esto solo si has enviado fondos al vendedor a través del método de pago acordado",
"cont_paid_q": "¿Estás seguro de que quieres marcar este contrato como pagado?",
"cont_selling": "en venta",
"cont_st_completed": "¡Todo listo!",
"cont_st_in_progress_buyer": "Las monedas están en depósito, pague al vendedor",
"cont_st_paid_enought": "¡Los bitcoins están en el depósito! Paga al vendedor\na través del método de pago acordado",
"cont_st_paid_waiting": "Esperando a que el vendedor libere monedas del depósito en garantía",
"cont_st_waiting": "Esperando que el vendedor deposite Bitcoins en custodia ...",
"cont_title": "Mis contratos",
"filter_any": "Algo",
"filter_buying": "Comprando",
"filter_country_global": "Ofertas globales",
"filter_country_near": "Cerca de mí",
"filter_currency": "Moneda",
"filter_detail": "Detalle",
"filter_filters": "Filtros",
"filter_iambuying": "Estoy comprando bitcoin",
"filter_iamselling": "Estoy vendiendo bitcoin",
"filter_method": "Método de pago",
"filter_search": "Buscar",
"filter_selling": "Vendiendo",
"item_minmax": "Mín/Máx",
"item_nooffers": "No hay ofertas. ¡Prueba a cambiar \"Cerca de mí\" a \"Ofertas globales\"!",
"item_rating": "{rating} operaciones",
"item_rating_no": "Sin ratio",
"login": "Login",
"mycont": "Mis contratos",
"offer_accept": "Aceptar oferta",
"offer_account_finish": "Parece que no terminó de configurar la cuenta en HodlHodl, ¿le gustaría finalizar la configuración ahora?",
"offer_choosemethod": "Elige el método de pago",
"offer_confirmations": "confirmaciones",
"offer_minmax": "mín / máx",
"offer_minutes": "mín",
"offer_promt_fiat": "¿Cuánto {currency} quieres comprar?",
"offer_promt_fiat_e": "100 por ejemplo",
"offer_window": "ventana",
"p2p": "Una casa de cambio p2p"
}, },
"lnd": { "lnd": {
"errorInvoiceExpired": "Factura expirada",
"exchange": "Casa de cambio",
"expired": "Expirado", "expired": "Expirado",
"expiredLow": "expirado",
"expiresIn": "Expiración: {time}",
"payButton": "Pagar",
"placeholder": "Factura",
"potentialFee": "Comisión estimada: {fee}",
"refill": "Rellenar", "refill": "Rellenar",
"refill_card": "Recargar con tarjeta bancaria ",
"refill_create": "Para continuar, cree una billetartera de Bitcoin para recargar.",
"refill_external": "Recargar con una cartera externa",
"refill_lnd_balance": "Rellenar el balance de la billetera Lightning", "refill_lnd_balance": "Rellenar el balance de la billetera Lightning",
"sameWalletAsInvoiceError": "No puedes pagar una factura con la misma billetera que usaste para crearla.",
"title": "manejar fondos" "title": "manejar fondos"
}, },
"lndViewInvoice": {
"additional_info": "Información adicional",
"for": "Para:",
"has_been_paid": "Esta factura ha sido pagada para",
"open_direct_channel": "Abrir un canal directo con este nodo:",
"please_pay": "Por favor, pague",
"preimage": "Preimagen",
"sats": "sats",
"wasnt_paid_and_expired": "Esta factura no se pagó y ha caducado"
},
"plausibledeniability": { "plausibledeniability": {
"create_fake_storage": "Crear un almacen cifrado falso", "create_fake_storage": "Crear un almacen cifrado falso",
"create_password": "Crear una contraseña", "create_password": "Crear una contraseña",
"create_password_explanation": "La contraseña para el almacen falso no puede ser el mismo para su almacen principal.", "create_password_explanation": "La contraseña para el almacenamiento falso no puede ser igual que la del principal",
"help": "Bajo ciertas circunstancias, usted podría verse obligado a revelar un contraseña. Para mantener sus monedas seguras, BlueWallet puede crear otro almacenamiento cifrado, con una contraseña diferente. Bajo la presiónpuede revelar esta contraseña a un tercero. Si se ingresa en BlueWallet, desbloqueará un nuevo almacenamiento `falso`. Esto parecerá legítimo para un tercero, pero en secreto mantendrá su almacenamiento principal con monedas seguras.", "help": "Bajo ciertas circunstancias, podrías verte forzado a revelar tu contraseña. Para proteger tus fondos, BlueWallet puede crear otro almacenamiento cifrado, con una contraseña diferente. Da esta otra contraseña a quien te esté obligando a hacerlo y BlueWallet mostrará un almacenamiento \"falso\" que parecerá legítimo. Así mantendrás a buen recaudo el almacenamiento con tus fondos.",
"help2": "El nuevo almacen sera completamente funcional, y puedes almacenar cantidades minimas para que sea mas creible.", "help2": "El nuevo almacen sera completamente funcional, y puedes almacenar cantidades minimas para que sea mas creible.",
"password_should_not_match": "La contraseña para el almacen falso no puede ser el mismo para su almacen principal.", "password_should_not_match": "Esta contraseña ya está en uso. Por favor, introduce una diferente.",
"passwords_do_not_match": "Las contraseñas no coinciden, intente nuevamente", "passwords_do_not_match": "Las contraseñas no coinciden, inténtalo otra vez",
"retype_password": "Volver a escribir contraseña", "retype_password": "Volver a escribir contraseña",
"success": "Exitoso", "success": "Completado",
"title": "Negación plausible" "title": "Negación plausible"
}, },
"pleasebackup": {
"ask": "¿Ha guardado la frase de respaldo de su billetera? Esta frase de respaldo es necesaria para acceder a sus fondos en caso de que pierda este dispositivo. Sin la frase de respaldo, sus fondos se perderán permanentemente.",
"ask_no": "No, no tengo",
"ask_yes": "Sí, tengo",
"ok": "OK, ¡ya lo he apuntado!",
"ok_lnd": "OK, lo he guardado.",
"text": "Tómate un momento para apuntar esta frase mnemotécnica en un papel. Es lo que te permitirá restaurar la cartera en otro dispositivo.",
"text_lnd": "Tómese un momento para guardar esta autenticación LNDHub. Es su copia de seguridad que puede usar para restaurar la billetera en otro dispositivo.",
"title": "Tu cartera está creada..."
},
"receive": { "receive": {
"details_share": "Compartir", "details_create": "Crear",
"details_label": "Descripción",
"details_setAmount": "Recibir con monto",
"details_share": "compartir",
"header": "Recibir" "header": "Recibir"
}, },
"send": { "send": {
"broadcastButton": "EMITIR",
"broadcastError": "error",
"broadcastNone": "Introducir hash de transacción ",
"broadcastPending": "pendiente",
"broadcastSuccess": "completado",
"confirm_header": "Confirmar",
"confirm_sendNow": "Enviar ahora",
"create_amount": "Cantidad", "create_amount": "Cantidad",
"create_broadcast": "Transmitir", "create_broadcast": "Transmitir",
"create_copy": "Escanear código QR",
"create_details": "Detalles", "create_details": "Detalles",
"create_fee": "Tasa", "create_fee": "Comisión",
"create_memo": "Comentario", "create_memo": "Comentario",
"create_satoshi_per_byte": "satoshiPorByte", "create_satoshi_per_byte": "Satoshis por byte",
"create_this_is_hex": "Este es representacion hex de transacción, firmado y listo para ser transmitido a la red. ¿Continuar?", "create_this_is_hex": "Esto es el HEX de tu transacción, firmado y listo para ser transmitido a la red.",
"create_to": "A", "create_to": "Dirección de destino",
"create_tx_size": "tamaño de TX", "create_tx_size": "tamaño de TX",
"details_address": "Direccion", "create_verify": "Verificar en coinb.in",
"details_add_rec_add": "Añadir destinatario",
"details_add_rec_rem": "Quitar Recipiente",
"details_address": "dirección",
"details_address_field_is_not_valid": "La dirección no es válida", "details_address_field_is_not_valid": "La dirección no es válida",
"details_adv_fee_bump": "Permitir aumento de tarifas",
"details_adv_full": "Usar todo el balance",
"details_adv_full_remove": "Los otros destinatarios serán eliminados de esta transacción.",
"details_adv_full_sure": "¿Está seguro de que desea utilizar el saldo completo de su billetera para esta transacción?",
"details_adv_import": "Importar Transacción",
"details_amount_field_is_not_valid": "La cantidad no es válida", "details_amount_field_is_not_valid": "La cantidad no es válida",
"details_create": "Crear", "details_create": "Crear factura",
"details_fee_field_is_not_valid": "La tasa no es válida", "details_error_decode": "Error: no se puede decodificar la dirección de Bitcoin",
"details_note_placeholder": "comentario (para ti mismo)", "details_fee_field_is_not_valid": "La comisión no es válida",
"details_scan": "Escaniar", "details_next": "Siguiente",
"details_no_maximum": "La cartera seleccionada no admite el cálculo automático del saldo máximo. ¿Estás seguro de querer seleccionar esta billetera?",
"details_no_multiple": "La billetera seleccionada no admite el envío de Bitcoin a varios destinatarios. ¿Está seguro de querer seleccionar esta billetera?",
"details_no_signed_tx": "El archivo seleccionado no contiene una transacción firmada que se pueda importar.",
"details_note_placeholder": "nota personal",
"details_scan": "Escanear",
"details_total_exceeds_balance": "El monto excede el balance disponible.", "details_total_exceeds_balance": "El monto excede el balance disponible.",
"header": "enviar" "details_wallet_before_tx": "Antes de crear una transacción, primero debe añadir una cartera de Bitcoin.",
"details_wallet_selection": "Selección de cartera",
"dynamic_init": "Iniciando",
"dynamic_next": "Siguiente",
"dynamic_prev": "Previo",
"dynamic_start": "Empezar",
"dynamic_stop": "Detener",
"header": "Enviar",
"input_clear": "Limpiar",
"input_done": "Hecho",
"input_paste": "Pegar",
"input_total": "Total:",
"permission_camera_message": "Necesitamos permiso para usar la cámara",
"permission_camera_title": "Permiso para usar la cámara",
"open_settings": "Abrir configuración",
"permission_storage_later": "Pregúntame luego",
"permission_storage_message": "BlueWallet necesita permiso para acceder a su almacenamiento para poder guardar esta transacción.",
"permission_storage_title": "BlueWallet requiere permiso para acceder al almacenamiento",
"psbt_clipboard": "Copiar al portapapeles",
"psbt_this_is_psbt": "Esta transacción está parcialmente firmada (PSBT). Por favor termina de firmarla con tu cartera de hardware.",
"psbt_tx_export": "Exportar a archivo",
"psbt_tx_open": "Abrir transacción firmada",
"psbt_tx_scan": "Escanear transacción firmada",
"qr_error_no_qrcode": "La imagen seleccionada no contiene un código QR.",
"qr_error_no_wallet": "El archivo seleccionado no contiene una cartera que pueda ser importada.",
"success_done": "Completado",
"txSaved": "El archivo de la transacción ({filePath}) ha sido guardado en tu carpeta de descargas."
}, },
"settings": { "settings": {
"about": "Sobre nosotros", "about": "Sobre nosotros",
"about_awesome": "Built with the awesome",
"about_backup": "¡Guarda siempre una copia de seguridad de tus llaves!",
"about_free": "BlueWallet es un proyecto de código abierto y gratuito. Elaborado por usuarios de Bitcoin.",
"about_release_notes": "Notas sobre el lanzamiento",
"about_review": "Escribe una reseña",
"about_selftest": "Iniciar test local",
"about_sm_github": "GitHub",
"about_sm_telegram": "Chat de Telegram",
"about_sm_twitter": "Síguenos en Twitter",
"advanced_options": "Opciones avanzadas",
"currency": "Moneda", "currency": "Moneda",
"currency_source": "Los precios provienen de CoinDesk",
"default_desc": "Cuando este deshabilitado, BluwWallet abrirá por defecto la cartera seleccionada al iniciar la aplicación.",
"default_info": "Por defecto",
"default_title": "Al iniciar",
"default_wallets": "Ver todas las carteras",
"electrum_connected": "Conectado",
"electrum_connected_not": "Desconectado",
"electrum_error_connect": "No se ha podido conectar al servidor de Electrum",
"electrum_host": "host, por ejemplo {example}",
"electrum_port": "Puerto TCP, normalmente {example}",
"electrum_port_ssl": "Puerto SSL, normalmente {example}",
"electrum_saved": "Los cambios se han guardado. Puede que se requiera reiniciar la aplicación para que tomen efecto.",
"electrum_settings": "Configuración de Electrum",
"electrum_settings_explain": "Déjalo en blanco para usar el predeterminado",
"electrum_status": "Estado",
"encrypt_decrypt": "Desencriptar almacenamiento",
"encrypt_decrypt_q": "¿Seguro que quieres desencriptar tu almacenamiento? Al hacerlo, se podrá acceder a tus carteras sin contraseña.",
"encrypt_del_uninstall": "Bórralo si desinstalas BlueWallet",
"encrypt_enc_and_pass": "Encriptada y protegida mediante contraseña",
"encrypt_title": "Seguridad",
"encrypt_tstorage": "almacenamiento",
"encrypt_use": "Usar {type}",
"encrypt_use_expl": "{type} será usado para confirmar tu identidad antes de realizar una transacción y para desbloquear, exportar o borrar una cartera. {type} no será usado para desbloquear un almacenamiento encriptado.",
"general": "General",
"general_adv_mode": "Enable advanced mode", "general_adv_mode": "Enable advanced mode",
"header": "Ajustes", "general_adv_mode_e": "Al activarlo podrás ver opciones avanzadas, como varios tipos de carteras, la posibilidad de especificar el LNDHub al que quieres conectar y entropía personalizada al crear una cartera.",
"general_continuity": "Continuidad",
"general_continuity_e": "Al activarlo, podrá ver las transacciones y carteras seleccionadas usando cualquiera de sus dispositivos Apple conectados a iCloud.",
"header": "ajustes",
"language": "Idioma", "language": "Idioma",
"language_restart": "Al seleccionar otro idioma, será necesario reiniciar BlueWallet para mostrar los cambios.",
"lightning_error_lndhub_uri": "LndHub URI no válida",
"lightning_saved": "Sus cambios se han guardado correctamente",
"lightning_settings": "Lightning settings", "lightning_settings": "Lightning settings",
"lightning_settings_explain": "To connect to your own LND node please install LndHub and put its URL here in settings. Leave blank to use default ndHub\n (lndhub.io)", "lightning_settings_explain": "To connect to your own LND node please install LndHub and put its URL here in settings. Leave blank to use default ndHub\n (lndhub.io)",
"network": "Red",
"network_broadcast": "Emitir transacción",
"network_electrum": "Servidor Electrum",
"password": "Contraseña", "password": "Contraseña",
"password_explain": "Crea la contraseña que usarás para descifrar el almacenamiento", "password_explain": "Crea la contraseña que usarás para descifrar el almacenamiento",
"passwords_do_not_match": "Contraseñas deben ser iguales", "passwords_do_not_match": "Contraseñas deben ser iguales",
"plausible_deniability": "Negación plausible...", "plausible_deniability": "Negación plausible",
"retype_password": "Ingresa la contraseña nuevamente", "retype_password": "Ingresa la contraseña nuevamente",
"save": "save" "notifications": "Notificaciones",
"save": "Guardar",
"saved": "Guardado",
"not_a_valid_uri": "URI no válida",
"push_notifications": "Notificaciones push",
"groundcontrol_explanation": "GroundControl es un servidor gratuito y de código abierto de notificaciones push para carteras Bitcoin. Puedes instalar tu propio servidor de GroundControl y poner su URL aquí para no depender del de BlueWallet. Déjalo en blanco para usar el predeterminado"
}, },
"transactions": { "transactions": {
"cancel_explain": "Reemplazaremos esta transacción con la que te paga y tiene tasas más altas, lo que cancelará la transacción. A esto se le llama RBF (Replace By Fee).",
"cancel_no": "Esta transacción no se puede reemplazar",
"cancel_title": "Cancelar esta transacción (RBF)",
"cpfp_create": "Crear",
"cpfp_exp": "Crearemos otra transacción que gastará tu otra transacción aun no confirmada. La comisión total será mayor que la comisión original, lo cual debería hacer que sea minada antes. A esto se le llama CPFP (Child Pays For Parent).",
"cpfp_no_bump": "Esta transacción no se puede acelerar",
"cpfp_title": "Aumentar comisión (CPFP)",
"details_block": "Altura del bloque",
"details_copy": "Copiar", "details_copy": "Copiar",
"details_from": "De", "details_from": "De",
"details_inputs": "Inputs",
"details_outputs": "Outputs",
"details_received": "Recibido",
"details_show_in_block_explorer": "Mostrar en explorador de bloques", "details_show_in_block_explorer": "Mostrar en explorador de bloques",
"details_title": "Transaccion", "details_title": "Transaccion",
"details_to": "A", "details_to": "A",
"details_transaction_details": "Detalles de la transacción", "details_transaction_details": "Detalles de la transacción",
"list_title": "transacciónes" "enable_hw": "Esta cartera no está siendo usada en conjunción con una de hardware. ¿Quieres activar el uso con carteras de hardware?",
"list_conf": "conf",
"list_title": "transacciones",
"transactions_count": "Número de transacciones",
"rbf_explain": "Reemplazaremos esta transacción por la de mayor comisión, lo que debería hacer que sea minada en menos tiempo. A esto se le llama RBF (Replace By Fee).",
"rbf_title": "Incrementar comisión (RBF)",
"status_bump": "Aumentar comisón",
"status_cancel": "Cancelar transacción"
}, },
"wallets": { "wallets": {
"add_bitcoin": "Bitcoin",
"add_create": "Crear", "add_create": "Crear",
"add_import_wallet": "Importar billetera", "add_entropy_generated": "{gen} bytes de entropía generada",
"add_entropy_provide": "Entropía mediante el lanzamiento de dados",
"add_entropy_remain": "{gen} bytes of entropía generada. Los {rem} bytes restantes serán obtenidos del generador de números aleatorios.",
"add_import_wallet": "Importar cartera",
"import_file": "Importar archivo",
"add_lightning": "Lightning",
"add_lndhub": "Conecta a tu LDNHub",
"add_lndhub_error": "La dirección proporcionada no es válida para un nodo LNDHub.",
"add_lndhub_placeholder": "la dirección de tu nodo",
"add_or": "o", "add_or": "o",
"add_title": "Añadir billetera", "add_title": "añadir cartera",
"add_wallet_name": "nombre de billetera", "add_wallet_name": "nombre de billetera",
"add_wallet_type": "tipo de billetera", "add_wallet_type": "tipo de billetera",
"details_address": "Dirección", "details_address": "Dirección",
"details_advanced": "Avanzado",
"details_are_you_sure": "¿Estás seguro?", "details_are_you_sure": "¿Estás seguro?",
"details_connected_to": "Conectado a",
"details_del_wb": "Balance de la cartera",
"details_del_wb_err": "El balance introducido con coincide con el balance de esta cartera. Por favor, inténtelo de nuevo.",
"details_del_wb_q": "Esta cartera tiene saldo. Antes de proceder, ten en cuenta que no podrás recuperar los fondos sin la semilla de esta cartera. Para evitar el borrado accidental, por favor introduce los {balance} satoshis que contiene esta cartera.",
"details_delete": "Eliminar", "details_delete": "Eliminar",
"details_delete_wallet": "Borrar cartera",
"details_display": "mostrar en la lista de carteras",
"details_export_backup": "Exportar / Guardar", "details_export_backup": "Exportar / Guardar",
"details_marketplace": "Marketplace",
"details_master_fingerprint": "Huella dactilar maestra",
"details_no_cancel": "No, cancelar", "details_no_cancel": "No, cancelar",
"details_save": "Guardar", "details_save": "Guardar",
"details_title": "Detalles de la billetera", "details_show_xpub": "Mostrar el XPUB de la cartera",
"details_title": "Cartera",
"details_type": "Tipo", "details_type": "Tipo",
"details_use_with_hardware_wallet": "Usar con cartera de hardware",
"details_wallet_updated": "Cartera actualizada",
"details_yes_delete": "Si, eliminar", "details_yes_delete": "Si, eliminar",
"export_title": "Exportacion de billetera", "export_title": "exportación de cartera",
"import_do_import": "Importar", "import_do_import": "Importar",
"import_error": "No se pudo importar. ¿Es valido?", "import_error": "Error al importar. Por favor, asegúrate de que los datos introducidos son correctos.",
"import_explanation": "Escriba aquí mnemotécnica, clave privada, WIF o cualquier cosa que tenga. BlueWallet hará todo lo posible para adivinar el formato correcto e importar su billetera.", "import_explanation": "Escriba aquí mnemotécnica, clave privada, WIF o cualquier cosa que tenga. BlueWallet hará todo lo posible para adivinar el formato correcto e importar su billetera.",
"import_imported": "Importado", "import_imported": "Importado",
"import_scan_qr": "o escanear codigo QR?", "import_scan_qr": "Escanear o importar un archivo",
"import_success": "Exito", "import_success": "Tu cartera ha sido importada.",
"import_title": "importar", "import_title": "importar",
"list_create_a_button": "Agrega ahora", "list_create_a_button": "Añadir",
"list_create_a_wallet": "Agrega una billetera", "list_create_a_wallet": "Añadir cartera",
"list_create_a_wallet1": "Es gratis y puedes crear", "list_create_a_wallet1": "Es gratis y puedes crear",
"list_create_a_wallet2": "cuantas usted quiera", "list_create_a_wallet2": "todas las que quieras",
"list_empty_txs1": "Sus transacciones aparecerán aquí,", "list_empty_txs1": "Tus transacciones aparecerán aquí",
"list_empty_txs2": "ninguno por el momento.", "list_empty_txs1_lightning": "Usa carteras Lighting para tus transacciones diarias. Tienen tasas muy bajas y una velocidad de vértigo.",
"list_empty_txs2": "Empieza con tu cartera",
"list_empty_txs2_lightning": "\nPara comenzar a usarlo, toque \"manejar fondos\" y recargue su saldo.",
"list_header": "Una cartera representa un par de llaves (keys) una privada y una que puedes compartir para recibir fondos.",
"list_import_error": "Error al intentar importar esta cartera.",
"list_import_problem": "Ha ocurrido un problema al importar esta cartera",
"list_latest_transaction": "última transacción", "list_latest_transaction": "última transacción",
"list_long_choose": "Elegir foto",
"list_long_clipboard": "Copiar del portapapeles",
"list_long_scan": "Escanear código QR",
"take_photo": "Hacer una foto",
"list_tap_here_to_buy": "Tap here to buy Bitcoin", "list_tap_here_to_buy": "Tap here to buy Bitcoin",
"list_title": "billeteras", "list_title": "Carteras",
"reorder_title": "Reorganizar Billetera", "list_tryagain": "Inténtalo otra vez",
"select_wallet": "Selecciona billetera", "reorder_title": "Reorganizar carteras",
"xpub_copiedToClipboard": "Copiado a portapapeles." "select_no_bitcoin": "No hay carteras de Bitcoin disponibles.",
"select_no_bitcoin_exp": "Es necesaria una cartera de Bitcoin para recargar una Cartera de Lighting. Por favor, cree o importe una.",
"select_wallet": "Selecciona una cartera",
"xpub_copiedToClipboard": "Copiado a portapapeles.",
"xpub_title": "XPUB de la cartera"
} }
} }

View File

@ -169,90 +169,90 @@
"details_fee_field_is_not_valid": "Champ frais invalide", "details_fee_field_is_not_valid": "Champ frais invalide",
"details_next": "Suivant", "details_next": "Suivant",
"details_no_maximum": "Le portefeuille sélectionné ne supporte pas le calcul automatique du solde maximum. Etes-vous sûr de vouloir utiliser ce portefeuille ?", "details_no_maximum": "Le portefeuille sélectionné ne supporte pas le calcul automatique du solde maximum. Etes-vous sûr de vouloir utiliser ce portefeuille ?",
"details_no_multiple": "The selected wallet does not support sending Bitcoin to multiple recipients. Are you sure to want to select this wallet?", "details_no_multiple": "Le portefeuille sélectionné ne permet pas d'envoyer du Bitcoin à plusieurs destinataires. Etes-vous sûr de vouloir sélectionner ce portefeuille ?",
"details_no_signed_tx": "The selected file does not contain a signed transaction that can be imported.", "details_no_signed_tx": "Le fichier sélectionné ne contient aucune transaction signée à importer.",
"details_note_placeholder": "note (optionnelle)", "details_note_placeholder": "note (optionnelle)",
"details_scan": "Scanner", "details_scan": "Scanner",
"details_total_exceeds_balance": "Le montant à envoyer excède le montant disponible.", "details_total_exceeds_balance": "Le montant à envoyer excède le montant disponible.",
"details_wallet_before_tx": "Before creating a transaction, you must first add a Bitcoin wallet.", "details_wallet_before_tx": "Avant de créer une transaction, vous devez d'abord importer un ajouter un portefeuille Bitcoin.",
"details_wallet_selection": "Wallet Selection", "details_wallet_selection": "Sélection du portefeuille",
"dynamic_init": "Initialing", "dynamic_init": "Initialisation",
"dynamic_next": "Next", "dynamic_next": "Suivant",
"dynamic_prev": "Previous", "dynamic_prev": "Précédent",
"dynamic_start": "Start", "dynamic_start": "Commencer",
"dynamic_stop": "Stop", "dynamic_stop": "Arrêter",
"header": "Envoyer", "header": "Envoyer",
"input_clear": "Clear", "input_clear": "Tout effacer",
"input_done": "Done", "input_done": "Terminé",
"input_paste": "Paste", "input_paste": "Coller",
"input_total": "Total:", "input_total": "Total :",
"permission_camera_message": "We need your permission to use your camera", "permission_camera_message": "Nous avons besoin de votre permission pour utiliser l'appareil photo",
"permission_camera_title": "Permission to use camera", "permission_camera_title": "Permission d'utiliser l'appareil photo",
"open_settings": "Open Settings", "open_settings": "Ouvrir les paramètres",
"permission_storage_later": "Ask Me Later", "permission_storage_later": "Redemander Plus Tard",
"permission_storage_message": "BlueWallet needs your permission to access your storage to save this transaction.", "permission_storage_message": "BlueWallet a besoin de votre permission pour accéder au stockage de l'appareil et y enregistrer cette transaction.",
"permission_storage_title": "BlueWallet Storage Access Permission", "permission_storage_title": "Permission d'accès au stockage pour BlueWallet",
"psbt_clipboard": "Copy to Clipboard", "psbt_clipboard": "Copier dans le presse-papier",
"psbt_this_is_psbt": "This is a partially signed bitcoin transaction (PSBT). Please finish signing it with your hardware wallet.", "psbt_this_is_psbt": "Ceci est une Transaction Bitcoin Partiellement Signée (PSBT). Veuillez la compléter avec votre portefeuille matériel.",
"psbt_tx_export": "Export to file", "psbt_tx_export": "Exporter sous forme de fichier",
"psbt_tx_open": "Open Signed Transaction", "psbt_tx_open": "Ouvrir la transaction signée",
"psbt_tx_scan": "Scan Signed Transaction", "psbt_tx_scan": "Scanner la transaction signée",
"qr_error_no_qrcode": "The selected image does not contain a QR Code.", "qr_error_no_qrcode": "L'image sélectionnée ne contient pas de QR Code",
"qr_error_no_wallet": "The selected file does not contain a wallet that can be imported.", "qr_error_no_wallet": "Le fichier sélectionné ne contient pas de portefeuille à importer.",
"success_done": "Terminé", "success_done": "Terminé",
"txSaved": "The transaction file ({filePath}) has been saved in your Downloads folder ." "txSaved": "Le fichier de transaction ({filePath}) a été enregistré dans votre dossier Téléchargements."
}, },
"settings": { "settings": {
"about": "À propos", "about": "À propos",
"about_awesome": "Built with the awesome", "about_awesome": "Créé avec les incroyables",
"about_backup": "Always backup your keys!", "about_backup": "Sauvegardez toujours vos clés !",
"about_free": "BlueWallet is a free and open source project. Crafted by Bitcoin users.", "about_free": "BlueWallet est un projet gratuit et ouvert. Réalisé par des utilisateurs de Bitcoin.",
"about_release_notes": "Release notes", "about_release_notes": "Notes de version",
"about_review": "Leave us a review", "about_review": "Laissez-nous votre avis",
"about_selftest": "Run self test", "about_selftest": "Effectuer un auto-test",
"about_sm_github": "GitHub", "about_sm_github": "GitHub",
"about_sm_telegram": "Telegram chat", "about_sm_telegram": "Discussion Telegram",
"about_sm_twitter": "Follow us on Twitter", "about_sm_twitter": "Nous suivre sur Twitter",
"advanced_options": "Advanced Options", "advanced_options": "Options avancées",
"currency": "Devise", "currency": "Devise",
"currency_source": "Prices are obtained from CoinDesk", "currency_source": "Les prix sont obtenus depuis CoinDesk",
"default_desc": "When disabled, BlueWallet will immediately open the selected wallet at launch.", "default_desc": "Si désactivé, BlueWallet ouvrira immédiatement le portefeuille sélectionné au lancement.",
"default_info": "Default into", "default_info": "Sélectionner par défaut",
"default_title": "On Launch", "default_title": "Au lancement",
"default_wallets": "View All Wallets", "default_wallets": "Voir tous les portefeuilles",
"electrum_connected": "Connected", "electrum_connected": "Connecté",
"electrum_connected_not": "Not Connected", "electrum_connected_not": "Déconnecté",
"electrum_error_connect": "Can't connect to provided Electrum server", "electrum_error_connect": "Impossible de se connecter au serveur Electrum fourni",
"electrum_host": "host, for example {example}", "electrum_host": "hôte, par example {example}",
"electrum_port": "TCP port, usually {example}", "electrum_port": "port TCP, généralement {example}",
"electrum_port_ssl": "SSL port, usually {example}", "electrum_port_ssl": "port SSL, généralement {example}",
"electrum_saved": "Your changes have been saved successfully. Restart may be required for changes to take effect.", "electrum_saved": "Les changements ont bien été enregistrés. Un redémarrage sera peut-être nécessaires pour qu'ils prennent effet.",
"electrum_settings": "Electrum Settings", "electrum_settings": "Paramètres Electrum",
"electrum_settings_explain": "Set to blank to use default", "electrum_settings_explain": "Laisser blanc pour utiliser l'option par défaut",
"electrum_status": "Status", "electrum_status": "Statut",
"encrypt_decrypt": "Decrypt Storage", "encrypt_decrypt": "Déchiffrer le stockage",
"encrypt_decrypt_q": "Are you sure you want to decrypt your storage? This will allow your wallets to be accessed without a password.", "encrypt_decrypt_q": "Etes-vous sûr de vouloir déchiffrer le stockage ? L'accès à vos portefeuilles pourra alors se faire sans mot de passe.",
"encrypt_del_uninstall": "Delete if BlueWallet is uninstalled", "encrypt_del_uninstall": "Supprimer si BlueWallet est désinstallé",
"encrypt_enc_and_pass": "Encrypted and Password protected", "encrypt_enc_and_pass": "Chiffré et protégé par un mot de passe",
"encrypt_title": "Security", "encrypt_title": "Sécurité",
"encrypt_tstorage": "storage", "encrypt_tstorage": "stockage",
"encrypt_use": "Use {type}", "encrypt_use": "Utiliser {type}",
"encrypt_use_expl": "{type} will be used to confirm your identity prior to making a transaction, unlocking, exporting or deleting a wallet. {type} will not be used to unlock an encrypted storage.", "encrypt_use_expl": "{type} sera utilisé pour confirmer votre identité avant toute transaction, dévérouillage, export ou suppression de portefeuille. {type} ne sera pas utilisé pour dévérouiller un stockage chiffré.",
"general": "General", "general": "Général",
"general_adv_mode": "Enable advanced mode", "general_adv_mode": "Enable advanced mode",
"general_adv_mode_e": "When enabled, you will see advanced options such as different wallet types, the ability to specify the LNDHub instance you wish to connect to and custom entropy during wallet creation.", "general_adv_mode_e": "Si activé, vous aurez accès aux options avancées telles que la sélection parmi différents types de portefeuilles, la possibilité de spécifier une instance LNDHub de votre choix, et la création manuelle d'entropie lors de la création de portefeuille.",
"general_continuity": "Continuity", "general_continuity": "Continuité",
"general_continuity_e": "When enabled, you will be able to view selected wallets, and transactions, using your other Apple iCloud connected devices.", "general_continuity_e": "Si activé, vous pourrez visualiser les portefeuilles sélectionnés ainsi que leurs transactions depuis vos autres appareils Apple iCloud connectés.",
"header": "réglages", "header": "réglages",
"language": "Langue", "language": "Langue",
"language_restart": "When selecting a new language, restarting BlueWallet may be required for the change to take effect.", "language_restart": "Lors de la sélection d'un nouvelle langue, il peut être nécessaire de redémarrer BlueWallet pour que le changement prenne effet.",
"lightning_error_lndhub_uri": "Not a valid LndHub URI", "lightning_error_lndhub_uri": "URI LndHub invalide",
"lightning_saved": "Your changes have been saved successfully", "lightning_saved": "Les changements ont bien été enregistrés",
"lightning_settings": "Lightning settings", "lightning_settings": "Lightning settings",
"lightning_settings_explain": "To connect to your own LND node please install LndHub and put its URL here in settings. Leave blank to use default ndHub\n (lndhub.io)", "lightning_settings_explain": "To connect to your own LND node please install LndHub and put its URL here in settings. Leave blank to use default ndHub\n (lndhub.io)",
"network": "Network", "network": "Réseau",
"network_broadcast": "Broadcast transaction", "network_broadcast": "Diffuser une transaction",
"network_electrum": "Electrum server", "network_electrum": "Serveur Electrum",
"password": "Mot de passe", "password": "Mot de passe",
"password_explain": "Créer le mot de passe utilisé pour déchiffrer l'espace de stockage principal", "password_explain": "Créer le mot de passe utilisé pour déchiffrer l'espace de stockage principal",
"passwords_do_not_match": "Les mots de passe ne correspondent pas", "passwords_do_not_match": "Les mots de passe ne correspondent pas",
@ -260,78 +260,78 @@
"retype_password": "Re-saisir votre mot de passe", "retype_password": "Re-saisir votre mot de passe",
"notifications": "Notifications", "notifications": "Notifications",
"save": "save", "save": "save",
"saved": "Saved", "saved": "Enregistré",
"not_a_valid_uri": "Not a valid URI", "not_a_valid_uri": "URI invalide",
"push_notifications": "Push notifications", "push_notifications": "Notifications push",
"groundcontrol_explanation": "GroundControl is a free opensource push notifications server for bitcoin wallets. You can install your own GroundControl server and put its URL here to not rely on BlueWallet's infrastructure. Leave blank to use default" "groundcontrol_explanation": "GroundControl est un serveur de notifications push pour les portefeuilles Bitcoin gratuit et open source. Vous pouvez installer votre propre serveur GroundControl et insérer ici son URL pour ne pas reposer sur l'infrastructure de BlueWallet. Laissez vide pour conserver l'option par défaut."
}, },
"transactions": { "transactions": {
"cancel_explain": "We will replace this transaction with the one that pays you and has higher fees. This effectively cancels transaction. This is called RBF - Replace By Fee.", "cancel_explain": "Nous allons remplacer cette transaction par celle où les fonds vous reviennet et a de plus hauts frais. Cela annulera la transaction. On parle de RBF - Replace By Fee.",
"cancel_no": "This transaction is not replaceable", "cancel_no": "Cette transaction n'est pas remplaçable",
"cancel_title": "Cancel this transaction (RBF)", "cancel_title": "Annuler cette transaction (RBF)",
"cpfp_create": "Create", "cpfp_create": "Créer",
"cpfp_exp": "We will create another transaction that spends your unconfirmed transaction. The total fee will be higher than the original transaction fee, so it should be mined faster. This is called CPFP - Child Pays For Parent.", "cpfp_exp": "Nous allons créer une autre transaction qui dépense votre transaction non-confirmée. Les frais totaux seront supérieurs aux frais de la transaction originale, donc cela devrait être miné plus rapidement. On parle de CPFP - Child Pays For Parent.",
"cpfp_no_bump": "This transaction is not bumpable", "cpfp_no_bump": "Cette transaction n'est pas propulsable",
"cpfp_title": "Bump fee (CPFP)", "cpfp_title": "Frais de propulsion (CPFP)",
"details_block": "Block Height", "details_block": "Hauteur de bloc",
"details_copy": "Copier", "details_copy": "Copier",
"details_from": "De", "details_from": "De",
"details_inputs": "Inputs", "details_inputs": "Inputs",
"details_outputs": "Outputs", "details_outputs": "Outputs",
"details_received": "Received", "details_received": "Reçu",
"details_show_in_block_explorer": "Afficher dans le \"block explorer\"", "details_show_in_block_explorer": "Afficher dans le \"block explorer\"",
"details_title": "Transaction", "details_title": "Transaction",
"details_to": "À", "details_to": "À",
"details_transaction_details": "Détails de la transaction", "details_transaction_details": "Détails de la transaction",
"enable_hw": "This wallet is not being used in conjunction with a hardwarde wallet. Would you like to enable hardware wallet use?", "enable_hw": "Ce portefeuille n'est pas utilisé en conjonction avec un portefeuille matériel. Voulez-vous permettre l'utilisation de portefeuilles matériels ?",
"list_conf": "conf", "list_conf": "conf",
"list_title": "transactions", "list_title": "transactions",
"transactions_count": "transactions count", "transactions_count": "Nombre de transactions",
"rbf_explain": "We will replace this transaction with the one with a higher fee, so it should be mined faster. This is called RBF - Replace By Fee.", "rbf_explain": "Nous allons remplacer cette transaction par celle avec des frais plus élevés. Elle devrait donc être minée plus vite. On parle de RBF - Replace By Fee.",
"rbf_title": "Bump fee (RBF)", "rbf_title": "Frais de propulsion (RBF)",
"status_bump": "Bump Fee", "status_bump": "Frais de propulsion",
"status_cancel": "Cancel Transaction" "status_cancel": "Annuler la transaction"
}, },
"wallets": { "wallets": {
"add_bitcoin": "Bitcoin", "add_bitcoin": "Bitcoin",
"add_create": "Créer", "add_create": "Créer",
"add_entropy_generated": "{gen} bytes of generated entropy", "add_entropy_generated": "{gen} octets d'entropie générée",
"add_entropy_provide": "Provide entropy via dice rolls", "add_entropy_provide": "Créer de l'entropie par des jets de dé",
"add_entropy_remain": "{gen} bytes of generated entropy. Remaining {rem} bytes will be obtained from the System random number generator.", "add_entropy_remain": "{gen} octets d'entropie générée. Les {rem} octets restants seront obtenus auprès du générateur de nombres aléatoires du système.",
"add_import_wallet": "Importer un portefeuille", "add_import_wallet": "Importer un portefeuille",
"add_lightning": "Lightning", "add_lightning": "Lightning",
"add_lndhub": "Connect to your LNDHub", "add_lndhub": "Connexion à votre LNDHub",
"add_lndhub_error": "The provided node address is not valid LNDHub node.", "add_lndhub_error": "L'adresse de noeud fournie n'est pas un noeud LNDHub valide.",
"add_lndhub_placeholder": "your node address", "add_lndhub_placeholder": "l'adresse de votre noeud",
"add_or": "ou", "add_or": "ou",
"add_title": "ajouter un portefeuille", "add_title": "ajouter un portefeuille",
"add_wallet_name": "nom du portefeuille", "add_wallet_name": "nom du portefeuille",
"add_wallet_type": "type", "add_wallet_type": "type",
"details_address": "Adresse", "details_address": "Adresse",
"details_advanced": "Advanced", "details_advanced": "Avancé",
"details_are_you_sure": "Êtes vous sur?", "details_are_you_sure": "Êtes vous sur?",
"details_connected_to": "Connected to", "details_connected_to": "Connecté à",
"details_del_wb": "Wallet Balance", "details_del_wb": "Solde du portefeuille",
"details_del_wb_err": "The provided balance amount does not match this wallet's balance. Please, try again", "details_del_wb_err": "Le solde ne correspond pas à celui du portefeuille. Veuillez réessayer",
"details_del_wb_q": "This wallet has a balance. Before proceeding, please be aware that you will not be able to recover the funds without this wallet's seed phrase. In order to avoid accidental removal this wallet, please enter your wallet's balance of {balance} satoshis.", "details_del_wb_q": "Ce portefeuille a un solde non nul. Avant de continuer, veuillez noter que vous ne serez pas en mesure de récupérer vos fonds sans la phrase mnémonique du portefeuille. Pour éviter toute suppression accidentelle du portefeuille, veuillez entrer son solde de {balance} satoshis.",
"details_delete": "Supprimer", "details_delete": "Supprimer",
"details_delete_wallet": "Delete wallet", "details_delete_wallet": "Supprimer le portefeuille",
"details_display": "display in wallets list", "details_display": "Afficher dans la list des portefeuilles",
"details_export_backup": "Exporter / sauvegarder", "details_export_backup": "Exporter / sauvegarder",
"details_marketplace": "Marketplace", "details_marketplace": "Marketplace",
"details_master_fingerprint": "Master fingerprint", "details_master_fingerprint": "Empreinte maitresse",
"details_no_cancel": "Non, annuler", "details_no_cancel": "Non, annuler",
"details_save": "Sauvegarder", "details_save": "Sauvegarder",
"details_show_xpub": "Afficher XPUB du portefeuille", "details_show_xpub": "Afficher XPUB du portefeuille",
"details_title": "Portefeuille", "details_title": "Portefeuille",
"details_type": "Type", "details_type": "Type",
"details_use_with_hardware_wallet": "Use with hardware wallet", "details_use_with_hardware_wallet": "Utiliser avec un portefeuille matériel",
"details_wallet_updated": "Wallet updated", "details_wallet_updated": "Portefeuille mis à jour",
"details_yes_delete": "Oui, supprimer", "details_yes_delete": "Oui, supprimer",
"export_title": "export du portefeuille", "export_title": "export du portefeuille",
"import_do_import": "Importer", "import_do_import": "Importer",
"import_error": "Échec de l'import. Merci, de vérifier que les données saisies sont valides.", "import_error": "Échec de l'import. Merci, de vérifier que les données saisies sont valides.",
"import_explanation": "Write here your mnemonic, private key, WIF, or anything you've got. BlueWallet will do its best to guess the correct format and import your wallet", "import_explanation": "Entrez ici votre mnémonique, clé privée, WIF, ou quoi que ce soit que vous ayez. BlueWallet fera de son mieux pour deviner le bon format et importer votre portefeuille",
"import_imported": "Importé", "import_imported": "Importé",
"import_scan_qr": "ou scaner un QR code", "import_scan_qr": "ou scaner un QR code",
"import_success": "Succès", "import_success": "Succès",
@ -341,23 +341,23 @@
"list_create_a_wallet1": "C'est gratuit et vous pouvez en créer", "list_create_a_wallet1": "C'est gratuit et vous pouvez en créer",
"list_create_a_wallet2": "autant que vous souhaitez", "list_create_a_wallet2": "autant que vous souhaitez",
"list_empty_txs1": "Vos transactions apparaîtront ici,", "list_empty_txs1": "Vos transactions apparaîtront ici,",
"list_empty_txs1_lightning": "Lightning wallet should be used for your daily transactions. Fees are unfairly cheap and speed is blazing fast.", "list_empty_txs1_lightning": "Un portefeuille Lightning devrait être utilisé pour les transactions quotidiennes. Les frais sont très bas et la vitesse est étourdissante.",
"list_empty_txs2": "Aucune pour le moment", "list_empty_txs2": "Aucune pour le moment",
"list_empty_txs2_lightning": "\nTo start using it tap on \"manage funds\" and topup your balance.", "list_empty_txs2_lightning": "\nPour commencer à l'utiliser taper sur \"Gérer les fonds\" et alimentez votre solde.",
"list_header": "A wallet represents a pair of a secret (private key) and an addressyou can share to receive coins.", "list_header": "Un portefeuille représente l'association d'un secret (clé privée) et d'une adresse que vous pouvez partager pour recevoir des bitcoins.",
"list_import_error": "An error was encountered when attempting to import this wallet.", "list_import_error": "Une erreur est survenue lors de la tentative d'import du portefeuille.",
"list_import_problem": "There was a problem importing this wallet", "list_import_problem": "Il y a une problème lors de l'import de ce portefeuille",
"list_latest_transaction": "dernière transaction", "list_latest_transaction": "dernière transaction",
"list_long_choose": "Choose Photo", "list_long_choose": "Choisir une photo",
"list_long_clipboard": "Copy from Clipboard", "list_long_clipboard": "Copier depuis le presse-papier",
"list_long_scan": "Scan QR Code", "list_long_scan": "Scanner le QR Code",
"take_photo": "Take Photo", "take_photo": "Prendre une photo",
"list_tap_here_to_buy": "Cliquez ici pour acheter du Bitcoin", "list_tap_here_to_buy": "Cliquez ici pour acheter du Bitcoin",
"list_title": "portefeuilles", "list_title": "portefeuilles",
"list_tryagain": "Try Again", "list_tryagain": "Réessayer",
"reorder_title": "Trier vos portefeuilles", "reorder_title": "Trier vos portefeuilles",
"select_no_bitcoin": "There are currently no Bitcoin wallets available.", "select_no_bitcoin": "Il n'y a aucun portefeuille Bitcoin disponible pour le moment.",
"select_no_bitcoin_exp": "A Bitcoin wallet is required to refill Lightning wallets. Please, create or import one.", "select_no_bitcoin_exp": "Un portefeuille Bitcoin est nécessaire pour approvisionner les portefeuilles Lightning. Veuillez en créer ou en importer un.",
"select_wallet": "Choix du portefeuille", "select_wallet": "Choix du portefeuille",
"xpub_copiedToClipboard": "Copié dans le presse-papiers.", "xpub_copiedToClipboard": "Copié dans le presse-papiers.",
"xpub_title": "XPUB portefeuille" "xpub_title": "XPUB portefeuille"

View File

@ -1,19 +1,19 @@
{ {
"_": { "_": {
"bad_password": "סיסמה לא נכונה, תנסה שוב.", "bad_password": "סיסמה שגויה, נסו שוב.",
"cancel": "ביטול", "cancel": "ביטול",
"continue": "המשך", "continue": "המשך",
"enter_password": "הכנס סיסמה", "enter_password": "הכנס סיסמה",
"never": "אף פעם", "never": "אף פעם",
"of": "{number} של {total}", "of": "{number} של {total}",
"ok": "אוקיי", "ok": "אוקיי",
"storage_is_encrypted": "האחסון שלך מוצפן, נדרשת סיסמה כדי לפתוח אותו.", "storage_is_encrypted": "האחסון שלך מוצפן, נדרשת סיסמה לפתיחה",
"yes": "כן" "yes": "כן"
}, },
"azteco": { "azteco": {
"codeIs": "הקוד שובר שלך הוא", "codeIs": "הקוד שובר שלך הוא",
"errorBeforeRefeem": "לפני המימוש עליך להוסיף ארנק ביטקוין.", "errorBeforeRefeem": "לפני המימוש עליך להוסיף ארנק ביטקוין.",
"errorSomething": "משהו השתבש. האם השובר שלך עדיין תקיף?", "errorSomething": "משהו השתבש. האם השובר שלך עדיין תקף?",
"redeem": "ממש לארנק", "redeem": "ממש לארנק",
"redeemButton": "ממש", "redeemButton": "ממש",
"success": "הצלחה", "success": "הצלחה",
@ -32,7 +32,7 @@
"hodl": { "hodl": {
"are_you_sure_you_want_to_logout": "האם אתה בטוח שאתה רוצה להתנתק מHodlHodl?", "are_you_sure_you_want_to_logout": "האם אתה בטוח שאתה רוצה להתנתק מHodlHodl?",
"cont_address_escrow": "פקדון", "cont_address_escrow": "פקדון",
"cont_address_to": "ל", "cont_address_to": "עבור",
"cont_buying": "קונה", "cont_buying": "קונה",
"cont_cancel": "ביטול חוזה", "cont_cancel": "ביטול חוזה",
"cont_cancel_q": "האם אתה בטוח שאתה רוצה לבטל חוזה זה?", "cont_cancel_q": "האם אתה בטוח שאתה רוצה לבטל חוזה זה?",

View File

@ -21,6 +21,9 @@ dayjs.extend(relativeTime);
strings.setLanguage(lang); strings.setLanguage(lang);
let localeForDayJSAvailable = true; let localeForDayJSAvailable = true;
switch (lang) { switch (lang) {
case 'ar':
require('dayjs/locale/ar');
break;
case 'ca': case 'ca':
require('dayjs/locale/ca'); require('dayjs/locale/ca');
break; break;
@ -118,12 +121,12 @@ dayjs.extend(relativeTime);
})(); })();
const strings = new Localization({ const strings = new Localization({
en: require('./en.json'),
ca: require('./ca.json'), ca: require('./ca.json'),
cs_cz: require('./cs_cz.json'), cs_cz: require('./cs_cz.json'),
da_dk: require('./da_dk.json'), da_dk: require('./da_dk.json'),
de_de: require('./de_de.json'), de_de: require('./de_de.json'),
el: require('./el.json'), el: require('./el.json'),
en: require('./en.json'),
es: require('./es.json'), es: require('./es.json'),
fi_fi: require('./fi_fi.json'), fi_fi: require('./fi_fi.json'),
fr_fr: require('./fr_fr.json'), fr_fr: require('./fr_fr.json'),

View File

@ -1,6 +1,7 @@
export const AvailableLanguages = Object.freeze([ export const AvailableLanguages = Object.freeze([
{ label: 'English', value: 'en' }, { label: 'English', value: 'en' },
{ label: 'Afrikaans (AFR)', value: 'zar_afr' }, { label: 'Afrikaans (AFR)', value: 'zar_afr' },
{ label: 'Arabic (AR)', value: 'ar' },
{ label: 'Català (CA)', value: 'ca' }, { label: 'Català (CA)', value: 'ca' },
{ label: 'Chinese (ZH)', value: 'zh_cn' }, { label: 'Chinese (ZH)', value: 'zh_cn' },
{ label: 'Chinese (TW)', value: 'zh_tw' }, { label: 'Chinese (TW)', value: 'zh_tw' },

View File

@ -30,68 +30,68 @@
"network": "Erro da rede" "network": "Erro da rede"
}, },
"hodl": { "hodl": {
"are_you_sure_you_want_to_logout": "Are you sure you want to logout from HodlHodl?", "are_you_sure_you_want_to_logout": "Tem a certeza de que deseja fazer logout do HodlHodl?",
"cont_address_escrow": "Escrow", "cont_address_escrow": "Garantia",
"cont_address_to": "Para", "cont_address_to": "Para",
"cont_buying": "comprar", "cont_buying": "comprar",
"cont_cancel": "Cancel contract", "cont_cancel": "Cancelar contracto",
"cont_cancel_q": "Are you sure you want to cancel this contract?", "cont_cancel_q": "Tem a certeza que deseja cancelar o contrato?",
"cont_cancel_y": "Yes, cancel contract", "cont_cancel_y": "Sim, cancelar contracto",
"cont_chat": "Open chat with counterparty", "cont_chat": "Abrir chat com a contra-parte",
"cont_how": "How to pay", "cont_how": "Como pagar",
"cont_no": "You don't have any contracts in progress", "cont_no": "Não tem nenhum contrato em progresso",
"cont_paid": "Mark contract as Paid", "cont_paid": "Marcar contracto como pago",
"cont_paid_e": "Do this only if you sent funds to the seller via agreed payment method", "cont_paid_e": "Faça isto apenas se enviou fundos ao vendedor por meio do método de pagamento acordado",
"cont_paid_q": "Are you sure you want to mark this contract as paid?", "cont_paid_q": "Tem a certeza de que deseja marcar este contracto como pago?",
"cont_selling": "selling", "cont_selling": "venda",
"cont_st_completed": "All done!", "cont_st_completed": "Feito!",
"cont_st_in_progress_buyer": "Coins are in escrow, please pay seller", "cont_st_in_progress_buyer": "As moedas estão em depósito, pode pagar ao vendedor",
"cont_st_paid_enought": "Bitcoins are in escrow! Please pay seller\nvia agreed payment method", "cont_st_paid_enought": "Os bitcoins estão em depósito! Por favor pague ao vendedor\natravés do método de pagamento acordado",
"cont_st_paid_waiting": "Waiting for seller to release coins from escrow", "cont_st_paid_waiting": "A aguardar que o vendedor liberte os bitcoin do depósito",
"cont_st_waiting": "Waiting for seller to deposit bitcoins to escrow...", "cont_st_waiting": "A aguardar que o vendedor deposite bitcoin para o depósito...",
"cont_title": "My contracts", "cont_title": "Meus contractos",
"filter_any": "Any", "filter_any": "Qualquer",
"filter_buying": "Buying", "filter_buying": "Compra",
"filter_country_global": "Global offers", "filter_country_global": "Ofertas globais",
"filter_country_near": "Near me", "filter_country_near": "Perto de mim",
"filter_currency": "Currency", "filter_currency": "Moeda",
"filter_detail": "Detail", "filter_detail": "Detalhe",
"filter_filters": "Filters", "filter_filters": "Filtrar",
"filter_iambuying": "I'm buying bitcoin", "filter_iambuying": "Comprar bitcoin",
"filter_iamselling": "I'm selling bitcoin", "filter_iamselling": "Vender bitcoin",
"filter_method": "Payment method", "filter_method": "Método de pagamento",
"filter_search": "Search", "filter_search": "Pesquisa",
"filter_selling": "Selling", "filter_selling": "Venda",
"item_minmax": "Min/Max", "item_minmax": "Min/Max",
"item_nooffers": "No offers. Try to change \"Near me\" to Global offers!", "item_nooffers": "Sem ofertas. Tente mudar \"Perto de mim\" para ofertas globais!",
"item_rating": "{rating} trades", "item_rating": "{rating} negócios",
"item_rating_no": "No rating", "item_rating_no": "Sem negócios",
"login": "Login", "login": "Login",
"mycont": "My contracts", "mycont": "Meus contractos",
"offer_accept": "Accept offer", "offer_accept": "Aceitar oferta",
"offer_account_finish": "Looks like you didn't finish setting up account on HodlHodl, would you like to finish setup now?", "offer_account_finish": "Parece que não concluiu a configuração da conta no HodlHodl. Quer terminar a configuração agora?",
"offer_choosemethod": "Choose payment method", "offer_choosemethod": "Escolher método de pagamento",
"offer_confirmations": "confirmations", "offer_confirmations": "confirmações",
"offer_minmax": "min / max", "offer_minmax": "min / max",
"offer_minutes": "min", "offer_minutes": "min",
"offer_promt_fiat": "How much {currency} do you want to buy?", "offer_promt_fiat": "Qual a quantidade de {currency} que deseja comprar?",
"offer_promt_fiat_e": "For example 100", "offer_promt_fiat_e": "Por exemplo 100",
"offer_window": "window", "offer_window": "tempo",
"p2p": "A p2p exchange" "p2p": "Uma exchange p2p"
}, },
"lnd": { "lnd": {
"errorInvoiceExpired": "Invoice expired", "errorInvoiceExpired": "Factura expirada",
"exchange": "Exchange", "exchange": "Exchange",
"expired": "Expirado", "expired": "Expirado",
"expiredLow": "expired", "expiredLow": "expirada",
"expiresIn": "Expires: {time}", "expiresIn": "Expira: {time}",
"payButton": "Pay", "payButton": "Paga",
"placeholder": "Factura", "placeholder": "Factura",
"potentialFee": "Potential fee: {fee}", "potentialFee": "Taxa provável: {fee}",
"refill": "Carregar", "refill": "Carregar",
"refill_card": "Refill with bank card", "refill_card": "Recarregue com cartão",
"refill_create": "In order to proceed, please create a Bitcoin wallet to refill with.", "refill_create": "Para continuar, crie uma carteira Bitcoin para recarregar.",
"refill_external": "Refill with External Wallet", "refill_external": "Recarregar com carteira externa",
"refill_lnd_balance": "Carregar o saldo da Lightning wallet", "refill_lnd_balance": "Carregar o saldo da Lightning wallet",
"sameWalletAsInvoiceError": "Não pode pagar uma factura com a mesma wallet usada para a criar.", "sameWalletAsInvoiceError": "Não pode pagar uma factura com a mesma wallet usada para a criar.",
"title": "gerir saldo" "title": "gerir saldo"
@ -119,13 +119,13 @@
"title": "Negação plausível" "title": "Negação plausível"
}, },
"pleasebackup": { "pleasebackup": {
"ask": "Have you saved your wallet's backup phrase? This backup phrase is required to access your funds in case you lose this device. Without the backup phrase, your funds will be permanently lost.", "ask": "Salvou a frase de backup da sua carteira? Esta frase de backup é necessária para pode ter acesso aos fundos em caso de perder este dispositivo. Sem a frase de backup, os fundos serão perdidos permanentemente.",
"ask_no": "No, I have not", "ask_no": "Não, eu não tenho",
"ask_yes": "Yes, I have", "ask_yes": "Sim, eu fiz",
"ok": "OK, eu escrevi-a num papel!", "ok": "OK, eu escrevi-a num papel!",
"ok_lnd": "OK, I have saved it.", "ok_lnd": "Ok, eu guardei.",
"text": "Por favor escreva esta frase mnemónica numa folha de papel. É o seu backup e pode usá-lo para restaurar a sua wallet noutro device.", "text": "Por favor escreva esta frase mnemónica numa folha de papel. É o seu backup e pode usá-lo para restaurar a sua wallet noutro device.",
"text_lnd": "Please take a moment to save this LNDHub authentication. It's your backup you can use to restore the wallet on other device.", "text_lnd": "Por favor, reserve um momento para guardar este backup. É o seu backup que lhe permite restaurar a carteira em outro dispositivo.",
"title": "A sua wallet foi criada..." "title": "A sua wallet foi criada..."
}, },
"receive": { "receive": {
@ -136,16 +136,16 @@
"header": "receber" "header": "receber"
}, },
"send": { "send": {
"broadcastButton": "BROADCAST", "broadcastButton": "Transmitir",
"broadcastError": "error", "broadcastError": "Erro",
"broadcastNone": "Input transaction hash", "broadcastNone": "Input transaction hash",
"broadcastPending": "pending", "broadcastPending": "Pendente ",
"broadcastSuccess": "success", "broadcastSuccess": "Sucesso",
"confirm_header": "Confirmar", "confirm_header": "Confirmar",
"confirm_sendNow": "Enviar agora", "confirm_sendNow": "Enviar agora",
"create_amount": "Quantia", "create_amount": "Quantia",
"create_broadcast": "Difundir", "create_broadcast": "Difundir",
"create_copy": "Copy and broadcast later", "create_copy": "Copiar e transmitir mais tarde",
"create_details": "Detalhes", "create_details": "Detalhes",
"create_fee": "Taxa", "create_fee": "Taxa",
"create_memo": "Nota pessoal", "create_memo": "Nota pessoal",
@ -153,179 +153,180 @@
"create_this_is_hex": "Este é o hex da transacção, assinado e pronto para ser difundido para a network. Continuar?", "create_this_is_hex": "Este é o hex da transacção, assinado e pronto para ser difundido para a network. Continuar?",
"create_to": "Para", "create_to": "Para",
"create_tx_size": "Tamanho TX", "create_tx_size": "Tamanho TX",
"create_verify": "Verify on coinb.in", "create_verify": "Verificar no coinb.in",
"details_add_rec_add": "Add Recipient", "details_add_rec_add": "Adicionar destinatário",
"details_add_rec_rem": "Remove Recipient", "details_add_rec_rem": "Remover destinatário",
"details_address": "Endereço", "details_address": "Endereço",
"details_address_field_is_not_valid": "Campo de endereço não é válido", "details_address_field_is_not_valid": "Campo de endereço não é válido",
"details_adv_fee_bump": "Allow Fee Bump", "details_adv_fee_bump": "Permitir aumentar taxa",
"details_adv_full": "Use Full Balance", "details_adv_full": "Use o saldo total",
"details_adv_full_remove": "Your other recipients will be removed from this transaction.", "details_adv_full_remove": "Seus outros destinatários serão removidos desta transacção.",
"details_adv_full_sure": "Are you sure you want to use your wallet's full balance for this transaction?", "details_adv_full_sure": "Tem a certeza de que deseja usar o saldo total da sua carteira para esta transacção?",
"details_adv_import": "Import Transaction", "details_adv_import": "Importar transação",
"details_amount_field_is_not_valid": "Campo de quantia não é válido", "details_amount_field_is_not_valid": "Campo de quantia não é válido",
"details_create": "Criar", "details_create": "Criar",
"details_error_decode": "Error: Unable to decode Bitcoin address", "details_error_decode": "Erro: Não é possível decodificar o endereço Bitcoin",
"details_fee_field_is_not_valid": "Campo de taxa não é válido", "details_fee_field_is_not_valid": "Campo de taxa não é válido",
"details_next": "Next", "details_next": "Próximo",
"details_no_maximum": "The selected wallet does not support automatic maximum balance calculation. Are you sure to want to select this wallet?", "details_no_maximum": "A carteira selecionada não suporta cálculo automático de saldo máximo. Tem a certeza que deseja selecionar esta carteira?",
"details_no_multiple": "The selected wallet does not support sending Bitcoin to multiple recipients. Are you sure to want to select this wallet?", "details_no_multiple": "A carteira selecionada não suporta o envio de Bitcoins para vários destinatários. Tem a certeza que deseja selecionar esta carteira?",
"details_no_signed_tx": "The selected file does not contain a signed transaction that can be imported.", "details_no_signed_tx": "O ficheiro seleccionado não contém uma transacção assinada que possa ser importada.",
"details_note_placeholder": "Nota pessoal", "details_note_placeholder": "Nota pessoal",
"details_scan": "Scan", "details_scan": "Scan",
"details_total_exceeds_balance": "O valor total excede o saldo disponível.", "details_total_exceeds_balance": "O valor total excede o saldo disponível.",
"details_wallet_before_tx": "Before creating a transaction, you must first add a Bitcoin wallet.", "details_wallet_before_tx": "Antes de criar uma transacção, deve primeiro adicionar uma carteira Bitcoin.",
"details_wallet_selection": "Wallet Selection", "details_wallet_selection": "Seleccionar Carteira",
"dynamic_init": "Initialing", "dynamic_init": "Inicializar",
"dynamic_next": "Next", "dynamic_next": "Próximo",
"dynamic_prev": "Previous", "dynamic_prev": "Anterior",
"dynamic_start": "Start", "dynamic_start": "Começar",
"dynamic_stop": "Stop", "dynamic_stop": "Parar",
"header": "Enviar", "header": "Enviar",
"input_clear": "Clear", "input_clear": "Limpar",
"input_done": "Done", "input_done": "Feito",
"input_paste": "Paste", "input_paste": "Colar",
"input_total": "Total:", "input_total": "Total:",
"permission_camera_message": "We need your permission to use your camera", "permission_camera_message": "Precisamos da sua permissão para usar sua câmera",
"permission_camera_title": "Permission to use camera", "permission_camera_title": "Permissão para usar a câmera",
"permission_storage_later": "Ask Me Later", "open_settings": "Abrir configurações",
"permission_storage_message": "BlueWallet needs your permission to access your storage to save this transaction.", "permission_storage_later": "Perguntar mais tarde",
"permission_storage_title": "BlueWallet Storage Access Permission", "permission_storage_message": "A BlueWallet precisa da sua permissão para aceder ao seu armazenamento para guardar esta transação.",
"psbt_clipboard": "Copy to Clipboard", "permission_storage_title": "Permissão de acesso ao armazenamento",
"psbt_this_is_psbt": "This is a partially signed bitcoin transaction (PSBT). Please finish signing it with your hardware wallet.", "psbt_clipboard": "Copiar para área de transferência",
"psbt_tx_export": "Export to file", "psbt_this_is_psbt": "Esta é uma transação bitcoin parcialmente assinada (PSBT). Conclua a assinatura com a sua carteira de hardware.",
"psbt_tx_open": "Open Signed Transaction", "psbt_tx_export": "Exportar para ficheiro",
"psbt_tx_scan": "Scan Signed Transaction", "psbt_tx_open": "Abrir transacção assinada",
"qr_error_no_qrcode": "The selected image does not contain a QR Code.", "psbt_tx_scan": "Scan transacção assinada",
"qr_error_no_wallet": "The selected file does not contain a wallet that can be imported.", "qr_error_no_qrcode": "A imagem selecionada não contém um código QR.",
"success_done": "Done", "qr_error_no_wallet": "O ficheiro seleccionado não contém uma carteira que possa ser importada.",
"txSaved": "This transaction has been saved in {filePath}" "success_done": "Feito",
"txSaved": "O ficheiro de transacção ({filePath}) foi guardado na pasta Downloads."
}, },
"settings": { "settings": {
"about": "Sobre", "about": "Sobre",
"about_awesome": "Built with the awesome", "about_awesome": "Construído com o incríveis",
"about_backup": "Always backup your keys!", "about_backup": "Faça sempre backup das suas chaves!",
"about_free": "BlueWallet is a free and open source project. Crafted by Bitcoin users.", "about_free": "BlueWallet é um projeto gratuito e de código aberto. Criado por utilizadores de Bitcoin.",
"about_release_notes": "Release notes", "about_release_notes": "Release notes",
"about_review": "Leave us a review", "about_review": "Deixa-nos uma review",
"about_selftest": "Run self test", "about_selftest": "Run self test",
"about_sm_github": "GitHub", "about_sm_github": "GitHub",
"about_sm_telegram": "Telegram chat", "about_sm_telegram": "Chat Telegram",
"about_sm_twitter": "Follow us on Twitter", "about_sm_twitter": "Segue-nos no Twitter",
"advanced_options": "Opções Avançadas", "advanced_options": "Opções Avançadas",
"currency": "Moeda", "currency": "Moeda",
"currency_source": "Prices are obtained from CoinDesk", "currency_source": "Os preços são obtidos no CoinDesk",
"default_desc": "When disabled, BlueWallet will immediately open the selected wallet at launch.", "default_desc": "Quando desactivado, a BlueWallet abrirá imediatamente a carteira seleccionada no lançamento.",
"default_info": "Default into", "default_info": "Padrão em",
"default_title": "On Launch", "default_title": "A abrir",
"default_wallets": "View All Wallets", "default_wallets": "Ver todas as carteiras",
"electrum_connected": "Connected", "electrum_connected": "Conectado",
"electrum_connected_not": "Not Connected", "electrum_connected_not": "Desconectado",
"electrum_error_connect": "Can't connect to provided Electrum server", "electrum_error_connect": "Não é possível conectar ao servidor Electrum fornecido",
"electrum_host": "host, for example {example}", "electrum_host": "host, por exemplo {example}",
"electrum_port": "TCP port, usually {example}", "electrum_port": "Porta TCP, geralmente {example}",
"electrum_port_ssl": "SSL port, usually {example}", "electrum_port_ssl": "Porta SSL, geralmente {example}\n\n",
"electrum_saved": "Your changes have been saved successfully. Restart may be required for changes to take effect.", "electrum_saved": "As alterações foram guardadas com sucesso. Pode ser necessário reiniciar para que as alterações tenham efeito.",
"electrum_settings": "Definições do Electrum", "electrum_settings": "Definições do Electrum",
"electrum_settings_explain": "Deixe em branco para usar o valor por omissão", "electrum_settings_explain": "Deixe em branco para usar o valor por omissão",
"electrum_status": "Status", "electrum_status": "Estado",
"encrypt_decrypt": "Decrypt Storage", "encrypt_decrypt": "Desencriptar armazenamento",
"encrypt_decrypt_q": "Are you sure you want to decrypt your storage? This will allow your wallets to be accessed without a password.", "encrypt_decrypt_q": "Tem certeza de que deseja desencriptar o seu armazenamento? Isso permitirá que suas carteiras sejam acessadas sem uma senha.",
"encrypt_del_uninstall": "Delete if BlueWallet is uninstalled", "encrypt_del_uninstall": "Apagar se a BlueWallet for desinstalada",
"encrypt_enc_and_pass": "Encrypted and Password protected", "encrypt_enc_and_pass": "Encriptado e protegido por password",
"encrypt_title": "Security", "encrypt_title": "Segurança",
"encrypt_tstorage": "storage", "encrypt_tstorage": "Armazenamento",
"encrypt_use": "Use {type}", "encrypt_use": "Usar {type}",
"encrypt_use_expl": "{type} will be used to confirm your identity prior to making a transaction, unlocking, exporting or deleting a wallet. {type} will not be used to unlock an encrypted storage.", "encrypt_use_expl": "{type} será usado para confirmar a sua identidade antes de fazer uma transacção, desbloquear, exportar ou apagar uma carteira. {type} não será usado para desbloquear o armazenamento encriptado.",
"general": "General", "general": "Geral",
"general_adv_mode": "Ligar modo avançado", "general_adv_mode": "Ligar modo avançado",
"general_adv_mode_e": "When enabled, you will see advanced options such as different wallet types, the ability to specify the LNDHub instance you wish to connect to and custom entropy during wallet creation.", "general_adv_mode_e": "Quando activado, verá opções avançadas, como diferentes tipos de carteira, a capacidade de especificar a instância do LNDHub à qual se deseja conectar e a entropia personalizada durante a criação da carteira.",
"general_continuity": "Continuity", "general_continuity": "Continuidade",
"general_continuity_e": "When enabled, you will be able to view selected wallets, and transactions, using your other Apple iCloud connected devices.", "general_continuity_e": "Quando activado, poderá visualizar carteiras seleccionadas e transacções, usando os seus outros dispositivos conectados ao Apple iCloud.",
"header": "definições", "header": "definições",
"language": "Idioma", "language": "Idioma",
"language_restart": "When selecting a new language, restarting BlueWallet may be required for the change to take effect.", "language_restart": "Ao selecionar um novo idioma, pode ser necessário reiniciar a BlueWallet para que a alteração tenha efeito.",
"lightning_error_lndhub_uri": "Not a valid LndHub URI", "lightning_error_lndhub_uri": "Não é um URI LndHub válido",
"lightning_saved": "Your changes have been saved successfully", "lightning_saved": "As alterações foram guardadas com sucesso",
"lightning_settings": "Definições do Lightning", "lightning_settings": "Definições do Lightning",
"lightning_settings_explain": "Para se ligar ao seu próprio node LND, por favor instale o LndHub e coloque o seu endereço aqui nas definições. Deixe em branco para usar o LNDHub da BlueWallet (lndhub.io). Wallets criadas depois desta alteração ligar-se-ão ao LNDHub especificado.", "lightning_settings_explain": "Para se ligar ao seu próprio node LND, por favor instale o LndHub e coloque o seu endereço aqui nas definições. Deixe em branco para usar o LNDHub da BlueWallet (lndhub.io). Wallets criadas depois desta alteração ligar-se-ão ao LNDHub especificado.",
"network": "Network", "network": "Rede",
"network_broadcast": "Broadcast transaction", "network_broadcast": "Transmitir transacção",
"network_electrum": "Electrum server", "network_electrum": "Electrum server",
"password": "Password", "password": "Password",
"password_explain": "Definir a password para desencriptar o armazenamento", "password_explain": "Definir a password para desencriptar o armazenamento",
"passwords_do_not_match": "Passwords não coincidem", "passwords_do_not_match": "Passwords não coincidem",
"plausible_deniability": "Negação plausível...", "plausible_deniability": "Negação plausível...",
"retype_password": "Inserir password novamente", "retype_password": "Inserir password novamente",
"notifications": "Notifications", "notifications": "Notificações",
"save": "Guardar", "save": "Guardar",
"saved": "Saved", "saved": "Guardado",
"not_a_valid_uri": "Not a valid URI", "not_a_valid_uri": "Não é um URI válido",
"push_notifications": "Push notifications", "push_notifications": "Notificações via push",
"groundcontrol_explanation": "GroundControl is a free opensource push notifications server for bitcoin wallets. You can install your own GroundControl server and put its URL here to not rely on BlueWallet's infrastructure. Leave blank to use default" "groundcontrol_explanation": "GroundControl é um servidor de notificações push de código aberto gratuito para carteiras bitcoin. Pode instalar seu próprio servidor GroundControl e colocar sua URL aqui para não depender da infraestrutura da BlueWallet. Deixe em branco para usar o padrão"
}, },
"transactions": { "transactions": {
"cancel_explain": "We will replace this transaction with the one that pays you and has higher fees. This effectively cancels transaction. This is called RBF - Replace By Fee.", "cancel_explain": "Substituiremos esta transacção por aquela que lhe paga e tem taxas mais altas. Isso efectivamente cancela a transacção. Isto é chamado de RBF - Substituir por Taxa.",
"cancel_no": "This transaction is not replaceable", "cancel_no": "Esta transacção não é substituível",
"cancel_title": "Cancel this transaction (RBF)", "cancel_title": "Cancelar esta transacção (RBF)",
"cpfp_create": "Create", "cpfp_create": "Criar",
"cpfp_exp": "We will create another transaction that spends your unconfirmed transaction. The total fee will be higher than the original transaction fee, so it should be mined faster. This is called CPFP - Child Pays For Parent.", "cpfp_exp": "Criaremos outra transacção que gasta esta transação não confirmada. A taxa total será maior do que a taxa de transacção original, portanto, deve ser confirmada mais rapidamente. Isto é chamado de CPFP - Child Pays For Parent.",
"cpfp_no_bump": "This transaction is not bumpable", "cpfp_no_bump": "A taxa desta transacção não pode ser aumentada",
"cpfp_title": "Bump fee (CPFP)", "cpfp_title": "Aumento de taxa (CPFP)",
"details_block": "Block Height", "details_block": "Block Height",
"details_copy": "Copiar", "details_copy": "Copiar",
"details_from": "De", "details_from": "De",
"details_inputs": "Inputs", "details_inputs": "Inputs",
"details_outputs": "Outputs", "details_outputs": "Outputs",
"details_received": "Received", "details_received": "Recebido",
"details_show_in_block_explorer": "Mostrar no block explorer", "details_show_in_block_explorer": "Mostrar no block explorer",
"details_title": "detalhes", "details_title": "detalhes",
"details_to": "Para", "details_to": "Para",
"details_transaction_details": "Detalhes da transacção", "details_transaction_details": "Detalhes da transacção",
"enable_hw": "This wallet is not being used in conjunction with a hardwarde wallet. Would you like to enable hardware wallet use?", "enable_hw": "Esta carteira não está a ser usada em conjunto com uma carteira de hardware. Gostaria de habilitar o uso de carteira de hardware?",
"list_conf": "conf", "list_conf": "conf",
"list_title": "transacções", "list_title": "transacções",
"transactions_count": "transactions count", "transactions_count": "contagem de transações",
"rbf_explain": "We will replace this transaction with the one with a higher fee, so it should be mined faster. This is called RBF - Replace By Fee.", "rbf_explain": "Substituiremos esta transacção por outra com uma taxa mais alta, portanto, ela deve ser confirmada mais rapidamente. Isto é chamado de RBF - Substituir por Taxa.",
"rbf_title": "Bump fee (RBF)", "rbf_title": "Aumento de taxa (RBF)",
"status_bump": "Bump Fee", "status_bump": "Aumento de taxa",
"status_cancel": "Cancel Transaction" "status_cancel": "Cancelar transacção"
}, },
"wallets": { "wallets": {
"add_bitcoin": "Bitcoin", "add_bitcoin": "Bitcoin",
"add_create": "Adicionar", "add_create": "Adicionar",
"add_entropy_generated": "{gen} bytes of generated entropy", "add_entropy_generated": "{gen} bytes de entropia gerada",
"add_entropy_provide": "Provide entropy via dice rolls", "add_entropy_provide": "Entropia através de dados",
"add_entropy_remain": "{gen} bytes of generated entropy. Remaining {rem} bytes will be obtained from the System random number generator.", "add_entropy_remain": "{gen} bytes de entropia gerada. Os bytes {rem} restantes serão obtidos do gerador de números aleatórios do sistema.",
"add_import_wallet": "Importar wallet", "add_import_wallet": "Importar wallet",
"add_lightning": "Lightning", "add_lightning": "Lightning",
"add_lndhub": "Connect to your LNDHub", "add_lndhub": "Conecte-se ao seu LNDHub",
"add_lndhub_error": "The provided node address is not valid LNDHub node.", "add_lndhub_error": "O endereço de nó fornecido não é um nó LNDHub válido.",
"add_lndhub_placeholder": "your node address", "add_lndhub_placeholder": "seu endereço de nó",
"add_or": "ou", "add_or": "ou",
"add_title": "adicionar wallet", "add_title": "adicionar wallet",
"add_wallet_name": "nome", "add_wallet_name": "nome",
"add_wallet_type": "tipo", "add_wallet_type": "tipo",
"details_address": "Endereço", "details_address": "Endereço",
"details_advanced": "Advanced", "details_advanced": "Avançado",
"details_are_you_sure": "Tem a certeza?", "details_are_you_sure": "Tem a certeza?",
"details_connected_to": "Connected to", "details_connected_to": "Conectado a",
"details_del_wb": "Wallet Balance", "details_del_wb": "Saldo da carteira",
"details_del_wb_err": "The provided balance amount does not match this wallet's balance. Please, try again", "details_del_wb_err": "O valor do saldo fornecido não corresponde ao saldo desta carteira. Por favor, tente novamente",
"details_del_wb_q": "This wallet has a balance. Before proceeding, please be aware that you will not be able to recover the funds without this wallet's seed phrase. In order to avoid accidental removal this wallet, please enter your wallet's balance of {balance} satoshis.", "details_del_wb_q": "Esta carteira tem um slado. Antes de continuar, esteja ciente de que não poderá recuperar os fundos sem a frase de backup desta carteira. Para evitar a remoção acidental desta carteira, insira o saldo de {balance} satoshis de sua carteira.",
"details_delete": "Eliminar", "details_delete": "Eliminar",
"details_delete_wallet": "Delete wallet", "details_delete_wallet": "Remover carteira",
"details_display": "display in wallets list", "details_display": "mostrar na lista de carteiras",
"details_export_backup": "Exportar / backup", "details_export_backup": "Exportar / backup",
"details_marketplace": "Marketplace", "details_marketplace": "Mercado",
"details_master_fingerprint": "Master fingerprint", "details_master_fingerprint": "Master fingerprint",
"details_no_cancel": "Não, cancelar", "details_no_cancel": "Não, cancelar",
"details_save": "Guardar", "details_save": "Guardar",
"details_show_xpub": "Mostrar XPUB da wallet", "details_show_xpub": "Mostrar XPUB da wallet",
"details_title": "wallet", "details_title": "wallet",
"details_type": "Tipo", "details_type": "Tipo",
"details_use_with_hardware_wallet": "Use with hardware wallet", "details_use_with_hardware_wallet": "Use com carteira de hardware",
"details_wallet_updated": "Wallet updated", "details_wallet_updated": "Carteira actualizada",
"details_yes_delete": "Sim, eliminar", "details_yes_delete": "Sim, eliminar",
"export_title": "Exportar Wallet", "export_title": "Exportar Wallet",
"import_do_import": "Importar", "import_do_import": "Importar",
@ -343,19 +344,20 @@
"list_empty_txs1_lightning": "A wallet Lightning deve ser usada para as suas transações diárias. As taxas são muito baixas e a velocidade muito elevada", "list_empty_txs1_lightning": "A wallet Lightning deve ser usada para as suas transações diárias. As taxas são muito baixas e a velocidade muito elevada",
"list_empty_txs2": "nenhuma de momento", "list_empty_txs2": "nenhuma de momento",
"list_empty_txs2_lightning": "\nPara começar a usar toque em \"gerir fundos\" e recarregue o seu saldo.", "list_empty_txs2_lightning": "\nPara começar a usar toque em \"gerir fundos\" e recarregue o seu saldo.",
"list_header": "A wallet represents a pair of a secret (private key) and an addressyou can share to receive coins.", "list_header": "Uma carteira representa um par de um segredo (chave privada) e um endereço que você pode compartilhar para receber moedas.",
"list_import_error": "An error was encountered when attempting to import this wallet.", "list_import_error": "Foi encontrado um erro ao tentar importar esta carteira.",
"list_import_problem": "There was a problem importing this wallet", "list_import_problem": "Ocorreu um problema ao importar esta carteira",
"list_latest_transaction": "últimas transacções", "list_latest_transaction": "últimas transacções",
"list_long_choose": "Choose Photo", "list_long_choose": "Escolher Foto",
"list_long_clipboard": "Copy from Clipboard", "list_long_clipboard": "Copiar da área de transferência",
"list_long_scan": "Scan QR Code", "list_long_scan": "Leia o código QR",
"take_photo": "Tirar foto",
"list_tap_here_to_buy": "Adquirir Bitcoin", "list_tap_here_to_buy": "Adquirir Bitcoin",
"list_title": "carteiras", "list_title": "carteiras",
"list_tryagain": "Tente novamente", "list_tryagain": "Tente novamente",
"reorder_title": "Reordenar Wallets", "reorder_title": "Reordenar Wallets",
"select_no_bitcoin": "There are currently no Bitcoin wallets available.", "select_no_bitcoin": "No momento, não há carteiras Bitcoin disponíveis.",
"select_no_bitcoin_exp": "A Bitcoin wallet is required to refill Lightning wallets. Please, create or import one.", "select_no_bitcoin_exp": "Uma carteira Bitcoin é necessária para recarregar as carteiras Lightning. Por favor, crie ou importe uma.",
"select_wallet": "Seleccione uma Wallet", "select_wallet": "Seleccione uma Wallet",
"xpub_copiedToClipboard": "copiado para o clipboard", "xpub_copiedToClipboard": "copiado para o clipboard",
"xpub_title": "XPUB da wallet" "xpub_title": "XPUB da wallet"

570
package-lock.json generated
View File

@ -4686,20 +4686,20 @@
"from": "git+https://github.com/BlueWallet/react-native-qrcode-local-image.git" "from": "git+https://github.com/BlueWallet/react-native-qrcode-local-image.git"
}, },
"@sentry/browser": { "@sentry/browser": {
"version": "5.20.1", "version": "5.22.3",
"resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-5.20.1.tgz", "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-5.22.3.tgz",
"integrity": "sha512-ClykuvrEsMKgAvifx5VHzRjchwYbJFX8YiIicYx+Wr3MXL2jLG6OEfHHJwJeyBL2C3vxd5O0KPK3pGMR9wPMLA==", "integrity": "sha512-2TzE/CoBa5ZkvxJizDdi1Iz1ldmXSJpFQ1mL07PIXBjCt0Wxf+WOuFSj5IP4L40XHfJE5gU8wEvSH0VDR8nXtA==",
"requires": { "requires": {
"@sentry/core": "5.20.1", "@sentry/core": "5.22.3",
"@sentry/types": "5.20.1", "@sentry/types": "5.22.3",
"@sentry/utils": "5.20.1", "@sentry/utils": "5.22.3",
"tslib": "^1.9.3" "tslib": "^1.9.3"
} }
}, },
"@sentry/cli": { "@sentry/cli": {
"version": "1.55.1", "version": "1.55.2",
"resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-1.55.1.tgz", "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-1.55.2.tgz",
"integrity": "sha512-qqSiBS7Hvo19+pv09MlIxF1kx5il0VPePZt/AeLSjVd1sFA/a9kzPCSz8dwVQG7xnmxAw3IG0kNgarSnk4MN0g==", "integrity": "sha512-XLHlqLUY3E/ggYvTqAy76sbUDzr3yxXD7cSeyT2e3rxORSVwMkP2MqMeRJ8sCmQ0DXMdMHfbFOKMDwMqmRZeqQ==",
"requires": { "requires": {
"https-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0",
"mkdirp": "^0.5.5", "mkdirp": "^0.5.5",
@ -4709,72 +4709,87 @@
} }
}, },
"@sentry/core": { "@sentry/core": {
"version": "5.20.1", "version": "5.22.3",
"resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.20.1.tgz", "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.22.3.tgz",
"integrity": "sha512-gG622/UY2TePruF6iUzgVrbIX5vN8w2cjlWFo1Est8MvCfQsz8agGaLMCAyl5hCGJ6K2qTUZDOlbCNIKoMclxg==", "integrity": "sha512-eGL5uUarw3o4i9QUb9JoFHnhriPpWCaqeaIBB06HUpdcvhrjoowcKZj1+WPec5lFg5XusE35vez7z/FPzmJUDw==",
"requires": { "requires": {
"@sentry/hub": "5.20.1", "@sentry/hub": "5.22.3",
"@sentry/minimal": "5.20.1", "@sentry/minimal": "5.22.3",
"@sentry/types": "5.20.1", "@sentry/types": "5.22.3",
"@sentry/utils": "5.20.1", "@sentry/utils": "5.22.3",
"tslib": "^1.9.3" "tslib": "^1.9.3"
} }
}, },
"@sentry/hub": { "@sentry/hub": {
"version": "5.20.1", "version": "5.22.3",
"resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.20.1.tgz", "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.22.3.tgz",
"integrity": "sha512-Nv5BXf14BEc08acDguW6eSqkAJLVf8wki283FczEvTsQZZuSBHM9cJ5Hnehr6n+mr8wWpYLgUUYM0oXXigUmzQ==", "integrity": "sha512-INo47m6N5HFEs/7GMP9cqxOIt7rmRxdERunA3H2L37owjcr77MwHVeeJ9yawRS6FMtbWXplgWTyTIWIYOuqVbw==",
"requires": { "requires": {
"@sentry/types": "5.20.1", "@sentry/types": "5.22.3",
"@sentry/utils": "5.20.1", "@sentry/utils": "5.22.3",
"tslib": "^1.9.3" "tslib": "^1.9.3"
} }
}, },
"@sentry/integrations": { "@sentry/integrations": {
"version": "5.20.1", "version": "5.22.3",
"resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-5.20.1.tgz", "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-5.22.3.tgz",
"integrity": "sha512-VpeZHYT8Fvw1J5478MqXXORf3Ftpt34YM4e+sTPuGrmf4Gro7lXdyownqiSaa7kwwNVQEV3zMlRDczVZzXQThw==", "integrity": "sha512-Fx6h8DTDvUpEOymx8Wi49LBdVcNYHwaI6NqApm1qVU9qn/I50Q29KWoZTCGBjBwmkJud+DOAHWYWoU2qRrIvcQ==",
"requires": { "requires": {
"@sentry/types": "5.20.1", "@sentry/types": "5.22.3",
"@sentry/utils": "5.20.1", "@sentry/utils": "5.22.3",
"localforage": "1.8.1",
"tslib": "^1.9.3" "tslib": "^1.9.3"
} }
}, },
"@sentry/minimal": { "@sentry/minimal": {
"version": "5.20.1", "version": "5.22.3",
"resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.20.1.tgz", "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.22.3.tgz",
"integrity": "sha512-2PeJKDTHNsUd1jtSLQBJ6oRI+xrIJrYDQmsyK/qs9D7HqHfs+zNAMUjYseiVeSAFGas5IcNSuZbPRV4BnuoZ0w==", "integrity": "sha512-HoINpYnVYCpNjn2XIPIlqH5o4BAITpTljXjtAftOx6Hzj+Opjg8tR8PWliyKDvkXPpc4kXK9D6TpEDw8MO0wZA==",
"requires": { "requires": {
"@sentry/hub": "5.20.1", "@sentry/hub": "5.22.3",
"@sentry/types": "5.20.1", "@sentry/types": "5.22.3",
"tslib": "^1.9.3"
}
},
"@sentry/react": {
"version": "5.22.3",
"resolved": "https://registry.npmjs.org/@sentry/react/-/react-5.22.3.tgz",
"integrity": "sha512-Or/tLayuxpOJhIWOXiDKdaJQZ981uRS9NT0QcPvU+Si1qTElSqtH1zB94GlwhgpglkbmLPiYq6VPrG2HOiZ79Q==",
"requires": {
"@sentry/browser": "5.22.3",
"@sentry/minimal": "5.22.3",
"@sentry/types": "5.22.3",
"@sentry/utils": "5.22.3",
"hoist-non-react-statics": "^3.3.2",
"tslib": "^1.9.3" "tslib": "^1.9.3"
} }
}, },
"@sentry/react-native": { "@sentry/react-native": {
"version": "1.6.3", "version": "1.7.1",
"resolved": "https://registry.npmjs.org/@sentry/react-native/-/react-native-1.6.3.tgz", "resolved": "https://registry.npmjs.org/@sentry/react-native/-/react-native-1.7.1.tgz",
"integrity": "sha512-0nkPV/QWEXWQb67XKy4HY9x8zLEURzBT7xaal2KUGRWu2JGObfy5eYk8+k+XsGLVAMfelCkcLQWNneUY80reng==", "integrity": "sha512-UmGuCX51Mf9Ry2vD/6Ep98jRbm0PiNi1oVi7Ke2gaoVS3YhwbTqx8eTHpHvFm0kEGQbuM8MkYdD1s6oMCvmeHg==",
"requires": { "requires": {
"@sentry/browser": "^5.19.0", "@sentry/browser": "^5.20.1",
"@sentry/core": "^5.19.0", "@sentry/core": "^5.20.1",
"@sentry/hub": "^5.19.0", "@sentry/hub": "^5.20.1",
"@sentry/integrations": "^5.19.0", "@sentry/integrations": "^5.20.1",
"@sentry/types": "^5.19.0", "@sentry/react": "^5.20.1",
"@sentry/utils": "^5.19.0", "@sentry/types": "^5.20.1",
"@sentry/utils": "^5.20.1",
"@sentry/wizard": "^1.1.4" "@sentry/wizard": "^1.1.4"
} }
}, },
"@sentry/types": { "@sentry/types": {
"version": "5.20.1", "version": "5.22.3",
"resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.20.1.tgz", "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.22.3.tgz",
"integrity": "sha512-OU+i/lcjGpDJv0XkNpsKrI2r1VPp8qX0H6Knq8NuZrlZe3AbvO3jRJJK0pH14xFv8Xok5jbZZpKKoQLxYfxqsw==" "integrity": "sha512-cv+VWK0YFgCVDvD1/HrrBWOWYG3MLuCUJRBTkV/Opdy7nkdNjhCAJQrEyMM9zX0sac8FKWKOHT0sykNh8KgmYw=="
}, },
"@sentry/utils": { "@sentry/utils": {
"version": "5.20.1", "version": "5.22.3",
"resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.20.1.tgz", "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.22.3.tgz",
"integrity": "sha512-dhK6IdO6g7Q2CoxCbB+q8gwUapDUH5VjraFg0UBzgkrtNhtHLylqmwx0sWQvXCcp14Q/3MuzEbb4euvoh8o8oA==", "integrity": "sha512-AHNryXMBvIkIE+GQxTlmhBXD0Ksh+5w1SwM5qi6AttH+1qjWLvV6WB4+4pvVvEoS8t5F+WaVUZPQLmCCWp6zKw==",
"requires": { "requires": {
"@sentry/types": "5.20.1", "@sentry/types": "5.22.3",
"tslib": "^1.9.3" "tslib": "^1.9.3"
} }
}, },
@ -4914,18 +4929,18 @@
"integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw=="
}, },
"@types/react": { "@types/react": {
"version": "16.9.46", "version": "16.9.49",
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.46.tgz", "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.49.tgz",
"integrity": "sha512-dbHzO3aAq1lB3jRQuNpuZ/mnu+CdD3H0WVaaBQA8LTT3S33xhVBUj232T8M3tAhSWJs/D/UqORYUlJNl/8VQZg==", "integrity": "sha512-DtLFjSj0OYAdVLBbyjhuV9CdGVHCkHn2R+xr3XkBvK2rS1Y1tkc14XSGjYgm5Fjjr90AxH9tiSzc1pCFMGO06g==",
"requires": { "requires": {
"@types/prop-types": "*", "@types/prop-types": "*",
"csstype": "^3.0.2" "csstype": "^3.0.2"
} }
}, },
"@types/react-native": { "@types/react-native": {
"version": "0.63.9", "version": "0.63.13",
"resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.63.9.tgz", "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.63.13.tgz",
"integrity": "sha512-6ec/z9zjAkFH3rD1RYqbrA/Lj+jux6bumWCte4yRy3leyelTdqtmOd2Ph+86IXQQzsIArEMBwmraAbNQ0J3UAA==", "integrity": "sha512-diqOQUlMB4+l5tldIP38fTkjtPn6pnFMMLfewiMtpUYwB1ID7snQ/ePN98a+3BFG87v8H62Rp/Q1xuudvG4MSg==",
"requires": { "requires": {
"@types/react": "*" "@types/react": "*"
} }
@ -5403,25 +5418,6 @@
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
}, },
"assign": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/assign/-/assign-0.1.7.tgz",
"integrity": "sha1-5jv+Ooh7hjCRPCdmPkzJv/Hd0l8=",
"requires": {
"fusing": "0.4.x"
},
"dependencies": {
"fusing": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/fusing/-/fusing-0.4.0.tgz",
"integrity": "sha1-yZBo9Uyj4R3AEYkCFSq/Nnq6Sk0=",
"requires": {
"emits": "1.0.x",
"predefine": "0.1.x"
}
}
}
},
"assign-symbols": { "assign-symbols": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
@ -6042,14 +6038,6 @@
"integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
"dev": true "dev": true
}, },
"back": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/back/-/back-1.0.2.tgz",
"integrity": "sha1-qT9ebOaXKZhNWQGiuxbjsBpNY2k=",
"requires": {
"xtend": "^4.0.0"
}
},
"balanced-match": { "balanced-match": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
@ -6725,13 +6713,15 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
"dev": true "dev": true,
"optional": true
}, },
"is-glob": { "is-glob": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"is-extglob": "^1.0.0" "is-extglob": "^1.0.0"
} }
@ -6927,49 +6917,11 @@
"resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.0.tgz", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.0.tgz",
"integrity": "sha512-soRSroY+OF/8OdA3PTQXwaDJeMc7TfknKKrxeSCencL2a4+Tx5zhxmmv7hdpCjhKBjehzp8+bwe/T68K0hpIjw==" "integrity": "sha512-soRSroY+OF/8OdA3PTQXwaDJeMc7TfknKKrxeSCencL2a4+Tx5zhxmmv7hdpCjhKBjehzp8+bwe/T68K0hpIjw=="
}, },
"colornames": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/colornames/-/colornames-0.0.2.tgz",
"integrity": "sha1-2BH9bIT1kClJmorEQ2ICk1uSvjE="
},
"colors": { "colors": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
"integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA=="
}, },
"colorspace": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.0.1.tgz",
"integrity": "sha1-yZx5btMRKLmHalLh7l7gOkpxl0k=",
"requires": {
"color": "0.8.x",
"text-hex": "0.0.x"
},
"dependencies": {
"color": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/color/-/color-0.8.0.tgz",
"integrity": "sha1-iQwHw/1OZJU3Y4kRz2keVFi2/KU=",
"requires": {
"color-convert": "^0.5.0",
"color-string": "^0.3.0"
}
},
"color-convert": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz",
"integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0="
},
"color-string": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz",
"integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=",
"requires": {
"color-name": "^1.0.0"
}
}
}
},
"combined-stream": { "combined-stream": {
"version": "1.0.8", "version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@ -7329,9 +7281,9 @@
} }
}, },
"csstype": { "csstype": {
"version": "3.0.2", "version": "3.0.3",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.2.tgz", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.3.tgz",
"integrity": "sha512-ofovWglpqoqbfLNOTBNZLSbMuGrblAf1efvvArGKOZMBrIoJeu5UsAipQolkijtyQx5MtAzT/J9IHj/CEY1mJw==" "integrity": "sha512-jPl+wbWPOWJ7SXsWyqGRk3lGecbar0Cb0OvZF/r/ZU011R4YqiRehgkQ9p4eQfo9DSDLqLL3wHwfxeJiuIsNag=="
}, },
"dashdash": { "dashdash": {
"version": "1.14.1", "version": "1.14.1",
@ -7719,16 +7671,6 @@
} }
} }
}, },
"diagnostics": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.0.1.tgz",
"integrity": "sha1-rM2wgMgrsl0N1zQwqeaof7tDFUE=",
"requires": {
"colorspace": "1.0.x",
"enabled": "1.0.x",
"kuler": "0.0.x"
}
},
"diff-sequences": { "diff-sequences": {
"version": "24.9.0", "version": "24.9.0",
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz",
@ -7836,8 +7778,8 @@
"integrity": "sha512-IoGiZb8SMqTtkDYJtP8EtCdvv3VMtd1QoTlypO2RUBxRq/Wk0rU5IzhzhMckPaC9XxDqUvWsL0XKOBhTiYVN3w==" "integrity": "sha512-IoGiZb8SMqTtkDYJtP8EtCdvv3VMtd1QoTlypO2RUBxRq/Wk0rU5IzhzhMckPaC9XxDqUvWsL0XKOBhTiYVN3w=="
}, },
"electrum-client": { "electrum-client": {
"version": "git+https://github.com/BlueWallet/rn-electrum-client.git#09453000a63b8b15b37e58f80c47c7120dc8d89d", "version": "git+https://github.com/BlueWallet/rn-electrum-client.git#99c75385f99e82b87fbfed2abfb2cccd322fe3e9",
"from": "git+https://github.com/BlueWallet/rn-electrum-client.git#09453000a63b8b15b37e58f80c47c7120dc8d89d" "from": "git+https://github.com/BlueWallet/rn-electrum-client.git#99c75385f99e82b87fbfed2abfb2cccd322fe3e9"
}, },
"electrum-mnemonic": { "electrum-mnemonic": {
"version": "2.0.0", "version": "2.0.0",
@ -7863,24 +7805,11 @@
"minimalistic-crypto-utils": "^1.0.0" "minimalistic-crypto-utils": "^1.0.0"
} }
}, },
"emits": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/emits/-/emits-1.0.2.tgz",
"integrity": "sha1-2yDsZmgyUHHDE0QeMM/ipp6nOFk="
},
"emoji-regex": { "emoji-regex": {
"version": "7.0.3", "version": "7.0.3",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
"integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA=="
}, },
"enabled": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz",
"integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=",
"requires": {
"env-variable": "0.0.x"
}
},
"encodeurl": { "encodeurl": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
@ -7907,11 +7836,6 @@
"resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
"integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ=="
}, },
"env-variable": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.6.tgz",
"integrity": "sha512-bHz59NlBbtS0NhftmR8+ExBEekE7br0e01jw+kk0NDro7TtZzBYZ5ScGPs3OmwnpyfHTHOtr1Y6uedCdrIldtg=="
},
"envinfo": { "envinfo": {
"version": "7.5.1", "version": "7.5.1",
"resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.5.1.tgz", "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.5.1.tgz",
@ -8921,11 +8845,6 @@
} }
} }
}, },
"extendible": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/extendible/-/extendible-0.1.1.tgz",
"integrity": "sha1-4qN+2HEp+0+VM+io11BiMKU5yQU="
},
"external-editor": { "external-editor": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
@ -8995,45 +8914,6 @@
} }
} }
}, },
"extract-github": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/extract-github/-/extract-github-0.0.5.tgz",
"integrity": "sha1-9UJTbbjBm5g6O+yduW0u8qX/GoY="
},
"extract-zip": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
"integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
"requires": {
"concat-stream": "^1.6.2",
"debug": "^2.6.9",
"mkdirp": "^0.5.4",
"yauzl": "^2.10.0"
},
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
"ms": "2.0.0"
}
},
"mkdirp": {
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
"integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
"requires": {
"minimist": "^1.2.5"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
}
}
},
"extsprintf": { "extsprintf": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
@ -9128,14 +9008,6 @@
} }
} }
}, },
"fd-slicer": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
"integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
"requires": {
"pend": "~1.2.0"
}
},
"figures": { "figures": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
@ -9412,14 +9284,6 @@
"resolved": "https://registry.npmjs.org/funpermaproxy/-/funpermaproxy-1.0.1.tgz", "resolved": "https://registry.npmjs.org/funpermaproxy/-/funpermaproxy-1.0.1.tgz",
"integrity": "sha512-9pEzs5vnNtR7ZGihly98w/mQ7blsvl68Wj30ZCDAXy7qDN4CWLLjdfjtH/P2m6whsnaJkw15hysCNHMXue+wdA==" "integrity": "sha512-9pEzs5vnNtR7ZGihly98w/mQ7blsvl68Wj30ZCDAXy7qDN4CWLLjdfjtH/P2m6whsnaJkw15hysCNHMXue+wdA=="
}, },
"fusing": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/fusing/-/fusing-0.2.3.tgz",
"integrity": "sha1-0O76+YXSuv3tRK+LGFMW9uQp4ds=",
"requires": {
"predefine": "0.1.x"
}
},
"fwd-stream": { "fwd-stream": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/fwd-stream/-/fwd-stream-1.0.4.tgz", "resolved": "https://registry.npmjs.org/fwd-stream/-/fwd-stream-1.0.4.tgz",
@ -9549,23 +9413,6 @@
"assert-plus": "^1.0.0" "assert-plus": "^1.0.0"
} }
}, },
"githulk": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/githulk/-/githulk-0.0.7.tgz",
"integrity": "sha1-2Wyinw7EMRfFOOUh1mNWbqhLTv8=",
"requires": {
"debug": "0.7.x",
"extract-github": "0.0.x",
"mana": "0.1.x"
},
"dependencies": {
"debug": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz",
"integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk="
}
}
},
"glob": { "glob": {
"version": "7.1.6", "version": "7.1.6",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
@ -9614,6 +9461,7 @@
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
"integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"is-glob": "^2.0.0" "is-glob": "^2.0.0"
}, },
@ -9622,13 +9470,15 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
"dev": true "dev": true,
"optional": true
}, },
"is-glob": { "is-glob": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"is-extglob": "^1.0.0" "is-extglob": "^1.0.0"
} }
@ -9685,6 +9535,7 @@
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
"dev": true,
"requires": { "requires": {
"ansi-regex": "^2.0.0" "ansi-regex": "^2.0.0"
}, },
@ -9692,7 +9543,8 @@
"ansi-regex": { "ansi-regex": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true
} }
} }
}, },
@ -9898,6 +9750,11 @@
"resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz",
"integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==" "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA=="
}, },
"immediate": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
"integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps="
},
"immutable": { "immutable": {
"version": "3.7.6", "version": "3.7.6",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz",
@ -12016,15 +11873,8 @@
"kleur": { "kleur": {
"version": "3.0.3", "version": "3.0.3",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
"integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
}, "dev": true
"kuler": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/kuler/-/kuler-0.0.0.tgz",
"integrity": "sha1-tmu0a5NOVQ9Z2BiEjgq7pPf1VTw=",
"requires": {
"colornames": "0.0.2"
}
}, },
"lcid": { "lcid": {
"version": "2.0.0", "version": "2.0.0",
@ -12237,28 +12087,12 @@
"type-check": "~0.3.2" "type-check": "~0.3.2"
} }
}, },
"licenses": { "lie": {
"version": "0.0.20", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/licenses/-/licenses-0.0.20.tgz", "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz",
"integrity": "sha1-8YpXsmp46vKKhz4qN4oz6B9Z0TY=", "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=",
"requires": { "requires": {
"async": "0.6.x", "immediate": "~3.0.5"
"debug": "0.8.x",
"fusing": "0.2.x",
"githulk": "0.0.x",
"npm-registry": "0.1.x"
},
"dependencies": {
"async": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/async/-/async-0.6.2.tgz",
"integrity": "sha1-Qf0DijgSwKi8GELs8IumPrA5K+8="
},
"debug": {
"version": "0.8.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz",
"integrity": "sha1-IP9NJvXkIstoobrLu2EDmtjBwTA="
}
} }
}, },
"load-json-file": { "load-json-file": {
@ -12290,6 +12124,14 @@
} }
} }
}, },
"localforage": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/localforage/-/localforage-1.8.1.tgz",
"integrity": "sha512-azSSJJfc7h4bVpi0PGi+SmLQKJl2/8NErI+LhJsrORNikMZnhaQ7rv9fHj+ofwgSHrKRlsDCL/639a6nECIKuQ==",
"requires": {
"lie": "3.1.1"
}
},
"localized-strings": { "localized-strings": {
"version": "0.2.4", "version": "0.2.4",
"resolved": "https://registry.npmjs.org/localized-strings/-/localized-strings-0.2.4.tgz", "resolved": "https://registry.npmjs.org/localized-strings/-/localized-strings-0.2.4.tgz",
@ -12550,41 +12392,6 @@
"tmpl": "1.0.x" "tmpl": "1.0.x"
} }
}, },
"mana": {
"version": "0.1.41",
"resolved": "https://registry.npmjs.org/mana/-/mana-0.1.41.tgz",
"integrity": "sha1-fLE/cyGGaGVCKWNcT8Wxfib5O30=",
"requires": {
"assign": ">=0.1.7",
"back": "1.0.x",
"diagnostics": "1.0.x",
"eventemitter3": "1.2.x",
"fusing": "1.0.x",
"millisecond": "0.1.x",
"request": "2.x.x"
},
"dependencies": {
"emits": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/emits/-/emits-3.0.0.tgz",
"integrity": "sha1-MnUrupXhcHshlWI4Srm7ix/WL3A="
},
"eventemitter3": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz",
"integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg="
},
"fusing": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fusing/-/fusing-1.0.0.tgz",
"integrity": "sha1-VQwV12r5Jld4qgUezkTUAAoJjUU=",
"requires": {
"emits": "3.0.x",
"predefine": "0.1.x"
}
}
}
},
"map-age-cleaner": { "map-age-cleaner": {
"version": "0.1.3", "version": "0.1.3",
"resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
@ -13254,9 +13061,9 @@
} }
}, },
"metro-react-native-babel-preset": { "metro-react-native-babel-preset": {
"version": "0.61.0", "version": "0.62.0",
"resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.61.0.tgz", "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.62.0.tgz",
"integrity": "sha512-k0j2K70YadKFFayFOtw9sbaB38LdkkJLluwqHvyl9CRAa3m7cWQ6pZbakCPrp3OWyo7dJWbP70ybOvjoDv2jwQ==", "integrity": "sha512-TznN3fyzo68A7TsO5paUsvKY4bXEk0BreVVXY/hKUXxv8p0Ts7gOB9ciXX2QT+8Egcs6+T4z/S06bONUYlWFJg==",
"requires": { "requires": {
"@babel/core": "^7.0.0", "@babel/core": "^7.0.0",
"@babel/plugin-proposal-class-properties": "^7.0.0", "@babel/plugin-proposal-class-properties": "^7.0.0",
@ -13409,11 +13216,6 @@
"to-regex": "^3.0.2" "to-regex": "^3.0.2"
} }
}, },
"millisecond": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/millisecond/-/millisecond-0.1.2.tgz",
"integrity": "sha1-bMWtOGJByrjniv+WT4cCjuyS2sU="
},
"mime": { "mime": {
"version": "1.6.0", "version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
@ -13759,30 +13561,6 @@
"npm-normalize-package-bin": "^1.0.1" "npm-normalize-package-bin": "^1.0.1"
} }
}, },
"npm-registry": {
"version": "0.1.13",
"resolved": "https://registry.npmjs.org/npm-registry/-/npm-registry-0.1.13.tgz",
"integrity": "sha1-nl2LL9/Bq1mQ1H99674jHXmp6CI=",
"requires": {
"debug": "0.8.x",
"extract-github": "0.0.x",
"licenses": "0.0.x",
"mana": "0.1.x",
"semver": "2.2.x"
},
"dependencies": {
"debug": {
"version": "0.8.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz",
"integrity": "sha1-IP9NJvXkIstoobrLu2EDmtjBwTA="
},
"semver": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-2.2.1.tgz",
"integrity": "sha1-eUEYKz/8xYC/8cF5QqzfeVHA0hM="
}
}
},
"npm-run-path": { "npm-run-path": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
@ -14186,7 +13964,8 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
"dev": true "dev": true,
"optional": true
}, },
"is-glob": { "is-glob": {
"version": "2.0.1", "version": "2.0.1",
@ -14284,11 +14063,6 @@
"sha.js": "^2.4.8" "sha.js": "^2.4.8"
} }
}, },
"pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
"integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
},
"performance-now": { "performance-now": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
@ -14441,14 +14215,6 @@
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
}, },
"predefine": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/predefine/-/predefine-0.1.2.tgz",
"integrity": "sha1-KqkrRJa8H4VU5DpF92v75Q0z038=",
"requires": {
"extendible": "0.1.x"
}
},
"prelude-ls": { "prelude-ls": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
@ -14548,6 +14314,7 @@
"version": "2.3.2", "version": "2.3.2",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz",
"integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==", "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==",
"dev": true,
"requires": { "requires": {
"kleur": "^3.0.3", "kleur": "^3.0.3",
"sisteransi": "^1.0.4" "sisteransi": "^1.0.4"
@ -15217,18 +14984,18 @@
"integrity": "sha512-sQDYwGEdxwKwXKP/8Intc81FyH33Rv8ZvOxdmPX4NM75RAIVeBc13pdabEqycAimNZoY5IDvGp4o1cTTa5gNrA==" "integrity": "sha512-sQDYwGEdxwKwXKP/8Intc81FyH33Rv8ZvOxdmPX4NM75RAIVeBc13pdabEqycAimNZoY5IDvGp4o1cTTa5gNrA=="
}, },
"react-native-device-info": { "react-native-device-info": {
"version": "5.6.1", "version": "6.0.1",
"resolved": "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-5.6.1.tgz", "resolved": "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-6.0.1.tgz",
"integrity": "sha512-FxjenoDZJKT53pp/Tl5gMsw5DA82Y5tOuySQlKS5AaDmw+Bu6EqEJjt0z4TRhJOVoqVJ35oCiZ3xViVbz/hB0w==" "integrity": "sha512-cE3TbTcJ6jrKHD+IHsdKGJISz4UpBo6xwwDWYr+EqvlZ+OMCIcPjjDzApuFCiHhNDvbxJgcElG3eAq8tl6ojKw=="
}, },
"react-native-document-picker": { "react-native-document-picker": {
"version": "git+https://github.com/BlueWallet/react-native-document-picker.git#3684d4fcc2bc0b47c32be39024e4796004c3e428", "version": "git+https://github.com/BlueWallet/react-native-document-picker.git#3684d4fcc2bc0b47c32be39024e4796004c3e428",
"from": "git+https://github.com/BlueWallet/react-native-document-picker.git#3684d4fcc2bc0b47c32be39024e4796004c3e428" "from": "git+https://github.com/BlueWallet/react-native-document-picker.git#3684d4fcc2bc0b47c32be39024e4796004c3e428"
}, },
"react-native-elements": { "react-native-elements": {
"version": "2.1.0", "version": "2.2.1",
"resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-2.1.0.tgz", "resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-2.2.1.tgz",
"integrity": "sha512-X487S6794bwQm3HPyYKuNB7cDhZWwmUKiPdPiacVas3AYqKWIEcPuGpVt6+JzSsnV6xWQe9c5lxST8y6e31kcg==", "integrity": "sha512-JhveP4ZQzZrMef9sBJfjfgfdbKafGnqZGosVr4hb3At8c1wJ3QFgOGUsKxhpjpF2wr/RgLbP2UV3rS1cD+t7IA==",
"requires": { "requires": {
"@types/react-native-vector-icons": "^6.4.5", "@types/react-native-vector-icons": "^6.4.5",
"color": "^3.1.0", "color": "^3.1.0",
@ -15599,13 +15366,12 @@
} }
}, },
"react-native-webview": { "react-native-webview": {
"version": "9.0.2", "version": "10.8.3",
"resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-9.0.2.tgz", "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-10.8.3.tgz",
"integrity": "sha512-HnQ0+8jt3556QocsYTtmG3Y8eAG88GzmBodDT0PTz4TuLzPJukubj41OFkP7hytZlSdXIxyoV9A06GruyxXeLQ==", "integrity": "sha512-QV3dCGG8xsr/65Rpf2/Khno8fzkyyJKUZpn00y6Wd1hbYRqataZOesCm2ceZS21yXzLLGVHmQlB5/41h3K787Q==",
"requires": { "requires": {
"escape-string-regexp": "2.0.0", "escape-string-regexp": "2.0.0",
"invariant": "2.2.4", "invariant": "2.2.4"
"rnpm-plugin-windows": "^0.5.1-0"
}, },
"dependencies": { "dependencies": {
"escape-string-regexp": { "escape-string-regexp": {
@ -15718,7 +15484,8 @@
"version": "5.1.2", "version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true "dev": true,
"optional": true
}, },
"string_decoder": { "string_decoder": {
"version": "1.1.1", "version": "1.1.1",
@ -15733,9 +15500,9 @@
} }
}, },
"realm": { "realm": {
"version": "6.0.5", "version": "6.1.0",
"resolved": "https://registry.npmjs.org/realm/-/realm-6.0.5.tgz", "resolved": "https://registry.npmjs.org/realm/-/realm-6.1.0.tgz",
"integrity": "sha512-OWQ2Ffn8f19HRXShf/t38RhgbKr9P6wU728ECkqTHHG/iAbzCZ39D1thipg8twNkwuYJ5Pi4IT+WUuK4YaUzaQ==", "integrity": "sha512-F1oQ04FcdoICm2sr9W1PsH9e0C6YwnwlG0R6VZzEcjryQ0miV0HmDP3QaahaEQqvM25ggPcwcX3aJrJZwPv0nA==",
"requires": { "requires": {
"command-line-args": "^4.0.6", "command-line-args": "^4.0.6",
"deepmerge": "2.1.0", "deepmerge": "2.1.0",
@ -16106,73 +15873,6 @@
} }
} }
}, },
"rnpm-plugin-windows": {
"version": "0.5.1-0",
"resolved": "https://registry.npmjs.org/rnpm-plugin-windows/-/rnpm-plugin-windows-0.5.1-0.tgz",
"integrity": "sha512-0EX2shP1OI18MylpVHmZRhDX5GSdvHDgSQoFDZx/Ir73dt3dPVtz7iNviiz3vPa8/8HgTOog3Xzn/gXxfPRrnw==",
"requires": {
"chalk": "^1.1.3",
"extract-zip": "^1.6.7",
"fs-extra": "^7.0.1",
"npm-registry": "^0.1.13",
"prompts": "^2.3.0",
"request": "^2.88.0",
"semver": "^6.1.1",
"valid-url": "^1.0.9"
},
"dependencies": {
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
},
"ansi-styles": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
},
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"requires": {
"ansi-styles": "^2.2.1",
"escape-string-regexp": "^1.0.2",
"has-ansi": "^2.0.0",
"strip-ansi": "^3.0.0",
"supports-color": "^2.0.0"
}
},
"fs-extra": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
"integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
"requires": {
"graceful-fs": "^4.1.2",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
},
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
},
"strip-ansi": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"requires": {
"ansi-regex": "^2.0.0"
}
},
"supports-color": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
}
}
},
"rsvp": { "rsvp": {
"version": "4.8.5", "version": "4.8.5",
"resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
@ -16473,7 +16173,8 @@
"sisteransi": { "sisteransi": {
"version": "1.0.5", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
"integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
"dev": true
}, },
"sjcl": { "sjcl": {
"version": "1.0.8", "version": "1.0.8",
@ -17134,11 +16835,6 @@
} }
} }
}, },
"text-hex": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/text-hex/-/text-hex-0.0.0.tgz",
"integrity": "sha1-V4+8haapJjbkLdF7QdAhjM6esrM="
},
"text-table": { "text-table": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@ -17676,11 +17372,6 @@
"user-home": "^1.1.1" "user-home": "^1.1.1"
} }
}, },
"valid-url": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz",
"integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA="
},
"validate-npm-package-license": { "validate-npm-package-license": {
"version": "3.0.4", "version": "3.0.4",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
@ -18046,15 +17737,6 @@
"camelcase": "^5.0.0", "camelcase": "^5.0.0",
"decamelize": "^1.2.0" "decamelize": "^1.2.0"
} }
},
"yauzl": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
"integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
"requires": {
"buffer-crc32": "~0.2.3",
"fd-slicer": "~1.1.0"
}
} }
} }
} }

View File

@ -71,7 +71,7 @@
"@react-navigation/native": "5.7.3", "@react-navigation/native": "5.7.3",
"@react-navigation/stack": "5.9.0", "@react-navigation/stack": "5.9.0",
"@remobile/react-native-qrcode-local-image": "git+https://github.com/BlueWallet/react-native-qrcode-local-image.git", "@remobile/react-native-qrcode-local-image": "git+https://github.com/BlueWallet/react-native-qrcode-local-image.git",
"@sentry/react-native": "1.6.3", "@sentry/react-native": "1.7.1",
"amplitude-js": "5.11.0", "amplitude-js": "5.11.0",
"assert": "1.5.0", "assert": "1.5.0",
"bc-bech32": "file:blue_modules/bc-bech32", "bc-bech32": "file:blue_modules/bc-bech32",
@ -90,7 +90,7 @@
"dayjs": "1.8.32", "dayjs": "1.8.32",
"detox": "16.9.2", "detox": "16.9.2",
"ecurve": "1.0.6", "ecurve": "1.0.6",
"electrum-client": "git+https://github.com/BlueWallet/rn-electrum-client.git#09453000a63b8b15b37e58f80c47c7120dc8d89d", "electrum-client": "git+https://github.com/BlueWallet/rn-electrum-client.git#99c75385f99e82b87fbfed2abfb2cccd322fe3e9",
"electrum-mnemonic": "2.0.0", "electrum-mnemonic": "2.0.0",
"eslint-config-prettier": "6.11.0", "eslint-config-prettier": "6.11.0",
"eslint-config-standard": "14.1.1", "eslint-config-standard": "14.1.1",
@ -101,7 +101,7 @@
"frisbee": "3.1.4", "frisbee": "3.1.4",
"lottie-ios": "3.1.8", "lottie-ios": "3.1.8",
"lottie-react-native": "3.5.0", "lottie-react-native": "3.5.0",
"metro-react-native-babel-preset": "0.61.0", "metro-react-native-babel-preset": "0.62.0",
"path-browserify": "1.0.1", "path-browserify": "1.0.1",
"pbkdf2": "3.1.1", "pbkdf2": "3.1.1",
"prettier": "2.0.5", "prettier": "2.0.5",
@ -114,9 +114,9 @@
"react-native-blue-crypto": "git+https://github.com/Overtorment/react-native-blue-crypto.git", "react-native-blue-crypto": "git+https://github.com/Overtorment/react-native-blue-crypto.git",
"react-native-camera": "3.35.0", "react-native-camera": "3.35.0",
"react-native-default-preference": "1.4.3", "react-native-default-preference": "1.4.3",
"react-native-device-info": "5.6.1", "react-native-device-info": "6.0.1",
"react-native-document-picker": "git+https://github.com/BlueWallet/react-native-document-picker.git#3684d4fcc2bc0b47c32be39024e4796004c3e428", "react-native-document-picker": "git+https://github.com/BlueWallet/react-native-document-picker.git#3684d4fcc2bc0b47c32be39024e4796004c3e428",
"react-native-elements": "2.1.0", "react-native-elements": "2.2.1",
"react-native-fs": "2.16.6", "react-native-fs": "2.16.6",
"react-native-gesture-handler": "1.7.0", "react-native-gesture-handler": "1.7.0",
"react-native-handoff": "git+https://github.com/marcosrdz/react-native-handoff.git", "react-native-handoff": "git+https://github.com/marcosrdz/react-native-handoff.git",
@ -147,10 +147,10 @@
"react-native-tooltip": "git+https://github.com/BlueWallet/react-native-tooltip.git#d369e7ece09e4dec73873f1cfeac83e9d35294a6", "react-native-tooltip": "git+https://github.com/BlueWallet/react-native-tooltip.git#d369e7ece09e4dec73873f1cfeac83e9d35294a6",
"react-native-vector-icons": "6.6.0", "react-native-vector-icons": "6.6.0",
"react-native-watch-connectivity": "0.5.0", "react-native-watch-connectivity": "0.5.0",
"react-native-webview": "9.0.2", "react-native-webview": "10.8.3",
"react-test-render": "1.1.2", "react-test-render": "1.1.2",
"readable-stream": "3.6.0", "readable-stream": "3.6.0",
"realm": "6.0.5", "realm": "6.1.0",
"rn-nodeify": "10.2.0", "rn-nodeify": "10.2.0",
"secure-random": "1.1.2", "secure-random": "1.1.2",
"stream-browserify": "2.0.2", "stream-browserify": "2.0.2",

View File

@ -205,7 +205,7 @@ const WalletsAdd = () => {
} }
BlueApp.wallets.push(w); BlueApp.wallets.push(w);
await BlueApp.saveToDisk(); await BlueApp.saveToDisk();
EV(EV.enum.WALLETS_COUNT_CHANGED); setTimeout(() => EV(EV.enum.WALLETS_COUNT_CHANGED), 500); // heavy task; hopefully will be executed while user is staring at backup screen
A(A.ENUM.CREATED_WALLET); A(A.ENUM.CREATED_WALLET);
ReactNativeHapticFeedback.trigger('notificationSuccess', { ignoreAndroidSystemSettings: false }); ReactNativeHapticFeedback.trigger('notificationSuccess', { ignoreAndroidSystemSettings: false });
if (w.type === HDSegwitP2SHWallet.type || w.type === HDSegwitBech32Wallet.type) { if (w.type === HDSegwitP2SHWallet.type || w.type === HDSegwitBech32Wallet.type) {

View File

@ -16,9 +16,16 @@ import ReactNativeHapticFeedback from 'react-native-haptic-feedback';
import Privacy from '../../Privacy'; import Privacy from '../../Privacy';
import { useNavigation, useRoute, useTheme } from '@react-navigation/native'; import { useNavigation, useRoute, useTheme } from '@react-navigation/native';
import WalletImport from '../../class/wallet-import'; import WalletImport from '../../class/wallet-import';
import Clipboard from '@react-native-community/clipboard';
import ActionSheet from '../ActionSheet';
import ImagePicker from 'react-native-image-picker';
import loc from '../../loc'; import loc from '../../loc';
import { getSystemName } from 'react-native-device-info'; import { getSystemName } from 'react-native-device-info';
import RNFS from 'react-native-fs';
import DocumentPicker from 'react-native-document-picker';
const LocalQRCode = require('@remobile/react-native-qrcode-local-image');
const { width } = Dimensions.get('window'); const { width } = Dimensions.get('window');
const isDesktop = getSystemName() === 'Mac OS X';
const WalletsImport = () => { const WalletsImport = () => {
const [isToolbarVisibleForAndroid, setIsToolbarVisibleForAndroid] = useState(false); const [isToolbarVisibleForAndroid, setIsToolbarVisibleForAndroid] = useState(false);
@ -87,6 +94,9 @@ const WalletsImport = () => {
}; };
const importScan = () => { const importScan = () => {
if (isDesktop) {
showActionSheet();
} else {
navigation.navigate('ScanQRCodeRoot', { navigation.navigate('ScanQRCodeRoot', {
screen: 'ScanQRCode', screen: 'ScanQRCode',
params: { params: {
@ -95,6 +105,101 @@ const WalletsImport = () => {
showFileImportButton: true, showFileImportButton: true,
}, },
}); });
}
};
const choosePhoto = () => {
ImagePicker.launchImageLibrary(
{
title: null,
mediaType: 'photo',
takePhotoButtonTitle: null,
},
response => {
if (response.uri) {
const uri = Platform.OS === 'ios' ? response.uri.toString().replace('file://', '') : response.path.toString();
LocalQRCode.decode(uri, (error, result) => {
if (!error) {
onBarScanned(result);
} else {
alert(loc.send.qr_error_no_qrcode);
}
});
}
},
);
};
const takePhoto = () => {
ImagePicker.launchCamera(
{
title: null,
mediaType: 'photo',
takePhotoButtonTitle: null,
},
response => {
if (response.uri) {
const uri = Platform.OS === 'ios' ? response.uri.toString().replace('file://', '') : response.path.toString();
LocalQRCode.decode(uri, (error, result) => {
if (!error) {
onBarScanned(result);
} else {
alert(loc.send.qr_error_no_qrcode);
}
});
}
},
);
};
const copyFromClipbard = async () => {
onBarScanned(await Clipboard.getString());
};
const handleImportFileButtonPressed = async () => {
try {
const res = await DocumentPicker.pick({
type: [DocumentPicker.types.allFiles],
});
const file = await RNFS.readFile(res.uri);
if (file) {
onBarScanned(file);
} else {
throw new Error();
}
} catch (err) {
if (!DocumentPicker.isCancel(err)) {
alert(loc.wallets.import_error);
}
}
};
const showActionSheet = async () => {
const isClipboardEmpty = (await Clipboard.getString()).replace(' ', '').length === 0;
let copyFromClipboardIndex;
if (Platform.OS === 'ios') {
const options = [loc._.cancel, 'Take Photo', loc.wallets.list_long_choose];
if (!isClipboardEmpty) {
options.push(loc.wallets.list_long_clipboard);
copyFromClipboardIndex = options.length - 1;
}
options.push(loc.wallets.import_file);
const impoortFileButtonIndex = options.length - 1;
ActionSheet.showActionSheetWithOptions({ options, cancelButtonIndex: 0 }, buttonIndex => {
if (buttonIndex === 1) {
takePhoto();
} else if (buttonIndex === 2) {
choosePhoto();
} else if (buttonIndex === copyFromClipboardIndex) {
copyFromClipbard();
} else if (impoortFileButtonIndex) {
handleImportFileButtonPressed();
}
});
}
}; };
return ( return (
@ -162,7 +267,7 @@ const WalletsImport = () => {
); );
}; };
WalletsImport.navigationOptions = ({ navigation, route }) => ({ WalletsImport.navigationOptions = () => ({
...BlueNavigationStyle(), ...BlueNavigationStyle(),
title: loc.wallets.import_title, title: loc.wallets.import_title,
}); });

View File

@ -140,6 +140,7 @@ export default class WalletsList extends Component {
} }
const wallets = BlueApp.getWallets().concat(false); const wallets = BlueApp.getWallets().concat(false);
const dataSource = BlueApp.getTransactions(null, 10);
if (scrollToEnd) { if (scrollToEnd) {
scrollToEnd = wallets.length > this.state.wallets.length; scrollToEnd = wallets.length > this.state.wallets.length;
} }
@ -148,8 +149,8 @@ export default class WalletsList extends Component {
{ {
isLoading: false, isLoading: false,
isFlatListRefreshControlHidden: true, isFlatListRefreshControlHidden: true,
dataSource: BlueApp.getTransactions(null, 10), dataSource,
wallets: BlueApp.getWallets().concat(false), wallets,
}, },
() => { () => {
if (scrollToEnd) { if (scrollToEnd) {