Merge branch 'master' into ldk

This commit is contained in:
Marcos Rodriguez Velez 2024-03-10 18:25:25 -04:00
commit 1ba6efd6f2
No known key found for this signature in database
GPG key ID: 6030B2F48CCE86D7
61 changed files with 821 additions and 1251 deletions

View file

@ -1,6 +1,6 @@
import { DrawerNavigationOptions, createDrawerNavigator } from '@react-navigation/drawer';
import { NativeStackNavigationOptions, createNativeStackNavigator } from '@react-navigation/native-stack';
import React, { useMemo } from 'react';
import React, { useContext, useMemo } from 'react';
import { Dimensions, I18nManager, Platform, useWindowDimensions } from 'react-native';
import PlausibleDeniability from './screen/PlausibleDeniability';
@ -83,6 +83,7 @@ import SettingsPrivacy from './screen/settings/SettingsPrivacy';
import DrawerList from './screen/wallets/drawerList';
import PaymentCode from './screen/wallets/paymentCode';
import PaymentCodesList from './screen/wallets/paymentCodesList';
import { BlueStorageContext } from './blue_modules/storage-context';
const WalletsStack = createNativeStackNavigator();
@ -456,25 +457,22 @@ const LappBrowserStackRoot = () => {
};
const InitStack = createNativeStackNavigator();
const InitRoot = () => (
<InitStack.Navigator initialRouteName="UnlockWithScreenRoot">
<InitStack.Screen name="UnlockWithScreenRoot" component={UnlockWithScreenRoot} options={{ headerShown: false }} />
<InitStack.Screen
name="ReorderWallets"
component={ReorderWalletsStackRoot}
options={{
headerShown: false,
gestureEnabled: false,
presentation: 'modal',
}}
/>
<InitStack.Screen
name={isHandset ? 'Navigation' : 'DrawerRoot'}
component={isHandset ? Navigation : DrawerRoot}
options={{ headerShown: false, animationTypeForReplace: 'push' }}
/>
</InitStack.Navigator>
);
const InitRoot = () => {
const { walletsInitialized } = useContext(BlueStorageContext);
return (
<InitStack.Navigator initialRouteName="UnlockWithScreenRoot" screenOptions={{ animationTypeForReplace: 'push' }}>
{!walletsInitialized ? (
<InitStack.Screen name="UnlockWithScreenRoot" component={UnlockWithScreenRoot} options={{ headerShown: false }} />
) : (
<InitStack.Screen
name={isHandset ? 'Navigation' : 'DrawerRoot'}
component={isHandset ? Navigation : DrawerRoot}
options={{ headerShown: false }}
/>
)}
</InitStack.Navigator>
);
};
export type ViewEditMultisigCosignersStackParamsList = {
ViewEditMultisigCosigners: { walletId: string };
@ -597,6 +595,15 @@ const Navigation = () => {
/>
<RootStack.Screen name="PaymentCodeRoot" component={PaymentCodeStackRoot} options={NavigationDefaultOptions} />
<InitStack.Screen
name="ReorderWallets"
component={ReorderWalletsStackRoot}
options={{
headerShown: false,
gestureEnabled: false,
presentation: 'modal',
}}
/>
</RootStack.Navigator>
);
};

View file

@ -2,9 +2,7 @@ import React, { useCallback, useContext, useEffect, useReducer, useRef } from 'r
import { View, Image, TouchableOpacity, ActivityIndicator, useColorScheme, NativeModules, StyleSheet } from 'react-native';
import { Icon } from 'react-native-elements';
import Biometric, { BiometricType } from './class/biometrics';
import { StackActions, useNavigation } from '@react-navigation/native';
import { BlueStorageContext } from './blue_modules/storage-context';
import { isHandset } from './blue_modules/environment';
import triggerHapticFeedback, { HapticFeedbackTypes } from './blue_modules/hapticFeedback';
import SafeArea from './components/SafeArea';
@ -54,14 +52,13 @@ const UnlockWith: React.FC = () => {
const [state, dispatch] = useReducer(reducer, initialState);
const isUnlockingWallets = useRef(false);
const { setWalletsInitialized, isStorageEncrypted, startAndDecrypt } = useContext(BlueStorageContext);
const navigation = useNavigation();
const colorScheme = useColorScheme();
const successfullyAuthenticated = useCallback(() => {
setWalletsInitialized(true);
navigation.dispatch(StackActions.replace(isHandset ? 'Navigation' : 'DrawerRoot'));
isUnlockingWallets.current = false;
}, [setWalletsInitialized, navigation]);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
const unlockWithBiometrics = useCallback(async () => {
if (isUnlockingWallets.current || state.isAuthenticating) return;

View file

@ -4,7 +4,6 @@ export const startIfNotStarted = jest.fn(async (key, value, callback) => {
return 666;
});
export const get = jest.fn();
export const post = jest.fn();
export const deleteMock = jest.fn();
@ -15,4 +14,4 @@ const mock = jest.fn().mockImplementation(() => {
return { startIfNotStarted, get, post, delete: deleteMock, stopIfRunning, getDaemonStatus };
});
export default mock;
export default mock;

View file

@ -79,7 +79,7 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "6.5.8"
versionName "6.5.9"
testBuildType System.getProperty('testBuildType', 'debug')
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
}

View file

@ -5,8 +5,8 @@ import { getApplicationName, getVersion, getSystemName, getSystemVersion, hasGms
import AsyncStorage from '@react-native-async-storage/async-storage';
import loc from '../loc';
import { requestNotifications } from 'react-native-permissions';
import PushNotification from 'react-native-push-notification';
const PushNotification = require('react-native-push-notification');
const constants = require('./constants');
const PUSH_TOKEN = 'PUSH_TOKEN';
const GROUNDCONTROL_BASE_URI = 'GROUNDCONTROL_BASE_URI';
@ -245,7 +245,9 @@ function Notifications(props) {
},
}),
);
Notifications.abandonPermissions();
console.log('Abandoning notifications Permissions...');
PushNotification.abandonPermissions();
console.log('Abandoned notifications Permissions...');
return postCall;
};
@ -324,6 +326,9 @@ function Notifications(props) {
},
}),
);
console.log('Abandoning notifications Permissions...');
PushNotification.abandonPermissions();
console.log('Abandoned notifications Permissions...');
} catch (_) {}
};

View file

