Implement background sync for xmr using flutter_daemon (#2094)

* Implement background sync for xmr using flutter_daemon

* - initialize app config in background thread
- initializeAppConfigs without loading the wallet.

* - properly do awaited calls in methodChannel
- prevent locking main thread during background sync

* add back background sync debug page
fix issues caused by xmr wallet being view only (and read only)

* changes from review
improve starting of bgsync task

* update stopBackgroundSync, await listener functions, ensure that listener always start (call _start in constructor)

* DO-NOT-MERGE: extre verbose monero logs

* stop background service when app is being opened

* improve monitoring of background sync

* update flutter_daemon to ensure network constraint
prevent throwing errors on isBackgroundSyncEnabled
check network before syncing

* Update lib/main.dart

* revert Update main.dart [skip ci]

* continously run network check

* disable charging requirement,
fix status reporting of background sync in UI

* Refactor background sync logic, and add UI notifications for battery optimization. Updated flutter_daemon version modified build.gradle for signing config to allow testing in both release and debug modes.

* verbose monero only when requested in code.
Do not start background sync when battery optimization is on

* fix background sync mode not properly reflecting state changes

* drop unnecessary dependency

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
This commit is contained in:
cyan 2025-03-21 18:22:00 +01:00 committed by GitHub
parent d44621e6c7
commit 686580ff78
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
60 changed files with 853 additions and 352 deletions

View file

@ -69,6 +69,7 @@
"avg_savings": "متوسط مدخرات",
"awaitDAppProcessing": ".ﺔﺠﻟﺎﻌﻤﻟﺍ ﻦﻣ dApp ﻲﻬﺘﻨﻳ ﻰﺘﺣ ﺭﺎﻈﺘﻧﻻﺍ ﻰﺟﺮﻳ",
"awaiting_payment_confirmation": "في انتظار تأكيد الدفع",
"background_sync": "مزامنة الخلفية",
"background_sync_mode": "وضع مزامنة الخلفية",
"backup": "نسخ الاحتياطي",
"backup_file": "ملف النسخ الاحتياطي",
@ -922,6 +923,8 @@
"understand": "لقد فهمت",
"unlock": "الغاء القفل",
"unmatched_currencies": "عملة محفظتك الحالية لا تتطابق مع عملة QR الممسوحة ضوئيًا",
"unrestricted_background_service": "خدمة خلفية غير مقيدة",
"unrestricted_background_service_notice": "من أجل تمكين مزامنة الخلفية ، تحتاج إلى تمكين خدمة الخلفية غير المقيدة",
"unspent_change": "يتغير",
"unspent_coins_details_title": "تفاصيل العملات الغير المنفقة",
"unspent_coins_title": "العملات الغير المنفقة",

View file

@ -69,6 +69,7 @@
"avg_savings": "Средни спестявания",
"awaitDAppProcessing": "Моля, изчакайте dApp да завърши обработката.",
"awaiting_payment_confirmation": "Чака се потвърждение на плащането",
"background_sync": "Фон Синхх",
"background_sync_mode": "Режим на синхронизиране на фона",
"backup": "Резервно копие",
"backup_file": "Резервно копие",
@ -922,6 +923,8 @@
"understand": "Разбирам",
"unlock": "Отключване",
"unmatched_currencies": "Валутата на този портфейл не съвпада с тази от сканирания QR код",
"unrestricted_background_service": "Неограничена фонова услуга",
"unrestricted_background_service_notice": "За да активирате синхронизирането на фона, трябва да активирате неограничена фонова услуга",
"unspent_change": "Промяна",
"unspent_coins_details_title": "Подробности за неизползваните монети",
"unspent_coins_title": "Неизползвани монети",

View file

@ -69,6 +69,7 @@
"avg_savings": "Prům. ušetřeno",
"awaitDAppProcessing": "Počkejte, až dApp dokončí zpracování.",
"awaiting_payment_confirmation": "Čeká se na potvrzení platby",
"background_sync": "Synchronizace pozadí",
"background_sync_mode": "Režim synchronizace pozadí",
"backup": "Záloha",
"backup_file": "Soubor se zálohou",
@ -922,6 +923,8 @@
"understand": "Rozumím",
"unlock": "Odemknout",
"unmatched_currencies": "Měna vaší současné peněženky neodpovídá té v naskenovaném QR kódu",
"unrestricted_background_service": "Neomezená služba na pozadí",
"unrestricted_background_service_notice": "Chcete -li povolit synchronizaci pozadí, musíte povolit neomezenou službu na pozadí",
"unspent_change": "Změna",
"unspent_coins_details_title": "Podrobnosti o neutracených mincích",
"unspent_coins_title": "Neutracené mince",

View file

@ -69,6 +69,7 @@
"avg_savings": "Durchschn. Einsparungen",
"awaitDAppProcessing": "Bitte warten Sie, bis die dApp die Verarbeitung abgeschlossen hat.",
"awaiting_payment_confirmation": "Warten auf Zahlungsbestätigung",
"background_sync": "Hintergrundsynchronisation",
"background_sync_mode": "Hintergrundsynchronisierungsmodus",
"backup": "Sicherung",
"backup_file": "Sicherungsdatei",
@ -924,6 +925,8 @@
"understand": "Ich verstehe",
"unlock": "Freischalten",
"unmatched_currencies": "Die Währung Ihres aktuellen Wallets stimmt nicht mit der des gescannten QR überein",
"unrestricted_background_service": "Uneingeschränkter Hintergrunddienst",
"unrestricted_background_service_notice": "Um die Hintergrundsynchronisierung zu ermöglichen, müssen Sie einen uneingeschränkten Hintergrundservice aktivieren",
"unspent_change": "Wechselgeld",
"unspent_coins_details_title": "Details zu nicht ausgegebenen Coins",
"unspent_coins_title": "Nicht ausgegebene Coins",

View file

@ -69,6 +69,7 @@
"avg_savings": "Avg. Savings",
"awaitDAppProcessing": "Kindly wait for the dApp to finish processing.",
"awaiting_payment_confirmation": "Awaiting Payment Confirmation",
"background_sync": "Background sync",
"background_sync_mode": "Background sync mode",
"backup": "Backup",
"backup_file": "Backup file",
@ -923,6 +924,8 @@
"understand": "I understand",
"unlock": "Unlock",
"unmatched_currencies": "Your current wallet's currency does not match that of the scanned QR",
"unrestricted_background_service": "Unrestricted background service",
"unrestricted_background_service_notice": "In order to enable background sync you need to enable unrestricted background service",
"unspent_change": "Change",
"unspent_coins_details_title": "Unspent coins details",
"unspent_coins_title": "Unspent coins",

View file

@ -69,6 +69,7 @@
"avg_savings": "Ahorro promedio",
"awaitDAppProcessing": "Espere a que la dApp termine de procesarse.",
"awaiting_payment_confirmation": "Esperando confirmación de pago",
"background_sync": "Sincronización de fondo",
"background_sync_mode": "Modo de sincronización en segundo plano",
"backup": "Apoyo",
"backup_file": "Archivo de respaldo",
@ -923,6 +924,8 @@
"understand": "Entiendo",
"unlock": "desbloquear",
"unmatched_currencies": "La moneda de tu billetera actual no coincide con la del QR escaneado",
"unrestricted_background_service": "Servicio de antecedentes sin restricciones",
"unrestricted_background_service_notice": "Para habilitar la sincronización de antecedentes, debe habilitar el servicio de fondo sin restricciones",
"unspent_change": "Cambiar",
"unspent_coins_details_title": "Detalles de monedas no gastadas",
"unspent_coins_title": "Monedas no gastadas",

View file

@ -69,6 +69,7 @@
"avg_savings": "Économies moy.",
"awaitDAppProcessing": "Veuillez attendre que l'application décentralisée (dApp) termine le traitement.",
"awaiting_payment_confirmation": "En attente de confirmation de paiement",
"background_sync": "Synchronisation de fond",
"background_sync_mode": "Mode de synchronisation en arrière-plan",
"backup": "Sauvegarde",
"backup_file": "Fichier de sauvegarde",
@ -922,6 +923,8 @@
"understand": "J'ai compris",
"unlock": "Ouvrir",
"unmatched_currencies": "La devise de votre portefeuille (wallet) actuel ne correspond pas à celle du QR code scanné",
"unrestricted_background_service": "Service de fond sans restriction",
"unrestricted_background_service_notice": "Afin d'activer la synchronisation des antécédents, vous devez activer le service de fond sans restriction",
"unspent_change": "Monnaie",
"unspent_coins_details_title": "Détails des pièces (coins) non dépensées",
"unspent_coins_title": "Pièces (coins) non dépensées",

View file

@ -69,6 +69,7 @@
"avg_savings": "Matsakaici Adana",
"awaitDAppProcessing": "Da fatan za a jira dApp ya gama aiki.",
"awaiting_payment_confirmation": "Ana jiran Tabbacin Biyan Kuɗi",
"background_sync": "Tunawa da Setc",
"background_sync_mode": "Yanayin Sync",
"backup": "Ajiyayyen",
"backup_file": "Ajiyayyen fayil",
@ -924,6 +925,8 @@
"understand": "na gane",
"unlock": "Buɗe",
"unmatched_currencies": "Nau'in walat ɗin ku na yanzu bai dace da na lambar QR da aka bincika ba",
"unrestricted_background_service": "Sabis na baya",
"unrestricted_background_service_notice": "Don ba da damar Sync na asali kuna buƙatar kunna sabis na baya da ba a santa ba",
"unspent_change": "Canza",
"unspent_coins_details_title": "Bayanan tsabar kudi da ba a kashe ba",
"unspent_coins_title": "Tsabar da ba a kashe ba",

View file

@ -69,6 +69,7 @@
"avg_savings": "औसत बचत",
"awaitDAppProcessing": "कृपया डीएपी की प्रोसेसिंग पूरी होने तक प्रतीक्षा करें।",
"awaiting_payment_confirmation": "भुगतान की पुष्टि की प्रतीक्षा में",
"background_sync": "पृष्ठभूमि सिंक",
"background_sync_mode": "बैकग्राउंड सिंक मोड",
"backup": "बैकअप",
"backup_file": "बैकअपफ़ाइल",
@ -924,6 +925,8 @@
"understand": "मुझे समझ",
"unlock": "अनलॉक",
"unmatched_currencies": "आपके वर्तमान वॉलेट की मुद्रा स्कैन किए गए क्यूआर से मेल नहीं खाती",
"unrestricted_background_service": "अप्रतिबंधित पृष्ठभूमि सेवा",
"unrestricted_background_service_notice": "पृष्ठभूमि सिंक को सक्षम करने के लिए आपको अप्रतिबंधित पृष्ठभूमि सेवा को सक्षम करने की आवश्यकता है",
"unspent_change": "परिवर्तन",
"unspent_coins_details_title": "अव्ययित सिक्कों का विवरण",
"unspent_coins_title": "खर्च न किए गए सिक्के",

View file

@ -69,6 +69,7 @@
"avg_savings": "Prosj. ušteda",
"awaitDAppProcessing": "Molimo pričekajte da dApp završi obradu.",
"awaiting_payment_confirmation": "Čeka se potvrda plaćanja",
"background_sync": "Sinkronizacija pozadine",
"background_sync_mode": "Sinkronizacija u pozadini",
"backup": "Sigurnosna kopija",
"backup_file": "Sigurnosna kopija datoteke",
@ -922,6 +923,8 @@
"understand": "Razumijem",
"unlock": "Otključati",
"unmatched_currencies": "Valuta vašeg trenutnog novčanika ne odgovara onoj na skeniranom QR-u",
"unrestricted_background_service": "Neograničena pozadinska usluga",
"unrestricted_background_service_notice": "Da biste omogućili sinkronizaciju pozadine, morate omogućiti neograničenu pozadinsku uslugu",
"unspent_change": "Promijeniti",
"unspent_coins_details_title": "Nepotrošeni detalji o novčićima",
"unspent_coins_title": "Nepotrošeni novčići",

View file

@ -69,6 +69,7 @@
"avg_savings": "Միջին խնայողություն",
"awaitDAppProcessing": "Խնդրեմ սպասեք, մինչև դիմումը կավարտի մշակումը։",
"awaiting_payment_confirmation": "Վճարման հաստատման սպասում",
"background_sync": "Ֆոնային համաժամեցում",
"background_sync_mode": "Հետին պլանի համաժամացման ռեժիմ",
"backup": "Կրկնօրինակ",
"backup_file": "Կրկնօրինակի ֆայլ",
@ -920,6 +921,8 @@
"understand": "Ես հասկանում եմ",
"unlock": "Բացել",
"unmatched_currencies": "Ձեր ընթացիկ դրամապանակի արժույթը չի համապատասխանում սկանավորված QR կոդի արժույթին",
"unrestricted_background_service": "Անսահմանափակ ֆոնային ծառայություն",
"unrestricted_background_service_notice": "Ֆոնային համաժամացման համար անհրաժեշտ է միացնել անսահմանափակ ֆոնային ծառայություն",
"unspent_change": "Մնացորդ",
"unspent_coins_details_title": "Չծախսված արժույթների մանրամասները",
"unspent_coins_title": "Չծախսված արժույթներ",

View file

@ -69,6 +69,7 @@
"avg_savings": "Rata-rata Pembayaran",
"awaitDAppProcessing": "Mohon tunggu hingga dApp menyelesaikan pemrosesan.",
"awaiting_payment_confirmation": "Menunggu Konfirmasi Pembayaran",
"background_sync": "Sinkronisasi Latar Belakang",
"background_sync_mode": "Mode Sinkronisasi Latar Belakang",
"backup": "Cadangan",
"backup_file": "File cadangan",
@ -925,6 +926,8 @@
"understand": "Saya mengerti",
"unlock": "Membuka kunci",
"unmatched_currencies": "Mata uang dompet Anda saat ini tidak cocok dengan yang ditandai QR",
"unrestricted_background_service": "Layanan latar belakang tidak terbatas",
"unrestricted_background_service_notice": "Untuk mengaktifkan sinkronisasi latar belakang, Anda perlu mengaktifkan layanan latar belakang yang tidak dibatasi",
"unspent_change": "Mengubah",
"unspent_coins_details_title": "Rincian koin yang tidak terpakai",
"unspent_coins_title": "Koin yang tidak terpakai",

View file

@ -69,6 +69,7 @@
"avg_savings": "Risparmio medio",
"awaitDAppProcessing": "Attendi gentilmente che la dApp termini l'elaborazione.",
"awaiting_payment_confirmation": "In attesa di conferma del pagamento",
"background_sync": "Sincronizzazione in background",
"background_sync_mode": "Modalità di sincronizzazione in background",
"backup": "Backup",
"backup_file": "Backup file",
@ -923,6 +924,8 @@
"understand": "Capisco",
"unlock": "Sblocca",
"unmatched_currencies": "La valuta del tuo portafoglio attuale non corrisponde a quella del QR scansionato",
"unrestricted_background_service": "Servizio di background senza restrizioni",
"unrestricted_background_service_notice": "Per abilitare la sincronizzazione in background è necessario abilitare il servizio di background senza restrizioni",
"unspent_change": "Resto",
"unspent_coins_details_title": "Dettagli sulle monete non spese",
"unspent_coins_title": "Monete non spese",

View file

@ -69,6 +69,7 @@
"avg_savings": "平均節約額",
"awaitDAppProcessing": "dAppの処理が完了するまでお待ちください。",
"awaiting_payment_confirmation": "支払い確認を待っています",
"background_sync": "背景同期",
"background_sync_mode": "バックグラウンド同期モード",
"backup": "バックアップ",
"backup_file": "バックアップファイル",
@ -923,6 +924,8 @@
"understand": "わかります",
"unlock": "ロックを解除します",
"unmatched_currencies": "現在のウォレットの通貨がスキャンされたQRの通貨と一致しません",
"unrestricted_background_service": "無制限のバックグラウンドサービス",
"unrestricted_background_service_notice": "バックグラウンドの同期を有​​効にするには、無制限のバックグラウンドサービスを有効にする必要があります",
"unspent_change": "変化",
"unspent_coins_details_title": "未使用のコインの詳細",
"unspent_coins_title": "未使用のコイン",

View file

@ -69,6 +69,7 @@
"avg_savings": "평균 절감액",
"awaitDAppProcessing": "dApp이 처리를 마칠 때까지 기다려주세요.",
"awaiting_payment_confirmation": "결제 확인 대기 중",
"background_sync": "배경 동기화",
"background_sync_mode": "백그라운드 동기화 모드",
"backup": "지원",
"backup_file": "백업 파일",
@ -922,6 +923,8 @@
"understand": "이해 했어요",
"unlock": "터놓다",
"unmatched_currencies": "현재 지갑의 통화가 스캔한 QR의 통화와 일치하지 않습니다.",
"unrestricted_background_service": "무제한 배경 서비스",
"unrestricted_background_service_notice": "배경 동기화를 활성화하려면 무제한 배경 서비스를 활성화해야합니다.",
"unspent_change": "변화",
"unspent_coins_details_title": "사용하지 않은 동전 세부 정보",
"unspent_coins_title": "사용하지 않은 동전",

View file

@ -69,6 +69,7 @@
"avg_savings": "ပျမ်းမျှ စုဆောင်းငွေ",
"awaitDAppProcessing": "ကျေးဇူးပြု၍ dApp ကို စီမံလုပ်ဆောင်ခြင်း အပြီးသတ်ရန် စောင့်ပါ။",
"awaiting_payment_confirmation": "ငွေပေးချေမှု အတည်ပြုချက်ကို စောင့်မျှော်နေပါသည်။",
"background_sync": "နောက်ခံထပ်တူပြုခြင်း",
"background_sync_mode": "နောက်ခံထပ်တူပြုခြင်း mode ကို",
"backup": "မိတ္တူ",
"backup_file": "အရန်ဖိုင်",
@ -922,6 +923,8 @@
"understand": "ကျွန်တော်နားလည်ပါတယ်",
"unlock": "သော့ဖွင့်",
"unmatched_currencies": "သင့်လက်ရှိပိုက်ဆံအိတ်၏ငွေကြေးသည် စကင်ဖတ်ထားသော QR နှင့် မကိုက်ညီပါ။",
"unrestricted_background_service": "အကန့်အသတ်မရှိနောက်ခံဝန်ဆောင်မှု",
"unrestricted_background_service_notice": "နောက်ခံထပ်တူပြုခြင်းကို Enable လုပ်ရန်သင်ကန့်သတ်ထားသောနောက်ခံဝန်ဆောင်မှုကိုဖွင့်ရန်လိုအပ်သည်",
"unspent_change": "ပေြာင်းလဲခြင်း",
"unspent_coins_details_title": "အသုံးမဝင်သော အကြွေစေ့အသေးစိတ်များ",
"unspent_coins_title": "အသုံးမဝင်သော အကြွေစေ့များ",

View file

@ -69,6 +69,7 @@
"avg_savings": "Gem. besparingen",
"awaitDAppProcessing": "Wacht tot de dApp klaar is met verwerken.",
"awaiting_payment_confirmation": "In afwachting van betalingsbevestiging",
"background_sync": "Achtergrondsynchronisatie",
"background_sync_mode": "Achtergrondsynchronisatiemodus",
"backup": "Back-up",
"backup_file": "Backup bestand",
@ -922,6 +923,8 @@
"understand": "Ik begrijp het",
"unlock": "Ontgrendelen",
"unmatched_currencies": "De valuta van uw huidige portemonnee komt niet overeen met die van de gescande QR",
"unrestricted_background_service": "Onbeperkte achtergrondservice",
"unrestricted_background_service_notice": "Om achtergrondsynchronisatie in te schakelen, moet u onbeperkte achtergrondservice inschakelen",
"unspent_change": "Wijziging",
"unspent_coins_details_title": "Details van niet-uitgegeven munten",
"unspent_coins_title": "Ongebruikte munten",

View file

@ -69,6 +69,7 @@
"avg_savings": "Śr. oszczędności",
"awaitDAppProcessing": "Poczekaj, aż dApp zakończy przetwarzanie.",
"awaiting_payment_confirmation": "Oczekiwanie na potwierdzenie płatności",
"background_sync": "Synchronizacja tła",
"background_sync_mode": "Tryb synchronizacji w tle",
"backup": "Kopia zapasowa",
"backup_file": "Plik kopii zapasowej",
@ -922,6 +923,8 @@
"understand": "Rozumiem",
"unlock": "Odblokować",
"unmatched_currencies": "Waluta Twojego obecnego portfela nie zgadza się z waluctą zeskanowanego kodu QR",
"unrestricted_background_service": "Nieograniczona usługa w tle",
"unrestricted_background_service_notice": "Aby włączyć synchronizację tła, musisz włączyć nieograniczoną usługę w tle",
"unspent_change": "Zmiana",
"unspent_coins_details_title": "Szczegóły niewydanych monet",
"unspent_coins_title": "Niewydane monety",

View file

@ -69,6 +69,7 @@
"avg_savings": "Poupança média",
"awaitDAppProcessing": "Aguarde até que o dApp termine o processamento.",
"awaiting_payment_confirmation": "Aguardando confirmação de pagamento",
"background_sync": "Sincronização de fundo",
"background_sync_mode": "Modo de sincronização em segundo plano",
"backup": "Cópia de segurança",
"backup_file": "Arquivo de backup",
@ -924,6 +925,8 @@
"understand": "Entendo",
"unlock": "Desbloquear",
"unmatched_currencies": "A moeda da sua carteira atual não corresponde à do QR digitalizado",
"unrestricted_background_service": "Serviço de fundo irrestrito",
"unrestricted_background_service_notice": "Para ativar a sincronização de fundo, você precisa ativar o serviço de fundo irrestrito",
"unspent_change": "Troco",
"unspent_coins_details_title": "Detalhes de moedas não gastas",
"unspent_coins_title": "Moedas não gastas",

View file

@ -69,6 +69,7 @@
"avg_savings": "Средняя экономия",
"awaitDAppProcessing": "Пожалуйста, подождите, пока dApp завершит обработку.",
"awaiting_payment_confirmation": "Ожидается подтверждения платежа",
"background_sync": "Фоновая синхронизация",
"background_sync_mode": "Режим фоновой синхронизации",
"backup": "Резервная копия",
"backup_file": "Файл резервной копии",
@ -923,6 +924,8 @@
"understand": "Понятно",
"unlock": "Разблокировать",
"unmatched_currencies": "Валюта вашего текущего кошелька не соответствует валюте отсканированного QR-кода.",
"unrestricted_background_service": "Неограниченная фоновая служба",
"unrestricted_background_service_notice": "Чтобы включить фона синхронизации, необходимо включить неограниченную фоновую службу",
"unspent_change": "Изменять",
"unspent_coins_details_title": "Сведения о неизрасходованных монетах",
"unspent_coins_title": "Неизрасходованные монеты",

View file

@ -69,6 +69,7 @@
"avg_savings": "ประหยัดเฉลี่ย",
"awaitDAppProcessing": "โปรดรอให้ dApp ประมวลผลเสร็จสิ้น",
"awaiting_payment_confirmation": "รอการยืนยันการชำระเงิน",
"background_sync": "การซิงค์พื้นหลัง",
"background_sync_mode": "โหมดซิงค์พื้นหลัง",
"backup": "สำรองข้อมูล",
"backup_file": "ไฟล์สำรองข้อมูล",
@ -922,6 +923,8 @@
"understand": "ฉันเข้าใจ",
"unlock": "ปลดล็อค",
"unmatched_currencies": "สกุลเงินของกระเป๋าปัจจุบันของคุณไม่ตรงกับของ QR ที่สแกน",
"unrestricted_background_service": "บริการพื้นหลังที่ไม่ จำกัด",
"unrestricted_background_service_notice": "ในการเปิดใช้งานการซิงค์พื้นหลังคุณต้องเปิดใช้งานบริการพื้นหลังที่ไม่ จำกัด",
"unspent_change": "เปลี่ยน",
"unspent_coins_details_title": "รายละเอียดเหรียญที่ไม่ได้ใช้",
"unspent_coins_title": "เหรียญที่ไม่ได้ใช้",

View file

@ -69,6 +69,7 @@
"avg_savings": "Avg. Matitipid",
"awaitDAppProcessing": "Pakihintay na matapos ang pagproseso ng dApp.",
"awaiting_payment_confirmation": "Nanghihintay ng Kumpirmasyon sa Pagbabayad",
"background_sync": "Pag -sync ng background",
"background_sync_mode": "Background sync mode",
"backup": "Backup",
"backup_file": "Backup na file",
@ -922,6 +923,8 @@
"understand": "Naiitindihan ko",
"unlock": "I-unlock",
"unmatched_currencies": "Hindi tumutugma ang pera ng iyong kasalukuyang wallet sa na-scan na QR",
"unrestricted_background_service": "Hindi pinigilan na serbisyo sa background",
"unrestricted_background_service_notice": "Upang paganahin ang pag -sync ng background kailangan mong paganahin ang hindi pinigilan na serbisyo sa background",
"unspent_change": "Sukli",
"unspent_coins_details_title": "Mga detalye ng mga hindi nagastos na barya",
"unspent_coins_title": "Mga hindi nagamit na barya",

View file

@ -69,6 +69,7 @@
"avg_savings": "Ortalama Tasarruf",
"awaitDAppProcessing": "Lütfen dApp'in işlemeyi bitirmesini bekleyin.",
"awaiting_payment_confirmation": "Ödemenin onaylanması bekleniyor",
"background_sync": "Arka plan senkronizasyonu",
"background_sync_mode": "Arka Plan Senkronizasyon Modu",
"backup": "Yedek",
"backup_file": "Yedek dosyası",
@ -922,6 +923,8 @@
"understand": "Anladım",
"unlock": "Kilidini aç",
"unmatched_currencies": "Mevcut cüzdanınızın para birimi taranan QR ile eşleşmiyor",
"unrestricted_background_service": "Sınırsız arka plan hizmeti",
"unrestricted_background_service_notice": "Arka plan senkronizasyonunu etkinleştirmek için sınırsız arka plan hizmetini etkinleştirmeniz gerekir",
"unspent_change": "Değiştirmek",
"unspent_coins_details_title": "Harcanmamış koin detayları",
"unspent_coins_title": "Harcanmamış koinler",

View file

@ -69,6 +69,7 @@
"avg_savings": "Середня економія",
"awaitDAppProcessing": "Зачекайте, доки dApp завершить обробку.",
"awaiting_payment_confirmation": "Очікується підтвердження платежу",
"background_sync": "Фонове синхронізація",
"background_sync_mode": "Фоновий режим синхронізації",
"backup": "Резервна копія",
"backup_file": "Файл резервної копії",
@ -923,6 +924,8 @@
"understand": "Зрозуміло",
"unlock": "Розблокувати",
"unmatched_currencies": "Валюта вашого гаманця не збігається з валютою сканованого QR-коду",
"unrestricted_background_service": "Необмежена фонова послуга",
"unrestricted_background_service_notice": "Для того, щоб увімкнути фонову синхронізацію, вам потрібно ввімкнути необмежену фонову послугу",
"unspent_change": "Зміна",
"unspent_coins_details_title": "Відомості про невитрачені монети",
"unspent_coins_title": "Невитрачені монети",

View file

@ -69,6 +69,7 @@
"avg_savings": "اوسط بچت",
"awaitDAppProcessing": "۔ﮟﯾﺮﮐ ﺭﺎﻈﺘﻧﺍ ﺎﮐ ﮯﻧﻮﮨ ﻞﻤﮑﻣ ﮓﻨﺴﯿﺳﻭﺮﭘ ﮯﮐ dApp ﻡﺮﮐ ﮦﺍﺮﺑ",
"awaiting_payment_confirmation": "ادائیگی کی تصدیق کے منتظر",
"background_sync": "پس منظر کی ہم آہنگی",
"background_sync_mode": "پس منظر کی مطابقت پذیری کا موڈ",
"backup": "بیک اپ",
"backup_file": "بیک اپ فائل",
@ -924,6 +925,8 @@
"understand": "میں سمجھتا ہوں۔",
"unlock": "غیر مقفل",
"unmatched_currencies": "آپ کے پرس کی موجودہ کرنسی اسکین شدہ QR سے مماثل نہیں ہے۔",
"unrestricted_background_service": "غیر محدود پس منظر کی خدمت",
"unrestricted_background_service_notice": "پس منظر کی مطابقت پذیری کو قابل بنانے کے ل you آپ کو غیر محدود پس منظر کی خدمت کو فعال کرنے کی ضرورت ہے",
"unspent_change": "تبدیل کریں",
"unspent_coins_details_title": "غیر خرچ شدہ سککوں کی تفصیلات",
"unspent_coins_title": "غیر خرچ شدہ سکے ۔",

View file

@ -69,6 +69,7 @@
"avg_savings": "Tiết kiệm trung bình",
"awaitDAppProcessing": "Vui lòng đợi ứng dụng phi tập trung hoàn thành xử lý.",
"awaiting_payment_confirmation": "Đang chờ xác nhận thanh toán",
"background_sync": "Đồng bộ nền",
"background_sync_mode": "Chế độ đồng bộ nền",
"backup": "Sao lưu",
"backup_file": "Tập tin sao lưu",
@ -919,6 +920,8 @@
"understand": "Tôi hiểu",
"unlock": "Mở khóa",
"unmatched_currencies": "Tiền tệ của ví hiện tại của bạn không khớp với QR đã quét",
"unrestricted_background_service": "Dịch vụ nền không giới hạn",
"unrestricted_background_service_notice": "Để cho phép đồng bộ hóa nền, bạn cần bật dịch vụ nền không giới hạn",
"unspent_change": "Tiền thối",
"unspent_coins_details_title": "Chi tiết các đồng tiền chưa chi tiêu",
"unspent_coins_title": "Các đồng tiền chưa chi tiêu",

View file

@ -69,6 +69,7 @@
"avg_savings": "Ìpamọ́ lóòrèkóòrè",
"awaitDAppProcessing": "Fi inurere duro fun dApp lati pari sisẹ.",
"awaiting_payment_confirmation": "À ń dúró de ìjẹ́rìísí àránṣẹ́",
"background_sync": "Imuṣiṣẹ Labẹ",
"background_sync_mode": "Ipo amuṣiṣẹpọ abẹlẹ",
"backup": "Ṣẹ̀dà",
"backup_file": "Ṣẹ̀dà akọsílẹ̀",
@ -923,6 +924,8 @@
"understand": "Ó ye mi",
"unlock": "Sisalẹ",
"unmatched_currencies": "Irú owó ti àpamọ́wọ́ yín kì í ṣe irú ti yíya àmì ìlujá",
"unrestricted_background_service": "Iṣẹ ipilẹṣẹ ti ko nilẹ",
"unrestricted_background_service_notice": "Ni ibere lati mu ṣiṣẹpọ lẹhin ti o nilo lati ṣiṣẹ iṣẹ iṣẹ ti ko ni ibatan",
"unspent_change": "Yipada",
"unspent_coins_details_title": "Àwọn owó ẹyọ t'á kò tí ì san",
"unspent_coins_title": "Àwọn owó ẹyọ t'á kò tí ì san",

View file

@ -69,6 +69,7 @@
"avg_savings": "平均储蓄",
"awaitDAppProcessing": "请等待 dApp 处理完成。",
"awaiting_payment_confirmation": "等待付款确认",
"background_sync": "背景同步",
"background_sync_mode": "后台同步模式",
"backup": "备份",
"backup_file": "备份文件",
@ -922,6 +923,8 @@
"understand": "我已知晓",
"unlock": "开锁",
"unmatched_currencies": "您当前钱包的货币与扫描的 QR 的货币不匹配",
"unrestricted_background_service": "不受限制的背景服务",
"unrestricted_background_service_notice": "为了启用背景同步,您需要启用无限制的背景服务",
"unspent_change": "改变",
"unspent_coins_details_title": "未使用代幣詳情",
"unspent_coins_title": "未使用的硬幣",