From 95ea8257282afa6e26ab4f9e0e726ea158e3bbcc Mon Sep 17 00:00:00 2001 From: Omar Hatem Date: Fri, 22 Sep 2023 17:53:30 +0300 Subject: [PATCH 1/4] Add Brightness Util to check for platform before increasing brightness (#1096) --- .../screens/receive/anonpay_receive_page.dart | 25 +++++++------------ .../screens/receive/widgets/qr_widget.dart | 24 ++---------------- .../screens/wallet_keys/wallet_keys_page.dart | 20 ++++++--------- lib/utils/brightness_util.dart | 23 +++++++++++++++++ 4 files changed, 42 insertions(+), 50 deletions(-) create mode 100644 lib/utils/brightness_util.dart diff --git a/lib/src/screens/receive/anonpay_receive_page.dart b/lib/src/screens/receive/anonpay_receive_page.dart index 1dae8e452..b602abde6 100644 --- a/lib/src/screens/receive/anonpay_receive_page.dart +++ b/lib/src/screens/receive/anonpay_receive_page.dart @@ -10,7 +10,7 @@ import 'package:cake_wallet/src/screens/receive/widgets/anonpay_status_section.d import 'package:cake_wallet/src/screens/receive/widgets/qr_image.dart'; import 'package:cake_wallet/src/screens/receive/widgets/copy_link_item.dart'; import 'package:cake_wallet/themes/extensions/qr_code_theme.dart'; -import 'package:device_display_brightness/device_display_brightness.dart'; +import 'package:cake_wallet/utils/brightness_util.dart'; import 'package:flutter/material.dart'; import 'package:qr_flutter/qr_flutter.dart' as qr; import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart'; @@ -82,8 +82,7 @@ class AnonPayReceivePage extends BasePage { @override Widget Function(BuildContext, Widget) get rootWrapper => - (BuildContext context, Widget scaffold) => - GradientBackground(scaffold: scaffold); + (BuildContext context, Widget scaffold) => GradientBackground(scaffold: scaffold); @override Widget body(BuildContext context) { @@ -101,19 +100,13 @@ class AnonPayReceivePage extends BasePage { ), child: GestureDetector( onTap: () async { - final double brightness = await DeviceDisplayBrightness.getBrightness(); - - // ignore: unawaited_futures - DeviceDisplayBrightness.setBrightness(1.0); - await Navigator.pushNamed( - context, - Routes.fullscreenQR, - arguments: QrViewData(data: invoiceInfo.clearnetUrl, - version: qr.QrVersions.auto, - ) - ); - // ignore: unawaited_futures - DeviceDisplayBrightness.setBrightness(brightness); + BrightnessUtil.changeBrightnessForFunction(() async { + await Navigator.pushNamed(context, Routes.fullscreenQR, + arguments: QrViewData( + data: invoiceInfo.clearnetUrl, + version: qr.QrVersions.auto, + )); + }); }, child: Hero( tag: Key(invoiceInfo.clearnetUrl), diff --git a/lib/src/screens/receive/widgets/qr_widget.dart b/lib/src/screens/receive/widgets/qr_widget.dart index 0d2a7c80d..a34893cd8 100644 --- a/lib/src/screens/receive/widgets/qr_widget.dart +++ b/lib/src/screens/receive/widgets/qr_widget.dart @@ -3,10 +3,9 @@ import 'package:cake_wallet/themes/extensions/qr_code_theme.dart'; import 'package:cake_wallet/routes.dart'; import 'package:cake_wallet/src/screens/exchange/widgets/currency_picker.dart'; import 'package:cake_wallet/src/screens/receive/widgets/currency_input_field.dart'; -import 'package:cake_wallet/utils/device_info.dart'; +import 'package:cake_wallet/utils/brightness_util.dart'; import 'package:cake_wallet/utils/show_bar.dart'; import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:device_display_brightness/device_display_brightness.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_mobx/flutter_mobx.dart'; @@ -64,7 +63,7 @@ class QRWidget extends StatelessWidget { flex: 5, child: GestureDetector( onTap: () { - changeBrightnessForRoute( + BrightnessUtil.changeBrightnessForFunction( () async { await Navigator.pushNamed(context, Routes.fullscreenQR, arguments: QrViewData( @@ -178,23 +177,4 @@ class QRWidget extends StatelessWidget { // update amount if currency changed addressListViewModel.changeAmount(amountController.text); } - - Future changeBrightnessForRoute(Future Function() navigation) async { - // if not mobile, just navigate - if (!DeviceInfo.instance.isMobile) { - navigation(); - return; - } - - // Get the current brightness: - final brightness = await DeviceDisplayBrightness.getBrightness(); - - // ignore: unawaited_futures - DeviceDisplayBrightness.setBrightness(1.0); - - await navigation(); - - // ignore: unawaited_futures - DeviceDisplayBrightness.setBrightness(brightness); - } } diff --git a/lib/src/screens/wallet_keys/wallet_keys_page.dart b/lib/src/screens/wallet_keys/wallet_keys_page.dart index 37ed3a692..5117f152f 100644 --- a/lib/src/screens/wallet_keys/wallet_keys_page.dart +++ b/lib/src/screens/wallet_keys/wallet_keys_page.dart @@ -5,10 +5,10 @@ import 'package:cake_wallet/src/widgets/list_row.dart'; import 'package:cake_wallet/src/widgets/section_divider.dart'; import 'package:cake_wallet/generated/i18n.dart'; import 'package:cake_wallet/routes.dart'; +import 'package:cake_wallet/utils/brightness_util.dart'; import 'package:cake_wallet/utils/clipboard_util.dart'; import 'package:cake_wallet/utils/show_bar.dart'; import 'package:cake_wallet/view_model/wallet_keys_view_model.dart'; -import 'package:device_display_brightness/device_display_brightness.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_mobx/flutter_mobx.dart'; @@ -26,19 +26,15 @@ class WalletKeysPage extends BasePage { @override Widget trailing(BuildContext context) => IconButton( onPressed: () async { - // Get the current brightness: - final double brightness = await DeviceDisplayBrightness.getBrightness(); final url = await walletKeysViewModel.url; - // ignore: unawaited_futures - DeviceDisplayBrightness.setBrightness(1.0); - await Navigator.pushNamed( - context, - Routes.fullscreenQR, - arguments: QrViewData(data: url.toString(), version: QrVersions.auto), - ); - // ignore: unawaited_futures - DeviceDisplayBrightness.setBrightness(brightness); + BrightnessUtil.changeBrightnessForFunction(() async { + await Navigator.pushNamed( + context, + Routes.fullscreenQR, + arguments: QrViewData(data: url.toString(), version: QrVersions.auto), + ); + }); }, splashColor: Colors.transparent, highlightColor: Colors.transparent, diff --git a/lib/utils/brightness_util.dart b/lib/utils/brightness_util.dart new file mode 100644 index 000000000..5afe065e5 --- /dev/null +++ b/lib/utils/brightness_util.dart @@ -0,0 +1,23 @@ +import 'package:cake_wallet/utils/device_info.dart'; +import 'package:device_display_brightness/device_display_brightness.dart'; + +class BrightnessUtil { + static Future changeBrightnessForFunction(Future Function() func) async { + // if not mobile, just navigate + if (!DeviceInfo.instance.isMobile) { + func(); + return; + } + + // Get the current brightness: + final brightness = await DeviceDisplayBrightness.getBrightness(); + + // ignore: unawaited_futures + DeviceDisplayBrightness.setBrightness(1.0); + + await func(); + + // ignore: unawaited_futures + DeviceDisplayBrightness.setBrightness(brightness); + } +} \ No newline at end of file From 572d9288480cfee6c7f69bdc6c66604b03f3c033 Mon Sep 17 00:00:00 2001 From: Serhii Date: Fri, 22 Sep 2023 18:09:30 +0300 Subject: [PATCH 2/4] CW-442-Update-exchange-selector-checkboxes-with-checkboxes-from-transactions-filter-screen (#1074) * Update checkboxes * fix exchange provider selector * checkbox picker refactoring * Revert "checkbox picker refactoring" This reverts commit 66eea9d69033d497c740331fa42daee338df3b31. * Update check_box_picker.dart --- lib/src/screens/nodes/widgets/node_form.dart | 9 +++ lib/src/widgets/check_box_picker.dart | 71 +++++++++++--------- 2 files changed, 50 insertions(+), 30 deletions(-) diff --git a/lib/src/screens/nodes/widgets/node_form.dart b/lib/src/screens/nodes/widgets/node_form.dart index 91974fce5..ab8dcafdf 100644 --- a/lib/src/screens/nodes/widgets/node_form.dart +++ b/lib/src/screens/nodes/widgets/node_form.dart @@ -132,6 +132,9 @@ class NodeForm extends StatelessWidget { Observer( builder: (_) => StandardCheckbox( value: nodeViewModel.useSSL, + gradientBackground: true, + borderColor: Theme.of(context).dividerColor, + iconColor: Colors.white, onChanged: (value) => nodeViewModel.useSSL = value, caption: S.of(context).use_ssl, ), @@ -148,6 +151,9 @@ class NodeForm extends StatelessWidget { Observer( builder: (_) => StandardCheckbox( value: nodeViewModel.trusted, + gradientBackground: true, + borderColor: Theme.of(context).dividerColor, + iconColor: Colors.white, onChanged: (value) => nodeViewModel.trusted = value, caption: S.of(context).trusted, ), @@ -166,6 +172,9 @@ class NodeForm extends StatelessWidget { children: [ StandardCheckbox( value: nodeViewModel.useSocksProxy, + gradientBackground: true, + borderColor: Theme.of(context).dividerColor, + iconColor: Colors.white, onChanged: (value) { if (!value) { _socksAddressController.text = ''; diff --git a/lib/src/widgets/check_box_picker.dart b/lib/src/widgets/check_box_picker.dart index 30f81e981..71bfa7ee9 100644 --- a/lib/src/widgets/check_box_picker.dart +++ b/lib/src/widgets/check_box_picker.dart @@ -1,3 +1,4 @@ +import 'package:cake_wallet/src/widgets/standard_checkbox.dart'; import 'package:cake_wallet/themes/extensions/cake_text_theme.dart'; import 'package:cake_wallet/palette.dart'; import 'package:cake_wallet/utils/responsive_layout_util.dart'; @@ -101,7 +102,7 @@ class CheckBoxPickerState extends State { height: 1, ) : const SizedBox(), - itemCount: items == null || items.isEmpty ? 0 : items.length, + itemCount: items.isEmpty ? 0 : items.length, itemBuilder: (context, index) => buildItem(index), ), ); @@ -112,41 +113,51 @@ class CheckBoxPickerState extends State { return GestureDetector( onTap: () { - Navigator.of(context).pop(); + if (item.isDisabled) { + return; + } + + bool newValue = !item.value; + item.value = newValue; + widget.onChanged(index, newValue); + setState(() {}); }, child: Container( height: 55, color: Theme.of(context).dialogTheme.backgroundColor, padding: EdgeInsets.only(left: 24, right: 24), - child: CheckboxListTile( - value: item.value, - activeColor: item.value - ? Palette.blueCraiola - : Theme.of(context).extension()!.checkboxBackgroundColor, - checkColor: Colors.white, - title: widget.displayItem?.call(item) ?? - Text( - item.title, - style: TextStyle( - fontSize: 14, - fontFamily: 'Lato', - fontWeight: FontWeight.w600, - color: item.isDisabled - ? Colors.grey.withOpacity(0.5) - : Theme.of(context).extension()!.titleColor, - decoration: TextDecoration.none, - ), - ), - onChanged: (bool? value) { - if (value == null) { - return; - } + child: Row( + children: [ + StandardCheckbox( + value: item.value, + gradientBackground: true, + borderColor: Theme.of(context).dividerColor, + iconColor: Colors.white, + onChanged: (bool? value) { + if (value == null || item.isDisabled) { + return; + } - item.value = value; - widget.onChanged(index, value); - setState(() {}); - }, - controlAffinity: ListTileControlAffinity.leading, + item.value = value; + widget.onChanged(index, value); + setState(() {}); + }, + ), + SizedBox(width: 16), + widget.displayItem?.call(item) ?? + Text( + item.title, + style: TextStyle( + fontSize: 14, + fontFamily: 'Lato', + fontWeight: FontWeight.w600, + color: item.isDisabled + ? Colors.grey.withOpacity(0.5) + : Theme.of(context).extension()!.titleColor, + decoration: TextDecoration.none, + ), + ) + ], ), ), ); From 04f5391be1990fb9f4073b8d8d3b7d2e88455f39 Mon Sep 17 00:00:00 2001 From: Adegoke David <64401859+Blazebrain@users.noreply.github.com> Date: Sat, 23 Sep 2023 01:30:06 +0100 Subject: [PATCH 3/4] feat: Add otp url link to qa screen (#1098) --- .../screens/setup_2fa/setup_2fa_qr_page.dart | 65 +++++++++++++++++-- res/values/strings_ar.arb | 5 +- res/values/strings_bg.arb | 5 +- res/values/strings_cs.arb | 5 +- res/values/strings_de.arb | 5 +- res/values/strings_en.arb | 5 +- res/values/strings_es.arb | 5 +- res/values/strings_fr.arb | 5 +- res/values/strings_ha.arb | 5 +- res/values/strings_hi.arb | 5 +- res/values/strings_hr.arb | 5 +- res/values/strings_id.arb | 5 +- res/values/strings_it.arb | 5 +- res/values/strings_ja.arb | 5 +- res/values/strings_ko.arb | 5 +- res/values/strings_my.arb | 5 +- res/values/strings_nl.arb | 5 +- res/values/strings_pl.arb | 5 +- res/values/strings_pt.arb | 5 +- res/values/strings_ru.arb | 5 +- res/values/strings_th.arb | 5 +- res/values/strings_tr.arb | 5 +- res/values/strings_uk.arb | 5 +- res/values/strings_ur.arb | 5 +- res/values/strings_yo.arb | 5 +- res/values/strings_zh.arb | 5 +- 26 files changed, 133 insertions(+), 57 deletions(-) diff --git a/lib/src/screens/setup_2fa/setup_2fa_qr_page.dart b/lib/src/screens/setup_2fa/setup_2fa_qr_page.dart index 82a079b39..e9ab850af 100644 --- a/lib/src/screens/setup_2fa/setup_2fa_qr_page.dart +++ b/lib/src/screens/setup_2fa/setup_2fa_qr_page.dart @@ -14,7 +14,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:qr_flutter/qr_flutter.dart' as qr; - class Setup2FAQRPage extends BasePage { Setup2FAQRPage({required this.setup2FAViewModel}); @@ -25,7 +24,6 @@ class Setup2FAQRPage extends BasePage { @override Widget body(BuildContext context) { - final copyImage = Image.asset( 'assets/images/copy_content.png', height: 12, @@ -126,16 +124,69 @@ class Setup2FAQRPage extends BasePage { ), SizedBox(height: 8), StandardListSeparator(), + SizedBox(height: 13), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Expanded( + flex: 2, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + S.current.totp_auth_url, + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.w500, + color: Palette.darkGray, + height: 1.8333, + ), + ), + SizedBox(height: 8), + Text( + '${setup2FAViewModel.totpVersionOneLink}', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w700, + height: 1.375, + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + ], + ), + ), + SizedBox(width: 8), + Container( + width: 32, + height: 32, + child: InkWell( + onTap: () { + ClipboardUtil.setSensitiveDataToClipboard( + ClipboardData(text: '${setup2FAViewModel.totpVersionOneLink}')); + showBar(context, S.of(context).copied_to_clipboard); + }, + child: Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(6), + color: Color(0xFFF2F0FA), + ), + child: copyImage, + ), + ), + ) + ], + ), + SizedBox(height: 8), + StandardListSeparator(), Spacer(), PrimaryButton( onPressed: () { - Navigator.of(context).pushReplacementNamed( - Routes.totpAuthCodePage, + Navigator.of(context).pushReplacementNamed(Routes.totpAuthCodePage, arguments: TotpAuthArgumentsModel( isForSetup: true, - ) - - ); + )); }, text: S.current.continue_text, color: Theme.of(context).primaryColor, diff --git a/res/values/strings_ar.arb b/res/values/strings_ar.arb index 7c7b0535b..b10dfbe8e 100644 --- a/res/values/strings_ar.arb +++ b/res/values/strings_ar.arb @@ -688,5 +688,6 @@ "onramper_option_description": "شراء بسرعة التشفير مع العديد من طرق الدفع. متوفر في معظم البلدان. ينتشر وتختلف الرسوم.", "default_buy_provider": "مزود شراء الافتراضي", "ask_each_time": "اسأل في كل مرة", - "buy_provider_unavailable": "مزود حاليا غير متوفر." -} \ No newline at end of file + "buy_provider_unavailable": "مزود حاليا غير متوفر.", + "totp_auth_url": " TOTP ﺔﻗﺩﺎﺼﻤﻟ URL ﻥﺍﻮﻨﻋ" +} diff --git a/res/values/strings_bg.arb b/res/values/strings_bg.arb index 9f4c21c44..828af2102 100644 --- a/res/values/strings_bg.arb +++ b/res/values/strings_bg.arb @@ -684,5 +684,6 @@ "onramper_option_description": "Бързо купувайте криптовалута с много методи за плащане. Предлага се в повечето страни. Разпространенията и таксите варират.", "default_buy_provider": "Доставчик по подразбиране купува", "ask_each_time": "Питайте всеки път", - "buy_provider_unavailable": "Понастоящем доставчик не е наличен." -} \ No newline at end of file + "buy_provider_unavailable": "Понастоящем доставчик не е наличен.", + "totp_auth_url": "TOTP AUTH URL" +} diff --git a/res/values/strings_cs.arb b/res/values/strings_cs.arb index 82d0fd9ed..ea4dc1856 100644 --- a/res/values/strings_cs.arb +++ b/res/values/strings_cs.arb @@ -684,5 +684,6 @@ "onramper_option_description": "Rychle si koupte krypto s mnoha metodami plateb. K dispozici ve většině zemí. Rozpětí a poplatky se liší.", "default_buy_provider": "Výchozí poskytovatel nákupu", "ask_each_time": "Zeptejte se pokaždé", - "buy_provider_unavailable": "Poskytovatel aktuálně nedostupný." -} \ No newline at end of file + "buy_provider_unavailable": "Poskytovatel aktuálně nedostupný.", + "totp_auth_url": "URL AUTH TOTP" +} diff --git a/res/values/strings_de.arb b/res/values/strings_de.arb index e5bb7ce51..09538ccc0 100644 --- a/res/values/strings_de.arb +++ b/res/values/strings_de.arb @@ -692,5 +692,6 @@ "onramper_option_description": "Kaufen Sie schnell Krypto mit vielen Zahlungsmethoden. In den meisten Ländern erhältlich. Spreads und Gebühren variieren.", "default_buy_provider": "Standard-Kaufanbieter", "ask_each_time": "Jedes Mal fragen", - "buy_provider_unavailable": "Anbieter derzeit nicht verfügbar." -} \ No newline at end of file + "buy_provider_unavailable": "Anbieter derzeit nicht verfügbar.", + "totp_auth_url": "TOTP-Auth-URL" +} diff --git a/res/values/strings_en.arb b/res/values/strings_en.arb index 8cf6e2acb..99ba22b18 100644 --- a/res/values/strings_en.arb +++ b/res/values/strings_en.arb @@ -693,5 +693,6 @@ "default_buy_provider": "Default Buy Provider", "ask_each_time": "Ask each time", "robinhood_option_description": "Buy and transfer instantly using your debit card, bank account, or Robinhood balance. USA only.", - "buy_provider_unavailable": "Provider currently unavailable." -} \ No newline at end of file + "buy_provider_unavailable": "Provider currently unavailable.", + "totp_auth_url": "TOTP AUTH URL" +} diff --git a/res/values/strings_es.arb b/res/values/strings_es.arb index d84b21b94..a6175c6c0 100644 --- a/res/values/strings_es.arb +++ b/res/values/strings_es.arb @@ -692,5 +692,6 @@ "onramper_option_description": "Compre rápidamente cripto con muchos métodos de pago. Disponible en la mayoría de los países. Los diferenciales y las tarifas varían.", "default_buy_provider": "Proveedor de compra predeterminado", "ask_each_time": "Pregunta cada vez", - "buy_provider_unavailable": "Proveedor actualmente no disponible." -} \ No newline at end of file + "buy_provider_unavailable": "Proveedor actualmente no disponible.", + "totp_auth_url": "URL de autenticación TOTP" +} diff --git a/res/values/strings_fr.arb b/res/values/strings_fr.arb index 2daea4733..f659f0b14 100644 --- a/res/values/strings_fr.arb +++ b/res/values/strings_fr.arb @@ -692,5 +692,6 @@ "onramper_option_description": "Achetez rapidement la crypto avec de nombreux méthodes de paiement. Disponible dans la plupart des pays. Les écarts et les frais varient.", "default_buy_provider": "Fournisseur d'achat par défaut", "ask_each_time": "Demandez à chaque fois", - "buy_provider_unavailable": "Fournisseur actuellement indisponible." -} \ No newline at end of file + "buy_provider_unavailable": "Fournisseur actuellement indisponible.", + "totp_auth_url": "URL D'AUTORISATION TOTP" +} diff --git a/res/values/strings_ha.arb b/res/values/strings_ha.arb index 666664ec2..2b55ffd2a 100644 --- a/res/values/strings_ha.arb +++ b/res/values/strings_ha.arb @@ -670,5 +670,6 @@ "onramper_option_description": "Da sauri sayi Crypto tare da hanyoyin biyan kuɗi da yawa. Akwai a yawancin ƙasashe. Yaduwa da kudade sun bambanta.", "default_buy_provider": "Tsohuwar Siyarwa", "ask_each_time": "Tambaya kowane lokaci", - "buy_provider_unavailable": "Mai ba da kyauta a halin yanzu babu." -} \ No newline at end of file + "buy_provider_unavailable": "Mai ba da kyauta a halin yanzu babu.", + "totp_auth_url": "TOTP AUTH URL" +} diff --git a/res/values/strings_hi.arb b/res/values/strings_hi.arb index 9504baf36..69f37ab83 100644 --- a/res/values/strings_hi.arb +++ b/res/values/strings_hi.arb @@ -692,5 +692,6 @@ "onramper_option_description": "जल्दी से कई भुगतान विधियों के साथ क्रिप्टो खरीदें। अधिकांश देशों में उपलब्ध है। फैलता है और फीस अलग -अलग होती है।", "default_buy_provider": "डिफ़ॉल्ट खरीद प्रदाता", "ask_each_time": "हर बार पूछें", - "buy_provider_unavailable": "वर्तमान में प्रदाता अनुपलब्ध है।" -} \ No newline at end of file + "buy_provider_unavailable": "वर्तमान में प्रदाता अनुपलब्ध है।", + "totp_auth_url": "TOTP प्रामाणिक यूआरएल" +} diff --git a/res/values/strings_hr.arb b/res/values/strings_hr.arb index 08549439a..3c4299092 100644 --- a/res/values/strings_hr.arb +++ b/res/values/strings_hr.arb @@ -692,5 +692,6 @@ "onramper_option_description": "Brzo kupite kriptovalute s mnogim načinima plaćanja. Dostupno u većini zemalja. Širenja i naknade variraju.", "default_buy_provider": "Zadani davatelj kupnje", "ask_each_time": "Pitajte svaki put", - "buy_provider_unavailable": "Davatelj trenutno nije dostupan." -} \ No newline at end of file + "buy_provider_unavailable": "Davatelj trenutno nije dostupan.", + "totp_auth_url": "TOTP AUTH URL" +} diff --git a/res/values/strings_id.arb b/res/values/strings_id.arb index 031777aea..a5b2e3ffa 100644 --- a/res/values/strings_id.arb +++ b/res/values/strings_id.arb @@ -680,5 +680,6 @@ "onramper_option_description": "Beli crypto dengan cepat dengan banyak metode pembayaran. Tersedia di sebagian besar negara. Spread dan biaya bervariasi.", "default_buy_provider": "Penyedia beli default", "ask_each_time": "Tanyakan setiap kali", - "buy_provider_unavailable": "Penyedia saat ini tidak tersedia." -} \ No newline at end of file + "buy_provider_unavailable": "Penyedia saat ini tidak tersedia.", + "totp_auth_url": "URL Otentikasi TOTP" +} diff --git a/res/values/strings_it.arb b/res/values/strings_it.arb index b14531b75..98c13aa2d 100644 --- a/res/values/strings_it.arb +++ b/res/values/strings_it.arb @@ -692,5 +692,6 @@ "onramper_option_description": "Acquista rapidamente la criptovaluta con molti metodi di pagamento. Disponibile nella maggior parte dei paesi. Gli spread e le commissioni variano.", "default_buy_provider": "Provider di acquisto predefinito", "ask_each_time": "Chiedi ogni volta", - "buy_provider_unavailable": "Provider attualmente non disponibile." -} \ No newline at end of file + "buy_provider_unavailable": "Provider attualmente non disponibile.", + "totp_auth_url": "URL DI AUT. TOTP" +} diff --git a/res/values/strings_ja.arb b/res/values/strings_ja.arb index baf9b8a6d..f5bea4b58 100644 --- a/res/values/strings_ja.arb +++ b/res/values/strings_ja.arb @@ -692,5 +692,6 @@ "onramper_option_description": "多くの支払い方法で暗号をすばやく購入してください。ほとんどの国で利用可能です。スプレッドと料金は異なります。", "default_buy_provider": "デフォルトの購入プロバイダー", "ask_each_time": "毎回尋ねてください", - "buy_provider_unavailable": "現在、プロバイダーは利用できません。" -} \ No newline at end of file + "buy_provider_unavailable": "現在、プロバイダーは利用できません。", + "totp_auth_url": "TOTP認証URL" +} diff --git a/res/values/strings_ko.arb b/res/values/strings_ko.arb index 3b9ed1e74..79455ff92 100644 --- a/res/values/strings_ko.arb +++ b/res/values/strings_ko.arb @@ -692,5 +692,6 @@ "onramper_option_description": "많은 결제 방법으로 암호화를 신속하게 구입하십시오. 대부분의 국가에서 사용할 수 있습니다. 스프레드와 수수료는 다양합니다.", "default_buy_provider": "기본 구매 제공자", "ask_each_time": "매번 물어보십시오", - "buy_provider_unavailable": "제공자는 현재 사용할 수 없습니다." -} \ No newline at end of file + "buy_provider_unavailable": "제공자는 현재 사용할 수 없습니다.", + "totp_auth_url": "TOTP 인증 URL" +} diff --git a/res/values/strings_my.arb b/res/values/strings_my.arb index 04d2f58ef..4ea13bc27 100644 --- a/res/values/strings_my.arb +++ b/res/values/strings_my.arb @@ -690,5 +690,6 @@ "onramper_option_description": "ငွေပေးချေမှုနည်းလမ်းများစွာဖြင့် Crypto ကိုလျင်မြန်စွာ 0 ယ်ပါ။ နိုင်ငံအများစုတွင်ရရှိနိုင်ပါသည်။ ဖြန့်ဖြူးနှင့်အခကြေးငွေကွဲပြားခြားနားသည်။", "default_buy_provider": "Default Provider ကိုဝယ်ပါ", "ask_each_time": "တစ်ခုချင်းစီကိုအချိန်မေးပါ", - "buy_provider_unavailable": "လက်ရှိတွင်လက်ရှိမရနိုင်ပါ။" -} \ No newline at end of file + "buy_provider_unavailable": "လက်ရှိတွင်လက်ရှိမရနိုင်ပါ။", + "totp_auth_url": "TOTP AUTH URL" +} diff --git a/res/values/strings_nl.arb b/res/values/strings_nl.arb index 676653dcd..99a469945 100644 --- a/res/values/strings_nl.arb +++ b/res/values/strings_nl.arb @@ -692,5 +692,6 @@ "onramper_option_description": "Koop snel crypto met veel betaalmethoden. Beschikbaar in de meeste landen. Spreads en vergoedingen variëren.", "default_buy_provider": "Standaard Koopprovider", "ask_each_time": "Vraag het elke keer", - "buy_provider_unavailable": "Provider momenteel niet beschikbaar." -} \ No newline at end of file + "buy_provider_unavailable": "Provider momenteel niet beschikbaar.", + "totp_auth_url": "TOTP AUTH-URL" +} diff --git a/res/values/strings_pl.arb b/res/values/strings_pl.arb index cae3d0075..5d32ee12c 100644 --- a/res/values/strings_pl.arb +++ b/res/values/strings_pl.arb @@ -692,5 +692,6 @@ "onramper_option_description": "Szybko kup kryptowaluty z wieloma metodami płatności. Dostępne w większości krajów. Spready i opłaty różnią się.", "default_buy_provider": "Domyślny dostawca zakupu", "ask_each_time": "Zapytaj za każdym razem", - "buy_provider_unavailable": "Dostawca obecnie niedostępny." -} \ No newline at end of file + "buy_provider_unavailable": "Dostawca obecnie niedostępny.", + "totp_auth_url": "Adres URL TOTP AUTH" +} diff --git a/res/values/strings_pt.arb b/res/values/strings_pt.arb index 46c62c590..ca46a26e7 100644 --- a/res/values/strings_pt.arb +++ b/res/values/strings_pt.arb @@ -691,5 +691,6 @@ "onramper_option_description": "Compre rapidamente criptografia com muitos métodos de pagamento. Disponível na maioria dos países. Os spreads e taxas variam.", "default_buy_provider": "Provedor de compra padrão", "ask_each_time": "Pergunte cada vez", - "buy_provider_unavailable": "Provedor atualmente indisponível." -} \ No newline at end of file + "buy_provider_unavailable": "Provedor atualmente indisponível.", + "totp_auth_url": "URL de autenticação TOTP" +} diff --git a/res/values/strings_ru.arb b/res/values/strings_ru.arb index 523b4c77e..fb3883338 100644 --- a/res/values/strings_ru.arb +++ b/res/values/strings_ru.arb @@ -692,5 +692,6 @@ "onramper_option_description": "Быстро купите крипто со многими способами оплаты. Доступно в большинстве стран. Спреды и сборы различаются.", "default_buy_provider": "По умолчанию поставщик покупки", "ask_each_time": "Спросите каждый раз", - "buy_provider_unavailable": "Поставщик в настоящее время недоступен." -} \ No newline at end of file + "buy_provider_unavailable": "Поставщик в настоящее время недоступен.", + "totp_auth_url": "URL-адрес TOTP-АВТОРИЗАЦИИ" +} diff --git a/res/values/strings_th.arb b/res/values/strings_th.arb index 68c13dd2d..0e31518eb 100644 --- a/res/values/strings_th.arb +++ b/res/values/strings_th.arb @@ -690,5 +690,6 @@ "onramper_option_description": "ซื้อ crypto อย่างรวดเร็วด้วยวิธีการชำระเงินจำนวนมาก มีให้บริการในประเทศส่วนใหญ่ สเปรดและค่าธรรมเนียมแตกต่างกันไป", "default_buy_provider": "ผู้ให้บริการซื้อเริ่มต้น", "ask_each_time": "ถามทุกครั้ง", - "buy_provider_unavailable": "ผู้ให้บริการไม่สามารถใช้งานได้ในปัจจุบัน" -} \ No newline at end of file + "buy_provider_unavailable": "ผู้ให้บริการไม่สามารถใช้งานได้ในปัจจุบัน", + "totp_auth_url": "URL การตรวจสอบสิทธิ์ TOTP" +} diff --git a/res/values/strings_tr.arb b/res/values/strings_tr.arb index 2694bb1bc..16ed18b96 100644 --- a/res/values/strings_tr.arb +++ b/res/values/strings_tr.arb @@ -690,5 +690,6 @@ "onramper_option_description": "Birçok ödeme yöntemi ile hızlı bir şekilde kripto satın alın. Çoğu ülkede mevcuttur. Forma ve ücretler değişir.", "default_buy_provider": "Varsayılan Satın Alma Sağlayıcısı", "ask_each_time": "Her seferinde sor", - "buy_provider_unavailable": "Sağlayıcı şu anda kullanılamıyor." -} \ No newline at end of file + "buy_provider_unavailable": "Sağlayıcı şu anda kullanılamıyor.", + "totp_auth_url": "TOTP YETKİ URL'si" +} diff --git a/res/values/strings_uk.arb b/res/values/strings_uk.arb index 38fe226b1..c9943dd3a 100644 --- a/res/values/strings_uk.arb +++ b/res/values/strings_uk.arb @@ -692,5 +692,6 @@ "onramper_option_description": "Швидко купуйте криптовалюту з багатьма методами оплати. Доступний у більшості країн. Поширення та збори різняться.", "default_buy_provider": "Постачальник покупки за замовчуванням", "ask_each_time": "Запитайте кожен раз", - "buy_provider_unavailable": "В даний час постачальник недоступний." -} \ No newline at end of file + "buy_provider_unavailable": "В даний час постачальник недоступний.", + "totp_auth_url": "TOTP AUTH URL" +} diff --git a/res/values/strings_ur.arb b/res/values/strings_ur.arb index 1ecdb5c0e..47c96d9fb 100644 --- a/res/values/strings_ur.arb +++ b/res/values/strings_ur.arb @@ -684,5 +684,6 @@ "onramper_option_description": "ادائیگی کے بہت سے طریقوں سے جلدی سے کرپٹو خریدیں۔ زیادہ تر ممالک میں دستیاب ہے۔ پھیلاؤ اور فیس مختلف ہوتی ہے۔", "default_buy_provider": "پہلے سے طے شدہ خریدنے والا", "ask_each_time": "ہر بار پوچھیں", - "buy_provider_unavailable": "فراہم کنندہ فی الحال دستیاب نہیں ہے۔" -} \ No newline at end of file + "buy_provider_unavailable": "فراہم کنندہ فی الحال دستیاب نہیں ہے۔", + "totp_auth_url": "TOTP AUTH URL" +} diff --git a/res/values/strings_yo.arb b/res/values/strings_yo.arb index 62909f128..ec84589da 100644 --- a/res/values/strings_yo.arb +++ b/res/values/strings_yo.arb @@ -686,5 +686,6 @@ "onramper_option_description": "Ni kiakia Ra Crypto pẹlu ọpọlọpọ awọn ọna isanwo. Wa ni ọpọlọpọ awọn orilẹ-ede. Itankale ati awọn idiyele yatọ.", "default_buy_provider": "Aiyipada Ra Olupese", "ask_each_time": "Beere lọwọ kọọkan", - "buy_provider_unavailable": "Olupese lọwọlọwọ ko si." -} \ No newline at end of file + "buy_provider_unavailable": "Olupese lọwọlọwọ ko si.", + "totp_auth_url": "TOTP AUTH URL" +} diff --git a/res/values/strings_zh.arb b/res/values/strings_zh.arb index 24295e0ca..c606d4135 100644 --- a/res/values/strings_zh.arb +++ b/res/values/strings_zh.arb @@ -691,5 +691,6 @@ "onramper_option_description": "快速使用许多付款方式购买加密货币。在大多数国家 /地区可用。利差和费用各不相同。", "default_buy_provider": "默认购买提供商", "ask_each_time": "每次问", - "buy_provider_unavailable": "提供者目前不可用。" -} \ No newline at end of file + "buy_provider_unavailable": "提供者目前不可用。", + "totp_auth_url": "TOTP 授权 URL" +} From d6c641242f3c2ead5ec64fe2c87fab7c188650ca Mon Sep 17 00:00:00 2001 From: Serhii Date: Mon, 25 Sep 2023 15:20:11 +0300 Subject: [PATCH 4/4] CW-475-Better-error-message-if-there-isnt-enough-network-fee-asset-available (#1092) * Better error message * minor fixes * localization * Update strings_tl.arb * Update append_translation.sh --- lib/view_model/send/send_view_model.dart | 14 +++++++++++++- res/values/strings_ar.arb | 3 +++ res/values/strings_bg.arb | 1 + res/values/strings_cs.arb | 1 + res/values/strings_de.arb | 1 + res/values/strings_en.arb | 1 + res/values/strings_es.arb | 1 + res/values/strings_fr.arb | 1 + res/values/strings_ha.arb | 1 + res/values/strings_hi.arb | 1 + res/values/strings_hr.arb | 3 ++- res/values/strings_id.arb | 3 ++- res/values/strings_it.arb | 1 + res/values/strings_ja.arb | 1 + res/values/strings_ko.arb | 1 + res/values/strings_my.arb | 1 + res/values/strings_nl.arb | 1 + res/values/strings_pl.arb | 1 + res/values/strings_pt.arb | 1 + res/values/strings_ru.arb | 1 + res/values/strings_th.arb | 1 + res/values/strings_tl.arb | 4 +++- res/values/strings_tr.arb | 1 + res/values/strings_uk.arb | 1 + res/values/strings_ur.arb | 1 + res/values/strings_yo.arb | 1 + res/values/strings_zh.arb | 1 + scripts/append_translation.sh | 2 +- 28 files changed, 46 insertions(+), 5 deletions(-) diff --git a/lib/view_model/send/send_view_model.dart b/lib/view_model/send/send_view_model.dart index 329b3c4ad..72ce9fdb2 100644 --- a/lib/view_model/send/send_view_model.dart +++ b/lib/view_model/send/send_view_model.dart @@ -30,6 +30,7 @@ import 'package:cake_wallet/view_model/send/send_view_model_state.dart'; import 'package:cake_wallet/entities/parsed_address.dart'; import 'package:cake_wallet/bitcoin/bitcoin.dart'; import 'package:cake_wallet/haven/haven.dart'; +import 'package:cake_wallet/generated/i18n.dart'; part 'send_view_model.g.dart'; @@ -325,7 +326,8 @@ abstract class SendViewModelBase extends WalletChangeListenerViewModel with Stor state = TransactionCommitted(); } catch (e) { - state = FailureState(e.toString()); + String translatedError = translateErrorMessage(e.toString(), wallet.type, wallet.currency); + state = FailureState(translatedError); } } @@ -412,4 +414,14 @@ abstract class SendViewModelBase extends WalletChangeListenerViewModel with Stor selectedCryptoCurrency = wallet.currency; } } + + String translateErrorMessage(String error, WalletType walletType, CryptoCurrency currency,) { + if (walletType == WalletType.ethereum || walletType == WalletType.haven) { + if (error.contains('gas required exceeds allowance (0)') || error.contains('insufficient funds for gas')) { + return S.current.do_not_have_enough_gas_asset(currency.toString()); + } + } + + return error; + } } diff --git a/res/values/strings_ar.arb b/res/values/strings_ar.arb index b10dfbe8e..3a90aa308 100644 --- a/res/values/strings_ar.arb +++ b/res/values/strings_ar.arb @@ -689,5 +689,8 @@ "default_buy_provider": "مزود شراء الافتراضي", "ask_each_time": "اسأل في كل مرة", "buy_provider_unavailable": "مزود حاليا غير متوفر.", + + "do_not_have_enough_gas_asset": "ليس لديك ما يكفي من ${currency} لإجراء معاملة وفقًا لشروط شبكة blockchain الحالية. أنت بحاجة إلى المزيد من ${currency} لدفع رسوم شبكة blockchain، حتى لو كنت ترسل أصلًا مختلفًا.", "totp_auth_url": " TOTP ﺔﻗﺩﺎﺼﻤﻟ URL ﻥﺍﻮﻨﻋ" } + diff --git a/res/values/strings_bg.arb b/res/values/strings_bg.arb index 828af2102..39ce6196b 100644 --- a/res/values/strings_bg.arb +++ b/res/values/strings_bg.arb @@ -685,5 +685,6 @@ "default_buy_provider": "Доставчик по подразбиране купува", "ask_each_time": "Питайте всеки път", "buy_provider_unavailable": "Понастоящем доставчик не е наличен.", + "do_not_have_enough_gas_asset": "Нямате достатъчно ${currency}, за да извършите транзакция с текущите условия на блокчейн мрежата. Имате нужда от повече ${currency}, за да платите таксите за блокчейн мрежа, дори ако изпращате различен актив.", "totp_auth_url": "TOTP AUTH URL" } diff --git a/res/values/strings_cs.arb b/res/values/strings_cs.arb index ea4dc1856..0c063f0c9 100644 --- a/res/values/strings_cs.arb +++ b/res/values/strings_cs.arb @@ -685,5 +685,6 @@ "default_buy_provider": "Výchozí poskytovatel nákupu", "ask_each_time": "Zeptejte se pokaždé", "buy_provider_unavailable": "Poskytovatel aktuálně nedostupný.", + "do_not_have_enough_gas_asset": "Nemáte dostatek ${currency} k provedení transakce s aktuálními podmínkami blockchainové sítě. K placení poplatků za blockchainovou síť potřebujete více ${currency}, i když posíláte jiné aktivum.", "totp_auth_url": "URL AUTH TOTP" } diff --git a/res/values/strings_de.arb b/res/values/strings_de.arb index 09538ccc0..4b2cba6d4 100644 --- a/res/values/strings_de.arb +++ b/res/values/strings_de.arb @@ -693,5 +693,6 @@ "default_buy_provider": "Standard-Kaufanbieter", "ask_each_time": "Jedes Mal fragen", "buy_provider_unavailable": "Anbieter derzeit nicht verfügbar.", + "do_not_have_enough_gas_asset": "Sie verfügen nicht über genügend ${currency}, um eine Transaktion unter den aktuellen Bedingungen des Blockchain-Netzwerks durchzuführen. Sie benötigen mehr ${currency}, um die Gebühren für das Blockchain-Netzwerk zu bezahlen, auch wenn Sie einen anderen Vermögenswert senden.", "totp_auth_url": "TOTP-Auth-URL" } diff --git a/res/values/strings_en.arb b/res/values/strings_en.arb index 99ba22b18..7e3b1b55d 100644 --- a/res/values/strings_en.arb +++ b/res/values/strings_en.arb @@ -694,5 +694,6 @@ "ask_each_time": "Ask each time", "robinhood_option_description": "Buy and transfer instantly using your debit card, bank account, or Robinhood balance. USA only.", "buy_provider_unavailable": "Provider currently unavailable.", + "do_not_have_enough_gas_asset": "You do not have enough ${currency} to make a transaction with the current blockchain network conditions. You need more ${currency} to pay blockchain network fees, even if you are sending a different asset.", "totp_auth_url": "TOTP AUTH URL" } diff --git a/res/values/strings_es.arb b/res/values/strings_es.arb index a6175c6c0..f2b0729f3 100644 --- a/res/values/strings_es.arb +++ b/res/values/strings_es.arb @@ -693,5 +693,6 @@ "default_buy_provider": "Proveedor de compra predeterminado", "ask_each_time": "Pregunta cada vez", "buy_provider_unavailable": "Proveedor actualmente no disponible.", + "do_not_have_enough_gas_asset": "No tienes suficiente ${currency} para realizar una transacción con las condiciones actuales de la red blockchain. Necesita más ${currency} para pagar las tarifas de la red blockchain, incluso si envía un activo diferente.", "totp_auth_url": "URL de autenticación TOTP" } diff --git a/res/values/strings_fr.arb b/res/values/strings_fr.arb index f659f0b14..a081727fb 100644 --- a/res/values/strings_fr.arb +++ b/res/values/strings_fr.arb @@ -693,5 +693,6 @@ "default_buy_provider": "Fournisseur d'achat par défaut", "ask_each_time": "Demandez à chaque fois", "buy_provider_unavailable": "Fournisseur actuellement indisponible.", + "do_not_have_enough_gas_asset": "Vous n'avez pas assez de ${currency} pour effectuer une transaction avec les conditions actuelles du réseau blockchain. Vous avez besoin de plus de ${currency} pour payer les frais du réseau blockchain, même si vous envoyez un actif différent.", "totp_auth_url": "URL D'AUTORISATION TOTP" } diff --git a/res/values/strings_ha.arb b/res/values/strings_ha.arb index 2b55ffd2a..68051b5d9 100644 --- a/res/values/strings_ha.arb +++ b/res/values/strings_ha.arb @@ -671,5 +671,6 @@ "default_buy_provider": "Tsohuwar Siyarwa", "ask_each_time": "Tambaya kowane lokaci", "buy_provider_unavailable": "Mai ba da kyauta a halin yanzu babu.", + "do_not_have_enough_gas_asset": "Ba ku da isassun ${currency} don yin ma'amala tare da yanayin cibiyar sadarwar blockchain na yanzu. Kuna buƙatar ƙarin ${currency} don biyan kuɗaɗen cibiyar sadarwar blockchain, koda kuwa kuna aika wata kadara daban.", "totp_auth_url": "TOTP AUTH URL" } diff --git a/res/values/strings_hi.arb b/res/values/strings_hi.arb index 69f37ab83..9f531bb29 100644 --- a/res/values/strings_hi.arb +++ b/res/values/strings_hi.arb @@ -693,5 +693,6 @@ "default_buy_provider": "डिफ़ॉल्ट खरीद प्रदाता", "ask_each_time": "हर बार पूछें", "buy_provider_unavailable": "वर्तमान में प्रदाता अनुपलब्ध है।", + "do_not_have_enough_gas_asset": "वर्तमान ब्लॉकचेन नेटवर्क स्थितियों में लेनदेन करने के लिए आपके पास पर्याप्त ${currency} नहीं है। ब्लॉकचेन नेटवर्क शुल्क का भुगतान करने के लिए आपको अधिक ${currency} की आवश्यकता है, भले ही आप एक अलग संपत्ति भेज रहे हों।", "totp_auth_url": "TOTP प्रामाणिक यूआरएल" } diff --git a/res/values/strings_hr.arb b/res/values/strings_hr.arb index 3c4299092..4b56ef344 100644 --- a/res/values/strings_hr.arb +++ b/res/values/strings_hr.arb @@ -693,5 +693,6 @@ "default_buy_provider": "Zadani davatelj kupnje", "ask_each_time": "Pitajte svaki put", "buy_provider_unavailable": "Davatelj trenutno nije dostupan.", + "do_not_have_enough_gas_asset": "Nemate dovoljno ${currency} da izvršite transakciju s trenutačnim uvjetima blockchain mreže. Trebate više ${currency} da platite naknade za blockchain mrežu, čak i ako šaljete drugu imovinu.", "totp_auth_url": "TOTP AUTH URL" -} +} \ No newline at end of file diff --git a/res/values/strings_id.arb b/res/values/strings_id.arb index a5b2e3ffa..6200559e3 100644 --- a/res/values/strings_id.arb +++ b/res/values/strings_id.arb @@ -681,5 +681,6 @@ "default_buy_provider": "Penyedia beli default", "ask_each_time": "Tanyakan setiap kali", "buy_provider_unavailable": "Penyedia saat ini tidak tersedia.", + "do_not_have_enough_gas_asset": "Anda tidak memiliki cukup ${currency} untuk melakukan transaksi dengan kondisi jaringan blockchain saat ini. Anda memerlukan lebih banyak ${currency} untuk membayar biaya jaringan blockchain, meskipun Anda mengirimkan aset yang berbeda.", "totp_auth_url": "URL Otentikasi TOTP" -} +} \ No newline at end of file diff --git a/res/values/strings_it.arb b/res/values/strings_it.arb index 98c13aa2d..e3fd1b94b 100644 --- a/res/values/strings_it.arb +++ b/res/values/strings_it.arb @@ -693,5 +693,6 @@ "default_buy_provider": "Provider di acquisto predefinito", "ask_each_time": "Chiedi ogni volta", "buy_provider_unavailable": "Provider attualmente non disponibile.", + "do_not_have_enough_gas_asset": "Non hai abbastanza ${currency} per effettuare una transazione con le attuali condizioni della rete blockchain. Hai bisogno di più ${currency} per pagare le commissioni della rete blockchain, anche se stai inviando una risorsa diversa.", "totp_auth_url": "URL DI AUT. TOTP" } diff --git a/res/values/strings_ja.arb b/res/values/strings_ja.arb index f5bea4b58..8dbf429c5 100644 --- a/res/values/strings_ja.arb +++ b/res/values/strings_ja.arb @@ -693,5 +693,6 @@ "default_buy_provider": "デフォルトの購入プロバイダー", "ask_each_time": "毎回尋ねてください", "buy_provider_unavailable": "現在、プロバイダーは利用できません。", + "do_not_have_enough_gas_asset": "現在のブロックチェーン ネットワークの状況では、トランザクションを行うのに十分な ${currency} がありません。別のアセットを送信する場合でも、ブロックチェーン ネットワーク料金を支払うにはさらに ${currency} が必要です。", "totp_auth_url": "TOTP認証URL" } diff --git a/res/values/strings_ko.arb b/res/values/strings_ko.arb index 79455ff92..da9b99c2b 100644 --- a/res/values/strings_ko.arb +++ b/res/values/strings_ko.arb @@ -693,5 +693,6 @@ "default_buy_provider": "기본 구매 제공자", "ask_each_time": "매번 물어보십시오", "buy_provider_unavailable": "제공자는 현재 사용할 수 없습니다.", + "do_not_have_enough_gas_asset": "현재 블록체인 네트워크 조건으로 거래를 하기에는 ${currency}이(가) 충분하지 않습니다. 다른 자산을 보내더라도 블록체인 네트워크 수수료를 지불하려면 ${currency}가 더 필요합니다.", "totp_auth_url": "TOTP 인증 URL" } diff --git a/res/values/strings_my.arb b/res/values/strings_my.arb index 4ea13bc27..043484feb 100644 --- a/res/values/strings_my.arb +++ b/res/values/strings_my.arb @@ -691,5 +691,6 @@ "default_buy_provider": "Default Provider ကိုဝယ်ပါ", "ask_each_time": "တစ်ခုချင်းစီကိုအချိန်မေးပါ", "buy_provider_unavailable": "လက်ရှိတွင်လက်ရှိမရနိုင်ပါ။", + "do_not_have_enough_gas_asset": "လက်ရှိ blockchain ကွန်ရက်အခြေအနေများနှင့် အရောင်းအဝယ်ပြုလုပ်ရန် သင့်တွင် ${currency} လုံလောက်မှုမရှိပါ။ သင်သည် မတူညီသော ပိုင်ဆိုင်မှုတစ်ခုကို ပေးပို့နေသော်လည်း blockchain ကွန်ရက်အခကြေးငွေကို ပေးဆောင်ရန် သင်သည် နောက်ထပ် ${currency} လိုအပ်ပါသည်။", "totp_auth_url": "TOTP AUTH URL" } diff --git a/res/values/strings_nl.arb b/res/values/strings_nl.arb index 99a469945..2d9f3655e 100644 --- a/res/values/strings_nl.arb +++ b/res/values/strings_nl.arb @@ -693,5 +693,6 @@ "default_buy_provider": "Standaard Koopprovider", "ask_each_time": "Vraag het elke keer", "buy_provider_unavailable": "Provider momenteel niet beschikbaar.", + "do_not_have_enough_gas_asset": "U heeft niet genoeg ${currency} om een transactie uit te voeren met de huidige blockchain-netwerkomstandigheden. U heeft meer ${currency} nodig om blockchain-netwerkkosten te betalen, zelfs als u een ander item verzendt.", "totp_auth_url": "TOTP AUTH-URL" } diff --git a/res/values/strings_pl.arb b/res/values/strings_pl.arb index 5d32ee12c..6f3a41d0b 100644 --- a/res/values/strings_pl.arb +++ b/res/values/strings_pl.arb @@ -693,5 +693,6 @@ "default_buy_provider": "Domyślny dostawca zakupu", "ask_each_time": "Zapytaj za każdym razem", "buy_provider_unavailable": "Dostawca obecnie niedostępny.", + "do_not_have_enough_gas_asset": "Nie masz wystarczającej ilości ${currency}, aby dokonać transakcji przy bieżących warunkach sieci blockchain. Potrzebujesz więcej ${currency}, aby uiścić opłaty za sieć blockchain, nawet jeśli wysyłasz inny zasób.", "totp_auth_url": "Adres URL TOTP AUTH" } diff --git a/res/values/strings_pt.arb b/res/values/strings_pt.arb index ca46a26e7..ea442420f 100644 --- a/res/values/strings_pt.arb +++ b/res/values/strings_pt.arb @@ -692,5 +692,6 @@ "default_buy_provider": "Provedor de compra padrão", "ask_each_time": "Pergunte cada vez", "buy_provider_unavailable": "Provedor atualmente indisponível.", + "do_not_have_enough_gas_asset": "Você não tem ${currency} suficiente para fazer uma transação com as condições atuais da rede blockchain. Você precisa de mais ${currency} para pagar as taxas da rede blockchain, mesmo se estiver enviando um ativo diferente.", "totp_auth_url": "URL de autenticação TOTP" } diff --git a/res/values/strings_ru.arb b/res/values/strings_ru.arb index fb3883338..5e70bc544 100644 --- a/res/values/strings_ru.arb +++ b/res/values/strings_ru.arb @@ -693,5 +693,6 @@ "default_buy_provider": "По умолчанию поставщик покупки", "ask_each_time": "Спросите каждый раз", "buy_provider_unavailable": "Поставщик в настоящее время недоступен.", + "do_not_have_enough_gas_asset": "У вас недостаточно ${currency} для совершения транзакции при текущих условиях сети блокчейн. Вам нужно больше ${currency} для оплаты комиссий за сеть блокчейна, даже если вы отправляете другой актив.", "totp_auth_url": "URL-адрес TOTP-АВТОРИЗАЦИИ" } diff --git a/res/values/strings_th.arb b/res/values/strings_th.arb index 0e31518eb..8778802a9 100644 --- a/res/values/strings_th.arb +++ b/res/values/strings_th.arb @@ -691,5 +691,6 @@ "default_buy_provider": "ผู้ให้บริการซื้อเริ่มต้น", "ask_each_time": "ถามทุกครั้ง", "buy_provider_unavailable": "ผู้ให้บริการไม่สามารถใช้งานได้ในปัจจุบัน", + "do_not_have_enough_gas_asset": "คุณมี ${currency} ไม่เพียงพอที่จะทำธุรกรรมกับเงื่อนไขเครือข่ายบล็อคเชนในปัจจุบัน คุณต้องมี ${currency} เพิ่มขึ้นเพื่อชำระค่าธรรมเนียมเครือข่ายบล็อคเชน แม้ว่าคุณจะส่งสินทรัพย์อื่นก็ตาม", "totp_auth_url": "URL การตรวจสอบสิทธิ์ TOTP" } diff --git a/res/values/strings_tl.arb b/res/values/strings_tl.arb index d65e36609..18c52aa83 100644 --- a/res/values/strings_tl.arb +++ b/res/values/strings_tl.arb @@ -687,5 +687,7 @@ "support_title_other_links": "Iba pang mga link sa suporta", "support_description_other_links": "Sumali sa aming mga komunidad o maabot sa amin ang aming mga kasosyo sa pamamagitan ng iba pang mga pamamaraan", "select_destination": "Mangyaring piliin ang patutunguhan para sa backup file.", - "save_to_downloads": "I -save sa mga pag -download" + "save_to_downloads": "I -save sa mga pag -download", + "do_not_have_enough_gas_asset": "Wala kang sapat na ${currency} para gumawa ng transaksyon sa kasalukuyang kundisyon ng network ng blockchain. Kailangan mo ng higit pang ${currency} upang magbayad ng mga bayarin sa network ng blockchain, kahit na nagpapadala ka ng ibang asset.", + "totp_auth_url": "TOTP AUTH URL" } \ No newline at end of file diff --git a/res/values/strings_tr.arb b/res/values/strings_tr.arb index 16ed18b96..fa4568e93 100644 --- a/res/values/strings_tr.arb +++ b/res/values/strings_tr.arb @@ -691,5 +691,6 @@ "default_buy_provider": "Varsayılan Satın Alma Sağlayıcısı", "ask_each_time": "Her seferinde sor", "buy_provider_unavailable": "Sağlayıcı şu anda kullanılamıyor.", + "do_not_have_enough_gas_asset": "Mevcut blockchain ağ koşullarıyla işlem yapmak için yeterli ${currency} paranız yok. Farklı bir varlık gönderiyor olsanız bile blockchain ağ ücretlerini ödemek için daha fazla ${currency} miktarına ihtiyacınız var.", "totp_auth_url": "TOTP YETKİ URL'si" } diff --git a/res/values/strings_uk.arb b/res/values/strings_uk.arb index c9943dd3a..7b739e201 100644 --- a/res/values/strings_uk.arb +++ b/res/values/strings_uk.arb @@ -693,5 +693,6 @@ "default_buy_provider": "Постачальник покупки за замовчуванням", "ask_each_time": "Запитайте кожен раз", "buy_provider_unavailable": "В даний час постачальник недоступний.", + "do_not_have_enough_gas_asset": "У вас недостатньо ${currency}, щоб здійснити трансакцію з поточними умовами мережі блокчейн. Вам потрібно більше ${currency}, щоб сплатити комісію мережі блокчейн, навіть якщо ви надсилаєте інший актив.", "totp_auth_url": "TOTP AUTH URL" } diff --git a/res/values/strings_ur.arb b/res/values/strings_ur.arb index 47c96d9fb..e53784923 100644 --- a/res/values/strings_ur.arb +++ b/res/values/strings_ur.arb @@ -685,5 +685,6 @@ "default_buy_provider": "پہلے سے طے شدہ خریدنے والا", "ask_each_time": "ہر بار پوچھیں", "buy_provider_unavailable": "فراہم کنندہ فی الحال دستیاب نہیں ہے۔", + "do_not_have_enough_gas_asset": "آپ کے پاس موجودہ بلاکچین نیٹ ورک کی شرائط کے ساتھ لین دین کرنے کے لیے کافی ${currency} نہیں ہے۔ آپ کو بلاکچین نیٹ ورک کی فیس ادا کرنے کے لیے مزید ${currency} کی ضرورت ہے، چاہے آپ کوئی مختلف اثاثہ بھیج رہے ہوں۔", "totp_auth_url": "TOTP AUTH URL" } diff --git a/res/values/strings_yo.arb b/res/values/strings_yo.arb index ec84589da..0532ae2eb 100644 --- a/res/values/strings_yo.arb +++ b/res/values/strings_yo.arb @@ -687,5 +687,6 @@ "default_buy_provider": "Aiyipada Ra Olupese", "ask_each_time": "Beere lọwọ kọọkan", "buy_provider_unavailable": "Olupese lọwọlọwọ ko si.", + "do_not_have_enough_gas_asset": "O ko ni to ${currency} lati ṣe idunadura kan pẹlu awọn ipo nẹtiwọki blockchain lọwọlọwọ. O nilo diẹ sii ${currency} lati san awọn owo nẹtiwọọki blockchain, paapaa ti o ba nfi dukia miiran ranṣẹ.", "totp_auth_url": "TOTP AUTH URL" } diff --git a/res/values/strings_zh.arb b/res/values/strings_zh.arb index c606d4135..7c947847e 100644 --- a/res/values/strings_zh.arb +++ b/res/values/strings_zh.arb @@ -692,5 +692,6 @@ "default_buy_provider": "默认购买提供商", "ask_each_time": "每次问", "buy_provider_unavailable": "提供者目前不可用。", + "do_not_have_enough_gas_asset": "您没有足够的 ${currency} 来在当前的区块链网络条件下进行交易。即使您发送的是不同的资产,您也需要更多的 ${currency} 来支付区块链网络费用。", "totp_auth_url": "TOTP 授权 URL" } diff --git a/scripts/append_translation.sh b/scripts/append_translation.sh index 2dc373e0e..0cc33fc0f 100755 --- a/scripts/append_translation.sh +++ b/scripts/append_translation.sh @@ -7,7 +7,7 @@ # if you get an error `command not found` # give the correct permissions to this file using `chmod 777 append_translation.sh` -langs=("ar" "bg" "cs" "de" "en" "es" "fr" "ha" "hi" "hr" "id" "it" "ja" "ko" "my" "nl" "pl" "pt" "ru" "th" "tr" "uk" "ur" "yo" "zh") +langs=("ar" "bg" "cs" "de" "en" "es" "fr" "ha" "hi" "hr" "id" "it" "ja" "ko" "my" "nl" "pl" "pt" "ru" "th" "tl" "tr" "uk" "ur" "yo" "zh") name=$1 text=$2