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

Merge remote-tracking branch 'origin/develop' into master-sync

This commit is contained in:
ryanml 2022-02-16 14:50:59 -07:00
commit 2fe2741264
204 changed files with 13106 additions and 5621 deletions

View File

@ -5,12 +5,12 @@ set -u
set -o pipefail
# To get the latest version, see <https://www.ubuntuupdates.org/ppa/google_chrome?dist=stable>
CHROME_VERSION='96.0.4664.45-1'
CHROME_VERSION='98.0.4758.80-1'
CHROME_BINARY="google-chrome-stable_${CHROME_VERSION}_amd64.deb"
CHROME_BINARY_URL="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/${CHROME_BINARY}"
# To retrieve this checksum, run the `wget` and `shasum` commands below
CHROME_BINARY_SHA512SUM='98433b003d43627e221faad212cba3df42d7f3d6e31894b1e14a9058069cbcd2bd3c83b3c59ecc1733dab11e36b181fa1d89e33b841a21fd53a8e82bbddc39aa'
CHROME_BINARY_SHA512SUM='83d151f05017ee1f255f4134ee84efdb5c7826d6c64d43e6d402bef1569e4800806be0f87af3cacd240917cacaeedb9cae5833ccbc65740482f6aafbef9b38e7'
wget -O "${CHROME_BINARY}" -t 5 "${CHROME_BINARY_URL}"

View File

@ -171,7 +171,7 @@ module.exports = {
'app/scripts/migrations/*.test.js',
'app/scripts/platforms/*.test.js',
'app/scripts/controllers/network/**/*.test.js',
'app/scripts/controllers/permissions/*.test.js',
'app/scripts/controllers/permissions/**/*.test.js',
],
extends: ['@metamask/eslint-config-mocha'],
rules: {
@ -198,7 +198,7 @@ module.exports = {
'app/scripts/migrations/*.test.js',
'app/scripts/platforms/*.test.js',
'app/scripts/controllers/network/**/*.test.js',
'app/scripts/controllers/permissions/*.test.js',
'app/scripts/controllers/permissions/**/*.test.js',
],
extends: ['@metamask/eslint-config-jest'],
rules: {

6
.gitattributes vendored
View File

@ -10,3 +10,9 @@ yarn.lock linguist-generated=false
test/e2e/send-eth-with-private-key-test/ethereumjs-tx.js linguist-vendored linguist-generated -diff
test/e2e/send-eth-with-private-key-test/web3js.js linguist-vendored linguist-generated -diff
# Collapse changes to translation files by default in diffs as it is very common
# to remove keys in PRs. Of course this means that PRs that solely update
# translations will be a little harder to review but those do not get submitted
# as often as other PRs.
app/_locales/** linguist-generated

View File

@ -25,7 +25,10 @@ jobs:
with:
upload_translations: true
download_translations: true
github_user_name: metamaskbot
github_user_email: metamaskbot@users.noreply.github.com
env:
GITHUB_ACTOR: metamaskbot
GITHUB_TOKEN: ${{ secrets.METAMASKBOT_CROWDIN_TOKEN }}
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}

View File

@ -6,7 +6,7 @@ module.exports = {
'./app/scripts/migrations/*.test.js',
'./app/scripts/platforms/*.test.js',
'./app/scripts/controllers/network/**/*.test.js',
'./app/scripts/controllers/permissions/*.test.js',
'./app/scripts/controllers/permissions/**/*.test.js',
],
recursive: true,
require: ['test/env.js', 'test/setup.js'],

View File

@ -102,6 +102,85 @@ const state = {
swapsFeatureIsLive: false,
swapsQuoteRefreshTime: 60000,
},
"snapStates": {},
"snaps": {
"local:http://localhost:8080/": {
"enabled": true,
"id": "local:http://localhost:8080/",
"initialPermissions": {
"snap_confirm": {}
},
"manifest": {
"description": "An example MetaMask Snap.",
"initialPermissions": {
"snap_confirm": {}
},
"manifestVersion": "0.1",
"proposedName": "MetaMask Example Snap",
"repository": {
"type": "git",
"url": "https://github.com/MetaMask/snaps-skunkworks.git"
},
"source": {
"location": {
"npm": {
"filePath": "dist/bundle.js",
"iconPath": "images/icon.svg",
"packageName": "@metamask/example-snap",
"registry": "https://registry.npmjs.org/"
}
},
"shasum": "3lEt0yUu080DwV78neROaAAIQWXukSkMnP4OBhOhBnE="
},
"version": "0.6.0"
},
"permissionName": "wallet_snap_local:http://localhost:8080/",
"sourceCode": "(...)",
"status": "stopped",
"svgIcon": "<svg>...</svg>",
"version": "0.6.0"
},
"Filecoin Snap": {
"enabled": true,
"id": "npm:http://localhost:8080/",
"initialPermissions": {
"snap_confirm": {},
"eth_accounts": {},
"snap_manageState": {},
},
"manifest": {
"description": "This swap provides developers everywhere access to an entirely new data storage paradigm, even letting your programs store data autonomously. Learn more.",
"initialPermissions": {
"snap_confirm": {},
"eth_accounts": {},
"snap_manageState": {},
},
"manifestVersion": "0.1",
"proposedName": "Filecoin Snap",
"repository": {
"type": "git",
"url": "https://github.com/MetaMask/snaps-skunkworks.git"
},
"source": {
"location": {
"npm": {
"filePath": "dist/bundle.js",
"iconPath": "images/icon.svg",
"packageName": "@metamask/example-snap",
"registry": "https://registry.npmjs.org/"
}
},
"shasum": "3lEt0yUu080DwV78neROaAAIQWXukSkMnP4OBhOhBnE="
},
"version": "0.6.0"
},
"permissionName": "wallet_snap_npm:http://localhost:8080/",
"sourceCode": "(...)",
"status": "stopped",
"svgIcon": "<svg>...</svg>",
"version": "0.6.0"
},
},
accountArray: [
{
name: 'This is a Really Long Account Name',
@ -1030,6 +1109,17 @@ const state = {
},
},
},
"local:http://localhost:8080/": {
permissions: {
'snap_confirm': {
invoker: "local:http://localhost:8080/",
parentCapability: 'snap_confirm',
id: 'a7342F4b-beae-4525-a36c-c0635fd03359',
date: 1620710693178,
caveats: []
},
},
},
},
permissionActivityLog: [
{
@ -1172,20 +1262,6 @@ const state = {
},
},
},
subjectMetadata: {
'https://metamask.github.io': {
name: 'E2E Test Dapp',
origin: 'https://metamask.github.io',
iconUrl: 'https://metamask.github.io/test-dapp/metamask-fox.svg',
subjectType: 'website',
},
'https://app.uniswap.org': {
name: 'Uniswap',
origin: 'https://app.uniswap.org',
iconUrl: './UNI.png',
subjectType: 'website',
},
},
threeBoxSyncingAllowed: false,
showRestorePrompt: true,
threeBoxLastUpdated: 0,
@ -1212,6 +1288,31 @@ const state = {
ensResolutionsByAddress: {},
pendingApprovals: {},
pendingApprovalCount: 0,
subjectMetadata: {
"http://localhost:8080": {
extensionId: null,
iconUrl: null,
name: "Hello, Snaps!",
origin: "http://localhost:8080",
subjectType: "website"
},
"https://metamask.github.io": {
extensionId: null,
iconUrl: null,
name: "Snaps Iframe Execution Environment",
origin: "https://metamask.github.io",
subjectType: "website"
},
"local:http://localhost:8080/": {
extensionId: null,
iconUrl: null,
name: "MetaMask Example Snap",
origin: "local:http://localhost:8080/",
subjectType: "snap",
svgIcon: "<svg>...</svg>",
version: "0.6.0"
}
}
},
appState: {
shouldClose: false,

View File

@ -2,9 +2,6 @@
"about": {
"message": "ስለ"
},
"aboutSettingsDescription": {
"message": "ስሪት፣ የድጋፍ መስጫ ማዕከልና የግንኙነት መረጃ "
},
"acceleratingATransaction": {
"message": "* ከፍተኛ የነዳጅ ዋጋን በመጠቀም ግብይትን ማፋጠን በአውታረ መረቡ በፍጥነት እንዲከወን የማድረግ ዕድልን ይጨምራል፤ ነገር ግን ሁልጊዜም የተረጋገጠ አይደለም።"
},
@ -56,9 +53,6 @@
"advancedOptions": {
"message": "የላቁ አማራጮች"
},
"advancedSettingsDescription": {
"message": "አዘጋጅ ባህርያትን መድረስ፣ የስቴት መዛግብትን ማውረድ፣ መለያን ዳግም መሙላት፣ testnets እና ብጁ RPC አዋቅር።"
},
"amount": {
"message": "ሰርዝ "
},
@ -139,9 +133,6 @@
"message": "መለያን በ$1እይ",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Blockies Identicon ተጠቀም"
},
"browserNotSupported": {
"message": "ማሰሺያዎት አልተደገፈም..."
},
@ -411,9 +402,6 @@
"general": {
"message": "አጠቃላይ"
},
"generalSettingsDescription": {
"message": "የገንዘብ ልወጣ፣ ተቀዳሚ የገንዘብ ዓይነት፣ ቋንቋ፣ blockies identicon"
},
"getEther": {
"message": "Ether ያግኙ"
},
@ -582,9 +570,6 @@
"networkName": {
"message": "የአውታረ መረብ ስም"
},
"networkSettingsDescription": {
"message": "ብጁ የ RPC አውታረ መረቦችን አክልና አርትዕ"
},
"networks": {
"message": "አውታረ መረቦች"
},
@ -819,9 +804,6 @@
"securityAndPrivacy": {
"message": "ደህንነት እና ግላዊነት"
},
"securitySettingsDescription": {
"message": "የግላዊነት ቅንብሮች እና የቋት ዘር ሐረግ"
},
"seedPhrasePlaceholder": {
"message": "እያንዳንዱን ቃል በነጠላ ክፍት ቦታ ይለያዩ"
},
@ -855,9 +837,6 @@
"sendTokens": {
"message": "ተለዋጭ ስሞችን ላክ"
},
"separateEachWord": {
"message": "እያንዳንዱን ቃል በነጠላ ክፍት ቦታ ይለያዩ"
},
"settings": {
"message": "ቅንብሮች"
},

View File

@ -8,9 +8,6 @@
"about": {
"message": "حول"
},
"aboutSettingsDescription": {
"message": "نسخة الإصدار ومركز الدعم ومعلومات الاتصال."
},
"acceleratingATransaction": {
"message": "* تسريع المعاملات باستخدام سعر عملة جاس أعلى يزيد من فرص معالجتها بواسطة الشبكة بشكلٍ أسرع، لكن ذلك غير مضمون دائماً."
},
@ -70,9 +67,6 @@
"advancedOptions": {
"message": "خيارات متقدمة"
},
"advancedSettingsDescription": {
"message": "يتاح لك استخدام ميزات تطوير البرامج وتنزيل سجلات الحالة وإعادة تعيين الحساب وإعداد شبكات الاختبارات وتخصيص استدعاء الإجراء عن بعد (RPC)."
},
"amount": {
"message": "المبلغ"
},
@ -153,9 +147,6 @@
"message": "عرض الحساب في $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "استخدم خدمة تكتلات Blockies Identicon"
},
"browserNotSupported": {
"message": "متصفحك غير مدعوم..."
},
@ -424,9 +415,6 @@
"general": {
"message": "عام"
},
"generalSettingsDescription": {
"message": "تحويل العملات، العملة الأساسية، اللغة ، تكتلات blockies identicon"
},
"getEther": {
"message": "احصل على إيثر"
},
@ -598,9 +586,6 @@
"networkName": {
"message": "اسم الشبكة"
},
"networkSettingsDescription": {
"message": "إضافة وتعديل شبكات RPC المخصصة"
},
"networks": {
"message": "الشبكات"
},
@ -835,9 +820,6 @@
"securityAndPrivacy": {
"message": "الأمن والخصوصية"
},
"securitySettingsDescription": {
"message": "إعدادات الخصوصية وعبارة أمان المحفظة"
},
"seedPhrasePlaceholder": {
"message": "يرجى فصل كل كلمة بمسافة واحدة"
},
@ -871,9 +853,6 @@
"sendTokens": {
"message": "إرسال عملات رمزية"
},
"separateEachWord": {
"message": "افصل كل كلمة بمسافة واحدة"
},
"settings": {
"message": "الإعدادات"
},

View File

@ -8,9 +8,6 @@
"about": {
"message": "Информация"
},
"aboutSettingsDescription": {
"message": "Версия, център за поддръжка и информация за контакт"
},
"acceleratingATransaction": {
"message": "* Ускоряването на транзакция чрез използване на по-висока цена на газа увеличава шансовете й да се обработва по-бързо от мрежата, но това не винаги е гарантирано."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Разширени опции"
},
"advancedSettingsDescription": {
"message": "Достъп до функции за разработчици, изтегляйте дневници, нулиране на акаунта, тестови мрежи за настройка и персонализиран RPC"
},
"amount": {
"message": "Сума"
},
@ -145,9 +139,6 @@
"message": "Преглед на акаунт на $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Използване на Blockies Identicon"
},
"browserNotSupported": {
"message": "Браузърът ви не се поддържа ..."
},
@ -416,9 +407,6 @@
"general": {
"message": "Общ"
},
"generalSettingsDescription": {
"message": "Конвертиране на валута, първична валута, език, блокчейн идентичност"
},
"getEther": {
"message": "Вземете етер"
},
@ -593,9 +581,6 @@
"networkName": {
"message": "Име на мрежата"
},
"networkSettingsDescription": {
"message": "Добавете и редактирайте персонализирани RPC мрежи"
},
"networks": {
"message": "Mрежи"
},
@ -830,9 +815,6 @@
"securityAndPrivacy": {
"message": "Сигурност и поверителност"
},
"securitySettingsDescription": {
"message": "Настройки за поверителност и фраза зародиш за портфейла"
},
"seedPhrasePlaceholder": {
"message": "Отделете всяка дума с един интервал"
},
@ -866,9 +848,6 @@
"sendTokens": {
"message": "Изпращане на жетони"
},
"separateEachWord": {
"message": "Отделете всяка дума с интервал"
},
"settings": {
"message": "Настройки"
},

View File

@ -8,9 +8,6 @@
"about": {
"message": "সম্পর্কে"
},
"aboutSettingsDescription": {
"message": "সংস্করণ, সহায়তা কেন্দ্র, এবং যোগাযোগের তথ্য।"
},
"acceleratingATransaction": {
"message": "* একটি উচ্চতর গ্যাসের মূল্য ব্যবহার করে একটি লেনদেনের গতি বৃদ্ধি নেটওয়ার্কের দ্বারা সেটির প্রক্রিয়াকরণ দ্রুততর হওয়ার সম্ভাবনা বৃদ্ধি করে, কিন্তু সবসময় সেটির নিশ্চয়তা দেওয়া যায় না।"
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "উন্নত বিকল্পসমূহ"
},
"advancedSettingsDescription": {
"message": "ডেভেলপারের বৈশিষ্ট্যগুলি অ্যাক্সেস করুন, স্টেট লগগুলি ডাউনলোড করুন, অ্যাকাউন্ট রিসেট করুন, টেস্টনেটস এবং কাস্টম RPC সেটআপ করুন।"
},
"amount": {
"message": "পরিমান"
},
@ -145,9 +139,6 @@
"message": "$1 এ অ্যাকাউন্ট দেখুন",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "ব্লকিজ আইডেন্টিকন ব্যবহার করুন"
},
"browserNotSupported": {
"message": "আপনার ব্রাউজার সমর্থিত নয়..."
},
@ -420,9 +411,6 @@
"general": {
"message": "সাধারণ"
},
"generalSettingsDescription": {
"message": "মুদ্রা বিনিময়, প্রাথমিক মুদ্রা, ভাষা, ব্লকিস আইডেন্টিকন"
},
"getEther": {
"message": "ইথার পান"
},
@ -597,9 +585,6 @@
"networkName": {
"message": "নেটওয়ার্কের নাম"
},
"networkSettingsDescription": {
"message": "কাস্টম RPC নেটওয়ার্কগুলি যোগ ও সম্পাদনা করুন"
},
"networks": {
"message": "নেটওয়ার্কসমূহ"
},
@ -834,9 +819,6 @@
"securityAndPrivacy": {
"message": "নিরাপত্তা এবং গোপনীয়তা"
},
"securitySettingsDescription": {
"message": "গোপনীয়তা সেটিংস এবং ওয়ালেট সীড ফ্রেজ"
},
"seedPhrasePlaceholder": {
"message": "প্রতিটি শব্দকে একটি স্পেস দিয়ে আলাদা করুন"
},
@ -870,9 +852,6 @@
"sendTokens": {
"message": "টোকেনগুলি পাঠান"
},
"separateEachWord": {
"message": "প্রতিটি শব্দকে একটি স্পেস দিয়ে আলাদা করুন"
},
"settings": {
"message": "সেটিংস"
},

View File

@ -8,9 +8,6 @@
"about": {
"message": "Informació"
},
"aboutSettingsDescription": {
"message": "Versió, centre de suport, i informació de contacte"
},
"acceleratingATransaction": {
"message": "* Accelerar una transacció utilitzant un preu de gas més alt augmenta les possibilitats de ser processat més ràpidament per la xarxa, però no sempre es pot garantir."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Opcions Avançades"
},
"advancedSettingsDescription": {
"message": "Accedeix a característiques de desenvolupador, descarrega Registres d'Estat, Reinicia el Compte, instal·la testnets i personalitza RPC"
},
"amount": {
"message": "Quantitat"
},
@ -145,9 +139,6 @@
"message": "Veure compte a $1 ",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Fer servir els Identicon Blockies"
},
"browserNotSupported": {
"message": "El teu navegador no és suportat..."
},
@ -410,9 +401,6 @@
"gasUsed": {
"message": "Gas utilitzat"
},
"generalSettingsDescription": {
"message": "Conversió de divises, divisa principal, idioma, icones d'identificació única"
},
"getEther": {
"message": "Aconsegueix Ether"
},
@ -581,9 +569,6 @@
"networkName": {
"message": "Nom de la xarxa"
},
"networkSettingsDescription": {
"message": "Afegeix i edita xarxes RPC a mida"
},
"networks": {
"message": "Xarxes"
},
@ -812,9 +797,6 @@
"securityAndPrivacy": {
"message": "Seguretat i privacitat"
},
"securitySettingsDescription": {
"message": "Configuració de privacitat i frase de recuperació del moneder"
},
"seedPhrasePlaceholder": {
"message": "Separa cada paraula amb un únic espai"
},
@ -848,9 +830,6 @@
"sendTokens": {
"message": "Enviar Fitxes"
},
"separateEachWord": {
"message": "Separa cada paraula amb un sol espai"
},
"settings": {
"message": "Configuració"
},

View File

@ -51,9 +51,6 @@
"balance": {
"message": "Zůstatek:"
},
"blockiesIdenticon": {
"message": "Použít Blockies Identicon"
},
"cancel": {
"message": "Zrušit"
},

View File

@ -8,9 +8,6 @@
"about": {
"message": "Om"
},
"aboutSettingsDescription": {
"message": "Version, supportcenter og kontaktinformation"
},
"acceleratingATransaction": {
"message": "* At gøre din transaktion hurtigere ved at bruge en højere Gas-priser, øger dennes chancer for at blive behandlet af netværket hurtigere, men det er ikke altid garanteret."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Avancerede Valgmuligheder"
},
"advancedSettingsDescription": {
"message": "Få adgang til udviklerfunktioner, hent tilstandslogs, nulstil konto, opsæt testnetværk og brugerdefineret RPC"
},
"amount": {
"message": "Beløb"
},
@ -145,9 +139,6 @@
"message": "Se konto på $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Brug Blockies Identicon"
},
"browserNotSupported": {
"message": "Din browser er ikke understøttet..."
},
@ -416,9 +407,6 @@
"general": {
"message": "Generelt"
},
"generalSettingsDescription": {
"message": "Valutakonvertering, primær valuta, sprog, blockies-identicon"
},
"getEther": {
"message": "Hent Ether"
},
@ -581,9 +569,6 @@
"networkName": {
"message": "Netværksnavn"
},
"networkSettingsDescription": {
"message": "Tilføj og redigér brugerdefinerede RPC-netværk"
},
"networks": {
"message": "Netværk"
},
@ -815,9 +800,6 @@
"securityAndPrivacy": {
"message": "Sikkerhed & Privatliv"
},
"securitySettingsDescription": {
"message": "Indstillinger for beskyttelse af personlige oplysninger og backupsætning til tegnebog"
},
"seedPhrasePlaceholder": {
"message": "Adskil hvert ord med et enkelt mellemrum"
},
@ -848,9 +830,6 @@
"sendTokens": {
"message": "Send tokens"
},
"separateEachWord": {
"message": "Separer hvert ord med et enkelt mellemrum"
},
"settings": {
"message": "Indstillinger "
},

File diff suppressed because it is too large Load Diff

View File

