mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2024-11-16 17:27:37 +00:00
CW-315-Add-a-toast-message-to-enable-denied-permissions-in-device-settings (#1157)
* add permission handler * localization * minor fixes --------- Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
This commit is contained in:
parent
e5d99313eb
commit
d997ee81a1
33 changed files with 82 additions and 3 deletions
|
@ -69,7 +69,7 @@ class NodeCreateOrEditPage extends BasePage {
|
||||||
@override
|
@override
|
||||||
Widget trailing(BuildContext context) => IconButton(
|
Widget trailing(BuildContext context) => IconButton(
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
await nodeCreateOrEditViewModel.scanQRCodeForNewNode();
|
await nodeCreateOrEditViewModel.scanQRCodeForNewNode(context);
|
||||||
},
|
},
|
||||||
splashColor: Colors.transparent,
|
splashColor: Colors.transparent,
|
||||||
highlightColor: Colors.transparent,
|
highlightColor: Colors.transparent,
|
||||||
|
|
|
@ -69,7 +69,7 @@ class PowNodeCreateOrEditPage extends BasePage {
|
||||||
@override
|
@override
|
||||||
Widget trailing(BuildContext context) => IconButton(
|
Widget trailing(BuildContext context) => IconButton(
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
await nodeCreateOrEditViewModel.scanQRCodeForNewNode();
|
await nodeCreateOrEditViewModel.scanQRCodeForNewNode(context);
|
||||||
},
|
},
|
||||||
splashColor: Colors.transparent,
|
splashColor: Colors.transparent,
|
||||||
highlightColor: Colors.transparent,
|
highlightColor: Colors.transparent,
|
||||||
|
|
|
@ -12,6 +12,8 @@ import 'package:cake_wallet/routes.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:cake_wallet/src/screens/base_page.dart';
|
import 'package:cake_wallet/src/screens/base_page.dart';
|
||||||
import 'package:cake_wallet/generated/i18n.dart';
|
import 'package:cake_wallet/generated/i18n.dart';
|
||||||
|
import 'package:permission_handler/permission_handler.dart';
|
||||||
|
import 'package:cake_wallet/utils/permission_handler.dart';
|
||||||
|
|
||||||
class RestoreOptionsPage extends BasePage {
|
class RestoreOptionsPage extends BasePage {
|
||||||
RestoreOptionsPage({required this.isNewInstall});
|
RestoreOptionsPage({required this.isNewInstall});
|
||||||
|
@ -55,6 +57,9 @@ class RestoreOptionsPage extends BasePage {
|
||||||
padding: EdgeInsets.only(top: 24),
|
padding: EdgeInsets.only(top: 24),
|
||||||
child: OptionTile(
|
child: OptionTile(
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
|
bool isCameraPermissionGranted =
|
||||||
|
await PermissionHandler.checkPermission(Permission.camera, context);
|
||||||
|
if (!isCameraPermissionGranted) return;
|
||||||
bool isPinSet = false;
|
bool isPinSet = false;
|
||||||
if (isNewInstall) {
|
if (isNewInstall) {
|
||||||
await Navigator.pushNamed(context, Routes.setupPin,
|
await Navigator.pushNamed(context, Routes.setupPin,
|
||||||
|
|
|
@ -8,10 +8,12 @@ import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
|
||||||
import 'package:cake_wallet/utils/device_info.dart';
|
import 'package:cake_wallet/utils/device_info.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_mobx/flutter_mobx.dart';
|
import 'package:flutter_mobx/flutter_mobx.dart';
|
||||||
|
import 'package:permission_handler/permission_handler.dart';
|
||||||
import 'package:walletconnect_flutter_v2/walletconnect_flutter_v2.dart';
|
import 'package:walletconnect_flutter_v2/walletconnect_flutter_v2.dart';
|
||||||
import 'package:cake_wallet/entities/qr_scanner.dart';
|
import 'package:cake_wallet/entities/qr_scanner.dart';
|
||||||
import 'package:cake_wallet/src/widgets/primary_button.dart';
|
import 'package:cake_wallet/src/widgets/primary_button.dart';
|
||||||
import 'package:cake_wallet/utils/show_pop_up.dart';
|
import 'package:cake_wallet/utils/show_pop_up.dart';
|
||||||
|
import 'package:cake_wallet/utils/permission_handler.dart';
|
||||||
|
|
||||||
import 'widgets/pairing_item_widget.dart';
|
import 'widgets/pairing_item_widget.dart';
|
||||||
import 'wc_pairing_detail_page.dart';
|
import 'wc_pairing_detail_page.dart';
|
||||||
|
@ -58,6 +60,9 @@ class WCPairingsWidget extends BasePage {
|
||||||
final String? uri;
|
final String? uri;
|
||||||
|
|
||||||
if (DeviceInfo.instance.isMobile) {
|
if (DeviceInfo.instance.isMobile) {
|
||||||
|
bool isCameraPermissionGranted =
|
||||||
|
await PermissionHandler.checkPermission(Permission.camera, context);
|
||||||
|
if (!isCameraPermissionGranted) return;
|
||||||
uri = await presentQRScanner();
|
uri = await presentQRScanner();
|
||||||
} else {
|
} else {
|
||||||
uri = await _showEnterWalletConnectURIPopUp(context);
|
uri = await _showEnterWalletConnectURIPopUp(context);
|
||||||
|
|
|
@ -9,6 +9,8 @@ import 'package:cake_wallet/entities/qr_scanner.dart';
|
||||||
import 'package:cake_wallet/entities/contact_base.dart';
|
import 'package:cake_wallet/entities/contact_base.dart';
|
||||||
import 'package:cw_core/crypto_currency.dart';
|
import 'package:cw_core/crypto_currency.dart';
|
||||||
import 'package:cake_wallet/themes/extensions/send_page_theme.dart';
|
import 'package:cake_wallet/themes/extensions/send_page_theme.dart';
|
||||||
|
import 'package:cake_wallet/utils/permission_handler.dart';
|
||||||
|
import 'package:permission_handler/permission_handler.dart';
|
||||||
|
|
||||||
enum AddressTextFieldOption { paste, qrCode, addressBook }
|
enum AddressTextFieldOption { paste, qrCode, addressBook }
|
||||||
|
|
||||||
|
@ -188,6 +190,9 @@ class AddressTextField extends StatelessWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> _presentQRScanner(BuildContext context) async {
|
Future<void> _presentQRScanner(BuildContext context) async {
|
||||||
|
bool isCameraPermissionGranted =
|
||||||
|
await PermissionHandler.checkPermission(Permission.camera, context);
|
||||||
|
if (!isCameraPermissionGranted) return;
|
||||||
final code = await presentQRScanner();
|
final code = await presentQRScanner();
|
||||||
if (code.isEmpty) {
|
if (code.isEmpty) {
|
||||||
return;
|
return;
|
||||||
|
|
32
lib/utils/permission_handler.dart
Normal file
32
lib/utils/permission_handler.dart
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
import 'package:cake_wallet/generated/i18n.dart';
|
||||||
|
import 'package:cake_wallet/utils/show_bar.dart';
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:permission_handler/permission_handler.dart';
|
||||||
|
|
||||||
|
class PermissionHandler {
|
||||||
|
static Future<bool> checkPermission(Permission permission, BuildContext context) async {
|
||||||
|
final Map<Permission, String> _permissionMessages = {
|
||||||
|
Permission.camera: S.of(context).camera_permission_is_required,
|
||||||
|
};
|
||||||
|
|
||||||
|
var status = await permission.status;
|
||||||
|
|
||||||
|
if (status.isDenied) {
|
||||||
|
status = await permission.request();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (status.isPermanentlyDenied || status.isDenied) {
|
||||||
|
String? message = _permissionMessages[permission];
|
||||||
|
if (message != null) {
|
||||||
|
showBar<void>(context, message);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (status.isGranted) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,11 +1,14 @@
|
||||||
import 'package:cake_wallet/core/execution_state.dart';
|
import 'package:cake_wallet/core/execution_state.dart';
|
||||||
import 'package:cake_wallet/entities/qr_scanner.dart';
|
import 'package:cake_wallet/entities/qr_scanner.dart';
|
||||||
import 'package:cake_wallet/store/settings_store.dart';
|
import 'package:cake_wallet/store/settings_store.dart';
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:hive/hive.dart';
|
import 'package:hive/hive.dart';
|
||||||
import 'package:mobx/mobx.dart';
|
import 'package:mobx/mobx.dart';
|
||||||
import 'package:cw_core/node.dart';
|
import 'package:cw_core/node.dart';
|
||||||
import 'package:cw_core/wallet_type.dart';
|
import 'package:cw_core/wallet_type.dart';
|
||||||
import 'package:collection/collection.dart';
|
import 'package:collection/collection.dart';
|
||||||
|
import 'package:cake_wallet/utils/permission_handler.dart';
|
||||||
|
import 'package:permission_handler/permission_handler.dart';
|
||||||
|
|
||||||
part 'node_create_or_edit_view_model.g.dart';
|
part 'node_create_or_edit_view_model.g.dart';
|
||||||
|
|
||||||
|
@ -175,8 +178,11 @@ abstract class NodeCreateOrEditViewModelBase with Store {
|
||||||
void setAsCurrent(Node node) => _settingsStore.nodes[_walletType] = node;
|
void setAsCurrent(Node node) => _settingsStore.nodes[_walletType] = node;
|
||||||
|
|
||||||
@action
|
@action
|
||||||
Future<void> scanQRCodeForNewNode() async {
|
Future<void> scanQRCodeForNewNode(BuildContext context) async {
|
||||||
try {
|
try {
|
||||||
|
bool isCameraPermissionGranted =
|
||||||
|
await PermissionHandler.checkPermission(Permission.camera, context);
|
||||||
|
if (!isCameraPermissionGranted) return;
|
||||||
String code = await presentQRScanner();
|
String code = await presentQRScanner();
|
||||||
|
|
||||||
if (code.isEmpty) {
|
if (code.isEmpty) {
|
||||||
|
|
|
@ -723,5 +723,6 @@
|
||||||
"enter_seed_phrase": "أدخل عبارة البذور الخاصة بك",
|
"enter_seed_phrase": "أدخل عبارة البذور الخاصة بك",
|
||||||
"add_contact": "ﻝﺎﺼﺗﺍ ﺔﻬﺟ ﺔﻓﺎﺿﺇ",
|
"add_contact": "ﻝﺎﺼﺗﺍ ﺔﻬﺟ ﺔﻓﺎﺿﺇ",
|
||||||
"exchange_provider_unsupported": "${providerName} لم يعد مدعومًا!",
|
"exchange_provider_unsupported": "${providerName} لم يعد مدعومًا!",
|
||||||
|
"camera_permission_is_required": ".ﺍﺮﻴﻣﺎﻜﻟﺍ ﻥﺫﺇ ﺏﻮﻠﻄﻣ",
|
||||||
"switchToETHWallet": "ﻯﺮﺧﺃ ﺓﺮﻣ ﺔﻟﻭﺎﺤﻤﻟﺍﻭ Ethereum ﺔﻈﻔﺤﻣ ﻰﻟﺇ ﻞﻳﺪﺒﺘﻟﺍ ﻰﺟﺮﻳ"
|
"switchToETHWallet": "ﻯﺮﺧﺃ ﺓﺮﻣ ﺔﻟﻭﺎﺤﻤﻟﺍﻭ Ethereum ﺔﻈﻔﺤﻣ ﻰﻟﺇ ﻞﻳﺪﺒﺘﻟﺍ ﻰﺟﺮﻳ"
|
||||||
}
|
}
|
||||||
|
|
|
@ -719,5 +719,6 @@
|
||||||
"enter_seed_phrase": "Въведете вашата фраза за семена",
|
"enter_seed_phrase": "Въведете вашата фраза за семена",
|
||||||
"add_contact": "Добави контакт",
|
"add_contact": "Добави контакт",
|
||||||
"exchange_provider_unsupported": "${providerName} вече не се поддържа!",
|
"exchange_provider_unsupported": "${providerName} вече не се поддържа!",
|
||||||
|
"camera_permission_is_required": "Изисква се разрешение за камерата.\nМоля, активирайте го от настройките на приложението.",
|
||||||
"switchToETHWallet": "Моля, преминете към портфейл Ethereum и опитайте отново"
|
"switchToETHWallet": "Моля, преминете към портфейл Ethereum и опитайте отново"
|
||||||
}
|
}
|
||||||
|
|
|
@ -719,5 +719,6 @@
|
||||||
"enter_seed_phrase": "Zadejte svou frázi semen",
|
"enter_seed_phrase": "Zadejte svou frázi semen",
|
||||||
"add_contact": "Přidat kontakt",
|
"add_contact": "Přidat kontakt",
|
||||||
"exchange_provider_unsupported": "${providerName} již není podporováno!",
|
"exchange_provider_unsupported": "${providerName} již není podporováno!",
|
||||||
|
"camera_permission_is_required": "Vyžaduje se povolení fotoaparátu.\nPovolte jej v nastavení aplikace.",
|
||||||
"switchToETHWallet": "Přejděte na peněženku Ethereum a zkuste to znovu"
|
"switchToETHWallet": "Přejděte na peněženku Ethereum a zkuste to znovu"
|
||||||
}
|
}
|
||||||
|
|
|
@ -727,5 +727,6 @@
|
||||||
"enter_seed_phrase": "Geben Sie Ihre Seed-Phrase ein",
|
"enter_seed_phrase": "Geben Sie Ihre Seed-Phrase ein",
|
||||||
"add_contact": "Kontakt hinzufügen",
|
"add_contact": "Kontakt hinzufügen",
|
||||||
"exchange_provider_unsupported": "${providerName} wird nicht mehr unterstützt!",
|
"exchange_provider_unsupported": "${providerName} wird nicht mehr unterstützt!",
|
||||||
|
"camera_permission_is_required": "Eine Kameraerlaubnis ist erforderlich.\nBitte aktivieren Sie es in den App-Einstellungen.",
|
||||||
"switchToETHWallet": "Bitte wechseln Sie zu einem Ethereum-Wallet und versuchen Sie es erneut"
|
"switchToETHWallet": "Bitte wechseln Sie zu einem Ethereum-Wallet und versuchen Sie es erneut"
|
||||||
}
|
}
|
||||||
|
|
|
@ -728,5 +728,6 @@
|
||||||
"enter_seed_phrase": "Enter your seed phrase",
|
"enter_seed_phrase": "Enter your seed phrase",
|
||||||
"add_contact": "Add contact",
|
"add_contact": "Add contact",
|
||||||
"exchange_provider_unsupported": "${providerName} is no longer supported!",
|
"exchange_provider_unsupported": "${providerName} is no longer supported!",
|
||||||
|
"camera_permission_is_required": "Camera permission is required. \nPlease enable it from app settings.",
|
||||||
"switchToETHWallet": "Please switch to an Ethereum wallet and try again"
|
"switchToETHWallet": "Please switch to an Ethereum wallet and try again"
|
||||||
}
|
}
|
||||||
|
|
|
@ -727,5 +727,6 @@
|
||||||
"enter_seed_phrase": "Ingrese su frase de semillas",
|
"enter_seed_phrase": "Ingrese su frase de semillas",
|
||||||
"add_contact": "Agregar contacto",
|
"add_contact": "Agregar contacto",
|
||||||
"exchange_provider_unsupported": "¡${providerName} ya no es compatible!",
|
"exchange_provider_unsupported": "¡${providerName} ya no es compatible!",
|
||||||
|
"camera_permission_is_required": "Se requiere permiso de la cámara.\nHabilítelo desde la configuración de la aplicación.",
|
||||||
"switchToETHWallet": "Cambie a una billetera Ethereum e inténtelo nuevamente."
|
"switchToETHWallet": "Cambie a una billetera Ethereum e inténtelo nuevamente."
|
||||||
}
|
}
|
||||||
|
|
|
@ -727,5 +727,6 @@
|
||||||
"enter_seed_phrase": "Entrez votre phrase de semence",
|
"enter_seed_phrase": "Entrez votre phrase de semence",
|
||||||
"add_contact": "Ajouter le contact",
|
"add_contact": "Ajouter le contact",
|
||||||
"exchange_provider_unsupported": "${providerName} n'est plus pris en charge!",
|
"exchange_provider_unsupported": "${providerName} n'est plus pris en charge!",
|
||||||
|
"camera_permission_is_required": "L'autorisation de la caméra est requise.\nVeuillez l'activer à partir des paramètres de l'application.",
|
||||||
"switchToETHWallet": "Veuillez passer à un portefeuille Ethereum et réessayer"
|
"switchToETHWallet": "Veuillez passer à un portefeuille Ethereum et réessayer"
|
||||||
}
|
}
|
||||||
|
|
|
@ -705,5 +705,6 @@
|
||||||
"enter_seed_phrase": "Shigar da Sert Sentarku",
|
"enter_seed_phrase": "Shigar da Sert Sentarku",
|
||||||
"add_contact": "Ƙara lamba",
|
"add_contact": "Ƙara lamba",
|
||||||
"exchange_provider_unsupported": "${providerName}",
|
"exchange_provider_unsupported": "${providerName}",
|
||||||
|
"camera_permission_is_required": "Ana buƙatar izinin kyamara.\nDa fatan za a kunna shi daga saitunan app.",
|
||||||
"switchToETHWallet": "Da fatan za a canza zuwa walat ɗin Ethereum kuma a sake gwadawa"
|
"switchToETHWallet": "Da fatan za a canza zuwa walat ɗin Ethereum kuma a sake gwadawa"
|
||||||
}
|
}
|
||||||
|
|
|
@ -727,5 +727,6 @@
|
||||||
"enter_seed_phrase": "अपना बीज वाक्यांश दर्ज करें",
|
"enter_seed_phrase": "अपना बीज वाक्यांश दर्ज करें",
|
||||||
"add_contact": "संपर्क जोड़ें",
|
"add_contact": "संपर्क जोड़ें",
|
||||||
"exchange_provider_unsupported": "${providerName} अब समर्थित नहीं है!",
|
"exchange_provider_unsupported": "${providerName} अब समर्थित नहीं है!",
|
||||||
|
"camera_permission_is_required": "कैमरे की अनुमति आवश्यक है.\nकृपया इसे ऐप सेटिंग से सक्षम करें।",
|
||||||
"switchToETHWallet": "कृपया एथेरियम वॉलेट पर स्विच करें और पुनः प्रयास करें"
|
"switchToETHWallet": "कृपया एथेरियम वॉलेट पर स्विच करें और पुनः प्रयास करें"
|
||||||
}
|
}
|
||||||
|
|
|
@ -725,5 +725,6 @@
|
||||||
"enter_seed_phrase": "Unesite svoju sjemensku frazu",
|
"enter_seed_phrase": "Unesite svoju sjemensku frazu",
|
||||||
"add_contact": "Dodaj kontakt",
|
"add_contact": "Dodaj kontakt",
|
||||||
"exchange_provider_unsupported": "${providerName} više nije podržan!",
|
"exchange_provider_unsupported": "${providerName} više nije podržan!",
|
||||||
|
"camera_permission_is_required": "Potrebno je dopuštenje kamere.\nOmogućite ga u postavkama aplikacije.",
|
||||||
"switchToETHWallet": "Prijeđite na Ethereum novčanik i pokušajte ponovno"
|
"switchToETHWallet": "Prijeđite na Ethereum novčanik i pokušajte ponovno"
|
||||||
}
|
}
|
||||||
|
|
|
@ -715,5 +715,6 @@
|
||||||
"enter_seed_phrase": "Masukkan frasa benih Anda",
|
"enter_seed_phrase": "Masukkan frasa benih Anda",
|
||||||
"add_contact": "Tambah kontak",
|
"add_contact": "Tambah kontak",
|
||||||
"exchange_provider_unsupported": "${providerName} tidak lagi didukung!",
|
"exchange_provider_unsupported": "${providerName} tidak lagi didukung!",
|
||||||
|
"camera_permission_is_required": "Izin kamera diperlukan.\nSilakan aktifkan dari pengaturan aplikasi.",
|
||||||
"switchToETHWallet": "Silakan beralih ke dompet Ethereum dan coba lagi"
|
"switchToETHWallet": "Silakan beralih ke dompet Ethereum dan coba lagi"
|
||||||
}
|
}
|
||||||
|
|
|
@ -727,5 +727,6 @@
|
||||||
"enter_seed_phrase": "Inserisci la tua frase di semi",
|
"enter_seed_phrase": "Inserisci la tua frase di semi",
|
||||||
"add_contact": "Aggiungi contatto",
|
"add_contact": "Aggiungi contatto",
|
||||||
"exchange_provider_unsupported": "${providerName} non è più supportato!",
|
"exchange_provider_unsupported": "${providerName} non è più supportato!",
|
||||||
|
"camera_permission_is_required": "È richiesta l'autorizzazione della fotocamera.\nAbilitalo dalle impostazioni dell'app.",
|
||||||
"switchToETHWallet": "Passa a un portafoglio Ethereum e riprova"
|
"switchToETHWallet": "Passa a un portafoglio Ethereum e riprova"
|
||||||
}
|
}
|
||||||
|
|
|
@ -727,5 +727,6 @@
|
||||||
"enter_seed_phrase": "シードフレーズを入力してください",
|
"enter_seed_phrase": "シードフレーズを入力してください",
|
||||||
"add_contact": "連絡先を追加",
|
"add_contact": "連絡先を追加",
|
||||||
"exchange_provider_unsupported": "${providerName}はサポートされなくなりました!",
|
"exchange_provider_unsupported": "${providerName}はサポートされなくなりました!",
|
||||||
|
"camera_permission_is_required": "カメラの許可が必要です。\nアプリの設定から有効にしてください。",
|
||||||
"switchToETHWallet": "イーサリアムウォレットに切り替えてもう一度お試しください"
|
"switchToETHWallet": "イーサリアムウォレットに切り替えてもう一度お試しください"
|
||||||
}
|
}
|
||||||
|
|
|
@ -725,5 +725,6 @@
|
||||||
"enter_seed_phrase": "시드 문구를 입력하십시오",
|
"enter_seed_phrase": "시드 문구를 입력하십시오",
|
||||||
"add_contact": "주소록에 추가",
|
"add_contact": "주소록에 추가",
|
||||||
"exchange_provider_unsupported": "${providerName}은 더 이상 지원되지 않습니다!",
|
"exchange_provider_unsupported": "${providerName}은 더 이상 지원되지 않습니다!",
|
||||||
|
"camera_permission_is_required": "카메라 권한이 필요합니다.\n앱 설정에서 활성화해 주세요.",
|
||||||
"switchToETHWallet": "이더리움 지갑으로 전환한 후 다시 시도해 주세요."
|
"switchToETHWallet": "이더리움 지갑으로 전환한 후 다시 시도해 주세요."
|
||||||
}
|
}
|
||||||
|
|
|
@ -725,5 +725,6 @@
|
||||||
"enter_seed_phrase": "သင့်ရဲ့မျိုးစေ့စကားစုကိုရိုက်ထည့်ပါ",
|
"enter_seed_phrase": "သင့်ရဲ့မျိုးစေ့စကားစုကိုရိုက်ထည့်ပါ",
|
||||||
"add_contact": "အဆက်အသွယ်ထည့်ပါ။",
|
"add_contact": "အဆက်အသွယ်ထည့်ပါ။",
|
||||||
"exchange_provider_unsupported": "${providerName} မရှိတော့ပါ!",
|
"exchange_provider_unsupported": "${providerName} မရှိတော့ပါ!",
|
||||||
|
"camera_permission_is_required": "ကင်မရာခွင့်ပြုချက် လိုအပ်ပါသည်။\nအက်ပ်ဆက်တင်များမှ ၎င်းကိုဖွင့်ပါ။",
|
||||||
"switchToETHWallet": "ကျေးဇူးပြု၍ Ethereum ပိုက်ဆံအိတ်သို့ ပြောင်းပြီး ထပ်စမ်းကြည့်ပါ။"
|
"switchToETHWallet": "ကျေးဇူးပြု၍ Ethereum ပိုက်ဆံအိတ်သို့ ပြောင်းပြီး ထပ်စမ်းကြည့်ပါ။"
|
||||||
}
|
}
|
||||||
|
|
|
@ -727,5 +727,6 @@
|
||||||
"enter_seed_phrase": "Voer uw zaadzin in",
|
"enter_seed_phrase": "Voer uw zaadzin in",
|
||||||
"add_contact": "Contactpersoon toevoegen",
|
"add_contact": "Contactpersoon toevoegen",
|
||||||
"exchange_provider_unsupported": "${providerName} wordt niet langer ondersteund!",
|
"exchange_provider_unsupported": "${providerName} wordt niet langer ondersteund!",
|
||||||
|
"camera_permission_is_required": "Cameratoestemming is vereist.\nSchakel dit in via de app-instellingen.",
|
||||||
"switchToETHWallet": "Schakel over naar een Ethereum-portemonnee en probeer het opnieuw"
|
"switchToETHWallet": "Schakel over naar een Ethereum-portemonnee en probeer het opnieuw"
|
||||||
}
|
}
|
||||||
|
|
|
@ -727,5 +727,6 @@
|
||||||
"enter_seed_phrase": "Wprowadź swoją frazę nasienną",
|
"enter_seed_phrase": "Wprowadź swoją frazę nasienną",
|
||||||
"add_contact": "Dodaj kontakt",
|
"add_contact": "Dodaj kontakt",
|
||||||
"exchange_provider_unsupported": "${providerName} nie jest już obsługiwany!",
|
"exchange_provider_unsupported": "${providerName} nie jest już obsługiwany!",
|
||||||
|
"camera_permission_is_required": "Wymagane jest pozwolenie na korzystanie z aparatu.\nWłącz tę funkcję w ustawieniach aplikacji.",
|
||||||
"switchToETHWallet": "Przejdź na portfel Ethereum i spróbuj ponownie"
|
"switchToETHWallet": "Przejdź na portfel Ethereum i spróbuj ponownie"
|
||||||
}
|
}
|
||||||
|
|
|
@ -726,5 +726,6 @@
|
||||||
"enter_seed_phrase": "Digite sua frase de semente",
|
"enter_seed_phrase": "Digite sua frase de semente",
|
||||||
"add_contact": "Adicionar contato",
|
"add_contact": "Adicionar contato",
|
||||||
"exchange_provider_unsupported": "${providerName} não é mais suportado!",
|
"exchange_provider_unsupported": "${providerName} não é mais suportado!",
|
||||||
|
"camera_permission_is_required": "É necessária permissão da câmera.\nAtive-o nas configurações do aplicativo.",
|
||||||
"switchToETHWallet": "Mude para uma carteira Ethereum e tente novamente"
|
"switchToETHWallet": "Mude para uma carteira Ethereum e tente novamente"
|
||||||
}
|
}
|
||||||
|
|
|
@ -727,5 +727,6 @@
|
||||||
"enter_seed_phrase": "Введите свою семенную фразу",
|
"enter_seed_phrase": "Введите свою семенную фразу",
|
||||||
"add_contact": "Добавить контакт",
|
"add_contact": "Добавить контакт",
|
||||||
"exchange_provider_unsupported": "${providerName} больше не поддерживается!",
|
"exchange_provider_unsupported": "${providerName} больше не поддерживается!",
|
||||||
|
"camera_permission_is_required": "Требуется разрешение камеры.\nПожалуйста, включите его в настройках приложения.",
|
||||||
"switchToETHWallet": "Пожалуйста, переключитесь на кошелек Ethereum и повторите попытку."
|
"switchToETHWallet": "Пожалуйста, переключитесь на кошелек Ethereum и повторите попытку."
|
||||||
}
|
}
|
||||||
|
|
|
@ -725,5 +725,6 @@
|
||||||
"enter_seed_phrase": "ป้อนวลีเมล็ดพันธุ์ของคุณ",
|
"enter_seed_phrase": "ป้อนวลีเมล็ดพันธุ์ของคุณ",
|
||||||
"add_contact": "เพิ่มผู้ติดต่อ",
|
"add_contact": "เพิ่มผู้ติดต่อ",
|
||||||
"exchange_provider_unsupported": "${providerName} ไม่ได้รับการสนับสนุนอีกต่อไป!",
|
"exchange_provider_unsupported": "${providerName} ไม่ได้รับการสนับสนุนอีกต่อไป!",
|
||||||
|
"camera_permission_is_required": "ต้องได้รับอนุญาตจากกล้อง\nโปรดเปิดใช้งานจากการตั้งค่าแอป",
|
||||||
"switchToETHWallet": "โปรดเปลี่ยนไปใช้กระเป๋าเงิน Ethereum แล้วลองอีกครั้ง"
|
"switchToETHWallet": "โปรดเปลี่ยนไปใช้กระเป๋าเงิน Ethereum แล้วลองอีกครั้ง"
|
||||||
}
|
}
|
||||||
|
|
|
@ -722,5 +722,6 @@
|
||||||
"enter_seed_phrase": "Ipasok ang iyong pariralang binhi",
|
"enter_seed_phrase": "Ipasok ang iyong pariralang binhi",
|
||||||
"add_contact": "Magdagdag ng contact",
|
"add_contact": "Magdagdag ng contact",
|
||||||
"exchange_provider_unsupported": "Ang ${providerName} ay hindi na suportado!",
|
"exchange_provider_unsupported": "Ang ${providerName} ay hindi na suportado!",
|
||||||
|
"camera_permission_is_required": "Kinakailangan ang pahintulot sa camera.\nMangyaring paganahin ito mula sa mga setting ng app.",
|
||||||
"switchToETHWallet": "Mangyaring lumipat sa isang Ethereum wallet at subukang muli"
|
"switchToETHWallet": "Mangyaring lumipat sa isang Ethereum wallet at subukang muli"
|
||||||
}
|
}
|
||||||
|
|
|
@ -725,5 +725,6 @@
|
||||||
"enter_seed_phrase": "Tohum ifadenizi girin",
|
"enter_seed_phrase": "Tohum ifadenizi girin",
|
||||||
"add_contact": "Kişi ekle",
|
"add_contact": "Kişi ekle",
|
||||||
"exchange_provider_unsupported": "${providerName} artık desteklenmiyor!",
|
"exchange_provider_unsupported": "${providerName} artık desteklenmiyor!",
|
||||||
|
"camera_permission_is_required": "Kamera izni gereklidir.\nLütfen uygulama ayarlarından etkinleştirin.",
|
||||||
"switchToETHWallet": "Lütfen bir Ethereum cüzdanına geçin ve tekrar deneyin"
|
"switchToETHWallet": "Lütfen bir Ethereum cüzdanına geçin ve tekrar deneyin"
|
||||||
}
|
}
|
||||||
|
|
|
@ -727,5 +727,6 @@
|
||||||
"enter_seed_phrase": "Введіть свою насіннєву фразу",
|
"enter_seed_phrase": "Введіть свою насіннєву фразу",
|
||||||
"add_contact": "Додати контакт",
|
"add_contact": "Додати контакт",
|
||||||
"exchange_provider_unsupported": "${providerName} більше не підтримується!",
|
"exchange_provider_unsupported": "${providerName} більше не підтримується!",
|
||||||
|
"camera_permission_is_required": "Потрібен дозвіл камери.\nУвімкніть його в налаштуваннях програми.",
|
||||||
"switchToETHWallet": "Перейдіть на гаманець Ethereum і повторіть спробу"
|
"switchToETHWallet": "Перейдіть на гаманець Ethereum і повторіть спробу"
|
||||||
}
|
}
|
||||||
|
|
|
@ -719,5 +719,6 @@
|
||||||
"enter_seed_phrase": "اپنے بیج کا جملہ درج کریں",
|
"enter_seed_phrase": "اپنے بیج کا جملہ درج کریں",
|
||||||
"add_contact": "۔ﮟﯾﺮﮐ ﻞﻣﺎﺷ ﮧﻄﺑﺍﺭ",
|
"add_contact": "۔ﮟﯾﺮﮐ ﻞﻣﺎﺷ ﮧﻄﺑﺍﺭ",
|
||||||
"exchange_provider_unsupported": "${providerName} اب تعاون نہیں کیا جاتا ہے!",
|
"exchange_provider_unsupported": "${providerName} اب تعاون نہیں کیا جاتا ہے!",
|
||||||
|
"camera_permission_is_required": "۔ﮯﮨ ﺭﺎﮐﺭﺩ ﺕﺯﺎﺟﺍ ﯽﮐ ﮮﺮﻤﯿﮐ",
|
||||||
"switchToETHWallet": "۔ﮟﯾﺮﮐ ﺶﺷﻮﮐ ﮦﺭﺎﺑﻭﺩ ﺭﻭﺍ ﮟﯾﺮﮐ ﭻﺋﻮﺳ ﺮﭘ ﭧﯿﻟﺍﻭ Ethereum ﻡﺮﮐ ﮦﺍﺮﺑ"
|
"switchToETHWallet": "۔ﮟﯾﺮﮐ ﺶﺷﻮﮐ ﮦﺭﺎﺑﻭﺩ ﺭﻭﺍ ﮟﯾﺮﮐ ﭻﺋﻮﺳ ﺮﭘ ﭧﯿﻟﺍﻭ Ethereum ﻡﺮﮐ ﮦﺍﺮﺑ"
|
||||||
}
|
}
|
||||||
|
|
|
@ -721,5 +721,6 @@
|
||||||
"enter_seed_phrase": "Tẹ ọrọ-iru irugbin rẹ",
|
"enter_seed_phrase": "Tẹ ọrọ-iru irugbin rẹ",
|
||||||
"add_contact": "Fi olubasọrọ kun",
|
"add_contact": "Fi olubasọrọ kun",
|
||||||
"exchange_provider_unsupported": "${providerName} ko ni atilẹyin mọ!",
|
"exchange_provider_unsupported": "${providerName} ko ni atilẹyin mọ!",
|
||||||
|
"camera_permission_is_required": "A nilo igbanilaaye kamẹra.\nJọwọ jeki o lati app eto.",
|
||||||
"switchToETHWallet": "Jọwọ yipada si apamọwọ Ethereum ki o tun gbiyanju lẹẹkansi"
|
"switchToETHWallet": "Jọwọ yipada si apamọwọ Ethereum ki o tun gbiyanju lẹẹkansi"
|
||||||
}
|
}
|
||||||
|
|
|
@ -726,5 +726,6 @@
|
||||||
"enter_seed_phrase": "输入您的种子短语",
|
"enter_seed_phrase": "输入您的种子短语",
|
||||||
"add_contact": "增加联系人",
|
"add_contact": "增加联系人",
|
||||||
"exchange_provider_unsupported": "${providerName}不再支持!",
|
"exchange_provider_unsupported": "${providerName}不再支持!",
|
||||||
|
"camera_permission_is_required": "需要相机许可。\n请从应用程序设置中启用它。",
|
||||||
"switchToETHWallet": "请切换到以太坊钱包并重试"
|
"switchToETHWallet": "请切换到以太坊钱包并重试"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue