Hidden balance (#1921)

* Change balance hiding behaviour * Update hiding behaviour and add strings * Add touch feedback to balance card * Remove color from TextButton * Add toast to balance card * Add missing string * minor code improvement [skip ci] --------- Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>

tuxsudo committed Jan 3, 2025 at 16:47 UTC e64b87a1b03b794b387326abeb304f7822295a11
30 files changed +229 -218
lib/src/screens/dashboard/pages/balance/balance_row_widget.dart
+146 -114
@@ -14,6 +14,7 @@ import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart';
14 import 'package:cw_core/crypto_currency.dart';
15 import 'package:cw_core/unspent_coin_type.dart';
16 import 'package:flutter/material.dart';
17 +import 'package:fluttertoast/fluttertoast.dart';
18 import 'package:url_launcher/url_launcher.dart';
19
20 class BalanceRowWidget extends StatelessWidget {
@@ -76,14 +77,23 @@ class BalanceRowWidget extends StatelessWidget {
77 ),
78 color: Theme.of(context).extension<SyncIndicatorTheme>()!.syncedBackgroundColor,
79 ),
79 - child: Container(
80 - margin: const EdgeInsets.only(top: 16, left: 24, right: 8, bottom: 16),
81 - child: Column(
82 - crossAxisAlignment: CrossAxisAlignment.start,
83 - children: [
84 - GestureDetector(
85 - onTap: () => dashboardViewModel.balanceViewModel.switchBalanceValue(),
86 - child: Row(
80 + child: TextButton(
81 + onPressed: () =>
82 + Fluttertoast.showToast(
83 + msg: S.current.show_balance_toast,
84 + backgroundColor: Color.fromRGBO(0, 0, 0, 0.85),
85 + ),
86 + onLongPress: () => dashboardViewModel.balanceViewModel.switchBalanceValue(),
87 + style: TextButton.styleFrom(
88 + shape: RoundedRectangleBorder(
89 + borderRadius: BorderRadius.circular(30)),
90 + ),
91 + child: Container(
92 + margin: const EdgeInsets.only(top: 10, left: 12, right: 12, bottom: 10),
93 + child: Column(
94 + crossAxisAlignment: CrossAxisAlignment.start,
95 + children: [
96 + Row(
97 mainAxisAlignment: MainAxisAlignment.spaceBetween,
98 crossAxisAlignment: CrossAxisAlignment.center,
99 children: [
@@ -93,8 +103,11 @@ class BalanceRowWidget extends StatelessWidget {
103 GestureDetector(
104 behavior: HitTestBehavior.opaque,
105 onTap: hasAdditionalBalance
96 - ? () => _showBalanceDescription(
97 - context, S.of(context).available_balance_description)
106 + ? () =>
107 + _showBalanceDescription(
108 + context, S
109 + .of(context)
110 + .available_balance_description)
111 : null,
112 child: Row(
113 children: [
@@ -137,14 +150,16 @@ class BalanceRowWidget extends StatelessWidget {
150 textAlign: TextAlign.start),
151 SizedBox(height: 6),
152 if (isTestnet)
140 - Text(S.of(context).testnet_coins_no_value,
153 + Text(S
154 + .of(context)
155 + .testnet_coins_no_value,
156 textAlign: TextAlign.center,
157 style: TextStyle(
158 fontSize: 14,
159 fontFamily: 'Lato',
160 fontWeight: FontWeight.w400,
161 color:
147 - Theme.of(context).extension<BalancePageTheme>()!.textColor,
162 + Theme.of(context).extension<BalancePageTheme>()!.textColor,
163 height: 1)),
164 if (!isTestnet)
165 Text('${availableFiatBalance}',
@@ -154,12 +169,12 @@ class BalanceRowWidget extends StatelessWidget {
169 fontFamily: 'Lato',
170 fontWeight: FontWeight.w500,
171 color:
157 - Theme.of(context).extension<BalancePageTheme>()!.textColor,
172 + Theme.of(context).extension<BalancePageTheme>()!.textColor,
173 height: 1)),
174 ],
175 ),
176 SizedBox(
162 - width: min(MediaQuery.of(context).size.width * 0.2, 100),
177 + //width: min(MediaQuery.of(context).size.width * 0.2, 100),
178 child: Center(
179 child: Column(
180 children: [
@@ -201,120 +216,128 @@ class BalanceRowWidget extends StatelessWidget {
216 ),
217 ],
218 ),
204 - ),
205 - if (frozenBalance.isNotEmpty)
206 - GestureDetector(
207 - behavior: HitTestBehavior.opaque,
208 - onTap: hasAdditionalBalance
209 - ? () => _showBalanceDescription(
210 - context, S.of(context).unavailable_balance_description)
211 - : null,
212 - child: Column(
213 - crossAxisAlignment: CrossAxisAlignment.start,
214 - children: [
215 - SizedBox(height: 26),
216 - Row(
217 - children: [
219 + //),
220 + if (frozenBalance.isNotEmpty)
221 + GestureDetector(
222 + behavior: HitTestBehavior.opaque,
223 + onTap: hasAdditionalBalance
224 + ? () =>
225 + _showBalanceDescription(
226 + context, S
227 + .of(context)
228 + .unavailable_balance_description)
229 + : null,
230 + child: Column(
231 + crossAxisAlignment: CrossAxisAlignment.start,
232 + children: [
233 + SizedBox(height: 26),
234 + Row(
235 + children: [
236 + Text(
237 + S
238 + .of(context)
239 + .unavailable_balance,
240 + textAlign: TextAlign.center,
241 + style: TextStyle(
242 + fontSize: 12,
243 + fontFamily: 'Lato',
244 + fontWeight: FontWeight.w400,
245 + color:
246 + Theme.of(context).extension<BalancePageTheme>()!.labelTextColor,
247 + height: 1,
248 + ),
249 + ),
250 + Padding(
251 + padding: const EdgeInsets.symmetric(horizontal: 4),
252 + child: Icon(Icons.help_outline,
253 + size: 16,
254 + color: Theme.of(context)
255 + .extension<BalancePageTheme>()!
256 + .labelTextColor),
257 + ),
258 + ],
259 + ),
260 + SizedBox(height: 8),
261 + AutoSizeText(
262 + frozenBalance,
263 + style: TextStyle(
264 + fontSize: 20,
265 + fontFamily: 'Lato',
266 + fontWeight: FontWeight.w400,
267 + color:
268 + Theme.of(context).extension<BalancePageTheme>()!.balanceAmountColor,
269 + height: 1,
270 + ),
271 + maxLines: 1,
272 + textAlign: TextAlign.center,
273 + ),
274 + SizedBox(height: 4),
275 + if (!isTestnet)
276 Text(
219 - S.of(context).unavailable_balance,
277 + frozenFiatBalance,
278 textAlign: TextAlign.center,
279 style: TextStyle(
280 fontSize: 12,
281 fontFamily: 'Lato',
282 fontWeight: FontWeight.w400,
225 - color:
226 - Theme.of(context).extension<BalancePageTheme>()!.labelTextColor,
283 + color: Theme.of(context).extension<BalancePageTheme>()!.textColor,
284 height: 1,
285 ),
286 ),
230 - Padding(
231 - padding: const EdgeInsets.symmetric(horizontal: 4),
232 - child: Icon(Icons.help_outline,
233 - size: 16,
234 - color: Theme.of(context)
235 - .extension<BalancePageTheme>()!
236 - .labelTextColor),
237 - ),
238 - ],
239 - ),
240 - SizedBox(height: 8),
241 - AutoSizeText(
242 - frozenBalance,
243 - style: TextStyle(
244 - fontSize: 20,
245 - fontFamily: 'Lato',
246 - fontWeight: FontWeight.w400,
247 - color:
248 - Theme.of(context).extension<BalancePageTheme>()!.balanceAmountColor,
249 - height: 1,
250 - ),
251 - maxLines: 1,
252 - textAlign: TextAlign.center,
253 - ),
254 - SizedBox(height: 4),
255 - if (!isTestnet)
287 + ],
288 + ),
289 + ),
290 + if (hasAdditionalBalance)
291 + GestureDetector(
292 + onTap: () => dashboardViewModel.balanceViewModel.switchBalanceValue(),
293 + child: Column(
294 + crossAxisAlignment: CrossAxisAlignment.start,
295 + children: [
296 + SizedBox(height: 24),
297 Text(
257 - frozenFiatBalance,
298 + '${additionalBalanceLabel}',
299 textAlign: TextAlign.center,
300 style: TextStyle(
301 fontSize: 12,
302 fontFamily: 'Lato',
303 fontWeight: FontWeight.w400,
263 - color: Theme.of(context).extension<BalancePageTheme>()!.textColor,
304 + color: Theme.of(context).extension<BalancePageTheme>()!
305 + .labelTextColor,
306 height: 1,
307 ),
308 ),
267 - ],
268 - ),
269 - ),
270 - if (hasAdditionalBalance)
271 - GestureDetector(
272 - onTap: () => dashboardViewModel.balanceViewModel.switchBalanceValue(),
273 - child: Column(
274 - crossAxisAlignment: CrossAxisAlignment.start,
275 - children: [
276 - SizedBox(height: 24),
277 - Text(
278 - '${additionalBalanceLabel}',
279 - textAlign: TextAlign.center,
280 - style: TextStyle(
281 - fontSize: 12,
282 - fontFamily: 'Lato',
283 - fontWeight: FontWeight.w400,
284 - color: Theme.of(context).extension<BalancePageTheme>()!.labelTextColor,
285 - height: 1,
286 - ),
287 - ),
288 - SizedBox(height: 8),
289 - AutoSizeText(
290 - additionalBalance,
291 - style: TextStyle(
292 - fontSize: 20,
293 - fontFamily: 'Lato',
294 - fontWeight: FontWeight.w400,
295 - color: Theme.of(context).extension<BalancePageTheme>()!.assetTitleColor,
296 - height: 1,
297 - ),
298 - maxLines: 1,
299 - textAlign: TextAlign.center,
300 - ),
301 - SizedBox(height: 4),
302 - if (!isTestnet)
303 - Text(
304 - '${additionalFiatBalance}',
305 - textAlign: TextAlign.center,
309 + SizedBox(height: 8),
310 + AutoSizeText(
311 + additionalBalance,
312 style: TextStyle(
307 - fontSize: 12,
313 + fontSize: 20,
314 fontFamily: 'Lato',
315 fontWeight: FontWeight.w400,
310 - color: Theme.of(context).extension<BalancePageTheme>()!.textColor,
316 + color: Theme.of(context).extension<BalancePageTheme>()!
317 + .assetTitleColor,
318 height: 1,
319 ),
320 + maxLines: 1,
321 + textAlign: TextAlign.center,
322 ),
314 - ],
323 + SizedBox(height: 4),
324 + if (!isTestnet)
325 + Text(
326 + '${additionalFiatBalance}',
327 + textAlign: TextAlign.center,
328 + style: TextStyle(
329 + fontSize: 12,
330 + fontFamily: 'Lato',
331 + fontWeight: FontWeight.w400,
332 + color: Theme.of(context).extension<BalancePageTheme>()!.textColor,
333 + height: 1,
334 + ),
335 + ),
336 + ],
337 + ),
338 ),
316 - ),
317 - ],
339 + ],
340 + ),
341 ),
342 ),
343 ),
@@ -383,11 +406,12 @@ class BalanceRowWidget extends StatelessWidget {
406 children: [
407 GestureDetector(
408 behavior: HitTestBehavior.opaque,
386 - onTap: () => launchUrl(
387 - Uri.parse(
388 - "https://docs.cakewallet.com/cryptos/litecoin.html#mweb"),
389 - mode: LaunchMode.externalApplication,
390 - ),
409 + onTap: () =>
410 + launchUrl(
411 + Uri.parse(
412 + "https://docs.cakewallet.com/cryptos/litecoin.html#mweb"),
413 + mode: LaunchMode.externalApplication,
414 + ),
415 child: Row(
416 children: [
417 Text(
@@ -521,11 +545,13 @@ class BalanceRowWidget extends StatelessWidget {
545 children: [
546 Expanded(
547 child: Semantics(
524 - label: S.of(context).litecoin_mweb_pegin,
548 + label: S
549 + .of(context)
550 + .litecoin_mweb_pegin,
551 child: OutlinedButton(
552 onPressed: () {
553 final mwebAddress =
528 - bitcoin!.getUnusedMwebAddress(dashboardViewModel.wallet);
554 + bitcoin!.getUnusedMwebAddress(dashboardViewModel.wallet);
555 PaymentRequest? paymentRequest = null;
556 if ((mwebAddress?.isNotEmpty ?? false)) {
557 paymentRequest = PaymentRequest.fromUri(
@@ -563,7 +589,9 @@ class BalanceRowWidget extends StatelessWidget {
589 ),
590 const SizedBox(width: 8),
591 Text(
566 - S.of(context).litecoin_mweb_pegin,
592 + S
593 + .of(context)
594 + .litecoin_mweb_pegin,
595 style: TextStyle(
596 color: Theme.of(context)
597 .extension<BalancePageTheme>()!
@@ -579,11 +607,13 @@ class BalanceRowWidget extends StatelessWidget {
607 SizedBox(width: 24),
608 Expanded(
609 child: Semantics(
582 - label: S.of(context).litecoin_mweb_pegout,
610 + label: S
611 + .of(context)
612 + .litecoin_mweb_pegout,
613 child: OutlinedButton(
614 onPressed: () {
615 final litecoinAddress =
586 - bitcoin!.getUnusedSegwitAddress(dashboardViewModel.wallet);
616 + bitcoin!.getUnusedSegwitAddress(dashboardViewModel.wallet);
617 PaymentRequest? paymentRequest = null;
618 if ((litecoinAddress?.isNotEmpty ?? false)) {
619 paymentRequest = PaymentRequest.fromUri(
@@ -621,7 +651,9 @@ class BalanceRowWidget extends StatelessWidget {
651 ),
652 const SizedBox(width: 8),
653 Text(
624 - S.of(context).litecoin_mweb_pegout,
654 + S
655 + .of(context)
656 + .litecoin_mweb_pegout,
657 style: TextStyle(
658 color: Theme.of(context)
659 .extension<BalancePageTheme>()!
lib/view_model/dashboard/balance_view_model.dart
+24 -101
@@ -20,7 +20,8 @@ part 'balance_view_model.g.dart';
20
21 class BalanceRecord {
22 const BalanceRecord(
23 - {required this.availableBalance,
23 + {
24 + required this.availableBalance,
25 required this.additionalBalance,
26 required this.secondAvailableBalance,
27 required this.secondAdditionalBalance,
@@ -148,26 +149,18 @@ abstract class BalanceViewModelBase with Store {
149
150 @computed
151 String get availableBalanceLabel {
151 - switch (wallet.type) {
152 - case WalletType.monero:
153 - case WalletType.wownero:
154 - case WalletType.haven:
155 - case WalletType.ethereum:
156 - case WalletType.polygon:
157 - case WalletType.nano:
158 - case WalletType.banano:
159 - case WalletType.solana:
160 - case WalletType.tron:
161 - case WalletType.bitcoin:
162 - case WalletType.litecoin:
163 - case WalletType.bitcoinCash:
164 - case WalletType.none:
165 - return S.current.xmr_available_balance;
152 +
153 + if (displayMode == BalanceDisplayMode.hiddenBalance) {
154 + return S.current.show_balance;
155 + }
156 + else {
157 + return S.current.xmr_available_balance;
158 }
159 }
160
161 @computed
162 String get additionalBalanceLabel {
163 +
164 switch (wallet.type) {
165 case WalletType.haven:
166 case WalletType.ethereum:
@@ -203,98 +196,35 @@ abstract class BalanceViewModelBase with Store {
196 }
197 }
198
206 - @computed
207 - bool get hasMultiBalance => appStore.wallet!.type == WalletType.haven;
208 -
209 - @computed
210 - String get availableBalance {
211 - final walletBalance = _walletBalance;
212 -
213 - if (displayMode == BalanceDisplayMode.hiddenBalance) {
214 - return '---';
215 - }
216 -
217 - return walletBalance.formattedAvailableBalance;
218 - }
219 -
220 - @computed
221 - String get frozenBalance {
222 - final walletBalance = _walletBalance;
223 -
224 - if (displayMode == BalanceDisplayMode.hiddenBalance) {
225 - return '---';
226 - }
227 -
228 - return getFormattedFrozenBalance(walletBalance);
229 - }
230 -
231 - @computed
232 - String get frozenFiatBalance {
233 - final walletBalance = _walletBalance;
234 - final fiatCurrency = settingsStore.fiatCurrency;
235 -
236 - if (displayMode == BalanceDisplayMode.hiddenBalance) {
237 - return '---';
238 - }
239 -
240 - return _getFiatBalance(price: price, cryptoAmount: getFormattedFrozenBalance(walletBalance)) +
241 - ' ${fiatCurrency.toString()}';
242 - }
243 -
199 @computed
200 String get additionalBalance {
201 final walletBalance = _walletBalance;
202
203 if (displayMode == BalanceDisplayMode.hiddenBalance) {
249 - return '---';
204 + return '0.0';
205 }
206
207 return walletBalance.formattedAdditionalBalance;
208 }
209
255 - @computed
256 - String get availableFiatBalance {
257 - final walletBalance = _walletBalance;
258 - final fiatCurrency = settingsStore.fiatCurrency;
259 -
260 - if (displayMode == BalanceDisplayMode.hiddenBalance) {
261 - return '---';
262 - }
263 -
264 - return _getFiatBalance(price: price, cryptoAmount: walletBalance.formattedAvailableBalance) +
265 - ' ${fiatCurrency.toString()}';
266 - }
267 -
268 - @computed
269 - String get additionalFiatBalance {
270 - final walletBalance = _walletBalance;
271 - final fiatCurrency = settingsStore.fiatCurrency;
272 -
273 - if (displayMode == BalanceDisplayMode.hiddenBalance) {
274 - return '---';
275 - }
276 -
277 - return _getFiatBalance(price: price, cryptoAmount: walletBalance.formattedAdditionalBalance) +
278 - ' ${fiatCurrency.toString()}';
279 - }
280 -
210 @computed
211 Map<CryptoCurrency, BalanceRecord> get balances {
212 return wallet.balance.map((key, value) {
213 if (displayMode == BalanceDisplayMode.hiddenBalance) {
214 + final fiatCurrency = settingsStore.fiatCurrency;
215 return MapEntry(
216 key,
217 BalanceRecord(
288 - availableBalance: '---',
289 - additionalBalance: '---',
218 + availableBalance: '●●●●●●',
219 + additionalBalance: additionalBalance,
220 frozenBalance: '',
291 - secondAvailableBalance: '---',
292 - secondAdditionalBalance: '---',
293 - fiatAdditionalBalance: isFiatDisabled ? '' : '---',
294 - fiatAvailableBalance: isFiatDisabled ? '' : '---',
295 - fiatFrozenBalance: isFiatDisabled ? '' : '---',
296 - fiatSecondAvailableBalance: isFiatDisabled ? '' : '---',
297 - fiatSecondAdditionalBalance: isFiatDisabled ? '' : '---',
221 + secondAvailableBalance: '',
222 + secondAdditionalBalance: '',
223 + fiatAdditionalBalance: isFiatDisabled ? '' : '',
224 + fiatAvailableBalance: isFiatDisabled ? '' : '${fiatCurrency.toString()} ●●●●●',
225 + fiatFrozenBalance: isFiatDisabled ? '' : '',
226 + fiatSecondAvailableBalance: isFiatDisabled ? '' : '',
227 + fiatSecondAdditionalBalance: isFiatDisabled ? '' : '',
228 asset: key,
229 formattedAssetTitle: _formatterAsset(key)));
230 }
@@ -374,16 +304,11 @@ abstract class BalanceViewModelBase with Store {
304
305 bool _hasAdditionalBalanceForWalletType(WalletType type) {
306 switch (type) {
377 - case WalletType.ethereum:
378 - case WalletType.polygon:
379 - case WalletType.solana:
380 - case WalletType.tron:
381 - case WalletType.bitcoin:
382 - case WalletType.bitcoinCash:
383 - case WalletType.litecoin:
384 - return false;
385 - default:
307 + case WalletType.monero:
308 + case WalletType.wownero:
309 return true;
310 + default:
311 + return false;
312 }
313 }
314
@@ -468,8 +393,6 @@ abstract class BalanceViewModelBase with Store {
393 return balance;
394 }
395
471 - @computed
472 - CryptoCurrency get currency => appStore.wallet!.currency;
396
397 @observable
398 bool isShowCard;
res/values/strings_ar.arb
+2
@@ -730,6 +730,8 @@
730 "shared_seed_wallet_groups": "مجموعات محفظة البذور المشتركة",
731 "show": "يعرض",
732 "show_address_book_popup": "عرض \"إضافة إلى كتاب العناوين\" المنبثقة بعد الإرسال",
733 + "show_balance": "اضغط لفترة طويلة لإظهار التوازن",
734 + "show_balance_toast": "اضغط لفترة طويلة لإخفاء أو إظهار التوازن",
735 "show_details": "اظهر التفاصيل",
736 "show_keys": "اظهار السييد / المفاتيح",
737 "show_market_place": "إظهار السوق",
res/values/strings_bg.arb
+2
@@ -730,6 +730,8 @@
730 "shared_seed_wallet_groups": "Споделени групи за портфейли за семена",
731 "show": "Показване",
732 "show_address_book_popup": "Показване на изскачането на „Добавяне към адресната книга“ след изпращане",
733 + "show_balance": "Дълго натиснете, за да покажете баланса",
734 + "show_balance_toast": "Дълго натискане, за да се скрие или покаже баланс",
735 "show_details": "Показване на подробностите",
736 "show_keys": "Покажи seed/keys",
737 "show_market_place": "Покажи пазар",
res/values/strings_cs.arb
+2
@@ -730,6 +730,8 @@
730 "shared_seed_wallet_groups": "Skupiny sdílených semen",
731 "show": "Show",
732 "show_address_book_popup": "Po odeslání zobrazíte vyskakovací okno „Přidat do adresáře“",
733 + "show_balance": "Dlouhý stisknutí zobrazí rovnováhu",
734 + "show_balance_toast": "Dlouhý stiskněte pro skrytí nebo zobrazení rovnováhy",
735 "show_details": "Zobrazit detaily",
736 "show_keys": "Zobrazit seed/klíče",
737 "show_market_place": "Zobrazit trh",
res/values/strings_de.arb
+4 -2
@@ -511,8 +511,8 @@
511 "placeholder_transactions": "Ihre Transaktionen werden hier angezeigt",
512 "please_fill_totp": "Bitte geben Sie den 8-stelligen Code ein, der auf Ihrem anderen Gerät vorhanden ist",
513 "please_make_selection": "Bitte treffen Sie unten eine Auswahl zum Erstellen oder Wiederherstellen Ihrer Wallet.",
514 - "please_reference_document": "Bitte verweisen Sie auf die folgenden Dokumente, um weitere Informationen zu erhalten.",
514 "Please_reference_document": "Weitere Informationen finden Sie in den Dokumenten unten.",
515 + "please_reference_document": "Bitte verweisen Sie auf die folgenden Dokumente, um weitere Informationen zu erhalten.",
516 "please_select": "Bitte auswählen:",
517 "please_select_backup_file": "Bitte wählen Sie die Sicherungsdatei und geben Sie das Sicherungskennwort ein.",
518 "please_try_to_connect_to_another_node": "Bitte versuchen Sie, sich mit einem anderen Knoten zu verbinden",
@@ -731,6 +731,8 @@
731 "shared_seed_wallet_groups": "Gemeinsame Walletsseed Gruppen",
732 "show": "Zeigen",
733 "show_address_book_popup": "Popup \"zum Adressbuch hinzufügen\" nach dem Senden anzeigen",
734 + "show_balance": "Lange Presse, um das Gleichgewicht zu zeigen",
735 + "show_balance_toast": "Lange Presse, um sich zu verbergen oder Gleichgewicht zu zeigen",
736 "show_details": "Details anzeigen",
737 "show_keys": "Seed/Schlüssel anzeigen",
738 "show_market_place": "Marktplatz anzeigen",
@@ -989,4 +991,4 @@
991 "you_will_get": "Konvertieren zu",
992 "you_will_send": "Konvertieren von",
993 "yy": "YY"
992 -}
994 +}
\ No newline at end of file
res/values/strings_en.arb
+2
@@ -730,6 +730,8 @@
730 "shared_seed_wallet_groups": "Shared Seed Wallet Groups",
731 "show": "Show",
732 "show_address_book_popup": "Show 'Add to Address Book' popup after sending",
733 + "show_balance": "Long Press to Show Balance",
734 + "show_balance_toast": "Long press to hide or show balance",
735 "show_details": "Show Details",
736 "show_keys": "Show seed/keys",
737 "show_market_place": "Show Marketplace",
res/values/strings_es.arb
+2
@@ -731,6 +731,8 @@
731 "shared_seed_wallet_groups": "Grupos de billetera de semillas compartidas",
732 "show": "Espectáculo",
733 "show_address_book_popup": "Mostrar ventana emergente 'Agregar a la libreta de direcciones' después de enviar",
734 + "show_balance": "Prensa larga para mostrar equilibrio",
735 + "show_balance_toast": "Prensa larga para esconder o mostrar equilibrio",
736 "show_details": "Mostrar detalles",
737 "show_keys": "Mostrar semilla/claves",
738 "show_market_place": "Mostrar mercado",
res/values/strings_fr.arb
+2
@@ -730,6 +730,8 @@
730 "shared_seed_wallet_groups": "Groupes de portefeuilles partagés",
731 "show": "Montrer",
732 "show_address_book_popup": "Afficher la popup `` Ajouter au carnet d'adresses '' après avoir envoyé",
733 + "show_balance": "Longue presse pour montrer l'équilibre",
734 + "show_balance_toast": "Longue appuyez sur pour masquer ou afficher l'équilibre",
735 "show_details": "Afficher les détails",
736 "show_keys": "Visualiser la phrase secrète (seed) et les clefs",
737 "show_market_place": "Afficher la place de marché",
res/values/strings_ha.arb
+2
@@ -732,6 +732,8 @@
732 "shared_seed_wallet_groups": "Raba ƙungiya walat",
733 "show": "Nuna",
734 "show_address_book_popup": "Nuna 'ƙara don magance littafin' Popup bayan aikawa",
735 + "show_balance": "Dogon latsawa don nuna ma'auni",
736 + "show_balance_toast": "Latsa latsawa don ɓoye ko nuna ma'auni",
737 "show_details": "Nuna Cikakkun bayanai",
738 "show_keys": "Nuna iri/maɓallai",
739 "show_market_place": "Nuna dan kasuwa",
res/values/strings_hi.arb
+2
@@ -732,6 +732,8 @@
732 "shared_seed_wallet_groups": "साझा बीज बटुए समूह",
733 "show": "दिखाओ",
734 "show_address_book_popup": "भेजने के बाद 'एड एड्रेस बुक' पॉपअप दिखाएं",
735 + "show_balance": "बैलेंस दिखाने के लिए लॉन्ग प्रेस",
736 + "show_balance_toast": "बैलेंस को छिपाने या दिखाने के लिए लॉन्ग प्रेस",
737 "show_details": "विवरण दिखाएं",
738 "show_keys": "बीज / कुंजियाँ दिखाएँ",
739 "show_market_place": "बाज़ार दिखाएँ",
res/values/strings_hr.arb
+2
@@ -730,6 +730,8 @@
730 "shared_seed_wallet_groups": "Zajedničke grupe za sjeme novčanika",
731 "show": "Pokazati",
732 "show_address_book_popup": "Pokažite \"dodaj u adresar\" skočni prozor nakon slanja",
733 + "show_balance": "Dugački pritisak za pokazivanje ravnoteže",
734 + "show_balance_toast": "Dugo pritisnite da biste sakrili ili pokazali ravnotežu",
735 "show_details": "Prikaži pojedinosti",
736 "show_keys": "Prikaži pristupni izraz/ključ",
737 "show_market_place": "Prikaži tržište",
res/values/strings_hy.arb
+2
@@ -730,6 +730,8 @@
730 "shared_seed_wallet_groups": "Համօգտագործված սերմերի դրամապանակների խմբեր",
731 "show": "Ցուցահանդես",
732 "show_address_book_popup": "Show ույց տալ «Ուղարկելուց հետո« Հասցեների գրքի »թռուցիկ",
733 + "show_balance": "Երկար մամուլ, հավասարակշռությունը ցույց տալու համար",
734 + "show_balance_toast": "Երկար սեղմեք `հավասարակշռությունը թաքցնելու կամ ցույց տալու համար",
735 "show_details": "Ցուցադրել մանրամասներ",
736 "show_keys": "Ցուցադրել բանալիներ",
737 "show_market_place": "Ցուցադրել շուկան",
res/values/strings_id.arb
+2
@@ -733,6 +733,8 @@
733 "shared_seed_wallet_groups": "Kelompok dompet benih bersama",
734 "show": "Menunjukkan",
735 "show_address_book_popup": "Tampilkan popup 'Tambahkan ke Alamat' setelah mengirim",
736 + "show_balance": "PRESS PANJANG UNTUK MENUNJUKKAN Balance",
737 + "show_balance_toast": "Tekan panjang untuk menyembunyikan atau menunjukkan keseimbangan",
738 "show_details": "Tampilkan Rincian",
739 "show_keys": "Tampilkan seed/kunci",
740 "show_market_place": "Tampilkan Pasar",
res/values/strings_it.arb
+2
@@ -732,6 +732,8 @@
732 "shared_seed_wallet_groups": "Gruppi di portafoglio di semi condivisi",
733 "show": "Spettacolo",
734 "show_address_book_popup": "Mostra il popup \"Aggiungi alla rubrica\" ​​dopo l'invio",
735 + "show_balance": "Lunga stampa per mostrare l'equilibrio",
736 + "show_balance_toast": "A lungo pressa per nascondere o mostrare l'equilibrio",
737 "show_details": "Mostra dettagli",
738 "show_keys": "Mostra seme/chiavi",
739 "show_market_place": "Mostra mercato",
res/values/strings_ja.arb
+2
@@ -731,6 +731,8 @@
731 "shared_seed_wallet_groups": "共有シードウォレットグループ",
732 "show": "見せる",
733 "show_address_book_popup": "送信後に「アドレスブックに追加」ポップアップを表示します",
734 + "show_balance": "バランスを示すためにロングプレス",
735 + "show_balance_toast": "バランスを隠したり表示したりするためにロングプレス",
736 "show_details": "詳細を表示",
737 "show_keys": "シード/キーを表示する",
738 "show_market_place": "マーケットプレイスを表示",
res/values/strings_ko.arb
+3 -1
@@ -511,8 +511,8 @@
511 "placeholder_transactions": "거래가 여기에 표시됩니다",
512 "please_fill_totp": "다른 기기에 있는 8자리 코드를 입력하세요.",
513 "please_make_selection": "아래에서 선택하십시오 지갑 만들기 또는 복구.",
514 - "Please_reference_document": "자세한 내용은 아래 문서를 참조하십시오.",
514 "please_reference_document": "자세한 내용은 아래 문서를 참조하십시오.",
515 + "Please_reference_document": "자세한 내용은 아래 문서를 참조하십시오.",
516 "please_select": "선택 해주세요:",
517 "please_select_backup_file": "백업 파일을 선택하고 백업 암호를 입력하십시오.",
518 "please_try_to_connect_to_another_node": "다른 노드에 연결을 시도하십시오",
@@ -731,6 +731,8 @@
731 "shared_seed_wallet_groups": "공유 종자 지갑 그룹",
732 "show": "보여주다",
733 "show_address_book_popup": "전송 후 '주소 책에 추가'팝업을 표시하십시오",
734 + "show_balance": "균형을 보여주기 위해 긴 언론",
735 + "show_balance_toast": "균형을 숨기거나 보여주기 위해 긴 누르십시오",
736 "show_details": "세부정보 표시",
737 "show_keys": "시드 / 키 표시",
738 "show_market_place": "마켓플레이스 표시",
res/values/strings_my.arb
+2
@@ -730,6 +730,8 @@
730 "shared_seed_wallet_groups": "shared မျိုးစေ့ပိုက်ဆံအိတ်အုပ်စုများ",
731 "show": "ပြသ",
732 "show_address_book_popup": "ပေးပို့ပြီးနောက် 'address book' popup ကိုပြပါ",
733 + "show_balance": "ချိန်ခွင်လျှာကိုပြသရန်ရှည်လျားသောစာနယ်ဇင်း",
734 + "show_balance_toast": "ချိန်ခွင်လျှာကိုဖျောက်ရန်သို့မဟုတ်ပြသရန်ရှည်လျားသောစာနယ်ဇင်း",
735 "show_details": "အသေးစိတ်ပြ",
736 "show_keys": "မျိုးစေ့ /သော့များကို ပြပါ။",
737 "show_market_place": "စျေးကွက်ကိုပြသပါ။",
res/values/strings_nl.arb
+2
@@ -730,6 +730,8 @@
730 "shared_seed_wallet_groups": "Gedeelde zaadportelgroepen",
731 "show": "Show",
732 "show_address_book_popup": "Toon 'Toevoegen aan adresboek' pop -up na verzenden",
733 + "show_balance": "Lange pers om evenwicht te tonen",
734 + "show_balance_toast": "Lange pers om evenwicht te verbergen of te tonen",
735 "show_details": "Toon details",
736 "show_keys": "Toon zaad/sleutels",
737 "show_market_place": "Toon Marktplaats",
res/values/strings_pl.arb
+2
@@ -730,6 +730,8 @@
730 "shared_seed_wallet_groups": "Wspólne grupy portfeli nasion",
731 "show": "Pokazywać",
732 "show_address_book_popup": "Pokaż wysypkę „Dodaj do książki” po wysłaniu",
733 + "show_balance": "Długa prasa, aby pokazać równowagę",
734 + "show_balance_toast": "Długa naciśnij, aby ukryć lub pokazać równowagę",
735 "show_details": "Pokaż szczegóły",
736 "show_keys": "Pokaż seed/klucze",
737 "show_market_place": "Pokaż rynek",
res/values/strings_pt.arb
+2
@@ -732,6 +732,8 @@
732 "shared_seed_wallet_groups": "Grupos de carteira de sementes compartilhados",
733 "show": "Mostrar",
734 "show_address_book_popup": "Mostre pop -up 'Adicionar ao livro de endereços' depois de enviar",
735 + "show_balance": "Pressione há muito tempo para mostrar o equilíbrio",
736 + "show_balance_toast": "Pressione há muito tempo para se esconder ou mostrar equilíbrio",
737 "show_details": "Mostrar detalhes",
738 "show_keys": "Mostrar semente/chaves",
739 "show_market_place": "Mostrar mercado",
res/values/strings_ru.arb
+2
@@ -731,6 +731,8 @@
731 "shared_seed_wallet_groups": "Общие группы кошелька семян",
732 "show": "Показывать",
733 "show_address_book_popup": "Покажите всплывающее окно «Добавить в адрес адреса» после отправки",
734 + "show_balance": "Длинная пресса, чтобы показать баланс",
735 + "show_balance_toast": "Длинная нажавка, чтобы скрыть или показать баланс",
736 "show_details": "Показать детали",
737 "show_keys": "Показать мнемоническую фразу/ключи",
738 "show_market_place": "Показать торговую площадку",
res/values/strings_th.arb
+2
@@ -730,6 +730,8 @@
730 "shared_seed_wallet_groups": "กลุ่มกระเป๋าเงินที่ใช้ร่วมกัน",
731 "show": "แสดง",
732 "show_address_book_popup": "แสดง 'เพิ่มในสมุดรายชื่อ' ป๊อปอัพหลังจากส่ง",
733 + "show_balance": "กดยาวเพื่อแสดงความสมดุล",
734 + "show_balance_toast": "กดนานเพื่อซ่อนหรือแสดงความสมดุล",
735 "show_details": "แสดงรายละเอียด",
736 "show_keys": "แสดงซีด/คีย์",
737 "show_market_place": "แสดงตลาดกลาง",
res/values/strings_tl.arb
+2
@@ -730,6 +730,8 @@
730 "shared_seed_wallet_groups": "Ibinahaging mga pangkat ng pitaka ng binhi",
731 "show": "Ipakita",
732 "show_address_book_popup": "Ipakita ang popup na 'Idagdag sa Address Book' pagkatapos magpadala",
733 + "show_balance": "Mahabang pindutin upang ipakita ang balanse",
734 + "show_balance_toast": "Mahabang pindutin upang itago o ipakita ang balanse",
735 "show_details": "Ipakita ang mga detalye",
736 "show_keys": "Ipakita ang mga seed/key",
737 "show_market_place": "Ipakita ang Marketplace",
res/values/strings_tr.arb
+2
@@ -730,6 +730,8 @@
730 "shared_seed_wallet_groups": "Paylaşılan tohum cüzdan grupları",
731 "show": "Göstermek",
732 "show_address_book_popup": "Gönderdikten sonra 'adres defterine ekle' açılır",
733 + "show_balance": "Dengeyi Göstermek İçin Uzun Basın",
734 + "show_balance_toast": "Dengeyi gizlemek veya göstermek için uzun basın",
735 "show_details": "Detayları Göster",
736 "show_keys": "Tohumları/anahtarları göster",
737 "show_market_place": "Pazar Yerini Göster",
res/values/strings_uk.arb
+2
@@ -731,6 +731,8 @@
731 "shared_seed_wallet_groups": "Спільні групи насіннєвих гаманців",
732 "show": "Показувати",
733 "show_address_book_popup": "Показати спливаюче вікно \"Додати до адресної книги\" після надсилання",
734 + "show_balance": "Довга преса, щоб показати рівновагу",
735 + "show_balance_toast": "Довга преса, щоб приховати або показати рівновагу",
736 "show_details": "Показати деталі",
737 "show_keys": "Показати мнемонічну фразу/ключі",
738 "show_market_place": "Відображати маркетплейс",
res/values/strings_ur.arb
+2
@@ -732,6 +732,8 @@
732 "shared_seed_wallet_groups": "مشترکہ بیج پرس گروپ",
733 "show": "دکھائیں",
734 "show_address_book_popup": "بھیجنے کے بعد 'ایڈریس میں شامل کریں کتاب' پاپ اپ دکھائیں",
735 + "show_balance": "توازن ظاہر کرنے کے لئے طویل پریس",
736 + "show_balance_toast": "توازن چھپانے یا ظاہر کرنے کے لئے طویل پریس",
737 "show_details": "تفصیلات دکھائیں",
738 "show_keys": "بیج / چابیاں دکھائیں۔",
739 "show_market_place": "بازار دکھائیں۔",
res/values/strings_vi.arb
+2
@@ -729,6 +729,8 @@
729 "shared_seed_wallet_groups": "Nhóm ví hạt được chia sẻ",
730 "show": "Trình diễn",
731 "show_address_book_popup": "Hiển thị cửa sổ bật lên 'Thêm vào sổ địa chỉ' sau khi gửi",
732 + "show_balance": "Báo chí dài để hiển thị sự cân bằng",
733 + "show_balance_toast": "Nhấn dài để ẩn hoặc hiển thị sự cân bằng",
734 "show_details": "Hiển thị chi tiết",
735 "show_keys": "Hiển thị hạt giống/khóa",
736 "show_market_place": "Hiển thị Thị trường",
res/values/strings_yo.arb
+2
@@ -731,6 +731,8 @@
731 "shared_seed_wallet_groups": "Awọn ẹgbẹ ti a pin irugbin",
732 "show": "Fihan",
733 "show_address_book_popup": "Fihan 'ṣafikun si Agbejade Iwe' Lẹhin fifiranṣẹ",
734 + "show_balance": "Tẹ Tẹ lati ṣafihan iwọntunwọnsi",
735 + "show_balance_toast": "Tẹ Tẹ lati tọju tabi ṣafihan iwọntunwọnsi",
736 "show_details": "Fi ìsọfúnni kékeré hàn",
737 "show_keys": "Wo hóró / àwọn kọ́kọ́rọ́",
738 "show_market_place": "Wa Sopọ Pataki",
res/values/strings_zh.arb
+2
@@ -730,6 +730,8 @@
730 "shared_seed_wallet_groups": "共享种子钱包组",
731 "show": "展示",
732 "show_address_book_popup": "发送后显示“添加到通讯簿”弹出窗口",
733 + "show_balance": "长印刷以显示平衡",
734 + "show_balance_toast": "长按以隐藏或显示平衡",
735 "show_details": "显示详细信息",
736 "show_keys": "显示种子/密钥",
737 "show_market_place": "显示市场",