@ -42,14 +42,11 @@
"message": "Πορτοφόλι HW βασισμένο σε QR"
},
"QRHardwareWalletSteps2Description": {
"message": "AirGap Vault & Ngrave (Σύντομα)"
"message": "AirGap Vault & Ngrave (Έρχεται Σύντομα)"
},
"about": {
"message": "Σχετικά με"
},
"aboutSettingsDescription": {
"message": "Έκδοση, κέντρο υποστήριξης και πληροφορίες επικοινωνίας"
},
"acceleratingATransaction": {
"message": "* Η επιτάχυνση μιας συναλλαγής με τη χρήση υψηλότερης τιμής καυσίμου αυξάνει τις πιθανότητές της για ταχύτερη επεξεργασία από το δίκτυο, αλλά δεν είναι πάντοτε εγγυημένη."
},
@ -90,7 +87,7 @@
"message": "Δραστηριότητα"
},
"activityLog": {
"message": "αρχείο καταγραφής δραστηριότητας"
"message": "Αρχείο καταγραφής δραστηριότητας"
},
"add": {
"message": "Προσθήκη"
@ -114,7 +111,7 @@
"message": "Προσθήκη Προσαρμοσμένου Token"
},
"addCustomTokenByContractAddress": {
"message": "Αδυναμία εύρεσης token? Μπορείτε να προσθέσετε χειροκίνητα οποιοδήποτε διακριτικό επικολλώντας τη διεύθυνσή του. Οι διευθύνσεις συμβολαίων Token μπορούν να βρεθούν στο $1.",
"message": "Αδυναμία εύρεσης token; Μπορείτε να προσθέσετε χειροκίνητα οποιοδήποτε διακριτικό επικολλώντας τη διεύθυνσή του. Οι διευθύνσεις συμβολαίων Token μπορούν να βρεθούν στο $1.",
"description": "$1 is a blockchain explorer for a specific network, e.g. Etherscan for Ethereum"
},
"addEthereumChainConfirmationDescription": {
@ -185,9 +182,6 @@
"advancedPriorityFeeToolTip": {
"message": "Το τέλος προτεραιότητας (γνωστό και ως “miner tip”) πηγαίνει άμεσα στους miner και τους ενθαρρύνει να δώσουν προτεραιότητα στη συναλλαγή σας."
},
"advancedSettingsDescription": {
"message": "Αποκτήστε πρόσβαση στις λειτουργίες του προγραμματιστή, κατεβάστε Αρχεία Καταγραφών Καταστάσεων, Επαναφέρετε τον Λογαριασμό, εγκαταστήστε δοκιμαστικά δίκτυα και προσαρμοσμένα RPC"
},
"affirmAgree": {
"message": "Συμφωνώ"
},
@ -195,7 +189,7 @@
"message": "Αμοιβή ανταλλακτηρίου"
},
"alertDisableTooltip": {
"message": "Αυτό μπορεί να αλλάξει στο \"Ρυθμίσεις> Ειδοποιήσεις\""
"message": "Αυτό μπορεί να αλλάξει στο \"Ρυθμίσεις > Ειδοποιήσεις\""
},
"alertSettingsUnconnectedAccount": {
"message": "Περιήγηση σε μια ιστοσελίδα με έναν μη συνδεδεμένο λογαριασμό επιλεγμένο"
@ -207,14 +201,11 @@
"message": "Όταν μια ιστοσελίδα προσπαθεί να χρησιμοποιήσει το window.web3 API που έχει αφαιρεθεί"
},
"alertSettingsWeb3ShimUsageDescription": {
"message": "Αυτή η ειδοποίηση εμφανίζεται στο αναδυόμενο παράθυρο όταν περιηγείστε σε μια ιστοσελίδα που προσπαθεί να χρησιμοποιήσει το window.web3 API που έχει αφαιρεθεί, και μπορεί, ως αποτέλεσμα, να μην λειτουργεί."
"message": "Αυτή η ειδοποίηση εμφανίζεται στο αναδυόμενο παράθυρο όταν περιηγείστε σε μια ιστοσελίδα που προσπαθεί να χρησιμοποιήσει το window.web3 API που έχει αφαιρεθεί, και μπορεί, ως αποτέλεσμα, να μη λειτουργεί."
},
"alerts": {
"message": "Ειδοποιήσεις"
},
"alertsSettingsDescription": {
"message": "Ενεργοποίηση ή απενεργοποίηση κάθε ειδοποίησης"
},
"allowExternalExtensionTo": {
"message": "Επιτρέψτε σε αυτή την εξωτερική επέκταση να:"
},
@ -298,7 +289,7 @@
"message": "Χρονόμετρο Αυτόματης Αποσύνδεσης (λεπτά)"
},
"autoLockTimeLimitDescription": {
"message": "Ρυθμίστε τον χρόνο αδράνειας σε λεπτά πριν αποσυνδεθεί αυτόματα το MetaMask"
"message": "Ρυθμίστε τον χρόνο αδράνειας σε λεπτά πριν αποσυνδεθεί αυτόματα το MetaMask."
},
"average": {
"message": "Μέσος Όρος"
@ -331,7 +322,7 @@
"message": "Βασικά"
},
"betaMetamaskDescription": {
"message": "Αξιόπιστο για εκατομμύρια, MetaMask είναι ένα ασφαλές πορτοφόλι που καθιστά τον κόσμο του web3 προσβάσιμο σε όλους."
"message": "Αξιόπιστο για εκατομμύρια, το MetaMask είναι ένα ασφαλές πορτοφόλι που καθιστά τον κόσμο του web3 προσβάσιμο σε όλους."
},
"betaMetamaskDescriptionExplanation": {
"message": "Χρησιμοποιήστε αυτήν την έκδοση για να δοκιμάσετε τις επερχόμενες λειτουργίες πριν από την κυκλοφορία τους. Η χρήση και η ανατροφοδότηση σας μας βοηθούν να χτίσουμε την καλύτερη δυνατή έκδοση του MetaMask. Η χρήση του MetaMask Δοκιμαστική Έκδοση υπόκειται στα στάνταρ μας $1, καθώς και $2. Ως Δοκιμαστική Έκδοση, μπορεί να υπάρχει αυξημένος κίνδυνος σφαλμάτων. Συνεχίζοντας, αποδέχεστε και αναγνωρίζετε αυτούς τους κινδύνους, καθώς και τους κινδύνους που εντοπίζονται στους Όρους μας και τους Όρους Δοκιμαστικής Έκδοσης.",
@ -371,9 +362,6 @@
"message": "Προβολή λογαριασμού με $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Χρήση Αναπαράστασης Μπλοκ"
},
"browserNotSupported": {
"message": "Το Πρόγραμμα Περιήγησής σας δεν υποστηρίζεται..."
},
@ -531,7 +519,7 @@
"message": "Σύνδεση με $1"
},
"connectingToGoerli": {
"message": "Σύνδεση στο Δίκτυο Δοκιμής Goerli "
"message": "Σύνδεση στο Δίκτυο Δοκιμής Goerli"
},
"connectingToKovan": {
"message": "Σύνδεση στο Δοκιμαστικό Δίκτυο Kovan"
@ -551,9 +539,6 @@
"contacts": {
"message": "Επαφές"
},
"contactsSettingsDescription": {
"message": "Προσθέστε, επεξεργαστείτε, αφαιρέστε και διαχειριστείτε τις επαφές σας"
},
"continue": {
"message": "Συνέχεια"
},
@ -728,7 +713,7 @@
"message": "Αποσύνδεση όλων των λογαριασμών"
},
"disconnectAllAccountsConfirmationDescription": {
"message": "Είστε βέβαιοι ότι θέλετε να αποσυνδεθείτε? Μπορεί να χάσετε τη λειτουργικότητα της ιστοσελίδας."
"message": "Είστε βέβαιοι ότι θέλετε να αποσυνδεθείτε; Μπορεί να χάσετε τη λειτουργικότητα της ιστοσελίδας."
},
"disconnectPrompt": {
"message": "Αποσύνδεση $1"
@ -883,7 +868,7 @@
"message": "Η μέγιστη χρέωση ή το μέγιστο τέλος προτεραιότητας μπορεί να είναι χαμηλά για τις τρέχουσες συνθήκες της αγοράς. Δεν γνωρίζουμε πότε (ή εάν) η συναλλαγή σας θα επεξεργαστεί. "
},
"editGasTooLowWarningTooltip": {
"message": "Αυτό μειώνει τη μέγιστη χρέωση αλλά αν η κίνηση δικτύου αυξήσει την συναλλαγή σας μπορεί να καθυστερήσει ή να αποτύχει."
"message": "Αυτό μειώνει τη μέγιστη χρέωση αλλά αν η κίνηση δικτύου αυξήσει τη συναλλαγή σας μπορεί να καθυστερήσει ή να αποτύχει."
},
"editNonceField": {
"message": "Επεξεργασία Nonce"
@ -904,7 +889,7 @@
"message": "Ενεργοποίηση OpenSea API"
},
"enableOpenSeaAPIDescription": {
"message": "Χρήσιμοποιείστε το API OpenSea για λήψη δεδομένων NFT. Η αυτόματη ανίχνευση NFT βασίζεται στο API του OpenSea, και δεν θα είναι διαθέσιμη όταν αυτό είναι απενεργοποιημένο."
"message": "Χρησιμοποιήστε το API OpenSea για λήψη δεδομένων NFT. Η αυτόματη ανίχνευση NFT βασίζεται στο API του OpenSea, και δεν θα είναι διαθέσιμη όταν αυτό είναι απενεργοποιημένο."
},
"enableToken": {
"message": "ενεργοποίηση $1",
@ -918,7 +903,7 @@
"message": "Αίτηση δημόσιου κλειδιού κρυπτογράφησης"
},
"endOfFlowMessage1": {
"message": "Περάσατε τη δοκιμή - κρατήστε τη φράση φύτρου σας ασφαλή, είναι δική σας ευθύνη!"
"message": "Περάσατε τη δοκιμή - κρατήστε τη Μυστική Φράση Ανάκτησής σας ασφαλή, είναι δική σας ευθύνη!"
},
"endOfFlowMessage10": {
"message": "Όλα Έτοιμα"
@ -933,17 +918,17 @@
"message": "Μην μοιράζεστε ποτέ τη φράση με κανέναν."
},
"endOfFlowMessage5": {
"message": "Προσέξτε το ηλεκτρονικό \"ψάρεμα\"! Το MetaMask δεν θα ζητήσει ποτέ αυθόρμητα τη φράση φύτρου σας."
"message": "Προσέξτε το ηλεκτρονικό \"ψάρεμα\"! Το MetaMask δεν θα ζητήσει ποτέ από μόνο του τη Μυστική Φράση Ανάκτησής σας."
},
"endOfFlowMessage6": {
"message": "Αν χρειάζεται να δημιουργήσετε ξανά αντίγραφο της φράσης επαναφοράς σας, μπορείτε να την βρείτε στη Ρυθμίσεις -> Ασφάλεια."
"message": "Αν χρειάζεται να δημιουργήσετε ξανά αντίγραφο της φράσης επαναφοράς σας, μπορείτε να τη βρείτε στο Ρυθμίσεις -> Ασφάλεια."
},
"endOfFlowMessage7": {
"message": "Αν έχετε ποτέ ερωτήσεις ή δείτε κάτι ύποπτο, επικοινωνήστε με την υποστήριξή μας $1.",
"description": "$1 is a clickable link with text defined by the 'here' key. The link will open to a form where users can file support tickets."
},
"endOfFlowMessage8": {
"message": "Το MetaMask δεν μπορεί να ανακτήσει τη φράση φύτρου σας. Μάθετε περισσότερα."
"message": "Το MetaMask δεν μπορεί να ανακτήσει τη Μυστική Φράση Ανάκτησής σας. Μάθετε περισσότερα."
},
"endOfFlowMessage9": {
"message": "Μάθετε περισσότερα."
@ -1017,10 +1002,6 @@
"ethGasPriceFetchWarning": {
"message": "Το εφεδρικό τέλος συναλλαγής που παρέχεται ως η κύρια υπηρεσία εκτίμησης τελών συναλλαγής, δεν είναι διαθέσιμο αυτή τη στιγμή."
},
"eth_accounts": {
"message": "Βλέπε διεύθυνση, υπόλοιπο λογαριασμού, δραστηριότητα και έναρξη συναλλαγών",
"description": "The description for the `eth_accounts` permission"
},
"ethereumPublicAddress": {
"message": "Δημόσια Διεύθυνση Ethereum"
},
@ -1039,9 +1020,6 @@
"experimental": {
"message": "Πειραματικό"
},
"experimentalSettingsDescription": {
"message": "Εντοπισμός token & περισσότερα"
},
"exportPrivateKey": {
"message": "Εξαγωγή Ιδιωτικού Κλειδιού"
},
@ -1062,7 +1040,7 @@
"message": "Κάτι πήγε λάθος και δεν μπορέσαμε να ολοκληρώσουμε την ενέργεια"
},
"fakeTokenWarning": {
"message": "Οποιοσδήποτε μπορεί να δημιουργήσει ένα token, συμπεριλαμβανομένης της δημιουργίας ψεύτικων εκδόσεων των υφιστάμενων tokens. Μάθετε περισσότερά γι'αυτό $1"
"message": "Οποιοσδήποτε μπορεί να δημιουργήσει ένα token, συμπεριλαμβανομένης της δημιουργίας ψεύτικων εκδόσεων των υφιστάμενων tokens. Μάθετε περισσότερα γι'αυτό $1"
},
"fast": {
"message": "Γρήγορα"
@ -1103,7 +1081,7 @@
"message": "Διαγραφή αυτής της συσκευής"
},
"from": {
"message": "Από "
"message": "Από"
},
"fromAddress": {
"message": "Από: $1",
@ -1190,7 +1168,7 @@
"description": "$1 represents a number of seconds"
},
"gasTimingSecondsShort": {
"message": "$1 δευτ.",
"message": "$1 δευτ",
"description": "$1 represents a number of seconds"
},
"gasTimingVeryPositive": {
@ -1211,9 +1189,6 @@
"general": {
"message": "Γενικά"
},
"generalSettingsDescription": {
"message": "Μετατροπή νομίσματος, πρωτογενές νόμισμα, γλώσσα, αναπαράσταση μπλοκ"
},
"getEther": {
"message": "Λάβετε Ether"
},
@ -1237,7 +1212,7 @@
"message": "Χαιρόμαστε που σας βλέπουμε."
},
"hardware": {
"message": "υλικό"
"message": "Υλικό"
},
"hardwareWalletConnected": {
"message": "Συνδέθηκε το πορτοφόλι υλικού"
@ -1253,7 +1228,7 @@
"message": "Συνδέστε ένα πορτοφόλι εξοπλισμού"
},
"hardwareWalletsMsg": {
"message": "Επιλέξτε ένα πορτοφόλι εξοπλισμού το οποίο θέλετε να χρησιμοποιήσετε με το MetaMask"
"message": "Επιλέξτε ένα πορτοφόλι εξοπλισμού το οποίο θέλετε να χρησιμοποιήσετε με το MetaMask."
},
"here": {
"message": "εδώ",
@ -1302,10 +1277,10 @@
"message": "εισαγωγή χρησιμοποιώντας τη Μυστική Φράση Ανάκτησης"
},
"importAccountMsg": {
"message": "Οι λογαριασμοί που εισάγονται δεν θα συσχετιστούν με τη φάση σπόρου του λογαριασμού σας MetaTask που δημιουργήθηκε αρχικά. Μάθετε περισσότερα για τους εισηγμένους λογαριασμούς"
"message": "Οι λογαριασμοί που εισάγονται δεν θα συσχετιστούν με τη Μυστική Φράση Ανάκτησης του λογαριασμού σας MetaTask που δημιουργήθηκε αρχικά. Μάθετε περισσότερα για τους εισηγμένους λογαριασμούς"
},
"importAccountSeedPhrase": {
"message": "Εισαγωγή λογαριασμού με Φράση Φύτρου"
"message": "Εισαγωγή λογαριασμού με Μυστική Φράση Ανάκτησης"
},
"importAccountText": {
"message": "ή $1",
@ -1347,7 +1322,7 @@
"description": "status showing that an account has been fully loaded into the keyring"
},
"infuraBlockedNotification": {
"message": "Το MetaMask δεν μπορεί να συνδεθεί με τον blockchain host. Ανασκόπηση πιθανών λόγων $1.",
"message": "Το MetaMask δεν μπορεί να συνδεθεί με τον εξυπηρετητή blockchain. Ανασκόπηση πιθανών λόγων $1.",
"description": "$1 is a clickable link with with text defined by the 'here' key"
},
"initialTransactionConfirmed": {
@ -1413,7 +1388,7 @@
"message": "Μη έγκυρο RPC URL"
},
"invalidSeedPhrase": {
"message": "Μη έγκυρη φράση φύτρου"
"message": "Μη έγκυρη Μυστική Φράση Ανάκτησής"
},
"ipfsGateway": {
"message": "Πύλη IPFS"
@ -1457,7 +1432,7 @@
"description": "$1 is link to cancel or speed up transactions"
},
"learnMore": {
"message": "Μάθε περισσότερα"
"message": "μάθε περισσότερα"
},
"learnMoreUpperCase": {
"message": "Μάθε περισσότερα"
@ -1535,7 +1510,7 @@
"message": "Φόρτωση Tokens..."
},
"localhost": {
"message": "Τοπικός Υπολογιστής 8545"
"message": "Τοπικός Υπολογιστής 8545"
},
"lock": {
"message": "Αποσύνδεση"
@ -1610,7 +1585,7 @@
"message": "Συντήρηση των ανταλλαγών MetaMask. Παρακαλούμε ελέγξτε αργότερα."
},
"metamaskVersion": {
"message": "Έκδοση MetaMask "
"message": "Έκδοση MetaMask"
},
"metametricsCommitmentsAllowOptOut": {
"message": "Σας επιτρέπεται πάντα να εξαιρεθείτε μέσω των Ρυθμίσεων"
@ -1637,7 +1612,7 @@
"description": "The $1 is the bolded word 'Never', from 'metametricsCommitmentsBoldNever'"
},
"metametricsCommitmentsNeverIP": {
"message": "Ποτέ δεν συλλέγεi την πλήρη IP διεύθυνσή σας"
"message": "Ποτέ δεν συλλέγει την πλήρη IP διεύθυνσή σας"
},
"metametricsCommitmentsNeverSell": {
"message": "Ποτέ δεν πουλά δεδομένα για κέρδος. Ποτέ!"
@ -1688,7 +1663,7 @@
"message": "Όνομα"
},
"needHelp": {
"message": "Χρειάζεστε βοήθεια? Επικοινωνήστε με $1",
"message": "Χρειάζεστε βοήθεια; Επικοινωνήστε με $1",
"description": "$1 represents `needHelpLinkText`, the text which goes in the help link"
},
"needHelpFeedback": {
@ -1734,9 +1709,6 @@
"networkSettingsChainIdDescription": {
"message": "Το αναγνωριστικό αλυσίδας χρησιμοποιείται για την υπογραφή συναλλαγών. Πρέπει να ταιριάζει με το αναγνωριστικό αλυσίδας που επιστρέφεται από το δίκτυο. Μπορείτε να εισάγετε ένα δεκαδικό ή '0x'-προκαθορισμένο δεκαεξαδικό αριθμό, αλλά θα εμφανίσουμε τον αριθμό στο δεκαδικό σύστημα."
},
"networkSettingsDescription": {
"message": "Προσθήκη και επεξεργασία προσαρμοσμένων δικτύων RPC"
},
"networkStatus": {
"message": "Κατάσταση δικτύου"
},
@ -1832,7 +1804,7 @@
"message": "Δεν έχει ορισθεί καμιά διεύθυνση γ' αυτό το όνομα."
},
"noAlreadyHaveSeed": {
"message": "Όχι, έχω ήδη μια φράση φύτρου"
"message": "Όχι, έχω ήδη μια Μυστική Φράση Ανάκτησης"
},
"noConversionDateAvailable": {
"message": "Δεν Υπάρχει Διαθέσιμη Ημερομηνία Ισοτιμίας Μετατροπής Νομίσματος"
@ -1871,7 +1843,7 @@
"message": "Όχι απασχολημένος"
},
"notCurrentAccount": {
"message": "Είναι ο σωστός λογαριασμός? Είναι διαφορετικό από τον τρέχοντα επιλεγμένο λογαριασμό στο πορτοφόλι σας"
"message": "Είναι ο σωστός λογαριασμός; Είναι διαφορετικό από τον τρέχοντα επιλεγμένο λογαριασμό στο πορτοφόλι σας"
},
"notEnoughGas": {
"message": "Δεν Υπάρχει Αρκετό Αέριο"
@ -1901,7 +1873,7 @@
"description": "The 'call to action' on the button, or link, of the 'Swap on Binance Smart Chain!' notification. Upon clicking, users will be taken to a page where then can swap tokens on Binance Smart Chain."
},
"notifications4Description": {
"message": "Λάβετε τις καλύτερες τιμές για swaps token ακριβώς μέσα στο πορτοφόλι σας. Το MetaMask τώρα σας συνδέει με πολλαπλούς αποκεντρωμένα ανταλλακτήρια συναλλάγματος και επαγγελματίες διαμορφωτές της αγοράς για εξυπνη αλυσίδα Binance.",
"message": "Λάβετε τις καλύτερες τιμές για swaps token ακριβώς μέσα στο πορτοφόλι σας. Το MetaMask τώρα σας συνδέει με πολλαπλούς αποκεντρωμένα ανταλλακτήρια συναλλάγματος και επαγγελματίες διαμορφωτές της αγοράς για έξυπνη αλυσίδα Binance.",
"description": "Description of a notification in the 'See What's New' popup."
},
"notifications4Title": {
@ -1917,11 +1889,11 @@
"description": "Description of a notification in the 'See What's New' popup. Describes the Ledger support update."
},
"notifications6DescriptionThree": {
"message": "Όταν αλληλεπιδράτε με τον λογαριασμό σας Ledger στο MetaMask, θα ανοίξει μια νέα καρτέλα και θα σας ζητηθεί να ανοίξετε την εφαρμογή Ledger Live. Μόλις ανοίξει η εφαρμογή, θα σας ζητηθεί να επιτρέψετε μια σύνδεση WebSocket στο λογαριασμό σας MetaMask. Αυτό ήταν όλο!",
"message": "Όταν αλληλεπιδράτε με τον λογαριασμό σας Ledger στο MetaMask, θα ανοίξει μια νέα καρτέλα και θα σας ζητηθεί να ανοίξετε την εφαρμογή Ledger Live. Μόλις ανοίξει η εφαρμογή, θα σας ζητηθεί να επιτρέψετε μια σύνδεση WebSocket στον λογαριασμό σας MetaMask. Αυτό ήταν όλο!",
"description": "Description of a notification in the 'See What's New' popup. Describes the Ledger support update."
},
"notifications6DescriptionTwo": {
"message": "Μπορείτε να ενεργοποιήσετε την υποστήριξη Ledger Live κάνοντας κλικ στις Ρυθμίσεις> Για προχωρημένους> Χρήση Ledger Live.",
"message": "Μπορείτε να ενεργοποιήσετε την υποστήριξη Ledger Live κάνοντας κλικ στις Ρυθμίσεις > Για προχωρημένους > Χρήση Ledger Live.",
"description": "Description of a notification in the 'See What's New' popup. Describes the Ledger support update."
},
"notifications6Title": {
@ -1933,11 +1905,11 @@
"description": "Description of a notification in the 'See What's New' popup. Describes changes for ledger and EIP1559 in v10.1.0"
},
"notifications7DescriptionTwo": {
"message": "Για να ολοκληρώσετε τις συναλλαγές στο Ethereum Mainnet, βεβαιωθείτε ότι η συσκευή Ledger έχει το πιο πρόσφατο firmware.",
"message": "Για να ολοκληρώσετε τις συναλλαγές στο Ethereum Mainnet, βεβαιωθείτε ότι η συσκευή Ledger έχει το πιο πρόσφατο υλισμικό.",
"description": "Description of a notification in the 'See What's New' popup. Describes the need to update ledger firmware."
},
"notifications7Title": {
"message": "Ενημέρωση υλικολογισμικού Ledger",
"message": "Ενημέρωση υλισμικού Ledger",
"description": "Title for a notification in the 'See What's New' popup. Notifies ledger users of the need to update firmware."
},
"notifications8ActionText": {
@ -2085,7 +2057,7 @@
"description": "For importing an account from a private key"
},
"pending": {
"message": "σε εκκρεμότητα"
"message": "Σε εκκρεμότητα"
},
"pendingTransactionInfo": {
"message": "Αυτή η συναλλαγή δεν θα επεξεργαστεί μέχρι να ολοκληρωθεί αυτή η συναλλαγή."
@ -2100,6 +2072,10 @@
"permissionRequest": {
"message": "Αίτημα άδειας"
},
"permission_ethereumAccounts": {
"message": "Βλέπε διεύθυνση, υπόλοιπο λογαριασμού, δραστηριότητα και έναρξη συναλλαγών",
"description": "The description for the `eth_accounts` permission"
},
"permissions": {
"message": "Άδειες"
},
@ -2230,7 +2206,7 @@
"message": "Κατάργηση λογαριασμού"
},
"removeAccountDescription": {
"message": "Αυτός ο λογαριασμός θα καταργηθεί από το πορτοφόλι σας. Παρακαλούμε βεβαιωθείτε ότι έχετε την αρχική φράση επαναφοράς ή ιδιωτικό κλειδί για αυτόν τον εισαγόμενο λογαριασμό πριν συνεχίσετε. Μπορείτε να εισαγάγετε ή να δημιουργήσετε ξανά λογαριασμούς από το αναπτυσσόμενο μενού του λογαριασμού."
"message": "Αυτός ο λογαριασμός θα καταργηθεί από το πορτοφόλι σας. Παρακαλούμε βεβαιωθείτε ότι έχετε την αρχική φράση επαναφοράς ή ιδιωτικό κλειδί για αυτόν τον εισαγόμενο λογαριασμό πριν συνεχίσετε. Μπορείτε να εισαγάγετε ή να δημιουργήσετε ξανά λογαριασμούς από το αναπτυσσόμενο μενού του λογαριασμού. "
},
"removeNFT": {
"message": "Αφαίρεση NFT"
@ -2267,10 +2243,10 @@
"message": "Ένα token εδώ επαναχρησιμοποιεί ένα σύμβολο από ένα άλλο token που παρακολουθείτε, αυτό μπορεί να προκαλέσει σύγχυση ή να είναι παραπλανητικό."
},
"revealSeedWords": {
"message": "Αποκάλυψη Λέξεων Φύτρου"
"message": "Αποκάλυψη Λέξεων Μυστικής Φράσης Ανάκτησης"
},
"revealSeedWordsDescription": {
"message": "Εάν αλλάξετε ποτέ προγράμματα περιήγησης ή μετακινήσετε υπολογιστές, θα χρειαστείτε αυτήν τη φράση φύτρου για να αποκτήσετε πρόσβαση στους λογαριασμούς σας. Αποθηκεύστε την κάπου με ασφάλεια και μυστικότητα."
"message": "Εάν αλλάξετε ποτέ προγράμματα περιήγησης ή μετακινήσετε υπολογιστές, θα χρειαστείτε αυτήν τη Μυστική Φράση Ανάκτησης για να αποκτήσετε πρόσβαση στους λογαριασμούς σας. Αποθηκεύστε την κάπου με ασφάλεια και μυστικότητα."
},
"revealSeedWordsWarning": {
"message": "Αυτές οι λέξεις μπορούν να χρησιμοποιηθούν για να κλαπούν όλοι οι λογαριασμοί σας."
@ -2335,9 +2311,6 @@
"securityAndPrivacy": {
"message": "Ασφάλεια και Απόρρητο"
},
"securitySettingsDescription": {
"message": "Φάση ρυθμίσεων απορρήτου και σπόρου πορτοφολιού"
},
"seedPhraseConfirm": {
"message": "Επιβεβαίωση Μυστικής Φράσης Ανάκτησης"
},
@ -2393,10 +2366,10 @@
"message": "Επικόλληση Μυστικής Φράσης Ανάκτησης από το πρόχειρο"
},
"seedPhraseReq": {
"message": "Οι φράσεις φύτρου έχουν μήκος 12 λέξεων"
"message": "Οι Μυστικές Φράσεις Ανάκτησης έχουν μήκος 12 λέξεων"
},
"seedPhraseWriteDownDetails": {
"message": "Γράψτε αυτή τη Μυστική Φράση Ανάκτησης 12 λέξεων και αποθηκεύστε την σε ένα μέρος που εμπιστεύεστε και όπου μόνο εσείς μπορείτε να έχετε πρόσβαση."
"message": "Γράψτε αυτή τη Μυστική Φράση Ανάκτησης 12 λέξεων και αποθηκεύστε τη σε ένα μέρος που εμπιστεύεστε και όπου μόνο εσείς μπορείτε να έχετε πρόσβαση."
},
"seedPhraseWriteDownHeader": {
"message": "Γράψτε τη Μυστική Φράση Ανάκτησης σας"
@ -2426,7 +2399,7 @@
"message": "Ενεργοποιήστε την ανίχνευση NFT στις Ρυθμίσεις"
},
"selectPathHelp": {
"message": "Εάν δεν βλέπετε τους υπάρχοντες λογαριασμούς σας Καθολικού παρακάτω, προσπαθήστε να αλλάξετε τις διαδρομές σε \"Legacy (MEW / MyCrypto)\""
"message": "Εάν δεν βλέπετε τους αναμενόμενους λογαριασμούς, προσπαθήστε να αλλάξετε το μονοπάτι HD."
},
"selectType": {
"message": "Επιλέξτε Τύπο"
@ -2454,9 +2427,6 @@
"message": "Αποστολή $1",
"description": "$1 represents the native currency symbol for the current network (e.g. ETH or BNB)"
},
"separateEachWord": {
"message": "Διαχωρίστε κάθε λέξη με ένα μόνο κενό"
},
"setAdvancedPrivacySettings": {
"message": "Ορίστε ρυθμίσεις απορρήτου για προχωρημένους"
},
@ -2545,7 +2515,7 @@
"message": "Παράλειψη Ασφάλειας Λογαριασμού;"
},
"skipAccountSecurityDetails": {
"message": "Καταλαβαίνω ότι μέχρι να δημιουργήσω αντίγραφα ασφαλείας για την Μυστική Φράση Ανάκτησής μου, μπορεί να χάσω τους λογαριασμούς μου και όλα τα περιουσιακά στοιχεία τους."
"message": "Καταλαβαίνω ότι μέχρι να δημιουργήσω αντίγραφα ασφαλείας για τη Μυστική Φράση Ανάκτησής μου, μπορεί να χάσω τους λογαριασμούς μου και όλα τα περιουσιακά στοιχεία τους."
},
"slow": {
"message": "Αργά"
@ -2763,7 +2733,7 @@
"message": "Τα τέλη συναλλαγών στην προηγούμενη οθόνη μοιράζονται μεταξύ αυτών των δύο συναλλαγών."
},
"swapGasFeesSummary": {
"message": "Τα τέλη συναλλαγών καταβάλλονται σε κρυπτο miners που επεξεργάζονται συναλλαγές στο δίκτυο $1. Το MetaMask δεν επωφελείται από τα τέλη συναλλαγών.",
"message": "Τα τέλη συναλλαγών καταβάλλονται σε κρυπτο-miners που επεξεργάζονται συναλλαγές στο δίκτυο $1. Το MetaMask δεν επωφελείται από τα τέλη συναλλαγών.",
"description": "$1 is the selected network, e.g. Ethereum or BSC"
},
"swapHighSlippageWarning": {
@ -2783,7 +2753,7 @@
"message": "Τέλος MetaMask"
},
"swapMetaMaskFeeDescription": {
"message": "Βρίσκουμε την καλύτερη τιμή από τις κορυφαίες πηγές ρευστότητας, κάθε φορά. Μια αμοιβή $1% λαμβάνεται αυτόματα υπόψη σε αυτή τη προσφορά.",
"message": "Βρίσκουμε την καλύτερη τιμή από τις κορυφαίες πηγές ρευστότητας, κάθε φορά. Μια αμοιβή $1% λαμβάνεται αυτόματα υπόψη σε αυτή την προσφορά.",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
},
"swapNQuotesWithDot": {
@ -2795,7 +2765,7 @@
"description": "Tells the user the amount of time until the currently displayed quotes are update. $1 is a time that is counting down from 1:00 to 0:00"
},
"swapOnceTransactionHasProcess": {
"message": "Το $1 σας θα προστεθεί στο λογαριασμό σας μόλις ολοκληρωθεί αυτή η συναλλαγή.",
"message": "Το $1 σας θα προστεθεί στον λογαριασμό σας μόλις ολοκληρωθεί αυτή η συναλλαγή.",
"description": "This message communicates the token that is being transferred. It is shown on the awaiting swap screen. The $1 will be a token symbol."
},
"swapPriceDifference": {
@ -2901,7 +2871,7 @@
"message": "για επιβεβαίωση με το υλικό πορτοφόλι σας"
},
"swapTokenAvailable": {
"message": "Το $1 σας έχει προστεθεί στο λογαριασμό σας.",
"message": "Το $1 σας έχει προστεθεί στον λογαριασμό σας.",
"description": "This message is shown after a swap is successful and communicates the exact amount of tokens the user has received for a swap. The $1 is a decimal number of tokens followed by the token symbol."
},
"swapTokenBalanceUnavailable": {
@ -3006,7 +2976,7 @@
"message": "Τα δεδομένα σας έχουν συγχρονιστεί με επιτυχία. Απολαύστε την εφαρμογή MetaMask για κινητά!"
},
"syncWithMobileDesc": {
"message": "Μπορείτε να συγχρονίσετε τους λογαριασμούς και τις πληροφορίες σας με την κινητή συσκευή σας. Ανοίξτε την εφαρμογή MetaMask για κινητά, μεταβείτε στην ενότητα \"Ρυθμίσεις\" και πατήστε \"Συγχρονισμός από Επέκταση Προγράμματος Περιήγησης\""
"message": "Μπορείτε να συγχρονίσετε τους λογαριασμούς και τις πληροφορίες σας με την κινητή συσκευή σας. Ανοίξτε την εφαρμογή MetaMask για κινητά, μεταβείτε στην ενότητα \"Ρυθμίσεις\" και πατήστε \"Συγχρονισμός από Επέκταση Προγράμματος Περιήγησης\""
},
"syncWithMobileDescNewUsers": {
"message": "Εάν απλά ανοίξετε την εφαρμογή MetaMask Mobile για πρώτη φορά, απλώς ακολουθήστε τα βήματα στο τηλέφωνό σας."
@ -3036,7 +3006,7 @@
"message": "Έλεγχος Βαλβίδας"
},
"thisWillCreate": {
"message": "Αυτό θα δημιουργήσει ένα νέο πορτοφόλι και φράση φύτρου"
"message": "Αυτό θα δημιουργήσει ένα νέο πορτοφόλι και Μυστική Φράση Ανάκτησης"
},
"time": {
"message": "Ώρα"
@ -3071,7 +3041,7 @@
"message": "Νέο! Η βελτιωμένη ανίχνευση token είναι διαθέσιμη στο Ethereum Mainnet ως πειραματικό χαρακτηριστικό. $1"
},
"tokenSymbol": {
"message": "Σύμβολο Διακριτικού"
"message": "Σύμβολο Token"
},
"tooltipApproveButton": {
"message": "Καταλαβαίνω"
@ -3125,7 +3095,7 @@
"message": "Τα τέλη συναλλαγών καθορίζονται από το δίκτυο και θα αυξάνονται ανάλογα με την κυκλοφορία του δικτύου και την πολυπλοκότητα των συναλλαγών."
},
"transactionDetailGasTooltipIntro": {
"message": "Τα τέλη συναλλαγών καταβάλλονται σε κρυπτο miners που επεξεργάζονται συναλλαγές στο δίκτυο $1. Το MetaMask δεν επωφελείται από τα τέλη συναλλαγών."
"message": "Τα τέλη συναλλαγών καταβάλλονται σε κρυπτο-miners που επεξεργάζονται συναλλαγές στο δίκτυο $1. Το MetaMask δεν επωφελείται από τα τέλη συναλλαγών."
},
"transactionDetailGasTotalSubtitle": {
"message": "Ποσό + τέλος συναλλαγής"
@ -3173,7 +3143,7 @@
"message": "Σύνολο Τέλους Συναλλαγής"
},
"transactionResubmitted": {
"message": "Η συναλλαγή υποβλήθηκε ξανά με το τέλος gas να έχει αυξηθεί για $1 σε $2"
"message": "Η συναλλαγή υποβλήθηκε ξανά με το τέλος gas να έχει αυξηθεί για $1 σε $2"
},
"transactionSubmitted": {
"message": "Η συναλλαγή στάλθηκε με τέλος gas του $1 σε $2."
@ -3195,7 +3165,7 @@
"description": "$1 is the wallet device name; $2 is a link to wallet connection guide"
},
"troubleTokenBalances": {
"message": "Είχαμε πρόβλημα να φορτώσουμε τα υπόλοιπα του διακριτικού σας. Μπορείτε να τα δείτε",
"message": "Είχαμε πρόβλημα να φορτώσουμε τα υπόλοιπα του διακριτικού σας. Μπορείτε να τα δείτε ",
"description": "Followed by a link (here) to view token balances"
},
"trustSiteApprovePermission": {
@ -3236,7 +3206,7 @@
"message": "Παρουσιάστηκε σφάλμα κατά την προσπάθεια πρόσβασης στην κάμερά σας. Παρακαλούμε προσπαθήστε πάλι..."
},
"unknownCameraErrorTitle": {
"message": "Ουπς! Κάτι πήγε στραβά..."
"message": "Ουπς! Κάτι πήγε στραβά...."
},
"unknownNetwork": {
"message": "Άγνωστο Ιδιωτικό Δίκτυο"
@ -3369,9 +3339,6 @@
"walletCreationSuccessTitle": {
"message": "Επιτυχής δημιουργία πορτοφολιού"
},
"walletSeedRestore": {
"message": "Μυστικής Φράσης Ανάκτησης Πορτοφολιού"
},
"web3ShimUsageNotification": {
"message": "Παρατηρήσαμε ότι η τρέχουσα ιστοσελίδα προσπάθησε να χρησιμοποιήσει το αφαιρεθέν window.web3 API. Αν η ιστοσελίδα φαίνεται να έχει παραβιαστεί, κάντε κλικ στο $1 για περισσότερες πληροφορίες.",
"description": "$1 is a clickable link."
@ -3432,7 +3399,7 @@
"message": "Υπογράφετε"
},
"yourPrivateSeedPhrase": {
"message": "Η προσωπική σας φράση φύτρου"
"message": "Η προσωπική σας Μυστική Φράση Ανάκτησης"
},
"zeroGasPriceOnSpeedUpError": {
"message": "Μηδενική τιμή καυσίμου κατά την επιτάχυνση"

View File

@ -47,9 +47,6 @@
"about": {
"message": "About"
},
"aboutSettingsDescription": {
"message": "Version, support center, and contact info"
},
"acceleratingATransaction": {
"message": "* Accelerating a transaction by using a higher gas price increases its chances of getting processed by the network faster, but it is not always guaranteed."
},
@ -70,6 +67,9 @@
"accountDetails": {
"message": "Account details"
},
"accountIdenticon": {
"message": "Account Identicon"
},
"accountName": {
"message": "Account Name"
},
@ -185,9 +185,6 @@
"advancedPriorityFeeToolTip": {
"message": "Priority fee (aka “miner tip”) goes directly to miners and incentivizes them to prioritize your transaction."
},
"advancedSettingsDescription": {
"message": "Access developer features, download State Logs, Reset Account, setup test networks and custom RPC"
},
"affirmAgree": {
"message": "I Agree"
},
@ -212,9 +209,6 @@
"alerts": {
"message": "Alerts"
},
"alertsSettingsDescription": {
"message": "Enable or disable each alert"
},
"allowExternalExtensionTo": {
"message": "Allow this external extension to:"
},
@ -257,6 +251,9 @@
"approve": {
"message": "Approve spend limit"
},
"approveAndInstall": {
"message": "Approve & Install"
},
"approveButtonText": {
"message": "Approve"
},
@ -270,6 +267,12 @@
"approvedAmountWithColon": {
"message": "Approved amount:"
},
"areYouDeveloper": {
"message": "Are you a developer?"
},
"areYouSure": {
"message": "Are you sure?"
},
"asset": {
"message": "Asset"
},
@ -371,8 +374,8 @@
"message": "View account at $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Use Blockies Identicon"
"blockies": {
"message": "Blockies"
},
"browserNotSupported": {
"message": "Your Browser is not supported..."
@ -444,6 +447,10 @@
"chainIdExistsErrorMsg": {
"message": "This Chain ID is currently used by the $1 network."
},
"chainListReturnedDifferentTickerSymbol": {
"message": "The network with chain ID $1 may use a different currency symbol ($2) than the one you have entered. Please verify before continuing.",
"description": "$1 is the chain id currently entered in the network form and $2 is the return value of nativeCurrency.symbol from chainlist.network"
},
"chromeRequiredForHardwareWallets": {
"message": "You need to use MetaMask on Google Chrome in order to connect to your Hardware Wallet."
},
@ -544,6 +551,10 @@
"message": "$1 is not connected to any sites.",
"description": "$1 is the account name"
},
"connectedSnapSites": {
"message": "$1 snap is connected to these sites. They have access to the permissions listed above.",
"description": "$1 represents the name of the snap"
},
"connecting": {
"message": "Connecting..."
},
@ -571,9 +582,6 @@
"contacts": {
"message": "Contacts"
},
"contactsSettingsDescription": {
"message": "Add, edit, remove, and manage your contacts"
},
"continue": {
"message": "Continue"
},
@ -1017,7 +1025,7 @@
"message": "Learn more."
},
"endpointReturnedDifferentChainId": {
"message": "The endpoint returned a different chain ID: $1",
"message": "The RPC URL you have entered returned a different chain ID ($1). Please update the Chain ID to match the RPC URL of the network you are trying to add.",
"description": "$1 is the return value of eth_chainId from an RPC endpoint"
},
"ensIllegalCharacter": {
@ -1085,10 +1093,6 @@
"ethGasPriceFetchWarning": {
"message": "Backup gas price is provided as the main gas estimation service is unavailable right now."
},
"eth_accounts": {
"message": "See address, account balance, activity and suggest transactions to approve",
"description": "The description for the `eth_accounts` permission"
},
"ethereumPublicAddress": {
"message": "Ethereum Public Address"
},
@ -1101,15 +1105,15 @@
"etherscanViewOn": {
"message": "View on Etherscan"
},
"expandExperience": {
"message": "Expand your web3 experience"
},
"expandView": {
"message": "Expand view"
},
"experimental": {
"message": "Experimental"
},
"experimentalSettingsDescription": {
"message": "Token detection & more"
},
"exportPrivateKey": {
"message": "Export Private Key"
},
@ -1126,6 +1130,9 @@
"failedToFetchChainId": {
"message": "Could not fetch chain ID. Is your RPC URL correct?"
},
"failedToFetchTickerSymbolData": {
"message": "Ticker symbol verification data is currently unavailable, make sure that the symbol you have entered is correct. It will impact the conversion rates that you see for this network"
},
"failureMessage": {
"message": "Something went wrong, and we were unable to complete the action"
},
@ -1302,9 +1309,6 @@
"general": {
"message": "General"
},
"generalSettingsDescription": {
"message": "Currency conversion, primary currency, language, blockies identicon"
},
"getEther": {
"message": "Get Ether"
},
@ -1359,6 +1363,9 @@
"hide": {
"message": "Hide"
},
"hideToken": {
"message": "Hide token"
},
"hideTokenPrompt": {
"message": "Hide Token?"
},
@ -1530,6 +1537,12 @@
"ipfsGatewayDescription": {
"message": "Enter the URL of the IPFS CID gateway to use for ENS content resolution."
},
"jazzAndBlockies": {
"message": "Jazzicons and Blockies are two different styles of unique icons that help you identify an account at a glance."
},
"jazzicons": {
"message": "Jazzicons"
},
"jsDeliver": {
"message": "jsDeliver"
},
@ -1681,6 +1694,12 @@
"message": "Make sure no one is watching your screen",
"description": "Warning to users to be care while creating and saving their new Secret Recovery Phrase"
},
"malformedData": {
"message": "Malformed data"
},
"manageSnaps": {
"message": "Manage your installed Snaps"
},
"max": {
"message": "Max"
},
@ -1826,6 +1845,9 @@
"negativeETH": {
"message": "Can not send negative amounts of ETH."
},
"network": {
"message": "Network:"
},
"networkDetails": {
"message": "Network Details"
},
@ -1856,9 +1878,6 @@
"networkSettingsChainIdDescription": {
"message": "The chain ID is used for signing transactions. It must match the chain ID returned by the network. You can enter a decimal or '0x'-prefixed hexadecimal number, but we will display the number in decimal."
},
"networkSettingsDescription": {
"message": "Add and edit custom RPC networks"
},
"networkStatus": {
"message": "Network status"
},
@ -1965,6 +1984,9 @@
"noNFTs": {
"message": "No NFTs yet"
},
"noSnaps": {
"message": "No Snaps installed"
},
"noThanks": {
"message": "No Thanks"
},
@ -2166,6 +2188,9 @@
"message": "Open MetaMask in full screen to connect your ledger via WebHID.",
"description": "Shown to the user on the confirm screen when they are viewing MetaMask in a popup window but need to connect their ledger via webhid."
},
"openSourceCode": {
"message": "Check the source code"
},
"optional": {
"message": "Optional"
},
@ -2222,6 +2247,37 @@
"permissionRequest": {
"message": "Permission request"
},
"permissionRequestCapitalized": {
"message": "Permission Request"
},
"permission_accessNetwork": {
"message": "Access the Internet.",
"description": "The description of the `endowment:network-access` permission."
},
"permission_accessSnap": {
"message": "Connect to the $1 Snap.",
"description": "The description for the `wallet_snap_*` permission. $1 is the name of the Snap."
},
"permission_customConfirmation": {
"message": "Display a confirmation in MetaMask.",
"description": "The description for the `snap_confirm` permission"
},
"permission_ethereumAccounts": {
"message": "See address, account balance, activity and suggest transactions to approve",
"description": "The description for the `eth_accounts` permission"
},
"permission_manageBip44Keys": {
"message": "Control your \"$1\" accounts and assets.",
"description": "The description for the `snap_getBip44Entropy_*` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
},
"permission_manageState": {
"message": "Store and manage its data on your device.",
"description": "The description for the `snap_manageState` permission"
},
"permission_unknown": {
"message": "Unknown permission: $1",
"description": "$1 is the name of a requested permission that is not recognized."
},
"permissions": {
"message": "Permissions"
},
@ -2357,6 +2413,12 @@
"removeNFT": {
"message": "Remove NFT"
},
"removeSnap": {
"message": "Remove Snap"
},
"removeSnapDescription": {
"message": "This action will delete the snap, its data and revoke your given permissions."
},
"replace": {
"message": "replace"
},
@ -2460,9 +2522,6 @@
"securityAndPrivacy": {
"message": "Security & Privacy"
},
"securitySettingsDescription": {
"message": "Privacy settings and wallet Secret Recovery Phrase"
},
"seedPhraseConfirm": {
"message": "Confirm Secret Recovery Phrase"
},
@ -2582,9 +2641,6 @@
"message": "Sending $1",
"description": "$1 represents the native currency symbol for the current network (e.g. ETH or BNB)"
},
"separateEachWord": {
"message": "Separate each word with a single space"
},
"setAdvancedPrivacySettings": {
"message": "Set advanced privacy settings"
},
@ -2678,6 +2734,39 @@
"slow": {
"message": "Slow"
},
"snapAccess": {
"message": "$1 snap has access to:",
"description": "$1 represents the name of the snap"
},
"snapError": {
"message": "Snap Error: '$1'. Error Code: '$2'",
"description": "This is shown when a snap encounters an error. $1 is the error message from the snap, and $2 is the error code."
},
"snapInstall": {
"message": "Install Snap"
},
"snapInstallWarningCheck": {
"message": "To confirm you understand, check all."
},
"snapInstallWarningKeyAccess": {
"message": "You are granting key access to the snap \"$1\". This is irrevocable and grants \"$1\" control of your accounts and assets. Make sure you trust \"$1\" before proceeding.",
"description": "The parameter is the name of the snap"
},
"snapRequestsPermission": {
"message": "This snap is requesting the following permissions:"
},
"snaps": {
"message": "Snaps"
},
"snapsSettingsDescription": {
"message": "Manage your Snaps"
},
"snapsStatus": {
"message": "Snap status is dependent on activity."
},
"snapsToggle": {
"message": "A snap will only run if it is enabled"
},
"somethingWentWrong": {
"message": "Oops! Something went wrong."
},
@ -2739,6 +2828,9 @@
"stateLogsDescription": {
"message": "State logs contain your public account addresses and sent transactions."
},
"status": {
"message": "Status"
},
"statusConnected": {
"message": "Connected"
},
@ -3198,6 +3290,12 @@
"tokenDecimalFetchFailed": {
"message": "Token decimal required."
},
"tokenDecimalTitle": {
"message": "Token Decimal:"
},
"tokenDetails": {
"message": "Token details"
},
"tokenDetectionAnnouncement": {
"message": "New! Improved token detection is available on Ethereum Mainnet as an experimental feature. $1"
},
@ -3503,9 +3601,6 @@
"walletCreationSuccessTitle": {
"message": "Wallet creation successful"
},
"walletSeedRestore": {
"message": "Wallet Secret Recovery Phrase"
},
"web3ShimUsageNotification": {
"message": "We noticed that the current website tried to use the removed window.web3 API. If the site appears to be broken, please click $1 for more information.",
"description": "$1 is a clickable link."

View File

@ -2,9 +2,6 @@
"about": {
"message": "Acerca de"
},
"aboutSettingsDescription": {
"message": "Versión, centro de soporte técnico e información de contacto"
},
"acceleratingATransaction": {
"message": "* Usar un precio de gas más alto para acelerar una transacción aumenta las posibilidades de un procesamiento más rápido en la red, pero esto no siempre se garantiza."
},
@ -97,9 +94,6 @@
"advancedOptions": {
"message": "Opciones avanzadas"
},
"advancedSettingsDescription": {
"message": "Acceder a recursos para desarrolladores, descargar registros de estado, restablecer cuenta, configurar redes de prueba y RPC personalizada"
},
"affirmAgree": {
"message": "Acepto"
},
@ -124,9 +118,6 @@
"alerts": {
"message": "Alertas"
},
"alertsSettingsDescription": {
"message": "Habilitar o deshabilitar cada alerta"
},
"allowExternalExtensionTo": {
"message": "Permitir que esta extensión externa haga lo siguiente:"
},
@ -242,9 +233,6 @@
"message": "Ver cuenta en $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Usar Blockies Identicon"
},
"browserNotSupported": {
"message": "El explorador no es compatible…"
},
@ -397,9 +385,6 @@
"contacts": {
"message": "Contactos"
},
"contactsSettingsDescription": {
"message": "Agregar, editar, quitar y administrar sus contactos"
},
"continue": {
"message": "Continuar"
},
@ -677,10 +662,6 @@
"ethGasPriceFetchWarning": {
"message": "Se muestra el precio del gas de respaldo, ya que el servicio para calcular el precio del gas principal no se encuentra disponible en este momento."
},
"eth_accounts": {
"message": "Ver las direcciones de las cuentas permitidas (requerido)",
"description": "The description for the `eth_accounts` permission"
},
"ethereumPublicAddress": {
"message": "Dirección pública de Ethereum"
},
@ -787,9 +768,6 @@
"message": "Política de privacidad aquí",
"description": "this translation is intended to be exclusively used as the replacement for the $1 in the gdprMessage translation"
},
"generalSettingsDescription": {
"message": "Conversión de moneda, moneda principal, idioma, Blockies Identicon"
},
"getEther": {
"message": "Obtener ether"
},
@ -1120,9 +1098,6 @@
"networkSettingsChainIdDescription": {
"message": "El id. de la cadena se usa para firmar transacciones. Debe coincidir con el id. de la cadena que devuelve la red. Puede escribir un número decimal o un número hexadecimal con el prefijo “0x”, pero el número se mostrará en decimal."
},
"networkSettingsDescription": {
"message": "Agregar y editar redes RPC personalizadas"
},
"networkURL": {
"message": "Dirección URL de la red"
},
@ -1314,6 +1289,10 @@
"pending": {
"message": "Pendiente"
},
"permission_ethereumAccounts": {
"message": "Ver las direcciones de las cuentas permitidas (requerido)",
"description": "The description for the `eth_accounts` permission"
},
"permissions": {
"message": "Permisos"
},
@ -1515,9 +1494,6 @@
"securityAndPrivacy": {
"message": "Seguridad y privacidad"
},
"securitySettingsDescription": {
"message": "Configuración de privacidad y frase secreta de recuperación de la cartera"
},
"seedPhraseIntroSidebarBulletFour": {
"message": "Escríbala y guárdela en varios lugares secretos."
},
@ -1606,9 +1582,6 @@
"sendTokens": {
"message": "Enviar tokens"
},
"separateEachWord": {
"message": "Separar cada palabra con un solo espacio"
},
"settings": {
"message": "Configuración"
},
@ -2257,9 +2230,6 @@
"walletConnectionGuide": {
"message": "nuestra guía de conexión de la cartera de hardware"
},
"walletSeedRestore": {
"message": "Frase secreta de recuperación de la cartera"
},
"web3ShimUsageNotification": {
"message": "Parece que el sitio web actual intentó utilizar la API de window.web3 que se eliminó. Si el sitio no funciona, haga clic en $1 para obtener más información.",
"description": "$1 is a clickable link."

File diff suppressed because it is too large Load Diff

View File

@ -8,9 +8,6 @@
"about": {
"message": "Teave"
},
"aboutSettingsDescription": {
"message": "Versioon, tugikeskus ja kontaktteave"
},
"acceleratingATransaction": {
"message": "* Tehingu kiirendamine kõrgemate gaasihindadega suurendab võimalust kiiremaks võrgus töötlemiseks, kuid see ei ole alati tagatud."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Täpsemad suvandid"
},
"advancedSettingsDescription": {
"message": "Juurdepääs arendaja funktsioonidele, olekulogide allalaadimine, konto lähtestamine, testvõrkude ja kohandatud RPC-de seadistamine"
},
"amount": {
"message": "Summa"
},
@ -145,9 +139,6 @@
"message": "Vaata kontot $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Kasuta Blockies Identiconi"
},
"browserNotSupported": {
"message": "Teie lehitsejat ei toetata..."
},
@ -416,9 +407,6 @@
"general": {
"message": "Üldine teave"
},
"generalSettingsDescription": {
"message": "Valuutavahetus, põhivaluuta, keel, plokkidest identicon"
},
"getEther": {
"message": "Hankige eetrit"
},
@ -587,9 +575,6 @@
"networkName": {
"message": "Võrgu nimi"
},
"networkSettingsDescription": {
"message": "Kohandatud RPC-võrkude lisamine ja muutmine"
},
"networks": {
"message": "Võrgud"
},
@ -824,9 +809,6 @@
"securityAndPrivacy": {
"message": "Turvalisus ja privaatsus"
},
"securitySettingsDescription": {
"message": "Privaatsusseaded ja rahakoti seemnefraas"
},
"seedPhrasePlaceholder": {
"message": "Eraldage iga sõna ühe tühikuga"
},
@ -860,9 +842,6 @@
"sendTokens": {
"message": "Saada lube"
},
"separateEachWord": {
"message": "Eraldage iga sõna ühe tühikuga"
},
"settings": {
"message": "Seaded"
},

