1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-22 01:47:00 +01:00

Remove mobile sync feature (#18692)

The mobile sync feature has been removed. It has been disabled for
years. When we enable sync again, it will be using a different
implementation. This has already been removed on the mobile side.
This commit is contained in:
Mark Stacey 2023-04-20 14:29:30 -02:30 committed by GitHub
parent 928bd1c5bb
commit 3776f4ad4c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
69 changed files with 63 additions and 2078 deletions

View File

@ -3,8 +3,6 @@ PASSWORD=METAMASK PASSWORD
INFURA_PROJECT_ID=00000000000
SEGMENT_WRITE_KEY=
SWAPS_USE_DEV_APIS=
PUBNUB_PUB_KEY=
PUBNUB_SUB_KEY=
PORTFOLIO_URL=
TRANSACTION_SECURITY_PROVIDER=
MULTICHAIN=

View File

@ -726,27 +726,6 @@
"symbolBetweenZeroTwelve": {
"message": "ምልክቱ 11 ቁምፊዎች ወይም ከዚያ ያነሰ መሆን አለበት።"
},
"syncWithMobile": {
"message": "ከሞባይል ጋር አሳምር"
},
"syncWithMobileBeCareful": {
"message": "ይህን ኮድ ስካን ሲያደርጉ ሌላ ሰው የእርስዎን ማያ እየተመለከተ አለመሆኑን ያረጋግጡ"
},
"syncWithMobileComplete": {
"message": "ውሂብዎ በሚገባ ተሳምሯል። በ MetaMask የሞባይል መተግበሪያ ይደሰቱ!"
},
"syncWithMobileDesc": {
"message": "መለያዎችዎንና መረጃዎችዎን ከሞባይል መሳሪያዎ ጋር ያሳምሩ። የ MetaMask የሞባይል መተግበሪያን ይክፈቱ፣ ወደ \"ቅንብሮች\" ይሂዱና \"ከማሰሺያ ቅጥያ አሳምር\" የሚለውን ይንኩ"
},
"syncWithMobileDescNewUsers": {
"message": "የ MetaMask የሞባይል መተግበሪያን ለመጀመሪያ ጊዜ ገና እየከፈቱ ከሆነ፣ በስልክዎ ላይ ያሉትን ቅደም ተከተሎች ብቻ ይከተሉ።"
},
"syncWithMobileScanThisCode": {
"message": "ይህን ኮድ በ MetaMask የሞባይል መተግበሪያዎ ስካን ያድርጉ"
},
"syncWithMobileTitle": {
"message": "ከሞባይል ጋር አሳምር"
},
"terms": {
"message": "የአጠቃቀም ደንቦች"
},

View File

@ -738,27 +738,6 @@
"symbolBetweenZeroTwelve": {
"message": "يجب أن يكون الرمز 11 حرفًا أو أقل."
},
"syncWithMobile": {
"message": "مزامنة مع الهاتف المحمول"
},
"syncWithMobileBeCareful": {
"message": "تأكد من عدم قيام أي شخص آخر بالنظر إلى شاشتك عند مسح هذا الرمز"
},
"syncWithMobileComplete": {
"message": "تمت مزامنة بياناتك بنجاح. استمتع بتطبيق MetaMask للهاتف المحمول!"
},
"syncWithMobileDesc": {
"message": "يمكنك مزامنة حساباتك ومعلوماتك مع جهازك المحمول. افتح تطبيق MetaMask على الجهاز المحمول وانتقل إلى \"الإعدادات\" ثم انقر على \"المزامنة من إضافة المتصفح\""
},
"syncWithMobileDescNewUsers": {
"message": "إذا قمت للتوّ بفتح تطبيق MetaMask للهواتف المحمولة لأول مرة، فاتبع الخطوات الموجودة في هاتفك."
},
"syncWithMobileScanThisCode": {
"message": "امسح هذا الرمز ضوئياً باستخدام تطبيق MetaMask للهواتف المحمولة"
},
"syncWithMobileTitle": {
"message": "المزامنة مع الجهاز المحمول"
},
"terms": {
"message": "شروط الاستخدام"
},

View File

@ -737,27 +737,6 @@
"symbolBetweenZeroTwelve": {
"message": "Символът трябва да е 11 символа или по-малко."
},
"syncWithMobile": {
"message": "Синхронизиране с мобилни устройства"
},
"syncWithMobileBeCareful": {
"message": "Уверете се, че никой друг не гледа екрана ви, когато сканирате този код"
},
"syncWithMobileComplete": {
"message": "Вашите данни са синхронизирани успешно. Насладете се на мобилното приложение MetaMask!"
},
"syncWithMobileDesc": {
"message": "Можете да синхронизирате вашите акаунти и информация с мобилното си устройство. Отворете мобилното приложение MetaMask, отидете на „Настройки“ и докоснете „Синхронизиране от разширението на браузъра“"
},
"syncWithMobileDescNewUsers": {
"message": "Ако отворите приложението MetaMask Mobile за първи път, просто следвайте стъпките в телефона си."
},
"syncWithMobileScanThisCode": {
"message": "Сканирайте този код с вашето мобилно приложение MetaMask"
},
"syncWithMobileTitle": {
"message": "Синхронизиране с мобилни устройства"
},
"terms": {
"message": "Условия за ползване"
},

View File

@ -735,27 +735,6 @@
"symbolBetweenZeroTwelve": {
"message": "প্রতীকটি 11 টি অক্ষর বা তার চেয়ে কম হতে হবে।"
},
"syncWithMobile": {
"message": "মোবাইল দিয়ে সিঙ্ক করুন"
},
"syncWithMobileBeCareful": {
"message": "এই কোডটি স্ক্যান করার সময় কেউ আপনার স্ক্রিনটি দেখছে না তা নিশ্চিত করুন"
},
"syncWithMobileComplete": {
"message": "আপনার ডেটা সফলভাবে সিঙ্ক করা হয়েছে। MetaMask মোবাইল অ্যাপ উপভোগ করুন!"
},
"syncWithMobileDesc": {
"message": "আপনি আপনার অ্যাকাউন্ট এবং তথ্য আপনার মোবাইল ডিভাইস দিয়ে সিঙ্ক করতে পারেন। MetaMask মোবাইল অ্যাপটি খুলুন, \"সেটিংস\" এ যান এবং \"ব্রাউজার এক্সটেনশন থেকে সিঙ্ক করুন\" এ ট্যাপ করুন "
},
"syncWithMobileDescNewUsers": {
"message": "আপনি প্রথমবারের জন্য MetaMask খোলার পরে, শুধু আপনার ফোনে পদক্ষেপগুলি অনুসরণ করুন। "
},
"syncWithMobileScanThisCode": {
"message": "আপনার MetaMask মোবাইল অ্যাপ দিয়ে এই কোডটি স্ক্যান করুন"
},
"syncWithMobileTitle": {
"message": "মোবাইল দিয়ে সিঙ্ক করুন"
},
"terms": {
"message": "ব্যবহারের শর্তাবলী"
},

View File

@ -719,27 +719,6 @@
"symbolBetweenZeroTwelve": {
"message": "El símbol ha de tenir com a mínim 11 caràcters."
},
"syncWithMobile": {
"message": "Sincronitza amb el mòbil"
},
"syncWithMobileBeCareful": {
"message": "Assegura't que no hi ha ningú mirant la teva pantalla quan escanegis aquest codi"
},
"syncWithMobileComplete": {
"message": "Les teves dades s'han sincronitzat amb èxit. Disfruta de l'app mòbil de MetaMask!"
},
"syncWithMobileDesc": {
"message": "Pots sincronitzar els teus comptes i la teva informació amb el teu dispositiu mòbil. Obre l'app mòbil de MetaTask, ves a \"Configuració\" i \"Sincronitzar desde l"
},
"syncWithMobileDescNewUsers": {
"message": "Si acabes d'obrir l'app mòbil MetaMask per primer cop, tan sols has de seguir els passos del teu telèfon."
},
"syncWithMobileScanThisCode": {
"message": "Escaneja aquest codi amb la teva aplicació mòbil de MetaMask"
},
"syncWithMobileTitle": {
"message": "Sincronitzar amb mòbil"
},
"terms": {
"message": "Condicions d'ús"
},

View File

@ -716,27 +716,6 @@
"symbolBetweenZeroTwelve": {
"message": "Symbolet skal være mindst 11 tegn."
},
"syncWithMobile": {
"message": "Synkronisér med mobil"
},
"syncWithMobileBeCareful": {
"message": "Sørg for at der ikke er nogen der kigger på din skærm, når du scanner denne kode"
},
"syncWithMobileComplete": {
"message": "Dine data er blevet synkroniseret korrekt. Nyd MetaMask-mobilappen!"
},
"syncWithMobileDesc": {
"message": "Du kan synkronisere dine konti og informationer med din mobilenhed. Åbn MetaMask-mobilappen, gå til \"Indstillinger\" og tryk på \"Synkroniser fra browserudvidelse\""
},
"syncWithMobileDescNewUsers": {
"message": "Hvis du netop har åbnet MetaMask-mobilappen for første gang, skal du blot følge trinnene på din telefon."
},
"syncWithMobileScanThisCode": {
"message": "Scan denne kode med din MetaMask-mobilapp"
},
"syncWithMobileTitle": {
"message": "Synkroniser med mobil"
},
"terms": {
"message": "Brugsbetingelser"
},

View File

@ -2021,9 +2021,6 @@
"missingToken": {
"message": "Sie sehen Ihren Token nicht?"
},
"mobileSyncWarning": {
"message": "Die Funktion \"Mit Erweiterung synchronisieren\" ist vorübergehend deaktiviert. Wenn Sie Ihre Erweiterungs-Wallet auf MetaMask mobile verwenden möchten, dann gehen Sie in Ihrer mobilen App zurück zu den Einrichtungsoptionen für die Wallet und wählen Sie die Option \"Import mit Geheime Wiederherstellungsphrase\". Verwenden Sie die Geheime Wiederherstellungsphrase Ihrer Erweiterungs-Wallet, um Ihre Wallet in Mobile zu importieren."
},
"moreComingSoon": {
"message": "Mehr in Kürze ..."
},
@ -3936,33 +3933,6 @@
"symbolBetweenZeroTwelve": {
"message": "Das Symbol darf maximal 11 Zeichen lang sein."
},
"syncFailed": {
"message": "Sync fehlgeschlagen"
},
"syncInProgress": {
"message": "Synchronisation läuft"
},
"syncWithMobile": {
"message": "Mit Mobilgerät synchronisieren"
},
"syncWithMobileBeCareful": {
"message": "Stellen Sie sicher, dass niemand sonst auf Ihren Bildschirm blickt, wenn Sie diesen Code scannen"
},
"syncWithMobileComplete": {
"message": "Ihre Daten wurden erfolgreich synchronisiert. Viel Spaß mit der MetaMask-Handy-App!"
},
"syncWithMobileDesc": {
"message": "Sie können Ihre Konten und Informationen mit Ihrem Mobilgerät synchronisieren. Öffnen Sie die MetaMask-Mobilapp, gehen Sie zu \"Einstellungen\" und tippen Sie auf \"Von Browsererweiterung aus synchronisieren\""
},
"syncWithMobileDescNewUsers": {
"message": "Wenn Sie die MetaMask-Mobilapp gerade zum ersten Mal öffnen, folgen Sie einfach den Schritten auf Ihrem Telefon."
},
"syncWithMobileScanThisCode": {
"message": "Scannen Sie diesen Code mit Ihrer MetaMask-Mobilapp"
},
"syncWithMobileTitle": {
"message": "Mit Mobilgerät synchronisieren"
},
"tenPercentIncreased": {
"message": "10% Erhöhung"
},

View File

@ -2021,9 +2021,6 @@
"missingToken": {
"message": "Δεν βλέπετε το token σας;"
},
"mobileSyncWarning": {
"message": "Η λειτουργία 'Συγχρονισμός με επέκταση' είναι προσωρινά απενεργοποιημένη. Αν θέλετε να χρησιμοποιήσετε το πορτοφόλι της επέκτασής σας στο MetaMask mobile, τότε στην εφαρμογή για το κινητό σας: επιστρέψτε στις επιλογές εγκατάστασης του πορτοφολιού και επιλέξτε την επιλογή 'Εισαγωγή με Μυστική Φράση Ανάκτησης'. Χρησιμοποιήστε τη μυστική φράση του πορτοφολιού της επέκτασής σας για να εισαγάγετε το πορτοφόλι σας στο κινητό."
},
"moreComingSoon": {
"message": "Περισσότερα έρχονται σύντομα..."
},
@ -3936,33 +3933,6 @@
"symbolBetweenZeroTwelve": {
"message": "Το σύμβολο πρέπει να είναι τουλάχιστον 11 χαρακτήρες."
},
"syncFailed": {
"message": "Ο συγχρονισμός απέτυχε"
},
"syncInProgress": {
"message": "Συγχρονισμός σε εξέλιξη"
},
"syncWithMobile": {
"message": "Συγχρονισμός με κινητό"
},
"syncWithMobileBeCareful": {
"message": "Σιγουρευτείτε ότι κανένας δεν κοιτάζει στην οθόνη σας όταν κάνετε σάρωση αυτού του κωδικού"
},
"syncWithMobileComplete": {
"message": "Τα δεδομένα σας έχουν συγχρονιστεί με επιτυχία. Απολαύστε την εφαρμογή MetaMask για κινητά!"
},
"syncWithMobileDesc": {
"message": "Μπορείτε να συγχρονίσετε τους λογαριασμούς και τις πληροφορίες σας με την κινητή συσκευή σας. Ανοίξτε την εφαρμογή MetaMask για κινητά, μεταβείτε στην ενότητα \"Ρυθμίσεις\" και πατήστε \"Συγχρονισμός από Επέκταση Προγράμματος Περιήγησης\""
},
"syncWithMobileDescNewUsers": {
"message": "Εάν απλά ανοίξετε την εφαρμογή MetaMask Mobile για πρώτη φορά, απλώς ακολουθήστε τα βήματα στο τηλέφωνό σας."
},
"syncWithMobileScanThisCode": {
"message": "Σαρώστε αυτόν τον κώδικα με την εφαρμογή MetaMask για κινητά"
},
"syncWithMobileTitle": {
"message": "Συγχρονισμός με κινητό"
},
"tenPercentIncreased": {
"message": "10% αύξηση"
},

View File

@ -2181,9 +2181,6 @@
"mmiAuthenticate": {
"message": "The page at $1 would like to authorise the following projects compliance settings in MetaMask Institutional"
},
"mobileSyncWarning": {
"message": "The 'Sync with extension' feature is temporarily disabled. If you want to use your extension wallet on MetaMask mobile, then on your mobile app: go back to the wallet setup options and select the 'Import with Secret Recovery Phrase' option. Use your extension wallet's secret phrase to then import your wallet into mobile."
},
"moreComingSoon": {
"message": "More coming soon..."
},
@ -2541,7 +2538,6 @@
"message": "Learn more",
"description": "The 'call to action' on the button, or link, of the 'Stay secure' notification. Upon clicking, users will be taken to a ledger page to resolve the U2F connection issue."
},
"notifications20Description": {
"message": "If you're on the latest version of Firefox, you might be experiencing an issue related to Firefox dropping U2F support.",
"description": "Description of a notification in the 'See What's New' popup. Describes the U2F support being dropped by firefox and that it affects ledger users."
@ -4283,33 +4279,6 @@
"symbolBetweenZeroTwelve": {
"message": "Symbol must be 11 characters or fewer."
},
"syncFailed": {
"message": "Sync failed"
},
"syncInProgress": {
"message": "Sync in progress"
},
"syncWithMobile": {
"message": "Sync with mobile"
},
"syncWithMobileBeCareful": {
"message": "Make sure nobody else is looking at your screen when you scan this code"
},
"syncWithMobileComplete": {
"message": "Your data has been synced successfully. Enjoy the MetaMask mobile app!"
},
"syncWithMobileDesc": {
"message": "You can sync your accounts and information with your mobile device. Open the MetaMask mobile app, go to \"Settings\" and tap on \"Sync from Browser Extension\""
},
"syncWithMobileDescNewUsers": {
"message": "If you just open the MetaMask Mobile app for the first time, just follow the steps in your phone."
},
"syncWithMobileScanThisCode": {
"message": "Scan this code with your MetaMask mobile app"
},
"syncWithMobileTitle": {
"message": "Sync with mobile"
},
"tenPercentIncreased": {
"message": "10% increase"
},

View File

@ -2021,9 +2021,6 @@
"missingToken": {
"message": "¿No ve su token?"
},
"mobileSyncWarning": {
"message": "La función 'Sincronizar con la extensión' está temporalmente desactivada. Si desea utilizar su cartera de extensión en MetaMask móvil, haga lo siguiente en la aplicación móvil: vuelva a las opciones de configuración de la cartera y seleccione la opción 'Importar con frase secreta de recuperación'. Use la frase secreta de su cartera de extensión para importar su cartera al móvil."
},
"moreComingSoon": {
"message": "Más próximamente..."
},
@ -3936,33 +3933,6 @@
"symbolBetweenZeroTwelve": {
"message": "El símbolo debe tener 11 caracteres o menos."
},
"syncFailed": {
"message": "Error al sincronizar"
},
"syncInProgress": {
"message": "Sincronización en progreso"
},
"syncWithMobile": {
"message": "Sincronizar con dispositivo móvil"
},
"syncWithMobileBeCareful": {
"message": "Asegúrese de que nadie vea su pantalla cuando escanee este código"
},
"syncWithMobileComplete": {
"message": "Los datos se sincronizaron correctamente. ¡Disfrute de la aplicación móvil de MetaMask!"
},
"syncWithMobileDesc": {
"message": "Puede sincronizar sus cuentas y su información con el dispositivo móvil. Abra la aplicación móvil de MetaMask, vaya a \"Configuración\" y presione \"Sincronizar desde la extensión del explorador\""
},
"syncWithMobileDescNewUsers": {
"message": "Si acaba de abrir la aplicación móvil de MetaMask por primera vez, siga los pasos que aparecen en el teléfono."
},
"syncWithMobileScanThisCode": {
"message": "Escanear este código con la aplicación móvil de MetaMask"
},
"syncWithMobileTitle": {
"message": "Sincronizar con dispositivo móvil"
},
"tenPercentIncreased": {
"message": "10% de aumento"
},

View File

@ -1369,9 +1369,6 @@
"missingToken": {
"message": "¿No ve su token?"
},
"mobileSyncWarning": {
"message": "La función 'Sincronizar con la extensión' está temporalmente desactivada. Si desea utilizar su cartera de extensión en MetaMask móvil, haga lo siguiente en la aplicación móvil: vuelva a las opciones de configuración de la cartera y seleccione la opción 'Importar con frase secreta de recuperación'. Use la frase secreta de su cartera de extensión para importar su cartera al móvil."
},
"mustSelectOne": {
"message": "Debe seleccionar al menos 1 token."
},
@ -2549,33 +2546,6 @@
"symbolBetweenZeroTwelve": {
"message": "El símbolo debe tener 11 caracteres o menos."
},
"syncFailed": {
"message": "Error al sincronizar"
},
"syncInProgress": {
"message": "Sincronización en progreso"
},
"syncWithMobile": {
"message": "Sincronizar con dispositivo móvil"
},
"syncWithMobileBeCareful": {
"message": "Asegúrese de que nadie vea su pantalla cuando escanee este código"
},
"syncWithMobileComplete": {
"message": "Los datos se sincronizaron correctamente. ¡Disfrute de la aplicación móvil de MetaMask!"
},
"syncWithMobileDesc": {
"message": "Puede sincronizar sus cuentas y su información con el dispositivo móvil. Abra la aplicación móvil de MetaMask, vaya a \"Configuración\" y presione \"Sincronizar desde la extensión del explorador\""
},
"syncWithMobileDescNewUsers": {
"message": "Si acaba de abrir la aplicación móvil de MetaMask por primera vez, siga los pasos que aparecen en el teléfono."
},
"syncWithMobileScanThisCode": {
"message": "Escanear este código con la aplicación móvil de MetaMask"
},
"syncWithMobileTitle": {
"message": "Sincronizar con dispositivo móvil"
},
"tenPercentIncreased": {
"message": "10% de aumento"
},

View File

@ -731,27 +731,6 @@
"symbolBetweenZeroTwelve": {
"message": "Sümbol peab olema 11 tähemärki või vähem."
},
"syncWithMobile": {
"message": "Mobiiliga sünkroonimine"
},
"syncWithMobileBeCareful": {
"message": "Veenduge, et keegi teine ei vaata selle koodi skannimisel teie ekraani"
},
"syncWithMobileComplete": {
"message": "Teie andmed on edukalt sünkroonitud. Nautige MetaMaski mobiilirakendust!"
},
"syncWithMobileDesc": {
"message": "Saate sünkroonida oma kontod ja teabe oma mobiiliseadmega. Avage MetaMaski mobiilirakendus, avage \"Settings\" (Seaded) ja puudutage valikut \"Sync from Browser Extension\" (Sünkroonimine lehitseja laiendusest)"
},
"syncWithMobileDescNewUsers": {
"message": "Järgige MetaMaski mobiilirakenduse esmakordsel avamisel telefonis esitatud samme."
},
"syncWithMobileScanThisCode": {
"message": "Skanneerige see kood MetaMaski mobiilirakendusega"
},
"syncWithMobileTitle": {
"message": "Mobiiliga sünkroonimine"
},
"terms": {
"message": "Teenusetingimused"
},

View File

@ -741,27 +741,6 @@
"symbolBetweenZeroTwelve": {
"message": "نماد باید 11 کاراکتر یا کمتر باشد."
},
"syncWithMobile": {
"message": "همگام سازی با موبایل"
},
"syncWithMobileBeCareful": {
"message": "مطمئن شوید که هیچکس هنگامیکه این کود را سکن میکنید، به صفحه شما نمیبیند"
},
"syncWithMobileComplete": {
"message": "دیتای شما موفقانه همگام سازی شد. از اپلیکیشن موبایل MetaMask لذت ببرید!"
},
"syncWithMobileDesc": {
"message": "شما میتوانید حساب ها و معلومات خویش را با دستگاه موبایل تان همگام بسازید. اپلیکیشن MetaMask را باز نموده به \"Settings\" رفته و بالای \"Sync from Browser Extension\" کلیک کنید"
},
"syncWithMobileDescNewUsers": {
"message": "در صورتیکه شما اپلیکیشن موبایل MetaMask را برای بار اول باز کرده اید، فقط گام ها را در موبایل تان دنبال نمایید."
},
"syncWithMobileScanThisCode": {
"message": "این کود را با اپلیکیشن موبایل MetaMask سکن نمایید"
},
"syncWithMobileTitle": {
"message": "همگام سازی با موبایل"
},
"terms": {
"message": "شرایط استفاده"
},

View File

@ -738,27 +738,6 @@
"symbolBetweenZeroTwelve": {
"message": "Symbolin on oltava 11 merkkiä tai vähemmän."
},
"syncWithMobile": {
"message": "Synkronoi mobiililaitteelle"
},
"syncWithMobileBeCareful": {
"message": "Varmista, ettei kukaan muu katsele näyttöäsi, kun skannaat koodin"
},
"syncWithMobileComplete": {
"message": "Tietojesi synkronoiminen onnistui. Nauti MetaMask-mobiilisovelluksesta!"
},
"syncWithMobileDesc": {
"message": "Voit synkronoida tilisi ja tietosi mobiililaitteidesi kesken. Avaa MetaMaskin mobiilisovellus, siirry \"Asetukset\"-osioon ja napauta \"Synkronoi selainlaajennuksesta\" -vaihtoehtoa"
},
"syncWithMobileDescNewUsers": {
"message": "Jos avaat MetaMaskin mobiilisovelluksen vasta ensimmäistä kertaa, noudata vain puhelimesi ilmoittamia vaiheita."
},
"syncWithMobileScanThisCode": {
"message": "Lue tämä koodi MetaMask-mobiilisovelluksellasi"
},
"syncWithMobileTitle": {
"message": "Synkronoi mobiililaitteen kanssa"
},
"terms": {
"message": "Käyttöehdot"
},

View File

@ -659,27 +659,6 @@
"symbolBetweenZeroTwelve": {
"message": "Ang simbolo ay dapat na 11 character o mas kaunti."
},
"syncWithMobile": {
"message": "I-sync sa mobile"
},
"syncWithMobileBeCareful": {
"message": "Tiyaking walang ibang taong tumitingin sa iyong screen kapag sina-scan mo ang code na ito"
},
"syncWithMobileComplete": {
"message": "Matagumpay na na-sync ang iyong data. I-enjoy ang MetaMask mobile app!"
},
"syncWithMobileDesc": {
"message": "Maaari mong i-sync ang iyong mga account at impormasyon sa iyong mobile device. Buksan ang MetaMask mobile app, pumunta sa \"Settings\" at mag-tap sa \"Sync from Browser Extension\""
},
"syncWithMobileDescNewUsers": {
"message": "Kung bubuksan mo ang MetaMask Mobile app sa unang pagkakataon, sundin lang ang mga hakbang sa iyong telepono."
},
"syncWithMobileScanThisCode": {
"message": "I-scan ang code na ito sa iyong MetaMask mobile app"
},
"syncWithMobileTitle": {
"message": "I-sync sa mobile"
},
"terms": {
"message": "Mga Tuntunin ng Paggamit"
},

View File

@ -2021,9 +2021,6 @@
"missingToken": {
"message": "Vous ne voyez pas votre jeton?"
},
"mobileSyncWarning": {
"message": "La fonction «Synchronisation avec lextension» est temporairement désactivée. Si vous souhaitez utiliser votre portefeuille dextension sur MetaMask mobile: sur votre application mobile, revenez aux options de configuration du portefeuille et sélectionnez loption «Importation avec la phrase secrète de récupération». Utilisez la phrase secrète de votre portefeuille dextension pour importer celui-ci sur votre mobile."
},
"moreComingSoon": {
"message": "Dautres à venir..."
},
@ -3936,33 +3933,6 @@
"symbolBetweenZeroTwelve": {
"message": "Le symbole doit comporter 11 caractères ou moins."
},
"syncFailed": {
"message": "Échec de la synchronisation"
},
"syncInProgress": {
"message": "Synchronisation en cours"
},
"syncWithMobile": {
"message": "Synchroniser avec le mobile"
},
"syncWithMobileBeCareful": {
"message": "Assurez-vous que personne dautre ne regarde votre écran lorsque vous scannez ce code."
},
"syncWithMobileComplete": {
"message": "Vos données ont été synchronisées avec succès. Profitez de lapplication mobile MetaMask !"
},
"syncWithMobileDesc": {
"message": "Vous pouvez synchroniser vos comptes et vos informations avec votre appareil mobile. Ouvrez lapplication mobile MetaMask, allez dans « Paramètres » et appuyez sur « Synchroniser depuis lextension de navigateur »"
},
"syncWithMobileDescNewUsers": {
"message": "Si vous ouvrez lapplication MetaMask Mobile pour la première fois, suivez simplement les étapes dans votre téléphone."
},
"syncWithMobileScanThisCode": {
"message": "Scannez ce code avec votre application mobile MetaMask"
},
"syncWithMobileTitle": {
"message": "Synchroniser avec le mobile"
},
"tenPercentIncreased": {
"message": "Augmentation de 10 %"
},

View File

@ -738,27 +738,6 @@
"symbolBetweenZeroTwelve": {
"message": "הסמל חייב להיות 11 תווים או פחות."
},
"syncWithMobile": {
"message": "סנכרן עם הנייד"
},
"syncWithMobileBeCareful": {
"message": "ודא/י כי איש אינו מסתכל על המסך שלך בזמן סריקת קוד זה"
},
"syncWithMobileComplete": {
"message": "הנתונים שלך סונכרנו בהצלחה. תיהנה/י מאפליקציית MetaMask לטלפונים ניידים! "
},
"syncWithMobileDesc": {
"message": "באפשרותך לסנכרן את החשבונות והמידע שלך עם המכשיר הנייד שלך. יש לפתוח את האפליקציה לנייד של MetaMask, לעבור אל \"הגדרות\" וללחוץ על \"סנכרון מהרחבה לדפדפן\""
},
"syncWithMobileDescNewUsers": {
"message": "אם את/ה פותח/ת את אפליקציית MetaMask Mobile בפעם הראשונה, פשוט בצע/י את השלבים בטלפון שלך."
},
"syncWithMobileScanThisCode": {
"message": "יש לסרוק קוד QR זה באמצעות אפליקציית MetaMask לטלפון נייד"
},
"syncWithMobileTitle": {
"message": "סנכרן עם הנייד"
},
"terms": {
"message": "תנאי שימוש"
},

View File

@ -2021,9 +2021,6 @@
"missingToken": {
"message": "क्या अपना टोकन नहीं देख रहे हैं?"
},
"mobileSyncWarning": {
"message": "'एक्सटेंशन के साथ सिंक' फीचर अस्थायी रूप से अक्षम है। यदि आप MetaMask मोबाइल पर अपने एक्सटेंशन वॉलेट का उपयोग करना चाहते हैं, तो अपने मोबाइल ऐप पर: वॉलेट सेटअप ऑप्शन पर वापस जाएं और 'सीक्रेट रिकवरी फ्रेज के साथ इम्पोर्ट करें' विकल्प चुनें। फिर अपने वॉलेट को मोबाइल में इम्पोर्ट करने के लिए अपने एक्सटेंशन वॉलेट के सीक्रेट फ्रेज का उपयोग करें।"
},
"moreComingSoon": {
"message": "और अधिक जल्द ही आ रहा..."
},
@ -3936,33 +3933,6 @@
"symbolBetweenZeroTwelve": {
"message": "प्रतीक 11 वर्ण या उससे कम का होना चाहिए।"
},
"syncFailed": {
"message": "सिंक विफल"
},
"syncInProgress": {
"message": "सिंक प्रगति पर है"
},
"syncWithMobile": {
"message": "मोबाइल के साथ सिंक करें"
},
"syncWithMobileBeCareful": {
"message": "सुनिश्चित करें कि जब आप इस कोड को स्कैन कर रहे हों, तो आपकी स्क्रीन को कोई और न देख रहा हो"
},
"syncWithMobileComplete": {
"message": "आपका डेटा सफलतापूर्वक सिंक कर लिया गया है। MetaMask मोबाइल ऐप का आनंद लें!"
},
"syncWithMobileDesc": {
"message": "आप अपने खाते और जानकारी को अपने मोबाइल डिवाइस के साथ सिंक कर सकते हैं। MetaMask मोबाइल ऐप खोलें, \"सेटिंग\" पर जाएं और \"ब्राउजर एक्सटेंशन से सिंक करें\" पर टैप करें"
},
"syncWithMobileDescNewUsers": {
"message": "यदि आप पहली बार MetaMask मोबाइल ऐप खोलते हैं, तो बस अपने फोन में दिए गए चरणों का पालन करें।"
},
"syncWithMobileScanThisCode": {
"message": "इस कोड को अपने MetaMask मोबाइल ऐप से स्कैन करें"
},
"syncWithMobileTitle": {
"message": "मोबाइल के साथ सिंक करें"
},
"tenPercentIncreased": {
"message": "10% बढ़ोत्तरी"
},

View File

@ -734,27 +734,6 @@
"symbolBetweenZeroTwelve": {
"message": "Simbol mora biti 11 znakova ili manje."
},
"syncWithMobile": {
"message": "Sinkroniziraj s mobilnim telefonom"
},
"syncWithMobileBeCareful": {
"message": "Pazite da nitko ne gleda u vaš zaslon dok skenirate ovaj kôd"
},
"syncWithMobileComplete": {
"message": "Vaši su podatci uspješno sinkronizirani. Uživajte u mobilnoj aplikaciji MetaMask!"
},
"syncWithMobileDesc": {
"message": "Možete sinkronizirati svoje račune i informacije s vašim mobilnim telefonom. Otvorite mobilnu aplikaciju MetaMask, idite u stavku „Postavke” i dodirnite „Sinkroniziraj iz dodatka preglednika”"
},
"syncWithMobileDescNewUsers": {
"message": "Kad otvorite mobilnu aplikaciju MetaMask po prvi puta, pridržavajte se koraka koji se prikazuju na telefonu."
},
"syncWithMobileScanThisCode": {
"message": "Skenirajte ovaj kôd uporabom mobilne aplikacije MetaMask"
},
"syncWithMobileTitle": {
"message": "Sinkroniziraj s mobilnim telefonom"
},
"terms": {
"message": "Odredbe uporabe"
},

View File

@ -734,27 +734,6 @@
"symbolBetweenZeroTwelve": {
"message": "A szimbólum 0 és 12 karakter között kell legyen."
},
"syncWithMobile": {
"message": "Szinkronizálás telefonnal"
},
"syncWithMobileBeCareful": {
"message": "Győződjön meg arról, hogy senki nem látja a képernyőt, amikor beolvassa ezt a kódot"
},
"syncWithMobileComplete": {
"message": "Adatai szinkronizálása sikerült. Élvezze a MetaMask mobilalkalmazást!"
},
"syncWithMobileDesc": {
"message": "Szinkronizálhatja fiókjait és adatait a mobilkészülékkel. Nyissa meg a MetaMask mobilalkalmazást, lépjen a \"Beállítások\" elemre, majd koppintson a \"Szinkronizálás a böngésző bővítményéből\" elemre."
},
"syncWithMobileDescNewUsers": {
"message": "Ha most először nyitja meg a MetaMask mobilalkalmazást, kövesse a telefonon megadott lépéseket."
},
"syncWithMobileScanThisCode": {
"message": "Olvasd be ezt a kódot MetaMask mobilalkalmazásoddal"
},
"syncWithMobileTitle": {
"message": "Szinkronizálás mobillal"
},
"terms": {
"message": "Használati feltételek"
},

View File

@ -2021,9 +2021,6 @@
"missingToken": {
"message": "Tidak melihat token Anda?"
},
"mobileSyncWarning": {
"message": "Fitur 'Sinkronkan dengan ekstensi' dinonaktifkan untuk sementara waktu. Jika Anda ingin menggunakan dompet ekstensi Anda di ponsel MetaMask, maka pada aplikasi seluler Anda: kembali ke opsi pengaturan dompet dan pilih opsi 'Impor dengan Frasa Pemulihan Rahasia'. Gunakan frasa rahasia dompet ekstensi Anda untuk mengimpor dompet Anda ke ponsel nantinya."
},
"moreComingSoon": {
"message": "Selanjutnya akan segera hadir..."
},
@ -3936,33 +3933,6 @@
"symbolBetweenZeroTwelve": {
"message": "Simbol harus terdiri dari 11 karakter atau kurang."
},
"syncFailed": {
"message": "Sinkronisasi gagal"
},
"syncInProgress": {
"message": "Sinkronisasi sedang berlangsung"
},
"syncWithMobile": {
"message": "Sinkronkan dengan seluler"
},
"syncWithMobileBeCareful": {
"message": "Pastikan tidak ada orang lain yang melihat layar Anda saat memindai kode ini"
},
"syncWithMobileComplete": {
"message": "Data Anda telah berhasil disinkronkan. Nikmati aplikasi seluler MetaMask!"
},
"syncWithMobileDesc": {
"message": "Anda dapat menyinkronkan akun dan informasi dengan perangkat seluler Anda. Buka aplikasi seluler MetaMask, buka \"Pengaturan\" dan ketuk \"Sinkronkan dari Ekstensi Peramban\""
},
"syncWithMobileDescNewUsers": {
"message": "Jika Anda baru membuka aplikasi seluler MetaMask untuk pertama kali, cukup ikuti langkah-langkah yang ada di ponsel Anda."
},
"syncWithMobileScanThisCode": {
"message": "Pindai kode ini dengan aplikasi seluler MetaMask Anda"
},
"syncWithMobileTitle": {
"message": "Sinkronkan dengan seluler"
},
"tenPercentIncreased": {
"message": "Meningkat 10%"
},

View File

@ -1770,27 +1770,6 @@
"symbolBetweenZeroTwelve": {
"message": "Il simbolo deve essere lungo tra 0 e 12 caratteri."
},
"syncWithMobile": {
"message": "Sincronizza con dispositivo mobile"
},
"syncWithMobileBeCareful": {
"message": "Assicurati che nessun'altro stia guardando al tuo schermo quando scansioni questo codice"
},
"syncWithMobileComplete": {
"message": "I tuoi dati sono stati sincronizzati con successo. Goditi l'app di MetaMask!"
},
"syncWithMobileDesc": {
"message": "Puoi sincronizzare i tuoi account e le tue informazioni con il tuo dispositivo mobile. Apri l'app di MetaMask, vai su \"Impostazioni\" e tocca \"Sincronizza da Estensione sul Browser\""
},
"syncWithMobileDescNewUsers": {
"message": "Se hai appena aperto l'app di MetaMask per la prima volta, segui i passaggi sul tuo telefono."
},
"syncWithMobileScanThisCode": {
"message": "Scansiona questo codice con l'app di MetaMask"
},
"syncWithMobileTitle": {
"message": "Sincronizza con dispositivo mobile"
},
"terms": {
"message": "Termini di Uso"
},

View File

@ -2021,9 +2021,6 @@
"missingToken": {
"message": "トークンが見当たりませんか?"
},
"mobileSyncWarning": {
"message": "「拡張機能と同期」機能は一時的に無効になっています。拡張ウォレットをMetaMaskモバイルで使用する場合は、モバイルアプリでウォレットの設定オプションに戻り、「シークレットリカバリーフレーズでインポート」オプションを選択します。拡張ウォレットのシークレットフレーズを使用して、ウォレットをモバイルにインポートします。"
},
"moreComingSoon": {
"message": "さらに近日追加予定..."
},
@ -3936,33 +3933,6 @@
"symbolBetweenZeroTwelve": {
"message": "シンボルは11文字以下にする必要があります。"
},
"syncFailed": {
"message": "同期に失敗しました"
},
"syncInProgress": {
"message": "同期中"
},
"syncWithMobile": {
"message": "モバイルと同期"
},
"syncWithMobileBeCareful": {
"message": "このコードをスキャンするとき、画面を誰にも見られていないことを確認してください"
},
"syncWithMobileComplete": {
"message": "データの同期に成功しました。MetaMaskモバイルアプリをご活用ください!"
},
"syncWithMobileDesc": {
"message": "アカウントと情報を、モバイルデバイスと同期させることができます。MetaMaskモバイルアプリを開き、「設定」に進み、「ブラウザ拡張機能から同期」をタップします。"
},
"syncWithMobileDescNewUsers": {
"message": "MetaMaskモバイルアプリを初めて開く場合は、スマートフォンを以下のステップに従って操作してください。"
},
"syncWithMobileScanThisCode": {
"message": "MetaMaskモバイルアプリでこのコードをスキャンします"
},
"syncWithMobileTitle": {
"message": "モバイルと同期"
},
"tenPercentIncreased": {
"message": "10% の増加"
},

View File

@ -741,27 +741,6 @@
"symbolBetweenZeroTwelve": {
"message": "ಚಿಹ್ನೆಯು 0 ಮತ್ತು 12 ಅಕ್ಷರಗಳ ನಡುವೆ ಇರಬೇಕು."
},
"syncWithMobile": {
"message": "ಮೊಬೈಲ್‌ನೊಂದಿಗೆ ಸಿಂಕ್ ಮಾಡಿ"
},
"syncWithMobileBeCareful": {
"message": "ನೀವು ಈ ಕೋಡ್ ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡುತ್ತಿರುವಾಗ ಯಾರೂ ನಿಮ್ಮ ಪರದೆಯ ಕಡೆಗೆ ನೋಡುತ್ತಿಲ್ಲವೇ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ."
},
"syncWithMobileComplete": {
"message": "ನಿಮ್ಮ ಡೇಟಾ ಯಶಸ್ವಿಯಾಗಿ ಸಿಂಕ್ ಆಗಿದೆ. MetaMask ಮೊಬೈಲ್ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಆನಂದಿಸಿ!"
},
"syncWithMobileDesc": {
"message": "ನಿಮ್ಮ ಮೊಬೈಲ್ ಸಾಧನದೊಂದಿಗೆ ನಿಮ್ಮ ಖಾತೆಗಳು ಮತ್ತು ಮಾಹಿತಿಯನ್ನು ನೀವು ಸಿಂಕ್ ಮಾಡಬಹುದಾಗಿದೆ. MetaMask ಮೊಬೈಲ್ ಅಪ್ಲಿಕೇಶನ್ ತೆರೆಯಿರಿ, \"ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ\" ಹೋಗಿ ಮತ್ತು \"ಬ್ರೌಸರ್ ವಿಸ್ತರಣೆಯಿಂದ ಸಿಂಕ್ ಮಾಡಿ\" ಟ್ಯಾಪ್ ಮಾಡಿ"
},
"syncWithMobileDescNewUsers": {
"message": "ನೀವು ಮೊದಲ ಬಾರಿಗೆ MetaMask ಮೊಬೈಲ್ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ತೆರೆದರೆ, ನಿಮ್ಮ ಫೋನ್‌ನಲ್ಲಿರುವ ಹಂತಗಳನ್ನು ಅನುಸರಿಸಿ."
},
"syncWithMobileScanThisCode": {
"message": "ನಿಮ್ಮ MetaMask ಮೊಬೈಲ್ ಅಪ್ಲಿಕೇಶನ್ ಮೂಲಕ ಈ ಕೋಡ್ ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಿ"
},
"syncWithMobileTitle": {
"message": "ಮೊಬೈಲ್‌ನೊಂದಿಗೆ ಸಿಂಕ್ ಮಾಡಿ"
},
"terms": {
"message": "ಬಳಕೆಯ ನಿಯಮಗಳು"
},

View File

@ -2021,9 +2021,6 @@
"missingToken": {
"message": "토큰이 보이지 않나요?"
},
"mobileSyncWarning": {
"message": "'확장 프로그램과 동기화' 기능이 일시적으로 비활성화됩니다. MetaMask 모바일에서 확장 지갑을 사용하려면 모바일 앱에서 지갑 설정 옵션으로 돌아가 '비밀 복구 구문 가져오기' 옵션을 선택하세요. 확장 지갑의 비밀 구문을 사용하시면 지갑을 모바일로 가져올 수 있습니다."
},
"moreComingSoon": {
"message": "더 추가 예정..."
},
@ -3936,33 +3933,6 @@
"symbolBetweenZeroTwelve": {
"message": "기호는 11자 이하여야 합니다."
},
"syncFailed": {
"message": "동기화 실패"
},
"syncInProgress": {
"message": "동기화 진행 중"
},
"syncWithMobile": {
"message": "모바일과 동기화"
},
"syncWithMobileBeCareful": {
"message": "이 코드를 스캔할 때는 다른 사람이 화면을 보지 못하게 하세요"
},
"syncWithMobileComplete": {
"message": "데이터가 동기화되었습니다. MetaMask 모바일 앱을 마음껏 이용하세요!"
},
"syncWithMobileDesc": {
"message": "계정과 정보를 모바일 장치와 동기화할 수 있습니다. MetaMask 모바일 앱을 열고 \"설정\"으로 이동하여 \"브라우저 확장에서 동기화\"를 탭합니다."
},
"syncWithMobileDescNewUsers": {
"message": "MetaMask 모바일 앱을 처음 여는 경우라면 휴대폰에 나타나는 지시사항을 따르세요."
},
"syncWithMobileScanThisCode": {
"message": "MetaMask 모바일 앱으로 이 코드를 스캔하세요"
},
"syncWithMobileTitle": {
"message": "모바일과 동기화"
},
"tenPercentIncreased": {
"message": "10% 인상"
},

View File

@ -741,27 +741,6 @@
"symbolBetweenZeroTwelve": {
"message": "Simbolis turi būti ne ilgesnis nei 11 simbolių."
},
"syncWithMobile": {
"message": "Sinchronizuoti su mobiliuoju"
},
"syncWithMobileBeCareful": {
"message": "Pasirūpinkite, kad jums nuskaitant šį kodą niekas nežiūrėtų į jūsų ekraną."
},
"syncWithMobileComplete": {
"message": "Jūsų duomenys sėkmingai sinchronizuoti. Mėgaukitės „MetaMask“ mobiliąja programa! "
},
"syncWithMobileDesc": {
"message": "Galite sinchronizuoti paskyrą ir informaciją su savo mobiliuoju įrenginiu. Atverkite „MetaMask“ mobiliąją programą, eikite į „Nuostatos“ ir palieskite „Sinchronizuoti iš naršyklės plėtinio“"
},
"syncWithMobileDescNewUsers": {
"message": "Jeigu „MetaMask“ mobiliąją programą atveriate tik pirmą kartą, tiesiog sekite veiksmus telefone."
},
"syncWithMobileScanThisCode": {
"message": "Nuskaitykite šį kodą su savo „MetaMask“ mobiliąja programa"
},
"syncWithMobileTitle": {
"message": "Sinchronizuoti su mobiliuoju"
},
"terms": {
"message": "Naudojimo sąlygos"
},

View File

@ -737,27 +737,6 @@
"symbolBetweenZeroTwelve": {
"message": "Simbolā nedrīkst būt vairāk par 11 rakstzīmēm."
},
"syncWithMobile": {
"message": "Sinhronizēt ar tālruni"
},
"syncWithMobileBeCareful": {
"message": "Pārliecinieties, ka neviens cits neskatās jūsu ekrānā, kad skenējat šo kodu."
},
"syncWithMobileComplete": {
"message": "Jūsu dati sekmīgi sinhronizēti. Patīkamu MetaMask mobilās lietotnes lietošanu!"
},
"syncWithMobileDesc": {
"message": "Jūs varat sinhronizēt savus kontus un informāciju ar mobilo ierīci. Atveriet MetaMask mobilo lietotni, ejiet uz \"Iestatījumi\" un pieskarieties pie \"Sinhronizēt no pārlūka paplašinājuma\""
},
"syncWithMobileDescNewUsers": {
"message": "Ja esat pirmoreiz atvēris MetaMask mobilo lietotni, vienkārši sekojiet norādēm tālrunī."
},
"syncWithMobileScanThisCode": {
"message": "Noskenējiet šo kodu ar MetaMask mobilo lietotni"
},
"syncWithMobileTitle": {
"message": "Sinhronizēt ar tālruni"
},
"terms": {
"message": "Lietošanas noteikumi"
},

View File

@ -721,27 +721,6 @@
"symbolBetweenZeroTwelve": {
"message": "Simbol mestilah 11 aksara atau kurang."
},
"syncWithMobile": {
"message": "Segerakkan dengan telefon mudah alih"
},
"syncWithMobileBeCareful": {
"message": "Pastikan tiada orang lain melihat skrin anda ketika anda mengimbas kod ini"
},
"syncWithMobileComplete": {
"message": "Data anda berjaya disegerakkan. Nikmati aplikasi mudah alih MetaMask!"
},
"syncWithMobileDesc": {
"message": "Anda boleh menyegerakkan akaun dan maklumat anda dengan peranti mudah alih anda. Buka ap mudah alih MetaMask, pergi ke \"Tetapan\" dan ketik \"Segerakkan daripada Sambungan Pelayar\""
},
"syncWithMobileDescNewUsers": {
"message": "Jika ini kali pertama anda membuka aplikasi mudah alih MetaMask, anda cuma perlu ikuti langkah-langkah di telefon anda."
},
"syncWithMobileScanThisCode": {
"message": "Imbas kod ini dengan aplikasi mudah alih MetaMask anda"
},
"syncWithMobileTitle": {
"message": "Segerakkan dengan mudah alih"
},
"terms": {
"message": "Syarat-syarat Penggunaan"
},

View File

@ -719,27 +719,6 @@
"symbolBetweenZeroTwelve": {
"message": "Symbolet må være 11 tegn eller færre."
},
"syncWithMobile": {
"message": "Synkroniser med mobil "
},
"syncWithMobileBeCareful": {
"message": "Pass på at ingen andre ser på skjermen din mens du skanner denne koden "
},
"syncWithMobileComplete": {
"message": "Dataene dine er blitt synkronisert med suksess. Kos deg med mobilappen for MetaMask!"
},
"syncWithMobileDesc": {
"message": "Du kan synkronisere kontoene og informasjonen din med den mobile enheten din. Åpne mobilappen for MetaMask, gå til \"Innstillinger\" og trykk på \"Synkronisering fra nettleserutvidelse\""
},
"syncWithMobileDescNewUsers": {
"message": "Hvis du åpner mobilappen for MetaMask for første gang, følger du bare trinnene på telefonen."
},
"syncWithMobileScanThisCode": {
"message": "Skann denne koden med din mobilapp for MetaMask"
},
"syncWithMobileTitle": {
"message": "Synkronisér med mobil"
},
"terms": {
"message": "Brukervilkår"
},

View File

@ -1711,27 +1711,6 @@
"symbolBetweenZeroTwelve": {
"message": "Dapat ay 11 character o mas kaunti ang simbolo."
},
"syncWithMobile": {
"message": "I-sync sa mobile"
},
"syncWithMobileBeCareful": {
"message": "Tiyaking walang ibang nakakakita sa iyong screen kapag na-scan mo ang code na ito"
},
"syncWithMobileComplete": {
"message": "Matagumpay na na-sync ang iyong data. I-enjoy ang MetaMask mobile app!"
},
"syncWithMobileDesc": {
"message": "Puwede mong i-sync ang iyong mga account at impormasyon sa mobile device mo. Buksan ang MetaMask mobile app, pumunta sa \"Mga Setting\" at mag-tap sa \"I-sync mula sa Browser Extension\""
},
"syncWithMobileDescNewUsers": {
"message": "Kung unang pagkakataon mong bubuksan ang MetaMask Mobile app, sundin lang ang mga hakbang sa iyong telepono."
},
"syncWithMobileScanThisCode": {
"message": "I-scan ang code na ito gamit ang iyong MetaMask mobile app"
},
"syncWithMobileTitle": {
"message": "I-sync sa mobile"
},
"terms": {
"message": "Mga Tuntunin ng Paggamit"
},

View File

@ -732,27 +732,6 @@
"symbolBetweenZeroTwelve": {
"message": "Symbol musi mieć maksymalnie 11 znaków."
},
"syncWithMobile": {
"message": "Synchronizuj z telefonem"
},
"syncWithMobileBeCareful": {
"message": "Upewnij się, że nikt inny nie patrzy na Twój ekran podczas skanowania tego kodu"
},
"syncWithMobileComplete": {
"message": "Twoje dane zostały zsynchronizowane. Miłego korzystania z aplikacji mobilnej MetaMask!"
},
"syncWithMobileDesc": {
"message": "Możesz synchronizować swoje konta i informacje z urządzeniem mobilnym. Otwórz aplikację mobilną MetaMask, przejdź do „Ustawień” i wybierz opcję „Synchronizuj z rozszerzeniem przeglądarki”."
},
"syncWithMobileDescNewUsers": {
"message": "Jeśli po raz pierwszy otwierasz aplikację MetaMask Mobile, postępuj zgodnie z instrukcjami w telefonie."
},
"syncWithMobileScanThisCode": {
"message": "Zeskanuj ten kod za pomocą aplikacji mobilnej MetaMask"
},
"syncWithMobileTitle": {
"message": "Synchronizuj z telefonem"
},
"terms": {
"message": "Regulamin"
},

View File

@ -2021,9 +2021,6 @@
"missingToken": {
"message": "Não está vendo seu token?"
},
"mobileSyncWarning": {
"message": "A funcionalidade \"Sincronizar com a extensão\" está temporariamente desativada. Se você quer usar sua carteira de extensão na MetaMask mobile, então, no seu app mobile: volte às opções de configuração da carteira e selecione a opção \"Importar com frase de recuperação secreta\". Use a frase secreta da sua carteira de extensão para, então, importar a sua carteira no celular."
},
"moreComingSoon": {
"message": "Mais em breve..."
},
@ -3936,33 +3933,6 @@
"symbolBetweenZeroTwelve": {
"message": "O símbolo deve ter 11 caracteres ou menos."
},
"syncFailed": {
"message": "Falha na sincronização"
},
"syncInProgress": {
"message": "Sincronização em andamento"
},
"syncWithMobile": {
"message": "Sincronizar com dispositivo móvel"
},
"syncWithMobileBeCareful": {
"message": "Ao escanear esse código, verifique se não há mais ninguém olhando para a sua tela"
},
"syncWithMobileComplete": {
"message": "Seus dados foram sincronizados. Curta o app da MetaMask para dispositivos móveis!"
},
"syncWithMobileDesc": {
"message": "Você pode sincronizar suas contas e informações com o seu dispositivo móvel. Abra o aplicativo da MetaMask para dispositivos móveis, acesse \"Configurações\" e toque em \"Sincronizar pela extensão do navegador\""
},
"syncWithMobileDescNewUsers": {
"message": "Se você tiver acabado de abrir o app da MetaMask para dispositivos móveis pela primeira vez, basta seguir as etapas no seu telefone."
},
"syncWithMobileScanThisCode": {
"message": "Escaneie esse código com seu app da MetaMask para dispositivos móveis"
},
"syncWithMobileTitle": {
"message": "Sincronizar com dispositivo móvel"
},
"tenPercentIncreased": {
"message": "10% de aumento"
},

View File

@ -1369,9 +1369,6 @@
"missingToken": {
"message": "Não está vendo o seu token?"
},
"mobileSyncWarning": {
"message": "A funcionalidade \"Sincronizar com a extensão\" está temporariamente desativada. Se você quer usar sua carteira de extensão na MetaMask mobile, então, no seu app mobile: volte às opções de configuração da carteira e selecione a opção \"Importar com frase de recuperação secreta\". Use a frase secreta da sua carteira de extensão para, então, importar a sua carteira no celular."
},
"mustSelectOne": {
"message": "Selecione pelo menos 1 token."
},
@ -2549,33 +2546,6 @@
"symbolBetweenZeroTwelve": {
"message": "O símbolo deve ter até 11 caracteres."
},
"syncFailed": {
"message": "Falha na sincronização"
},
"syncInProgress": {
"message": "Sincronização em andamento"
},
"syncWithMobile": {
"message": "Sincronizar com dispositivo móvel"
},
"syncWithMobileBeCareful": {
"message": "Ao escanear esse código, verifique se não há mais ninguém olhando para a sua tela"
},
"syncWithMobileComplete": {
"message": "Seus dados foram sincronizados. Curta o app da MetaMask para dispositivos móveis!"
},
"syncWithMobileDesc": {
"message": "Você pode sincronizar suas contas e informações com o seu dispositivo móvel. Abra o aplicativo da MetaMask para dispositivos móveis, acesse \"Configurações\" e toque em \"Sincronizar pela extensão do navegador\""
},
"syncWithMobileDescNewUsers": {
"message": "Se você tiver acabado de abrir o app da MetaMask para dispositivos móveis pela primeira vez, basta seguir as etapas no seu telefone."
},
"syncWithMobileScanThisCode": {
"message": "Escaneie esse código com seu app da MetaMask para dispositivos móveis"
},
"syncWithMobileTitle": {
"message": "Sincronizar com dispositivo móvel"
},
"tenPercentIncreased": {
"message": "10% de aumento"
},

View File

@ -728,27 +728,6 @@
"symbolBetweenZeroTwelve": {
"message": "Simbolul trebuie să fie de 11 caractere sau mai puțin."
},
"syncWithMobile": {
"message": "Sincronizați cu dispozitivul mobil"
},
"syncWithMobileBeCareful": {
"message": "Asigurați-vă că nimeni altcineva nu poate vedea ecranul dvs. când scanați acest cod"
},
"syncWithMobileComplete": {
"message": "Datele dvs. au fost sincronizate cu succes. Bucurați-vă de aplicația mobilă MetaMask!"
},
"syncWithMobileDesc": {
"message": "Vă puteți sincroniza conturile și informațiile cu dispozitivul dvs. mobil. Deschideți aplicația mobilă MetaMask, mergeți la „Setări” și atingeți „Sincronizare de la extensia de browser”"
},
"syncWithMobileDescNewUsers": {
"message": "Dacă deschideți aplicația pentru mobil MetaMask pentru prima oară, urmați pașii afișați pe telefonul dvs."
},
"syncWithMobileScanThisCode": {
"message": "Scanați acest cod folosind aplicația dvs. mobilă MetaMask"
},
"syncWithMobileTitle": {
"message": "Sincronizați cu mobilul"
},
"terms": {
"message": "Termeni și condiții"
},

View File

@ -2021,9 +2021,6 @@
"missingToken": {
"message": "Не видите свой токен?"
},
"mobileSyncWarning": {
"message": "Функция «Синхронизация с расширением» временно отключена. Если вы хотите использовать свой кошелек из расширения браузера в мобильной версии MetaMask, тогда в мобильном приложении вернитесь к параметрам настройки кошелька и выберите параметр «Импортировать с помощью секретной фразы для восстановления». Используйте секретную фразу своего кошелька из расширения, чтобы импортировать кошелек на мобильное устройство."
},
"moreComingSoon": {
"message": "Скоро появится больше..."
},
@ -3936,33 +3933,6 @@
"symbolBetweenZeroTwelve": {
"message": "Символ должен состоять из 11 или менее знаков."
},
"syncFailed": {
"message": "Ошибка синхронизации"
},
"syncInProgress": {
"message": "Выполняется синхронизация"
},
"syncWithMobile": {
"message": "Синхронизировать с мобильным устройством"
},
"syncWithMobileBeCareful": {
"message": "Убедитесь, что никто не смотрит на ваш экран, когда вы сканируете этот код"
},
"syncWithMobileComplete": {
"message": "Ваши данные успешно синхронизированы. Наслаждайтесь мобильным приложением MetaMask!"
},
"syncWithMobileDesc": {
"message": "Вы можете синхронизировать свои счета и информацию со своим мобильным устройством. Откройте мобильное приложение MetaMask, перейдите в раздел «Настройки» и нажмите «Синхронизировать из расширения браузера»."
},
"syncWithMobileDescNewUsers": {
"message": "Если вы открываете приложение MetaMask Mobile в первый раз, просто следуйте инструкциям на телефоне."
},
"syncWithMobileScanThisCode": {
"message": "Отсканируйте этот код с помощью мобильного приложения MetaMask"
},
"syncWithMobileTitle": {
"message": "Синхронизировать с мобильным устройством"
},
"tenPercentIncreased": {
"message": "Увеличение на 10%"
},

View File

@ -710,27 +710,6 @@
"symbolBetweenZeroTwelve": {
"message": "Symbol musí být mezi 0 a 12 znaky."
},
"syncWithMobile": {
"message": "Synchronizácia s mobilom"
},
"syncWithMobileBeCareful": {
"message": "Pri skenovaní tohto kódu sa uistite, že sa nikto iný nedíva na vašu obrazovku"
},
"syncWithMobileComplete": {
"message": "Vaše údaje boli úspešne synchronizované. Užite si mobilnú aplikáciu MetaMask!"
},
"syncWithMobileDesc": {
"message": "Svoje účty a informácie môžete synchronizovať so svojim mobilným zariadením. Otvorte mobilnú aplikáciu MetaMask, prejdite na „Nastavenia“ a kliknite na „Synchronizovať z rozšírenia prehliadača“."
},
"syncWithMobileDescNewUsers": {
"message": "Ak otvoríte mobilnú aplikáciu MetaMask prvýkrát, postupujte podľa pokynov v telefóne."
},
"syncWithMobileScanThisCode": {
"message": "Naskenujte tento kód pomocou mobilnej aplikácie MetaMask"
},
"syncWithMobileTitle": {
"message": "Synchronizácia s mobilom"
},
"terms": {
"message": "Podmínky použití"
},

View File

@ -729,27 +729,6 @@
"symbolBetweenZeroTwelve": {
"message": "Simbol mora biti največ 11 znakov ali manj."
},
"syncWithMobile": {
"message": "Sinhroniziraj z mobilnimi telefonom"
},
"syncWithMobileBeCareful": {
"message": "Ko skenirate to kodo, naj nihče ne kuka na vaš zaslon"
},
"syncWithMobileComplete": {
"message": "Vaši podatki so uspešno sinhronizirani. Uživajte v mobilni aplikaciji MetaMask!"
},
"syncWithMobileDesc": {
"message": "Račune in podatke lahko sinhronizirate s svojo mobilno napravo. Odprite mobilno aplikacijo MetaMask, pojdite na \"Nastavitve\" in tapnite \"Sinhroniziraj z razširitvijo brskalnika\""
},
"syncWithMobileDescNewUsers": {
"message": "Če ste sedaj prvič odprli aplikacijo MetaMask Mobile, samo sledite korakom v telefonu."
},
"syncWithMobileScanThisCode": {
"message": "Skenirajte to kodo z mobilno aplikacijo MetaMask"
},
"syncWithMobileTitle": {
"message": "Sinhroniziraj z mobilnimi telefonom"
},
"terms": {
"message": "Pogoji uporabe"
},

View File

@ -732,27 +732,6 @@
"symbolBetweenZeroTwelve": {
"message": "Simbol mora biti 11 znakova ili manje."
},
"syncWithMobile": {
"message": "Sinhronizacija sa mobilnim telefonom"
},
"syncWithMobileBeCareful": {
"message": "Obratite pažnju da niko drugi ne gleda u vaš ekran kad skenirate ovaj kod"
},
"syncWithMobileComplete": {
"message": "Vaši podaci su uspešno sinhronizovani. Uživajte u mobilnoj aplikaciji MetaMask!"
},
"syncWithMobileDesc": {
"message": "Možete sinhronizovati vaše naloge i informacije sa svojim mobilnim uređajem. Otvorite mobilnu aplikaciju MetaMask, idite na \"Podešavanja\" i pritisnite \"Sinhronizuj iz ekstenzije za pregledač\""
},
"syncWithMobileDescNewUsers": {
"message": "Ako prvi put otvorite aplikaciju MetaMask Mobile, samo sledite korake u svom telefonu."
},
"syncWithMobileScanThisCode": {
"message": "Skenirajte ovaj kod uz pomoć svoje MetaMask mobilne aplikacije"
},
"syncWithMobileTitle": {
"message": "Sinhronizujte sa mobilnim uređajem"
},
"terms": {
"message": "Uslovi korišćenja"
},

View File

@ -722,27 +722,6 @@
"symbolBetweenZeroTwelve": {
"message": "Symbolen måste vara 11 tecken eller färre."
},
"syncWithMobile": {
"message": "Synka med mobil"
},
"syncWithMobileBeCareful": {
"message": "Försäkra dig om att ingen tittar på din skärm när du skannar denna kod"
},
"syncWithMobileComplete": {
"message": "Din data har nu synkats. Ha det så kul med MetaMasks mobil-app!"
},
"syncWithMobileDesc": {
"message": "Du kan nu synka dina konton och din information med din mobil-enhet. Öppna MetaMasks mobil-app, gå till \"Inställningar\" och tryck på \"Synka från webbläsartillägg\""
},
"syncWithMobileDescNewUsers": {
"message": "Om du öppnar MetaMask mobilapplikation för första gången behöver du bara följa stegen som visas i telefonen."
},
"syncWithMobileScanThisCode": {
"message": "Skanna den här koden med din MetaMask mobilapplikation"
},
"syncWithMobileTitle": {
"message": "Synka med mobil"
},
"terms": {
"message": "Användarvillkor"
},

View File

@ -719,27 +719,6 @@
"symbolBetweenZeroTwelve": {
"message": "Alama lazima iwe na herufi 11 au chache."
},
"syncWithMobile": {
"message": "Oanisha na simu"
},
"syncWithMobileBeCareful": {
"message": "Hakikisha hakuna mtu mwingine anayeangalia kwenye skrini yako unapokuwa unakagua msimbo huu."
},
"syncWithMobileComplete": {
"message": "Umefanikiwa kuoanisha data yako. Furahia programu yako ya simu ya MetaMask!"
},
"syncWithMobileDesc": {
"message": "Unaweza kuoanisha akaunti zako na taarifa kwa kifaa chako cha simu ya mkononi. Fungua programu ya simu ya MetaMask, kisha nenda kwenye \"Mipangilio\" na bofya kwenye \"Oanisha kutoka kwenye Kiendelezi cha Kivinjari\""
},
"syncWithMobileDescNewUsers": {
"message": "Ikiwa ndio umefungua tu programu ya simu ya MetaMask kwa mara ya kwanza, fuata hatua kwenye simu yako."
},
"syncWithMobileScanThisCode": {
"message": "Kagua msimbo huu kwa kutumia programu yako ya simu ya MetaMask"
},
"syncWithMobileTitle": {
"message": "Oanisha na simu"
},
"terms": {
"message": "Masharti ya Matumizi"
},

View File

@ -377,9 +377,6 @@
"symbolBetweenZeroTwelve": {
"message": "สัญลักษณ์จะต้องมีความยาว 11 ตัวอักษร"
},
"syncWithMobileComplete": {
"message": "ซิงค์ข้อมูลของคุณเรียบร้อยแล้ว ใช้แอพ MetaMask ให้สนุกนะ!"
},
"terms": {
"message": "ข้อตกลงในการใช้งาน"
},

View File

@ -2021,9 +2021,6 @@
"missingToken": {
"message": "Hindi mo ba nakikita ang iyong mga token?"
},
"mobileSyncWarning": {
"message": "Ang feature na 'I-sync gamit ang extension' ay pansamantalang hindi gumagana. Kung gusto mong gamitin ang iyong extension wallet sa MetaMask mobile, pagkatapos ay sa iyong mobile app: bumalik sa mga opsyon sa pag-setup ng wallet at piliin ang opsyong 'Mag-import gamit ang Secret Recovery Phrase'. Gamitin ang lihim na parirala ng iyong extension wallet upang pagkatapos ay i-import ang iyong wallet sa mobile."
},
"moreComingSoon": {
"message": "Marami pang parating..."
},
@ -3936,33 +3933,6 @@
"symbolBetweenZeroTwelve": {
"message": "Dapat ay 11 character o mas kaunti ang simbolo."
},
"syncFailed": {
"message": "Bigong ma-sync"
},
"syncInProgress": {
"message": "Kasalukuyang nagsi-sync"
},
"syncWithMobile": {
"message": "I-sync sa mobile"
},
"syncWithMobileBeCareful": {
"message": "Tiyaking walang ibang nakakakita sa iyong screen kapag na-scan mo ang code na ito"
},
"syncWithMobileComplete": {
"message": "Matagumpay na na-sync ang iyong data. I-enjoy ang MetaMask mobile app!"
},
"syncWithMobileDesc": {
"message": "Puwede mong i-sync ang iyong mga account at impormasyon sa mobile device mo. Buksan ang MetaMask mobile app, pumunta sa \"Mga Setting\" at i-tap ang \"I-sync mula sa Browser Extension\""
},
"syncWithMobileDescNewUsers": {
"message": "Kung unang pagkakataon mong bubuksan ang MetaMask Mobile app, sundin lang ang mga hakbang sa iyong telepono."
},
"syncWithMobileScanThisCode": {
"message": "I-scan ang code na ito gamit ang iyong MetaMask mobile app"
},
"syncWithMobileTitle": {
"message": "I-sync sa mobile"
},
"tenPercentIncreased": {
"message": "10% na dagdag"
},

View File

@ -2021,9 +2021,6 @@
"missingToken": {
"message": "Tokeninizi görmüyor musunuz?"
},
"mobileSyncWarning": {
"message": "\"Uzantı ile senkronize et\" özelliği geçici olarak devre dışı bırakılmış. MetaMask mobilde uzantı cüzdanınızı kullanmak istiyorsanız mobil uygulamaya gidin: cüzdan kurulum ayarlarına geri dönün ve \"Gizli Kurtarma İfadesi ile İçe Aktar\" seçeneğini seçin. Ardından cüzdanınızı mobil uygulamada içe aktarmak için uzantı cüzdanınızın gizli ifadesini kullanın."
},
"moreComingSoon": {
"message": "Daha fazlası çok yakında..."
},
@ -3936,33 +3933,6 @@
"symbolBetweenZeroTwelve": {
"message": "Sembol en fazla 11 karakter olmalıdır."
},
"syncFailed": {
"message": "Senkronizasyon başarısız oldu"
},
"syncInProgress": {
"message": "Senkronizasyon sürüyor"
},
"syncWithMobile": {
"message": "Mobil ile senkronize et"
},
"syncWithMobileBeCareful": {
"message": "Bu kodu tararken hiç kimsenin ekranınıza bakmadığından emin olun"
},
"syncWithMobileComplete": {
"message": "Verileriniz başarılı bir şekilde senkronize edildi. MetaMask mobil uygulamasının tadını çıkarın!"
},
"syncWithMobileDesc": {
"message": "Hesaplarınızı ve bilgilerinizi mobil cihazınızla senkronize edebilirsiniz. MetaMask mobil uygulamasınıın, \"Ayarlar\" kısmına gidin ve \"Tarayıcı Uzantısından Senkronize Et\" seçeneğine dokunun"
},
"syncWithMobileDescNewUsers": {
"message": "Metamask Mobil uygulamasını ilk defa açıyorsanız telefonunuzdaki adımları izleyin."
},
"syncWithMobileScanThisCode": {
"message": "MetaMask mobil uygulamanızla bu kodu tarayın"
},
"syncWithMobileTitle": {
"message": "Mobil ile senkronize et"
},
"tenPercentIncreased": {
"message": "%10 artış"
},

View File

@ -741,27 +741,6 @@
"symbolBetweenZeroTwelve": {
"message": "Символ повинен містити 11 символів або менше."
},
"syncWithMobile": {
"message": "Синхронізувати з мобільним пристроєм"
},
"syncWithMobileBeCareful": {
"message": "Переконайтесь, що ніхто не дивиться на ваш екран, коли скануєте цей код"
},
"syncWithMobileComplete": {
"message": "Ваші дані були успішно синхронізовані. Насолоджуйтесь мобільним застосунком MetaMask!"
},
"syncWithMobileDesc": {
"message": "Ви можете синхронізувати ваші облікові записи та інформацію з вашим мобільним пристроєм. Відкрийте мобільний застосунок MetaMask, перейдіть до \"Налаштування\" та клацніть на \"Синхронізувати з розширення браузера\""
},
"syncWithMobileDescNewUsers": {
"message": "Якщо ви відкрили мобільний застосунок MetaMask вперше, просто слідуйте крокам у вашому телефоні."
},
"syncWithMobileScanThisCode": {
"message": "Відскануйте цей код за допомогою мобільної програми MetaMask"
},
"syncWithMobileTitle": {
"message": "Синхронізувати з мобільним"
},
"terms": {
"message": "Умови використання"
},

View File

@ -2021,9 +2021,6 @@
"missingToken": {
"message": "Không thấy token của mình?"
},
"mobileSyncWarning": {
"message": "Tính năng 'Đồng bộ với tiện ích' tạm thời bị tắt. Nếu bạn muốn sử dụng ví tiện ích trên thiết bị di động MetaMask, thì trên ứng dụng di động: hãy quay lại các tùy chọn thiết lập ví và chọn phương án 'Nhập bằng Cụm Mật Khẩu Khôi Phục Bí Mật'. Sử dụng cụm mật khẩu bí mật của ví tiện ích để nhập ví của bạn vào thiết bị di động."
},
"moreComingSoon": {
"message": "Sắp có thêm..."
},
@ -3936,33 +3933,6 @@
"symbolBetweenZeroTwelve": {
"message": "Ký hiệu không được dài quá 11 ký tự."
},
"syncFailed": {
"message": "Đồng bộ thất bại"
},
"syncInProgress": {
"message": "Đang đồng bộ"
},
"syncWithMobile": {
"message": "Đồng bộ với thiết bị di động"
},
"syncWithMobileBeCareful": {
"message": "Đảm bảo rằng không có ai nhìn vào màn hình của bạn khi quét mã này"
},
"syncWithMobileComplete": {
"message": "Đã đồng bộ thành công dữ liệu của bạn. Tận hưởng ứng dụng MetaMask trên thiết bị di động!"
},
"syncWithMobileDesc": {
"message": "Bạn có thể đồng bộ tài khoản và thông tin của mình với thiết bị di động. Mở ứng dụng MetaMask trên thiết bị di động, chuyển đến phần \"Cài đặt\" và nhấn vào \"Đồng bộ với tiện ích trình duyệt\""
},
"syncWithMobileDescNewUsers": {
"message": "Nếu mới mở ứng dụng MetaMask trên thiết bị di động lần đầu tiên, bạn chỉ cần làm theo các bước hướng dẫn trên điện thoại."
},
"syncWithMobileScanThisCode": {
"message": "Quét mã này bằng ứng dụng MetaMask trên thiết bị di động"
},
"syncWithMobileTitle": {
"message": "Đồng bộ với thiết bị di động"
},
"tenPercentIncreased": {
"message": "Tăng 10%"
},

View File

@ -2021,9 +2021,6 @@
"missingToken": {
"message": "没有看到您的代币?"
},
"mobileSyncWarning": {
"message": "“与扩展程序同步”功能暂时被禁用。如果您想要在 MetaMask 移动设备上使用您的扩展程序钱包,那么在您的移动应用程序上:返回钱包设置选项并选择“使用账户助记词导入”选项。使用您的扩展程序钱包的助记词来将您的钱包导入移动设备。"
},
"moreComingSoon": {
"message": "更多即将到来……"
},
@ -3936,33 +3933,6 @@
"symbolBetweenZeroTwelve": {
"message": "符号不得超过11个字符。"
},
"syncFailed": {
"message": "同步失败"
},
"syncInProgress": {
"message": "同步进行中"
},
"syncWithMobile": {
"message": "与移动设备同步"
},
"syncWithMobileBeCareful": {
"message": "扫描此代码时,请确保附近没有其他人在看您的屏幕"
},
"syncWithMobileComplete": {
"message": "您的数据已同步成功。尽情体验 MetaMask 移动应用程序吧!"
},
"syncWithMobileDesc": {
"message": "您可以将您的账户和信息与您的移动设备同步。打开 MetaMask 移动应用程序,进入“设置”,点击“从浏览器扩展程序同步”"
},
"syncWithMobileDescNewUsers": {
"message": "如果您是首次启用 MetaMask 移动应用程序,请通过个人手机完成如下操作。"
},
"syncWithMobileScanThisCode": {
"message": "使用 MetaMask 移动应用程序扫描此代码"
},
"syncWithMobileTitle": {
"message": "与移动设备同步"
},
"tenPercentIncreased": {
"message": "增加10%"
},

View File

@ -1387,27 +1387,6 @@
"symbolBetweenZeroTwelve": {
"message": "符號不得超過 11 個字元。"
},
"syncWithMobile": {
"message": "和行動裝置同步"
},
"syncWithMobileBeCareful": {
"message": "掃描代碼時確保沒有其他人在看你的螢幕"
},
"syncWithMobileComplete": {
"message": "你的資料已成功同步。開始活用 MetaMask 行動應用程式!"
},
"syncWithMobileDesc": {
"message": "你可以用行動裝置同步帳戶與資訊。開啟 MetaMask 行動應用程式,至「設定」並點擊「自瀏覽器擴充功能同步」"
},
"syncWithMobileDescNewUsers": {
"message": "如果您是第一次開啟 MetaMask 行動應用程式,只要跟著手機上的指示操作即可。"
},
"syncWithMobileScanThisCode": {
"message": "用您的 MetaMask 行動應用程式 掃描此條碼"
},
"syncWithMobileTitle": {
"message": "和行動裝置同步"
},
"terms": {
"message": "使用條款"
},

View File

@ -90,10 +90,7 @@ import {
///: END:ONLY_INCLUDE_IN
} from '../../shared/constants/permissions';
import { UI_NOTIFICATIONS } from '../../shared/notifications';
import {
toChecksumHexAddress,
stripHexPrefix,
} from '../../shared/modules/hexstring-utils';
import { stripHexPrefix } from '../../shared/modules/hexstring-utils';
import { MILLISECOND, SECOND } from '../../shared/constants/time';
import {
ORIGIN_METAMASK,
@ -1942,9 +1939,6 @@ export default class MetamaskController extends EventEmitter {
cancelQRHardwareSignRequest:
qrHardwareKeyring.cancelSignRequest.bind(qrHardwareKeyring),
// mobile
fetchInfoToSync: this.fetchInfoToSync.bind(this),
// vault management
submitPassword: this.submitPassword.bind(this),
verifyPassword: this.verifyPassword.bind(this),
@ -2582,110 +2576,6 @@ export default class MetamaskController extends EventEmitter {
});
}
/**
* Collects all the information that we want to share
* with the mobile client for syncing purposes
*
* @returns {Promise<object>} Parts of the state that we want to syncx
*/
async fetchInfoToSync() {
// Preferences
const { currentLocale, identities, selectedAddress, useTokenDetection } =
this.preferencesController.store.getState();
const isTokenDetectionInactiveInMainnet =
!useTokenDetection &&
this.networkController.store.getState().provider.chainId ===
CHAIN_IDS.MAINNET;
const { networkConfigurations } = this.networkController.store.getState();
const { tokenList } = this.tokenListController.state;
const caseInSensitiveTokenList = isTokenDetectionInactiveInMainnet
? STATIC_MAINNET_TOKEN_LIST
: tokenList;
const preferences = {
currentLocale,
identities,
selectedAddress,
};
// Tokens
const { allTokens, allIgnoredTokens } = this.tokensController.state;
// Filter ERC20 tokens
const allERC20Tokens = {};
Object.keys(allTokens).forEach((chainId) => {
allERC20Tokens[chainId] = {};
Object.keys(allTokens[chainId]).forEach((accountAddress) => {
const checksummedAccountAddress = toChecksumHexAddress(accountAddress);
allERC20Tokens[chainId][checksummedAccountAddress] = allTokens[chainId][
checksummedAccountAddress
].filter((asset) => {
if (asset.isERC721 === undefined) {
// the tokenList will be holding only erc20 tokens
if (
caseInSensitiveTokenList[asset.address?.toLowerCase()] !==
undefined
) {
return true;
}
} else if (asset.isERC721 === false) {
return true;
}
return false;
});
});
});
// Accounts
const [hdKeyring] = this.keyringController.getKeyringsByType(
KeyringType.hdKeyTree,
);
const simpleKeyPairKeyrings = this.keyringController.getKeyringsByType(
KeyringType.hdKeyTree,
);
const hdAccounts = await hdKeyring.getAccounts();
const simpleKeyPairKeyringAccounts = await Promise.all(
simpleKeyPairKeyrings.map((keyring) => keyring.getAccounts()),
);
const simpleKeyPairAccounts = simpleKeyPairKeyringAccounts.reduce(
(acc, accounts) => [...acc, ...accounts],
[],
);
const accounts = {
hd: hdAccounts
.filter((item, pos) => hdAccounts.indexOf(item) === pos)
.map((address) => toChecksumHexAddress(address)),
simpleKeyPair: simpleKeyPairAccounts
.filter((item, pos) => simpleKeyPairAccounts.indexOf(item) === pos)
.map((address) => toChecksumHexAddress(address)),
ledger: [],
trezor: [],
lattice: [],
};
// transactions
let { transactions } = this.txController.store.getState();
// delete tx for other accounts that we're not importing
transactions = Object.values(transactions).filter((tx) => {
const checksummedTxFrom = toChecksumHexAddress(tx.txParams.from);
return accounts.hd.includes(checksummedTxFrom);
});
return {
accounts,
preferences,
transactions,
tokens: { allTokens: allERC20Tokens, allIgnoredTokens },
network: this.networkController.store.getState(),
networkConfigurations,
};
}
/**
* Submits the user's password and attempts to unlock the vault.
* Also synchronizes the preferencesController, to ensure its schema

View File

@ -3,10 +3,7 @@ const { readFile } = require('fs/promises');
const ini = require('ini');
const { BuildType } = require('../lib/build-type');
const commonConfigurationPropertyNames = ['PUBNUB_PUB_KEY', 'PUBNUB_SUB_KEY'];
const configurationPropertyNames = [
...commonConfigurationPropertyNames,
'MULTICHAIN',
'INFURA_PROJECT_ID',
'PHISHING_WARNING_PAGE_URL',
@ -24,7 +21,6 @@ const configurationPropertyNames = [
];
const productionConfigurationPropertyNames = [
...commonConfigurationPropertyNames,
'INFURA_BETA_PROJECT_ID',
'INFURA_FLASK_PROJECT_ID',
'INFURA_PROD_PROJECT_ID',
@ -101,7 +97,7 @@ async function getProductionConfig(buildType) {
};
const requiredEnvironmentVariables = {
all: ['PUBNUB_PUB_KEY', 'PUBNUB_SUB_KEY', 'SENTRY_DSN'],
all: ['SENTRY_DSN'],
[BuildType.beta]: ['INFURA_BETA_PROJECT_ID', 'SEGMENT_BETA_WRITE_KEY'],
[BuildType.flask]: ['INFURA_FLASK_PROJECT_ID', 'SEGMENT_FLASK_WRITE_KEY'],
[BuildType.main]: ['INFURA_PROD_PROJECT_ID', 'SEGMENT_PROD_WRITE_KEY'],

View File

@ -1139,8 +1139,6 @@ async function getEnvironmentVariables({ buildTarget, buildType, version }) {
NODE_ENV: devMode ? ENVIRONMENT.DEVELOPMENT : ENVIRONMENT.PRODUCTION,
PHISHING_WARNING_PAGE_URL: getPhishingWarningPageUrl({ config, testing }),
PORTFOLIO_URL: config.PORTFOLIO_URL || 'https://portfolio.metamask.io',
PUBNUB_PUB_KEY: config.PUBNUB_PUB_KEY || '',
PUBNUB_SUB_KEY: config.PUBNUB_SUB_KEY || '',
SEGMENT_HOST: config.SEGMENT_HOST,
SEGMENT_WRITE_KEY: getSegmentWriteKey({ buildType, config, environment }),
SENTRY_DSN: config.SENTRY_DSN,

View File

@ -1342,10 +1342,6 @@
"ui/pages/lock/lock.component.js",
"ui/pages/lock/lock.container.js",
"ui/pages/lock/lock.test.js",
"ui/pages/mobile-sync/index.js",
"ui/pages/mobile-sync/mobile-sync.component.js",
"ui/pages/mobile-sync/mobile-sync.container.js",
"ui/pages/mobile-sync/mobile-sync.stories.js",
"ui/pages/notifications/index.js",
"ui/pages/notifications/notification.test.js",
"ui/pages/notifications/notifications.js",

View File

@ -1536,12 +1536,12 @@
"packages": {
"@ngraveio/bc-ur>@apocentre/alias-sampling": true,
"@ngraveio/bc-ur>bignumber.js": true,
"@ngraveio/bc-ur>cbor-sync": true,
"@ngraveio/bc-ur>crc": true,
"@ngraveio/bc-ur>jsbi": true,
"addons-linter>sha.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"pubnub>cbor-sync": true
"browserify>buffer": true
}
},
"@ngraveio/bc-ur>assert>object-is": {
@ -1556,6 +1556,14 @@
"define": true
}
},
"@ngraveio/bc-ur>cbor-sync": {
"globals": {
"define": true
},
"packages": {
"browserify>buffer": true
}
},
"@ngraveio/bc-ur>crc": {
"packages": {
"browserify>buffer": true
@ -3696,32 +3704,6 @@
"console": true
}
},
"pubnub": {
"globals": {
"ActiveXObject": true,
"XMLHttpRequest": true,
"addEventListener": true,
"btoa": true,
"clearInterval": true,
"clearTimeout": true,
"console": true,
"define": true,
"localStorage.getItem": true,
"localStorage.setItem": true,
"location": true,
"navigator": true,
"setInterval": true,
"setTimeout": true
}
},
"pubnub>cbor-sync": {
"globals": {
"define": true
},
"packages": {
"browserify>buffer": true
}
},
"pump": {
"packages": {
"browserify>browser-resolve": true,

View File

@ -1929,12 +1929,12 @@
"packages": {
"@ngraveio/bc-ur>@apocentre/alias-sampling": true,
"@ngraveio/bc-ur>bignumber.js": true,
"@ngraveio/bc-ur>cbor-sync": true,
"@ngraveio/bc-ur>crc": true,
"@ngraveio/bc-ur>jsbi": true,
"addons-linter>sha.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"pubnub>cbor-sync": true
"browserify>buffer": true
}
},
"@ngraveio/bc-ur>assert>object-is": {
@ -1949,6 +1949,14 @@
"define": true
}
},
"@ngraveio/bc-ur>cbor-sync": {
"globals": {
"define": true
},
"packages": {
"browserify>buffer": true
}
},
"@ngraveio/bc-ur>crc": {
"packages": {
"browserify>buffer": true
@ -4107,32 +4115,6 @@
"console": true
}
},
"pubnub": {
"globals": {
"ActiveXObject": true,
"XMLHttpRequest": true,
"addEventListener": true,
"btoa": true,
"clearInterval": true,
"clearTimeout": true,
"console": true,
"define": true,
"localStorage.getItem": true,
"localStorage.setItem": true,
"location": true,
"navigator": true,
"setInterval": true,
"setTimeout": true
}
},
"pubnub>cbor-sync": {
"globals": {
"define": true
},
"packages": {
"browserify>buffer": true
}
},
"pump": {
"packages": {
"browserify>browser-resolve": true,

View File

@ -1929,12 +1929,12 @@
"packages": {
"@ngraveio/bc-ur>@apocentre/alias-sampling": true,
"@ngraveio/bc-ur>bignumber.js": true,
"@ngraveio/bc-ur>cbor-sync": true,
"@ngraveio/bc-ur>crc": true,
"@ngraveio/bc-ur>jsbi": true,
"addons-linter>sha.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"pubnub>cbor-sync": true
"browserify>buffer": true
}
},
"@ngraveio/bc-ur>assert>object-is": {
@ -1949,6 +1949,14 @@
"define": true
}
},
"@ngraveio/bc-ur>cbor-sync": {
"globals": {
"define": true
},
"packages": {
"browserify>buffer": true
}
},
"@ngraveio/bc-ur>crc": {
"packages": {
"browserify>buffer": true
@ -4107,32 +4115,6 @@
"console": true
}
},
"pubnub": {
"globals": {
"ActiveXObject": true,
"XMLHttpRequest": true,
"addEventListener": true,
"btoa": true,
"clearInterval": true,
"clearTimeout": true,
"console": true,
"define": true,
"localStorage.getItem": true,
"localStorage.setItem": true,
"location": true,
"navigator": true,
"setInterval": true,
"setTimeout": true
}
},
"pubnub>cbor-sync": {
"globals": {
"define": true
},
"packages": {
"browserify>buffer": true
}
},
"pump": {
"packages": {
"browserify>browser-resolve": true,

View File

@ -1536,12 +1536,12 @@
"packages": {
"@ngraveio/bc-ur>@apocentre/alias-sampling": true,
"@ngraveio/bc-ur>bignumber.js": true,
"@ngraveio/bc-ur>cbor-sync": true,
"@ngraveio/bc-ur>crc": true,
"@ngraveio/bc-ur>jsbi": true,
"addons-linter>sha.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"pubnub>cbor-sync": true
"browserify>buffer": true
}
},
"@ngraveio/bc-ur>assert>object-is": {
@ -1556,6 +1556,14 @@
"define": true
}
},
"@ngraveio/bc-ur>cbor-sync": {
"globals": {
"define": true
},
"packages": {
"browserify>buffer": true
}
},
"@ngraveio/bc-ur>crc": {
"packages": {
"browserify>buffer": true
@ -3696,32 +3704,6 @@
"console": true
}
},
"pubnub": {
"globals": {
"ActiveXObject": true,
"XMLHttpRequest": true,
"addEventListener": true,
"btoa": true,
"clearInterval": true,
"clearTimeout": true,
"console": true,
"define": true,
"localStorage.getItem": true,
"localStorage.setItem": true,
"location": true,
"navigator": true,
"setInterval": true,
"setTimeout": true
}
},
"pubnub>cbor-sync": {
"globals": {
"define": true
},
"packages": {
"browserify>buffer": true
}
},
"pump": {
"packages": {
"browserify>browser-resolve": true,

View File

@ -4409,11 +4409,11 @@
"packages": {
"gulp-watch>chokidar>braces>snapdragon>base>cache-base": true,
"gulp-watch>chokidar>braces>snapdragon>base>class-utils": true,
"gulp-watch>chokidar>braces>snapdragon>base>component-emitter": true,
"gulp-watch>chokidar>braces>snapdragon>base>define-property": true,
"gulp-watch>chokidar>braces>snapdragon>base>mixin-deep": true,
"gulp-watch>chokidar>braces>snapdragon>base>pascalcase": true,
"gulp>gulp-cli>isobject": true,
"pubnub>superagent>component-emitter": true
"gulp>gulp-cli>isobject": true
}
},
"gulp-watch>chokidar>braces>snapdragon>base>cache-base": {
@ -4424,9 +4424,9 @@
"gulp-watch>chokidar>braces>snapdragon>base>cache-base>to-object-path": true,
"gulp-watch>chokidar>braces>snapdragon>base>cache-base>union-value": true,
"gulp-watch>chokidar>braces>snapdragon>base>cache-base>unset-value": true,
"gulp-watch>chokidar>braces>snapdragon>base>component-emitter": true,
"gulp>gulp-cli>array-sort>get-value": true,
"gulp>gulp-cli>isobject": true,
"pubnub>superagent>component-emitter": true
"gulp>gulp-cli>isobject": true
}
},
"gulp-watch>chokidar>braces>snapdragon>base>cache-base>collection-visit": {

View File

@ -96,12 +96,9 @@
},
"resolutions": {
"analytics-node/axios": "^0.21.2",
"cookiejar": "^2.1.4",
"ganache-core/lodash": "^4.17.21",
"netmask": "^2.0.1",
"pubnub/superagent-proxy": "^3.0.0",
"json-schema": "^0.4.0",
"simple-get": "^4.0.1",
"ast-types": "^0.14.2",
"web3-provider-engine/eth-json-rpc-filters": "^6.0.0",
"typescript@~4.4.0": "patch:typescript@npm:4.4.4#.yarn/patches/typescript-npm-4.4.4-3fedcc07a3.patch",
@ -327,7 +324,6 @@
"pify": "^5.0.0",
"promise-to-callback": "^1.0.0",
"prop-types": "^15.6.1",
"pubnub": "4.27.3",
"pump": "^3.0.0",
"punycode": "^2.1.1",
"qrcode-generator": "1.4.1",

View File

@ -24,7 +24,6 @@ const CONTACT_VIEW_ROUTE = '/settings/contact-list/view-contact';
const CUSTODY_ACCOUNT_ROUTE = '/new-account/custody';
///: END:ONLY_INCLUDE_IN
const REVEAL_SEED_ROUTE = '/seed';
const MOBILE_SYNC_ROUTE = '/mobile-sync';
const RESTORE_VAULT_ROUTE = '/restore-vault';
const IMPORT_TOKEN_ROUTE = '/import-token';
const CONFIRM_IMPORT_TOKEN_ROUTE = '/confirm-import-token';
@ -67,7 +66,6 @@ const ONBOARDING_UNLOCK_ROUTE = '/onboarding/unlock';
const ONBOARDING_HELP_US_IMPROVE_ROUTE = '/onboarding/help-us-improve';
const ONBOARDING_IMPORT_WITH_SRP_ROUTE =
'/onboarding/import-with-recovery-phrase';
const ONBOARDING_IMPORT_MOBILE_ROUTE = '/onboarding/import-mobile';
const ONBOARDING_SECURE_YOUR_WALLET_ROUTE = '/onboarding/secure-your-wallet';
const ONBOARDING_PRIVACY_SETTINGS_ROUTE = '/onboarding/privacy-settings';
const ONBOARDING_PIN_EXTENSION_ROUTE = '/onboarding/pin-extension';
@ -119,7 +117,6 @@ const PATH_NAME_MAP = {
[CONTACT_ADD_ROUTE]: 'Add Contact Settings Page',
[`${CONTACT_VIEW_ROUTE}/:address`]: 'View Contact Settings Page',
[REVEAL_SEED_ROUTE]: 'Reveal Secret Recovery Phrase Page',
[MOBILE_SYNC_ROUTE]: 'Sync With Mobile Page',
[RESTORE_VAULT_ROUTE]: 'Restore Vault Page',
[IMPORT_TOKEN_ROUTE]: 'Import Token Page',
[CONFIRM_IMPORT_TOKEN_ROUTE]: 'Confirm Import Token Page',
@ -178,7 +175,6 @@ export {
LOCK_ROUTE,
SETTINGS_ROUTE,
REVEAL_SEED_ROUTE,
MOBILE_SYNC_ROUTE,
RESTORE_VAULT_ROUTE,
IMPORT_TOKEN_ROUTE,
CONFIRM_IMPORT_TOKEN_ROUTE,
@ -247,7 +243,6 @@ export {
ONBOARDING_HELP_US_IMPROVE_ROUTE,
ONBOARDING_CREATE_PASSWORD_ROUTE,
ONBOARDING_IMPORT_WITH_SRP_ROUTE,
ONBOARDING_IMPORT_MOBILE_ROUTE,
ONBOARDING_SECURE_YOUR_WALLET_ROUTE,
ONBOARDING_REVIEW_SRP_ROUTE,
ONBOARDING_CONFIRM_SRP_ROUTE,

View File

@ -63,13 +63,6 @@ export const SETTINGS_CONSTANTS = [
route: `${ADVANCED_ROUTE}#state-logs`,
icon: 'fas fa-sliders-h',
},
{
tabMessage: (t) => t('advanced'),
sectionMessage: (t) => t('syncWithMobile'),
descriptionMessage: (t) => t('syncWithMobile'),
route: `${ADVANCED_ROUTE}#sync-withmobile`,
icon: 'fas fa-sliders-h',
},
{
tabMessage: (t) => t('advanced'),
sectionMessage: (t) => t('clearActivity'),

View File

@ -27,8 +27,6 @@ const t = (key) => {
return 'State logs';
case 'stateLogsDescription':
return 'State logs contain your public account addresses and sent transactions.';
case 'syncWithMobile':
return 'Sync with mobile';
case 'clearActivity':
return 'Clear activity and nonce data';
case 'clearActivityDescription':
@ -157,7 +155,7 @@ describe('Settings Search Utils', () => {
});
it('should get good advanced section number', () => {
expect(getNumberOfSettingsInSection(t, t('advanced'))).toStrictEqual(13);
expect(getNumberOfSettingsInSection(t, t('advanced'))).toStrictEqual(12);
});
it('should get good contact section number', () => {

View File

@ -1 +0,0 @@
export { default } from './mobile-sync.container';

View File

@ -1,473 +0,0 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import classnames from 'classnames';
import PubNub from 'pubnub';
import qrCode from 'qrcode-generator';
import Button from '../../components/ui/button';
import LoadingScreen from '../../components/ui/loading-screen';
import { MINUTE, SECOND } from '../../../shared/constants/time';
import { KeyringType } from '../../../shared/constants/keyring';
const PASSWORD_PROMPT_SCREEN = 'PASSWORD_PROMPT_SCREEN';
const REVEAL_SEED_SCREEN = 'REVEAL_SEED_SCREEN';
const KEYS_GENERATION_TIME = SECOND * 30;
const IDLE_TIME = MINUTE * 2;
export default class MobileSyncPage extends Component {
static contextTypes = {
t: PropTypes.func,
};
static propTypes = {
history: PropTypes.object.isRequired,
selectedAddress: PropTypes.string.isRequired,
displayWarning: PropTypes.func.isRequired,
fetchInfoToSync: PropTypes.func.isRequired,
mostRecentOverviewPage: PropTypes.string.isRequired,
requestRevealSeedWords: PropTypes.func.isRequired,
exportAccounts: PropTypes.func.isRequired,
keyrings: PropTypes.array,
hideWarning: PropTypes.func.isRequired,
};
state = {
screen: PASSWORD_PROMPT_SCREEN,
password: '',
seedWords: null,
importedAccounts: [],
error: null,
syncing: false,
completed: false,
channelName: undefined,
cipherKey: undefined,
};
syncing = false;
componentDidMount() {
const passwordBox = document.getElementById('password-box');
if (passwordBox) {
passwordBox.focus();
}
}
startIdleTimeout() {
this.idleTimeout = setTimeout(() => {
this.clearTimeouts();
this.goBack();
}, IDLE_TIME);
}
handleSubmit(event) {
event.preventDefault();
this.setState({ seedWords: null, error: null });
this.props
.requestRevealSeedWords(this.state.password)
.then((seedWords) => {
this.startKeysGeneration();
this.startIdleTimeout();
this.exportAccounts().then((importedAccounts) => {
this.setState({
seedWords,
importedAccounts,
screen: REVEAL_SEED_SCREEN,
});
});
})
.catch((error) => this.setState({ error: error.message }));
}
async exportAccounts() {
const addresses = [];
this.props.keyrings.forEach((keyring) => {
if (keyring.type === KeyringType.imported) {
addresses.push(keyring.accounts[0]);
}
});
const importedAccounts = await this.props.exportAccounts(
this.state.password,
addresses,
);
return importedAccounts;
}
startKeysGeneration() {
this.keysGenerationTimeout && clearTimeout(this.keysGenerationTimeout);
this.disconnectWebsockets();
this.generateCipherKeyAndChannelName();
this.initWebsockets();
this.keysGenerationTimeout = setTimeout(() => {
this.startKeysGeneration();
}, KEYS_GENERATION_TIME);
}
goBack() {
const { history, mostRecentOverviewPage } = this.props;
history.push(mostRecentOverviewPage);
}
clearTimeouts() {
this.keysGenerationTimeout && clearTimeout(this.keysGenerationTimeout);
this.idleTimeout && clearTimeout(this.idleTimeout);
}
generateCipherKeyAndChannelName() {
this.cipherKey = `${this.props.selectedAddress.substr(
-4,
)}-${PubNub.generateUUID()}`;
this.channelName = `mm-${PubNub.generateUUID()}`;
this.setState({ cipherKey: this.cipherKey, channelName: this.channelName });
}
initWithCipherKeyAndChannelName(cipherKey, channelName) {
this.cipherKey = cipherKey;
this.channelName = channelName;
}
initWebsockets() {
// Make sure there are no existing listeners
this.disconnectWebsockets();
this.pubnub = new PubNub({
subscribeKey: process.env.PUBNUB_SUB_KEY,
publishKey: process.env.PUBNUB_PUB_KEY,
cipherKey: this.cipherKey,
ssl: true,
});
this.pubnubListener = {
message: (data) => {
const { channel, message } = data;
// handle message
if (channel !== this.channelName || !message) {
return;
}
if (message.event === 'start-sync') {
this.startSyncing();
} else if (message.event === 'connection-info') {
this.keysGenerationTimeout &&
clearTimeout(this.keysGenerationTimeout);
this.disconnectWebsockets();
this.initWithCipherKeyAndChannelName(message.cipher, message.channel);
this.initWebsockets();
} else if (message.event === 'end-sync') {
this.disconnectWebsockets();
this.setState({ syncing: false, completed: true });
}
},
};
this.pubnub.addListener(this.pubnubListener);
this.pubnub.subscribe({
channels: [this.channelName],
withPresence: false,
});
}
disconnectWebsockets() {
if (this.pubnub && this.pubnubListener) {
this.pubnub.removeListener(this.pubnubListener);
}
}
// Calculating a PubNub Message Payload Size.
calculatePayloadSize(channel, message) {
return encodeURIComponent(channel + JSON.stringify(message)).length + 100;
}
chunkString(str, size) {
const numChunks = Math.ceil(str.length / size);
const chunks = new Array(numChunks);
let o = 0;
for (let i = 0; i < numChunks; i += 1) {
chunks[i] = str.substr(o, size);
o += size;
}
return chunks;
}
notifyError(errorMsg) {
return new Promise((resolve, reject) => {
this.pubnub.publish(
{
message: {
event: 'error-sync',
data: errorMsg,
},
channel: this.channelName,
sendByPost: false, // true to send via post
storeInHistory: false,
},
(status, _response) => {
if (status.error) {
reject(status.errorData);
} else {
resolve();
}
},
);
});
}
async startSyncing() {
if (this.syncing) {
return;
}
this.syncing = true;
this.setState({ syncing: true });
const { accounts, network, preferences, transactions, tokens } =
await this.props.fetchInfoToSync();
const { t } = this.context;
const allDataStr = JSON.stringify({
accounts,
network,
preferences,
transactions,
tokens,
udata: {
pwd: this.state.password,
seed: this.state.seedWords,
importedAccounts: this.state.importedAccounts,
},
});
const chunks = this.chunkString(allDataStr, 17000);
const totalChunks = chunks.length;
try {
for (let i = 0; i < totalChunks; i++) {
await this.sendMessage(chunks[i], i + 1, totalChunks);
}
} catch (e) {
this.props.displayWarning(`${t('syncFailed')} :(`);
this.setState({ syncing: false });
this.syncing = false;
this.notifyError(e.toString());
}
}
sendMessage(data, pkg, count) {
return new Promise((resolve, reject) => {
this.pubnub.publish(
{
message: {
event: 'syncing-data',
data,
totalPkg: count,
currentPkg: pkg,
},
channel: this.channelName,
sendByPost: false, // true to send via post
storeInHistory: false,
},
(status, _response) => {
if (status.error) {
reject(status.errorData);
} else {
resolve();
}
},
);
});
}
componentWillUnmount() {
if (this.state.error) {
this.props.hideWarning();
}
this.clearTimeouts();
this.disconnectWebsockets();
}
renderWarning(text) {
return (
<div className="page-container__warning-container">
<div className="page-container__warning-message">
<div>{text}</div>
</div>
</div>
);
}
renderContent() {
const { syncing, completed, screen } = this.state;
const { t } = this.context;
if (syncing) {
return <LoadingScreen loadingMessage={t('syncInProgress')} />;
}
if (completed) {
return (
<div className="reveal-seed__content">
<label
className="reveal-seed__label"
style={{
width: '100%',
textAlign: 'center',
}}
>
{t('syncWithMobileComplete')}
</label>
</div>
);
}
return screen === PASSWORD_PROMPT_SCREEN ? (
<div>{this.renderWarning(this.context.t('mobileSyncWarning'))}</div>
) : (
<div>
{this.renderWarning(this.context.t('syncWithMobileBeCareful'))}
<div className="reveal-seed__content">
{this.renderRevealSeedContent()}
</div>
</div>
);
}
renderPasswordPromptContent() {
const { t } = this.context;
return (
<form onSubmit={(event) => this.handleSubmit(event)}>
<label className="input-label" htmlFor="password-box">
{t('enterPasswordContinue')}
</label>
<div>
<input
type="password"
placeholder={t('password')}
id="password-box"
value={this.state.password}
onChange={(event) =>
this.setState({ password: event.target.value })
}
className={classnames('form-control', {
'form-control--error': this.state.error,
})}
/>
</div>
{this.state.error && (
<div className="reveal-seed__error">{this.state.error}</div>
)}
</form>
);
}
renderRevealSeedContent() {
const qrImage = qrCode(0, 'M');
qrImage.addData(
`metamask-sync:${this.state.channelName}|@|${this.state.cipherKey}`,
);
qrImage.make();
const { t } = this.context;
return (
<div>
<label
className="reveal-seed__label"
style={{
width: '100%',
textAlign: 'center',
}}
>
{t('syncWithMobileScanThisCode')}
</label>
<div
style={{
display: 'flex',
justifyContent: 'center',
}}
dangerouslySetInnerHTML={{
__html: qrImage.createTableTag(4),
}}
/>
</div>
);
}
renderFooter() {
return this.state.screen === PASSWORD_PROMPT_SCREEN
? this.renderPasswordPromptFooter()
: this.renderRevealSeedFooter();
}
renderPasswordPromptFooter() {
const { t } = this.context;
const { password } = this.state;
return (
<div
className="new-account-import-form__buttons"
style={{ padding: '30px 15px 30px 15px', marginTop: 0 }}
>
<Button
type="secondary"
large
className="new-account-create-form__button"
onClick={() => this.goBack()}
>
{t('cancel')}
</Button>
<Button
type="primary"
large
className="new-account-create-form__button"
onClick={(event) => this.handleSubmit(event)}
disabled={password === ''}
>
{t('next')}
</Button>
</div>
);
}
renderRevealSeedFooter() {
const { t } = this.context;
return (
<div className="page-container__footer" style={{ padding: 30 }}>
<Button
type="secondary"
large
className="page-container__footer-button"
onClick={() => this.goBack()}
>
{t('close')}
</Button>
</div>
);
}
render() {
const { t } = this.context;
const { screen } = this.state;
return (
<div className="page-container">
<div className="page-container__header">
<div className="page-container__title">
{t('syncWithMobileTitle')}
</div>
{screen === PASSWORD_PROMPT_SCREEN ? (
<div className="page-container__subtitle">
{t('syncWithMobileDesc')}
</div>
) : null}
{screen === PASSWORD_PROMPT_SCREEN ? (
<div className="page-container__subtitle">
{t('syncWithMobileDescNewUsers')}
</div>
) : null}
</div>
<div className="page-container__content">{this.renderContent()}</div>
{this.renderFooter()}
</div>
);
}
}

View File

@ -1,37 +0,0 @@
import { connect } from 'react-redux';
import {
displayWarning,
requestRevealSeedWords,
fetchInfoToSync,
exportAccounts,
hideWarning,
} from '../../store/actions';
import { getMostRecentOverviewPage } from '../../ducks/history/history';
import { getMetaMaskKeyrings } from '../../selectors';
import MobileSyncPage from './mobile-sync.component';
const mapDispatchToProps = (dispatch) => {
return {
requestRevealSeedWords: (password) =>
dispatch(requestRevealSeedWords(password)),
fetchInfoToSync: () => dispatch(fetchInfoToSync()),
displayWarning: (message) => dispatch(displayWarning(message || null)),
exportAccounts: (password, addresses) =>
dispatch(exportAccounts(password, addresses)),
hideWarning: () => dispatch(hideWarning()),
};
};
const mapStateToProps = (state) => {
const {
metamask: { selectedAddress },
} = state;
return {
mostRecentOverviewPage: getMostRecentOverviewPage(state),
selectedAddress,
keyrings: getMetaMaskKeyrings(state),
};
};
export default connect(mapStateToProps, mapDispatchToProps)(MobileSyncPage);

View File

@ -1,15 +0,0 @@
import React from 'react';
import { action } from '@storybook/addon-actions';
import MobileSyncPage from './mobile-sync.component';
export default {
title: 'Pages/MobileSyncPage',
};
export const DefaultStory = () => {
return (
<MobileSyncPage requestRevealSeedWords={action('Mobile Sync Requested')} />
);
};
DefaultStory.storyName = 'Default';

View File

@ -18,7 +18,6 @@ import Lock from '../lock';
import PermissionsConnect from '../permissions-connect';
import RestoreVaultPage from '../keychains/restore-vault';
import RevealSeedConfirmation from '../keychains/reveal-seed';
import MobileSyncPage from '../mobile-sync';
import ImportTokenPage from '../import-token';
import AddNftPage from '../add-nft';
import ConfirmImportTokenPage from '../confirm-import-token';
@ -56,7 +55,6 @@ import {
CONNECT_ROUTE,
DEFAULT_ROUTE,
LOCK_ROUTE,
MOBILE_SYNC_ROUTE,
NEW_ACCOUNT_ROUTE,
RESTORE_VAULT_ROUTE,
REVEAL_SEED_ROUTE,
@ -230,11 +228,6 @@ export default class Routes extends Component {
component={RevealSeedConfirmation}
exact
/>
<Authenticated
path={MOBILE_SYNC_ROUTE}
component={MobileSyncPage}
exact
/>
<Authenticated path={SETTINGS_ROUTE} component={Settings} />
{
///: BEGIN:ONLY_INCLUDE_IN(flask)

View File

@ -3,7 +3,6 @@ import PropTypes from 'prop-types';
import ToggleButton from '../../../components/ui/toggle-button';
import TextField from '../../../components/ui/text-field';
import Button from '../../../components/ui/button';
import { MOBILE_SYNC_ROUTE } from '../../../helpers/constants/routes';
import Dropdown from '../../../components/ui/dropdown';
import Dialog from '../../../components/ui/dialog';
@ -42,7 +41,6 @@ export default class AdvancedTab extends PureComponent {
displayWarning: PropTypes.func,
showResetAccountConfirmationModal: PropTypes.func,
warning: PropTypes.string,
history: PropTypes.object,
sendHexData: PropTypes.bool,
showFiatInTestnets: PropTypes.bool,
showTestNetworks: PropTypes.bool,
@ -192,37 +190,6 @@ export default class AdvancedTab extends PureComponent {
);
}
renderMobileSync() {
const { t } = this.context;
const { history } = this.props;
return (
<div
ref={this.settingsRefs[1]}
className="settings-page__content-row"
data-testid="advanced-setting-mobile-sync"
>
<div className="settings-page__content-item">
<span>{t('syncWithMobile')}</span>
</div>
<div className="settings-page__content-item">
<div className="settings-page__content-item-col">
<Button
type="secondary"
large
onClick={(event) => {
event.preventDefault();
history.push(MOBILE_SYNC_ROUTE);
}}
>
{t('syncWithMobile')}
</Button>
</div>
</div>
</div>
);
}
renderResetAccount() {
const { t } = this.context;
const { showResetAccountConfirmationModal } = this.props;
@ -723,7 +690,6 @@ export default class AdvancedTab extends PureComponent {
<div className="settings-page__body">
{warning ? <div className="settings-tab__error">{warning}</div> : null}
{this.renderStateLogs()}
{this.renderMobileSync()}
{this.renderResetAccount()}
{this.renderHexDataOptIn()}
{this.renderShowConversionInTestnets()}

View File

@ -320,29 +320,6 @@ export function tryReverseResolveAddress(
};
}
export function fetchInfoToSync(): ThunkAction<
void,
MetaMaskReduxState,
unknown,
AnyAction
> {
return (dispatch: MetaMaskReduxDispatch) => {
log.debug(`background.fetchInfoToSync`);
return new Promise((resolve, reject) => {
callBackgroundMethod('fetchInfoToSync', [], (err, result) => {
if (err) {
if (isErrorWithMessage(err)) {
dispatch(displayWarning(err.message));
}
reject(err);
return;
}
resolve(result);
});
});
};
}
export function resetAccount(): ThunkAction<
Promise<string>,
MetaMaskReduxState,

122
yarn.lock
View File

@ -9004,15 +9004,6 @@ __metadata:
languageName: node
linkType: hard
"agentkeepalive@npm:^3.5.2":
version: 3.5.2
resolution: "agentkeepalive@npm:3.5.2"
dependencies:
humanize-ms: ^1.2.1
checksum: 75ecb0f764cae3b3c2ba919e2230ac5ff82051e029d8c74d5044e29ddbec14106f696be0196ac83ed370c8dabd2e5ff67bd7601b24660f3d9ed62bd3cdf0f23a
languageName: node
linkType: hard
"agentkeepalive@npm:^4.2.1":
version: 4.2.1
resolution: "agentkeepalive@npm:4.2.1"
@ -12507,7 +12498,7 @@ __metadata:
languageName: node
linkType: hard
"component-emitter@npm:^1.2.0, component-emitter@npm:^1.2.1":
"component-emitter@npm:^1.2.1":
version: 1.3.0
resolution: "component-emitter@npm:1.3.0"
checksum: b3c46de38ffd35c57d1c02488355be9f218e582aec72d72d1b8bbec95a3ac1b38c96cd6e03ff015577e68f550fbb361a3bfdbd9bb248be9390b7b3745691be6b
@ -12757,13 +12748,6 @@ __metadata:
languageName: node
linkType: hard
"cookiejar@npm:^2.1.4":
version: 2.1.4
resolution: "cookiejar@npm:2.1.4"
checksum: c4442111963077dc0e5672359956d6556a195d31cbb35b528356ce5f184922b99ac48245ac05ed86cf993f7df157c56da10ab3efdadfed79778a0d9b1b092d5b
languageName: node
linkType: hard
"cookies@npm:~0.8.0":
version: 0.8.0
resolution: "cookies@npm:0.8.0"
@ -17360,17 +17344,6 @@ __metadata:
languageName: node
linkType: hard
"form-data@npm:^2.3.1, form-data@npm:~2.3.2":
version: 2.3.3
resolution: "form-data@npm:2.3.3"
dependencies:
asynckit: ^0.4.0
combined-stream: ^1.0.6
mime-types: ^2.1.12
checksum: 10c1780fa13dbe1ff3100114c2ce1f9307f8be10b14bf16e103815356ff567b6be39d70fc4a40f8990b9660012dc24b0f5e1dde1b6426166eb23a445ba068ca3
languageName: node
linkType: hard
"form-data@npm:^3.0.0":
version: 3.0.0
resolution: "form-data@npm:3.0.0"
@ -17393,6 +17366,17 @@ __metadata:
languageName: node
linkType: hard
"form-data@npm:~2.3.2":
version: 2.3.3
resolution: "form-data@npm:2.3.3"
dependencies:
asynckit: ^0.4.0
combined-stream: ^1.0.6
mime-types: ^2.1.12
checksum: 10c1780fa13dbe1ff3100114c2ce1f9307f8be10b14bf16e103815356ff567b6be39d70fc4a40f8990b9660012dc24b0f5e1dde1b6426166eb23a445ba068ca3
languageName: node
linkType: hard
"format@npm:^0.2.0":
version: 0.2.2
resolution: "format@npm:0.2.2"
@ -17400,13 +17384,6 @@ __metadata:
languageName: node
linkType: hard
"formidable@npm:^1.2.0":
version: 1.2.1
resolution: "formidable@npm:1.2.1"
checksum: f0027cc1dfc6d93e92e9da187866af9ac3ee53f09a3e620bbb24e52d56eb8a2336d4dcb0c9074835c13116eba335932614b5f5298d6d8b273820b2edf35af383
languageName: node
linkType: hard
"forwarded@npm:~0.1.2":
version: 0.1.2
resolution: "forwarded@npm:0.1.2"
@ -23138,13 +23115,6 @@ __metadata:
languageName: node
linkType: hard
"lil-uuid@npm:^0.1.1":
version: 0.1.1
resolution: "lil-uuid@npm:0.1.1"
checksum: 1ca634ede9930a5c0c379525cbe1cbc84d849836154428bb1d74e83e4f22380fc63e0c2ba6c0ed97296cc55bcbb52a1486846410078bd293c1a26b1658a26fdf
languageName: node
linkType: hard
"lines-and-columns@npm:^1.1.6":
version: 1.1.6
resolution: "lines-and-columns@npm:1.1.6"
@ -24394,7 +24364,6 @@ __metadata:
promise-to-callback: ^1.0.0
prop-types: ^15.6.1
proxyquire: ^2.1.3
pubnub: 4.27.3
pump: ^3.0.0
pumpify: ^2.0.1
punycode: ^2.1.1
@ -24464,7 +24433,7 @@ __metadata:
languageName: unknown
linkType: soft
"methods@npm:^1.1.1, methods@npm:~1.1.2":
"methods@npm:~1.1.2":
version: 1.1.2
resolution: "methods@npm:1.1.2"
checksum: 0917ff4041fa8e2f2fda5425a955fe16ca411591fbd123c0d722fcf02b73971ed6f764d85f0a6f547ce49ee0221ce2c19a5fa692157931cecb422984f1dcd13a
@ -24584,7 +24553,7 @@ __metadata:
languageName: node
linkType: hard
"mime@npm:1.6.0, mime@npm:^1.4.1":
"mime@npm:1.6.0":
version: 1.6.0
resolution: "mime@npm:1.6.0"
bin:
@ -28038,22 +28007,6 @@ __metadata:
languageName: node
linkType: hard
"proxy-agent@npm:^5.0.0":
version: 5.0.0
resolution: "proxy-agent@npm:5.0.0"
dependencies:
agent-base: ^6.0.0
debug: 4
http-proxy-agent: ^4.0.0
https-proxy-agent: ^5.0.0
lru-cache: ^5.1.1
pac-proxy-agent: ^5.0.0
proxy-from-env: ^1.0.0
socks-proxy-agent: ^5.0.0
checksum: 3b0bb73a4d3a07711d3cad72b2fa4320880f7a6ec1959cdcc186ac6ffb173db8137d7c4046c27fdfa6e2207b2eb75e802f3d5e14c766700586ec4d47299a5124
languageName: node
linkType: hard
"proxy-from-env@npm:^1.0.0, proxy-from-env@npm:^1.1.0":
version: 1.1.0
resolution: "proxy-from-env@npm:1.1.0"
@ -28106,19 +28059,6 @@ __metadata:
languageName: node
linkType: hard
"pubnub@npm:4.27.3":
version: 4.27.3
resolution: "pubnub@npm:4.27.3"
dependencies:
agentkeepalive: ^3.5.2
cbor-sync: ^1.0.4
lil-uuid: ^0.1.1
superagent: ^3.8.1
superagent-proxy: ^2.0.0
checksum: 4302eeb7a1434ca60b1b418ebed753ea9ebfaa0ed6b8b974ba767b380ab2149944e24e6a8ceb8548c198bed903737754b569f1e65724ff81fd20a3a76483c664
languageName: node
linkType: hard
"puka@npm:^1.0.1":
version: 1.0.1
resolution: "puka@npm:1.0.1"
@ -28253,7 +28193,7 @@ __metadata:
languageName: node
linkType: hard
"qs@npm:^6.10.0, qs@npm:^6.4.0, qs@npm:^6.5.1":
"qs@npm:^6.10.0, qs@npm:^6.4.0":
version: 6.11.0
resolution: "qs@npm:6.11.0"
dependencies:
@ -31173,7 +31113,7 @@ __metadata:
languageName: node
linkType: hard
"socks-proxy-agent@npm:5, socks-proxy-agent@npm:^5.0.0":
"socks-proxy-agent@npm:5":
version: 5.0.1
resolution: "socks-proxy-agent@npm:5.0.1"
dependencies:
@ -32344,36 +32284,6 @@ __metadata:
languageName: node
linkType: hard
"superagent-proxy@npm:^3.0.0":
version: 3.0.0
resolution: "superagent-proxy@npm:3.0.0"
dependencies:
debug: ^4.3.2
proxy-agent: ^5.0.0
peerDependencies:
superagent: ">= 0.15.4 || 1 || 2 || 3"
checksum: 55747e283464bdc35e818627a1b1dd04a005da87f8ed81a8ba9dedea84a68e16ce55101b784ad6a5793516ac0e7c70a13749c31686fe9f2e2bb655b0f8e7d31b
languageName: node
linkType: hard
"superagent@npm:^3.8.1":
version: 3.8.3
resolution: "superagent@npm:3.8.3"
dependencies:
component-emitter: ^1.2.0
cookiejar: ^2.1.0
debug: ^3.1.0
extend: ^3.0.0
form-data: ^2.3.1
formidable: ^1.2.0
methods: ^1.1.1
mime: ^1.4.1
qs: ^6.5.1
readable-stream: ^2.3.5
checksum: b13d0303259d76c9180bd40d97d9f0713760f5ced1aef089bdb2fcdf69cfaef89004cd6e986416d59bd9a2f0f9933d72521b5171fa26f89b781a2c3460c516fe
languageName: node
linkType: hard
"superstruct@npm:^1.0.3":
version: 1.0.3
resolution: "superstruct@npm:1.0.3"