@ -1,9 +1,11 @@
import React from 'react';
import React, { useRef } from 'react';
import { View, StyleSheet, Text, TouchableOpacity, ActivityIndicator } from 'react-native';
import { View, StyleSheet, Text, TouchableOpacity, ActivityIndicator, findNodeHandle } from 'react-native';
import PropTypes from 'prop-types';
import { Icon } from 'react-native-elements';
import { useTheme } from './themes';
import ActionSheetOptions from '../screen/ActionSheet.common';
import ActionSheet from '../screen/ActionSheet';
export const MultipleStepsListItemDashType = Object.freeze({ none: 0, top: 1, bottom: 2, topAndBottom: 3 });
export const MultipleStepsListItemButtohType = Object.freeze({ partial: 0, full: 1 });
@ -15,6 +17,8 @@ const MultipleStepsListItem = props => {
circledText = '',
leftText = '',
checked = false,
useActionSheet = false,
actionSheetOptions = null, // Default to null or appropriate default
} = props;
const stylesHook = StyleSheet.create({
provideKeyButton: {
@ -36,6 +40,29 @@ const MultipleStepsListItem = props => {
color: colors.alternativeTextColor,
},
});
const selfRef = useRef(null); // Create a ref for the component itself
const handleOnPressForActionSheet = () => {
if (useActionSheet && actionSheetOptions) {
// Clone options to modify them
let modifiedOptions = { ...actionSheetOptions };
// Use 'selfRef' if the component uses its own ref, or 'ref' if it's using forwarded ref
const anchor = findNodeHandle(selfRef.current);
if (anchor) {
// Attach the anchor only if it exists
modifiedOptions = { ...modifiedOptions, anchor };
}
ActionSheet.showActionSheetWithOptions(modifiedOptions, buttonIndex => {
// Call the original onPress function, if provided, and not cancelled
if (buttonIndex !== -1 && props.button.onPress) {
props.button.onPress(buttonIndex);
}
});
}
};
const renderDashes = () => {
switch (dashes) {
@ -106,11 +133,12 @@ const MultipleStepsListItem = props => {
{props.button.buttonType === undefined ||
(props.button.buttonType === MultipleStepsListItemButtohType.full && (
<TouchableOpacity
ref={useActionSheet ? selfRef : null}
testID={props.button.testID}
accessibilityRole="button"
disabled={props.button.disabled}
style={[styles.provideKeyButton, stylesHook.provideKeyButton, buttonOpacity]}
onPress={props.button.onPress}
onPress={useActionSheet ? handleOnPressForActionSheet : props.button.onPress}
>
<Text style={[styles.provideKeyButtonText, stylesHook.provideKeyButtonText]}>{props.button.text}</Text>
</TouchableOpacity>
@ -157,6 +185,8 @@ MultipleStepsListItem.propTypes = {
checked: PropTypes.bool,
leftText: PropTypes.string,
showActivityIndicator: PropTypes.bool,
useActionSheet: PropTypes.bool,
actionSheetOptions: PropTypes.shape(ActionSheetOptions),
dashes: PropTypes.number,
button: PropTypes.shape({
text: PropTypes.string,

View file

@ -1,868 +0,0 @@
PODS:
- boost (1.76.0)
- BugsnagReactNative (7.22.5):
- React-Core
- BVLinearGradient (2.8.3):
- React-Core
- CocoaAsyncSocket (7.6.5)
- DoubleConversion (1.1.6)
- FBLazyVector (0.72.11)
- FBReactNativeSpec (0.72.11):
- RCT-Folly (= 2021.07.22.00)
- RCTRequired (= 0.72.11)
- RCTTypeSafety (= 0.72.11)
- React-Core (= 0.72.11)
- React-jsi (= 0.72.11)
- ReactCommon/turbomodule/core (= 0.72.11)
- fmt (6.2.1)
- glog (0.3.5)
- hermes-engine (0.72.11):
- hermes-engine/Pre-built (= 0.72.11)
- hermes-engine/Pre-built (0.72.11)
- libevent (2.1.12)
- lottie-ios (4.4.1)
- lottie-react-native (6.7.0):
- lottie-ios (~> 4.4.1)
- React-Core
- PasscodeAuth (1.0.0):
- React
- RCT-Folly (2021.07.22.00):
- boost
- DoubleConversion
- fmt (~> 6.2.1)
- glog
- RCT-Folly/Default (= 2021.07.22.00)
- RCT-Folly/Default (2021.07.22.00):
- boost
- DoubleConversion
- fmt (~> 6.2.1)
- glog
- RCT-Folly/Futures (2021.07.22.00):
- boost
- DoubleConversion
- fmt (~> 6.2.1)
- glog
- libevent
- RCTRequired (0.72.11)
- RCTTypeSafety (0.72.11):
- FBLazyVector (= 0.72.11)
- RCTRequired (= 0.72.11)
- React-Core (= 0.72.11)
- React (0.72.11):
- React-Core (= 0.72.11)
- React-Core/DevSupport (= 0.72.11)
- React-Core/RCTWebSocket (= 0.72.11)
- React-RCTActionSheet (= 0.72.11)
- React-RCTAnimation (= 0.72.11)
- React-RCTBlob (= 0.72.11)
- React-RCTImage (= 0.72.11)
- React-RCTLinking (= 0.72.11)
- React-RCTNetwork (= 0.72.11)
- React-RCTSettings (= 0.72.11)
- React-RCTText (= 0.72.11)
- React-RCTVibration (= 0.72.11)
- React-callinvoker (0.72.11)
- React-Codegen (0.72.11):
- DoubleConversion
- FBReactNativeSpec
- glog
- hermes-engine
- RCT-Folly
- RCTRequired
- RCTTypeSafety
- React-Core
- React-jsi
- React-jsiexecutor
- React-NativeModulesApple
- React-rncore
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- React-Core (0.72.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.72.11)
- React-cxxreact
- React-hermes
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/CoreModulesHeaders (0.72.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-hermes
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/Default (0.72.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-cxxreact
- React-hermes
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/DevSupport (0.72.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.72.11)
- React-Core/RCTWebSocket (= 0.72.11)
- React-cxxreact
- React-hermes
- React-jsi
- React-jsiexecutor
- React-jsinspector (= 0.72.11)
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTActionSheetHeaders (0.72.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-hermes
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTAnimationHeaders (0.72.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-hermes
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTBlobHeaders (0.72.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-hermes
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTImageHeaders (0.72.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-hermes
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTLinkingHeaders (0.72.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-hermes
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTNetworkHeaders (0.72.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-hermes
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTSettingsHeaders (0.72.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-hermes
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTTextHeaders (0.72.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-hermes
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTVibrationHeaders (0.72.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-hermes
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTWebSocket (0.72.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.72.11)
- React-cxxreact
- React-hermes
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-CoreModules (0.72.11):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.72.11)
- React-Codegen (= 0.72.11)
- React-Core/CoreModulesHeaders (= 0.72.11)
- React-jsi (= 0.72.11)
- React-RCTBlob
- React-RCTImage (= 0.72.11)
- ReactCommon/turbomodule/core (= 0.72.11)
- SocketRocket (= 0.6.1)
- React-cxxreact (0.72.11):
- boost (= 1.76.0)
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.72.11)
- React-debug (= 0.72.11)
- React-jsi (= 0.72.11)
- React-jsinspector (= 0.72.11)
- React-logger (= 0.72.11)
- React-perflogger (= 0.72.11)
- React-runtimeexecutor (= 0.72.11)
- React-debug (0.72.11)
- React-hermes (0.72.11):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- RCT-Folly/Futures (= 2021.07.22.00)
- React-cxxreact (= 0.72.11)
- React-jsi
- React-jsiexecutor (= 0.72.11)
- React-jsinspector (= 0.72.11)
- React-perflogger (= 0.72.11)
- React-jsi (0.72.11):
- boost (= 1.76.0)
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-jsiexecutor (0.72.11):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-cxxreact (= 0.72.11)
- React-jsi (= 0.72.11)
- React-perflogger (= 0.72.11)
- React-jsinspector (0.72.11)
- React-logger (0.72.11):
- glog
- react-native-biometrics (3.0.1):
- React-Core
- react-native-blue-crypto (1.0.0):
- React
- react-native-bw-file-access (1.0.0):
- React-Core
- react-native-document-picker (9.1.1):
- React-Core
- react-native-idle-timer (2.1.6):
- React-Core
- react-native-image-picker (7.1.0):
- RCT-Folly (= 2021.07.22.00)
- React-Core
- react-native-ios-context-menu (1.15.3):
- React-Core
- react-native-qrcode-local-image (1.0.4):
- React
- react-native-randombytes (3.6.1):
- React-Core
- react-native-safe-area-context (4.9.0):
- React-Core
- react-native-secure-key-store (2.0.10):
- React-Core
- react-native-tcp-socket (6.0.6):
- CocoaAsyncSocket
- React-Core
- react-native-webview (13.8.1):
- RCT-Folly (= 2021.07.22.00)
- React-Core
- react-native-widget-center (0.0.9):
- React
- React-NativeModulesApple (0.72.11):
- hermes-engine
- React-callinvoker
- React-Core
- React-cxxreact
- React-jsi
- React-runtimeexecutor
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- React-perflogger (0.72.11)
- React-RCTActionSheet (0.72.11):
- React-Core/RCTActionSheetHeaders (= 0.72.11)
- React-RCTAnimation (0.72.11):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.72.11)
- React-Codegen (= 0.72.11)
- React-Core/RCTAnimationHeaders (= 0.72.11)
- React-jsi (= 0.72.11)
- ReactCommon/turbomodule/core (= 0.72.11)
- React-RCTAppDelegate (0.72.11):
- RCT-Folly
- RCTRequired
- RCTTypeSafety
- React-Core
- React-CoreModules
- React-hermes
- React-NativeModulesApple
- React-RCTImage
- React-RCTNetwork
- React-runtimescheduler
- ReactCommon/turbomodule/core
- React-RCTBlob (0.72.11):
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Codegen (= 0.72.11)
- React-Core/RCTBlobHeaders (= 0.72.11)
- React-Core/RCTWebSocket (= 0.72.11)
- React-jsi (= 0.72.11)
- React-RCTNetwork (= 0.72.11)
- ReactCommon/turbomodule/core (= 0.72.11)
- React-RCTImage (0.72.11):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.72.11)
- React-Codegen (= 0.72.11)
- React-Core/RCTImageHeaders (= 0.72.11)
- React-jsi (= 0.72.11)
- React-RCTNetwork (= 0.72.11)
- ReactCommon/turbomodule/core (= 0.72.11)
- React-RCTLinking (0.72.11):
- React-Codegen (= 0.72.11)
- React-Core/RCTLinkingHeaders (= 0.72.11)
- React-jsi (= 0.72.11)
- ReactCommon/turbomodule/core (= 0.72.11)
- React-RCTNetwork (0.72.11):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.72.11)
- React-Codegen (= 0.72.11)
- React-Core/RCTNetworkHeaders (= 0.72.11)
- React-jsi (= 0.72.11)
- ReactCommon/turbomodule/core (= 0.72.11)
- React-RCTSettings (0.72.11):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.72.11)
- React-Codegen (= 0.72.11)
- React-Core/RCTSettingsHeaders (= 0.72.11)
- React-jsi (= 0.72.11)
- ReactCommon/turbomodule/core (= 0.72.11)
- React-RCTText (0.72.11):
- React-Core/RCTTextHeaders (= 0.72.11)
- React-RCTVibration (0.72.11):
- RCT-Folly (= 2021.07.22.00)
- React-Codegen (= 0.72.11)
- React-Core/RCTVibrationHeaders (= 0.72.11)
- React-jsi (= 0.72.11)
- ReactCommon/turbomodule/core (= 0.72.11)
- React-rncore (0.72.11)
- React-runtimeexecutor (0.72.11):
- React-jsi (= 0.72.11)
- React-runtimescheduler (0.72.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker
- React-debug
- React-jsi
- React-runtimeexecutor
- React-utils (0.72.11):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-debug
- ReactCommon/turbomodule/bridging (0.72.11):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.72.11)
- React-cxxreact (= 0.72.11)
- React-jsi (= 0.72.11)
- React-logger (= 0.72.11)
- React-perflogger (= 0.72.11)
- ReactCommon/turbomodule/core (0.72.11):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.72.11)
- React-cxxreact (= 0.72.11)
- React-jsi (= 0.72.11)
- React-logger (= 0.72.11)
- React-perflogger (= 0.72.11)
- ReactNativeCameraKit (13.0.0):
- React-Core
- RealmJS (12.6.0):
- React
- RNCAsyncStorage (1.22.3):
- React-Core
- RNCClipboard (1.13.2):
- React-Core
- RNCPushNotificationIOS (1.11.0):
- React-Core
- RNDefaultPreference (1.4.4):
- React-Core
- RNDeviceInfo (10.13.1):
- React-Core
- RNFS (2.20.0):
- React-Core
- RNGestureHandler (2.15.0):
- RCT-Folly (= 2021.07.22.00)
- React-Core
- RNHandoff (0.0.3):
- React
- RNKeychain (8.2.0):
- React-Core
- RNLocalize (3.0.6):
- React-Core
- RNPermissions (4.1.4):
- React-Core
- RNPrivacySnapshot (1.0.0):
- React
- RNQuickAction (0.3.13):
- React
- RNRate (1.2.12):
- React-Core
- RNReactNativeHapticFeedback (2.2.0):
- React-Core
- RNReanimated (3.7.2):
- RCT-Folly (= 2021.07.22.00)
- React-Core
- ReactCommon/turbomodule/core
- RNScreens (3.29.0):
- RCT-Folly (= 2021.07.22.00)
- React-Core
- RNShare (10.0.2):
- React-Core
- RNSVG (13.14.0):
- React-Core
- RNVectorIcons (10.0.3):
- RCT-Folly (= 2021.07.22.00)
- React-Core
- RNWatch (1.1.0):
- React
- SocketRocket (0.6.1)
- Yoga (1.14.0)
DEPENDENCIES:
- boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
- Bugsnag
- "BugsnagReactNative (from `../node_modules/@bugsnag/react-native`)"
- BVLinearGradient (from `../node_modules/react-native-linear-gradient`)
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
- hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
- libevent (~> 2.1.12)
- lottie-react-native (from `../node_modules/lottie-react-native`)
- PasscodeAuth (from `../node_modules/react-native-passcode-auth`)
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
- RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
- RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
- React (from `../node_modules/react-native/`)
- React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
- React-Codegen (from `build/generated/ios`)
- React-Core (from `../node_modules/react-native/`)
- React-Core/RCTWebSocket (from `../node_modules/react-native/`)
- React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
- React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
- React-debug (from `../node_modules/react-native/ReactCommon/react/debug`)
- React-hermes (from `../node_modules/react-native/ReactCommon/hermes`)
- React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
- React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
- React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
- React-logger (from `../node_modules/react-native/ReactCommon/logger`)
- react-native-biometrics (from `../node_modules/react-native-biometrics`)
- react-native-blue-crypto (from `../node_modules/react-native-blue-crypto`)
- react-native-bw-file-access (from `../blue_modules/react-native-bw-file-access`)
- react-native-document-picker (from `../node_modules/react-native-document-picker`)
- react-native-idle-timer (from `../node_modules/react-native-idle-timer`)
- react-native-image-picker (from `../node_modules/react-native-image-picker`)
- react-native-ios-context-menu (from `../node_modules/react-native-ios-context-menu`)
- "react-native-qrcode-local-image (from `../node_modules/@remobile/react-native-qrcode-local-image`)"
- react-native-randombytes (from `../node_modules/react-native-randombytes`)
- react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
- react-native-secure-key-store (from `../node_modules/react-native-secure-key-store`)
- react-native-tcp-socket (from `../node_modules/react-native-tcp-socket`)
- react-native-webview (from `../node_modules/react-native-webview`)
- react-native-widget-center (from `../node_modules/react-native-widget-center`)
- React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
- React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`)
- React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
- React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
- React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`)
- React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
- React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
- React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
- React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`)
- React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
- React-RCTText (from `../node_modules/react-native/Libraries/Text`)
- React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
- React-rncore (from `../node_modules/react-native/ReactCommon`)
- React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`)
- React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`)
- React-utils (from `../node_modules/react-native/ReactCommon/react/utils`)
- ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
- ReactNativeCameraKit (from `../node_modules/react-native-camera-kit`)
- RealmJS (from `../node_modules/realm`)
- "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)"
- "RNCClipboard (from `../node_modules/@react-native-clipboard/clipboard`)"
- "RNCPushNotificationIOS (from `../node_modules/@react-native-community/push-notification-ios`)"
- RNDefaultPreference (from `../node_modules/react-native-default-preference`)
- RNDeviceInfo (from `../node_modules/react-native-device-info`)
- RNFS (from `../node_modules/react-native-fs`)
- RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
- RNHandoff (from `../node_modules/react-native-handoff`)
- RNKeychain (from `../node_modules/react-native-keychain`)
- RNLocalize (from `../node_modules/react-native-localize`)
- RNPermissions (from `../node_modules/react-native-permissions`)
- RNPrivacySnapshot (from `../node_modules/react-native-privacy-snapshot`)
- RNQuickAction (from `../node_modules/react-native-quick-actions`)
- RNRate (from `../node_modules/react-native-rate`)
- RNReactNativeHapticFeedback (from `../node_modules/react-native-haptic-feedback`)
- RNReanimated (from `../node_modules/react-native-reanimated`)
- RNScreens (from `../node_modules/react-native-screens`)
- RNShare (from `../node_modules/react-native-share`)
- RNSVG (from `../node_modules/react-native-svg`)
- RNVectorIcons (from `../node_modules/react-native-vector-icons`)
- RNWatch (from `../node_modules/react-native-watch-connectivity`)
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
SPEC REPOS:
trunk:
- CocoaAsyncSocket
- fmt
- libevent
- lottie-ios
- SocketRocket
EXTERNAL SOURCES:
boost:
:podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec"
BugsnagReactNative:
:path: "../node_modules/@bugsnag/react-native"
BVLinearGradient:
:path: "../node_modules/react-native-linear-gradient"
DoubleConversion:
:podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
FBLazyVector:
:path: "../node_modules/react-native/Libraries/FBLazyVector"
FBReactNativeSpec:
:path: "../node_modules/react-native/React/FBReactNativeSpec"
glog:
:podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
hermes-engine:
:podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec"
lottie-react-native:
:path: "../node_modules/lottie-react-native"
PasscodeAuth:
:path: "../node_modules/react-native-passcode-auth"
RCT-Folly:
:podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
RCTRequired:
:path: "../node_modules/react-native/Libraries/RCTRequired"
RCTTypeSafety:
:path: "../node_modules/react-native/Libraries/TypeSafety"
React:
:path: "../node_modules/react-native/"
React-callinvoker:
:path: "../node_modules/react-native/ReactCommon/callinvoker"
React-Codegen:
:path: build/generated/ios
React-Core:
:path: "../node_modules/react-native/"
React-CoreModules:
:path: "../node_modules/react-native/React/CoreModules"
React-cxxreact:
:path: "../node_modules/react-native/ReactCommon/cxxreact"
React-debug:
:path: "../node_modules/react-native/ReactCommon/react/debug"
React-hermes:
:path: "../node_modules/react-native/ReactCommon/hermes"
React-jsi:
:path: "../node_modules/react-native/ReactCommon/jsi"
React-jsiexecutor:
:path: "../node_modules/react-native/ReactCommon/jsiexecutor"
React-jsinspector:
:path: "../node_modules/react-native/ReactCommon/jsinspector"
React-logger:
:path: "../node_modules/react-native/ReactCommon/logger"
react-native-biometrics:
:path: "../node_modules/react-native-biometrics"
react-native-blue-crypto:
:path: "../node_modules/react-native-blue-crypto"
react-native-bw-file-access:
:path: "../blue_modules/react-native-bw-file-access"
react-native-document-picker:
:path: "../node_modules/react-native-document-picker"
react-native-idle-timer:
:path: "../node_modules/react-native-idle-timer"
react-native-image-picker:
:path: "../node_modules/react-native-image-picker"
react-native-ios-context-menu:
:path: "../node_modules/react-native-ios-context-menu"
react-native-qrcode-local-image:
:path: "../node_modules/@remobile/react-native-qrcode-local-image"
react-native-randombytes:
:path: "../node_modules/react-native-randombytes"
react-native-safe-area-context:
:path: "../node_modules/react-native-safe-area-context"
react-native-secure-key-store:
:path: "../node_modules/react-native-secure-key-store"
react-native-tcp-socket:
:path: "../node_modules/react-native-tcp-socket"
react-native-webview:
:path: "../node_modules/react-native-webview"
react-native-widget-center:
:path: "../node_modules/react-native-widget-center"
React-NativeModulesApple:
:path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios"
React-perflogger:
:path: "../node_modules/react-native/ReactCommon/reactperflogger"
React-RCTActionSheet:
:path: "../node_modules/react-native/Libraries/ActionSheetIOS"
React-RCTAnimation:
:path: "../node_modules/react-native/Libraries/NativeAnimation"
React-RCTAppDelegate:
:path: "../node_modules/react-native/Libraries/AppDelegate"
React-RCTBlob:
:path: "../node_modules/react-native/Libraries/Blob"
React-RCTImage:
:path: "../node_modules/react-native/Libraries/Image"
React-RCTLinking:
:path: "../node_modules/react-native/Libraries/LinkingIOS"
React-RCTNetwork:
:path: "../node_modules/react-native/Libraries/Network"
React-RCTSettings:
:path: "../node_modules/react-native/Libraries/Settings"
React-RCTText:
:path: "../node_modules/react-native/Libraries/Text"
React-RCTVibration:
:path: "../node_modules/react-native/Libraries/Vibration"
React-rncore:
:path: "../node_modules/react-native/ReactCommon"
React-runtimeexecutor:
:path: "../node_modules/react-native/ReactCommon/runtimeexecutor"
React-runtimescheduler:
:path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler"
React-utils:
:path: "../node_modules/react-native/ReactCommon/react/utils"
ReactCommon:
:path: "../node_modules/react-native/ReactCommon"
ReactNativeCameraKit:
:path: "../node_modules/react-native-camera-kit"
RealmJS:
:path: "../node_modules/realm"
RNCAsyncStorage:
:path: "../node_modules/@react-native-async-storage/async-storage"
RNCClipboard:
:path: "../node_modules/@react-native-clipboard/clipboard"
RNCPushNotificationIOS:
:path: "../node_modules/@react-native-community/push-notification-ios"
RNDefaultPreference:
:path: "../node_modules/react-native-default-preference"
RNDeviceInfo:
:path: "../node_modules/react-native-device-info"
RNFS:
:path: "../node_modules/react-native-fs"
RNGestureHandler:
:path: "../node_modules/react-native-gesture-handler"
RNHandoff:
:path: "../node_modules/react-native-handoff"
RNKeychain:
:path: "../node_modules/react-native-keychain"
RNLocalize:
:path: "../node_modules/react-native-localize"
RNPermissions:
:path: "../node_modules/react-native-permissions"
RNPrivacySnapshot:
:path: "../node_modules/react-native-privacy-snapshot"
RNQuickAction:
:path: "../node_modules/react-native-quick-actions"
RNRate:
:path: "../node_modules/react-native-rate"
RNReactNativeHapticFeedback:
:path: "../node_modules/react-native-haptic-feedback"
RNReanimated:
:path: "../node_modules/react-native-reanimated"
RNScreens:
:path: "../node_modules/react-native-screens"
RNShare:
:path: "../node_modules/react-native-share"
RNSVG:
:path: "../node_modules/react-native-svg"
RNVectorIcons:
:path: "../node_modules/react-native-vector-icons"
RNWatch:
:path: "../node_modules/react-native-watch-connectivity"
Yoga:
:path: "../node_modules/react-native/ReactCommon/yoga"
SPEC CHECKSUMS:
boost: 7dcd2de282d72e344012f7d6564d024930a6a440
BugsnagReactNative: 2f3550f37f30b9701e3517bf17743b676b5a2fb1
BVLinearGradient: 880f91a7854faff2df62518f0281afb1c60d49a3
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
FBLazyVector: 1d033b6462f2d7bdde254a5118fe5e459c3ff36d
FBReactNativeSpec: 7cdf84cde92e07142519467b850764f8d57487ec
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b
hermes-engine: c22b4cc0bb1d1603b9e4faf83732be227baa55bc
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
lottie-ios: e047b1d2e6239b787cc5e9755b988869cf190494
lottie-react-native: e3205322282d72e23efb3bff3287d0bd16fb1b01
PasscodeAuth: 3e88093ff46c31a952d8b36c488240de980517be
RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1
RCTRequired: 4a524af1769a10608bf423aa8c0804b10f84aec8
RCTTypeSafety: 419b5760003f83e245fc191b53491b078d41d32e
React: 4d173dc00be188cca5d6beef17fcc2bcddff2020
React-callinvoker: 5f384ba1681933aaeae4ed473068dbece3cd6f67
React-Codegen: dc75a08c3e0d7cdcec211c9f2245b9a08f8ae0a1
React-Core: fc7617d9eb7d770feb00f6ba156bd9d4c58ac8f6
React-CoreModules: cf5ec47f3c4dd2d4adf9dae90014d49889c0518e
React-cxxreact: 6493d446dbfd452c670afde49c4413830af3d606
React-debug: 0b2c3c5f5e2dd977573f304aa1ea4c28a7a7aa1e
React-hermes: 274f400ef8507abc573c25b78cac26974ab063e6
React-jsi: 98eac4626437059bb7e1193ce2c1b0ba078071d9
React-jsiexecutor: 13401c2c6ddc727c74b71eb58b7590332d27d4eb
React-jsinspector: a70e8fc7f3ae7982db27e7c114c0ec8c0714c8f5
React-logger: 9fd8d34baa7930b42a70669ec0f0971083ae5a7b
react-native-biometrics: 352e5a794bfffc46a0c86725ea7dc62deb085bdc
react-native-blue-crypto: 23f1558ad3d38d7a2edb7e2f6ed1bc520ed93e56
react-native-bw-file-access: b232fd1d902521ca046f3fc5990ab1465e1878d7
react-native-document-picker: 3599b238843369026201d2ef466df53f77ae0452
react-native-idle-timer: f7f651542b39dce9b9473e4578cb64a255075f17
react-native-image-picker: 5e076db26cd81660cfb6db5bcf517cfa12054d45
react-native-ios-context-menu: e529171ba760a1af7f2ef0729f5a7f4d226171c5
react-native-qrcode-local-image: 35ccb306e4265bc5545f813e54cc830b5d75bcfc
react-native-randombytes: 421f1c7d48c0af8dbcd471b0324393ebf8fe7846
react-native-safe-area-context: b97eb6f9e3b7f437806c2ce5983f479f8eb5de4b
react-native-secure-key-store: 910e6df6bc33cb790aba6ee24bc7818df1fe5898
react-native-tcp-socket: e724380c910c2e704816ec817ed28f1342246ff7
react-native-webview: bdc091de8cf7f8397653e30182efcd9f772e03b3
react-native-widget-center: 12dfba20a4fa995850b52cf0afecf734397f4b9c
React-NativeModulesApple: fd9fb8a2d2d789988f110c3c21c91fa0795fa2c7
React-perflogger: 800d85d51d4f53efc2eec11f459919752e494db3
React-RCTActionSheet: 02942b4c0f90bfb9a18f77bf13e486d2a6ba1b6f
React-RCTAnimation: 3c9cf760db348530599e03f19812b18d40cf4b7d
React-RCTAppDelegate: 1cbed662b509fa4ad83f378855a9946c159f4960
React-RCTBlob: 2f909499042c62a1492409d11e52869db9073e64
React-RCTImage: 6e8830f1d2e74627f2cec640928abdead9b1f2fc
React-RCTLinking: 690800c67ca7b020eb2f84106028f77e84003679
React-RCTNetwork: 6cc2caea3560250191059e98e5fe806e125ebdbb
React-RCTSettings: eade7decf59d16f98a0c781ea0e5e2b085e10b1b
React-RCTText: 22bce9d6ea071d84b90d13f21dc46e8ea7c27c84
React-RCTVibration: d79a9c4f9e50dcc9369aaa895df2f67f1b1869a1
React-rncore: 98bfdad629754b0d41d2d2d6f52f84a210c8d244
React-runtimeexecutor: 898c270235ec4b605fc7585af0cd8cfa3cc1c6c7
React-runtimescheduler: ad89a9e6705be34d127d7f320e4a7fb797ac28e6
React-utils: cc09672a1517d768cfc545f245c78a1cae87fd49
ReactCommon: cadee954951b13f7550766c0074dd38af2da3575
ReactNativeCameraKit: 9d46a5d7dd544ca64aa9c03c150d2348faf437eb
RealmJS: a62dc7a1f94b888fe9e8712cd650167ad97dc636
RNCAsyncStorage: 10591b9e0a91eaffee14e69b3721009759235125
RNCClipboard: 60fed4b71560d7bfe40e9d35dea9762b024da86d
RNCPushNotificationIOS: 64218f3c776c03d7408284a819b2abfda1834bc8
RNDefaultPreference: 08bdb06cfa9188d5da97d4642dac745218d7fb31
RNDeviceInfo: 4f9c7cfd6b9db1b05eb919620a001cf35b536423
RNFS: 4ac0f0ea233904cb798630b3c077808c06931688
RNGestureHandler: 7909c50383a18f0cb10ce1db7262b9a6da504c03
RNHandoff: d3b0754cca3a6bcd9b25f544f733f7f033ccf5fa
RNKeychain: bfe3d12bf4620fe488771c414530bf16e88f3678
RNLocalize: 4222a3756cdbe2dc9a5bdf445765a4d2572107cb
RNPermissions: 31223c0cf32b7623e6ec4cd13a7e4552fd43c71c
RNPrivacySnapshot: 71919dde3c6a29dd332115409c2aec564afee8f4
RNQuickAction: 6d404a869dc872cde841ad3147416a670d13fa93
RNRate: ef3bcff84f39bb1d1e41c5593d3eea4aab2bd73a
RNReactNativeHapticFeedback: ec56a5f81c3941206fd85625fa669ffc7b4545f9
RNReanimated: ab1295f59541cb26000d394b4b4aea72cb7ca448
RNScreens: 3c5b9f4a9dcde752466854b6109b79c0e205dad3
RNShare: 859ff710211285676b0bcedd156c12437ea1d564
RNSVG: d00c8f91c3cbf6d476451313a18f04d220d4f396
RNVectorIcons: 64e6a523ac30a3241efa9baf1ffbcc5e76ff747a
RNWatch: fd30ca40a5b5ef58dcbc195638e68219bc455236
SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
Yoga: 76b2d5677fc9694bae53c80d0cccfc55719064a3
PODFILE CHECKSUM: 06602cb616640824e5360b185cba810e443eaa5a
COCOAPODS: 1.14.3

View file

@ -15,8 +15,6 @@
"seed": "عبارة الاسترداد",
"success": "نجاح",
"wallet_key": "مفتاح المحفظة",
"file_saved": "تم حفظ الملف {filePath} في {destination}.",
"downloads_folder": "مجلد التنزيلات",
"close": "اغلاق",
"change_input_currency": "تغيير عملة الادخال",
"refresh": "تحديث",
@ -431,7 +429,6 @@
"no_ln_wallet_error": "قبل دفع البرقية، يجب عليك أولاً إضافة محفظة برق.",
"looks_like_bip38": "يبدوا ان هذا مفتاح خاص محمي بكلمة مرور (BIP38).",
"reorder_title": "إعادة ترتيب المحافظ",
"reorder_instructions": "اضغط باستمرار على اي محفظة لتحريكها عبر القائمة",
"please_continue_scanning": "الرجاء متابعة الفحص.",
"select_no_bitcoin": "لا توجد محافظ بتكوين متاحة حاليًا.",
"select_no_bitcoin_exp": "تحتاج إلى محفظة بتكوين لإعادة تعبئة محافظ البرق. يُرجى إنشاء محفظة أو استيراد واحدة.",

View file

@ -14,10 +14,7 @@
"save": "Захаваць",
"seed": "Семя",
"success": "Посьпех",
"wallet_key": "Ключ ад кашалька",
"invalid_animated_qr_code_fragment": "Несапраўдны фрагмент аніміраванага QR-коду. Калі ласка, паспрабуйце яшчэ раз.",
"file_saved": "Файл {filePath} быў захаваны ў вашым месцы {destination}.",
"downloads_folder": "Папка Запамповак"
"wallet_key": "Ключ ад кашалька"
},
"alert": {
"default": "Папярэджанне"
@ -46,7 +43,6 @@
"no_channels": "Няма каналаў",
"close_channel": "Зачыніць канал",
"new_channel": "Новы канал",
"errorInvoiceExpired": "Тэрмін дзеяння рахункі скончыўся",
"expired": "Скончыўся",
"open_channel": "Адкрыць Канал"
},

View file

@ -13,9 +13,7 @@
"save": "Запази",
"seed": "Сиид",
"success": "Успех",
"wallet_key": "Парола на портфейла",
"file_saved": "Файлът {filePath} беше запазен в {destination}.",
"downloads_folder": "Папка с изтегляния"
"wallet_key": "Парола на портфейла"
},
"azteco": {
"codeIs": "Цода на вашият ваучър е",

View file

@ -2,8 +2,10 @@
"_": {
"bad_password": "رزم زبال نؽ. زه نۊ تفره کو.",
"cancel": "لقو",
"continue": "ادامه",
"clipboard": "ویرگه",
"enter_password": "رزمته بزن",
"of": "{number} زه {total}",
"ok": "هری",
"yes": "هری",
"no": "نه",
@ -11,22 +13,29 @@
"success": "سر ٱنجوم گرهڌ",
"wallet_key": "کیلیت کیف پیل",
"close": "بستن",
"change_input_currency": "آلشتکاری ارز وۊرۊڌی",
"refresh": "وانۊ کردن",
"more": "بیشتر",
"pick_image": "پسند شؽوات ز شؽوات مال",
"pick_file": "پسند فایل"
"pick_file": "پسند فایل",
"enter_amount": "مقدار نه بزن",
"qr_custom_input_button": "سی زیڌن وۊرۊڌی سفارشی، 10 کرت ریس بزن"
},
"alert": {
"default": "هوشتار"
},
"azteco": {
"codeIs": "کوڌ تخفیف ایسا",
"redeem": "ازاف کردن وه کیف پیل",
"success": "سر ٱنجوم گرهڌ"
},
"entropy": {
"save": "زفت کردن"
"save": "زفت کردن",
"title": "آنتروپی",
"undo": "وورگشتن به هالت پؽشی"
},
"errors": {
"broadcast": "انتشار ٱنجوم نوابی.",
"error": "ختا",
"network": "ختا شبکه"
},
@ -35,16 +44,25 @@
"inactive": "قیر فعال",
"channels": "تورگیل",
"no_channels": "بؽ تورگه",
"claim_balance": "تسویه مۉجۊڌی {balance}",
"close_channel": "بستن تورگه",
"new_channel": "تورگه نۊ",
"errorInvoiceExpired": "سۊرت هساو مونقزی وابیڌه.",
"force_close_channel": "بستن اجباری تورگه؟",
"expired": "مونقزی وابیڌه",
"node_alias": "نوم موستعار گره",
"payButton": "پرداخت",
"payment": "پرداخت",
"placeholder": "سۊرت هساو یا آدرس",
"open_channel": "گۊشیڌن تورگه",
"are_you_sure_open_channel": "زه گۊشیڌن ای تورگه اتمینۉ داری؟",
"potentialFee": "کارمزد ائتمالی: {fee}",
"remote_host": "میزبۉ ره دیر",
"refill": "پور کردن",
"reconnect_peer": "منپیز دوارته به همتا",
"refill_create": "سی ادامه، یه کیف پیل بیت کوین سی پور کردن وورکل کۊنین.",
"refill_external": "پور کردن وا کیف پیل خارجی",
"refill_lnd_balance": "پور کردن موجۊڌی کیف پیل لایتنینگ",
"refill_lnd_balance": "پور کردن مۉجۊڌی کیف پیل لایتنینگ",
"title": "دؽوۉداری دارایی",
"can_send": "تره فشنه",
"can_receive": "تره گره",
@ -54,45 +72,76 @@
"additional_info": "دۉسمندیا بیشتر",
"for": "سی:",
"lightning_invoice": "سۊرت هساو لایتنینگ",
"open_direct_channel": "تورگه موستقیمی وا ای گره واز کو:"
"open_direct_channel": "تورگه موستقیمی وا ای گره بوگوش:",
"sats": "ساتۊشی پرداخت کو.",
"wasnt_paid_and_expired": "ای سۊرت هساو پرداخت نوابیڌه ۉ مونقزی وابیڌه."
},
"plausibledeniability": {
"create_fake_storage": "وورکل جاگه رزم ناڌه وابیڌه سی زفت کردن",
"create_password": "یه رزم وورکل کۊنین",
"password_should_not_match": "رزم هونی به کار اروه. یه رزم دیری نه به کار بگر.",
"passwords_do_not_match": "رزمات جۊر یک نؽڌن، زه نۊ امتهانسۉ کو.",
"retype_password": "رزمنه زه نۊ هؽل کو",
"success": "سر ٱنجوم گرهڌ"
},
"pleasebackup": {
"ok": "خا، هو ناْ هؽل کردوم.",
"ok_lnd": "خا، هونه زفت کردوم."
"ask_no": "نه، مو نڌاروم.",
"ask_yes": "هری، مو داروم.",
"ok": "خا، هو نه هؽل کردوم.",
"ok_lnd": "خا، هونه زفت کردوم.",
"title": "کیف پیل ایسا وورکل وابی."
},
"receive": {
"details_create": "ورکل",
"details_create": "وورکل",
"details_setAmount": "گرؽڌن وا مقدار",
"details_share": "یک رسۊوی",
"header": "گرؽڌن"
"header": "گرؽڌن",
"maxSats": "بیشترین مقدار {max} ساتۊشی هڌ.",
"maxSatsFull": "بیشترین مقدار {max} ساتۊشی یا {currency} هڌ.",
"minSats": "کمترین مقدار {min} ساتۊشی هڌ.",
"minSatsFull": "کمترین مقدار {min} ساتۊشی یا {currency} هڌ."
},
"send": {
"broadcastButton": "انتشار",
"broadcastError": "ختا",
"broadcastNone": "هگزادسیمال تراکونش نه بزن",
"broadcastPending": "مندیر سی زفت",
"broadcastSuccess": "سر ٱنجوم گرهڌ",
"confirm_header": "تاییڌ",
"confirm_sendNow": "هیم سکو بفشن",
"create_amount": "مقدار",
"create_broadcast": "انتشار",
"create_copy": "لف گیری وو دیندا مونتشر کو",
"create_fee": "کارمزد",
"create_memo": "ویرداشت",
"create_satoshi_per_vbyte": "ساتۊشی سی هر بایت مجازی",
"create_to": "وه",
"create_tx_size": "هندا تراکونش",
"details_address": "آدرس",
"details_adv_full": "زه پوی موجۊڌی استفاڌه کو",
"details_adv_full_sure": "اخۊی زه پوی موجۊڌی کیف پیلت سی ای تراکونش استفاڌه کۊنی؟",
"details_create": "ورکل سۊرت هساو",
"details_adv_full": "زه پوی مۉجۊڌی استفاڌه کو",
"details_adv_full_sure": "اخۊی زه پوی مۉجۊڌی کیف پیلت سی ای تراکونش استفاڌه کۊنی؟",
"details_amount_field_is_not_valid": " مقدار زبال نؽ.",
"details_amount_field_is_less_than_minimum_amount_sat": "مقدارؽ که زیڌیه قلوه کم هڌ. مقدار نه وا بیشتر زه 500 ساتۊشی زنی.",
"details_create": "وورکل سۊرت هساو",
"details_error_decode": "نا مۉفق منه گۊشیڌن رزم آدرس بیت کوین",
"details_fee_field_is_not_valid": "کارمزد زبال نؽ.",
"details_next": "نیایی",
"details_note_placeholder": "ویرداشت به خوت",
"details_scan": "اسکن",
"details_scan_hint": "سی اسکن یا به من اوردن مقسد، دو کرت بزن ریس",
"details_unrecognized_file_format": "قالو فایل نشناخته",
"dynamic_init": "هونی رئس اونه",
"dynamic_next": "نیایی",
"dynamic_prev": "دیندایی",
"dynamic_stop": "واڌاشتن",
"fee_10m": "10 دؽقه",
"fee_1d": "1 رۊز",
"fee_3h": "3 ساعت",
"fee_custom": "سفارشی",
"fee_fast": "زل",
"fee_medium": "منجا",
"fee_slow": "کوند",
"header": "فشناڌن",
"input_clear": "روفتن",
"input_done": "ٱنجوم وابی",
"input_paste": "جا وندن",
@ -100,24 +149,31 @@
"psbt_sign": "امزا کردن تراکونش",
"open_settings": "گۊشیڌن سامووا",
"permission_storage_later": "دینداتر زوم بپورس.",
"permission_storage_title": "موجوز دسرسی به جاگه زفت کردن",
"psbt_clipboard": "لف گیری منه ویرگه",
"psbt_tx_export": "گرؽڌن جۊر فایل",
"psbt_tx_open": "گۊشیڌن تراکونش امزا وابیڌه",
"psbt_tx_scan": "اسکن تراکونش امزا وابیڌه",
"reset_amount": "وورنشۊوی مقدار",
"reset_amount_confirm": "اخۊی مقدار نه وورنشۊوی؟",
"success_done": "ٱنجوم وابی"
},
"settings": {
"about": "زبار",
"about_awesome": "ورکل وابیڌه وا بؽڌرینا",
"about_backup": "همیشه زه کیلیتا خوتۉ نوخسه لادرار بگیرین!",
"about_license": "پروانه ام آی تی",
"about_release_notes": "ویرداشتا انتشار",
"about_review": "سی ایما یه واجۊری بنین",
"performance_score": "امتیاز کارکرد: {num}",
"run_performance_test": "واجۊری کارکرد",
"about_selftest": "ره وندن خوس آزمایی",
"about_selftest_electrum_disabled": "خوس آزمایی منه هالت آفلاین منه دسرس نؽ. هالت آفلاین نه قیر فعال کو و زه نۊ تفره کو.",
"about_selftest_electrum_disabled": "خوس آزمایی منه هالت آفلاین منه دسرس نؽ. هالت آفلاین نه قیر فعال کو ۉ زه نۊ تفره کو.",
"about_selftest_ok": "پوی واجۊریا منی به خۊوی ٱنجوم وابین. کیف پیل به خۊوی کار اکونه.",
"about_sm_github": "گیت هاب",
"about_sm_discord": "سرور دیسکورد",
"about_sm_telegram": "تورگه تلگرام",
"about_sm_twitter": "ایما نه منه توییتر وه دین کنین",
"about_sm_twitter": "ایما نه منه توییتر وه دین کۊنین",
"advanced_options": "گۊزینیل پؽش رئڌه",
"biometrics": "بیومتریک",
"biom_conf_identity": "هۊویته خوته تاییڌ کو.",
@ -126,11 +182,17 @@
"currency_fetch_error": "منه گرؽڌن نرخ سی واهڌ پیل پسند بیڌه یه ختا پؽش اووڌ.",
"default_info": "دۉسمندیا پؽش فرز",
"default_title": "موقه ره وندن",
"default_wallets": "نیشتن پوی کیفا پیل",
"electrum_connected": "منپیز",
"electrum_connected_not": "بؽ منپیز",
"lndhub_uri": "سی نمووه، {example}",
"electrum_host": "سی نمووه، {example}",
"electrum_offline_mode": "هالت آفلاین",
"use_ssl": "SSL نه به کار بگر",
"set_electrum_server_as_default": "{server} سی سرور پؽش فرز الکترام ساموو بۊوه؟",
"set_lndhub_as_default": "{server} سی سرور پؽش فرز LNDHub ساموو بۊوه؟",
"electrum_settings_server": "سرور الکترام",
"electrum_settings_explain": "سی استفاڌه زه سامووا پؽش فرز، بؽلین پتی بمهنه.",
"electrum_status": "وزیت",
"electrum_clear_alert_title": "ویرگار پاک بۊ؟",
"electrum_clear_alert_message": "اخۊی ویرگار سرورا الکترام نه پاک کۊنی؟",
@ -138,11 +200,14 @@
"electrum_clear_alert_ok": "هری",
"electrum_select": "پسند",
"electrum_reset": "ورگندن به پؽش فرز",
"electrum_unable_to_connect": "نا مۉفق منه منپیز به {server}",
"electrum_history": "ویرگار سرور",
"electrum_reset_to_default": "الن اخۊی سامووا الکترام نه به هالت پؽش فرز وورنشۊوی کۊنی؟",
"electrum_clear": "روفتن",
"encrypt_decrypt": "رزم گوشایی جاگه زفت کردن",
"encrypt_title": "امنیت",
"encrypt_use": "{type} نه وه کار بگر",
"general": "پوی ولاتی",
"encrypt_use": "{type} نه به کار بگر",
"general": "پوی وولاتی",
"general_adv_mode": "هالت پؽش رئڌه",
"header": "سامووا",
"language": "زۉ",
@ -165,22 +230,25 @@
"ask_me_later": "دینداتر زوم بپورس."
},
"transactions": {
"copy_link": "لف گیری لینک",
"cpfp_create": رکل",
"copy_link": "لف گیری لینگ",
"cpfp_create": ورکل",
"details_copy": "لف گیری",
"date": "ویرگار",
"details_received": "گرؽڌه وابیڌه",
"pending": "مندیر سی زفت"
"pending": "مندیر سی زفت",
"open_url_error": "نا مۉفق منه گۊشیڌن لینگ وا مۊرۊرگر پؽش فرز. مۊرۊرگر پؽش فرز خوته آلشت کو ۉ زه نۊ تفره کو."
},
"wallets": {
"add_bitcoin": "بیت کوین",
"add_create": رکل",
"add_create": ورکل",
"details_address": "آدرس",
"details_save": "زفت کردن"
},
"multisig": {
"confirm": "تاییڌ",
"header": "فشناڌن",
"share": "یک رسۊوی",
"create": "ورکل",
"create": ورکل",
"co_sign_transaction": "امزا کردن تراکونش",
"ms_help_title5": "هالت پؽش رئڌه"
},

View file

@ -15,8 +15,6 @@
"seed": "Llavor",
"success": "Èxit",
"wallet_key": "Clau del moneder",
"file_saved": "Fitxer {filePath} s'ha guardat al teu {destination}.",
"downloads_folder": "Carpeta de descàrregues",
"close": "Tancar",
"change_input_currency": "Canviar moneda d'entrada",
"refresh": "Refresca",

View file

@ -15,6 +15,7 @@
"seed": "Seed",
"success": "Úspěch",
"wallet_key": "Klíč peněženky",
"invalid_animated_qr_code_fragment": "Neplatný animovaný fragment QRCode, zkuste to prosím znovu.",
"close": "Zavřít",
"change_input_currency": "Změnit vstupní měnu",
"refresh": "Obnovit",
@ -54,6 +55,7 @@
"claim_balance": "Požadovat zůstatek {balance}",
"close_channel": "Zavřít kanál",
"new_channel": "Nový kanál",
"errorInvoiceExpired": "Faktura vypršela.",
"force_close_channel": "Vynutit uzavření kanálu?",
"expired": "Expirováno",
"node_alias": "Alias uzlu",
@ -61,6 +63,7 @@
"payButton": "Zaplatit",
"placeholder": "Faktura nebo adresa",
"open_channel": "Otevřít kanál",
"funding_amount_placeholder": "Výše financování, např. 0.001",
"opening_channnel_for_from": "Otevření kanálu pro peněženku {forWalletLabel}, financováním z {fromWalletLabel}",
"are_you_sure_open_channel": "Jste si jisti, že chcete tento kanál otevřít?",
"potentialFee": "Potenciální poplatek: {fee}",
@ -83,6 +86,7 @@
"open_direct_channel": "Otevřít přímý kanál s tímto uzlem:",
"please_pay_between_and": "Zaplaťte prosím mezi {min} a {max}.",
"please_pay": "Prosím zaplaťte",
"preimage": "Předobraz",
"sats": "sats.",
"wasnt_paid_and_expired": "Tato faktura nebyla zaplacena a její platnost vypršela."
},
@ -100,6 +104,8 @@
},
"pleasebackup": {
"ask": "Uložili jste záložní větu vaší peněženky? Tato záložní věta je vyžadována pro přístup k vašim finančním prostředkům pro případ ztráty tohoto zařízení. Bez záložní věty budou vaše prostředky trvale ztraceny.",
"ask_no": "Ne, neuložil.",
"ask_yes": "Ano, uložil.",
"ok": "Dobře, napsal jsem ji",
"ok_lnd": "Dobře, uložil jsem to.",
"text": "Věnujte prosím chvíli zapsaní si této mnemotechnické fráze na kousek papíru.\nJe to vaše záloha a můžete ji použít k obnovení peněženky.",
@ -152,6 +158,7 @@
"details_create": "Vytvořit fakturu",
"details_error_decode": "Bitcoinovou adresu nelze dekódovat",
"details_fee_field_is_not_valid": "Poplatek není správně vyplněn",
"details_frozen": "{amount} BTC je zmraženo.",
"details_next": "Další",
"details_no_signed_tx": "Vybraný soubor neobsahuje transakci, kterou lze importovat.",
"details_note_placeholder": "Poznámka pro sebe",
@ -183,6 +190,7 @@
"permission_camera_message": "K použití fotoaparátu potřebujeme vaše povolení",
"psbt_sign": "Podepsat transakci",
"open_settings": "Otevřít nastavení",
"permission_storage_later": "Zeptejte se mě později.",
"permission_storage_message": "BlueWallet potřebuje vaše oprávnění k přístupu k vašemu úložišti, aby mohl tento soubor uložit.",
"permission_storage_denied_message": "BlueWallet nemůže tento soubor uložit. Otevřete prosím nastavení zařízení a povolte funkci Oprávnění k ukládání.",
"permission_storage_title": "Povolení k přístupu do úložiště",
@ -193,6 +201,7 @@
"outdated_rate": "Kurz byl naposledy aktualizován: {date}",
"psbt_tx_open": "Otevřít podepsanou transakci",
"psbt_tx_scan": "Skenovat podepsanou transakci",
"qr_error_no_qrcode": "Ve vybraném obrázku se nám nepodařilo najít kód QR. Ujistěte se, že obrázek obsahuje pouze QR kód a žádný další obsah, například text nebo tlačítka.",
"reset_amount": "Resetovat částku",
"reset_amount_confirm": "Chcete částku vynulovat?",
"success_done": "Hotovo",
@ -231,6 +240,7 @@
"default_wallets": "Zobrazit všechny peněženky",
"electrum_connected": "Připojeno",
"electrum_connected_not": "Nepřipojeno",
"electrum_error_connect": "Nelze se připojit k poskytovanému serveru Electrum",
"lndhub_uri": "Např. {example}",
"electrum_host": "Např. {example}",
"electrum_offline_mode": "Offline režim",
@ -288,6 +298,7 @@
"privacy_read_clipboard": "Kopírovat ze schránky",
"privacy_system_settings": "Systémová nastavení",
"privacy_quickactions": "Zástupci peněženky",
"privacy_quickactions_explanation": "Dlouhý stisk ikony BlueWallet na vaší výchozí obrazovce zobrazí váš zůstatek.",
"privacy_clipboard_explanation": "Pokud se ve vaší schránce nachází adresa nebo faktura, zadejte zástupce.",
"privacy_do_not_track": "Zakázat Analytiku",
"privacy_do_not_track_explanation": "Informace o výkonu a spolehlivosti nebudou odeslány k analýze.",
@ -297,13 +308,16 @@
"selfTest": "Autotest",
"save": "Uložit",
"saved": "Uloženo",
"success_transaction_broadcasted": "Úspěch! Vaše transakce byla odvysílána!",
"total_balance": "Celkový zůstatek",
"total_balance_explanation": "Zobrazte celkový zůstatek všech vašich peněženek na widgetech na domovské obrazovce.",
"widgets": "Widgety",
"tools": "Nástroje"
},
"notifications": {
"would_you_like_to_receive_notifications": "Chcete dostávat oznámení o příchozích platbách?"
"would_you_like_to_receive_notifications": "Chcete dostávat oznámení o příchozích platbách?",
"no_and_dont_ask": "Ne, a už se mě znovu neptejte.",
"ask_me_later": "Zeptejte se mě později."
},
"transactions": {
"cancel_explain": "Tuto transakci nahradíme takovou, která vám zaplatí a bude mít vyšší poplatky. Tím se zruší aktuální transakce. Toto se nazývá RBF Replace by Fee.",
@ -376,6 +390,7 @@
"details_advanced": "Pokročilé",
"details_are_you_sure": "Jste si jistý?",
"details_connected_to": "Připojeno k",
"details_del_wb_err": "Poskytnutá částka zůstatku neodpovídá zůstatku této peněženky. Prosím zkuste to znovu.",
"details_del_wb_q": "Tato peněženka má zůstatek. Než budete pokračovat, uvědomte si, že bez přístupové fráze této peněženky nebudete moci získat prostředky zpět. Abyste se vyhnuli náhodnému odstranění, zadejte prosím zůstatek peněženky ve výši {balance} satoshi.",
"details_delete": "Smazat",
"details_delete_wallet": "Smazat peněženku",
@ -412,9 +427,16 @@
"import_discovery_subtitle": "Zvolte si objevenou peněženku",
"import_discovery_derivation": "Použít vlastní derivační cestu",
"import_discovery_no_wallets": "Nebyly nalezeny žádné peněženky.",
"import_derivation_found": "Nalezeno",
"import_derivation_found_not": "Nenalezeno",
"import_derivation_loading": "Načítání...",
"import_derivation_subtitle": "Zadejte vlastní derivační cestu a my se pokusíme objevit vaši peněženku.",
"import_derivation_title": "Derivační cesta",
"import_derivation_unknown": "Neznámá",
"import_wrong_path": "Špatná derivační cesta",
"list_create_a_button": "Přidat nyní",
"list_create_a_wallet": "Přidat peněženku",
"list_create_a_wallet_text": "Je to zdarma a můžete jich vytvořit \nkolik budete chtít.",
"list_empty_txs1": "Zde budou zobrazeny vaše transakce,",
"list_empty_txs1_lightning": "Lightning peněženka by měla být použita pro vaše každodenní transakce. Poplatky jsou nespravedlivě levné a rychlost je vysoká.",
"list_empty_txs2": "Začněte s peněženkou.",
@ -429,7 +451,6 @@
"no_ln_wallet_error": "Před zaplacením Lightning faktury musíte nejprve přidat Lightning peněženku.",
"looks_like_bip38": "Tohle vypadá jako soukromý klíč chráněný heslem (BIP38)",
"reorder_title": "Seřadit peěženky",
"reorder_instructions": "Klepněte a podržte peněženku a přetáhněte ji po seznamu.",
"please_continue_scanning": "Pokračujte ve skenování",
"select_no_bitcoin": "V současné době nejsou k dispozici žádné bitcoinové peněženky.",
"select_no_bitcoin_exp": "Bitcoinová peněženka je vyžadována pro doplnění Lightning peněženky. Vytvořte nebo importujte jednu.",
@ -479,14 +500,20 @@
"quorum_header": "Kvorum",
"of": "z",
"wallet_type": "Typ peněženky",
"invalid_mnemonics": "Zdá se, že tato mnemotechnická fráze není platná.",
"invalid_cosigner": "Neplatná data spolupodepisujícího",
"not_a_multisignature_xpub": "Toto není xpub z vícepodpisové peněženky!",
"invalid_cosigner_format": "Nesprávný spolupodepsaný: toto není spolupodepsaný pro {format} formát.",
"create_new_key": "Vytvořit novou",
"scan_or_open_file": "Naskenujte nebo otevřete soubor",
"i_have_mnemonics": "Mám seed pro tento klíč...",
"type_your_mnemonics": "Vložte seed k importu stávajícího klíče uložiště",
"this_is_cosigners_xpub": "Toto je xpub spolupodepisujícího připravený k importu do jiné peněženky. Je bezpečné ho sdílet.",
"wallet_key_created": "Klíč k uložišti byl vytvořen. Udělejte si chvíli a bezpečně zálohujte svůj mnemotechnický seed",
"are_you_sure_seed_will_be_lost": "Opravdu? Vaš mnemotechnický seed budou ztracen, pokud nemáte zálohu",
"forget_this_seed": "Zapomeňte na tento seed a použijte XPUB",
"view_edit_cosigners": "Zobrazit/upravit spolupodepisující",
"this_cosigner_is_already_imported": "Tento spolupodepisující je již importován.",
"export_signed_psbt": "Exportovat podepsanou PSBT",
"input_fp": "Zadejte otisk prstu",
"input_fp_explain": "Přeskočit a použít výchozí (00000000)",
@ -511,12 +538,14 @@
"owns": "{label} vlastní {address}",
"enter_address": "Zadat adresu",
"check_address": "Zkontrolovat adresu",
"no_wallet_owns_address": "Žádná z dostupných peněženek nevlastní uvedenou adresu."
"no_wallet_owns_address": "Žádná z dostupných peněženek nevlastní uvedenou adresu.",
"view_qrcode": "Zobrazit QR kód"
},
"cc": {
"change": "Změnit",
"coins_selected": "Vybrané mince ({number})",
"selected_summ": "{value} vybráno",
"empty": "Na této peněžence nejsou v tuto chvíli žádné mince.",
"freeze": "Zmrazit",
"freezeLabel": "Zmrazit",
"freezeLabel_un": "Uvolnit",

View file

@ -15,6 +15,7 @@
"seed": "Seed",
"success": "Erfolg",
"wallet_key": "Wallet Schlüssel",
"invalid_animated_qr_code_fragment": "Ungültig animiertes QR-Code-Fragment. Bitte erneut versuchen.",
"close": "Schließen",
"change_input_currency": "Eingangswährung ändern",
"refresh": "Aktualisieren",
@ -54,6 +55,7 @@
"claim_balance": "Saldo von {balance} beanspruchen",
"close_channel": "Kanal schließen",
"new_channel": "Neuer Kanal",
"errorInvoiceExpired": "Rechnung verfallen.",
"force_close_channel": "Kanal zwangsweise schließen?",
"expired": "Abgelaufen",
"node_alias": "Knoten-Alias",
@ -61,6 +63,7 @@
"payButton": "Zahlen",
"placeholder": "Rechnung oder Adresse",
"open_channel": "Kanal öffnen",
"funding_amount_placeholder": "Finanzierungsbetrag, z.B. 0.001",
"opening_channnel_for_from": "Kanal für Wallet {forWalletLabel} finanziert durch Wallet {fromWalletLabel} eröffnen.",
"are_you_sure_open_channel": "Diesen Kanal definitiv eröffnen?",
"potentialFee": "Geschätzte Gebühr: {fee}",
@ -83,6 +86,7 @@
"open_direct_channel": "Direkten Kanal zu diesem Knoten eröffnen:",
"please_pay_between_and": "Zahlen Sie zwischen {min} und {max}",
"please_pay": "Bitte zahle",
"preimage": "Urbild",
"sats": "sats",
"wasnt_paid_and_expired": "Diese Rechnung ist unbezahlt abgelaufen."
},
@ -100,6 +104,8 @@
},
"pleasebackup": {
"ask": "Hast du die Wiederherstellungs-Phrase deines Wallets gesichert? Ohne Sie kannst du nicht mehr auf deine bitcoin zugreifen und sie wären für immer verloren, sollte dein Gerät verloren oder kaputt gehen.",
"ask_no": "Nein, habe ich nicht.",
"ask_yes": "Ja, habe ich.",
"ok": "Ok, ich habe sie notiert.",
"ok_lnd": "Die Sicherung ist erstellt.",
"text": "Nimm Dir Zeit die mnemonischen Wörter auf ein Papier zu schreiben.\nDie Wörter sind dein Backup zur Wallet-Wiederherstellung.",
@ -152,6 +158,7 @@
"details_create": "Erstellen",
"details_error_decode": "Bitcoin-Adresse kann nicht dekodiert werden",
"details_fee_field_is_not_valid": "Gebühreneingabe ist nicht korrekt",
"details_frozen": "{amount} BTC ist eingefroren.",
"details_next": "Weiter",
"details_no_signed_tx": "Die ausgewählte Datei enthält keine importierbare signierte Transaktion.",
"details_note_placeholder": "Eigene Bezeichnung",
@ -183,6 +190,7 @@
"permission_camera_message": "BlueWallet braucht Deine Erlaubnis, um die Kamera zu nutzen.",
"psbt_sign": "Transaktion signieren",
"open_settings": "Einstellungen öffnen",
"permission_storage_later": "Später beantworten.",
"permission_storage_message": "BlueWallet braucht zur Speicherung dieser Datei die Erlaubnis auf den internen Speicher zuzugreifen.",
"permission_storage_denied_message": "BlueWallet kann die Datei nicht speichern. Dazu in den Systemeinstellungen der App BlueWallet das Recht erteilen, den internen Speicher zu verwenden.",
"permission_storage_title": "Speicherzugriffsrecht",
@ -193,6 +201,7 @@
"outdated_rate": "Kurs zuletzt aktualisiert: {date}",
"psbt_tx_open": "Öffne signierte Transaktion.",
"psbt_tx_scan": "Signierte Transaktion scannen",
"qr_error_no_qrcode": "Der QR-Code konnte nicht ausgelesen werden. Achte darauf, dass er ohne zusätzliche Inhalte wie Text, Grafiken oder Bilder vorliegt.",
"reset_amount": "Betrag zurücksetzen",
"reset_amount_confirm": "Möchten Du den Betrag zurücksetzen?",
"success_done": "Fertig",
@ -231,6 +240,7 @@
"default_wallets": "Alle Wallets anzeigen",
"electrum_connected": "Verbunden",
"electrum_connected_not": "Nicht verbunden",
"electrum_error_connect": "Keine Verbindung zum angegebenen Electrum-Server möglich.",
"lndhub_uri": "Z.b., {example}",
"electrum_host": "Z.b., {example}",
"electrum_offline_mode": "Offline-Modus",
@ -288,6 +298,7 @@
"privacy_read_clipboard": "Zwischenablage lesen",
"privacy_system_settings": "Systemeinstellungen",
"privacy_quickactions": "Walletverknüpfungen",
"privacy_quickactions_explanation": "Halte auf dem Startbildschirm das BlueWallet App-Symbol gedrückt, um rasch deinen Saldo zu sehen.",
"privacy_clipboard_explanation": "Nutzt Rechnungen und Adressen in der Zwischenablage zum Senden.",
"privacy_do_not_track": "Diagnosedaten ausschalten",
"privacy_do_not_track_explanation": "Leistungs- und Zuverlässigkeitsinformationen nicht zur Analyse einreichen.",
@ -297,13 +308,16 @@
"selfTest": "Selbsttest",
"save": "Speichern",
"saved": "Gespeichert",
"success_transaction_broadcasted": "Erfolg! Diene Transaktion wurde übertragen.",
"total_balance": "Gesamtes Guthaben",
"total_balance_explanation": "Zeigt das Wallet Guthaben auf dem Widget deiner Homepage",
"widgets": "Widgets",
"tools": "Werkzeuge"
},
"notifications": {
"would_you_like_to_receive_notifications": "Möchten Sie bei Zahlungseingängen eine Benachrichtigung erhalten?"
"would_you_like_to_receive_notifications": "Möchten Sie bei Zahlungseingängen eine Benachrichtigung erhalten?",
"no_and_dont_ask": "Nein und nicht erneut fragen.",
"ask_me_later": "Später beantworten."
},
"transactions": {
"cancel_explain": "BlueWallet ersetzt diese Transaktion durch eine mit höherer Gebühr, welche den Betrag an Dich zurücküberweist. Die aktuelle Transaktion wird dadurch effektiv abgebrochen. Dieses Verfahren wird RBF - Replace By Fee - genannt.",
@ -376,6 +390,7 @@
"details_advanced": "Fortgeschritten",
"details_are_you_sure": "Bist du dir sicher?",
"details_connected_to": "Verbunden mit",
"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 mnemonischen Phrase sind diese unwiederbringlich verloren. Um ein versehentliches Löschen zu vermeiden, gib bitte das Wallet-Guthaben von {balance} Satoshis ein.",
"details_delete": "Löschen",
"details_delete_wallet": "Wallet löschen",
@ -412,9 +427,16 @@
"import_discovery_subtitle": "Wallet aus Trefferliste wählen",
"import_discovery_derivation": "Eigener Ableitungspfad wählen",
"import_discovery_no_wallets": "Es wurden keine Wallets gefunden.",
"import_derivation_found": "Gefunden",
"import_derivation_found_not": "Nicht gefunden",
"import_derivation_loading": "Lade...",
"import_derivation_subtitle": "Eigener Ableitungspfad zur Ermittlung der genutzten Wallet eingeben.",
"import_derivation_title": "Ableitungspfad",
"import_derivation_unknown": "Unbekannt",
"import_wrong_path": "Falscher Ableitungspfad",
"list_create_a_button": "Jetzt hinzufügen",
"list_create_a_wallet": "Wallet hinzufügen",
"list_create_a_wallet_text": "Wallets sind kostenlos. \nErstelle so viel du magst.",
"list_empty_txs1": "Deine Transaktionen erscheinen hier",
"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": "Beginne mit deinem Wallet.",
@ -429,7 +451,6 @@
"no_ln_wallet_error": "Vor Bezahlung einer Lightning Rechnung zuerst ein Lightning Wallet eröffnen.",
"looks_like_bip38": "Passwortgeschützter Privatschlüssel (BIP38) erkannt.",
"reorder_title": "Wallets neu ordnen",
"reorder_instructions": "Tippen und halten Sie eine Wallet, um sie umzuplatzieren.",
"please_continue_scanning": "Bitte Scanvorgang fortsetzten",
"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.",
@ -479,14 +500,20 @@
"quorum_header": "Signaturfähigkeit",
"of": "von",
"wallet_type": "Typ des Wallets",
"invalid_mnemonics": "Ungültige mnemonische Phrase.",
"invalid_cosigner": "Die Mitsignierer Daten sind ungültig",
"not_a_multisignature_xpub": "Dies ist keine XPUB eines Multisignatur-Wallet!",
"invalid_cosigner_format": "Falscher Mitsignierer: Dies ist kein Mitsignierer für das Format {format}.",
"create_new_key": "Neuerstellen",
"scan_or_open_file": "Datei scannen oder öffnen",
"i_have_mnemonics": "Seed des Schlüssels importieren",
"type_your_mnemonics": "Seed zum Import deines Tresorschlüssels eingeben",
"this_is_cosigners_xpub": "Dies ist der xPub für Mitsigierer zum Import in ein anderes Wallet. Er kann sicher mit anderen geteilt werden.",
"wallet_key_created": "Dein Tresorschlüssel wurde erstellt. Nimm dir Zeit ein sicheres Backup des mnemonischen Seeds herzustellen. ",
"are_you_sure_seed_will_be_lost": "Bist du sicher? Dein mnemonischer Seed ist ohne Backup verloren!",
"forget_this_seed": "Seed vergessen und xPub verwenden.",
"view_edit_cosigners": "Mitsignierer Anzeigen/Bearbeiten",
"this_cosigner_is_already_imported": "Dieser Mitsignierer ist schon vorhanden.",
"export_signed_psbt": "Signierte PSBT exportieren",
"input_fp": "Fingerabdruckkennung eingeben",
"input_fp_explain": "Überspringen, um den Standard zu verwenden (00000000)",
@ -511,12 +538,14 @@
"owns": "{label} besitzt {address}",
"enter_address": "Adresse eingeben",
"check_address": "Adresse prüfen",
"no_wallet_owns_address": "Keines der verfügbaren Wallet besitzt die eingegebene Adresse."
"no_wallet_owns_address": "Keines der verfügbaren Wallet besitzt die eingegebene Adresse.",
"view_qrcode": "QR-Code anzeigen"
},
"cc": {
"change": "Ändern",
"coins_selected": "Anz. gewählte Münzen ({number})",
"selected_summ": "{value} ausgewählt",
"empty": "Dieses Wallet hat aktuell keine Münzen.",
"freeze": "einfrieren",
"freezeLabel": "Einfrieren",
"freezeLabel_un": "Entblocken",

View file

@ -326,7 +326,8 @@
"wallet_type": "Τύπος πορτοφολιου",
"create_new_key": "Δημιουργία νέου",
"scan_or_open_file": "Σάρωση ή άνοιγμα αρχείου",
"ms_help": "Βοήθεια"
"ms_help": "Βοήθεια",
"ms_help_title5": "Enable advanced mode"
},
"is_it_my_address": {
"title": "Είναι δική μου διεύθυνση;",

View file

@ -4,6 +4,8 @@
"cancel": "Cancel",
"continue": "Continue",
"clipboard": "Clipboard",
"discard_changes": "Discard changes?",
"discard_changes_explain": "You have unsaved changes. Are you sure you want to discard them and leave the screen?",
"enter_password": "Enter password",
"never": "Never",
"of": "{number} of {total}",

View file

@ -14,10 +14,7 @@
"save": "Guardar",
"seed": "Semilla",
"success": "Completado",
"wallet_key": "Llave de la cartera",
"invalid_animated_qr_code_fragment" : "Fragmento de código QR inválido. Por favor inténtalo de nuevo.",
"file_saved": "El archivo {filePath} se ha guardado en tu {destination}.",
"downloads_folder": "Carpeta de descargas"
"wallet_key": "Llave de la cartera"
},
"alert": {
"default": "Atención"
@ -42,23 +39,20 @@
"network": "Error de red"
},
"lnd": {
"active":"Activo",
"inactive":"Inactivo",
"active": "Activo",
"inactive": "Inactivo",
"channels": "Canales",
"no_channels": "Sin canales",
"claim_balance": "Reclamar saldo {balance}",
"close_channel": "Cerrar canal",
"new_channel" : "Nuevo canal",
"errorInvoiceExpired": "Factura expirada",
"new_channel": "Nuevo canal",
"force_close_channel": "¿Forzar el cierre del canal?",
"expired": "Expirado",
"node_alias": "Alias del nodo",
"expiresIn": "Expira en {time} minutos",
"payButton": "Pagar",
"placeholder": "Factura o dirección",
"open_channel": "Abrir canal",
"funding_amount_placeholder": "Importe de la financiación, por ejemplo 0,001",
"opening_channnel_for_from":"Abrir canal para la cartera {forWalletLabel}, financiado desde {fromWalletLabel}",
"opening_channnel_for_from": "Abrir canal para la cartera {forWalletLabel}, financiado desde {fromWalletLabel}",
"are_you_sure_open_channel": "¿Estás seguro de que quieres abrir este canal?",
"potentialFee": "Comisión estimada: {fee}",
"remote_host": "Host remoto",
@ -80,7 +74,6 @@
"open_direct_channel": "Abrir un canal directo con este nodo:",
"please_pay_between_and": "Paga entre {min} y {max}",
"please_pay": "Por favor, pague",
"preimage": "Preimage",
"sats": "sats.",
"wasnt_paid_and_expired": "Esta factura no fue pagada y ha expirado."
},
@ -98,10 +91,8 @@
},
"pleasebackup": {
"ask": "¿Has guardado la frase de respaldo de tu cartera? Esta frase de respaldo es necesaria para acceder a tus fondos si pierdes este dispositivo. Sin la frase de respaldo, tus fondos se perderán permanentemente.",
"ask_no": "No, no lo he hecho",
"ask_yes": "Sí, lo he hecho",
"ok": "OK, ya lo he anotado",
"ok_lnd": "OK, lo he guardado",
"ok": "OK, ya la he anotado.",
"ok_lnd": "OK, lo he guardado.",
"text": "Por favor, apunta esta frase mnemotécnica en un papel. Será tu copia de seguridad y te permitirá restaurar la cartera en otro dispositivo.",
"text_lnd": "Por favor guarda la copia de seguridad de esta cartera. Te permitirá restaurarla en caso de pérdida.",
"title": "Tu cartera ha sido creada"
@ -152,7 +143,6 @@
"details_create": "Crear factura",
"details_error_decode": "No se ha podido decodificar la dirección de Bitcoin",
"details_fee_field_is_not_valid": "La comisión introducida no es válida",
"details_frozen": "{amount} de BTC está congelado",
"details_next": "Siguiente",
"details_no_signed_tx": "El archivo seleccionado no contiene una transacción que se pueda importar.",
"details_note_placeholder": "Nota personal",
@ -184,7 +174,6 @@
"permission_camera_message": "Necesitamos permiso para usar tu cámara.",
"psbt_sign": "Firmar una transacción",
"open_settings": "Abrir configuración",
"permission_storage_later": "Pregúntame luego",
"permission_storage_message": "BlueWallet necesita permiso de acceso a tu almacenamiento para guardar este archivo.",
"permission_storage_denied_message": "BlueWallet no puede guardar este archivo. Por favor, abre los ajustes de tu dispositivo y permite el acceso al almacenamiento.",
"permission_storage_title": "Permiso de acceso al almacenamiento",
@ -195,7 +184,6 @@
"outdated_rate": "Fecha de la última actualización de la tarifa de cambio: {date}",
"psbt_tx_open": "Abrir transacción firmada",
"psbt_tx_scan": "Escanear transacción firmada",
"qr_error_no_qrcode": "No hemos podido encontrar un código QR en la imagen seleccionada. Por favor asegúrate de que la imagen solo contiene un código QR y no otro tipo de contendido, como texto o botones.",
"reset_amount": "Cantidad predeterminada",
"reset_amount_confirm": "¿Quieres volver a la cantidad predeterminada?",
"success_done": "Completado",
@ -232,7 +220,6 @@
"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",
"lndhub_uri": "Ej.: {example}",
"electrum_host": "Ej.: {example}",
"electrum_offline_mode": "Modo offline",
@ -275,13 +262,12 @@
"lightning_error_lndhub_uri": "LndHub URI no válida",
"lightning_saved": "Tus cambios se han guardado correctamente",
"lightning_settings": "Configuración de Lightning",
"lightning_settings_explain": "Para conectar a tu propio nodo LND, por favor instala LndHub y escribe su URL aquí, en la pantalla de configuración. Las carteras creadas tras guardar los cambios se conectarán al LNDHub especificado.",
"network": "Red",
"network_broadcast": "Emitir transacción",
"network_electrum": "Servidor Electrum",
"not_a_valid_uri": "URI no válida",
"notifications": "Notificaciones",
"open_link_in_explorer" : "Abrir enlace en el navegador",
"open_link_in_explorer": "Abrir enlace en el navegador",
"password": "Contraseña",
"password_explain": "Crea la contraseña que usarás para descifrar el almacenamiento",
"passwords_do_not_match": "Contraseñas deben ser iguales",
@ -290,7 +276,6 @@
"privacy_read_clipboard": "Leer portapapeles",
"privacy_system_settings": "Configuración del sistema",
"privacy_quickactions": "Atajos para tus carteras",
"privacy_quickactions_explanation": "Toca y mantén pulsado el icono de BlueWallet en tu pantalla de inicio para ver rápidamente el balance de tu cartera.",
"privacy_clipboard_explanation": "Muestra atajos si encuentra direcciones o facturas en tu portapapeles.",
"privacy_do_not_track": "Desabilitar Analytics",
"privacy_do_not_track_explanation": "Los datos sobre funcionamiento y fiabilidad no serán enviados para ser analizados.",
@ -300,16 +285,13 @@
"selfTest": "Self-Test",
"save": "Guardar",
"saved": "Guardado",
"success_transaction_broadcasted" : "¡Listo! ¡Tu transacción ha sido emitida!",
"total_balance": "Balance total",
"total_balance_explanation": "Muestra el balance total de todas tus carteras en los widgets de tu pantalla principal.",
"widgets": "Widgets",
"tools": "Herramientas"
},
"notifications": {
"would_you_like_to_receive_notifications": "¿Quires recibir notificaciones cuando detectemos transferencias entrantes?",
"no_and_dont_ask": "No, y no vuelvas a preguntarme",
"ask_me_later": "Pregúntame después"
"would_you_like_to_receive_notifications": "¿Quires recibir notificaciones cuando detectemos transferencias entrantes?"
},
"transactions": {
"cancel_explain": "Reemplazaremos esta transacción con una que te pague y tenga tarifas más altas. Esto cancela efectivamente la transacción actual. Esto se llama RBF—Reemplazo por comisión.",
@ -382,7 +364,6 @@
"details_advanced": "Avanzado",
"details_are_you_sure": "¿Estás seguro?",
"details_connected_to": "Conectado a",
"details_del_wb_err": "El balance introducido no 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_wallet": "Borrar cartera",
@ -418,16 +399,9 @@
"import_discovery_subtitle": "Elige una cartera descubierta",
"import_discovery_derivation": "Utilizar una ruta de derivación personalizada",
"import_discovery_no_wallets": "No se encontraron carteras.",
"import_derivation_found": "encontrada",
"import_derivation_found_not": "no encontrada",
"import_derivation_loading": "cargando...",
"import_derivation_subtitle": "Introduce la ruta de derivación personalizada e intentaremos de descubrir tu cartera",
"import_derivation_title": "Ruta de derivación",
"import_derivation_unknown": "desconocida",
"import_wrong_path": "ruta de derivación incorrecta",
"list_create_a_button": "Añadir",
"list_create_a_wallet": "Añadir cartera",
"list_create_a_wallet_text": "Es gratis y puedes crear\ntodas las que quieras",
"list_empty_txs1": "Tus transacciones aparecerán aquí",
"list_empty_txs1_lightning": "Usa carteras Lightning para tus transacciones diarias. Tienen comisiones muy bajas y una velocidad de vértigo.",
"list_empty_txs2": "Empieza con tu cartera.",
@ -442,7 +416,6 @@
"no_ln_wallet_error": "Antes de pagar una factura Lightning, primero debe agregar una cartera Lightning.",
"looks_like_bip38": "Parece que esto es una llave privada protegida con contraseña (BIP38).",
"reorder_title": "Reorganizar carteras",
"reorder_instructions": "Toca y arrastra una wallet a lo largo de la lista.",
"please_continue_scanning": "Por favor, continúa escaneando.",
"select_no_bitcoin": "No hay carteras de Bitcoin disponibles.",
"select_no_bitcoin_exp": "Una cartera de Bitcoin es necesaria para recargar una cartera Lightning. Por favor, cree o importe una.",
@ -492,20 +465,14 @@
"quorum_header": "quórum",
"of": "de",
"wallet_type": "Tipo de cartera",
"invalid_mnemonics": "Esta frase mnemotécnica no es válida",
"invalid_cosigner": "Los datos del co-firmante no son válidos",
"not_a_multisignature_xpub": "¡Esto no es el XPUB de una cartera multifirma!",
"invalid_cosigner_format": "Co-firmante incorrecto: no es un co-firmante de {format}.",
"create_new_key": "Crear una nueva",
"scan_or_open_file": "Escanear o abrir archivo",
"i_have_mnemonics": "Tengo una semilla para esta llave.",
"type_your_mnemonics": "Introduce una semilla para importar la llave de tu Vault",
"this_is_cosigners_xpub": "Este es el XPUB del co-firmante, listo para ser importado en otra cartera. Es seguro compartirla.",
"wallet_key_created": "La clave de tu Vault ha sido creada. Tómate un momento para anotar la semilla mnemotécnica.",
"are_you_sure_seed_will_be_lost": "¿Estás seguro? Tu semilla mnemotécnica se perderá si no tienes una copia de seguridad",
"forget_this_seed": "Olvida esta semilla y usa XPUB",
"view_edit_cosigners": "Ver/editar co-firmantes",
"this_cosigner_is_already_imported": "Este co-firmante ya ha sido importado",
"export_signed_psbt": "Exportar PSBT firmado",
"input_fp": "introduce la huella dactilar",
"input_fp_explain": "Déjalo en blanco para usar el predeterminado (00000000)",
@ -530,14 +497,12 @@
"owns": "{address} pertenece a {label}",
"enter_address": "Introduce la dirección",
"check_address": "Comprobar dirección",
"no_wallet_owns_address": "Ninguna de las carteras disponibles posee la dirección proporcionada.",
"view_qrcode": "Ver código QR"
"no_wallet_owns_address": "Ninguna de las carteras disponibles posee la dirección proporcionada."
},
"cc": {
"change": "Cambio",
"coins_selected": "({number}) monedas (coins) seleccionadas",
"selected_summ": "{value} seleccionado",
"empty": "Esta cartera no tiene fondos en este momento",
"freeze": "Congelar",
"freezeLabel": "Congelar",
"freezeLabel_un": "Descongelar",

View file

@ -4,6 +4,8 @@
"cancel": "Cancelar",
"continue": "Continúa",
"clipboard": "Portapapeles",
"discard_changes": "¿Descartar cambios?",
"discard_changes_explain": "Tienes cambios sin guardar. ¿Estás seguro de que quieres descartarlos y salir de la pantalla?",
"enter_password": "Ingresar contraseña",
"never": "Nunca",
"of": "{number} de {total}",

View file

@ -13,8 +13,7 @@
"save": "Salvesta",
"seed": "Seeme",
"success": "Toiming õnnestus",
"wallet_key": "Rahakoti võti",
"invalid_animated_qr_code_fragment": "Vale animeeritud QR-koodi fragment. Palun proovi uuesti."
"wallet_key": "Rahakoti võti"
},
"azteco": {
"codeIs": "Sinu vautšeri kood on",

View file

@ -15,9 +15,6 @@
"seed": "سید",
"success": "موفقیت‌آمیز بود",
"wallet_key": "کلید کیف پول",
"invalid_animated_qr_code_fragment": "کد QR جزئی متحرک نامعتبر است. لطفاً دوباره امتحان کنید.",
"file_saved": "فایل {filePath} در {destination} شما ذخیره شد.",
"downloads_folder": "پوشهٔ دانلودها",
"close": "بستن",
"change_input_currency": "ویرایش ارز ورودی",
"refresh": "تازه‌سازی",
@ -57,7 +54,6 @@
"claim_balance": "تسویهٔ موجودی {balance}",
"close_channel": "بستن کانال",
"new_channel": "کانال جدید",
"errorInvoiceExpired": "صورت‌حساب منقضی شد",
"force_close_channel": "بستن اجباری کانال؟",
"expired": "منقضی‌شده",
"node_alias": "نام مستعار گره",
@ -66,7 +62,6 @@
"payment": "پرداخت",
"placeholder": "صورت‌حساب یا آدرس",
"open_channel": "بازکردن کانال",
"funding_amount_placeholder": "مقدار تأمین وجه، برای مثال، ۰٫۰۰۱",
"opening_channnel_for_from": "درحال بازکردن کانال برای کیف پول {forWalletLabel}، با تأمین وجه از {fromWalletLabel}",
"are_you_sure_open_channel": "آیا از بازکردن این کانال اطمینان دارید؟",
"potentialFee": "کارمزد احتمالی: {fee}",
@ -89,7 +84,6 @@
"open_direct_channel": "کانال مستقیمی با این گره باز کن:",
"please_pay_between_and": "لطفاً بین {min} و {max} بپردازید",
"please_pay": "لطفاً",
"preimage": "پیش‌نگاره",
"sats": "ساتوشی بپردازید.",
"wasnt_paid_and_expired": "این صورت‌حساب پرداخت نشده و منقضی شده است."
},
@ -107,8 +101,6 @@
},
"pleasebackup": {
"ask": "آیا کلمه‌های پشتیبان کیف پول خود را ذخیره کرده‌اید؟ درصورت ازدست‌دادن این دستگاه، این کلمه‌های پشتیبان برای دسترسی به دارایی شما لازم هستند. بدون کلمه‌های پشتیبان، دارایی شما برای همیشه ازدست خواهد رفت.",
"ask_no": "خیر، نکرده‌ام",
"ask_yes": "بله، کرده‌ام",
"ok": "خب، آن را نوشتم.",
"ok_lnd": "خب، آن را ذخیره کردم.",
"text": "لطفاً درنگ کرده و این عبارت یادیار (mnemonic phrase) را روی یک تکه کاغذ یادداشت کنید. این کلمه‌ها نسخهٔ پشتیبان شما هستند، و می‌توانید از آن‌ها برای بازیابی کیف پول در دستگاه دیگری استفاده کنید.",
@ -161,7 +153,6 @@
"details_create": "ایجاد صورت‌حساب",
"details_error_decode": "ناموفق در رمزگشایی آدرس بیت‌کوین",
"details_fee_field_is_not_valid": "کارمزد معتبر نیست.",
"details_frozen": "{amount} بیت‌کوین مسدود شده است.",
"details_next": "بعدی",
"details_no_signed_tx": "فایل انتخاب‌شده حاوی تراکنشی نیست که بتوان آن را وارد کرد.",
"details_note_placeholder": "یادداشت به خود",
@ -193,7 +184,6 @@
"permission_camera_message": "برای استفاده از دوربین به اجازهٔ شما نیاز داریم.",
"psbt_sign": "امضاکردن تراکنش",
"open_settings": "بازکردن تنظیمات",
"permission_storage_later": "بعداً از من بپرس",
"permission_storage_message": "برنامهٔ BlueWallet جهت ذخیرهٔ این فایل به اجازهٔ شما برای دسترسی به فضای ذخیره‌سازی نیاز دارد.",
"permission_storage_denied_message": "برنامهٔ BlueWallet قادر به ذخیرهٔ این فایل نیست. لطفاً تنظیمات دستگاه خود را باز کرده و «اجازهٔ ذخیره‌سازی» (Storage Permission) را فعال کنید.",
"permission_storage_title": "مجوز دسترسی به فضای ذخیره‌سازی",
@ -204,7 +194,6 @@
"outdated_rate": "آخرین به‌روزرسانی نرخ: {date}",
"psbt_tx_open": "بازکردن تراکنش امضاشده",
"psbt_tx_scan": "اسکن تراکنش امضاشده",
"qr_error_no_qrcode": "قادر به یافتن کد QR در تصویر انتخاب‌شده نبودیم. اطمینان حاصل کنید که تصویر تنها حاوی کد QR بوده و محتوای اضافی‌ای همچون متن یا دکمه درون آن وجود ندارد.",
"reset_amount": "بازنشانی مقدار",
"reset_amount_confirm": "آیا می‌خواهید مقدار را بازنشانی کنید؟",
"success_done": "انجام شد",
@ -243,7 +232,6 @@
"default_wallets": "مشاهدهٔ همهٔ کیف پول‌ها",
"electrum_connected": "متصل",
"electrum_connected_not": "عدم اتصال",
"electrum_error_connect": "نمی‌توان به سرور الکترام ارائه‌شده متصل شد",
"lndhub_uri": "به‌عنوان مثال، {example}",
"electrum_host": "به‌عنوان مثال، {example}",
"electrum_offline_mode": "حالت آفلاین",
@ -311,16 +299,13 @@
"selfTest": "خودآزمایی",
"save": "ذخیره",
"saved": "ذخیره شد",
"success_transaction_broadcasted": "موفقیت‌آمیز بود! تراکنش شما منتشر شد!",
"total_balance": "موجودی کل",
"total_balance_explanation": "نمایش موجودی کل تمام کیف پول‌های شما در ابزارک‌های صفحهٔ اصلی",
"widgets": "ابزارک‌ها",
"tools": "ابزارها"
},
"notifications": {
"would_you_like_to_receive_notifications": "آیا می‌خواهید هنگام دریافت وجه اعلان دریافت کنید؟",
"no_and_dont_ask": "نه، و دیگر از من نپرس",
"ask_me_later": "بعداً از من بپرس"
"would_you_like_to_receive_notifications": "آیا می‌خواهید هنگام دریافت وجه اعلان دریافت کنید؟"
},
"transactions": {
"cancel_explain": "ما این تراکنش را با تراکنشی که گیرندهٔ آن شما هستید و کارمزد بیشتری دارد جایگزین خواهیم کرد. این درعمل تراکنش کنونی را لغو می‌کند. این کار Replace by Fee (به‌اختصار RBF) نام دارد—جایگزینی با کارمزد.",
@ -393,7 +378,6 @@
"details_advanced": "پیشرفته",
"details_are_you_sure": "مطمئن هستید؟",
"details_connected_to": "متصل به",
"details_del_wb_err": "مقدار موجودی ارائه‌شده با موجودی این کیف پول مطابقت ندارد. لطفاً دوباره تلاش کنید.",
"details_del_wb_q": "این کیف پول دارای موجودی است. قبل از ادامه، لطفاً توجه داشته باشید که بدون عبارت سید این کیف پول، قادر به بازیابی دارایی آن نخواهید بود. به‌منظور جلوگیری از حذف تصادفی این کیف پول، لطفاً موجودی کیف پول خود معادل {balance} ساتوشی را وارد کنید.",
"details_delete": "حذف",
"details_delete_wallet": "حذف کیف پول",
@ -430,16 +414,9 @@
"import_discovery_subtitle": "کیف پول پیداشده را انتخاب کنید",
"import_discovery_derivation": "استفاده از مسیر اشتقاق دلخواه",
"import_discovery_no_wallets": "کیف پولی یافت نشد.",
"import_derivation_found": "پیدا شد",
"import_derivation_found_not": "پیدا نشد",
"import_derivation_loading": "درحال‌بارگذاری…",
"import_derivation_subtitle": "مسیر اشتقاق دلخواه را وارد کرده، و ما تلاش خواهیم کرد کیف پول شما را پیدا کنیم.",
"import_derivation_title": "مسیر اشتقاق",
"import_derivation_unknown": "نامشخص",
"import_wrong_path": "مسیر اشتقاق نادرست",
"list_create_a_button": "هم‌اکنون اضافه کن",
"list_create_a_wallet": "افزودن کیف پول",
"list_create_a_wallet_text": "مجانی است، و می‌توانید هر تعداد\nکه دوست داشتید بسازید.",
"list_empty_txs1": "تراکنش‌های شما در اینجا نمایش داده خواهند شد.",
"list_empty_txs1_lightning": "برای تراکنش‌های روزمره بهتر است از کیف پول لایتنینگ استفاده شود. کارمزدها به‌طرز غیرمنصفانه‌ای ارزان و سرعت فوق‌العاده بالاست.",
"list_empty_txs2": "با کیف پول خود شروع کنید.",
@ -454,7 +431,6 @@
"no_ln_wallet_error": "قبل از پرداخت یک صورت‌حساب لایتنینگ، ابتدا باید یک کیف پول لایتنینگ اضافه کنید.",
"looks_like_bip38": "این به کلید خصوصی محافظت‌شده با گذرواژه (BIP38) شباهت دارد.",
"reorder_title": "بازچینی کیف پول‌ها",
"reorder_instructions": "روی یک کیف پول بزنید و نگه دارید تا آن را در لیست جابه‌جا کنید.",
"please_continue_scanning": "لطفاً به اسکن‌کردن ادامه دهید.",
"select_no_bitcoin": "هیچ کیف پول بیت‌کوینی درحال‌حاضر دردسترس نیست.",
"select_no_bitcoin_exp": "یک کیف پول بیت‌کوین برای پرکردن کیف پول‌های لایتنینگ نیاز است. لطفاً یکی بسازید یا وارد کنید.",
@ -479,8 +455,6 @@
"header": "ارسال",
"share": "اشتراک‌گذاری",
"view": "مشاهده",
"shared_key_detected": "امضاکنندهٔ مشترک",
"shared_key_detected_question": "یک امضاکنندهٔ با شما به اشتراک گذاشته شده، آیا می‌خواهید واردش کنید؟",
"manage_keys": "مدیریت کلیدها",
"how_many_signatures_can_bluewallet_make": "امضاهایی که BlueWallet می‌تواند ایجاد کند",
"signatures_required_to_spend": "امضاهای موردنیاز: {number}",
@ -506,20 +480,14 @@
"quorum_header": "حد نصاب",
"of": "از",
"wallet_type": "نوع کیف پول",
"invalid_mnemonics": "به‌نظر نمی‌رسد این عبارت یادیار (mnemonic phrase) معتبر باشد.",
"invalid_cosigner": "دادهٔ امضاکنندهٔ مشترک غیرمعتبر",
"not_a_multisignature_xpub": "این XPUB از یک کیف پول چندامضایی نیست!",
"invalid_cosigner_format": "امضاکنندهٔ مشترک نادرست: این یک امضاکنندهٔ مشترک برای قالب {format} نیست.",
"create_new_key": "جدید بسازید",
"scan_or_open_file": "اسکن یا بازکردن فایل",
"i_have_mnemonics": "من سید این کلید را دارم.",
"type_your_mnemonics": "سید را بنویسید تا کلید گاوصندوق فعلی خود را وارد کنید.",
"this_is_cosigners_xpub": "این XPUB امضاکنندهٔ مشترک است—آماده برای واردشدن درون یک کیف پول دیگر. به‌اشتراک‌گذاری آن مانعی ندارد.",
"wallet_key_created": "کلید گاوصندوق شما ایجاد شد. لحظه‌ای درنگ کرده تا با خیال راحت از سید خود نسخهٔ پشتیبان تهیه کنید.",
"are_you_sure_seed_will_be_lost": "مطمئن هستید؟ درصورتی‌که نسخهٔ پشتیبان نداشته باشید، سید شما ازبین خواهد رفت.",
"forget_this_seed": "این سید را فراموش و به‌جای آن از XPUB استفاده کن.",
"view_edit_cosigners": "مشاهده/ویرایش امضاکنندگان مشترک",
"this_cosigner_is_already_imported": "این امضاکنندهٔ مشترک قبلاً وارد شده است.",
"export_signed_psbt": "صادرکردن PSBT امضاشده",
"input_fp": "اثر انگشت را وارد کنید",
"input_fp_explain": "جهت استفاده از تنظیمات پیش‌فرض (۰۰۰۰۰۰۰۰) رد کنید",
@ -544,20 +512,12 @@
"owns": "آدرس {address} متعلق به «{label}» است.",
"enter_address": "آدرس را وارد کنید",
"check_address": "بررسی آدرس",
"no_wallet_owns_address": "آدرس ارائه‌شده متعلق به هیچ‌کدام از کیف پول‌های موجود نیست.",
"view_qrcode": "مشاهدهٔ کد QR"
},
"autofill_word": {
"title": "تولید کلمهٔ یادیار (mnemonic) آخر",
"enter": "عبارت یادیار (mnemonic phrase) ناقص را وارد کنید",
"generate_word": "تولید کلمهٔ آخر",
"error": "متن واردشده یک عبارت یادیار (mnemonic phrase) ناقص ۱۱ یا ۲۳ کلمه‌ای نیست!"
"no_wallet_owns_address": "آدرس ارائه‌شده متعلق به هیچ‌کدام از کیف پول‌های موجود نیست."
},
"cc": {
"change": "باقی‌مانده (change)",
"coins_selected": "کوین‌های انتخاب‌شده ({number})",
"selected_summ": "انتخاب‌شده: {value}",
"empty": "این کیف پول درحال‌حاضر هیچ کوینی ندارد.",
"freeze": "مسدود",
"freezeLabel": "مسدودکردن",
"freezeLabel_un": "عدم مسدودسازی",

View file

@ -14,7 +14,8 @@
"save": "Tallenna",
"seed": "Siemen",
"success": "Onnistui",
"wallet_key": "Lompakkoavain"
"wallet_key": "Lompakkoavain",
"invalid_animated_qr_code_fragment": "Virheellinen animoitu QRCode-fragmentti, yritä uudelleen."
},
"alert": {
"default": "Hälytys"
@ -46,12 +47,15 @@
"claim_balance": "Lunasta saldo {balance}",
"close_channel": "Sulje kanava",
"new_channel": "Uusi kanava",
"errorInvoiceExpired": "Lasku vanheni.",
"force_close_channel": "Pakota kanavan sulku?",
"expired": "Erääntynyt",
"node_alias": "Solmun lempinimi",
"expiresIn": "Vanhenee {time} minuutissa",
"payButton": "Maksa",
"placeholder": "Lasku",
"open_channel": "Avaa kanava",
"funding_amount_placeholder": "Rahoitettava määrä, esimerkiksi 0.001",
"opening_channnel_for_from": "Ota rahoitus {fromWalletLabel}:sta kanavan avaamiseksi lompakkoon {forWalletLabel}",
"are_you_sure_open_channel": "Oletko varma että haluat avata tämän kanavan?",
"potentialFee": "Mahdollinen siirtokulu: {fee}",
@ -74,6 +78,7 @@
"open_direct_channel": "Avaa suora kanava tällä solmulla:",
"please_pay_between_and": "Maksa vähintään {min} ja enintään {max}",
"please_pay": "Ole hyvä ja maksa",
"preimage": "Alkukuva",
"sats": "sattia",
"wasnt_paid_and_expired": "Tätä laskua ei maksettu, ja se on vanhentunut."
},
@ -91,6 +96,8 @@
},
"pleasebackup": {
"ask": "Oletko tallentanut lompakon varmuuskopion? Tämä varmuuskopio vaaditaan varojen käyttämiseen, jos kadotat tämän laitteen. Ilman varmuuskopiota varat menetetään lopullisesti.",
"ask_no": "Ei, en ole.",
"ask_yes": "Kyllä, olen.",
"ok": "Ok, kirjoitin sen ylös",
"ok_lnd": "OK, olen tallentanut sen.",
"text": "Varaa hetki aikaa ja kirjoita palautuslause (mnemonic) talteen paperille.\nSe on varmuuskopiosi ja voit käyttää sitä lompakon palauttamiseen.",
@ -143,6 +150,7 @@
"details_create": "Luo Lasku",
"details_error_decode": "Bitcoin-osoitetta ei voida dekoodata ",
"details_fee_field_is_not_valid": "Siirtomaksu ei ole pätevä",
"details_frozen": "{amount} BTC on jäädytetty.",
"details_next": "Seuraava",
"details_no_signed_tx": "Valittu tiedosto ei sisällä tuotavaa siirtotapahtumaa.",
"details_note_placeholder": "muistiinpano itselle",
@ -174,6 +182,7 @@
"permission_camera_message": "Tarvitsemme lupasi kameran käyttöön",
"psbt_sign": "Allekirjoita siirtotapahtuma",
"open_settings": "Avaa Asetukset",
"permission_storage_later": "Kysy Minulta Myöhemmin.",
"permission_storage_message": "BlueWallet tarvitsee lupasi käyttääkseen tallennustilaasi tämän tiedoston tallentamiseksi.",
"permission_storage_denied_message": "BlueWallet ei voinut tallettaa tätä tiedostoa. Aseta laitteesi sallimaan tallentaminen kyttkemällä Storage Permission päälle.",
"permission_storage_title": "Tallennustilan käyttöoikeus",
@ -184,6 +193,7 @@
"outdated_rate": "Vaihtokurssi päivitettiin viimeksi: {date}",
"psbt_tx_open": "Avaa allekirjoitettu siirtotapahtuma",
"psbt_tx_scan": "Skannaa allekirjoitettu siirtotapahtuma",
"qr_error_no_qrcode": "Kuvasta ei löytynyt QR-koodia. Varmista että kuva sisältää ainoastaan QR-koodin eikä muita tietoja kuten tekstia tai nappeja.",
"reset_amount": "Nollaa määrä",
"reset_amount_confirm": "Haluaisitko nollata määrän?",
"success_done": "Valmis",
@ -222,6 +232,7 @@
"default_wallets": "Näytä Kaikki Lompakot",
"electrum_connected": "Yhdistetty",
"electrum_connected_not": "Ei yhteyttä",
"electrum_error_connect": "Ei voida yhdistää tarjottuun Electrum-palvelimeen",
"lndhub_uri": "esim, {example}",
"electrum_host": "esim, {example}",
"electrum_offline_mode": "Offline-tila",
@ -279,6 +290,7 @@
"privacy_read_clipboard": "Lue Leikepöytä",
"privacy_system_settings": "Järjestelmäasetukset",
"privacy_quickactions": "Lompakon Pikanäppäimet",
"privacy_quickactions_explanation": "Kosketa ja pidä Aloitusnäytön BlueWallet-sovelluskuvaketta nähdäksesi nopeasti lompakon saldon.",
"privacy_clipboard_explanation": "Toimita pikakuvakkeet, jos leikepöydältä löytyy osoite tai lasku.",
"privacy_do_not_track": "Poista analytiikka käytöstä",
"privacy_do_not_track_explanation": "Suorituskyky- ja luotettavuustietoja ei lähtetä analysoitavaksi.",
@ -288,13 +300,16 @@
"selfTest": "Itsetestaus ",
"save": "Tallenna",
"saved": "Tallennettu",
"success_transaction_broadcasted": "Siirtotapahtumasi on lähetetty onnistuneesti!",
"total_balance": "Kokonaissaldo",
"total_balance_explanation": "Näytä kaikkien lompakoiden kokonaissaldo aloitusnäytön widgeteissä.",
"widgets": "Widgetit",
"tools": "Työkalut"
},
"notifications": {
"would_you_like_to_receive_notifications": "Haluatko saada ilmoituksia, kun saat saapuvia maksuja?"
"would_you_like_to_receive_notifications": "Haluatko saada ilmoituksia, kun saat saapuvia maksuja?",
"no_and_dont_ask": "En, ja Älä Kysy Minulta Uudelleen.",
"ask_me_later": "Kysy Minulta Myöhemmin."
},
"transactions": {
"cancel_explain": "Korvaamme tämän siirtotapahtuman sellaisella, joka maksaa sinulle ja jossa on korkeammat siirtomaksut. Tämä käytännössä peruuttaa nykyisen siirtotapahtuman. Tätä kutsutaan nimellä RBF-Replace by Fee.",
@ -367,6 +382,7 @@
"details_advanced": "Edistynyt",
"details_are_you_sure": "Oletko varma?",
"details_connected_to": "Yhdistetty",
"details_del_wb_err": "Annettu saldo ei vastaa tämän lompakon saldoa. Yritä uudelleen.",
"details_del_wb_q": "Lompakossa on varoja. Ennenkuin jatkat, ymmärrä että tarvitset lompakon palautukseen tulevaisuudeessa palautuslauseen. Varmistaaksemme ettet tuhoa lompakkoa vahingossa, tulee sinun syöttää saldosi {balance} satosheina.",
"details_delete": "Poista",
"details_delete_wallet": "Poista lompakko",
@ -403,9 +419,16 @@
"import_discovery_subtitle": "Valitse löydetty lompakko",
"import_discovery_derivation": "Vaihtoehtoinen derivation path",
"import_discovery_no_wallets": "Lompakkoja ei löytynyt",
"import_derivation_found": "löytyi",
"import_derivation_found_not": "Ei löytynyt",
"import_derivation_loading": "Ladataan...",
"import_derivation_subtitle": "Syötä vaihtoehtoinen derivation path, niin yritämme etsiä lompakkosi.",
"import_derivation_title": "Derivation path",
"import_derivation_unknown": "Tuntematon",
"import_wrong_path": "Väärä derivation path",
"list_create_a_button": "Lisää nyt",
"list_create_a_wallet": "Lisää lompakko",
"list_create_a_wallet_text": "Se on ilmainen ja voit luoda\nniin monta kuin haluat.",
"list_empty_txs1": "Siirtotapahtumasi näkyvät tässä,",
"list_empty_txs1_lightning": "Salamalompakkoa voit käyttää päivittäisiin siirtoihin. Siirtomaksut ovat kohtuuttoman halvat ja se toimii todella nopeasti.",
"list_empty_txs2": "Aloita lompakostasi. ",
@ -420,7 +443,6 @@
"no_ln_wallet_error": "Ennen kuin maksat Salamalaskun, sinun on ensin lisättävä Salamalompakko.",
"looks_like_bip38": "Tämä näyttää salasanalla suojatulta yksityiseltä avaimelta (BIP38)",
"reorder_title": "Järjestele Lompakot",
"reorder_instructions": "Siirrä listalla, ensin napauttamalla ja pitämällä, sitten vetäen.",
"please_continue_scanning": "Jatka skannausta",
"select_no_bitcoin": "Bitcoin-lompakkoa ei tällä hetkellä ole saatavana.",
"select_no_bitcoin_exp": "Bitcoin-lompakkoa vaaditaan Salamalompakkojen täyttämiseksi. Luo tai tuo yksi.",
@ -470,14 +492,20 @@
"quorum_header": "Quorum",
"of": "n",
"wallet_type": "Lompakon tyyppi",
"invalid_mnemonics": "Tämä muistilauseke ei näytä olevan pätevä.",
"invalid_cosigner": "Virheellinen kanssa-allekirjoittajan tieto",
"not_a_multisignature_xpub": "Tämä ei ole xpub multisignature-lompakosta!",
"invalid_cosigner_format": "Virheellinen allekirjoittaja: tämä ei ole muodon {format} allekirjoittaja.",
"create_new_key": "Luo Uusi",
"scan_or_open_file": "Skannaa tai avaa tiedosto",
"i_have_mnemonics": "Minulla on siemen tälle avaimelle...",
"type_your_mnemonics": "Lisää siemen tuodaksesi Vault-avaimesi",
"this_is_cosigners_xpub": "Tämä on allekirjoittajan xpub, joka on valmis tuotavaksi toiseen lompakkoon. On turvallista jakaa se.",
"wallet_key_created": "Vault-avaimesi luotiin. Käytä hetki muistisanojen turvalliseen varmuuskopioimiseen",
"are_you_sure_seed_will_be_lost": "Oletko varma? Muistisiemenesi menetetään, jos sinulla ei ole varmuuskopiota",
"forget_this_seed": "Unohda tämä siemen ja käytä XPUB:ia",
"view_edit_cosigners": "Tarkastele/Muokkaa allekirjoittajia",
"this_cosigner_is_already_imported": "Tämä allekirjoittaja on jo tuotu.",
"export_signed_psbt": "Vie Allekirjoitettu PSBT",
"input_fp": "Syötä sormenjälki",
"input_fp_explain": "ohita käyttääksesi oletusarvoa (00000000)",
@ -502,12 +530,14 @@
"owns": "{label} omistaa {address}",
"enter_address": "Syötä osoite",
"check_address": "Tarkista osoite",
"no_wallet_owns_address": "Mikään käytettävissä olevista lompakoista ei omista annettua osoitetta."
"no_wallet_owns_address": "Mikään käytettävissä olevista lompakoista ei omista annettua osoitetta.",
"view_qrcode": "Näytä QR-koodi"
},
"cc": {
"change": "vaihto",
"coins_selected": "Kolikot valittu ({number})",
"selected_summ": "{value} valittuna",
"empty": "Tässä lompakossa ei ole tällä hetkellä kolikoita.",
"freeze": "jäädytä",
"freezeLabel": "Jäädytä",
"freezeLabel_un": "Vapauta",

View file

@ -15,6 +15,7 @@
"seed": "Graine",
"success": "Succès",
"wallet_key": "Clé du portefeuille",
"invalid_animated_qr_code_fragment": "Fragment du QR Code animé invalide. Veuillez réessayer.",
"pick_file": "Choisir un fichier",
"enter_amount": "Entrer un montant"
},
@ -48,6 +49,7 @@
"claim_balance": "Réclamer le solde {balance}",
"close_channel": "Fermer le canal",
"new_channel": "Nouveau canal",
"errorInvoiceExpired": "Requête expirée.",
"force_close_channel": "Forcer la fermeture du canal ?",
"expired": "Expiré",
"node_alias": "Alias du node",
@ -55,6 +57,7 @@
"payButton": "Payer",
"placeholder": "Facture ou adresse",
"open_channel": "Ouverture canal",
"funding_amount_placeholder": "Montant financement, par exemple 0,001",
"opening_channnel_for_from": "Canal d'ouverture pour le portefeuille {forWalletLabel}, financement depuis {fromWalletLabel}",
"are_you_sure_open_channel": "Etes vous sûre de vouloir ouvrir ce canal?",
"potentialFee": "Frais potentiels : {fee}",
@ -77,6 +80,7 @@
"open_direct_channel": "Ouvrir un canal direct avec ce noeud :",
"please_pay_between_and": "Veuillez payer entre {min} et {max}",
"please_pay": "Veuillez payer",
"preimage": "Préimage",
"sats": "sats",
"wasnt_paid_and_expired": "Cette requête n'a pas été réglée et a expiré"
},
@ -94,6 +98,8 @@
},
"pleasebackup": {
"ask": "Avez-vous noté la phrase de sauvegarde de votre portefeuille ? Cette phrase de sauvegarde est nécessaire pour accéder à vos fonds en cas de perte de votre appareil. Sans ce backup, vos fonds pourraient être perdus pour toujours.",
"ask_no": "Non.",
"ask_yes": "Oui.",
"ok": "Ok, Je l'ai écrite sur un papier.",
"ok_lnd": "OK, je l'ai sauvegardée.",
"text": "Veuillez prendre un moment pour noter cette phrase de sauvegarde sur papier.\nC'est votre backup et vous pouvez l'utiliser pour restaurer votre portefeuille.",
@ -146,6 +152,7 @@
"details_create": "Créer la requête",
"details_error_decode": "Impossible de décoder l'adresse bitcoin",
"details_fee_field_is_not_valid": "Champ frais invalide",
"details_frozen": "{amount} BTC est gelé.",
"details_next": "Suivant",
"details_no_signed_tx": "Le fichier sélectionné ne contient pas de transaction pouvant être importée.",
"details_note_placeholder": "note à moi même (optionnelle)",
@ -177,6 +184,7 @@
"permission_camera_message": "Nous avons besoin de votre permission pour utiliser l'appareil photo",
"psbt_sign": "Signer une transaction",
"open_settings": "Ouvrir les paramètres",
"permission_storage_later": "Redemander Plus Tard.",
"permission_storage_message": "BlueWallet a besoin de votre permission pour accéder a votre stockage pour enregistrer ce fichier.",
"permission_storage_denied_message": "BlueWallet est incapable d'enregistrer ce fichier. Veuillez ouvrir les paramètres de votre appareil et activer les autorisation de stockage.",
"permission_storage_title": "Permission d'accès au stockage pour BlueWallet",
@ -187,6 +195,7 @@
"outdated_rate": "Les taux ont été mis a jour: {date}",
"psbt_tx_open": "Ouvrir la transaction signée",
"psbt_tx_scan": "Scanner la transaction signée",
"qr_error_no_qrcode": "Impossible de trouver un QR code dans l'image sélectionnée. Assurez-vous que l'image contienne uniquement un QR code et pas de contenu additionnel comme du texte ou des boutons.",
"reset_amount": "Annuler le montant",
"reset_amount_confirm": "Voulez vous réinitialiser le montant ?",
"success_done": "Terminé",
@ -223,6 +232,7 @@
"default_wallets": "Voir tous les portefeuilles",
"electrum_connected": "Connecté",
"electrum_connected_not": "Déconnecté",
"electrum_error_connect": "Impossible de se connecter au serveur Electrum fourni",
"lndhub_uri": "Par exemple, {example}",
"electrum_host": "Par exemple, {example}",
"electrum_offline_mode": "Mode hors-ligne",
@ -280,6 +290,7 @@
"privacy_read_clipboard": "Lecture du presse-papier ",
"privacy_system_settings": "Paramètres système",
"privacy_quickactions": "Raccourci Portefeuille",
"privacy_quickactions_explanation": "Touchez et maintenez l'icone BlueWallet sur votre écran d'accueil pour voir rapidement le solde de vos portefeuilles.",
"privacy_clipboard_explanation": "Fourni un raccourci si une adresse ou une facture est trouvée dans le presse-papier.",
"privacy_do_not_track": "Désactiver l'analyse des données",
"privacy_do_not_track_explanation": "Les informations de performance et de fiabilité ne seront pas soumises pour analyse.",
@ -289,13 +300,16 @@
"selfTest": "Auto-test",
"save": "Enregistrer",
"saved": "Enregistré",
"success_transaction_broadcasted": "Succès! Votre transaction a été diffusée!",
"total_balance": "Solde total",
"total_balance_explanation": "Afficher le solde total de tous vos portefeuilles sur l'écran d'accueil.",
"widgets": "Widgets",
"tools": "Outils"
},
"notifications": {
"would_you_like_to_receive_notifications": "Voulez vous recevoir les notifications quand vous recevez des paiements entrants ?"
"would_you_like_to_receive_notifications": "Voulez vous recevoir les notifications quand vous recevez des paiements entrants ?",
"no_and_dont_ask": "Non, et ne pas me redemander.",
"ask_me_later": "Redemander Plus Tard."
},
"transactions": {
"cancel_explain": "Nous allons remplacer cette transaction par celle où les fonds vous reviennent, avec de plus hauts frais. Cela annulera la transaction. On parle de RBF - Replace By Fee.",
@ -367,6 +381,7 @@
"details_advanced": "Avancé",
"details_are_you_sure": "Êtes vous sur?",
"details_connected_to": "Connecté à",
"details_del_wb_err": "Le solde ne correspond pas à celui du portefeuille. Veuillez réessayer.",
"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_wallet": "Supprimer le portefeuille",
@ -401,9 +416,16 @@
"import_discovery_subtitle": "Choisissez un portefeuille trouvé",
"import_discovery_derivation": "Utiliser un chemin de dérivation personnalisé",
"import_discovery_no_wallets": "Aucaun portefeuille trouvé.",
"import_derivation_found": "Trouvé",
"import_derivation_found_not": "Non trouvé",
"import_derivation_loading": "Chargement...",
"import_derivation_subtitle": "Entrez le chemin de dérivation personnalisé et nous essaierons de découvrir votre portefeuille",
"import_derivation_title": "Chemin de dérivation",
"import_derivation_unknown": "Inconnu",
"import_wrong_path": "Chemin de dérivation erroné",
"list_create_a_button": "Ajouter maintenant",
"list_create_a_wallet": "Ajouter un portefeuille",
"list_create_a_wallet_text": "Cest gratuit et vous pouvez en créer \nautant que vous voulez.",
"list_empty_txs1": "Vos transactions apparaîtront ici,",
"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": "Commencez avec votre portefeuille.",
@ -418,7 +440,6 @@
"no_ln_wallet_error": "Avant de payer une facture Ligthning, vous devez créer un portefeuille Ligthning.",
"looks_like_bip38": "Ceci ressemble a une clé privée protégée par un mot de passe (BIP38)",
"reorder_title": "Trier vos portefeuilles",
"reorder_instructions": "Appuyez et maintenez un portefeuille pour le déplacer à travers la liste.",
"please_continue_scanning": "Merci de continuer à scaner",
"select_no_bitcoin": "Il n'y a aucun portefeuille Bitcoin disponible pour le moment.",
"select_no_bitcoin_exp": "Un portefeuille Bitcoin est nécessaire pour approvisionner les portefeuilles Lightning. Veuillez en créer ou en importer un.",
@ -468,14 +489,20 @@
"quorum_header": "Quorum",
"of": "de",
"wallet_type": "Type portefeuille",
"invalid_mnemonics": "Cette phrase mnémonique ne semble pas valide.",
"invalid_cosigner": "Données de cosigner invalides",
"not_a_multisignature_xpub": "Ceci n'est pas un xpub provenant d'un portefeuille multisig",
"invalid_cosigner_format": "Co-signeur incorrecte: Ceci nest pas un co-signeur au {format} format.",
"create_new_key": "Créer nouveau",
"scan_or_open_file": "Scanner ou ouvrir fichier",
"i_have_mnemonics": "J'ai une graine pour cette clé...",
"type_your_mnemonics": "Insérez une graine pour importer votre clé de coffre existante",
"this_is_cosigners_xpub": "Ceci est l'XPUB du co-signeur, prêt a être importé dans un autre portefeuille. C'est sure de le partager.",
"wallet_key_created": "Votre clé de coffre a été créé. Prenez un moment pour sauvegarder votre graine sous forme de mnémonique ",
"are_you_sure_seed_will_be_lost": "Etes Vous sûr? ",
"forget_this_seed": "Oublier cette graine et utiliser l'XPUB à la place",
"view_edit_cosigners": "Voir/Editer les co-signeurs",
"this_cosigner_is_already_imported": "Ce co-signeur a été déjà importé.",
"export_signed_psbt": "Exporter la PSBT signée",
"input_fp": "Entrer l'empreinte",
"input_fp_explain": "Passer pour utiliser celle par défaut (00000000)",
@ -500,12 +527,14 @@
"owns": "{label} possède {address}",
"enter_address": "Entrez l'adresse",
"check_address": "Vérifiez l'adresse",
"no_wallet_owns_address": "Aucun des portefeuilles ne possède l'adresse fournie."
"no_wallet_owns_address": "Aucun des portefeuilles ne possède l'adresse fournie.",
"view_qrcode": "Voir QRCode"
},
"cc": {
"change": "monnaie rendu",
"coins_selected": "UTXO sélectionnées ({number})",
"selected_summ": "{value} sélectionnée ",
"empty": "Ce portefeuille ne possède aucune pièces en ce moment.",
"freeze": "Geler",
"freezeLabel": "Gelé",
"freezeLabel_un": "Dégeler",

View file

@ -15,8 +15,6 @@
"seed": "גרעין",
"success": "הצלחה",
"wallet_key": "מפתח ארנק",
"file_saved": "הקובץ {filePath} נשמר בתיקיית {destination} שלך.",
"downloads_folder": "תיקיית הורדות",
"close": "סגירה",
"change_input_currency": "שינוי מטבע קלט",
"refresh": "רענון",
@ -427,7 +425,6 @@
"no_ln_wallet_error": "לפני תשלום חשבונית ברק, עלייך להוסיף ארנק ברק.",
"looks_like_bip38": "זה נראה כמו מפתח פרטי מוגן בסיסמה (BIP38)",
"reorder_title": "ארגון ארנקים מחדש ",
"reorder_instructions": "לחצו והחזיקו ארנק כדי לגרור אותו לאורך הרשימה.",
"please_continue_scanning": "אנא המשיכו בסריקה.",
"select_no_bitcoin": "אין ארנקי ביטקוין זמינים.",
"select_no_bitcoin_exp": "דרוש ארנק ביטקוין בכדי לטעון את ארנקי הברק. צרו או יבאו אחד.",

View file

@ -14,7 +14,8 @@
"save": "Mentés",
"seed": "jelszó sorozat",
"success": "Sikeres",
"wallet_key": "Tárca kulcs"
"wallet_key": "Tárca kulcs",
"invalid_animated_qr_code_fragment": "Érvénytelen animált QR kód részlet, próbáld újra!"
},
"alert": {
"default": "Figyelem"
@ -46,12 +47,15 @@
"claim_balance": "Egyenleg lefoglalása {balance}",
"close_channel": "Csatorna zárása",
"new_channel": "Új csatorna",
"errorInvoiceExpired": "A számla lejárt.",
"force_close_channel": "Csatorna erőltetett zárása?",
"expired": "Lejárt",
"node_alias": "Node aliasz",
"expiresIn": "{time} percen belül elévül",
"payButton": "Fizess",
"placeholder": "Számla",
"open_channel": "Csatorna nyitása",
"funding_amount_placeholder": "Feltöltési mennyiség, például 0.001",
"opening_channnel_for_from": "Csatornanyitás a {forWalletLabel} tárca számára, {fromWalletLabel} által finanszírozva.",
"are_you_sure_open_channel": "Biztosan meg akarja nyitni ezt a csatornát?",
"potentialFee": "Várható díj: {fee}",
@ -74,6 +78,7 @@
"open_direct_channel": "Közvetlen csatorna nyitása erre a csomópontra:",
"please_pay_between_and": "Kérem fizessen {min} és {max} közötti összeget",
"please_pay": "Kérlek fizess",
"preimage": "Pre-image (hashlock feloldáshoz)",
"sats": "satoshi",
"wasnt_paid_and_expired": "Ezt a számlát nem fizették ki és lejárt"
},
@ -91,6 +96,8 @@
},
"pleasebackup": {
"ask": "Készítettél másolatot a tárca visszaállításához szükséges jelszó sorozatról? Ez az elmentett jelszó sorozat nélkülözhetetlen ha elveszik ez az eszközt. A jelszó sorozat nélkül a pénzed végleg elveszik.",
"ask_no": "Nem, nincs.",
"ask_yes": "Igen, van.",
"ok": "Rendben, leírtam!",
"ok_lnd": "OK, elmentettem.",
"text": "Kérlek írd le az alábbi biztonsági szavakat egy papírlapra. \nEz egy biztonsági mentés, amellyel helyreállíthatod a tárcádat.",
@ -119,6 +126,7 @@
"create_details": "Részletek",
"create_fee": "Díj",
"create_memo": "megjegyzés",
"create_satoshi_per_vbyte": "Satoshi vbájtonként",
"create_this_is_hex": "Tranzakció hexadecimális formátumban, aláírva és küldésre készen.",
"create_to": "Címzett",
"create_tx_size": "Tranzakció mérete",
@ -138,12 +146,14 @@
"details_create": "Készíts számlát",
"details_error_decode": "Nem lehet dekódolni a bitcoin címet",
"details_fee_field_is_not_valid": "Èrvénytelen tranzakciós díj",
"details_frozen": "{amount} BTC fagyasztva áll.",
"details_next": "Következő",
"details_no_signed_tx": "A kiválasztott fájl nem tartalmaz importálható tranzakciót.",
"details_note_placeholder": "saját megjegyzés",
"details_scan": "Szkennelés",
"details_scan_hint": "Dupla érintéssel szkennelhet, vagy betölthet uticélt",
"details_total_exceeds_balance": "A megadott összeg nagyobb, mint a tárca elérhető egyenlege",
"details_total_exceeds_balance_frozen": "A küldeni kívánt össze meghaladja az elérhető egyenlegét. Lefagyasztott érmék nem voltak használva.",
"details_unrecognized_file_format": "Nemismert fálj formátum",
"details_wallet_before_tx": "Tranzakció előtt, először adj meg egy Bitcoin tárcát.",
"dynamic_init": "Előkészítés",
@ -157,6 +167,7 @@
"fee_custom": "beállított",
"fee_fast": "Gyors",
"fee_medium": "Közepes",
"fee_replace_minvb": "A fizetendő teljes díj mértékének (satoshi per vbyte) magasabbnak kell lennie, mint {min} sat/vbyte.",
"fee_satvbyte": "sat/vByte-ban",
"fee_slow": "Lassú",
"header": "Küldés",
@ -167,6 +178,7 @@
"permission_camera_message": "Kamera használat engedélyezése",
"psbt_sign": "Egy tranzakció aláírása",
"open_settings": "Beállítások megnyitása",
"permission_storage_later": "Később.",
"permission_storage_message": "A fájl elmentéséhez engedélyezned kell a BlueWallet hozzáférését a háttértárhoz.",
"permission_storage_denied_message": "BlueWallet nem képes elmenteni ezt a fájlt. Kérem nyissa meg a beállításokat és engedélyezze a tárhely hozzáférést az eszközén.",
"permission_storage_title": "Háttértár hozzáférés engedélyezés",
@ -177,6 +189,7 @@
"outdated_rate": "A ráta utoljára frissítve: {date}",
"psbt_tx_open": "Aláírt tranzakció megnyitása",
"psbt_tx_scan": "Aláírt tranzakció szkennelése",
"qr_error_no_qrcode": "Nem találtunk QR kódot a kiválasztott képen. Győződjön meg arról, hogy a kép csak QR kódot tartalmaz, és nem tartalmaz további tartalmat, például szöveget vagy gombokat.",
"reset_amount": "Összeg Visszaállítása",
"reset_amount_confirm": "Valóban visszaállítja az összeget?",
"success_done": "Kész!",
@ -205,6 +218,7 @@
"biom_no_passcode": "A készülék nem rendelkezik jelszóval. A folytatáshoz kérjük, konfigurálja a jelszót a Beállítások menüpontban.",
"biom_remove_decrypt": "Minden pénztárcáját eltávolítjuk, és a tárolójáról visszafejtjük a titkosítást. Biztosan folytatja?",
"currency": "Valuta",
"currency_source": "Árak forrása",
"currency_fetch_error": "Hibatörtént a ráta lekérdezésekor a kijelölt fiat pénznél.",
"default_desc": "Ha le van tiltva, a BlueWallet azonnal megnyitja a kiválasztott tárcát indításkor. ",
"default_info": "Alapértelmezett információ",
@ -212,6 +226,7 @@
"default_wallets": "Összes tárca megtekintése",
"electrum_connected": "Kapcsolódva",
"electrum_connected_not": "Nincs kapcsolat",
"electrum_error_connect": "Nem tud csatlakozni a kiválasztott Electrum szerverhez",
"lndhub_uri": "P.l., {example}",
"electrum_host": "P.l., {example}",
"electrum_offline_mode": "Offline Mód",
@ -268,6 +283,7 @@
"privacy_read_clipboard": "Vágólap olvasása",
"privacy_system_settings": "Rendszer beállítások",
"privacy_quickactions": "tárca gyorsbillentyűk",
"privacy_quickactions_explanation": "Érintsd meg és tartsd nyomva a BlueWallet alkalmazás ikont a képernyőn a tárca egyenleg gyors megtekintéséhez.",
"privacy_clipboard_explanation": "Jelentsen meg opciókat, ha cím vagy számla található a vágólapon. ",
"privacy_do_not_track": "Analitika kikapcsolása",
"privacy_do_not_track_explanation": "A teljesítményre és a megbízhatóságra vonatkozó információk nem lessznek beküldve elemzésre.",
@ -277,15 +293,19 @@
"selfTest": "Önteszt",
"save": "Ment",
"saved": "Elmentve",
"success_transaction_broadcasted": "Sikeres! A tranzakciója továbbítva!",
"total_balance": "Teljes egyenleg",
"total_balance_explanation": "Jelenítse meg az összes pénztárca egyenlegét a kezdőképernyő moduljain.",
"widgets": "Widgetek",
"tools": "Eszközök"
},
"notifications": {
"would_you_like_to_receive_notifications": "Szeretnél értesítést a bejövő utalásokról? "
"would_you_like_to_receive_notifications": "Szeretnél értesítést a bejövő utalásokról? ",
"no_and_dont_ask": "Nem és ne kérdezd újra.",
"ask_me_later": "Később."
},
"transactions": {
"cancel_explain": "Ezt a tranzakciót lecseréljük arra, amely fizet Önnek és magasabb díjakkal rendelkezik. Ez gyakorlatilag törli a tranzakciót. Ezt RBF-nek hívják - azaz díj cserének.",
"cancel_no": "Ez a tranzakció nem helyettesíthető",
"cancel_title": "Tranzakció törlése (RBF)",
"confirmations_lowercase": "{confirmations} konfirmációk",
@ -320,6 +340,8 @@
"eta_3h": "ETA: ~3 órán belül",
"eta_1d": "ETA: ~1 napon belül",
"list_title": "tranzakciók",
"open_url_error": "Nem lehetett megnyitni a URL-t az alapértelmezett böngészővel. Kérem változtassa meg a böngészőjét és próbálkozzon meg újra.",
"rbf_explain": "Kiváltjuk ezt a tranzakciót egy magasabb tranzakciós díjjal járó tranzakcióval, így hamarabb teljesül. Ezt a megoldást Tranzakciós Díj Pótlásnak hívjuk, angolul RBF—Replace by Fee.",
"rbf_title": "Kiváltási díj (RBF)",
"status_bump": "Kiváltási díj",
"status_cancel": "Tranzakció törlése",
@ -351,6 +373,7 @@
"details_advanced": "Haladó",
"details_are_you_sure": "Biztos vagy benne?",
"details_connected_to": "Kapcsolódva: ",
"details_del_wb_err": "A megadott egyenleg összege nem egyezik a tárca egyenlegével. Próbáld újra. ",
"details_del_wb_q": "Ennek a tárcának van egyenlege. Mielőtt tovább lép, tudnia kell, hogy nem fogja tudni vissza szerezni ezen összeget ha nem rendelkezik ezen tárca biztonsági szavaival. A véletlen eltávolítások elkerülése érdekéven kérem adja meg a tárcán található {balance} egyenleget satoshiban.",
"details_delete": "Törlés",
"details_delete_wallet": "Tárca törlése",
@ -385,9 +408,16 @@
"import_discovery_subtitle": "Már felfedezett tárca választása",
"import_discovery_derivation": "Egyedi derivációs útvonal használata",
"import_discovery_no_wallets": "Nem található tárca.",
"import_derivation_found": "Megtalálva",
"import_derivation_found_not": "Nem található",
"import_derivation_loading": "Töltés...",
"import_derivation_subtitle": "Egyedi derivációs útvonal beírása és mi megpróbáljuk felfedezni a tárcáját",
"import_derivation_title": "Derivációs útvonal",
"import_derivation_unknown": "Ismeretlen",
"import_wrong_path": "Hibás derivációs útvonal",
"list_create_a_button": "add hozzá",
"list_create_a_wallet": "Új tárca",
"list_create_a_wallet_text": "Ingyenes, és annyit hozhatsz\nlétre amennyit szeretnél",
"list_empty_txs1": "A tranzakcióid itt fognak megjelenni",
"list_empty_txs1_lightning": "A Lightning tárcát a mindennapi tranzakcióidhoz használhatod. A tranzakciók azonnal végrehajtódnak, minimális átutalási díjjal.",
"list_empty_txs2": "Kezd a tárcáddal.",
@ -402,7 +432,6 @@
"no_ln_wallet_error": "Mielőtt tudnál fizetni a villámhálózaton, először egy Lightning tárcát kell létrehoznod vagy betöltened.",
"looks_like_bip38": "Ez egy jelszó védett privát kulcsnak (BIP38) tűnik",
"reorder_title": "Tárcák rendezése",
"reorder_instructions": "Érintse meg és tartsa lenyomva, hogy át húzzhassa a listán.",
"please_continue_scanning": "Kérem szkenneljen folyamatosan.",
"select_no_bitcoin": "Jelenleg nincs elérhető Bitcoin tárca.",
"select_no_bitcoin_exp": "A Lightning tárca feltöltéséhez Bitcoin tárcára van szükség. Készíts vagy importálj egy Bitcoin tárcát.",
@ -452,14 +481,20 @@
"quorum_header": "Kvórum",
"of": "/",
"wallet_type": "Tárca típusa",
"invalid_mnemonics": "Ez a biztonsági mentés nem tűnik megfelelőnek.",
"invalid_cosigner": "Helytelen másodaláíró adat",
"not_a_multisignature_xpub": "Ez nem egy multiszignaturás tárca publikus kulcsa azaz XPUBja!",
"invalid_cosigner_format": "Nem megfelelő másodaláíró: Ez a másodaláíró nem a megfelelő {format} formátumú.",
"create_new_key": "Készíts újat",
"scan_or_open_file": "Szkennelés vagy fájl megnyitása",
"i_have_mnemonics": "Megvan a jelszó sorozatom ehhez a kulcshoz...",
"type_your_mnemonics": "Jelszó sorozat megadása egy létező trezor-kulcs megadásához",
"this_is_cosigners_xpub": "Ez a másodaláíró XPUB-ja — készen áll egy másik pénztárcába történő importálásra. Megosztani biztonságos.",
"wallet_key_created": "A Vault kulcs létrehozva. Szánjon egy percet arra, hogy biztonságosan, biztonsági másolatot készítsen a titkos kulcsszavakról.",
"are_you_sure_seed_will_be_lost": "Biztos benne? A biztonsági mentése el fog veszni ha nincs létező másolata.",
"forget_this_seed": "Felejtse el ezt a kulcsot és használjon XPUB-ot inkább.",
"view_edit_cosigners": "Társ aláírok Megtekintése/Szerkesztése",
"this_cosigner_is_already_imported": "Ezen másodaláíró már importálva van.",
"export_signed_psbt": "Aláírt PSBT Exportálása",
"input_fp": "Ujjlenyomat megadása",
"input_fp_explain": "Átugrás az alapértelmezett használatához (00000000)",
@ -484,12 +519,14 @@
"owns": "{label} tulajdonolja {address}",
"enter_address": "Cím megadása",
"check_address": "Cím ellenőrzése",
"no_wallet_owns_address": "Semelyik tárca nem birtokolja ezen használt címet."
"no_wallet_owns_address": "Semelyik tárca nem birtokolja ezen használt címet.",
"view_qrcode": "QRKód megtekintése"
},
"cc": {
"change": "váltás",
"coins_selected": "Érmék kiválasztva ({number})",
"selected_summ": "{value} kijelölve",
"empty": "Ez a tárca jelenleg üres.",
"freeze": "zárolás",
"freezeLabel": "zárolás",
"freezeLabel_un": "Zárolás feloldása",
@ -505,8 +542,12 @@
"sats": "sats"
},
"addresses": {
"sign_title": "Aláíró/Hitelesíŧő üzenet",
"sign_help": "Itt létrehozhat vagy ellenőrizhet kriptográfiai aláírást egy Bitcoin-cím alapján",
"sign_sign": "Aláír",
"sign_verify": "Hitelesít",
"sign_signature_correct": "Hitelesítés sikeres!",
"sign_signature_incorrect": "Sikertelen hitelesítés!",
"sign_placeholder_address": "Cím",
"sign_placeholder_message": "Üzenet",
"sign_placeholder_signature": "Szignatúra",

View file

@ -92,6 +92,10 @@ const setDateTimeLocale = async () => {
lang = 'ko';
require('dayjs/locale/ko');
break;
case 'lrc':
lang = 'fa';
require('dayjs/locale/fa');
break;
case 'kn':
require('dayjs/locale/kn');
break;
@ -227,6 +231,7 @@ const loc = new Localization({
it: require('./it.json'),
jp_jp: require('./jp_jp.json'),
ko_kr: require('./ko_KR.json'),
lrc: require('./lrc.json'),
ms: require('./ms.json'),
kn: require('./kn.json'),
ne: require('./ne.json'),

View file

@ -427,7 +427,6 @@
"no_ln_wallet_error": "Prima di pagare una fattura Lightning, devi aggiungere un portafoglio Lightning.",
"looks_like_bip38": "Questa sembra essere una chiave privata protetta da password (BIP38).",
"reorder_title": "Riordina Portafogli",
"reorder_instructions": "Tocca e tieni premuto su un portafoglio per trascinarlo da una parte all'altra della lista.",
"please_continue_scanning": "Per favore continua ad effettuare la scansione.",
"select_no_bitcoin": "Non è disponibile alcun portafoglio Bitcoin.",
"select_no_bitcoin_exp": "È necessario un portafoglio Bitcoin per ricaricare i portafogli Lightning. Per favore creane o importane uno.",

View file

@ -271,6 +271,7 @@
"encrypt_tstorage": "ストレージ",
"encrypt_use": "{type} を使う",
"encrypt_use_expl": "{type} は、トランザクションの実行、ウォレットのロック解除、エクスポート、または削除を行う前の本人確認に使用されます。{type} は暗号化されたストレージのロック解除には使用されません。",
"biometrics_fail": "もし {type} が有効でない、または解除に失敗した場合、デバイスのパスコードを代わりに使うことができます。",
"general": "一般情報",
"general_adv_mode": "上級者モード",
"general_adv_mode_e": "この機能を有効にすると、異なるウォレットタイプ、接続先の LNDHub インスタンスの指定、ウォレット作成時のカスタムエントロピーなどの高度なオプションが表示されます。",
@ -281,6 +282,7 @@
"language": "言語",
"last_updated": "最終更新",
"language_isRTL": "言語の向きを適用するにはBlueWalletの再起動が必要です。",
"license": "ライセンス",
"lightning_error_lndhub_uri": "無効なLndHub URIです",
"lightning_saved": "変更は正常に保存されました",
"lightning_settings": "Lightning 設定",
@ -513,6 +515,7 @@
"i_have_mnemonics": "この鍵のシードを持っています...",
"type_your_mnemonics": "お持ちの金庫キーをインポートするためシードを入れてください。",
"this_is_cosigners_xpub": "これは共同署名のXPUBです。他のウォレットにインポートできます。共有しても安全です。",
"this_is_cosigners_xpub_airdrop": "AirDropで共有する場合、受信側は協調する画面を開いている必要があります。",
"wallet_key_created": "金庫キーが作成されました。少し時間を取って、ニーモニックシードを安全にバックアップしてください。",
"are_you_sure_seed_will_be_lost": "よろしいですか?バックアップを取っておかないと、ニーモニックシードは失われてしまいます。",
"forget_this_seed": "このシードではなくxpubを代わりに利用する",

View file

@ -407,7 +407,6 @@
"no_ln_wallet_error": "라이트닝 청구서를 지불하기 전 먼저 라이트닝 지갑을 추가해야 합니다.",
"looks_like_bip38": "이것은 패스워드 보호된 비밀키(BIP38)로 보입니다.",
"reorder_title": "지갑 재정렬",
"reorder_instructions": "리스트를 넘겨 끌어가려면 지갑에 계속 누르기를 하세요",
"please_continue_scanning": "계속 스캔하세요.",
"select_no_bitcoin": "현재 사용 가능한 비트코인 월렛이 없습니다.",
"select_no_bitcoin_exp": "라이트닝 지갑을 재충전하시려면 비트코인 지갑이 필요합니다. 새로 만들기 또는 들여오기를 하시기바랍니다.",

View file

@ -18,6 +18,7 @@ export const AvailableLanguages: Readonly<TLanguage[]> = Object.freeze([
{ label: 'Ελληνικά (EL)', value: 'el' },
{ label: 'فارسی (FA)', value: 'fa', isRTL: true },
{ label: 'لۊری بختیاری (BQI)', value: 'bqi', isRTL: true },
{ label: 'لٛۏری شومالی (LRC)', value: 'lrc', isRTL: true },
{ label: 'Français (FR)', value: 'fr_fr' },
{ label: 'עִברִית (HE)', value: 'he', isRTL: true },
{ label: 'Italiano (IT)', value: 'it' },

167
loc/lrc.json Normal file
View file

@ -0,0 +1,167 @@
{
"_": {
"cancel": "لقو",
"continue": "ادامه",
"enter_password": "رزمن بزݩ",
"of": "{number} د {total}",
"ok": "خو",
"yes": "ٱ",
"no": "نه",
"success": "مۏوفق بی",
"wallet_key": "کلٛیل کیف پیلٛ",
"refresh": "وانۊ کردن",
"more": "بؽشتر",
"enter_amount": "مقدارن بزݩ"
},
"azteco": {
"codeIs": "کود تخفیف شما",
"redeem": "ازاف کردن وه کیف پیلٛ",
"success": "مۏوفق بی"
},
"entropy": {
"title": "آنتروپی"
},
"errors": {
"error": "ختا",
"network": "ختا شبکه"
},
"lnd": {
"active": "فعال",
"inactive": "قیر فعال",
"channels": "تورگیا",
"no_channels": "بؽ تورگه",
"claim_balance": "تسویه مۉجۊدی {balance}",
"close_channel": "بستن تورگه",
"new_channel": "تورگه نۊ",
"errorInvoiceExpired": "سۊرت هساو مونقزی بیه.",
"force_close_channel": "بستن اجباری تورگه؟",
"expired": "مونقزی بیه",
"node_alias": "نوم موستعار گره",
"payButton": "پرداخت",
"payment": "پرداخت",
"placeholder": "سۊرت هساو یا آدرس",
"open_channel": "واز کردن تورگه",
"potentialFee": "کارمزد ائتمالی: {fee}",
"refill": "پور کردن",
"refill_external": "پور کردن وا کیف پیلٛ خارجی",
"refill_lnd_balance": "پور کردن مۉجۊدی کیف پیلٛ لایتنینگ",
"can_send": "مؽتونه کلٛ بکه",
"can_receive": "مؽتونه بگره"
},
"lndViewInvoice": {
"additional_info": "دونسمنیا بؽشتر",
"for": "سی:",
"lightning_invoice": "سۊرت هساو لایتنینگ",
"open_direct_channel": "تورگه موستقیمی وا اؽ گره واز بکو:",
"sats": "ساتۊشی پرداخت بکو.",
"wasnt_paid_and_expired": "اؽ سۊرت هساو پرداخت نبیه ۉ مونقزی بیه."
},
"plausibledeniability": {
"password_should_not_match": "رزم ها وه کار مؽره. یه رزم هنی نه وه کار بیر.",
"passwords_do_not_match": "رزمیات چی یک نؽسن، دۏورته امتهانشو بکو.",
"retype_password": "رزمن دۏورته هؽل بکو",
"success": "مۏوفق بی"
},
"pleasebackup": {
"ask_no": "نه، مه نارم.",
"ask_yes": "ٱ، مه دارم."
},
"receive": {
"details_setAmount": "گرؽتن وا مقدار",
"details_share": "یک رسونی",
"header": "گرتن"
},
"send": {
"broadcastError": "ختا",
"broadcastSuccess": "مۏوفق بی",
"confirm_header": "تایید",
"confirm_sendNow": "هه ایسه کلٛ بکو",
"create_amount": "مقدار",
"create_copy": "لٛف گری ۉ دماتر مونتشر بکو",
"create_fee": "کارمزد",
"create_memo": "ویرداشت",
"create_satoshi_per_vbyte": "ساتۊشی سی هر بایت مجازی",
"create_to": "وه",
"details_address": "آدرس",
"details_note_placeholder": "ویرداشت وه خوت",
"details_scan": "اسکن",
"details_unrecognized_file_format": "قالو فایل نشناخته",
"dynamic_init": "ها ره موفته",
"fee_10m": "10 دیقه",
"fee_1d": "1 رۊز",
"fee_3h": "3 ساعت",
"fee_fast": "زلٛ",
"fee_medium": "مؽنجا",
"header": "کلٛ کردن",
"psbt_sign": "امزا کردن تراکونش",
"permission_storage_later": "دماتر دم بپورس."
},
"settings": {
"about_selftest": "ره ونن خوش آزمایی",
"about_selftest_electrum_disabled": "خوش آزمایی د هالت آفلاین د دسرس نؽ. هالت آفلاینن قیر فعال بکو ۉ دۏورته تفره بکو.",
"about_sm_github": "گیت هاب",
"about_sm_discord": "سرور دیسکورد",
"about_sm_telegram": "تورگه تلگرام",
"advanced_options": "گژکیا پؽش رته",
"biometrics": "بیومتریک",
"biom_conf_identity": "هوویت خوتونه تایید بکؽت.",
"currency": "واهد پیلٛ",
"currency_source": "قیمت گرته بیه د",
"default_info": "دونسمنیا پؽش فرز",
"default_title": "موقه ره ونن",
"electrum_offline_mode": "هالت آفلاین",
"use_ssl": "SSL نه وه کار بییر",
"set_electrum_server_as_default": "{server} سی سرور پؽش فرز الکترام ساموݩ بۊئه؟",
"set_lndhub_as_default": "{server} سی سرور پؽش فرز LNDHub ساموݩ بۊئه؟",
"electrum_settings_server": "سرور الکترام",
"electrum_status": "وزیت",
"electrum_clear_alert_title": "ویرگار پاک بۊئه؟",
"electrum_clear_alert_message": "مؽهای ویرگار سرور الکترامن پاک بکی؟",
"electrum_clear_alert_cancel": "لقو",
"electrum_clear_alert_ok": "خو",
"electrum_history": "ویرگار سرور",
"encrypt_title": "امنیت",
"encrypt_use": "{type} نه وه کار بییر",
"general_adv_mode": "هالت پؽش رته",
"header": "سامونیا",
"language": "زوݩ",
"lightning_settings": "سامونیا لایتنینگ",
"network": "شبکه",
"network_electrum": "سرور الکترام",
"notifications": "وارسونیا",
"password": "رزم",
"privacy": "سی خومی",
"privacy_read_clipboard": "ونن ویرگه",
"privacy_system_settings": "سامونیا دسگا",
"rate": "نرخ",
"retype_password": "رزمن دۏورته هؽل بکو",
"widgets": "اوزارکیا",
"tools": "اوزاریا"
},
"notifications": {
"ask_me_later": "دماتر دم بپورس."
},
"transactions": {
"copy_link": "لٛف گری لینگ",
"details_copy": "لٛف گری",
"date": "ویرگار",
"details_received": "گرته بیه"
},
"wallets": {
"add_bitcoin": "بیت کوین",
"details_address": "آدرس",
"details_advanced": "پؽش رته"
},
"multisig": {
"confirm": "تایید",
"header": "کلٛ کردن",
"share": "یک رسونی",
"co_sign_transaction": "امزا کردن تراکونش",
"of": "د",
"ms_help_title5": "هالت پؽش رته"
},
"addresses": {
"sign_placeholder_address": "آدرس",
"type_receive": "گرتن"
}
}

View file

@ -410,7 +410,6 @@
"no_ln_wallet_error": "Før du betaler en Lightning-faktura, må du først legge til en Lightning-lommebok.",
"looks_like_bip38": "Dette ser ut som en passordbeskyttet privat nøkkel (BIP38).",
"reorder_title": "Omorganisere Lommebøker",
"reorder_instructions": "Trykk og hold en lommebok for å dra den rundt på listen.",
"please_continue_scanning": "Vennligst fortsett å skanne.",
"select_no_bitcoin": "Det er for øyeblikket ingen tilgjengelige Bitcoin-lommebøker.",
"select_no_bitcoin_exp": "En Bitcoin-lommebok kreves for å fylle Lightning-lommebøker. Opprett eller importer en.",

View file

@ -8,13 +8,21 @@
"never": "Nooit",
"of": "{number} van {total}",
"ok": "Oké",
"storage_is_encrypted": "Uw opslag is versleuteld. Wachtwoord is vereist om het te ontcijferen",
"storage_is_encrypted": "Uw opslag is versleuteld. Wachtwoord is vereist om te ontcijferen.",
"yes": "Ja",
"no": "Nee",
"save": "Opslaan",
"seed": "Seed",
"success": "Succes",
"wallet_key": "Wallet sleutel"
"wallet_key": "Wallet sleutel",
"close": "Sluit",
"change_input_currency": "Verandere invoer valuta",
"refresh": "Vernieuw",
"more": "Meer",
"pick_image": "Kies afbeelding uit bilbiotheek.",
"pick_file": "Kies een bestand.",
"enter_amount": "Voer bedrag in",
"qr_custom_input_button": "Tik 10 keer om aangepaste invoer in te geven"
},
"alert": {
"default": "Melding"
@ -46,6 +54,7 @@
"claim_balance": "Saldo claimen {balance}",
"close_channel": "Sluit kanaal",
"new_channel": "Nieuw kanaal",
"errorInvoiceExpired": "Factuur verlopen.",
"force_close_channel": "Het sluiten van een kanaal forceren?",
"expired": "Verlopen",
"node_alias": "Node alias",

View file

@ -271,6 +271,7 @@
"encrypt_tstorage": "Schowek",
"encrypt_use": "Użyj {type}",
"encrypt_use_expl": "{type} będzie użyty w celu potwierdzenia Twojej tożsamości przed wykonaniem transakcji, odblokowaniem, eksportem lub usunięciem portfela. {type} nie będzie użyty do odblokowanie danych zaszyfrowanych.",
"biometrics_fail": "Jeśli {type} nie jest włączony lub nie udaje się odblokować, możesz alternatywnie użyć kodu dostępu swojego urządzenia.",
"general": "Ogólne",
"general_adv_mode": "Tryb zaawansowany",
"general_adv_mode_e": "Gdy włączone, zobaczysz zaawansowane ustawienia takie jak np. różne typy portfeli, zdolność do określenia instancji LNDHub, z którą chcesz się połączyć oraz niestandardowej entropii w trakcie tworzenia portfela.",
@ -514,6 +515,7 @@
"i_have_mnemonics": "Mam ziarno dla tego klucza",
"type_your_mnemonics": "Wprowadź ziarno by zaimportować Twój istniejący klucz Skarbca.",
"this_is_cosigners_xpub": "To jest XPUB współsygnatariusza — gotowy do zaimportowania do innego portfela. Udostępniaine go jest bezpieczne.",
"this_is_cosigners_xpub_airdrop": "Jeśli udostępniasz za pomocą AirDrop, odbiorcy muszą znajdować się na ekranie koordynacji.",
"wallet_key_created": "Twój klucz Skarbca został utworzony. Poświęć chwilę by zrobić kopię bezpieczeństwa Twojego wyrażenia mnemonicznego.",
"are_you_sure_seed_will_be_lost": "Czy na pewno? Twoje wyrażenie mnemoniczne zostanie utracone jeśli nie masz kopii bezpieczeństwa.",
"forget_this_seed": "Zapomnij to ziarno i w zamian użyj XPUB.",

View file

@ -271,6 +271,7 @@
"encrypt_tstorage": "Armazenamento",
"encrypt_use": "Usar {type}",
"encrypt_use_expl": "{type} será usado para confirmar sua identidade antes de fazer uma transação, desbloquear, exportar ou deletar uma carteira. {type} não será usado para desbloquear armazenamento encriptado.",
"biometrics_fail": "Se {type} não estiver habilitado ou falhar ao desbloquear, você pode usar o código de acesso do seu dispositivo como alternativa.",
"general": "Geral",
"general_adv_mode": "Modo Avançado",
"general_adv_mode_e": "Quando ativado, você verá opções avançadas, como diferentes tipos de carteira, a capacidade de especificar a instância do LNDHub à qual deseja se conectar e a entropia personalizada durante a criação da carteira.",
@ -281,6 +282,7 @@
"language": "Idioma",
"last_updated": "Última Atualização",
"language_isRTL": "É necessário reiniciar a BlueWallet para que a nova orientação linguística seja ativada.",
"license": "Licença",
"lightning_error_lndhub_uri": "URI LNDHub inválida",
"lightning_saved": "Suas alterações foram salvas com sucesso.",
"lightning_settings": "Configurações Lightning",
@ -513,6 +515,7 @@
"i_have_mnemonics": "Eu tenho uma seed para esta chave...",
"type_your_mnemonics": "Insira uma seed para importar a sua chave do Cofre",
"this_is_cosigners_xpub": "Este é o XPUB da coassinatura—pronto para ser importado para outra carteira. É seguro compartilhá-la .",
"this_is_cosigners_xpub_airdrop": "Se você compartilhar via AirDrop, os recebedores devem estar na tela de coordenação.",
"wallet_key_created": "Sua chave do Cofre foi criada. Reserve um momento para fazer backup com segurança de sua seed.",
"are_you_sure_seed_will_be_lost": "Você tem certeza? Sua seed mnemônica será perdida se você não tiver um backup",
"forget_this_seed": "Esquecer esta seed e usar a XPUB no lugar.",

View file

@ -87,7 +87,6 @@
"open_direct_channel": "Открыть канал с этой нодой:",
"please_pay_between_and": "Оплатите от {min} до {max}",
"please_pay": "Пожалуйста, оплатите",
"preimage": "",
"sats": "sats",
"wasnt_paid_and_expired": "Этот инвойс не был оплачен и просрочен"
},
@ -477,8 +476,6 @@
"header": "Отправить",
"share": "Поделиться",
"view": "Посмотреть",
"shared_key_detected": "",
"shared_key_detected_question": "",
"manage_keys": "Управление ключами",
"how_many_signatures_can_bluewallet_make": "количество подписей, которое может сделать BlueWallet",
"signatures_required_to_spend": "Необходимо {number} подписей ",
@ -548,8 +545,7 @@
"autofill_word": {
"title": "Сгенерировать финальное мнемоническое слово",
"enter": "Введите вашу неполную мнемоническую фразу",
"generate_word": "Сгенерируйте финальное слово",
"error": ""
"generate_word": "Сгенерируйте финальное слово"
},
"cc": {
"change": "Сдача",
@ -572,7 +568,6 @@
},
"addresses": {
"copy_private_key": "Копировать приватный ключ",
"sensitive_private_key": "",
"sign_title": "Подписать/Проверить сообщение",
"sign_help": "Здесь вы можете создать или проверить криптографическую подпись на основе адреса Bitcoin.",
"sign_sign": "Подписать",

View file

@ -405,7 +405,6 @@
"no_ln_wallet_error": "අකුණු ඉන්වොයිසියක් ගෙවීමට පෙර, ඔබ මුලින්ම අකුණු පසුම්බියක් එකතු කළ යුතුය.",
"looks_like_bip38": "මෙය මුරපදයකින් ආරක්‍ෂිත පුද්ගලික යතුරක් ලෙස පෙනේ (BIP38).",
"reorder_title": "පසුම්බි නැවත ඇණවුම් කරන්න",
"reorder_instructions": "ලැයිස්තුව හරහා ඇදගෙන යාමට පසුම්බියක් මත තට්ටු කර අල්ලාගෙන සිටින්න.",
"please_continue_scanning": "කරුණාකර ස්කෑන් කිරීම දිගටම කරගෙන යන්න.",
"select_no_bitcoin": "දැනට බිට්කොයින් පසුම්බි නොමැත.",
"select_no_bitcoin_exp": "ලයිට්නින් පසුම්බි නැවත පිරවීම සඳහා බිට්කොයින් පසුම්බියක් අවශ්‍ය වේ. කරුණාකර එකක් සාදා හෝ ආයාත කරන්න.",

View file

@ -414,7 +414,6 @@
"no_ln_wallet_error": "Za plačilo Lightning računa, morate najprej dodati Lightning denarnico.",
"looks_like_bip38": "Zasebni ključ je verjetno zaščiten z geslom (BIP38)",
"reorder_title": "Preureditev Denarnic",
"reorder_instructions": "Tapnite in pridržite denarnico, da jo povlečete po seznamu.",
"please_continue_scanning": "Nadaljujte s skeniranjem",
"select_no_bitcoin": "Trenutno ni na voljo nobena Bitcoin denarnica.",
"select_no_bitcoin_exp": "Za napolnitev Lightning denarnic je potrebna Bitcoin denarnica. Ustvarite ali uvozite denarnico.",

View file

@ -429,7 +429,6 @@
"no_ln_wallet_error": "Innan du betalar en Lightning-faktura måste du först lägga till en Lightning-plånbok.",
"looks_like_bip38": "Detta ser ut som en lösenordsskyddad privat nyckel (BIP38).",
"reorder_title": "Sortera plånböcker",
"reorder_instructions": "Tryck och håll kvar en plånbok för att dra den över listan.",
"please_continue_scanning": "Fortsätt att skanna.",
"select_no_bitcoin": "Det finns för närvarande inga tillgängliga Bitcoin-plånböcker.",
"select_no_bitcoin_exp": "En Bitcoin-plånbok krävs för att fylla på Lightning-plånböcker. Vänligen skapa eller importera en.",

View file

@ -423,7 +423,6 @@
"no_ln_wallet_error": "Trước khi thanh toán hoá đơn Lightning, đầu tiên bạn phải thêm một ví Lightning.",
"looks_like_bip38": "Cái này trông giống một khoá cá nhân được bảo vệ bằng mật khẩu (BIP38).",
"reorder_title": "Sắp xếp lại các vị",
"reorder_instructions": "Chạm và giữ một ví để kéo nó trong danh sách.",
"please_continue_scanning": "Vui lòng quét tiếp.",
"select_no_bitcoin": "Hiện tại không có ví Bitcoin có sẵn.",
"select_no_bitcoin_exp": "Bạn phải sử dụng ví Bitcoin đễ nạp tiền vào ví Lightning. Hãy tạo hoặc nhập một ví Bitcoin.",

View file

@ -4,24 +4,22 @@
*
* @format
*/
const path = require('path');
const exclusionList = require('metro-config/src/defaults/exclusionList');
module.exports = {
resolver: {
blockList: exclusionList([
// This stops "react-native run-windows" from causing the metro server to crash if its already running
new RegExp(`${path.resolve(__dirname, 'windows').replace(/[/\\]/g, '/')}.*`),
// This prevents "react-native run-windows" from hitting: EBUSY: resource busy or locked, open msbuild.ProjectImports.zip
/.*\.ProjectImports\.zip/,
]),
},
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: true,
},
}),
},
const { getDefaultConfig } = require('@react-native/metro-config');
// Get the default Metro configuration.
const defaultConfig = getDefaultConfig(__dirname);
// If you have transformer settings to modify, you can do that here:
defaultConfig.transformer = {
...defaultConfig.transformer,
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: true,
},
}),
};
// Export the updated configuration.
module.exports = defaultConfig;

180
package-lock.json generated
View file

@ -1,17 +1,17 @@
{
"name": "bluewallet",
"version": "6.5.8",
"version": "6.5.9",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "bluewallet",
"version": "6.5.8",
"version": "6.5.9",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
"@babel/preset-env": "^7.20.0",
"@bugsnag/react-native": "7.22.5",
"@bugsnag/react-native": "7.22.6",
"@bugsnag/source-maps": "2.3.2",
"@keystonehq/bc-ur-registry": "0.6.4",
"@ngraveio/bc-ur": "1.1.6",
@ -19,9 +19,9 @@
"@react-native-async-storage/async-storage": "1.22.3",
"@react-native-clipboard/clipboard": "1.13.2",
"@react-native-community/push-notification-ios": "1.11.0",
"@react-navigation/drawer": "6.6.11",
"@react-navigation/native": "6.1.14",
"@react-navigation/native-stack": "6.9.22",
"@react-navigation/drawer": "6.6.13",
"@react-navigation/native": "6.1.15",
"@react-navigation/native-stack": "6.9.24",
"@remobile/react-native-qrcode-local-image": "https://github.com/BlueWallet/react-native-qrcode-local-image",
"@spsina/bip47": "github:BlueWallet/bip47#0a2f02c90350802f2ec93afa4e6c8843be2d687c",
"aezeed": "0.0.5",
@ -88,7 +88,7 @@
"react-native-quick-actions": "0.3.13",
"react-native-randombytes": "3.6.1",
"react-native-rate": "1.2.12",
"react-native-reanimated": "3.7.2",
"react-native-reanimated": "3.8.0",
"react-native-safe-area-context": "4.9.0",
"react-native-screens": "3.29.0",
"react-native-secure-key-store": "https://github.com/BlueWallet/react-native-secure-key-store#2076b48",
@ -100,7 +100,7 @@
"react-native-webview": "13.8.1",
"react-native-widget-center": "https://github.com/BlueWallet/react-native-widget-center#a128c38",
"readable-stream": "3.6.2",
"realm": "12.6.0",
"realm": "12.6.2",
"rn-nodeify": "10.3.0",
"scryptsy": "2.1.0",
"slip39": "https://github.com/BlueWallet/slip39-js",
@ -1508,20 +1508,6 @@
"@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-object-assign": {
"version": "7.23.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.23.3.tgz",
"integrity": "sha512-TPJ6O7gVC2rlQH2hvQGRH273G1xdoloCj9Pc07Q7JbIZYDi+Sv5gaE2fu+r5E7qK4zyt6vj0FbZaZTRU5C3OMA==",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-object-rest-spread": {
"version": "7.23.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz",
@ -2259,9 +2245,9 @@
}
},
"node_modules/@bugsnag/react-native": {
"version": "7.22.5",
"resolved": "https://registry.npmjs.org/@bugsnag/react-native/-/react-native-7.22.5.tgz",
"integrity": "sha512-ZEDVfSZBxVTloFP3zkMW4xd3bEHD0R7/UNfsqTAYm2mAWLlNpMIcn6xKFdUSoMKFk0LUGwEy+7a0T2IUThL4ow==",
"version": "7.22.6",
"resolved": "https://registry.npmjs.org/@bugsnag/react-native/-/react-native-7.22.6.tgz",
"integrity": "sha512-0TVul4cN0VVNzKkiiZTmmSNtFoOC5SGCW2ncikdF1sijc5IsavXDRemVMfLGg1xm0w3BWNsUjujmrmGCvkLxLA==",
"dependencies": {
"@bugsnag/core": "^7.19.0",
"@bugsnag/delivery-react-native": "^7.22.3",
@ -6361,9 +6347,9 @@
}
},
"node_modules/@react-navigation/core": {
"version": "6.4.13",
"resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.13.tgz",
"integrity": "sha512-RBUpNG11SEYfvvWefJPxz8Xu/feWuPxln7ddRSY92aKs7u6fj/Z694Jun76Gmmw/RIHW6xcu3PH2v3Wm8nbumg==",
"version": "6.4.14",
"resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.14.tgz",
"integrity": "sha512-9DemQVmztRspTH4CRexLNfbJSOhiv6DHumH8enqiXUTgUEYfQUu2qCsEuc/ui08kuYLtoRTdH9P1ovE2xTScbg==",
"dependencies": {
"@react-navigation/routers": "^6.1.9",
"escape-string-regexp": "^4.0.0",
@ -6377,11 +6363,11 @@
}
},
"node_modules/@react-navigation/drawer": {
"version": "6.6.11",
"resolved": "https://registry.npmjs.org/@react-navigation/drawer/-/drawer-6.6.11.tgz",
"integrity": "sha512-UTrgz5HJjpLt8aHZFH1mETEazwUEEVV8bJ+jaOpTl/FgwCHLCkQHZAydnZETK7fPiik3lmu2lJO1Nasl0LwZoA==",
"version": "6.6.13",
"resolved": "https://registry.npmjs.org/@react-navigation/drawer/-/drawer-6.6.13.tgz",
"integrity": "sha512-fMHucgHqY+n8cOR/GgIK6sYs/L1jnaOEiDcH4lmmPJYSDwKy+Srjl32Z5v1/OG2dzgtMyKFxz2/QfMPas8PQaA==",
"dependencies": {
"@react-navigation/elements": "^1.3.26",
"@react-navigation/elements": "^1.3.28",
"color": "^4.2.3",
"warn-once": "^0.1.0"
},
@ -6396,9 +6382,9 @@
}
},
"node_modules/@react-navigation/elements": {
"version": "1.3.26",
"resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.26.tgz",
"integrity": "sha512-9rSY7MD6etU3M3j/OYUvtg4eBqABlkS39iJwwQheE89pSa9QyvXbJSsz/bUBEjFWwsOYxTVzj27bc7ulrDVWgw==",
"version": "1.3.28",
"resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.28.tgz",
"integrity": "sha512-pLKI8RsCuBAXaeTVjJo/ZeOFdZLiJXsnT5DoSpRUCq+B10b53kAI+F1sHhMShB8ALaNPD6RvB45zL8aCBwpuyA==",
"peerDependencies": {
"@react-navigation/native": "^6.0.0",
"react": "*",
@ -6407,11 +6393,11 @@
}
},
"node_modules/@react-navigation/native": {
"version": "6.1.14",
"resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.14.tgz",
"integrity": "sha512-nCrVi4cHXx6VnXV8fj+lLb8zjLt1LZkpxudhfV/i1KstgaoGzh9FgFDIvbWONGE8f403FIsYUnZxKHvN7asp1w==",
"version": "6.1.15",
"resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.15.tgz",
"integrity": "sha512-NOZH+uCZk3l+Uiy5/RKMyl+JI+OVBrrQ2SAK2Br8o2MsElPqe96TtvzeKzOAoiHfoHnwCyjdD7D66ODNYPSwDw==",
"dependencies": {
"@react-navigation/core": "^6.4.13",
"@react-navigation/core": "^6.4.14",
"escape-string-regexp": "^4.0.0",
"fast-deep-equal": "^3.1.3",
"nanoid": "^3.1.23"
@ -6422,11 +6408,11 @@
}
},
"node_modules/@react-navigation/native-stack": {
"version": "6.9.22",
"resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.22.tgz",
"integrity": "sha512-1GGztUWXY+lbsIYkGV3HCYBF7qIOHnx663csgXArzunk8CcWNsUYwM7k1/Ql8e2LyvJtdjE3OS4fjLh+d72/YA==",
"version": "6.9.24",
"resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.24.tgz",
"integrity": "sha512-+UpruwDcaELmd8cGk8XUDVKFrTMN0x+FbtwNQ7if/hJKbaMg6c43rPtjtiMFX/ycYW7J3owwJ8rcCmU4M7S4Aw==",
"dependencies": {
"@react-navigation/elements": "^1.3.26",
"@react-navigation/elements": "^1.3.28",
"warn-once": "^0.1.0"
},
"peerDependencies": {
@ -6445,6 +6431,14 @@
"nanoid": "^3.1.23"
}
},
"node_modules/@realm/fetch": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/@realm/fetch/-/fetch-0.1.1.tgz",
"integrity": "sha512-hkTprw79RXGv54Je0DrjpQPLaz4QID2dO3FmthAQQWAkqwyrqMzrCGzJzLlmTKWZFsgLrN8KQyNewod27P+nJg==",
"engines": {
"node": ">=18"
}
},
"node_modules/@remobile/react-native-qrcode-local-image": {
"version": "1.0.4",
"resolved": "git+ssh://git@github.com/BlueWallet/react-native-qrcode-local-image.git#31b0113110fbafcf5a5f3ca4183a563550f5c352",
@ -19880,22 +19874,21 @@
}
},
"node_modules/react-native-reanimated": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.7.2.tgz",
"integrity": "sha512-3KpTmYEcmHhkZeTqgWtioqnljpd4TLxKHClvarYsA3UXU2Tv+O1gqlRhVhfHBZuiDngVu436gWkde9+/VQVMFQ==",
"version": "3.8.0",
"resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.8.0.tgz",
"integrity": "sha512-xoG4+nf+lSmzv37mjTUIT0gYNEIr2Mb8WXgmqR8deCJk8CC6lXT0HRpshTPVAF00LvdzrD2W/rCpiBdHN5FW2w==",
"dependencies": {
"@babel/plugin-transform-object-assign": "^7.16.7",
"@babel/plugin-transform-arrow-functions": "^7.0.0-0",
"@babel/plugin-transform-nullish-coalescing-operator": "^7.0.0-0",
"@babel/plugin-transform-optional-chaining": "^7.0.0-0",
"@babel/plugin-transform-shorthand-properties": "^7.0.0-0",
"@babel/plugin-transform-template-literals": "^7.0.0-0",
"@babel/preset-typescript": "^7.16.7",
"convert-source-map": "^2.0.0",
"invariant": "^2.2.4"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0-0",
"@babel/plugin-proposal-optional-chaining": "^7.0.0-0",
"@babel/plugin-transform-arrow-functions": "^7.0.0-0",
"@babel/plugin-transform-shorthand-properties": "^7.0.0-0",
"@babel/plugin-transform-template-literals": "^7.0.0-0",
"react": "*",
"react-native": "*"
}
@ -20320,14 +20313,16 @@
"integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg=="
},
"node_modules/realm": {
"version": "12.6.0",
"resolved": "https://registry.npmjs.org/realm/-/realm-12.6.0.tgz",
"integrity": "sha512-lwixjVE8uiHXqRggJ9DwCxy3P1I0SUGBFG3dLQnXT20o6PdDVpXsTgE82m0svviKyDLs8yb5hLim5HRcHkH5rA==",
"version": "12.6.2",
"resolved": "https://registry.npmjs.org/realm/-/realm-12.6.2.tgz",
"integrity": "sha512-6ICUaKHNeiEAwVIKC3AkCDTCVEtpkFAVeWvmUVdmVIUjcY/+2cMLe/tgFpLcY7pEB/n1EUg3pVyUBcVuMvwdqg==",
"hasInstallScript": true,
"dependencies": {
"@realm/fetch": "^0.1.1",
"bson": "^4.7.2",
"debug": "^4.3.4",
"node-machine-id": "^1.1.12",
"path-browserify": "^1.0.1",
"prebuild-install": "^7.1.1"
},
"engines": {
@ -23693,14 +23688,6 @@
"@babel/plugin-syntax-numeric-separator": "^7.10.4"
}
},
"@babel/plugin-transform-object-assign": {
"version": "7.23.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.23.3.tgz",
"integrity": "sha512-TPJ6O7gVC2rlQH2hvQGRH273G1xdoloCj9Pc07Q7JbIZYDi+Sv5gaE2fu+r5E7qK4zyt6vj0FbZaZTRU5C3OMA==",
"requires": {
"@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-transform-object-rest-spread": {
"version": "7.23.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz",
@ -24210,9 +24197,9 @@
"integrity": "sha512-+XDk0OoeM6MZhBh7kEalbRwFuhCZST6Y1jOostfz0fhrmT4FdgQYi1FWcPNsUTcjqv7M48pOFZNx8yWI0lGaYg=="
},
"@bugsnag/react-native": {
"version": "7.22.5",
"resolved": "https://registry.npmjs.org/@bugsnag/react-native/-/react-native-7.22.5.tgz",
"integrity": "sha512-ZEDVfSZBxVTloFP3zkMW4xd3bEHD0R7/UNfsqTAYm2mAWLlNpMIcn6xKFdUSoMKFk0LUGwEy+7a0T2IUThL4ow==",
"version": "7.22.6",
"resolved": "https://registry.npmjs.org/@bugsnag/react-native/-/react-native-7.22.6.tgz",
"integrity": "sha512-0TVul4cN0VVNzKkiiZTmmSNtFoOC5SGCW2ncikdF1sijc5IsavXDRemVMfLGg1xm0w3BWNsUjujmrmGCvkLxLA==",
"requires": {
"@bugsnag/core": "^7.19.0",
"@bugsnag/delivery-react-native": "^7.22.3",
@ -27328,9 +27315,9 @@
}
},
"@react-navigation/core": {
"version": "6.4.13",
"resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.13.tgz",
"integrity": "sha512-RBUpNG11SEYfvvWefJPxz8Xu/feWuPxln7ddRSY92aKs7u6fj/Z694Jun76Gmmw/RIHW6xcu3PH2v3Wm8nbumg==",
"version": "6.4.14",
"resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.14.tgz",
"integrity": "sha512-9DemQVmztRspTH4CRexLNfbJSOhiv6DHumH8enqiXUTgUEYfQUu2qCsEuc/ui08kuYLtoRTdH9P1ovE2xTScbg==",
"requires": {
"@react-navigation/routers": "^6.1.9",
"escape-string-regexp": "^4.0.0",
@ -27341,37 +27328,37 @@
}
},
"@react-navigation/drawer": {
"version": "6.6.11",
"resolved": "https://registry.npmjs.org/@react-navigation/drawer/-/drawer-6.6.11.tgz",
"integrity": "sha512-UTrgz5HJjpLt8aHZFH1mETEazwUEEVV8bJ+jaOpTl/FgwCHLCkQHZAydnZETK7fPiik3lmu2lJO1Nasl0LwZoA==",
"version": "6.6.13",
"resolved": "https://registry.npmjs.org/@react-navigation/drawer/-/drawer-6.6.13.tgz",
"integrity": "sha512-fMHucgHqY+n8cOR/GgIK6sYs/L1jnaOEiDcH4lmmPJYSDwKy+Srjl32Z5v1/OG2dzgtMyKFxz2/QfMPas8PQaA==",
"requires": {
"@react-navigation/elements": "^1.3.26",
"@react-navigation/elements": "^1.3.28",
"color": "^4.2.3",
"warn-once": "^0.1.0"
}
},
"@react-navigation/elements": {
"version": "1.3.26",
"resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.26.tgz",
"integrity": "sha512-9rSY7MD6etU3M3j/OYUvtg4eBqABlkS39iJwwQheE89pSa9QyvXbJSsz/bUBEjFWwsOYxTVzj27bc7ulrDVWgw=="
"version": "1.3.28",
"resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.28.tgz",
"integrity": "sha512-pLKI8RsCuBAXaeTVjJo/ZeOFdZLiJXsnT5DoSpRUCq+B10b53kAI+F1sHhMShB8ALaNPD6RvB45zL8aCBwpuyA=="
},
"@react-navigation/native": {
"version": "6.1.14",
"resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.14.tgz",
"integrity": "sha512-nCrVi4cHXx6VnXV8fj+lLb8zjLt1LZkpxudhfV/i1KstgaoGzh9FgFDIvbWONGE8f403FIsYUnZxKHvN7asp1w==",
"version": "6.1.15",
"resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.15.tgz",
"integrity": "sha512-NOZH+uCZk3l+Uiy5/RKMyl+JI+OVBrrQ2SAK2Br8o2MsElPqe96TtvzeKzOAoiHfoHnwCyjdD7D66ODNYPSwDw==",
"requires": {
"@react-navigation/core": "^6.4.13",
"@react-navigation/core": "^6.4.14",
"escape-string-regexp": "^4.0.0",
"fast-deep-equal": "^3.1.3",
"nanoid": "^3.1.23"
}
},
"@react-navigation/native-stack": {
"version": "6.9.22",
"resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.22.tgz",
"integrity": "sha512-1GGztUWXY+lbsIYkGV3HCYBF7qIOHnx663csgXArzunk8CcWNsUYwM7k1/Ql8e2LyvJtdjE3OS4fjLh+d72/YA==",
"version": "6.9.24",
"resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.24.tgz",
"integrity": "sha512-+UpruwDcaELmd8cGk8XUDVKFrTMN0x+FbtwNQ7if/hJKbaMg6c43rPtjtiMFX/ycYW7J3owwJ8rcCmU4M7S4Aw==",
"requires": {
"@react-navigation/elements": "^1.3.26",
"@react-navigation/elements": "^1.3.28",
"warn-once": "^0.1.0"
}
},
@ -27383,6 +27370,11 @@
"nanoid": "^3.1.23"
}
},
"@realm/fetch": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/@realm/fetch/-/fetch-0.1.1.tgz",
"integrity": "sha512-hkTprw79RXGv54Je0DrjpQPLaz4QID2dO3FmthAQQWAkqwyrqMzrCGzJzLlmTKWZFsgLrN8KQyNewod27P+nJg=="
},
"@remobile/react-native-qrcode-local-image": {
"version": "git+ssh://git@github.com/BlueWallet/react-native-qrcode-local-image.git#31b0113110fbafcf5a5f3ca4183a563550f5c352",
"from": "@remobile/react-native-qrcode-local-image@https://github.com/BlueWallet/react-native-qrcode-local-image"
@ -37598,11 +37590,15 @@
}
},
"react-native-reanimated": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.7.2.tgz",
"integrity": "sha512-3KpTmYEcmHhkZeTqgWtioqnljpd4TLxKHClvarYsA3UXU2Tv+O1gqlRhVhfHBZuiDngVu436gWkde9+/VQVMFQ==",
"version": "3.8.0",
"resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.8.0.tgz",
"integrity": "sha512-xoG4+nf+lSmzv37mjTUIT0gYNEIr2Mb8WXgmqR8deCJk8CC6lXT0HRpshTPVAF00LvdzrD2W/rCpiBdHN5FW2w==",
"requires": {
"@babel/plugin-transform-object-assign": "^7.16.7",
"@babel/plugin-transform-arrow-functions": "^7.0.0-0",
"@babel/plugin-transform-nullish-coalescing-operator": "^7.0.0-0",
"@babel/plugin-transform-optional-chaining": "^7.0.0-0",
"@babel/plugin-transform-shorthand-properties": "^7.0.0-0",
"@babel/plugin-transform-template-literals": "^7.0.0-0",
"@babel/preset-typescript": "^7.16.7",
"convert-source-map": "^2.0.0",
"invariant": "^2.2.4"
@ -37826,13 +37822,15 @@
"integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg=="
},
"realm": {
"version": "12.6.0",
"resolved": "https://registry.npmjs.org/realm/-/realm-12.6.0.tgz",
"integrity": "sha512-lwixjVE8uiHXqRggJ9DwCxy3P1I0SUGBFG3dLQnXT20o6PdDVpXsTgE82m0svviKyDLs8yb5hLim5HRcHkH5rA==",
"version": "12.6.2",
"resolved": "https://registry.npmjs.org/realm/-/realm-12.6.2.tgz",
"integrity": "sha512-6ICUaKHNeiEAwVIKC3AkCDTCVEtpkFAVeWvmUVdmVIUjcY/+2cMLe/tgFpLcY7pEB/n1EUg3pVyUBcVuMvwdqg==",
"requires": {
"@realm/fetch": "^0.1.1",
"bson": "^4.7.2",
"debug": "^4.3.4",
"node-machine-id": "^1.1.12",
"path-browserify": "^1.0.1",
"prebuild-install": "^7.1.1"
}
},

View file

@ -1,6 +1,6 @@
{
"name": "bluewallet",
"version": "6.5.8",
"version": "6.5.9",
"license": "MIT",
"repository": {
"type": "git",
@ -97,7 +97,7 @@
},
"dependencies": {
"@babel/preset-env": "^7.20.0",
"@bugsnag/react-native": "7.22.5",
"@bugsnag/react-native": "7.22.6",
"@bugsnag/source-maps": "2.3.2",
"@keystonehq/bc-ur-registry": "0.6.4",
"@ngraveio/bc-ur": "1.1.6",
@ -105,9 +105,9 @@
"@react-native-async-storage/async-storage": "1.22.3",
"@react-native-clipboard/clipboard": "1.13.2",
"@react-native-community/push-notification-ios": "1.11.0",
"@react-navigation/drawer": "6.6.11",
"@react-navigation/native": "6.1.14",
"@react-navigation/native-stack": "6.9.22",
"@react-navigation/drawer": "6.6.13",
"@react-navigation/native": "6.1.15",
"@react-navigation/native-stack": "6.9.24",
"@remobile/react-native-qrcode-local-image": "https://github.com/BlueWallet/react-native-qrcode-local-image",
"@spsina/bip47": "github:BlueWallet/bip47#0a2f02c90350802f2ec93afa4e6c8843be2d687c",
"aezeed": "0.0.5",
@ -174,7 +174,7 @@
"react-native-quick-actions": "0.3.13",
"react-native-randombytes": "3.6.1",
"react-native-rate": "1.2.12",
"react-native-reanimated": "3.7.2",
"react-native-reanimated": "3.8.0",
"react-native-safe-area-context": "4.9.0",
"react-native-screens": "3.29.0",
"react-native-secure-key-store": "https://github.com/BlueWallet/react-native-secure-key-store#2076b48",
@ -186,7 +186,7 @@
"react-native-webview": "13.8.1",
"react-native-widget-center": "https://github.com/BlueWallet/react-native-widget-center#a128c38",
"readable-stream": "3.6.2",
"realm": "12.6.0",
"realm": "12.6.2",
"rn-nodeify": "10.3.0",
"scryptsy": "2.1.0",
"slip39": "https://github.com/BlueWallet/slip39-js",

View file

@ -0,0 +1,11 @@
// ActionSheet.common.ts
export interface ActionSheetOptions {
title?: string;
message?: string;
options: string[]; // Array of button labels.
destructiveButtonIndex?: number;
cancelButtonIndex?: number;
anchor?: number;
}
export type CompletionCallback = (buttonIndex: number) => void;

View file

@ -1,10 +0,0 @@
import { ActionSheetIOS, InteractionManager } from 'react-native';
export default class ActionSheet {
static showActionSheetWithOptions(options, completion) {
ActionSheetIOS.dismissActionSheet();
InteractionManager.runAfterInteractions(() => {
ActionSheetIOS.showActionSheetWithOptions(options, completion);
});
}
}

15
screen/ActionSheet.ios.ts Normal file
View file

@ -0,0 +1,15 @@
// ActionSheet.ios.ts
import { ActionSheetIOS, InteractionManager } from 'react-native';
import { ActionSheetOptions, CompletionCallback } from './ActionSheet.common';
export default class ActionSheet {
static showActionSheetWithOptions(options: ActionSheetOptions, completion: CompletionCallback): void {
InteractionManager.runAfterInteractions(() => {
const iosOptions = {
...options,
anchor: options.anchor,
};
ActionSheetIOS.showActionSheetWithOptions(iosOptions, completion);
});
}
}

View file

@ -1,9 +0,0 @@
import { Alert, InteractionManager } from 'react-native';
export default class ActionSheet {
static showActionSheetWithOptions(options) {
InteractionManager.runAfterInteractions(() => {
Alert.alert(options.title, options.message, options.buttons, { cancelable: true });
});
}
}

26
screen/ActionSheet.ts Normal file
View file

@ -0,0 +1,26 @@
// ActionSheet.ts
import { Alert, InteractionManager } from 'react-native';
import { ActionSheetOptions, CompletionCallback } from './ActionSheet.common';
export default class ActionSheet {
static showActionSheetWithOptions(options: ActionSheetOptions, completion: CompletionCallback): void {
InteractionManager.runAfterInteractions(() => {
const alertOptions = options.options.map((option, index) => {
let style: 'default' | 'cancel' | 'destructive' = 'default';
if (index === options.destructiveButtonIndex) {
style = 'destructive';
} else if (index === options.cancelButtonIndex) {
style = 'cancel';
}
return {
text: option,
onPress: () => completion(index),
style,
};
});
Alert.alert(options.title || '', options.message || '', alertOptions, { cancelable: !!options.cancelButtonIndex });
});
}
}

View file

@ -15,6 +15,7 @@ import {
Switch,
Text,
View,
findNodeHandle,
} from 'react-native';
import { Badge, Icon } from 'react-native-elements';
import {
@ -48,6 +49,8 @@ import { useTheme } from '../../components/themes';
import { scanQrHelper } from '../../helpers/scan-qr';
import usePrivacy from '../../hooks/usePrivacy';
import loc from '../../loc';
import { isDesktop } from '../../blue_modules/environment';
import ActionSheet from '../ActionSheet';
const fs = require('../../blue_modules/fs');
const prompt = require('../../helpers/prompt');
@ -57,7 +60,7 @@ const ViewEditMultisigCosigners = ({ route }: Props) => {
const hasLoaded = useRef(false);
const { colors } = useTheme();
const { wallets, setWalletsWithNewOrder, isElectrumDisabled, isAdvancedModeEnabled } = useContext(BlueStorageContext);
const { navigate, goBack } = useNavigation();
const { navigate, goBack, dispatch, addListener } = useNavigation();
const openScannerButtonRef = useRef();
const { walletId } = route.params;
const w = useRef(wallets.find((wallet: AbstractWallet) => wallet.getID() === walletId));
@ -77,6 +80,11 @@ const ViewEditMultisigCosigners = ({ route }: Props) => {
const [askPassphrase, setAskPassphrase] = useState(false);
const [isAdvancedModeEnabledRender, setIsAdvancedModeEnabledRender] = useState(false);
const data = useRef<any[]>();
/* discardChangesRef is only so the action sheet can be shown on mac catalyst when a
user tries to leave the screen with unsaved changes.
Why the container view ? It was the easiest to get the ref for. No other reason.
*/
const discardChangesRef = useRef<View>(null);
const { enableBlur, disableBlur } = usePrivacy();
const stylesHook = StyleSheet.create({
@ -109,6 +117,53 @@ const ViewEditMultisigCosigners = ({ route }: Props) => {
color: colors.buttonTextColor,
},
});
useFocusEffect(
useCallback(() => {
const unsubscribe = addListener('beforeRemove', e => {
// Check if there are unsaved changes
if (isSaveButtonDisabled) {
// If there are no unsaved changes, let the user leave the screen
return;
}
// Prevent the default action (going back)
e.preventDefault();
// Show an alert asking the user to discard changes or cancel
if (isDesktop) {
if (!discardChangesRef.current) return dispatch(e.data.action);
const anchor = findNodeHandle(discardChangesRef.current);
if (!anchor) return dispatch(e.data.action);
ActionSheet.showActionSheetWithOptions(
{
options: [loc._.cancel, loc._.ok],
cancelButtonIndex: 0,
title: loc._.discard_changes,
message: loc._.discard_changes_explain,
anchor,
},
buttonIndex => {
if (buttonIndex === 1) {
dispatch(e.data.action);
}
},
);
} else {
Alert.alert(loc._.discard_changes, loc._.discard_changes_explain, [
{ text: loc._.cancel, style: 'cancel', onPress: () => {} },
{
text: loc._.ok,
style: 'default',
// If the user confirms, then we dispatch the action we blocked earlier
onPress: () => dispatch(e.data.action),
},
]);
}
});
return unsubscribe;
}, [isSaveButtonDisabled, addListener, dispatch]),
);
useEffect(() => {
isAdvancedModeEnabled().then(setIsAdvancedModeEnabledRender);
@ -357,45 +412,42 @@ const ViewEditMultisigCosigners = ({ route }: Props) => {
dashes={MultipleStepsListItemDashType.topAndBottom}
/>
)}
<MultipleStepsListItem
useActionSheet
actionSheetOptions={{
options: [loc._.cancel, loc.multisig.confirm],
title: loc._.seed,
message: loc.multisig.are_you_sure_seed_will_be_lost,
cancelButtonIndex: 0,
confirmButtonIndex: 1,
}}
showActivityIndicator={vaultKeyData.keyIndex === el.index + 1 && vaultKeyData.isLoading}
dashes={el.index === length - 1 ? MultipleStepsListItemDashType.top : MultipleStepsListItemDashType.topAndBottom}
button={{
text: loc.multisig.forget_this_seed,
disabled: vaultKeyData.isLoading,
buttonType: MultipleStepsListItemButtohType.full,
onPress: () => {
Alert.alert(
loc._.seed,
loc.multisig.are_you_sure_seed_will_be_lost,
[
{
text: loc._.ok,
onPress: () => {
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
setVaultKeyData({
...vaultKeyData,
isLoading: true,
keyIndex: el.index + 1,
});
setTimeout(
() =>
xpubInsteadOfSeed(el.index + 1).finally(() => {
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
setVaultKeyData({
...vaultKeyData,
isLoading: false,
keyIndex: el.index + 1,
});
}),
100,
);
},
style: 'destructive',
},
{ text: loc._.cancel, onPress: () => {}, style: 'cancel' },
],
{ cancelable: false },
onPress: (buttonIndex: number) => {
if (buttonIndex === 0) return;
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
setVaultKeyData({
...vaultKeyData,
isLoading: true,
keyIndex: el.index + 1,
});
setTimeout(
() =>
xpubInsteadOfSeed(el.index + 1).finally(() => {
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
setVaultKeyData({
...vaultKeyData,
isLoading: false,
keyIndex: el.index + 1,
});
}),
100,
);
},
}}
@ -578,7 +630,7 @@ const ViewEditMultisigCosigners = ({ route }: Props) => {
const isPad: boolean = Platform.isPad;
return (
<View style={[styles.root, stylesHook.root]}>
<View style={[styles.root, stylesHook.root]} ref={discardChangesRef}>
<KeyboardAvoidingView
enabled={!isPad}
behavior={Platform.OS === 'ios' ? 'padding' : undefined}

View file

@ -70,8 +70,8 @@ describe('Addresses', () => {
it('Returns AddressItem object', () => {
const fakeWallet = {
_getExternalAddressByIndex: index => `external_address_${index}`,
_getInternalAddressByIndex: index => `internal_address_${index}`,
_getExternalAddressByIndex: (index: number) => `external_address_${index}`,
_getInternalAddressByIndex: (index: number) => `internal_address_${index}`,
_balances_by_external_index: [{ c: 0, u: 0 }],
_balances_by_internal_index: [{ c: 0, u: 0 }],
_txs_by_external_index: { 0: [{}] },

View file

@ -1,11 +1,11 @@
import { generateChecksumWords } from '../../blue_modules/checksumWords';
import { validateMnemonic } from '../../blue_modules/bip39';
const assert = require('assert');
import assert from 'assert';
describe('generateChecksumWords', () => {
it('generates 128 valid words for an 11 word input', () => {
const input = 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon';
const result = generateChecksumWords(input);
const result = generateChecksumWords(input) as string[];
assert.ok(result);
assert.strictEqual(result.length, 128);
@ -18,7 +18,7 @@ describe('generateChecksumWords', () => {
const input =
'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon ' +
'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon';
const result = generateChecksumWords(input);
const result = generateChecksumWords(input) as string[];
assert.ok(result);
assert.strictEqual(result.length, 8);

View file

@ -6,7 +6,7 @@ import {
satoshiToLocalCurrency,
} from '../../blue_modules/currency';
import { FiatUnit } from '../../models/fiatUnit';
const assert = require('assert');
import assert from 'assert';
describe('currency', () => {
it('formats everything correctly', async () => {

View file

@ -1,8 +1,8 @@
import ecc from '../../blue_modules/noble_ecc';
import { ECPairFactory } from 'ecpair';
const assert = require('assert');
import assert from 'assert';
const h = hex => Buffer.from(hex, 'hex');
const h = (hex: string) => Buffer.from(hex, 'hex');
describe('ecc', () => {
it('ECPair accepts noble', () => {

View file

@ -1,5 +1,5 @@
const assert = require('assert');
const c = require('../../blue_modules/encryption');
import assert from 'assert';
import * as c from '../../blue_modules/encryption';
describe('unit - encryption', function () {
it('encrypts and decrypts', function () {

View file

@ -1,5 +1,5 @@
import { HDSegwitElectrumSeedP2WPKHWallet } from '../../class';
const assert = require('assert');
import assert from 'assert';
describe('HDSegwitElectrumSeedP2WPKHWallet', () => {
it('wont accept BIP39 seed', () => {

View file

@ -38,35 +38,35 @@ describe('P2SH Segwit HD (BIP49)', () => {
it('can convert witness to address', () => {
let address = SegwitP2SHWallet.witnessToAddress('035c618df829af694cb99e664ce1b34f80ad2c3b49bcd0d9c0b1836c66b2d25fd8');
assert.strictEqual(address, '34ZVGb3gT8xMLT6fpqC6dNVqJtJmvdjbD7');
address = SegwitP2SHWallet.witnessToAddress();
address = SegwitP2SHWallet.witnessToAddress('');
assert.strictEqual(address, false);
address = SegwitP2SHWallet.witnessToAddress('trololo');
assert.strictEqual(address, false);
address = SegwitP2SHWallet.scriptPubKeyToAddress('a914e286d58e53f9247a4710e51232cce0686f16873c87');
assert.strictEqual(address, '3NLnALo49CFEF4tCRhCvz45ySSfz3UktZC');
address = SegwitP2SHWallet.scriptPubKeyToAddress();
address = SegwitP2SHWallet.scriptPubKeyToAddress('');
assert.strictEqual(address, false);
address = SegwitP2SHWallet.scriptPubKeyToAddress('trololo');
assert.strictEqual(address, false);
address = SegwitBech32Wallet.witnessToAddress('035c618df829af694cb99e664ce1b34f80ad2c3b49bcd0d9c0b1836c66b2d25fd8');
assert.strictEqual(address, 'bc1quhnve8q4tk3unhmjts7ymxv8cd6w9xv8wy29uv');
address = SegwitBech32Wallet.witnessToAddress();
address = SegwitBech32Wallet.witnessToAddress('');
assert.strictEqual(address, false);
address = SegwitBech32Wallet.witnessToAddress('trololo');
assert.strictEqual(address, false);
address = SegwitBech32Wallet.scriptPubKeyToAddress('00144d757460da5fcaf84cc22f3847faaa1078e84f6a');
assert.strictEqual(address, 'bc1qf46hgcx6tl90snxz9uuy0742zpuwsnm27ysdh7');
address = SegwitBech32Wallet.scriptPubKeyToAddress();
address = SegwitBech32Wallet.scriptPubKeyToAddress('');
assert.strictEqual(address, false);
address = SegwitBech32Wallet.scriptPubKeyToAddress('trololo');
assert.strictEqual(address, false);
address = LegacyWallet.scriptPubKeyToAddress('76a914d0b77eb1502c81c4093da9aa6eccfdf560cdd6b288ac');
assert.strictEqual(address, '1L2bNMGRQQLT2AVUek4K9L7sn3SSMioMgE');
address = LegacyWallet.scriptPubKeyToAddress();
address = LegacyWallet.scriptPubKeyToAddress('');
assert.strictEqual(address, false);
address = LegacyWallet.scriptPubKeyToAddress('trololo');
assert.strictEqual(address, false);
@ -86,7 +86,7 @@ describe('P2SH Segwit HD (BIP49)', () => {
it('can generate Segwit HD (BIP49)', async () => {
const hd = new HDSegwitP2SHWallet();
const hashmap = {};
const hashmap: Record<string, number> = {};
for (let c = 0; c < 1000; c++) {
await hd.generate();
const secret = hd.getSecret();
@ -156,11 +156,11 @@ describe('P2SH Segwit HD (BIP49)', () => {
const secret = hd.getSecret();
assert.strictEqual(secret.startsWith('abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon'), true);
let secretWithoutChecksum = secret.split(' ');
const secretWithoutChecksum = secret.split(' ');
secretWithoutChecksum.pop();
secretWithoutChecksum = secretWithoutChecksum.join(' ');
const secretWithoutChecksumString = secretWithoutChecksum.join(' ');
assert.strictEqual(
secretWithoutChecksum.endsWith('abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon'),
secretWithoutChecksumString.endsWith('abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon'),
false,
);

View file

@ -1,11 +1,11 @@
import { TaprootWallet } from '../../class';
const assert = require('assert');
import assert from 'assert';
describe('Taproot wallet', () => {
it('can convert scriptPubKey to address', () => {
let address = TaprootWallet.scriptPubKeyToAddress('512040ef293a8a0ebaf8b351a27d89ff4b5b3822a635e4afdca77a30170c363bafa3');
assert.strictEqual(address, 'bc1pgrhjjw52p6a03v635f7cnl6ttvuz9f34ujhaefm6xqtscd3m473szkl92g');
address = TaprootWallet.scriptPubKeyToAddress();
address = TaprootWallet.scriptPubKeyToAddress('');
assert.strictEqual(address, false);
address = TaprootWallet.scriptPubKeyToAddress('trololo');
assert.strictEqual(address, false);