View File

@ -8,9 +8,6 @@
"about": {
"message": "درباره"
},
"aboutSettingsDescription": {
"message": "نسخه، مرکز پشتیبانی و معلومات تماس."
},
"acceleratingATransaction": {
"message": "* تسریع یک معامله با استفاده از قیمت بالاتر گاز، فرصت تسریع پروسس آنرا توسط شبکه افزایش میدهد اما همیشه این تضمین نمیشود."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "گزینه های پیشرفته"
},
"advancedSettingsDescription": {
"message": "مشخصات توسعه دهنده دسترسی، دفترچه ثبت وضعیت دانلود، دوباره سازی حساب، شبکه های آزمایشی تنظیمات و RPC معمول."
},
"amount": {
"message": "مبلغ"
},
@ -145,9 +139,6 @@
"message": "مشاهده حساب در 1$1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "استفاده شناسا بلوک ها"
},
"browserNotSupported": {
"message": "مرورگر شما پشتیبانی نمیشود"
},
@ -420,9 +411,6 @@
"general": {
"message": "عمومی"
},
"generalSettingsDescription": {
"message": "تبادل واحد پول، واحد پول اصلی، زبان، شناسا های بلوکی"
},
"getEther": {
"message": "اتر را بگیرید"
},
@ -597,9 +585,6 @@
"networkName": {
"message": "نام شبکه"
},
"networkSettingsDescription": {
"message": "اضافه سازی و ویرایش شبکه های دلخواه PRC"
},
"networks": {
"message": "شبکه ها"
},
@ -834,9 +819,6 @@
"securityAndPrivacy": {
"message": "امنیت و حریم خصوصی"
},
"securitySettingsDescription": {
"message": "تنظیمات حریم خصوصی و عبارت بازیاب کیف"
},
"seedPhrasePlaceholder": {
"message": "هر کلمه را با یک فاصله واحد جدا سازید"
},
@ -870,9 +852,6 @@
"sendTokens": {
"message": "رمزیاب ها را ارسال کنید"
},
"separateEachWord": {
"message": "هر کلمه را با یک فاصله واحد جدا سازید"
},
"settings": {
"message": "تنظیمات"
},

View File

@ -8,9 +8,6 @@
"about": {
"message": "Tietoja asetuksista"
},
"aboutSettingsDescription": {
"message": "Versio, tukikeskus ja yhteystiedot"
},
"acceleratingATransaction": {
"message": "* Tapahtuman nopeuttaminen käyttämällä korkeampaa gas-hintaa parantaa mahdollisuutta, että verkko käsittelee sen nopeammin, mutta tämä ei ole aina taattua."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Tarkemmat vaihtoehdot"
},
"advancedSettingsDescription": {
"message": "Käytä kehittäjän ominaisuuksia, lataa tilalokeja, palauta tilit, asenna testiverkostoja ja muokattavia RPC:itä"
},
"amount": {
"message": "Summa"
},
@ -145,9 +139,6 @@
"message": "Näytä tili kohteessa $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Käytä Blockies Identiconia"
},
"browserNotSupported": {
"message": "Selaintasi ei tueta..."
},
@ -420,9 +411,6 @@
"general": {
"message": "Yleistä"
},
"generalSettingsDescription": {
"message": "Valuuttamuunnin, päävaluutta, kieli, blockies identicon"
},
"getEther": {
"message": "Hanki Etheriä"
},
@ -597,9 +585,6 @@
"networkName": {
"message": "Verkon nimi"
},
"networkSettingsDescription": {
"message": "Lisää ja muokkaa omia RPC-verkostojasi"
},
"networks": {
"message": "Verkot"
},
@ -831,9 +816,6 @@
"securityAndPrivacy": {
"message": "Turva & yksityisyys"
},
"securitySettingsDescription": {
"message": "Yksityisyysasetukset ja kukkaron salausteksti"
},
"seedPhrasePlaceholder": {
"message": "Erota kukin sana yhdellä välilyönnillä"
},
@ -867,9 +849,6 @@
"sendTokens": {
"message": "Lähetä tietueita"
},
"separateEachWord": {
"message": "Erottele sanat toisistaan yhdellä välilyönnillä"
},
"settings": {
"message": "Asetukset"
},

View File

@ -8,9 +8,6 @@
"about": {
"message": "Tungkol sa"
},
"aboutSettingsDescription": {
"message": "Bersyon, support center, at impormasyon sa pakikipag-ugnayan"
},
"acceleratingATransaction": {
"message": "* Ang pagpapabilis sa isang transaksyon sa pamamagitan ng paggamit ng mas mataas na presyo ng gas ay makakadagdag sa tsansa nitong maproseso ng network nang mas mabilis, pero hindi ito palaging garantisado."
},
@ -56,9 +53,6 @@
"advancedOptions": {
"message": "Mga Advanced na Opsyon"
},
"advancedSettingsDescription": {
"message": "I-access ang mga feature para sa mga developer, mag-download ng mga State Log, I-reset ang Account, mag-set up ng mga testnet at custom RPC"
},
"amount": {
"message": "Halaga"
},
@ -130,9 +124,6 @@
"message": "Tingnan ang account sa $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Gumamit ng Blockies Identicon"
},
"browserNotSupported": {
"message": "Hindi sinusuportahan ang iyong Browser..."
},
@ -389,9 +380,6 @@
"general": {
"message": "Pangkalahatan"
},
"generalSettingsDescription": {
"message": "Pagpapapalit ng currency, pangunahing currency, wika, blockies identicon"
},
"getEther": {
"message": "Kumuha ng Ether"
},
@ -535,9 +523,6 @@
"networkName": {
"message": "Pangalan ng Network"
},
"networkSettingsDescription": {
"message": "Magdagdag at mag-edit ng mga custom na RPC network"
},
"networks": {
"message": "Mga Network"
},
@ -752,9 +737,6 @@
"securityAndPrivacy": {
"message": "Seguridad at Privacy"
},
"securitySettingsDescription": {
"message": "Mga setting ng privacy at seed phrase ng wallet"
},
"seedPhrasePlaceholder": {
"message": "Paghiwa-hiwalayin ang bawat salita gamit ang isang space"
},
@ -788,9 +770,6 @@
"sendTokens": {
"message": "Magpadala ng Mga Token"
},
"separateEachWord": {
"message": "Paghiwa-hiwalayin ang bawat salita gamit ang isang space"
},
"settings": {
"message": "Mga Setting"
},

File diff suppressed because it is too large Load Diff

View File

@ -8,9 +8,6 @@
"about": {
"message": "מידע כללי"
},
"aboutSettingsDescription": {
"message": "גרסה, מרכז תמיכה ופרטי יצירת קשר."
},
"acceleratingATransaction": {
"message": "* האצת עסקה על ידי שימוש במחיר דלק גבוה יותר מגדילה את סיכוייה לעבור עיבוד מהיר יותר ע\"י הרשת, אך זה לא תמיד מובטח."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "אפשרויות מתקדמות"
},
"advancedSettingsDescription": {
"message": "קבלת גישה לפיצ'רים למפתחים, הורדת יומני מצב, איפוס חשבון, הגדרת testnets ו-RPC מותאם אישית."
},
"amount": {
"message": "כמות"
},
@ -145,9 +139,6 @@
"message": "הצג חשבון ב- $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "השתמש ב- Blockies Identicon"
},
"browserNotSupported": {
"message": "הדפדפן שלך אינו נתמך..."
},
@ -420,9 +411,6 @@
"general": {
"message": "כללי"
},
"generalSettingsDescription": {
"message": "המרת מטבע, מטבע עיקרי, שפה, blockies identicon"
},
"getEther": {
"message": "השג/י את'ר"
},
@ -594,9 +582,6 @@
"networkName": {
"message": "שם רשת"
},
"networkSettingsDescription": {
"message": "הוסף וערוך רשתות RPC מותאמות אישית"
},
"networks": {
"message": "רשתות"
},
@ -828,9 +813,6 @@
"securityAndPrivacy": {
"message": "אבטחה ופרטיות"
},
"securitySettingsDescription": {
"message": "הגדרות פרטיות וצירוף הגרעין של הארנק"
},
"seedPhrasePlaceholder": {
"message": "הפרד/י בין המילים ברווח אחד"
},
@ -864,9 +846,6 @@
"sendTokens": {
"message": "שלח טוקנים"
},
"separateEachWord": {
"message": "יש להפריד כל מילה עם רווח יחיד"
},
"settings": {
"message": "הגדרות"
},

File diff suppressed because it is too large Load Diff

View File

@ -45,9 +45,6 @@
"balance": {
"message": "उपलब्ध बैलेंस।"
},
"blockiesIdenticon": {
"message": "ब्लॉकीज पहचान का उपयोग करें"
},
"cancel": {
"message": "रद्द करें"
},

View File

@ -8,9 +8,6 @@
"about": {
"message": "O opcijama"
},
"aboutSettingsDescription": {
"message": "Inačica, centar za podršku i informacije za kontakt"
},
"acceleratingATransaction": {
"message": "* Ubrzavanjem se transakcije pomoću veće cijene goriva povećava šansa za bržu obradu mrežom, ali se uvijek ne jamči."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Napredne mogućnosti"
},
"advancedSettingsDescription": {
"message": "Pristup značajkama razvojnog inženjera, preuzimanje zapisnika stanja, poništavanje računa, postavljanje testnih mreža i prilagođeni RPC"
},
"amount": {
"message": "Iznos"
},
@ -145,9 +139,6 @@
"message": "Prikaži račun u $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Upotrijebi identifikaciju blokovima"
},
"browserNotSupported": {
"message": "Vaš se preglednik ne podržava..."
},
@ -416,9 +407,6 @@
"general": {
"message": "Opće"
},
"generalSettingsDescription": {
"message": "Konverzija valuta, glavna valuta, jezik, blockies identicon"
},
"getEther": {
"message": "Dohvati Ether"
},
@ -590,9 +578,6 @@
"networkName": {
"message": "Naziv mreže"
},
"networkSettingsDescription": {
"message": "Dodaj i uredi prilagođene mreže RPC"
},
"networks": {
"message": "Mreže"
},
@ -827,9 +812,6 @@
"securityAndPrivacy": {
"message": "Sigurnost i privatnost"
},
"securitySettingsDescription": {
"message": "Postavke privatnosti i početna rečenica novčanika"
},
"seedPhrasePlaceholder": {
"message": "Odvojite pojedinačne riječi jednim razmakom"
},
@ -863,9 +845,6 @@
"sendTokens": {
"message": "Pošalji tokene"
},
"separateEachWord": {
"message": "Odvojite pojedinačne riječi jednim razmakom"
},
"settings": {
"message": "Postavke"
},

View File

@ -78,9 +78,6 @@
"balance": {
"message": "Balans"
},
"blockiesIdenticon": {
"message": "Itilize Blockies Identicon"
},
"browserNotSupported": {
"message": "Navigatè ou a pa sipòte..."
},
@ -545,9 +542,6 @@
"sendTokens": {
"message": "Voye Tokens"
},
"separateEachWord": {
"message": "Separe chak mo ak yon sèl espas"
},
"settings": {
"message": "Paramèt"
},

View File

@ -8,9 +8,6 @@
"about": {
"message": "Névjegy"
},
"aboutSettingsDescription": {
"message": "Verzió, ügyfélszolgálat és elérhetőségek"
},
"acceleratingATransaction": {
"message": "* Ha szeretné felgyorsítani a tranzakciót azzal, hogy magasabb gázárat használ, az növeli a gyorsabb feldolgozás esélyét, de ez nem mindig garantált."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Haladó beállítások"
},
"advancedSettingsDescription": {
"message": "Hozzáférés fejlesztői funkciókhoz, állapotnaplók letöltése, fiók újraállítása, testnetek és egyéni RPC-k beállítása"
},
"amount": {
"message": "Összeg"
},
@ -145,9 +139,6 @@
"message": "Tekintse meg a fiókot a(z) $1-en",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Blockies identikon használata"
},
"browserNotSupported": {
"message": "Az ön böngészője nem támogatott..."
},
@ -416,9 +407,6 @@
"general": {
"message": "Általános"
},
"generalSettingsDescription": {
"message": "Pénznem átváltása, elsődleges pénznem, nyelv, blockies identikonok"
},
"getEther": {
"message": "Ether beszerzése"
},
@ -590,9 +578,6 @@
"networkName": {
"message": "Hálózat neve"
},
"networkSettingsDescription": {
"message": "Egyedi RPC-hálózatok hozzáadása és szerkesztése"
},
"networks": {
"message": "Hálózatok"
},
@ -827,9 +812,6 @@
"securityAndPrivacy": {
"message": "Biztonság és adatvédelem"
},
"securitySettingsDescription": {
"message": "Biztonsági beállítások és pénztárca kulcsszólánca"
},
"seedPhrasePlaceholder": {
"message": "A szavakat egy-egy szóközzel válassza el"
},
@ -863,9 +845,6 @@
"sendTokens": {
"message": "Token küldése"
},
"separateEachWord": {
"message": "Minden egyes szavat szóközzel válasszon el"
},
"settings": {
"message": "Beállítások"
},

File diff suppressed because it is too large Load Diff

View File

@ -8,9 +8,6 @@
"about": {
"message": "Informazioni"
},
"aboutSettingsDescription": {
"message": "Versione, centro di supporto e contatti"
},
"acceleratingATransaction": {
"message": "* Accelerare una transazione usando un prezzo del gas maggiore aumenta la probabilità che la rete la elabori più velocemente, ma non è garantito."
},
@ -73,9 +70,6 @@
"advancedOptions": {
"message": "Opzioni Avanzate"
},
"advancedSettingsDescription": {
"message": "Accedi alle funzionalità sviluppatore, download dei log di Stato, Reset Account, imposta reti di test e RPC personalizzata"
},
"affirmAgree": {
"message": "Acconsento"
},
@ -100,9 +94,6 @@
"alerts": {
"message": "Avvisi"
},
"alertsSettingsDescription": {
"message": "Attiva o disattiva ogni avviso"
},
"allowExternalExtensionTo": {
"message": "Permetti a questa estensione di:"
},
@ -206,9 +197,6 @@
"message": "Visualizza account su $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Usa le icone Blockie"
},
"browserNotSupported": {
"message": "Il tuo Browser non è supportato..."
},
@ -340,9 +328,6 @@
"contacts": {
"message": "Contatti"
},
"contactsSettingsDescription": {
"message": "Aggiungi, modifica, rimuovi e gestisci i tuoi contatti"
},
"continue": {
"message": "Continua"
},
@ -577,10 +562,6 @@
"estimatedProcessingTimes": {
"message": "Tempi di Elaborazione Stimati"
},
"eth_accounts": {
"message": "Accesso agli indirizzi dei tuoi account autorizzati (richiesto)",
"description": "The description for the `eth_accounts` permission"
},
"ethereumPublicAddress": {
"message": "Indirizzo pubblico Ethereum "
},
@ -681,9 +662,6 @@
"general": {
"message": "Generale"
},
"generalSettingsDescription": {
"message": "Conversione moneta, moneta primaria, lingua, icone blockie"
},
"getEther": {
"message": "Ottieni Ether"
},
@ -952,9 +930,6 @@
"networkSettingsChainIdDescription": {
"message": "Il chain ID è usato per firmare le transazioni. Deve essere uguale al chain ID restituito dalla rete. Puoi inserire un numero intero o un numero esadecimale con prefisso '0x', ma mostreremo sempre un numero intero."
},
"networkSettingsDescription": {
"message": "Aggiungi e modifica reti RPC personalizzate"
},
"networks": {
"message": "Reti"
},
@ -1072,6 +1047,10 @@
"pending": {
"message": "in corso"
},
"permission_ethereumAccounts": {
"message": "Accesso agli indirizzi dei tuoi account autorizzati (richiesto)",
"description": "The description for the `eth_accounts` permission"
},
"permissions": {
"message": "Permessi"
},
@ -1240,9 +1219,6 @@
"securityAndPrivacy": {
"message": "Sicurezza & Privacy"
},
"securitySettingsDescription": {
"message": "Impostazioni sulla Privacy e sulla frase seed del portafoglio"
},
"seedPhrasePlaceholder": {
"message": "Separa ogni parola con un singolo spazio"
},
@ -1292,9 +1268,6 @@
"sendTokens": {
"message": "Invia Tokens"
},
"separateEachWord": {
"message": "Separa ogni parola con un solo spazio"
},
"settings": {
"message": "Impostazioni"
},

File diff suppressed because it is too large Load Diff

View File

@ -8,9 +8,6 @@
"about": {
"message": "ಕುರಿತು"
},
"aboutSettingsDescription": {
"message": "ಆವೃತ್ತಿ, ಬೆಂಬಲ ಕೇಂದ್ರ ಮತ್ತು ಸಂಪರ್ಕ ಮಾಹಿತಿ"
},
"acceleratingATransaction": {
"message": "* ಹೆಚ್ಚಿನ ಗ್ಯಾಸ್ ಬೆಲೆಯನ್ನು ಬಳಸಿಕೊಂಡು ವಹಿವಾಟನ್ನು ವೇಗಗೊಳಿಸುವುದರಿಂದ ನೆಟ್‌ವರ್ಕ್ ವೇಗವಾಗಿ ಪ್ರಕ್ರಿಯೆಗೊಳ್ಳುವ ಸಾಧ್ಯತೆಗಳನ್ನು ಅದು ಹೆಚ್ಚಿಸುತ್ತದೆ, ಆದರೆ ಇದು ಯಾವಾಗಲೂ ಖಚಿತವಾಗಿರುವುದಿಲ್ಲ."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "ಸುಧಾರಿತ ಆಯ್ಕೆಗಳು"
},
"advancedSettingsDescription": {
"message": "ಡೆವಲಪರ್ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಪ್ರವೇಶಿಸಿ, ರಾಜ್ಯದ ಲಾಗ್‌ಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ, ಖಾತೆಯನ್ನು ಮರುಹೊಂದಿಸಿ, ಟೆಸ್ಟ್‌ನೆಟ್ಸ್‌ ಹೊಂದಿಸಿ ಮತ್ತು ಕಸ್ಟಮ್ RPC"
},
"amount": {
"message": "ಮೊತ್ತ"
},
@ -145,9 +139,6 @@
"message": " $1 ನಲ್ಲಿ ಖಾತೆಯನ್ನು ವೀಕ್ಷಿಸಿ",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "ಬ್ಲಾಕೀಸ್ ಐಡೆಂಟಿಕಾನ್ ಬಳಸಿ"
},
"browserNotSupported": {
"message": "ನಿಮ್ಮ ಬ್ರೌಸರ್ ಬೆಂಬಲಿಸುತ್ತಿಲ್ಲ..."
},
@ -420,9 +411,6 @@
"general": {
"message": "ಸಾಮಾನ್ಯ"
},
"generalSettingsDescription": {
"message": "ಕರೆನ್ಸಿ ಪರಿವರ್ತನೆ, ಪ್ರಾಥಮಿಕ ಕರೆನ್ಸಿ, ಭಾಷೆ, ನಿರ್ಬಂಧಗಳ ಗುರುತಿಸುವಿಕೆ"
},
"getEther": {
"message": "ಎಥರ್ ಪಡೆಯಿರಿ"
},
@ -597,9 +585,6 @@
"networkName": {
"message": "ನೆಟ್‌ವರ್ಕ್ ಹೆಸರು"
},
"networkSettingsDescription": {
"message": "ಕಸ್ಟಮ್ RPC ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಸೇರಿಸಿ ಮತ್ತು ಸಂಪಾದಿಸಿ"
},
"networks": {
"message": "ನೆಟ್‌ವರ್ಕ್‌ಗಳು"
},
@ -834,9 +819,6 @@
"securityAndPrivacy": {
"message": "ಭದ್ರತೆ ಮತ್ತು ಗೌಪ್ಯತೆ"
},
"securitySettingsDescription": {
"message": "ಗೌಪ್ಯತೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಮತ್ತು ವ್ಯಾಲೆಟ್ ಸೀಡ್ ಫ್ರೇಸ್"
},
"seedPhrasePlaceholder": {
"message": "ಒಂದು ಸ್ಪೇಸ್ ಮೂಲಕ ಪ್ರತಿ ಪದವನ್ನು ಬೇರ್ಪಡಿಸಿ"
},
@ -870,9 +852,6 @@
"sendTokens": {
"message": "ಟೋಕನ್‌ಗಳನ್ನು ಕಳುಹಿಸಿ"
},
"separateEachWord": {
"message": "ಒಂದು ಸ್ಪೇಸ್ ಮೂಲಕ ಪ್ರತಿ ಪದವನ್ನು ಬೇರ್ಪಡಿಸಿ"
},
"settings": {
"message": "ಸೆಟ್ಟಿಂಗ್‌ಗಳು"
},

File diff suppressed because it is too large Load Diff

View File

@ -8,9 +8,6 @@
"about": {
"message": "Apie"
},
"aboutSettingsDescription": {
"message": "Versija, palaikymo centras ir kontaktinė informacija"
},
"acceleratingATransaction": {
"message": "Operacijos paspartinimas naudojantis didesne dujų kaina padidina galimybes, kad ji bus greičiau apdorota tinkle, tačiau tai ne visada garantuojama. "
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Išplėstinės parinktys"
},
"advancedSettingsDescription": {
"message": "Prieigos kūrėjo funkcijos, būsenos žurnalų atsiuntimas, paskyros atstatymas, „testnet“ nustatymas ir pritaikytas RPC"
},
"amount": {
"message": "Suma"
},
@ -145,9 +139,6 @@
"message": "Peržiūrėti paskyrą $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "„Blockies Identicon“ naudojimas"
},
"browserNotSupported": {
"message": "Jūsų naršyklė neatpažįstama..."
},
@ -420,9 +411,6 @@
"general": {
"message": "Bendra"
},
"generalSettingsDescription": {
"message": "Valiutos keitimas, pagrindinė valiuta, kalba, „blockies identicon“"
},
"getEther": {
"message": "Gauti eterių"
},
@ -597,9 +585,6 @@
"networkName": {
"message": "Tinklo pavadinimas"
},
"networkSettingsDescription": {
"message": "Įtraukti ir redaguoti tinkintus RPC tinklus"
},
"networks": {
"message": "Tinklai"
},
@ -834,9 +819,6 @@
"securityAndPrivacy": {
"message": "Sauga ir privatumas"
},
"securitySettingsDescription": {
"message": "Privatumo nuostatos ir slaptažodinės atkūrimo frazė"
},
"seedPhrasePlaceholder": {
"message": "Kiekvieną žodį atskirkite viengubu tarpu"
},
@ -870,9 +852,6 @@
"sendTokens": {
"message": "Siųsti žetonus"
},
"separateEachWord": {
"message": "Kiekvieną žodį atskirkite viengubu tarpu"
},
"settings": {
"message": "Nustatymai"
},

View File

@ -8,9 +8,6 @@
"about": {
"message": "Par"
},
"aboutSettingsDescription": {
"message": "Versija, atbalsta centrs un kontaktinformācija"
},
"acceleratingATransaction": {
"message": "* Darījuma paātrināšana, izmantojot augstāku Gas cenu, palielina iespēju, ka tīkls to apstrādās ātrāk, taču tas nav garantēts."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Papildu opcijas"
},
"advancedSettingsDescription": {
"message": "Piekļūstiet izstrādātāju funkcijām, lejupielādējiet stāvokļu žurnālus, atiestatiet kontu, iestatiet testa tīklus un pielāgotos RPC izsaukumus"
},
"amount": {
"message": "Apjoms"
},
@ -145,9 +139,6 @@
"message": "Skatīt kontu $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Izmantot blok indentifikatoru"
},
"browserNotSupported": {
"message": "Jūsu pārlūkprogramma netiek atbalstīta..."
},
@ -416,9 +407,6 @@
"general": {
"message": "Vispārīgi"
},
"generalSettingsDescription": {
"message": "Valūtas konvertēšana, galvenā valūta, valoda, bloku identifikators"
},
"getEther": {
"message": "Saņemt Ether"
},
@ -593,9 +581,6 @@
"networkName": {
"message": "Tīkla nosaukums"
},
"networkSettingsDescription": {
"message": "Pievienot un rediģēt pielāgotos RPC tīklus"
},
"networks": {
"message": "Tīkli"
},
@ -830,9 +815,6 @@
"securityAndPrivacy": {
"message": "Drošība un konfidencialitāte"
},
"securitySettingsDescription": {
"message": "Konfidencialitātes iestatījumi un maka atkopšanas frāze"
},
"seedPhrasePlaceholder": {
"message": "Atdaliet katru vārdu ar vienu atstarpi"
},
@ -866,9 +848,6 @@
"sendTokens": {
"message": "Nosūtīt marķierus"
},
"separateEachWord": {
"message": "Atdaliet katru vārdu ar vienu atstarpi"
},
"settings": {
"message": "Iestatījumi"
},

View File

@ -8,9 +8,6 @@
"about": {
"message": "Mengenai"
},
"aboutSettingsDescription": {
"message": "Versi, pusat sokongan, dan maklumat perhubungan"
},
"acceleratingATransaction": {
"message": "* Mempercepatkan transaksi menggunakan harga gas lebih tinggi akan meningkatkan peluang diproses oleh rangkaian lebih cepat, tetapi ini pun tidak sentiasa dijamin."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Pilihan Lanjutan"
},
"advancedSettingsDescription": {
"message": "Akses ciri-ciri pembangun, muat turun Log Keadaan, Set Semula Akaun, sediakan jaringan ujian dan RPC tersuai"
},
"amount": {
"message": "Jumlah"
},
@ -145,9 +139,6 @@
"message": "Lihat akaun pada $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Gunakan Identicon Blockies"
},
"browserNotSupported": {
"message": "Pelayar anda tidak disokong..."
},
@ -413,9 +404,6 @@
"general": {
"message": "Am"
},
"generalSettingsDescription": {
"message": "Penukaran mata wang, mata wang utama, bahasa, blockies identicon"
},
"getEther": {
"message": "Dapatkan Ether"
},
@ -580,9 +568,6 @@
"networkName": {
"message": "Nama Rangkaian"
},
"networkSettingsDescription": {
"message": "Tambah dan sunting rangkaian RPC tersuai"
},
"networks": {
"message": "Rangkaian"
},
@ -814,9 +799,6 @@
"securityAndPrivacy": {
"message": "Keselamatan & Privasi"
},
"securitySettingsDescription": {
"message": "Tetapan privasi dan ungkapan benih dompet"
},
"seedPhrasePlaceholder": {
"message": "Pisahkan setiap perkataan dengan satu ruang"
},
@ -850,9 +832,6 @@
"sendTokens": {
"message": "Hantar Token"
},
"separateEachWord": {
"message": "Pisahkan setiap perkataan dengan ruang tunggal"
},
"settings": {
"message": "Tetapan"
},

View File

@ -45,9 +45,6 @@
"balance": {
"message": "Balans:"
},
"blockiesIdenticon": {
"message": "Gebruik Blockies Identicon"
},
"cancel": {
"message": "Annuleer"
},

View File

@ -8,9 +8,6 @@
"about": {
"message": "Info"
},
"aboutSettingsDescription": {
"message": "Versjon, brukerstøtte og kontaktinformasjon"
},
"acceleratingATransaction": {
"message": "* Akselerering av en transaksjon ved å bruke en høyere datakraftspris øker sjansene for å bli behandlet av nettverket raskere, men det er ikke alltid garantert."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Avanserte valg"
},
"advancedSettingsDescription": {
"message": "Få tilgang til utviklerfunksjoner, last ned tilstandslogger, tilbakestill konto, installer testnett og tilpasset RPC"
},
"amount": {
"message": "Sum"
},
@ -145,9 +139,6 @@
"message": "Se konto på $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Bruk Blockies Identicon"
},
"browserNotSupported": {
"message": "Nettleseren din støttes ikke ..."
},
@ -413,9 +404,6 @@
"general": {
"message": "Generell"
},
"generalSettingsDescription": {
"message": "Valutakonvertering, primærvaluta, språk, identifikasjonsblokkering"
},
"getEther": {
"message": "Skaff Ether "
},
@ -584,9 +572,6 @@
"networkName": {
"message": "Nettverksnavn "
},
"networkSettingsDescription": {
"message": "Legg til og rediger tilpassede RPC-nettverk"
},
"networks": {
"message": "Nettverk"
},
@ -818,9 +803,6 @@
"securityAndPrivacy": {
"message": "Sikkerhet og personvern"
},
"securitySettingsDescription": {
"message": "Personverninnstillinger og lommebokens mnemoniske gjenopprettingsfrase"
},
"seedPhrasePlaceholder": {
"message": "Skill hvert ord med ett enkelt mellomrom"
},
@ -851,9 +833,6 @@
"sendTokens": {
"message": "Send tokener"
},
"separateEachWord": {
"message": "Del hvert ord med et enkelt mellomrom "
},
"settings": {
"message": "Innstillinger"
},

View File

