feat: zashi zkool sweep, and minor fixes (#2838)
feat: restore from keys zcash fix: don't display empty keys
cyan committed
Feb 6, 2026 at 02:39 UTC
d8a676609099592e4380ba88efde06ab76d17991
59 files changed
+885
-92
.github/workflows/reusable-build.yml
+5
@@ -199,6 +199,11 @@ jobs:
199
200
- name: Build
201
run: |
202
+ export ANDROID_NDK_HOME="$ANDROID_SDK_ROOT/ndk/$ANDROID_NDK_VERSION"
203
+ export ANDROID_NDK="$ANDROID_NDK_HOME"
204
+ pushd $ANDROID_SDK_ROOT/ndk
205
+ ln -s 28.2.13676358 25.1.8937393
206
+ popd
207
flutter build apk --dart-define=hasDevOptions=true --release --split-per-abi
208
209
- name: Rename apk file
android/gradle.properties
+1
@@ -2,3 +2,4 @@ org.gradle.jvmargs=-Xmx4096M
2
android.enableR8=true
3
android.useAndroidX=true
4
android.enableJetifier=true
5
+android.ndk.suppressMinSdkVersionError=21
cw_zcash/lib/src/legacy/zkool_sweep.dart
new
+196
@@ -0,0 +1,196 @@
1
+import 'dart:io';
2
+
3
+import 'package:cw_core/utils/print_verbose.dart';
4
+import 'package:path/path.dart' as p;
5
+import 'package:zkool/src/rust/api/account.dart' as zkool_account;
6
+import 'package:zkool/src/rust/api/coin.dart' as zkool_coin;
7
+import 'package:zkool/src/rust/api/sync.dart' as zkool_sync;
8
+import 'package:zkool/src/rust/api/pay.dart' as zkool_pay;
9
+import 'package:zkool/src/rust/api/key.dart' as zkool_key;
10
+import 'package:zkool/src/rust/api/network.dart' as zkool_network;
11
+import 'package:zkool/src/rust/pay.dart' as zkool_paydart;
12
+import 'package:zkool/src/rust/frb_generated.dart' as zkool_frb;
13
+
14
+class ZkoolSweep {
15
+ ZkoolSweep({
16
+ required this.currentBalance,
17
+ required this.cacheDir,
18
+ required this.seed,
19
+ required this.passphrase,
20
+ required this.address,
21
+ required this.url,
22
+ required this.height,
23
+ });
24
+ final int currentBalance;
25
+ final String seed;
26
+ final String cacheDir;
27
+ final String passphrase;
28
+ final String address;
29
+ final String url;
30
+ final int height;
31
+ static SweepUpdate msg = SweepUpdate(message: 'Idling', currentHeight: 0, networkHeight: 0);
32
+ Future<void> start() async {
33
+ try {
34
+ await _init();
35
+ if (!zkool_key.isValidAddress(address: address)) {
36
+ msg.message = "$address is not valid";
37
+ return;
38
+ }
39
+
40
+ msg = SweepUpdate(message: 'Starting import', currentHeight: 0, networkHeight: 0);
41
+ await _newAccount();
42
+ msg.message = "Starting sync";
43
+ await warpSync();
44
+ msg.message = "Waiting";
45
+ while (msg.blocksLeft != 0 && msg.networkHeight != 0) {
46
+ await Future.delayed(Duration(seconds: 1));
47
+ }
48
+ await Future.delayed(Duration(seconds: 5));
49
+ final balance = await getBalance();
50
+ if (balance.toInt() == balance) {
51
+ msg.message = "No need to sweep, balance is the same";
52
+ return;
53
+ }
54
+ msg.message = "Sweeping";
55
+ await sweep(balance);
56
+ } catch (e) {
57
+ msg.message = e.toString();
58
+ printV("zkool_sweep: $e");
59
+ rethrow;
60
+ }
61
+ }
62
+
63
+ Future<BigInt> getBalance() async {
64
+ final b = await zkool_sync.balance(c: c);
65
+ return b.field0.reduce((final a, final b) => a + b);
66
+ }
67
+
68
+ Future<void> sweep(final BigInt amount) async {
69
+ msg.message = "prepare";
70
+ final tx = await zkool_pay.prepare(
71
+ recipients: [zkool_paydart.Recipient(address: address, amount: amount)],
72
+ options: zkool_pay.PaymentOptions(
73
+ srcPools: 7,
74
+ recipientPaysFee: true,
75
+ smartTransparent: false,
76
+ ),
77
+ c: c,
78
+ );
79
+ msg.message = "getLatestHeight";
80
+ final height = await getLatestHeight();
81
+ msg.message = "signTransaction";
82
+ final signTx = await zkool_pay.signTransaction(pczt: tx, c: c);
83
+ msg.message = "extractTransaction";
84
+ final txBytes = await zkool_pay.extractTransaction(package: signTx);
85
+ msg.message = "broadcastTransaction";
86
+ final result = await zkool_pay.broadcastTransaction(height: height, txBytes: txBytes, c: c);
87
+ msg.message = "result";
88
+ if (result.isEmpty) {
89
+ msg.message = "Unknown error";
90
+ throw Exception(result);
91
+ }
92
+ }
93
+
94
+ static var c = zkool_coin.Coin();
95
+
96
+ static bool _isInit = false;
97
+
98
+ File get dbFile => File(p.join(cacheDir, "zkool-tmp-mirror.db"));
99
+
100
+ Future<int> warpSync() async {
101
+ final currentHeight = await getLatestHeight();
102
+ msg.networkHeight = currentHeight;
103
+ final sync = zkool_sync.synchronize(
104
+ accounts: [currentAccount],
105
+ currentHeight: currentHeight,
106
+ actionsPerSync: 10000,
107
+ transparentLimit: 100,
108
+ checkpointAge: 200,
109
+ c: c,
110
+ );
111
+ bool success = false;
112
+ await sync.listen(
113
+ (final syncProgress) {
114
+ msg.currentHeight = syncProgress.height;
115
+ msg.message = "Sync ${syncProgress.height} / ${syncProgress.time}";
116
+ },
117
+ onError: (final e) {
118
+ msg.message = e.toString();
119
+ },
120
+ onDone: () {
121
+ msg.message = "Sync done!";
122
+ success = true;
123
+ },
124
+ );
125
+
126
+ if (msg.currentHeight != currentHeight && msg.currentHeight != 0) {
127
+ msg.message = "Canceling sync";
128
+ await zkool_sync.cancelSync();
129
+ await Future.delayed(Duration(seconds: 1));
130
+ return warpSync();
131
+ }
132
+ return 0;
133
+ }
134
+
135
+ Future<int> getLatestHeight() async {
136
+ try {
137
+ return await zkool_network.getCurrentHeight(c: c);
138
+ } catch (e) {
139
+ printV("getLatestHeight: $e");
140
+ }
141
+ return 0;
142
+ }
143
+
144
+ Future<void> _newAccount() async {
145
+ final id = await zkool_account.newAccount(
146
+ na: zkool_account.NewAccount(
147
+ name: 'restoretmp' + DateTime.now().microsecondsSinceEpoch.toString(),
148
+ restore: true,
149
+ passphrase: "",
150
+ key: seed,
151
+ aindex: 0,
152
+ birth: height,
153
+ folder: '',
154
+ useInternal: true,
155
+ internal: false,
156
+ ledger: false,
157
+ ),
158
+ c: c,
159
+ );
160
+ currentAccount = id;
161
+ c = await c.setAccount(account: id);
162
+ }
163
+
164
+ int currentAccount = 0;
165
+
166
+ Future<void> _init() async {
167
+ if (_isInit) return;
168
+ _isInit = true;
169
+ printV(".init()");
170
+ await zkool_frb.RustLib.init();
171
+ await zkool_network.initDatadir(directory: dbFile.parent.path);
172
+ c = await c.openDatabase(dbFilepath: dbFile.path, password: 'cw_zcash_migration');
173
+ c = c.setLwd(url: url, serverType: 0);
174
+ printV(".init(): Done");
175
+ }
176
+}
177
+
178
+class SweepUpdate {
179
+ SweepUpdate({required this.message, required this.currentHeight, required this.networkHeight});
180
+ String message;
181
+ int currentHeight;
182
+ int networkHeight;
183
+ double get progress {
184
+ if (networkHeight == 0) return 0.01;
185
+ return currentHeight / networkHeight;
186
+ }
187
+
188
+ int get blocksLeft => networkHeight - currentHeight;
189
+
190
+ Map<String, dynamic> toJson() => {
191
+ "message": message,
192
+ "currentHeight": currentHeight,
193
+ "networkHeight": networkHeight,
194
+ "progress": progress,
195
+ };
196
+}
cw_zcash/lib/src/models.dart
+2
-2
@@ -34,8 +34,8 @@ class ZcashFromKeysWalletCredentials extends WalletCredentials {
34
ZcashFromKeysWalletCredentials({
35
required final String name,
36
final String? password,
37
- required final String? passphrase,
37
+ required final int? height,
38
required this.privateKey,
39
- }) : super(name: name, password: password, passphrase: passphrase);
39
+ }) : super(name: name, password: password, height: height);
40
final String? privateKey;
41
}
cw_zcash/lib/src/zcash_taddress_rotation.dart
+7
-4
@@ -46,7 +46,8 @@ class ZcashTaddressRotation {
46
return seedWords.join(" ");
47
}
48
49
- static bool isSeedForWallet(final String mainWallet, final String subWallet) {
49
+ static bool isSeedForWallet(final String? mainWallet, final String? subWallet) {
50
+ if (mainWallet == null || subWallet == null) return false;
51
return seedForOffset(mainWallet.trim()) == subWallet;
52
}
53
@@ -195,6 +196,7 @@ class ZcashTaddressRotation {
196
final acc = accounts[i];
197
final backup = WarpApi.getBackup(coin, acc.id);
198
await WarpApi.transparentSync(coin, acc.id, syncHeight);
199
+ if (backup.seed == null) continue;
200
seeds[acc.id] = backup.seed!;
201
}
202
for (int i = 0; i < accounts.length; i++) {
@@ -210,7 +212,7 @@ class ZcashTaddressRotation {
212
for (int i = 0; i < raKeys.length; i++) {
213
final accs = accounts.where((final a) {
214
final seed = WarpApi.getBackup(coin, a.id).seed;
213
- return isSeedForWallet(seeds[raKeys[i]]!, seed!);
215
+ return isSeedForWallet(seeds[raKeys[i]], seed);
216
}).toList();
217
rotationAccounts[raKeys[i]]!.addAll(accs);
218
final acc = accountForSeed(seeds[raKeys[i]]!)!;
@@ -264,7 +266,7 @@ class ZcashTaddressRotation {
266
printV(raKeys[i]);
267
rotationAccounts[raKeys[i]]!.forEach((final a) {
268
final b = WarpApi.getBackup(coin, a.id);
267
- printV("${a.id} / ${b.seed}");
269
+ printV("${a.id}");
270
});
271
didAddNewAccount = true;
272
}
@@ -418,7 +420,8 @@ class ZcashTaddressRotation {
420
}
421
422
static List<String>? allUsedAddressesForAccount(final int accountId) {
421
- final seed = WarpApi.getBackup(coin, accountId).seed!;
423
+ final seed = WarpApi.getBackup(coin, accountId).seed;
424
+ if (seed == null) return [];
425
final acc = rotationAccounts[seed]?.toList();
426
if (acc == null) {
427
printV("Nothing found");
cw_zcash/lib/src/zcash_wallet.dart
+140
-12
@@ -18,15 +18,18 @@ import 'package:cw_core/wallet_info.dart';
18
import 'package:cw_core/wallet_type.dart';
19
import 'package:bip39/bip39.dart' as bip39;
20
import 'package:cw_zcash/cw_zcash.dart';
21
+import 'package:cw_zcash/src/legacy/zkool_sweep.dart';
22
import 'package:cw_zcash/src/util/crc32.dart';
23
import 'package:cw_zcash/src/zcash_taddress_rotation.dart';
24
import 'package:cw_zcash/src/zcash_wallet_addresses.dart';
25
+import 'package:flutter/foundation.dart';
26
import 'package:mobx/mobx.dart';
27
import 'package:warp_api/warp_api.dart';
28
import 'package:warp_api/data_fb_generated.dart';
29
import 'package:flutter/services.dart';
30
import 'package:mutex/mutex.dart';
31
import 'package:path/path.dart' as p;
32
+import 'package:path_provider/path_provider.dart';
33
34
part 'zcash_wallet.g.dart';
35
@@ -96,9 +99,11 @@ abstract class ZcashWalletBase
99
await ZcashWalletService.runInDbMutex(() async => WarpApi.cancelSync());
100
}
101
102
+ Node? lastNode;
103
@override
104
@action
105
Future<void> connectToNode({required final Node node}) async {
106
+ lastNode = node;
107
printV("connecting to node: ${node.uriRaw}");
108
syncStatus = ConnectingSyncStatus();
109
try {
@@ -319,7 +324,17 @@ abstract class ZcashWalletBase
324
}
325
326
@override
322
- Object get keys => {};
327
+ Object get keys {
328
+ final backup = WarpApi.getBackup(coin, accountId);
329
+ return {
330
+ // "seed": backup.seed,
331
+ // "index": backup.index,
332
+ "privateSpendKey": backup.sk,
333
+ "privateViewKey": backup.fvk,
334
+ "uvk": backup.uvk,
335
+ "tsk": backup.tsk,
336
+ };
337
+ }
338
339
@override
340
String get password => _password!;
@@ -338,12 +353,36 @@ abstract class ZcashWalletBase
353
@override
354
bool get hasRescan => true;
355
356
+ static Future<void> storeZcashHeight(final int height) async {
357
+ final zcashDir = await pathForWalletTypeDir(type: WalletType.zcash);
358
+ final zcashInitialSync = File(p.join(zcashDir, ".initial-sync-marker"));
359
+ zcashInitialSync.writeAsBytesSync([0x00]);
360
+ zcashInitialSync.writeAsStringSync(height.toString(), mode: FileMode.writeOnlyAppend);
361
+ }
362
+
363
+ static Future<int?> loadZcashHeight() async {
364
+ final zcashDir = await pathForWalletTypeDir(type: WalletType.zcash);
365
+ final zcashInitialSync = File(p.join(zcashDir, ".initial-sync-marker"));
366
+ if (!await zcashInitialSync.exists()) {
367
+ return null;
368
+ }
369
+ final bytes = await zcashInitialSync.readAsBytes();
370
+ if (bytes.isEmpty) {
371
+ return null;
372
+ }
373
+ final heightString = String.fromCharCodes(bytes.skip(1));
374
+ return int.tryParse(heightString);
375
+ }
376
+
377
+ static int zashiAnnouncedBlockHeight = 2419420;
378
+
379
@override
380
@action
381
Future<void> rescan({required final int height}) async {
382
try {
383
syncStatus = StartingScanSyncStatus(height);
384
printV("rescanning from: $height");
385
+ await storeZcashHeight(height);
386
await ZcashWalletService.runInDbMutex(() async => WarpApi.rescanFrom(coin, height));
387
await startSync();
388
} catch (e) {
@@ -403,7 +442,10 @@ abstract class ZcashWalletBase
442
String? get seed {
443
try {
444
final backup = WarpApi.getBackup(coin, accountId);
406
- final seed = backup.seed!.split(" ");
445
+ final seed = backup.seed?.split(" ");
446
+ if (seed == null) {
447
+ return null;
448
+ }
449
if ([13, 25].contains(seed.length)) {
450
seed.removeLast();
451
}
@@ -417,7 +459,10 @@ abstract class ZcashWalletBase
459
String? get passphrase {
460
try {
461
final backup = WarpApi.getBackup(coin, accountId);
420
- final seed = backup.seed!.split(" ");
462
+ final seed = backup.seed?.split(" ");
463
+ if (seed == null) {
464
+ return null;
465
+ }
466
if ([13, 25].contains(seed.length)) {
467
final passphrase = seed.removeLast();
468
return passphrase;
@@ -478,8 +523,7 @@ abstract class ZcashWalletBase
523
await ZcashWalletService.runInDbMutex(
524
() async => await WarpApi.rescanFrom(coin, chainHeight - 150000),
525
);
481
- zcashInitialSync.writeAsBytesSync([0x00]);
482
- zcashInitialSync.writeAsStringSync(chainHeight.toString(), mode: FileMode.writeOnlyAppend);
526
+ await storeZcashHeight(chainHeight);
527
}
528
}
529
@@ -827,15 +871,48 @@ abstract class ZcashWalletBase
871
await wallet.walletAddresses.saveAddressesInBox();
872
printV("height: ${credentials.height}");
873
if (credentials.height != null) {
830
- final zcashDir = await pathForWalletTypeDir(type: WalletType.zcash);
831
- final zcashInitialSync = File(p.join(zcashDir, ".initial-sync-marker"));
832
- zcashInitialSync.writeAsBytesSync([0x00]);
833
- zcashInitialSync.writeAsStringSync(
834
- credentials.height.toString(),
835
- mode: FileMode.writeOnlyAppend,
874
+ await storeZcashHeight(credentials.height!);
875
+ unawaited(
876
+ Future.delayed(Duration(seconds: 2)).then(
877
+ (_) => ZcashWalletService.runInDbMutex(
878
+ () async => await WarpApi.rescanFrom(coin, credentials.height ?? 0),
879
+ ),
880
+ ),
881
);
882
+ }
883
+ return wallet;
884
+ }
885
+
886
+ static Future<ZcashWallet> restoreKeys(final WalletCredentials credentials) async {
887
+ await _init();
888
+ final fromKeysCredentials = credentials as ZcashFromKeysWalletCredentials;
889
+ final String? keys = fromKeysCredentials.privateKey;
890
+ if (keys == null || keys.isEmpty) {
891
+ throw Exception('Key is required for wallet restoration');
892
+ }
893
+
894
+ final zcashSecretExtendedKeyRegex = RegExp(r'^secret-extended-key-main1[a-z0-9]+$');
895
+ if (!zcashSecretExtendedKeyRegex.hasMatch(keys)) {
896
+ throw Exception('Key is not in secret-extended-key-main1 format');
897
+ }
898
+
899
+ final accountId = await _restoreZcashWalletFromSeed(
900
+ name: credentials.name,
901
+ seed: keys,
902
+ passphrase: fromKeysCredentials.passphrase,
903
+ );
904
+ await _saveAccountId(credentials.name, accountId);
905
+ final wallet = await open(
906
+ name: credentials.name,
907
+ password: credentials.password!,
908
+ walletInfo: credentials.walletInfo!,
909
+ );
910
+ await wallet.walletAddresses.saveAddressesInBox();
911
+ printV("height: ${credentials.height}");
912
+ if (credentials.height != null) {
913
+ await storeZcashHeight(credentials.height!);
914
unawaited(
838
- Future.delayed(Duration(seconds: 8)).then(
915
+ Future.delayed(Duration(seconds: 2)).then(
916
(_) => ZcashWalletService.runInDbMutex(
917
() async => await WarpApi.rescanFrom(coin, credentials.height ?? 0),
918
),
@@ -1022,4 +1099,55 @@ abstract class ZcashWalletBase
1099
}
1100
return height;
1101
}
1102
+
1103
+ bool couldBeZashiWallet() {
1104
+ final backup = WarpApi.getBackup(coin, accountId);
1105
+ final seed = backup.seed?.split(" ");
1106
+ if (seed == null) return false;
1107
+ if (zkoolSweep != null) return false;
1108
+ if (!(syncStatus is SyncedSyncStatus)) return false;
1109
+ return seed.length == 24;
1110
+ }
1111
+
1112
+ static ZkoolSweep? zkoolSweep;
1113
+
1114
+ static bool _didRunRescanInternalChange = false;
1115
+ Future<void> rescanInternalChange() async {
1116
+ if (_didRunRescanInternalChange) {
1117
+ return;
1118
+ }
1119
+ _didRunRescanInternalChange = true;
1120
+ final bal =
1121
+ balance[CryptoCurrency.zec]!.confirmed +
1122
+ balance[CryptoCurrency.zec]!.unconfirmed +
1123
+ balance[CryptoCurrency.zec]!.frozen;
1124
+ final osCacheDir = await getApplicationCacheDirectory();
1125
+ final cacheDir = osCacheDir.createTempSync("zkool-import");
1126
+ zkoolSweep = ZkoolSweep(
1127
+ currentBalance: bal,
1128
+ cacheDir: cacheDir.path,
1129
+ seed: seed ?? '',
1130
+ passphrase: password,
1131
+ address: (walletAddresses as ZcashWalletAddresses).orchardAddress,
1132
+ url: (lastNode!.isSSL ? 'https://' : 'http://') + lastNode!.uriRaw,
1133
+ height: (await loadZcashHeight()) ?? zashiAnnouncedBlockHeight,
1134
+ );
1135
+ unawaited(zkoolSweep!.start());
1136
+ int count = 0;
1137
+ Timer.periodic(Duration(milliseconds: 1000 ~/ 120), (final Timer t) {
1138
+ final msg = ZkoolSweep.msg;
1139
+ if (kDebugMode && (++count % (120 ~/ 10)) == 0) {
1140
+ printV(msg.message);
1141
+ }
1142
+ if (msg.blocksLeft == 0 && msg.networkHeight != 0) {
1143
+ zkoolSweep = null;
1144
+ t.cancel();
1145
+ }
1146
+ if (msg.blocksLeft == 0) {
1147
+ syncStatus = ConnectedSyncStatus();
1148
+ return;
1149
+ }
1150
+ syncStatus = SyncingSyncStatus(msg.blocksLeft, msg.progress);
1151
+ });
1152
+ }
1153
}
cw_zcash/lib/src/zcash_wallet_service.dart
+1
-1
@@ -153,7 +153,7 @@ class ZcashWalletService
153
final ZcashFromKeysWalletCredentials credentials, {
154
final bool? isTestnet,
155
}) async {
156
- throw UnimplementedError();
156
+ return ZcashWalletBase.restoreKeys(credentials);
157
}
158
159
@override
cw_zcash/pubspec.yaml
+8
@@ -19,6 +19,14 @@ dependencies:
19
20
path: any
21
flat_buffers: any
22
+ zkool:
23
+ git:
24
+ url: https://github.com/hhanh00/zkool2
25
+ ref: 5d53a3f5a2d8f5b0619248384d7431f0a185e171
26
+
27
+dependency_overrides:
28
+ decimal: ^2.3.3
29
+
30
dev_dependencies:
31
flutter_test:
32
sdk: flutter
lib/entities/preferences_key.dart
+1
@@ -65,6 +65,7 @@ class PreferencesKey {
65
static const customBitcoinFeeRate = 'custom_electrum_fee_rate';
66
static const silentPaymentsCardDisplay = 'silentPaymentsCardDisplay';
67
static const mwebCardDisplay = 'mwebCardDisplay';
68
+ static const showZcashMissingFundsCard = 'showZcashMissingFundsCard';
69
static const mwebEnabled = 'mwebEnabled';
70
static const hasEnabledMwebBefore = 'hasEnabledMwebBefore';
71
static const mwebAlwaysScan = 'mwebAlwaysScan';
lib/src/screens/dashboard/pages/balance/crypto_balance_widget.dart
+60
@@ -333,6 +333,36 @@ class CryptoBalanceWidget extends StatelessWidget {
333
),
334
),
335
),
336
+ ],
337
+ if (dashboardViewModel.showZcashMissingFundsCard) ...[
338
+ SizedBox(height: 10),
339
+ Padding(
340
+ padding: const EdgeInsets.fromLTRB(16, 0, 16, 8),
341
+ child: InfoCard(
342
+ title: S.of(context).zcash_card_missing_funds,
343
+ description: S.of(context).zcash_card_description,
344
+ leftButtonTitle: S.of(context).zcash_card_dismiss,
345
+ rightButtonTitle: S.of(context).zcash_card_scan,
346
+ image: 'assets/images/zec_icon.png',
347
+ leftButtonAction: () => _dismissZcash(context),
348
+ rightButtonAction: () => _rescanInternalChangeZcash(context),
349
+ hintWidget: GestureDetector(
350
+ behavior: HitTestBehavior.opaque,
351
+ onTap: () => launchUrl(
352
+ Uri.parse("https://docs.cakewallet.com/tutorials/zashi/#creating-a-new-zcash-wallet-on-cake"),
353
+ mode: LaunchMode.externalApplication,
354
+ ),
355
+ child: Text(
356
+ S.of(context).learn_more,
357
+ style: Theme.of(context).textTheme.bodySmall?.copyWith(
358
+ color: Theme.of(context).colorScheme.onSurfaceVariant,
359
+ height: 1,
360
+ ),
361
+ softWrap: true,
362
+ ),
363
+ ),
364
+ ),
365
+ ),
366
],
367
if (dashboardViewModel.showDecredInfoCard) ...[
368
SizedBox(height: 10),
@@ -462,6 +492,22 @@ class CryptoBalanceWidget extends StatelessWidget {
492
}
493
dashboardViewModel.setMwebEnabled();
494
}
495
+
496
+ Future<void> _rescanInternalChangeZcash(BuildContext context) async {
497
+ dashboardViewModel.rescanInternalChangeZcash();
498
+ await showPopUp<void>(
499
+ context: context,
500
+ builder: (BuildContext context) => AlertWithOneAction(
501
+ alertTitle: S.of(context).alert_notice,
502
+ alertContent: S.of(context).zcash_card_warning,
503
+ buttonText: S.of(context).understand,
504
+ buttonAction: () {
505
+ Navigator.of(context).pop();
506
+ },
507
+ ),
508
+ );
509
+ }
510
+
511
512
Future<void> _dismissMweb(BuildContext context) async {
513
await showPopUp<void>(
@@ -476,4 +522,18 @@ class CryptoBalanceWidget extends StatelessWidget {
522
));
523
dashboardViewModel.dismissMweb();
524
}
525
+
526
+ Future<void> _dismissZcash(BuildContext context) async {
527
+ await showPopUp<void>(
528
+ context: context,
529
+ builder: (BuildContext context) => AlertWithOneAction(
530
+ alertTitle: S.of(context).alert_notice,
531
+ alertContent: S.of(context).zcash_card_enable_later,
532
+ buttonText: S.of(context).understand,
533
+ buttonAction: () {
534
+ Navigator.of(context).pop();
535
+ },
536
+ ));
537
+ dashboardViewModel.dismissZcash();
538
+ }
539
}
lib/src/screens/restore/wallet_restore_from_keys_form.dart
+20
-8
@@ -232,14 +232,26 @@ class WalletRestoreFromKeysFormState extends State<WalletRestoreFromKeysForm> {
232
233
bool nanoBased = widget.walletRestoreViewModel.type == WalletType.nano ||
234
widget.walletRestoreViewModel.type == WalletType.banano;
235
- return AddressTextField(
236
- addressKey: ValueKey('wallet_restore_from_key_private_key_textfield_key'),
237
- controller: privateKeyController,
238
- placeholder: nanoBased ? S.of(context).seed_hex_form : S.of(context).private_key,
239
- options: [AddressTextFieldOption.paste],
240
- onPushPasteButton: (_) {
241
- _pasteText();
242
- },
235
+ return Column(
236
+ children: [
237
+ AddressTextField(
238
+ addressKey: ValueKey('wallet_restore_from_key_private_key_textfield_key'),
239
+ controller: privateKeyController,
240
+ placeholder: nanoBased ? S.of(context).seed_hex_form : S.of(context).private_key,
241
+ options: [AddressTextFieldOption.paste],
242
+ onPushPasteButton: (_) {
243
+ _pasteText();
244
+ },
245
+ ),
246
+ if (widget.walletRestoreViewModel.hasBlockchainHeightSelector)
247
+ BlockchainHeightWidget(
248
+ key: blockchainHeightKey,
249
+ hasDatePicker: widget.walletRestoreViewModel.type != WalletType.haven,
250
+ onHeightChange: (_) => null,
251
+ onHeightOrDateEntered: widget.onHeightOrDateEntered,
252
+ walletType: widget.walletRestoreViewModel.type,
253
+ ),
254
+ ]
255
);
256
}
257
lib/src/screens/settings/display_settings_page.dart
+7
@@ -50,6 +50,13 @@ class DisplaySettingsPage extends BasePage {
50
_displaySettingsViewModel.setShowAddressBookPopup(value);
51
},
52
),
53
+ SettingsSwitcherCell(
54
+ title: S.of(context).show_zcash_card,
55
+ value: _displaySettingsViewModel.showZcashCard,
56
+ onValueChange: (_, bool value) {
57
+ _displaySettingsViewModel.setShowZcashCard(value);
58
+ },
59
+ ),
60
SettingsPickerCell<SyncStatusDisplayMode>(
61
title: S.current.sync_status_display_mode,
62
items: SyncStatusDisplayMode.values.toList(),
lib/store/settings_store.dart
+12
@@ -133,6 +133,7 @@ abstract class SettingsStoreBase with Store {
133
required this.silentPaymentsCardDisplay,
134
required this.mwebAlwaysScan,
135
required this.mwebCardDisplay,
136
+ required this.showZcashMissingFundsCard,
137
required this.mwebEnabled,
138
required this.hasEnabledMwebBefore,
139
required this.mwebNodeUri,
@@ -660,6 +661,11 @@ abstract class SettingsStoreBase with Store {
661
(bool mwebCardDisplay) =>
662
_sharedPreferences.setBool(PreferencesKey.mwebCardDisplay, mwebCardDisplay));
663
664
+ reaction(
665
+ (_) => showZcashMissingFundsCard,
666
+ (bool showZcashMissingFundsCard) =>
667
+ _sharedPreferences.setBool(PreferencesKey.showZcashMissingFundsCard, showZcashMissingFundsCard));
668
+
669
reaction((_) => mwebEnabled,
670
(bool mwebEnabled) => _sharedPreferences.setBool(PreferencesKey.mwebEnabled, mwebEnabled));
671
@@ -937,6 +943,9 @@ abstract class SettingsStoreBase with Store {
943
944
@observable
945
bool mwebCardDisplay;
946
+
947
+ @observable
948
+ bool showZcashMissingFundsCard;
949
950
@observable
951
bool mwebEnabled;
@@ -1197,6 +1206,7 @@ abstract class SettingsStoreBase with Store {
1206
sharedPreferences.getBool(PreferencesKey.silentPaymentsCardDisplay) ?? true;
1207
final mwebAlwaysScan = sharedPreferences.getBool(PreferencesKey.mwebAlwaysScan) ?? false;
1208
final mwebCardDisplay = sharedPreferences.getBool(PreferencesKey.mwebCardDisplay) ?? true;
1209
+ final showZcashMissingFundsCard = sharedPreferences.getBool(PreferencesKey.showZcashMissingFundsCard) ?? true;
1210
final mwebEnabled = sharedPreferences.getBool(PreferencesKey.mwebEnabled) ?? false;
1211
final hasEnabledMwebBefore =
1212
sharedPreferences.getBool(PreferencesKey.hasEnabledMwebBefore) ?? false;
@@ -1554,6 +1564,7 @@ abstract class SettingsStoreBase with Store {
1564
silentPaymentsCardDisplay: silentPaymentsCardDisplay,
1565
mwebAlwaysScan: mwebAlwaysScan,
1566
mwebCardDisplay: mwebCardDisplay,
1567
+ showZcashMissingFundsCard: showZcashMissingFundsCard,
1568
mwebEnabled: mwebEnabled,
1569
mwebNodeUri: mwebNodeUri,
1570
hasEnabledMwebBefore: hasEnabledMwebBefore,
@@ -1768,6 +1779,7 @@ abstract class SettingsStoreBase with Store {
1779
sharedPreferences.getBool(PreferencesKey.silentPaymentsCardDisplay) ?? true;
1780
mwebAlwaysScan = sharedPreferences.getBool(PreferencesKey.mwebAlwaysScan) ?? false;
1781
mwebCardDisplay = sharedPreferences.getBool(PreferencesKey.mwebCardDisplay) ?? true;
1782
+ showZcashMissingFundsCard = sharedPreferences.getBool(PreferencesKey.showZcashMissingFundsCard) ?? true;
1783
mwebEnabled = sharedPreferences.getBool(PreferencesKey.mwebEnabled) ?? false;
1784
hasEnabledMwebBefore = sharedPreferences.getBool(PreferencesKey.hasEnabledMwebBefore) ?? false;
1785
final nodeId = sharedPreferences.getInt(PreferencesKey.currentNodeIdKey);
lib/view_model/dashboard/dashboard_view_model.dart
+18
@@ -19,6 +19,7 @@ import 'package:cake_wallet/src/widgets/alert_with_one_action.dart';
19
import 'package:cake_wallet/store/dashboard/order_filter_store.dart';
20
import 'package:cake_wallet/utils/device_info.dart';
21
import 'package:cake_wallet/utils/show_pop_up.dart';
22
+import 'package:cake_wallet/zcash/zcash.dart';
23
import 'package:cw_core/utils/proxy_wrapper.dart';
24
import 'package:cake_wallet/utils/tor.dart';
25
import 'package:cake_wallet/wownero/wownero.dart' as wow;
@@ -580,6 +581,13 @@ abstract class DashboardViewModelBase with Store {
581
];
582
return errors;
583
}
584
+
585
+ @computed
586
+ bool get showZcashMissingFundsCard {
587
+ if (wallet.type != WalletType.zcash) return false;
588
+ if (!settingsStore.showZcashMissingFundsCard) return false;
589
+ return zcash!.showMissingFundsCard(wallet);
590
+ }
591
592
@computed
593
bool get hasSilentPayments =>
@@ -852,6 +860,16 @@ abstract class DashboardViewModelBase with Store {
860
mwebEnabled = false;
861
bitcoin!.setMwebEnabled(wallet, false);
862
}
863
+
864
+ @action
865
+ Future<void> rescanInternalChangeZcash() async {
866
+ await zcash!.rescanInternalChange(wallet);
867
+ }
868
+
869
+ @action
870
+ void dismissZcash() {
871
+ settingsStore.showZcashMissingFundsCard = false;
872
+ }
873
874
@action
875
void dismissDecredInfoCard() {
lib/view_model/hardware_wallet/bitbox_view_model.dart
+1
-1
@@ -105,7 +105,7 @@ abstract class BitboxViewModelBase extends HardwareWalletViewModel with Store {
105
case WalletType.polygon:
106
return evm!.setHardwareWalletService(wallet, await getHardwareWalletService(wallet.type));
107
default:
108
- throw Exception('Unexpected wallet type: ${wallet.type}');
108
+ throw Exception('Unexpected wallet type: ${wallet.type} for bitbox');
109
}
110
}
111
}
lib/view_model/hardware_wallet/ledger_view_model.dart
+1
-1
@@ -189,7 +189,7 @@ abstract class LedgerViewModelBase extends HardwareWalletViewModel with Store {
189
case WalletType.polygon:
190
return evm!.setHardwareWalletService(wallet, await getHardwareWalletService(wallet.type));
191
default:
192
- throw Exception('Unexpected wallet type: ${wallet.type}');
192
+ throw Exception('Unexpected wallet type: ${wallet.type} for ledger');
193
}
194
}
195
lib/view_model/hardware_wallet/trezor_view_model.dart
+1
-1
@@ -73,7 +73,7 @@ abstract class TrezorViewModelBase extends HardwareWalletViewModel with Store {
73
case WalletType.polygon:
74
return evm!.setHardwareWalletService(wallet, await getHardwareWalletService(wallet.type));
75
default:
76
- throw Exception('Unexpected wallet type: ${wallet.type}');
76
+ throw Exception('Unexpected wallet type: ${wallet.type} for trezor');
77
}
78
}
79
}
lib/view_model/monero_account_list/monero_account_list_view_model.dart
+1
-1
@@ -53,7 +53,7 @@ abstract class MoneroAccountListViewModelBase with Store {
53
.toList();
54
}
55
56
- throw Exception('Unexpected wallet type: ${_wallet.type}');
56
+ throw Exception('Unexpected wallet type: ${_wallet.type} for monero');
57
}
58
59
final WalletBase _wallet;
lib/view_model/nano_account_list/nano_account_list_view_model.dart
+1
-1
@@ -36,7 +36,7 @@ abstract class NanoAccountListViewModelBase with Store {
36
.toList();
37
}
38
39
- throw Exception('Unexpected wallet type: ${_wallet.type}');
39
+ throw Exception('Unexpected wallet type: ${_wallet.type} for nano');
40
}
41
42
final WalletBase _wallet;
lib/view_model/node_list/pow_node_list_view_model.dart
+1
-1
@@ -63,7 +63,7 @@ abstract class PowNodeListViewModelBase with Store {
63
node = getNanoDefaultPowNode(nodes: _nodeSource)!;
64
break;
65
default:
66
- throw Exception('Unexpected wallet type: ${_appStore.wallet!.type}');
66
+ throw Exception('Unexpected wallet type: ${_appStore.wallet!.type} for pow node list');
67
}
68
69
await setAsCurrent(node);
lib/view_model/send/send_view_model.dart
+1
-1
@@ -1035,7 +1035,7 @@ abstract class SendViewModelBase extends WalletChangeListenerViewModel with Stor
1035
// priority: priority,
1036
);
1037
default:
1038
- throw Exception('Unexpected wallet type: ${wallet.type}');
1038
+ throw Exception('Unexpected wallet type: ${wallet.type} for send');
1039
}
1040
}
1041
lib/view_model/settings/display_settings_view_model.dart
+6
@@ -49,6 +49,9 @@ abstract class DisplaySettingsViewModelBase with Store {
49
50
@computed
51
bool get showAddressBookPopup => _settingsStore.showAddressBookPopupEnabled;
52
+
53
+ @computed
54
+ bool get showZcashCard => _settingsStore.showZcashMissingFundsCard;
55
56
@computed
57
SyncStatusDisplayMode get syncStatusDisplayMode => _settingsStore.syncStatusDisplayMode;
@@ -103,6 +106,9 @@ abstract class DisplaySettingsViewModelBase with Store {
106
@action
107
void setBalanceDisplayMode(BalanceDisplayMode value) => _settingsStore.balanceDisplayMode = value;
108
109
+ @action
110
+ void setShowZcashCard(bool value) => _settingsStore.showZcashMissingFundsCard = value;
111
+
112
@action
113
void setShouldDisplayBalance(bool value) {
114
if (value) {
lib/view_model/wallet_keys_view_model.dart
+22
-7
@@ -5,6 +5,7 @@ import 'package:cake_wallet/src/screens/transaction_details/standart_list_item.d
5
import 'package:cake_wallet/store/app_store.dart';
6
import 'package:cake_wallet/wownero/wownero.dart';
7
import 'package:cake_wallet/zano/zano.dart';
8
+import 'package:cake_wallet/zcash/zcash.dart';
9
import 'package:cw_core/transaction_direction.dart';
10
import 'package:cw_core/transaction_info.dart';
11
import 'package:cw_core/wallet_base.dart';
@@ -139,13 +140,15 @@ abstract class WalletKeysViewModelBase with Store {
140
case WalletType.zano:
141
keys = zano!.getKeys(_wallet);
142
break;
143
+ case WalletType.zcash:
144
+ keys = zcash!.getKeys(_wallet);
145
+ break;
146
case WalletType.ethereum:
147
case WalletType.polygon:
148
case WalletType.base:
149
case WalletType.arbitrum:
150
case WalletType.bsc:
151
case WalletType.solana:
148
- case WalletType.zcash:
152
case WalletType.tron:
153
items.addAll([
154
if (_wallet.privateKey != null)
@@ -208,35 +211,47 @@ abstract class WalletKeysViewModelBase with Store {
211
212
if (keys != null) {
213
items.addAll([
211
- if (keys['primaryAddress'] != null)
214
+ if ((keys['primaryAddress']??'').isNotEmpty)
215
StandartListItem(
216
key: ValueKey('${_walletName}_wallet_primary_address_item_key'),
217
title: S.current.primary_address,
218
value: keys['primaryAddress']!),
216
- if (keys['publicSpendKey'] != null)
219
+ if ((keys['publicSpendKey']??'').isNotEmpty)
220
StandartListItem(
221
key: ValueKey('${_walletName}_wallet_public_spend_key_item_key'),
222
title: S.current.spend_key_public,
223
value: keys['publicSpendKey']!,
224
),
222
- if (keys['privateSpendKey'] != null)
225
+ if ((keys['privateSpendKey']??'').isNotEmpty)
226
StandartListItem(
227
key: ValueKey('${_walletName}_wallet_private_spend_key_item_key'),
228
title: S.current.spend_key_private,
229
value: keys['privateSpendKey']!,
230
),
228
- if (keys['publicViewKey'] != null)
231
+ if ((keys['publicViewKey']??'').isNotEmpty)
232
StandartListItem(
233
key: ValueKey('${_walletName}_wallet_public_view_key_item_key'),
234
title: S.current.view_key_public,
235
value: keys['publicViewKey']!,
236
),
234
- if (keys['privateViewKey'] != null)
237
+ if ((keys['privateViewKey']??'').isNotEmpty)
238
StandartListItem(
239
key: ValueKey('${_walletName}_wallet_private_view_key_item_key'),
240
title: S.current.view_key_private,
241
value: keys['privateViewKey']!,
242
),
243
+ if ((keys['tsk']??'').isNotEmpty)
244
+ StandartListItem(
245
+ key: ValueKey('${_walletName}_wallet_transparent_secret_key_item_key'),
246
+ title: S.current.transparent_secret_key,
247
+ value: keys['tsk']!,
248
+ ),
249
+ if ((keys['uvk']??'').isNotEmpty)
250
+ StandartListItem(
251
+ key: ValueKey('${_walletName}_wallet_unified_view_key_item_key'),
252
+ title: S.current.unified_view_key,
253
+ value: keys['uvk']!,
254
+ ),
255
]);
256
}
257
}
@@ -292,7 +307,7 @@ abstract class WalletKeysViewModelBase with Store {
307
case WalletType.zcash:
308
return 'zcash-wallet';
309
default:
295
- throw Exception('Unexpected wallet type: ${_wallet.type.toString()}');
310
+ throw Exception('Unexpected wallet type: ${_wallet.type.toString()} for wallet keys');
311
}
312
}
313
lib/view_model/wallet_restore_view_model.dart
+10
-2
@@ -57,11 +57,11 @@ abstract class WalletRestoreViewModelBase extends WalletCreationVM with Store {
57
case WalletType.decred:
58
case WalletType.bitcoin:
59
case WalletType.litecoin:
60
+ case WalletType.zcash:
61
availableModes = [WalletRestoreMode.seed, WalletRestoreMode.keys];
62
break;
63
case WalletType.bitcoinCash:
64
case WalletType.zano:
64
- case WalletType.zcash:
65
case WalletType.dogecoin:
66
availableModes = [WalletRestoreMode.seed];
67
break;
@@ -95,7 +95,8 @@ abstract class WalletRestoreViewModelBase extends WalletCreationVM with Store {
95
WalletType.nano,
96
WalletType.banano,
97
WalletType.solana,
98
- WalletType.tron
98
+ WalletType.tron,
99
+ WalletType.zcash,
100
].contains(type);
101
102
late final bool onlyViewKeyRestore =
@@ -307,6 +308,13 @@ abstract class WalletRestoreViewModelBase extends WalletCreationVM with Store {
308
password: password,
309
pubkey: viewKey!,
310
);
311
+ case WalletType.zcash:
312
+ return zcash!.createZcashRestoreWalletFromPrivateKey(
313
+ name: name,
314
+ privateKey: options['private_key'] as String,
315
+ password: password,
316
+ height: height
317
+ );
318
default:
319
break;
320
}
lib/zcash/cw_zcash.dart
+21
-4
@@ -20,8 +20,14 @@ class CWZcash extends Zcash {
20
WalletCredentials createZcashRestoreWalletFromPrivateKey(
21
{required String name,
22
required String privateKey,
23
- required String password}) {
24
- throw UnimplementedError();
23
+ required String password,
24
+ required int height}) {
25
+ return ZcashFromKeysWalletCredentials(
26
+ name: name,
27
+ height: height,
28
+ privateKey: privateKey,
29
+ password: password,
30
+ );
31
}
32
33
@override
@@ -122,11 +128,10 @@ class CWZcash extends Zcash {
128
Map<String, String> getKeys(Object wallet) {
129
final zcashWallet = wallet as ZcashWallet;
130
final seed = zcashWallet.seed;
125
- final address = zcashWallet.walletAddresses.address;
131
132
return <String, String>{
133
if (seed != null) 'seed': seed,
129
- 'primaryAddress': address,
134
+ ...(zcashWallet.keys as Map<String, String?>).map((final k, final v) => MapEntry(k, v??'')),
135
};
136
}
137
@@ -209,6 +214,18 @@ class CWZcash extends Zcash {
214
Future<int> getHeightByDate(DateTime date) {
215
return ZcashWalletBase.getHeightByDate(date);
216
}
217
+
218
+ @override
219
+ bool showMissingFundsCard(WalletBase wallet) {
220
+ final zcashWallet = wallet as ZcashWallet;
221
+ return zcashWallet.couldBeZashiWallet();
222
+ }
223
+
224
+ @override
225
+ Future<void> rescanInternalChange(WalletBase wallet) {
226
+ final zcashWallet = wallet as ZcashWallet;
227
+ return zcashWallet.rescanInternalChange();
228
+ }
229
}
230
231
const wordList = [
pubspec_base.yaml
+19
-8
@@ -65,11 +65,11 @@ dependencies:
65
ref: c414574bc5ac349450f601e7f72c7b9f31b4d087
66
permission_handler: 11.4.0
67
device_display_brightness:
68
- git:
69
- url: https://github.com/MrCyjaneK/device_display_brightness.git
70
- ref: 4cac18c446ce686f3d75b1565badbd7da439bbd9
68
+ git:
69
+ url: https://github.com/MrCyjaneK/device_display_brightness.git
70
+ ref: 4cac18c446ce686f3d75b1565badbd7da439bbd9
71
wakelock_plus: ^1.2.5
72
- flutter_mailer:
72
+ flutter_mailer:
73
git:
74
url: https://github.com/taljacobson/flutter_mailer
75
ref: 9c4ed111a9151a2bbfb9afe2c18a37599c6f84f3
@@ -97,10 +97,10 @@ dependencies:
97
url: https://github.com/cake-tech/ens_dart.git
98
ref: 9fa09b9db69b8645d5d50a844652aa570451d101
99
fluttertoast: 8.2.12
100
-# tor:
101
-# git:
102
-# url: https://github.com/cake-tech/tor.git
103
-# ref: main
100
+ # tor:
101
+ # git:
102
+ # url: https://github.com/cake-tech/tor.git
103
+ # ref: main
104
socks5_proxy:
105
git:
106
url: https://github.com/LacticWhale/socks_dart
@@ -204,6 +204,17 @@ dependency_overrides:
204
web_socket_channel: ^3.0.2
205
freezed_annotation: 2.4.4
206
intl: 0.20.2
207
+ qr_flutter:
208
+ git:
209
+ url: https://github.com/cake-tech/qr.flutter.git
210
+ ref: cake-4.0.2
211
+ version: 4.0.2
212
+ file_picker:
213
+ git:
214
+ url: https://github.com/cake-tech/flutter_file_picker.git
215
+ ref: c414574bc5ac349450f601e7f72c7b9f31b4d087
216
+ decimal: ^2.3.3
217
+ flutter_rust_bridge: ^2.9.0
218
219
flutter_icons:
220
image_path: "assets/images/app_logo.png"
res/values/strings_ar.arb
+10
-1
@@ -884,6 +884,7 @@
884
"show_keys": "اظهار السييد / المفاتيح",
885
"show_market_place": "إظهار السوق",
886
"show_seed": "عرض السييد",
887
+ "show_zcash_card": "إظهار بطاقة الأموال المفقودة zcash",
888
"sign_all": "قم بتوقيع الكل",
889
"sign_message": "تسجيل رسالة",
890
"sign_one": "وقع واحد",
@@ -1040,6 +1041,7 @@
1041
"transaction_sent_notice": "إذا لم تستمر الشاشة بعد دقيقة واحدة ، فتحقق من مستكشف البلوك والبريد الإلكتروني.",
1042
"transactions": "المعاملات",
1043
"transactions_by_date": "المعاملات حسب التاريخ",
1044
+ "transparent_secret_key": "مفتاح سري شفاف",
1045
"transport_type": "نوع النقل",
1046
"trongrid_history": "تاريخ ترونغريد",
1047
"trusted": "موثوق به",
@@ -1063,6 +1065,7 @@
1065
"unavailable_balance_description": ".ﺎﻫﺪﻴﻤﺠﺗ ءﺎﻐﻟﺇ ﺭﺮﻘﺗ ﻰﺘﺣ ﺕﻼﻣﺎﻌﻤﻠﻟ ﻝﻮﺻﻮﻠﻟ ﺔﻠﺑﺎﻗ ﺮﻴﻏ ﺓﺪﻤﺠﻤﻟﺍ ﺓﺪﺻﺭﻷﺍ ﻞﻈﺗ ﺎﻤﻨﻴﺑ ،ﺎﻬﺑ ﺔﺻﺎﺨﻟﺍ ﺕﻼﻣﺎﻌﻤﻟﺍ ﻝﺎﻤﺘﻛﺍ ﺩﺮﺠﻤﺑ ﺔﺣﺎﺘﻣ ﺔﻠﻔﻘﻤﻟﺍ ﺓﺪﺻﺭﻷﺍ ﺢﺒﺼﺘﺳ .ﻚﺑ ﺔﺻﺎﺨﻟﺍ ﺕﻼﻤﻌﻟﺍ ﻲﻓ ﻢﻜﺤﺘﻟﺍ ﺕﺍﺩﺍﺪﻋﺇ ﻲﻓ ﻂﺸﻧ ﻞﻜﺸﺑ ﺎﻫﺪﻴﻤﺠﺘﺑ ﺖﻤﻗ",
1066
"unconfirmed": "رصيد غير مؤكد",
1067
"understand": "لقد فهمت",
1068
+ "unified_view_key": "مفتاح العرض الموحد",
1069
"unlock": "الغاء القفل",
1070
"unmatched_currencies": "عملة محفظتك الحالية لا تتطابق مع عملة QR الممسوحة ضوئيًا",
1071
"unrestricted_background_service": "خدمة خلفية غير مقيدة",
@@ -1172,5 +1175,11 @@
1175
"you_will_send": "تحويل من",
1176
"youCanGoBackToYourDapp": "يمكنك العودة إلى DAPP الخاص بك الآن",
1177
"your": "لك",
1175
- "yy": "YY"
1178
+ "yy": "YY",
1179
+ "zcash_card_description": "إذا كنت لا ترى رصيدك الكامل، فيمكن لـ Cake Wallet محاولة سحب الأموال من عناوين التغيير الداخلية التي تستخدمها بعض المحافظ.",
1180
+ "zcash_card_dismiss": "رفض",
1181
+ "zcash_card_enable_later": "يمكنك دائمًا تمكين هذه البطاقة لاحقًا في الإعدادات",
1182
+ "zcash_card_missing_funds": "الأموال المفقودة؟",
1183
+ "zcash_card_scan": "مسح",
1184
+ "zcash_card_warning": "لا تغلق التطبيق حتى يكتمل الإجراء، إذا قمت بذلك، فستحتاج إلى إعادة تشغيل هذه العملية من البداية."
1185
}
\ No newline at end of file
res/values/strings_bg.arb
+10
-1
@@ -884,6 +884,7 @@
884
"show_keys": "Покажи seed/keys",
885
"show_market_place": "Покажи пазар",
886
"show_seed": "Покажи seed",
887
+ "show_zcash_card": "Показване на zcash карта с липсващи средства",
888
"sign_all": "Подпишете всички",
889
"sign_message": "Съобщение за подписване",
890
"sign_one": "Подпишете един",
@@ -1040,6 +1041,7 @@
1041
"transaction_sent_notice": "Ако процесът продължи повече от 1 минута, проверете някой block explorer и своя имейл.",
1042
"transactions": "Транзакции",
1043
"transactions_by_date": "Транзакции по дата",
1044
+ "transparent_secret_key": "Прозрачен таен ключ",
1045
"transport_type": "Тип транспорт",
1046
"trongrid_history": "Trongrid History",
1047
"trusted": "Надежден",
@@ -1063,6 +1065,7 @@
1065
"unavailable_balance_description": "Неналично салдо: Тази обща сума включва средства, които са заключени в чакащи транзакции и тези, които сте замразили активно в настройките за контрол на монетите. Заключените баланси ще станат достъпни, след като съответните им транзакции бъдат завършени, докато замразените баланси остават недостъпни за транзакции, докато не решите да ги размразите.",
1066
"unconfirmed": "Непотвърден баланс",
1067
"understand": "Разбирам",
1068
+ "unified_view_key": "Ключ за унифициран изглед",
1069
"unlock": "Отключване",
1070
"unmatched_currencies": "Валутата на този портфейл не съвпада с тази от сканирания QR код",
1071
"unrestricted_background_service": "Неограничена фонова услуга",
@@ -1172,5 +1175,11 @@
1175
"you_will_send": "Обръщане от",
1176
"youCanGoBackToYourDapp": "Можете да се върнете при вашия Dapp сега",
1177
"your": "Вашия",
1175
- "yy": "гг"
1178
+ "yy": "гг",
1179
+ "zcash_card_description": "Ако не виждате пълния си баланс, Cake Wallet може да се опита да изтегли средства от вътрешни адреси за промяна, използвани от някои портфейли.",
1180
+ "zcash_card_dismiss": "Отхвърляне",
1181
+ "zcash_card_enable_later": "Винаги можете да активирате тази карта по-късно в настройките",
1182
+ "zcash_card_missing_funds": "Липсват средства?",
1183
+ "zcash_card_scan": "Сканиране",
1184
+ "zcash_card_warning": "Не затваряйте приложението, докато процедурата не приключи, ако го направите, този процес ще трябва да се рестартира от нулата."
1185
}
\ No newline at end of file
res/values/strings_cs.arb
+10
-1
@@ -884,6 +884,7 @@
884
"show_keys": "Zobrazit seed/klíče",
885
"show_market_place": "Zobrazit trh",
886
"show_seed": "Zobrazit seed",
887
+ "show_zcash_card": "Ukažte kartu s chybějícími prostředky zcash",
888
"sign_all": "Podepište všechny",
889
"sign_message": "Podepsat zprávu",
890
"sign_one": "Podepsat jeden",
@@ -1040,6 +1041,7 @@
1041
"transaction_sent_notice": "Pokud proces nepokročí během 1 minuty, zkontrolujte block explorer a svůj e-mail.",
1042
"transactions": "Transakce",
1043
"transactions_by_date": "Transakce podle data",
1044
+ "transparent_secret_key": "Transparentní tajný klíč",
1045
"transport_type": "Typ transportu",
1046
"trongrid_history": "Trongridní historie",
1047
"trusted": "Důvěřovat",
@@ -1063,6 +1065,7 @@
1065
"unavailable_balance_description": "Nedostupný zůstatek: Tento součet zahrnuje prostředky, které jsou uzamčeny v nevyřízených transakcích a ty, které jste aktivně zmrazili v nastavení kontroly mincí. Uzamčené zůstatky budou k dispozici po dokončení příslušných transakcí, zatímco zmrazené zůstatky zůstanou pro transakce nepřístupné, dokud se nerozhodnete je uvolnit.",
1066
"unconfirmed": "Nepotvrzený zůstatek",
1067
"understand": "Rozumím",
1068
+ "unified_view_key": "Klíč jednotného zobrazení",
1069
"unlock": "Odemknout",
1070
"unmatched_currencies": "Měna vaší současné peněženky neodpovídá té v naskenovaném QR kódu",
1071
"unrestricted_background_service": "Neomezená služba na pozadí",
@@ -1172,5 +1175,11 @@
1175
"you_will_send": "Směnit z",
1176
"youCanGoBackToYourDapp": "Nyní se můžete vrátit do svého dappu",
1177
"your": "Vaše",
1175
- "yy": "YY"
1178
+ "yy": "YY",
1179
+ "zcash_card_description": "Pokud nevidíte svůj úplný zůstatek, Peněženka Cake se může pokusit vymést prostředky z interních změnových adres používaných některými peněženkami.",
1180
+ "zcash_card_dismiss": "Propustit",
1181
+ "zcash_card_enable_later": "Tuto kartu můžete kdykoli povolit později v nastavení",
1182
+ "zcash_card_missing_funds": "Chybějící finanční prostředky?",
1183
+ "zcash_card_scan": "Skenovat",
1184
+ "zcash_card_warning": "Nezavírejte aplikaci, dokud se postup nedokončí, pokud tak učiníte, bude nutné tento proces restartovat od nuly."
1185
}
\ No newline at end of file
res/values/strings_de.arb
+10
-1
@@ -885,6 +885,7 @@
885
"show_keys": "Seed/Schlüssel anzeigen",
886
"show_market_place": "Marktplatz anzeigen",
887
"show_seed": "Seed zeigen",
888
+ "show_zcash_card": "Zeigen Sie die Karte mit fehlendem Zcash-Guthaben an",
889
"sign_all": "Alle unterschreiben",
890
"sign_message": "Nachricht unterschreiben",
891
"sign_one": "Unterschreiben",
@@ -1041,6 +1042,7 @@
1042
"transaction_sent_notice": "Wenn der Bildschirm nach 1 Minute nicht weitergeht, überprüfen Sie einen Block-Explorer und Ihre E-Mail.",
1043
"transactions": "Transaktionen",
1044
"transactions_by_date": "Transaktionen nach Datum",
1045
+ "transparent_secret_key": "Transparenter Geheimschlüssel",
1046
"transport_type": "Transporttyp",
1047
"trongrid_history": "Trongrid-Historie",
1048
"trusted": "Vertrauenswürdige",
@@ -1065,6 +1067,7 @@
1067
"unconfirmed": "Unbestätigter Saldo",
1068
"und": "und",
1069
"understand": "Ich verstehe",
1070
+ "unified_view_key": "Einheitlicher Ansichtsschlüssel",
1071
"unlock": "Freischalten",
1072
"unmatched_currencies": "Die Währung Ihres aktuellen Wallets stimmt nicht mit der des gescannten QR überein",
1073
"unrestricted_background_service": "Uneingeschränkter Hintergrunddienst",
@@ -1175,5 +1178,11 @@
1178
"you_will_send": "Konvertieren von",
1179
"youCanGoBackToYourDapp": "Sie können jetzt zu Ihrem Dapp zurückkehren",
1180
"your": "Dein",
1178
- "yy": "YY"
1181
+ "yy": "YY",
1182
+ "zcash_card_description": "Wenn Sie nicht Ihr vollständiges Guthaben sehen, kann Cake Wallet versuchen, Geld von internen Wechseladressen abzuheben, die von einigen Wallets verwendet werden.",
1183
+ "zcash_card_dismiss": "Zurückweisen",
1184
+ "zcash_card_enable_later": "Sie können diese Karte später jederzeit in den Einstellungen aktivieren",
1185
+ "zcash_card_missing_funds": "Fehlende Mittel?",
1186
+ "zcash_card_scan": "Scan",
1187
+ "zcash_card_warning": "Schließen Sie die App nicht, bis der Vorgang abgeschlossen ist. Andernfalls muss der Vorgang von Grund auf neu gestartet werden."
1188
}
\ No newline at end of file
res/values/strings_en.arb
+10
-1
@@ -885,6 +885,7 @@
885
"show_keys": "Show seed/keys",
886
"show_market_place": "Show Marketplace",
887
"show_seed": "Show seed",
888
+ "show_zcash_card": "Show zcash missing funds card",
889
"sign_all": "Sign All",
890
"sign_message": "Sign Message",
891
"sign_one": "Sign One",
@@ -1041,6 +1042,7 @@
1042
"transaction_sent_notice": "If the screen doesn’t proceed after 1 minute, check a block explorer and your email.",
1043
"transactions": "Transactions",
1044
"transactions_by_date": "Transactions by date",
1045
+ "transparent_secret_key": "Transparent Secret Key",
1046
"transport_type": "Transport Type",
1047
"trongrid_history": "TronGrid history",
1048
"trusted": "Trusted",
@@ -1064,6 +1066,7 @@
1066
"unavailable_balance_description": "Unavailable Balance: This total includes funds that are locked in pending transactions and those you have actively frozen in your coin control settings. Locked balances will become available once their respective transactions are completed, while frozen balances remain inaccessible for transactions until you decide to unfreeze them.",
1067
"unconfirmed": "Unconfirmed Balance",
1068
"understand": "I understand",
1069
+ "unified_view_key": "Unified View Key",
1070
"unlock": "Unlock",
1071
"unmatched_currencies": "Your current wallet's currency does not match that of the scanned QR",
1072
"unrestricted_background_service": "Unrestricted background service",
@@ -1173,5 +1176,11 @@
1176
"you_will_send": "Convert from",
1177
"youCanGoBackToYourDapp": "You can go back to your dApp now",
1178
"your": "Your",
1176
- "yy": "YY"
1179
+ "yy": "YY",
1180
+ "zcash_card_description": "If you don't see your full balance Cake Wallet can attempt to sweep funds from internal change addresses used by some wallets.",
1181
+ "zcash_card_dismiss": "Dismiss",
1182
+ "zcash_card_enable_later": "You can always enable this card later in settings",
1183
+ "zcash_card_missing_funds": "Missing funds?",
1184
+ "zcash_card_scan": "Scan",
1185
+ "zcash_card_warning": "Do not close the app until the procedure completes, if you do so this process will need to restart from scratch."
1186
}
\ No newline at end of file
res/values/strings_es.arb
+10
-1
@@ -885,6 +885,7 @@
885
"show_keys": "Mostrar semilla/claves",
886
"show_market_place": "Mostrar Cake Features",
887
"show_seed": "Mostrar semilla",
888
+ "show_zcash_card": "Mostrar tarjeta de fondos faltantes de zcash",
889
"sign_all": "Firmar Todo",
890
"sign_message": "Firmar mensaje",
891
"sign_one": "Firmar 1",
@@ -1041,6 +1042,7 @@
1042
"transaction_sent_notice": "Si la pantalla no avanza después de 1 minuto, verifica un explorador de bloques y tu correo electrónico.",
1043
"transactions": "Transacciones",
1044
"transactions_by_date": "Transacciones por fecha",
1045
+ "transparent_secret_key": "Clave secreta transparente",
1046
"transport_type": "Tipo de Transporte",
1047
"trongrid_history": "Historial de TronGrid",
1048
"trusted": "Confiable",
@@ -1064,6 +1066,7 @@
1066
"unavailable_balance_description": "Saldo no disponible: este total incluye fondos que están bloqueados en transacciones pendientes y los que has congelado activamente en la configuración de Control de Monedas. Los saldos bloqueados estarán disponibles una vez que sus respectivas transacciones se completen, mientras que los saldos congelados permanecerán inaccesibles para transacciones hasta que decidas descongelarlos.",
1067
"unconfirmed": "Saldo no confirmado",
1068
"understand": "Entiendo",
1069
+ "unified_view_key": "Clave de vista unificada",
1070
"unlock": "Desbloquear",
1071
"unmatched_currencies": "La moneda de tu billetera actual no coincide con la del código QR escaneado",
1072
"unrestricted_background_service": "Servicio en segundo plano sin restricciones",
@@ -1174,5 +1177,11 @@
1177
"you_will_send": "Convertir desde",
1178
"youCanGoBackToYourDapp": "Ahora puedes volver a tu dApp",
1179
"your": "Tu",
1177
- "yy": "YY"
1180
+ "yy": "YY",
1181
+ "zcash_card_description": "Si no ve su saldo completo, Cake Wallet puede intentar barrer fondos de las direcciones de cambio internas utilizadas por algunas billeteras.",
1182
+ "zcash_card_dismiss": "Despedir",
1183
+ "zcash_card_enable_later": "Siempre puedes habilitar esta tarjeta más tarde en la configuración",
1184
+ "zcash_card_missing_funds": "¿Faltan fondos?",
1185
+ "zcash_card_scan": "Escanear",
1186
+ "zcash_card_warning": "No cierre la aplicación hasta que se complete el procedimiento; si lo hace, este proceso deberá reiniciarse desde cero."
1187
}
\ No newline at end of file
res/values/strings_fa.arb
+10
-1
@@ -885,6 +885,7 @@
885
"show_keys": "نمایش سید/کلیدها",
886
"show_market_place": "نمایش بازارچه",
887
"show_seed": "نمایش سید",
888
+ "show_zcash_card": "کارت zcash کمبود وجوه را نشان دهید",
889
"sign_all": "امضای همه",
890
"sign_message": "امضای پیام",
891
"sign_one": "امضای یکی",
@@ -1041,6 +1042,7 @@
1042
"transaction_sent_notice": "اگر صفحه بعد از ۱ دقیقه پیش نرفت، یک کاوشگر بلاک و ایمیل خود را چک کنید.",
1043
"transactions": "تراکنشها",
1044
"transactions_by_date": "تراکنشها بر اساس تاریخ",
1045
+ "transparent_secret_key": "کلید مخفی شفاف",
1046
"transport_type": "نوع انتقال",
1047
"trongrid_history": "تاریخچه TronGrid",
1048
"trusted": "قابل اعتماد",
@@ -1063,6 +1065,7 @@
1065
"unavailable_balance_description": "موجودی غیرقابل دسترس: این مجموع شامل وجوهی است که در تراکنشهای در انتظار قفل شدهاند و آنهایی که شما به طور فعال در تنظیمات کنترل کوین خود مسدود کردهاید.\nموجودیهای قفل شده پس از تکمیل تراکنشهای مربوطه در دسترس قرار میگیرند، در حالی که موجودیهای مسدود شده تا زمانی که تصمیم به رفع مسدودی آنها نگیرید، برای تراکنشها غیرقابل دسترس باقی میمانند.",
1066
"unconfirmed": "موجودی تایید نشده",
1067
"understand": "متوجه شدم",
1068
+ "unified_view_key": "کلید نمای یکپارچه",
1069
"unlock": "باز کردن قفل",
1070
"unmatched_currencies": "ارز کیف پول فعلی شما با کد QR اسکن شده مطابقت ندارد",
1071
"unrestricted_background_service": "سرویس پسزمینه نامحدود",
@@ -1171,5 +1174,11 @@
1174
"you_will_send": "تبدیل از",
1175
"youCanGoBackToYourDapp": "اکنون میتوانید به dApp خود بازگردید",
1176
"your": "شما",
1174
- "yy": "YY"
1177
+ "yy": "YY",
1178
+ "zcash_card_description": "اگر موجودی کامل خود را نمیبینید، Cake Wallet میتواند تلاش کند از آدرسهای تغییرات داخلی استفاده شده توسط برخی کیف پولها، وجوهی را جمعآوری کند.",
1179
+ "zcash_card_dismiss": "رد کردن",
1180
+ "zcash_card_enable_later": "همیشه میتوانید این کارت را بعداً در تنظیمات فعال کنید",
1181
+ "zcash_card_missing_funds": "کمبود بودجه؟",
1182
+ "zcash_card_scan": "اسکن کنید",
1183
+ "zcash_card_warning": "تا زمانی که مراحل کامل نشده است، برنامه را نبندید، در صورت انجام این کار، این فرآیند باید از ابتدا مجدداً راه اندازی شود."
1184
}
\ No newline at end of file
res/values/strings_fr.arb
+10
-1
@@ -884,6 +884,7 @@
884
"show_keys": "Visualiser la phrase secrète (seed) et les clefs",
885
"show_market_place": "Afficher la place de marché",
886
"show_seed": "Visualiser la phrase secrète (seed)",
887
+ "show_zcash_card": "Afficher la carte de fonds manquants zcash",
888
"sign_all": "Signer tout",
889
"sign_message": "Signer le message",
890
"sign_one": "Signer un",
@@ -1040,6 +1041,7 @@
1041
"transaction_sent_notice": "Si l'écran ne continue pas après 1 minute, vérifiez un explorateur de blocs et votre e-mail.",
1042
"transactions": "Transactions",
1043
"transactions_by_date": "Transactions par date",
1044
+ "transparent_secret_key": "Clé secrète transparente",
1045
"transport_type": "Type de transport",
1046
"trongrid_history": "Histoire de la trongride",
1047
"trusted": "de confiance",
@@ -1063,6 +1065,7 @@
1065
"unavailable_balance_description": "Solde indisponible : ce total comprend les fonds bloqués dans les transactions en attente et ceux que vous avez activement gelés dans vos paramètres de contrôle des pièces. Les soldes bloqués deviendront disponibles une fois leurs transactions respectives terminées, tandis que les soldes gelés resteront inaccessibles aux transactions jusqu'à ce que vous décidiez de les débloquer.",
1066
"unconfirmed": "Solde non confirmé",
1067
"understand": "J'ai compris",
1068
+ "unified_view_key": "Clé de vue unifiée",
1069
"unlock": "Ouvrir",
1070
"unmatched_currencies": "La devise de votre portefeuille (wallet) actuel ne correspond pas à celle du QR code scanné",
1071
"unrestricted_background_service": "Service de fond sans restriction",
@@ -1172,5 +1175,11 @@
1175
"you_will_send": "Convertir depuis",
1176
"youCanGoBackToYourDapp": "Vous pouvez retourner à votre Dapp maintenant",
1177
"your": "Ton",
1175
- "yy": "AA"
1178
+ "yy": "AA",
1179
+ "zcash_card_description": "Si vous ne voyez pas votre solde complet, Cake Wallet peut tenter de récupérer des fonds à partir d'adresses de modification internes utilisées par certains portefeuilles.",
1180
+ "zcash_card_dismiss": "Rejeter",
1181
+ "zcash_card_enable_later": "Vous pourrez toujours activer cette carte plus tard dans les paramètres",
1182
+ "zcash_card_missing_funds": "Des fonds manquants ?",
1183
+ "zcash_card_scan": "Balayage",
1184
+ "zcash_card_warning": "Ne fermez pas l'application tant que la procédure n'est pas terminée, si vous le faites, ce processus devra redémarrer à partir de zéro."
1185
}
\ No newline at end of file
res/values/strings_gn.arb
+10
-1
@@ -679,6 +679,7 @@
679
"show_keys": "Hechauka ñe’ẽñemi",
680
"show_market_place": "Hechauka ñemuha renda",
681
"show_seed": "Hechauka ñe’ẽñemi",
682
+ "show_zcash_card": "Ohechauka zcash tarjeta de fondos ofaltáva .",
683
"sign_message": "Marandu ñemboheraguapy rehegua",
684
"sign_up": "Mboguapy kuatiápe",
685
"sign_verify_message": "Ñemboheraguapy térã vichea jey marandu",
@@ -809,6 +810,7 @@
810
"transaction_sent_notice": "Ko pantalla ndohasai ramo aravo’ive rire, eheka pe jehekaha bloque-pe ha nde korreo electrónico-pe.",
811
"transactions": "jehuperehaí-kuera",
812
"transactions_by_date": "Ára ñembohasa-kuera rehegua",
813
+ "transparent_secret_key": "Clave secreta transparente rehegua .",
814
"trongrid_history": "trongrid rapykuere",
815
"trusted": "jeroviaha",
816
"tx_commit_exception_no_dust_on_change": "Oñemboyke pe transacción ko monto reheve. Ko’ã moneda rupive ikatu remondo ${min} ndorekóiva ñemoambue térã ${max} ombohasa jey pe ñemoambue.",
@@ -829,6 +831,7 @@
831
"unavailable_balance_description": "Ndoikói saldo ojeipuru haguã: ko enteroite oguereko viru oñembotýva transacción oha’arõhápe ha avei umi remohãtãva ne configuración-pe moneda ñangarekohápe. Umi saldo ojejokóva ikatúta ojepuru og̃uahembavove transacción-kuéra, ha umi saldo oĩva jejokópe opytáta ndaikatúi hag̃ua ojeipuru, reipe´apeve peve jejokógui.",
832
"unconfirmed": "noñemoañetepái gueteri saldo",
833
"understand": "Apilla",
834
+ "unified_view_key": "Clave de Visión Unificial rehegua .",
835
"unlock": "jeipe’a jokohagui",
836
"unmatched_currencies": "Pe moneda ndebilletera ko’agagua ndojoajúi pe QR oje-escaneva ndive",
837
"unspent_change": "Moambue",
@@ -913,5 +916,11 @@
916
"you_pay": "Nde rehepymeʼẽ",
917
"you_will_get": "Oñemoambue haguã",
918
"you_will_send": "Oñemoambue pe",
916
- "yy": "Ha"
919
+ "yy": "Ha",
920
+ "zcash_card_description": "Nderehecháiramo nde billetera de torta de balance completo ikatu oñeha’ã ombojere fondo umi dirección de cambio interno-gui oiporúva algunas billeteras.",
921
+ "zcash_card_dismiss": "Mboyke",
922
+ "zcash_card_enable_later": "Ikatu akóinte emboguata ko tarjeta upe rire ñembohekorãme .",
923
+ "zcash_card_missing_funds": "¿Ofalta umi fondo?",
924
+ "zcash_card_scan": "Escaneo rehegua .",
925
+ "zcash_card_warning": "Ani remboty pe app ojejapopa peve pe procedimiento, rejapo ramo upéicha ko proceso tekotevẽta oñepyrũ jey cero guive."
926
}
\ No newline at end of file
res/values/strings_ha.arb
+10
-1
@@ -886,6 +886,7 @@
886
"show_keys": "Nuna iri/maɓallai",
887
"show_market_place": "Nuna dan kasuwa",
888
"show_seed": "Nuna iri",
889
+ "show_zcash_card": "Nuna katin kuɗi da ya ɓace zcash",
890
"sign_all": "Shiga All",
891
"sign_message": "Sa hannu",
892
"sign_one": "Alamar daya",
@@ -1042,6 +1043,7 @@
1043
"transaction_sent_notice": "Idan allon bai ci gaba ba bayan minti 1, duba mai binciken toshewa da imel ɗin ku.",
1044
"transactions": "Ma'amaloli",
1045
"transactions_by_date": "Ma'amaloli ta kwanan wata",
1046
+ "transparent_secret_key": "Maɓallin Sirrin Maɓalli",
1047
"transport_type": "Nau'in sufuri",
1048
"trongrid_history": "Tarihin Trongrid",
1049
"trusted": "Amintacce",
@@ -1065,6 +1067,7 @@
1067
"unavailable_balance_description": "Ma'auni Babu: Wannan jimlar ya haɗa da kuɗi waɗanda ke kulle a cikin ma'amaloli da ke jiran aiki da waɗanda kuka daskare sosai a cikin saitunan sarrafa kuɗin ku. Ma'auni da aka kulle za su kasance da zarar an kammala ma'amalolinsu, yayin da daskararrun ma'auni ba za su iya samun damar yin ciniki ba har sai kun yanke shawarar cire su.",
1068
"unconfirmed": "Ba a tabbatar ba",
1069
"understand": "na gane",
1070
+ "unified_view_key": "Maɓallin Duba Haɗin Kai",
1071
"unlock": "Buɗe",
1072
"unmatched_currencies": "Nau'in walat ɗin ku na yanzu bai dace da na lambar QR da aka bincika ba",
1073
"unrestricted_background_service": "Sabis na baya",
@@ -1175,5 +1178,11 @@
1178
"you_will_send": "Maida daga",
1179
"youCanGoBackToYourDapp": "Kuna iya komawa zuwa DPP ɗinku yanzu",
1180
"your": "Naku",
1178
- "yy": "YY"
1181
+ "yy": "YY",
1182
+ "zcash_card_description": "Idan ba ku ga cikakken ma'auni na Cake Wallet na iya ƙoƙarin share kuɗi daga adiresoshin canji na ciki waɗanda wasu wallet ɗin ke amfani da su.",
1183
+ "zcash_card_dismiss": "Korar",
1184
+ "zcash_card_enable_later": "Kuna iya kunna wannan katin koyaushe a cikin saitunan",
1185
+ "zcash_card_missing_funds": "Bace kudi?",
1186
+ "zcash_card_scan": "Duba",
1187
+ "zcash_card_warning": "Kar a rufe app ɗin har sai an kammala aikin, idan kun yi haka wannan tsari zai buƙaci sake farawa daga karce."
1188
}
\ No newline at end of file
res/values/strings_hi.arb
+11
-2
@@ -622,8 +622,8 @@
622
"payjoin_unavailable_sheet_title": "Payjoin अनुपलब्ध क्यों है?",
623
"payment_id": "भुगतान ID: ",
624
"payment_made_easy": "भुगतान आसान किया गया",
625
- "Payment_was_received": "आपका भुगतान प्राप्त हो गया था।",
625
"payment_was_received": "आपका भुगतान प्राप्त हुआ था।",
626
+ "Payment_was_received": "आपका भुगतान प्राप्त हो गया था।",
627
"payments": "भुगतान",
628
"pending": " (अपूर्ण)",
629
"percentageOf": "${amount} का",
@@ -886,6 +886,7 @@
886
"show_keys": "बीज / कुंजियाँ दिखाएँ",
887
"show_market_place": "बाज़ार दिखाएँ",
888
"show_seed": "बीज दिखाओ",
889
+ "show_zcash_card": "Zcash गुम फंड कार्ड दिखाएं",
890
"sign_all": "साइन इन करें",
891
"sign_message": "हस्ताक्षर संदेश",
892
"sign_one": "साइन वन",
@@ -1042,6 +1043,7 @@
1043
"transaction_sent_notice": "अगर 1 मिनट के बाद भी स्क्रीन आगे नहीं बढ़ती है, तो ब्लॉक एक्सप्लोरर और अपना ईमेल देखें।",
1044
"transactions": "लेन-देन",
1045
"transactions_by_date": "तारीख से लेन-देन",
1046
+ "transparent_secret_key": "पारदर्शी गुप्त कुंजी",
1047
"transport_type": "परिवहन प्रकार",
1048
"trongrid_history": "ट्रॉन्ग्रिड का इतिहास",
1049
"trusted": "भरोसा",
@@ -1065,6 +1067,7 @@
1067
"unavailable_balance_description": "अनुपलब्ध शेष राशि: इस कुल में वे धनराशि शामिल हैं जो लंबित लेनदेन में बंद हैं और जिन्हें आपने अपनी सिक्का नियंत्रण सेटिंग्स में सक्रिय रूप से जमा कर रखा है। लॉक किए गए शेष उनके संबंधित लेन-देन पूरे होने के बाद उपलब्ध हो जाएंगे, जबकि जमे हुए शेष लेन-देन के लिए अप्राप्य रहेंगे जब तक कि आप उन्हें अनफ्रीज करने का निर्णय नहीं लेते।",
1068
"unconfirmed": "अपुष्ट शेष राशि",
1069
"understand": "मुझे समझ",
1070
+ "unified_view_key": "एकीकृत दृश्य कुंजी",
1071
"unlock": "अनलॉक",
1072
"unmatched_currencies": "आपके वर्तमान वॉलेट की मुद्रा स्कैन किए गए क्यूआर से मेल नहीं खाती",
1073
"unrestricted_background_service": "अप्रतिबंधित पृष्ठभूमि सेवा",
@@ -1174,5 +1177,11 @@
1177
"you_will_send": "से रूपांतरित करें",
1178
"youCanGoBackToYourDapp": "अब आप अपने DAPP पर वापस जा सकते हैं",
1179
"your": "आपका",
1177
- "yy": "वाईवाई"
1180
+ "yy": "वाईवाई",
1181
+ "zcash_card_description": "यदि आपको अपना पूरा बैलेंस नहीं दिख रहा है तो केक वॉलेट कुछ वॉलेट्स द्वारा उपयोग किए गए आंतरिक परिवर्तन पतों से धनराशि निकालने का प्रयास कर सकता है।",
1182
+ "zcash_card_dismiss": "नकार देना",
1183
+ "zcash_card_enable_later": "आप इस कार्ड को बाद में सेटिंग में कभी भी सक्षम कर सकते हैं",
1184
+ "zcash_card_missing_funds": "धन की कमी?",
1185
+ "zcash_card_scan": "स्कैन",
1186
+ "zcash_card_warning": "प्रक्रिया पूरी होने तक ऐप को बंद न करें, यदि आप ऐसा करते हैं तो इस प्रक्रिया को स्क्रैच से पुनः आरंभ करने की आवश्यकता होगी।"
1187
}
\ No newline at end of file
res/values/strings_hr.arb
+10
-1
@@ -884,6 +884,7 @@
884
"show_keys": "Prikaži pristupni izraz/ključ",
885
"show_market_place": "Prikaži tržište",
886
"show_seed": "Prikaži pristupni izraz",
887
+ "show_zcash_card": "Prikaži zcash karticu s nedostajućim sredstvima",
888
"sign_all": "Potpisati sve",
889
"sign_message": "Poruka",
890
"sign_one": "Potpisati jedan",
@@ -1040,6 +1041,7 @@
1041
"transaction_sent_notice": "Ako se zaslon ne nastavi nakon 1 minute, provjerite block explorer i svoju e-poštu.",
1042
"transactions": "Transakcije",
1043
"transactions_by_date": "Transakcije prema datumu",
1044
+ "transparent_secret_key": "Prozirni tajni ključ",
1045
"transport_type": "Transportni tip",
1046
"trongrid_history": "Povijest Trongrida",
1047
"trusted": "vjerovao",
@@ -1063,6 +1065,7 @@
1065
"unavailable_balance_description": "Nedostupno stanje: Ovaj ukupni iznos uključuje sredstva koja su zaključana u transakcijama na čekanju i ona koja ste aktivno zamrznuli u postavkama kontrole novčića. Zaključani saldi postat će dostupni kada se dovrše njihove transakcije, dok zamrznuti saldi ostaju nedostupni za transakcije sve dok ih ne odlučite odmrznuti.",
1066
"unconfirmed": "Nepotvrđeno stanje",
1067
"understand": "Razumijem",
1068
+ "unified_view_key": "Unified View Key",
1069
"unlock": "Otključati",
1070
"unmatched_currencies": "Valuta vašeg trenutnog novčanika ne odgovara onoj na skeniranom QR-u",
1071
"unrestricted_background_service": "Neograničena pozadinska usluga",
@@ -1172,5 +1175,11 @@
1175
"you_will_send": "Razmijeni iz",
1176
"youCanGoBackToYourDapp": "Sada se možete vratiti na svoj dapp",
1177
"your": "Vaš",
1175
- "yy": "GG"
1178
+ "yy": "GG",
1179
+ "zcash_card_description": "Ako ne vidite svoj puni saldo, Cake Wallet može pokušati počistiti sredstva s internih adresa za promjenu koje koriste neki novčanici.",
1180
+ "zcash_card_dismiss": "Odbaciti",
1181
+ "zcash_card_enable_later": "Tu karticu uvijek možete omogućiti kasnije u postavkama",
1182
+ "zcash_card_missing_funds": "Nedostaju sredstva?",
1183
+ "zcash_card_scan": "Skenirati",
1184
+ "zcash_card_warning": "Ne zatvarajte aplikaciju dok se postupak ne dovrši, ako to učinite, ovaj će se postupak morati ponovno pokrenuti ispočetka."
1185
}
\ No newline at end of file
res/values/strings_hy.arb
+10
-1
@@ -882,6 +882,7 @@
882
"show_keys": "Ցուցադրել բանալիներ",
883
"show_market_place": "Ցուցադրել շուկան",
884
"show_seed": "Ցուցադրել սերմ",
885
+ "show_zcash_card": "Ցույց տալ zcash բացակայող միջոցների քարտը",
886
"sign_all": "Ստորագրեք բոլորը",
887
"sign_message": "Կնքել հաղորդագրություն",
888
"sign_one": "Ստորագրել մեկը",
@@ -1038,6 +1039,7 @@
1039
"transaction_sent_notice": "Եթե էկրանը 1 րոպեի ընթացքում չի թարմանում, խնդրում ենք ստուգել բլոկի բացահայտիչը և Ձեր էլ. փոստը",
1040
"transactions": "Փոխանցումներ",
1041
"transactions_by_date": "Փոխանցումներ ամսաթվով",
1042
+ "transparent_secret_key": "Թափանցիկ գաղտնի բանալի",
1043
"transport_type": "Տրանսպորտի տեսակը",
1044
"trongrid_history": "TronGrid պատմություն",
1045
"trusted": "Վստահելի",
@@ -1061,6 +1063,7 @@
1063
"unavailable_balance_description": "Անհասանելի մնացորդ: Այս ընդհանուր գումարը ներառում է այն միջոցները, որոնք արգելափակված են ընթացիկ գործարքներում և նրանք, որոնք դուք ակտիվորեն սառեցրել եք արժույթների վերահսկման կարգավորումների մեջ։ Արգելափակված մնացորդները կդառնան հասանելի, երբ համապատասխան գործարքները կավարտվեն, մինչդեռ սառեցված մնացորդները կմնան անհասանելի մինչև դուք որոշեք դրանք ապասառեցնել։",
1064
"unconfirmed": "Չհաստատված մնացորդ",
1065
"understand": "Ես հասկանում եմ",
1066
+ "unified_view_key": "Դիտման միասնական բանալի",
1067
"unlock": "Բացել",
1068
"unmatched_currencies": "Ձեր ընթացիկ դրամապանակի արժույթը չի համապատասխանում սկանավորված QR կոդի արժույթին",
1069
"unrestricted_background_service": "Անսահմանափակ ֆոնային ծառայություն",
@@ -1170,5 +1173,11 @@
1173
"you_will_send": "Փոխանակեք",
1174
"youCanGoBackToYourDapp": "Այժմ կարող եք վերադառնալ ձեր DAPP- ին",
1175
"your": "Քո",
1173
- "yy": "ՏՏ"
1176
+ "yy": "ՏՏ",
1177
+ "zcash_card_description": "Եթե դուք չեք տեսնում ձեր ամբողջական մնացորդը Cake Wallet-ը կարող է փորձել միջոցներ հավաքել որոշ դրամապանակների կողմից օգտագործվող ներքին փոփոխության հասցեներից:",
1178
+ "zcash_card_dismiss": "Հեռացնել",
1179
+ "zcash_card_enable_later": "Դուք միշտ կարող եք ակտիվացնել այս քարտը կարգավորումներում",
1180
+ "zcash_card_missing_funds": "Բացակայող միջոցներ.",
1181
+ "zcash_card_scan": "Սկանավորել",
1182
+ "zcash_card_warning": "Մի փակեք հավելվածը մինչև ընթացակարգի ավարտը, եթե դա անեք, այս գործընթացը պետք է վերագործարկվի զրոյից:"
1183
}
\ No newline at end of file
res/values/strings_id.arb
+10
-1
@@ -887,6 +887,7 @@
887
"show_keys": "Tampilkan seed/kunci",
888
"show_market_place": "Tampilkan Pasar",
889
"show_seed": "Tampilkan seed",
890
+ "show_zcash_card": "Tunjukkan kartu dana zcash yang hilang",
891
"sign_all": "Menandatangani semua",
892
"sign_message": "Pesan tanda",
893
"sign_one": "Tanda satu",
@@ -1043,6 +1044,7 @@
1044
"transaction_sent_notice": "Jika layar tidak bergerak setelah 1 menit, periksa block explorer dan email Anda.",
1045
"transactions": "Transaksi",
1046
"transactions_by_date": "Transaksi berdasarkan tanggal",
1047
+ "transparent_secret_key": "Kunci Rahasia Transparan",
1048
"transport_type": "Jenis transportasi",
1049
"trongrid_history": "Sejarah Trongrid",
1050
"trusted": "Dipercayai",
@@ -1066,6 +1068,7 @@
1068
"unavailable_balance_description": "Saldo Tidak Tersedia: Total ini termasuk dana yang terkunci dalam transaksi yang tertunda dan dana yang telah Anda bekukan secara aktif di pengaturan kontrol koin Anda. Saldo yang terkunci akan tersedia setelah transaksi masing-masing selesai, sedangkan saldo yang dibekukan tetap tidak dapat diakses untuk transaksi sampai Anda memutuskan untuk mencairkannya.",
1069
"unconfirmed": "Saldo Belum Dikonfirmasi",
1070
"understand": "Saya mengerti",
1071
+ "unified_view_key": "Kunci Tampilan Terpadu",
1072
"unlock": "Membuka kunci",
1073
"unmatched_currencies": "Mata uang dompet Anda saat ini tidak cocok dengan yang ditandai QR",
1074
"unrestricted_background_service": "Layanan latar belakang tidak terbatas",
@@ -1175,5 +1178,11 @@
1178
"you_will_send": "Konversi dari",
1179
"youCanGoBackToYourDapp": "Anda dapat kembali ke dapp Anda sekarang",
1180
"your": "Milikmu",
1178
- "yy": "YY"
1181
+ "yy": "YY",
1182
+ "zcash_card_description": "Jika Anda tidak melihat saldo penuh, Cake Wallet dapat mencoba menyapu dana dari alamat perubahan internal yang digunakan oleh beberapa dompet.",
1183
+ "zcash_card_dismiss": "Membubarkan",
1184
+ "zcash_card_enable_later": "Anda selalu dapat mengaktifkan kartu ini nanti di pengaturan",
1185
+ "zcash_card_missing_funds": "Dana hilang?",
1186
+ "zcash_card_scan": "Pindai",
1187
+ "zcash_card_warning": "Jangan tutup aplikasi hingga prosedur selesai, jika Anda melakukannya, proses ini perlu dimulai ulang dari awal."
1188
}
\ No newline at end of file
res/values/strings_it.arb
+10
-1
@@ -885,6 +885,7 @@
885
"show_keys": "Mostra seme/chiavi",
886
"show_market_place": "Mostra mercato",
887
"show_seed": "Mostra seme",
888
+ "show_zcash_card": "Mostra la carta con fondi mancanti zcash",
889
"sign_all": "Firma tutto",
890
"sign_message": "Firma messaggio",
891
"sign_one": "Segna uno",
@@ -1041,6 +1042,7 @@
1042
"transaction_sent_notice": "Se la schermata non procede dopo 1 minuto, controlla un block explorer e la tua email.",
1043
"transactions": "Transazioni",
1044
"transactions_by_date": "Transazioni per data",
1045
+ "transparent_secret_key": "Chiave segreta trasparente",
1046
"transport_type": "Tipo di trasporto",
1047
"trongrid_history": "Cronologia TronGrid",
1048
"trusted": "Fidato",
@@ -1064,6 +1066,7 @@
1066
"unavailable_balance_description": "Saldo non disponibile: questo totale include i fondi bloccati nelle transazioni in sospeso e quelli che hai congelato attivamente nelle impostazioni di Controllo monete. I saldi bloccati diventeranno disponibili una volta completate le rispettive transazioni, mentre i saldi congelati rimarranno inaccessibili per le transazioni finché non deciderai di sbloccarli.",
1067
"unconfirmed": "Saldo non confermato",
1068
"understand": "Capisco",
1069
+ "unified_view_key": "Chiave di visualizzazione unificata",
1070
"unlock": "Sblocca",
1071
"unmatched_currencies": "La valuta del tuo portafoglio attuale non corrisponde a quella del QR scansionato",
1072
"unrestricted_background_service": "Servizio di background senza restrizioni",
@@ -1175,5 +1178,11 @@
1178
"you_will_send": "Conveti da",
1179
"youCanGoBackToYourDapp": "Puoi tornare al tuo DApp ora",
1180
"your": "Tuo",
1178
- "yy": "YY"
1181
+ "yy": "YY",
1182
+ "zcash_card_description": "Se non vedi il saldo completo, Cake Wallet può tentare di prelevare fondi dagli indirizzi di modifica interni utilizzati da alcuni portafogli.",
1183
+ "zcash_card_dismiss": "Congedare",
1184
+ "zcash_card_enable_later": "Puoi sempre abilitare questa carta in un secondo momento nelle impostazioni",
1185
+ "zcash_card_missing_funds": "Fondi mancanti?",
1186
+ "zcash_card_scan": "Scansione",
1187
+ "zcash_card_warning": "Non chiudere l'app fino al completamento della procedura, altrimenti sarà necessario riavviare il processo da zero."
1188
}
\ No newline at end of file
res/values/strings_ja.arb
+10
-1
@@ -885,6 +885,7 @@
885
"show_keys": "シード/キーを表示する",
886
"show_market_place": "マーケットプレイスを表示",
887
"show_seed": "シードを表示",
888
+ "show_zcash_card": "zcash 不足資金カードを提示する",
889
"sign_all": "すべてに署名します",
890
"sign_message": "署名メッセージ",
891
"sign_one": "1つに署名します",
@@ -1041,6 +1042,7 @@
1042
"transaction_sent_notice": "1分経っても画面が進まない場合は、ブロックエクスプローラーとメールアドレスを確認してください。",
1043
"transactions": "取引",
1044
"transactions_by_date": "日付ごとの取引",
1045
+ "transparent_secret_key": "透明な秘密鍵",
1046
"transport_type": "輸送タイプ",
1047
"trongrid_history": "トロンリッドの歴史",
1048
"trusted": "信頼できる",
@@ -1064,6 +1066,7 @@
1066
"unavailable_balance_description": "利用不可能な残高: この合計には、保留中のトランザクションにロックされている資金と、コイン管理設定でアクティブに凍結した資金が含まれます。ロックされた残高は、それぞれの取引が完了すると利用可能になりますが、凍結された残高は、凍結を解除するまで取引にアクセスできません。",
1067
"unconfirmed": "残高未確認",
1068
"understand": "わかります",
1069
+ "unified_view_key": "統合ビューキー",
1070
"unlock": "ロックを解除します",
1071
"unmatched_currencies": "現在のウォレットの通貨がスキャンされたQRの通貨と一致しません",
1072
"unrestricted_background_service": "無制限のバックグラウンドサービス",
@@ -1173,5 +1176,11 @@
1176
"you_will_send": "から変換",
1177
"youCanGoBackToYourDapp": "あなたは今あなたのダップに戻ることができます",
1178
"your": "あなたの",
1176
- "yy": "YY"
1179
+ "yy": "YY",
1180
+ "zcash_card_description": "残高が全額表示されない場合、Cake Wallet は一部のウォレットで使用されている内部変更アドレスから資金を掃引しようとする可能性があります。",
1181
+ "zcash_card_dismiss": "却下する",
1182
+ "zcash_card_enable_later": "このカードは後から設定でいつでも有効にできます",
1183
+ "zcash_card_missing_funds": "資金が不足していますか?",
1184
+ "zcash_card_scan": "スキャン",
1185
+ "zcash_card_warning": "手順が完了するまでアプリを閉じないでください。閉じた場合、このプロセスを最初からやり直す必要があります。"
1186
}
\ No newline at end of file
res/values/strings_ko.arb
+10
-1
@@ -885,6 +885,7 @@
885
"show_keys": "시드/키 표시",
886
"show_market_place": "마켓플레이스 표시",
887
"show_seed": "시드 표시",
888
+ "show_zcash_card": "zcash 누락 자금 카드 표시",
889
"sign_all": "모두 서명",
890
"sign_message": "메시지 서명",
891
"sign_one": "하나 서명",
@@ -1041,6 +1042,7 @@
1042
"transaction_sent_notice": "1분 후에도 화면이 진행되지 않으면 블록 탐색기와 이메일을 확인하세요.",
1043
"transactions": "트랜잭션",
1044
"transactions_by_date": "날짜별 트랜잭션",
1045
+ "transparent_secret_key": "투명한 비밀키",
1046
"transport_type": "전송 유형",
1047
"trongrid_history": "TronGrid 내역",
1048
"trusted": "신뢰됨",
@@ -1064,6 +1066,7 @@
1066
"unavailable_balance_description": "사용 불가 잔액: 이 총액에는 보류 중인 트랜잭션에 잠긴 자금과 코인 제어 설정에서 적극적으로 동결한 자금이 포함됩니다. 잠긴 잔액은 해당 트랜잭션이 완료되면 사용할 수 있게 되며, 동결된 잔액은 동결 해제를 결정할 때까지 트랜잭션에 액세스할 수 없습니다.",
1067
"unconfirmed": "미확정 잔액",
1068
"understand": "이해합니다",
1069
+ "unified_view_key": "통합 보기 키",
1070
"unlock": "잠금 해제",
1071
"unmatched_currencies": "현재 지갑 통화가 스캔된 QR의 통화와 일치하지 않습니다.",
1072
"unrestricted_background_service": "제한 없는 백그라운드 서비스",
@@ -1173,5 +1176,11 @@
1176
"you_will_send": "전환 출처",
1177
"youCanGoBackToYourDapp": "이제 dApp으로 돌아갈 수 있습니다",
1178
"your": "당신의",
1176
- "yy": "YY"
1179
+ "yy": "YY",
1180
+ "zcash_card_description": "전체 잔액이 표시되지 않으면 Cake Wallet은 일부 지갑에서 사용하는 내부 변경 주소에서 자금을 회수하려고 시도할 수 있습니다.",
1181
+ "zcash_card_dismiss": "해고하다",
1182
+ "zcash_card_enable_later": "나중에 설정에서 언제든지 이 카드를 활성화할 수 있습니다.",
1183
+ "zcash_card_missing_funds": "자금이 부족합니까?",
1184
+ "zcash_card_scan": "주사",
1185
+ "zcash_card_warning": "절차가 완료될 때까지 앱을 닫지 마십시오. 그렇게 하면 이 프로세스를 처음부터 다시 시작해야 합니다."
1186
}
\ No newline at end of file
res/values/strings_my.arb
+10
-1
@@ -884,6 +884,7 @@
884
"show_keys": "မျိုးစေ့ /သော့များကို ပြပါ။",
885
"show_market_place": "စျေးကွက်ကိုပြသပါ။",
886
"show_seed": "မျိုးစေ့ကိုပြပါ။",
887
+ "show_zcash_card": "zcash ပျောက်ဆုံးနေသော ရန်ပုံငွေကတ်ကို ပြပါ။",
888
"sign_all": "အားလုံးလက်မှတ်ထိုးပါ",
889
"sign_message": "လက်မှတ်စာ",
890
"sign_one": "လက်မှတ်ထိုးပါ",
@@ -1040,6 +1041,7 @@
1041
"transaction_sent_notice": "မျက်နှာပြင်သည် ၁ မိနစ်အကြာတွင် ဆက်လက်မလုပ်ဆောင်ပါက၊ ပိတ်ဆို့ရှာဖွေသူနှင့် သင့်အီးမေးလ်ကို စစ်ဆေးပါ။",
1042
"transactions": "ငွေပေးငွေယူ",
1043
"transactions_by_date": "ရက်စွဲအလိုက် ငွေလွှဲမှုများ",
1044
+ "transparent_secret_key": "လျှို့ဝှက်သော့",
1045
"transport_type": "သယ်ယူပို့ဆောင်ရေးအမျိုးအစား",
1046
"trongrid_history": "Trongrid သမိုင်း",
1047
"trusted": "ယုံတယ်။",
@@ -1063,6 +1065,7 @@
1065
"unavailable_balance_description": "မရရှိနိုင်သော လက်ကျန်ငွေ- ဤစုစုပေါင်းတွင် ဆိုင်းငံ့ထားသော ငွေပေးငွေယူများတွင် သော့ခတ်ထားသော ငွေကြေးများနှင့် သင်၏ coin ထိန်းချုပ်မှုဆက်တင်များတွင် သင် တက်ကြွစွာ အေးခဲထားသော ငွေများ ပါဝင်သည်။ သော့ခတ်ထားသော လက်ကျန်ငွေများကို ၎င်းတို့၏ သက်ဆိုင်ရာ ငွေပေးငွေယူများ ပြီးမြောက်သည်နှင့် တပြိုင်နက် ရရှိနိုင်မည်ဖြစ်ပြီး၊ အေးခဲထားသော လက်ကျန်များကို ၎င်းတို့အား ပြန်ဖြုတ်ရန် သင်ဆုံးဖြတ်သည်အထိ ငွေပေးငွေယူများအတွက် ဆက်လက်၍မရနိုင်ပါ။",
1066
"unconfirmed": "အတည်မပြုနိုင်သော လက်ကျန်ငွေ",
1067
"understand": "ကျွန်တော်နားလည်ပါတယ်",
1068
+ "unified_view_key": "ပေါင်းစည်းထားသော View Key",
1069
"unlock": "သော့ဖွင့်",
1070
"unmatched_currencies": "သင့်လက်ရှိပိုက်ဆံအိတ်၏ငွေကြေးသည် စကင်ဖတ်ထားသော QR နှင့် မကိုက်ညီပါ။",
1071
"unrestricted_background_service": "အကန့်အသတ်မရှိနောက်ခံဝန်ဆောင်မှု",
@@ -1172,5 +1175,11 @@
1175
"you_will_send": "မှပြောင်းပါ။",
1176
"youCanGoBackToYourDapp": "သငျသညျယခုသင်၏ dapp ကိုပြန်သွားနိုင်ပါတယ်",
1177
"your": "ခင်ဗျားတို့၏",
1175
- "yy": "YY"
1178
+ "yy": "YY",
1179
+ "zcash_card_description": "သင့်လက်ကျန်ငွေ အပြည့်အစုံကို မတွေ့ပါက Cake Wallet အချို့သော ပိုက်ဆံအိတ်များတွင် အသုံးပြုသော အတွင်းပိုင်းပြောင်းလဲမှုလိပ်စာများမှ ရန်ပုံငွေများကို ထုတ်ယူရန် ကြိုးပမ်းနိုင်ပါသည်။",
1180
+ "zcash_card_dismiss": "ပယ်ရန်",
1181
+ "zcash_card_enable_later": "သင်သည် ဤကတ်ကို ဆက်တင်များတွင် နောက်ပိုင်းတွင် အမြဲဖွင့်နိုင်သည်။",
1182
+ "zcash_card_missing_funds": "ရန်ပုံငွေများ ပျောက်ဆုံးနေပါသလား။",
1183
+ "zcash_card_scan": "စကင်န်",
1184
+ "zcash_card_warning": "လုပ်ထုံးလုပ်နည်းမပြီးမချင်း အက်ပ်ကို မပိတ်ပါနှင့်၊ အကယ်၍ သင်သည် ဤလုပ်ငန်းစဉ်ကို အစမှ ပြန်လည်စတင်ရန် လိုအပ်မည်ဖြစ်သည်။"
1185
}
\ No newline at end of file
res/values/strings_nl.arb
+10
-1
@@ -884,6 +884,7 @@
884
"show_keys": "Toon zaad/sleutels",
885
"show_market_place": "Toon Marktplaats",
886
"show_seed": "Toon zaad",
887
+ "show_zcash_card": "Toon zcash ontbrekende fondsenkaart",
888
"sign_all": "Teken alles",
889
"sign_message": "Aanmeldingsbericht",
890
"sign_one": "Ondertekenen een",
@@ -1040,6 +1041,7 @@
1041
"transaction_sent_notice": "Als het scherm na 1 minuut niet verder gaat, controleer dan een blokverkenner en je e-mail.",
1042
"transactions": "Transacties",
1043
"transactions_by_date": "Transacties op datum",
1044
+ "transparent_secret_key": "Transparante geheime sleutel",
1045
"transport_type": "Transporttype",
1046
"trongrid_history": "Trongrid geschiedenis",
1047
"trusted": "vertrouwd",
@@ -1063,6 +1065,7 @@
1065
"unavailable_balance_description": "Niet-beschikbaar saldo: Dit totaal omvat het geld dat is vergrendeld in lopende transacties en het geld dat u actief hebt bevroren in uw muntcontrole-instellingen. Vergrendelde saldi komen beschikbaar zodra de betreffende transacties zijn voltooid, terwijl bevroren saldi ontoegankelijk blijven voor transacties totdat u besluit ze weer vrij te geven.",
1066
"unconfirmed": "Onbevestigd saldo",
1067
"understand": "Ik begrijp het",
1068
+ "unified_view_key": "Uniforme weergavesleutel",
1069
"unlock": "Ontgrendelen",
1070
"unmatched_currencies": "De valuta van uw huidige portemonnee komt niet overeen met die van de gescande QR",
1071
"unrestricted_background_service": "Onbeperkte achtergrondservice",
@@ -1173,5 +1176,11 @@
1176
"you_will_send": "Converteren van",
1177
"youCanGoBackToYourDapp": "U kunt nu terug naar uw DApp gaan",
1178
"your": "Jouw",
1176
- "yy": "JJ"
1179
+ "yy": "JJ",
1180
+ "zcash_card_description": "Als u uw volledige saldo niet ziet, kan Cake Wallet proberen geld op te halen van interne wijzigingsadressen die door sommige portemonnees worden gebruikt.",
1181
+ "zcash_card_dismiss": "Afwijzen",
1182
+ "zcash_card_enable_later": "Je kunt deze kaart altijd later inschakelen in de instellingen",
1183
+ "zcash_card_missing_funds": "Ontbrekende fondsen?",
1184
+ "zcash_card_scan": "Scannen",
1185
+ "zcash_card_warning": "Sluit de app niet totdat de procedure is voltooid. Als u dit wel doet, moet dit proces helemaal opnieuw worden opgestart."
1186
}
\ No newline at end of file
res/values/strings_pl.arb
+10
-1
@@ -883,6 +883,7 @@
883
"show_keys": "Pokaż seed/klucze",
884
"show_market_place": "Pokaż Marketplace",
885
"show_seed": "Pokaż seed",
886
+ "show_zcash_card": "Pokaż brakującą kartę środków Zcash",
887
"sign_all": "Podpisz Wszystkie",
888
"sign_message": "Podpisz wiadomość",
889
"sign_one": "Podpisz 1",
@@ -1039,6 +1040,7 @@
1040
"transaction_sent_notice": "Jeśli po upływie 1 minuty ekran nie przejdzie dalej, sprawdź eksplorator bloków i swoją skrzynkę e‑mail.",
1041
"transactions": "Transakcje",
1042
"transactions_by_date": "Transakcje według daty",
1043
+ "transparent_secret_key": "Przezroczysty tajny klucz",
1044
"transport_type": "Typ transportu",
1045
"trongrid_history": "Historia TronGrid",
1046
"trusted": "Zaufany",
@@ -1062,6 +1064,7 @@
1064
"unavailable_balance_description": "Niedostępne saldo: Ta suma obejmuje środki zablokowane w transakcjach oczekujących oraz te, które aktywnie zamroziłeś w ustawieniach kontroli monet. Zablokowane środki staną się dostępne po zakończeniu odpowiednich transakcji, natomiast zamrożone środki pozostaną niedostępne dla transakcji, dopóki nie zdecydujesz się ich odmrozić.",
1065
"unconfirmed": "Niepotwierdzone Saldo",
1066
"understand": "Rozumiem",
1067
+ "unified_view_key": "Ujednolicony klucz widoku",
1068
"unlock": "Odblokuj",
1069
"unmatched_currencies": "Waluta Twojego aktualnego portfela nie jest zgodna z walutą zeskanowanego kodu QR",
1070
"unrestricted_background_service": "Usługa w tle bez ograniczeń",
@@ -1171,5 +1174,11 @@
1174
"you_will_send": "Konwertuj z",
1175
"youCanGoBackToYourDapp": "Możesz teraz wrócić do swojego dApp",
1176
"your": "Twoje",
1174
- "yy": "RR"
1177
+ "yy": "RR",
1178
+ "zcash_card_description": "Jeśli nie widzisz swojego pełnego salda, Cake Wallet może podjąć próbę pobrania środków z wewnętrznych adresów zmian używanych przez niektóre portfele.",
1179
+ "zcash_card_dismiss": "Odrzucać",
1180
+ "zcash_card_enable_later": "Zawsze możesz włączyć tę kartę później w ustawieniach",
1181
+ "zcash_card_missing_funds": "Brakuje środków?",
1182
+ "zcash_card_scan": "Skandować",
1183
+ "zcash_card_warning": "Nie zamykaj aplikacji do czasu zakończenia procedury. Jeśli to zrobisz, proces będzie musiał zostać uruchomiony od nowa."
1184
}
\ No newline at end of file
res/values/strings_pt.arb
+10
-1
@@ -886,6 +886,7 @@
886
"show_keys": "Mostrar semente/chaves",
887
"show_market_place": "Mostrar mercado",
888
"show_seed": "Mostrar semente",
889
+ "show_zcash_card": "Mostrar cartão de fundos perdidos do zcash",
890
"sign_all": "Assine tudo",
891
"sign_message": "Mensagem de assinar",
892
"sign_one": "Assine um",
@@ -1042,6 +1043,7 @@
1043
"transaction_sent_notice": "Se a tela não prosseguir após 1 minuto, verifique um explorador de blocos e seu e-mail.",
1044
"transactions": "Transações",
1045
"transactions_by_date": "Transações por data",
1046
+ "transparent_secret_key": "Chave secreta transparente",
1047
"transport_type": "Tipo de transporte",
1048
"trongrid_history": "História de Trongrid",
1049
"trusted": "confiável",
@@ -1065,6 +1067,7 @@
1067
"unavailable_balance_description": "Saldo Indisponível: Este total inclui fundos bloqueados em transações pendentes e aqueles que você congelou ativamente nas configurações de controle de moedas. Os saldos bloqueados ficarão disponíveis assim que suas respectivas transações forem concluídas, enquanto os saldos congelados permanecerão inacessíveis para transações até que você decida descongelá-los.",
1068
"unconfirmed": "Saldo não confirmado",
1069
"understand": "Entendo",
1070
+ "unified_view_key": "Chave de visualização unificada",
1071
"unlock": "Desbloquear",
1072
"unmatched_currencies": "A moeda da sua carteira atual não corresponde à do QR digitalizado",
1073
"unrestricted_background_service": "Serviço de fundo irrestrito",
@@ -1175,5 +1178,11 @@
1178
"you_will_send": "Converter de",
1179
"youCanGoBackToYourDapp": "Você pode voltar para o seu dapp agora",
1180
"your": "Seu",
1178
- "yy": "aa"
1181
+ "yy": "aa",
1182
+ "zcash_card_description": "Se você não vir seu saldo total, a Cake Wallet pode tentar varrer fundos de endereços de câmbio internos usados por algumas carteiras.",
1183
+ "zcash_card_dismiss": "Liberar",
1184
+ "zcash_card_enable_later": "Você sempre pode ativar este cartão posteriormente nas configurações",
1185
+ "zcash_card_missing_funds": "Faltam fundos?",
1186
+ "zcash_card_scan": "Digitalizar",
1187
+ "zcash_card_warning": "Não feche o aplicativo até que o procedimento seja concluído; se você fizer isso, o processo precisará ser reiniciado do zero."
1188
}
\ No newline at end of file
res/values/strings_pt_BR.arb
+10
-1
@@ -884,6 +884,7 @@
884
"show_keys": "Mostrar semente/chaves",
885
"show_market_place": "Mostrar mercado",
886
"show_seed": "Mostrar semente",
887
+ "show_zcash_card": "Show zcash missing funds card",
888
"sign_all": "Assine tudo",
889
"sign_message": "Mensagem de assinar",
890
"sign_one": "Assine um",
@@ -1040,6 +1041,7 @@
1041
"transaction_sent_notice": "Se a tela não prosseguir após 1 minuto, verifique um explorador de blocos e seu e-mail.",
1042
"transactions": "Transações",
1043
"transactions_by_date": "Transações por data",
1044
+ "transparent_secret_key": "Transparent Secret Key",
1045
"transport_type": "Tipo de transporte",
1046
"trongrid_history": "História de Trongrid",
1047
"trusted": "confiável",
@@ -1062,6 +1064,7 @@
1064
"unavailable_balance_description": "Saldo Indisponível: Este total inclui fundos bloqueados em transações pendentes e aqueles que você congelou ativamente nas configurações de controle de moedas. Os saldos bloqueados ficarão disponíveis assim que suas respectivas transações forem concluídas, enquanto os saldos congelados permanecerão inacessíveis para transações até que você decida descongelá-los.",
1065
"unconfirmed": "Saldo não confirmado",
1066
"understand": "Entendo",
1067
+ "unified_view_key": "Unified View Key",
1068
"unlock": "Desbloquear",
1069
"unmatched_currencies": "A moeda da sua carteira atual não corresponde à do QR digitalizado",
1070
"unrestricted_background_service": "Serviço de fundo irrestrito",
@@ -1170,5 +1173,11 @@
1173
"you_will_send": "Converter de",
1174
"youCanGoBackToYourDapp": "Você pode voltar para o seu dapp agora",
1175
"your": "Seu",
1173
- "yy": "aa"
1176
+ "yy": "aa",
1177
+ "zcash_card_description": "If you don't see your full balance Cake Wallet can attempt to sweep funds from internal change addresses used by some wallets.",
1178
+ "zcash_card_dismiss": "Dismiss",
1179
+ "zcash_card_enable_later": "You can always enable this card later in settings",
1180
+ "zcash_card_missing_funds": "Missing funds?",
1181
+ "zcash_card_scan": "Scan",
1182
+ "zcash_card_warning": "Do not close the app until the procedure completes, if you do so this process will need to restart from scratch."
1183
}
\ No newline at end of file
res/values/strings_ru.arb
+10
-1
@@ -885,6 +885,7 @@
885
"show_keys": "Показать мнемоническую фразу/ключи",
886
"show_market_place": "Показать торговую площадку",
887
"show_seed": "Показать мнемоническую фразу",
888
+ "show_zcash_card": "Покажите карту zcash с недостающими средствами",
889
"sign_all": "Подписать все",
890
"sign_message": "Сообщение о знаке",
891
"sign_one": "Подписать один",
@@ -1041,6 +1042,7 @@
1042
"transaction_sent_notice": "Если экран не отображается через 1 минуту, проверьте обозреватель блоков и свою электронную почту.",
1043
"transactions": "Транзакции",
1044
"transactions_by_date": "Сортировать по дате",
1045
+ "transparent_secret_key": "Прозрачный секретный ключ",
1046
"transport_type": "Транспортный тип",
1047
"trongrid_history": "История Тронгрида",
1048
"trusted": "доверенный",
@@ -1064,6 +1066,7 @@
1066
"unavailable_balance_description": "Недоступный баланс: в эту сумму входят средства, заблокированные в ожидающих транзакциях, и средства, которые вы активно заморозили в настройках управления монетами. Заблокированные балансы станут доступны после завершения соответствующих транзакций, а замороженные балансы останутся недоступными для транзакций, пока вы не решите их разморозить.",
1067
"unconfirmed": "Неподтвержденный баланс",
1068
"understand": "Понятно",
1069
+ "unified_view_key": "Ключ единого представления",
1070
"unlock": "Разблокировать",
1071
"unmatched_currencies": "Валюта вашего текущего кошелька не соответствует валюте отсканированного QR-кода.",
1072
"unrestricted_background_service": "Неограниченная фоновая служба",
@@ -1173,5 +1176,11 @@
1176
"you_will_send": "Конвертировать из",
1177
"youCanGoBackToYourDapp": "Вы можете вернуться к своему даппу сейчас",
1178
"your": "Твой",
1176
- "yy": "ГГ"
1179
+ "yy": "ГГ",
1180
+ "zcash_card_description": "Если вы не видите свой полный баланс, Cake Wallet может попытаться вывести средства с внутренних адресов обмена, используемых некоторыми кошельками.",
1181
+ "zcash_card_dismiss": "Увольнять",
1182
+ "zcash_card_enable_later": "Вы всегда можете включить эту карту позже в настройках.",
1183
+ "zcash_card_missing_funds": "Не хватает средств?",
1184
+ "zcash_card_scan": "Сканировать",
1185
+ "zcash_card_warning": "Не закрывайте приложение до завершения процедуры. В этом случае процесс придется перезапустить с нуля."
1186
}
\ No newline at end of file
res/values/strings_th.arb
+10
-1
@@ -884,6 +884,7 @@
884
"show_keys": "แสดงซีด/คีย์",
885
"show_market_place": "แสดงตลาดกลาง",
886
"show_seed": "แสดงซีด",
887
+ "show_zcash_card": "แสดงบัตรกองทุน zcash ที่หายไป",
888
"sign_all": "ลงนามทั้งหมด",
889
"sign_message": "ลงนามข้อความ",
890
"sign_one": "ลงชื่อเข้าใช้",
@@ -1040,6 +1041,7 @@
1041
"transaction_sent_notice": "ถ้าหน้าจอไม่ขึ้นหลังจาก 1 นาทีแล้ว ให้ตรวจสอบ block explorer และอีเมลของคุณ",
1042
"transactions": "ธุรกรรม",
1043
"transactions_by_date": "ธุรกรรมตามวันที่",
1044
+ "transparent_secret_key": "รหัสลับที่โปร่งใส",
1045
"transport_type": "ประเภทการขนส่ง",
1046
"trongrid_history": "ประวัติศาสตร์ Trongrid",
1047
"trusted": "มั่นคง",
@@ -1063,6 +1065,7 @@
1065
"unavailable_balance_description": "ยอดคงเหลือที่ไม่พร้อมใช้งาน: ยอดรวมนี้รวมถึงเงินทุนที่ถูกล็อคในการทำธุรกรรมที่รอดำเนินการและที่คุณได้แช่แข็งไว้ในการตั้งค่าการควบคุมเหรียญของคุณ ยอดคงเหลือที่ถูกล็อคจะพร้อมใช้งานเมื่อธุรกรรมที่เกี่ยวข้องเสร็จสมบูรณ์ ในขณะที่ยอดคงเหลือที่แช่แข็งจะไม่สามารถเข้าถึงได้สำหรับธุรกรรมจนกว่าคุณจะตัดสินใจยกเลิกการแช่แข็ง",
1066
"unconfirmed": "ยอดคงเหลือที่ไม่ได้รับการยืนยัน",
1067
"understand": "ฉันเข้าใจ",
1068
+ "unified_view_key": "คีย์มุมมองแบบรวม",
1069
"unlock": "ปลดล็อค",
1070
"unmatched_currencies": "สกุลเงินของกระเป๋าปัจจุบันของคุณไม่ตรงกับของ QR ที่สแกน",
1071
"unrestricted_background_service": "บริการพื้นหลังที่ไม่ จำกัด",
@@ -1172,5 +1175,11 @@
1175
"you_will_send": "แปลงจาก",
1176
"youCanGoBackToYourDapp": "คุณสามารถกลับไปที่ dapp ของคุณได้ทันที",
1177
"your": "ของคุณ",
1175
- "yy": "ปี"
1178
+ "yy": "ปี",
1179
+ "zcash_card_description": "หากคุณไม่เห็นยอดคงเหลือทั้งหมด Cake Wallet สามารถพยายามกวาดเงินจากที่อยู่การเปลี่ยนแปลงภายในที่ใช้โดยกระเป๋าเงินบางกระเป๋าได้",
1180
+ "zcash_card_dismiss": "อนุญาตให้ออกไป",
1181
+ "zcash_card_enable_later": "คุณสามารถเปิดใช้งานการ์ดนี้ได้ในภายหลังในการตั้งค่า",
1182
+ "zcash_card_missing_funds": "เงินทุนหายไป?",
1183
+ "zcash_card_scan": "สแกน",
1184
+ "zcash_card_warning": "อย่าปิดแอปจนกว่าขั้นตอนจะเสร็จสิ้น หากคุณทำเช่นนั้น กระบวนการนี้จะต้องเริ่มต้นใหม่ตั้งแต่ต้น"
1185
}
\ No newline at end of file
res/values/strings_tl.arb
+11
-2
@@ -884,6 +884,7 @@
884
"show_keys": "Ipakita ang mga seed/key",
885
"show_market_place": "Ipakita ang Marketplace",
886
"show_seed": "Ipakita ang seed",
887
+ "show_zcash_card": "Ipakita ang zcash na nawawalang funds card",
888
"sign_all": "Mag -sign lahat",
889
"sign_message": "Mag -sign Message",
890
"sign_one": "Mag -sign ng isa",
@@ -1040,6 +1041,7 @@
1041
"transaction_sent_notice": "Kung hindi magpapatuloy ang screen pagkatapos ng 1 minuto, tingnan ang block explorer at ang iyong email.",
1042
"transactions": "Mga Transaksyon",
1043
"transactions_by_date": "Mga transaksyon ayon sa petsa",
1044
+ "transparent_secret_key": "Transparent na Lihim na Susi",
1045
"transport_type": "Uri ng transportasyon",
1046
"trongrid_history": "Kasaysayan ng TronGrid",
1047
"trusted": "Pinagkakatiwalaan",
@@ -1063,6 +1065,7 @@
1065
"unavailable_balance_description": "Hindi available na balanse: Kasama sa kabuuang ito ang mga pondong naka-lock sa mga nakabinbing transaksyon at ang mga aktibong na-freeze mo sa iyong mga setting ng Coin Control. Magiging available ang mga naka-lock na balanse kapag nakumpleto na ang kani-kanilang mga transaksyon, habang ang mga nakapirming balanse ay nananatiling hindi naa-access para sa mga transaksyon hanggang sa magpasya kang i-unfreeze ang mga ito.",
1066
"unconfirmed": "Hindi nakumpirma na balanse",
1067
"understand": "Naiitindihan ko",
1068
+ "unified_view_key": "Pinag-isang View Key",
1069
"unlock": "I-unlock",
1070
"unmatched_currencies": "Hindi tumutugma ang pera ng iyong kasalukuyang wallet sa na-scan na QR",
1071
"unrestricted_background_service": "Hindi pinigilan na serbisyo sa background",
@@ -1172,5 +1175,11 @@
1175
"you_will_send": "I-convert mula sa",
1176
"youCanGoBackToYourDapp": "Maaari kang bumalik sa iyong dapp ngayon",
1177
"your": "IYONG",
1175
- "yy": "YY"
1176
-}
\ No newline at end of file
1178
+ "yy": "YY",
1179
+ "zcash_card_description": "Kung hindi mo makita ang iyong buong balanse, maaaring subukan ng Cake Wallet na walisin ang mga pondo mula sa mga panloob na pagbabago sa mga address na ginagamit ng ilang wallet.",
1180
+ "zcash_card_dismiss": "I-dismiss",
1181
+ "zcash_card_enable_later": "Maaari mong paganahin ang card na ito anumang oras sa ibang pagkakataon sa mga setting",
1182
+ "zcash_card_missing_funds": "Kulang ng pondo?",
1183
+ "zcash_card_scan": "I-scan",
1184
+ "zcash_card_warning": "Huwag isara ang app hanggang sa makumpleto ang pamamaraan, kung gagawin mo ito, kakailanganing i-restart ang prosesong ito mula sa simula."
1185
+}
res/values/strings_tr.arb
+10
-1
@@ -884,6 +884,7 @@
884
"show_keys": "Tohumları/anahtarları göster",
885
"show_market_place": "Pazar Yerini Göster",
886
"show_seed": "Tohumları göster",
887
+ "show_zcash_card": "zcash eksik fon kartını göster",
888
"sign_all": "Hepsini imzalamak",
889
"sign_message": "İşaret mesajı",
890
"sign_one": "Bir İmza",
@@ -1040,6 +1041,7 @@
1041
"transaction_sent_notice": "Ekran 1 dakika sonra ilerlemezse, blok gezgininden ve e-postanızdan kontrol edin.",
1042
"transactions": "İşlemler",
1043
"transactions_by_date": "Tarihe göre transferler",
1044
+ "transparent_secret_key": "Şeffaf Gizli Anahtar",
1045
"transport_type": "Taşıma tipi",
1046
"trongrid_history": "Trongrid tarihi",
1047
"trusted": "Güvenilir",
@@ -1063,6 +1065,7 @@
1065
"unavailable_balance_description": "Kullanılamayan Bakiye: Bu toplam, bekleyen işlemlerde kilitlenen fonları ve jeton kontrol ayarlarınızda aktif olarak dondurduğunuz fonları içerir. Kilitli bakiyeler, ilgili işlemleri tamamlandıktan sonra kullanılabilir hale gelir; dondurulmuş bakiyeler ise siz onları dondurmaya karar verene kadar işlemler için erişilemez durumda kalır.",
1066
"unconfirmed": "Onaylanmamış Bakiye",
1067
"understand": "Anladım",
1068
+ "unified_view_key": "Birleşik Görünüm Anahtarı",
1069
"unlock": "Kilidini aç",
1070
"unmatched_currencies": "Mevcut cüzdanınızın para birimi taranan QR ile eşleşmiyor",
1071
"unrestricted_background_service": "Sınırsız arka plan hizmeti",
@@ -1172,5 +1175,11 @@
1175
"you_will_send": "Biçiminden dönüştür:",
1176
"youCanGoBackToYourDapp": "Şimdi Dapp'ınıza geri dönebilirsin",
1177
"your": "Senin",
1175
- "yy": "YY"
1178
+ "yy": "YY",
1179
+ "zcash_card_description": "Bakiyenizin tamamını görmüyorsanız Cake Wallet, bazı cüzdanlar tarafından kullanılan dahili değişiklik adreslerinden para çekmeyi deneyebilir.",
1180
+ "zcash_card_dismiss": "Azletmek",
1181
+ "zcash_card_enable_later": "Bu kartı daha sonra istediğiniz zaman ayarlardan etkinleştirebilirsiniz",
1182
+ "zcash_card_missing_funds": "Fonlar mı eksik?",
1183
+ "zcash_card_scan": "Tara",
1184
+ "zcash_card_warning": "Prosedür tamamlanana kadar uygulamayı kapatmayın, bunu yaparsanız bu işlemin sıfırdan yeniden başlatılması gerekecektir."
1185
}
\ No newline at end of file
res/values/strings_uk.arb
+10
-1
@@ -885,6 +885,7 @@
885
"show_keys": "Показати мнемонічну фразу/ключі",
886
"show_market_place": "Відображати маркетплейс",
887
"show_seed": "Показати мнемонічну фразу",
888
+ "show_zcash_card": "Показати картку відсутніх коштів у zcash",
889
"sign_all": "Підписати все",
890
"sign_message": "Підпишіть повідомлення",
891
"sign_one": "Підписати один",
@@ -1041,6 +1042,7 @@
1042
"transaction_sent_notice": "Якщо екран не відображається через 1 хвилину, перевірте провідник блоків і свою електронну пошту.",
1043
"transactions": "Транзакції",
1044
"transactions_by_date": "Сортувати по даті",
1045
+ "transparent_secret_key": "Прозорий секретний ключ",
1046
"transport_type": "Транспортний тип",
1047
"trongrid_history": "Тронгрідська історія",
1048
"trusted": "довіряють",
@@ -1064,6 +1066,7 @@
1066
"unavailable_balance_description": "Недоступний баланс: ця сума включає кошти, заблоковані в незавершених транзакціях, і ті, які ви активно заморозили в налаштуваннях контролю монет. Заблоковані баланси стануть доступними після завершення відповідних транзакцій, тоді як заморожені баланси залишаються недоступними для транзакцій, доки ви не вирішите їх розморозити.",
1067
"unconfirmed": "Непідтверджений баланс",
1068
"understand": "Зрозуміло",
1069
+ "unified_view_key": "Уніфікований ключ перегляду",
1070
"unlock": "Розблокувати",
1071
"unmatched_currencies": "Валюта вашого гаманця не збігається з валютою сканованого QR-коду",
1072
"unrestricted_background_service": "Необмежена фонова послуга",
@@ -1173,5 +1176,11 @@
1176
"you_will_send": "Конвертувати з",
1177
"youCanGoBackToYourDapp": "Ви можете повернутися до свого DAPP зараз",
1178
"your": "Ваш",
1176
- "yy": "YY"
1179
+ "yy": "YY",
1180
+ "zcash_card_description": "Якщо ви не бачите повного балансу, Cake Wallet може спробувати вичистити кошти з внутрішніх змінних адрес, які використовуються деякими гаманцями.",
1181
+ "zcash_card_dismiss": "Відхилити",
1182
+ "zcash_card_enable_later": "Ви завжди можете ввімкнути цю картку пізніше в налаштуваннях",
1183
+ "zcash_card_missing_funds": "Бракує коштів?",
1184
+ "zcash_card_scan": "Сканувати",
1185
+ "zcash_card_warning": "Не закривайте програму, доки процедура не завершиться, якщо ви це зробите, цей процес потрібно буде перезапустити з нуля."
1186
}
\ No newline at end of file
res/values/strings_ur.arb
+10
-1
@@ -886,6 +886,7 @@
886
"show_keys": "بیج / چابیاں دکھائیں۔",
887
"show_market_place": "بازار دکھائیں۔",
888
"show_seed": "بیج دکھائیں۔",
889
+ "show_zcash_card": "زکاش لاپتہ فنڈز کارڈ دکھائیں",
890
"sign_all": "سب پر دستخط کریں",
891
"sign_message": "سائن پیغام",
892
"sign_one": "ایک پر دستخط کریں",
@@ -1042,6 +1043,7 @@
1043
"transaction_sent_notice": "اگر اسکرین 1 منٹ کے بعد آگے نہیں بڑھتی ہے، تو بلاک ایکسپلورر اور اپنا ای میل چیک کریں۔",
1044
"transactions": "لین دین",
1045
"transactions_by_date": "تاریخ کے لحاظ سے لین دین",
1046
+ "transparent_secret_key": "شفاف خفیہ کلید",
1047
"transport_type": "ٹرانسپورٹ کی قسم",
1048
"trongrid_history": "ٹرانگریڈ ہسٹری",
1049
"trusted": "قابل اعتماد",
@@ -1065,6 +1067,7 @@
1067
"unavailable_balance_description": "۔ﮯﺗﺮﮐ ﮟﯿﮩﻧ ﮧﻠﺼﯿﻓ ﺎﮐ ﮯﻧﺮﮐ ﺪﻤﺠﻨﻣ ﻥﺍ ﮟﯿﮩﻧﺍ ﭖﺁ ﮧﮐ ﮏﺗ ﺐﺟ ﮟﯿﮨ ﮯﺘﮨﺭ ﯽﺋﺎﺳﺭ ﻞﺑﺎﻗﺎﻧ ﮏﺗ ﺖﻗﻭ ﺱﺍ ﮯﯿﻟ ﮯﮐ ﻦﯾﺩ ﻦﯿﻟ ﺲﻨﻠﯿﺑ ﺪﻤﺠﻨﻣ ﮧﮐ ﺐﺟ ،ﮯﮔ ﮟﯿﺋﺎﺟ ﻮﮨ ﺏﺎﯿﺘﺳﺩ ﺲﻨﻠﯿﺑ ﻞﻔﻘﻣ ﺪﻌﺑ ﮯﮐ ﮯﻧﻮﮨ ﻞﻤﮑﻣ ﻦﯾﺩ ﻦﯿﻟ ﮧﻘﻠﻌﺘﻣ ﮯﮐ ﻥﺍ ۔ﮯﮨ ﺎﮭﮐﺭ ﺮ",
1068
"unconfirmed": "غیر تصدیق شدہ بیلنس",
1069
"understand": "میں سمجھتا ہوں۔",
1070
+ "unified_view_key": "یونیفائیڈ ویو کی کلید",
1071
"unlock": "غیر مقفل",
1072
"unmatched_currencies": "آپ کے پرس کی موجودہ کرنسی اسکین شدہ QR سے مماثل نہیں ہے۔",
1073
"unrestricted_background_service": "غیر محدود پس منظر کی خدمت",
@@ -1174,5 +1177,11 @@
1177
"you_will_send": "سے تبدیل کریں۔",
1178
"youCanGoBackToYourDapp": "اب آپ اپنے ڈی اے پی پی پر واپس جاسکتے ہیں",
1179
"your": "آپ کا",
1177
- "yy": "YY"
1180
+ "yy": "YY",
1181
+ "zcash_card_description": "اگر آپ نہیں دیکھتے ہیں کہ آپ کا مکمل بیلنس کیک کا پرس کچھ بٹوے کے ذریعہ استعمال ہونے والے داخلی تبدیلی کے پتے سے فنڈز جھاڑو دینے کی کوشش کرسکتا ہے۔",
1182
+ "zcash_card_dismiss": "مسترد",
1183
+ "zcash_card_enable_later": "آپ ہمیشہ اس کارڈ کو بعد میں ترتیبات میں فعال کرسکتے ہیں",
1184
+ "zcash_card_missing_funds": "گمشدہ فنڈز؟",
1185
+ "zcash_card_scan": "اسکین",
1186
+ "zcash_card_warning": "اس وقت تک ایپ کو بند نہ کریں جب تک کہ طریقہ کار مکمل نہ ہوجائے ، اگر آپ ایسا کرتے ہیں تو اس عمل کو شروع سے دوبارہ شروع کرنے کی ضرورت ہوگی۔"
1187
}
\ No newline at end of file
res/values/strings_vi.arb
+10
-1
@@ -881,6 +881,7 @@
881
"show_keys": "Hiển thị hạt giống/khóa",
882
"show_market_place": "Hiển thị Thị trường",
883
"show_seed": "Hiển thị hạt giống",
884
+ "show_zcash_card": "Hiển thị thẻ tiền còn thiếu của zcash",
885
"sign_all": "Ký tất cả",
886
"sign_message": "Ký tin nhắn",
887
"sign_one": "Ký một",
@@ -1037,6 +1038,7 @@
1038
"transaction_sent_notice": "Nếu màn hình không tiếp tục sau 1 phút, hãy kiểm tra trình khám phá khối và email của bạn.",
1039
"transactions": "Giao dịch",
1040
"transactions_by_date": "Giao dịch theo ngày",
1041
+ "transparent_secret_key": "Khóa bí mật trong suốt",
1042
"transport_type": "Loại vận chuyển",
1043
"trongrid_history": "Lịch sử TronGrid",
1044
"trusted": "Đã tin cậy",
@@ -1060,6 +1062,7 @@
1062
"unavailable_balance_description": "Số dư không khả dụng: Tổng số này bao gồm các khoản tiền bị khóa trong các giao dịch chờ xử lý và những khoản bạn đã chủ động đóng băng trong cài đặt điều khiển tiền của bạn. Các số dư bị khóa sẽ trở nên khả dụng khi các giao dịch tương ứng của chúng hoàn tất, trong khi các số dư bị đóng băng vẫn không thể truy cập cho các giao dịch cho đến khi bạn quyết định mở khóa chúng.",
1063
"unconfirmed": "Số dư chưa xác nhận",
1064
"understand": "Tôi hiểu",
1065
+ "unified_view_key": "Khóa xem hợp nhất",
1066
"unlock": "Mở khóa",
1067
"unmatched_currencies": "Tiền tệ của ví hiện tại của bạn không khớp với QR đã quét",
1068
"unrestricted_background_service": "Dịch vụ nền không giới hạn",
@@ -1169,5 +1172,11 @@
1172
"you_will_send": "Chuyển đổi từ",
1173
"youCanGoBackToYourDapp": "Bạn có thể quay lại DAPP của mình ngay bây giờ",
1174
"your": "Của bạn",
1172
- "yy": "YY"
1175
+ "yy": "YY",
1176
+ "zcash_card_description": "Nếu bạn không thấy số dư đầy đủ của mình, Cake Wallet có thể cố gắng quét tiền từ các địa chỉ thay đổi nội bộ được một số ví sử dụng.",
1177
+ "zcash_card_dismiss": "Miễn nhiệm",
1178
+ "zcash_card_enable_later": "Bạn luôn có thể bật thẻ này sau trong cài đặt",
1179
+ "zcash_card_missing_funds": "Thiếu tiền?",
1180
+ "zcash_card_scan": "Quét",
1181
+ "zcash_card_warning": "Không đóng ứng dụng cho đến khi quy trình hoàn tất, nếu bạn làm như vậy thì quy trình này sẽ cần phải khởi động lại từ đầu."
1182
}
\ No newline at end of file
res/values/strings_yo.arb
+10
-1
@@ -885,6 +885,7 @@
885
"show_keys": "Wo hóró / àwọn kọ́kọ́rọ́",
886
"show_market_place": "Wa Sopọ Pataki",
887
"show_seed": "Wo hóró",
888
+ "show_zcash_card": "Ṣe afihan kaadi owo ti o padanu zcash",
889
"sign_all": "Wọlé gbogbo",
890
"sign_message": "Ifiranṣẹ Ami",
891
"sign_one": "Mikọ",
@@ -1041,6 +1042,7 @@
1042
"transaction_sent_notice": "Tí aṣàfihàn kò bá tẹ̀síwájú l'áàárín ìṣẹ́jú kan, ẹ tọ́ olùṣèwádìí àkójọpọ̀ àti ímeèlì yín wò.",
1043
"transactions": "Àwọn àránṣẹ́",
1044
"transactions_by_date": "Àwọn àránṣẹ́ t'á ti fi aago ṣa",
1045
+ "transparent_secret_key": "Sihin Secret Key",
1046
"transport_type": "Iru irinna",
1047
"trongrid_history": "Itan Trongrid",
1048
"trusted": "A ti fọkàn ẹ̀ tán",
@@ -1064,6 +1066,7 @@
1066
"unavailable_balance_description": "Iwontunws.funfun ti ko si: Lapapọ yii pẹlu awọn owo ti o wa ni titiipa ni awọn iṣowo isunmọ ati awọn ti o ti didi ni itara ninu awọn eto iṣakoso owo rẹ. Awọn iwọntunwọnsi titiipa yoo wa ni kete ti awọn iṣowo oniwun wọn ba ti pari, lakoko ti awọn iwọntunwọnsi tio tutunini ko ni iraye si fun awọn iṣowo titi iwọ o fi pinnu lati mu wọn kuro.",
1067
"unconfirmed": "A kò tí ì jẹ́rìí ẹ̀",
1068
"understand": "Ó ye mi",
1069
+ "unified_view_key": "Bọtini Wo Iṣọkan",
1070
"unlock": "Sisalẹ",
1071
"unmatched_currencies": "Irú owó ti àpamọ́wọ́ yín kì í ṣe irú ti yíya àmì ìlujá",
1072
"unrestricted_background_service": "Iṣẹ ipilẹṣẹ ti ko nilẹ",
@@ -1173,5 +1176,11 @@
1176
"you_will_send": "Ṣe pàṣípààrọ̀ láti",
1177
"youCanGoBackToYourDapp": "O le pada si tapla rẹ bayi",
1178
"your": "Rẹ",
1176
- "yy": "Ọd"
1179
+ "yy": "Ọd",
1180
+ "zcash_card_description": "Ti o ko ba ri iwọntunwọnsi rẹ ni kikun Apamọwọ Akara oyinbo le gbiyanju lati gba owo lati awọn adirẹsi iyipada inu ti awọn apamọwọ kan lo.",
1181
+ "zcash_card_dismiss": "Yọọ kuro",
1182
+ "zcash_card_enable_later": "O le nigbagbogbo mu kaadi yi ṣiṣẹ nigbamii ni awọn eto",
1183
+ "zcash_card_missing_funds": "Awọn owo ti o padanu?",
1184
+ "zcash_card_scan": "Ṣayẹwo",
1185
+ "zcash_card_warning": "Maṣe pa ohun elo naa titi ti ilana naa yoo fi pari, ti o ba ṣe bẹ ilana yii yoo nilo lati tun bẹrẹ lati ibere."
1186
}
\ No newline at end of file
res/values/strings_zh.arb
+10
-1
@@ -884,6 +884,7 @@
884
"show_keys": "显示助记词/密钥",
885
"show_market_place": "显示市场",
886
"show_seed": "显示助记词",
887
+ "show_zcash_card": "显示 zcash 缺少资金卡",
888
"sign_all": "签署全部",
889
"sign_message": "签名消息",
890
"sign_one": "签一个",
@@ -1040,6 +1041,7 @@
1041
"transaction_sent_notice": "如果屏幕在 1 分钟后没有继续,请检查区块浏览器和您的电子邮件。",
1042
"transactions": "交易",
1043
"transactions_by_date": "按日期交易",
1044
+ "transparent_secret_key": "透明密钥",
1045
"transport_type": "运输类型",
1046
"trongrid_history": "Trongrid历史",
1047
"trusted": "值得信赖",
@@ -1063,6 +1065,7 @@
1065
"unavailable_balance_description": "不可用余额:此总额包括锁定在待处理交易中的资金以及您在选币控制设置中主动冻结的资金。一旦各自的交易完成,锁定的余额将变得可用,而冻结的余额在您决定解冻之前仍然无法进行交易。",
1066
"unconfirmed": "未确认余额",
1067
"understand": "我已知晓",
1068
+ "unified_view_key": "统一视图键",
1069
"unlock": "开锁",
1070
"unmatched_currencies": "您当前钱包的货币与扫描的 QR 的货币不匹配",
1071
"unrestricted_background_service": "不受限制的背景服务",
@@ -1172,5 +1175,11 @@
1175
"you_will_send": "转换自",
1176
"youCanGoBackToYourDapp": "您现在可以回到DApp",
1177
"your": "您的",
1175
- "yy": "YY"
1178
+ "yy": "YY",
1179
+ "zcash_card_description": "如果您没有看到全部余额,Cake Wallet 可以尝试从某些钱包使用的内部找零地址中清除资金。",
1180
+ "zcash_card_dismiss": "解雇",
1181
+ "zcash_card_enable_later": "您可以稍后在设置中启用此卡",
1182
+ "zcash_card_missing_funds": "缺少资金?",
1183
+ "zcash_card_scan": "扫描",
1184
+ "zcash_card_warning": "在该过程完成之前请勿关闭应用程序,如果这样做,此过程将需要从头开始重新启动。"
1185
}
\ No newline at end of file
tool/configure.dart
+3
-2
@@ -1608,7 +1608,7 @@ abstract class Zcash {
1608
String? passphrase,
1609
required int? height});
1610
WalletCredentials createZcashRestoreWalletFromPrivateKey(
1611
- {required String name, required String privateKey, required String password});
1611
+ {required String name, required String privateKey, required String password, required int height});
1612
String getAddress(WalletBase wallet);
1613
String getPrivateKey(WalletBase wallet);
1614
String getPublicKey(WalletBase wallet);
@@ -1643,8 +1643,9 @@ abstract class Zcash {
1643
dynamic getOptionToType(ReceivePageOption option);
1644
void unlockDatabase(String password);
1645
Future<int> getHeightByDate(DateTime date);
1646
+ bool showMissingFundsCard(WalletBase wallet);
1647
+ Future<void> rescanInternalChange(WalletBase wallet);
1648
}
1647
-
1649
""";
1650
1651
const zcashEmptyDefinition = 'Zcash? zcash;\n';
tool/utils/translation/translation_utils.dart
+7
-2
@@ -1,5 +1,6 @@
1
import 'package:translator/translator.dart';
2
3
+import '../../print_verbose_dummy.dart';
4
import 'arb_file_utils.dart';
5
import 'translation_constants.dart';
6
@@ -33,8 +34,12 @@ Future<String> getTranslation(String text, String lang) async {
34
final placeholder =
35
regExp.allMatches(text).map((e) => text.substring(e.start, e.end)).toList().asMap();
36
36
- var translation = (await translator.translate(text, from: defaultLang, to: lang)).text;
37
-
37
+ String translation = text;
38
+ try {
39
+ translation = (await translator.translate(text, from: defaultLang, to: lang)).text;
40
+ } catch (e) {
41
+ printV("$lang, $text, $e");
42
+ }
43
placeholder.forEach((index, value) {
44
final translatedPlaceholder = regExp.allMatches(translation).toList()[index];
45
translation =