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

* origin/develop: (227 commits)
  Improve UI + content for price difference notifications (#11145)
  Swaps: Create a new swap (#11124)
  Bump @metamask/controllers from 9.0.0 to 9.1.0 (#11150)
  Capture exception instead of throw error in useTransactionDisplayData (#11153)
  Fixing jest component test output errors (#11139)
  Avoid showing  "Gas price extremely low" warning in advanced tab for testnets (#11111)
  @metamask/auto-changelog@2.0.1 (#11140)
  Migrate to new CurrencyRateController (#11005)
  bump allow scripts (#11134)
  Show Sentry CLI output when uploading artifacts (#11100)
  use etherscan-link customBlockExplorer methods with customNetwork usage tracking (#11017)
  Adding notification for updated seed phrase wording (#11131)
  Bumping package.json
  Fix a condition for checking if a token should be added (#11127)
  Removing support survey notification from What's New (#11118)
  Handling custom token decimal fetch failure due to network error (#10956)
  Hide basic tab in advanced gas modal for speedup and cancel when on testnets (#11115)
  Migrate Sentry settings to environment variables (#11085)
  Update eth-ledger-bridge-keyring to v0.5.0 (#11064)
  fix metaRPCClientFactory id handling (#11116)
  ...
feature/default_network_editable
Mark Stacey 4 years ago
commit 203456d4c8
  1. 35
      .circleci/config.yml
  2. 4
      .circleci/scripts/release-bump-manifest-version.sh
  3. 14
      .circleci/scripts/release-commit-version-bump.sh
  4. 6
      .circleci/scripts/release-create-release-pr.sh
  5. 4
      .eslintrc.js
  6. 2
      .gitignore
  7. 8
      .storybook/i18n.js
  8. 18
      .storybook/main.js
  9. 8
      .storybook/preview.js
  10. 1612
      CHANGELOG.md
  11. 33
      app/_locales/am/messages.json
  12. 33
      app/_locales/ar/messages.json
  13. 33
      app/_locales/bg/messages.json
  14. 33
      app/_locales/bn/messages.json
  15. 33
      app/_locales/ca/messages.json
  16. 33
      app/_locales/da/messages.json
  17. 33
      app/_locales/de/messages.json
  18. 33
      app/_locales/el/messages.json
  19. 274
      app/_locales/en/messages.json
  20. 102
      app/_locales/es/messages.json
  21. 48
      app/_locales/es_419/messages.json
  22. 33
      app/_locales/et/messages.json
  23. 33
      app/_locales/fa/messages.json
  24. 33
      app/_locales/fi/messages.json
  25. 33
      app/_locales/fil/messages.json
  26. 33
      app/_locales/fr/messages.json
  27. 33
      app/_locales/he/messages.json
  28. 96
      app/_locales/hi/messages.json
  29. 33
      app/_locales/hr/messages.json
  30. 33
      app/_locales/ht/messages.json
  31. 33
      app/_locales/hu/messages.json
  32. 96
      app/_locales/id/messages.json
  33. 51
      app/_locales/it/messages.json
  34. 102
      app/_locales/ja/messages.json
  35. 33
      app/_locales/kn/messages.json
  36. 82
      app/_locales/ko/messages.json
  37. 33
      app/_locales/lt/messages.json
  38. 33
      app/_locales/lv/messages.json
  39. 33
      app/_locales/ms/messages.json
  40. 33
      app/_locales/no/messages.json
  41. 33
      app/_locales/pl/messages.json
  42. 89
      app/_locales/pt_BR/messages.json
  43. 33
      app/_locales/ro/messages.json
  44. 96
      app/_locales/ru/messages.json
  45. 33
      app/_locales/sk/messages.json
  46. 30
      app/_locales/sl/messages.json
  47. 33
      app/_locales/sr/messages.json
  48. 33
      app/_locales/sv/messages.json
  49. 33
      app/_locales/sw/messages.json
  50. 12
      app/_locales/th/messages.json
  51. 94
      app/_locales/tl/messages.json
  52. 33
      app/_locales/uk/messages.json
  53. 96
      app/_locales/vi/messages.json
  54. 48
      app/_locales/zh_CN/messages.json
  55. 33
      app/_locales/zh_TW/messages.json
  56. 67
      app/images/hardware-wallet-step-2.svg
  57. 26
      app/images/hardware-wallet-step-3.svg
  58. 0
      app/images/plug-in-wallet.svg
  59. 100
      app/images/source-logos-bsc.svg
  60. 116
      app/images/videos/recovery-onboarding/subtitles-en.vtt
  61. BIN
      app/images/videos/recovery-onboarding/video.webm
  62. 1
      app/manifest/_base.json
  63. 2
      app/scripts/account-import-strategies/account-import-strategies.test.js
  64. 6
      app/scripts/contentscript.js
  65. 9
      app/scripts/controllers/app-state.js
  66. 2
      app/scripts/controllers/cached-balances.test.js
  67. 2
      app/scripts/controllers/detect-tokens.test.js
  68. 2
      app/scripts/controllers/ens/index.test.js
  69. 2
      app/scripts/controllers/incoming-transactions.test.js
  70. 2
      app/scripts/controllers/network/network.js
  71. 2
      app/scripts/controllers/network/pending-middleware.test.js
  72. 31
      app/scripts/controllers/preferences.js
  73. 2
      app/scripts/controllers/preferences.test.js
  74. 8
      app/scripts/controllers/swaps.js
  75. 4
      app/scripts/controllers/swaps.test.js
  76. 2
      app/scripts/controllers/token-rates-controller.test.js
  77. 4
      app/scripts/controllers/transactions/index.js
  78. 6
      app/scripts/inpage.js
  79. 67
      app/scripts/lib/ComposableObservableStore.js
  80. 179
      app/scripts/lib/ComposableObservableStore.test.js
  81. 2
      app/scripts/lib/buy-eth-url.test.js
  82. 6
      app/scripts/lib/cleanErrorStack.test.js
  83. 2
      app/scripts/lib/createMetaRPCHandler.test.js
  84. 4
      app/scripts/lib/get-first-preferred-lang-code.js
  85. 2
      app/scripts/lib/message-manager.test.js
  86. 30
      app/scripts/lib/metaRPCClientFactory.js
  87. 56
      app/scripts/lib/metaRPCClientFactory.test.js
  88. 2
      app/scripts/lib/migrator/index.test.js
  89. 2
      app/scripts/lib/nodeify.test.js
  90. 2
      app/scripts/lib/personal-message-manager.test.js
  91. 34
      app/scripts/lib/rpc-method-middleware/handlers/add-ethereum-chain.js
  92. 2
      app/scripts/lib/rpc-method-middleware/handlers/index.js
  93. 97
      app/scripts/lib/rpc-method-middleware/handlers/switch-ethereum-chain.js
  94. 2
      app/scripts/lib/seed-phrase-verifier.test.js
  95. 3
      app/scripts/lib/setupSentry.js
  96. 2
      app/scripts/lib/typed-message-manager.js
  97. 2
      app/scripts/lib/typed-message-manager.test.js
  98. 2
      app/scripts/lib/util.js
  99. 173
      app/scripts/metamask-controller.js
  100. 61
      app/scripts/metamask-controller.test.js
  101. Some files were not shown because too many files have changed in this diff Show More

@ -52,6 +52,9 @@ workflows:
- test-lint-lockfile:
requires:
- prep-deps
- test-lint-changelog:
requires:
- prep-deps
- test-e2e-chrome:
requires:
- prep-build-test
@ -83,6 +86,7 @@ workflows:
- test-lint
- test-lint-shellcheck
- test-lint-lockfile
- test-lint-changelog
- test-unit
- test-unit-global
- validate-source-maps
@ -282,6 +286,33 @@ jobs:
name: lockfile-lint
command: yarn lint:lockfile
test-lint-changelog:
executor: node-browsers
steps:
- checkout
- attach_workspace:
at: .
- when:
condition:
not:
matches:
pattern: /^Version-v(\d+)[.](\d+)[.](\d+)$/
value: << pipeline.git.branch >>
steps:
- run:
name: Validate changelog
command: yarn auto-changelog validate
- when:
condition:
matches:
pattern: /^Version-v(\d+)[.](\d+)[.](\d+)$/
value: << pipeline.git.branch >>
steps:
- run:
name: Validate release candidate changelog
command: yarn auto-changelog validate --rc
test-deps:
executor: node-browsers
steps:
@ -474,7 +505,7 @@ jobs:
at: .
- run:
name: sentry sourcemaps upload
command: yarn sentry:publish
command: SENTRY_ORG=metamask SENTRY_PROJECT=metamask yarn sentry:publish
- run:
name: Create GitHub release
command: |
@ -485,7 +516,7 @@ jobs:
steps:
- add_ssh_keys:
fingerprints:
- "5e:a3:2d:35:b6:25:b5:87:b1:41:11:0d:77:50:96:73"
- "3d:49:29:f4:b2:e8:ea:af:d1:32:eb:2a:fc:15:85:d8"
- checkout
- attach_workspace:
at: .

@ -19,9 +19,7 @@ fi
printf '%s\n' 'Updating the manifest version if needed'
version="${CIRCLE_BRANCH/Version-v/}"
updated_manifest="$(jq ".version = \"$version\"" app/manifest/_base.json)"
printf '%s\n' "$updated_manifest" > app/manifest/_base.json
yarn prettier --write app/manifest/_base.json
yarn version --no-git-tag-version --new-version "${version}"
if [[ -z $(git status --porcelain) ]]
then

@ -16,9 +16,19 @@ then
exit 1
fi
if [[ -z "${GITHUB_TOKEN:-}" ]]
then
printf '%s\n' 'GITHUB_TOKEN environment variable must be set'
exit 1
elif [[ -z "${GITHUB_TOKEN_USER:-}" ]]
then
printf '%s\n' 'GITHUB_TOKEN_USER environment variable must be set'
exit 1
fi
printf '%s\n' 'Commit the manifest version and changelog if the manifest has changed'
if git diff --quiet app/manifest/_base.json;
if git diff --quiet package.json;
then
printf '%s\n' 'No manifest changes to commit'
exit 0
@ -28,7 +38,7 @@ git \
-c user.name='MetaMask Bot' \
-c user.email='metamaskbot@users.noreply.github.com' \
commit --message "${CIRCLE_BRANCH/-/ }" \
CHANGELOG.md app/manifest/_base.json
CHANGELOG.md package.json
repo_slug="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME"
git push "https://$GITHUB_TOKEN_USER:$GITHUB_TOKEN@github.com/$repo_slug" "$CIRCLE_BRANCH"

@ -16,12 +16,6 @@ then
exit 1
fi
if [[ -z "${GITHUB_TOKEN:-}" ]]
then
printf '%s\n' 'GITHUB_TOKEN environment variable must be set'
exit 1
fi
function install_github_cli ()
{
printf '%s\n' 'Installing hub CLI'

@ -108,7 +108,7 @@ module.exports = {
},
{
files: ['**/*.test.js'],
excludedFiles: ['ui/**/*.test.js', 'ui/app/__mocks__/*.js'],
excludedFiles: ['ui/**/*.test.js', 'ui/__mocks__/*.js'],
extends: ['@metamask/eslint-config-mocha'],
rules: {
'mocha/no-setup-in-describe': 'off',
@ -125,7 +125,7 @@ module.exports = {
},
},
{
files: ['ui/**/*.test.js', 'ui/app/__mocks__/*.js'],
files: ['ui/**/*.test.js', 'ui/__mocks__/*.js'],
extends: ['@metamask/eslint-config-jest'],
rules: {
'jest/no-restricted-matchers': 'off',

2
.gitignore vendored

@ -39,7 +39,7 @@ test-builds
build-artifacts
#ignore css output and sourcemaps
ui/app/css/output/
ui/css/output/
notes.txt

@ -1,12 +1,12 @@
import React, { Component, createContext, useMemo } from 'react';
import PropTypes from 'prop-types';
import { getMessage } from '../ui/app/helpers/utils/i18n-helper';
import { I18nContext } from '../ui/app/contexts/i18n';
import { getMessage } from '../ui/helpers/utils/i18n-helper';
import { I18nContext } from '../ui/contexts/i18n';
export { I18nContext }
export { I18nContext };
export const I18nProvider = (props) => {
const { currentLocale, current, en } = props
const { currentLocale, current, en } = props;
const t = useMemo(() => {
return (key, ...args) =>

@ -1,9 +1,9 @@
const path = require('path')
const path = require('path');
const CopyWebpackPlugin = require('copy-webpack-plugin')
const CopyWebpackPlugin = require('copy-webpack-plugin');
module.exports = {
stories: ['../ui/app/**/*.stories.js'],
stories: ['../ui/**/*.stories.js'],
addons: [
'@storybook/addon-knobs',
'@storybook/addon-actions',
@ -12,7 +12,7 @@ module.exports = {
'./i18n-party-addon/register.js',
],
webpackFinal: async (config) => {
config.module.strictExportPresence = true
config.module.strictExportPresence = true;
config.module.rules.push({
test: /\.scss$/,
loaders: [
@ -31,12 +31,12 @@ module.exports = {
sourceMap: true,
implementation: require('sass'),
sassOptions: {
includePaths: ['ui/app/css/'],
includePaths: ['ui/css/'],
},
},
},
],
})
});
config.plugins.push(
new CopyWebpackPlugin({
patterns: [
@ -51,7 +51,7 @@ module.exports = {
},
],
}),
)
return config
);
return config;
},
}
};

@ -3,12 +3,12 @@ import { addDecorator, addParameters } from '@storybook/react';
import { useGlobals } from '@storybook/api';
import { withKnobs } from '@storybook/addon-knobs';
import { Provider } from 'react-redux';
import configureStore from '../ui/app/store/store';
import '../ui/app/css/index.scss';
import configureStore from '../ui/store/store';
import '../ui/css/index.scss';
import localeList from '../app/_locales/index.json';
import * as allLocales from './locales';
import { I18nProvider, LegacyI18nProvider } from './i18n';
import testData from './test-data.js'
import testData from './test-data.js';
addParameters({
backgrounds: {
@ -41,7 +41,7 @@ const styles = {
alignItems: 'center',
};
const store = configureStore(testData)
const store = configureStore(testData);
const metamaskDecorator = (story, context) => {
const currentLocale = context.globals.locale;

File diff suppressed because it is too large Load Diff

@ -308,9 +308,6 @@
"done": {
"message": "ተጠናቅቋል"
},
"dontHaveAHardwareWallet": {
"message": "የሃርድዌር ቋት የለዎትም?"
},
"downloadGoogleChrome": {
"message": "Google Chrome አውርድ"
},
@ -443,9 +440,6 @@
"message": "Ether ከቧንቧ በ$1ያግኙ",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "እገዛ ያግኙ።"
},
"getStarted": {
"message": "አስጀማሪ መመሪያ"
},
@ -467,9 +461,6 @@
"hardwareWalletsMsg": {
"message": "ከ MetaMask ጋር ሊጠቀሙበት የሚፈልጉትን የሃርድዌር ቋት ይምረጡ"
},
"havingTroubleConnecting": {
"message": "ግንኙነት መፍጠር ላይ ተቸግረዋል?"
},
"here": {
"message": "እዚህ",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -698,9 +689,6 @@
"optionalCurrencySymbol": {
"message": "ምልክት (አማራጭ)"
},
"orderOneHere": {
"message": "ትሬዞር ወይም ሌጀር በማዘዝ ገንዘብዎን በቀዝቃዛ ማስቀመጫ ውስጥ ያቆዩ"
},
"origin": {
"message": "መነሻ"
},
@ -760,9 +748,6 @@
"readdToken": {
"message": "በመለያ አማራጮችዎ ምናሌ ውስጥ ወደ “ተለዋጭ ስም አክል” በመግባት ለወደፊቱ ይህን ተለዋጭ ስም መልሰው ማከል ይችላሉ።"
},
"readyToConnect": {
"message": "ለመገናኘት ዝግጁ ነዎት?"
},
"recents": {
"message": "የቅርብ ጊዜያት"
},
@ -985,24 +970,6 @@
"stateLogsDescription": {
"message": "ስቴት መዛግብት ይፋዊ የመለያ አድራሻዎትንና የተላኩ ግብይቶችን ይይዛሉ።"
},
"step1HardwareWallet": {
"message": "1. ከሃርድዌር ቋት ጋር ይገናኙ"
},
"step1HardwareWalletMsg": {
"message": "የሃርድዌር ቋትዎን በቀጥታ ከኮምፒዩተርዎ ጋር ያገናኙ።"
},
"step2HardwareWallet": {
"message": "2. መለያ ምረጥ"
},
"step2HardwareWalletMsg": {
"message": "ለማየት የሚፈልጉትን መለያ ይምረጡ። በአንድ ጊዜ መምረጥ የሚችሉት አንድ ብቻ ነው።"
},
"step3HardwareWallet": {
"message": "3. dApps እና ሌሎችን መጠቀም ይጀምሩ!"
},
"step3HardwareWalletMsg": {
"message": "የሐርድዌር መለያዎን ከየትኛውም የ Ethereum መለያ ጋር በሚጠቀሙት መንገድ ይጠቀሙ። ወደ dApps በመለያ ይግቡ፣ Eth ይላኩ፣ የ ERC20 ተለዋጭ ስሞችና እንደ CryptoKitties ያሉ የማይለወጡ ተለዋጭ ስሞችን ይግዙና ያከማቹ።"
},
"storePhrase": {
"message": "ይህን ሐረግ እንደ 1Password ባለ የይለፍ ቃል አስተዳዳሪ ውስጥ ያስቀምጡ።"
},

@ -308,9 +308,6 @@
"done": {
"message": "تم"
},
"dontHaveAHardwareWallet": {
"message": "أليس لديك محفظة أجهزة؟"
},
"downloadGoogleChrome": {
"message": "تنزيل جوجل كروم"
},
@ -439,9 +436,6 @@
"message": "احصل على الأثير من صنبور مقابل $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "احصل على الدعم."
},
"getStarted": {
"message": "البدء"
},
@ -463,9 +457,6 @@
"hardwareWalletsMsg": {
"message": "حدد محفظة أجهزة ترغب في استخدامها مع MetaMask"
},
"havingTroubleConnecting": {
"message": "هل تواجه مشكلة في الاتصال؟"
},
"here": {
"message": "هنا",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -694,9 +685,6 @@
"optionalCurrencySymbol": {
"message": "الرمز (اختياري)"
},
"orderOneHere": {
"message": "اطلب Trezor أو Ledger وحافظ على أموالك في مخزن حصين"
},
"origin": {
"message": "الأصل"
},
@ -756,9 +744,6 @@
"readdToken": {
"message": "يمكنك إضافة هذه العملة الرمزية مرة أخرى في المستقبل من خلال الانتقال إلى \"إضافة عملة رمزية\" في قائمة خيارات الحسابات الخاصة بك."
},
"readyToConnect": {
"message": "هل أنت جاهز للاتصال؟"
},
"recents": {
"message": "الحديث"
},
@ -981,24 +966,6 @@
"stateLogsDescription": {
"message": "تحتوي سجلات الحالة على عناوين حسابك العامة والمعاملات المرسلة."
},
"step1HardwareWallet": {
"message": "1. قم بتوصيل محفظة Hardware Wallet"
},
"step1HardwareWalletMsg": {
"message": "قم بتوصيل محفظة الأجهزة الخاصة بك مباشرة إلى جهاز الكمبيوتر الخاص بك."
},
"step2HardwareWallet": {
"message": "2. حدد حساباً"
},
"step2HardwareWalletMsg": {
"message": "حدد الحساب الذي تريد عرضه. يمكنك اختيار حساب واحد فقط في المرة الواحدة."
},
"step3HardwareWallet": {
"message": "3. ابدأ في استخدام dApps وأكثر!"
},
"step3HardwareWalletMsg": {
"message": "استخدم حساب الجهاز الخاص بك كما تفعل مع أي حساب Ethereum. قم بتسجيل الدخول إلى dApps ، إرسال Eth ، قم بشراء وتخزين عملات ERC20 الرمزية والعملات الرمزية الغير قابلة للاستبدال مثل CryptoKitties."
},
"storePhrase": {
"message": "احتفظ بهذه الجملة في مدير كلمات مرور مثل 1Password."
},

@ -308,9 +308,6 @@
"done": {
"message": "Готово"
},
"dontHaveAHardwareWallet": {
"message": "Нямате хардуерен портфейл?"
},
"downloadGoogleChrome": {
"message": "Изтеглете Google Chrome"
},
@ -439,9 +436,6 @@
"message": "Вземете Ether от фосет за $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Получете помощ."
},
"getStarted": {
"message": "Първи стъпки"
},
@ -463,9 +457,6 @@
"hardwareWalletsMsg": {
"message": "Изберете хардуерен портфейл, който искате да използвате с MetaMask"
},
"havingTroubleConnecting": {
"message": "Имате проблеми със свързването?"
},
"here": {
"message": "тук",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -697,9 +688,6 @@
"optionalCurrencySymbol": {
"message": "Символ (по избор)"
},
"orderOneHere": {
"message": "Поръчайте Trezor или Ledger и запазете средствата си "
},
"origin": {
"message": "Произход"
},
@ -759,9 +747,6 @@
"readdToken": {
"message": "Можете да добавите този жетон в бъдеще, като отидете на „Добавяне на жетон“ в менюто с опции на акаунти."
},
"readyToConnect": {
"message": "Готови ли сте да се свържете? "
},
"recents": {
"message": "Скорошни"
},
@ -984,24 +969,6 @@
"stateLogsDescription": {
"message": "Държавните дневници съдържат адресите на публичните ви акаунти и изпратените транзакции."
},
"step1HardwareWallet": {
"message": "1. Свържете хардуерния портфейл"
},
"step1HardwareWalletMsg": {
"message": "Свържете хардуерния си портфейл директно към компютъра."
},
"step2HardwareWallet": {
"message": "2. Изберете акаунт"
},
"step2HardwareWalletMsg": {
"message": "Изберете акаунта, който искате да видите. В даден момент можете да изберете само един."
},
"step3HardwareWallet": {
"message": "3. Започнете да използвате dApps и други!"
},
"step3HardwareWalletMsg": {
"message": "Използвайте хардуерния си акаунт, както бихте правили с всеки акаунт в Ethereum. Влезте в dApps, изпратете Eth, купете и съхранявайте жетони ERC20 и незаменими жетони като CryptoKitties."
},
"storePhrase": {
"message": "Съхранявайте тази фраза в мениджър на пароли като 1Password."
},

@ -308,9 +308,6 @@
"done": {
"message": "সমপনন "
},
"dontHaveAHardwareWallet": {
"message": "একটিডওয়র ওয়ট নই?"
},
"downloadGoogleChrome": {
"message": "Google Chrome ডউনলড করন"
},
@ -443,9 +440,6 @@
"message": "$1 এর জনয একটি ফসট থ ইথর পন",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "সহয়তন।"
},
"getStarted": {
"message": "শ করন"
},
@ -467,9 +461,6 @@
"hardwareWalletsMsg": {
"message": "আপনি MetaMask এর সযবহর করতন এমন একটিডওয়র ওয়ট নিচন করন"
},
"havingTroubleConnecting": {
"message": "সগ করত সমস হচ?"
},
"here": {
"message": "এখ",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -701,9 +692,6 @@
"optionalCurrencySymbol": {
"message": "পরতক (ঐচিক)"
},
"orderOneHere": {
"message": "একটি Trezor বর অরর করন এব আপনর তহবিলগিম ঘরন"
},
"origin": {
"message": "উৎস"
},
@ -763,9 +751,6 @@
"readdToken": {
"message": "আপনি আপনর অউনটস বিকলর ম \"টনগিগ করন\" এ গি ভবিযত আবর এই টনটিগ করতরবন। "
},
"readyToConnect": {
"message": "সগ করর জনয পরসত?"
},
"recents": {
"message": "সরতিকগি"
},
@ -988,24 +973,6 @@
"stateLogsDescription": {
"message": "সট লগগি আপনর পবলিক অউনর ঠি এবরণ করর লনদনগি আছ।"
},
"step1HardwareWallet": {
"message": "1. হডওয়র ওয়ট সত করন"
},
"step1HardwareWalletMsg": {
"message": "আপনর হডওয়র ওয়ট সরসরি আপনর কমিউটর সত করন।"
},
"step2HardwareWallet": {
"message": "2. একটিউনট নিচন করন"
},
"step2HardwareWalletMsg": {
"message": "আপনিউনটটিখতন সিিচন করন। আপনি একই সময়র একটিই বিরবন। "
},
"step3HardwareWallet": {
"message": "3. dApps এব আরও বযবহর কর করন!"
},
"step3HardwareWalletMsg": {
"message": "আপনি Ethereum অউনট যমন বযবহর করন সইভ আপনর হডওয়র অউনট বযবহর করন। dApps এ লগইন করন, Eth পন, ERC20 টন এব CryptoKitties এর মত পরসপর বিিময়যয নয় এমন টনগিরয় ও সরকষণ করন। "
},
"storePhrase": {
"message": "এই বশটি 1Password এর মত একটিসওয়ড পরিলকরকষণ করন। "
},

@ -305,9 +305,6 @@
"done": {
"message": "Fet"
},
"dontHaveAHardwareWallet": {
"message": "No tens una cartera de hardware?"
},
"downloadGoogleChrome": {
"message": "Descarrega Google Chrome"
},
@ -433,9 +430,6 @@
"message": "Aconsegueix Ether d'una aixeta per $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Aconsegueix ajuda."
},
"getStarted": {
"message": "Comença"
},
@ -454,9 +448,6 @@
"hardwareWalletsMsg": {
"message": "Selecciona una cartera de hardware que t'agradaria utilizar amb MetaMask"
},
"havingTroubleConnecting": {
"message": "Problemes per connectar?"
},
"here": {
"message": "aquí",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -685,9 +676,6 @@
"optionalCurrencySymbol": {
"message": "Símbol (opcional)"
},
"orderOneHere": {
"message": "Demana un Trezor o un Ledger i congela les teves inversions"
},
"origin": {
"message": "Origen"
},
@ -744,9 +732,6 @@
"readdToken": {
"message": "Pots tornar a afegir aquesta fitxa en el futur anant a \"Afegir fitxa\" al menu d'opcions dels teus comptes."
},
"readyToConnect": {
"message": "Estàs llest per a connectar?"
},
"recipientAddress": {
"message": "Adreça del destinatari"
},
@ -966,24 +951,6 @@
"stateLogsDescription": {
"message": "Els registres d'estat contenen les teves adreces de compte públiques i les transaccions enviades."
},
"step1HardwareWallet": {
"message": "1. Connectar Moneder Hardware"
},
"step1HardwareWalletMsg": {
"message": "Connecta la teva cartera de hardware directament al teu ordinador."
},
"step2HardwareWallet": {
"message": "2. Selecciona un Compte"
},
"step2HardwareWalletMsg": {
"message": "Selecciona el compte que vols veure. Només pots seleccionar 1 cada cop."
},
"step3HardwareWallet": {
"message": "3. Comença a utilitzar dApps i altres!"
},
"step3HardwareWalletMsg": {
"message": "Fes servir el teu compte de hardware com ho faries amb qualsevol compte Ethereum. Inicia sessió a DApps, envia Eth, compra i emmagatzema fitxes ERC20 i fitxes No Fungibles com CryptoKitties."
},
"storePhrase": {
"message": "Guarda aquesta frase a un gestor de contrasenyes com Contrasenya 1"
},

@ -308,9 +308,6 @@
"done": {
"message": "Færdig"
},
"dontHaveAHardwareWallet": {
"message": "Har du ikke en hardware-pung?"
},
"downloadGoogleChrome": {
"message": "Hent Google Chrome"
},
@ -439,9 +436,6 @@
"message": "Hent Ether fra en hane til $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Få hjælp"
},
"getStarted": {
"message": "Kom godt i gang"
},
@ -460,9 +454,6 @@
"hardwareWalletsMsg": {
"message": "Vælg en hardware-pung du vil bruge med MetaMask"
},
"havingTroubleConnecting": {
"message": "Har du problemer med at oprette forbindelse?"
},
"here": {
"message": "her",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -685,9 +676,6 @@
"optionalCurrencySymbol": {
"message": "Symbol (valgfrit)"
},
"orderOneHere": {
"message": "Bestil en Trezor eller Ledger og frys dine midler ned"
},
"parameters": {
"message": "Parametre"
},
@ -744,9 +732,6 @@
"readdToken": {
"message": "Du kan tilføje denne token i fremtiden, ved at gå til \"Tilføj token\" under dine valgmenuen for dine konti."
},
"readyToConnect": {
"message": "Klar til at oprette forbindelse?"
},
"recents": {
"message": "Seneste"
},
@ -966,24 +951,6 @@
"stateLogsDescription": {
"message": "Status-logføringer indeholder dine offentlige kontoadresser og afsendte transaktioner."
},
"step1HardwareWallet": {
"message": "1. Tilslut hardware-tegnebog"
},
"step1HardwareWalletMsg": {
"message": "Forbind din hardware-tegnebog direkte med din computer."
},
"step2HardwareWallet": {
"message": "2. Vælg en konto"
},
"step2HardwareWalletMsg": {
"message": "Vælg den konto du ønsker at se. Du kan kun vælge én ad gangen."
},
"step3HardwareWallet": {
"message": "3. Begynd at bruge dApps og mere!"
},
"step3HardwareWalletMsg": {
"message": "Brug din hardwarekonto som du ville gøre med enhver Ethereum-konto. Log ind på dApps, send Eth, køb og opbevar ERC20-tokens og ikke-ombyttelige tokens som CryptoKitties."
},
"storePhrase": {
"message": "Gem denne sætning i en adgangskodeadministrator som 1Password."
},

@ -296,9 +296,6 @@
"done": {
"message": "Fertig"
},
"dontHaveAHardwareWallet": {
"message": "Sie haben kein Hardware-Wallet?"
},
"downloadGoogleChrome": {
"message": "Google Chrome herunterladen"
},
@ -431,9 +428,6 @@
"message": "Ether für $1 vom Faucet holen",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Erhalten Sie Hilfe."
},
"getStarted": {
"message": "Erste Schritte"
},
@ -455,9 +449,6 @@
"hardwareWalletsMsg": {
"message": "Wählen Sie ein Hardware-Wallet aus, das Sie mit MetaMask verwenden möchten"
},
"havingTroubleConnecting": {
"message": "Verbindungsprobleme?"
},
"here": {
"message": "hier",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -674,9 +665,6 @@
"optionalBlockExplorerUrl": {
"message": "Block-Explorer-URL (optional)"
},
"orderOneHere": {
"message": "Bestellen Sie ein Trezor oder Ledger und legen Sie Ihr Geld auf Eis"
},
"origin": {
"message": "Ursprung"
},
@ -732,9 +720,6 @@
"readdToken": {
"message": "Du kannst diesen Token immer erneut hinzufügen, indem du in den Menüpunkt \"Token hinzufügen\" in den Einstellungen deines Accounts gehst."
},
"readyToConnect": {
"message": "Bereit für die Verbindung?"
},
"recents": {
"message": "Letzte"
},
@ -957,24 +942,6 @@
"stateLogsDescription": {
"message": "Statelogs zeigen die Public Adresse und die gesendeten Transaktionen deines Accounts."
},
"step1HardwareWallet": {
"message": "1. Hardware-Wallet verknüpfen"
},
"step1HardwareWalletMsg": {
"message": "Verknüpfen Sie Ihr Hardware-Wallet direkt mit Ihrem Computer."
},
"step2HardwareWallet": {
"message": "2. Ein Konto auswählen"
},
"step2HardwareWalletMsg": {
"message": "Wählen Sie das Konto aus, das Sie anzeigen wollen. Sie können nur eines zur Zeit wählen."
},
"step3HardwareWallet": {
"message": "3. Erste Schritte mit dApps und mehr!"
},
"step3HardwareWalletMsg": {
"message": "Verwenden Sie Ihr Hardware-Konto so wie jedes Ethereum-Konto. Loggen Sie sich bei dApps ein, senden Sie Eth, kaufen und speichern Sie ERC20-Token und Nicht-Fungible-Token wie CryptoKitties."
},
"storePhrase": {
"message": "Speichern Sie diesen Schlüssel in einem Passwortmanager wie 1Password."
},

@ -305,9 +305,6 @@
"done": {
"message": "Τέλος"
},
"dontHaveAHardwareWallet": {
"message": "Δεν έχετε πορτοφόλι υλικού;"
},
"downloadGoogleChrome": {
"message": "Κατεβάστε το Google Chrome"
},
@ -440,9 +437,6 @@
"message": "Πάρτε Ether από μια πηγή για το $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Πάρτε Βοήθεια."
},
"getStarted": {
"message": "Έναρξη"
},
@ -464,9 +458,6 @@
"hardwareWalletsMsg": {
"message": "Επιλέξτε ένα πορτοφόλι εξοπλισμού το οποίο θέλετε να χρησιμοποιήσετε με το MetaMask"
},
"havingTroubleConnecting": {
"message": "Δυσκολεύεστε να συνδεθείτε;"
},
"here": {
"message": "εδώ",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -698,9 +689,6 @@
"optionalCurrencySymbol": {
"message": "Σύμβολο (προαιρετικό)"
},
"orderOneHere": {
"message": "Παραγγείλετε ένα Trezor ή Ledger και κρατήστε τα χρήματά σας σε παγωμένη αποθήκευση"
},
"origin": {
"message": "Προέλευση"
},
@ -760,9 +748,6 @@
"readdToken": {
"message": "Μπορείτε να προσθέσετε ξανά αυτό το διακριτικό στο μέλλον μεταβαίνοντας στο \"Πρόσθεση διακριτικού\" στο μενού επιλογών των λογαριασμών σας."
},
"readyToConnect": {
"message": "Έτοιμοι να Συνδεθείτε;"
},
"recents": {
"message": "Πρόσφατα"
},
@ -985,24 +970,6 @@
"stateLogsDescription": {
"message": "Τα αρχεία καταγραφής κατάστασης περιέχουν τις διευθύνσεις του δημόσιου λογαριασμού σας και τις συναλλαγές οι οποίες έχουν αποσταλεί."
},
"step1HardwareWallet": {
"message": "1. Συνδέστε το Πορτοφόλι Εξοπλισμού"
},
"step1HardwareWalletMsg": {
"message": "Συνδέστε το πορτοφόλι υλικού απευθείας στον υπολογιστή σας."
},
"step2HardwareWallet": {
"message": "2. Επιλέξτε ένα Λογαριασμό"
},
"step2HardwareWalletMsg": {
"message": "Επιλέξτε τον λογαριασμό που θέλετε να δείτε. Μπορείτε να επιλέξετε έναν μόνο κάθε φορά."
},
"step3HardwareWallet": {
"message": "3. Ξεκινήστε να χρησιμοποιείτε το dApps και άλλα!"
},
"step3HardwareWalletMsg": {
"message": "Χρησιμοποιήστε τον λογαριασμό εξοπλισμού σας όπως θα κάνατε με οποιονδήποτε λογαριασμό του Ethereum. Συνδεθείτε στο dApps, στείλτε το Eth, αγοράστε και αποθηκεύστε ERC20 tokens και Non-Fungible tokens όπως το CryptoKitties."
},
"storePhrase": {
"message": "Αποθηκεύστε αυτήν τη φράση σε έναν διαχειριστή κωδικών πρόσβασης όπως το 1Password."
},

@ -486,7 +486,7 @@
"message": "Some of your account data was backed up during a previous installation of MetaMask. This could include your settings, contacts, and tokens. Would you like to restore this data now?"
},
"decimal": {
"message": "Decimals of Precision"
"message": "Token Decimal"
},
"decimalsMustZerotoTen": {
"message": "Decimals must be at least 0, and not over 36."
@ -556,12 +556,18 @@
"dismiss": {
"message": "Dismiss"
},
"dismissReminderDescriptionField": {
"message": "Turn this on to dismiss the recovery phrase backup reminder message. We highly recommend that you back up your Secret Recovery Phrase to avoid loss of funds"
},
"dismissReminderField": {
"message": "Dismiss recovery phrase backup reminder"
},
"domain": {
"message": "Domain"
},
"done": {
"message": "Done"
},
"dontHaveAHardwareWallet": {
"message": "Don’t have a hardware wallet?"
},
"dontShowThisAgain": {
"message": "Don't show this again"
},
@ -600,7 +606,7 @@
"message": "Request encryption public key"
},
"endOfFlowMessage1": {
"message": "You passed the test - keep your seedphrase safe, it's your responsibility!"
"message": "You passed the test - keep your Secret Recovery Phrase safe, it's your responsibility!"
},
"endOfFlowMessage10": {
"message": "All Done"
@ -615,17 +621,17 @@
"message": "Never share the phrase with anyone."
},
"endOfFlowMessage5": {
"message": "Be careful of phishing! MetaMask will never spontaneously ask for your seed phrase."
"message": "Be careful of phishing! MetaMask will never spontaneously ask for your Secret Recovery Phrase."
},
"endOfFlowMessage6": {
"message": "If you need to back up your seed phrase again, you can find it in Settings -> Security."
"message": "If you need to back up your Secret Recovery Phrase again, you can find it in Settings -> Security."
},
"endOfFlowMessage7": {
"message": "If you ever have questions or see something fishy, contact our support $1.",
"description": "$1 is a clickable link with text defined by the 'here' key. The link will open to a form where users can file support tickets."
},
"endOfFlowMessage8": {
"message": "MetaMask cannot recover your seedphrase."
"message": "MetaMask cannot recover your Secret Recovery Phrase."
},
"endOfFlowMessage9": {
"message": "Learn more."
@ -687,6 +693,9 @@
"estimatedProcessingTimes": {
"message": "Estimated Processing Times"
},
"ethGasPriceFetchWarning": {
"message": "Backup gas price is provided as the main gas estimation service is unavailable right now."
},
"eth_accounts": {
"message": "View the addresses of your permitted accounts (required)",
"description": "The description for the `eth_accounts` permission"
@ -783,6 +792,9 @@
"gasPriceExtremelyLow": {
"message": "Gas Price Extremely Low"
},
"gasPriceFetchFailed": {
"message": "Gas price estimation failed due to network error."
},
"gasPriceInfoTooltipContent": {
"message": "Gas price specifies the amount of Ether you are willing to pay for each unit of gas."
},
@ -810,9 +822,6 @@
"message": "Get Ether from a faucet for the $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Get Help."
},
"getStarted": {
"message": "Get Started"
},
@ -832,14 +841,14 @@
"message": "(legacy)",
"description": "Text representing the MEW path"
},
"hardwareWalletSupportLinkConversion": {
"message": "click here"
},
"hardwareWallets": {
"message": "Connect a hardware wallet"
},
"hardwareWalletsMsg": {
"message": "Select a hardware wallet you'd like to use with MetaMask"
},
"havingTroubleConnecting": {
"message": "Having trouble connecting?"
"message": "Select a hardware wallet you'd like to use with MetaMask."
},
"here": {
"message": "here",
@ -872,13 +881,13 @@
"message": "Import Account"
},
"importAccountLinkText": {
"message": "import using seed phrase"
"message": "import using Secret Recovery Phrase"
},
"importAccountMsg": {
"message": " Imported accounts will not be associated with your originally created MetaMask account seedphrase. Learn more about imported accounts "
"message": " Imported accounts will not be associated with your originally created MetaMask account Secret Recovery Phrase. Learn more about imported accounts "
},
"importAccountSeedPhrase": {
"message": "Import an account with seed phrase"
"message": "Import an account with Secret Recovery Phrase"
},
"importAccountText": {
"message": "or $1",
@ -888,7 +897,7 @@
"message": "Import wallet"
},
"importYourExisting": {
"message": "Import your existing wallet using a seed phrase"
"message": "Import your existing wallet using a Secret Recovery Phrase"
},
"imported": {
"message": "Imported",
@ -958,7 +967,7 @@
"message": "Invalid RPC URL"
},
"invalidSeedPhrase": {
"message": "Invalid seed phrase"
"message": "Invalid Secret Recovery Phrase"
},
"ipfsGateway": {
"message": "IPFS Gateway"
@ -988,6 +997,21 @@
"ledgerAccountRestriction": {
"message": "You need to make use your last account before you can add a new one."
},
"ledgerLiveAdvancedSetting": {
"message": "Use Ledger Live"
},
"ledgerLiveAdvancedSettingDescription": {
"message": "The new Ledger Live bridge allows you to more easily use your Ledger. Only available in Chrome."
},
"ledgerLiveApp": {
"message": "Ledger Live App"
},
"ledgerLocked": {
"message": "Cannot connect to Ledger device. Please make sure your device is unlocked and Ethereum app is opened."
},
"ledgerTimeout": {
"message": "Ledger Live is taking too long to respond or connection timeout. Make sure Ledger Live app is opened and your device is unlocked."
},
"letsGoSetUp": {
"message": "Yes, let’s get set up!"
},
@ -1018,6 +1042,9 @@
"mainnet": {
"message": "Ethereum Mainnet"
},
"makeAnotherSwap": {
"message": "Create a new swap"
},
"max": {
"message": "Max"
},
@ -1096,6 +1123,9 @@
"myAccounts": {
"message": "My Accounts"
},
"name": {
"message": "Name"
},
"needEtherInWallet": {
"message": "To interact with decentralized applications using MetaMask, you’ll need Ether in your wallet."
},
@ -1194,7 +1224,7 @@
"message": "No address has been set for this name."
},
"noAlreadyHaveSeed": {
"message": "No, I already have a seed phrase"
"message": "No, I already have a Secret Recovery Phrase"
},
"noConversionRateAvailable": {
"message": "No Conversion Rate Available"
@ -1237,18 +1267,6 @@
"message": "Swapping on mobile is here!",
"description": "Title for a notification in the 'See What's New' popup. Tells users that they can now use MetaMask Swaps on Mobile."
},
"notifications2ActionText": {
"message": "Start survey",
"description": "The 'call to action' label on the button, or link, of the 'Help improve MetaMask' 'See What's New' notification. Upon clicking, users will be taken to an external page where they can complete a survey."
},
"notifications2Description": {
"message": "Please share your experience in this 5 minute survey.",
"description": "Description of a notification in the 'See What's New' popup. Further clarifies how the users can help: by completing a 5 minute survey about MetaMask."
},
"notifications2Title": {
"message": "Help improve MetaMask",
"description": "Title for a notification in the 'See What's New' popup. Asks users to take action to make MetaMask better."
},
"notifications3ActionText": {
"message": "Read more",
"description": "The 'call to action' on the button, or link, of the 'Stay secure' notification. Upon clicking, users will be taken to a page about security on the metamask support website."
@ -1261,6 +1279,22 @@
"message": "Stay secure",
"description": "Title for a notification in the 'See What's New' popup. Encourages users to consider security."
},
"notifications4ActionText": {
"message": "Start swapping",
"description": "The 'call to action' on the button, or link, of the 'Swap on Binance Smart Chain!' notification. Upon clicking, users will be taken to a page where then can swap tokens on Binance Smart Chain."
},
"notifications4Description": {
"message": "Get the best prices on token swaps right inside your wallet. MetaMask now connects you to multiple decentralized exchange aggregators and professional market makers on Binance Smart Chain.",
"description": "Description of a notification in the 'See What's New' popup."
},
"notifications4Title": {
"message": "Swap on Binance Smart Chain",
"description": "Title for a notification in the 'See What's New' popup. Encourages users to do swaps on Binance Smart Chain."
},
"notifications5Description": {
"message": "Your \"Seed Phrase\" is now called your \"Secret Recovery Phrase.\"",
"description": "Description of a notification in the 'See What's New' popup. Describes the seed phrase wording update."
},
"ofTextNofM": {
"message": "of"
},
@ -1295,9 +1329,6 @@
"optionalCurrencySymbol": {
"message": "Currency Symbol (optional)"
},
"orderOneHere": {
"message": "Order a Trezor or Ledger and keep your funds in cold storage"
},
"origin": {
"message": "Origin"
},
@ -1370,6 +1401,9 @@
"provide": {
"message": "Provide"
},
"publicAddress": {
"message": "Public Address"
},
"queue": {
"message": "Queue"
},
@ -1379,9 +1413,6 @@
"readdToken": {
"message": "You can add this token back in the future by going to “Add token” in your accounts options menu."
},
"readyToConnect": {
"message": "Ready to Connect?"
},
"receive": {
"message": "Receive"
},
@ -1419,7 +1450,7 @@
"message": "Remove account"
},
"removeAccountDescription": {
"message": "This account will be removed from your wallet. Please make sure you have the original seed phrase or private key for this imported account before continuing. You can import or create accounts again from the account drop-down. "
"message": "This account will be removed from your wallet. Please make sure you have the original Secret Recovery Phrase or private key for this imported account before continuing. You can import or create accounts again from the account drop-down. "
},
"requestsAwaitingAcknowledgement": {
"message": "requests waiting to be acknowledged"
@ -1434,13 +1465,13 @@
"message": "Reset Account"
},
"resetAccountDescription": {
"message": "Resetting your account will clear your transaction history. This will not change the balances in your accounts or require you to re-enter your seed phrase."
"message": "Resetting your account will clear your transaction history. This will not change the balances in your accounts or require you to re-enter your Secret Recovery Phrase."
},
"restore": {
"message": "Restore"
},
"restoreAccountWithSeed": {
"message": "Restore your Account with Seed Phrase"
"message": "Restore your Account with Secret Recovery Phrase"
},
"restoreWalletPreferences": {
"message": "A backup of your data from $1 has been found. Would you like to restore your wallet preferences?",
@ -1453,13 +1484,13 @@
"message": "A token here reuses a symbol from another token you watch, this can be confusing or deceptive."
},
"revealSeedWords": {
"message": "Reveal Seed Phrase"
"message": "Reveal Secret Recovery Phrase"
},
"revealSeedWordsDescription": {
"message": "If you ever change browsers or move computers, you will need this seed phrase to access your accounts. Save them somewhere safe and secret."
"message": "If you ever change browsers or move computers, you will need this Secret Recovery Phrase to access your accounts. Save them somewhere safe and secret."
},
"revealSeedWordsTitle": {
"message": "Seed Phrase"
"message": "Secret Recovery Phrase"
},
"revealSeedWordsWarning": {
"message": "These words can be used to steal all your accounts."
@ -1519,16 +1550,52 @@
"message": "Security & Privacy"
},
"securitySettingsDescription": {
"message": "Privacy settings and wallet seed phrase"
"message": "Privacy settings and wallet Secret Recovery Phrase"
},
"seedPhraseIntroSidebarBulletFour": {
"message": "Write down and store in multiple secret places."
},
"seedPhraseIntroSidebarBulletOne": {
"message": "Save in a password manager"
},
"seedPhraseIntroSidebarBulletThree": {
"message": "Store in a safe-deposit box."
},
"seedPhraseIntroSidebarBulletTwo": {
"message": "Store in a bank vault."
},
"seedPhraseIntroSidebarCopyOne": {
"message": "Your recovery phrase is the “master key” to your wallet and funds."
},
"seedPhraseIntroSidebarCopyThree": {
"message": "If someone asks for your recovery phrase, they are most likely trying to scam you."
},
"seedPhraseIntroSidebarCopyTwo": {
"message": "Never, ever share your recovery phrase, even with MetaMask!"
},
"seedPhraseIntroSidebarTitleOne": {
"message": "What is a recovery phrase?"
},
"seedPhraseIntroSidebarTitleThree": {
"message": "Should I share my recovery phrase?"
},
"seedPhraseIntroSidebarTitleTwo": {
"message": "How do I save my recovery phrase?"
},
"seedPhraseIntroTitle": {
"message": "Secure your wallet"
},
"seedPhraseIntroTitleCopy": {
"message": "Before getting started, watch this short video to learn about your recovery phrase and how to keep your wallet safe."
},
"seedPhrasePlaceholder": {
"message": "Separate each word with a single space"
},
"seedPhrasePlaceholderPaste": {
"message": "Paste seed phrase from clipboard"
"message": "Paste Secret Recovery Phrase from clipboard"
},
"seedPhraseReq": {
"message": "Seed phrases contain 12, 15, 18, 21, or 24 words"
"message": "Secret Recovery Phrases contain 12, 15, 18, 21, or 24 words"
},
"selectAHigherGasFee": {
"message": "Select a higher gas fee to accelerate the processing of your transaction.*"
@ -1546,7 +1613,11 @@
"message": "This account has already been connected to MetaMask"
},
"selectAnAccountHelp": {
"message": "Select the account to view in MetaMask"
"message": "Select an account to view in MetaMask."
},
"selectAnAccountHelpDirections": {
"message": "Don't see your account? $1",
"description": "$1 represents the `hardwareWalletSupportLinkConversion` localization key"
},
"selectEachPhrase": {
"message": "Please select each phrase in order to make sure it is correct."
@ -1616,7 +1687,7 @@
"message": "Show Private Keys"
},
"showSeedPhrase": {
"message": "Show seed phrase"
"message": "Show Secret Recovery Phrase"
},
"sigRequest": {
"message": "Signature Request"
@ -1688,23 +1759,26 @@
"statusNotConnected": {
"message": "Not connected"
},
"step1HardwareWallet": {
"message": "1. Connect Hardware Wallet"
"step1LedgerWallet": {
"message": "Download Ledger app"
},
"step1HardwareWalletMsg": {
"message": "Connect your hardware wallet directly to your computer."
"step1LedgerWalletMsg": {
"message": "Download, set up, and enter your password to unlock $1.",
"description": "$1 represents the `ledgerLiveApp` localization value"
},
"step2HardwareWallet": {
"message": "2. Select an Account"
"step1TrezorWallet": {
"message": "Plug in Trezor wallet"
},
"step2HardwareWalletMsg": {
"message": "Select the account you want to view. You can only choose one at a time."
"step1TrezorWalletMsg": {
"message": "Connect your wallet directly to your computer. For more on using your hardware wallet device, $1",
"description": "$1 represents the `hardwareWalletSupportLinkConversion` localization key"
},
"step3HardwareWallet": {
"message": "3. Start using web3 sites and more!"
"step2LedgerWallet": {
"message": "Plug in Ledger wallet"
},
"step3HardwareWalletMsg": {
"message": "Use your hardware account like you would with any Ethereum account. Connect to web3 sites, send ETH, buy and store ERC20 tokens and non-fungible tokens like CryptoKitties."
"step2LedgerWalletMsg": {
"message": "Connect your wallet directly to your computer. Unlock your Ledger and open the Ethereum app. For more on using your hardware wallet device, $1.",
"description": "$1 represents the `hardwareWalletSupportLinkConversion` localization key"
},
"storePhrase": {
"message": "Store this phrase in a password manager like 1Password."
@ -1730,6 +1804,10 @@
"swapAggregator": {
"message": "Aggregator"
},
"swapAllowSwappingOf": {
"message": "Allow swapping of $1",
"description": "Shows a user that they need to allow a token for swapping on their hardware wallet"
},
"swapAmountReceived": {
"message": "Guaranteed amount"
},
@ -1755,6 +1833,15 @@
"message": "Checking $1",
"description": "Shown to the user during quote loading. $1 is the name of an aggregator. The message indicates that metamask is currently checking if that aggregator has a trade/quote for their requested swap."
},
"swapConfirmWithHwWallet": {
"message": "Confirm with your hardware wallet"
},
"swapContractDataDisabledErrorDescription": {
"message": "In the Ethereum app on your Ledger, go to \"Settings\" and allow contract data. Then, try your swap again."
},
"swapContractDataDisabledErrorTitle": {
"message": "Contract data is not enabled on your Ledger"
},
"swapCustom": {
"message": "custom"
},
@ -1800,8 +1887,15 @@
"swapFinalizing": {
"message": "Finalizing..."
},
"swapFromTo": {
"message": "The swap of $1 to $2",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
},
"swapGasFeesSplit": {
"message": "Gas fees on the previous screen are split between these two transactions."
},
"swapHighSlippageWarning": {
"message": "Slippage amount is very high. Make sure you know what you are doing!"
"message": "Slippage amount is very high."
},
"swapLowSlippageError": {
"message": "Transaction may fail, max slippage too low."
@ -1842,18 +1936,18 @@
"message": "You are about to swap $1 $2 (~$3) for $4 $5 (~$6).",
"description": "This message represents the price slippage for the swap. $1 and $4 are a number (ex: 2.89), $2 and $5 are symbols (ex: ETH), and $3 and $6 are fiat currency amounts."
},
"swapPriceDifferenceAcknowledgement": {
"message": "I'm aware"
},
"swapPriceDifferenceTitle": {
"message": "Price difference of ~$1%",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
"swapPriceDifferenceTooltip": {
"message": "The difference in market prices can be affected by fees taken by intermediaries, size of market, size of trade, or market inefficiencies."
"swapPriceImpactTooltip": {
"message": "Price impact is the difference between the current market price and the amount received during transaction execution. Price impact is a function of the size of your trade relative to the size of the liquidity pool."
},
"swapPriceUnavailableDescription": {
"message": "Price impact could not be determined due to lack of market price data. Please confirm that you are comfortable with the amount of tokens you are about to receive before swapping."
},
"swapPriceDifferenceUnavailable": {
"message": "Market price is unavailable. Make sure you feel comfortable with the returned amount before proceeding."
"swapPriceUnavailableTitle": {
"message": "Check your rate before proceeding"
},
"swapProcessing": {
"message": "Processing"
@ -1920,8 +2014,8 @@
"swapSelectQuotePopoverDescription": {
"message": "Below are all the quotes gathered from multiple liquidity sources."
},
"swapSlippageTooLow": {
"message": "Slippage must be greater than zero"
"swapSlippageNegative": {
"message": "Slippage must be greater or equal to zero"
},
"swapSource": {
"message": "Liquidity source"
@ -1941,6 +2035,9 @@
"swapThisWillAllowApprove": {
"message": "This will allow $1 to be swapped."
},
"swapToConfirmWithHwWallet": {
"message": "to confirm with your hardware wallet"
},
"swapTokenAvailable": {
"message": "Your $1 has been added to your account.",
"description": "This message is shown after a swap is successful and communicates the exact amount of tokens the user has received for a swap. The $1 is a decimal number of tokens followed by the token symbol."
@ -1970,6 +2067,9 @@
"swapTransactionComplete": {
"message": "Transaction complete"
},
"swapTwoTransactions": {
"message": "2 transactions"
},
"swapUnknown": {
"message": "Unknown"
},
@ -1980,9 +2080,6 @@
"message": "Multiple tokens can use the same name and symbol. Check $1 to verify this is the token you're looking for.",
"description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
},
"swapViewToken": {
"message": "View $1"
},
"swapYourTokenBalance": {
"message": "$1 $2 available to swap",
"description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
@ -2012,6 +2109,12 @@
"switchEthereumChainConfirmationTitle": {
"message": "Allow this site to switch the network?"
},
"switchLedgerPaths": {
"message": "Switch Ledger paths"
},
"switchLedgerPathsText": {
"message": "Select the Ledger path to view other accounts"
},
"switchNetwork": {
"message": "Switch network"
},
@ -2070,7 +2173,7 @@
"message": "Test Faucet"
},
"thisWillCreate": {
"message": "This will create a new wallet and seed phrase"
"message": "This will create a new wallet and Secret Recovery Phrase"
},
"tips": {
"message": "Tips"
@ -2094,9 +2197,15 @@
"tokenContractAddress": {
"message": "Token Contract Address"
},
"tokenDecimalFetchFailed": {
"message": "Token decimal required."
},
"tokenSymbol": {
"message": "Token Symbol"
},
"tooltipApproveButton": {
"message": "I understand"
},
"total": {
"message": "Total"
},
@ -2225,6 +2334,10 @@
"userName": {
"message": "Username"
},
"verifyThisTokenDecimalOn": {
"message": "Token decimal can be found on $1",
"description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
},
"verifyThisTokenOn": {
"message": "Verify this token on $1",
"description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
@ -2238,6 +2351,9 @@
"viewContact": {
"message": "View Contact"
},
"viewMore": {
"message": "View More"
},
"viewOnCustomBlockExplorer": {
"message": "View at $1"
},
@ -2254,10 +2370,10 @@
"message": "our hardware wallet connection guide"
},
"walletSeed": {
"message": "Seed phrase"
"message": "Secret Recovery Phrase"
},
"walletSeedRestore": {
"message": "Wallet Seed"
"message": "Wallet Secret Recovery Phrase"
},
"web3ShimUsageNotification": {
"message": "We noticed that the current website tried to use the removed window.web3 API. If the site appears to be broken, please click $1 for more information.",
@ -2297,7 +2413,7 @@
"message": "You are signing"
},
"yourPrivateSeedPhrase": {
"message": "Your private seed phrase"
"message": "Your private Secret Recovery Phrase"
},
"zeroGasPriceOnSpeedUpError": {
"message": "Zero gas price on speed up"

@ -497,12 +497,12 @@
"dismiss": {
"message": "Descartar"
},
"dismissReminderDescriptionField": {
"message": "Active esta opción para ignorar el recordatorio de respaldo de la frase de recuperación. Le recomendamos que respalde la frase secreta de recuperación para evitar la pérdida de fondos."
},
"done": {
"message": "Completo"
},
"dontHaveAHardwareWallet": {
"message": "¿No tienes un monedero físico?"
},
"dontShowThisAgain": {
"message": "No mostrar esto de nuevo"
},
@ -535,7 +535,7 @@
"message": "Solicitar clave pública de cifrado"
},
"endOfFlowMessage1": {
"message": "Pasó la prueba - mantenga su frase semilla segura, ¡es su responsabilidad!"
"message": "Pasó la prueba. Es importante que guarde la frase secreta de recuperación en un lugar seguro."
},
"endOfFlowMessage10": {
"message": "Todo Listo"
@ -550,13 +550,13 @@
"message": "Nunca comparta la frase con nadie."
},
"endOfFlowMessage5": {
"message": "¡Cuidado con el phishing! MetaMask nunca le pedirá espontáneamente su frase semilla."
"message": "Tenga cuidado con el phishing. MetaMask nunca le pedirá la frase secreta de recuperación sin anticipárselo."
},
"endOfFlowMessage6": {
"message": "Si necesita hacer una copia de seguridad de su frase semilla nuevamente, puede encontrarla en Configuración -> Seguridad."
"message": "Si necesita volver a crear una copia de seguridad de la frase secreta de recuperación, puede encontrarla en Configuración -> Seguridad."
},
"endOfFlowMessage8": {
"message": "MetaMask no puede recuperar tu frase semilla. Saber más."
"message": "MetaMask no puede recuperar la frase secreta de recuperación."
},
"endOfFlowMessage9": {
"message": "Saber más."
@ -727,9 +727,6 @@
"message": "Obtenga Ether de un faucet (grifo) por $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Pedir ayuda."
},
"getStarted": {
"message": "Empezar"
},
@ -751,9 +748,6 @@
"hardwareWalletsMsg": {
"message": "Seleccionar un monedero físico que quieres usar con MetaMask"
},
"havingTroubleConnecting": {
"message": "¿Tienes problemas de conexión?"
},
"here": {
"message": "Aquí",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -781,15 +775,21 @@
"importAccount": {
"message": "Importar cuenta"
},
"importAccountLinkText": {
"message": "importar con la frase secreta de recuperación"
},
"importAccountMsg": {
"message": "Las cuentas importadas no serán asociadas con tu cuenta original creada con tu MetaMask. Aprende más acerca de importar cuentas "
"message": " Las cuentas importadas no se asociarán con la frase secreta de recuperación de la cuenta original de MetaMask. Más información sobre las cuentas importadas "
},
"importAccountSeedPhrase": {
"message": "Importar una cuenta con la frase semilla"
"message": "Importar una cuenta con la frase secreta de recuperación"
},
"importWallet": {
"message": "Importar Monedero"
},
"importYourExisting": {
"message": "Importar la cartera existente con una frase secreta de recuperación"
},
"imported": {
"message": "Importado",
"description": "status showing that an account has been fully loaded into the keyring"
@ -851,7 +851,7 @@
"message": "URL del RPC inválida "
},
"invalidSeedPhrase": {
"message": "Frase semilla inválida."
"message": "Frase secreta de recuperación no válida"
},
"ipfsGateway": {
"message": "Puerta de enlace IPFS"
@ -1051,7 +1051,7 @@
"message": "No se ha establecido ninguna dirección para este nombre."
},
"noAlreadyHaveSeed": {
"message": "No, ya tengo una frase semilla"
"message": "No, ya tengo una frase secreta de recuperación"
},
"noConversionRateAvailable": {
"message": "No hay ninguna Tasa de Conversión Disponible"
@ -1117,9 +1117,6 @@
"optionalCurrencySymbol": {
"message": "Símbolo (opcional)"
},
"orderOneHere": {
"message": "Cómprate un Trezor o Ledger y guarda tus fondos en almacenamiento frío"
},
"origin": {
"message": "Origen"
},
@ -1201,9 +1198,6 @@
"readdToken": {
"message": "Puedes volver a agregar este token en el futuro pinchando sobre 'Agregar token' en el menú de opciones de tu cuenta"
},
"readyToConnect": {
"message": "¿Listo/a para conectar?"
},
"receive": {
"message": "Recibir"
},
@ -1241,7 +1235,7 @@
"message": "Borrar cuenta"
},
"removeAccountDescription": {
"message": "Se borrará esta cuenta de tu monedero. Por favor, asegúrate de tener la frase semilla o clave personal original para esta cuenta importada antes de seguir adelante. Podrás importar o crear cuentas de nuevo del menu desplegable de cuentas."
"message": "Esta cuenta se quitará de la cartera. Antes de continuar, asegúrese de tener la frase secreta de recuperación original o la clave privada de esta cuenta importada. Puede importar o crear cuentas nuevamente desde el menú desplegable de la cuenta."
},
"requestsAwaitingAcknowledgement": {
"message": "peticiones pendientes de reconocimiento"
@ -1256,13 +1250,13 @@
"message": "Reiniciar cuenta"
},
"resetAccountDescription": {
"message": "Reiniciar tu cuenta borrará tu historial de transacciones."
"message": "Restablecer la cuenta borrará el historial de transacciones. Esto no cambiará los saldos de las cuentas ni se le pedirá que vuelva a escribir la frase secreta de recuperación."
},
"restore": {
"message": "Restaurar"
},
"restoreAccountWithSeed": {
"message": "Restaurar tu Cuenta con la Frase Semilla"
"message": "Restaurar la cuenta con la frase secreta de recuperación"
},
"restoreWalletPreferences": {
"message": "Se ha encontrado una copia de seguridad de sus datos de $1. ¿Le gustaría restaurar sus preferencias de monedero?",
@ -1275,13 +1269,13 @@
"message": "Un token aquí reutiliza un símbolo de otro token que está observando, esto puede ser confuso o engañoso."
},
"revealSeedWords": {
"message": "Revelar Frase Semilla"
"message": "Revelar frase secreta de recuperación"
},
"revealSeedWordsDescription": {
"message": "Si en algún momento cambias de navegador o de ordenador, necesitarás esta frase semilla para acceder a tus cuentas. Guárdatela en un lugar seguro y secreto."
"message": "Si alguna vez cambia de explorador o de equipo, necesitará esta frase secreta de recuperación para acceder a sus cuentas. Guárdela en un lugar seguro y secreto."
},
"revealSeedWordsTitle": {
"message": "Frase Semilla"
"message": "Frase secreta de recuperación"
},
"revealSeedWordsWarning": {
"message": "¡No recuperes tu semilla en un lugar público! Esas palabras pueden ser usadas para robarte todas tus cuentas"
@ -1338,16 +1332,16 @@
"message": "Seguridad y Privacidad"
},
"securitySettingsDescription": {
"message": "Configuración de privacidad y frase semilla de monedero"
"message": "Configuración de privacidad y frase secreta de recuperación de la cartera"
},
"seedPhrasePlaceholder": {
"message": "Separar a cada palabra con un sólo espacio"
},
"seedPhrasePlaceholderPaste": {
"message": "Pegar la frase semilla del portapapeles"
"message": "Pegar la frase secreta de recuperación desde el Portapapeles"
},
"seedPhraseReq": {
"message": "Las frases semilla contienen 12, 15, 18, 21 oo 24 palabras"
"message": "Las frases secretas de recuperación contienen 12, 15, 18, 21 o 24 palabras"
},
"selectAHigherGasFee": {
"message": "Seleccione una comisión de gas más elevada para agilizar el procesamiento de tu transacción.*"
@ -1432,7 +1426,7 @@
"message": "Mostrar claves privadas"
},
"showSeedPhrase": {
"message": "Mostrar frase semilla"
"message": "Mostrar frase secreta de recuperación"
},
"sigRequest": {
"message": "Solicitud de firma"
@ -1504,24 +1498,6 @@
"statusNotConnected": {
"message": "No conectado"
},
"step1HardwareWallet": {
"message": "1. Conectar monedero físico."
},
"step1HardwareWalletMsg": {
"message": "Conéctate el monedero físico directamente al ordenador."
},
"step2HardwareWallet": {
"message": "2. Seleccionar una cuenta"
},
"step2HardwareWalletMsg": {
"message": "Seleccione la cuenta que quieres ver. Sólo se puede eligir una a la vez."
},
"step3HardwareWallet": {
"message": "3. Empezar a usar dApps ¡y más!"
},
"step3HardwareWalletMsg": {
"message": "Usa tu cuenta física igual que harías con cualquier cuenta de Ethereum. Regístrate con dApps, manda Eth, compra y almacena tokens de ERC20 y otros tokens no-fungibles, como CryptoKitties."
},
"storePhrase": {
"message": "Guarde esta frase en un administrador de contraseñas como 1Password."
},
@ -1609,9 +1585,6 @@
"swapFinalizing": {
"message": "Finalizando..."
},
"swapHighSlippageWarning": {
"message": "La cantidad de deslizamiento es muy alta. ¡Asegúrate de saber lo que estás haciendo!"
},
"swapLowSlippageError": {
"message": "La transacción puede fallar, el deslizamiento máximo es demasiado bajo."
},
@ -1655,12 +1628,6 @@
"message": "Diferencia de precio de ~$1%",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
"swapPriceDifferenceTooltip": {
"message": "La diferencia en los precios de mercado puede verse afectada por las tarifas cobradas por los intermediarios, el tamaño del mercado, el tamaño del comercio o las ineficiencias del mercado."
},
"swapPriceDifferenceUnavailable": {
"message": "El precio de mercado no está disponible. Asegúrese de sentirse cómodo con el monto devuelto antes de continuar."
},
"swapProcessing": {
"message": "Procesando"
},
@ -1723,9 +1690,6 @@
"swapSelectQuotePopoverDescription": {
"message": "A continuación se muestran todas las cotizaciones recopiladas de múltiples fuentes de liquidez."
},
"swapSlippageTooLow": {
"message": "El deslizamiento debe ser mayor que cero"
},
"swapSource": {
"message": "Fuente de liquidez"
},
@ -1765,9 +1729,6 @@
"message": "Varios tokens pueden usar el mismo nombre y símbolo. Verifique $1 para verificar que este es el token que está buscando.",
"description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
},
"swapViewToken": {
"message": "Ver $1"
},
"swapYourTokenBalance": {
"message": "$1 $2 están disponibles para intercambiar",
"description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
@ -1843,7 +1804,7 @@
"message": "Grifo de prueba"
},
"thisWillCreate": {
"message": "Esto creará un nuevo monedero y frase semilla"
"message": "Esto creará una cartera y una frase secreta de recuperación nuevas"
},
"tips": {
"message": "Consejos"
@ -2016,7 +1977,10 @@
"message": "nuestra guía de monedero físico"
},
"walletSeed": {
"message": "Semilla del monedero"
"message": "Frase secreta de recuperación"
},
"walletSeedRestore": {
"message": "Frase secreta de recuperación de la cartera"
},
"web3ShimUsageNotification": {
"message": "Notamos que el sitio web actual intentó utilizar la API window.web3 eliminada. Si el sitio parece estar roto, haga clic en $1 para obtener más información.",
@ -2048,7 +2012,7 @@
"message": "Usted está firmando"
},
"yourPrivateSeedPhrase": {
"message": "Tu frase semilla privada"
"message": "Su frase secreta de recuperación privada"
},
"zeroGasPriceOnSpeedUpError": {
"message": "No hubo precio de gas al agilizar"

@ -500,9 +500,6 @@
"done": {
"message": "Listo"
},
"dontHaveAHardwareWallet": {
"message": "¿No tienes una billetera de hardware?"
},
"dontShowThisAgain": {
"message": "No mostrar esto de nuevo"
},
@ -727,9 +724,6 @@
"message": "Obtener Ether a partir de un grifo para $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Obtén ayuda."
},
"getStarted": {
"message": "Comenzar"
},
@ -751,9 +745,6 @@
"hardwareWalletsMsg": {
"message": "Selecciona la billetera de hardware que te gustaría utilizar con MetaMask"
},
"havingTroubleConnecting": {
"message": "¿Problemas de conexión?"
},
"here": {
"message": "Aquí",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -1117,9 +1108,6 @@
"optionalCurrencySymbol": {
"message": "Símbolo (opcional)"
},
"orderOneHere": {
"message": "Pida una billetera Trezor o Ledger y mantenga sus fondos en un almacenamiento en frío"
},
"origin": {
"message": "Origen"
},
@ -1201,9 +1189,6 @@
"readdToken": {
"message": "Puedes volver a agregar este token a través de la opción \"Agregar token\" en el menú de opciones de tus cuentas."
},
"readyToConnect": {
"message": "¿Listo/a para conectarte?"
},
"receive": {
"message": "Recibir"
},
@ -1504,24 +1489,6 @@
"statusNotConnected": {
"message": "No conectado"
},
"step1HardwareWallet": {
"message": "1. Conecta la billetera de hardware"
},
"step1HardwareWalletMsg": {
"message": "Conecta tu billetera de hardware directamente a tu computadora."
},
"step2HardwareWallet": {
"message": "2. Selecciona una cuenta"
},
"step2HardwareWalletMsg": {
"message": "Selecciona la cuenta que deseas ver. Solo puedes seleccionar una a la vez."
},
"step3HardwareWallet": {
"message": "3. ¡Comienza a utilizar dApps y más!"
},
"step3HardwareWalletMsg": {
"message": "Utiliza tu cuenta de hardware como si fuera una cuenta de Ethereum. Inicia sesión en dApps, envía ETH, compra y almacena tokens ERC20 y tokens no fungibles como CryptoKitties."
},
"storePhrase": {
"message": "Almacena esta frase en un administrador de contraseñas como 1Password."
},
@ -1609,9 +1576,6 @@
"swapFinalizing": {
"message": "Finalizando..."
},
"swapHighSlippageWarning": {
"message": "La cantidad de deslizamiento es muy alta. ¡Asegúrate de saber lo que estás haciendo!"
},
"swapLowSlippageError": {
"message": "La transacción puede fallar, el deslizamiento máximo es demasiado bajo."
},
@ -1655,12 +1619,6 @@
"message": "Diferencia de precio de ~$1%",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
"swapPriceDifferenceTooltip": {
"message": "La diferencia en los precios de mercado puede verse afectada por las tarifas cobradas por los intermediarios, el tamaño del mercado, el tamaño del comercio o las ineficiencias del mercado."
},
"swapPriceDifferenceUnavailable": {
"message": "El precio de mercado no está disponible. Asegúrese de sentirse cómodo con el monto devuelto antes de continuar."
},
"swapProcessing": {
"message": "Procesando"
},
@ -1723,9 +1681,6 @@
"swapSelectQuotePopoverDescription": {
"message": "A continuación se muestran todas las cotizaciones recopiladas de múltiples fuentes de liquidez."
},
"swapSlippageTooLow": {
"message": "El deslizamiento debe ser mayor que cero"
},
"swapSource": {
"message": "Fuente de liquidez"
},
@ -1765,9 +1720,6 @@
"message": "Varios tokens pueden usar el mismo nombre y símbolo. Verifique $1 para verificar que este es el token que está buscando.",
"description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
},
"swapViewToken": {
"message": "Ver $1"
},
"swapYourTokenBalance": {
"message": "$1 $2 están disponibles para intercambiar",
"description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"

@ -308,9 +308,6 @@
"done": {
"message": "Valmis"
},
"dontHaveAHardwareWallet": {
"message": "Teil ei ole riistvara rahakotti?"
},
"downloadGoogleChrome": {
"message": "Laadige alla Google Chrome"
},
@ -439,9 +436,6 @@
"message": "Hankige kraanist eetrit $1eest",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Küsige abi."
},
"getStarted": {
"message": "Alustamine"
},
@ -463,9 +457,6 @@
"hardwareWalletsMsg": {
"message": "Valige riistvara rahakott, mida soovite MetaMaskis kasutada"
},
"havingTroubleConnecting": {
"message": "Kas ühendamisel esineb probleeme?"
},
"here": {
"message": "siin",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -691,9 +682,6 @@
"optionalCurrencySymbol": {
"message": "Sümbol (valikuline)"
},
"orderOneHere": {
"message": "Tellige Trezor või Ledger ja hoidke oma varasid külmruumis"
},
"origin": {
"message": "Päritolu"
},
@ -753,9 +741,6 @@
"readdToken": {
"message": "Saate selle loa tulevikus tagasi lisada, kui lähete oma kontovalikute menüüs vahelehele „Lisa luba“."
},
"readyToConnect": {
"message": "Kas olete ühenduseks valmis?"
},
"recents": {
"message": "Hiljutised"
},
@ -978,24 +963,6 @@
"stateLogsDescription": {
"message": "Olekulogid sisaldavad teie avalikke konto aadresse ja saadetud tehinguid."
},
"step1HardwareWallet": {
"message": "1. Ühendage riistvara rahakott"
},
"step1HardwareWalletMsg": {
"message": "Ühendage oma riistvara rahakott otse oma arvutiga."
},
"step2HardwareWallet": {
"message": "2. Valige konto"
},
"step2HardwareWalletMsg": {
"message": "Valige konto, mida soovite vaadata. Korraga saab valida ühe."
},
"step3HardwareWallet": {
"message": "3. Hakake kasutama dAppse ja muud!"
},
"step3HardwareWalletMsg": {
"message": "Kasutage oma riistvarakontot nagu mis tahes teist Ethereumi kontot. Logige dAppsi, saatke Eth-d, ostke ja hoiustage ERC20 lube ning asendamatuid lube nagu CryptoKitties."
},
"storePhrase": {
"message": "Salvestage see fraas paroolihaldurisse, nagu 1Password."
},

@ -308,9 +308,6 @@
"done": {
"message": "تمام"
},
"dontHaveAHardwareWallet": {
"message": "آیا کیف سخت افزار ندارید؟"
},
"downloadGoogleChrome": {
"message": "دانلود گوگل کروم"
},
@ -443,9 +440,6 @@
"message": "اخذ ایتر از یک فاست برای 1$1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "دریافت کمک"
},
"getStarted": {
"message": "شروع به کار"
},
@ -467,9 +461,6 @@
"hardwareWalletsMsg": {
"message": "یک کیف سخت افزار را که میخواهید با MetaMast استفاده نمایید، انتخاب کنید"
},
"havingTroubleConnecting": {
"message": "آیا در اتصال مشکلی دارید؟"
},
"here": {
"message": "اینجا",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -701,9 +692,6 @@
"optionalCurrencySymbol": {
"message": "سمبول (انتخابی)"
},
"orderOneHere": {
"message": "یک Trezor یا Ledger را سفارش داده و پول های تان را در ذخیره سرد نگهدارید"
},
"origin": {
"message": "مبدأ"
},
@ -763,9 +751,6 @@
"readdToken": {
"message": "شما میتوانید این رمزیاب را دوباره برای آینده با رفتن به گزینه \"Add token\" در مینوی تنظیمات حساب ها، اضافه نمایید."
},
"readyToConnect": {
"message": "آماده برای اتصال هستید؟"
},
"recents": {
"message": "واپسین"
},
@ -988,24 +973,6 @@
"stateLogsDescription": {
"message": "دفترچه وضعیت شامل آدرس های حساب عمومی و معاملات فرستاده شده تان میباشد."
},
"step1HardwareWallet": {
"message": "1. اتصال کیف سخت افزار"
},
"step1HardwareWalletMsg": {
"message": "کیف سخت افزار تان را مستقیمًا به کمپیوتر وصل نمایید."
},
"step2HardwareWallet": {
"message": "2. انتخاب یک حساب"
},
"step2HardwareWalletMsg": {
"message": "حسابی را که میخواهید مشاهده نمایید انتخاب کنید. شما میتوانید یک حساب را در یک زمان انتخاب نمایید."
},
"step3HardwareWallet": {
"message": "3. آغاز استفاده از dApps و بیشتر!"
},
"step3HardwareWalletMsg": {
"message": "حساب سخت افزار تان را همچنانکه در حساب ایتریم استفاده میکنید، استفاده نمایید. وارد dApps شده، Eth را ارسال نموده، رمزیاب های ERC20 و غیر-قابل تبدیل به پول مانند CryptoKitties را خریداری و ذخیره نمایید."
},
"storePhrase": {
"message": "این عبارت را در یک نرم افزار مدیریت رمز عبور مانند 1Password ذخیره نمایید."
},

@ -308,9 +308,6 @@
"done": {
"message": "Valmis"
},
"dontHaveAHardwareWallet": {
"message": "Eikö sinulla ole laitteistokukkaroa?"
},
"downloadGoogleChrome": {
"message": "Lataa Google Chrome"
},
@ -443,9 +440,6 @@
"message": "Hanki etheriä faucetista kohteelle $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Pyydä apua."
},
"getStarted": {
"message": "Aloitusopas"
},
@ -467,9 +461,6 @@
"hardwareWalletsMsg": {
"message": "Valitse laitteistokukkaro, jota haluaisit käyttää MetaMaskilla"
},
"havingTroubleConnecting": {
"message": "Onko sinulla yhdistämisvaikeuksia?"
},
"here": {
"message": "tässä",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -698,9 +689,6 @@
"optionalCurrencySymbol": {
"message": "Symboli (valinnainen)"
},
"orderOneHere": {
"message": "Tilaa Trezor tai Ledger ja pidä varasi vakaassa tallennustilassa"
},
"origin": {
"message": "Alkuperä"
},
@ -760,9 +748,6 @@
"readdToken": {
"message": "Voit lisätä tämän tietueen myöhemmin takaisin siirtymällä tilisi vaihtoehtovalikon kohtaan ”Lisää tietue”."
},
"readyToConnect": {
"message": "Valmiina yhdistämään?"
},
"recents": {
"message": "Viimeaikaiset"
},
@ -985,24 +970,6 @@
"stateLogsDescription": {
"message": "Tilalokeista löydät julkiset tiliosoitteesi sekä lähetetyt maksusiirtosi."
},
"step1HardwareWallet": {
"message": "1. Yhdistä laitteistokukkaro"
},
"step1HardwareWalletMsg": {
"message": "Yhdistä hardware-lompakkosi suoraan tietokoneeseesi."
},
"step2HardwareWallet": {
"message": "2. Valitse tili"
},
"step2HardwareWalletMsg": {
"message": "Valitse tarkasteltava tili. Voit valita vain yhden kerrallaan."
},
"step3HardwareWallet": {
"message": "3. Ota käyttöön dApps ja paljon muuta!"
},
"step3HardwareWalletMsg": {
"message": "Käytä laitteistosi tiliä minkä tahansa Ethereum-tilin tavoin. Kirjaudu dAppsiin, lähettää ethereumeja, ostaa ja tallentaa ERC20-tunnuksia sekä CryptoKittiesin kaltaisia ei-korvattavia tunnuksia."
},
"storePhrase": {
"message": "Tallenna tämä teksti johonkin salasanojen hallintaohjelmaan (esim. 1Password)."
},

@ -284,9 +284,6 @@
"done": {
"message": "Tapos na"
},
"dontHaveAHardwareWallet": {
"message": "Wala ka bang hardware wallet?"
},
"downloadGoogleChrome": {
"message": "I-download ang Google Chrome"
},
@ -412,9 +409,6 @@
"message": "Kumuha ng Ether mula sa isang faucet para sa $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Humingi ng Tulong."
},
"getStarted": {
"message": "Magsimula"
},
@ -430,9 +424,6 @@
"hardwareWalletsMsg": {
"message": "Pumili ng hardware wallet na gusto mong gamitin sa MetaMask"
},
"havingTroubleConnecting": {
"message": "May problema ka ba sa pagkonekta?"
},
"here": {
"message": "dito",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -632,9 +623,6 @@
"optionalCurrencySymbol": {
"message": "Simbolo (opsyonal)"
},
"orderOneHere": {
"message": "Mag-order ng Trezor o Ledger para itago sa cold storage ang iyong pondo"
},
"origin": {
"message": "Pinanggalingan"
},
@ -687,9 +675,6 @@
"readdToken": {
"message": "Puwede mong idagdag ulit ang token na ito sa hinaharap sa pamamagitan ng pagpunta sa “Magdagdag ng token” sa menu ng mga opsyon ng iyong mga accounts."
},
"readyToConnect": {
"message": "Handa ka nang Kumonekta?"
},
"recents": {
"message": "Kamakailan"
},
@ -894,24 +879,6 @@
"stateLogsDescription": {
"message": "Ang mga state log ay naglalaman ng iyong mga pampublikong account address at mga ipinadalang transaksyon."
},
"step1HardwareWallet": {
"message": "1. Magkonekta ng Hardware Wallet"
},
"step1HardwareWalletMsg": {
"message": "Ikonekta ang iyong hardware wallet nang direkta sa computer."
},
"step2HardwareWallet": {
"message": "2. Pumili ng Account"
},
"step2HardwareWalletMsg": {
"message": "Piliin ang halagang gusto mong tingnan. Maaari ka lang pumili nang paisa-isa."
},
"step3HardwareWallet": {
"message": "3. Magsimula gamit ang dApps at higit pa!"
},
"step3HardwareWalletMsg": {
"message": "Gamitin ang iyong hardware account tulad ng anumang Ethereum account. Mag-log in sa dApps, magpadala ng Eth, bumili at mag-store ng mga ERC20 token at mga Non-Fungible token tulad ng CryptoKitties."
},
"storePhrase": {
"message": "I-store ang pariralang ito sa isang password manager tulad ng 1Password."
},

@ -299,9 +299,6 @@
"done": {
"message": "Terminé"
},
"dontHaveAHardwareWallet": {
"message": "Vous n'avez pas de portefeuille hardware ?"
},
"downloadGoogleChrome": {
"message": "Télécharger Google Chrome"
},
@ -437,9 +434,6 @@
"message": "Obtenir de l'Ether d'une faucet pour $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Obtenir de l'aide."
},
"getStarted": {
"message": "Démarrer"
},
@ -458,9 +452,6 @@
"hardwareWalletsMsg": {
"message": "Selectionnez le portefeuille hardware que vous voulez utiliser avec MetaMask"
},
"havingTroubleConnecting": {
"message": "Un problème de connection ?"
},
"here": {
"message": "ici",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -683,9 +674,6 @@
"optionalCurrencySymbol": {
"message": "Symbole (facultatif)"
},
"orderOneHere": {
"message": "Commander un Trezor ou un Ledger et conserver vos fonds en \"cold storage\""
},
"origin": {
"message": "Origine"
},
@ -745,9 +733,6 @@
"readdToken": {
"message": "Vous pourrez ajouter à nouveau ce jeton en allant sur “Ajouter un jeton” dans le menu des options de votre compte."
},
"readyToConnect": {
"message": "Prêt à se connecter ?"
},
"recents": {
"message": "Récents"
},
@ -970,24 +955,6 @@
"stateLogsDescription": {
"message": "Les logs d'Etat contiennent les adresses publiques de vos comptes et vos transactions envoyées."
},
"step1HardwareWallet": {
"message": "1. Connecter le portefeuille hardware"
},
"step1HardwareWalletMsg": {
"message": "Connectez votre portefeuille hardware directement à votre ordinateur."
},
"step2HardwareWallet": {
"message": "2. Selectionnez un compte"
},
"step2HardwareWalletMsg": {
"message": "Selectionnez le compte que vous voulez afficher. Vous ne pouvez en afficher qu'un seul à la fois."
},
"step3HardwareWallet": {
"message": "3. Vous pouvez maintenant utiliser des dApps et autres... !"
},
"step3HardwareWalletMsg": {
"message": "Utilisez ce compte de votre portefeuille hardware comme n'importe quel compte Ethereum. Connectez vous à des dApps, envoyez de l'Eth, achetez et conservez des jetons ERC20 et Non-Fungible comme CryptoKitties."
},
"storePhrase": {
"message": "Stockez cette phrase dans un gestionnaire de mots de passe comme 1Password."
},

@ -308,9 +308,6 @@
"done": {
"message": "סיום"
},
"dontHaveAHardwareWallet": {
"message": "אין לך ארנק חומרה?"
},
"downloadGoogleChrome": {
"message": "הורד/י את גוגל כרום"
},
@ -443,9 +440,6 @@
"message": "השג/י את'ר מברז (faucet) עבור ה-$1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "בקש/י עזרה."
},
"getStarted": {
"message": "תחילת העבודה"
},
@ -467,9 +461,6 @@
"hardwareWalletsMsg": {
"message": "בחר/י ארנק חומרה שבו תרצה להשתמש עם MetaMask"
},
"havingTroubleConnecting": {
"message": "חווה קשיים בהתחברות?"
},
"here": {
"message": "כאן",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -698,9 +689,6 @@
"optionalCurrencySymbol": {
"message": "סמל (אופציונלי)"
},
"orderOneHere": {
"message": "הזמנ/י Trezor או Ledger ושמר/י את הכספים שלך באחסון קר"
},
"origin": {
"message": "מקור"
},
@ -760,9 +748,6 @@
"readdToken": {
"message": "באפשרותך להוסיף טוקן זה בחזרה בעתיד על ידי מעבר אל \"הוסף טוקן\" בתפריט אפשרויות החשבונות שלך."
},
"readyToConnect": {
"message": "מוכנ/ה להתחבר?"
},
"recents": {
"message": "אחרונים"
},
@ -982,24 +967,6 @@
"stateLogsDescription": {
"message": "יומני המצב מכילים את כתובות החשבון הציבוריות שלך ועסקאות שנשלחו."
},
"step1HardwareWallet": {
"message": "1. חבר/י ארנק חומרה"
},
"step1HardwareWalletMsg": {
"message": "חבר/י את ארנק החומרה שלך ישירות למחשב שלך."
},
"step2HardwareWallet": {
"message": "2. בחר/י חשבון"
},
"step2HardwareWalletMsg": {
"message": "בחר/י את החשבון שברצונך להציג. באפשרותך לבחור רק אחד בכל פעם."
},
"step3HardwareWallet": {
"message": "3. התחל/י להשתמש ב- dApps ועוד!"
},
"step3HardwareWalletMsg": {
"message": "השתמש/י בחשבון החומרה שלך כי שהיית משתמש/ת בכל חשבון אתריום"
},
"storePhrase": {
"message": "אחסנ/י צירוף זה במנהל ססמאות כמו 1Password."
},

@ -488,12 +488,12 @@
"dismiss": {
"message": "खिज कर"
},
"dismissReminderDescriptionField": {
"message": "रिकवरकअप अनरक सश किज करनिए इस कर। हम जर दकर अन करति आप धन ककसन स बचनिए अपनत रिकवरकअप ल"
},
"done": {
"message": "सपनन"
},
"dontHaveAHardwareWallet": {
"message": "हडवयर वट नह?"
},
"dontShowThisAgain": {
"message": "इस न दि"
},
@ -526,7 +526,7 @@
"message": "एनिशन सवजनिक क अनध कर"
},
"endOfFlowMessage1": {
"message": "आप टट म उतण ह गए ह - अपन रकित रख, यह आपकि!"
"message": "आप टट म उतण ह गए ह - अपन त रिकवर रकित रख, यह आपकि!"
},
"endOfFlowMessage10": {
"message": "सब कछ ह गय"
@ -541,13 +541,13 @@
"message": "वश क कभिथ स न कर।"
},
"endOfFlowMessage5": {
"message": "फििग सवधन रह! MetaMask कभ अनस ह आपक नह।"
"message": "फििग सवधन रह! MetaMask कभ अनस ह आपक त रिकवर नह।"
},
"endOfFlowMessage6": {
"message": "यदि आपक अपन िर सकअप ल आवशयकत, त आप इसिस -> सरक सकत।"
"message": "यदि आपक अपन त रिकवरिर सकअप ल आवशयकत, त आप इसिस -> सरक सकत।"
},
"endOfFlowMessage8": {
"message": "MetaMask आपक नरत नह कर सकत।"
"message": "MetaMask आपक त रिकवर नरत नह कर सकत।"
},
"endOfFlowMessage9": {
"message": "अधिक ज।"
@ -718,9 +718,6 @@
"message": "$1 किए एक फट स Ether पत कर",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "मदद पत कर।"
},
"getStarted": {
"message": "पभ कर"
},
@ -742,9 +739,6 @@
"hardwareWalletsMsg": {
"message": "किडवयर वट क चयन कर, जि आप MetaMask कथ उपयग करनहत"
},
"havingTroubleConnecting": {
"message": "कनट करन समस रह?"
},
"here": {
"message": "यह",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -772,15 +766,21 @@
"importAccount": {
"message": "ख आयत कर"
},
"importAccountLinkText": {
"message": "गत रिकवर उपयग करक आयत कर"
},
"importAccountMsg": {
"message": " आयित ख आपकल रप स बनए गए MetaMask खडफबदध नह। आयित ख अधिक ज "
"message": " आयित ख आपकल रप स बनए गए MetaMask ख त रिकवर बदध नह। आयित ख अधिक ज "
},
"importAccountSeedPhrase": {
"message": "डफथ क आयत कर"
"message": "त रिकवरथ एक आयत कर"
},
"importWallet": {
"message": "वट आयत कर"
},
"importYourExisting": {
"message": "गत रिकवर उपयग करक अपनट क आयत कर"
},
"imported": {
"message": "आयित",
"description": "status showing that an account has been fully loaded into the keyring"
@ -842,7 +842,7 @@
"message": "अमय RPC URL"
},
"invalidSeedPhrase": {
"message": "अम"
"message": "अमत रिकवर"
},
"ipfsGateway": {
"message": "IPFS गटव"
@ -1042,7 +1042,7 @@
"message": "इस नम किए कई पत नहट कि गय।"
},
"noAlreadyHaveSeed": {
"message": "नह, मस पहल एक "
"message": "नह, मस पहल एक त रिकवर"
},
"noConversionRateAvailable": {
"message": "कई भतरण दर उपलबध नह"
@ -1108,9 +1108,6 @@
"optionalCurrencySymbol": {
"message": "मरतक (वकलिक)"
},
"orderOneHere": {
"message": "Trezor यजर ऑरडर कर और अपन धन कड सज म रख"
},
"origin": {
"message": "उतपति"
},
@ -1192,9 +1189,6 @@
"readdToken": {
"message": "आप अपनिकलप म \"टकन ज\" पर जकर भविय म इस टकन कपस ज सकत।"
},
"readyToConnect": {
"message": "कनट करनिए तर ह?"
},
"receive": {
"message": "पत कर"
},
@ -1232,7 +1226,7 @@
"message": "खि"
},
"removeAccountDescription": {
"message": "यह ख आपकट सिल दिएग। कपयिित करि रखन पहल आपकस इस आयित खिए मि। आप खप-डउन सिर स आयत कर सकत बन सकत। "
"message": "यह ख आपकट सिल दिएग। कपयिित करि रखन पहल आपकस इस आयित खिए मत रिकवरि। आप खप-डउन सिर स आयत कर सकत बन सकत। "
},
"requestsAwaitingAcknowledgement": {
"message": "अनर किए जरत रह"
@ -1247,13 +1241,13 @@
"message": "खट कर"
},
"resetAccountDescription": {
"message": "आपकट करन आपकनदन इतिस सएग। इसस आपकषरि नह बदल आपक अपन िर स दरज करन आवशयकत नह।"
"message": "आपकट करन आपकनदन इतिस सएग। इसस आपकषरि नह बदल आपक अपन त रिकवरिर स दरज करन आवशयकत नह।"
},
"restore": {
"message": "पनरित कर"
},
"restoreAccountWithSeed": {
"message": "थ अपननरित कर"
"message": "त रिकवरथ अपननरित कर"
},
"restoreWalletPreferences": {
"message": "$1 स आपककअप मि। क आप अपनट वरयतनरित करनहत?",
@ -1266,13 +1260,13 @@
"message": "यह पर एक टकन आपकसरकन सरतक क उपयग करत, यह भमक यधड सकत।"
},
"revealSeedWords": {
"message": "रकट कर"
"message": "त रिकवररकट कर"
},
"revealSeedWordsDescription": {
"message": "यदि आप कभउजर बदलतटर कतरित करत, त आपक अपन तक पहचनिए इस आवशयकत। उन कहरकित और गपनय तर सह।"
"message": "यदि आप कभउजर बदलतटर कतरित करत, त आपक अपन तक पहचनिए इस त रिकवर आवशयकत। उन कहरकित और गपनय तर सह।"
},
"revealSeedWordsTitle": {
"message": ""
"message": "त रिकवर"
},
"revealSeedWordsWarning": {
"message": "इन शब उपयग आपक सभिए कि सकत।"
@ -1329,16 +1323,16 @@
"message": "सरक और गपनयत"
},
"securitySettingsDescription": {
"message": "गपनयति और वट स"
"message": "गपनयतिस और वट कत रिकवर"
},
"seedPhrasePlaceholder": {
"message": "परतक शबद क एक रिि अलग कर"
},
"seedPhrasePlaceholderPaste": {
"message": "किपबड स िपक"
"message": "किपबड स त रिकवरिपक"
},
"seedPhraseReq": {
"message": " 12, 15, 18, 21 य 24 शबद ह"
"message": "त रिकवर 12, 15, 18, 21 य 24 शब"
},
"selectAHigherGasFee": {
"message": "अपननदन करकििए उचच गस शक क चयन कर। *"
@ -1423,7 +1417,7 @@
"message": "नििि"
},
"showSeedPhrase": {
"message": "ि"
"message": "त रिकवरि"
},
"sigRequest": {
"message": "हसषर क अनध"
@ -1495,24 +1489,6 @@
"statusNotConnected": {
"message": "कनट नह"
},
"step1HardwareWallet": {
"message": "1. हडवयर वट कनट कर"
},
"step1HardwareWalletMsg": {
"message": "अपनडवयर वट क अपनटर स कनट कर।"
},
"step2HardwareWallet": {
"message": "2. कि चयन कर"
},
"step2HardwareWalletMsg": {
"message": "उस ख चयन कर, जि आप दखनहत। आप एक समय मवल एक हन सकत।"
},
"step3HardwareWallet": {
"message": "3. web3 सइट और अधिक क उपयग करनभ कर!"
},
"step3HardwareWalletMsg": {
"message": "अपनडवयर ख उस तरह स उपयग कर, ज आप कि Ethereum ख कर। web3 सइट कनट कर, ETH भ, ERC20 और CryptoKitties जर-परतिचन वकन जकन खर और सरहत कर।"
},
"storePhrase": {
"message": "इस वश क 1Password जिसवरड मजर मरहत कर।"
},
@ -1597,9 +1573,6 @@
"swapFinalizing": {
"message": "अिम रप दि रह..."
},
"swapHighSlippageWarning": {
"message": "सिज रि बहत अधिक ह। सिित करि आप जनति आप क कर रह!"
},
"swapLowSlippageError": {
"message": "लनदन विफल ह सकत, अधिकतम सिज बहत कम ह सकत।"
},
@ -1693,9 +1666,6 @@
"swapSelectQuotePopoverDescription": {
"message": "निए गए सभ उदधरण कई चलनिि एकतर किए गए ह।"
},
"swapSlippageTooLow": {
"message": "सिज शय स अधिक हिए"
},
"swapSource": {
"message": "चलनिित"
},
@ -1732,9 +1702,6 @@
"message": "एकिक टकन एक हम और परतक क उपयग कर सकत। यह सतित करनिए $1 कच करि यह वहकन ह, जिसक आप तलश कर रह।",
"description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
},
"swapViewToken": {
"message": "$1 द"
},
"swapYourTokenBalance": {
"message": "$1 $2 सप किए उपलबध ह",
"description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
@ -1807,7 +1774,7 @@
"message": "फट क परषण कर"
},
"thisWillCreate": {
"message": "यह एक नयट और बनएग"
"message": "यह एक नयट और त रिकवर बनएग"
},
"tips": {
"message": "यि"
@ -1980,7 +1947,10 @@
"message": "हमडवयर वट कनशन गइड"
},
"walletSeed": {
"message": "सड फ"
"message": "गत रिकवर"
},
"walletSeedRestore": {
"message": "वट कत रिकवर"
},
"welcome": {
"message": "MetaMask म आपकगत ह"
@ -2008,7 +1978,7 @@
"message": "आप हसषर कर रह"
},
"yourPrivateSeedPhrase": {
"message": "आपकि "
"message": "आपकि त रिकवर"
},
"zeroGasPriceOnSpeedUpError": {
"message": "जस मय म"

@ -308,9 +308,6 @@
"done": {
"message": "Gotovo"
},
"dontHaveAHardwareWallet": {
"message": "Nemate hardverski novčanik?"
},
"downloadGoogleChrome": {
"message": "Preuzmi preglednik Google Chrome"
},
@ -439,9 +436,6 @@
"message": "Dohvati Ether iz svežnja za $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Potražite pomoć."
},
"getStarted": {
"message": "Početak upotrebe"
},
@ -463,9 +457,6 @@
"hardwareWalletsMsg": {
"message": "Odaberite hardverski novčanik koji biste željeli upotrebljavati s uslugom MetaMask"
},
"havingTroubleConnecting": {
"message": "Imate poteškoća s povezivanjem?"
},
"here": {
"message": "ovdje",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -694,9 +685,6 @@
"optionalCurrencySymbol": {
"message": "Simbol (neobavezno)"
},
"orderOneHere": {
"message": "Naručite Trezor ili Ledger te čuvajte svoja sredstva u hladnoj pohrani"
},
"origin": {
"message": "Podrijetlo"
},
@ -756,9 +744,6 @@
"readdToken": {
"message": "Ovaj token možete dodati kasnije odlaskom pod stavku „Dodaj token” u izborniku mogućnosti računa. "
},
"readyToConnect": {
"message": "Sve je spremno za povezivanje?"
},
"recents": {
"message": "Nedavno"
},
@ -981,24 +966,6 @@
"stateLogsDescription": {
"message": "U zapisnicima se stanja nalaze javne adrese računa i poslane transakcije."
},
"step1HardwareWallet": {
"message": "1. Povežite se na svoj hardverski novčanik"
},
"step1HardwareWalletMsg": {
"message": "Povežite svoj hardverski novčanik izravno na svoje računalo."
},
"step2HardwareWallet": {
"message": "2. Odaberite račun"
},
"step2HardwareWalletMsg": {
"message": "Odaberite račun koji želite pregledati. Istovremeno možete odabrati samo jedan račun za pregled."
},
"step3HardwareWallet": {
"message": "3. Započnite upotrebljavati dApps i više!"
},
"step3HardwareWalletMsg": {
"message": "Upotrebljavajte svoj hardverski račun kako biste upotrebljavali bilo koji drugi račun Ethereum. Prijavite se u dApps, šaljite Eth, kupujte i pohranjujte ERC20 tokene i nezamjenske tokene kao CryptoKitties."
},
"storePhrase": {
"message": "Spremite ovu rečenicu u upravitelj lozinkama poput aplikacije 1Password."
},

@ -172,9 +172,6 @@
"done": {
"message": "Fini"
},
"dontHaveAHardwareWallet": {
"message": "Pa gen yon materyèl bous?"
},
"downloadGoogleChrome": {
"message": "Telechaje Google Chrome"
},
@ -241,9 +238,6 @@
"message": "Jwenn Ether nan yon tiyo pou $1 la",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Jwenn èd."
},
"hardware": {
"message": "materyèl"
},
@ -256,9 +250,6 @@
"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)"
@ -409,9 +400,6 @@
"ok": {
"message": "Oke"
},
"orderOneHere": {
"message": "Mete nan lòd on Trezor oswa Ledger epi kenbe lajan ou nan yon stòk frèt."
},
"origin": {
"message": "Orijin"
},
@ -462,9 +450,6 @@
"readdToken": {
"message": "Ou ka ajoute token sa aprè sa ankò ou prale nan \"Ajoute token\" nan opsyon meni kont ou an."
},
"readyToConnect": {
"message": "Pare pou konekte?"
},
"recipientAddress": {
"message": "Adrès pou resevwa"
},
@ -618,24 +603,6 @@
"stateLogsDescription": {
"message": "State logs gen adrès kont piblik ou yo epi tranzaksyon ou te voye 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."
},
"submitted": {
"message": "Te Soumèt"
},

@ -308,9 +308,6 @@
"done": {
"message": "Kész"
},
"dontHaveAHardwareWallet": {
"message": "Nincs hardveres tárcája? "
},
"downloadGoogleChrome": {
"message": "Google Chrome letöltése"
},
@ -439,9 +436,6 @@
"message": "Szerezzen Ethert pénzcsapból a(z) $1-ért",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Segítség kérése"
},
"getStarted": {
"message": "Első lépések"
},
@ -463,9 +457,6 @@
"hardwareWalletsMsg": {
"message": "Válassza ki a MetaMask-kal használni kívánt hardveres pénztárcát"
},
"havingTroubleConnecting": {
"message": "Gond van a csatlakozással?"
},
"here": {
"message": "itt",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -694,9 +685,6 @@
"optionalCurrencySymbol": {
"message": "Szimbólum (opcionális)"
},
"orderOneHere": {
"message": "Rendeljen trezort vagy főkönyvet, és tárolja pénzeszközeit hideg tárcában"
},
"origin": {
"message": "Eredet"
},
@ -756,9 +744,6 @@
"readdToken": {
"message": "Ezt a tokent a jövőben is hozzáadhatja, ha a fiókbeállítások menü „Token hozzáadása” elemére lép."
},
"readyToConnect": {
"message": "Készen áll a csatlakozásra?"
},
"recents": {
"message": "Legutóbbiak"
},
@ -981,24 +966,6 @@
"stateLogsDescription": {
"message": "Az állapotnaplóban megtalálhatók nyilvános fiókcímeid és elküldött tranzakcióid."
},
"step1HardwareWallet": {
"message": "1. Csatlakoztassa a hardveres pénztárcát"
},
"step1HardwareWalletMsg": {
"message": "Csatlakoztassa hardveres tárcáját közvetlenül a számítógéphez."
},
"step2HardwareWallet": {
"message": "2. Válassz egy fiókot"
},
"step2HardwareWalletMsg": {
"message": "Válassza ki a megtekinteni kívánt fiókot. Egyszerre csak egyet választhat."
},
"step3HardwareWallet": {
"message": "3. Kezdje el használni a dApps-t és másokat!"
},
"step3HardwareWalletMsg": {
"message": "Használja hardveres fiókját úgy, mint bármilyen Ethereum fiókot. Jelentkezzen be a dAppsba, küldjön Ethet, vásároljon és tároljon ERC20 tokeneket és nem helyettesíthető tokeneket, például CryptoKitties-t."
},
"storePhrase": {
"message": "Tárolja a mondatot jelszókezelőben, például az 1Passwordben."
},

@ -488,12 +488,12 @@
"dismiss": {
"message": "Lewatkan"
},
"dismissReminderDescriptionField": {
"message": "Aktifkan ini untuk melewatkan pesan pengingat pencadangan frasa pemulihan. Kami sangat merekomendasikan agar Anda mencadangkan Frasa Pemulihan Rahasia Anda untuk menghindari hilangnya dana"
},
"done": {
"message": "Selesai"
},
"dontHaveAHardwareWallet": {
"message": "Tidak punya dompet perangkat keras?"
},
"dontShowThisAgain": {
"message": "Jangan tampilkan ini lagi"
},
@ -526,7 +526,7 @@
"message": "Minta kunci publik enkripsi"
},
"endOfFlowMessage1": {
"message": "Anda lulus ujian - jaga frasa pemulihan Anda tetap aman, ini tanggung jawab Anda!"
"message": "Anda lulus ujian - jaga Frasa Pemulihan Rahasia Anda tetap aman, ini tanggung jawab Anda!"
},
"endOfFlowMessage10": {
"message": "Semua Selesai"
@ -541,13 +541,13 @@
"message": "Jangan bagikan frasa kepada siapa pun."
},
"endOfFlowMessage5": {
"message": "Berhati-hatilah dengan phishing! MetaMask tidak pernah secara spontan meminta frasa pemulihan Anda."
"message": "Berhati-hatilah dengan phishing! MetaMask tidak pernah secara spontan meminta Frasa Pemulihan Rahasia Anda."
},
"endOfFlowMessage6": {
"message": "Jika Anda perlu mencadangkan frasa pemulihan lagi, Anda dapat menemukannya di Pengaturan -> Keamanan."
"message": "Jika Anda perlu mencadangkan Frasa Pemulihan Rahasia lagi, Anda dapat menemukannya di Pengaturan -> Keamanan."
},
"endOfFlowMessage8": {
"message": "MetaMask tidak dapat memulihkan frasa pemulihan Anda."
"message": "MetaMask tidak dapat memulihkan Frasa Pemulihan Rahasia Anda."
},
"endOfFlowMessage9": {
"message": "Pelajari selengkapnya."
@ -718,9 +718,6 @@
"message": "Dapatkan Ether dari keran untuk $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Dapatkan Bantuan."
},
"getStarted": {
"message": "Persiapan."
},
@ -742,9 +739,6 @@
"hardwareWalletsMsg": {
"message": "Pilih dompet perangkat keras yang ingin Anda gunakan dengan MetaMask"
},
"havingTroubleConnecting": {
"message": "Ada masalah saat menghubungkan?"
},
"here": {
"message": "di sini",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -772,15 +766,21 @@
"importAccount": {
"message": "Impor Akun"
},
"importAccountLinkText": {
"message": "impor menggunakan Frasa Pemulihan Rahasia"
},
"importAccountMsg": {
"message": " Akun yang diimpor tidak akan dikaitkan dengan frasa pemulihan akun MetaMask yang asli dibuat. Pelajari selengkapnya tentang akun yang diimpor "
"message": " Akun yang diimpor tidak akan dikaitkan dengan Frasa Pemulihan Rahasia akun MetaMask yang asli dibuat. Pelajari selengkapnya tentang akun yang diimpor "
},
"importAccountSeedPhrase": {
"message": "Impor akun dengan frasa pemulihan"
"message": "Impor akun dengan Frasa Pemulihan Rahasia"
},
"importWallet": {
"message": "Impor dompet"
},
"importYourExisting": {
"message": "Impor dompet Anda yang ada menggunakan Frasa Pemulihan Rahasia"
},
"imported": {
"message": "Diimpor",
"description": "status showing that an account has been fully loaded into the keyring"
@ -842,7 +842,7 @@
"message": "URL RPC Tidak Valid"
},
"invalidSeedPhrase": {
"message": "Frasa pemulihan tidak valid"
"message": "Frasa Pemulihan Rahasia Tidak Valid"
},
"ipfsGateway": {
"message": "Gateway IPFS"
@ -1042,7 +1042,7 @@
"message": "Tidak ada alamat yang ditetapkan untuk nama ini."
},
"noAlreadyHaveSeed": {
"message": "Tidak, saya sudah memiliki frasa pemulihan"
"message": "Tidak, saya sudah memiliki Frasa Pemulihan Rahasia"
},
"noConversionRateAvailable": {
"message": "Tidak Ada Nilai Konversi yang Tersedia"
@ -1108,9 +1108,6 @@
"optionalCurrencySymbol": {
"message": "Simbol Mata Uang (opsional)"
},
"orderOneHere": {
"message": "Pesan Trezor atau Ledger dan simpan dana Anda di penyimpanan dingin"
},
"origin": {
"message": "Asal"
},
@ -1192,9 +1189,6 @@
"readdToken": {
"message": "Anda dapat menambahkan token ini kembali di masa mendatang dengan membuka “Tambahkan token” di menu opsi akun Anda."
},
"readyToConnect": {
"message": "Siap untuk Terhubung?"
},
"receive": {
"message": "Terima"
},
@ -1232,7 +1226,7 @@
"message": "Hapus akun"
},
"removeAccountDescription": {
"message": "Akun ini akan dihapus dari dompet Anda. Pastikan Anda memiliki frasa pemulihan asli atau kunci privat untuk akun impor ini sebelum melanjutkan. Anda dapat mengimpor atau membuat akun lagi dari akun drop down. "
"message": "Akun ini akan dihapus dari dompet Anda. Pastikan Anda memiliki Frasa Pemulihan Rahasia asli atau kunci privat untuk akun impor ini sebelum melanjutkan. Anda dapat mengimpor atau membuat akun lagi dari drop down akun. "
},
"requestsAwaitingAcknowledgement": {
"message": "permintaan menunggu untuk diakui"
@ -1247,13 +1241,13 @@
"message": "Atur Ulang Akun"
},
"resetAccountDescription": {
"message": "Mengatur ulang akun akan mengosongkan riwayat transaksi Anda. Ini tidak akan mengubah saldo di akun atau mengharuskan Anda untuk memasukkan kembali frasa pemulihan Anda."
"message": "Mengatur ulang akun akan mengosongkan riwayat transaksi Anda. Ini tidak akan mengubah saldo di akun atau mengharuskan Anda untuk memasukkan kembali Frasa Pemulihan Rahasia Anda."
},
"restore": {
"message": "Pulihkan"
},
"restoreAccountWithSeed": {
"message": "Memulihkan Akun dengan Frasa Pemulihan"
"message": "Memulihkan Akun dengan Frasa Pemulihan Rahasia"
},
"restoreWalletPreferences": {
"message": "Cadangan data Anda dari $1 telah ditemukan. Apakah Anda ingin memulihkan preferensi dompet Anda?",
@ -1266,13 +1260,13 @@
"message": "Token di sini menggunakan kembali simbol dari token lain yang Anda lihat, ini bisa jadi membingungkan atau menipu."
},
"revealSeedWords": {
"message": "Mengungkapkan Frasa Pemulihan"
"message": "Mengungkapkan Frasa Pemulihan Rahasia"
},
"revealSeedWordsDescription": {
"message": "Jika Anda pernah mengubah browser atau mengganti komputer, Anda akan memerlukan frasa pemulihan ini untuk mengakses akun Anda. Simpan di tempat yang aman dan rahasia."
"message": "Jika Anda pernah mengubah browser atau mengganti komputer, Anda akan memerlukan Frasa Pemulihan Rahasia ini untuk mengakses akun Anda. Simpan di tempat yang aman dan rahasia."
},
"revealSeedWordsTitle": {
"message": "Frasa Pemulihan"
"message": "Frasa Pemulihan Rahasia"
},
"revealSeedWordsWarning": {
"message": "Kata-kata ini dapat digunakan untuk mencuri semua akun Anda."
@ -1329,16 +1323,16 @@
"message": "Keamanan & Privasi"
},
"securitySettingsDescription": {
"message": "Pengaturan privasi dan frasa pemulihan dompet"
"message": "Pengaturan privasi dan Frasa Pemulihan Rahasia dompet"
},
"seedPhrasePlaceholder": {
"message": "Pisahkan setiap kata dengan satu spasi"
},
"seedPhrasePlaceholderPaste": {
"message": "Tempel frasa pemulihan dari clipboard"
"message": "Tempel Frasa Pemulihan Rahasia dari clipboard"
},
"seedPhraseReq": {
"message": "Frasa pemulihan berisi 12, 15, 18, 21, atau 24 kata"
"message": "Frasa Pemulihan Rahasia berisi 12, 15, 18, 21, atau 24 kata"
},
"selectAHigherGasFee": {
"message": "Pilih biaya jaringan yang lebih tinggi untuk mempercepat pemrosesan transaksi Anda.*"
@ -1423,7 +1417,7 @@
"message": "Tampilkan Kunci Privat"
},
"showSeedPhrase": {
"message": "Tampilkan frasa pemulihan"
"message": "Menampilkan Frasa Pemulihan Rahasia"
},
"sigRequest": {
"message": "Permintaan Tanda Tangan"
@ -1495,24 +1489,6 @@
"statusNotConnected": {
"message": "Tidak terhubung"
},
"step1HardwareWallet": {
"message": "1. Hubungkan Dompet Perangkat Keras"
},
"step1HardwareWalletMsg": {
"message": "Hubungkan dompet perangkat keras Anda langsung ke komputer."
},
"step2HardwareWallet": {
"message": "2. Pilih Akun"
},
"step2HardwareWalletMsg": {
"message": "Pilih akun yang ingin Anda lihat. Anda hanya dapat memilih satu pada satu waktu."
},
"step3HardwareWallet": {
"message": "3. Mulai menggunakan situs web3 dan lainnya!"
},
"step3HardwareWalletMsg": {
"message": "Gunakan akun perangkat keras Anda seperti yang akan Anda lakukan dengan akun Ethereum lainnya. Hubungkan ke situs web3, kirim ETH, beli dan simpan token ERC20 dan token yang tidak dapat dipertukarkan seperti CryptoKitties."
},
"storePhrase": {
"message": "Simpan frasa ini dalam pengelola kata sandi seperti 1Password."
},
@ -1597,9 +1573,6 @@
"swapFinalizing": {
"message": "Menyelesaikan..."
},
"swapHighSlippageWarning": {
"message": "Jumlah slippage sangat tinggi. Pastikan Anda mengetahui yang Anda kerjakan!"
},
"swapLowSlippageError": {
"message": "Transaksi bisa gagal, slippage maks. terlalu rendah."
},
@ -1693,9 +1666,6 @@
"swapSelectQuotePopoverDescription": {
"message": "Di bawah ini adalah semua kuota yang dikumpulkan dari beberapa sumber likuiditas."
},
"swapSlippageTooLow": {
"message": "Slippage harus lebih besar dari nol"
},
"swapSource": {
"message": "Sumber likuiditas"
},
@ -1732,9 +1702,6 @@
"message": "Beberapa token dapat menggunakan simbol dan nama yang sama. Periksa $1 untuk memverifikasi inilah token yang Anda cari.",
"description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
},
"swapViewToken": {
"message": "Lihat $1"
},
"swapYourTokenBalance": {
"message": "$1 $2 tersedia untuk ditukar",
"description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
@ -1807,7 +1774,7 @@
"message": "Uji Fungsi"
},
"thisWillCreate": {
"message": "Ini akan membuat frasa pemulihan dan dompet baru"
"message": "Ini akan membuat Frasa Pemulihan Rahasia dan dompet baru"
},
"tips": {
"message": "Kiat"
@ -1980,7 +1947,10 @@
"message": "panduan koneksi dompet perangkat keras kami"
},
"walletSeed": {
"message": "Frasa pemulihan"
"message": "Frasa Pemulihan Rahasia"
},
"walletSeedRestore": {
"message": "Frasa Pemulihan Rahasia Dompet"
},
"welcome": {
"message": "Selamat datang di MetaMask"
@ -2008,7 +1978,7 @@
"message": "Anda sudah masuk"
},
"yourPrivateSeedPhrase": {
"message": "Frasa pemulihan privat Anda"
"message": "Frasa Pemulihan Rahasia pribadi Anda"
},
"zeroGasPriceOnSpeedUpError": {
"message": "Biaya jaringan nol dipercepat"

@ -503,9 +503,6 @@
"done": {
"message": "Finito"
},
"dontHaveAHardwareWallet": {
"message": "Non hai un portafoglio hardware?"
},
"dontShowThisAgain": {
"message": "Non mostrare di nuovo"
},
@ -730,9 +727,6 @@
"message": "Ottieni Get Ether da un faucet per $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Aiuto."
},
"getStarted": {
"message": "Inizia"
},
@ -754,9 +748,6 @@
"hardwareWalletsMsg": {
"message": "Selezione un portafoglio hardware che vuoi utilizzare con MetaMask"
},
"havingTroubleConnecting": {
"message": "Problemi di connessione?"
},
"here": {
"message": "qui",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -1123,9 +1114,6 @@
"optionalCurrencySymbol": {
"message": "Simbolo (opzionale)"
},
"orderOneHere": {
"message": "Compra un Trezor o un Ledger e tieni i tuoi soldi al sicuro"
},
"origin": {
"message": "Origine"
},
@ -1207,9 +1195,6 @@
"readdToken": {
"message": "Puoi aggiungere nuovamente questo token in futuro andando in “Aggiungi token” nel menu delle opzioni del tuo account."
},
"readyToConnect": {
"message": "Pronto a Connetterti?"
},
"receive": {
"message": "Ricevi"
},
@ -1510,24 +1495,6 @@
"statusNotConnected": {
"message": "Non connesso"
},
"step1HardwareWallet": {
"message": "1. Connetti Portafoglio Hardware"
},
"step1HardwareWalletMsg": {
"message": "Connetti il tuo portafoglio hardware al tuo computer."
},
"step2HardwareWallet": {
"message": "2. Seleziona un Account"
},
"step2HardwareWalletMsg": {
"message": "Selezione l'account che vuoi vedere. Puoi selezionarne solo uno alla volta."
},
"step3HardwareWallet": {
"message": "3. Inizia a usare dApps e molto altro ancora!"
},
"step3HardwareWalletMsg": {
"message": "Usa il tuo account hardware come utilizzeresti qualsiasi account Ethereum. Accedi alle dApps, invia Eth, compra e conserva token ERC20 e token non fungibili come CryptoKitties"
},
"storePhrase": {
"message": "Conserva questa frase in un gestore di password come 1Password."
},
@ -1615,9 +1582,6 @@
"swapFinalizing": {
"message": "Finalizzando..."
},
"swapHighSlippageWarning": {
"message": "L'importo di slippage è molto alto. Assicurati di sapere cosa stai facendo!"
},
"swapLowSlippageError": {
"message": "La transazione può fallire, il massimo slippage è troppo basso."
},
@ -1657,19 +1621,10 @@
"message": "Stai per scambiare $1 $2 (~$3) per $4 $5 (~$6).",
"description": "This message represents the price slippage for the swap. $1 and $4 are a number (ex: 2.89), $2 and $5 are symbols (ex: ETH), and $3 and $6 are fiat currency amounts."
},
"swapPriceDifferenceAcknowledgement": {
"message": "Sono consapevole"
},
"swapPriceDifferenceTitle": {
"message": "Differenza di prezzo di circa ~$1%",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
"swapPriceDifferenceTooltip": {
"message": "La differenza tra i prezzi del mercato può essere influenzata da commissioni prelevate da intermediari, dimensione del mercato, dimensione dello scambio, o inefficienze del mercato."
},
"swapPriceDifferenceUnavailable": {
"message": "Il prezzo di mercato non è disponibile. Assicurati di sentirti a tuo agio con l'importo restituito prima di procedere."
},
"swapProcessing": {
"message": "In elaborazione"
},
@ -1735,9 +1690,6 @@
"swapSelectQuotePopoverDescription": {
"message": "Sotto trovi tutte le quotazioni raccolte da multiple sorgenti di liquidità."
},
"swapSlippageTooLow": {
"message": "Lo slippage deve essere maggiore di zero"
},
"swapSource": {
"message": "Sorgente di liquidità"
},
@ -1788,9 +1740,6 @@
"message": "Più token possono usare lo stesso nome e simbolo. Verifica su $1 che questo sia il token che stai cercando.",
"description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
},
"swapViewToken": {
"message": "Vedi $1"
},
"swapYourTokenBalance": {
"message": "$1 $2 disponibili allo scambio",
"description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"

@ -497,12 +497,12 @@
"dismiss": {
"message": "却下"
},
"dismissReminderDescriptionField": {
"message": "これをオンにすると、リカバリー フレーズ バックアップのリマインダーメッセージが解除されます。資金の損失を防ぐために、シークレット リカバリー フレーズのバックアップを取ることを強くお勧めします。"
},
"done": {
"message": "完了"
},
"dontHaveAHardwareWallet": {
"message": "ハードウェアウォレットをお持ちではありませんか?"
},
"dontShowThisAgain": {
"message": "再度表示しない"
},
@ -535,7 +535,7 @@
"message": "公開暗号鍵の要求"
},
"endOfFlowMessage1": {
"message": "テストに合格しました。シードフレーズを安全に保管してください。これは利用者の責務です。"
"message": "テストに合格しました。シークレット リカバリー フレーズを安全に保管してください。保管はお客様の責任となります。"
},
"endOfFlowMessage10": {
"message": "全て完了"
@ -550,13 +550,13 @@
"message": "シードフレーズは絶対に誰にも教えないでください。"
},
"endOfFlowMessage5": {
"message": "フィッシング詐欺に注意してください!MetaMaskは自発的にシードフレーズを絶対に要求しません。"
"message": "フィッシングにご注意ください!MetaMask の動作として、シークレット リカバリー フレーズを要求することは絶対にありません。"
},
"endOfFlowMessage6": {
"message": "シーフレーズを再度バックアップする場合は、[設定] -> [セキュリティとプライバシー] で見つけることができます。"
"message": "シークレット リカバリー フレーズを再度バックアップする場合は、[設定] -> [セキュリティとプライバシー] にアクセスしてください。"
},
"endOfFlowMessage8": {
"message": "MetaMaskはシードフレーズを復元できません。"
"message": "MetaMask はシークレット リカバリー フレーズを復元できません。"
},
"endOfFlowMessage9": {
"message": "詳細を表示。"
@ -727,9 +727,6 @@
"message": "$1 のFaucetでEtherを得ることができます。",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "サポートを受ける。"
},
"getStarted": {
"message": "はじめる"
},
@ -751,9 +748,6 @@
"hardwareWalletsMsg": {
"message": "MetaMaskに接続するハードウェアウォレットを選択してください"
},
"havingTroubleConnecting": {
"message": "接続に問題がありますか?"
},
"here": {
"message": "こちら",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -781,15 +775,21 @@
"importAccount": {
"message": "アカウントのインポート"
},
"importAccountLinkText": {
"message": "シークレット リカバリー フレーズを使用してインポートする"
},
"importAccountMsg": {
"message": "追加したアカウントはMetaMaskのアカウントパスフレーズとは関連付けられません。インポートしたアカウントについての詳細は"
"message": " インポートされたアカウントは、最初に作成した MetaMask アカウントのシークレット リカバリー フレーズと関連付けられません。インポートされたアカウントの詳細を表示"
},
"importAccountSeedPhrase": {
"message": "シーフレーズを使用してアカウントをインポート"
"message": "シークレット リカバリー フレーズを使用してアカウントをインポートする:"
},
"importWallet": {
"message": "ウォレットのインポート"
},
"importYourExisting": {
"message": "シークレット リカバリー フレーズを使用して既存のウォレットをインポートする"
},
"imported": {
"message": "インポート済",
"description": "status showing that an account has been fully loaded into the keyring"
@ -854,7 +854,7 @@
"message": "無効な RPC URL"
},
"invalidSeedPhrase": {
"message": "無効なシーフレーズ"
"message": "無効なシークレット リカバリー フレーズ"
},
"ipfsGateway": {
"message": "IPFSゲートウェイ"
@ -1054,7 +1054,7 @@
"message": "この名前にはアドレスが設定されていません。"
},
"noAlreadyHaveSeed": {
"message": "いいえ、既にシードフレーズがあります"
"message": "いいえ、既にシークレット リカバリー フレーズを持っています"
},
"noConversionRateAvailable": {
"message": "どの換算レートも利用できません"
@ -1117,9 +1117,6 @@
"optionalCurrencySymbol": {
"message": "通貨シンボル(オプション)"
},
"orderOneHere": {
"message": "Trezor又はLedgerを注文して資金をコールドストレージに保管できます"
},
"origin": {
"message": "要求元"
},
@ -1201,9 +1198,6 @@
"readdToken": {
"message": "アカウントオプションのメニューで\"トークンの追加\"を選択すると、後でこのトークンを戻すことができます。"
},
"readyToConnect": {
"message": "接続準備はよろしいですか?"
},
"receive": {
"message": "受け取る"
},
@ -1241,7 +1235,7 @@
"message": "アカウントの削除"
},
"removeAccountDescription": {
"message": "このアカウントはウォレットから削除されます。続行する前に、ウォレットにインポートしたアカウントのシードフレーズか秘密鍵を保管してください。アカウントは、アカウントのドロップダウンから再度インポート、または作成できます。"
"message": "このアカウントはウォレットから削除されます。続行する前に、インポートしたアカウントの元のシークレット リカバリー フレーズまたは秘密鍵を持っていることを確認してください。アカウントはアカウント ドロップダウンから再度インポートまたは作成できます。"
},
"requestsAwaitingAcknowledgement": {
"message": "承認されるまで待機する"
@ -1256,13 +1250,13 @@
"message": "アカウントをリセット"
},
"resetAccountDescription": {
"message": "アカウントをリセットするとトランザクション履歴がクリアされます。シードフレーズの再入力は不要です。これによりアカウント内の残高が変更されることはありません。"
"message": "アカウントをリセットするとトランザクション履歴がクリアされます。これによってアカウント内の残高が変更されることはありません。また、シークレット リカバリー フレーズの再入力を要求することはありません。"
},
"restore": {
"message": "復元"
},
"restoreAccountWithSeed": {
"message": "シードフレーズでアカウントを復元"
"message": "シークレット リカバリー フレーズでアカウントを復元する"
},
"restoreWalletPreferences": {
"message": "$1 のデータバックアップが見つかりました。ウォレットの基本設定を復元しますか?",
@ -1275,13 +1269,13 @@
"message": "既に登録されているトークンシンボルと同じシンボルの登録はお勧めしません。混乱や操作ミスの原因になります。"
},
"revealSeedWords": {
"message": "シードフレーズを表示"
"message": "シークレット リカバリー フレーズを公開する"
},
"revealSeedWordsDescription": {
"message": "ブラウザを変更したりコンピュータを変更した場合は、アカウントにアクセスするためにシードフレーズが必要になります。安全で秘密の場所に保管してください。"
"message": "ブラウザーを変更した場合や、コンピューターを移動した場合は、自分のアカウントにアクセスするためにこのシークレット リカバリー フレーズが必要になります。安全で秘密の場所に保管してください。"
},
"revealSeedWordsTitle": {
"message": "シーフレーズ"
"message": "シークレット リカバリー フレーズ"
},
"revealSeedWordsWarning": {
"message": "シードフレーズは全てのアカウントを盗む手段にも使えます。"
@ -1338,16 +1332,16 @@
"message": "セキュリティとプライバシー"
},
"securitySettingsDescription": {
"message": "プライバシーの設定とウォレットのシードフレーズ"
"message": "プライバシーの設定とシークレット リカバリー フレーズ"
},
"seedPhrasePlaceholder": {
"message": "シードフレーズを単語ごとに半角スペースで分割して入力して下さい"
},
"seedPhrasePlaceholderPaste": {
"message": "シードフレーズをクリップボードからペーストして下さい"
"message": "クリップボードからシークレット リカバリー フレーズを貼り付けます"
},
"seedPhraseReq": {
"message": "シードフレーズには、12,15,18,21、または24単語が含まれます"
"message": "シークレット リカバリー フレーズには、12、15、18、21、24 語が含まれます"
},
"selectAHigherGasFee": {
"message": "トランザクションの処理を早めるには、より高いガス料金を選択してください。"
@ -1432,7 +1426,7 @@
"message": "秘密鍵の表示"
},
"showSeedPhrase": {
"message": "シードフレーズの表示"
"message": "シークレット リカバリー フレーズを表示する"
},
"sigRequest": {
"message": "署名リクエスト"
@ -1504,24 +1498,6 @@
"statusNotConnected": {
"message": "未接続"
},
"step1HardwareWallet": {
"message": "1.ハードウェア ウォレットの接続"
},
"step1HardwareWalletMsg": {
"message": "コンピューターに直接ハードウェアウォレットを接続してください。"
},
"step2HardwareWallet": {
"message": "2.アカウントを選択"
},
"step2HardwareWalletMsg": {
"message": "読取るアカウントを1つ選択します。"
},
"step3HardwareWallet": {
"message": "3.web3を使用してサイトに接続しましょう!"
},
"step3HardwareWalletMsg": {
"message": "Ethereumアカウントと同じように、ハードウェアアカウントを使用します。web3サイトに接続してETH を送金し、ERC20トークンやCryptoKittiesのようなトークンを購入して保管できます。"
},
"storePhrase": {
"message": "このフレーズを1Passwordのようなパスワードマネージャーに保管てください。"
},
@ -1609,9 +1585,6 @@
"swapFinalizing": {
"message": "終了中..."
},
"swapHighSlippageWarning": {
"message": "非常に大きいスリッページ額です。本当に実行するか確認してください。"
},
"swapLowSlippageError": {
"message": "トランザクションが失敗する可能性があります。最大スリッページが少なすぎます。"
},
@ -1655,12 +1628,6 @@
"message": "価格差は $1% です",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
"swapPriceDifferenceTooltip": {
"message": "市場価格の違いは、仲介業者が負担する手数料、市場規模、取引量、または取引価格差の影響を受けることがあります。"
},
"swapPriceDifferenceUnavailable": {
"message": "マーケット価格は利用できません。続行する前に、返金額に問題がないことを確認してください。"
},
"swapProcessing": {
"message": "処理中"
},
@ -1723,9 +1690,6 @@
"swapSelectQuotePopoverDescription": {
"message": "以下は複数の流動性ソースから収集したすべての見積です。"
},
"swapSlippageTooLow": {
"message": "スリッページは 0 より多くする必要があります。"
},
"swapSource": {
"message": "流動性ソース"
},
@ -1765,9 +1729,6 @@
"message": "複数のトークンが同じ名前とシンボルであることがあります。$1で実際のトークンでを確認してください。",
"description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
},
"swapViewToken": {
"message": "$1 を表示"
},
"swapYourTokenBalance": {
"message": "$1 $2 はスワップに使用できます",
"description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
@ -1843,7 +1804,7 @@
"message": "テストFaucet"
},
"thisWillCreate": {
"message": "新しいウォレットとシードフレーズが作成されます"
"message": "これにより、新しいウォレットとシークレット リカバリー フレーズが作成されます"
},
"tips": {
"message": "ヒント"
@ -2016,7 +1977,10 @@
"message": "ハードウェアウォレット接続ガイド"
},
"walletSeed": {
"message": "シードフレーズ"
"message": "シークレット リカバリー フレーズ"
},
"walletSeedRestore": {
"message": "ウォレット シークレット リカバリー フレーズ"
},
"web3ShimUsageNotification": {
"message": "このサイトは削除されたwindow.web3 APIを使用します。サイトに問題が発生しているなら、$1 で詳細を見ることができます。",
@ -2048,7 +2012,7 @@
"message": "署名しています"
},
"yourPrivateSeedPhrase": {
"message": "秘密のシーフレーズ"
"message": "秘密のシークレット リカバリー フレーズ"
},
"zeroGasPriceOnSpeedUpError": {
"message": "追加のGas価格を0にできません"

@ -308,9 +308,6 @@
"done": {
"message": "ಮಿಿ"
},
"dontHaveAHardwareWallet": {
"message": "ಹ ಅನಿಲವ?"
},
"downloadGoogleChrome": {
"message": "Google Chrome ಡಿ"
},
@ -443,9 +440,6 @@
"message": "$1 ಗಿಿದ ಎಥರ ಅನ ಪಡಿಿ",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "ಸಹಯವನ ಪಡಿಿ."
},
"getStarted": {
"message": "ಪಭಗಿ"
},
@ -467,9 +461,6 @@
"hardwareWalletsMsg": {
"message": "MetaMask ನಿ ಬಳಸಲ ಇಷಟಪಡವ ಹ ಅನ ಆಯಿ"
},
"havingTroubleConnecting": {
"message": "ಸಪರಿವಲಿದರ ಇದ?"
},
"here": {
"message": "ಇಲಿ",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -701,9 +692,6 @@
"optionalCurrencySymbol": {
"message": "ಚಿ (ಐಚಿಕ)"
},
"orderOneHere": {
"message": "ಟಜರ ಅಥವಜರ ಅನ ಆರಡರಿ ಮತಿಮ ನಿಿಗಳನನಲಿಿಿ"
},
"origin": {
"message": "ಮಲ"
},
@ -763,9 +751,6 @@
"readdToken": {
"message": "ನಿಮ ಖಗಳ ಆಯಗಳ ಮಿನಲಿ \"ಟಕನಿ\" ಗವ ಮಲಕ ನ ಈ ಟಕನ ಅನ ಭವಿಯದಲಿ ಮರಳಿಿಸಬಹ."
},
"readyToConnect": {
"message": "ಸಪರಿಸಲಿಧವ?"
},
"recents": {
"message": "ಇತಿನವಗಳ"
},
@ -988,24 +973,6 @@
"stateLogsDescription": {
"message": "ರಯದ ಲಗಳಿಮ ಸವಜನಿಕ ಖಯ ವಿಸಗಳ ಮತ ಕಳಿಸಲದ ವಹಿಗಳನಿತವ."
},
"step1HardwareWallet": {
"message": "1. ಹಪರಕಪಡಿಿ"
},
"step1HardwareWalletMsg": {
"message": "ನಿಮ ಹ ಅನರವಿಿಮ ಕಟರಪರಿಿ."
},
"step2HardwareWallet": {
"message": "2. ಖಯನ ಆಯಿ"
},
"step2HardwareWalletMsg": {
"message": "ನಿಸಲ ಬಯಸವ ಖಯನ ಆಯಿ. ನ ಒಮದನರ ಆಯಡಬಹ."
},
"step3HardwareWallet": {
"message": "3. dApps ಮತಿನದನ ಬಳಸಲಿಿ!"
},
"step3HardwareWalletMsg": {
"message": "ಯ ಎಥಿಯಮಿಿಮ ಹಯನ ಬಳಸಿ. dApps ಗಿಿ, Eth ಕಳಿಿ, ERC20 ಟಕನಗಳನ ಮತಿಿತಹ ಫಿಬಲಕನಗಳನ ಖರಿಿ ಮತರಹಿಿ."
},
"storePhrase": {
"message": "ಈ ಫ ಅನವರಿಹಕದಲಿ 1Password ರಪದಲಿರಹಿಿ."
},

@ -488,12 +488,12 @@
"dismiss": {
"message": "해지"
},
"dismissReminderDescriptionField": {
"message": "이것을 켜서 복구 구문 백업 알림 메시지를 해지하십시오. 지갑을 복원할 수 있도록 비밀 복구 구문을 저장할 것을 강력하게 권장합니다."
},
"done": {
"message": "완료"
},
"dontHaveAHardwareWallet": {
"message": "하드웨어 지갑이 없으신가요?"
},
"dontShowThisAgain": {
"message": "이 메시지를 다시 표시하지 않음"
},
@ -526,7 +526,7 @@
"message": "암호화 공개 키 요구"
},
"endOfFlowMessage1": {
"message": "테스트를 통과하셨습니다. 시드 구문을 안전하게 보관할 책임은 귀하에게 있습니다!"
"message": "테스트를 통과하셨습니다. 비밀 복구 구문을 안전하게 보관할 책임은 귀하에게 있습니다!"
},
"endOfFlowMessage10": {
"message": "모두 완료"
@ -541,13 +541,13 @@
"message": "구문을 누구와도 공유하지 마세요."
},
"endOfFlowMessage5": {
"message": "피싱을 조심하세요! MetaMask에서는 절대로 시드 구문을 갑자기 물어보지 않습니다."
"message": "피싱을 조심하십시오! MetaMask에서는 절대로 시드 구문을 갑자기 물어보지 않습니다."
},
"endOfFlowMessage6": {
"message": "시드 구문을 다시 백업해야 한다면 설정 -> 보안에서 시드 구문을 찾을 수 있습니다."
"message": "비밀 복구 구문을 다시 백업해야 한다면 설정 -> 보안에서 시드 구문을 찾을 수 있습니다."
},
"endOfFlowMessage8": {
"message": "MetaMask에서는 시드 구문을 복구할 수 없습니다."
"message": "MetaMask에서는 계정 시드 구문을 복구할 수 없습니다."
},
"endOfFlowMessage9": {
"message": "자세한 내용을 알아보세요."
@ -718,9 +718,6 @@
"message": "$1용 포시트에서 Ether 얻기",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "도움을 받으세요."
},
"getStarted": {
"message": "시작하기"
},
@ -742,9 +739,6 @@
"hardwareWalletsMsg": {
"message": "MetaMask와 함께 사용할 하드웨어 지갑 선택"
},
"havingTroubleConnecting": {
"message": "연결에 문제가 있으신가요?"
},
"here": {
"message": "여기",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -772,8 +766,11 @@
"importAccount": {
"message": "계정 가져오기"
},
"importAccountLinkText": {
"message": "계정 시드 구문으로 가져오기"
},
"importAccountMsg": {
"message": " 가져온 계정은 생성한 MetaMask 계정 시드 구문 원본에 연결되지 않습니다. 가져온 계정에 대해 자세히 알아보세요. "
"message": " 가져온 계정은 생성한 MetaMask 계정 시드 구문 원본에 연결되지 않습니다. 가져온 계정에 대해 자세히 알아보십시오. "
},
"importAccountSeedPhrase": {
"message": "시드 구문으로 계정 가져오기"
@ -781,6 +778,9 @@
"importWallet": {
"message": "지갑 가져오기"
},
"importYourExisting": {
"message": "12단어 시드 구문을 사용하여 지갑 가져오기"
},
"imported": {
"message": "가져옴",
"description": "status showing that an account has been fully loaded into the keyring"
@ -842,7 +842,7 @@
"message": "잘못된 RPC URL"
},
"invalidSeedPhrase": {
"message": "잘못된 시드 구문"
"message": "잘못된 계정 시드 구문"
},
"ipfsGateway": {
"message": "IPFS 게이트웨이"
@ -1108,9 +1108,6 @@
"optionalCurrencySymbol": {
"message": "통화 기호(선택 사항)"
},
"orderOneHere": {
"message": "Trezor나 Ledger를 주문하고 자금을 냉동 창고에 보관하세요."
},
"origin": {
"message": "원본"
},
@ -1192,9 +1189,6 @@
"readdToken": {
"message": "나중에 계정 옵션 메뉴의 “토큰 추가”로 이동하면 이 토큰을 다시 추가할 수 있습니다."
},
"readyToConnect": {
"message": "연결할 준비가 되셨나요?"
},
"receive": {
"message": "받기"
},
@ -1232,7 +1226,7 @@
"message": "계정 제거"
},
"removeAccountDescription": {
"message": "이 계정이 지갑에서 제거됩니다. 계속하기 전에 가져온 이 계정에 대한 원본 시드 구문이나 비공개 키가 있는지 확인하세요. 계정 드롭다운에서 계정을 가져오거나 다시 만들 수 있습니다. "
"message": "이 계정이 지갑에서 제거됩니다. 계속하기 전에 가져온 이 계정에 대한 원본 시드 구문이나 비공개 키가 있는지 확인하십시오. 계정 드롭다운에서 계정을 가져오거나 다시 만들 수 있습니다. "
},
"requestsAwaitingAcknowledgement": {
"message": "확인 대기 중인 요청"
@ -1247,7 +1241,7 @@
"message": "계정 재설정"
},
"resetAccountDescription": {
"message": "계정을 재설정하면 거래 내역이 지워집니다. 계정의 잔액이 변경되지 않으면 시드 구문을 다시 입력하지 않아도 됩니다."
"message": "계정을 재설정하면 거래 내역이 지워집니다. 계정의 잔액이 변경되지 않으면 시드 구문을 다시 입력하지 않아도 됩니다."
},
"restore": {
"message": "복구"
@ -1266,13 +1260,13 @@
"message": "여기에 있는 토큰은 사용자가 확인한 다른 토큰의 기호를 재사용하기 때문에 혼란스럽거나 속기 쉽습니다."
},
"revealSeedWords": {
"message": "시드 단어 공개"
"message": "계정 시드 구문 공개"
},
"revealSeedWordsDescription": {
"message": "브라우저를 변경하거나 컴퓨터를 옮긴 경우, 계정에 액세스하려면 이 시드 구문이 필요합니다. 기밀이 보장된 안전한 곳에 보관하세요."
"message": "브라우저를 변경하거나 컴퓨터를 옮긴 경우, 계정에 액세스하려면 이 시드 구문이 필요합니다. 기밀이 보장된 안전한 곳에 보관하십시오."
},
"revealSeedWordsTitle": {
"message": "시드 구문"
"message": "계정 시드 구문"
},
"revealSeedWordsWarning": {
"message": "이 구문은 계정 전체를 도용하는 데 사용될 수 있습니다."
@ -1423,7 +1417,7 @@
"message": "비공개 키 표시"
},
"showSeedPhrase": {
"message": "시드 구문 표시"
"message": "계정 시드 구문 표시"
},
"sigRequest": {
"message": "서명 요청"
@ -1495,24 +1489,6 @@
"statusNotConnected": {
"message": "연결되지 않음"
},
"step1HardwareWallet": {
"message": "1. 하드웨어 지갑 연결"
},
"step1HardwareWalletMsg": {
"message": "하드웨어 지갑을 컴퓨터에 바로 연결합니다."
},
"step2HardwareWallet": {
"message": "2. 계정 선택"
},
"step2HardwareWalletMsg": {
"message": "확인할 계정을 선택하세요. 한 번에 하나만 선택할 수 있습니다."
},
"step3HardwareWallet": {
"message": "3. web3 사이트 등을 사용해 시작하세요!"
},
"step3HardwareWalletMsg": {
"message": "하드웨어 계정을 이더리움 계정에서처럼 사용하세요. web3 사이트에 연결하고, ETH를 보내고, ERC20 토큰 및 CryptoKitties 같은 대체 불가능 토큰을 구매하고 저장하세요."
},
"storePhrase": {
"message": "이 구문을 1Password 같은 암호 관리자에 저장하세요."
},
@ -1597,9 +1573,6 @@
"swapFinalizing": {
"message": "마무리 중..."
},
"swapHighSlippageWarning": {
"message": "슬리패지 금액이 아주 큽니다. 현재 어떤 작업을 하고 있는지 확인하세요!"
},
"swapLowSlippageError": {
"message": "거래가 실패할 수도 있습니다. 최대 슬리패지가 너무 낮습니다."
},
@ -1693,9 +1666,6 @@
"swapSelectQuotePopoverDescription": {
"message": "다음은 여러 유동성 소스에서 수집한 전체 견적입니다."
},
"swapSlippageTooLow": {
"message": "슬리패지는 0보다 커야 합니다."
},
"swapSource": {
"message": "유동성 소스"
},
@ -1732,9 +1702,6 @@
"message": "여러 토큰이 같은 이름과 기호를 사용할 수 있습니다. $1을 확인하여 이것이 원하는 토큰인지 확인하세요.",
"description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
},
"swapViewToken": {
"message": "$1 보기"
},
"swapYourTokenBalance": {
"message": "$1 $2 스왑 가능",
"description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
@ -1980,7 +1947,10 @@
"message": "당사의 하드웨어 지갑 연결 가이드"
},
"walletSeed": {
"message": "시드 구문"
"message": "계정 시드 구문"
},
"walletSeedRestore": {
"message": "지갑 계정 시드 구문"
},
"welcome": {
"message": "MetaMask 방문을 환영합니다"
@ -2008,7 +1978,7 @@
"message": "서명 중입니다."
},
"yourPrivateSeedPhrase": {
"message": "귀하의 비공개 시드 구문입니다."
"message": "비밀 백업 구문 확인"
},
"zeroGasPriceOnSpeedUpError": {
"message": "가속화 시 Gas 가격 0"

@ -308,9 +308,6 @@
"done": {
"message": "Atlikta"
},
"dontHaveAHardwareWallet": {
"message": "Nėra aparatinės įrangos slaptažodinės?"
},
"downloadGoogleChrome": {
"message": "Atsiunčiama „Google Chrome“"
},
@ -443,9 +440,6 @@
"message": "Gaukite eterių iš čiaupo $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Gaukite pagalbos."
},
"getStarted": {
"message": "Darbo pradžia"
},
@ -467,9 +461,6 @@
"hardwareWalletsMsg": {
"message": "Pasirinkite aparatinės įrangos slaptažodinę, kurią pageidaujate naudoti su „MetaTask“"
},
"havingTroubleConnecting": {
"message": "Kyla problemų susiejant?"
},
"here": {
"message": "čia",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -701,9 +692,6 @@
"optionalCurrencySymbol": {
"message": "Simbolis (nebūtinas)"
},
"orderOneHere": {
"message": "Užsisakykite „Trezor“ arba „Ledger“ ir laikykite savo lėšas šaltojoje saugykloje"
},
"origin": {
"message": "Kilmė"
},
@ -763,9 +751,6 @@
"readdToken": {
"message": "Šį žetoną galite bet kada galite įtraukti ir vėl, tiesiog savo paskyros parinkčių meniu nueikite į „Įtraukti žetoną“."
},
"readyToConnect": {
"message": "Pasirengę prisijungti?"
},
"recents": {
"message": "Naujausi"
},
@ -988,24 +973,6 @@
"stateLogsDescription": {
"message": "Būsenos žurnaluose yra jūsų viešos paskyros adresų ir išsiųstų operacijų."
},
"step1HardwareWallet": {
"message": "1. Prijunkite aparatinės įrangos slaptažodinę"
},
"step1HardwareWalletMsg": {
"message": "Prijunkite savo aparatinės įrangos slaptažodinę tiesiogiai prie savo kompiuterio."
},
"step2HardwareWallet": {
"message": "2. Pasirinkite paskyrą"
},
"step2HardwareWalletMsg": {
"message": "Pasirinkite norimą peržiūrėti sąskaitą. Vienu metu galima rinktis tik vieną."
},
"step3HardwareWallet": {
"message": "3. Pradėkite naudoti decentralizuotas programas ir daugiau!"
},
"step3HardwareWalletMsg": {
"message": "Naudokitės savo aparatinės įrangos paskyra kaip „Ethereum“ paskyra. Junkitės prie decentralizuotų programų, siųskite eterius, pirkite ir laikykite ERC20 žetonus ir nekeičiamus žetonus, tokius kaip „CryptoKitties“."
},
"storePhrase": {
"message": "Laikykite šią frazę slaptažodžių tvarkyklėje kaip 1 slaptažodį."
},

@ -308,9 +308,6 @@
"done": {
"message": "Pabeigts"
},
"dontHaveAHardwareWallet": {
"message": "Nav aparatūras maka?"
},
"downloadGoogleChrome": {
"message": "Lejupielādēt ar Google Chrome"
},
@ -439,9 +436,6 @@
"message": "Vai vēlaties $1 iegūt Ether no krāna?",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Saņemt palīdzību."
},
"getStarted": {
"message": "Sākt darbu"
},
@ -463,9 +457,6 @@
"hardwareWalletsMsg": {
"message": "Atlasiet aparatūras maku lietošanai ar MetaMask"
},
"havingTroubleConnecting": {
"message": "Neizdodas pieslēgties?"
},
"here": {
"message": "šeit",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -697,9 +688,6 @@
"optionalCurrencySymbol": {
"message": "Simbols (neobligāti)"
},
"orderOneHere": {
"message": "Pasūtiet Trezor vai Ledger un glabājiet savus līdzekļus aukstajā krātuvē"
},
"origin": {
"message": "Avots"
},
@ -759,9 +747,6 @@
"readdToken": {
"message": "Jūs varat šo marķieri iestatīt atpakaļ nākotnē, konta opciju izvēlnē atverot \"Pievienot marķieri\"."
},
"readyToConnect": {
"message": "Vai esat gatavi izveidot savienojumu?"
},
"recents": {
"message": "Nesenie"
},
@ -984,24 +969,6 @@
"stateLogsDescription": {
"message": "Statusa žurnāli ietver publisko kontu adreses un nosūtītos darījumus."
},
"step1HardwareWallet": {
"message": "1. Pieslēgt aparatūras maku"
},
"step1HardwareWalletMsg": {
"message": "Savienojiet aparatūras maku tieši ar datoru."
},
"step2HardwareWallet": {
"message": "2. Atlasiet kontu"
},
"step2HardwareWalletMsg": {
"message": "Atlasiet kontu, kuru vēlaties skatīt. Vienlaicīgi varat izvēlēties tikai vienu kontu."
},
"step3HardwareWallet": {
"message": "3. Sāciet izmantot dApps un citas funkcijas!"
},
"step3HardwareWalletMsg": {
"message": "Lietojiet aparatūras kontu līdzīgi citiem Ethereum kontiem. Pierakstieties dApps, sūtiet Eth, pērciet un glabājiet ERC20 žetonus un neatvietojamos žetonus, piemēram, CryptoKitties."
},
"storePhrase": {
"message": "Saglabājiet šo frāzi paroļu pārvaldniekā, piemēram, 1Password."
},

@ -305,9 +305,6 @@
"done": {
"message": "Selesai"
},
"dontHaveAHardwareWallet": {
"message": "Tiada dompet perkakasan?"
},
"downloadGoogleChrome": {
"message": "Muat Turun Google Chrome"
},
@ -433,9 +430,6 @@
"message": "Dapatkan Ether daripada pili untuk $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Dapatkan Bantuan."
},
"getStarted": {
"message": "Bermula"
},
@ -457,9 +451,6 @@
"hardwareWalletsMsg": {
"message": "Pilih dompet perkakasan yang anda ingin gunakan dengan MetaMask"
},
"havingTroubleConnecting": {
"message": "Mengalami masalah untuk menyambungkan?"
},
"here": {
"message": "di sini",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -678,9 +669,6 @@
"optionalCurrencySymbol": {
"message": "Simbol (pilihan)"
},
"orderOneHere": {
"message": "Pesan Trezor atau Ledger dan simpan dana anda di dalam storan sejuk"
},
"origin": {
"message": "Asal"
},
@ -740,9 +728,6 @@
"readdToken": {
"message": "Anda boleh tambah token ini kembali pada masa depan dengan pergi ke \"Tambah token\" di dalam menu pilihan akaun anda."
},
"readyToConnect": {
"message": "Bersedia Menyambung?"
},
"recents": {
"message": "Baru-baru ini"
},
@ -965,24 +950,6 @@
"stateLogsDescription": {
"message": "Log keadaan mengandungi alamat akaun awam anda dan transaksi dihantar."
},
"step1HardwareWallet": {
"message": "1. Sambungkan Dompet Perkakasan"
},
"step1HardwareWalletMsg": {
"message": "Sambungkan dompet perkakasan anda terus kepada komputer anda."
},
"step2HardwareWallet": {
"message": "2. Pilih Akaun"
},
"step2HardwareWalletMsg": {
"message": "Pilih akaun yang anda mahu lihat. Anda hanya boleh memilih satu pada suatu masa."
},
"step3HardwareWallet": {
"message": "3. Mula menggunakan dApps dan banyak lagi!"
},
"step3HardwareWalletMsg": {
"message": "Gunakan akaun perkakasan anda sepertimana anda menggunakan akaun Ethereum. Log masuk ke dalam dApps, hantar Eth, beli dan simpan token ERC20 serta token Tidak Mudah Tukar seperti CryptoKitties."
},
"storePhrase": {
"message": "Simpan ungkapan ini di dalam pengurus kata laluan seperti 1Password."
},

@ -305,9 +305,6 @@
"done": {
"message": "Ferdig"
},
"dontHaveAHardwareWallet": {
"message": "Har du ikke en hardware-lommebok?"
},
"downloadGoogleChrome": {
"message": "Last ned Google Chrome "
},
@ -436,9 +433,6 @@
"message": "Få Ether fra en kran for $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Få hjelp."
},
"getStarted": {
"message": "Kom i gang"
},
@ -457,9 +451,6 @@
"hardwareWalletsMsg": {
"message": "Velg maskinvarelommeboken som du vil bruke med MetaMask"
},
"havingTroubleConnecting": {
"message": "Har du problemer med å koble til?"
},
"here": {
"message": "her",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -688,9 +679,6 @@
"optionalCurrencySymbol": {
"message": "Symbol (valgfritt)"
},
"orderOneHere": {
"message": "Bestill en Trezor eller Ledger og oppbevar midlene dine i kjølerom"
},
"origin": {
"message": "Opprinnelse"
},
@ -750,9 +738,6 @@
"readdToken": {
"message": "Du kan legge til dette tokenet igjen i fremtiden ved å gå til \"Legg til token\" i menyen for kontoalternativer."
},
"readyToConnect": {
"message": "Klar til å koble til?"
},
"recents": {
"message": "Nylige"
},
@ -969,24 +954,6 @@
"stateLogsDescription": {
"message": "Tilstandslogger inneholder de offentlige kontoadressene og sendte transaksjoner."
},
"step1HardwareWallet": {
"message": "1. Koble til maskinvarelommebok"
},
"step1HardwareWalletMsg": {
"message": "Koble hardware-lommebok din direkte til datamaskinen din."
},
"step2HardwareWallet": {
"message": "2. Velg en konto"
},
"step2HardwareWalletMsg": {
"message": "Velg den kontoen du ønsker å se. Du kan bare velge en av gangen."
},
"step3HardwareWallet": {
"message": "3. Begynn å bruke dApps mer! "
},
"step3HardwareWalletMsg": {
"message": "Bruk hardware-kontoen din slik du ville gjort med enhver Ethereumkonto. Logg på dApps, send Eth, kjøp og lagre ERC20-tokener og ikke-fungible tokener som CryptoKitties."
},
"storePhrase": {
"message": "Lagre denne frasen i en passordbehandler slik som 1Password."
},

@ -308,9 +308,6 @@
"done": {
"message": "Gotowe"
},
"dontHaveAHardwareWallet": {
"message": "Nie masz portfela sprzętowego?"
},
"downloadGoogleChrome": {
"message": "Ściągnij Google Chrome"
},
@ -443,9 +440,6 @@
"message": "Zdobądź Eter ze źródła za $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Po pomoc."
},
"getStarted": {
"message": "Rozpocznij"
},
@ -467,9 +461,6 @@
"hardwareWalletsMsg": {
"message": "Wybierz portfel sprzętowy, którego chcesz użyć z MetaMaskiem"
},
"havingTroubleConnecting": {
"message": "Problem z połączeniem?"
},
"here": {
"message": "tutaj",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -695,9 +686,6 @@
"optionalCurrencySymbol": {
"message": "Symbol (opcjonalnie)"
},
"orderOneHere": {
"message": "Zamów Trezor lub Ledger i trzymaj swoje środki w portfelu sprzętowym."
},
"origin": {
"message": "Pochodzenie"
},
@ -757,9 +745,6 @@
"readdToken": {
"message": "Możesz później ponownie dodać ten token poprzez \"Dodaj token\" w opcjach menu swojego konta."
},
"readyToConnect": {
"message": "Gotowy na połączenie?"
},
"recents": {
"message": "Ostatnie"
},
@ -982,24 +967,6 @@
"stateLogsDescription": {
"message": "Logi stanów zawierają Twoje publiczne adresy kont i wykonanych transakcji."
},
"step1HardwareWallet": {
"message": "1. Podłącz portfel sprzętowy"
},
"step1HardwareWalletMsg": {
"message": "Połącz swój portfel sprzętowy z komputerem."
},
"step2HardwareWallet": {
"message": "2. Wybierz konto"
},
"step2HardwareWalletMsg": {
"message": "Wybierz konto, które chcesz przeglądać. Możesz wybrać tylko jedno konto w danym momencie."
},
"step3HardwareWallet": {
"message": "3. Zacznij używać dystrybuowanych aplikacji (dApps) i wiele więcej!"
},
"step3HardwareWalletMsg": {
"message": "Używaj swojego konta sprzętowego tak, jak używasz jakiegokolwiek konta z Ethereum. Loguj się do dystrybuowanych aplikacji (dApps), wysyłaj Eth, kupuj i przechowaj tokeny ERC20 i niewymienne tokeny, jak np. CryptoKitties."
},
"storePhrase": {
"message": "Przechowuj tę frazę w menedżerze haseł, takim jak 1Password."
},

@ -299,12 +299,12 @@
"directDepositEtherExplainer": {
"message": "Se você já tem Ether, a forma mais rápida de colocá-lo em sua nova carteira é o depósito direto."
},
"dismissReminderDescriptionField": {
"message": "Ative isso para descartar a mensagem de lembrete de backup da frase de recuperação. Recomendamos enfaticamente que você faça o backup da sua Frase de recuperação secreta para evitar perda de fundos"
},
"done": {
"message": "Concluído"
},
"dontHaveAHardwareWallet": {
"message": "Não tem uma carteira física?"
},
"downloadGoogleChrome": {
"message": "Baixar Google Chrome"
},
@ -324,7 +324,7 @@
"message": "Editar Contato"
},
"endOfFlowMessage1": {
"message": "Você passou no teste — mantenha sua frase semente segura, a responsabilidade é sua!"
"message": "Você passou no teste. Guarde sua Frase de recuperação secreta em segurança, é sua responsabilidade!"
},
"endOfFlowMessage10": {
"message": "Pronto"
@ -339,13 +339,13 @@
"message": "Nunca compartilhe a frase com ninguém."
},
"endOfFlowMessage5": {
"message": "Cuidado com o phishing! O MetaMask nunca solicitará espontaneamente sua frase semente."
"message": "Cuidado com phishing! O MetaMask jamais pedirá espontaneamente sua Frase de recuperação secreta."
},
"endOfFlowMessage6": {
"message": "Se precisar fazer backup de sua frase-semente de novo, acesse Configurações -> Segurança."
"message": "Se você precisar fazer backup da sua Frase de recuperação secreta novamente, encontre-a em Configurações -> Segurança."
},
"endOfFlowMessage8": {
"message": "O MetaMask não pode recuperar sua frase semente. Saiba mais."
"message": "O MetaMask não pode recuperar sua Frase de recuperação secreta."
},
"endOfFlowMessage9": {
"message": "Saiba mais."
@ -437,9 +437,6 @@
"message": "Obtenha Ether em uma torneira para $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Obtenha Ajuda."
},
"getStarted": {
"message": "Primeiros passos"
},
@ -461,9 +458,6 @@
"hardwareWalletsMsg": {
"message": "Selecione um hardware que gostaria de utilizar com o MetaMask"
},
"havingTroubleConnecting": {
"message": "Está tendo dificuldade para se conectar?"
},
"here": {
"message": "aqui",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -487,15 +481,21 @@
"importAccount": {
"message": "Importar Conta"
},
"importAccountLinkText": {
"message": "importar usando a Frase de recuperação secreta"
},
"importAccountMsg": {
"message": "As contas importadas não serão associadas à sua frase-semente da conta MetaMask criada originalmente. Saiba mais sobre contas importadas"
"message": " As contas importadas não estarão associadas à Frase de recuperação secreta da conta do MetaMask criada originalmente. Saiba mais sobre as contas importadas "
},
"importAccountSeedPhrase": {
"message": "Importar uma Conta com Frase-semente"
"message": "Importe uma conta com a Frase de recuperação secreta"
},
"importWallet": {
"message": "Importar Carteira"
},
"importYourExisting": {
"message": "Importar a carteira existente usando uma Frase de recuperação secreta"
},
"imported": {
"message": "Importado",
"description": "status showing that an account has been fully loaded into the keyring"
@ -528,7 +528,7 @@
"message": "URL de RPC inválida"
},
"invalidSeedPhrase": {
"message": "Frase semente inválida"
"message": "Frase de recuperação secreta inválida"
},
"jsonFile": {
"message": "Arquivo JSON",
@ -654,7 +654,7 @@
"message": "Nenhum endereço foi definido para este nome."
},
"noAlreadyHaveSeed": {
"message": "Não, eu já tenho uma frase semente"
"message": "Não, eu já tenho uma Frase de recuperação secreta"
},
"noConversionRateAvailable": {
"message": "Nenhuma Taxa de Conversão Disponível"
@ -689,9 +689,6 @@
"optionalCurrencySymbol": {
"message": "Símbolo (opcional)"
},
"orderOneHere": {
"message": "Peça uma Trezor ou Ledger e guarde seus fundos off-line"
},
"origin": {
"message": "Origem"
},
@ -751,9 +748,6 @@
"readdToken": {
"message": "Você pode adicionar esse token novamente no futuro acessando \"Adicionar token\" no menu de opções da sua conta."
},
"readyToConnect": {
"message": "Pronto para Conectar?"
},
"recents": {
"message": "Recentes"
},
@ -788,7 +782,7 @@
"message": "Remover conta"
},
"removeAccountDescription": {
"message": "Esta conta será removida de sua carteira. Verifique se você tem a frase-semente original ou a chave particular desta conta importada antes de continuar. Você pode importar ou criar contas novamente no menu suspenso da conta."
"message": "Esta conta será removida da sua carteira. Antes de continuar, você precisa garantir que tem a Frase de recuperação secreta original ou chave privada para esta conta importada. Você pode importar ou criar contas novamente a partir do menu suspenso da conta. "
},
"requestsAwaitingAcknowledgement": {
"message": "solicitações aguardando confirmação"
@ -803,22 +797,22 @@
"message": "Redefinir Conta"
},
"resetAccountDescription": {
"message": "Restabelecer a sua conta limpará todo o seu histórico de transações."
"message": "Redefinir sua conta limpará o histórico de transações. Isso não alterará os saldos nas suas contas nem exigirá a reinserção da Frase de recuperação secreta."
},
"restore": {
"message": "Restaurar"
},
"restoreAccountWithSeed": {
"message": "Restaurar sua conta com a frase semente"
"message": "Restaure sua conta com a Frase de recuperação secreta"
},
"revealSeedWords": {
"message": "Revelar Palavras-semente"
"message": "Revelar Frase de recuperação secreta"
},
"revealSeedWordsDescription": {
"message": "Se você mudar de navegador ou computador, precisará dessa frase semente para acessar suas contas. Salve-as em algum lugar seguro e secreto."
"message": "Se você alguma vez mudou de navegador ou trocou de computador, precisará dessa Frase de recuperação secreta para acessar suas contas. Salve-as em um lugar seguro e secreto."
},
"revealSeedWordsTitle": {
"message": "Frase Semente"
"message": "Frase de recuperação secreta"
},
"revealSeedWordsWarning": {
"message": "Essas palavras podem ser usadas para roubar todas as suas contas."
@ -869,13 +863,16 @@
"message": "Segurança & Privacidade"
},
"securitySettingsDescription": {
"message": "Configurações de privacidade e frase-semente da carteira"
"message": "Configurações de privacidade e Frase de recuperação secreta"
},
"seedPhrasePlaceholder": {
"message": "Separe cada palavra com um único espaço"
},
"seedPhrasePlaceholderPaste": {
"message": "Cole a Frase de recuperação secreta da área de transferência"
},
"seedPhraseReq": {
"message": "As frases-semente têm 12 palavras"
"message": "As Frases de recuperação secreta contêm 12, 15, 18, 21 ou 24 palavras"
},
"selectAHigherGasFee": {
"message": "Selecione uma taxa de gás mais alta para acelerar o processamento de sua transação.*"
@ -937,6 +934,9 @@
"showPrivateKeys": {
"message": "Mostrar Chaves Privadas"
},
"showSeedPhrase": {
"message": "Mostrar Frase de recuperação secreta"
},
"sigRequest": {
"message": "Solicitação de Assinatura"
},
@ -976,24 +976,6 @@
"stateLogsDescription": {
"message": "Os registros de estado contêm seus endereços de conta pública e transações enviadas."
},
"step1HardwareWallet": {
"message": "1. Conectar Carteira Física"
},
"step1HardwareWalletMsg": {
"message": "Conecte sua carteira de hardware diretamente ao seu computador."
},
"step2HardwareWallet": {
"message": "2. Selecione uma Conta"
},
"step2HardwareWalletMsg": {
"message": "Selecione a conta que você deseja ver. Você só pode escolher uma por vez."
},
"step3HardwareWallet": {
"message": "3. Comece a usar dApps e muito mais!"
},
"step3HardwareWalletMsg": {
"message": "Use sua conta física como faria com qualquer conta de Ethereum. Faça login em dApps, envie Eth, compre e guarde tokens ERC20 e Tokens Não Fungíveis, como CryptoKitties."
},
"storePhrase": {
"message": "Guarde esta frase em um gerenciador de senhas como o 1Password."
},
@ -1040,7 +1022,7 @@
"message": "Torneira de Testes"
},
"thisWillCreate": {
"message": "Isso criará uma nova carteira e frase-semente"
"message": "Isso criará uma nova carteira e Frase de recuperação secreta"
},
"tips": {
"message": "Doações"
@ -1173,7 +1155,10 @@
"message": "Visite nosso site"
},
"walletSeed": {
"message": "Semente da Carteira"
"message": "Frase de recuperação secreta"
},
"walletSeedRestore": {
"message": "Frase de recuperação secreta da carteira"
},
"welcome": {
"message": "Bem-vindo ao MetaMask"
@ -1194,7 +1179,7 @@
"message": "Você está assinando"
},
"yourPrivateSeedPhrase": {
"message": "Sua frase-semente particular"
"message": "Sua Frase de recuperação secreta privada"
},
"zeroGasPriceOnSpeedUpError": {
"message": "Preço de Gas zero na agilização"

@ -308,9 +308,6 @@
"done": {
"message": "Efectuat"
},
"dontHaveAHardwareWallet": {
"message": "Nu aveți portofel hardware?"
},
"downloadGoogleChrome": {
"message": "Descărcare Google Chrome"
},
@ -436,9 +433,6 @@
"message": "Obțineți Ether de la un robinet pentru $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Obțineți ajutor."
},
"getStarted": {
"message": "Începe"
},
@ -457,9 +451,6 @@
"hardwareWalletsMsg": {
"message": "Selectați un portofel hardware pe care doriți să îl folosiți cu MetaMask"
},
"havingTroubleConnecting": {
"message": "Aveți probleme cu conectarea?"
},
"here": {
"message": "aici",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -688,9 +679,6 @@
"optionalCurrencySymbol": {
"message": "Simbol (opțional)"
},
"orderOneHere": {
"message": "Comandați Trezor sau Ledger și țineți-vă fondurile la rece"
},
"origin": {
"message": "Origine"
},
@ -750,9 +738,6 @@
"readdToken": {
"message": "Puteți adăuga din nou acest indicativ în viitor accesând „Adăugați indicativ” din meniul de opțiuni al contului dvs."
},
"readyToConnect": {
"message": "Gata de conectare?"
},
"recents": {
"message": "Recente"
},
@ -975,24 +960,6 @@
"stateLogsDescription": {
"message": "Jurnalele de stare conțin adresele contului dvs. public și tranzacțiile trimise."
},
"step1HardwareWallet": {
"message": "1. Conectați portofel hardware"
},
"step1HardwareWalletMsg": {
"message": "Conectați portofelul hardware direct la computer."
},
"step2HardwareWallet": {
"message": "2. Selectați un cont"
},
"step2HardwareWalletMsg": {
"message": "Selectați contul pe care vreți să îl vizualizați. Puteți alege doar câte unul odată."
},
"step3HardwareWallet": {
"message": "3. Începeți să folosiți dApps și altele!"
},
"step3HardwareWalletMsg": {
"message": "Folosiți-vă contul hardware la fel ca pe orice cont Ethereum. Conectați-vă la dApps, trimiteți Eth, cumpărați și stocați tokenuri ERC20 și tokenuri non-fungibile precum CryptoKitties."
},
"storePhrase": {
"message": "Păstrați această expresie într-un program de gestionare a parolelor cum ar fi 1Password."
},

@ -488,12 +488,12 @@
"dismiss": {
"message": "Отклонить"
},
"dismissReminderDescriptionField": {
"message": "Включите этот параметр, чтобы отклонить сообщение с напоминанием о резервном копировании фразы восстановления. Мы настоятельно рекомендуем сделать резервную копию секретной фразы восстановления, чтобы избежать потери средств"
},
"done": {
"message": "Выполнено"
},
"dontHaveAHardwareWallet": {
"message": "У вас нет аппаратного кошелька?"
},
"dontShowThisAgain": {
"message": "Больше не показывать это сообщение"
},
@ -526,7 +526,7 @@
"message": "Запросить открытый ключ шифрования."
},
"endOfFlowMessage1": {
"message": "Вы прошли тест — храните свою исходную фразу в безопасности, это ваша ответственность!"
"message": "Вы прошли тест — храните свою секретную фразу восстановления в безопасности, это ваша ответственность!"
},
"endOfFlowMessage10": {
"message": "Выполнено"
@ -541,13 +541,13 @@
"message": "Никогда не говорите никому эту фразу."
},
"endOfFlowMessage5": {
"message": "Остерегайтесь фишинга! MetaMask никогда неожиданно не запросит вашу исходную фразу."
"message": "Остерегайтесь фишинга! MetaMask никогда неожиданно не запросит вашу секретную фразу восстановления."
},
"endOfFlowMessage6": {
"message": "Если вам нужно снова создать резервную копию исходной фразы, вы можете найти ее в Настройки -> Безопасность."
"message": "Если вам нужно снова создать резервную копию секретной фразы восстановления, вы можете найти ее в Настройки -> Безопасность."
},
"endOfFlowMessage8": {
"message": "Просто помните, что MetaMask не может восстановить исходную фразу."
"message": "Просто помните, что MetaMask не может восстановить секретную фразу восстановления."
},
"endOfFlowMessage9": {
"message": "Дополнительная информация"
@ -718,9 +718,6 @@
"message": "Получите Ether из крана для $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Получить справку."
},
"getStarted": {
"message": "Начать работу"
},
@ -742,9 +739,6 @@
"hardwareWalletsMsg": {
"message": "Выберите аппаратный кошелек, который вы хотите использовать с MetaMask"
},
"havingTroubleConnecting": {
"message": "Проблемы с подключением?"
},
"here": {
"message": "здесь",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -772,15 +766,21 @@
"importAccount": {
"message": "Импортировать счет"
},
"importAccountLinkText": {
"message": "импортировать с использованием секретной фразы восстановления"
},
"importAccountMsg": {
"message": " Импортированные счета не будут связаны с исходной фразой вашей изначально созданного счета MetaMask. Узнайте больше об импортированных счетах "
"message": " Импортированные счета не будут связаны с секретной фразой восстановления вашего изначально созданного счета MetaMask. Узнайте больше об импортированных счетах "
},
"importAccountSeedPhrase": {
"message": "Импортировать счет с исходной фразой"
"message": "Импортировать счет с секретной фразой восстановления"
},
"importWallet": {
"message": "Импортировать кошелек"
},
"importYourExisting": {
"message": "Импортируйте существующий кошелек, используя начальную секретную фразу восстановления"
},
"imported": {
"message": "Импортированный",
"description": "status showing that an account has been fully loaded into the keyring"
@ -842,7 +842,7 @@
"message": "Недействительный URL-адрес RPC"
},
"invalidSeedPhrase": {
"message": "Неверная исходная фраза"
"message": "Недействительная секретная фраза восстановления"
},
"ipfsGateway": {
"message": "Шлюз IPFS"
@ -1042,7 +1042,7 @@
"message": "Для этого имени не задан адрес."
},
"noAlreadyHaveSeed": {
"message": "Нет, у меня уже есть исходная фраза"
"message": "Нет, у меня уже есть секретная фраза восстановления"
},
"noConversionRateAvailable": {
"message": "Нет доступного курса обмена"
@ -1108,9 +1108,6 @@
"optionalCurrencySymbol": {
"message": "Символ валюты (необязательно)"
},
"orderOneHere": {
"message": "Закажите Trezor или Ledger и храните свои средства в холодном хранилище"
},
"origin": {
"message": "Источник"
},
@ -1192,9 +1189,6 @@
"readdToken": {
"message": "Вы можете снова добавить этот токен в будущем, выбрав «Добавить токен» в меню опций вашего счета."
},
"readyToConnect": {
"message": "Готовы подключиться?"
},
"receive": {
"message": "Получить"
},
@ -1232,7 +1226,7 @@
"message": "Удалить счет"
},
"removeAccountDescription": {
"message": "Этот счет будет удален из вашего кошелька. Перед продолжением убедитесь, что у вас есть исходная фраза или закрытый ключ для этой импортированного счета. Вы можете импортировать или снова создать счета из раскрывающегося списка. "
"message": "Этот счет будет удален из вашего кошелька. Перед продолжением убедитесь, что у вас есть секретная фраза восстановления или закрытый ключ для этой импортированного счета. Вы можете импортировать или снова создать счета из раскрывающегося списка. "
},
"requestsAwaitingAcknowledgement": {
"message": "запросы, ожидающие подтверждения"
@ -1247,13 +1241,13 @@
"message": "Сбросить счет"
},
"resetAccountDescription": {
"message": "Сброс вашего счета удалит историю транзакций. Это не изменит остатки на ваших счетах и не потребует повторного ввода исходной фразы."
"message": "Сброс вашего счета удалит историю транзакций. Это не изменит остатки на ваших счетах и не потребует повторного ввода секретной фразы восстановления."
},
"restore": {
"message": "Восстановить"
},
"restoreAccountWithSeed": {
"message": "Восстановите свой счет с помощью исходной фразы"
"message": "Восстановите свой счет с помощью секретной фразы восстановления"
},
"restoreWalletPreferences": {
"message": "Найдена резервная копия ваших данных из $1. Хотите восстановить настройки кошелька?",
@ -1266,13 +1260,13 @@
"message": "Токен здесь повторно использует символ из другого токена, который вы смотрите, это может запутать или ввести в заблуждение."
},
"revealSeedWords": {
"message": "Раскрыть исходную фразу"
"message": "Показать секретную фразу восстановления"
},
"revealSeedWordsDescription": {
"message": "Если вы меняете браузер или переходите на другой компьютер, вам понадобится эта исходная фраза для доступа к своим счетам. Сохраните ее в безопасном секретном месте."
"message": "Если вы меняете браузер или переходите на другой компьютер, вам понадобится эта секретная фраза восстановления для доступа к своим счетам. Сохраните ее в безопасном секретном месте."
},
"revealSeedWordsTitle": {
"message": "Исходная фраза"
"message": "Секретная фраза восстановления"
},
"revealSeedWordsWarning": {
"message": "Эти слова можно использовать для кражи всех ваших счетов."
@ -1329,16 +1323,16 @@
"message": "Безопасность и конфиденциальность"
},
"securitySettingsDescription": {
"message": "Настройки конфиденциальности и исходная фраза кошелька"
"message": "Настройки конфиденциальности и секретная фраза восстановления кошелька"
},
"seedPhrasePlaceholder": {
"message": "Отделяйте каждое слово одним пробелом"
},
"seedPhrasePlaceholderPaste": {
"message": "Вставить исходную фразу из буфера обмена"
"message": "Вставить секретную фразу восстановления из буфера обмена"
},
"seedPhraseReq": {
"message": "Исходные фразы содержат 12, 15, 18, 21 или 24 слова"
"message": "Секретные фразы восстановления содержат 12, 15, 18, 21 или 24 слова"
},
"selectAHigherGasFee": {
"message": "Выберите более высокую плату за топливо, чтобы ускорить обработку транзакции. *"
@ -1423,7 +1417,7 @@
"message": "Показать закрытые ключи"
},
"showSeedPhrase": {
"message": "Показать исходную фразу"
"message": "Показать секретную фразу восстановления"
},
"sigRequest": {
"message": "Запрос на подпись"
@ -1495,24 +1489,6 @@
"statusNotConnected": {
"message": "Не подключен"
},
"step1HardwareWallet": {
"message": "1. Подключить аппаратный кошелек"
},
"step1HardwareWalletMsg": {
"message": "Подключите свой аппаратный кошелек напрямую к компьютеру."
},
"step2HardwareWallet": {
"message": "2. Выберите счет"
},
"step2HardwareWalletMsg": {
"message": "Выберите желаемый счет для просмотра. Вы можете выбирать только по одному."
},
"step3HardwareWallet": {
"message": "3. Начните использовать сайты web3 и другое!"
},
"step3HardwareWalletMsg": {
"message": "Используйте свой аппаратный счет, как обычный счет Ethereum. Подключайтесь к сайтам web3, отправляйте ETH, покупайте и храните токены ERC20 и незаменяемые токены, такие как CryptoKitties."
},
"storePhrase": {
"message": "Сохраните эту фразу в диспетчере паролей, например в 1Password."
},
@ -1597,9 +1573,6 @@
"swapFinalizing": {
"message": "Завершение..."
},
"swapHighSlippageWarning": {
"message": "Величина проскальзывания очень велика. Убедитесь, что вы знаете, что делаете!"
},
"swapLowSlippageError": {
"message": "Транзакции могут завершиться неудачей, максимальное проскальзывание слишком мало."
},
@ -1693,9 +1666,6 @@
"swapSelectQuotePopoverDescription": {
"message": "Ниже приведены все котировки, собранные из нескольких источников ликвидности."
},
"swapSlippageTooLow": {
"message": "Проскальзывание должно быть больше нуля"
},
"swapSource": {
"message": "Источник ликвидности"
},
@ -1732,9 +1702,6 @@
"message": "Несколько токенов могут использовать одно и то же имя и символ. Проверьте $1, чтобы убедиться, что это именно тот токен, который вы ищете.",
"description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
},
"swapViewToken": {
"message": "Просмотреть $1"
},
"swapYourTokenBalance": {
"message": "$1 $2 доступны для свопа",
"description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
@ -1807,7 +1774,7 @@
"message": "Тестовый кран"
},
"thisWillCreate": {
"message": "Это создаст новый кошелек и начальную фразу"
"message": "Это создаст новый кошелек и секретную фразу восстановления"
},
"tips": {
"message": "Советы"
@ -1980,7 +1947,10 @@
"message": "наше руководство по подключению аппаратного кошелька"
},
"walletSeed": {
"message": "Исходная фраза"
"message": "Секретная фраза восстановления"
},
"walletSeedRestore": {
"message": "Секретная фраза восстановления кошелька"
},
"welcome": {
"message": "Добро пожаловать в MetaMask"
@ -2008,7 +1978,7 @@
"message": "Вы подписываете"
},
"yourPrivateSeedPhrase": {
"message": "Ваша личная исходная фраза"
"message": "Ваша личная секретная фраза восстановления"
},
"zeroGasPriceOnSpeedUpError": {
"message": "Нулевая цена на топливо при ускорении"

@ -302,9 +302,6 @@
"done": {
"message": "Hotovo"
},
"dontHaveAHardwareWallet": {
"message": "Nemáte hardvérovú peňaženku?"
},
"downloadGoogleChrome": {
"message": "Stiahnuť Google Chrome"
},
@ -437,9 +434,6 @@
"message": "Získejte Ether z faucetu za $1.",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Získajte pomoc."
},
"getStarted": {
"message": "Začať"
},
@ -461,9 +455,6 @@
"hardwareWalletsMsg": {
"message": "Vyberte hardvérovú peňaženku, ktorú chcete používať s MetaMask"
},
"havingTroubleConnecting": {
"message": "Máte problémy s pripojením?"
},
"here": {
"message": "zde",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -670,9 +661,6 @@
"optionalCurrencySymbol": {
"message": "Symbol (voliteľné)"
},
"orderOneHere": {
"message": "Objednajte si Trezor alebo Hlavnú knihu a uschovajte svoje prostriedky v sklade"
},
"origin": {
"message": "Pôvod"
},
@ -732,9 +720,6 @@
"readdToken": {
"message": "Tento token můžete v budoucnu přidat zpět s „Přidat token“ v nastavení účtu."
},
"readyToConnect": {
"message": "Pripravení na pripojenie?"
},
"recents": {
"message": "Posledné"
},
@ -951,24 +936,6 @@
"stateLogsDescription": {
"message": "Stavové protokoly obsahují vaše veřejné adresy účtů a odeslané transakce."
},
"step1HardwareWallet": {
"message": "1. Pripojiť hardvérovú peňaženku"
},
"step1HardwareWalletMsg": {
"message": "Pripojte hardvérovú peňaženku priamo k počítaču."
},
"step2HardwareWallet": {
"message": "2. Vybrať účet"
},
"step2HardwareWalletMsg": {
"message": "Vyberte účet, ktorý chcete zobraziť. Naraz si môžete vybrať iba jeden."
},
"step3HardwareWallet": {
"message": "3. Začať používať dApps a ďalšie!"
},
"step3HardwareWalletMsg": {
"message": "Použite svoj hardvérový účet, ako keby ste použili akýkoľvek účet Ethereum. Prihláste sa do Dapps, pošlite Eth, nakupujte a ukladajte tokeny ERC20 a nezameniteľné tokeny ako CryptoKitties."
},
"storePhrase": {
"message": "Túto frázu uložte do správcu hesiel ako 1Password."
},

@ -308,9 +308,6 @@
"done": {
"message": "Končano"
},
"dontHaveAHardwareWallet": {
"message": "Nimate strojne denarnice?"
},
"downloadGoogleChrome": {
"message": "Prenesi Google Chrome"
},
@ -461,9 +458,6 @@
"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)"
@ -686,9 +680,6 @@
"optionalCurrencySymbol": {
"message": "Simbol (nezahtevano)"
},
"orderOneHere": {
"message": "Naročite Trezor ali Ledger i n zavarujte svoje premoženje s strojno denarnico"
},
"origin": {
"message": "Izvor"
},
@ -748,9 +739,6 @@
"readdToken": {
"message": "Ta žeton lahko dodate tudi kasneje z uporabo gumba “Dodaj žeton” v možnostih vašega računa."
},
"readyToConnect": {
"message": "Pripravljeni na povezovanje?"
},
"recents": {
"message": "Nedavno"
},
@ -970,24 +958,6 @@
"stateLogsDescription": {
"message": "State vsebujejo vaš javni nasklov in zgodovino transakcij."
},
"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."
},
"storePhrase": {
"message": "To geslo shranite v upravitelja gesel, kot je 1Password."
},

@ -305,9 +305,6 @@
"done": {
"message": "Gotovo"
},
"dontHaveAHardwareWallet": {
"message": "Nemate hardverski novčanik?"
},
"downloadGoogleChrome": {
"message": "Preuzmi Google Chrome"
},
@ -440,9 +437,6 @@
"message": "Preuzmite Ether sa slavine za $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Potražite pomoć."
},
"getStarted": {
"message": "Започнимо"
},
@ -464,9 +458,6 @@
"hardwareWalletsMsg": {
"message": "Izaberite hardverski novčanik koji biste voleli da koristite sa MetaMask-om"
},
"havingTroubleConnecting": {
"message": "Da li imate problem sa povezivanjem?"
},
"here": {
"message": "ovde",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -692,9 +683,6 @@
"optionalCurrencySymbol": {
"message": "Simbol (opciono)"
},
"orderOneHere": {
"message": "Naručite Trezor ili Ledger i čuvajte svoja sredstva u hladnom skladištu"
},
"origin": {
"message": "Извор"
},
@ -754,9 +742,6 @@
"readdToken": {
"message": "U budućnosti možete vratiti ovaj token tako što ćete otvoriti „Dodaj token“ u meniju opcija vašeg naloga."
},
"readyToConnect": {
"message": "Spremni za povezivanje?"
},
"recents": {
"message": "Skorašnje"
},
@ -979,24 +964,6 @@
"stateLogsDescription": {
"message": "Dnevnici stanja sadrže adrese vaših javnih naloga i poslatih transakcija."
},
"step1HardwareWallet": {
"message": "1. Poveži hardverski novčanik"
},
"step1HardwareWalletMsg": {
"message": "Povežite svoj hardverski novčanik direktno sa kompjuterom."
},
"step2HardwareWallet": {
"message": "2. Izaberite nalog"
},
"step2HardwareWalletMsg": {
"message": "Izaberite nalog koji želite da pogledatee. Možete izabrati samo po jedan nalog."
},
"step3HardwareWallet": {
"message": "3. Počnite da koristite dApps i još mnogo toga!"
},
"step3HardwareWalletMsg": {
"message": "Koristite nalog na vašem hardveru isto onako kako biste koristili bilo koji Ethereum nalog. Prijavite se na dApps, šaljite Eth, kupujte i skladištite ERC20 tokene i nezamenljive tokene poput CryptoKitties."
},
"storePhrase": {
"message": "Čuvajte ovaj izraz u menadžeru šifri kao što je 1Password."
},

@ -302,9 +302,6 @@
"done": {
"message": "Klart"
},
"dontHaveAHardwareWallet": {
"message": "Har du inte en hårdvaruplånbok?"
},
"downloadGoogleChrome": {
"message": "Ladda ner Google Chrome"
},
@ -433,9 +430,6 @@
"message": "Få Ether från en kran för $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Få hjälp."
},
"getStarted": {
"message": "Komma igång"
},
@ -457,9 +451,6 @@
"hardwareWalletsMsg": {
"message": "Välj en hårdvaruplånbok som du vill använda med MetaMask"
},
"havingTroubleConnecting": {
"message": "Har du problem att ansluta?"
},
"here": {
"message": "här",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -685,9 +676,6 @@
"optionalCurrencySymbol": {
"message": "Symbol (frivillig)"
},
"orderOneHere": {
"message": "Beställ en Trezor eller Ledger och håll dina medel på is"
},
"origin": {
"message": "Ursprung"
},
@ -747,9 +735,6 @@
"readdToken": {
"message": "Du kan lägga till denna token i framtiden genom att välja \"Lägg till token\" i kontots alternativmeny."
},
"readyToConnect": {
"message": "Redo att ansluta?"
},
"recents": {
"message": "Senaste"
},
@ -972,24 +957,6 @@
"stateLogsDescription": {
"message": "Statusloggar innehåller dina publika kontoadresser och skickade transaktioner."
},
"step1HardwareWallet": {
"message": "1. Anslut hårdvaruplånbok"
},
"step1HardwareWalletMsg": {
"message": "Koppla din hårdvaruplånbok direkt till din dator"
},
"step2HardwareWallet": {
"message": "2. Välj ett konto"
},
"step2HardwareWalletMsg": {
"message": "Välj det konto du vill visa. Du kan bara välja ett åt gången."
},
"step3HardwareWallet": {
"message": "3. Börja använda dApps och mer!"
},
"step3HardwareWalletMsg": {
"message": "Använd ditt hårdvarukonto som du skulle använda andra Ethereum-konton. Logga in i dAppar, skicka ETH, köp och förvara ERC20-tokens och Non-Fungible tokens som CryptoKitties."
},
"storePhrase": {
"message": "Lagra denna fras i en lösenordshanterare såsom 1Password."
},

@ -302,9 +302,6 @@
"done": {
"message": "Imekamilika"
},
"dontHaveAHardwareWallet": {
"message": "Huna waleti ya programu maunzi?"
},
"downloadGoogleChrome": {
"message": "Pakua Google chrome"
},
@ -433,9 +430,6 @@
"message": "Pata Ether kutoka kwenye mfereji $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Pata Msaada"
},
"getStarted": {
"message": "Anza"
},
@ -457,9 +451,6 @@
"hardwareWalletsMsg": {
"message": "Chagua waleti ya programu maunzi ambayo ungependa kutumia kwenye MetaMask"
},
"havingTroubleConnecting": {
"message": "Je, unapata shida kuunganisha?"
},
"here": {
"message": "hapa",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -679,9 +670,6 @@
"optionalCurrencySymbol": {
"message": "Ishara (hiari)"
},
"orderOneHere": {
"message": "Agiza Trezor au Leja na weka fedha zako kwenye ifadhi ya baridi"
},
"origin": {
"message": "Asili"
},
@ -741,9 +729,6 @@
"readdToken": {
"message": "Unaweza kuongeza tena kianzio hiki hapo baadaye kwa kwenda kwenye \"Ongeza kianzio\" kwenye machaguo yako ya menyu ya akaunti."
},
"readyToConnect": {
"message": "Uko tayari Kuunganisha?"
},
"recents": {
"message": "Za hivi karibuni"
},
@ -966,24 +951,6 @@
"stateLogsDescription": {
"message": "Kumbukumbu za hali zinajumusiha anwani zako za akaunti za umma na miamala iliyotumwa."
},
"step1HardwareWallet": {
"message": "1. Unganisha Programu Maunzi ya Waleti"
},
"step1HardwareWalletMsg": {
"message": "Unganisha programu maunzi yako ya waleti moja kwa moja kwenye kompyuta yako."
},
"step2HardwareWallet": {
"message": "2. Chagua Akaunto"
},
"step2HardwareWalletMsg": {
"message": "Chagua akaunti unayotaka kutazama. Unaweza kuchagua moja tu kwa wakati mmoja."
},
"step3HardwareWallet": {
"message": "3. Anza kutumia dApps na zaidi!"
},
"step3HardwareWalletMsg": {
"message": "Tumia akaunti yako ya programu maunzi kama ambavyo ungetumia kwa akaunti ya Ethereum. Ingia kwenye dApps, tuma Eth, nunua na hifadhi vianzio vya ERC20 na Vianzio visivyobadilishika kama vile CryptoKitties."
},
"storePhrase": {
"message": "Hifadhi kirai hiki kwenye kidhibiti nenosiri kama vile 1Password."
},

@ -148,9 +148,6 @@
"done": {
"message": "เสรจสน"
},
"dontHaveAHardwareWallet": {
"message": "ไม Hardware Wallet ใชไหม"
},
"downloadSecretBackup": {
"message": "ดาวนโหลด Phrase แบคอพลบนและเกบรกษาไวใหปลอดภยในฮารดดสกหรออปกรณเกบขอมลภายนอกทการเขารหส"
},
@ -465,15 +462,6 @@
"stateLogsDescription": {
"message": "บนทกของสถานะประกอบดวยแอดแดรสสาธารณะและธรกรรมทง"
},
"step1HardwareWallet": {
"message": "1. เชอมตอ Hardware Wallet"
},
"step2HardwareWallet": {
"message": "2. เลอกบญช"
},
"step3HardwareWalletMsg": {
"message": "ใชญชฮารดแวรของคณเชนเดยวกบการใชบบญช Ethereum ลอกอนเขาส dApp สง Eth ซอและเกบโทเคน ERC20 และโทเคนแบบ Non-Fungible เชน CryptoKitties"
},
"storePhrase": {
"message": "เกบ Phrase นในตวจดการรหสผาน เชน 1Password"
},

@ -488,12 +488,12 @@
"dismiss": {
"message": "I-dismiss"
},
"dismissReminderDescriptionField": {
"message": "I-on ito para i-dismiss ang mensahe ng paalala ng pag-back up ng recovery phrase. Lubos naming inirerekomendang i-back up mo ang iyong Secret Recovery Phrase para maiwasan ang pagkawala ng pondo"
},
"done": {
"message": "Tapos na"
},
"dontHaveAHardwareWallet": {
"message": "Wala ka bang hardware wallet?"
},
"dontShowThisAgain": {
"message": "Huwag itong ipaklita ulit"
},
@ -526,7 +526,7 @@
"message": "Mag-request ng pampublikong encryption key"
},
"endOfFlowMessage1": {
"message": "Naipasa mo ang pagsusulit - panatilihing ligtas ang iyong seedphrase, responsibilidad mo ito!"
"message": "Pumasa ka sa test - panatilihing ligtas ang iyong Secret Recovery Phrase, responsibilidad mo ito!"
},
"endOfFlowMessage10": {
"message": "Tapos Na Lahat"
@ -541,13 +541,13 @@
"message": "Huwag kailanmang ibahagi ang parirala sa sinuman."
},
"endOfFlowMessage5": {
"message": "Mag-ingat sa phishing! Hindi kailanman basta na lang hihingin ng MetaMask ang iyong seed phrase."
"message": "Mag-ingat sa phishing! Hindi kailanman basta na lang hihingin ng MetaMask ang iyong Secret Recovery Phrase."
},
"endOfFlowMessage6": {
"message": "Kung kailangan mong i-back up ulit ang iyong seed phrase, makikita mo ito sa Mga Setting -> Seguridad."
"message": "Kung kailangan mong i-back up ulit ang iyong Secret Recovery Phrase, makikita mo ito sa Mga Setting -> Seguridad."
},
"endOfFlowMessage8": {
"message": "Hindi mababawi ng MetaMask ang iyong seedphrase."
"message": "Hindi mababawi ng MetaMask ang iyong Secret Recovery Phrase."
},
"endOfFlowMessage9": {
"message": "Matuto pa."
@ -718,9 +718,6 @@
"message": "Kunin ang Ether mula sa isang faucet sa halagang $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Humingi ng Tulong."
},
"getStarted": {
"message": "Magsimula"
},
@ -742,9 +739,6 @@
"hardwareWalletsMsg": {
"message": "Pumili ng hardware wallet na gusto mong gamitin kasama ng MetaMask"
},
"havingTroubleConnecting": {
"message": "Nagkakaproblema ka ba sa pagkonekta?"
},
"here": {
"message": "dito",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -772,15 +766,21 @@
"importAccount": {
"message": "Mag-import ng Account"
},
"importAccountLinkText": {
"message": "i-import gamit ang Secret Recovery Phrase"
},
"importAccountMsg": {
"message": " Ang mga na-import na account ay hindi mauugnay sa orihinal mong nagawang seedphrase ng MetaMask account. Matuto pa tungkol sa mga na-import account "
"message": " Ang mga na-import na account ay hindi mauugnay sa orihinal mong nagawang Secret Recovery Phrase ng MetaMask account. Matuto pa tungkol sa mga na-import account "
},
"importAccountSeedPhrase": {
"message": "Mag-import ng account gamit ang seed phrase"
"message": "Mag-import ng account gamit ang Secret Recovery Phrase"
},
"importWallet": {
"message": "I-import ang wallet"
},
"importYourExisting": {
"message": "I-import ang iyong kasalukuyang wallet gamit ang isang Secret Recovery Phrase"
},
"imported": {
"message": "Na-import",
"description": "status showing that an account has been fully loaded into the keyring"
@ -842,7 +842,7 @@
"message": "Hindi valid ang RPC URL"
},
"invalidSeedPhrase": {
"message": "Hindi valid ang seed phrase"
"message": "Hindi valid ang Secret Recovery Phrase"
},
"ipfsGateway": {
"message": "IPFS Gateway"
@ -1042,7 +1042,7 @@
"message": "Walang naitakdang address para sa pangalang ito."
},
"noAlreadyHaveSeed": {
"message": "May seed phrase na ako"
"message": "Hindi, may Secret Recovery Phrase na ako"
},
"noConversionRateAvailable": {
"message": "Hindi Available ang Rate ng Conversion"
@ -1105,9 +1105,6 @@
"optionalCurrencySymbol": {
"message": "Simbolo ng Currency (opsyonal)"
},
"orderOneHere": {
"message": "Mag-order ng Trezor o Ledger at itabi ang mga pondo mo sa malamig na storage"
},
"origin": {
"message": "Pinagmulan"
},
@ -1189,9 +1186,6 @@
"readdToken": {
"message": "Puwede mong ibalik ang token na ito sa hinaharap sa pamamagitan ng pagpunta sa “Magdagdag ng token” sa menu ng mga opsyon sa iyong account."
},
"readyToConnect": {
"message": "Handa ka na bang kumonekta?"
},
"receive": {
"message": "Tumanggap"
},
@ -1229,7 +1223,7 @@
"message": "Tanggalin ang account"
},
"removeAccountDescription": {
"message": "Tatanggalin ang account na ito sa iyong wallet. Tiyaking nasa iyo ang orihinal na seed phrase o pribadong key para sa na-import na account na ito bago magpatuloy. Puwede kang mag-import o gumawa ulit ng mga account mula sa drop-down ng account. "
"message": "Tatanggalin ang account na ito sa iyong wallet. Tiyaking nasa iyo ang orihinal na Secret Recovery Phrase o private key para sa na-import na account na ito bago magpatuloy. Puwede kang mag-import o gumawa ulit ng mga account mula sa drop-down ng account. "
},
"requestsAwaitingAcknowledgement": {
"message": "mga request na hinihintay na tanggapin"
@ -1244,13 +1238,13 @@
"message": "I-reset ang Account"
},
"resetAccountDescription": {
"message": "Kapag ni-reset ang iyong account, maki-clear ang history ng iyong transaksyon. Hindi nito babaguhin ang mga balanse sa iyong mga account o hindi mo kakailanganing ilagay ulit ang iyong seed phrase."
"message": "Kapag ni-reset ang iyong account, maki-clear ang history ng iyong transaksyon. Hindi nito babaguhin ang mga balanse sa iyong mga account o hindi mo kakailanganing ilagay ulit ang iyong Secret Recovery Phrase."
},
"restore": {
"message": "I-restore"
},
"restoreAccountWithSeed": {
"message": "I-restore ang iyong Account gamit ang Seed Phrase"
"message": "I-restore ang iyong Account gamit ang Secret Recovery Phrase"
},
"restoreWalletPreferences": {
"message": "Nakita ang backup ng iyong data mula sa $1. Gusto mo bang i-restore ang mga kagustuhan mo sa wallet?",
@ -1263,13 +1257,13 @@
"message": "Ang isang token dito ay muling ginagamit ang isang simbolo mula sa ibang token na tinitingnan mo, maaari itong maging nakakalito."
},
"revealSeedWords": {
"message": "Ipakita ang Seed Phrase"
"message": "Ipakita ang Secret Recovery Phrase"
},
"revealSeedWordsDescription": {
"message": "Kung papalitan mo ang iyong browser o ililipat ang mga computer, kakailanganin mo ang seed phrase na ito para ma-access ang iyong mga account. I-save ang mga iyon sa isang ligtas at sikretong lugar."
"message": "Kung magpapalit ka man ng browser o computer, kakailanganin mo ang Secret Recovery Phrase na ito para ma-access ang iyong mga account. I-save ang mga iyon sa isang ligtas at sikretong lugar."
},
"revealSeedWordsTitle": {
"message": "Seed Phrase"
"message": "Secret Recovery Phrase"
},
"revealSeedWordsWarning": {
"message": "Magagamit ang mga salitang ito para manakaw ang lahat ng iyong account."
@ -1326,16 +1320,16 @@
"message": "Seguridad at Pagkapribado"
},
"securitySettingsDescription": {
"message": "Mga setting ng pagkapribado at seed phrase ng wallet"
"message": "Mga setting ng privacy at Secret Recovery Phrase ng wallet"
},
"seedPhrasePlaceholder": {
"message": "Paghiwa-hiwalayin ang bawat salita gamit ang espasyo"
},
"seedPhrasePlaceholderPaste": {
"message": "I-paste ang seed phrase mula sa clipboard"
"message": "I-paste ang Secret Recovery Phrase mula sa clipboard"
},
"seedPhraseReq": {
"message": "Ang mga seed phrase ay naglalaman ng 12, 15, 18, 21, o 24 na salita"
"message": "Ang mga Secret Recovery Phrase ay naglalaman ng 12, 15, 18, 21, o 24 na salita"
},
"selectAHigherGasFee": {
"message": "Pumili ng mas malaking bayarin sa gas para mapabilis ang pagproseso ng iyong transaksyon.*"
@ -1420,7 +1414,7 @@
"message": "Ipakita ang Mga Pribadong Key"
},
"showSeedPhrase": {
"message": "Ipakita ang seed phrase"
"message": "Ipakita ang Secret Recovery Phrase"
},
"sigRequest": {
"message": "Request na Paglagda"
@ -1492,24 +1486,6 @@
"statusNotConnected": {
"message": "Hindi nakakonekta"
},
"step1HardwareWallet": {
"message": "1. Ikonekta ang Hardware Wallet"
},
"step1HardwareWalletMsg": {
"message": "Direktang ikonekta ang wallet ng iyong hardware sa computer mo."
},
"step2HardwareWallet": {
"message": "2. Pumili ng Account"
},
"step2HardwareWalletMsg": {
"message": "Piliin ang account na gusto mong tingnan. Puwede ka lang pumili ng isa sa isang pagkakataon."
},
"step3HardwareWallet": {
"message": "3. Simulang gamitin ang mga web3 site at higit pa!"
},
"step3HardwareWalletMsg": {
"message": "Gamitin ang account ng iyong hardware sa parehong paraan ng paggamit mo sa Ethereum account. Kumonekta sa mga web3 site, magpadala ng ETH, bumili at mag-store ng mga ERC20 token at non-fungible token gaya ng CryptoKitties."
},
"storePhrase": {
"message": "I-store ang phrase na ito sa isang password manager gaya ng 1Password."
},
@ -1594,9 +1570,6 @@
"swapFinalizing": {
"message": "Isinasapinal..."
},
"swapHighSlippageWarning": {
"message": "Sobrang laki ng halaga ng slippage. Tiyaking alam mo ang ginagawa mo!"
},
"swapLowSlippageError": {
"message": "Maaaring hindi magtagumpay ang transaksyon, masyadong mababa ang max na slippage."
},
@ -1690,9 +1663,6 @@
"swapSelectQuotePopoverDescription": {
"message": "Makikita sa ibaba ang lahat ng quote na nakuha mula sa maraming pinagkukunan ng liquidity."
},
"swapSlippageTooLow": {
"message": "Dapat ay mas malaki sa zero ang slippage"
},
"swapSource": {
"message": "Pinagkunan ng liquidity"
},
@ -1729,9 +1699,6 @@
"message": "Maaaring gamitin ng maraming token ang iisang pangalan at simbolo. Suriin ang $1 para ma-verify na ito ang token na hinahanap mo.",
"description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
},
"swapViewToken": {
"message": "Tingnan ang $1"
},
"swapYourTokenBalance": {
"message": "Available ang $1 $2 na i-swap",
"description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
@ -1804,7 +1771,7 @@
"message": "Test Faucet"
},
"thisWillCreate": {
"message": "Gagawa ito ng bagong wallet at seed phrase"
"message": "Gagawa ito ng bagong wallet at Secret Recovery Phrase"
},
"tips": {
"message": "Mga Tip"
@ -1977,7 +1944,10 @@
"message": "ang aming gabay sa pagkonekta ng hardware wallet"
},
"walletSeed": {
"message": "Seed phrase"
"message": "Secret Recovery Phrase"
},
"walletSeedRestore": {
"message": "Recovery Phrase ng Wallet Secret"
},
"welcome": {
"message": "Welcome sa MetaMask"

@ -308,9 +308,6 @@
"done": {
"message": "Готово"
},
"dontHaveAHardwareWallet": {
"message": "Не маєте апаратного гаманця?"
},
"downloadGoogleChrome": {
"message": "Завантажити Гугл Хром"
},
@ -443,9 +440,6 @@
"message": "Отримайте Ether з крану за $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Отримати допомогу."
},
"getStarted": {
"message": "Почати"
},
@ -467,9 +461,6 @@
"hardwareWalletsMsg": {
"message": "Оберіть апаратний гаманець, який ви хочете використовувати з MetaMask"
},
"havingTroubleConnecting": {
"message": "Проблеми при підключенні?"
},
"here": {
"message": "тут",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -701,9 +692,6 @@
"optionalCurrencySymbol": {
"message": "Символ (не обов'язково)"
},
"orderOneHere": {
"message": "Замовте Trezor або Ledger та зберігайте ваші кошти у холодному сховищі"
},
"origin": {
"message": "Походження"
},
@ -763,9 +751,6 @@
"readdToken": {
"message": "Ви можете знову додати цей токен у меню облікового запису у розділі “Додати токен”. "
},
"readyToConnect": {
"message": "Готові підключитися?"
},
"recents": {
"message": "Останні"
},
@ -988,24 +973,6 @@
"stateLogsDescription": {
"message": "Логи стану містять ваші публічні адреси облікового запису та надіслані транзакції."
},
"step1HardwareWallet": {
"message": "1. Приєднайте апаратний гаманець"
},
"step1HardwareWalletMsg": {
"message": "Під'єднайте ваш апаратний гаманець безпосередньо до вашого комп'ютера."
},
"step2HardwareWallet": {
"message": "2. Оберіть обліковий запис"
},
"step2HardwareWalletMsg": {
"message": "Оберіть обліковий запис, який бажаєте переглянути. Ви можете вибрати лише один."
},
"step3HardwareWallet": {
"message": "3. Почніть користуватись dApps та більше!"
},
"step3HardwareWalletMsg": {
"message": "Використовуйте ваш апаратний обліковий запис, як би ви використовували будь-який обліковий запис Ethereum. Увійдіть в dApps, надсилайте Eth, купуйте та зберігайте токени ERC20 та токени, які не є взаємозамінними, такі як CryptoKitties."
},
"storePhrase": {
"message": "Зберігайте цю фразу у менеджері паролів, як 1Password."
},

@ -488,12 +488,12 @@
"dismiss": {
"message": "Đóng"
},
"dismissReminderDescriptionField": {
"message": "Bật tùy chọn này để tắt thông báo nhắc sao lưu cụm mật khẩu khôi phục. Bạn nên sao lưu Cụm mật khẩu khôi phục bí mật của mình để tránh mất tiền"
},
"done": {
"message": "Hoàn tất"
},
"dontHaveAHardwareWallet": {
"message": "Bạn không có ví cứng?"
},
"dontShowThisAgain": {
"message": "Không hiển thị lại"
},
@ -526,7 +526,7 @@
"message": "Yêu cầu khóa mã hóa công khai"
},
"endOfFlowMessage1": {
"message": "Bạn đã vượt qua bài kiểm tra. Hãy lưu giữ cụm mật khẩu gốc của bạn an toàn, đó là trách nhiệm của bạn!"
"message": "Bạn đã vượt qua bài kiểm tra. Hãy lưu giữ Cụm mật khẩu khôi phục bí mật của bạn an toàn, đó là trách nhiệm của bạn!"
},
"endOfFlowMessage10": {
"message": "Tất cả đã hoàn tất"
@ -541,13 +541,13 @@
"message": "Tuyệt đối không chia sẻ cụm mật khẩu với bất kỳ ai."
},
"endOfFlowMessage5": {
"message": "Hãy cẩn thận với hoạt động lừa đảo! MetaMask sẽ không bao giờ tự ý hỏi cụm mật khẩu gốc của bạn."
"message": "Hãy cẩn thận với hoạt động lừa đảo! MetaMask sẽ không bao giờ tự ý hỏi Cụm mật khẩu khôi phục bí mật của bạn."
},
"endOfFlowMessage6": {
"message": "Nếu cần sao lưu lại cụm mật khẩu gốc của mình, bạn có thể tìm thấy cụm mật khẩu này trong phần Cài đặt -> Bảo mật."
"message": "Nếu bạn cần sao lưu lại Cụm mật khẩu khôi phục bí mật, bạn có thể tìm thấy chức năng này trong Cài đặt -> Bảo mật."
},
"endOfFlowMessage8": {
"message": "MetaMask không thể khôi phục cụm mật khẩu gốc của bạn."
"message": "MetaMask không thể khôi phục Cụm mật khẩu khôi phục bí mật của bạn."
},
"endOfFlowMessage9": {
"message": "Tìm hiểu thêm."
@ -718,9 +718,6 @@
"message": "Nhận Ether từ một vòi dành cho $1",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "Nhận trợ giúp."
},
"getStarted": {
"message": "Bắt đầu"
},
@ -742,9 +739,6 @@
"hardwareWalletsMsg": {
"message": "Chọn một ví cứng mà bạn muốn sử dụng với MetaMask"
},
"havingTroubleConnecting": {
"message": "Bạn đang gặp sự cố với việc kết nối?"
},
"here": {
"message": "tại đây",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -772,15 +766,21 @@
"importAccount": {
"message": "Nhập tài khoản"
},
"importAccountLinkText": {
"message": "nhập bằng Cụm mật khẩu khôi phục bí mật"
},
"importAccountMsg": {
"message": " Tài khoản đã nhập sẽ không được liên kết với cụm mật khẩu gốc cho tài khoản MetaMask đã tạo ban đầu của bạn. Tìm hiểu thêm về các tài khoản đã nhập "
"message": " Tài khoản đã nhập sẽ không được liên kết với Cụm mật khẩu khôi phục bí mật cho tài khoản MetaMask đã tạo ban đầu của bạn. Tìm hiểu thêm về các tài khoản đã nhập "
},
"importAccountSeedPhrase": {
"message": "Nhập một tài khoản bằng cụm mật khẩu gốc"
"message": "Nhập một tài khoản bằng Cụm mật khẩu khôi phục bí mật"
},
"importWallet": {
"message": "Nhập ví"
},
"importYourExisting": {
"message": "Nhập ví hiện tại của bạn bằng Cụm mật khẩu khôi phục bí mật"
},
"imported": {
"message": "Đã nhập",
"description": "status showing that an account has been fully loaded into the keyring"
@ -842,7 +842,7 @@
"message": "URL RPC không hợp lệ"
},
"invalidSeedPhrase": {
"message": "Cụm mật khẩu gốc không hợp lệ"
"message": "Cụm mật khẩu khôi phục bí mật không hợp lệ"
},
"ipfsGateway": {
"message": "Cổng kết nối IPFS"
@ -1042,7 +1042,7 @@
"message": "Chưa có địa chỉ nào được đặt cho tên này."
},
"noAlreadyHaveSeed": {
"message": "Không, tôi đã có cụm mật khẩu gốc"
"message": "Không, tôi đã có Cụm mật khẩu bí mật"
},
"noConversionRateAvailable": {
"message": "Không có sẵn tỷ lệ quy đổi nào"
@ -1108,9 +1108,6 @@
"optionalCurrencySymbol": {
"message": "Ký hiệu tiền tệ (không bắt buộc)"
},
"orderOneHere": {
"message": "Đặt mua một ví Trezor hoặc Ledger và giữ tiền của bạn trong ví lưu trữ lạnh"
},
"origin": {
"message": "Nguồn gốc"
},
@ -1192,9 +1189,6 @@
"readdToken": {
"message": "Bạn có thể thêm lại token này trong tương lai bằng cách chuyển đến mục “Thêm token” trong trình đơn tùy chọn tài khoản."
},
"readyToConnect": {
"message": "Bạn đã sẵn sàng kết nối chưa?"
},
"receive": {
"message": "Nhận"
},
@ -1232,7 +1226,7 @@
"message": "Xóa tài khoản"
},
"removeAccountDescription": {
"message": "Tài khoản này sẽ được xóa khỏi ví của bạn. Xin đảm bảo rằng bạn có cụm mật khẩu gốc ban đầu hoặc khóa riêng tư cho tài khoản được nhập trước khi tiếp tục. Bạn có thể nhập hoặc tạo lại tài khoản từ trình đơn tài khoản thả xuống. "
"message": "Tài khoản này sẽ được xóa khỏi ví của bạn. Xin đảm bảo rằng bạn có Cụm mật khẩu khôi phục bí mật ban đầu hoặc khóa riêng tư cho tài khoản được nhập trước khi tiếp tục. Bạn có thể nhập hoặc tạo lại tài khoản từ trình đơn tài khoản thả xuống. "
},
"requestsAwaitingAcknowledgement": {
"message": "yêu cầu đang chờ xác nhận"
@ -1247,13 +1241,13 @@
"message": "Đặt lại tài khoản"
},
"resetAccountDescription": {
"message": "Nếu đặt lại tài khoản của bạn, toàn bộ lịch sử giao dịch sẽ bị xóa. Việc này sẽ không làm thay đổi số dư trong tài khoản của bạn hoặc yêu cầu bạn phải nhập lại cụm mật khẩu gốc."
"message": "Nếu đặt lại tài khoản của bạn, toàn bộ lịch sử giao dịch sẽ bị xóa. Việc này sẽ không làm thay đổi số dư trong tài khoản của bạn hoặc yêu cầu bạn phải nhập lại Cụm mật khẩu khôi phục bí mật."
},
"restore": {
"message": "Khôi phục"
},
"restoreAccountWithSeed": {
"message": "Khôi phục tài khoản của bạn bằng cụm mật khẩu gốc"
"message": "Khôi phục tài khoản của bạn bằng cụm mật khẩu khôi phục bí mật"
},
"restoreWalletPreferences": {
"message": "Đã tìm thấy bản sao lưu dữ liệu của bạn từ $1. Bạn có muốn khôi phục các tùy chọn ưu tiên trong ví của mình không?",
@ -1266,13 +1260,13 @@
"message": "Một token trong đây sử dụng lại ký hiệu của một token khác mà bạn thấy, điều này có thể gây nhầm lẫn hoặc mang tính lừa dối."
},
"revealSeedWords": {
"message": "Hiện cụm mật khẩu gốc"
"message": "Hiện cụm mật khẩu khôi phục bí mật"
},
"revealSeedWordsDescription": {
"message": "Nếu thay đổi trình duyệt hoặc chuyển máy tính, bạn sẽ cần cụm mật khẩu gốc này để truy cập tài khoản của mình. Hãy lưu cụm mật khẩu gốc này ở nơi an toàn và bí mật."
"message": "Nếu thay đổi trình duyệt hoặc chuyển máy tính, bạn sẽ cần Cụm mật khẩu khôi phục bí mật này để truy cập tài khoản của mình. Hãy lưu cụm mật khẩu gốc này ở nơi an toàn và bí mật."
},
"revealSeedWordsTitle": {
"message": "Cụm mật khẩu gốc"
"message": "Cụm mật khẩu khôi phục bí mật"
},
"revealSeedWordsWarning": {
"message": "Kẻ xấu có thể dùng các từ này để đánh cắp tất cả các tài khoản của bạn."
@ -1329,16 +1323,16 @@
"message": "Bảo mật và quyền riêng tư"
},
"securitySettingsDescription": {
"message": "Cụm mật khẩu gốc của ví và các tùy chọn cài đặt quyền riêng tư"
"message": "Các cài đặt quyền riêng tư và Cụm mật khẩu khôi phục bí mật của ví"
},
"seedPhrasePlaceholder": {
"message": "Phân tách mỗi từ bằng một dấu cách"
},
"seedPhrasePlaceholderPaste": {
"message": "Dán cụm mật khẩu gốc từ khay nhớ tạm"
"message": "Dán Cụm mật khẩu khôi phục bí mật từ khay nhớ tạm"
},
"seedPhraseReq": {
"message": "Cụm mật khẩu gốc gồm 12, 15, 18, 21 hoặc 24 từ"
"message": "Cụm mật khẩu khôi phục bí mật gồm 12, 15, 18, 21 hoặc 24 từ"
},
"selectAHigherGasFee": {
"message": "Chọn phí gas cao hơn để tăng tốc quá trình xử lý giao dịch của bạn.*"
@ -1423,7 +1417,7 @@
"message": "Hiện khóa riêng tư"
},
"showSeedPhrase": {
"message": "Hiển thị cụm mật khẩu gốc"
"message": "Hiển thị Cụm mật khẩu khôi phục bí mật"
},
"sigRequest": {
"message": "Yêu cầu chữ ký"
@ -1495,24 +1489,6 @@
"statusNotConnected": {
"message": "Chưa kết nối"
},
"step1HardwareWallet": {
"message": "1. Kết nối với ví cứng"
},
"step1HardwareWalletMsg": {
"message": "Kết nối ví cứng của bạn trực tiếp với máy tính."
},
"step2HardwareWallet": {
"message": "2. Chọn một tài khoản"
},
"step2HardwareWalletMsg": {
"message": "Chọn tài khoản bạn muốn xem. Bạn chỉ chọn được một tài khoản tại một thời điểm."
},
"step3HardwareWallet": {
"message": "3. Bắt đầu sử dụng các trang web trên web3 và nhiều hơn thế!"
},
"step3HardwareWalletMsg": {
"message": "Sử dụng cùng một tài khoản ví cứng mà bạn sẽ dùng với mọi tài khoản Ethereum của mình. Kết nối với các trang web trên web3, gửi ETH, mua và lưu trữ token ERC20 cũng như token không thể thay thế, chẳng hạn như CryptoKitties."
},
"storePhrase": {
"message": "Lưu cụm mật khẩu này trong trình quản lý mật khẩu chẳng hạn như 1Password."
},
@ -1597,9 +1573,6 @@
"swapFinalizing": {
"message": "Đang hoàn tất..."
},
"swapHighSlippageWarning": {
"message": "Số tiền trượt giá rất cao. Hãy chắc chắn rằng bạn hiểu những gì mình đang làm!"
},
"swapLowSlippageError": {
"message": "Giao dịch có thể không thành công, mức trượt giá tối đa quá thấp."
},
@ -1693,9 +1666,6 @@
"swapSelectQuotePopoverDescription": {
"message": "Dưới đây là tất cả các báo giá thu thập từ nhiều nguồn thanh khoản."
},
"swapSlippageTooLow": {
"message": "Mức trượt giá phải lớn hơn 0"
},
"swapSource": {
"message": "Nguồn thanh khoản"
},
@ -1732,9 +1702,6 @@
"message": "Nhiều token có thể dùng cùng một tên và ký hiệu. Hãy kiểm tra trên $1 để xác minh xem đây có phải là token bạn đang tìm kiếm không.",
"description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
},
"swapViewToken": {
"message": "Xem $1"
},
"swapYourTokenBalance": {
"message": "Có sẵn $1 $2 để hoán đổi",
"description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
@ -1807,7 +1774,7 @@
"message": "Vòi thử nghiệm"
},
"thisWillCreate": {
"message": "Thao tác này sẽ tạo một ví mới và cụm mật khẩu gốc"
"message": "Thao tác này sẽ tạo một ví mới và Cụm mật khẩu khôi phục bí mật"
},
"tips": {
"message": "Mẹo"
@ -1980,7 +1947,10 @@
"message": "hướng dẫn của chúng tôi về cách kết nối ví cứng"
},
"walletSeed": {
"message": "Cụm mật khẩu gốc"
"message": "Cụm mật khẩu khôi phục bí mật"
},
"walletSeedRestore": {
"message": "Cụm mật khẩu khôi phục bí mật của ví"
},
"welcome": {
"message": "Chào mừng bạn đến với MetaMask"
@ -2008,7 +1978,7 @@
"message": "Bạn đang ký"
},
"yourPrivateSeedPhrase": {
"message": "Cụm mật khẩu gốc riêng tư của bạn"
"message": "Cụm mật khẩu bí mật, riêng tư của bạn"
},
"zeroGasPriceOnSpeedUpError": {
"message": "Giá gas bằng 0 khi tăng tốc"

@ -500,9 +500,6 @@
"done": {
"message": "完成"
},
"dontHaveAHardwareWallet": {
"message": "没有硬件钱包?"
},
"dontShowThisAgain": {
"message": "不再显示"
},
@ -727,9 +724,6 @@
"message": "从水管获取 $1 网络的 Ether",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "获取帮助。"
},
"getStarted": {
"message": "开始使用"
},
@ -751,9 +745,6 @@
"hardwareWalletsMsg": {
"message": "选择希望用于 MetaMask 的硬件钱包"
},
"havingTroubleConnecting": {
"message": "连接出现问题?"
},
"here": {
"message": "这里",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -1117,9 +1108,6 @@
"optionalCurrencySymbol": {
"message": "符号(选填)"
},
"orderOneHere": {
"message": "订购 Trezor 或 Ledger ,将个人资金进行冷存储"
},
"origin": {
"message": "来源"
},
@ -1201,9 +1189,6 @@
"readdToken": {
"message": "之后您还可以通过帐户选项菜单中的“添加代币”来添加此代币。"
},
"readyToConnect": {
"message": "是否准备连接?"
},
"receive": {
"message": "接收"
},
@ -1504,24 +1489,6 @@
"statusNotConnected": {
"message": "未连接"
},
"step1HardwareWallet": {
"message": "1. 连接硬件钱包"
},
"step1HardwareWalletMsg": {
"message": "将您的硬件钱包直接连接到电脑上。"
},
"step2HardwareWallet": {
"message": "2. 选择账户"
},
"step2HardwareWalletMsg": {
"message": "请选择您想查看的账户。每次只能选择一个账户。"
},
"step3HardwareWallet": {
"message": "3. 开始使用 web3 站点和更多功能!"
},
"step3HardwareWalletMsg": {
"message": "使用您的硬件钱包,操作与以太坊账户制作相同。登录 dApps,发送 ETH ,购买和保存 ERC20 代币和诸如 CryptoKitties 等不可替代代币。"
},
"storePhrase": {
"message": "通过如 1Password 等密码管理工具保存该账户助记词。"
},
@ -1609,9 +1576,6 @@
"swapFinalizing": {
"message": "确定中……"
},
"swapHighSlippageWarning": {
"message": "滑点数量非常大。确保您知道您的操作!"
},
"swapLowSlippageError": {
"message": "交易可能失败,最大滑点过低。"
},
@ -1655,12 +1619,6 @@
"message": "价格差异 ~$1%",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
"swapPriceDifferenceTooltip": {
"message": "市场价格的差异可能受到中介机构收取的费用、市场规模、交易规模或市场效率低下的影响。"
},
"swapPriceDifferenceUnavailable": {
"message": "市场价格不可用。 请确认您对退回的数额感到满意后再继续。"
},
"swapProcessing": {
"message": "处理中"
},
@ -1723,9 +1681,6 @@
"swapSelectQuotePopoverDescription": {
"message": "以下是从多个流动资金来源收集到的所有报价。"
},
"swapSlippageTooLow": {
"message": "滑点必须大于零"
},
"swapSource": {
"message": "流动资金来源"
},
@ -1765,9 +1720,6 @@
"message": "多个代币可以使用相同的名称和符号。检查 $1(以太坊浏览器)以确认这是您正在寻找的代币。",
"description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
},
"swapViewToken": {
"message": "查看 $1"
},
"swapYourTokenBalance": {
"message": "$1 $2 可用",
"description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"

@ -317,9 +317,6 @@
"done": {
"message": "完成"
},
"dontHaveAHardwareWallet": {
"message": "還沒有硬體錢包?"
},
"downloadGoogleChrome": {
"message": "下載 Google Chrome 瀏覽器"
},
@ -452,9 +449,6 @@
"message": "從水管取得 $1 以太幣。",
"description": "Displays network name for Ether faucet"
},
"getHelp": {
"message": "取得協助"
},
"getStarted": {
"message": "開始使用"
},
@ -476,9 +470,6 @@
"hardwareWalletsMsg": {
"message": "選擇要連線到 MetaMask 的硬體錢包"
},
"havingTroubleConnecting": {
"message": "無法正確連線?"
},
"here": {
"message": "這裡",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
@ -701,9 +692,6 @@
"optionalCurrencySymbol": {
"message": "Symbol (可選)"
},
"orderOneHere": {
"message": "訂購 Trezor 或 Ledger 讓資產保存於硬體裝置。"
},
"origin": {
"message": "來源"
},
@ -760,9 +748,6 @@
"readdToken": {
"message": "未來可以隨時重新加入此代幣"
},
"readyToConnect": {
"message": "準備連線?"
},
"recents": {
"message": "最近"
},
@ -976,24 +961,6 @@
"stateLogsDescription": {
"message": "狀態紀錄包含您的公開帳戶位址和已傳送的交易資訊"
},
"step1HardwareWallet": {
"message": "1. 連線硬體錢包"
},
"step1HardwareWalletMsg": {
"message": "將您的硬體錢包連接到電腦。"
},
"step2HardwareWallet": {
"message": "2. 選擇帳戶"
},
"step2HardwareWalletMsg": {
"message": "選擇想要檢視的帳戶。一次只能選擇一個帳戶。"
},
"step3HardwareWallet": {
"message": "3. 開始使用!"
},
"step3HardwareWalletMsg": {
"message": "使用您硬體錢包中的帳戶,與去中心化應用服務交易以太幣、ERC20代幣、或迷戀貓等數位資產。"
},
"storePhrase": {
"message": "您可以用密碼管理系統例如 1Password 等軟體儲存助憶詞。"
},

@ -1,67 +0,0 @@
<svg width="302" height="98" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<filter x="-2.4%" y="-15.6%" width="104.8%" height="143.8%" filterUnits="objectBoundingBox" id="a">
<feOffset dy="2" in="SourceAlpha" result="shadowOffsetOuter1"/>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"/>
<feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1"/>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.123075181 0" in="shadowBlurOuter1"/>
</filter>
<path id="b" d="M0 0h294v32H0z"/>
</defs>
<g fill="none" fill-rule="evenodd">
<g transform="translate(25 45)">
<path stroke="#AFDFFF" fill="#FFF" d="M.5.5h250v26H.5z"/>
<text font-family="Roboto-Regular, Roboto" font-size="12" fill="#ABB4BB">
<tspan x="31" y="19">3</tspan>
</text>
<text font-family="Roboto-Regular, Roboto" font-size="12" fill="#ABB4BB">
<tspan x="50" y="19">OXz3…T3A4</tspan>
</text>
<text font-family="Roboto-Regular, Roboto" font-size="12" fill="#ABB4BB">
<tspan x="142" y="19">0.020000 ETH</tspan>
</text>
<circle stroke="#AFDFFF" stroke-width="2" cx="16.5" cy="14.5" r="6.5"/>
</g>
<g transform="translate(25)">
<path stroke="#AFDFFF" fill="#FFF" d="M.5.5h250v26H.5z"/>
<text font-family="Roboto-Regular, Roboto" font-size="12" fill="#ABB4BB">
<tspan x="31" y="19">1</tspan>
</text>
<text font-family="Roboto-Regular, Roboto" font-size="12" fill="#ABB4BB">
<tspan x="50" y="19">OXa4…s0a2</tspan>
</text>
<text font-family="Roboto-Regular, Roboto" font-size="12" fill="#ABB4BB">
<tspan x="142" y="19">0.01500 ETH</tspan>
</text>
<circle stroke="#AFDFFF" stroke-width="2" cx="16.5" cy="14.5" r="6.5"/>
</g>
<g transform="translate(25 71)">
<path stroke="#AFDFFF" fill="#FFF" d="M.5.5h250v26H.5z"/>
<text font-family="Roboto-Regular, Roboto" font-size="12" fill="#ABB4BB">
<tspan x="31" y="18">4</tspan>
</text>
<text font-family="Roboto-Regular, Roboto" font-size="12" fill="#ABB4BB">
<tspan x="50" y="18">OXd2…D0V4</tspan>
</text>
<text font-family="Roboto-Regular, Roboto" font-size="12" fill="#ABB4BB">
<tspan x="142" y="18">0.030000 ETH</tspan>
</text>
<circle stroke="#AFDFFF" stroke-width="2" cx="16.5" cy="13.5" r="6.5"/>
</g>
<g transform="translate(4 21)">
<use fill="#000" filter="url(#a)" xlink:href="#b"/>
<path stroke="#3098DC" stroke-linejoin="square" fill="#D9F0FF" d="M.5.5h293v31H.5z"/>
<text font-family="Roboto-Regular, Roboto" font-size="16" fill="#4A4A4A">
<tspan x="36" y="22">2</tspan>
</text>
<text font-family="Roboto-Regular, Roboto" font-size="16" fill="#4A4A4A">
<tspan x="58" y="22">OXe7…B0a1</tspan>
</text>
<text font-family="Roboto-Regular, Roboto" font-size="16" fill="#4A4A4A">
<tspan x="166" y="22">0.041000 ETH</tspan>
</text>
<circle stroke="#3098DC" stroke-width="2" cx="19.5" cy="16.5" r="7.5"/>
<path stroke="#3098DC" stroke-width="2" d="M15 17l2.55 2.55L24 13.904"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.6 KiB

@ -1,26 +0,0 @@
<svg height="85" width="108" xmlns="http://www.w3.org/2000/svg">
<g fill="none" fill-rule="evenodd">
<path d="M97.202 84H10.798A3.807 3.807 0 017 80.185V9.815C7 7.708 8.7 6 10.798 6h86.404A3.806 3.806 0 01101 9.815v70.37C101 82.292 99.3 84 97.202 84" fill="#fefefe"/>
<path d="M97.202 84H10.798A3.807 3.807 0 017 80.185V9.815C7 7.708 8.7 6 10.798 6h86.404A3.806 3.806 0 01101 9.815v70.37C101 82.292 99.3 84 97.202 84z" stroke="#3098dc"/>
<path d="M105.73 84H2.27C1.568 84 1 83.45 1 82.771V78.23C1 77.549 1.568 77 2.27 77h103.46c.7 0 1.27.55 1.27 1.229v4.542c0 .68-.57 1.229-1.27 1.229" fill="#d9f0ff"/>
<path d="M105.73 84H2.27C1.568 84 1 83.45 1 82.771V78.23C1 77.549 1.568 77 2.27 77h103.46c.7 0 1.27.55 1.27 1.229v4.542c0 .68-.57 1.229-1.27 1.229z" stroke="#3098dc"/>
<path d="M11 72h86V11H11z" fill="#fefefe"/>
<g stroke="#3098dc" transform="translate(1 1)">
<path d="M10 71h86V10H10z"/>
<rect fill="#fff" height="53" rx="2" width="77" x="14.5" y="14.5"/>
<path d="M14.5 21.5h77V16a1.5 1.5 0 00-1.5-1.5H16a1.5 1.5 0 00-1.5 1.5z" fill="#fff"/>
<g fill="#d9f0ff">
<circle cx="18" cy="18" r="1"/>
<circle cx="22.769" cy="18" r="1"/>
<circle cx="27.538" cy="18" r="1"/>
</g>
</g>
<path d="M93.299 30.058h-4.652a.401.401 0 01-.227-.07l-2.752-1.87-1.21-.973-6.718 1.814a.403.403 0 01-.49-.268l-1.947-6.568a.38.38 0 01.003-.228l2.07-6.327-1.243-1.43a.386.386 0 01.071-.572l.222-.157-.62-.555a.39.39 0 01-.13-.303.39.39 0 01.152-.293l.35-.27-.57-.426a.39.39 0 01-.157-.313.391.391 0 01.162-.312l.418-.305-.994-4.685a.379.379 0 01.013-.205l1.516-4.474c.034-.101.109-.185.206-.23a.406.406 0 01.31-.013l9.816 3.6h8.15l9.815-3.6a.405.405 0 01.31.013.392.392 0 01.207.23l1.516 4.476a.383.383 0 01.013.202l-.984 4.688.412.305a.386.386 0 01.002.622l-.57.427.349.27a.387.387 0 01.022.595l-.62.556.222.158a.387.387 0 01.07.57l-1.24 1.43 2.08 6.326a.382.382 0 01.004.23l-1.962 6.569a.403.403 0 01-.488.267l-6.718-1.814-1.247.998-2.716 1.845a.402.402 0 01-.226.07z" fill="#fff" stroke="#3098dc"/>
<g fill="#3098dc">
<path d="M92.024 25.677h-2.367l-.41.318-.157 1.914h3.5l-.156-1.914zM94.59 18.125l-.98 2.099c-.079.17.079.354.258.3l3.337-1.001a.217.217 0 00.028-.405l-2.358-1.098a.215.215 0 00-.286.105M87.07 18.02l-2.355 1.097a.218.218 0 00.03.406l3.336 1.001a.217.217 0 00.257-.3l-.982-2.1a.216.216 0 00-.286-.104"/>
</g>
<text fill="#3098dc" font-family="RobotoMono-Bold, Roboto Mono" font-size="10" font-weight="bold" transform="translate(1 1)">
<tspan x="24.495" y="43">LOGIN WITH </tspan><tspan x="30.496" y="56">METAMASK</tspan>
</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 99 KiB

@ -0,0 +1,116 @@
WEBVTT
1
00:00:00.780 --> 00:00:04.580
MetaMask is a new way to connect
to sites and applications.
2
00:00:04.580 --> 00:00:08.860
On traditional websites, a central database
or bank is responsible for controlling and
3
00:00:08.860 --> 00:00:10.179
recovering your accounts.
4
00:00:10.179 --> 00:00:15.050
But on MetaMask, all of the power belongs
to the holder of a master key.
5
00:00:15.050 --> 00:00:18.460
Whoever holds the key, controls the accounts.
6
00:00:18.460 --> 00:00:21.110
Your secret recovery phrase
is your "master key".
7
00:00:21.110 --> 00:00:26.070
It's a series of 12 words that are generated
when you first set up MetaMask, which allow
8
00:00:26.070 --> 00:00:30.120
you to recover your wallet and funds if you
ever lose access.
9
00:00:30.120 --> 00:00:33.451
It's important that you secure
your wallet by keeping your
10
00:00:33.451 --> 00:00:37.510
secret recovery phrase
very safe, and very secret.
11
00:00:37.510 --> 00:00:41.429
If anyone gets access to it, they will have
the "master key" to your wallet and can
12
00:00:41.429 --> 00:00:45.190
freely access and take all of your funds.
13
00:00:45.190 --> 00:00:50.109
To secure your MetaMask wallet you'll want
to safely save your secret recovery phrase.
14
00:00:50.109 --> 00:00:54.930
You can write it down, hide it somewhere,
put it in a safe deposit box
15
00:00:54.930 --> 00:00:57.729
or use a secure password manager.
16
00:00:57.729 --> 00:01:01.050
Some users even engrave their
phrase onto a metal plate!
17
00:01:01.050 --> 00:01:04.440
Nobody, not even the team
at MetaMask, can help you
18
00:01:04.440 --> 00:01:07.820
recover your wallet if you lose
your secret recovery phrase.
19
00:01:07.820 --> 00:01:12.072
If you haven't written down your secret recovery
phrase and stored it somewhere safe,
20
00:01:12.072 --> 00:01:15.492
do it now. We'll wait.
21
00:01:15.500 --> 00:01:20.780
And remember, never share your secret recovery
phrase with anyone: not even us.
22
00:01:20.780 --> 00:01:24.910
If anyone ever asks you for it,
they're trying to scam you.
23
00:01:24.910 --> 00:01:26.250
That's it!
24
00:01:26.250 --> 00:01:31.020
Now you know what a secret recovery phrase
is and how to keep your wallet safe and secure.

@ -71,6 +71,5 @@
"notifications"
],
"short_name": "__MSG_appName__",
"version": "9.5.4",
"web_accessible_resources": ["inpage.js", "phishing.html"]
}

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import { stripHexPrefix } from 'ethereumjs-util';
import accountImporter from '.';

@ -1,6 +1,6 @@
import querystring from 'querystring';
import pump from 'pump';
import LocalMessageDuplexStream from 'post-message-stream';
import { WindowPostMessageStream } from '@metamask/post-message-stream';
import ObjectMultiplex from 'obj-multiplex';
import extension from 'extensionizer';
import PortStream from 'extension-port-stream';
@ -57,7 +57,7 @@ function injectScript(content) {
*/
async function setupStreams() {
// the transport-specific streams for communication between inpage and background
const pageStream = new LocalMessageDuplexStream({
const pageStream = new WindowPostMessageStream({
name: CONTENT_SCRIPT,
target: INPAGE,
});
@ -89,7 +89,7 @@ async function setupStreams() {
// TODO:LegacyProvider: Delete
// handle legacy provider
const legacyPageStream = new LocalMessageDuplexStream({
const legacyPageStream = new WindowPostMessageStream({
name: LEGACY_CONTENT_SCRIPT,
target: LEGACY_INPAGE,
});

@ -23,6 +23,7 @@ export default class AppStateController extends EventEmitter {
timeoutMinutes: 0,
connectedStatusPopoverHasBeenShown: true,
defaultHomeActiveTabName: null,
browserEnvironment: {},
...initState,
});
this.timer = null;
@ -158,4 +159,12 @@ export default class AppStateController extends EventEmitter {
timeoutMinutes * 60 * 1000,
);
}
/**
* Sets the current browser and OS environment
* @returns {void}
*/
setBrowserEnvironment(os, browser) {
this.store.updateState({ browserEnvironment: { os, browser } });
}
}

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import sinon from 'sinon';
import { KOVAN_CHAIN_ID } from '../../../shared/constants/network';
import CachedBalancesController from './cached-balances';

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import sinon from 'sinon';
import { ObservableStore } from '@metamask/obs-store';
import contracts from '@metamask/contract-metadata';

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import sinon from 'sinon';
import EnsController from '.';

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import sinon from 'sinon';
import proxyquire from 'proxyquire';
import nock from 'nock';

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import EventEmitter from 'events';
import { ComposedStore, ObservableStore } from '@metamask/obs-store';
import { JsonRpcEngine } from 'json-rpc-engine';

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import { txMetaStub } from '../../../../test/stub/tx-meta-stub';
import {
createPendingNonceMiddleware,

@ -43,6 +43,7 @@ export default class PreferencesController {
useBlockie: false,
useNonceField: false,
usePhishDetect: true,
dismissSeedBackUpReminder: false,
// WARNING: Do not use feature flags for security-sensitive things.
// Feature flag toggling is available in the global namespace
@ -67,6 +68,7 @@ export default class PreferencesController {
// ENS decentralized website resolution
ipfsGateway: 'dweb.link',
infuraBlocked: null,
useLedgerLive: false,
...opts.initState,
};
@ -666,6 +668,35 @@ export default class PreferencesController {
return Promise.resolve(domain);
}
/**
* A setter for the `useLedgerLive` property
* @param {bool} useLedgerLive - Value for ledger live support
* @returns {Promise<string>} A promise of the update to useLedgerLive
*/
async setLedgerLivePreference(useLedgerLive) {
this.store.updateState({ useLedgerLive });
return useLedgerLive;
}
/**
* A getter for the `useLedgerLive` property
* @returns {boolean} User preference of using Ledger Live
*/
getLedgerLivePreference() {
return this.store.getState().useLedgerLive;
}
/**
* A setter for the user preference to dismiss the seed phrase backup reminder
* @param {bool} dismissBackupReminder- User preference for dismissing the back up reminder
* @returns {void}
*/
async setDismissSeedBackUpReminder(dismissSeedBackUpReminder) {
await this.store.updateState({
dismissSeedBackUpReminder,
});
}
//
// PRIVATE METHODS
//

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import sinon from 'sinon';
import {
MAINNET_CHAIN_ID,

@ -4,9 +4,9 @@ import BigNumber from 'bignumber.js';
import { ObservableStore } from '@metamask/obs-store';
import { mapValues, cloneDeep } from 'lodash';
import abi from 'human-standard-token-abi';
import { calcTokenAmount } from '../../../ui/app/helpers/utils/token-util';
import { calcGasTotal } from '../../../ui/app/pages/send/send.utils';
import { conversionUtil } from '../../../ui/app/helpers/utils/conversion-util';
import { calcTokenAmount } from '../../../ui/helpers/utils/token-util';
import { calcGasTotal } from '../../../ui/pages/send/send.utils';
import { conversionUtil } from '../../../ui/helpers/utils/conversion-util';
import {
DEFAULT_ERC20_APPROVE_GAS,
QUOTES_EXPIRED_ERROR,
@ -20,7 +20,7 @@ import {
fetchTradesInfo as defaultFetchTradesInfo,
fetchSwapsFeatureLiveness as defaultFetchSwapsFeatureLiveness,
fetchSwapsQuoteRefreshTime as defaultFetchSwapsQuoteRefreshTime,
} from '../../../ui/app/pages/swaps/swaps.util';
} from '../../../ui/pages/swaps/swaps.util';
import { NETWORK_EVENTS } from './network';
// The MAX_GAS_LIMIT is a number that is higher than the maximum gas costs we have observed on any aggregator

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import sinon from 'sinon';
import { ethers } from 'ethers';
@ -645,7 +645,7 @@ describe('SwapsController', function () {
topAggId,
resultQuotes,
] = await swapsController._findTopQuoteAndCalculateSavings(testInput);
assert.equal(topAggId, [TEST_AGG_ID_2]);
assert.equal(topAggId, TEST_AGG_ID_2);
assert.deepStrictEqual(resultQuotes, expectedResultQuotes);
});
});

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import sinon from 'sinon';
import { ObservableStore } from '@metamask/obs-store';
import TokenRatesController from './token-rates';

@ -16,8 +16,8 @@ import {
BnMultiplyByFraction,
addHexPrefix,
} from '../../lib/util';
import { TRANSACTION_NO_CONTRACT_ERROR_KEY } from '../../../../ui/app/helpers/constants/error-keys';
import { getSwapsTokensReceivedFromTxMeta } from '../../../../ui/app/pages/swaps/swaps.util';
import { TRANSACTION_NO_CONTRACT_ERROR_KEY } from '../../../../ui/helpers/constants/error-keys';
import { getSwapsTokensReceivedFromTxMeta } from '../../../../ui/pages/swaps/swaps.util';
import {
TRANSACTION_STATUSES,
TRANSACTION_TYPES,

@ -32,8 +32,8 @@ cleanContextForImports();
/* eslint-disable import/first */
import log from 'loglevel';
import LocalMessageDuplexStream from 'post-message-stream';
import { initializeProvider } from '@metamask/inpage-provider';
import { WindowPostMessageStream } from '@metamask/post-message-stream';
import { initializeProvider } from '@metamask/providers/dist/initializeInpageProvider';
restoreContextAfterImports();
@ -44,7 +44,7 @@ log.setDefaultLevel(process.env.METAMASK_DEBUG ? 'debug' : 'warn');
//
// setup background connection
const metamaskStream = new LocalMessageDuplexStream({
const metamaskStream = new WindowPostMessageStream({
name: 'metamask-inpage',
target: 'metamask-contentscript',
});

@ -1,34 +1,68 @@
import { ObservableStore } from '@metamask/obs-store';
/**
* @typedef {import('@metamask/controllers').ControllerMessenger} ControllerMessenger
*/
/**
* An ObservableStore that can composes a flat
* structure of child stores based on configuration
*/
export default class ComposableObservableStore extends ObservableStore {
/**
* Describes which stores are being composed. The key is the name of the
* store, and the value is either an ObserableStore, or a controller that
* extends one of the two base controllers in the `@metamask/controllers`
* package.
* @type {Record<string, Object>}
*/
config = {};
/**
* Create a new store
*
* @param {Object} [initState] - The initial store state
* @param {Object} [config] - Map of internal state keys to child stores
* @param {Object} options
* @param {Object} [options.config] - Map of internal state keys to child stores
* @param {ControllerMessenger} options.controllerMessenger - The controller
* messenger, used for subscribing to events from BaseControllerV2-based
* controllers.
* @param {Object} [options.state] - The initial store state
*/
constructor(initState, config) {
super(initState);
this.updateStructure(config);
constructor({ config, controllerMessenger, state }) {
super(state);
this.controllerMessenger = controllerMessenger;
if (config) {
this.updateStructure(config);
}
}
/**
* Composes a new internal store subscription structure
*
* @param {Object} [config] - Map of internal state keys to child stores
* @param {Record<string, Object>} config - Describes which stores are being
* composed. The key is the name of the store, and the value is either an
* ObserableStore, or a controller that extends one of the two base
* controllers in the `@metamask/controllers` package.
*/
updateStructure(config) {
this.config = config;
this.removeAllListeners();
for (const key in config) {
if (Object.prototype.hasOwnProperty.call(config, key)) {
for (const key of Object.keys(config)) {
if (!config[key]) {
throw new Error(`Undefined '${key}'`);
}
const store = config[key];
if (store.subscribe) {
config[key].subscribe((state) => {
this.updateState({ [key]: state });
});
} else {
this.controllerMessenger.subscribe(
`${store.name}:stateChange`,
(state) => {
this.updateState({ [key]: state });
},
);
}
}
}
@ -40,15 +74,16 @@ export default class ComposableObservableStore extends ObservableStore {
* @returns {Object} Object containing merged child store state
*/
getFlatState() {
if (!this.config) {
return {};
}
let flatState = {};
for (const key in this.config) {
if (Object.prototype.hasOwnProperty.call(this.config, key)) {
const controller = this.config[key];
const state = controller.getState
? controller.getState()
: controller.state;
flatState = { ...flatState, ...state };
}
for (const key of Object.keys(this.config)) {
const controller = this.config[key];
const state = controller.getState
? controller.getState()
: controller.state;
flatState = { ...flatState, ...state };
}
return flatState;
}

@ -1,35 +1,194 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import { ObservableStore } from '@metamask/obs-store';
import {
BaseController,
BaseControllerV2,
ControllerMessenger,
} from '@metamask/controllers';
import ComposableObservableStore from './ComposableObservableStore';
class OldExampleController extends BaseController {
name = 'OldExampleController';
defaultState = {
baz: 'baz',
};
constructor() {
super();
this.initialize();
}
updateBaz(contents) {
this.update({ baz: contents });
}
}
class ExampleController extends BaseControllerV2 {
static defaultState = {
bar: 'bar',
};
static metadata = {
bar: { persist: true, anonymous: true },
};
constructor({ messenger }) {
super({
messenger,
name: 'ExampleController',
metadata: ExampleController.metadata,
state: ExampleController.defaultState,
});
}
updateBar(contents) {
this.update(() => {
return { bar: contents };
});
}
}
describe('ComposableObservableStore', function () {
it('should register initial state', function () {
const store = new ComposableObservableStore('state');
const controllerMessenger = new ControllerMessenger();
const store = new ComposableObservableStore({
controllerMessenger,
state: 'state',
});
assert.strictEqual(store.getState(), 'state');
});
it('should register initial structure', function () {
const controllerMessenger = new ControllerMessenger();
const testStore = new ObservableStore();
const store = new ComposableObservableStore(null, { TestStore: testStore });
const store = new ComposableObservableStore({
config: { TestStore: testStore },
controllerMessenger,
});
testStore.putState('state');
assert.deepEqual(store.getState(), { TestStore: 'state' });
});
it('should update structure', function () {
it('should update structure with observable store', function () {
const controllerMessenger = new ControllerMessenger();
const testStore = new ObservableStore();
const store = new ComposableObservableStore();
const store = new ComposableObservableStore({ controllerMessenger });
store.updateStructure({ TestStore: testStore });
testStore.putState('state');
assert.deepEqual(store.getState(), { TestStore: 'state' });
});
it('should update structure with BaseController-based controller', function () {
const controllerMessenger = new ControllerMessenger();
const oldExampleController = new OldExampleController();
const store = new ComposableObservableStore({ controllerMessenger });
store.updateStructure({ OldExample: oldExampleController });
oldExampleController.updateBaz('state');
assert.deepEqual(store.getState(), { OldExample: { baz: 'state' } });
});
it('should update structure with BaseControllerV2-based controller', function () {
const controllerMessenger = new ControllerMessenger();
const exampleController = new ExampleController({
messenger: controllerMessenger,
});
const store = new ComposableObservableStore({ controllerMessenger });
store.updateStructure({ Example: exampleController });
exampleController.updateBar('state');
console.log(exampleController.state);
assert.deepEqual(store.getState(), { Example: { bar: 'state' } });
});
it('should update structure with all three types of stores', function () {
const controllerMessenger = new ControllerMessenger();
const exampleStore = new ObservableStore();
const exampleController = new ExampleController({
messenger: controllerMessenger,
});
const oldExampleController = new OldExampleController();
const store = new ComposableObservableStore({ controllerMessenger });
store.updateStructure({
Example: exampleController,
OldExample: oldExampleController,
Store: exampleStore,
});
exampleStore.putState('state');
exampleController.updateBar('state');
oldExampleController.updateBaz('state');
assert.deepEqual(store.getState(), {
Example: { bar: 'state' },
OldExample: { baz: 'state' },
Store: 'state',
});
});
it('should return flattened state', function () {
const controllerMessenger = new ControllerMessenger();
const fooStore = new ObservableStore({ foo: 'foo' });
const barStore = new ObservableStore({ bar: 'bar' });
const store = new ComposableObservableStore(null, {
FooStore: fooStore,
BarStore: barStore,
const barController = new ExampleController({
messenger: controllerMessenger,
});
const bazController = new OldExampleController();
const store = new ComposableObservableStore({
config: {
FooStore: fooStore,
BarStore: barController,
BazStore: bazController,
},
controllerMessenger,
state: {
FooStore: fooStore.getState(),
BarStore: barController.state,
BazStore: bazController.state,
},
});
assert.deepEqual(store.getFlatState(), {
foo: 'foo',
bar: 'bar',
baz: 'baz',
});
});
it('should return empty flattened state when not configured', function () {
const controllerMessenger = new ControllerMessenger();
const store = new ComposableObservableStore({ controllerMessenger });
assert.deepEqual(store.getFlatState(), {});
});
it('should throw if the controller messenger is omitted and the config includes a BaseControllerV2 controller', function () {
const controllerMessenger = new ControllerMessenger();
const exampleController = new ExampleController({
messenger: controllerMessenger,
});
assert.throws(
() =>
new ComposableObservableStore({
config: {
Example: exampleController,
},
}),
);
});
it('should throw if the controller messenger is omitted and updateStructure called with a BaseControllerV2 controller', function () {
const controllerMessenger = new ControllerMessenger();
const exampleController = new ExampleController({
messenger: controllerMessenger,
});
assert.deepEqual(store.getFlatState(), { foo: 'foo', bar: 'bar' });
const store = new ComposableObservableStore({});
assert.throws(() => store.updateStructure({ Example: exampleController }));
});
it('should throw if initialized with undefined config entry', function () {
const controllerMessenger = new ControllerMessenger();
assert.throws(
() =>
new ComposableObservableStore({
config: {
Example: undefined,
},
controllerMessenger,
}),
);
});
});

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import {
KOVAN_CHAIN_ID,
MAINNET_CHAIN_ID,

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import cleanErrorStack from './cleanErrorStack';
describe('Clean Error Stack', function () {
@ -14,7 +14,7 @@ describe('Clean Error Stack', function () {
});
it('tests error with message', function () {
assert.equal(cleanErrorStack(testError), 'Error: Test Message');
assert.equal(cleanErrorStack(testError).toString(), 'Error: Test Message');
});
it('tests error with undefined name', function () {
@ -29,6 +29,6 @@ describe('Clean Error Stack', function () {
});
it('tests error with blank message', function () {
assert.equal(cleanErrorStack(blankMsgError), 'Error');
assert.equal(cleanErrorStack(blankMsgError).toString(), 'Error');
});
});

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import { obj as createThoughStream } from 'through2';
import createMetaRPCHandler from './createMetaRPCHandler';

@ -40,9 +40,7 @@ export default async function getFirstPreferredLangCode() {
const firstPreferredLangCode = userPreferredLocaleCodes
.map((code) => code.toLowerCase().replace('_', '-'))
.find((code) =>
Object.prototype.hasOwnProperty.call(existingLocaleCodes, code),
);
.find((code) => existingLocaleCodes[code] !== undefined);
return existingLocaleCodes[firstPreferredLangCode] || 'en';
}

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import { TRANSACTION_STATUSES } from '../../../shared/constants/transaction';
import MessageManager from './message-manager';

@ -6,6 +6,7 @@ class MetaRPCClient {
constructor(connectionStream) {
this.connectionStream = connectionStream;
this.notificationChannel = new SafeEventEmitter();
this.uncaughtErrorChannel = new SafeEventEmitter();
this.requests = new Map();
this.connectionStream.on('data', this.handleResponse.bind(this));
this.connectionStream.on('end', this.close.bind(this));
@ -17,34 +18,47 @@ class MetaRPCClient {
});
}
onUncaughtError(handler) {
this.uncaughtErrorChannel.addListener('error', (error) => {
handler(error);
});
}
close() {
this.notificationChannel.removeAllListeners();
this.uncaughtErrorChannel.removeAllListeners();
}
handleResponse(data) {
const { id, result, error, method, params } = data;
const isNotification = id === undefined && error === undefined;
const cb = this.requests.get(id);
if (method && params && id) {
if (method && params && !isNotification) {
// dont handle server-side to client-side requests
return;
}
if (method && params && !id) {
if (method && params && isNotification) {
// handle servier-side to client-side notification
this.notificationChannel.emit('notification', data);
return;
}
if (!cb) {
// not found in request list
return;
}
if (error) {
const e = new EthereumRpcError(error.code, error.message, error.data);
// preserve the stack from serializeError
e.stack = error.stack;
this.requests.delete(id);
cb(e);
if (cb) {
this.requests.delete(id);
cb(e);
return;
}
this.uncaughtErrorChannel.emit('error', e);
return;
}
if (!cb) {
// not found in request list
return;
}

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import { obj as createThoughStream } from 'through2';
import metaRPCClientFactory from './metaRPCClientFactory';
@ -85,4 +85,58 @@ describe('metaRPCClientFactory', function () {
});
});
});
it('should be able to handle notifications', function (done) {
const streamTest = createThoughStream();
const metaRPCClient = metaRPCClientFactory(streamTest);
metaRPCClient.onNotification((notification) => {
assert(notification.method, 'foobarbaz');
done();
});
// send a notification
streamTest.write({
jsonrpc: '2.0',
method: 'foobarbaz',
params: ['bar'],
});
});
it('should be able to handle errors with no id', function (done) {
const streamTest = createThoughStream();
const metaRPCClient = metaRPCClientFactory(streamTest);
metaRPCClient.onUncaughtError((error) => {
assert(error.code, 1);
done();
});
streamTest.write({
jsonrpc: '2.0',
error: {
code: 1,
message: 'error msg',
},
});
});
it('should be able to handle errors with null id', function (done) {
const streamTest = createThoughStream();
const metaRPCClient = metaRPCClientFactory(streamTest);
metaRPCClient.onUncaughtError((error) => {
assert(error.code, 1);
done();
});
streamTest.write({
jsonrpc: '2.0',
id: null,
error: {
code: 1,
message: 'error msg',
},
});
});
});

@ -1,5 +1,5 @@
import fs from 'fs';
import assert from 'assert';
import { strict as assert } from 'assert';
import { cloneDeep } from 'lodash';
import liveMigrations from '../../migrations';
import data from '../../first-time-state';

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import nodeify from './nodeify';
describe('nodeify', function () {

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import { TRANSACTION_STATUSES } from '../../../shared/constants/transaction';
import PersonalMessageManager from './personal-message-manager';

@ -1,4 +1,4 @@
import { ethErrors } from 'eth-rpc-errors';
import { ethErrors, errorCodes } from 'eth-rpc-errors';
import validUrl from 'valid-url';
import { omit } from 'lodash';
import { MESSAGE_TYPE } from '../../../../../shared/constants/app';
@ -123,12 +123,16 @@ async function addEthereumChainHandler(
const existingNetwork = findCustomRpcBy({ chainId: _chainId });
if (existingNetwork !== null) {
if (existingNetwork) {
// If the network already exists, the request is considered successful
res.result = null;
const currentChainId = getCurrentChainId();
if (currentChainId === _chainId) {
res.result = null;
return end();
}
// Ask the user to switch the network
try {
await updateRpcTarget(
await requestUserApproval({
@ -144,7 +148,12 @@ async function addEthereumChainHandler(
);
res.result = null;
} catch (error) {
return end(error);
// For the purposes of this method, it does not matter if the user
// declines to switch the selected network. However, other errors indicate
// that something is wrong.
if (error.code !== errorCodes.provider.userRejectedRequest) {
return end(error);
}
}
return end();
}
@ -251,6 +260,14 @@ async function addEthereumChainHandler(
},
});
// Once the network has been added, the requested is considered successful
res.result = null;
} catch (error) {
return end(error);
}
// Ask the user to switch the network
try {
await updateRpcTarget(
await requestUserApproval({
origin,
@ -263,10 +280,13 @@ async function addEthereumChainHandler(
},
}),
);
res.result = null;
} catch (error) {
return end(error);
// For the purposes of this method, it does not matter if the user
// declines to switch the selected network. However, other errors indicate
// that something is wrong.
if (error.code !== errorCodes.provider.userRejectedRequest) {
return end(error);
}
}
return end();
}

@ -1,10 +1,12 @@
import addEthereumChain from './add-ethereum-chain';
import switchEthereumChain from './switch-ethereum-chain';
import getProviderState from './get-provider-state';
import logWeb3ShimUsage from './log-web3-shim-usage';
import watchAsset from './watch-asset';
const handlers = [
addEthereumChain,
switchEthereumChain,
getProviderState,
logWeb3ShimUsage,
watchAsset,

@ -0,0 +1,97 @@
import { ethErrors } from 'eth-rpc-errors';
import { omit } from 'lodash';
import { MESSAGE_TYPE } from '../../../../../shared/constants/app';
import {
isPrefixedFormattedHexString,
isSafeChainId,
} from '../../../../../shared/modules/network.utils';
const switchEthereumChain = {
methodNames: [MESSAGE_TYPE.SWITCH_ETHEREUM_CHAIN],
implementation: switchEthereumChainHandler,
};
export default switchEthereumChain;
async function switchEthereumChainHandler(
req,
res,
_next,
end,
{ getCurrentChainId, findCustomRpcBy, updateRpcTarget, requestUserApproval },
) {
if (!req.params?.[0] || typeof req.params[0] !== 'object') {
return end(
ethErrors.rpc.invalidParams({
message: `Expected single, object parameter. Received:\n${JSON.stringify(
req.params,
)}`,
}),
);
}
const { origin } = req;
const { chainId } = req.params[0];
const otherKeys = Object.keys(omit(req.params[0], ['chainId']));
if (otherKeys.length > 0) {
return end(
ethErrors.rpc.invalidParams({
message: `Received unexpected keys on object parameter. Unsupported keys:\n${otherKeys}`,
}),
);
}
const _chainId = typeof chainId === 'string' && chainId.toLowerCase();
if (!isPrefixedFormattedHexString(_chainId)) {
return end(
ethErrors.rpc.invalidParams({
message: `Expected 0x-prefixed, unpadded, non-zero hexadecimal string 'chainId'. Received:\n${chainId}`,
}),
);
}
if (!isSafeChainId(parseInt(_chainId, 16))) {
return end(
ethErrors.rpc.invalidParams({
message: `Invalid chain ID "${_chainId}": numerical value greater than max safe value. Received:\n${chainId}`,
}),
);
}
const existingNetwork = findCustomRpcBy({ chainId: _chainId });
if (existingNetwork) {
const currentChainId = getCurrentChainId();
if (currentChainId === _chainId) {
res.result = null;
return end();
}
try {
await updateRpcTarget(
await requestUserApproval({
origin,
type: MESSAGE_TYPE.SWITCH_ETHEREUM_CHAIN,
requestData: {
rpcUrl: existingNetwork.rpcUrl,
chainId: existingNetwork.chainId,
nickname: existingNetwork.nickname,
ticker: existingNetwork.ticker,
},
}),
);
res.result = null;
} catch (error) {
return end(error);
}
return end();
}
return end(
ethErrors.provider.custom({
code: 4902, // To-be-standardized "unrecognized chain ID" error
message: `Unrecognized chain ID "${chainId}". Try adding the chain using ${MESSAGE_TYPE.ADD_ETHEREUM_CHAIN} first.`,
}),
);
}

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import { cloneDeep } from 'lodash';
import KeyringController from 'eth-keyring-controller';
import firstTimeState from '../first-time-state';

@ -7,9 +7,8 @@ import extractEthjsErrorMessage from './extractEthjsErrorMessage';
// Destructuring breaks the inlining of the environment variables
const METAMASK_DEBUG = process.env.METAMASK_DEBUG;
const METAMASK_ENVIRONMENT = process.env.METAMASK_ENVIRONMENT;
const SENTRY_DSN_DEV = process.env.SENTRY_DSN_DEV;
/* eslint-enable prefer-destructuring */
const SENTRY_DSN_DEV =
'https://f59f3dd640d2429d9d0e2445a87ea8e1@sentry.io/273496';
// This describes the subset of Redux state attached to errors sent to Sentry
// These properties have some potential to be useful for debugging, and they do

@ -1,5 +1,5 @@
import EventEmitter from 'events';
import assert from 'assert';
import { strict as assert } from 'assert';
import { ObservableStore } from '@metamask/obs-store';
import { ethErrors } from 'eth-rpc-errors';
import { typedSignatureHash, TYPED_MESSAGE_SCHEMA } from 'eth-sig-util';

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import sinon from 'sinon';
import { TRANSACTION_STATUSES } from '../../../shared/constants/transaction';
import TypedMessageManager from './typed-message-manager';

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import extension from 'extensionizer';
import { stripHexPrefix } from 'ethereumjs-util';
import BN from 'bn.js';

@ -20,6 +20,7 @@ import contractMap from '@metamask/contract-metadata';
import {
AddressBookController,
ApprovalController,
ControllerMessenger,
CurrencyRateController,
PhishingController,
NotificationController,
@ -96,8 +97,13 @@ export default class MetamaskController extends EventEmitter {
this.getRequestAccountTabIds = opts.getRequestAccountTabIds;
this.getOpenMetamaskTabsIds = opts.getOpenMetamaskTabsIds;
const controllerMessenger = new ControllerMessenger();
// observable state store
this.store = new ComposableObservableStore(initState);
this.store = new ComposableObservableStore({
state: initState,
controllerMessenger,
});
// external connections by origin
// Do not modify directly. Use the associated methods.
@ -157,10 +163,14 @@ export default class MetamaskController extends EventEmitter {
preferencesStore: this.preferencesController.store,
});
this.currencyRateController = new CurrencyRateController(
{ includeUSDRate: true },
initState.CurrencyController,
);
const currencyRateMessenger = controllerMessenger.getRestricted({
name: 'CurrencyRateController',
});
this.currencyRateController = new CurrencyRateController({
includeUSDRate: true,
messenger: currencyRateMessenger,
state: initState.CurrencyController,
});
this.phishingController = new PhishingController();
@ -222,10 +232,12 @@ export default class MetamaskController extends EventEmitter {
this.accountTracker.start();
this.incomingTransactionsController.start();
this.tokenRatesController.start();
this.currencyRateController.start();
} else {
this.accountTracker.stop();
this.incomingTransactionsController.stop();
this.tokenRatesController.stop();
this.currencyRateController.stop();
}
});
@ -363,18 +375,15 @@ export default class MetamaskController extends EventEmitter {
}
});
this.networkController.on(NETWORK_EVENTS.NETWORK_DID_CHANGE, () => {
this.setCurrentCurrency(
this.currencyRateController.state.currentCurrency,
(error) => {
if (error) {
throw error;
}
},
);
this.networkController.on(NETWORK_EVENTS.NETWORK_DID_CHANGE, async () => {
const { ticker } = this.networkController.getProviderConfig();
try {
await this.currencyRateController.setNativeCurrency(ticker);
} catch (error) {
// TODO: Handle failure to get conversion rate more gracefully
console.error(error);
}
});
const { ticker } = this.networkController.getProviderConfig();
this.currencyRateController.configure({ nativeCurrency: ticker ?? 'ETH' });
this.networkController.lookupNetwork();
this.messageManager = new MessageManager();
this.personalMessageManager = new PersonalMessageManager();
@ -438,33 +447,37 @@ export default class MetamaskController extends EventEmitter {
NotificationController: this.notificationController,
});
this.memStore = new ComposableObservableStore(null, {
AppStateController: this.appStateController.store,
NetworkController: this.networkController.store,
AccountTracker: this.accountTracker.store,
TxController: this.txController.memStore,
CachedBalancesController: this.cachedBalancesController.store,
TokenRatesController: this.tokenRatesController.store,
MessageManager: this.messageManager.memStore,
PersonalMessageManager: this.personalMessageManager.memStore,
DecryptMessageManager: this.decryptMessageManager.memStore,
EncryptionPublicKeyManager: this.encryptionPublicKeyManager.memStore,
TypesMessageManager: this.typedMessageManager.memStore,
KeyringController: this.keyringController.memStore,
PreferencesController: this.preferencesController.store,
MetaMetricsController: this.metaMetricsController.store,
AddressBookController: this.addressBookController,
CurrencyController: this.currencyRateController,
AlertController: this.alertController.store,
OnboardingController: this.onboardingController.store,
IncomingTransactionsController: this.incomingTransactionsController.store,
PermissionsController: this.permissionsController.permissions,
PermissionsMetadata: this.permissionsController.store,
ThreeBoxController: this.threeBoxController.store,
SwapsController: this.swapsController.store,
EnsController: this.ensController.store,
ApprovalController: this.approvalController,
NotificationController: this.notificationController,
this.memStore = new ComposableObservableStore({
config: {
AppStateController: this.appStateController.store,
NetworkController: this.networkController.store,
AccountTracker: this.accountTracker.store,
TxController: this.txController.memStore,
CachedBalancesController: this.cachedBalancesController.store,
TokenRatesController: this.tokenRatesController.store,
MessageManager: this.messageManager.memStore,
PersonalMessageManager: this.personalMessageManager.memStore,
DecryptMessageManager: this.decryptMessageManager.memStore,
EncryptionPublicKeyManager: this.encryptionPublicKeyManager.memStore,
TypesMessageManager: this.typedMessageManager.memStore,
KeyringController: this.keyringController.memStore,
PreferencesController: this.preferencesController.store,
MetaMetricsController: this.metaMetricsController.store,
AddressBookController: this.addressBookController,
CurrencyController: this.currencyRateController,
AlertController: this.alertController.store,
OnboardingController: this.onboardingController.store,
IncomingTransactionsController: this.incomingTransactionsController
.store,
PermissionsController: this.permissionsController.permissions,
PermissionsMetadata: this.permissionsController.store,
ThreeBoxController: this.threeBoxController.store,
SwapsController: this.swapsController.store,
EnsController: this.ensController.store,
ApprovalController: this.approvalController,
NotificationController: this.notificationController,
},
controllerMessenger,
});
this.memStore.subscribe(this.sendUpdate.bind(this));
@ -477,6 +490,17 @@ export default class MetamaskController extends EventEmitter {
this.submitPassword(password);
}
// Lazily update the store with the current extension environment
this.extension.runtime.getPlatformInfo(({ os }) => {
this.appStateController.setBrowserEnvironment(
os,
// This method is presently only supported by Firefox
this.extension.runtime.getBrowserInfo === undefined
? 'chrome'
: 'firefox',
);
});
// TODO:LegacyProvider: Delete
this.publicConfigStore = this.createPublicConfigStore();
}
@ -637,7 +661,11 @@ export default class MetamaskController extends EventEmitter {
return {
// etc
getState: (cb) => cb(null, this.getState()),
setCurrentCurrency: this.setCurrentCurrency.bind(this),
setCurrentCurrency: nodeify(
this.currencyRateController.setCurrentCurrency.bind(
this.currencyRateController,
),
),
setUseBlockie: this.setUseBlockie.bind(this),
setUseNonceField: this.setUseNonceField.bind(this),
setUsePhishDetect: this.setUsePhishDetect.bind(this),
@ -667,6 +695,7 @@ export default class MetamaskController extends EventEmitter {
this.unlockHardwareWalletAccount,
this,
),
setLedgerLivePreference: nodeify(this.setLedgerLivePreference, this),
// mobile
fetchInfoToSync: nodeify(this.fetchInfoToSync, this),
@ -722,6 +751,10 @@ export default class MetamaskController extends EventEmitter {
preferencesController.addKnownMethodData,
preferencesController,
),
setDismissSeedBackUpReminder: nodeify(
this.preferencesController.setDismissSeedBackUpReminder,
this.preferencesController,
),
// AddressController
setAddressBook: nodeify(
@ -1207,6 +1240,14 @@ export default class MetamaskController extends EventEmitter {
log.error('Error while unlocking extension.', error);
}
// This must be set as soon as possible to communicate to the
// keyring's iframe and have the setting initialized properly
// Optimistically called to not block Metamask login due to
// Ledger Keyring GitHub downtime
this.setLedgerLivePreference(
this.preferencesController.getLedgerLivePreference(),
);
return this.keyringController.fullUpdate();
}
@ -2483,29 +2524,6 @@ export default class MetamaskController extends EventEmitter {
// Log blocks
/**
* A method for setting the user's preferred display currency.
* @param {string} currencyCode - The code of the preferred currency.
* @param {Function} cb - A callback function returning currency info.
*/
setCurrentCurrency(currencyCode, cb) {
const { ticker } = this.networkController.getProviderConfig();
try {
const currencyState = {
nativeCurrency: ticker,
currentCurrency: currencyCode,
};
this.currencyRateController.update(currencyState);
this.currencyRateController.configure(currencyState);
cb(null, this.currencyRateController.state);
return;
} catch (err) {
cb(err);
// eslint-disable-next-line no-useless-return
return;
}
}
/**
* A method for selecting a custom URL for an ethereum RPC provider and updating it
* @param {string} rpcUrl - A URL for a valid Ethereum RPC API.
@ -2686,6 +2704,27 @@ export default class MetamaskController extends EventEmitter {
}
}
/**
* Sets the Ledger Live preference to use for Ledger hardware wallet support
* @param {bool} bool - the value representing if the users wants to use Ledger Live
*/
async setLedgerLivePreference(bool) {
const currentValue = this.preferencesController.getLedgerLivePreference();
this.preferencesController.setLedgerLivePreference(bool);
const keyring = await this.getKeyringForDevice('ledger');
if (keyring?.updateTransportMethod) {
return keyring.updateTransportMethod(bool).catch((e) => {
// If there was an error updating the transport, we should
// fall back to the original value
this.preferencesController.setLedgerLivePreference(currentValue);
throw e;
});
}
return undefined;
}
/**
* Sets whether or not the user will have usage data tracked with MetaMetrics
* @param {boolean} bool - True for users that wish to opt-in, false for users that wish to remain out.

@ -1,4 +1,4 @@
import assert from 'assert';
import { strict as assert } from 'assert';
import sinon from 'sinon';
import { cloneDeep } from 'lodash';
import nock from 'nock';
@ -52,6 +52,7 @@ const ExtensionizerMock = {
onInstalled: {
addListener: () => undefined,
},
getPlatformInfo: async () => 'mac',
},
};
@ -492,8 +493,8 @@ describe('MetaMaskController', function () {
);
} catch (e) {
assert.equal(
e,
'Error: MetamaskController:getKeyringForDevice - Unknown device',
e.message,
'MetamaskController:getKeyringForDevice - Unknown device',
);
}
});
@ -504,9 +505,9 @@ describe('MetaMaskController', function () {
const keyrings = await metamaskController.keyringController.getKeyringsByType(
'Trezor Hardware',
);
assert.equal(
assert.deepEqual(
metamaskController.keyringController.addNewKeyring.getCall(0).args,
'Trezor Hardware',
['Trezor Hardware'],
);
assert.equal(keyrings.length, 1);
});
@ -517,9 +518,9 @@ describe('MetaMaskController', function () {
const keyrings = await metamaskController.keyringController.getKeyringsByType(
'Ledger Hardware',
);
assert.equal(
assert.deepEqual(
metamaskController.keyringController.addNewKeyring.getCall(0).args,
'Ledger Hardware',
['Ledger Hardware'],
);
assert.equal(keyrings.length, 1);
});
@ -534,8 +535,8 @@ describe('MetaMaskController', function () {
);
} catch (e) {
assert.equal(
e,
'Error: MetamaskController:getKeyringForDevice - Unknown device',
e.message,
'MetamaskController:getKeyringForDevice - Unknown device',
);
}
});
@ -553,8 +554,8 @@ describe('MetaMaskController', function () {
await metamaskController.forgetDevice('Some random device name');
} catch (e) {
assert.equal(
e,
'Error: MetamaskController:getKeyringForDevice - Unknown device',
e.message,
'MetamaskController:getKeyringForDevice - Unknown device',
);
}
});
@ -653,46 +654,24 @@ describe('MetaMaskController', function () {
});
describe('#setCustomRpc', function () {
let rpcUrl;
beforeEach(function () {
rpcUrl = metamaskController.setCustomRpc(
it('returns custom RPC that when called', async function () {
const rpcUrl = await metamaskController.setCustomRpc(
CUSTOM_RPC_URL,
CUSTOM_RPC_CHAIN_ID,
);
assert.equal(rpcUrl, CUSTOM_RPC_URL);
});
it('returns custom RPC that when called', async function () {
assert.equal(await rpcUrl, CUSTOM_RPC_URL);
});
it('changes the network controller rpc', function () {
it('changes the network controller rpc', async function () {
await metamaskController.setCustomRpc(
CUSTOM_RPC_URL,
CUSTOM_RPC_CHAIN_ID,
);
const networkControllerState = metamaskController.networkController.store.getState();
assert.equal(networkControllerState.provider.rpcUrl, CUSTOM_RPC_URL);
});
});
describe('#setCurrentCurrency', function () {
let defaultMetaMaskCurrency;
beforeEach(function () {
defaultMetaMaskCurrency =
metamaskController.currencyRateController.state.currentCurrency;
});
it('defaults to usd', function () {
assert.equal(defaultMetaMaskCurrency, 'usd');
});
it('sets currency to JPY', function () {
metamaskController.setCurrentCurrency('JPY', noop);
assert.equal(
metamaskController.currencyRateController.state.currentCurrency,
'JPY',
);
});
});
describe('#addNewAccount', function () {
it('errors when an primary keyring is does not exist', async function () {
const addNewAccount = metamaskController.addNewAccount();

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

Loading…
Cancel
Save