@ -2,9 +2,6 @@
"about": {
"message": "Tungkol Dito"
},
"aboutSettingsDescription": {
"message": "Bersyon, support center, at impormasyon sa pakikipag-ugnayan"
},
"acceleratingATransaction": {
"message": "* Kapag in-accelerate ang transaksyon sa pamamagitan ng paggamit ng mas mataas na presyo ng gas, mas magiging malaki ang tsansang mas mabilis na maiproseso ng network, pero hindi ito palaging ginagarantiya."
},
@ -97,9 +94,6 @@
"advancedOptions": {
"message": "Mga Advanced na Opsyon"
},
"advancedSettingsDescription": {
"message": "I-access ang mga pang-developer na feature, i-download ang Mga Log ng Status, I-reset ang Account, i-set up ang mga testnet at custom na RPC"
},
"affirmAgree": {
"message": "Sang-ayon ako"
},
@ -124,9 +118,6 @@
"alerts": {
"message": "Mga Alerto"
},
"alertsSettingsDescription": {
"message": "I-enable o i-disable ang bawat alerto"
},
"allowExternalExtensionTo": {
"message": "Payagan ang external extension na ito na:"
},
@ -242,9 +233,6 @@
"message": "Tingnan ang account sa $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Gumamit ng Blockies Identicon"
},
"browserNotSupported": {
"message": "Hindi sinusuportahan ang iyong Browser..."
},
@ -400,9 +388,6 @@
"contacts": {
"message": "Mga Contact"
},
"contactsSettingsDescription": {
"message": "Magdagdag, mag-edit, mag-alis, at mamahala ng iyong mga contact"
},
"continue": {
"message": "Magpatuloy"
},
@ -680,10 +665,6 @@
"ethGasPriceFetchWarning": {
"message": "Ibinibigay ang backup na presyo ng gas dahil hindi available ang pangunahing serbisyo sa pagtatantya ng gas sa ngayon."
},
"eth_accounts": {
"message": "Tingnan ang mga address ng iyong mga pinapayagang account (kinakailangan)",
"description": "The description for the `eth_accounts` permission"
},
"ethereumPublicAddress": {
"message": "Pampublikong Address ng Ethereum"
},
@ -796,9 +777,6 @@
"general": {
"message": "Pangkalahatan"
},
"generalSettingsDescription": {
"message": "Conversion ng currency, pangunahing currency, wika, blockies identicon"
},
"getEther": {
"message": "Kunin ang Ether"
},
@ -1142,9 +1120,6 @@
"networkSettingsChainIdDescription": {
"message": "Ginagamit ang chain ID sa paglagda ng mga transaksyon. Dapat itong tumugma sa chain ID na ibinalik ng network. Puwede kang maglagay ng decimal o '0x'-prefixed hexadecimal number, pero ipapakita namin ang numero sa decimal."
},
"networkSettingsDescription": {
"message": "Magdagdag at mag-edit ng mga custom na RPC network"
},
"networkURL": {
"message": "URL ng Network"
},
@ -1339,6 +1314,10 @@
"pending": {
"message": "Nakabinbin"
},
"permission_ethereumAccounts": {
"message": "Tingnan ang mga address ng iyong mga pinapayagang account (kinakailangan)",
"description": "The description for the `eth_accounts` permission"
},
"permissions": {
"message": "Mga Pahintulot"
},
@ -1540,9 +1519,6 @@
"securityAndPrivacy": {
"message": "Seguridad at Privacy"
},
"securitySettingsDescription": {
"message": "Mga setting ng privacy at Secret Recovery Phrase ng wallet"
},
"seedPhraseIntroSidebarBulletFour": {
"message": "Isulat ito at itabi sa maraming tagong lugar."
},
@ -1631,9 +1607,6 @@
"sendTokens": {
"message": "Magpadala ng Mga Token"
},
"separateEachWord": {
"message": "Paghiwa-hiwalayin ang bawat salita gamit ang isang space"
},
"settings": {
"message": "Mga Setting"
},
@ -2288,9 +2261,6 @@
"walletConnectionGuide": {
"message": "ang aming gabay sa pagkonekta ng hardware wallet"
},
"walletSeedRestore": {
"message": "Recovery Phrase ng Wallet Secret"
},
"web3ShimUsageNotification": {
"message": "Napansin naming sinubukang gamitin ng kasalukuyang website ang tinanggal na window.web3 API. Kung mukhang sira ang site, paki-click ang $1 para sa higit pang impormasyon.",
"description": "$1 is a clickable link."

View File

@ -8,9 +8,6 @@
"about": {
"message": "Informacje"
},
"aboutSettingsDescription": {
"message": "Wersja, centrum wsparcia i dane kontaktowe"
},
"acceleratingATransaction": {
"message": "* Przyspieszenie transakcji poprzez zastosowanie wyższej ceny gazu zwiększa szanse na jej szybsze przetworzenie przez sieć, jednak skuteczność tej operacji nie jest gwarantowana."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Opcje zaawansowane"
},
"advancedSettingsDescription": {
"message": "Dostęp do funkcji programisty, pobieranie dzienników stanu, resetowanie konta, konfigurowanie sieci testowych i niestandardowe RPC"
},
"amount": {
"message": "Ilość"
},
@ -145,9 +139,6 @@
"message": "Wyświetl konto w $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Użyj Blockies Identicon"
},
"browserNotSupported": {
"message": "Twoja przeglądarka nie jest obsługiwana..."
},
@ -420,9 +411,6 @@
"general": {
"message": "Ogólne"
},
"generalSettingsDescription": {
"message": "Przeliczanie walut, waluta podstawowa, język, ikona (identicon) Blockies"
},
"getEther": {
"message": "Zdobądź Eter"
},
@ -594,9 +582,6 @@
"networkName": {
"message": "Nazwa sieci"
},
"networkSettingsDescription": {
"message": "Dodawaj i edytuj niestandardowe sieci RPC"
},
"networks": {
"message": "Sieci"
},
@ -828,9 +813,6 @@
"securityAndPrivacy": {
"message": "Bezpieczeństwo i prywatność"
},
"securitySettingsDescription": {
"message": "Ustawienia prywatności i fraza seed portfela"
},
"seedPhrasePlaceholder": {
"message": "Oddziel słowa pojedynczą spacją"
},
@ -864,9 +846,6 @@
"sendTokens": {
"message": "Wyślij tokeny"
},
"separateEachWord": {
"message": "Oddziel słowa pojedynczą spacją"
},
"settings": {
"message": "Ustawienia"
},

View File

@ -45,9 +45,6 @@
"balance": {
"message": "Saldo:"
},
"blockiesIdenticon": {
"message": "Usar Blockies Identicon"
},
"cancel": {
"message": "Cancelar"
},

File diff suppressed because it is too large Load Diff

View File

@ -8,9 +8,6 @@
"about": {
"message": "Despre"
},
"aboutSettingsDescription": {
"message": "Versiune, centru de asistență și date de contact"
},
"acceleratingATransaction": {
"message": "* Accelerarea unei tranzacții folosind un preț în gas mai mare îi crește șansele de a fi procesată mai rapid de rețea, însă acest lucru nu este garantat întotdeauna."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Opțiuni avansate"
},
"advancedSettingsDescription": {
"message": "Accesați funcții pentru dezvoltatori, descărcați Jurnale de stare, resetați contul, configurați rețele de test și RPC personalizat"
},
"amount": {
"message": "Sumă"
},
@ -145,9 +139,6 @@
"message": "Vizualizare cont la $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Folosește Blockies Identicon"
},
"browserNotSupported": {
"message": "Browserul dvs. nu este compatibil..."
},
@ -413,9 +404,6 @@
"gasUsed": {
"message": "Suma gaz folosită"
},
"generalSettingsDescription": {
"message": "Schimb valutar, moneda principală, limba, blockies identicon"
},
"getEther": {
"message": "Obțineți Ether"
},
@ -584,9 +572,6 @@
"networkName": {
"message": "Numele rețelei"
},
"networkSettingsDescription": {
"message": "Adăugați și editați rețelele RPC particularizate"
},
"networks": {
"message": "Rețele"
},
@ -821,9 +806,6 @@
"securityAndPrivacy": {
"message": "Securitate și confidențialitate"
},
"securitySettingsDescription": {
"message": "Setările de confidențialitate și fraza seed a portofelului"
},
"seedPhrasePlaceholder": {
"message": "Despărțiți fiecare cuvânt cu un spațiu"
},
@ -857,9 +839,6 @@
"sendTokens": {
"message": "Trimiteți indicative"
},
"separateEachWord": {
"message": "Despărțiți fiecare cuvânt cu un spațiu"
},
"settings": {
"message": "Setări"
},

File diff suppressed because it is too large Load Diff

View File

@ -8,9 +8,6 @@
"about": {
"message": "Informácie"
},
"aboutSettingsDescription": {
"message": "Verzia, centrum podpory a kontaktné informácie"
},
"acceleratingATransaction": {
"message": "*Urýchlenie transakcie pomocou vyššej ceny za GAS zvyšuje šance na rýchlejšie spracovanie v sieti, nie je to však vždy zaručené."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Rozšírené nastavenia"
},
"advancedSettingsDescription": {
"message": "Získajte prístup k vývojárskym funkciám, sťahujte si Stavové denníky, resetujte účet, nastavujte testovacie siete a vlastné RPC"
},
"amount": {
"message": "Částka"
},
@ -139,9 +133,6 @@
"message": "Zobraziť účet na $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Použít Blockies Identicon"
},
"browserNotSupported": {
"message": "Váš prehliadač nie je podporovaný..."
},
@ -414,9 +405,6 @@
"general": {
"message": "Všeobecne"
},
"generalSettingsDescription": {
"message": "Prevod mien, primárna mena, jazyk, identifikácia blokov"
},
"getEther": {
"message": "Získejte Ether"
},
@ -569,9 +557,6 @@
"networkName": {
"message": "Názov siete"
},
"networkSettingsDescription": {
"message": "Pridať a upraviť vlastné siete RPC"
},
"networks": {
"message": "Sítě"
},
@ -797,9 +782,6 @@
"securityAndPrivacy": {
"message": "Bezpečnosť a súkromie"
},
"securitySettingsDescription": {
"message": "Nastavenia súkromia a seed fráza peňaženky"
},
"seedPhrasePlaceholder": {
"message": "Každé slovo oddeľte jednou medzerou"
},
@ -833,9 +815,6 @@
"sendTokens": {
"message": "Odeslat tokeny"
},
"separateEachWord": {
"message": "Každé slovo oddeľte jednou medzerou"
},
"settings": {
"message": "Nastavení"
},

View File

@ -8,9 +8,6 @@
"about": {
"message": "O možnostih"
},
"aboutSettingsDescription": {
"message": "Različica, center za podporo in podatki za stik"
},
"acceleratingATransaction": {
"message": "* Pospešitev transakcije z višjo gas ceno poveča njene možnosti za hitrejšo obdelavo v omrežju, vendar ni vedno zagotovljena."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Napredne možnosti"
},
"advancedSettingsDescription": {
"message": "Dostopite do funkcij razvijalca, prenesite dnevnike držav, ponastavite račun, nastavite testne mreže in RPC po meri"
},
"amount": {
"message": "Znesek"
},
@ -145,9 +139,6 @@
"message": "Ogled računa na  $1 ",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Uporabi identifikacijo Blockies"
},
"browserNotSupported": {
"message": "Vaš brskalnik ni podptrt ..."
},
@ -417,9 +408,6 @@
"general": {
"message": "Splošno"
},
"generalSettingsDescription": {
"message": "Pretvorba valut, primarna valuta, jezik, identifikacija Blockies"
},
"getEther": {
"message": "Pridobi Ether"
},
@ -585,9 +573,6 @@
"networkName": {
"message": "Ime omrežja"
},
"networkSettingsDescription": {
"message": "Dodajte in uredite omrežja RPC po meri"
},
"networks": {
"message": "Omrežja"
},
@ -822,9 +807,6 @@
"securityAndPrivacy": {
"message": "Varnost in zasebnost"
},
"securitySettingsDescription": {
"message": "Nastavitve zasebnosti in geslo za denarnico seed phrase "
},
"seedPhrasePlaceholder": {
"message": "Vsako besedo ločite z enim presledkom"
},
@ -858,9 +840,6 @@
"sendTokens": {
"message": "Pošlji žetone"
},
"separateEachWord": {
"message": "Vsako besedo ločite z enim presledkom"
},
"settings": {
"message": "Nastavitve"
},

View File

@ -8,9 +8,6 @@
"about": {
"message": "Основни подаци"
},
"aboutSettingsDescription": {
"message": "Verzija, centar za podršku i podaci za kontakt"
},
"acceleratingATransaction": {
"message": "* Time što se ubrzava transakcija koristeći veću gas cenu, povećavaju se šanse da se procesuira brže od strane mreže, ali to nije uvek zagarantovano."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Dodatne opcije"
},
"advancedSettingsDescription": {
"message": "Pristupite funkcijama za programere, preuzmite državne evidencije, resetujte nalog, postavite testne mreže i prilagođeni RPC"
},
"amount": {
"message": "Iznos"
},
@ -145,9 +139,6 @@
"message": "Pogledajte nalog za $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Koristite „Blockies Identicon”"
},
"browserNotSupported": {
"message": "Vaš pregledač nije podržan..."
},
@ -417,9 +408,6 @@
"general": {
"message": "Opšte"
},
"generalSettingsDescription": {
"message": "Konverzija valuta, primarna valuta, jezik, blockies identicon"
},
"getEther": {
"message": "Nabavite Ether"
},
@ -588,9 +576,6 @@
"networkName": {
"message": "Ime mreže"
},
"networkSettingsDescription": {
"message": "Dodajte i uredite prilagođene RPC mreže"
},
"networks": {
"message": "Mreže"
},
@ -825,9 +810,6 @@
"securityAndPrivacy": {
"message": "Bezbednost i privatnost"
},
"securitySettingsDescription": {
"message": "Podešavanja privatnosti i novčanik fraze početnih vrednosti"
},
"seedPhrasePlaceholder": {
"message": "Odvojite svaku reč jednim razmakom"
},
@ -861,9 +843,6 @@
"sendTokens": {
"message": "Pošalji tokene"
},
"separateEachWord": {
"message": "Razdvojite svaku reč jednim mestom razmaka"
},
"settings": {
"message": "Podešavanja"
},

View File

@ -8,9 +8,6 @@
"about": {
"message": "Om"
},
"aboutSettingsDescription": {
"message": "Version, supportcenter och kontaktinformation"
},
"acceleratingATransaction": {
"message": "* Att snabba upp en överföring genom att använda ett högre gaspris ökar chanserna för att överföringen ska hanteras snabbare av nätverket, men det är inte en garanti."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Avancerade alternativ"
},
"advancedSettingsDescription": {
"message": "Åtkomst till verktyg för utvecklare, ladda ner loggar, återställ konto, upprätta testnätverk och skräddarsy RPC"
},
"amount": {
"message": "Belopp"
},
@ -145,9 +139,6 @@
"message": "Visa konto på $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Använd Blockies Identicon"
},
"browserNotSupported": {
"message": "Din webbläsare stöds inte..."
},
@ -410,9 +401,6 @@
"general": {
"message": "Allmänt"
},
"generalSettingsDescription": {
"message": "Valutaomvandling, primär valuta, språk"
},
"getEther": {
"message": "Skaffa Ether"
},
@ -581,9 +569,6 @@
"networkName": {
"message": "Nätverksnamn"
},
"networkSettingsDescription": {
"message": "Lägg till och redigera RPC-nätverk"
},
"networks": {
"message": "Nätverk"
},
@ -818,9 +803,6 @@
"securityAndPrivacy": {
"message": "Säkerhet och integritet"
},
"securitySettingsDescription": {
"message": "Sekretessinställningar och plånbokens seedfras"
},
"seedPhrasePlaceholder": {
"message": "Separera varje ord med ett enda mellanslag."
},
@ -854,9 +836,6 @@
"sendTokens": {
"message": "Skicka tokens"
},
"separateEachWord": {
"message": "Lägg in ett mellanslag mellan varje ord"
},
"settings": {
"message": "Inställningar"
},

View File

@ -8,9 +8,6 @@
"about": {
"message": "Kuhusu"
},
"aboutSettingsDescription": {
"message": "Toleo, kituo cha msaada, na taarifa za mawasiliano"
},
"acceleratingATransaction": {
"message": "*Kuwezesha muamala kwa kutumia bei ya juu ya gesi huongeza uwezekano wake wa kushughulikiwa na mtandao haraka, lakini hauhakikishiwi siku zote."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Machaguo ya Juu"
},
"advancedSettingsDescription": {
"message": "Vipengele vya idhini ya msanidi, Kumbukumbu za Hali ya kupakua, Kufuta Akaunti, mitando ya majaribio ya kuweka mipangilio na RPC maalumu"
},
"amount": {
"message": "Kiasi"
},
@ -142,9 +136,6 @@
"message": "Tazama akaunti kwenye $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Tumia Blockies Identicon"
},
"browserNotSupported": {
"message": "Kivinjari chaku hakiwezeshwi..."
},
@ -410,9 +401,6 @@
"general": {
"message": "Jumla"
},
"generalSettingsDescription": {
"message": "Ubadilishaji wa fedha, sarafu ya msingi, lugha, blockies identicon"
},
"getEther": {
"message": "Pata Ether"
},
@ -575,9 +563,6 @@
"networkName": {
"message": "Jina la mtandao"
},
"networkSettingsDescription": {
"message": "Ongeza na hariri mitandao maalumu ya RPC"
},
"networks": {
"message": "Mitandao"
},
@ -812,9 +797,6 @@
"securityAndPrivacy": {
"message": "Ulinzi na Faragha"
},
"securitySettingsDescription": {
"message": "Mipangilio ya Faragha na kirai kianzio cha waleti"
},
"seedPhrasePlaceholder": {
"message": "Tenganisha kila neno kwa nafasi moja"
},
@ -848,9 +830,6 @@
"sendTokens": {
"message": "Tuma Vianzio"
},
"separateEachWord": {
"message": "Tenganisha kila neno kwa nafasi moja"
},
"settings": {
"message": "Mipangilio"
},

View File

@ -60,9 +60,6 @@
"basic": {
"message": "அடிப்படை"
},
"blockiesIdenticon": {
"message": "ப்ளாக்கிஸ் ஐடென்டிகோன் பயன்பாட்டு"
},
"cancel": {
"message": "ரத்து செய்"
},

View File

@ -54,9 +54,6 @@
"balance": {
"message": "ยอดคงเหลือ:"
},
"blockiesIdenticon": {
"message": "ใช้งาน Blockies Identicon"
},
"cancel": {
"message": "ยกเลิก"
},
@ -299,9 +296,6 @@
"negativeETH": {
"message": "ไม่สามารถส่งอีเธอร์เป็นจำนวนติดลบได้"
},
"networkSettingsDescription": {
"message": "เพิ่มและแก้ไขเครือข่าย RPC แบบกำหนดเอง"
},
"networks": {
"message": "เครือข่าย"
},

View File

