aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorkumavis <kumavis@users.noreply.github.com>2018-10-30 07:49:53 +0800
committerGitHub <noreply@github.com>2018-10-30 07:49:53 +0800
commitad009a4606249649fd54420972fb6a5dd5382fc2 (patch)
tree45f50fb1eca1ad7cb3773446a01ad4867283f365 /app
parentf0602ca354a6d352c13a79a1cba884f54e5b9a83 (diff)
parent18e530221b0f960907d45995c4703b04ed562dc8 (diff)
downloadtangerine-wallet-browser-ad009a4606249649fd54420972fb6a5dd5382fc2.tar
tangerine-wallet-browser-ad009a4606249649fd54420972fb6a5dd5382fc2.tar.gz
tangerine-wallet-browser-ad009a4606249649fd54420972fb6a5dd5382fc2.tar.bz2
tangerine-wallet-browser-ad009a4606249649fd54420972fb6a5dd5382fc2.tar.lz
tangerine-wallet-browser-ad009a4606249649fd54420972fb6a5dd5382fc2.tar.xz
tangerine-wallet-browser-ad009a4606249649fd54420972fb6a5dd5382fc2.tar.zst
tangerine-wallet-browser-ad009a4606249649fd54420972fb6a5dd5382fc2.zip
Merge branch 'develop' into sentry-enhancements2
Diffstat (limited to 'app')
-rw-r--r--app/_locales/en/messages.json25
-rw-r--r--app/_locales/ht/messages.json2545
-rw-r--r--app/_locales/index.json42
-rw-r--r--app/_locales/nl/messages.json2
-rw-r--r--app/_locales/sl/messages.json763
-rw-r--r--app/loading.html12
-rw-r--r--app/scripts/background.js10
-rw-r--r--app/scripts/controllers/currency.js55
-rw-r--r--app/scripts/controllers/network/network.js76
-rw-r--r--app/scripts/controllers/preferences.js33
-rw-r--r--app/scripts/lib/ens-ipfs/contracts/registrar.js (renamed from app/scripts/lib/contracts/registrar.js)0
-rw-r--r--app/scripts/lib/ens-ipfs/contracts/resolver.js (renamed from app/scripts/lib/contracts/resolver.js)0
-rw-r--r--app/scripts/lib/ens-ipfs/resolver.js54
-rw-r--r--app/scripts/lib/ens-ipfs/setup.js63
-rw-r--r--app/scripts/lib/ipfsContent.js46
-rw-r--r--app/scripts/lib/resolver.js71
-rw-r--r--app/scripts/metamask-controller.js18
17 files changed, 2289 insertions, 1526 deletions
diff --git a/app/_locales/en/messages.json b/app/_locales/en/messages.json
index bf5854a31..5423c76dc 100644
--- a/app/_locales/en/messages.json
+++ b/app/_locales/en/messages.json
@@ -692,9 +692,27 @@
"newRecipient": {
"message": "New Recipient"
},
- "newRPC": {
+ "newNetwork": {
+ "message": "New Network"
+ },
+ "rpcURL": {
"message": "New RPC URL"
},
+ "showAdvancedOptions": {
+ "message": "Show Advanced Options"
+ },
+ "hideAdvancedOptions": {
+ "message": "Hide Advanced Options"
+ },
+ "optionalChainId": {
+ "message": "ChainID (optional)"
+ },
+ "optionalSymbol": {
+ "message": "Symbol (optional)"
+ },
+ "optionalNickname": {
+ "message": "Nickname (optional)"
+ },
"next": {
"message": "Next"
},
@@ -803,7 +821,7 @@
"message": "Primary Currency"
},
"primaryCurrencySettingDescription": {
- "message": "Select ETH to prioritize displaying values in ETH. Select Fiat to prioritize displaying values in your selected currency."
+ "message": "Select native to prioritize displaying values in the native currency of the chain (e.g. ETH). Select Fiat to prioritize displaying values in your selected fiat currency."
},
"privacyMsg": {
"message": "Privacy Policy"
@@ -1169,6 +1187,9 @@
"transactionUpdatedGas": {
"message": "Transaction updated with a gas price of $1 on $2."
},
+ "transactionErrored": {
+ "message": "Transaction encountered an error."
+ },
"transactions": {
"message": "transactions"
},
diff --git a/app/_locales/ht/messages.json b/app/_locales/ht/messages.json
index 50a0ec2bb..81ce18018 100644
--- a/app/_locales/ht/messages.json
+++ b/app/_locales/ht/messages.json
@@ -1,1237 +1,1312 @@
{
- "accept": {
- "message": "Aksepte"
- },
- "accessingYourCamera": {
- "message": "Aksè a Kamera"
- },
- "account": {
- "message": "Kont"
- },
- "accountDetails": {
- "message": "Detay Kont"
- },
- "accountName": {
- "message": "Non Kont"
- },
- "accountSelectionRequired": {
- "message": "Ou bezwen chwazi yon kont!"
- },
- "activityLog": {
- "message": "aktivite ki fèt"
- },
- "address": {
- "message": "Adrès"
- },
- "addCustomToken": {
- "message": "Ajoute token"
- },
- "addToken": {
- "message": "Ajoute Token"
- },
- "addTokens": {
- "message": "Ajoute Token"
- },
- "addSuggestedTokens": {
- "message": "Ajoute Token Yo Sikjere W"
- },
- "addAcquiredTokens": {
- "message": "Ajoute tokens yo ou te achte lè l sèvi avèk MetaMask"
- },
- "amount": {
- "message": "Kantite lajan"
- },
- "amountPlusGas": {
- "message": "Kantite lajan + Gaz"
- },
- "appDescription": {
- "message": "Ethereum Ekstansyon Navigatè",
- "description": "The description of the application"
- },
- "appName": {
- "message": "MetaMask",
- "description": "The name of the application"
- },
- "approve": {
- "message": "Apwouve"
- },
- "approved": {
- "message": "Apwouve"
- },
- "attemptingConnect": {
- "message": "Eseye konekte nan blockchain."
- },
- "attributions": {
- "message": "Atribisyon"
- },
- "available": {
- "message": "Disponib"
- },
- "back": {
- "message": "Retounen"
- },
- "balance": {
- "message": "Balans"
- },
- "balances": {
- "message": "Balans Token"
- },
- "balanceIsInsufficientGas": {
- "message": "Ensifizan balans pou total gaz aktyèl la"
- },
- "beta": {
- "message": "BETA"
- },
- "betweenMinAndMax": {
- "message": "dwe plis pase oswa egal a $ 1 mwens ke oswa egal a $ 2.",
- "description": "helper for inputting hex as decimal input"
- },
- "blockiesIdenticon": {
- "message": "Itilize Blockies Identicon"
- },
- "borrowDharma": {
- "message": "Prete Avèk Dharma (Beta)"
- },
- "browserNotSupported": {
- "message": "Navigatè ou a pa sipòte..."
- },
- "builtInCalifornia": {
- "message": "MetaMask fèt e bati nan California."
- },
- "buy": {
- "message": "Achte"
- },
- "buyCoinbase": {
- "message": "Achte sou Coinbase"
- },
- "buyCoinbaseExplainer": {
- "message": "Coinbase se fason ki pi popilè nan mond lan yo achte ak vann Bitcoin, Ethereum, ak Litecoin."
- },
- "bytes": {
- "message": "Bytes"
- },
- "ok": {
- "message": "Oke"
- },
- "cancel": {
- "message": "Anile"
- },
- "classicInterface": {
- "message": "Sèvi ak fas klasik la"
- },
- "clickCopy": {
- "message": "Klike sou kopi"
- },
- "close": {
- "message": "Fèmen"
- },
- "chromeRequiredForHardwareWallets": {
- "message": "Ou bezwen sèvi ak MetaMask sou Google Chrome yo nan lòd yo konekte sou Hardware Wallet."
- },
- "confirm": {
- "message": "Konfime"
- },
- "confirmed": {
- "message": "Konfime"
- },
- "confirmContract": {
- "message": "Konfime Kontra"
- },
- "confirmPassword": {
- "message": "Konfime Modpas"
- },
- "confirmTransaction": {
- "message": "Konfime Tranzaksyon"
- },
- "connectHardwareWallet": {
- "message": "Konekte Hardware Wallet"
- },
- "connect": {
- "message": "Konekte"
- },
- "connecting": {
- "message": "Koneksyon..."
- },
- "connectToLedger": {
- "message": "Konekte ak Ledger"
- },
- "connectToTrezor": {
- "message": "Konekte ak Trezor"
- },
- "continue": {
- "message": "Kontinye"
- },
- "continueToCoinbase": {
- "message": "Kontinye Coinbase"
- },
- "contractDeployment": {
- "message": "Kontra Deplwaman"
- },
- "conversionProgress": {
- "message": "Konvèsyon nan Pwogrè"
- },
- "copiedButton": {
- "message": "Kopye"
- },
- "copiedClipboard": {
- "message": "Kopi nan Clipboard"
- },
- "copiedExclamation": {
- "message": "Kopye!"
- },
- "copiedSafe": {
- "message": "Mwen te kopye li yon kote ki san danje"
- },
- "copy": {
- "message": "Kopye"
- },
- "copyAddress": {
- "message": "Kopi adrès clipboard"
- },
- "copyToClipboard": {
- "message": "Kopi clipboard"
- },
- "copyButton": {
- "message": " Kopi "
- },
- "copyPrivateKey": {
- "message": "Sa a se kle prive ou (klike pou ou kopye)"
- },
- "create": {
- "message": "Kreye"
- },
- "createAccount": {
- "message": "Kreye Kont"
- },
- "createDen": {
- "message": "Kreye"
- },
- "crypto": {
- "message": "Crypto",
- "description": "Change tip (cryptocurrencies)"
- },
- "currentConversion": {
- "message": "Konvèsyon aktyèl"
- },
- "currentNetwork": {
- "message": "Rezo aktyèl"
- },
- "customGas": {
- "message": "Koutim Gaz"
- },
- "customToken": {
- "message": "Koutim Token"
- },
- "customize": {
- "message": "Koutim"
- },
- "customRPC": {
- "message": "Koutim RPC"
- },
- "decimalsMustZerotoTen": {
- "message": "Desimal yo dwe omwen 0, epi pa dwe plis pase 36."
- },
- "decimal": {
- "message": "Presizyon desimal la"
- },
- "defaultNetwork": {
- "message": "Dfo rezo a pou tranzaksyon Ether se Mainnet."
- },
- "denExplainer": {
- "message": "DEN ou se depo modpas avèk chif ou nan MetaMask."
- },
- "deposit": {
- "message": "Depo"
- },
- "depositBTC": {
- "message": "Depoze BTC ou nan adrès ki anba a:"
- },
- "depositCoin": {
- "message": "Depoze $1 ou nan adrès ki anba a",
- "description": "Tells the user what coin they have selected to deposit with shapeshift"
- },
- "depositEth": {
- "message": "Depo Eth"
- },
- "depositEther": {
- "message": "Depo Ether"
- },
- "depositFiat": {
- "message": "Depo ak Fiat"
- },
- "depositFromAccount": {
- "message": "Depo nan yon lòt kont"
- },
- "depositShapeShift": {
- "message": "Depo avèk ShapeShift"
- },
- "depositShapeShiftExplainer": {
- "message": "Si ou posede lòt cryptocurrencies, ou ka chanje ak depo Ether dirèkteman nan Wallet MetaMask ou. Pa gen kont ki nesesè."
- },
- "details": {
- "message": "Detay yo"
- },
- "directDeposit": {
- "message": "Depo Dirèk"
- },
- "directDepositEther": {
- "message": "Dirèkteman Depo Ether"
- },
- "directDepositEtherExplainer": {
- "message": "Si ou deja gen kèk Ether, fason ki pi rapid yo ka resevwa Ether nan nouvo Wallet ou pa depo dirèk."
- },
- "done": {
- "message": "Fini"
- },
- "downloadGoogleChrome": {
- "message": "Telechaje Google Chrome"
- },
- "downloadStateLogs": {
- "message": "Telechaje State Logs"
- },
- "dontHaveAHardwareWallet": {
- "message": "Pa gen yon materyèl bous?"
- },
- "dropped": {
- "message": "Tonbe"
- },
- "edit": {
- "message": "Korije"
- },
- "editAccountName": {
- "message": "Korije Non Kont"
- },
- "editingTransaction": {
- "message": "Fè chanjman nan tranzaksyon ou"
- },
- "emailUs": {
- "message": "Imèl nou!"
- },
- "encryptNewDen": {
- "message": "Ankripte nouvo DEN ou"
- },
- "ensNameNotFound": {
- "message": "Nou pa jwenn non ENS ou a"
- },
- "enterPassword": {
- "message": "Mete modpas"
- },
- "enterPasswordConfirm": {
- "message": "Antre nan modpas ou a konfime"
- },
- "enterPasswordContinue": {
- "message": "Mete modpas pou kontinye"
- },
- "parameters": {
- "message": "Paramèt"
- },
- "passwordNotLongEnough": {
- "message": "Modpas la pa ase"
- },
- "passwordsDontMatch": {
- "message": "Modpas Pa Koresponn ak"
- },
- "etherscanView": {
- "message": "Gade kont sou Etherscan"
- },
- "exchangeRate": {
- "message": "Chanje to"
- },
- "exportPrivateKey": {
- "message": "Voye Kòd Prive"
- },
- "exportPrivateKeyWarning": {
- "message": "Voye kle prive ak pwòp risk ou."
- },
- "failed": {
- "message": "Tonbe"
- },
- "fiat": {
- "message": "FIAT",
- "description": "Exchange type"
- },
- "fileImportFail": {
- "message": "Enpòte dosye ki pa travay? Klike la a!",
- "description": "Helps user import their account from a JSON file"
- },
- "followTwitter": {
- "message": "Swiv nou sou Twitter"
- },
- "forgetDevice": {
- "message": "Bliye aparèy sa a"
- },
- "from": {
- "message": "Soti nan"
- },
- "fromToSame": {
- "message": "Adrès orijinal le ak sa ou resevwa pake menm"
- },
- "fromShapeShift": {
- "message": "Soti nan ShapeShift"
- },
- "functionType": {
- "message": "Kalite Fonksyon"
- },
- "gas": {
- "message": "Gaz",
- "description": "Short indication of gas cost"
- },
- "gasFee": {
- "message": "Frè gaz"
- },
- "gasLimit": {
- "message": "Limit gaz"
- },
- "gasLimitCalculation": {
- "message": "Nou kalkile gaz limit sijere a ki baze sou pousantaj siksè rezo a."
- },
- "gasLimitRequired": {
- "message": "Limit gaz nesesè"
- },
- "gasLimitTooLow": {
- "message": "Limit gaz dwe omwen 21000"
- },
- "generatingSeed": {
- "message": "Génération Seed..."
- },
- "gasPrice": {
- "message": "Pri gaz (GWEI)"
- },
- "gasPriceCalculation": {
- "message": "Nou kalkile pri yo gaz ki sijere ki baze sou pousantaj siksè rezo."
- },
- "gasPriceRequired": {
- "message": "Pri Gaz la Egzije"
- },
- "generatingTransaction": {
- "message": "Tranzaksyon kap fè"
- },
- "getEther": {
- "message": "Jwenn Ether"
- },
- "getEtherFromFaucet": {
- "message": "Jwenn Ether nan yon tiyo pou $1 la",
- "description": "Displays network name for Ether faucet"
- },
- "getHelp": {
- "message": "Jwenn èd."
- },
- "greaterThanMin": {
- "message": "dwe pi gran pase oswa egal a $ 1.",
- "description": "helper for inputting hex as decimal input"
- },
- "hardware": {
- "message": "hardware"
- },
- "hardwareWalletConnected": {
- "message": "Hardware Wallet konekte"
- },
- "hardwareWallets": {
- "message": "Hardware Wallet konekte"
- },
- "hardwareWalletsMsg": {
- "message": "Chwazi yon Hardware Wallet ou ta renmen itilize ak MetaMask"
- },
- "havingTroubleConnecting": {
- "message": "Èske w gen pwoblèm pou konekte?"
- },
- "here": {
- "message": "isit la",
- "description": "as in -click here- for more information (goes with troubleTokenBalances)"
- },
- "hereList": {
- "message": "Isit la nan yon lis !!!!"
- },
- "hexData": {
- "message": "Hex Data"
- },
- "hide": {
- "message": "Kache"
- },
- "hideToken": {
- "message": "Kache Token"
- },
- "hideTokenPrompt": {
- "message": "Kache Token?"
- },
- "history": {
- "message": "Istwa"
- },
- "howToDeposit": {
- "message": "Ki jan ou ta renmen depo Ether?"
- },
- "holdEther": {
- "message": "Li pèmèt ou kenbe ether & tokens, epi sèvi kòm on pon pou desantralize aplikasyon."
- },
- "import": {
- "message": "Pòte",
- "description": "Button to import an account from a selected file"
- },
- "importAccount": {
- "message": "Pòte Kont"
- },
- "importAccountMsg": {
- "message": " Kont pòte pa pral asosye avèk orijinal ou te kreye nan kont MetaMask seed fraz. Aprann plis sou kont enpòte "
- },
- "importAnAccount": {
- "message": "Pòte yon kont"
- },
- "importDen": {
- "message": "Pòte ki deja egziste DEN"
- },
- "imported": {
- "message": "Pòte",
- "description": "status showing that an account has been fully loaded into the keyring"
- },
- "importUsingSeed": {
- "message": "Pòte lè sèvi avèk seed fraz"
- },
- "infoHelp": {
- "message": "Enfo & Èd"
- },
- "initialTransactionConfirmed": {
- "message": "Premye tranzaksyon ou konfime sou rezo a. Klike sou OK pou tounen."
- },
- "insufficientFunds": {
- "message": "Lajan ensifizan."
- },
- "insufficientTokens": {
- "message": "Tokens pa valab."
- },
- "invalidAddress": {
- "message": "Adrès pa valab"
- },
- "invalidAddressRecipient": {
- "message": "Moun ki resevwa adrès la pa valab"
- },
- "invalidGasParams": {
- "message": "Gaz Paramèt la pa valab"
- },
- "invalidInput": {
- "message": "Sa ou rantre a pa valab"
- },
- "invalidRequest": {
- "message": "Demann pa valab"
- },
- "invalidRPC": {
- "message": "RPC URI pa valab"
- },
- "invalidSeedPhrase": {
- "message": "Seed fraz pa valab"
- },
- "jsonFail": {
- "message": "Yon bagay ale mal. Tanpri, asire w ke dosye JSON ou an byen fòmate."
- },
- "jsonFile": {
- "message": "JSON Dosye",
- "description": "format for importing an account"
- },
- "keepTrackTokens": {
- "message": "Gade tokens yo ou te achte ak kont MetaMask ou."
- },
- "kovan": {
- "message": "Kovan Tès Rezo"
- },
- "knowledgeDataBase": {
- "message": "Vizite baz nou an"
- },
- "max": {
- "message": "Maksimòm"
- },
- "learnMore": {
- "message": "Aprann plis"
- },
- "ledgerAccountRestriction": {
- "message": "Ou bezwen sèvi ak dènye kont ou anvan ou ka ajoute yon nouvo."
- },
- "lessThanMax": {
- "message": "dwe mwens pase oswa egal a $ 1.",
- "description": "helper for inputting hex as decimal input"
- },
- "likeToAddTokens": {
- "message": "Èske ou ta renmen ajoute sa nan tokens?"
- },
- "links": {
- "message": "Lyen"
- },
- "limit": {
- "message": "Limitasyon"
- },
- "loading": {
- "message": "Telechaje..."
- },
- "loadingTokens": {
- "message": "Telechaje Tokens..."
- },
- "localhost": {
- "message": "Localhost 8545"
- },
- "login": {
- "message": "Ouvri"
- },
- "logout": {
- "message": "Dekonekte"
- },
- "loose": {
- "message": "Pèdi"
- },
- "loweCaseWords": {
- "message": "seed mo sèlman gen karaktè miniskil"
- },
- "mainnet": {
- "message": "Main Ethereum Network"
- },
- "menu": {
- "message": "Opsyon"
- },
- "message": {
- "message": "Mesaje"
- },
- "metamaskDescription": {
- "message": "MetaMask sekirize idantite pou Ethereum."
- },
- "metamaskSeedWords": {
- "message": "MetaMask Seed Mo"
- },
- "min": {
- "message": "Minimòm"
- },
- "myAccounts": {
- "message": "Kont mwen"
- },
- "mustSelectOne": {
- "message": "Ou dwe chwazi omwen 1 token."
- },
- "needEtherInWallet": {
- "message": "Pou kominike avèk aplikasyon desantralize ou dwe itilize MetaMask, ou pral bezwen Ether nan Wallet ou."
- },
- "needImportFile": {
- "message": "Ou dwe chwazi yon dosye pou enpòte.",
- "description": "User is important an account and needs to add a file to continue"
- },
- "needImportPassword": {
- "message": "Ou dwe antre nan yon modpas pou dosye ou te chwazi a.",
- "description": "Password and file needed to import an account"
- },
- "negativeETH": {
- "message": "Pa ka voye kantite lajan negatif ETH."
- },
- "networks": {
- "message": "Rezo"
- },
- "nevermind": {
- "message": "Pa pwoblèm"
- },
- "newAccount": {
- "message": "Nouvo Kont"
- },
- "newAccountNumberName": {
- "message": "Kont $1",
- "description": "Default name of next account to be created on create account screen"
- },
- "newContract": {
- "message": "Nouvo Kontra"
- },
- "newPassword": {
- "message": "Nouvo modpas (minit 8)"
- },
- "newRecipient": {
- "message": "Nouvo Benefisyè"
- },
- "newRPC": {
- "message": "Nouvo RPC URL"
- },
- "next": {
- "message": "Aprè sa"
- },
- "noAddressForName": {
- "message": "Pa gen adrès ki etabli pou non sa a."
- },
- "noDeposits": {
- "message": "Pa gen depo ou te resevwa"
- },
- "noConversionRateAvailable": {
- "message": "Pa gen okenn Konvèsyon Disponib"
- },
- "noTransactionHistory": {
- "message": "Pa gen istwa tranzaksyon."
- },
- "noTransactions": {
- "message": "Pa gen tranzaksyon"
- },
- "notFound": {
- "message": "Pa jwenn"
- },
- "notStarted": {
- "message": "Pa kòmanse"
- },
- "noWebcamFoundTitle": {
- "message": "Pa jwenn webcam"
- },
- "noWebcamFound": {
- "message": "Nou pakay jwenn webcam òdinatè ou. Tanpri eseye ankò."
- },
- "oldUI": {
- "message": "Ansyen Itilizatè kouòdone"
- },
- "oldUIMessage": {
- "message": "Ou te retounen nan Ansyen Itilizatè kouòdone. Ou ka chanje tounen nan nouvo Ansyen Itilizatè nan opsyon a nan meni an tèt la."
- },
- "openInTab": {
- "message": "Louvri nan etikèt"
- },
- "or": {
- "message": "oubyen",
- "description": "choice between creating or importing a new account"
- },
- "origin": {
- "message": "Orijin"
- },
- "password": {
- "message": "Modpas"
- },
- "passwordCorrect": {
- "message": "Tanpri asire ke modpas ou kòrèk."
- },
- "passwordMismatch": {
- "message": "modpas sa pa menm",
- "description": "in password creation process, the two new password fields did not match"
- },
- "passwordShort": {
- "message": "modpas pa sifi",
- "description": "in password creation process, the password is not long enough to be secure"
- },
- "pastePrivateKey": {
- "message": "Kole fraz prive ou a la:",
- "description": "For importing an account from a private key"
- },
- "pasteSeed": {
- "message": "Kole seed fraz ou a la!"
- },
- "pending": {
- "message": "l ap mache"
- },
- "personalAddressDetected": {
- "message": "Adrès pèsonèl detekte. Antre adrès kontra token la."
- },
- "pleaseReviewTransaction": {
- "message": "Tanpri revize tranzaksyon ou."
- },
- "popularTokens": {
- "message": "Popilè Tokens"
- },
- "prev": {
- "message": "Avan"
- },
- "privacyMsg": {
- "message": "Règleman sou enfòmasyon prive"
- },
- "privateKey": {
- "message": "Prive kle",
- "description": "select this type of file to use to import an account"
- },
- "privateKeyWarning": {
- "message": "Atansyon: pa janm divilge kle sa. Nenpòt moun kapab avèk kle prive ou a vòlè sa ou gen ou sou kont ou a."
- },
- "privateNetwork": {
- "message": "Rezo Prive"
- },
- "qrCode": {
- "message": "Montre QR Kòd"
- },
- "queue": {
- "message": "Queue"
- },
- "readdToken": {
- "message": "Ou ka ajoute token sa aprè sa ankò ou prale nan \"Ajoute token\" nan opsyon meni kont ou an."
- },
- "readMore": {
- "message": "Li plis isit la."
- },
- "readMore2": {
- "message": "Li plis isit la."
- },
- "receive": {
- "message": "Resevwa"
- },
- "recipientAddress": {
- "message": "Adrès pou resevwa"
- },
- "refundAddress": {
- "message": "Adrès pou resevwa"
- },
- "rejected": {
- "message": "Rejte"
- },
- "reset": {
- "message": "Repwograme"
- },
- "resetAccount": {
- "message": "Repwograme Kont"
- },
- "resetAccountDescription": {
- "message": "Repwograme kont a netwaye tranzaksyon ou yo."
- },
- "restoreFromSeed": {
- "message": "Restore kont?"
- },
- "restoreVault": {
- "message": "Retabli kazye"
- },
- "restoreAccountWithSeed": {
- "message": "Retabli kont ou avèk yo Seed Fraz"
- },
- "required": {
- "message": "Egzije"
- },
- "retryWithMoreGas": {
- "message": "Reseye ak yon pri gaz pi wo isit la"
- },
- "walletSeed": {
- "message": "Wallet Seed"
- },
- "restore": {
- "message": "Retabli"
- },
- "revealSeedWords": {
- "message": "Revele Seed Mo Yo"
- },
- "revealSeedWordsTitle": {
- "message": "Seed Fraz"
- },
- "revealSeedWordsDescription": {
- "message": "Si ou pa janm chanje navigatè ou deplase òdinatè, ou pral bezwen fraz seed la pou ka gen aksè a kont ou. Sere yo on kote an sekirite e an sekrè."
- },
- "revealSeedWordsWarningTitle": {
- "message": "PA pataje fraz sa a avèk nenpòt moun!"
- },
- "revealSeedWordsWarning": {
- "message": "Yo ka itilize mo sa pou vòlè kont ou."
- },
- "revert": {
- "message": "Retounen"
- },
- "remove": {
- "message": "retire"
- },
- "removeAccount": {
- "message": "Retire kont"
- },
- "removeAccountDescription": {
- "message": "Kont sa a pral retire nan Wallet ou. Tanpri, asire ou ke ou gen orijinal fraz seed la oubyen kle prive pou rantre kont lan avan ou kontinye. Oubyen ou ka rantre kont ou ankò apati kont \"drop-down\" ou an."
- },
- "readyToConnect": {
- "message": "Pare pou konekte?"
- },
- "rinkeby": {
- "message": "Rinkeby Tès Rezo"
- },
- "ropsten": {
- "message": "Ropsten Tès Rezo"
- },
- "rpc": {
- "message": "Koutim RPC"
- },
- "currentRpc": {
- "message": "Kounya RPC"
- },
- "connectingToMainnet": {
- "message": "Konekte ak Main (Prensipal) Ethereum Rezo a"
- },
- "connectingToRopsten": {
- "message": "Konekte ak Ropsten Tès Rezo a"
- },
- "connectingToKovan": {
- "message": "Konekte nan Kovan Tès Rezo a"
- },
- "connectingToRinkeby": {
- "message": "Konekte nan Rinkeby Tès Rezo a"
- },
- "connectingToUnknown": {
- "message": "Konekte nan rezo enkoni"
- },
- "sampleAccountName": {
- "message": "Pa egzanp, Nouvo kont mwen an",
- "description": "Help user understand concept of adding a human-readable name to their account"
- },
- "save": {
- "message": "Sove"
- },
- "speedUp": {
- "message": "pi vit"
- },
- "speedUpTitle": {
- "message": "Monte vitès tranzaksyon"
- },
- "speedUpSubtitle": {
- "message": "Ogmante pri gaz ou pou eseye efase tranzaksyon ou pi vit"
- },
- "saveAsCsvFile": {
- "message": "Sove kòm dosye CSV"
- },
- "saveAsFile": {
- "message": "Sove kòm dosye",
- "description": "Account export process"
- },
- "saveSeedAsFile": {
- "message": "Sove pawòl seed kòm dosye"
- },
- "search": {
- "message": "Rechèch"
- },
- "searchResults": {
- "message": "Rezilta rechèch"
- },
- "secretPhrase": {
- "message": "Antre fraz sekrè douz mo ou a pou w restore kòf ou a."
- },
- "showHexData": {
- "message": "Montre Hex Data"
- },
- "showHexDataDescription": {
- "message": "Pran sa pouw ka montre chan entèfas hex data a"
- },
- "newPassword8Chars": {
- "message": "Nouvo modpas (pou pi pit 8)"
- },
- "seedPhraseReq": {
- "message": "Seed fraz yo se 12 long mo"
- },
- "select": {
- "message": "Chwazi"
- },
- "selectCurrency": {
- "message": "Chwazi Lajan"
- },
- "selectService": {
- "message": "Chwazi Sèvis"
- },
- "selectType": {
- "message": "Chwazi Kalite"
- },
- "send": {
- "message": "Voye"
- },
- "sendETH": {
- "message": "Voye ETH"
- },
- "sendTokens": {
- "message": "Voye Tokens"
- },
- "sentEther": {
- "message": "Voye ether"
- },
- "sentTokens": {
- "message": "tokens deja voye"
- },
- "separateEachWord": {
- "message": "Separe chak mo ak yon sèl espas"
- },
- "onlySendToEtherAddress": {
- "message": "Sèlman voye ETH nan yon adrès Ethereum."
- },
- "onlySendTokensToAccountAddress": {
- "message": "Sèlman voye $ 1 nan yon adrès kont Ethereum.",
- "description": "displays token symbol"
- },
- "orderOneHere": {
- "message": "Mete nan lòd on Trezor oswa Ledger epi kenbe lajan ou nan yon stòk frèt."
- },
- "outgoing": {
- "message": "Ap kite"
- },
- "searchTokens": {
- "message": "Rechèch Tokens"
- },
- "selectAnAddress": {
- "message": "Chwazi yon adrès"
- },
- "selectAnAccount": {
- "message": "Chwazi yon kont"
- },
- "selectAnAccountHelp": {
- "message": "Chwazi kont pou wè nan MetaMask"
- },
- "selectHdPath": {
- "message": "Chwazi chemen HD"
- },
- "selectPathHelp": {
- "message": "Si ou pa wè kont Ledger ou te genyen an anba a, eseye chanje chemen an \"Eritaj (MEW / MyCrypto)\""
- },
- "sendTokensAnywhere": {
- "message": "Voye Tokens pou nenpòt moun ki gen yon kont Ethereum"
- },
- "settings": {
- "message": "Paramèt"
- },
- "step1HardwareWallet": {
- "message": "1. Konekte Materyèl bous"
- },
- "step1HardwareWalletMsg": {
- "message": "Konekte materyèl bous ou dirèkteman nan òdinatè ou."
- },
- "step2HardwareWallet": {
- "message": "2. Chwazi yon kont"
- },
- "step2HardwareWalletMsg": {
- "message": "Chwazi kont ou vle wè a. Ou ka chwazi youn sèlman nan yon moman."
- },
- "step3HardwareWallet": {
- "message": "3. Kòmanse itilize dApps ak plis ankò!"
- },
- "step3HardwareWalletMsg": {
- "message": "Sèvi ak kont materyèl ou menm jan ou t ap fè pou kont Etherum. Ouvri sesyon an nan dApps, voye Eth, achte ak stòke ERC20 tokens ak e ki pake chanje tokens tankou CryptoKitties."
- },
- "info": {
- "message": "Enfòmasyon"
- },
- "scanInstructions": {
- "message": "Mete kòd QR la devan kamera ou"
- },
- "scanQrCode": {
- "message": "Enspeksyon QR Kòd"
- },
- "shapeshiftBuy": {
- "message": "Achte avèk Shapeshift"
- },
- "showPrivateKeys": {
- "message": "Montre Kle Prive"
- },
- "showQRCode": {
- "message": "Montre Kòd QR"
- },
- "sign": {
- "message": "Siyen"
- },
- "signatureRequest": {
- "message": "Siyati Mande"
- },
- "signed": {
- "message": "Te Siyen"
- },
- "signMessage": {
- "message": "Siyen mesaj"
- },
- "signNotice": {
- "message": "Lè w siyen mesaj sa a ka gen efè segondè ki \ndanjere. Sèlman \nsit mesaj ki soti nan sit ou konplètman fè konfyans ak tout kont ou. \n Metòd danjere sa yo pral retire nan yon vèsyon fiti. "
- },
- "sigRequest": {
- "message": "Demann Siyati"
- },
- "sigRequested": {
- "message": "Demann Siyati"
- },
- "spaceBetween": {
- "message": "ka gen sèlman yon espas ant mo yo"
- },
- "status": {
- "message": "Kondisyon"
- },
- "stateLogs": {
- "message": "State Logs"
- },
- "stateLogsDescription": {
- "message": "State logs gen adrès kont piblik ou yo epi tranzaksyon ou te voye yo."
- },
- "stateLogError": {
- "message": "Erè nan retwouve State Logs yo."
- },
- "submit": {
- "message": "Soumèt"
- },
- "submitted": {
- "message": "Te Soumèt"
- },
- "supportCenter": {
- "message": "Vizite Sant Sipò Nou"
- },
- "symbolBetweenZeroTen": {
- "message": "Senbòl yo dwe ant 0 ak 10 karaktè."
- },
- "takesTooLong": {
- "message": "Pran twò lontan?"
- },
- "terms": {
- "message": "Tèm pou itilize"
- },
- "testFaucet": {
- "message": "Tès Tiyo"
- },
- "to": {
- "message": "Pou"
- },
- "toETHviaShapeShift": {
- "message": "$1 pou ETH pa ShapeShift",
- "description": "system will fill in deposit type in start of message"
- },
- "token": {
- "message": "Token"
- },
- "tokenAddress": {
- "message": "Adrès Token"
- },
- "tokenAlreadyAdded": {
- "message": "Ou te deja ajoute token."
- },
- "tokenBalance": {
- "message": "Balans Token ou se:"
- },
- "tokenSelection": {
- "message": "Chache Tokens oswa chwazi nan lis Tokens popilè nou an."
- },
- "tokenSymbol": {
- "message": "Token Senbòl"
- },
- "tokenWarning1": {
- "message": "Kenbe tras token yo ou te achte ak kont MetaMask ou. Si ou te achte tokens pandan wap itilize yon kont diferan tokens sa yo pa pral parèt la."
- },
- "total": {
- "message": "Total"
- },
- "transactions": {
- "message": "tranzaksyon yo"
- },
- "transactionConfirmed": {
- "message": "Tranzaksyon ou te konfime pou $2."
- },
- "transactionCreated": {
- "message": "Tranzaksyon ou te kreye avèk on valè de $1 pou $2."
- },
- "transactionDropped": {
- "message": "Tranzaksyon ou te tonbe a $2."
- },
- "transactionSubmitted": {
- "message": "Tranzaksyon ou te soumèt a $2."
- },
- "transactionUpdated": {
- "message": "Tranzaksyon ou te aktyalize a $2."
- },
- "transactionUpdatedGas": {
- "message": "Tranzaksyon ou te aktyalize avèk on pri gaz de $1 a $2."
- },
- "transactionError": {
- "message": "Erè tranzaksyon. Eksepsyon jete nan kòd kontra."
- },
- "transactionMemo": {
- "message": "Memo tranzaksyon (opsyonèl)"
- },
- "transactionNumber": {
- "message": "Nimewo Tranzaksyon"
- },
- "transfer": {
- "message": "Transfè"
- },
- "transfers": {
- "message": "Transfè yo"
- },
- "trezorHardwareWallet": {
- "message": "TREZOR Materyèl Bous"
- },
- "troubleTokenBalances": {
- "message": "Nou te gen pwoblèm chaje balans token ou. Ou ka wè yo ",
- "description": "Followed by a link (here) to view token balances"
- },
- "tryAgain": {
- "message": "Eseye anko"
- },
- "twelveWords": {
- "message": "12 mo sa yo se sèl fason pou retabli kont MetaMask ou yo. \nKenbe yo yon kote ki an sekirite ak sekrè."
- },
- "typePassword": {
- "message": "Tape modpas ou"
- },
- "uiWelcome": {
- "message": "Byenveni nan New itilizatè koòdone (Beta)"
- },
- "uiWelcomeMessage": {
- "message": "Kounya w ap itilize nouvo MetaMask UI (itilizatè koòdone) a."
- },
- "unapproved": {
- "message": "Pa apwouve"
- },
- "unavailable": {
- "message": "Pa disponib"
- },
- "units": {
- "message": "inite yo"
- },
- "unknown": {
- "message": "Enkoni"
- },
- "unknownFunction": {
- "message": "Fonksyon enkoni"
- },
- "unknownNetwork": {
- "message": "Rezo Prive Enkoni"
- },
- "unknownNetworkId": {
- "message": "Rezo ID Enkoni"
- },
- "unknownQrCode": {
- "message": "Erè: Nou pa t kapab idantifye QR kòd sa"
- },
- "unknownCameraErrorTitle": {
- "message": "Ooops! Yon bagay te ale mal...."
- },
- "unknownCameraError": {
- "message": "Te gen yon erè pandan y ap eseye jwenn aksè nan kamera ou. Tanpri eseye ankò..."
- },
- "unlock": {
- "message": "Debloke"
- },
- "unlockMessage": {
- "message": "Entènèt desantralize a ap tann"
- },
- "uriErrorMsg": {
- "message": "URIs mande pou apwopriye prefiks HTTP / HTTPS a."
- },
- "usaOnly": {
- "message": "USA sèlman",
- "description": "Using this exchange is limited to people inside the USA"
- },
- "usedByClients": {
- "message": "Itilize pa yon varyete de kliyan diferan"
- },
- "useOldUI": {
- "message": "Itilizasyon ansyen UI (itilizatè koòdone)"
- },
- "validFileImport": {
- "message": "Ou dwe chwazi yon dosye ki valab pou enpòte."
- },
- "vaultCreated": {
- "message": "Kòf Kreye"
- },
- "viewAccount": {
- "message": "Wè Kont"
- },
- "viewOnEtherscan": {
- "message": "Wè sou Etherscan"
- },
- "visitWebSite": {
- "message": "Vizite sit entènèt nou an"
- },
- "warning": {
- "message": "Avètisman"
- },
- "welcomeBack": {
- "message": "Bon retou!"
- },
- "welcomeBeta": {
- "message": "Byenveni nan MetaMask Beta"
- },
- "whatsThis": {
- "message": "Kisa sa ye?"
- },
- "youNeedToAllowCameraAccess": {
- "message": "Ou bezwen bay kamera aksè pou sèvi ak fonksyon sa."
- },
- "yourSigRequested": {
- "message": "Yo mande siyati ou"
- },
- "youSign": {
- "message": "Ou ap siyen kounya"
- },
- "yourPrivateSeedPhrase": {
- "message": "Seed fraz prive ou a"
- }
+ "accept": {
+ "message": "Aksepte"
+ },
+ "accessingYourCamera": {
+ "message": "Aksè a Kamera"
+ },
+ "account": {
+ "message": "Kont"
+ },
+ "accountDetails": {
+ "message": "Detay Kont"
+ },
+ "accountName": {
+ "message": "Non Kont"
+ },
+ "accountOptions": {
+ "message": "Opsyon kont"
+ },
+ "accountSelectionRequired": {
+ "message": "Ou bezwen chwazi yon kont!"
+ },
+ "activityLog": {
+ "message": "aktivite ki fèt"
+ },
+ "address": {
+ "message": "Adrès"
+ },
+ "addCustomToken": {
+ "message": "Ajoute token"
+ },
+ "addToken": {
+ "message": "Ajoute Token"
+ },
+ "addTokens": {
+ "message": "Ajoute Token"
+ },
+ "addSuggestedTokens": {
+ "message": "Ajoute Token Yo Sikjere W"
+ },
+ "addAcquiredTokens": {
+ "message": "Ajoute tokens yo ou te achte lè l sèvi avèk MetaMask"
+ },
+ "amount": {
+ "message": "Kantite lajan"
+ },
+ "amountPlusGas": {
+ "message": "Kantite lajan + Gaz"
+ },
+ "appDescription": {
+ "message": "Ekstansyon Navigatè Ethereum",
+ "description": "The description of the application"
+ },
+ "appName": {
+ "message": "MetaMask",
+ "description": "The name of the application"
+ },
+ "approve": {
+ "message": "Apwouve"
+ },
+ "approved": {
+ "message": "Apwouve"
+ },
+ "attemptingConnect": {
+ "message": "Eseye konekte nan blockchain."
+ },
+ "attemptToCancel": {
+ "message": "Eseye anile?"
+ },
+ "attemptToCancelDescription": {
+ "message": "Soumèt tantativ sa a pa garanti ke yo pral anile tranzaksyon ou anile. Si tantativ anile an gen siksè, ou pral chaje frè yo tranzaksyon pi wo a."
+ },
+ "attributions": {
+ "message": "Atribisyon"
+ },
+ "available": {
+ "message": "Disponib"
+ },
+ "back": {
+ "message": "Retounen"
+ },
+ "balance": {
+ "message": "Balans"
+ },
+ "balances": {
+ "message": "Balans Token"
+ },
+ "balanceIsInsufficientGas": {
+ "message": "Ensifizan balans pou total gaz aktyèl la"
+ },
+ "beta": {
+ "message": "BETA"
+ },
+ "betweenMinAndMax": {
+ "message": "dwe plis pase oswa egal a $ 1 mwens ke oswa egal a $ 2.",
+ "description": "helper for inputting hex as decimal input"
+ },
+ "blockiesIdenticon": {
+ "message": "Itilize Blockies Identicon"
+ },
+ "borrowDharma": {
+ "message": "Prete Avèk Dharma (Beta)"
+ },
+ "browserNotSupported": {
+ "message": "Navigatè ou a pa sipòte..."
+ },
+ "builtInCalifornia": {
+ "message": "MetaMask fèt e bati nan California."
+ },
+ "buy": {
+ "message": "Achte"
+ },
+ "buyCoinbase": {
+ "message": "Achte sou Coinbase"
+ },
+ "buyCoinbaseExplainer": {
+ "message": "Coinbase se fason ki pi popilè nan mond lan yo achte ak vann Bitcoin, Ethereum, ak Litecoin."
+ },
+ "bytes": {
+ "message": "Bytes"
+ },
+ "ok": {
+ "message": "Oke"
+ },
+ "cancel": {
+ "message": "Anile"
+ },
+ "cancelAttempt": {
+ "message": "Teste Anile"
+ },
+ "cancellationGasFee": {
+ "message": "Anilasyon Gaz Chaj"
+ },
+ "cancelN": {
+ "message": "Anile tout $ 1 tranzaksyon"
+ },
+ "classicInterface": {
+ "message": "Sèvi ak fas klasik la"
+ },
+ "clickCopy": {
+ "message": "Klike sou kopi"
+ },
+ "clickToAdd": {
+ "message": "Klike sou $ 1 pou ajoute yo nan kont ou"
+ },
+ "close": {
+ "message": "Fèmen"
+ },
+ "chromeRequiredForHardwareWallets": {
+ "message": "Ou bezwen sèvi ak MetaMask sou Google Chrome yo nan lòd yo konekte sou Hardware Wallet."
+ },
+ "confirm": {
+ "message": "Konfime"
+ },
+ "confirmed": {
+ "message": "Konfime"
+ },
+ "confirmContract": {
+ "message": "Konfime Kontra"
+ },
+ "confirmPassword": {
+ "message": "Konfime Modpas"
+ },
+ "confirmTransaction": {
+ "message": "Konfime Tranzaksyon"
+ },
+ "connectHardwareWallet": {
+ "message": "Konekte Materyèl Wallet"
+ },
+ "connect": {
+ "message": "Konekte"
+ },
+ "connecting": {
+ "message": "Koneksyon..."
+ },
+ "connectingToKovan": {
+ "message": "Konekte nan Kovan Tès Rezo a"
+ },
+ "connectingToMainnet": {
+ "message": "Konekte ak Prensipal Ethereum Rezo a"
+ },
+ "connectingToRopsten": {
+ "message": "Konekte ak Ropsten Tès Rezo a"
+ },
+ "connectingToRinkeby": {
+ "message": "Konekte nan Rinkeby Tès Rezo a"
+ },
+ "connectingToUnknown": {
+ "message": "Konekte nan rezo enkoni"
+ },
+ "connectToLedger": {
+ "message": "Konekte ak Ledger"
+ },
+ "connectToTrezor": {
+ "message": "Konekte ak Trezor"
+ },
+ "continue": {
+ "message": "Kontinye"
+ },
+ "continueToCoinbase": {
+ "message": "Kontinye Coinbase"
+ },
+ "contractDeployment": {
+ "message": "Kontra Deplwaman"
+ },
+ "conversionProgress": {
+ "message": "Konvèsyon nan Pwogrè"
+ },
+ "copiedButton": {
+ "message": "Kopye"
+ },
+ "copiedClipboard": {
+ "message": "Kopi nan Clipboard"
+ },
+ "copiedExclamation": {
+ "message": "Kopye!"
+ },
+ "copiedSafe": {
+ "message": "Mwen te kopye li yon kote ki san danje"
+ },
+ "copy": {
+ "message": "Kopye"
+ },
+ "copyAddress": {
+ "message": "Kopi adrès clipboard"
+ },
+ "copyToClipboard": {
+ "message": "Kopi clipboard"
+ },
+ "copyButton": {
+ "message": " Kopi "
+ },
+ "copyPrivateKey": {
+ "message": "Sa a se kle prive ou (klike pou ou kopye)"
+ },
+ "create": {
+ "message": "Kreye"
+ },
+ "createAccount": {
+ "message": "Kreye Kont"
+ },
+ "createDen": {
+ "message": "Kreye"
+ },
+ "crypto": {
+ "message": "Crypto",
+ "description": "Exchange type (cryptocurrencies)"
+ },
+ "currentConversion": {
+ "message": "Konvèsyon aktyèl"
+ },
+ "currentLanguage": {
+ "message": "Lang Aktyèl"
+ },
+ "currentNetwork": {
+ "message": "Rezo aktyèl"
+ },
+ "currentRpc": {
+ "message": "Aktyèl RPC"
+ },
+ "customGas": {
+ "message": "Koutim Gaz"
+ },
+ "customToken": {
+ "message": "Koutim Token"
+ },
+ "customize": {
+ "message": "Koutim"
+ },
+ "customRPC": {
+ "message": "Koutim RPC"
+ },
+ "decimalsMustZerotoTen": {
+ "message": "Desimal yo dwe omwen 0, epi pa dwe plis pase 36."
+ },
+ "decimal": {
+ "message": "Presizyon desimal la"
+ },
+ "defaultNetwork": {
+ "message": "Dfo rezo a pou tranzaksyon Ether se Mainnet."
+ },
+ "denExplainer": {
+ "message": "DEN ou se depo modpas avèk chif ou nan MetaMask."
+ },
+ "deposit": {
+ "message": "Depo"
+ },
+ "depositBTC": {
+ "message": "Depoze BTC ou nan adrès ki anba a:"
+ },
+ "depositCoin": {
+ "message": "Depoze $1 ou nan adrès ki anba a",
+ "description": "Tells the user what coin they have selected to deposit with shapeshift"
+ },
+ "depositEth": {
+ "message": "Depo Eth"
+ },
+ "depositEther": {
+ "message": "Depo Ether"
+ },
+ "depositFiat": {
+ "message": "Depo ak Fiat"
+ },
+ "depositFromAccount": {
+ "message": "Depo nan yon lòt kont"
+ },
+ "depositShapeShift": {
+ "message": "Depo avèk ShapeShift"
+ },
+ "depositShapeShiftExplainer": {
+ "message": "Si ou posede lòt cryptocurrencies, ou ka chanje ak depo Ether dirèkteman nan Wallet MetaMask ou. Pa gen kont ki nesesè."
+ },
+ "details": {
+ "message": "Detay yo"
+ },
+ "directDeposit": {
+ "message": "Depo Dirèk"
+ },
+ "directDepositEther": {
+ "message": "Dirèkteman Depo Ether"
+ },
+ "directDepositEtherExplainer": {
+ "message": "Si ou deja gen kèk Ether, fason ki pi rapid yo ka resevwa Ether nan nouvo Wallet ou pa depo dirèk."
+ },
+ "done": {
+ "message": "Fini"
+ },
+ "downloadGoogleChrome": {
+ "message": "Telechaje Google Chrome"
+ },
+ "downloadStateLogs": {
+ "message": "Telechaje State Logs"
+ },
+ "dontHaveAHardwareWallet": {
+ "message": "Pa gen yon materyèl bous?"
+ },
+ "dropped": {
+ "message": "Tonbe"
+ },
+ "edit": {
+ "message": "Korije"
+ },
+ "editAccountName": {
+ "message": "Korije Non Kont"
+ },
+ "editingTransaction": {
+ "message": "Fè chanjman nan tranzaksyon ou"
+ },
+ "emailUs": {
+ "message": "Imèl nou!"
+ },
+ "encryptNewDen": {
+ "message": "Ankripte nouvo DEN ou"
+ },
+ "ensNameNotFound": {
+ "message": "Nou pa jwenn non ENS ou a"
+ },
+ "enterPassword": {
+ "message": "Mete modpas"
+ },
+ "enterPasswordConfirm": {
+ "message": "Antre nan modpas ou a konfime"
+ },
+ "enterPasswordContinue": {
+ "message": "Mete modpas pou kontinye"
+ },
+ "eth": {
+ "message": "ETH"
+ },
+ "etherscanView": {
+ "message": "Gade kont sou Etherscan"
+ },
+ "exchangeRate": {
+ "message": "Chanje to"
+ },
+ "expandView": {
+ "message": "Elaji Wè"
+ },
+ "exportPrivateKey": {
+ "message": "Voye Kòd Prive"
+ },
+ "exportPrivateKeyWarning": {
+ "message": "Voye kle prive ak pwòp risk ou."
+ },
+ "failed": {
+ "message": "Tonbe"
+ },
+ "fiat": {
+ "message": "FIAT",
+ "description": "Exchange type"
+ },
+ "fileImportFail": {
+ "message": "Enpòte dosye ki pa travay? Klike la a!",
+ "description": "Helps user import their account from a JSON file"
+ },
+ "followTwitter": {
+ "message": "Swiv nou sou Twitter"
+ },
+ "forgetDevice": {
+ "message": "Bliye aparèy sa a"
+ },
+ "from": {
+ "message": "Soti nan"
+ },
+ "fromToSame": {
+ "message": "Adrès orijinal le ak sa ou resevwa pake menm"
+ },
+ "fromShapeShift": {
+ "message": "Soti nan ShapeShift"
+ },
+ "functionType": {
+ "message": "Kalite Fonksyon"
+ },
+ "gas": {
+ "message": "Gaz",
+ "description": "Short indication of gas cost"
+ },
+ "gasFee": {
+ "message": "Frè gaz"
+ },
+ "gasLimit": {
+ "message": "Limit gaz"
+ },
+ "gasLimitCalculation": {
+ "message": "Nou kalkile gaz limit sijere a ki baze sou pousantaj siksè rezo a."
+ },
+ "gasLimitRequired": {
+ "message": "Limit gaz nesesè"
+ },
+ "gasLimitTooLow": {
+ "message": "Limit gaz dwe omwen 21000"
+ },
+ "gasUsed": {
+ "message": "Gaz yo Itilize"
+ },
+ "generatingSeed": {
+ "message": "Grenn jenerasyon..."
+ },
+ "gasPrice": {
+ "message": "Pri gaz (GWEI)"
+ },
+ "gasPriceCalculation": {
+ "message": "Nou kalkile pri yo gaz ki sijere ki baze sou pousantaj siksè rezo."
+ },
+ "gasPriceRequired": {
+ "message": "Pri Gaz la Egzije"
+ },
+ "generatingTransaction": {
+ "message": "Tranzaksyon kap fè"
+ },
+ "getEther": {
+ "message": "Jwenn Ether"
+ },
+ "getEtherFromFaucet": {
+ "message": "Jwenn Ether nan yon tiyo pou $1 la",
+ "description": "Displays network name for Ether faucet"
+ },
+ "getHelp": {
+ "message": "Jwenn èd."
+ },
+ "greaterThanMin": {
+ "message": "dwe pi gran pase oswa egal a $ 1.",
+ "description": "helper for inputting hex as decimal input"
+ },
+ "hardware": {
+ "message": "materyèl"
+ },
+ "hardwareWalletConnected": {
+ "message": "Materyèl Wallet konekte"
+ },
+ "hardwareWallets": {
+ "message": "Materyèl Wallet konekte"
+ },
+ "hardwareWalletsMsg": {
+ "message": "Chwazi yon Materyèl Wallet ou ta renmen itilize ak MetaMask"
+ },
+ "havingTroubleConnecting": {
+ "message": "Èske w gen pwoblèm pou konekte?"
+ },
+ "here": {
+ "message": "isit la",
+ "description": "as in -click here- for more information (goes with troubleTokenBalances)"
+ },
+ "hereList": {
+ "message": "Isit la nan yon lis !!!!"
+ },
+ "hexData": {
+ "message": "Hex Data"
+ },
+ "hide": {
+ "message": "Kache"
+ },
+ "hideToken": {
+ "message": "Kache Token"
+ },
+ "hideTokenPrompt": {
+ "message": "Kache Token?"
+ },
+ "history": {
+ "message": "Istwa"
+ },
+ "howToDeposit": {
+ "message": "Ki jan ou ta renmen depo Ether?"
+ },
+ "holdEther": {
+ "message": "Li pèmèt ou kenbe ether & tokens, epi sèvi kòm on pon pou desantralize aplikasyon."
+ },
+ "import": {
+ "message": "Pòte",
+ "description": "Button to import an account from a selected file"
+ },
+ "importAccount": {
+ "message": "Pòte Kont"
+ },
+ "importAccountMsg": {
+ "message": " Kont pòte pa pral asosye avèk orijinal ou te kreye nan kont MetaMask seed fraz. Aprann plis sou kont enpòte "
+ },
+ "importAnAccount": {
+ "message": "Pòte yon kont"
+ },
+ "importDen": {
+ "message": "Pòte ki deja egziste DEN"
+ },
+ "imported": {
+ "message": "Pòte",
+ "description": "status showing that an account has been fully loaded into the keyring"
+ },
+ "importUsingSeed": {
+ "message": "Pòte lè sèvi avèk seed fraz"
+ },
+ "info": {
+ "message": "Enfo"
+ },
+ "infoHelp": {
+ "message": "Enfo & Èd"
+ },
+ "initialTransactionConfirmed": {
+ "message": "Premye tranzaksyon ou konfime sou rezo a. Klike sou OK pou tounen."
+ },
+ "insufficientFunds": {
+ "message": "Lajan ensifizan."
+ },
+ "insufficientTokens": {
+ "message": "Tokens pa valab."
+ },
+ "invalidAddress": {
+ "message": "Adrès pa valab"
+ },
+ "invalidAddressRecipient": {
+ "message": "Moun ki resevwa adrès la pa valab"
+ },
+ "invalidGasParams": {
+ "message": "Gaz Paramèt la pa valab"
+ },
+ "invalidInput": {
+ "message": "Sa ou rantre a pa valab"
+ },
+ "invalidRequest": {
+ "message": "Demann pa valab"
+ },
+ "invalidRPC": {
+ "message": "RPC URI pa valab"
+ },
+ "invalidSeedPhrase": {
+ "message": "Seed fraz pa valab"
+ },
+ "jsonFail": {
+ "message": "Yon bagay ale mal. Tanpri, asire w ke dosye JSON ou an byen fòmate."
+ },
+ "jsonFile": {
+ "message": "JSON Dosye",
+ "description": "format for importing an account"
+ },
+ "keepTrackTokens": {
+ "message": "Gade tokens yo ou te achte ak kont MetaMask ou."
+ },
+ "kovan": {
+ "message": "Kovan Tès Rezo"
+ },
+ "knowledgeDataBase": {
+ "message": "Vizite baz nou an"
+ },
+ "max": {
+ "message": "Maksimòm"
+ },
+ "learnMore": {
+ "message": "Aprann plis"
+ },
+ "ledgerAccountRestriction": {
+ "message": "Ou bezwen sèvi ak dènye kont ou anvan ou ka ajoute yon nouvo."
+ },
+ "lessThanMax": {
+ "message": "dwe mwens pase oswa egal a $ 1.",
+ "description": "helper for inputting hex as decimal input"
+ },
+ "likeToAddTokens": {
+ "message": "Èske ou ta renmen ajoute sa nan tokens?"
+ },
+ "links": {
+ "message": "Lyen"
+ },
+ "limit": {
+ "message": "Limitasyon"
+ },
+ "loading": {
+ "message": "Telechaje..."
+ },
+ "loadingTokens": {
+ "message": "Telechaje Tokens..."
+ },
+ "localhost": {
+ "message": "Localhost 8545"
+ },
+ "login": {
+ "message": "Ouvri"
+ },
+ "logout": {
+ "message": "Dekonekte"
+ },
+ "loose": {
+ "message": "Pèdi"
+ },
+ "loweCaseWords": {
+ "message": "seed mo sèlman gen karaktè miniskil"
+ },
+ "mainnet": {
+ "message": "Prensipal Ethereum Rezo a"
+ },
+ "menu": {
+ "message": "Opsyon"
+ },
+ "message": {
+ "message": "Mesaje"
+ },
+ "metamaskDescription": {
+ "message": "MetaMask sekirize idantite pou Ethereum."
+ },
+ "metamaskSeedWords": {
+ "message": "MetaMask Seed Mo"
+ },
+ "metamaskVersion": {
+ "message": "MetaMask Vèsyon"
+ },
+ "min": {
+ "message": "Minimòm"
+ },
+ "missingYourTokens": {
+ "message": "Ou pa wè token ou a?"
+ },
+ "myAccounts": {
+ "message": "Kont mwen"
+ },
+ "mustSelectOne": {
+ "message": "Ou dwe chwazi omwen 1 token."
+ },
+ "needEtherInWallet": {
+ "message": "Pou kominike avèk aplikasyon desantralize ou dwe itilize MetaMask, ou pral bezwen Ether nan Wallet ou."
+ },
+ "needImportFile": {
+ "message": "Ou dwe chwazi yon dosye pou enpòte.",
+ "description": "User is important an account and needs to add a file to continue"
+ },
+ "needImportPassword": {
+ "message": "Ou dwe antre nan yon modpas pou dosye ou te chwazi a.",
+ "description": "Password and file needed to import an account"
+ },
+ "negativeETH": {
+ "message": "Pa ka voye kantite lajan negatif ETH."
+ },
+ "networks": {
+ "message": "Rezo"
+ },
+ "nevermind": {
+ "message": "Pa pwoblèm"
+ },
+ "newAccount": {
+ "message": "Nouvo Kont"
+ },
+ "newAccountNumberName": {
+ "message": "Kont $1",
+ "description": "Default name of next account to be created on create account screen"
+ },
+ "newContract": {
+ "message": "Nouvo Kontra"
+ },
+ "newPassword": {
+ "message": "Nouvo modpas (minit 8)"
+ },
+ "newPassword8Chars": {
+ "message": "Nouvo modpas (minit 8)"
+ },
+ "newRecipient": {
+ "message": "Nouvo Benefisyè"
+ },
+ "newRPC": {
+ "message": "Nouvo RPC URL"
+ },
+ "next": {
+ "message": "Aprè sa"
+ },
+ "noAddressForName": {
+ "message": "Pa gen adrès ki etabli pou non sa a."
+ },
+ "noDeposits": {
+ "message": "Pa gen depo ou te resevwa"
+ },
+ "noConversionRateAvailable": {
+ "message": "Pa gen okenn Konvèsyon Disponib"
+ },
+ "noTransactionHistory": {
+ "message": "Pa gen istwa tranzaksyon."
+ },
+ "noTransactions": {
+ "message": "Pa gen tranzaksyon"
+ },
+ "notFound": {
+ "message": "Pa jwenn"
+ },
+ "notStarted": {
+ "message": "Pa kòmanse"
+ },
+ "noWebcamFoundTitle": {
+ "message": "Pa jwenn webcam"
+ },
+ "noWebcamFound": {
+ "message": "Nou pakay jwenn webcam òdinatè ou. Tanpri eseye ankò."
+ },
+ "oldUI": {
+ "message": "Ansyen Itilizatè kouòdone"
+ },
+ "oldUIMessage": {
+ "message": "Ou te retounen nan Ansyen Itilizatè kouòdone. Ou ka chanje tounen nan nouvo Ansyen Itilizatè nan opsyon a nan meni an tèt la."
+ },
+ "onlySendToEtherAddress": {
+ "message": "Sèlman voye ETH nan yon adrès Ethereum."
+ },
+ "onlySendTokensToAccountAddress": {
+ "message": "Sèlman voye $ 1 nan yon adrès kont Ethereum.",
+ "description": "displays token symbol"
+ },
+ "openInTab": {
+ "message": "Louvri nan etikèt"
+ },
+ "or": {
+ "message": "oubyen",
+ "description": "choice between creating or importing a new account"
+ },
+ "orderOneHere": {
+ "message": "Mete nan lòd on Trezor oswa Ledger epi kenbe lajan ou nan yon stòk frèt."
+ },
+ "origin": {
+ "message": "Orijin"
+ },
+ "outgoing": {
+ "message": "Ap kite"
+ },
+ "parameters": {
+ "message": "Paramèt"
+ },
+ "password": {
+ "message": "Modpas"
+ },
+ "passwordCorrect": {
+ "message": "Tanpri asire ke modpas ou kòrèk."
+ },
+ "passwordsDontMatch": {
+ "message": "Modpas pa matche"
+ },
+ "passwordMismatch": {
+ "message": "modpas sa pa menm",
+ "description": "in password creation process, the two new password fields did not match"
+ },
+ "passwordNotLongEnough": {
+ "message": "Modpas pa lontan ase"
+ },
+ "passwordShort": {
+ "message": "modpas pa sifi",
+ "description": "in password creation process, the password is not long enough to be secure"
+ },
+ "pastePrivateKey": {
+ "message": "Kole fraz prive ou a la:",
+ "description": "For importing an account from a private key"
+ },
+ "pasteSeed": {
+ "message": "Kole seed fraz ou a la!"
+ },
+ "pending": {
+ "message": "l ap mache"
+ },
+ "personalAddressDetected": {
+ "message": "Adrès pèsonèl detekte. Antre adrès kontra token la."
+ },
+ "pleaseReviewTransaction": {
+ "message": "Tanpri revize tranzaksyon ou."
+ },
+ "popularTokens": {
+ "message": "Popilè Tokens"
+ },
+ "prev": {
+ "message": "Avan"
+ },
+ "primaryCurrencySetting": {
+ "message": "Lajan ou itilize pi plis la"
+ },
+ "primaryCurrencySettingDescription": {
+ "message": "Chwazi ETH pou bay priyorite montre valè nan ETH. Chwazi Fiat priyorite montre valè nan lajan ou chwazi a."
+ },
+ "privacyMsg": {
+ "message": "Règleman sou enfòmasyon prive"
+ },
+ "privateKey": {
+ "message": "Prive kle",
+ "description": "select this type of file to use to import an account"
+ },
+ "privateKeyWarning": {
+ "message": "Atansyon: pa janm divilge kle sa. Nenpòt moun kapab avèk kle prive ou a vòlè sa ou gen ou sou kont ou a."
+ },
+ "privateNetwork": {
+ "message": "Rezo Prive"
+ },
+ "qrCode": {
+ "message": "Montre QR Kòd"
+ },
+ "queue": {
+ "message": "Queue"
+ },
+ "readdToken": {
+ "message": "Ou ka ajoute token sa aprè sa ankò ou prale nan \"Ajoute token\" nan opsyon meni kont ou an."
+ },
+ "readMore": {
+ "message": "Li plis isit la."
+ },
+ "readMore2": {
+ "message": "Li plis isit la."
+ },
+ "receive": {
+ "message": "Resevwa"
+ },
+ "recipientAddress": {
+ "message": "Adrès pou resevwa"
+ },
+ "refundAddress": {
+ "message": "Adrès pou resevwa"
+ },
+ "reject": {
+ "message": "Rejte"
+ },
+ "rejectAll": {
+ "message": "Rejte Tout"
+ },
+ "rejectTxsN": {
+ "message": "Rejete $ 1 tranzaksyon"
+ },
+ "rejectTxsDescription": {
+ "message": "Ou se sou rejte $ 1 yon anpil nan tranzaksyon yo."
+ },
+ "rejected": {
+ "message": "Rejete"
+ },
+ "reset": {
+ "message": "Repwograme"
+ },
+ "resetAccount": {
+ "message": "Repwograme Kont"
+ },
+ "resetAccountDescription": {
+ "message": "Repwograme kont a netwaye tranzaksyon ou yo."
+ },
+ "restoreFromSeed": {
+ "message": "Restore kont?"
+ },
+ "restoreVault": {
+ "message": "Retabli kazye"
+ },
+ "restoreAccountWithSeed": {
+ "message": "Retabli kont ou avèk yo Seed Fraz"
+ },
+ "required": {
+ "message": "Egzije"
+ },
+ "retryWithMoreGas": {
+ "message": "Reseye ak yon pri gaz pi wo isit la"
+ },
+ "restore": {
+ "message": "Retabli"
+ },
+ "revealSeedWords": {
+ "message": "Revele Seed Mo Yo"
+ },
+ "revealSeedWordsTitle": {
+ "message": "Seed Fraz"
+ },
+ "revealSeedWordsDescription": {
+ "message": "Si ou pa janm chanje navigatè ou deplase òdinatè, ou pral bezwen fraz seed la pou ka gen aksè a kont ou. Sere yo on kote an sekirite e an sekrè."
+ },
+ "revealSeedWordsWarningTitle": {
+ "message": "PA pataje fraz sa a avèk nenpòt moun!"
+ },
+ "revealSeedWordsWarning": {
+ "message": "Yo ka itilize mo sa pou vòlè kont ou."
+ },
+ "revert": {
+ "message": "Retounen"
+ },
+ "remove": {
+ "message": "retire"
+ },
+ "removeAccount": {
+ "message": "Retire kont"
+ },
+ "removeAccountDescription": {
+ "message": "Kont sa a pral retire nan Wallet ou. Tanpri, asire ou ke ou gen orijinal fraz seed la oubyen kle prive pou rantre kont lan avan ou kontinye. Oubyen ou ka rantre kont ou ankò apati kont \"drop-down\" ou an."
+ },
+ "readyToConnect": {
+ "message": "Pare pou konekte?"
+ },
+ "rinkeby": {
+ "message": "Rinkeby Tès Rezo"
+ },
+ "ropsten": {
+ "message": "Ropsten Tès Rezo"
+ },
+ "rpc": {
+ "message": "Koutim RPC"
+ },
+ "sampleAccountName": {
+ "message": "Pa egzanp, Nouvo kont mwen an",
+ "description": "Help user understand concept of adding a human-readable name to their account"
+ },
+ "save": {
+ "message": "Sove"
+ },
+ "saveAsCsvFile": {
+ "message": "Sove kòm dosye CSV"
+ },
+ "saveAsFile": {
+ "message": "Sove kòm dosye",
+ "description": "Account export process"
+ },
+ "saveSeedAsFile": {
+ "message": "Sove pawòl seed kòm dosye"
+ },
+ "scanInstructions": {
+ "message": "Mete kòd QR la devan kamera ou"
+ },
+ "scanQrCode": {
+ "message": "Enspeksyon QR Kòd"
+ },
+ "search": {
+ "message": "Rechèch"
+ },
+ "searchResults": {
+ "message": "Rezilta rechèch"
+ },
+ "secretPhrase": {
+ "message": "Antre fraz sekrè douz mo ou a pou w restore kòf ou a."
+ },
+ "seedPhraseReq": {
+ "message": "Seed fraz yo se 12 long mo"
+ },
+ "select": {
+ "message": "Chwazi"
+ },
+ "selectCurrency": {
+ "message": "Chwazi Lajan"
+ },
+ "selectLocale": {
+ "message": "Chwazi Lokasyon"
+ },
+ "selectService": {
+ "message": "Chwazi Sèvis"
+ },
+ "selectType": {
+ "message": "Chwazi Kalite"
+ },
+ "send": {
+ "message": "Voye"
+ },
+ "sendETH": {
+ "message": "Voye ETH"
+ },
+ "sendTokens": {
+ "message": "Voye Tokens"
+ },
+ "sentEther": {
+ "message": "Voye ether"
+ },
+ "sentTokens": {
+ "message": "tokens deja voye"
+ },
+ "separateEachWord": {
+ "message": "Separe chak mo ak yon sèl espas"
+ },
+ "searchTokens": {
+ "message": "Rechèch Tokens"
+ },
+ "selectAnAddress": {
+ "message": "Chwazi yon adrès"
+ },
+ "selectAnAccount": {
+ "message": "Chwazi yon kont"
+ },
+ "selectAnAccountHelp": {
+ "message": "Chwazi kont pou wè nan MetaMask"
+ },
+ "selectHdPath": {
+ "message": "Chwazi chemen HD"
+ },
+ "selectPathHelp": {
+ "message": "Si ou pa wè kont Ledger ou te genyen an anba a, eseye chanje chemen an \"Eritaj (MEW / MyCrypto)\""
+ },
+ "sendTokensAnywhere": {
+ "message": "Voye Tokens pou nenpòt moun ki gen yon kont Ethereum"
+ },
+ "settings": {
+ "message": "Paramèt"
+ },
+ "shapeshiftBuy": {
+ "message": "Achte avèk Shapeshift"
+ },
+ "showPrivateKeys": {
+ "message": "Montre Kle Prive"
+ },
+ "showQRCode": {
+ "message": "Montre Kòd QR"
+ },
+ "showHexData": {
+ "message": "Montre Hex Data"
+ },
+ "showHexDataDescription": {
+ "message": "Pran sa pouw ka montre chan entèfas hex data a"
+ },
+ "sign": {
+ "message": "Siyen"
+ },
+ "signatureRequest": {
+ "message": "Siyati Mande"
+ },
+ "signed": {
+ "message": "Te Siyen"
+ },
+ "signMessage": {
+ "message": "Siyen mesaj"
+ },
+ "signNotice": {
+ "message": "Lè w siyen mesaj sa a ka gen efè segondè ki \ndanjere. Sèlman \nsit mesaj ki soti nan sit ou konplètman fè konfyans ak tout kont ou. \n Metòd danjere sa yo pral retire nan yon vèsyon fiti. "
+ },
+ "sigRequest": {
+ "message": "Demann Siyati"
+ },
+ "sigRequested": {
+ "message": "Demann Siyati"
+ },
+ "spaceBetween": {
+ "message": "ka gen sèlman yon espas ant mo yo"
+ },
+ "speedUp": {
+ "message": "pi vit"
+ },
+ "speedUpTitle": {
+ "message": "Monte vitès tranzaksyon"
+ },
+ "speedUpSubtitle": {
+ "message": "Ogmante pri gaz ou pou eseye efase tranzaksyon ou pi vit"
+ },
+ "status": {
+ "message": "Kondisyon"
+ },
+ "stateLogs": {
+ "message": "State Logs"
+ },
+ "stateLogsDescription": {
+ "message": "State logs gen adrès kont piblik ou yo epi tranzaksyon ou te voye yo."
+ },
+ "stateLogError": {
+ "message": "Erè nan retwouve State Logs yo."
+ },
+ "step1HardwareWallet": {
+ "message": "1. Konekte Materyèl bous"
+ },
+ "step1HardwareWalletMsg": {
+ "message": "Konekte materyèl bous ou dirèkteman nan òdinatè ou."
+ },
+ "step2HardwareWallet": {
+ "message": "2. Chwazi yon kont"
+ },
+ "step2HardwareWalletMsg": {
+ "message": "Chwazi kont ou vle wè a. Ou ka chwazi youn sèlman nan yon moman."
+ },
+ "step3HardwareWallet": {
+ "message": "3. Kòmanse itilize dApps ak plis ankò!"
+ },
+ "step3HardwareWalletMsg": {
+ "message": "Sèvi ak kont materyèl ou menm jan ou t ap fè pou kont Etherum. Ouvri sesyon an nan dApps, voye Eth, achte ak stòke ERC20 tokens ak e ki pake chanje tokens tankou CryptoKitties."
+ },
+ "submit": {
+ "message": "Soumèt"
+ },
+ "submitted": {
+ "message": "Te Soumèt"
+ },
+ "supportCenter": {
+ "message": "Vizite Sant Sipò Nou"
+ },
+ "symbolBetweenZeroTen": {
+ "message": "Senbòl yo dwe ant 0 ak 10 karaktè."
+ },
+ "takesTooLong": {
+ "message": "Pran twò lontan?"
+ },
+ "terms": {
+ "message": "Tèm pou itilize"
+ },
+ "testFaucet": {
+ "message": "Tès Tiyo"
+ },
+ "to": {
+ "message": "Pou"
+ },
+ "toETHviaShapeShift": {
+ "message": "$1 pou ETH pa ShapeShift",
+ "description": "system will fill in deposit type in start of message"
+ },
+ "token": {
+ "message": "Token"
+ },
+ "tokenAddress": {
+ "message": "Adrès Token"
+ },
+ "tokenAlreadyAdded": {
+ "message": "Ou te deja ajoute token."
+ },
+ "tokenBalance": {
+ "message": "Balans Token ou se:"
+ },
+ "tokenSelection": {
+ "message": "Chache Tokens oswa chwazi nan lis Tokens popilè nou an."
+ },
+ "tokenSymbol": {
+ "message": "Token Senbòl"
+ },
+ "tokenWarning1": {
+ "message": "Kenbe tras token yo ou te achte ak kont MetaMask ou. Si ou te achte tokens pandan wap itilize yon kont diferan tokens sa yo pa pral parèt la."
+ },
+ "total": {
+ "message": "Total"
+ },
+ "transaction": {
+ "message": "tranzaksyon yo"
+ },
+ "transactionConfirmed": {
+ "message": "Tranzaksyon ou te konfime pou $2."
+ },
+ "transactionCreated": {
+ "message": "Tranzaksyon ou te kreye avèk on valè de $1 pou $2."
+ },
+ "transactionWithNonce": {
+ "message": "Tranzaksyon $1"
+ },
+ "transactionDropped": {
+ "message": "Tranzaksyon ou te tonbe a $2."
+ },
+ "transactionSubmitted": {
+ "message": "Tranzaksyon ou te soumèt a $2."
+ },
+ "transactionUpdated": {
+ "message": "Tranzaksyon ou te aktyalize a $2."
+ },
+ "transactionUpdatedGas": {
+ "message": "Tranzaksyon ou te aktyalize avèk on pri gaz de $1 a $2."
+ },
+ "transactions": {
+ "message": "transactions"
+ },
+ "transactionError": {
+ "message": "Erè tranzaksyon. Eksepsyon jete nan kòd kontra."
+ },
+ "transactionMemo": {
+ "message": "Memo tranzaksyon (opsyonèl)"
+ },
+ "transactionNumber": {
+ "message": "Nimewo Tranzaksyon"
+ },
+ "transfer": {
+ "message": "Transfè"
+ },
+ "transferFrom": {
+ "message": "Transfer From"
+ },
+ "transfers": {
+ "message": "Transfè yo"
+ },
+ "trezorHardwareWallet": {
+ "message": "TREZOR Materyèl Bous"
+ },
+ "troubleTokenBalances": {
+ "message": "Nou te gen pwoblèm chaje balans token ou. Ou ka wè yo ",
+ "description": "Followed by a link (here) to view token balances"
+ },
+ "tryAgain": {
+ "message": "Eseye anko"
+ },
+ "twelveWords": {
+ "message": "12 mo sa yo se sèl fason pou retabli kont MetaMask ou yo. \nKenbe yo yon kote ki an sekirite ak sekrè."
+ },
+ "typePassword": {
+ "message": "Tape modpas ou"
+ },
+ "uiWelcome": {
+ "message": "Byenveni nan New itilizatè koòdone (Beta)"
+ },
+ "uiWelcomeMessage": {
+ "message": "Kounya w ap itilize nouvo MetaMask UI (itilizatè koòdone) a."
+ },
+ "unapproved": {
+ "message": "Pa apwouve"
+ },
+ "unavailable": {
+ "message": "Pa disponib"
+ },
+ "units": {
+ "message": "inite yo"
+ },
+ "unknown": {
+ "message": "Enkoni"
+ },
+ "unknownFunction": {
+ "message": "Fonksyon enkoni"
+ },
+ "unknownNetwork": {
+ "message": "Rezo Prive Enkoni"
+ },
+ "unknownNetworkId": {
+ "message": "Rezo ID Enkoni"
+ },
+ "unknownQrCode": {
+ "message": "Erè: Nou pa t kapab idantifye QR kòd sa"
+ },
+ "unknownCameraErrorTitle": {
+ "message": "Ooops! Yon bagay te ale mal...."
+ },
+ "unknownCameraError": {
+ "message": "Te gen yon erè pandan y ap eseye jwenn aksè nan kamera ou. Tanpri eseye ankò..."
+ },
+ "unlock": {
+ "message": "Debloke"
+ },
+ "unlockMessage": {
+ "message": "Entènèt desantralize a ap tann"
+ },
+ "updatedWithDate": {
+ "message": "Mete ajou $1"
+ },
+ "uriErrorMsg": {
+ "message": "URIs mande pou apwopriye prefiks HTTP / HTTPS a."
+ },
+ "usaOnly": {
+ "message": "USA sèlman",
+ "description": "Using this exchange is limited to people inside the USA"
+ },
+ "usedByClients": {
+ "message": "Itilize pa yon varyete de kliyan diferan"
+ },
+ "useOldUI": {
+ "message": "Itilizasyon ansyen UI (itilizatè koòdone)"
+ },
+ "validFileImport": {
+ "message": "Ou dwe chwazi yon dosye ki valab pou enpòte."
+ },
+ "vaultCreated": {
+ "message": "Kòf Kreye"
+ },
+ "viewAccount": {
+ "message": "Wè Kont"
+ },
+ "viewOnEtherscan": {
+ "message": "Wè sou Etherscan"
+ },
+ "visitWebSite": {
+ "message": "Vizite sit entènèt nou an"
+ },
+ "walletSeed": {
+ "message": "Bous Seed"
+ },
+ "warning": {
+ "message": "Avètisman"
+ },
+ "welcomeBack": {
+ "message": "Bon Retou!"
+ },
+ "welcomeBeta": {
+ "message": "Byenveni nan MetaMask Beta"
+ },
+ "whatsThis": {
+ "message": "Kisa sa ye?"
+ },
+ "yesLetsTry": {
+ "message": "Wi, ann eseye"
+ },
+ "youNeedToAllowCameraAccess": {
+ "message": "Ou bezwen bay kamera aksè pou sèvi ak fonksyon sa."
+ },
+ "yourSigRequested": {
+ "message": "Yo mande siyati ou"
+ },
+ "youSign": {
+ "message": "Ou ap siyen kounya"
+ },
+ "yourPrivateSeedPhrase": {
+ "message": "Seed fraz prive ou a"
+ }
}
diff --git a/app/_locales/index.json b/app/_locales/index.json
index 46933dc3f..234215e39 100644
--- a/app/_locales/index.json
+++ b/app/_locales/index.json
@@ -1,24 +1,24 @@
[
- { "code": "cs", "name": "Czech" },
- { "code": "de", "name": "German" },
+ { "code": "cs", "name": "Čeština" },
+ { "code": "de", "name": "Deutsche" },
{ "code": "en", "name": "English" },
- { "code": "es", "name": "Spanish" },
- { "code": "fr", "name": "French" },
- { "code": "ht", "name": "Haitian Creole" },
- { "code": "hn", "name": "Hindi" },
- { "code": "it", "name": "Italian" },
- { "code": "ja", "name": "Japanese" },
- { "code": "ko", "name": "Korean" },
- { "code": "nl", "name": "Dutch" },
- { "code": "ph", "name": "Tagalog" },
- { "code": "pl", "name": "Polish" },
- { "code": "pt", "name": "Portuguese" },
- { "code": "ru", "name": "Russian" },
- { "code": "sl", "name": "Slovenian" },
- { "code": "th", "name": "Thai" },
- { "code": "tml", "name": "Tamil" },
- { "code": "tr", "name": "Turkish" },
- { "code": "vi", "name": "Vietnamese" },
- { "code": "zh_CN", "name": "Chinese (Simplified)" },
- { "code": "zh_TW", "name": "Chinese (Traditional)" }
+ { "code": "es", "name": "Español" },
+ { "code": "fr", "name": "Français" },
+ { "code": "ht", "name": "Kreyòl ayisyen" },
+ { "code": "hn", "name": "हिन्दी" },
+ { "code": "it", "name": "Italiano" },
+ { "code": "ja", "name": "日本語" },
+ { "code": "ko", "name": "한국어" },
+ { "code": "nl", "name": "Nederlands" },
+ { "code": "ph", "name": "Pilipino" },
+ { "code": "pl", "name": "Polskie" },
+ { "code": "pt", "name": "Português" },
+ { "code": "ru", "name": "Русский" },
+ { "code": "sl", "name": "Slovenščina" },
+ { "code": "th", "name": "ไทย" },
+ { "code": "tml", "name": "தமிழ்" },
+ { "code": "tr", "name": "Türkçe" },
+ { "code": "vi", "name": "Tiếng Việt" },
+ { "code": "zh_CN", "name": "中文(简体)" },
+ { "code": "zh_TW", "name": "中文(繁體)" }
]
diff --git a/app/_locales/nl/messages.json b/app/_locales/nl/messages.json
index e6d09c123..fc3450290 100644
--- a/app/_locales/nl/messages.json
+++ b/app/_locales/nl/messages.json
@@ -435,7 +435,7 @@
"message": "back-up woorden hebben alleen kleine letters"
},
"mainnet": {
- "message": "belangrijkste Ethereum-netwerk"
+ "message": "Main Netwerk"
},
"message": {
"message": "Bericht"
diff --git a/app/_locales/sl/messages.json b/app/_locales/sl/messages.json
index a4b04d34b..242cf66bf 100644
--- a/app/_locales/sl/messages.json
+++ b/app/_locales/sl/messages.json
@@ -1,6 +1,48 @@
{
+ "privacyMode": {
+ "message": "Način zasebnosti"
+ },
+ "privacyModeDescription": {
+ "message": "Spletne strani morajo zahtevati dostop za ogled podatkov o vašem računu."
+ },
+ "exposeAccounts": {
+ "message": "Razkrij račune"
+ },
+ "exposeDescription": {
+ "message": "Razkrij račune trenutni spletni strani. Priporočeno za starejše dApps."
+ },
+ "confirmExpose": {
+ "message": "Ste prepričani da želite razkriti račune trenutni spletni strani?"
+ },
+ "confirmClear": {
+ "message": "Ste prepričani da želite počistiti odobrene spletne strani?"
+ },
+ "clearApprovalDataSuccess": {
+ "message": "Odobrene spletne strani uspešno počiščene."
+ },
+ "approvalData": {
+ "message": "Zasebni podatki"
+ },
+ "approvalDataDescription": {
+ "message": "Počistite zasebne podatke, tako da bodo morale vse spletne strani ponovno zahtevati dovoljenje."
+ },
+ "clearApprovalData": {
+ "message": "Počisti zasebne podatke"
+ },
+ "providerAPIRequest": {
+ "message": "Zahteva za Ethereum API"
+ },
+ "reviewProviderRequest": {
+ "message": "Preglejte zahtevo za Ethereum API."
+ },
+ "providerRequestInfo": {
+ "message": "Domena zahteva dostop do verige blokov in ogled vašega računa. Pred potrditvjo vedno preverite ali ste na želeni spletni strani."
+ },
"accept": {
- "message": "Sprejmi"
+ "message": "Potrdi"
+ },
+ "accessingYourCamera": {
+ "message": "Dostopanje do vaše kamere ..."
},
"account": {
"message": "Račun"
@@ -11,6 +53,15 @@
"accountName": {
"message": "Ime računa"
},
+ "accountOptions": {
+ "message": "Možnosti računa"
+ },
+ "accountSelectionRequired": {
+ "message": "Izbrati morate račun!"
+ },
+ "activityLog": {
+ "message": "dnevnik dejavnosti"
+ },
"address": {
"message": "Naslov"
},
@@ -23,6 +74,12 @@
"addTokens": {
"message": "Dodaj žetone"
},
+ "addSuggestedTokens": {
+ "message": "Dodaj priporočene žetone"
+ },
+ "addAcquiredTokens": {
+ "message": "Dodaj žetone pridobljene z MetaMask"
+ },
"amount": {
"message": "Znesek"
},
@@ -37,9 +94,21 @@
"message": "MetaMask",
"description": "The name of the application"
},
+ "approve": {
+ "message": "Potrdi"
+ },
+ "approved": {
+ "message": "Potrjeno"
+ },
"attemptingConnect": {
"message": "Povezovanje z verigo blokov ..."
},
+ "attemptToCancel": {
+ "message": "Želite preklicati?"
+ },
+ "attemptToCancelDescription": {
+ "message": "Če pošljete ta poskus, ne boste zagotovili, da bo vaša prvotna transakcija preklicana. Če bo poskus preklica uspešen, se bo zaračunala zgornja transakcija."
+ },
"attributions": {
"message": "Dodelitve"
},
@@ -50,13 +119,13 @@
"message": "Nazaj"
},
"balance": {
- "message": "Znesek:"
+ "message": "Znesek"
},
"balances": {
- "message": "Vaš znesek"
+ "message": "Znesek žetonov"
},
"balanceIsInsufficientGas": {
- "message": "Napačen znesek za skupno gas vrednost"
+ "message": "Nezadnosten znesek za trenutni gas"
},
"beta": {
"message": "BETA"
@@ -66,13 +135,16 @@
"description": "helper for inputting hex as decimal input"
},
"blockiesIdenticon": {
- "message": "Uporabite Blockies Identicon"
+ "message": "Uporabi identifikacijo Blockies"
},
"borrowDharma": {
"message": "Izposoja z Dharma (Beta)"
},
+ "browserNotSupported": {
+ "message": "Vaš brskalnik ni podptrt ..."
+ },
"builtInCalifornia": {
- "message": "MetaMask je ustvarjen v Kaliforniji."
+ "message": "MetaMask je zasnovan in ustvarjen v Kaliforniji."
},
"buy": {
"message": "Kupi"
@@ -83,18 +155,45 @@
"buyCoinbaseExplainer": {
"message": "Coinbase je najpopularnejši načun za kupovanje in prodajo bitcoinov, ethereuma, in litecoina."
},
+ "bytes": {
+ "message": "Bajti"
+ },
+ "ok": {
+ "message": "V redu"
+ },
"cancel": {
"message": "Prekliči"
},
+ "cancelAttempt": {
+ "message": "Prekliči poskus"
+ },
+ "cancellationGasFee": {
+ "message": "Preklicani znesek gas"
+ },
+ "cancelN": {
+ "message": "Prekliči vseh $1 transakcij"
+ },
"classicInterface": {
- "message": "Uporabi navaden način"
+ "message": "Uporabi klasični vmesnik"
},
"clickCopy": {
"message": "Kliknite za kopiranje"
},
+ "clickToAdd": {
+ "message": "Kliknite na $1 za dodajo v vaš račun"
+ },
+ "close": {
+ "message": "Zapri"
+ },
+ "chromeRequiredForHardwareWallets": {
+ "message": "Za uporabo strojne denarnice potrebujete Google Chrome."
+ },
"confirm": {
"message": "Potrdi"
},
+ "confirmed": {
+ "message": "Potrjeno"
+ },
"confirmContract": {
"message": "Potrdi pogodbo"
},
@@ -104,6 +203,36 @@
"confirmTransaction": {
"message": "Potrdi transakcijo"
},
+ "connectHardwareWallet": {
+ "message": "Poveži strojno denarnico"
+ },
+ "connect": {
+ "message": "Poveži"
+ },
+ "connecting": {
+ "message": "Povezovanje ..."
+ },
+ "connectingToKovan": {
+ "message": "Povezovanje na testno omrežje Kovan"
+ },
+ "connectingToMainnet": {
+ "message": "Povezovanje na glavno omrežje"
+ },
+ "connectingToRopsten": {
+ "message": "Povezovanje na testno omrežje Ropsten"
+ },
+ "connectingToRinkeby": {
+ "message": "Povezovanje na testno omrežje Rinkeby"
+ },
+ "connectingToUnknown": {
+ "message": "Povezovanje na neznano omrežje"
+ },
+ "connectToLedger": {
+ "message": "Poveži z Ledger"
+ },
+ "connectToTrezor": {
+ "message": "Poveži z Trezor"
+ },
"continue": {
"message": "Nadaljuj"
},
@@ -114,23 +243,26 @@
"message": "Ustvarjanje pogodbe"
},
"conversionProgress": {
- "message": "Poteka pretvorba"
+ "message": "Pretvorba v teku"
},
"copiedButton": {
"message": "Kopirano"
},
"copiedClipboard": {
- "message": "Kopirano v odložišče"
+ "message": "Kopirano v odložišče!"
},
"copiedExclamation": {
"message": "Kopirano!"
},
"copiedSafe": {
- "message": "Prilepil sem ga na varno!"
+ "message": "Prilepil sem ga na varno"
},
"copy": {
"message": "Kopiraj"
},
+ "copyAddress": {
+ "message": "Kopiraj naslov v odložišče"
+ },
"copyToClipboard": {
"message": "Kopiraj v odložišče"
},
@@ -154,31 +286,40 @@
"description": "Exchange type (cryptocurrencies)"
},
"currentConversion": {
- "message": "Trenutna cena"
+ "message": "Trenutna pretvorba"
+ },
+ "currentLanguage": {
+ "message": "Trenutni jezik"
},
"currentNetwork": {
"message": "Trenutno omrežje"
},
+ "currentRpc": {
+ "message": "Trenutni RPC"
+ },
"customGas": {
"message": "Prilagodi gas"
},
+ "customToken": {
+ "message": "Žeton po meri"
+ },
"customize": {
"message": "Prilagodi"
},
"customRPC": {
- "message": "Poljuben RPC"
+ "message": "RPC po meri"
},
"decimalsMustZerotoTen": {
- "message": "Decimalk mora biti vsaj 0, in ne več kot 36."
+ "message": "Decimalk mora biti med 0 in 36."
},
"decimal": {
- "message": "Decimalke natančnosti"
+ "message": "Decimalna natančnost"
},
"defaultNetwork": {
- "message": "Privzeto omrežje za transakcije je Main Net."
+ "message": "Privzeto omrežje za transkacije je glavno omrežje."
},
"denExplainer": {
- "message": "DEN je vaša šifrirana shramba v MetaMasku."
+ "message": "Vaš DEN je z geslom šifrirana shramba v MetaMask."
},
"deposit": {
"message": "Vplačaj"
@@ -187,14 +328,14 @@
"message": "Vplačajte vaš BTC na spodnji naslov:"
},
"depositCoin": {
- "message": "Vplačajte $1 na spodnji naslov",
+ "message": "Vplačajte vaš $1 na spodnji naslov",
"description": "Tells the user what coin they have selected to deposit with shapeshift"
},
"depositEth": {
"message": "Vplačilo ETH"
},
"depositEther": {
- "message": "Vplačilo ethera"
+ "message": "Vplačilo ethra"
},
"depositFiat": {
"message": "Vplačilo s klasičnimi valutami"
@@ -206,25 +347,34 @@
"message": "Vplačilo z ShapeShift"
},
"depositShapeShiftExplainer": {
- "message": "Če imate druge kriptovalute, lahko vpačate ether neposredno v MetaMask. Brez računov."
+ "message": "Če imate druge kriptovalute, lahko Ether vplačate neposredno v MetaMask. Brez računov."
},
"details": {
"message": "Podrobnosti"
},
"directDeposit": {
- "message": "Direktno vplačilo"
+ "message": "Neposredno vplačilo"
},
"directDepositEther": {
- "message": "Direktno vplačilo ehera"
+ "message": "Neposredno vplačilo ehera"
},
"directDepositEtherExplainer": {
- "message": "Če že imate ether, ga lahko najhitreje dobite v MetaMask z direktnim vplačilom."
+ "message": "Če že imate Ether, ga lahko najhitreje dobite v MetaMask z neposrednim vplačilom."
},
"done": {
"message": "Končano"
},
+ "downloadGoogleChrome": {
+ "message": "Prenesi Google Chrome"
+ },
"downloadStateLogs": {
- "message": "Prenesi state dnevnike"
+ "message": "Prenesi dnevnike state"
+ },
+ "dontHaveAHardwareWallet": {
+ "message": "Nimate strojne denarnice?"
+ },
+ "dropped": {
+ "message": "Izpusti"
},
"edit": {
"message": "Uredi"
@@ -232,62 +382,83 @@
"editAccountName": {
"message": "Uredi ime računa"
},
+ "editingTransaction": {
+ "message": "Uredite transakcijo"
+ },
"emailUs": {
"message": "Pišite nam!"
},
"encryptNewDen": {
- "message": "Šifrirajte DEN"
+ "message": "Šifrirajte vaš DEN"
+ },
+ "ensNameNotFound": {
+ "message": "Ime ENS ni najdeno"
},
"enterPassword": {
- "message": "Vpišite geslo"
+ "message": "Vnesite geslo"
},
"enterPasswordConfirm": {
"message": "Potrdite geslo"
},
+ "enterPasswordContinue": {
+ "message": "Za nadaljevanje vnesite geslo"
+ },
+ "eth": {
+ "message": "ETH"
+ },
"etherscanView": {
- "message": "Poglejte račun na Etherscan"
+ "message": "Poglej račun na Etherscan"
},
"exchangeRate": {
"message": "Menjalni tečaj"
},
+ "expandView": {
+ "message": "Razširi pogled"
+ },
"exportPrivateKey": {
"message": "Izvozi zasebni ključ"
},
"exportPrivateKeyWarning": {
- "message": "Izvažanje zasebnih ključev je na lastno odgovornost."
+ "message": "Izvoz zasebnega ključa na lastno odgovornost."
},
"failed": {
"message": "Ni uspelo"
},
"fiat": {
- "message": "FIAT",
+ "message": "Klasične",
"description": "Exchange type"
},
"fileImportFail": {
- "message": "Uvoz z datoteko ni uspel? Kliknite tukaj!",
+ "message": "Uvoz z datoteko ne deluje? Kliknite tukaj!",
"description": "Helps user import their account from a JSON file"
},
"followTwitter": {
"message": "Sledite nam na Twitterju"
},
+ "forgetDevice": {
+ "message": "Pozabi to napravo"
+ },
"from": {
"message": "Od"
},
"fromToSame": {
- "message": "From and To address cannot be the same"
+ "message": "Naslova pošiljatelja in prejemnika ne smeta biti enaka"
},
"fromShapeShift": {
"message": "Od ShapeShift"
},
+ "functionType": {
+ "message": "Vrsta funkcije"
+ },
"gas": {
"message": "Gas",
"description": "Short indication of gas cost"
},
"gasFee": {
- "message": "Gas fee"
+ "message": "Gas Fee"
},
"gasLimit": {
- "message": "Gas limit"
+ "message": "Gas Limit"
},
"gasLimitCalculation": {
"message": "Priporočen gas limit je izračunan glede na omrežje."
@@ -296,37 +467,64 @@
"message": "Gas limit je zahtevan"
},
"gasLimitTooLow": {
- "message": "Gas limit mora biti najmanj 21000"
+ "message": "Gas limit mora biti vsaj 21000"
+ },
+ "gasUsed": {
+ "message": "Uporabljen gas"
},
"generatingSeed": {
"message": "Ustvarjenje seed ..."
},
"gasPrice": {
- "message": "Gas price (GWEI)"
+ "message": "Gas Price (GWEI)"
},
"gasPriceCalculation": {
- "message": "Priporočen gas price je izračunan glede na omrežje"
+ "message": "Priporočen gas price je izračunan glede na omrežje."
},
"gasPriceRequired": {
"message": "Gas price je zahtevan"
},
+ "generatingTransaction": {
+ "message": "Ustvarjanje transakcije"
+ },
"getEther": {
- "message": "Pridobite ether"
+ "message": "Pridobi Ether"
},
"getEtherFromFaucet": {
- "message": "Pridobite ether iz fauceta za $1",
+ "message": "Pridobite Ether iz fauceta za $1",
"description": "Displays network name for Ether faucet"
},
+ "getHelp": {
+ "message": "Get Help."
+ },
"greaterThanMin": {
- "message": "mora biti višji ali enak $1.",
+ "message": "mora biti večji ali enak $1.",
"description": "helper for inputting hex as decimal input"
},
+ "hardware": {
+ "message": "strojna"
+ },
+ "hardwareWalletConnected": {
+ "message": "Strojna denarnica povezana"
+ },
+ "hardwareWallets": {
+ "message": "Poveži strojno denarnico"
+ },
+ "hardwareWalletsMsg": {
+ "message": "Izberite vrsto strojne denarnice"
+ },
+ "havingTroubleConnecting": {
+ "message": "Imate težave?"
+ },
"here": {
"message": "tukaj",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
},
"hereList": {
- "message": "Tukaj je seznam!!!"
+ "message": "Tukaj je seznam!!!!"
+ },
+ "hexData": {
+ "message": "Hex Data"
},
"hide": {
"message": "Skrij"
@@ -337,24 +535,27 @@
"hideTokenPrompt": {
"message": "Skrijem žeton?"
},
+ "history": {
+ "message": "Zgodovina"
+ },
"howToDeposit": {
- "message": "Kako želite vplačati ether?"
+ "message": "Kako želite vplačati Ether?"
},
"holdEther": {
- "message": "Omogoča vam, da imate eter in žetone in služi kot most za decentralizirane aplikacije."
+ "message": "Omogoča vam shranjevanje ethra in žetonov ter povezovanje decentraliziranih aplikacij."
},
"import": {
- "message": "Uvozi",
+ "message": "Uvoz",
"description": "Button to import an account from a selected file"
},
"importAccount": {
- "message": "Uvozi račun"
+ "message": "Uvoz računa"
},
"importAccountMsg": {
- "message": " Uvoženi računi ne bodo povezani s prvotnim seedphaseom. Preberite več o uvoženih računih "
+ "message": " Uvoženi računa ne bodo povezani s prvotnim seed phase. Preberite več o uvoženih računih "
},
"importAnAccount": {
- "message": "Uvozi račun"
+ "message": "IUvozi račun"
},
"importDen": {
"message": "Uvozi DEN"
@@ -363,9 +564,18 @@
"message": "Uvoženo",
"description": "status showing that an account has been fully loaded into the keyring"
},
+ "importUsingSeed": {
+ "message": "Uvozi z seed phase"
+ },
+ "info": {
+ "message": "Info"
+ },
"infoHelp": {
"message": "Info & Pomoč"
},
+ "initialTransactionConfirmed": {
+ "message": "Vaša prvotna transakcija je bila potrjena. Pritisnite V redu in se vrnite nazaj."
+ },
"insufficientFunds": {
"message": "Nezadostna sredstva."
},
@@ -373,45 +583,63 @@
"message": "Nezadostni žetoni."
},
"invalidAddress": {
- "message": "Nepravilen naslov"
+ "message": "Neveljaven naslov"
},
"invalidAddressRecipient": {
- "message": "Prejemnikov naslov je neveljaven"
+ "message": "Neveljaven nasklov prejemnika"
},
"invalidGasParams": {
- "message": "Nepravilno nastavljen gas"
+ "message": "Neveljavne gas nastavitve"
},
"invalidInput": {
- "message": "Napačen vnos."
+ "message": "Neveljaven vnos."
},
"invalidRequest": {
- "message": "Napačna zahteva"
+ "message": "Neveljavna zahteva"
},
"invalidRPC": {
- "message": "Napačen RPC URI"
+ "message": "Neveljaven RPC URL"
+ },
+ "invalidSeedPhrase": {
+ "message": "Neveljavna seed phrase"
},
"jsonFail": {
- "message": "Nekaj je bilo narobe. Prepričajte se, da je JSON datoteka pravilno oblikovana."
+ "message": "Nekaj je bilo narobe. Prepričajte se, da je datoteka JSON pravilno oblikovana."
},
"jsonFile": {
- "message": "JSON datoteka",
+ "message": "Datoteka JSON",
"description": "format for importing an account"
},
+ "keepTrackTokens": {
+ "message": "Sledite žetonom, ki ste jih pridobili z MetaMask."
+ },
"kovan": {
"message": "Testno omrežje Kovan"
},
"knowledgeDataBase": {
"message": "Obiščite našo pomoč"
},
+ "max": {
+ "message": "Max"
+ },
+ "learnMore": {
+ "message": "Preberite več"
+ },
+ "ledgerAccountRestriction": {
+ "message": "Za dodajanje novega računa morate uporabiti zadnji račun."
+ },
"lessThanMax": {
- "message": "mora biti večji ali enak $1.",
+ "message": "mora biti manjši ali enak $1.",
"description": "helper for inputting hex as decimal input"
},
"likeToAddTokens": {
"message": "Želite dodati te žetone?"
},
+ "links": {
+ "message": "Povezave"
+ },
"limit": {
- "message": "Omejitev"
+ "message": "Meja"
},
"loading": {
"message": "Nalaganje ..."
@@ -432,20 +660,32 @@
"message": "Loose"
},
"loweCaseWords": {
- "message": "seed words imajo lahko le male črke"
+ "message": "seed words lahko vsebujejo samo male črke"
},
"mainnet": {
"message": "Glavno omrežje"
},
+ "menu": {
+ "message": "Meni"
+ },
"message": {
"message": "Sporočilo"
},
"metamaskDescription": {
"message": "MetaMask je varen identitetni sklad za Ethereum."
},
+ "metamaskSeedWords": {
+ "message": "Seed Words"
+ },
+ "metamaskVersion": {
+ "message": "Različica"
+ },
"min": {
"message": "Najmanj"
},
+ "missingYourTokens": {
+ "message": "Ne vidite vaših žetonov?"
+ },
"myAccounts": {
"message": "Moji računi"
},
@@ -453,7 +693,7 @@
"message": "Izbran mora biti vsaj 1 žeton."
},
"needEtherInWallet": {
- "message": "Za interakcijo z decentraliziranimi aplikacijami, ki uporabljajo MetaMask, boste v svoji denarnici potrebovali eter."
+ "message": "Za interakcijo z decentraliziranimi aplikacijami boste v svoji denarnici potrebovali Eter."
},
"needImportFile": {
"message": "Za uvoz morate izbrati datoteko.",
@@ -464,11 +704,14 @@
"description": "Password and file needed to import an account"
},
"negativeETH": {
- "message": "Ni mogoče poslati negativne vsote ETH."
+ "message": "Negativnih zneskov ETH ni mogoče poslati."
},
"networks": {
"message": "Omrežja"
},
+ "nevermind": {
+ "message": "Pozabi"
+ },
"newAccount": {
"message": "Nov račun"
},
@@ -480,31 +723,64 @@
"message": "Nova pogodba"
},
"newPassword": {
- "message": "Novo geslo (min. 8. črk)"
+ "message": "Novo geslo (min 8 znakov)"
+ },
+ "newPassword8Chars": {
+ "message": "Novo geslo (min 8 znakov)"
},
"newRecipient": {
"message": "Nov prejemnik"
},
- "newRPC": {
+ "newNetwork": {
+ "message": "Novo omrežje"
+ },
+ "rpcURL": {
"message": "Nov RPC URL"
},
+ "showAdvancedOptions": {
+ "message": "Pokaži napredne možnosti"
+ },
+ "hideAdvancedOptions": {
+ "message": "Skrij napredne možnosti"
+ },
+ "optionalChainId": {
+ "message": "ChainID (nezahtevano)"
+ },
+ "optionalSymbol": {
+ "message": "Simbol (nezahtevano)"
+ },
+ "optionalNickname": {
+ "message": "Uporabniško ime (nezahtevano)"
+ },
"next": {
"message": "Naprej"
},
"noAddressForName": {
- "message": "Za to ime ni bil nastavljen noben naslov."
+ "message": "Za to ime ni naslovov."
},
"noDeposits": {
- "message": "Ni prejetih vplačil"
+ "message": "Prejetih ni nič vplačil"
+ },
+ "noConversionRateAvailable": {
+ "message": "Menjalni tečaj ni na voljo"
},
"noTransactionHistory": {
"message": "Ni zgodovine transakcij."
},
"noTransactions": {
- "message": "Ni transakcij"
+ "message": "Nimate transakcij"
+ },
+ "notFound": {
+ "message": "Ni najdeno"
},
"notStarted": {
- "message": "Ni se začelo"
+ "message": "Ni začeto"
+ },
+ "noWebcamFoundTitle": {
+ "message": "Spletna kamera ni najdena"
+ },
+ "noWebcamFound": {
+ "message": "Spletna kamera ni najdena. Poskusite znova kasneje."
},
"oldUI": {
"message": "Star UI"
@@ -512,43 +788,89 @@
"oldUIMessage": {
"message": "Vrnili ste se v star uporabniški vmesnik. V novega se lahko vrnete z možnostjo v spustnem meniju v zgornjem desnem kotu."
},
+ "onlySendToEtherAddress": {
+ "message": "Na Ethereum naslov pošljute samo ETH."
+ },
+ "onlySendTokensToAccountAddress": {
+ "message": "Na Ethereum naslov pošljute samo $1.",
+ "description": "displays token symbol"
+ },
+ "openInTab": {
+ "message": "Odpri v zavihku"
+ },
"or": {
"message": "ali",
"description": "choice between creating or importing a new account"
},
+ "orderOneHere": {
+ "message": "Naročite Trezor ali Ledger i n zavarujte svoje premoženje s strojno denarnico"
+ },
+ "origin": {
+ "message": "Izvor"
+ },
+ "outgoing": {
+ "message": "Odhodni"
+ },
+ "parameters": {
+ "message": "Parametri"
+ },
+ "password": {
+ "message": "Geslo"
+ },
"passwordCorrect": {
"message": "Prepričajte se, da je geslo pravilno."
},
+ "passwordsDontMatch": {
+ "message": "Gesli se ne ujemata"
+ },
"passwordMismatch": {
"message": "gesli se ne ujemata",
"description": "in password creation process, the two new password fields did not match"
},
+ "passwordNotLongEnough": {
+ "message": "Geslo ni dovolj dolgo"
+ },
"passwordShort": {
"message": "geslo ni dovolj dolgo",
"description": "in password creation process, the password is not long enough to be secure"
},
"pastePrivateKey": {
- "message": "Tukaj prilepite zasebni ključ:",
+ "message": "Tukaj prilepite vaš zasebni ključ:",
"description": "For importing an account from a private key"
},
"pasteSeed": {
- "message": "Tukaj prilepite seed phrase!"
+ "message": "Tukaj prilepite seed phase!"
+ },
+ "pending": {
+ "message": "v obdelavi"
},
"personalAddressDetected": {
- "message": "Osebni naslov je zaznan. Vnesite naslov žetona."
+ "message": "Zaznan je osebni naslov. Vnesite naslov pogodbe žetona."
},
"pleaseReviewTransaction": {
- "message": "Preglejte transakcijo."
+ "message": "Preglejte vašo transakcijo."
+ },
+ "popularTokens": {
+ "message": "Priljubljeni žetoni"
+ },
+ "prev": {
+ "message": "Prej"
+ },
+ "primaryCurrencySetting": {
+ "message": "Glavna valuta"
+ },
+ "primaryCurrencySettingDescription": {
+ "message": "Izberite Native za prikaz vrednosti v privzeti valuti verige (npr. ETH). Izberite Klasične za prikaz vrednosti v izbrani klasični valuti."
},
"privacyMsg": {
- "message": "Politika zasebnosti"
+ "message": "Zasebnost"
},
"privateKey": {
- "message": "Zasebni ključ",
+ "message": "Zasebni lljuč",
"description": "select this type of file to use to import an account"
},
"privateKeyWarning": {
- "message": "Opozorilo: Nikoli ne razkrijte tega ključa. Vsakdo s svojimi zasebnimi ključi lahko ukrade vse premoženje v računu."
+ "message": "Opozorilo: Nikoli ne razkrijte tega ključa. Kdorkoli lahko z njim ukrade vse vaše premoženje v računu."
},
"privateNetwork": {
"message": "Zasebno omrežje"
@@ -556,47 +878,98 @@
"qrCode": {
"message": "Prikaži QR kodo"
},
+ "queue": {
+ "message": "Čakalna vrsta"
+ },
"readdToken": {
- "message": "Ta žeton lahko dodate tudi v prihodnosti, tako da odprete možnost »Dodaj žeton« v meniju z računi."
+ "message": "Ta žeton lahko dodate tudi kasneje z uporabo gumba “Dodaj žeton” v možnostih vašega računa."
},
"readMore": {
- "message": "Preberite več."
+ "message": "Tukaj preberite več."
},
"readMore2": {
"message": "Preberite več."
},
"receive": {
- "message": "Prejmite"
+ "message": "Prejmi"
},
"recipientAddress": {
"message": "Prejemnikov naslov"
},
"refundAddress": {
- "message": "Vaš naslov za vračilo"
+ "message": "Naslov za vračilo."
+ },
+ "reject": {
+ "message": "Zavrni"
+ },
+ "rejectAll": {
+ "message": "Zavrni vse"
+ },
+ "rejectTxsN": {
+ "message": "Zavrni $1 transakcij"
+ },
+ "rejectTxsDescription": {
+ "message": "Zavrnili boste $1 transakcij."
},
"rejected": {
"message": "Zavrnjeno"
},
+ "reset": {
+ "message": "Ponastavi"
+ },
"resetAccount": {
"message": "Ponastavi račun"
},
+ "resetAccountDescription": {
+ "message": "Ponastavljanje računa bo izbrisalo zgodovino transakcij."
+ },
"restoreFromSeed": {
- "message": "Obnovi iz seed phrase"
+ "message": "Obnovim račun?"
+ },
+ "restoreVault": {
+ "message": "Obnovi shrambo"
+ },
+ "restoreAccountWithSeed": {
+ "message": "Obnovi račun z seed phrase"
},
"required": {
"message": "Zahtevano"
},
"retryWithMoreGas": {
- "message": "Poskusi z višjim gas price"
+ "message": "Poskusite z večjim gas price"
+ },
+ "restore": {
+ "message": "Obnovi"
},
"revealSeedWords": {
- "message": "Prikaži seed words"
+ "message": "Razkrij seed words"
+ },
+ "revealSeedWordsTitle": {
+ "message": "Seed Phrase"
+ },
+ "revealSeedWordsDescription": {
+ "message": "Če želite zamenjati brskalnik ali računalnik, potrebujete vaš seed phase za dostop do računa. Shranite ga na varno skrito mesto."
+ },
+ "revealSeedWordsWarningTitle": {
+ "message": "Tega ne delite z nikomer!"
},
"revealSeedWordsWarning": {
- "message": "Ne obnovite seed words na javnem mestu! Te besede se lahko uporabijo za krajo vseh vaših računov."
+ "message": "S temi besedami lahko kdorkoli ukrade vse vaše račune."
},
"revert": {
- "message": "Povrni"
+ "message": "Obnovi"
+ },
+ "remove": {
+ "message": "izbriši"
+ },
+ "removeAccount": {
+ "message": "Izbriši račun"
+ },
+ "removeAccountDescription": {
+ "message": "Ta račun bo izbrisan. Prepričajte se, da imate seed phase ali zasebni ključ tega računa, da ga boste lahko kasneje obnovili. "
+ },
+ "readyToConnect": {
+ "message": "Pripravljeni na povezovanje?"
},
"rinkeby": {
"message": "Testno omrežje Rinkeby"
@@ -604,13 +977,19 @@
"ropsten": {
"message": "Testno omrežje Ropsten"
},
+ "rpc": {
+ "message": "RPC po meri"
+ },
"sampleAccountName": {
- "message": "npr. Moj nov račun",
+ "message": "npr. Moj račun",
"description": "Help user understand concept of adding a human-readable name to their account"
},
"save": {
"message": "Shrani"
},
+ "saveAsCsvFile": {
+ "message": "Shrani kot CSV datoteko"
+ },
"saveAsFile": {
"message": "Shrani kot datoteko",
"description": "Account export process"
@@ -618,14 +997,23 @@
"saveSeedAsFile": {
"message": "Shrani seed words kot datoteko"
},
+ "scanInstructions": {
+ "message": "Postavite QR kodo pred vašo kamero"
+ },
+ "scanQrCode": {
+ "message": "Skeniraj QR kodo"
+ },
"search": {
"message": "Iskanje"
},
+ "searchResults": {
+ "message": "Rezultati iskanja"
+ },
"secretPhrase": {
- "message": "Tukaj vnesite svoje seed words, da obnovite svoje račune."
+ "message": "Vnesite vaših dvanajst besed za obnovitev vaših računov."
},
"seedPhraseReq": {
- "message": "seed phrases so dolgi 12 besed"
+ "message": "Seed phrase mora biti dolg 12 besed"
},
"select": {
"message": "Izberi"
@@ -633,6 +1021,9 @@
"selectCurrency": {
"message": "Izberi valuto"
},
+ "selectLocale": {
+ "message": "Izberi jezik"
+ },
"selectService": {
"message": "Izberi storitev"
},
@@ -648,24 +1039,63 @@
"sendTokens": {
"message": "Pošlji žetone"
},
+ "sentEther": {
+ "message": "poslani ether"
+ },
+ "sentTokens": {
+ "message": "poslani žetoni"
+ },
+ "separateEachWord": {
+ "message": "Vsako besedo ločite z enim presledkom"
+ },
+ "searchTokens": {
+ "message": "Iskanje žetonov"
+ },
+ "selectAnAddress": {
+ "message": "Izberi naslov"
+ },
+ "selectAnAccount": {
+ "message": "Izberi račun"
+ },
+ "selectAnAccountHelp": {
+ "message": "Izberi račun za prikaz v MetaMask"
+ },
+ "selectHdPath": {
+ "message": "Izberi HD Path"
+ },
+ "selectPathHelp": {
+ "message": "Če obstoječih Ledger ne vidite, poskusite izbrati \"Legacy (MEW / MyCrypto)\""
+ },
"sendTokensAnywhere": {
- "message": "Pošljite žetone vsem, ki imajo Ethereum račun"
+ "message": "Pošljite žetone komurkoli z Ethereum naslovom"
},
"settings": {
"message": "Nastavitve"
},
"shapeshiftBuy": {
- "message": "Kupite z Shapeshift"
+ "message": "Kupi z Shapeshift"
},
"showPrivateKeys": {
- "message": "Prikaži zasebne ključe"
+ "message": "Pokaži zasebni ključ"
},
"showQRCode": {
- "message": "Prikaži QR kodo"
+ "message": "Pokaži QR kodo"
+ },
+ "showHexData": {
+ "message": "Pokaži Hex Data"
+ },
+ "showHexDataDescription": {
+ "message": "Izberite za prikaz hex podatkov na zaslonu za pošiljanje"
},
"sign": {
"message": "Podpiši"
},
+ "signatureRequest": {
+ "message": "Zahteva za podpis"
+ },
+ "signed": {
+ "message": "Podpisano"
+ },
"signMessage": {
"message": "Podpiši sporočilo"
},
@@ -676,11 +1106,20 @@
"message": "Zahteva za podpis"
},
"sigRequested": {
- "message": "Podpis je zahtevan"
+ "message": "Podpis zahtevan"
},
"spaceBetween": {
"message": "med besedami je lahko samo presledek"
},
+ "speedUp": {
+ "message": "pospeši"
+ },
+ "speedUpTitle": {
+ "message": "Pospeši transakcijo"
+ },
+ "speedUpSubtitle": {
+ "message": "Povečajte gas prise za pospešitev transakcije"
+ },
"status": {
"message": "Status"
},
@@ -688,19 +1127,43 @@
"message": "State dnevniki"
},
"stateLogsDescription": {
- "message": "State dnevniki vsebujejo naslove vašega računa in poslane transakcije.."
+ "message": "State vsebujejo vaš javni nasklov in zgodovino transakcij."
+ },
+ "stateLogError": {
+ "message": "Napaka pri pridobivanju state dnevnikov."
+ },
+ "step1HardwareWallet": {
+ "message": "1. Povežite strojno denarnico"
+ },
+ "step1HardwareWalletMsg": {
+ "message": "Z računalnikom povežite strojno denarnico."
+ },
+ "step2HardwareWallet": {
+ "message": "2. Izberite račun"
+ },
+ "step2HardwareWalletMsg": {
+ "message": "Izberite račun, ki ga želute uporabiti. Trenutno lahko izberete le en račun na enkrat."
+ },
+ "step3HardwareWallet": {
+ "message": "3. Začnite uporabljati dApps in več!"
+ },
+ "step3HardwareWalletMsg": {
+ "message": "Uporabite strojno denarnico kot katerikoli drug Ethereum račun. Prijavite se v dApps, pošljite Ether in ERC20 žetone in žetone kot CryptoKitties."
},
"submit": {
"message": "Potrdi"
},
+ "submitted": {
+ "message": "Potrjeno"
+ },
"supportCenter": {
- "message": "Obiščite našo podporo"
+ "message": "Obiščite naše središče za podporo"
},
"symbolBetweenZeroTen": {
- "message": "Simbol mora biti dolg od 0 do 10 znakov."
+ "message": "Simbol mora imeti med 0 in 10 znakov."
},
"takesTooLong": {
- "message": "Traja predolgo?"
+ "message": "Trava predolgo?"
},
"terms": {
"message": "Pogoji uporabe"
@@ -715,79 +1178,151 @@
"message": "$1 v ETH prek ShapeShift",
"description": "system will fill in deposit type in start of message"
},
+ "token": {
+ "message": "Žeton"
+ },
"tokenAddress": {
"message": "Naslov žetona"
},
"tokenAlreadyAdded": {
- "message": "Žeton je že bil dodan."
+ "message": "Žeton je bil že dodan."
},
"tokenBalance": {
- "message": "Vaš znesek žetona:"
+ "message": "Vaš znesek žetonov je:"
},
"tokenSelection": {
- "message": "Poiščite žetone ali jih izberite z našega seznama priljubljenih žetonov."
+ "message": "Iščite žetone ali pa jih izberite iz seznama priljubljenih."
},
"tokenSymbol": {
"message": "Simbol žetona"
},
"tokenWarning1": {
- "message": "Spremljajte žetone, ki ste jih kupili s svojim MetaMask računom. Če ste kupili žetone z drugačnim računom, ti žetoni ne bodo prikazani tukaj."
+ "message": "Sledite žetonom, ki ste jih kupili z MetaMask metamask računom. Če ste jih kupili drugje, ne bodo prikazani tukaj."
},
"total": {
"message": "Skupno"
},
+ "transaction": {
+ "message": "transakcija"
+ },
+ "transactionConfirmed": {
+ "message": "Transakcija potrjena na $2."
+ },
+ "transactionCreated": {
+ "message": "Transakcija z vrednostjo $1 ustvarjena na $2."
+ },
+ "transactionWithNonce": {
+ "message": "Transakcija $1"
+ },
+ "transactionDropped": {
+ "message": "Transakcija na $2 preklicana."
+ },
+ "transactionSubmitted": {
+ "message": "Transakcija na $2 oddana."
+ },
+ "transactionUpdated": {
+ "message": "Transakcija na $2 spremenjena."
+ },
+ "transactionUpdatedGas": {
+ "message": "Transakcija spremenjena z gas price $1 na $2."
+ },
+ "transactionErrored": {
+ "message": "Napaka pri transakciji."
+ },
"transactions": {
"message": "transakcije"
},
+ "transactionError": {
+ "message": "Napaka pri transakciji. Izjema sprožena v kodi pogodbe."
+ },
"transactionMemo": {
- "message": "Opis transakcije (ni zahtevano)"
+ "message": "Opomba transakcije (nezahtevano)"
},
"transactionNumber": {
"message": "Številka transakcije"
},
+ "transfer": {
+ "message": "Prenesi"
+ },
+ "transferFrom": {
+ "message": "Prenesi od"
+ },
"transfers": {
"message": "Prenosi"
},
+ "trezorHardwareWallet": {
+ "message": "Strojna denarnica TREZOR"
+ },
"troubleTokenBalances": {
- "message": "Imeli smo težave pri nalaganju vaših žetonov. Ogledate si jih lahko ",
+ "message": "Če imate težave pri ogledu zneskov žetonov si jih lahko ogledate ",
"description": "Followed by a link (here) to view token balances"
},
+ "tryAgain": {
+ "message": "Poskusi znova"
+ },
"twelveWords": {
"message": "Edini način za obnovitev MetaMask računa, je teh 12 besed.\nShranite jih na varno in skrivno mesto."
},
"typePassword": {
- "message": "Vpišite vaše geslo"
+ "message": "Vnesite vaše MetaMask geslo"
},
"uiWelcome": {
"message": "Dobrodošli v nov UI (Beta)"
},
"uiWelcomeMessage": {
- "message": "Zdaj uporabljate novi MetaMask uporabniški vmesnik. Razglejte se, preizkusite nove funkcije, kot so pošiljanje žetonov, in nas obvestite, če imate kakšne težave."
+ "message": "Uporabljate nov uporabniški vmesnik."
+ },
+ "unapproved": {
+ "message": "Neodobreno"
},
"unavailable": {
"message": "Ni na voljo"
},
+ "units": {
+ "message": "enote"
+ },
"unknown": {
"message": "Neznano"
},
+ "unknownFunction": {
+ "message": "Neznana funkcija"
+ },
"unknownNetwork": {
"message": "Neznano zasebno omrežje"
},
"unknownNetworkId": {
"message": "Neznan ID omrežja"
},
+ "unknownQrCode": {
+ "message": "Napaka: Te QR kode ni bilo mogoče prepoznati"
+ },
+ "unknownCameraErrorTitle": {
+ "message": "Ooops! Nekaj je šlo narobe ...."
+ },
+ "unknownCameraError": {
+ "message": "Pri dostopanju do vaše kamere je prišlo do napake. Poskusite znova kasneje ..."
+ },
+ "unlock": {
+ "message": "Odkleni"
+ },
+ "unlockMessage": {
+ "message": "Decentralizirana spletna denarnica"
+ },
+ "updatedWithDate": {
+ "message": "Posodobljeno $1"
+ },
"uriErrorMsg": {
- "message": "URI-ji zahtevajo ustrezno HTTP/HTTPS predpono."
+ "message": "URI zahtevajo ustrezno HTTP/HTTPS predpono."
},
"usaOnly": {
"message": "Samo za ZDA",
"description": "Using this exchange is limited to people inside the USA"
},
"usedByClients": {
- "message": "Uporablja jih več različnih odjemalcev"
+ "message": "Uporabljen s strani večih različnih odjemalcev"
},
"useOldUI": {
- "message": "Uporabi star uporabniški vmesnik"
+ "message": "Uporabi star UI"
},
"validFileImport": {
"message": "Za uvoz morate izbrati pravilno datoteko."
@@ -798,22 +1333,40 @@
"viewAccount": {
"message": "Poglej račun"
},
+ "viewOnEtherscan": {
+ "message": "Poglej na Etherscan"
+ },
"visitWebSite": {
"message": "Obiščite našo spletno stran"
},
+ "walletSeed": {
+ "message": "Wallet Seed"
+ },
"warning": {
"message": "Opozorilo"
},
+ "welcomeBack": {
+ "message": "Dobrodošli nazaj!"
+ },
"welcomeBeta": {
"message": "Dobrodošli v MetaMask Beta"
},
"whatsThis": {
"message": "Kaj je to?"
},
+ "yesLetsTry": {
+ "message": "Pa poskusimo"
+ },
+ "youNeedToAllowCameraAccess": {
+ "message": "Za uporabo te funkcije boste potrebovali dostop do kamere."
+ },
"yourSigRequested": {
- "message": "Vaš podpis je bil zahtevan"
+ "message": "Zahtevan je bil vaš podpis"
},
"youSign": {
- "message": "Podpisani ste"
+ "message": "Podpisali boste"
+ },
+ "yourPrivateSeedPhrase": {
+ "message": "Vaš zasebni seed phrase"
}
}
diff --git a/app/loading.html b/app/loading.html
index aef5d9607..71403a5ac 100644
--- a/app/loading.html
+++ b/app/loading.html
@@ -1,5 +1,9 @@
-<html>
+<!DOCTYPE html>
+<html lang="en">
<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>MetaMask Loading</title>
<style>
#div-logo {
@@ -31,5 +35,11 @@
<div id="div-logo">
<img id="logo" src="./images/loginglogo.svg">
</div>
+ <script type="text/javascript">
+ // redirect to 404 after one minute
+ setTimeout(() => {
+ location.href = './404.html'
+ }, 60000)
+ </script>
</body>
</html>
diff --git a/app/scripts/background.js b/app/scripts/background.js
index 2455608aa..2a3c5b08b 100644
--- a/app/scripts/background.js
+++ b/app/scripts/background.js
@@ -29,7 +29,7 @@ const setupMetamaskMeshMetrics = require('./lib/setupMetamaskMeshMetrics')
const EdgeEncryptor = require('./edge-encryptor')
const getFirstPreferredLangCode = require('./lib/get-first-preferred-lang-code')
const getObjStructure = require('./lib/getObjStructure')
-const ipfsContent = require('./lib/ipfsContent.js')
+const setupEnsIpfsResolver = require('./lib/ens-ipfs/setup')
const {
ENVIRONMENT_TYPE_POPUP,
@@ -58,7 +58,6 @@ const isIE = !!document.documentMode
// Edge 20+
const isEdge = !isIE && !!window.StyleMedia
-let ipfsHandle
let popupIsOpen = false
let notificationIsOpen = false
const openMetamaskTabsIDs = {}
@@ -164,7 +163,6 @@ async function initialize () {
const initLangCode = await getFirstPreferredLangCode()
await setupController(initState, initLangCode)
log.debug('MetaMask initialization complete.')
- ipfsHandle = ipfsContent(initState.NetworkController.provider)
}
//
@@ -269,10 +267,8 @@ function setupController (initState, initLangCode) {
})
global.metamaskController = controller
- controller.networkController.on('networkDidChange', () => {
- ipfsHandle && ipfsHandle.remove()
- ipfsHandle = ipfsContent(controller.networkController.providerStore.getState())
- })
+ const provider = controller.provider
+ setupEnsIpfsResolver({ provider })
// report failed transactions to Sentry
controller.txController.on(`tx:status-update`, (txId, status) => {
diff --git a/app/scripts/controllers/currency.js b/app/scripts/controllers/currency.js
index 6b82265f6..46cdf91a7 100644
--- a/app/scripts/controllers/currency.js
+++ b/app/scripts/controllers/currency.js
@@ -21,6 +21,7 @@ class CurrencyController {
* since midnight of January 1, 1970
* @property {number} conversionInterval The id of the interval created by the scheduleConversionInterval method.
* Used to clear an existing interval on subsequent calls of that method.
+ * @property {string} nativeCurrency The ticker/symbol of the native chain currency
*
*/
constructor (opts = {}) {
@@ -28,6 +29,7 @@ class CurrencyController {
currentCurrency: 'usd',
conversionRate: 0,
conversionDate: 'N/A',
+ nativeCurrency: 'ETH',
}, opts.initState)
this.store = new ObservableStore(initState)
}
@@ -37,6 +39,29 @@ class CurrencyController {
//
/**
+ * A getter for the nativeCurrency property
+ *
+ * @returns {string} A 2-4 character shorthand that describes the specific currency
+ *
+ */
+ getNativeCurrency () {
+ return this.store.getState().nativeCurrency
+ }
+
+ /**
+ * A setter for the nativeCurrency property
+ *
+ * @param {string} nativeCurrency The new currency to set as the nativeCurrency in the store
+ *
+ */
+ setNativeCurrency (nativeCurrency) {
+ this.store.updateState({
+ nativeCurrency,
+ ticker: nativeCurrency,
+ })
+ }
+
+ /**
* A getter for the currentCurrency property
*
* @returns {string} A 2-4 character shorthand that describes a specific currency, currently selected by the user
@@ -104,16 +129,25 @@ class CurrencyController {
*
*/
async updateConversionRate () {
- let currentCurrency
+ let currentCurrency, nativeCurrency
try {
currentCurrency = this.getCurrentCurrency()
+ nativeCurrency = this.getNativeCurrency()
+ let apiUrl
+ if (nativeCurrency === 'ETH') {
+ apiUrl = `https://api.infura.io/v1/ticker/eth${currentCurrency.toLowerCase()}`
+ } else {
+ apiUrl = `https://min-api.cryptocompare.com/data/price?fsym=${nativeCurrency.toUpperCase()}&tsyms=${currentCurrency.toUpperCase()}`
+ }
+ // attempt request
let response
try {
- response = await fetch(`https://api.infura.io/v1/ticker/eth${currentCurrency.toLowerCase()}`)
+ response = await fetch(apiUrl)
} catch (err) {
log.error(new Error(`CurrencyController - Failed to request currency from Infura:\n${err.stack}`))
return
}
+ // parse response
let rawResponse
let parsedResponse
try {
@@ -123,10 +157,21 @@ class CurrencyController {
log.error(new Error(`CurrencyController - Failed to parse response "${rawResponse}"`))
return
}
- this.setConversionRate(Number(parsedResponse.bid))
- this.setConversionDate(Number(parsedResponse.timestamp))
+ // set conversion rate
+ if (nativeCurrency === 'ETH') {
+ this.setConversionRate(Number(parsedResponse.bid))
+ this.setConversionDate(Number(parsedResponse.timestamp))
+ } else {
+ if (parsedResponse[currentCurrency.toUpperCase()]) {
+ this.setConversionRate(Number(parsedResponse[currentCurrency.toUpperCase()]))
+ this.setConversionDate(parseInt((new Date()).getTime() / 1000))
+ } else {
+ this.setConversionRate(0)
+ this.setConversionDate('N/A')
+ }
+ }
} catch (err) {
- // reset current conversion rate
+ log.warn(`MetaMask - Failed to query currency conversion:`, nativeCurrency, currentCurrency, err)
this.setConversionRate(0)
this.setConversionDate('N/A')
// throw error
diff --git a/app/scripts/controllers/network/network.js b/app/scripts/controllers/network/network.js
index c1667d9a6..c21e9c764 100644
--- a/app/scripts/controllers/network/network.js
+++ b/app/scripts/controllers/network/network.js
@@ -11,6 +11,8 @@ const createInfuraClient = require('./createInfuraClient')
const createJsonRpcClient = require('./createJsonRpcClient')
const createLocalhostClient = require('./createLocalhostClient')
const { createSwappableProxy, createEventEmitterProxy } = require('swappable-obj-proxy')
+const extend = require('extend')
+const networks = { networkList: {} }
const {
ROPSTEN,
@@ -29,6 +31,10 @@ const defaultProviderConfig = {
type: testMode ? RINKEBY : MAINNET,
}
+const defaultNetworkConfig = {
+ ticker: 'ETH',
+}
+
module.exports = class NetworkController extends EventEmitter {
constructor (opts = {}) {
@@ -39,7 +45,8 @@ module.exports = class NetworkController extends EventEmitter {
// create stores
this.providerStore = new ObservableStore(providerConfig)
this.networkStore = new ObservableStore('loading')
- this.store = new ComposedStore({ provider: this.providerStore, network: this.networkStore })
+ this.networkConfig = new ObservableStore(defaultNetworkConfig)
+ this.store = new ComposedStore({ provider: this.providerStore, network: this.networkStore, settings: this.networkConfig })
this.on('networkDidChange', this.lookupNetwork)
// provider and block tracker
this._provider = null
@@ -51,8 +58,8 @@ module.exports = class NetworkController extends EventEmitter {
initializeProvider (providerParams) {
this._baseProviderParams = providerParams
- const { type, rpcTarget } = this.providerStore.getState()
- this._configureProvider({ type, rpcTarget })
+ const { type, rpcTarget, chainId, ticker, nickname } = this.providerStore.getState()
+ this._configureProvider({ type, rpcTarget, chainId, ticker, nickname })
this.lookupNetwork()
}
@@ -72,7 +79,20 @@ module.exports = class NetworkController extends EventEmitter {
return this.networkStore.getState()
}
- setNetworkState (network) {
+ getNetworkConfig () {
+ return this.networkConfig.getState()
+ }
+
+ setNetworkState (network, type) {
+ if (network === 'loading') {
+ return this.networkStore.putState(network)
+ }
+
+ // type must be defined
+ if (!type) {
+ return
+ }
+ network = networks.networkList[type] && networks.networkList[type].chainId ? networks.networkList[type].chainId : network
return this.networkStore.putState(network)
}
@@ -85,18 +105,32 @@ module.exports = class NetworkController extends EventEmitter {
if (!this._provider) {
return log.warn('NetworkController - lookupNetwork aborted due to missing provider')
}
+ var { type } = this.providerStore.getState()
const ethQuery = new EthQuery(this._provider)
- ethQuery.sendAsync({ method: 'net_version' }, (err, network) => {
- if (err) return this.setNetworkState('loading')
- log.info('web3.getNetwork returned ' + network)
- this.setNetworkState(network)
+ // first attempt to perform lookup via eth_chainId
+ ethQuery.sendAsync({ method: 'eth_chainId' }, (err, chainIdHex) => {
+ if (err) {
+ // if eth_chainId is not supported, fallback to net_verion
+ ethQuery.sendAsync({ method: 'net_version' }, (err, network) => {
+ if (err) return this.setNetworkState('loading')
+ log.info(`net_version returned ${network}`)
+ this.setNetworkState(network, type)
+ })
+ return
+ }
+ const chainId = Number.parseInt(chainIdHex, 16)
+ log.info(`net_version returned ${chainId}`)
+ this.setNetworkState(chainId, type)
})
}
- setRpcTarget (rpcTarget) {
+ setRpcTarget (rpcTarget, chainId, ticker = 'ETH', nickname = '') {
const providerConfig = {
type: 'rpc',
rpcTarget,
+ chainId,
+ ticker,
+ nickname,
}
this.providerConfig = providerConfig
}
@@ -132,7 +166,7 @@ module.exports = class NetworkController extends EventEmitter {
}
_configureProvider (opts) {
- const { type, rpcTarget } = opts
+ const { type, rpcTarget, chainId, ticker, nickname } = opts
// infura type-based endpoints
const isInfura = INFURA_PROVIDER_TYPES.includes(type)
if (isInfura) {
@@ -142,7 +176,7 @@ module.exports = class NetworkController extends EventEmitter {
this._configureLocalhostProvider()
// url-based rpc endpoints
} else if (type === 'rpc') {
- this._configureStandardProvider({ rpcUrl: rpcTarget })
+ this._configureStandardProvider({ rpcUrl: rpcTarget, chainId, ticker, nickname })
} else {
throw new Error(`NetworkController - _configureProvider - unknown type "${type}"`)
}
@@ -152,6 +186,11 @@ module.exports = class NetworkController extends EventEmitter {
log.info('NetworkController - configureInfuraProvider', type)
const networkClient = createInfuraClient({ network: type })
this._setNetworkClient(networkClient)
+ // setup networkConfig
+ var settings = {
+ ticker: 'ETH',
+ }
+ this.networkConfig.putState(settings)
}
_configureLocalhostProvider () {
@@ -160,9 +199,22 @@ module.exports = class NetworkController extends EventEmitter {
this._setNetworkClient(networkClient)
}
- _configureStandardProvider ({ rpcUrl }) {
+ _configureStandardProvider ({ rpcUrl, chainId, ticker, nickname }) {
log.info('NetworkController - configureStandardProvider', rpcUrl)
const networkClient = createJsonRpcClient({ rpcUrl })
+ // hack to add a 'rpc' network with chainId
+ networks.networkList['rpc'] = {
+ chainId: chainId,
+ rpcUrl,
+ ticker: ticker || 'ETH',
+ nickname,
+ }
+ // setup networkConfig
+ var settings = {
+ network: chainId,
+ }
+ settings = extend(settings, networks.networkList['rpc'])
+ this.networkConfig.putState(settings)
this._setNetworkClient(networkClient)
}
diff --git a/app/scripts/controllers/preferences.js b/app/scripts/controllers/preferences.js
index 689506a7a..eaeaee499 100644
--- a/app/scripts/controllers/preferences.js
+++ b/app/scripts/controllers/preferences.js
@@ -25,7 +25,7 @@ class PreferencesController {
*/
constructor (opts = {}) {
const initState = extend({
- frequentRpcList: [],
+ frequentRpcListDetail: [],
currentAccountTab: 'history',
accountTokens: {},
assetImages: {},
@@ -39,7 +39,7 @@ class PreferencesController {
seedWords: null,
forgottenPassword: false,
preferences: {
- useETHAsPrimaryCurrency: true,
+ useNativeCurrencyAsPrimaryCurrency: true,
},
}, opts.initState)
@@ -104,7 +104,7 @@ class PreferencesController {
* @param {Function} - end
*/
async requestWatchAsset (req, res, next, end) {
- if (req.method === 'metamask_watchAsset') {
+ if (req.method === 'metamask_watchAsset' || req.method === 'wallet_watchAsset') {
const { type, options } = req.params
switch (type) {
case 'ERC20':
@@ -392,19 +392,22 @@ class PreferencesController {
* Adds custom RPC url to state.
*
* @param {string} url The RPC url to add to frequentRpcList.
+ * @param {number} chainId Optional chainId of the selected network.
+ * @param {string} ticker Optional ticker symbol of the selected network.
+ * @param {string} nickname Optional nickname of the selected network.
* @returns {Promise<array>} Promise resolving to updated frequentRpcList.
*
*/
- addToFrequentRpcList (url) {
- const rpcList = this.getFrequentRpcList()
- const index = rpcList.findIndex((element) => { return element === url })
+ addToFrequentRpcList (url, chainId, ticker = 'ETH', nickname = '') {
+ const rpcList = this.getFrequentRpcListDetail()
+ const index = rpcList.findIndex((element) => { return element.rpcUrl === url })
if (index !== -1) {
rpcList.splice(index, 1)
}
if (url !== 'http://localhost:8545') {
- rpcList.push(url)
+ rpcList.push({ rpcUrl: url, chainId, ticker, nickname })
}
- this.store.updateState({ frequentRpcList: rpcList })
+ this.store.updateState({ frequentRpcListDetail: rpcList })
return Promise.resolve(rpcList)
}
@@ -416,23 +419,23 @@ class PreferencesController {
*
*/
removeFromFrequentRpcList (url) {
- const rpcList = this.getFrequentRpcList()
- const index = rpcList.findIndex((element) => { return element === url })
+ const rpcList = this.getFrequentRpcListDetail()
+ const index = rpcList.findIndex((element) => { return element.rpcUrl === url })
if (index !== -1) {
rpcList.splice(index, 1)
}
- this.store.updateState({ frequentRpcList: rpcList })
+ this.store.updateState({ frequentRpcListDetail: rpcList })
return Promise.resolve(rpcList)
}
/**
- * Getter for the `frequentRpcList` property.
+ * Getter for the `frequentRpcListDetail` property.
*
- * @returns {array<string>} An array of one or two rpc urls.
+ * @returns {array<array>} An array of rpc urls.
*
*/
- getFrequentRpcList () {
- return this.store.getState().frequentRpcList
+ getFrequentRpcListDetail () {
+ return this.store.getState().frequentRpcListDetail
}
/**
diff --git a/app/scripts/lib/contracts/registrar.js b/app/scripts/lib/ens-ipfs/contracts/registrar.js
index 99ca24458..99ca24458 100644
--- a/app/scripts/lib/contracts/registrar.js
+++ b/app/scripts/lib/ens-ipfs/contracts/registrar.js
diff --git a/app/scripts/lib/contracts/resolver.js b/app/scripts/lib/ens-ipfs/contracts/resolver.js
index 1bf3f90ce..1bf3f90ce 100644
--- a/app/scripts/lib/contracts/resolver.js
+++ b/app/scripts/lib/ens-ipfs/contracts/resolver.js
diff --git a/app/scripts/lib/ens-ipfs/resolver.js b/app/scripts/lib/ens-ipfs/resolver.js
new file mode 100644
index 000000000..fe2dc1134
--- /dev/null
+++ b/app/scripts/lib/ens-ipfs/resolver.js
@@ -0,0 +1,54 @@
+const namehash = require('eth-ens-namehash')
+const multihash = require('multihashes')
+const Eth = require('ethjs-query')
+const EthContract = require('ethjs-contract')
+const registrarAbi = require('./contracts/registrar')
+const resolverAbi = require('./contracts/resolver')
+
+module.exports = resolveEnsToIpfsContentId
+
+
+async function resolveEnsToIpfsContentId ({ provider, name }) {
+ const eth = new Eth(provider)
+ const hash = namehash.hash(name)
+ const contract = new EthContract(eth)
+ // lookup registrar
+ const chainId = Number.parseInt(await eth.net_version(), 10)
+ const registrarAddress = getRegistrarForChainId(chainId)
+ if (!registrarAddress) {
+ throw new Error(`EnsIpfsResolver - no known ens-ipfs registrar for chainId "${chainId}"`)
+ }
+ const Registrar = contract(registrarAbi).at(registrarAddress)
+ // lookup resolver
+ const resolverLookupResult = await Registrar.resolver(hash)
+ const resolverAddress = resolverLookupResult[0]
+ if (hexValueIsEmpty(resolverAddress)) {
+ throw new Error(`EnsIpfsResolver - no resolver found for name "${name}"`)
+ }
+ const Resolver = contract(resolverAbi).at(resolverAddress)
+ // lookup content id
+ const contentLookupResult = await Resolver.content(hash)
+ const contentHash = contentLookupResult[0]
+ if (hexValueIsEmpty(contentHash)) {
+ throw new Error(`EnsIpfsResolver - no content ID found for name "${name}"`)
+ }
+ const nonPrefixedHex = contentHash.slice(2)
+ const buffer = multihash.fromHexString(nonPrefixedHex)
+ const contentId = multihash.toB58String(multihash.encode(buffer, 'sha2-256'))
+ return contentId
+}
+
+function hexValueIsEmpty(value) {
+ return [undefined, null, '0x', '0x0', '0x0000000000000000000000000000000000000000000000000000000000000000'].includes(value)
+}
+
+function getRegistrarForChainId (chainId) {
+ switch (chainId) {
+ // mainnet
+ case 1:
+ return '0x314159265dd8dbb310642f98f50c066173c1259b'
+ // ropsten
+ case 3:
+ return '0x112234455c3a32fd11230c42e7bccd4a84e02010'
+ }
+}
diff --git a/app/scripts/lib/ens-ipfs/setup.js b/app/scripts/lib/ens-ipfs/setup.js
new file mode 100644
index 000000000..45eb1ce14
--- /dev/null
+++ b/app/scripts/lib/ens-ipfs/setup.js
@@ -0,0 +1,63 @@
+const urlUtil = require('url')
+const extension = require('extensionizer')
+const resolveEnsToIpfsContentId = require('./resolver.js')
+
+const supportedTopLevelDomains = ['eth']
+
+module.exports = setupEnsIpfsResolver
+
+function setupEnsIpfsResolver({ provider }) {
+
+ // install listener
+ const urlPatterns = supportedTopLevelDomains.map(tld => `*://*.${tld}/*`)
+ extension.webRequest.onErrorOccurred.addListener(webRequestDidFail, { urls: urlPatterns })
+
+ // return api object
+ return {
+ // uninstall listener
+ remove () {
+ extension.webRequest.onErrorOccurred.removeListener(webRequestDidFail)
+ },
+ }
+
+ async function webRequestDidFail (details) {
+ const { tabId, url } = details
+ // ignore requests that are not associated with tabs
+ if (tabId === -1) return
+ // parse ens name
+ const urlData = urlUtil.parse(url)
+ const { hostname: name, path, search } = urlData
+ const domainParts = name.split('.')
+ const topLevelDomain = domainParts[domainParts.length - 1]
+ // if unsupported TLD, abort
+ if (!supportedTopLevelDomains.includes(topLevelDomain)) return
+ // otherwise attempt resolve
+ attemptResolve({ tabId, name, path, search })
+ }
+
+ async function attemptResolve({ tabId, name, path, search }) {
+ extension.tabs.update(tabId, { url: `loading.html` })
+ try {
+ const ipfsContentId = await resolveEnsToIpfsContentId({ provider, name })
+ let url = `https://gateway.ipfs.io/ipfs/${ipfsContentId}${path}${search || ''}`
+ try {
+ // check if ipfs gateway has result
+ const response = await fetch(url, { method: 'HEAD' })
+ // if failure, redirect to 404 page
+ if (response.status !== 200) {
+ extension.tabs.update(tabId, { url: '404.html' })
+ return
+ }
+ // otherwise redirect to the correct page
+ extension.tabs.update(tabId, { url })
+ } catch (err) {
+ console.warn(err)
+ // if HEAD fetch failed, redirect so user can see relevant error page
+ extension.tabs.update(tabId, { url })
+ }
+ } catch (err) {
+ console.warn(err)
+ extension.tabs.update(tabId, { url: `error.html?name=${name}` })
+ }
+ }
+}
diff --git a/app/scripts/lib/ipfsContent.js b/app/scripts/lib/ipfsContent.js
deleted file mode 100644
index 8b08453c4..000000000
--- a/app/scripts/lib/ipfsContent.js
+++ /dev/null
@@ -1,46 +0,0 @@
-const extension = require('extensionizer')
-const resolver = require('./resolver.js')
-
-module.exports = function (provider) {
- function ipfsContent (details) {
- const name = details.url.substring(7, details.url.length - 1)
- let clearTime = null
- if (/^.+\.eth$/.test(name) === false) return
-
- extension.tabs.query({active: true}, tab => {
- extension.tabs.update(tab.id, { url: 'loading.html' })
-
- clearTime = setTimeout(() => {
- return extension.tabs.update(tab.id, { url: '404.html' })
- }, 60000)
-
- resolver.resolve(name, provider).then(ipfsHash => {
- clearTimeout(clearTime)
- let url = 'https://ipfs.infura.io/ipfs/' + ipfsHash
- return fetch(url, { method: 'HEAD' }).then(response => response.status).then(statusCode => {
- if (statusCode !== 200) return extension.tabs.update(tab.id, { url: '404.html' })
- extension.tabs.update(tab.id, { url: url })
- })
- .catch(err => {
- url = 'https://ipfs.infura.io/ipfs/' + ipfsHash
- extension.tabs.update(tab.id, {url: url})
- return err
- })
- })
- .catch(err => {
- clearTimeout(clearTime)
- const url = err === 'unsupport' ? 'unsupport' : 'error'
- extension.tabs.update(tab.id, {url: `${url}.html?name=${name}`})
- })
- })
- return { cancel: true }
- }
-
- extension.webRequest.onErrorOccurred.addListener(ipfsContent, {urls: ['*://*.eth/'], types: ['main_frame']})
-
- return {
- remove () {
- extension.webRequest.onErrorOccurred.removeListener(ipfsContent)
- },
- }
-}
diff --git a/app/scripts/lib/resolver.js b/app/scripts/lib/resolver.js
deleted file mode 100644
index ff0fed161..000000000
--- a/app/scripts/lib/resolver.js
+++ /dev/null
@@ -1,71 +0,0 @@
-const namehash = require('eth-ens-namehash')
-const multihash = require('multihashes')
-const HttpProvider = require('ethjs-provider-http')
-const Eth = require('ethjs-query')
-const EthContract = require('ethjs-contract')
-const registrarAbi = require('./contracts/registrar')
-const resolverAbi = require('./contracts/resolver')
-
-function ens (name, provider) {
- const eth = new Eth(new HttpProvider(getProvider(provider.type)))
- const hash = namehash.hash(name)
- const contract = new EthContract(eth)
- const Registrar = contract(registrarAbi).at(getRegistrar(provider.type))
- return new Promise((resolve, reject) => {
- if (provider.type === 'mainnet' || provider.type === 'ropsten') {
- Registrar.resolver(hash).then((address) => {
- if (address === '0x0000000000000000000000000000000000000000') {
- reject(null)
- } else {
- const Resolver = contract(resolverAbi).at(address['0'])
- return Resolver.content(hash)
- }
- }).then((contentHash) => {
- if (contentHash['0'] === '0x0000000000000000000000000000000000000000000000000000000000000000') reject(null)
- if (contentHash.ret !== '0x') {
- const hex = contentHash['0'].substring(2)
- const buf = multihash.fromHexString(hex)
- resolve(multihash.toB58String(multihash.encode(buf, 'sha2-256')))
- } else {
- reject(null)
- }
- })
- } else {
- return reject('unsupport')
- }
- })
-}
-
-function getProvider (type) {
- switch (type) {
- case 'mainnet':
- return 'https://mainnet.infura.io/'
- case 'ropsten':
- return 'https://ropsten.infura.io/'
- default:
- return 'http://localhost:8545/'
- }
-}
-
-function getRegistrar (type) {
- switch (type) {
- case 'mainnet':
- return '0x314159265dd8dbb310642f98f50c066173c1259b'
- case 'ropsten':
- return '0x112234455c3a32fd11230c42e7bccd4a84e02010'
- default:
- return '0x0000000000000000000000000000000000000000'
- }
-}
-
-module.exports.resolve = function (name, provider) {
- const path = name.split('.')
- const topLevelDomain = path[path.length - 1]
- if (topLevelDomain === 'eth' || topLevelDomain === 'test') {
- return ens(name, provider)
- } else {
- return new Promise((resolve, reject) => {
- reject(null)
- })
- }
-}
diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js
index 7913662d4..3778dbdb6 100644
--- a/app/scripts/metamask-controller.js
+++ b/app/scripts/metamask-controller.js
@@ -138,12 +138,12 @@ module.exports = class MetamaskController extends EventEmitter {
this.accountTracker.stop()
}
})
-
+
// ensure accountTracker updates balances after network change
this.networkController.on('networkDidChange', () => {
this.accountTracker._updateAccounts()
})
-
+
// key mgmt
const additionalKeyrings = [TrezorKeyring, LedgerBridgeKeyring]
this.keyringController = new KeyringController({
@@ -197,6 +197,8 @@ module.exports = class MetamaskController extends EventEmitter {
})
this.networkController.on('networkDidChange', () => {
this.balancesController.updateAllBalances()
+ var currentCurrency = this.currencyController.getCurrentCurrency()
+ this.setCurrentCurrency(currentCurrency, function() {})
})
this.balancesController.updateAllBalances()
@@ -1412,10 +1414,13 @@ module.exports = class MetamaskController extends EventEmitter {
* @param {Function} cb - A callback function returning currency info.
*/
setCurrentCurrency (currencyCode, cb) {
+ const { ticker } = this.networkController.getNetworkConfig()
try {
+ this.currencyController.setNativeCurrency(ticker)
this.currencyController.setCurrentCurrency(currencyCode)
this.currencyController.updateConversionRate()
const data = {
+ nativeCurrency: ticker || 'ETH',
conversionRate: this.currencyController.getConversionRate(),
currentCurrency: this.currencyController.getCurrentCurrency(),
conversionDate: this.currencyController.getConversionDate(),
@@ -1454,11 +1459,14 @@ module.exports = class MetamaskController extends EventEmitter {
/**
* A method for selecting a custom URL for an ethereum RPC provider.
* @param {string} rpcTarget - A URL for a valid Ethereum RPC API.
+ * @param {number} chainId - The chainId of the selected network.
+ * @param {string} ticker - The ticker symbol of the selected network.
+ * @param {string} nickname - Optional nickname of the selected network.
* @returns {Promise<String>} - The RPC Target URL confirmed.
*/
- async setCustomRpc (rpcTarget) {
- this.networkController.setRpcTarget(rpcTarget)
- await this.preferencesController.addToFrequentRpcList(rpcTarget)
+ async setCustomRpc (rpcTarget, chainId, ticker = 'ETH', nickname = '') {
+ this.networkController.setRpcTarget(rpcTarget, chainId, ticker, nickname)
+ await this.preferencesController.addToFrequentRpcList(rpcTarget, chainId, ticker, nickname)
return rpcTarget
}