@ -6,7 +6,7 @@
"message": "Hindi tugmang data ng transaksyon. Pakisuriin ang mga detalye ng transaksyon."
},
"QRHardwarePubkeyAccountOutOfRange": {
"message": "Wala nang mga account. Kung gusto mong mag-access ng iba pang account na hindi nakalista sa ibba, pakikonektang muli ang hardware wallet mo at piliin ito."
"message": "Wala nang mga account. Kung gusto mong mag-access ng iba pang account na hindi nakalista sa ibaba, pakikonektang muli ang hardware wallet mo at piliin ito."
},
"QRHardwareScanInstructions": {
"message": "Ilagay ang QR code sa harap ng iyong camera. Malabo ang screen, pero hindi ito makakaapekto sa pagbabasa."
@ -47,9 +47,6 @@
"about": {
"message": "Tungkol Dito"
},
"aboutSettingsDescription": {
"message": "Bersyon, support center, at impormasyon sa pakikipag-ugnayan"
},
"acceleratingATransaction": {
"message": "* Kapag in-accelerate ang transaksyon sa pamamagitan ng paggamit ng mas mataas na presyo ng gasolina, mas magiging malaki ang tsansang mas mabilis na maproseso ng network, pero hindi ito palaging ginagarantiya."
},
@ -90,7 +87,7 @@
"message": "Aktibidad"
},
"activityLog": {
"message": "log ng aktibidad"
"message": "Log ng aktibidad"
},
"add": {
"message": "Magdagdag"
@ -185,9 +182,6 @@
"advancedPriorityFeeToolTip": {
"message": "Ang priority fee (kilala rin bilang “tip ng miner”) ay direktang napupunta sa mga miner at ginagawang insentibo ang mga ito upang unahin ang iyong mga transaksyon."
},
"advancedSettingsDescription": {
"message": "I-access ang mga pang-developer na feature, i-download ang Mga Log ng Estado, I-reset ang Account, i-set up ang mga testnet at custom na RPC"
},
"affirmAgree": {
"message": "Sang-ayon Ako"
},
@ -212,9 +206,6 @@
"alerts": {
"message": "Mga Alerto"
},
"alertsSettingsDescription": {
"message": "I-enable o i-disable ang bawat alerto"
},
"allowExternalExtensionTo": {
"message": "Payagan ang external extension na ito na:"
},
@ -371,9 +362,6 @@
"message": "Tingnan ang account sa $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Gumamit ng Blockies Identicon"
},
"browserNotSupported": {
"message": "Hindi sinusuportahan ang iyong Browser..."
},
@ -504,7 +492,7 @@
"message": "Kumonekta sa MetaMask"
},
"connectedAccountsDescriptionPlural": {
"message": "Mayroon kang $1 (na) account na nakakonekta sa site na ito.",
"message": "Mayroon kang $1 account na nakakonekta sa site na ito.",
"description": "$1 is the number of accounts"
},
"connectedAccountsDescriptionSingular": {
@ -551,9 +539,6 @@
"contacts": {
"message": "Mga Contact"
},
"contactsSettingsDescription": {
"message": "Magdagdag, mag-edit, magtanggal, at mamahala ng iyong mga contact"
},
"continue": {
"message": "Magpatuloy"
},
@ -743,7 +728,7 @@
"message": "I-on ito para i-dismiss ang mensahe ng paalala ng pag-back up ng recovery phrase. Lubos naming inirerekomendang i-back up mo ang iyong Secret Recovery Phrase para maiwasan ang pagkawala ng pondo"
},
"dismissReminderField": {
"message": "I-dismiss ang back up na paalala ng Sikretong Recovert Phrase"
"message": "I-dismiss ang back up na paalala ng Secret Recovery Phrase"
},
"domain": {
"message": "Domain"
@ -849,7 +834,7 @@
"message": "Ang priority fee ay mas mataas sa kinakailangan. Maaari kang magbayad nang higit sa kinakailangan"
},
"editGasMaxPriorityFeeLow": {
"message": "Amg priority fee ay mababa para sa kasalukuyang mga kundisyon ng network"
"message": "Ang priority fee ay mababa para sa kasalukuyang mga kundisyon ng network"
},
"editGasMaxPriorityFeeLowV2": {
"message": "Ang priority fee ay mababa para sa kasalukuyang mga kundisyon ng network"
@ -883,7 +868,7 @@
"message": "Ang iyong max fee o max priority fee ay maaaring mababa para sa kasalukuyang kondisyon ng market. Hindi namin alam kung kailan (o kung) ipoproseso ang iyong transaksyon. "
},
"editGasTooLowWarningTooltip": {
"message": "Pinabababa nito ang iyong maximum fee ngunit kung network traffic ay maaaring maantala o mabigo ang iyong transaksyon."
"message": "Pinapababa nito ang iyong maximum fee ngunit kung network traffic ay maaaring maantala o mabigo ang iyong transaksyon."
},
"editNonceField": {
"message": "I-edit sa Nonce"
@ -1017,10 +1002,6 @@
"ethGasPriceFetchWarning": {
"message": "Ang backup gas price ay inilalaan dahil ang pangunahing pagtantiya ng presyo ng gas ay hindi available sa ngayon."
},
"eth_accounts": {
"message": "Tingnan ang mga address ng iyong mga pinapayagang account (kinakailangan)",
"description": "The description for the `eth_accounts` permission"
},
"ethereumPublicAddress": {
"message": "Pampublikong Address ng Ethereum"
},
@ -1039,9 +1020,6 @@
"experimental": {
"message": "Experimental"
},
"experimentalSettingsDescription": {
"message": "Pag-detect ng token at iba pa"
},
"exportPrivateKey": {
"message": "I-export ang Pribadong Key"
},
@ -1211,9 +1189,6 @@
"general": {
"message": "Pangkalahatan"
},
"generalSettingsDescription": {
"message": "Conversion ng currency, pangunahing currency, wika, blockies identicon"
},
"getEther": {
"message": "Kunin ang Ether"
},
@ -1253,7 +1228,7 @@
"message": "Magkonekta ng hardware wallet"
},
"hardwareWalletsMsg": {
"message": "Pumili ng hardware wallet na gusto mong gamitin kasama ng MetaMask"
"message": "Pumili ng hardware wallet na gusto mong gamitin kasama ng MetaMask."
},
"here": {
"message": "dito",
@ -1273,7 +1248,7 @@
"description": "$1 is the symbol for a token (e.g. 'DAI')"
},
"hideZeroBalanceTokens": {
"message": "I-hide ang mga oken na Walang Balanse"
"message": "I-hide ang mga Token na Walang Balanse"
},
"high": {
"message": "Agresibo"
@ -1302,7 +1277,7 @@
"message": "i-import gamit ang Secret Recovery Phrase"
},
"importAccountMsg": {
"message": " Ang mga na-import na account ay hindi mauugnay sa orihinal mong nagawang Secret Recovery Phrase ng MetaMask account. Matuto pa tungkol sa mga na-import account "
"message": "Ang mga na-import na account ay hindi mauugnay sa orihinal mong nagawang Secret Recovery Phrase ng MetaMask account. Matuto pa tungkol sa mga na-import account"
},
"importAccountSeedPhrase": {
"message": "Mag-import ng account gamit ang Secret Recovery Phrase"
@ -1312,7 +1287,7 @@
"description": "$1 represents the text from `importAccountLinkText` as a link"
},
"importExistingWalletDescription": {
"message": "Ilagay ang iyong Sirektong Recovery Phrase (kilala rin bilang Seed Phrase) na ibinigay sa iyo noong gumawa ka ng iyong wallet. $1",
"message": "Ilagay ang iyong Secret Recovery Phrase (kilala rin bilang Seed Phrase) na ibinigay sa iyo noong gumawa ka ng iyong wallet. $1",
"description": "$1 is the words 'Learn More' from key 'learnMore', separated here so that it can be added as a link"
},
"importExistingWalletTitle": {
@ -1457,7 +1432,7 @@
"description": "$1 is link to cancel or speed up transactions"
},
"learnMore": {
"message": "Matuto pa"
"message": "matuto pa"
},
"learnMoreUpperCase": {
"message": "Matuto pa"
@ -1623,7 +1598,7 @@
"description": "This string is localized separately from some of the commitments so that we can bold it"
},
"metametricsCommitmentsIntro": {
"message": "Gagawin ng MetaMask ang sumusunod..."
"message": "Ang MetaMask ay.."
},
"metametricsCommitmentsNeverCollect": {
"message": "Huwag mangolekta ng mga key, address, transaksyon, balanse, hash, o anumang personal na impormasyon"
@ -1717,7 +1692,7 @@
"message": "BSC"
},
"networkNameDefinition": {
"message": "Ang panglan ay nauugnay sa network na ito."
"message": "Ang pangalan ay nauugnay sa network na ito."
},
"networkNameEthereum": {
"message": "Ethereum"
@ -1734,9 +1709,6 @@
"networkSettingsChainIdDescription": {
"message": "Ginagaamit ang chain ID sa paglagda ng mga transaksyon. Dapat itong tumugma sa chain ID na ibinalik ng network. Puwede kang maglagay ng decimal o '0x'-prefixed hexadecimal number, pero ipapakita namin ang numero sa decimal."
},
"networkSettingsDescription": {
"message": "Magdagdag at mag-edit ng mga custom na RPC network"
},
"networkStatus": {
"message": "Network status"
},
@ -1901,7 +1873,7 @@
"description": "The 'call to action' on the button, or link, of the 'Swap on Binance Smart Chain!' notification. Upon clicking, users will be taken to a page where then can swap tokens on Binance Smart Chain."
},
"notifications4Description": {
"message": "Kunin ang pinakamagagandang papremyyo sa pag-swap ng token sa loob ng iyong wallet. Ikinokonekta ka na ngayon ng MetaMask sa maraming decentralized exchange aggregator at mga propesyonal na market maker sa Binance Smart Chain.",
"message": "Kunin ang pinakamagagandang papremyo sa pag-swap ng token sa loob ng iyong wallet. Ikinokonekta ka na ngayon ng MetaMask sa maraming decentralized exchange aggregator at mga propesyonal na market maker sa Binance Smart Chain.",
"description": "Description of a notification in the 'See What's New' popup."
},
"notifications4Title": {
@ -1909,7 +1881,7 @@
"description": "Title for a notification in the 'See What's New' popup. Encourages users to do swaps on Binance Smart Chain."
},
"notifications5Description": {
"message": "Ang iyong \"Seed Phrase\" ay tinatawag na ngayon na iyong \"Sirektong Recovery Phrase.\"",
"message": "Ang iyong \"Seed Phrase\" ay tinatawag na ngayon na iyong \"Secret Recovery Phrase.\"",
"description": "Description of a notification in the 'See What's New' popup. Describes the seed phrase wording update."
},
"notifications6DescriptionOne": {
@ -1917,7 +1889,7 @@
"description": "Description of a notification in the 'See What's New' popup. Describes the Ledger support update."
},
"notifications6DescriptionThree": {
"message": "Kapag gingamit ang iyong Ledger account sa MetaMask, ang bagong tab ay magbubukas at hihilingin sa iyo ng buksan ang Ledger Live app. Kapag nabuksan na ang app, hihilingin sa iyo na payagan ang koneksyon ng WebSocket sa iyong MetaMask account. Ganun lang!",
"message": "Kapag ginagamit ang iyong Ledger account sa MetaMask, ang bagong tab ay magbubukas at hihilingin sa iyo ng buksan ang Ledger Live app. Kapag nabuksan na ang app, hihilingin sa iyo na payagan ang koneksyon ng WebSocket sa iyong MetaMask account. Ganun lang!",
"description": "Description of a notification in the 'See What's New' popup. Describes the Ledger support update."
},
"notifications6DescriptionTwo": {
@ -1960,7 +1932,7 @@
"message": "Binibigyan namin kayo ngayon ng mas maraming kaalaman sa tab na'Data' kapag kinukumpirma ang mga transaksyon ng smart contract."
},
"notifications9DescriptionTwo": {
"message": "Mas maiintindihan mo na ngayon ang mga detalye ng transaksyon bago kumpirmahin, at mas madaling makakapagdagdag ng mga address ng transaksyon sa iyong address book, na nakaakatulong sa iyo na maging litas at malaman ang mga desisyon."
"message": "Mas maiintindihan mo na ngayon ang mga detalye ng transaksyon bago kumpirmahin, at mas madaling makakapagdagdag ng mga address ng transaksyon sa iyong address book, na nakaakatulong sa iyo na maging ligtas at malaman ang mga desisyon."
},
"notifications9Title": {
"message": "👓 Pinadadali naming mabasa ang mga transaksyon."
@ -1972,7 +1944,7 @@
"message": "Naka-off"
},
"offlineForMaintenance": {
"message": "Offline para sa pagmementina"
"message": "Offline para sa pagmamantini"
},
"ok": {
"message": "Ok"
@ -2005,7 +1977,7 @@
"message": "I-pin ang MetaMask sa iyong browser para madali itong ma-access at madaling makita ang mga kumpirmasyon ng transaksyon."
},
"onboardingPinExtensionDescription2": {
"message": "Maaari mong buksan ang MetaMask sa pamamagitan ng pag-click sa ektensyon at pag-accesss sa wallet mo sa 1 click lang."
"message": "Maaari mong buksan ang MetaMask sa pamamagitan ng pag-click sa extension at pag-accesss sa wallet mo sa 1 click lang."
},
"onboardingPinExtensionDescription3": {
"message": "Mag-click sa icon ng browser extension para agad itong ma-access"
@ -2100,6 +2072,10 @@
"permissionRequest": {
"message": "Kahilingan sa pahintulot"
},
"permission_ethereumAccounts": {
"message": "Tingnan ang mga address, balanse ng account, aktibidad at simulan ang iyong mga transaksyon",
"description": "The description for the `eth_accounts` permission"
},
"permissions": {
"message": "Mga Pahintulot"
},
@ -2209,7 +2185,7 @@
"message": "Tanggihan Lahat"
},
"rejectTxsDescription": {
"message": "Maramihan mong tatanggihan ang $1 (na) transaksyon."
"message": "Maramihan mong tatanggihan ang $1 transaksyon."
},
"rejectTxsN": {
"message": "Tanggihan ang $1 transaksyon"
@ -2335,9 +2311,6 @@
"securityAndPrivacy": {
"message": "Seguridad at Pagkapribado"
},
"securitySettingsDescription": {
"message": "Mga setting ng privacy at Secret Recovery Phrase ng wallet"
},
"seedPhraseConfirm": {
"message": "Kumpirmahin ang Secret Recovery Phrase"
},
@ -2396,7 +2369,7 @@
"message": "Ang mga Secret Recovery Phrase ay naglalaman ng 12, 15, 18, 21, o 24 na salita"
},
"seedPhraseWriteDownDetails": {
"message": "Isulat ang 12 salitang Secret Recovery Phrase at i-save sa lugar na pinagkakatiwalaan mo at ikaw ang ang makaka-access."
"message": "Isulat ang 12 salitang Secret Recovery Phrase at i-save sa lugar na pinagkakatiwalaan mo at ikaw ang makaka-access."
},
"seedPhraseWriteDownHeader": {
"message": "Isulat ang iyong Secret Recovery Phrase"
@ -2426,7 +2399,7 @@
"message": "I-on ang pag-detect ng NFT sa Settings"
},
"selectPathHelp": {
"message": "Kung hindi mo makita ang mga kasalukuyan mong Ledger account sa ibaba, subukang ilipat ang path sa \"Legacy (MEW / MyCrypto)\""
"message": "Kung hindi mo makita ang mga account na inaasahan mo, subukang ilipat sa HD path."
},
"selectType": {
"message": "Pumili ng Uri"
@ -2454,9 +2427,6 @@
"message": "Nagpapadala ng $1",
"description": "$1 represents the native currency symbol for the current network (e.g. ETH or BNB)"
},
"separateEachWord": {
"message": "Paghiwa-hiwalayin ang bawat salita gamit ang espasyo"
},
"setAdvancedPrivacySettings": {
"message": "Magtakda ng advanced privacy settings"
},
@ -2521,7 +2491,7 @@
"message": "Lumagda"
},
"signNotice": {
"message": "Maaaring may mga \nmapanganib na side effect ang paglagda sa mensaheng ito. Lagdaan lang ang mga mensahe mula sa \nmga site na pinagkakatiwalaan mo para sa buong account mo.\n Tatanggalin ang mapanganib na paraang ito sa bersyon sa hinaharap. "
"message": "Maaaring may mga \nmapanganib na side effect ang paglagda sa mensaheng ito. Lagdaan lang ang mga mensahe mula sa \nmga site na pinagkakatiwalaan mo para sa buong account mo.\n Tatanggalin ang mapanganib na paraang ito sa bersyon sa hinaharap."
},
"signatureRequest": {
"message": "Request na Paglagda"
@ -2810,7 +2780,7 @@
"message": "Ang price impact ay ang pagkakaiba sa pagitan ng kasalukuyang market price at ang halagang natanggap sa panahon ng pagpapatupad ng transaksyon. Ang price impact ay isang function ng laki ng iyong trade kaugnay sa laki ng liquidity pool."
},
"swapPriceUnavailableDescription": {
"message": "Hindi matukoy ang price impact dahil sa kakulangan ng data ng market price. Pakikumpirma na kumportable ka sa dami ng mga token na matatanggap mo bago mag-swap."
"message": "Hindi matukoy ang price impact dahil sa kakulangan ng data ng market price. Pakikumpirma na komportable ka sa dami ng mga token na matatanggap mo bago mag-swap."
},
"swapPriceUnavailableTitle": {
"message": "Tingnan ang iyong rate bago magpatuloy"
@ -2886,7 +2856,7 @@
"message": "Minungkahing pag-swap"
},
"swapSuggestedGasSettingToolTipMessage": {
"message": "Ang mga swap ay kumpikado at sensitibo sa oras na mga transaksyon. Nirerekomenda namin ang gas fee na ito para sa magandang balanse sa pagitan ng halaga at kumpiyansa ng matagumpay na Pag-swap."
"message": "Ang mga swap ay kumplikado at sensitibo sa oras na mga transaksyon. Nirerekomenda namin ang gas fee na ito para sa magandang balanse sa pagitan ng halaga at kumpiyansa ng matagumpay na Pag-swap."
},
"swapSwapFrom": {
"message": "Ipalit mula sa"
@ -2934,7 +2904,7 @@
"message": "Nakumpleto ang transaksyon"
},
"swapTwoTransactions": {
"message": "2 transakasyon"
"message": "2 transaksyon"
},
"swapUnknown": {
"message": "Hindi Alam"
@ -3272,7 +3242,7 @@
"message": "Kinakailangan ng mga URL ang naaangkop na HTTP/HTTPS prefix."
},
"urlExistsErrorMsg": {
"message": "Nasa kasalukuyang listahan ng mga network na ang URL"
"message": "Nasa kasalukuyang listahan ng mga network na ang URL."
},
"useCollectibleDetection": {
"message": "Autodetect ng mga NFT"
@ -3369,9 +3339,6 @@
"walletCreationSuccessTitle": {
"message": "Matagumpay ang paggawa ng wallet"
},
"walletSeedRestore": {
"message": "Recovery Phrase ng Wallet Secret"
},
"web3ShimUsageNotification": {
"message": "Napansin namin na sinubukan ng kasalukuyang website na gamitin ang inalis na window.web3 API. Kung mukhang sira ang site, paki-click ang $1 para sa karagdagang impormasyon.",
"description": "$1 is a clickable link."

File diff suppressed because it is too large Load Diff

View File

@ -8,9 +8,6 @@
"about": {
"message": "Про Google Chrome"
},
"aboutSettingsDescription": {
"message": "Версія, центр підтримки та контактна інформація"
},
"acceleratingATransaction": {
"message": "* Прискорення транзакції за допомогою вищих цін на газ підвищує її шанси бути обробленою мережею швидше, але це не завжди гарантовано."
},
@ -62,9 +59,6 @@
"advancedOptions": {
"message": "Додаткові параметри"
},
"advancedSettingsDescription": {
"message": "Отримайте доступ до функцій розробника, завантажте Логи станів, перезапустіть обліковий запис, налаштуйте тестові сітки та персоніфіковані RPC"
},
"amount": {
"message": "Кількість"
},
@ -145,9 +139,6 @@
"message": "Переглянути обліковий запис на $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Викоритовувати Blockies Identicon"
},
"browserNotSupported": {
"message": "Ваш браузер не підтримується..."
},
@ -420,9 +411,6 @@
"general": {
"message": "Загальні"
},
"generalSettingsDescription": {
"message": "Конверсія валют, первісна валюта, мова, ідентикон блокіз"
},
"getEther": {
"message": "Отримати Ефір"
},
@ -597,9 +585,6 @@
"networkName": {
"message": "Ім’я мережі"
},
"networkSettingsDescription": {
"message": "Додавайте та редагуйте мережі RPC, що можна налаштовувати"
},
"networks": {
"message": "Мережі"
},
@ -834,9 +819,6 @@
"securityAndPrivacy": {
"message": "Безпека й конфіденційність"
},
"securitySettingsDescription": {
"message": "Налаштування приватності та початкова фраза гаманця"
},
"seedPhrasePlaceholder": {
"message": "Відділіть кожне слово одним пробілом"
},
@ -870,9 +852,6 @@
"sendTokens": {
"message": "Надіслати токени"
},
"separateEachWord": {
"message": "Відділіть кожне слово одним пробілом"
},
"settings": {
"message": "Налаштування"
},

View File

@ -6,7 +6,7 @@
"message": "Dữ liệu giao dịch không đồng nhất. Vui lòng kiểm tra chi tiết giao dịch."
},
"QRHardwarePubkeyAccountOutOfRange": {
"message": "Không còn tài khoản nào. Nếu bạn muốn truy cập một tài khoản khác không được liệt kê bên dưới, vui lòng kết nối lại với ví lạnh và chọn tài khoản đó."
"message": "Không còn tài khoản nào. Nếu bạn muốn truy cập một tài khoản khác không được liệt kê bên dưới, vui lòng kết nối lại với ví cứng và chọn tài khoản đó."
},
"QRHardwareScanInstructions": {
"message": "Đặt mã QR phía trước máy ảnh. Màn hình bị mờ nhưng không ảnh hưởng đến khả năng đọc."
@ -30,16 +30,16 @@
"message": "Lỗi"
},
"QRHardwareUnknownWalletQRCode": {
"message": "Mã QR không hợp lệ. Vui lòng quét mã QR đồng bộ của ví lạnh."
"message": "Mã QR không hợp lệ. Vui lòng quét mã QR đồng bộ của ví cứng."
},
"QRHardwareWalletImporterTitle": {
"message": "Quét mã QR"
},
"QRHardwareWalletSteps1Description": {
"message": "Kết nối với một ví lạnh ngoại tuyến hoàn toàn có thể truyền tin bằng mã QR. Các ví lạnh ngoại tuyến hoàn toàn được hỗ trợ chính thức bao gồm:"
"message": "Kết nối với một ví cứng ngoại tuyến hoàn toàn có thể truyền tin bằng mã QR. Các ví cứng ngoại tuyến hoàn toàn được hỗ trợ chính thức bao gồm:"
},
"QRHardwareWalletSteps1Title": {
"message": "Ví Lạnh dựa trên QR"
"message": "Ví cứng dựa trên QR"
},
"QRHardwareWalletSteps2Description": {
"message": "AirGap Vault & Ngrave (Sắp Ra Mắt)"
@ -47,9 +47,6 @@
"about": {
"message": "Giới thiệu"
},
"aboutSettingsDescription": {
"message": "Phiên bản, trung tâm trợ giúp và thông tin liên hệ"
},
"acceleratingATransaction": {
"message": "* Việc đẩy nhanh giao dịch bằng cách sử dụng giá gas cao hơn sẽ tăng khả năng được mạng xử lý nhanh hơn, nhưng không phải lúc nào điều này cũng được đảm bảo."
},
@ -62,7 +59,7 @@
"description": "$1 is the url of the site requesting ability to spend"
},
"accessingYourCamera": {
"message": "Đang truy cập camera..."
"message": "Đang truy cập máy ảnh..."
},
"account": {
"message": "Tài khoản"
@ -90,7 +87,7 @@
"message": "Hoạt động"
},
"activityLog": {
"message": "nhật ký hoạt động"
"message": "Nhật ký hoạt động"
},
"add": {
"message": "Thêm"
@ -108,7 +105,7 @@
"message": "Thêm biệt danh"
},
"addContact": {
"message": "Thêm người liên hệ"
"message": "Thêm địa chỉ liên hệ"
},
"addCustomToken": {
"message": "Thêm Token Tùy Chỉnh"
@ -135,7 +132,7 @@
"message": "Cho phép trang này thêm một mạng?"
},
"addFriendsAndAddresses": {
"message": "Thêm bạn bè và địa chỉ bạn tin cậy"
"message": "Thêm bạn bè và địa chỉ mà bạn tin tưởng"
},
"addMemo": {
"message": "Thêm bản ghi nhớ"
@ -185,9 +182,6 @@
"advancedPriorityFeeToolTip": {
"message": "Phí ưu tiên (hay còn được gọi là \"phí khích lệ thợ đào\") được chuyển trực tiếp cho các thợ đào và khuyến khích họ ưu tiên giao dịch của bạn."
},
"advancedSettingsDescription": {
"message": "Truy cập các tính năng dành cho nhà phát triển, tải Nhật ký trạng thái xuống, Đặt lại tài khoản, thiết lập mạng thử nghiệm và RPC tùy chỉnh"
},
"affirmAgree": {
"message": "Tôi đồng ý"
},
@ -212,9 +206,6 @@
"alerts": {
"message": "Cảnh báo"
},
"alertsSettingsDescription": {
"message": "Bật hoặc tắt từng cảnh báo"
},
"allowExternalExtensionTo": {
"message": "Cho phép tiện ích bên ngoài này:"
},
@ -268,7 +259,7 @@
"message": "Đã phê duyệt"
},
"approvedAmountWithColon": {
"message": "Số lượng được chấp nhận:"
"message": "Số tiền được duyệt:"
},
"asset": {
"message": "Tài sản"
@ -313,7 +304,7 @@
"message": "Đây là mã bí mật bắt buộc phải dùng để khôi phục ví trong trường hợp bạn bị mất thiết bị, quên mật khẩu, phải cài đặt lại MetaMask hoặc muốn truy cập ví của mình trên một thiết bị khác."
},
"backupApprovalNotice": {
"message": "Sao lưu khôi phục bí mật để đảm bảo an toàn cho ví và tiền của bạn."
"message": "Sao lưu Cụm mật khẩu khôi phục bí mật để đảm bảo an toàn cho ví và tiền của bạn."
},
"backupNow": {
"message": "Sao lưu ngay"
@ -371,9 +362,6 @@
"message": "Xem tài khoản tại $1",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Dùng biểu tượng nhận dạng kiểu Blockies"
},
"browserNotSupported": {
"message": "Trình duyệt của bạn không được hỗ trợ..."
},
@ -393,7 +381,7 @@
"message": "Mua ETH qua Wyre"
},
"buyWithWyreDescription": {
"message": "Wyre cho phép bạn dùng thẻ ghi nợ để np ETH trực tiếp vào tài khoản MetaMask của mình."
"message": "Wyre cho phép bạn dùng thẻ ghi nợ để np ETH trực tiếp vào tài khoản MetaMask của mình."
},
"bytes": {
"message": "Byte"
@ -436,7 +424,7 @@
"description": "Text that can be clicked to open a browser popup for connecting the ledger device via webhid"
},
"clickToRevealSeed": {
"message": "Nhấp vào đây để hiện các từ bí mật"
"message": "Nhấn vào đây để hiện các từ bí mật"
},
"close": {
"message": "Đóng"
@ -451,19 +439,19 @@
"message": "Xác nhận Cụm Mật Khẩu Khôi Phục Bí Mật"
},
"confirmSecretBackupPhrase": {
"message": "Xác nhận Cụm mật khẩu sao lưu bí mật"
"message": "Xác nhận Cụm mật khẩu khôi phục bí mật"
},
"confirmed": {
"message": "Đã xác nhận"
},
"confusableUnicode": {
"message": "“$1” tương tự với “$2”."
"message": "'$1' tương tự với '$2'."
},
"confusableZeroWidthUnicode": {
"message": "Tìm thấy ký tự có độ rộng bằng 0."
},
"confusingEnsDomain": {
"message": "Chúng tôi đã phát hiện thấy một ký tự có thể gây nhầm lẫn trong tên ENS. Hãy kiểm tra tên ENS để tránh khả năng bị lừa đảo."
"message": "Chúng tôi đã phát hiện thấy một ký tự có thể gây nhầm lẫn trong tên ENS. Hãy kiểm tra tên ENS để tránh nguy cơ bị lừa đảo."
},
"congratulations": {
"message": "Chúc mừng bạn"
@ -517,11 +505,11 @@
"message": "Trang web đã kết nối"
},
"connectedSitesDescription": {
"message": "$1 đã kết nối với các trang web này. Các trang web này có thể xem địa chỉ tài khoản của bạn.",
"message": "$1 đã được kết nối với các trang web này. Các trang web này có thể xem địa chỉ tài khoản của bạn.",
"description": "$1 is the account name"
},
"connectedSitesEmptyDescription": {
"message": "$1 chưa kết nối với bất kỳ trang web nào.",
"message": "$1 chưa được kết nối với bất kỳ trang web nào.",
"description": "$1 is the account name"
},
"connecting": {
@ -551,9 +539,6 @@
"contacts": {
"message": "Danh bạ"
},
"contactsSettingsDescription": {
"message": "Thêm, chỉnh sửa, xóa và quản lý danh bạ của bạn"
},
"continue": {
"message": "Tiếp tục"
},
@ -570,7 +555,7 @@
"message": "Địa chỉ hợp đồng"
},
"contractAddressError": {
"message": "Bạn đang gửi token đến địa chỉ hợp đồng của token. Điều này có thể khiến bạn bị mất những token này."
"message": "Bạn đang gửi token đến địa chỉ hợp đồng của token. Điều này có thể khiến bạn bị mất số token này."
},
"contractDeployment": {
"message": "Triển khai hợp đồng"
@ -582,16 +567,16 @@
"message": "Đã sao chép!"
},
"copyAddress": {
"message": "Sao chép địa chỉ vào khay nhớ tạm"
"message": "Sao chép địa chỉ vào bộ nhớ đệm"
},
"copyPrivateKey": {
"message": "Đây là khóa riêng tư của bạn (hãy nhấp vào để sao chép)"
"message": "Đây là khóa riêng tư của bạn (hãy nhấn vào để sao chép)"
},
"copyRawTransactionData": {
"message": "Sao chép dữ liệu giao dịch thô"
},
"copyToClipboard": {
"message": "Sao chép vào khay nhớ tạm"
"message": "Sao chép vào bộ nhớ đệm"
},
"copyTransactionId": {
"message": "Sao chép mã giao dịch"
@ -678,10 +663,10 @@
"message": "Thập lục phân"
},
"decimal": {
"message": "Vị trí thập phân của token"
"message": "Số thập phân của token"
},
"decimalsMustZerotoTen": {
"message": "Số vị trí thập phân ít nhất phải bằng 0 và không được quá 36."
"message": "Số thập phân ít nhất phải bằng 0 và không được quá 36."
},
"decrypt": {
"message": "Giải mã"
@ -698,10 +683,10 @@
"description": "$1 is the web3 site name"
},
"decryptMetamask": {
"message": "Thông báo của Decrypt"
"message": "Giải mã thông báo"
},
"decryptRequest": {
"message": "Yêu cầu của Decrypt"
"message": "Giải mã yêu cầu"
},
"delete": {
"message": "Xóa"
@ -740,13 +725,13 @@
"message": "Đóng"
},
"dismissReminderDescriptionField": {
"message": "Bật tùy chọn này để tắt thông báo nhắc sao lưu cụm mật khẩu khôi phục. Bạn nên sao lưu Cụm mật khẩu khôi phục bí mật của mình để tránh mất tiền"
"message": "Bật tùy chọn này để tắt thông báo nhắc sao lưu Cụm mật khẩu khôi phục bí mật. Bạn nên sao lưu Cụm mật khẩu khôi phục bí mật của mình để tránh mất tiền"
},
"dismissReminderField": {
"message": "Tắt lời nhắc sao lưu cụm mật khẩu khôi phục"
"message": "Tắt lời nhắc sao lưu Cụm mật khẩu khôi phục bí mật"
},
"domain": {
"message": "Miền"
"message": "Tên miền"
},
"done": {
"message": "Hoàn tất"
@ -755,13 +740,13 @@
"message": "Không hiển thị lại"
},
"downloadGoogleChrome": {
"message": "Tải Google Chrome xuống"
"message": "Tải về Google Chrome"
},
"downloadSecretBackup": {
"message": "Tải Cụm mật khẩu sao lưu bí mật này xuống và lưu giữ trên một ổ đĩa cứng hoặc môi trường lưu trữ bên ngoài được mã hóa."
"message": "Tải về Cụm mật khẩu khôi phục bí mật này và lưu trữ trên một ổ đĩa cứng hoặc phương tiện lưu trữ bên ngoài an toàn và được mã hóa."
},
"downloadStateLogs": {
"message": "Tải nhật ký trạng thái xuống"
"message": "Tải về nhật ký trạng thái"
},
"dropped": {
"message": "Đã ngừng"
@ -776,7 +761,7 @@
"message": "Chỉnh sửa tên riêng địa chỉ"
},
"editContact": {
"message": "Chỉnh sửa người liên hệ"
"message": "Chỉnh sửa địa chỉ liên hệ"
},
"editGasEducationButtonText": {
"message": "Tôi nên chọn như thế nào?"
@ -918,7 +903,7 @@
"message": "Yêu cầu khóa mã hóa công khai"
},
"endOfFlowMessage1": {
"message": "Bạn đã vượt qua bài kiểm tra. Hãy lưu giữ Cụm mật khẩu khôi phục bí mật của bạn an toàn, đó là trách nhiệm của bạn!"
"message": "Bạn đã vượt qua bài kiểm tra - hãy lưu giữ Cụm mật khẩu khôi phục bí mật của bạn an toàn, đó là trách nhiệm của bạn!"
},
"endOfFlowMessage10": {
"message": "Tất cả đã hoàn tất"
@ -933,7 +918,7 @@
"message": "Tuyệt đối không chia sẻ cụm mật khẩu với bất kỳ ai."
},
"endOfFlowMessage5": {
"message": "Hãy cẩn thận với hoạt động lừa đảo! MetaMask sẽ không bao giờ tự ý hỏi Cụm mật khẩu khôi phục bí mật của bạn."
"message": "Hãy cẩn thận với hành vi lừa đảo! MetaMask sẽ không bao giờ tự ý hỏi Cụm mật khẩu khôi phục bí mật của bạn."
},
"endOfFlowMessage6": {
"message": "Nếu bạn cần sao lưu lại Cụm mật khẩu khôi phục bí mật, bạn có thể tìm thấy chức năng này trong phần Cài đặt -> Bảo mật."
@ -1017,10 +1002,6 @@
"ethGasPriceFetchWarning": {
"message": "Giá gas dự phòng được cung cấp vì dịch vụ ước tính giá gas chính hiện không hoạt động."
},
"eth_accounts": {
"message": "Xem địa chỉ của các tài khoản được cho phép của bạn (bắt buộc)",
"description": "The description for the `eth_accounts` permission"
},
"ethereumPublicAddress": {
"message": "Địa chỉ công khai trên Ethereum"
},
@ -1039,9 +1020,6 @@
"experimental": {
"message": "Thử nghiệm"
},
"experimentalSettingsDescription": {
"message": "Phát hiện token và hơn thế nữa"
},
"exportPrivateKey": {
"message": "Xuất khóa riêng tư"
},
@ -1078,7 +1056,7 @@
"description": "Exchange type"
},
"fileImportFail": {
"message": "Tính năng nhập tệp không hoạt động? Nhấp vào đây!",
"message": "Tính năng nhập tập tin không hoạt động? Nhấn vào đây!",
"description": "Helps user import their account from a JSON file"
},
"flaskSnapSettingsCardButtonCta": {
@ -1211,9 +1189,6 @@
"general": {
"message": "Chung"
},
"generalSettingsDescription": {
"message": "Quy đổi tiền, đơn vị tiền chính, ngôn ngữ, biểu tượng nhận dạng kiểu blockies"
},
"getEther": {
"message": "Nhận Ether"
},
@ -1247,7 +1222,7 @@
"description": "Text representing the MEW path"
},
"hardwareWalletSupportLinkConversion": {
"message": "nhấp vào đây"
"message": "nhấn vào đây"
},
"hardwareWallets": {
"message": "Kết nối với một ví cứng"
@ -1302,10 +1277,10 @@
"message": "nhập bằng Cụm mật khẩu khôi phục bí mật"
},
"importAccountMsg": {
"message": " Tài khoản đã nhập sẽ không được liên kết với Cụm mật khẩu khôi phục bí mật cho tài khoản MetaMask đã tạo ban đầu của bạn. Tìm hiểu thêm về các tài khoản đã nhập "
"message": "Tài khoản đã nhập sẽ không được liên kết với Cụm mật khẩu khôi phục bí mật cho tài khoản MetaMask đã tạo ban đầu của bạn. Tìm hiểu thêm về các tài khoản đã nhập"
},
"importAccountSeedPhrase": {
"message": "Nhập một tài khoản bằng Cụm mật khẩu khôi phục bí mật"
"message": "Nhập một bằng Cụm mật khẩu khôi phục bí mật"
},
"importAccountText": {
"message": "hoặc $1",
@ -1351,7 +1326,7 @@
"description": "$1 is a clickable link with with text defined by the 'here' key"
},
"initialTransactionConfirmed": {
"message": "Mạng đã xác nhận giao dịch ban đầu của bạn. Nhấp vào OK để quay lại."
"message": "Mạng đã xác nhận giao dịch ban đầu của bạn. Nhấn OK để quay lại."
},
"insufficientBalance": {
"message": "Không đủ số dư."
@ -1425,7 +1400,7 @@
"message": "jsDeliver"
},
"jsonFile": {
"message": "Tệp JSON",
"message": "Tập tin JSON",
"description": "format for importing an account"
},
"keystone": {
@ -1444,7 +1419,7 @@
"message": "Mạng thử nghiệm Kovan"
},
"lastConnected": {
"message": "Đã kết nối lần gần đây nhất"
"message": "Đã kết nối lần cuối"
},
"layer1Fees": {
"message": "Phí Lớp 1"
@ -1457,7 +1432,7 @@
"description": "$1 is link to cancel or speed up transactions"
},
"learnMore": {
"message": "Tìm hiểu thêm"
"message": "tìm hiểu thêm"
},
"learnMoreUpperCase": {
"message": "Tìm hiểu thêm"
@ -1517,22 +1492,22 @@
"message": "Có, hãy thiết lập!"
},
"likeToImportTokens": {
"message": "Bạn có muốn thêm những token này không?"
"message": "Bạn có muốn nhập những token này không?"
},
"link": {
"message": "Liên kết"
},
"links": {
"message": "Đường liên kết"
"message": "Liên kết"
},
"loadMore": {
"message": "Nạp thêm"
"message": "Tải thêm"
},
"loading": {
"message": "Đang tải..."
},
"loadingTokens": {
"message": "Đang nạp token..."
"message": "Đang tải token..."
},
"localhost": {
"message": "Máy chủ cục bộ 8545"
@ -1586,25 +1561,25 @@
"description": "$1 is key 'medium' (text: 'Market') separated here so that it can be passed in with bold fontweight"
},
"memo": {
"message": "thư báo"
"message": "bản ghi nhớ"
},
"memorizePhrase": {
"message": "Lưu cụm mật khẩu này."
"message": "Ghi nhớ cụm mật khẩu này."
},
"message": {
"message": "Thông báo"
},
"metaMaskConnectStatusParagraphOne": {
"message": "Giờ đây bạn có thể kiểm soát chi tiết hơn đối với các mối liên kết với tài khoản của mình trong MetaMask."
"message": "Giờ đây, bạn có nhiều quyền kiểm soát hơn đối với các kết nối của tài khoản trong MetaMask."
},
"metaMaskConnectStatusParagraphThree": {
"message": "Nhấp vào đó để quản lý các tài khoản bạn đã kết nối."
"message": "Nhấn vào để quản lý các tài khoản đã kết nối của bạn."
},
"metaMaskConnectStatusParagraphTwo": {
"message": "Nút trạng thái kết nối sẽ hiển thị nếu trang web mà bạn đang truy cập được kết nối với tài khoản bạn đang chọn."
},
"metamaskDescription": {
"message": "Kết nối bạn với Ethereum và Web phi tập trung."
"message": "Kết nối bạn với Ethereum và trang Web phi tập trung."
},
"metamaskSwapsOfflineDescription": {
"message": "Tính năng Hoán đổi trên MetaMask đang được bảo trì. Vui lòng kiểm tra lại sau."
@ -1647,7 +1622,7 @@
"description": "The $1 is the bolded word 'Never', from 'metametricsCommitmentsBoldNever'"
},
"metametricsCommitmentsSendAnonymizedEvents": {
"message": "Gửi các lượt nhấp và xem trang đã được ẩn danh"
"message": "Gửi các lượt nhấn và xem trang đã được ẩn danh"
},
"metametricsHelpImproveMetaMask": {
"message": "Giúp chúng tôi cải thiện MetaMask"
@ -1701,11 +1676,11 @@
"message": "Gửi Phiếu"
},
"needImportFile": {
"message": "Bạn phải chọn tệp để nhập.",
"message": "Bạn phải chọn tập tin để nhập.",
"description": "User is important an account and needs to add a file to continue"
},
"negativeETH": {
"message": "Không thể gửi khoản ETH âm."
"message": "Không thể gửi số lượng ETH âm."
},
"networkDetails": {
"message": "Thông tin về mạng"
@ -1717,7 +1692,7 @@
"message": "BSC"
},
"networkNameDefinition": {
"message": "Tên liên kết với mạng này."
"message": "Tên được liên kết với mạng này."
},
"networkNameEthereum": {
"message": "Ethereum"
@ -1734,9 +1709,6 @@
"networkSettingsChainIdDescription": {
"message": "Mã chuỗi được dùng để ký các giao dịch. Giá trị này phải khớp với mã chuỗi do mạng trả về. Bạn có thể nhập một số thập phân hoặc số thập lục phân bắt đầu bằng “0x” nhưng chúng tôi sẽ hiển thị số ở dạng thập phân."
},
"networkSettingsDescription": {
"message": "Thêm và chỉnh sửa mạng RPC tùy chỉnh"
},
"networkStatus": {
"message": "Trạng thái mạng"
},
@ -1767,7 +1739,7 @@
"message": "Tài khoản mới"
},
"newAccountDetectedDialogMessage": {
"message": "Đã tìm thấy địa chỉ mới! Nhấp vào đây để thêm địa chỉ này vào sổ địa chỉ của bạn."
"message": "Đã tìm thấy địa chỉ mới! Nhấn vào đây để thêm địa chỉ này vào sổ địa chỉ của bạn."
},
"newAccountNumberName": {
"message": "Tài khoản $1",
@ -1780,7 +1752,7 @@
"message": "Bộ sưu tập đã được thêm thành công!"
},
"newContact": {
"message": "Người liên hệ mới"
"message": "Địa chỉ liên hệ mới"
},
"newContract": {
"message": "Hợp đồng mới"
@ -1832,7 +1804,7 @@
"message": "Chưa có địa chỉ nào được đặt cho tên này."
},
"noAlreadyHaveSeed": {
"message": "Không, tôi đã có Cụm mật khẩu bí mật"
"message": "Không, tôi đã có Cụm mật khẩu khôi phục bí mật"
},
"noConversionDateAvailable": {
"message": "Hiện Không Có Ngày Chuyển Đổi Tiền Tệ Nào"
@ -1889,7 +1861,7 @@
"description": "The 'call to action' on the button, or link, of the 'Stay secure' notification. Upon clicking, users will be taken to a page about security on the metamask support website."
},
"notifications3Description": {
"message": "Luôn cập nhật các phương pháp bảo mật hay nhất của MetaMask và nhận các mẹo mới nhất về bảo mật từ nhóm hỗ trợ chính thức của MetaMask.",
"message": "Luôn cập nhật các phương pháp bảo mật tốt nhất của MetaMask và nhận các mẹo mới nhất về bảo mật từ nhóm hỗ trợ chính thức của MetaMask.",
"description": "Description of a notification in the 'See What's New' popup. Describes the information they can get on security from the linked support page."
},
"notifications3Title": {
@ -1921,7 +1893,7 @@
"description": "Description of a notification in the 'See What's New' popup. Describes the Ledger support update."
},
"notifications6DescriptionTwo": {
"message": "Bạn có thể kích hoạt tính năng hỗ trợ Ledger Live bằng cách nhấp vào phần Cài đặt > Nâng cao > Sử dụng Ledger Live.",
"message": "Bạn có thể kích hoạt tính năng hỗ trợ Ledger Live bằng cách nhấn vào phần Cài đặt > Nâng cao > Sử dụng Ledger Live.",
"description": "Description of a notification in the 'See What's New' popup. Describes the Ledger support update."
},
"notifications6Title": {
@ -2045,10 +2017,10 @@
"description": "Shown to the user on the confirm screen when they are viewing MetaMask in a popup window but need to connect their ledger via webhid."
},
"optional": {
"message": "Tùy chọn"
"message": "Không bắt buộc"
},
"optionalWithParanthesis": {
"message": "(Tùy chọn)"
"message": "(Không bắt buộc)"
},
"or": {
"message": "hoặc"
@ -2100,6 +2072,10 @@
"permissionRequest": {
"message": "Yêu cầu quyền"
},
"permission_ethereumAccounts": {
"message": "Xem địa chỉ, số dư tài khoản, hoạt động và bắt đầu giao dịch",
"description": "The description for the `eth_accounts` permission"
},
"permissions": {
"message": "Quyền"
},
@ -2137,7 +2113,7 @@
"description": "select this type of file to use to import an account"
},
"privateKeyWarning": {
"message": "Cảnh báo: Tuyệt đối không để lộ mã khóa này. Bất kỳ ai có mã khóa riêng tư của bạn cũng có thể đánh cắp tài sản được giữ trong tài khoản của bạn."
"message": "Cảnh báo: Tuyệt đối không để lộ mã khóa này. Bất kỳ ai có mã khóa riêng tư của bạn cũng có thể đánh cắp tài sản được lưu giữ trong tài khoản của bạn."
},
"privateNetwork": {
"message": "Mạng riêng"
@ -2291,7 +2267,7 @@
"message": "Lưu"
},
"saveAsCsvFile": {
"message": "Lưu dưới dạng tệp CSV"
"message": "Lưu dưới dạng tập tin CSV"
},
"scanInstructions": {
"message": "Đặt mã QR vào trước máy ảnh"
@ -2315,13 +2291,13 @@
"message": "Tìm kiếm token"
},
"secretBackupPhraseDescription": {
"message": "Cụm mật khẩu sao lưu bí mật giúp việc sao lưu và khôi phục tài khoản trở nên dễ dàng."
"message": "Cụm mật khẩu khôi phục bí mật giúp việc sao lưu và khôi phục tài khoản trở nên dễ dàng."
},
"secretBackupPhraseWarning": {
"message": "CẢNH BÁO: Tuyệt đối không để lộ cụm mật khẩu sao lưu của bạn. Bất kỳ ai có cụm mật khẩu này cũng có thể lấy Ether của bạn vĩnh viễn."
"message": "CẢNH BÁO: Tuyệt đối không để lộ Cụm mật khẩu khôi phục bí mật của bạn. Bất kỳ ai có cụm mật khẩu này cũng có thể lấy Ether của bạn vĩnh viễn."
},
"secretPhrase": {
"message": "Nhập cụm mật khẩu bí mật của bạn vào đây để khôi phục két của bạn."
"message": "Chỉ tự động tải tài khoản đầu tên trên ví. Sau khi hoàn tất quá trình này, để thêm tài khoản bổ sung, hãy nhấn vào trình đơn thả xuống và chọn Tạo tài khoản."
},
"secretPhraseWarning": {
"message": "Nếu bạn khôi phục bằng cách sử dụng một Cụm Mật Khẩu Khôi Phục Bí Mật khác, thì ví, tài khoản và tài sản hiện tại của bạn sẽ bị xóa khỏi ứng dụng này vĩnh viễn. Không thể hoàn tác hành động này."
@ -2335,9 +2311,6 @@
"securityAndPrivacy": {
"message": "Bảo mật và quyền riêng tư"
},
"securitySettingsDescription": {
"message": "Các cài đặt quyền riêng tư và Cụm mật khẩu khôi phục bí mật của ví"
},
"seedPhraseConfirm": {
"message": "Xác nhận Cụm Mật Khẩu Khôi Phục Bí Mật"
},
@ -2360,25 +2333,25 @@
"message": "Lưu giữ trong hộp ký gửi an toàn."
},
"seedPhraseIntroSidebarBulletTwo": {
"message": "Lưu giữ trong két an toàn."
"message": "Lưu giữ trong két an toàn của ngân hàng."
},
"seedPhraseIntroSidebarCopyOne": {
"message": "Cụm mật khẩu khôi phục bí mật là “chìa khóa chính” để truy cập ví và số tiền của bạn."
"message": "Cụm mật khẩu khôi phục bí mật gồm 12 từ là “chìa khóa chính” để truy cập ví và số tiền của bạn"
},
"seedPhraseIntroSidebarCopyThree": {
"message": "Nếu ai đó hỏi bạn cụm mật khẩu khôi phục bí mật, thì họ đang cố gắng lừa đảo bạn."
"message": "Nếu ai đó hỏi bạn cụm mật khẩu khôi phục bí mật, thì họ đang cố gắng lừa đảo và đánh cắp tiền trong ví của bạn"
},
"seedPhraseIntroSidebarCopyTwo": {
"message": "Đừng bao giờ cho ai biết cụm mật khẩu khôi phục bí mật, kể cả MetaMask!"
},
"seedPhraseIntroSidebarTitleOne": {
"message": "Cụm mật khẩu khôi phục là gì?"
"message": "Cụm mật khẩu khôi phục bí mật là gì?"
},
"seedPhraseIntroSidebarTitleThree": {
"message": "Tôi có nên cho ai biết cụm mật khẩu khôi phục bí mật của mình không?"
},
"seedPhraseIntroSidebarTitleTwo": {
"message": "Tôi lưu cụm mật khẩu khôi phục của mình bằng cách nào?"
"message": "Tôi lưu Cụm mật khẩu khôi phục bí mật của mình bằng cách nào?"
},
"seedPhraseIntroTitle": {
"message": "Bảo mật cho ví của bạn"
@ -2405,7 +2378,7 @@
"message": "Chọn phí gas cao hơn để tăng tốc quá trình xử lý giao dịch của bạn.*"
},
"selectAccounts": {
"message": "Chọn (các) tài khoản"
"message": "Chọn (các) tài khoản để sử dụng trên trang web này"
},
"selectAll": {
"message": "Chọn tất cả"
@ -2420,13 +2393,13 @@
"message": "Vui lòng chọn từng cụm mật khẩu theo thứ tự để đảm bảo sự chính xác."
},
"selectHdPath": {
"message": "Chọn đường dẫn phân cấp xác định"
"message": "Chọn đường dẫn HD"
},
"selectNFTPrivacyPreference": {
"message": "Bật phát hiện NFT trong phần Cài Đặt"
},
"selectPathHelp": {
"message": "Nếu bạn không thấy các tài khoản Ledger hiện có của bạn dưới đây, hãy thử chuyển đường dẫn thành \"Legacy (MEW / MyCrypto)\""
"message": "Nếu bạn không thấy các tài khoản như mong đợi, hãy chuyển sang đường dẫn HD."
},
"selectType": {
"message": "Chọn loại"
@ -2454,9 +2427,6 @@
"message": "Gửi $1",
"description": "$1 represents the native currency symbol for the current network (e.g. ETH or BNB)"
},
"separateEachWord": {
"message": "Phân tách mỗi từ bằng một dấu cách"
},
"setAdvancedPrivacySettings": {
"message": "Thiết lập cài đặt quyền riêng tư nâng cao"
},
@ -2473,13 +2443,13 @@
"message": "Quyền kiểm soát gas nâng cao"
},
"showAdvancedGasInlineDescription": {
"message": "Chọn tùy chọn này để hiển thị các quyền kiểm soát giá và giới hạn ngay trên màn hình gửi và xác nhận."
"message": "Chọn tùy chọn này để hiển thị các quyền kiểm soát giá gas và giới hạn ngay trên màn hình gửi và xác nhận."
},
"showFiatConversionInTestnets": {
"message": "Hiển thị tỷ lệ quy đổi trên các mạng thử nghiệm"
},
"showFiatConversionInTestnetsDescription": {
"message": "Chọn tùy chọn này để hiển thị tỷ lệ quy đổi pháp định trên Mạng thử nghiệm"
"message": "Chọn tùy chọn này để hiển thị tỷ lệ quy đổi tiền pháp định trên mạng thử nghiệm"
},
"showHexData": {
"message": "Hiển thị dữ liệu thập lục phân"
@ -2512,7 +2482,7 @@
"message": "Hiển thị các mạng thử nghiệm"
},
"showTestnetNetworksDescription": {
"message": "Chọn cái này để hiển thị các mạng thử nghiệm trong danh sách mạng"
"message": "Chọn tùy chọn này để hiển thị các mạng thử nghiệm trong danh sách mạng"
},
"sigRequest": {
"message": "Yêu cầu chữ ký"
@ -2521,7 +2491,7 @@
"message": "Ký"
},
"signNotice": {
"message": "Việc ký thông báo này có thể gây ra \nảnh hưởng nguy hiểm ngoài ý muốn. Chỉ ký những thông báo từ \ncác trang web mà bạn hoàn toàn tin tưởng bằng toàn bộ tài khoản của mình.\n Chúng tôi sẽ loại bỏ phương thức nguy hiểm này trong phiên bản sau này. "
"message": "Việc ký vào thông báo này có thể gây nguy hiểm. Chữ ký này có thể được dùng để thực hiện bất kỳ hành động nào thay mặt cho tài khoản của bạn, bao gồm cả cấp toàn quyền kiểm soát tài khoản và tất cả tài sản bên trong cho trang web yêu cầu. Chỉ ký vào thông báo này nếu bạn biết mình đang làm gì hoặc hoàn toàn tin tưởng trang web yêu cầu."
},
"signatureRequest": {
"message": "Yêu cầu chữ ký"
@ -2621,32 +2591,32 @@
"message": "Đảm bảo Lattice1 của bạn đã sẵn sàng để kết nối"
},
"step1LatticeWalletMsg": {
"message": "Bạn có thể kết nối MetaMask với Lattice1 sau khi thiết bị đã được thiết lập và trực tuyến. Mở khóa thiết bị và chuẩn bị sẵn ID Thiết Bị. Để biết thêm về cách sử dụng ví lạnh, $1",
"message": "Bạn có thể kết nối MetaMask với Lattice1 sau khi thiết bị đã được thiết lập và trực tuyến. Mở khóa thiết bị và chuẩn bị sẵn ID Thiết Bị. Để biết thêm về cách sử dụng ví cứng, $1",
"description": "$1 represents the `hardwareWalletSupportLinkConversion` localization key"
},
"step1LedgerWallet": {
"message": "Tải ứng dụng Ledger xuống"
"message": "Tải về ứng dụng Ledger"
},
"step1LedgerWalletMsg": {
"message": "Tải xuống, thiết lập và nhập mật khẩu của bạn để mở khóa $1.",
"message": "Tải về, thiết lập và nhập mật khẩu của bạn để mở khóa $1.",
"description": "$1 represents the `ledgerLiveApp` localization value"
},
"step1TrezorWallet": {
"message": "Kết nối ví Trezor"
"message": "Cắm ví Trezor"
},
"step1TrezorWalletMsg": {
"message": "Kết nối ví của bạn trực tiếp với máy tính. Để biết thêm thông tin về cách sử dụng thiết bị ví cứng của bạn, $1",
"description": "$1 represents the `hardwareWalletSupportLinkConversion` localization key"
},
"step2LedgerWallet": {
"message": "Kết nối ví Ledger"
"message": "Cắm ví Ledger"
},
"step2LedgerWalletMsg": {
"message": "Kết nối ví của bạn trực tiếp với máy tính. Mở khóa Ledger của bạn và mở ứng dụng Ethereum. Để biết thêm thông tin về cách sử dụng thiết bị ví cứng của bạn, $1.",
"description": "$1 represents the `hardwareWalletSupportLinkConversion` localization key"
},
"storePhrase": {
"message": "Lưu cụm mật khẩu này trong trình quản lý mật khẩu chẳng hạn như 1Password."
"message": "Lưu trữ cụm mật khẩu này trong trình quản lý mật khẩu chẳng hạn như 1Password."
},
"submit": {
"message": "Gửi"
@ -2832,7 +2802,7 @@
"message": "Nguồn báo giá"
},
"swapQuotesExpiredErrorDescription": {
"message": "Vui lòng yêu cầu báo giá mới để biết các mức tỷ lệ mới nhất."
"message": "Vui lòng yêu cầu báo giá mới để biết các tỷ giá mới nhất."
},
"swapQuotesExpiredErrorTitle": {
"message": "Hết thời gian chờ báo giá"
@ -2844,10 +2814,10 @@
"message": "Không có báo giá"
},
"swapRate": {
"message": "Tỷ lệ"
"message": "Tỷ giá"
},
"swapReceiving": {
"message": "Đang nhận"
"message": "Nhận"
},
"swapReceivingInfoTooltip": {
"message": "Đây là giá trị ước tính. Số tiền chính xác phụ thuộc vào mức trượt giá."
@ -2856,7 +2826,7 @@
"message": "Yêu cầu báo giá"
},
"swapReviewSwap": {
"message": "Xem xét giao dịch hoán đổi"
"message": "Xem lại giao dịch hoán đổi"
},
"swapSearchForAToken": {
"message": "Tìm kiếm token"
@ -2880,7 +2850,7 @@
"message": "Nguồn thanh khoản"
},
"swapSourceInfo": {
"message": "Chúng tôi tìm kiếm nhiều nguồn thanh khoản (các sàn giao dịch, trình tổng hợp và nhà tạo lập thị trường) để tìm được mức tỷ lệ tốt nhất và phí mạng thấp nhất."
"message": "Chúng tôi tìm kiếm nhiều nguồn thanh khoản (các sàn giao dịch, trình tổng hợp và nhà tạo lập thị trường) để tìm được mức tỷ giá tốt nhất và phí mạng thấp nhất."
},
"swapSuggested": {
"message": "Hoán đổi gợi ý"
@ -2997,16 +2967,16 @@
"message": "Đang đồng bộ"
},
"syncWithMobile": {
"message": "Đồng bộ hóa với thiết bị di động"
"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ộ hóa 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!"
"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ộ hóa 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ộ hóa với tiện ích trình duyệt\""
"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."
@ -3015,16 +2985,16 @@
"message": "Quét mã này bằng ứng dụng MetaMask trên thiết bị di động"
},
"syncWithMobileTitle": {
"message": "Đồng bộ hóa với thiết bị di động"
"message": "Đồng bộ với thiết bị di động"
},
"syncWithThreeBox": {
"message": "Đồng bộ hóa dữ liệu với 3Box (thử nghiệm)"
"message": "Đồng bộ dữ liệu với 3Box (thử nghiệm)"
},
"syncWithThreeBoxDescription": {
"message": "Bật để sao lưu các tùy chọn cài đặt của bạn với 3Box. Tính năng này hiện đang trong giai đoạn thử nghiệm; bạn tự chịu rủi ro khi sử dụng."
},
"syncWithThreeBoxDisabled": {
"message": "Đã tắt 3Box do có lỗi xảy ra trong quá trình đồng bộ hóa ban đầu"
"message": "Đã tắt 3Box do có lỗi xảy ra trong quá trình đồng bộ ban đầu"
},
"terms": {
"message": "Điều khoản sử dụng"
@ -3065,7 +3035,7 @@
"message": "Địa chỉ hợp đồng token"
},
"tokenDecimalFetchFailed": {
"message": "Cần có vị trí thập phân của token."
"message": "Cần có số thập phân của token."
},
"tokenDetectionAnnouncement": {
"message": "Mới! Tính năng phát hiện token được cải tiến hiện đã có sẵn trên Mạng chính thức của Ethereum dưới dạng một tính năng thử nghiệm. $1"
@ -3083,7 +3053,7 @@
"message": "giao dịch"
},
"transactionCancelAttempted": {
"message": "Đã cố gắng hủy giao dịch với mức phí gas $1 lúc $2"
"message": "Đã cố gắng hủy giao dịch với mức phí gas ước tính $1 lúc $2"
},
"transactionCancelSuccess": {
"message": "Đã hủy thành công giao dịch lúc $2"
@ -3104,7 +3074,7 @@
"message": "Đã xác minh hợp đồng trên $1"
},
"transactionDecodingUnsupportedNetworkError": {
"message": "Giải mã giao dịch hiện không khả dụng cho chainId $1"
"message": "Giải mã giao dịch hiện không khả dụng cho mã chuỗi $1"
},
"transactionDetailDappGasMoreInfo": {
"message": "Trang web gợi ý"
@ -3173,10 +3143,10 @@
"message": "Tổng Phí Gas"
},
"transactionResubmitted": {
"message": "Đã gửi lại giao dịch với mức phí gas tăng lên $1 lúc $2"
"message": "Đã gửi lại giao dịch với mức phí gas ước tính tăng lên $1 lúc $2"
},
"transactionSubmitted": {
"message": "Đã gửi giao dịch với mức phí gas $1 lúc $2."
"message": "Đã gửi giao dịch với mức phí gas ước tính $1 lúc $2."
},
"transactionUpdated": {
"message": "Đã cập nhật giao dịch lúc $2."
@ -3266,7 +3236,7 @@
"description": "This is an error message we show the user if they attempt to send a collectible asset type, for which currently don't support sending"
},
"updatedWithDate": {
"message": "Đã cập nhật vào $1"
"message": "Đã cập nhật $1"
},
"urlErrorMsg": {
"message": "URL phải có tiền tố HTTP/HTTPS phù hợp."
@ -3284,7 +3254,7 @@
"message": "Sử dụng tính năng Phát hiện lừa đảo"
},
"usePhishingDetectionDescription": {
"message": "Hiển thị cảnh báo đối với các miền lừa đảo nhắm đến người dùng Ethereum"
"message": "Hiển thị cảnh báo đối với các tên miền lừa đảo nhắm đến người dùng Ethereum"
},
"useTokenDetection": {
"message": "Sử Dụng Phát Hiện Token"
@ -3299,7 +3269,7 @@
"message": "Tên người dùng"
},
"verifyThisTokenDecimalOn": {
"message": "Không tìm thấy vị trí thập phân của token trên $1",
"message": "Không tìm thấy số thập phân của token trên $1",
"description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
},
"verifyThisTokenOn": {
@ -3317,7 +3287,7 @@
"message": "Xem toàn bộ chi tiết"
},
"viewContact": {
"message": "Xem người liên hệ"
"message": "Xem địa chỉ liên hệ"
},
"viewFullTransactionDetails": {
"message": "Xem chi tiết giao dịch đầy đủ"
@ -3369,9 +3339,6 @@
"walletCreationSuccessTitle": {
"message": "Tạo ví thành công"
},
"walletSeedRestore": {
"message": "Cụm mật khẩu khôi phục bí mật của ví"
},
"web3ShimUsageNotification": {
"message": "Chúng tôi nhận thấy rằng trang web hiện tại đã cố dùng API window.web3 đã bị xóa. Nếu trang web có vẻ như đã bị lỗi, vui lòng nhấp vào $1 để biết thêm thông tin.",
"description": "$1 is a clickable link."
@ -3426,13 +3393,13 @@
"message": "Có, hãy thử"
},
"youNeedToAllowCameraAccess": {
"message": "Bạn cần cho phép truy cập vào camera để sử dụng tính năng này."
"message": "Bạn cần cho phép truy cập vào máy ảnh để sử dụng tính năng này."
},
"youSign": {
"message": "Bạn đang ký"
},
"yourPrivateSeedPhrase": {
"message": "Cụm mật khẩu bí mật, riêng tư của bạn"
"message": "Cụm mật khẩu khôi phục bí mật riêng tư của bạn"
},
"zeroGasPriceOnSpeedUpError": {
"message": "Giá gas bằng 0 khi tăng tốc"

View File

@ -47,9 +47,6 @@
"about": {
"message": "关于"
},
"aboutSettingsDescription": {
"message": "版本、支持中心和联系方式。"
},
"acceleratingATransaction": {
"message": "* 设定更高燃料价格,可以加快交易完成进度,提高网络快速处理机率,但无法保证每次均能够实现提速。"
},
@ -185,9 +182,6 @@
"advancedPriorityFeeToolTip": {
"message": "优先收费(又称“矿工费”)直接向矿工支付,并鼓励他们确定您的交易的优先次序。"
},
"advancedSettingsDescription": {
"message": "访问开发者功能,下载状态日志,重置账户,设置测试网和自定义 RPC。"
},
"affirmAgree": {
"message": "我同意"
},
@ -212,9 +206,6 @@
"alerts": {
"message": "提醒"
},
"alertsSettingsDescription": {
"message": "启用或禁用每个提醒"
},
"allowExternalExtensionTo": {
"message": "允许这个外部扩展到:"
},
@ -371,9 +362,6 @@
"message": "通过 $1 查看账户",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "使用 Blockies Identicon 图标头像"
},
"browserNotSupported": {
"message": "您的浏览器不支持该功能……"
},
@ -551,9 +539,6 @@
"contacts": {
"message": "联系人"
},
"contactsSettingsDescription": {
"message": "添加、编辑、删除和管理您的联系人。"
},
"continue": {
"message": "继续"
},
@ -1017,10 +1002,6 @@
"ethGasPriceFetchWarning": {
"message": "由于目前主要的燃料估算服务不可用,因此提供了备用燃料价格。"
},
"eth_accounts": {
"message": "查看您允许的账户的地址(必填)",
"description": "The description for the `eth_accounts` permission"
},
"ethereumPublicAddress": {
"message": "以太坊 Ethereum 公开地址"
},
@ -1039,9 +1020,6 @@
"experimental": {
"message": "实验性"
},
"experimentalSettingsDescription": {
"message": "代币检测及更多"
},
"exportPrivateKey": {
"message": "导出私钥"
},
@ -1201,7 +1179,7 @@
"message": "燃料使用"
},
"gdprMessage": {
"message": "这些数据是汇总的因此根据《GDPR 通用数据保护条例》(EU)2016/679这些数据是匿名的。有关我们隐私惯例的更多信息请参见我们的 $1。",
"message": "这些数据是汇总的因此根据《GDPR 通用数据保护条例》(EU) 2016/679这些数据是匿名的。有关我们隐私惯例的更多信息请参见我们的 $1。",
"description": "$1 refers to the gdprMessagePrivacyPolicy message, the translation of which is meant to be used exclusively in the context of gdprMessage"
},
"gdprMessagePrivacyPolicy": {
@ -1211,9 +1189,6 @@
"general": {
"message": "通用"
},
"generalSettingsDescription": {
"message": "货币转换、主要价格单位、语言和 Blockies Identicon 图标头像"
},
"getEther": {
"message": "获取 Ether"
},
@ -1734,9 +1709,6 @@
"networkSettingsChainIdDescription": {
"message": "链 ID 用于签署交易。它必须与网络返回的链 ID 相匹配。您可以输入十进制或'0x'前缀的十六进制数字,但我们将以十进制显示。"
},
"networkSettingsDescription": {
"message": "添加和编辑自定义 RPC 网络"
},
"networkStatus": {
"message": "网络状态"
},
@ -2100,6 +2072,10 @@
"permissionRequest": {
"message": "权限请求"
},
"permission_ethereumAccounts": {
"message": "查看您允许的账户的地址(必填)",
"description": "The description for the `eth_accounts` permission"
},
"permissions": {
"message": "权限"
},
@ -2335,9 +2311,6 @@
"securityAndPrivacy": {
"message": "安全与隐私"
},
"securitySettingsDescription": {
"message": "隐私设置和账户助记词"
},
"seedPhraseConfirm": {
"message": "请确认账户助记词"
},
@ -2454,9 +2427,6 @@
"message": "正在发送$1",
"description": "$1 represents the native currency symbol for the current network (e.g. ETH or BNB)"
},
"separateEachWord": {
"message": "用空格分隔每个单词"
},
"setAdvancedPrivacySettings": {
"message": "设置高级隐私设置"
},
@ -3369,9 +3339,6 @@
"walletCreationSuccessTitle": {
"message": "钱包创建成功"
},
"walletSeedRestore": {
"message": "钱包账户助记词"
},
"web3ShimUsageNotification": {
"message": "我们发现当前的网站尝试使用已经删除的 window.web3 API。如果这个网站网站已经无法正常使用请点击 $1 获取更多信息。",
"description": "$1 is a clickable link."

View File

@ -2,9 +2,6 @@
"about": {
"message": "關於"
},
"aboutSettingsDescription": {
"message": "版本,支援中心,以及聯絡資訊。"
},
"acceleratingATransaction": {
"message": "* 提高交易費 Gas 價格將可加速處理時間,但不保證會有顯著效果"
},
@ -59,9 +56,6 @@
"advancedOptions": {
"message": "進階選項"
},
"advancedSettingsDescription": {
"message": "存取開發者功能,下載狀態日誌,重設帳號,設定測試網及自訂 PRC。"
},
"amount": {
"message": "數量"
},
@ -145,9 +139,6 @@
"message": "在 $1 觀看帳號 ",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "使用像素風格代表圖案"
},
"browserNotSupported": {
"message": "您的瀏覽器尚未支援..."
},
@ -420,9 +411,6 @@
"general": {
"message": "一般"
},
"generalSettingsDescription": {
"message": "貨幣轉換,主要貨幣,語言,區塊鏈哈希頭像"
},
"getEther": {
"message": "取得以太幣"
},
@ -591,9 +579,6 @@
"networkName": {
"message": "網路名稱"
},
"networkSettingsDescription": {
"message": "新增並編輯自訂 RPC 網路"
},
"networks": {
"message": "網路"
},
@ -816,9 +801,6 @@
"securityAndPrivacy": {
"message": "安全&隱私"
},
"securitySettingsDescription": {
"message": "隱私設定及錢包助記詞"
},
"seedPhrasePlaceholder": {
"message": "單詞之間請用空白分隔"
},
@ -849,9 +831,6 @@
"sendTokens": {
"message": "發送代幣"
},
"separateEachWord": {
"message": "單詞之間請以空白間隔"
},
"settings": {
"message": "設定"
},

View File

@ -0,0 +1,4 @@
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.28348 10.8571V12H0.140625V10.8571H3.28348ZM6.42634 9.71429C6.5811 9.71429 6.71503 9.77083 6.82813 9.88393C6.94122 9.99702 6.99777 10.131 6.99777 10.2857V12.5714C6.99777 12.7262 6.94122 12.8601 6.82813 12.9732C6.71503 13.0863 6.5811 13.1429 6.42634 13.1429H4.14062C3.98586 13.1429 3.85193 13.0863 3.73884 12.9732C3.62574 12.8601 3.5692 12.7262 3.5692 12.5714V10.2857C3.5692 10.131 3.62574 9.99702 3.73884 9.88393C3.85193 9.77083 3.98586 9.71429 4.14062 9.71429H6.42634ZM7.85491 6.28571V7.42857H0.140625V6.28571H7.85491ZM2.14062 1.71428V2.85714H0.140625V1.71428H2.14062ZM13.8549 10.8571V12H7.28348V10.8571H13.8549ZM5.28348 0.571428C5.43824 0.571428 5.57217 0.627976 5.68527 0.741071C5.79836 0.854166 5.85491 0.988095 5.85491 1.14286V3.42857C5.85491 3.58333 5.79836 3.71726 5.68527 3.83036C5.57217 3.94345 5.43824 4 5.28348 4H2.99777C2.84301 4 2.70908 3.94345 2.59598 3.83036C2.48289 3.71726 2.42634 3.58333 2.42634 3.42857V1.14286C2.42634 0.988095 2.48289 0.854166 2.59598 0.741071C2.70908 0.627976 2.84301 0.571428 2.99777 0.571428H5.28348ZM10.9978 5.14286C11.1525 5.14286 11.2865 5.1994 11.3996 5.3125C11.5126 5.42559 11.5692 5.55952 11.5692 5.71429V8C11.5692 8.15476 11.5126 8.28869 11.3996 8.40179C11.2865 8.51488 11.1525 8.57143 10.9978 8.57143H8.71205C8.55729 8.57143 8.42336 8.51488 8.31027 8.40179C8.19717 8.28869 8.14062 8.15476 8.14062 8V5.71429C8.14062 5.55952 8.19717 5.42559 8.31027 5.3125C8.42336 5.1994 8.55729 5.14286 8.71205 5.14286H10.9978ZM13.8549 6.28571V7.42857H11.8549V6.28571H13.8549ZM13.8549 1.71428V2.85714H6.14063V1.71428H13.8549Z" fill="#24292E"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,4 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8 15.5714C8.09524 15.5714 8.14286 15.5238 8.14286 15.4286C8.14286 15.3333 8.09524 15.2857 8 15.2857C7.64881 15.2857 7.34524 15.1577 7.08929 14.9018C6.83929 14.6518 6.71429 14.3512 6.71429 14C6.71429 13.9048 6.66667 13.8571 6.57143 13.8571C6.47619 13.8571 6.42857 13.9048 6.42857 14C6.42857 14.4345 6.58036 14.8036 6.88393 15.1071C7.19345 15.4167 7.56548 15.5714 8 15.5714ZM15.4286 12.8571C15.4286 13.1667 15.3155 13.4345 15.0893 13.6607C14.8631 13.8869 14.5952 14 14.2857 14H10.2857C10.2857 14.631 10.0625 15.1696 9.61607 15.6161C9.16964 16.0625 8.63095 16.2857 8 16.2857C7.36905 16.2857 6.83036 16.0625 6.38393 15.6161C5.9375 15.1696 5.71429 14.631 5.71429 14H1.71429C1.40476 14 1.1369 13.8869 0.910714 13.6607C0.684524 13.4345 0.571429 13.1667 0.571429 12.8571C0.869048 12.6071 1.13988 12.3452 1.38393 12.0714C1.62798 11.7976 1.88095 11.4435 2.14286 11.0089C2.40476 10.5685 2.625 10.0952 2.80357 9.58929C2.9881 9.08333 3.1369 8.47024 3.25 7.75C3.36905 7.02976 3.42857 6.25595 3.42857 5.42857C3.42857 4.52381 3.77679 3.68452 4.47321 2.91071C5.16964 2.13095 6.08333 1.65774 7.21429 1.49107C7.16667 1.37798 7.14286 1.2619 7.14286 1.14286C7.14286 0.904762 7.22619 0.702381 7.39286 0.535714C7.55952 0.369047 7.76191 0.285713 8 0.285713C8.2381 0.285713 8.44048 0.369047 8.60714 0.535714C8.77381 0.702381 8.85714 0.904762 8.85714 1.14286C8.85714 1.2619 8.83333 1.37798 8.78572 1.49107C9.91667 1.65774 10.8304 2.13095 11.5268 2.91071C12.2232 3.68452 12.5714 4.52381 12.5714 5.42857C12.5714 6.25595 12.628 7.02976 12.7411 7.75C12.8601 8.47024 13.0089 9.08333 13.1875 9.58929C13.372 10.0952 13.5952 10.5685 13.8571 11.0089C14.119 11.4435 14.372 11.7976 14.6161 12.0714C14.8601 12.3452 15.131 12.6071 15.4286 12.8571Z" fill="#24292E"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,4 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.2935 11.3393C11.2935 11 11.2757 10.6815 11.24 10.3839C11.2102 10.0863 11.1477 9.78869 11.0525 9.49107C10.9632 9.1875 10.8471 8.93155 10.7042 8.72321C10.5614 8.50893 10.3709 8.33631 10.1328 8.20536C9.89472 8.06845 9.62388 8 9.32031 8C9.2846 8.02381 9.18341 8.08631 9.01674 8.1875C8.85603 8.28274 8.73103 8.35417 8.64174 8.40179C8.55246 8.4494 8.43043 8.50893 8.27567 8.58036C8.12686 8.65179 7.98103 8.70238 7.83817 8.73214C7.70127 8.7619 7.56436 8.77679 7.42746 8.77679C7.29055 8.77679 7.15067 8.7619 7.00781 8.73214C6.87091 8.70238 6.72507 8.65179 6.57031 8.58036C6.4215 8.50893 6.30246 8.4494 6.21317 8.40179C6.12388 8.35417 5.99591 8.28274 5.82924 8.1875C5.66853 8.08631 5.57031 8.02381 5.5346 8C5.23103 8 4.96019 8.06845 4.7221 8.20536C4.484 8.33631 4.29353 8.50893 4.15067 8.72321C4.00781 8.93155 3.88876 9.1875 3.79353 9.49107C3.70424 9.78869 3.64174 10.0863 3.60603 10.3839C3.57626 10.6815 3.56138 11 3.56138 11.3393C3.56138 11.7738 3.68638 12.1369 3.93638 12.4286C4.18638 12.7143 4.49293 12.8571 4.85603 12.8571H9.99888C10.362 12.8571 10.6685 12.7143 10.9185 12.4286C11.1685 12.1369 11.2935 11.7738 11.2935 11.3393ZM9.74888 6.03571C9.74888 5.39286 9.51972 4.84524 9.06138 4.39286C8.609 3.94048 8.06436 3.71428 7.42746 3.71428C6.79055 3.71428 6.24293 3.94048 5.7846 4.39286C5.33222 4.84524 5.10603 5.39286 5.10603 6.03571C5.10603 6.67262 5.33222 7.21726 5.7846 7.66964C6.24293 8.12202 6.79055 8.34821 7.42746 8.34821C8.06436 8.34821 8.609 8.12202 9.06138 7.66964C9.51972 7.21726 9.74888 6.67262 9.74888 6.03571ZM15.4275 10.8571V12.5714C15.4275 12.6548 15.4007 12.7232 15.3471 12.7768C15.2935 12.8304 15.2251 12.8571 15.1417 12.8571H14.2846V14.8571C14.2846 15.25 14.1447 15.5863 13.865 15.8661C13.5852 16.1458 13.2489 16.2857 12.856 16.2857H1.99888C1.60603 16.2857 1.26972 16.1458 0.989955 15.8661C0.710193 15.5863 0.570312 15.25 0.570312 14.8571V1.71428C0.570312 1.32143 0.710193 0.985118 0.989955 0.705357C1.26972 0.425594 1.60603 0.285713 1.99888 0.285713H12.856C13.2489 0.285713 13.5852 0.425594 13.865 0.705357C14.1447 0.985118 14.2846 1.32143 14.2846 1.71428V3.71428H15.1417C15.2251 3.71428 15.2935 3.74107 15.3471 3.79464C15.4007 3.84821 15.4275 3.91667 15.4275 4V5.71428C15.4275 5.79762 15.4007 5.86607 15.3471 5.91964C15.2935 5.97321 15.2251 6 15.1417 6H14.2846V7.14286H15.1417C15.2251 7.14286 15.2935 7.16964 15.3471 7.22321C15.4007 7.27679 15.4275 7.34524 15.4275 7.42857V9.14286C15.4275 9.22619 15.4007 9.29464 15.3471 9.34821C15.2935 9.40179 15.2251 9.42857 15.1417 9.42857H14.2846V10.5714H15.1417C15.2251 10.5714 15.2935 10.5982 15.3471 10.6518C15.4007 10.7054 15.4275 10.7738 15.4275 10.8571Z" fill="#24292E"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,5 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14.2042 13.2143C14.5376 13.744 14.6001 14.1964 14.3917 14.5714C14.1894 14.9524 13.7727 15.1429 13.1417 15.1429H2.85603C2.22507 15.1429 1.80543 14.9524 1.5971 14.5714C1.39472 14.1964 1.46019 13.744 1.79353 13.2143L6.2846 6.13393V2.57143H5.71317C5.55841 2.57143 5.42448 2.51488 5.31138 2.40178C5.19829 2.28869 5.14174 2.15476 5.14174 2C5.14174 1.84524 5.19829 1.71131 5.31138 1.59821C5.42448 1.48512 5.55841 1.42857 5.71317 1.42857H10.2846C10.4394 1.42857 10.5733 1.48512 10.6864 1.59821C10.7995 1.71131 10.856 1.84524 10.856 2C10.856 2.15476 10.7995 2.28869 10.6864 2.40178C10.5733 2.51488 10.4394 2.57143 10.2846 2.57143H9.71317V6.13393L14.2042 13.2143ZM7.24888 6.74107L4.82031 10.5714H11.1775L8.74888 6.74107L8.57031 6.46429V6.13393V2.57143H7.42746V6.13393V6.46429L7.24888 6.74107Z" fill="#24292E"/>
</svg>

After

Width:  |  Height:  |  Size: 916 B

View File

@ -0,0 +1,4 @@
<svg width="14" height="15" viewBox="0 0 14 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.61384 8.90179C9.06027 8.45536 9.28348 7.91667 9.28348 7.28571C9.28348 6.65476 9.06027 6.11607 8.61384 5.66964C8.16741 5.22321 7.62872 5 6.99777 5C6.36682 5 5.82813 5.22321 5.3817 5.66964C4.93527 6.11607 4.71205 6.65476 4.71205 7.28571C4.71205 7.91667 4.93527 8.45536 5.3817 8.90179C5.82813 9.34821 6.36682 9.57143 6.99777 9.57143C7.62872 9.57143 8.16741 9.34821 8.61384 8.90179ZM13.8549 6.3125V8.29464C13.8549 8.36607 13.8311 8.43452 13.7835 8.5C13.7359 8.56548 13.6763 8.60417 13.6049 8.61607L11.9531 8.86607C11.84 9.1875 11.724 9.45833 11.6049 9.67857C11.8132 9.97619 12.1317 10.3869 12.5603 10.9107C12.6198 10.9821 12.6496 11.0565 12.6496 11.1339C12.6496 11.2113 12.6228 11.2798 12.5692 11.3393C12.4085 11.5595 12.1138 11.881 11.6853 12.3036C11.2567 12.7262 10.9769 12.9375 10.846 12.9375C10.7746 12.9375 10.6972 12.9107 10.6138 12.8571L9.3817 11.8929C9.11979 12.0298 8.84896 12.1429 8.5692 12.2321C8.47396 13.0417 8.38765 13.5952 8.31027 13.8929C8.2686 14.0595 8.16146 14.1429 7.98884 14.1429H6.0067C5.92336 14.1429 5.84896 14.1161 5.78348 14.0625C5.72396 14.0149 5.69122 13.9524 5.68527 13.875L5.43527 12.2321C5.1436 12.1369 4.87574 12.0268 4.6317 11.9018L3.37277 12.8571C3.31324 12.9107 3.23884 12.9375 3.14955 12.9375C3.06622 12.9375 2.99182 12.9048 2.92634 12.8393C2.17634 12.1607 1.68527 11.6607 1.45312 11.3393C1.41146 11.2798 1.39062 11.2113 1.39062 11.1339C1.39062 11.0625 1.41443 10.994 1.46205 10.9286C1.55134 10.8036 1.70313 10.6071 1.91741 10.3393C2.1317 10.0655 2.29241 9.85417 2.39955 9.70536C2.23884 9.40774 2.11682 9.11309 2.03348 8.82143L0.399554 8.58036C0.322173 8.56845 0.259673 8.53274 0.212054 8.47321C0.164435 8.40774 0.140625 8.33631 0.140625 8.25893V6.27679C0.140625 6.20536 0.164435 6.1369 0.212054 6.07143C0.259673 6.00595 0.31622 5.96726 0.381696 5.95536L2.04241 5.70536C2.12574 5.43155 2.24182 5.15774 2.39062 4.88393C2.15253 4.54464 1.83408 4.13393 1.43527 3.65178C1.37574 3.58036 1.34598 3.50893 1.34598 3.4375C1.34598 3.37798 1.37277 3.30952 1.42634 3.23214C1.5811 3.01786 1.87277 2.6994 2.30134 2.27678C2.73586 1.84821 3.0186 1.63393 3.14955 1.63393C3.22693 1.63393 3.30432 1.66369 3.3817 1.72321L4.61384 2.67857C4.87574 2.54167 5.14658 2.42857 5.42634 2.33928C5.52158 1.52976 5.60789 0.97619 5.68527 0.678571C5.72693 0.511904 5.83408 0.428571 6.0067 0.428571H7.98884C8.07217 0.428571 8.1436 0.455357 8.20312 0.508928C8.2686 0.556547 8.30432 0.619047 8.31027 0.696428L8.56027 2.33928C8.85194 2.43452 9.11979 2.54464 9.36384 2.66964L10.6317 1.71428C10.6853 1.66071 10.7567 1.63393 10.846 1.63393C10.9234 1.63393 10.9978 1.66369 11.0692 1.72321C11.8371 2.43155 12.3281 2.9375 12.5424 3.24107C12.5841 3.28869 12.6049 3.35417 12.6049 3.4375C12.6049 3.50893 12.5811 3.57738 12.5335 3.64286C12.4442 3.76786 12.2924 3.96726 12.0781 4.24107C11.8638 4.50893 11.7031 4.71726 11.596 4.86607C11.7507 5.16369 11.8728 5.45536 11.9621 5.74107L13.596 5.99107C13.6734 6.00298 13.7359 6.04167 13.7835 6.10714C13.8311 6.16667 13.8549 6.23512 13.8549 6.3125Z" fill="#24292E"/>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

4
app/images/info-icon.svg Normal file
View File

@ -0,0 +1,4 @@
<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9.28348 11.5714V10.1429C9.28348 10.0595 9.2567 9.99107 9.20312 9.9375C9.14955 9.88393 9.0811 9.85714 8.99777 9.85714H8.14062V5.28571C8.14062 5.20238 8.11384 5.13393 8.06027 5.08036C8.0067 5.02679 7.93824 5 7.85491 5H4.99777C4.91443 5 4.84598 5.02679 4.79241 5.08036C4.73884 5.13393 4.71205 5.20238 4.71205 5.28571V6.71429C4.71205 6.79762 4.73884 6.86607 4.79241 6.91964C4.84598 6.97321 4.91443 7 4.99777 7H5.85491V9.85714H4.99777C4.91443 9.85714 4.84598 9.88393 4.79241 9.9375C4.73884 9.99107 4.71205 10.0595 4.71205 10.1429V11.5714C4.71205 11.6548 4.73884 11.7232 4.79241 11.7768C4.84598 11.8304 4.91443 11.8571 4.99777 11.8571H8.99777C9.0811 11.8571 9.14955 11.8304 9.20312 11.7768C9.2567 11.7232 9.28348 11.6548 9.28348 11.5714ZM8.14062 3.57143V2.14286C8.14062 2.05952 8.11384 1.99107 8.06027 1.9375C8.0067 1.88393 7.93824 1.85714 7.85491 1.85714H6.14063C6.05729 1.85714 5.98884 1.88393 5.93527 1.9375C5.8817 1.99107 5.85491 2.05952 5.85491 2.14286V3.57143C5.85491 3.65476 5.8817 3.72321 5.93527 3.77678C5.98884 3.83036 6.05729 3.85714 6.14063 3.85714H7.85491C7.93824 3.85714 8.0067 3.83036 8.06027 3.77678C8.11384 3.72321 8.14062 3.65476 8.14062 3.57143ZM12.9353 3.84821C13.5484 4.89583 13.8549 6.04167 13.8549 7.28571C13.8549 8.52976 13.5484 9.67857 12.9353 10.7321C12.3222 11.7798 11.4888 12.6101 10.4353 13.2232C9.38765 13.8363 8.24182 14.1429 6.99777 14.1429C5.75372 14.1429 4.60491 13.8363 3.55134 13.2232C2.50372 12.6101 1.67336 11.7798 1.06027 10.7321C0.447173 9.67857 0.140625 8.52976 0.140625 7.28571C0.140625 6.04167 0.447173 4.89583 1.06027 3.84821C1.67336 2.79464 2.50372 1.96131 3.55134 1.34821C4.60491 0.735119 5.75372 0.428571 6.99777 0.428571C8.24182 0.428571 9.38765 0.735119 10.4353 1.34821C11.4888 1.96131 12.3222 2.79464 12.9353 3.84821Z" fill="#24292E"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,4 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.6696 4.33036C15.8899 4.55655 16 4.82738 16 5.14286C16 5.45238 15.8899 5.72024 15.6696 5.94643L12.0893 9.51786L13.4286 10.8571L12 12.2857C11.0298 13.256 9.86905 13.8125 8.51786 13.9554C7.17262 14.0923 5.94941 13.7917 4.84821 13.0536L1.61607 16.2857H0V14.6696L3.23214 11.4375C2.49405 10.3363 2.19345 9.1131 2.33036 7.76786C2.47321 6.41667 3.02976 5.25595 4 4.28571L5.42857 2.85714L6.76786 4.19643L10.3393 0.616071C10.5655 0.395832 10.8363 0.285713 11.1518 0.285713C11.4673 0.285713 11.7351 0.395832 11.9554 0.616071C12.1756 0.836309 12.2857 1.10714 12.2857 1.42857C12.2857 1.74405 12.1756 2.0119 11.9554 2.23214L8.38393 5.8125L10.4732 7.90179L14.0536 4.33036C14.2798 4.11012 14.5506 4 14.8661 4C15.1815 4 15.4494 4.11012 15.6696 4.33036Z" fill="#24292E"/>
</svg>

After

Width:  |  Height:  |  Size: 871 B

View File

@ -0,0 +1,4 @@
<svg width="12" height="15" viewBox="0 0 12 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.43108 7.28571H8.57394V5.35714C8.57394 4.64732 8.32282 4.04129 7.82059 3.53906C7.31836 3.03683 6.71233 2.78571 6.00251 2.78571C5.29269 2.78571 4.68666 3.03683 4.18443 3.53906C3.6822 4.04129 3.43108 4.64732 3.43108 5.35714V7.28571ZM11.7882 8.25V14.0357C11.7882 14.3036 11.6945 14.5312 11.507 14.7188C11.3195 14.9062 11.0918 15 10.8239 15H1.18108C0.913225 15 0.685547 14.9062 0.498047 14.7188C0.310547 14.5312 0.216797 14.3036 0.216797 14.0357V8.25C0.216797 7.98214 0.310547 7.75446 0.498047 7.56696C0.685547 7.37946 0.913225 7.28571 1.18108 7.28571H1.50251V5.35714C1.50251 4.125 1.94448 3.06696 2.8284 2.18304C3.71233 1.29911 4.77037 0.857142 6.00251 0.857142C7.23465 0.857142 8.29269 1.29911 9.17662 2.18304C10.0605 3.06696 10.5025 4.125 10.5025 5.35714V7.28571H10.8239C11.0918 7.28571 11.3195 7.37946 11.507 7.56696C11.6945 7.75446 11.7882 7.98214 11.7882 8.25Z" fill="#24292E"/>
</svg>

After

Width:  |  Height:  |  Size: 996 B

View File

@ -0,0 +1,34 @@
import {
restrictedMethodPermissionBuilders,
selectHooks,
} from '@metamask/rpc-methods';
import { endowmentPermissionBuilders } from '@metamask/snap-controllers';
/**
* @returns {Record<string, Record<string, unknown>>} All endowment permission
* specifications.
*/
export const buildSnapEndowmentSpecifications = () =>
Object.values(endowmentPermissionBuilders).reduce(
(allSpecifications, { targetKey, specificationBuilder }) => {
allSpecifications[targetKey] = specificationBuilder();
return allSpecifications;
},
{},
);
/**
* @param {Record<string, Function>} hooks - The hooks for the Snap
* restricted method implementations.
*/
export function buildSnapRestrictedMethodSpecifications(hooks) {
return Object.values(restrictedMethodPermissionBuilders).reduce(
(specifications, { targetKey, specificationBuilder, methodHooks }) => {
specifications[targetKey] = specificationBuilder({
methodHooks: selectHooks(hooks, methodHooks),
});
return specifications;
},
{},
);
}

View File

@ -0,0 +1,46 @@
import {
EndowmentPermissions,
RestrictedMethods,
} from '../../../../../shared/constants/permissions';
import {
buildSnapEndowmentSpecifications,
buildSnapRestrictedMethodSpecifications,
} from './snap-permissions';
describe('buildSnapRestrictedMethodSpecifications', () => {
it('creates valid permission specification objects', () => {
const hooks = {
addSnap: () => undefined,
clearSnapState: () => undefined,
getMnemonic: () => undefined,
getSnap: () => undefined,
getSnapRpcHandler: () => undefined,
getSnapState: () => undefined,
showConfirmation: () => undefined,
updateSnapState: () => undefined,
};
const specifications = buildSnapRestrictedMethodSpecifications(hooks);
const allRestrictedMethods = Object.keys(RestrictedMethods);
Object.keys(specifications).forEach((permissionKey) =>
expect(allRestrictedMethods).toContain(permissionKey),
);
Object.values(specifications).forEach((specification) => {
expect(specification).toMatchObject({
targetKey: expect.stringMatching(/^(snap_|wallet_)/u),
methodImplementation: expect.any(Function),
allowedCaveats: null,
});
});
});
});
describe('buildSnapEndowmentSpecifications', () => {
it('creates valid permission specification objects', () => {
expect(
Object.keys(buildSnapEndowmentSpecifications()).sort(),
).toStrictEqual(Object.keys(EndowmentPermissions).sort());
});
});

View File

@ -4,3 +4,6 @@ export * from './enums';
export * from './permission-log';
export * from './specifications';
export * from './selectors';
///: BEGIN:ONLY_INCLUDE_IN(flask)
export * from './flask/snap-permissions';
///: END:ONLY_INCLUDE_IN

View File

@ -1,4 +1,7 @@
import { constructPermission } from '@metamask/snap-controllers';
import {
constructPermission,
PermissionType,
} from '@metamask/snap-controllers';
import {
CaveatTypes,
RestrictedMethods,
@ -90,6 +93,7 @@ export const getPermissionSpecifications = ({
}) => {
return {
[PermissionKeys.eth_accounts]: {
permissionType: PermissionType.RestrictedMethod,
targetKey: PermissionKeys.eth_accounts,
allowedCaveats: [CaveatTypes.restrictReturnedAccounts],

View File

@ -143,13 +143,12 @@ export default class PreferencesController {
/**
* Setter for the `openSeaEnabled` property
*
* @param {boolean} val - Whether or not the user prefers to use the OpenSea API for collectibles data.
* @param {boolean} openSeaEnabled - Whether or not the user prefers to use the OpenSea API for collectibles data.
*/
setOpenSeaEnabled(val) {
this.store.updateState({ openSeaEnabled: val });
if (!val) {
this.store.updateState({ useCollectibleDetection: false });
}
setOpenSeaEnabled(openSeaEnabled) {
this.store.updateState({
openSeaEnabled,
});
}
/**

View File

@ -1,3 +1,6 @@
///: BEGIN:ONLY_INCLUDE_IN(flask)
import { handlers as permittedSnapMethods } from '@metamask/rpc-methods/dist/permitted';
///: END:ONLY_INCLUDE_IN
import { flatten } from 'lodash';
import { permissionRpcMethods } from '@metamask/snap-controllers';
import { selectHooks } from '@metamask/rpc-methods';
@ -30,7 +33,7 @@ const expectedHookNames = Array.from(
* controllers.
* @returns {(req: Object, res: Object, next: Function, end: Function) => void}
*/
export default function createMethodMiddleware(hooks) {
export function createMethodMiddleware(hooks) {
// Fail immediately if we forgot to provide any expected hooks.
const missingHookNames = expectedHookNames.filter(
(hookName) => !Object.hasOwnProperty.call(hooks, hookName),
@ -60,6 +63,7 @@ export default function createMethodMiddleware(hooks) {
selectHooks(hooks, hookNames),
);
} catch (error) {
console.error(error);
return end(error);
}
}
@ -67,3 +71,40 @@ export default function createMethodMiddleware(hooks) {
return next();
};
}
///: BEGIN:ONLY_INCLUDE_IN(flask)
const snapHandlerMap = permittedSnapMethods.reduce((map, handler) => {
for (const methodName of handler.methodNames) {
map.set(methodName, handler);
}
return map;
}, new Map());
export function createSnapMethodMiddleware(isSnap, hooks) {
return async function methodMiddleware(req, res, next, end) {
const handler = snapHandlerMap.get(req.method);
if (handler) {
if (/^snap_/iu.test(req.method) && !isSnap) {
return end(ethErrors.rpc.methodNotFound());
}
const { implementation, hookNames } = handler;
try {
// Implementations may or may not be async, so we must await them.
return await implementation(
req,
res,
next,
end,
selectHooks(hooks, hookNames),
);
} catch (error) {
console.error(error);
return end(error);
}
}
return next();
};
}
///: END:ONLY_INCLUDE_IN

View File

@ -1 +1 @@
export { default } from './createMethodMiddleware';
export * from './createMethodMiddleware';

View File

@ -38,7 +38,13 @@ import {
import {
PermissionController,
SubjectMetadataController,
///: BEGIN:ONLY_INCLUDE_IN(flask)
SnapController,
///: END:ONLY_INCLUDE_IN
} from '@metamask/snap-controllers';
///: BEGIN:ONLY_INCLUDE_IN(flask)
import { IframeExecutionService } from '@metamask/iframe-execution-environment-service';
///: END:ONLY_INCLUDE_IN
import {
TRANSACTION_STATUSES,
@ -57,11 +63,17 @@ import {
import {
CaveatTypes,
RestrictedMethods,
///: BEGIN:ONLY_INCLUDE_IN(flask)
EndowmentPermissions,
///: END:ONLY_INCLUDE_IN
} from '../../shared/constants/permissions';
import { UI_NOTIFICATIONS } from '../../shared/notifications';
import { toChecksumHexAddress } from '../../shared/modules/hexstring-utils';
import { MILLISECOND } from '../../shared/constants/time';
import {
///: BEGIN:ONLY_INCLUDE_IN(flask)
MESSAGE_TYPE,
///: END:ONLY_INCLUDE_IN
POLLING_TOKEN_ENVIRONMENT_TYPES,
SUBJECT_TYPES,
} from '../../shared/constants/app';
@ -73,7 +85,12 @@ import { isEqualCaseInsensitive } from '../../ui/helpers/utils/util';
import ComposableObservableStore from './lib/ComposableObservableStore';
import AccountTracker from './lib/account-tracker';
import createLoggerMiddleware from './lib/createLoggerMiddleware';
import createMethodMiddleware from './lib/rpc-method-middleware';
import {
createMethodMiddleware,
///: BEGIN:ONLY_INCLUDE_IN(flask)
createSnapMethodMiddleware,
///: END:ONLY_INCLUDE_IN
} from './lib/rpc-method-middleware';
import createOriginMiddleware from './lib/createOriginMiddleware';
import createTabIdMiddleware from './lib/createTabIdMiddleware';
import createOnboardingMiddleware from './lib/createOnboardingMiddleware';
@ -107,9 +124,13 @@ import {
getPermissionBackgroundApiMethods,
getPermissionSpecifications,
getPermittedAccountsByOrigin,
PermissionLogController,
NOTIFICATION_NAMES,
PermissionLogController,
unrestrictedMethods,
///: BEGIN:ONLY_INCLUDE_IN(flask)
buildSnapEndowmentSpecifications,
buildSnapRestrictedMethodSpecifications,
///: END:ONLY_INCLUDE_IN
} from './controllers/permissions';
export const METAMASK_CONTROLLER_EVENTS = {
@ -500,36 +521,41 @@ export default class MetamaskController extends EventEmitter {
}),
state: initState.PermissionController,
caveatSpecifications: getCaveatSpecifications({ getIdentities }),
permissionSpecifications: getPermissionSpecifications({
getIdentities,
getAllAccounts: this.keyringController.getAccounts.bind(
this.keyringController,
),
captureKeyringTypesWithMissingIdentities: (
identities = {},
accounts = [],
) => {
const accountsMissingIdentities = accounts.filter(
(address) => !identities[address],
);
const keyringTypesWithMissingIdentities = accountsMissingIdentities.map(
(address) =>
this.keyringController.getKeyringForAccount(address)?.type,
);
permissionSpecifications: {
...getPermissionSpecifications({
getIdentities,
getAllAccounts: this.keyringController.getAccounts.bind(
this.keyringController,
),
captureKeyringTypesWithMissingIdentities: (
identities = {},
accounts = [],
) => {
const accountsMissingIdentities = accounts.filter(
(address) => !identities[address],
);
const keyringTypesWithMissingIdentities = accountsMissingIdentities.map(
(address) =>
this.keyringController.getKeyringForAccount(address)?.type,
);
const identitiesCount = Object.keys(identities || {}).length;
const identitiesCount = Object.keys(identities || {}).length;
const accountTrackerCount = Object.keys(
this.accountTracker.store.getState().accounts || {},
).length;
const accountTrackerCount = Object.keys(
this.accountTracker.store.getState().accounts || {},
).length;
captureException(
new Error(
`Attempt to get permission specifications failed because their were ${accounts.length} accounts, but ${identitiesCount} identities, and the ${keyringTypesWithMissingIdentities} keyrings included accounts with missing identities. Meanwhile, there are ${accountTrackerCount} accounts in the account tracker.`,
),
);
},
}),
captureException(
new Error(
`Attempt to get permission specifications failed because their were ${accounts.length} accounts, but ${identitiesCount} identities, and the ${keyringTypesWithMissingIdentities} keyrings included accounts with missing identities. Meanwhile, there are ${accountTrackerCount} accounts in the account tracker.`,
),
);
},
}),
///: BEGIN:ONLY_INCLUDE_IN(flask)
...this.getSnapPermissionSpecifications(),
///: END:ONLY_INCLUDE_IN
},
unrestrictedMethods,
});
@ -547,6 +573,53 @@ export default class MetamaskController extends EventEmitter {
subjectCacheLimit: 100,
});
///: BEGIN:ONLY_INCLUDE_IN(flask)
this.workerController = new IframeExecutionService({
onError: this.onExecutionEnvironmentError.bind(this),
iframeUrl: new URL(
'https://metamask.github.io/iframe-execution-environment/0.3.1',
),
messenger: this.controllerMessenger.getRestricted({
name: 'ExecutionService',
}),
setupSnapProvider: this.setupSnapProvider.bind(this),
});
const snapControllerMessenger = this.controllerMessenger.getRestricted({
name: 'SnapController',
allowedEvents: [
'ExecutionService:unhandledError',
'ExecutionService:unresponsive',
],
allowedActions: [
`${this.permissionController.name}:getEndowments`,
`${this.permissionController.name}:getPermissions`,
`${this.permissionController.name}:hasPermission`,
`${this.permissionController.name}:requestPermissions`,
`${this.permissionController.name}:revokeAllPermissions`,
],
});
this.snapController = new SnapController({
endowmentPermissionNames: Object.values(EndowmentPermissions),
terminateAllSnaps: this.workerController.terminateAllSnaps.bind(
this.workerController,
),
terminateSnap: this.workerController.terminateSnap.bind(
this.workerController,
),
executeSnap: this.workerController.executeSnap.bind(
this.workerController,
),
getRpcMessageHandler: this.workerController.getRpcMessageHandler.bind(
this.workerController,
),
closeAllConnections: this.removeAllConnections.bind(this),
state: initState.SnapController,
messenger: snapControllerMessenger,
});
///: END:ONLY_INCLUDE_IN
this.detectTokensController = new DetectTokensController({
preferences: this.preferencesController,
tokensController: this.tokensController,
@ -799,6 +872,9 @@ export default class MetamaskController extends EventEmitter {
TokenListController: this.tokenListController,
TokensController: this.tokensController,
CollectiblesController: this.collectiblesController,
///: BEGIN:ONLY_INCLUDE_IN(flask)
SnapController: this.snapController,
///: END:ONLY_INCLUDE_IN
});
this.memStore = new ComposableObservableStore({
@ -835,6 +911,9 @@ export default class MetamaskController extends EventEmitter {
TokenListController: this.tokenListController,
TokensController: this.tokensController,
CollectiblesController: this.collectiblesController,
///: BEGIN:ONLY_INCLUDE_IN(flask)
SnapController: this.snapController,
///: END:ONLY_INCLUDE_IN
},
controllerMessenger: this.controllerMessenger,
});
@ -866,6 +945,58 @@ export default class MetamaskController extends EventEmitter {
this.publicConfigStore = this.createPublicConfigStore();
}
///: BEGIN:ONLY_INCLUDE_IN(flask)
/**
* Constructor helper for getting Snap permission specifications.
*/
getSnapPermissionSpecifications() {
return {
...buildSnapEndowmentSpecifications(),
...buildSnapRestrictedMethodSpecifications({
addSnap: this.controllerMessenger.call.bind(
this.controllerMessenger,
'SnapController:add',
),
clearSnapState: (fromSubject) =>
this.controllerMessenger(
'SnapController:updateSnap',
fromSubject,
{},
),
getMnemonic: this.getPrimaryKeyringMnemonic.bind(this),
getSnap: this.controllerMessenger.call.bind(
this.controllerMessenger,
'SnapController:get',
),
getSnapRpcHandler: this.controllerMessenger.call.bind(
this.controllerMessenger,
'SnapController:getRpcMessageHandler',
),
getSnapState: async (...args) => {
// TODO:flask Just return the action result directly in the next
// @metamask/snap-controllers update.
return (
(await this.controllerMessenger.call(
'SnapController:getSnapState',
...args,
)) ?? null
);
},
showConfirmation: (origin, confirmationData) =>
this.approvalController.addAndShowApprovalRequest({
origin,
type: MESSAGE_TYPE.SNAP_CONFIRM,
requestData: confirmationData,
}),
updateSnapState: this.controllerMessenger.call.bind(
this.controllerMessenger,
'SnapController:updateSnapState',
),
}),
};
}
///: END:ONLY_INCLUDE_IN
/**
* Sets up BaseController V2 event subscriptions. Currently, this includes
* the subscriptions necessary to notify permission subjects of account
@ -929,6 +1060,39 @@ export default class MetamaskController extends EventEmitter {
},
getPermittedAccountsByOrigin,
);
///: BEGIN:ONLY_INCLUDE_IN(flask)
// Record Snap metadata whenever a Snap is added to state.
this.controllerMessenger.subscribe(
`${this.snapController.name}:snapAdded`,
(snapId, snap, svgIcon = null) => {
const {
manifest: { proposedName },
version,
} = snap;
this.subjectMetadataController.addSubjectMetadata({
subjectType: SUBJECT_TYPES.SNAP,
name: proposedName,
origin: snapId,
version,
svgIcon,
});
},
);
this.controllerMessenger.subscribe(
`${this.snapController.name}:snapInstalled`,
(snapId) => {
this.metaMetricsController.trackEvent({
event: 'Snap Installed',
category: 'Snaps',
properties: {
snap_id: snapId,
},
});
},
);
///: END:ONLY_INCLUDE_IN
}
/**
@ -1325,6 +1489,7 @@ export default class MetamaskController extends EventEmitter {
createTransactionEventFragment: txController.createTransactionEventFragment.bind(
txController,
),
getTransactions: txController.getTransactions.bind(txController),
// messageManager
signMessage: this.signMessage.bind(this),
@ -1399,6 +1564,16 @@ export default class MetamaskController extends EventEmitter {
),
...getPermissionBackgroundApiMethods(permissionController),
///: BEGIN:ONLY_INCLUDE_IN(flask)
// snaps
removeSnapError: this.snapController.removeSnapError.bind(
this.snapController,
),
disableSnap: this.snapController.disableSnap.bind(this.snapController),
enableSnap: this.snapController.enableSnap.bind(this.snapController),
removeSnap: this.removeSnap.bind(this),
///: END:ONLY_INCLUDE_IN
// swaps
fetchAndSetQuotes: swapsController.fetchAndSetQuotes.bind(
swapsController,
@ -1825,6 +2000,17 @@ export default class MetamaskController extends EventEmitter {
this.preferencesController.setSelectedAddress(address);
}
/**
* Gets the mnemonic of the user's primary keyring.
*/
getPrimaryKeyringMnemonic() {
const keyring = this.keyringController.getKeyringsByType('HD Key Tree')[0];
if (!keyring.mnemonic) {
throw new Error('Primary keyring mnemonic unavailable.');
}
return keyring.mnemonic;
}
//
// Hardware
//
@ -1861,7 +2047,7 @@ export default class MetamaskController extends EventEmitter {
if (deviceName === DEVICE_NAMES.LATTICE) {
keyring.appName = 'MetaMask';
}
if (deviceName === 'trezor') {
if (deviceName === DEVICE_NAMES.TREZOR) {
const model = keyring.getModel();
this.appStateController.setTrezorModel(model);
}
@ -1872,7 +2058,7 @@ export default class MetamaskController extends EventEmitter {
}
async attemptLedgerTransportCreation() {
const keyring = await this.getKeyringForDevice('ledger');
const keyring = await this.getKeyringForDevice(DEVICE_NAMES.LEDGER);
return await keyring.attemptMakeApp();
}
@ -2200,6 +2386,32 @@ export default class MetamaskController extends EventEmitter {
return await promise;
}
///: BEGIN:ONLY_INCLUDE_IN(flask)
/**
* Gets an "app key" corresponding to an Ethereum address. An app key is more
* or less an addrdess hashed together with some string, in this case a
* subject identifier / origin.
*
* @todo Figure out a way to derive app keys that doesn't depend on the user's
* Ethereum addresses.
* @param {string} subject - The identifier of the subject whose app key to
* retrieve.
* @param {string} [requestedAccount] - The account whose app key to retrieve.
* The first account in the keyring will be used by default.
*/
async getAppKeyForSubject(subject, requestedAccount) {
let account;
if (requestedAccount) {
account = requestedAccount;
} else {
account = (await this.keyringController.getAccounts())[0];
}
return this.keyringController.exportAppKeyForAddress(account, subject);
}
///: END:ONLY_INCLUDE_IN
/**
* Signifies user intent to complete an eth_sign method.
*
@ -2670,6 +2882,13 @@ export default class MetamaskController extends EventEmitter {
* @property {string} - The URL of the page or frame hosting the script that sent the message.
*/
/**
* A Snap sender object.
*
* @typedef {Object} SnapSender
* @property {string} snapId - The ID of the snap.
*/
/**
* Used to create a multiplexed stream for connecting to an untrusted context
* like a Dapp or other extension.
@ -2681,6 +2900,7 @@ export default class MetamaskController extends EventEmitter {
*/
setupUntrustedCommunication({ connectionStream, sender, subjectType }) {
const { usePhishDetect } = this.preferencesController.store.getState();
let _subjectType;
if (subjectType) {
_subjectType = subjectType;
@ -2793,14 +3013,20 @@ export default class MetamaskController extends EventEmitter {
* A method for serving our ethereum provider over a given stream.
*
* @param {*} outStream - The stream to provide over.
* @param {MessageSender} sender - The sender of the messages on this stream
* @param {MessageSender | SnapSender} sender - The sender of the messages on this stream
* @param {string} subjectType - The type of the sender, i.e. subject.
*/
setupProviderConnection(outStream, sender, subjectType) {
let origin;
if (subjectType === SUBJECT_TYPES.INTERNAL) {
origin = 'metamask';
} else {
}
///: BEGIN:ONLY_INCLUDE_IN(flask)
else if (subjectType === SUBJECT_TYPES.SNAP) {
origin = sender.snapId;
}
///: END:ONLY_INCLUDE_IN
else {
origin = new URL(sender.url).origin;
}
@ -2819,9 +3045,9 @@ export default class MetamaskController extends EventEmitter {
const engine = this.setupProviderEngine({
origin,
tabId,
sender,
subjectType,
tabId,
});
// setup connection
@ -2843,6 +3069,33 @@ export default class MetamaskController extends EventEmitter {
});
}
///: BEGIN:ONLY_INCLUDE_IN(flask)
/**
* For snaps running in workers.
*
* @param snapId
* @param error
*/
onExecutionEnvironmentError(snapId, error) {
this.snapController.stopPlugin(snapId);
this.snapController.addSnapError(error);
}
/**
* For snaps running in workers.
*
* @param snapId
* @param connectionStream
*/
setupSnapProvider(snapId, connectionStream) {
this.setupUntrustedCommunication({
connectionStream,
sender: { snapId },
subjectType: SUBJECT_TYPES.SNAP,
});
}
///: END:ONLY_INCLUDE_IN
/**
* A method for creating a provider that is safely restricted for the requesting subject.
*
@ -2871,13 +3124,16 @@ export default class MetamaskController extends EventEmitter {
// append origin to each request
engine.push(createOriginMiddleware({ origin }));
// append tabId to each request if it exists
if (tabId) {
engine.push(createTabIdMiddleware({ tabId }));
}
// logging
engine.push(createLoggerMiddleware({ origin }));
engine.push(this.permissionLogController.createMiddleware());
// onboarding
if (subjectType === SUBJECT_TYPES.WEBSITE) {
engine.push(
@ -2887,6 +3143,8 @@ export default class MetamaskController extends EventEmitter {
}),
);
}
// Unrestricted/permissionless RPC method implementations
engine.push(
createMethodMiddleware({
origin,
@ -2974,6 +3232,34 @@ export default class MetamaskController extends EventEmitter {
),
}),
);
///: BEGIN:ONLY_INCLUDE_IN(flask)
engine.push(
createSnapMethodMiddleware(subjectType === SUBJECT_TYPES.SNAP, {
getAppKey: this.getAppKeyForSubject.bind(this, origin),
getSnaps: this.snapController.getPermittedSnaps.bind(
this.snapController,
origin,
),
requestPermissions: async (requestedPermissions) => {
const [
approvedPermissions,
] = await this.permissionController.requestPermissions(
{ origin },
requestedPermissions,
);
return Object.values(approvedPermissions);
},
getAccounts: this.getPermittedAccounts.bind(this, origin),
installSnaps: this.snapController.installSnaps.bind(
this.snapController,
origin,
),
}),
);
///: END:ONLY_INCLUDE_IN
// filter and subscription polyfills
engine.push(filterMiddleware);
engine.push(subscriptionManager.middleware);
@ -2985,6 +3271,7 @@ export default class MetamaskController extends EventEmitter {
}),
);
}
// forward to metamask primary provider
engine.push(providerAsMiddleware(provider));
return engine;
@ -3059,6 +3346,24 @@ export default class MetamaskController extends EventEmitter {
}
}
/**
* Closes all connections for the given origin, and removes the references
* to them.
* Ignores unknown origins.
*
* @param {string} origin - The origin string.
*/
removeAllConnections(origin) {
const connections = this.connections[origin];
if (!connections) {
return;
}
Object.keys(connections).forEach((id) => {
this.removeConnection(origin, id);
});
}
/**
* Causes the RPC engines associated with the connections to the given origin
* to emit a notification event with the given payload.
@ -3415,7 +3720,7 @@ export default class MetamaskController extends EventEmitter {
transportType,
);
const keyring = await this.getKeyringForDevice('ledger');
const keyring = await this.getKeyringForDevice(DEVICE_NAMES.LEDGER);
if (keyring?.updateTransportMethod) {
return keyring.updateTransportMethod(newValue).catch((e) => {
// If there was an error updating the transport, we should
@ -3512,4 +3817,23 @@ export default class MetamaskController extends EventEmitter {
}
return this.keyringController.setLocked();
}
///: BEGIN:ONLY_INCLUDE_IN(flask)
// SNAPS
/**
* Removes the specified snap, and all of its associated permissions.
* If we didn't revoke the permission to access the snap from all subjects,
* they could just reinstall without any confirmation.
*
* TODO: This should be implemented in `SnapController.removeSnap` via a controller action.
*
* @param {{ id: string, permissionName: string }} snap - The wrapper object of the snap to remove.
*/
removeSnap(snap) {
this.snapController.removeSnap(snap.id);
this.permissionController.revokePermissionForAllSubjects(
snap.permissionName,
);
}
///: END:ONLY_INCLUDE_IN
}

View File

@ -9,7 +9,10 @@ import proxyquire from 'proxyquire';
import { TRANSACTION_STATUSES } from '../../shared/constants/transaction';
import createTxMeta from '../../test/lib/createTxMeta';
import { NETWORK_TYPE_RPC } from '../../shared/constants/network';
import { KEYRING_TYPES } from '../../shared/constants/hardware-wallets';
import {
KEYRING_TYPES,
DEVICE_NAMES,
} from '../../shared/constants/hardware-wallets';
import { addHexPrefix } from './lib/util';
const Ganache = require('../../test/e2e/ganache');
@ -490,7 +493,9 @@ describe('MetaMaskController', function () {
it('should add the Trezor Hardware keyring', async function () {
sinon.spy(metamaskController.keyringController, 'addNewKeyring');
await metamaskController.connectHardware('trezor', 0).catch(() => null);
await metamaskController
.connectHardware(DEVICE_NAMES.TREZOR, 0)
.catch(() => null);
const keyrings = await metamaskController.keyringController.getKeyringsByType(
KEYRING_TYPES.TREZOR,
);
@ -503,7 +508,9 @@ describe('MetaMaskController', function () {
it('should add the Ledger Hardware keyring', async function () {
sinon.spy(metamaskController.keyringController, 'addNewKeyring');
await metamaskController.connectHardware('ledger', 0).catch(() => null);
await metamaskController
.connectHardware(DEVICE_NAMES.LEDGER, 0)
.catch(() => null);
const keyrings = await metamaskController.keyringController.getKeyringsByType(
KEYRING_TYPES.LEDGER,
);
@ -531,8 +538,12 @@ describe('MetaMaskController', function () {
});
it('should be locked by default', async function () {
await metamaskController.connectHardware('trezor', 0).catch(() => null);
const status = await metamaskController.checkHardwareStatus('trezor');
await metamaskController
.connectHardware(DEVICE_NAMES.TREZOR, 0)
.catch(() => null);
const status = await metamaskController.checkHardwareStatus(
DEVICE_NAMES.TREZOR,
);
assert.equal(status, false);
});
});
@ -550,8 +561,10 @@ describe('MetaMaskController', function () {
});
it('should wipe all the keyring info', async function () {
await metamaskController.connectHardware('trezor', 0).catch(() => null);
await metamaskController.forgetDevice('trezor');
await metamaskController
.connectHardware(DEVICE_NAMES.TREZOR, 0)
.catch(() => null);
await metamaskController.forgetDevice(DEVICE_NAMES.TREZOR);
const keyrings = await metamaskController.keyringController.getKeyringsByType(
KEYRING_TYPES.TREZOR,
);
@ -592,11 +605,11 @@ describe('MetaMaskController', function () {
sinon.spy(metamaskController.preferencesController, 'setSelectedAddress');
sinon.spy(metamaskController.preferencesController, 'setAccountLabel');
await metamaskController
.connectHardware('trezor', 0, `m/44'/1'/0'/0`)
.connectHardware(DEVICE_NAMES.TREZOR, 0, `m/44'/1'/0'/0`)
.catch(() => null);
await metamaskController.unlockHardwareWalletAccount(
accountToUnlock,
'trezor',
DEVICE_NAMES.TREZOR,
`m/44'/1'/0'/0`,
);
});

View File

@ -29,8 +29,8 @@ this.store.updateStructure({
...,
GasFeeController: this.gasFeeController,
TokenListController: this.tokenListController,
///: BEGIN:ONLY_INCLUDE_IN(beta)
PluginController: this.pluginController,
///: BEGIN:ONLY_INCLUDE_IN(flask)
SnapController: this.snapController,
///: END:ONLY_INCLUDE_IN
});
```

32
development/mock-e2e.js Normal file
View File

@ -0,0 +1,32 @@
function setupMocking(server) {
server.forAnyRequest().thenPassThrough();
server
.forOptions('https://gas-api.metaswap.codefi.network/networks/1/gasPrices')
.thenCallback(() => {
return {
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET,HEAD,PUT,PATCH,POST,DELETE',
'Access-Control-Allow-Headers': 'content-type,x-client-id',
},
statusCode: 200,
};
});
server
.forGet('https://gas-api.metaswap.codefi.network/networks/1/gasPrices')
.thenCallback(() => {
return {
headers: { 'Access-Control-Allow-Origin': '*' },
statusCode: 200,
json: {
SafeGasPrice: '1',
ProposeGasPrice: '2',
FastGasPrice: '3',
},
};
});
}
module.exports = { setupMocking };

View File

@ -1,6 +1,6 @@
# Using the TREZOR simulator
You can install the TREZOR emulator and use it with Metamask.
You can install the TREZOR emulator and use it with Metamask.
Here is how:
## 1 - Install the TREZOR Bridge
@ -9,7 +9,7 @@ Download the corresponding bridge for your platform from [this url](https://wall
## 2 - Download and build the simulator
Follow this instructions: https://github.com/trezor/trezor-core/blob/master/docs/build.md
Follow this instructions: https://github.com/trezor/trezor-firmware/blob/master/docs/core/emulator/index.md
## 3 - Restart the bridge with emulator support (Mac OSx instructions)
@ -22,4 +22,4 @@ Follow this instructions: https://github.com/trezor/trezor-core/blob/master/docs
# launch the emulator
~/trezor-core/emu.sh
````
```

View File

@ -1,6 +1,6 @@
module.exports = {
collectCoverageFrom: [
'<rootDir>/app/scripts/controllers/permissions/*.js',
'<rootDir>/app/scripts/controllers/permissions/**/*.js',
'<rootDir>/shared/**/*.js',
'<rootDir>/ui/**/*.js',
],
@ -14,7 +14,7 @@ module.exports = {
lines: 43,
statements: 43,
},
'./app/scripts/controllers/permissions/*.js': {
'./app/scripts/controllers/permissions/**/*.js': {
branches: 100,
functions: 100,
lines: 100,
@ -33,7 +33,7 @@ module.exports = {
'<rootDir>/app/scripts/migrations/*.test.js',
'<rootDir>/app/scripts/platforms/*.test.js',
'<rootDir>app/scripts/controllers/network/**/*.test.js',
'<rootDir>/app/scripts/controllers/permissions/*.test.js',
'<rootDir>/app/scripts/controllers/permissions/**/*.test.js',
],
testTimeout: 2500,
transform: {

View File

@ -10,6 +10,11 @@
"@babel/runtime": true
}
},
"keccak": {
"packages": {
"readable-stream": true
}
},
"node-fetch": {
"globals": {
"fetch": true

View File

@ -700,11 +700,11 @@
},
"@metamask/snap-controllers": {
"globals": {
"URL": true,
"Worker": true,
"clearTimeout": true,
"console.error": true,
"console.log": true,
"console.warn": true,
"fetch": true,
"setTimeout": true
},
@ -715,14 +715,22 @@
"@metamask/post-message-stream": true,
"@metamask/safe-event-emitter": true,
"@metamask/snap-workers": true,
"ajv": true,
"buffer": true,
"concat-stream": true,
"crypto-browserify": true,
"deep-freeze-strict": true,
"eth-rpc-errors": true,
"fast-deep-equal": true,
"gunzip-maybe": true,
"immer": true,
"json-rpc-engine": true,
"json-rpc-middleware-stream": true,
"nanoid": true,
"pump": true
"pump": true,
"readable-web-to-node-stream": true,
"semver": true,
"tar-stream": true
}
},
"@ngraveio/bc-ur": {
@ -973,6 +981,11 @@
"define": true
}
},
"ajv": {
"packages": {
"fast-deep-equal": true
}
},
"analytics-node": {
"globals": {
"clearTimeout": true,
@ -1158,6 +1171,7 @@
"bl": {
"packages": {
"buffer": true,
"inherits": true,
"readable-stream": true,
"util": true
}
@ -1270,6 +1284,16 @@
"btoa": true
}
},
"browserify-zlib": {
"packages": {
"assert": true,
"buffer": true,
"pako": true,
"process": true,
"readable-stream": true,
"util": true
}
},
"bs58": {
"packages": {
"base-x": true
@ -1296,6 +1320,11 @@
"ieee754": true
}
},
"buffer-from": {
"packages": {
"buffer": true
}
},
"buffer-split": {
"packages": {
"buffer-indexof": true
@ -1426,6 +1455,13 @@
"util": true
}
},
"concat-stream": {
"packages": {
"buffer": true,
"inherits": true,
"readable-stream": true
}
},
"constant-case": {
"packages": {
"snake-case": true,
@ -1707,6 +1743,16 @@
"stream-browserify": true
}
},
"duplexify": {
"packages": {
"buffer": true,
"end-of-stream": true,
"inherits": true,
"process": true,
"readable-stream": true,
"stream-shift": true
}
},
"elliptic": {
"packages": {
"bn.js": true,
@ -1793,6 +1839,16 @@
"safe-event-emitter": true
}
},
"eth-eip712-util-browser": {
"globals": {
"intToBuffer": true
},
"packages": {
"bn.js": true,
"buffer": true,
"js-sha3": true
}
},
"eth-ens-namehash": {
"globals": {
"name": "write"
@ -2047,11 +2103,6 @@
"@ethersproject/wordlists": true
}
},
"ethers-eip712": {
"packages": {
"ethers": true
}
},
"ethjs": {
"globals": {
"clearInterval": true,
@ -2207,6 +2258,11 @@
"postMessage": true
}
},
"fs-constants": {
"packages": {
"constants-browserify": true
}
},
"fsm-event": {
"packages": {
"assert": true,
@ -2268,14 +2324,23 @@
"buffer": true,
"crc-32": true,
"elliptic": true,
"ethers": true,
"ethers-eip712": true,
"eth-eip712-util-browser": true,
"js-sha3": true,
"rlp-browser": true,
"secp256k1": true,
"superagent": true
}
},
"gunzip-maybe": {
"packages": {
"browserify-zlib": true,
"is-deflate": true,
"is-gzip": true,
"peek-stream": true,
"pumpify": true,
"through2": true
}
},
"hamt-sharding": {
"packages": {
"is-buffer": true,
@ -3926,6 +3991,14 @@
"sha.js": true
}
},
"peek-stream": {
"packages": {
"buffer": true,
"buffer-from": true,
"duplexify": true,
"through2": true
}
},
"peer-book": {
"packages": {
"bs58": true,
@ -4148,6 +4221,13 @@
"process": true
}
},
"pumpify": {
"packages": {
"duplexify": true,
"inherits": true,
"pump": true
}
},
"punycode": {
"globals": {
"define": true
@ -4461,6 +4541,11 @@
"util-deprecate": true
}
},
"readable-web-to-node-stream": {
"packages": {
"readable-stream": true
}
},
"receptacle": {
"globals": {
"clearTimeout": true,
@ -4782,6 +4867,19 @@
"upper-case": true
}
},
"tar-stream": {
"packages": {
"bl": true,
"buffer": true,
"end-of-stream": true,
"fs-constants": true,
"inherits": true,
"process": true,
"readable-stream": true,
"string_decoder": true,
"util": true
}
},
"textarea-caret": {
"globals": {
"document.body.appendChild": true,

View File

@ -617,6 +617,25 @@
"URL": true
}
},
"@metamask/iframe-execution-environment-service": {
"globals": {
"clearTimeout": true,
"console.log": true,
"document.body.appendChild": true,
"document.createElement": true,
"document.getElementById": true,
"setTimeout": true
},
"packages": {
"@metamask/post-message-stream": true,
"@metamask/snap-controllers": true,
"@metamask/snap-workers": true,
"json-rpc-engine": true,
"json-rpc-middleware-stream": true,
"nanoid": true,
"pump": true
}
},
"@metamask/jazzicon": {
"globals": {
"document.createElement": true,
@ -700,11 +719,11 @@
},
"@metamask/snap-controllers": {
"globals": {
"URL": true,
"Worker": true,
"clearTimeout": true,
"console.error": true,
"console.log": true,
"console.warn": true,
"fetch": true,
"setTimeout": true
},
@ -715,14 +734,22 @@
"@metamask/post-message-stream": true,
"@metamask/safe-event-emitter": true,
"@metamask/snap-workers": true,
"ajv": true,
"buffer": true,
"concat-stream": true,
"crypto-browserify": true,
"deep-freeze-strict": true,
"eth-rpc-errors": true,
"fast-deep-equal": true,
"gunzip-maybe": true,
"immer": true,
"json-rpc-engine": true,
"json-rpc-middleware-stream": true,
"nanoid": true,
"pump": true
"pump": true,
"readable-web-to-node-stream": true,
"semver": true,
"tar-stream": true
}
},
"@ngraveio/bc-ur": {
@ -973,6 +1000,11 @@
"define": true
}
},
"ajv": {
"packages": {
"fast-deep-equal": true
}
},
"analytics-node": {
"globals": {
"clearTimeout": true,
@ -1158,6 +1190,7 @@
"bl": {
"packages": {
"buffer": true,
"inherits": true,
"readable-stream": true,
"util": true
}
@ -1270,6 +1303,16 @@
"btoa": true
}
},
"browserify-zlib": {
"packages": {
"assert": true,
"buffer": true,
"pako": true,
"process": true,
"readable-stream": true,
"util": true
}
},
"bs58": {
"packages": {
"base-x": true
@ -1296,6 +1339,11 @@
"ieee754": true
}
},
"buffer-from": {
"packages": {
"buffer": true
}
},
"buffer-split": {
"packages": {
"buffer-indexof": true
@ -1426,6 +1474,13 @@
"util": true
}
},
"concat-stream": {
"packages": {
"buffer": true,
"inherits": true,
"readable-stream": true
}
},
"constant-case": {
"packages": {
"snake-case": true,
@ -1707,6 +1762,16 @@
"stream-browserify": true
}
},
"duplexify": {
"packages": {
"buffer": true,
"end-of-stream": true,
"inherits": true,
"process": true,
"readable-stream": true,
"stream-shift": true
}
},
"elliptic": {
"packages": {
"bn.js": true,
@ -1793,6 +1858,16 @@
"safe-event-emitter": true
}
},
"eth-eip712-util-browser": {
"globals": {
"intToBuffer": true
},
"packages": {
"bn.js": true,
"buffer": true,
"js-sha3": true
}
},
"eth-ens-namehash": {
"globals": {
"name": "write"
@ -2047,11 +2122,6 @@
"@ethersproject/wordlists": true
}
},
"ethers-eip712": {
"packages": {
"ethers": true
}
},
"ethjs": {
"globals": {
"clearInterval": true,
@ -2207,6 +2277,11 @@
"postMessage": true
}
},
"fs-constants": {
"packages": {
"constants-browserify": true
}
},
"fsm-event": {
"packages": {
"assert": true,
@ -2268,14 +2343,23 @@
"buffer": true,
"crc-32": true,
"elliptic": true,
"ethers": true,
"ethers-eip712": true,
"eth-eip712-util-browser": true,
"js-sha3": true,
"rlp-browser": true,
"secp256k1": true,
"superagent": true
}
},
"gunzip-maybe": {
"packages": {
"browserify-zlib": true,
"is-deflate": true,
"is-gzip": true,
"peek-stream": true,
"pumpify": true,
"through2": true
}
},
"hamt-sharding": {
"packages": {
"is-buffer": true,
@ -3926,6 +4010,14 @@
"sha.js": true
}
},
"peek-stream": {
"packages": {
"buffer": true,
"buffer-from": true,
"duplexify": true,
"through2": true
}
},
"peer-book": {
"packages": {
"bs58": true,
@ -4148,6 +4240,13 @@
"process": true
}
},
"pumpify": {
"packages": {
"duplexify": true,
"inherits": true,
"pump": true
}
},
"punycode": {
"globals": {
"define": true
@ -4461,6 +4560,11 @@
"util-deprecate": true
}
},
"readable-web-to-node-stream": {
"packages": {
"readable-stream": true
}
},
"receptacle": {
"globals": {
"clearTimeout": true,
@ -4782,6 +4886,19 @@
"upper-case": true
}
},
"tar-stream": {
"packages": {
"bl": true,
"buffer": true,
"end-of-stream": true,
"fs-constants": true,
"inherits": true,
"process": true,
"readable-stream": true,
"string_decoder": true,
"util": true
}
},
"textarea-caret": {
"globals": {
"document.body.appendChild": true,

View File

@ -10,6 +10,11 @@
"@babel/runtime": true
}
},
"keccak": {
"packages": {
"readable-stream": true
}
},
"node-fetch": {
"globals": {
"fetch": true

View File

@ -700,11 +700,11 @@
},
"@metamask/snap-controllers": {
"globals": {
"URL": true,
"Worker": true,
"clearTimeout": true,
"console.error": true,
"console.log": true,
"console.warn": true,
"fetch": true,
"setTimeout": true
},
@ -715,14 +715,22 @@
"@metamask/post-message-stream": true,
"@metamask/safe-event-emitter": true,
"@metamask/snap-workers": true,
"ajv": true,
"buffer": true,
"concat-stream": true,
"crypto-browserify": true,
"deep-freeze-strict": true,
"eth-rpc-errors": true,
"fast-deep-equal": true,
"gunzip-maybe": true,
"immer": true,
"json-rpc-engine": true,
"json-rpc-middleware-stream": true,
"nanoid": true,
"pump": true
"pump": true,
"readable-web-to-node-stream": true,
"semver": true,
"tar-stream": true
}
},
"@ngraveio/bc-ur": {
@ -973,6 +981,11 @@
"define": true
}
},
"ajv": {
"packages": {
"fast-deep-equal": true
}
},
"analytics-node": {
"globals": {
"clearTimeout": true,
@ -1158,6 +1171,7 @@
"bl": {
"packages": {
"buffer": true,
"inherits": true,
"readable-stream": true,
"util": true
}
@ -1270,6 +1284,16 @@
"btoa": true
}
},
"browserify-zlib": {
"packages": {
"assert": true,
"buffer": true,
"pako": true,
"process": true,
"readable-stream": true,
"util": true
}
},
"bs58": {
"packages": {
"base-x": true
@ -1296,6 +1320,11 @@
"ieee754": true
}
},
"buffer-from": {
"packages": {
"buffer": true
}
},
"buffer-split": {
"packages": {
"buffer-indexof": true
@ -1426,6 +1455,13 @@
"util": true
}
},
"concat-stream": {
"packages": {
"buffer": true,
"inherits": true,
"readable-stream": true
}
},
"constant-case": {
"packages": {
"snake-case": true,
@ -1707,6 +1743,16 @@
"stream-browserify": true
}
},
"duplexify": {
"packages": {
"buffer": true,
"end-of-stream": true,
"inherits": true,
"process": true,
"readable-stream": true,
"stream-shift": true
}
},
"elliptic": {
"packages": {
"bn.js": true,
@ -1793,6 +1839,16 @@
"safe-event-emitter": true
}
},
"eth-eip712-util-browser": {
"globals": {
"intToBuffer": true
},
"packages": {
"bn.js": true,
"buffer": true,
"js-sha3": true
}
},
"eth-ens-namehash": {
"globals": {
"name": "write"
@ -2047,11 +2103,6 @@
"@ethersproject/wordlists": true
}
},
"ethers-eip712": {
"packages": {
"ethers": true
}
},
"ethjs": {
"globals": {
"clearInterval": true,
@ -2207,6 +2258,11 @@
"postMessage": true
}
},
"fs-constants": {
"packages": {
"constants-browserify": true
}
},
"fsm-event": {
"packages": {
"assert": true,
@ -2268,14 +2324,23 @@
"buffer": true,
"crc-32": true,
"elliptic": true,
"ethers": true,
"ethers-eip712": true,
"eth-eip712-util-browser": true,
"js-sha3": true,
"rlp-browser": true,
"secp256k1": true,
"superagent": true
}
},
"gunzip-maybe": {
"packages": {
"browserify-zlib": true,
"is-deflate": true,
"is-gzip": true,
"peek-stream": true,
"pumpify": true,
"through2": true
}
},
"hamt-sharding": {
"packages": {
"is-buffer": true,
@ -3926,6 +3991,14 @@
"sha.js": true
}
},
"peek-stream": {
"packages": {
"buffer": true,
"buffer-from": true,
"duplexify": true,
"through2": true
}
},
"peer-book": {
"packages": {
"bs58": true,
@ -4148,6 +4221,13 @@
"process": true
}
},
"pumpify": {
"packages": {
"duplexify": true,
"inherits": true,
"pump": true
}
},
"punycode": {
"globals": {
"define": true
@ -4461,6 +4541,11 @@
"util-deprecate": true
}
},
"readable-web-to-node-stream": {
"packages": {
"readable-stream": true
}
},
"receptacle": {
"globals": {
"clearTimeout": true,
@ -4782,6 +4867,19 @@
"upper-case": true
}
},
"tar-stream": {
"packages": {
"bl": true,
"buffer": true,
"end-of-stream": true,
"fs-constants": true,
"inherits": true,
"process": true,
"readable-stream": true,
"string_decoder": true,
"util": true
}
},
"textarea-caret": {
"globals": {
"document.body.appendChild": true,

View File

@ -113,13 +113,15 @@
"@metamask/eth-ledger-bridge-keyring": "^0.10.0",
"@metamask/eth-token-tracker": "^4.0.0",
"@metamask/etherscan-link": "^2.1.0",
"@metamask/iframe-execution-environment-service": "^0.9.0",
"@metamask/jazzicon": "^2.0.0",
"@metamask/logo": "^3.1.1",
"@metamask/obs-store": "^5.0.0",
"@metamask/post-message-stream": "^4.0.0",
"@metamask/providers": "^8.1.1",
"@metamask/rpc-methods": "^0.5.0",
"@metamask/snap-controllers": "^0.4.0",
"@metamask/rpc-methods": "^0.9.0",
"@metamask/slip44": "^2.0.0",
"@metamask/snap-controllers": "^0.9.0",
"@ngraveio/bc-ur": "^1.1.6",
"@popperjs/core": "^2.4.0",
"@reduxjs/toolkit": "^1.6.2",
@ -240,7 +242,7 @@
"@metamask/eslint-config-mocha": "^9.0.0",
"@metamask/eslint-config-nodejs": "^9.0.0",
"@metamask/forwarder": "^1.1.0",
"@metamask/test-dapp": "^4.0.1",
"@metamask/test-dapp": "^5.0.0",
"@sentry/cli": "^1.58.0",
"@storybook/addon-a11y": "^6.3.12",
"@storybook/addon-actions": "^6.3.12",
@ -266,7 +268,7 @@
"browser-util-inspect": "^0.2.0",
"browserify": "^16.5.1",
"chalk": "^3.0.0",
"chromedriver": "^96.0.0",
"chromedriver": "^98.0.0",
"concurrently": "^5.2.0",
"copy-webpack-plugin": "^6.0.3",
"cross-spawn": "^7.0.3",
@ -308,6 +310,7 @@
"history": "^5.0.0",
"improved-yarn-audit": "^3.0.0",
"jest": "^26.6.3",
"jest-canvas-mock": "^2.3.1",
"jsdom": "^11.2.0",
"koa": "^2.7.0",
"lavamoat": "^5.3.5",
@ -317,6 +320,7 @@
"loose-envify": "^1.4.0",
"minimist": "^1.2.5",
"mocha": "^7.2.0",
"mockttp": "^2.6.0",
"nock": "^9.0.14",
"node-fetch": "^2.6.1",
"nyc": "^15.0.0",

View File

@ -1,3 +1,5 @@
import { RestrictedMethods } from './permissions';
/**
* A string representing the type of environment the application is currently running in
* popup - When the user click's the icon in their browser's extension bar; the default view
@ -31,7 +33,7 @@ export const PLATFORM_OPERA = 'Opera';
export const MESSAGE_TYPE = {
ADD_ETHEREUM_CHAIN: 'wallet_addEthereumChain',
ETH_ACCOUNTS: 'eth_accounts',
ETH_ACCOUNTS: RestrictedMethods.eth_accounts,
ETH_DECRYPT: 'eth_decrypt',
ETH_GET_ENCRYPTION_PUBLIC_KEY: 'eth_getEncryptionPublicKey',
ETH_REQUEST_ACCOUNTS: 'eth_requestAccounts',
@ -44,6 +46,9 @@ export const MESSAGE_TYPE = {
SWITCH_ETHEREUM_CHAIN: 'wallet_switchEthereumChain',
WATCH_ASSET: 'wallet_watchAsset',
WATCH_ASSET_LEGACY: 'metamask_watchAsset',
///: BEGIN:ONLY_INCLUDE_IN(flask)
SNAP_CONFIRM: RestrictedMethods.snap_confirm,
///: END:ONLY_INCLUDE_IN
};
/**
@ -55,6 +60,9 @@ export const SUBJECT_TYPES = {
INTERNAL: 'internal',
UNKNOWN: 'unknown',
WEBSITE: 'website',
///: BEGIN:ONLY_INCLUDE_IN(flask)
SNAP: 'snap',
///: END:ONLY_INCLUDE_IN
};
export const POLLING_TOKEN_ENVIRONMENT_TYPES = {

View File

@ -0,0 +1,5 @@
/**
* MAX_DECIMAL represensts the maximum number of decimal values allow for the input,
* the limitation in javascript <input/> retstricts us to keep it as 15 and below.
*/
export const MAX_DECIMAL = 15;

View File

@ -41,14 +41,14 @@ export const GOERLI_DISPLAY_NAME = 'Goerli';
export const LOCALHOST_DISPLAY_NAME = 'Localhost 8545';
const infuraProjectId = process.env.INFURA_PROJECT_ID;
const getRpcUrl = (network) =>
`https://${network}.infura.io/v3/${infuraProjectId}`;
export const getRpcUrl = ({ network, excludeProjectId = false }) =>
`https://${network}.infura.io/v3/${excludeProjectId ? '' : infuraProjectId}`;
export const ROPSTEN_RPC_URL = getRpcUrl('ropsten');
export const RINKEBY_RPC_URL = getRpcUrl('rinkeby');
export const KOVAN_RPC_URL = getRpcUrl('kovan');
export const MAINNET_RPC_URL = getRpcUrl('mainnet');
export const GOERLI_RPC_URL = getRpcUrl('goerli');
export const ROPSTEN_RPC_URL = getRpcUrl({ network: ROPSTEN });
export const RINKEBY_RPC_URL = getRpcUrl({ network: RINKEBY });
export const KOVAN_RPC_URL = getRpcUrl({ network: KOVAN });
export const MAINNET_RPC_URL = getRpcUrl({ network: MAINNET });
export const GOERLI_RPC_URL = getRpcUrl({ network: GOERLI });
export const LOCALHOST_RPC_URL = 'http://localhost:8545';
export const ETH_SYMBOL = 'ETH';

View File

@ -4,4 +4,21 @@ export const CaveatTypes = Object.freeze({
export const RestrictedMethods = Object.freeze({
eth_accounts: 'eth_accounts',
///: BEGIN:ONLY_INCLUDE_IN(flask)
snap_confirm: 'snap_confirm',
snap_manageState: 'snap_manageState',
'snap_getBip44Entropy_*': 'snap_getBip44Entropy_*',
'wallet_snap_*': 'wallet_snap_*',
///: END:ONLY_INCLUDE_IN
});
///: BEGIN:ONLY_INCLUDE_IN(flask)
export const PermissionNamespaces = Object.freeze({
snap_getBip44Entropy_: 'snap_getBip44Entropy_*',
wallet_snap_: 'wallet_snap_*',
});
export const EndowmentPermissions = Object.freeze({
'endowment:network-access': 'endowment:network-access',
});
///: END:ONLY_INCLUDE_IN

View File

@ -0,0 +1,22 @@
import { endowmentPermissionBuilders } from '@metamask/snap-controllers';
import { restrictedMethodPermissionBuilders } from '@metamask/rpc-methods';
import { EndowmentPermissions, RestrictedMethods } from './permissions';
describe('EndowmentPermissions', () => {
it('has the expected permission keys', () => {
expect(Object.keys(EndowmentPermissions).sort()).toStrictEqual(
Object.keys(endowmentPermissionBuilders).sort(),
);
});
});
describe('RestrictedMethods', () => {
it('has the expected permission keys', () => {
expect(Object.keys(RestrictedMethods).sort()).toStrictEqual(
[
'eth_accounts',
...Object.keys(restrictedMethodPermissionBuilders),
].sort(),
);
});
});

View File

@ -8,6 +8,7 @@ const defaultOptions = {
port: 8545,
vmErrorsOnRPCResponse: false,
hardfork: 'muirGlacier',
quiet: true,
};
class Ganache {

View File

@ -1,10 +1,12 @@
const path = require('path');
const sinon = require('sinon');
const BigNumber = require('bignumber.js');
const mockttp = require('mockttp');
const createStaticServer = require('../../development/create-static-server');
const {
createSegmentServer,
} = require('../../development/lib/create-segment-server');
const { setupMocking } = require('../../development/mock-e2e');
const Ganache = require('./ganache');
const FixtureServer = require('./fixture-server');
const { buildWebDriver } = require('./webdriver');
@ -34,6 +36,7 @@ async function withFixtures(options, testSuite) {
let dappServer;
let segmentServer;
let segmentStub;
let mockServer;
let webDriver;
let failed = false;
@ -84,6 +87,10 @@ async function withFixtures(options, testSuite) {
});
await segmentServer.start(9090);
}
const https = await mockttp.generateCACertificate();
mockServer = mockttp.getLocal({ https });
await mockServer.start(8000);
setupMocking(mockServer);
if (
process.env.SELENIUM_BROWSER === 'chrome' &&
process.env.CI === 'true'
@ -96,6 +103,7 @@ async function withFixtures(options, testSuite) {
await testSuite({
driver,
segmentStub,
mockServer,
});
if (process.env.SELENIUM_BROWSER === 'chrome') {
@ -145,6 +153,9 @@ async function withFixtures(options, testSuite) {
if (segmentServer) {
await segmentServer.stop();
}
if (mockServer) {
await mockServer.stop();
}
}
}
}

View File

@ -200,9 +200,10 @@ describe('MetaMask', function () {
await restoreSeedLink.click();
await driver.delay(regularDelayMs);
await driver.clickElement('.import-account__checkbox-container');
await driver.fill('.import-account__secret-phrase', testSeedPhrase);
await driver.fill(
'input[placeholder="Enter your Secret Recovery Phrase"]',
testSeedPhrase,
);
await driver.delay(regularDelayMs);
await driver.fill('#password', 'correct horse battery staple');
@ -267,7 +268,7 @@ describe('MetaMask', function () {
popup = windowHandles[2];
await driver.switchToWindow(popup);
await driver.delay(regularDelayMs);
await driver.clickElement({ text: 'Edit', tag: 'button' }, 10000);
await driver.clickElement({ text: 'Edit', tag: 'button' });
const inputs = await driver.findElements('input[type="number"]');
const gasLimitInput = inputs[0];
@ -275,8 +276,8 @@ describe('MetaMask', function () {
await gasLimitInput.fill('4700000');
await gasPriceInput.fill('20');
await driver.delay(1000);
await driver.clickElement({ text: 'Save', tag: 'button' }, 10000);
await driver.clickElement({ text: 'Confirm', tag: 'button' }, 10000);
await driver.clickElement({ text: 'Save', tag: 'button' });
await driver.clickElement({ text: 'Confirm', tag: 'button' });
await driver.delay(regularDelayMs);
@ -389,7 +390,7 @@ describe('MetaMask', function () {
await gasLimitInput.fill('100000');
await gasPriceInput.fill('100');
await driver.delay(1000);
await driver.clickElement({ text: 'Save', tag: 'button' }, 10000);
await driver.clickElement({ text: 'Save', tag: 'button' });
});
it('submits the transaction', async function () {
@ -464,7 +465,7 @@ describe('MetaMask', function () {
await gasLimitInput.fill('60000');
await gasPriceInput.fill('10');
await driver.delay(1000);
await driver.clickElement({ text: 'Save', tag: 'button' }, 10000);
await driver.clickElement({ text: 'Save', tag: 'button' });
await driver.findElement({ tag: 'span', text: '0.0006' });
});
@ -590,7 +591,7 @@ describe('MetaMask', function () {
await driver.delay(1000);
await driver.clickElement({ text: 'Save', tag: 'button' }, 10000);
await driver.clickElement({ text: 'Save', tag: 'button' });
const gasFeeInEth = await driver.findElement(
'.confirm-approve-content__transaction-details-content__secondary-fee',

View File

@ -14,6 +14,7 @@ describe('Stores custom RPC history', function () {
it(`creates first custom RPC entry`, async function () {
const port = 8546;
const chainId = 1338;
const symbol = 'TEST';
await withFixtures(
{
fixtures: 'imported-account',
@ -38,6 +39,7 @@ describe('Stores custom RPC history', function () {
const networkNameInput = customRpcInputs[0];
const rpcUrlInput = customRpcInputs[1];
const chainIdInput = customRpcInputs[2];
const symbolInput = customRpcInputs[3];
await networkNameInput.clear();
await networkNameInput.sendKeys(networkName);
@ -48,6 +50,9 @@ describe('Stores custom RPC history', function () {
await chainIdInput.clear();
await chainIdInput.sendKeys(chainId.toString());
await symbolInput.clear();
await symbolInput.sendKeys(symbol);
await driver.clickElement(
'.networks-tab__add-network-form-footer .btn-primary',
);
@ -70,7 +75,7 @@ describe('Stores custom RPC history', function () {
await driver.press('#password', driver.Key.ENTER);
// duplicate network
const duplicateRpcUrl = 'http://localhost:8545';
const duplicateRpcUrl = 'https://mainnet.infura.io/v3/';
await driver.clickElement('.network-display');
@ -84,7 +89,7 @@ describe('Stores custom RPC history', function () {
await rpcUrlInput.clear();
await rpcUrlInput.sendKeys(duplicateRpcUrl);
await driver.findElement({
text: 'This URL is currently used by the Localhost 8545 network.',
text: 'This URL is currently used by the mainnet network.',
tag: 'h6',
});
},
@ -97,6 +102,7 @@ describe('Stores custom RPC history', function () {
fixtures: 'imported-account',
ganacheOptions,
title: this.test.title,
failOnConsoleError: false,
},
async ({ driver }) => {
await driver.navigate();
@ -117,9 +123,6 @@ describe('Stores custom RPC history', function () {
const rpcUrlInput = customRpcInputs[1];
const chainIdInput = customRpcInputs[2];
await rpcUrlInput.clear();
await rpcUrlInput.sendKeys(newRpcUrl);
await chainIdInput.clear();
await chainIdInput.sendKeys(duplicateChainId);
await driver.findElement({
@ -127,6 +130,14 @@ describe('Stores custom RPC history', function () {
'This Chain ID is currently used by the Localhost 8545 network.',
tag: 'h6',
});
await rpcUrlInput.clear();
await rpcUrlInput.sendKeys(newRpcUrl);
await driver.findElement({
text: 'Could not fetch chain ID. Is your RPC URL correct?',
tag: 'h6',
});
},
);
});
@ -184,6 +195,7 @@ describe('Stores custom RPC history', function () {
fixtures: 'custom-rpc',
ganacheOptions,
title: this.test.title,
failOnConsoleError: false,
},
async ({ driver }) => {
await driver.navigate();

View File

@ -216,7 +216,10 @@ describe('Editing Confirm Transaction', function () {
// open dapp and connect
await connectDappWithExtensionPopup(driver);
await driver.clickElement({ text: 'Send', tag: 'button' });
await driver.clickElement({
text: 'Send EIP 1559 Transaction',
tag: 'button',
});
// check transaction in extension popup
const windowHandles = await getWindowHandles(driver, 3);
@ -238,17 +241,17 @@ describe('Editing Confirm Transaction', function () {
'.currency-display-component__text',
);
const transactionAmount = transactionAmounts[0];
assert.equal(await transactionAmount.getText(), '3');
assert.equal(await transactionAmount.getText(), '0');
// has correct updated value on the confirm screen the transaction
const editedTransactionAmounts = await driver.findElements(
'.transaction-detail-item__row .transaction-detail-item__detail-values .currency-display-component__text:last-of-type',
);
const editedTransactionAmount = editedTransactionAmounts[0];
assert.equal(await editedTransactionAmount.getText(), '0.00042');
assert.equal(await editedTransactionAmount.getText(), '0.00021');
const editedTransactionFee = editedTransactionAmounts[1];
assert.equal(await editedTransactionFee.getText(), '3.00042');
assert.equal(await editedTransactionFee.getText(), '0.00021');
// confirms the transaction
await driver.clickElement({ text: 'Confirm', tag: 'button' });
@ -268,7 +271,7 @@ describe('Editing Confirm Transaction', function () {
'.transaction-list-item__primary-currency',
);
assert.equal(txValues.length, 1);
assert.ok(/-3\s*ETH/u.test(await txValues[0].getText()));
assert.ok(/-0\s*ETH/u.test(await txValues[0].getText()));
},
);
});

View File

@ -0,0 +1,67 @@
const { strict: assert } = require('assert');
const { convertToHexValue, withFixtures } = require('../helpers');
describe('Eth sign', function () {
it('can initiate and confirm a eth sign', async function () {
const ganacheOptions = {
accounts: [
{
secretKey:
'0x7C9529A67102755B7E6102D6D950AC5D5863C98713805CEC576B945B15B71EAC',
balance: convertToHexValue(25000000000000000000),
},
],
};
const expectedPersonalMessage =
'0x879a053d4800c6354e76c7985a865d2922c82fb5b3f4577b2fe08b998954f2e0';
const expectedEthSignResult =
'"0x816ab6c5d5356548cc4e004ef35a37fdfab916742a2bbeda756cd064c3d3789a6557d41d49549be1de249e1937a8d048996dfcc70d0552111605dc7cc471e8531b"';
await withFixtures(
{
dapp: true,
fixtures: 'connected-state',
ganacheOptions,
title: this.test.title,
},
async ({ driver }) => {
await driver.navigate();
await driver.fill('#password', 'correct horse battery staple');
await driver.press('#password', driver.Key.ENTER);
await driver.openNewPage('http://127.0.0.1:8080/');
await driver.clickElement('#ethSign');
await driver.waitUntilXWindowHandles(3);
let windowHandles = await driver.getAllWindowHandles();
await driver.switchToWindowWithTitle(
'MetaMask Notification',
windowHandles,
);
const title = await driver.findElement(
'.request-signature__header__text',
);
const origin = await driver.findElement('.request-signature__origin');
assert.equal(await title.getText(), 'Signature Request');
assert.equal(await origin.getText(), 'http://127.0.0.1:8080');
const personalMessageRow = await driver.findElement(
'.request-signature__row-value',
);
const personalMessage = await personalMessageRow.getText();
assert.equal(personalMessage, expectedPersonalMessage);
await driver.clickElement('[data-testid="request-signature__sign"]');
// Switch to the Dapp
await driver.waitUntilXWindowHandles(2);
windowHandles = await driver.getAllWindowHandles();
await driver.switchToWindowWithTitle('E2E Test Dapp', windowHandles);
// Verify
const result = await driver.findElement('#ethSignResult');
assert.equal(await result.getText(), expectedEthSignResult);
},
);
});
});

View File

@ -87,7 +87,9 @@ describe('Metamask Import UI', function () {
'correct horse battery staple',
);
await driver.clickElement('.first-time-flow__terms');
await driver.clickElement(
'[data-testid="create-new-vault__terms-checkbox"]',
);
await driver.clickElement({ text: 'Import', tag: 'button' });

View File

@ -172,9 +172,10 @@ describe('Metamask Responsive UI', function () {
);
await restoreSeedLink.click();
await driver.clickElement('.import-account__checkbox-container');
await driver.fill('.import-account__secret-phrase', testSeedPhrase);
await driver.fill(
'input[placeholder="Enter your Secret Recovery Phrase"]',
testSeedPhrase,
);
await driver.fill('#password', 'correct horse battery staple');
await driver.fill('#confirm-password', 'correct horse battery staple');

View File

@ -12,6 +12,7 @@ describe('Personal sign', function () {
},
],
};
const publicAddress = '0x5cfe73b6021e818b776b421b1c4db2474086a7e1';
await withFixtures(
{
dapp: true,
@ -28,7 +29,7 @@ describe('Personal sign', function () {
await driver.clickElement('#personalSign');
await driver.waitUntilXWindowHandles(3);
const windowHandles = await driver.getAllWindowHandles();
let windowHandles = await driver.getAllWindowHandles();
await driver.switchToWindowWithTitle(
'MetaMask Notification',
windowHandles,
@ -42,7 +43,25 @@ describe('Personal sign', function () {
await driver.clickElement('[data-testid="request-signature__sign"]');
// Switch to the Dapp
await driver.waitUntilXWindowHandles(2);
windowHandles = await driver.getAllWindowHandles();
await driver.switchToWindowWithTitle('E2E Test Dapp', windowHandles);
// Verify
await driver.clickElement('#personalSignVerify');
const verifySigUtil = await driver.findElement(
'#personalSignVerifySigUtilResult',
);
const verifyECRecover = await driver.waitForSelector(
{
css: '#personalSignVerifyECRecoverResult',
text: publicAddress,
},
{ timeout: 10000 },
);
assert.equal(await verifySigUtil.getText(), publicAddress);
assert.equal(await verifyECRecover.getText(), publicAddress);
},
);
});

View File

@ -224,7 +224,7 @@ describe('Send ETH from dapp using advanced gas controls', function () {
await driver.switchToWindow(dapp);
// initiates a send from the dapp
await driver.clickElement({ text: 'Send', tag: 'button' }, 10000);
await driver.clickElement({ text: 'Send', tag: 'button' });
await driver.delay(2000);
windowHandles = await driver.getAllWindowHandles();
await driver.switchToWindowWithTitle(
@ -243,8 +243,8 @@ describe('Send ETH from dapp using advanced gas controls', function () {
const gasPriceInput = inputs[1];
await gasPriceInput.fill('100');
await driver.delay(1000);
await driver.clickElement({ text: 'Save', tag: 'button' }, 10000);
await driver.clickElement({ text: 'Confirm', tag: 'button' }, 10000);
await driver.clickElement({ text: 'Save', tag: 'button' });
await driver.clickElement({ text: 'Confirm', tag: 'button' });
await driver.waitUntilXWindowHandles(2);
await driver.switchToWindow(extension);
@ -256,7 +256,7 @@ describe('Send ETH from dapp using advanced gas controls', function () {
);
await driver.waitForSelector({
css: '.transaction-list-item__primary-currency',
text: '-3 ETH',
text: '-0 ETH',
});
// the transaction has the expected gas price

Some files were not shown because too many files have changed in this diff Show More