A Metamask fork with Infura removed and default networks editable
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ciphermask/app/_locales/ko/messages.json

1978 lines
62 KiB

{
"about": {
"message": "정보"
},
"aboutSettingsDescription": {
"message": "버전, 지원 센터, 연락처"
},
"acceleratingATransaction": {
"message": "* 높은 Gas 가격을 이용한 거래 가속화는 네트워크를 통한 처리 속도 개선 확률을 높이지만, 항상 그렇지는 않습니다."
},
"acceptTermsOfUse": {
"message": "$1을(를) 읽고 이에 동의합니다.",
"description": "$1 is the `terms` message"
},
"accessAndSpendNotice": {
"message": "$1은(는) 이 최대 금액까지 액세스 및 지출할 수 있습니다.",
"description": "$1 is the url of the site requesting ability to spend"
},
"accessingYourCamera": {
"message": "카메라에 접근 중..."
},
"account": {
"message": "계정"
},
"accountDetails": {
"message": "계정 세부 정보"
},
"accountName": {
"message": "계정 이름"
},
"accountOptions": {
"message": "계정 옵션"
},
"accountSelectionRequired": {
"message": "계정을 선택해야 합니다!"
},
"active": {
"message": "활성"
},
"activity": {
"message": "활동"
},
"activityLog": {
"message": "활동 로그"
},
"addAcquiredTokens": {
"message": "MetaMask를 이용해 얻은 토큰 추가"
},
"addAlias": {
"message": "별칭 추가"
},
"addNetwork": {
"message": "네트워크 추가"
},
"addRecipient": {
"message": "수신인 추가"
},
"addSuggestedTokens": {
"message": "추천 토큰 추가"
},
"addToAddressBook": {
"message": "주소록에 추가"
},
"addToAddressBookModalPlaceholder": {
"message": "예: John D."
},
"addToken": {
"message": "토큰 추가"
},
"addTokens": {
"message": "토큰 추가"
},
"advanced": {
"message": "고급"
},
"advancedOptions": {
"message": "고급 옵션"
},
"advancedSettingsDescription": {
"message": "개발자 기능 액세스, 상태 로그 다운로드, 계정 재설정, 테스트넷 및 맞춤형 RPC 설정"
},
"affirmAgree": {
"message": "동의함"
},
"aggregatorFeeCost": {
"message": "애그리게이터 네트워크 요금"
},
"alertDisableTooltip": {
"message": "\"설정 > 경고\"에서 변경할 수 있습니다."
},
"alertSettingsUnconnectedAccount": {
"message": "연결되지 않은 계정을 선택하여 웹사이트 탐색"
},
"alertSettingsUnconnectedAccountDescription": {
"message": "이 경고는 연결된 Web3 사이트를 탐색하고 있지만 현재 선택된 계정이 연결되지 않은 경우 팝업에 표시됩니다."
},
"alerts": {
"message": "경고"
},
"alertsSettingsDescription": {
"message": "각 경고 활성화 또는 비활성화"
},
"allowExternalExtensionTo": {
"message": "이 외부 확장을 통해 다음을 하도록 허용:"
},
"allowOriginSpendToken": {
"message": "$1에서 $2을(를) 사용하도록 허용하시겠습니까?",
"description": "$1 is the url of the site and $2 is the symbol of the token they are requesting to spend"
},
"allowThisSiteTo": {
"message": "이 사이트에서 다음을 하도록 허용:"
},
"allowWithdrawAndSpend": {
"message": "$1에서 다음 금액까지 인출 및 지출하도록 허용:",
"description": "The url of the site that requested permission to 'withdraw and spend'"
},
"amount": {
"message": "금액"
},
"amountWithColon": {
"message": "금액:"
},
"appDescription": {
"message": "브라우저의 이더리움 지갑",
"description": "The description of the application"
},
"appName": {
"message": "MetaMask",
"description": "The name of the application"
},
"approvalAndAggregatorTxFeeCost": {
"message": "승인 및 애그리게이터 네트워크 요금"
},
"approvalTxGasCost": {
"message": "승인 Tx Gas 비용"
},
"approve": {
"message": "지출 한도 승인"
},
"approveSpendLimit": {
"message": "$1 지출 한도 승인",
"description": "The token symbol that is being approved"
},
"approved": {
"message": "승인됨"
},
"asset": {
"message": "자산"
},
"assets": {
"message": "자산"
},
"attemptToCancel": {
"message": "취소하시겠습니까?"
},
"attemptToCancelDescription": {
"message": "이 시도를 제출한다고 해서 원래 거래가 반드시 취소되지는 않습니다. 취소 시도가 성공하면 위의 거래 수수료가 부과됩니다."
},
"attemptingConnect": {
"message": "블록체인 연결 시도 중입니다."
},
"attributions": {
"message": "속성"
},
"authorizedPermissions": {
"message": "다음 권한을 승인받았습니다."
},
"autoLockTimeLimit": {
"message": "자동 잠금 타이머(분)"
},
"autoLockTimeLimitDescription": {
"message": "MetaMask가 잠길 때까지 걸리는 시간을 분 단위로 설정합니다."
},
"average": {
"message": "평균"
},
"back": {
"message": "뒤로"
},
"backToAll": {
"message": "전체 목록으로 돌아가기"
},
"backupApprovalInfo": {
"message": "이 비밀 코드는 장치를 분실하여 지갑을 복구하거나, 암호를 잊거나, MetaMask를 다시 설치해야 하거나, 다른 장치에서 지갑에 액세스해야 할 때 필요합니다."
},
"backupApprovalNotice": {
"message": "비밀 복구 코드를 백업하여 지갑과 자금을 안전하게 보호하세요."
},
"backupNow": {
"message": "지금 백업"
},
"balance": {
"message": "잔액"
},
"balanceOutdated": {
"message": "최신 잔액이 아닐 수도 있습니다."
},
"basic": {
"message": "기본"
},
"blockExplorerUrl": {
"message": "블록 탐색기"
},
"blockExplorerView": {
"message": "$1의 계정 보기",
"description": "$1 replaced by URL for custom block explorer"
},
"blockiesIdenticon": {
"message": "Blockies 아이덴티콘 사용"
},
"browserNotSupported": {
"message": "지원되지 않는 브라우저입니다..."
},
"builtInCalifornia": {
"message": "MetaMask는 캘리포니아에서 설계 및 제작됩니다."
},
"buy": {
"message": "구매"
},
"buyWithWyre": {
"message": "Wyre로 ETH 구매"
},
"buyWithWyreDescription": {
"message": "Wyre를 사용하면 체크카드를 이용해 ETH를 MetaMask 계정에 바로 예치할 수 있습니다."
},
"bytes": {
"message": "바이트"
},
"cancel": {
"message": "취소"
},
"cancellationGasFee": {
"message": "취소 Gas 수수료"
},
"cancelled": {
"message": "취소됨"
},
"chainId": {
"message": "체인 ID"
},
"chromeRequiredForHardwareWallets": {
"message": "하드웨어 지갑에 연결하려면 Google Chrome에서 MetaMask를 사용해야 합니다."
},
"clickToRevealSeed": {
"message": "암호를 표시하려면 여기를 클릭하세요"
},
"close": {
"message": "닫기"
},
"confirm": {
"message": "확인"
},
"confirmPassword": {
"message": "암호 확인"
},
"confirmSecretBackupPhrase": {
"message": "비밀 백업 구문 확인"
},
"confirmed": {
"message": "확인됨"
},
"congratulations": {
"message": "축하합니다."
},
"connect": {
"message": "연결"
},
"connectAccountOrCreate": {
"message": "계정을 연결하거나 새 계정 만들기"
},
"connectHardwareWallet": {
"message": "하드웨어 지갑 연결"
},
"connectManually": {
"message": "현재 사이트에 수동으로 연결"
},
"connectTo": {
"message": "$1에 연결",
"description": "$1 is the name/origin of a web3 site/application that the user can connect to metamask"
},
"connectToAll": {
"message": "모든 $1에 연결",
"description": "$1 will be replaced by the translation of connectToAllAccounts"
},
"connectToAllAccounts": {
"message": "계정",
"description": "will replace $1 in connectToAll, completing the sentence 'connect to all of your accounts', will be text that shows list of accounts on hover"
},
"connectToMultiple": {
"message": "$1에 연결",
"description": "$1 will be replaced by the translation of connectToMultipleNumberOfAccounts"
},
"connectToMultipleNumberOfAccounts": {
"message": "$1 계정",
"description": "$1 is the number of accounts to which the web3 site/application is asking to connect; this will substitute $1 in connectToMultiple"
},
"connectWithMetaMask": {
"message": "MetaMask에 연결"
},
"connectedAccountsDescriptionPlural": {
"message": "이 사이트에 계정 $1개가 연결되어 있습니다.",
"description": "$1 is the number of accounts"
},
"connectedAccountsDescriptionSingular": {
"message": "이 사이트에 계정 1개가 연결되어 있습니다."
},
"connectedAccountsEmptyDescription": {
"message": "MetaMask가 이 사이트에 연결되어 있지 않습니다. web3 사이트를 연결하려면 사이트에서 연결 버튼을 찾으세요."
},
"connectedSites": {
"message": "연결된 사이트"
},
"connectedSitesDescription": {
"message": "$1이(가) 이 사이트에 연결되어 있습니다. 귀하의 계정 주소를 볼 수 있습니다.",
"description": "$1 is the account name"
},
"connectedSitesEmptyDescription": {
"message": "$1이(가) 어떤 사이트에도 연결되어 있지 않습니다.",
"description": "$1 is the account name"
},
"connecting": {
"message": "연결 중..."
},
"connectingTo": {
"message": "$1에 연결 중"
},
"connectingToGoerli": {
"message": "Goerli 테스트 네트워크에 연결 중"
},
"connectingToKovan": {
"message": "Kovan 테스트 네트워크에 연결 중"
},
"connectingToMainnet": {
"message": "이더리움 메인넷에 연결 중"
},
"connectingToRinkeby": {
"message": "Rinkeby 테스트 네트워크에 연결 중"
},
"connectingToRopsten": {
"message": "Ropsten 테스트 네트워크에 연결 중"
},
"contactUs": {
"message": "당사에 문의하세요"
},
"contacts": {
"message": "연락처"
},
"contactsSettingsDescription": {
"message": "연락처 추가, 편집, 제거 및 관리"
},
"continueToWyre": {
"message": "Wyre로 넘어가기"
},
"contractDeployment": {
"message": "계약 배포"
},
"contractInteraction": {
"message": "계약 상호 작용"
},
"copiedExclamation": {
"message": "복사 완료!"
},
"copiedTransactionId": {
"message": "거래 ID 복사됨"
},
"copyAddress": {
"message": "주소를 클립보드에 복사"
},
"copyPrivateKey": {
"message": "귀하의 비공개 키입니다(클릭하여 복사)"
},
"copyToClipboard": {
"message": "클립보드에 복사"
},
"copyTransactionId": {
"message": "거래 ID 복사"
},
"create": {
"message": "생성"
},
"createAWallet": {
"message": "지갑 생성"
},
"createAccount": {
"message": "계정 생성"
},
"createPassword": {
"message": "암호 생성"
},
"currencyConversion": {
"message": "통화 변환"
},
"currentAccountNotConnected": {
"message": "현재 계정이 연결되어 있지 있습니다."
},
"currentExtension": {
"message": "현재 확장 페이지"
},
"currentLanguage": {
"message": "현재 언어"
},
"customGas": {
"message": "Gas 맞춤화"
},
"customGasSubTitle": {
"message": "요금을 올리면 처리 시간이 줄어들 수 있지만 반드시 그렇지는 않습니다."
},
"customRPC": {
"message": "맞춤형 RPC"
},
"customSpendLimit": {
"message": "맞춤형 지출 한도"
},
"customToken": {
"message": "맞춤형 토큰"
},
"dataBackupFoundInfo": {
"message": "계정 데이터 일부가 MetaMask 이전 설치 도중에 백업되었습니다. 여기에는 설정, 연락처, 토큰이 포함될 수 있습니다. 지금 이 데이터를 복구하시겠습니까?"
},
"decimal": {
"message": "정밀도 소수 자릿수"
},
"decimalsMustZerotoTen": {
"message": "소수 자릿수는 0 이상, 36 이하여야 합니다."
},
"decrypt": {
"message": "암호 해독"
},
"decryptCopy": {
"message": "암호 해독된 메시지 복사"
},
"decryptInlineError": {
"message": "다음 오류 때문에 이 메시지를 해독할 수 없습니다. $1",
"description": "$1 is error message"
},
"decryptMessageNotice": {
"message": "$1에서 귀하의 작업 완수를 위해 이 메시지를 읽고자 합니다.",
"description": "$1 is the web3 site name"
},
"decryptMetamask": {
"message": "메시지 암호 해독"
},
"decryptRequest": {
"message": "요청 암호 해독"
},
"defaultNetwork": {
"message": "Ether 거래의 기존 네트워크는 메인 넷입니다."
},
"delete": {
"message": "삭제"
},
"deleteAccount": {
"message": "계정 삭제"
},
"deleteNetwork": {
"message": "네트워크를 삭제합니까?"
},
"deleteNetworkDescription": {
"message": "이 네트워크를 삭제하시겠습니까?"
},
"depositEther": {
"message": "Ether 예치"
},
"details": {
"message": "세부 정보"
},
"directDepositEther": {
"message": "Ether 직접 예치"
},
"directDepositEtherExplainer": {
"message": "Ether가 어느 정도 있다면 Ether를 새 지갑에 넣는 가장 빠른 방법은 직접 예치입니다."
},
"disconnect": {
"message": "연결 해제"
},
"disconnectAllAccounts": {
"message": "모든 계정 연결 해제"
},
"disconnectAllAccountsConfirmationDescription": {
"message": "이 네트워크의 연결을 해제하시겠습니까? 사이트 기능을 이용하지 못하게 될 수도 있습니다."
},
"disconnectPrompt": {
"message": "$1 연결 해제"
},
"disconnectThisAccount": {
"message": "이 계정 연결 해제"
},
"dismiss": {
"message": "해지"
},
"done": {
"message": "완료"
},
"dontShowThisAgain": {
"message": "이 메시지를 다시 표시하지 않음"
},
"downloadGoogleChrome": {
"message": "Google Chrome 다운로드"
},
"downloadSecretBackup": {
"message": "이 비밀 백업 구문을 다운로드하고 암호화된 외장 하드 드라이브나 저장 매체에 안전하게 보관하세요."
},
"downloadStateLogs": {
"message": "상태 로그 다운로드"
},
"dropped": {
"message": "중단됨"
},
"edit": {
"message": "편집"
},
"editContact": {
"message": "연락처 편집"
},
"editPermission": {
"message": "권한 편집"
},
"encryptionPublicKeyNotice": {
"message": "$1에서 귀하의 공개 암호화 키를 요구합니다. 동의하면 이 사이트에서 암호화된 메시지를 작성하여 귀하에게 전송할 수 있습니다.",
"description": "$1 is the web3 site name"
},
"encryptionPublicKeyRequest": {
"message": "암호화 공개 키 요구"
},
"endOfFlowMessage1": {
"message": "테스트를 통과하셨습니다. 시드 구문을 안전하게 보관할 책임은 귀하에게 있습니다!"
},
"endOfFlowMessage10": {
"message": "모두 완료"
},
"endOfFlowMessage2": {
"message": "안전한 보관 관련 팁"
},
"endOfFlowMessage3": {
"message": "백업을 여러 장소에 보관하세요."
},
"endOfFlowMessage4": {
"message": "구문을 누구와도 공유하지 마세요."
},
"endOfFlowMessage5": {
"message": "피싱을 조심하세요! MetaMask에서는 절대로 시드 구문을 갑자기 물어보지 않습니다."
},
"endOfFlowMessage6": {
"message": "시드 구문을 다시 백업해야 한다면 설정 -> 보안에서 시드 구문을 찾을 수 있습니다."
},
"endOfFlowMessage8": {
"message": "MetaMask에서는 시드 구문을 복구할 수 없습니다."
},
"endOfFlowMessage9": {
"message": "자세한 내용을 알아보세요."
},
"endpointReturnedDifferentChainId": {
"message": "엔드포인트에서 다른 체인 ID를 반환했습니다. $1",
"description": "$1 is the return value of eth_chainId from an RPC endpoint"
},
"ensNotFoundOnCurrentNetwork": {
"message": "현재 네트워크에서 ENS 이름을 찾을 수 없습니다. 이더리움 메인넷으로 전환해 보세요."
},
"ensRegistrationError": {
"message": "ENS 이름 등록 중 오류 발생"
},
"enterAnAlias": {
"message": "별칭 입력"
},
"enterMaxSpendLimit": {
"message": "최대 지출 한도 입력"
},
"enterPassword": {
"message": "암호 입력"
},
"enterPasswordContinue": {
"message": "계속하려면 암호 입력"
},
"errorCode": {
"message": "코드: $1",
"description": "Displayed error code for debugging purposes. $1 is the error code"
},
"errorDetails": {
"message": "오류 세부 정보",
"description": "Title for collapsible section that displays error details for debugging purposes"
},
"errorMessage": {
"message": "메시지: $1",
"description": "Displayed error message for debugging purposes. $1 is the error message"
},
"errorName": {
"message": "코드: $1",
"description": "Displayed error name for debugging purposes. $1 is the error name"
},
"errorPageTitle": {
"message": "MetaMask에서 오류 발생",
"description": "Title of generic error page"
},
"errorStack": {
"message": "스택:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "예상 처리 시간"
},
"eth_accounts": {
"message": "허용되는 계정의 주소 보기(필수)",
"description": "The description for the `eth_accounts` permission"
},
"ethereumPublicAddress": {
"message": "이더리움 공개 주소"
},
"etherscan": {
"message": "Etherscan"
},
"etherscanView": {
"message": "Etherscan에서 계정 보기"
},
"expandView": {
"message": "보기 확장"
},
"exportPrivateKey": {
"message": "비공개 키 내보내기"
},
"externalExtension": {
"message": "외부 확장"
},
"extraApprovalGas": {
"message": "+$1 승인 Gas",
"description": "Expresses an additional gas amount the user will have to pay, on top of some other displayed amount. $1 is a decimal amount of gas"
},
"failed": {
"message": "실패"
},
"failedToFetchChainId": {
"message": "체인 ID를 가져올 수 없습니다. RPC URL이 올바른가요?"
},
"failureMessage": {
"message": "문제가 발생했습니다. 작업을 완료할 수 없습니다."
},
"fast": {
"message": "빠름"
},
"fastest": {
"message": "가장 빠름"
},
"feeAssociatedRequest": {
"message": "요금이 이 권한과 연결되어 있습니다."
},
"fiat": {
"message": "명목",
"description": "Exchange type"
},
"fileImportFail": {
"message": "파일 가져오기가 작동하지 않나요? 여기를 클릭하세요!",
"description": "Helps user import their account from a JSON file"
},
"forbiddenIpfsGateway": {
"message": "금지된 IPFS 게이트웨이: CID 게이트웨이를 지정하세요."
},
"forgetDevice": {
"message": "이 장치 잊기"
},
"from": {
"message": "발신"
},
"fromAddress": {
"message": "발신: $1",
"description": "$1 is the address to include in the From label. It is typically shortened first using shortenAddress"
},
"functionApprove": {
"message": "기능: 승인"
},
"functionType": {
"message": "기능 유형"
},
"gasLimit": {
"message": "Gas 한도"
},
"gasLimitInfoTooltipContent": {
"message": "Gas 한도는 지불할 Gas 단위의 최대 금액입니다."
},
"gasLimitTooLow": {
"message": "Gas 한도는 21000 이상이어야 합니다."
},
"gasLimitTooLowWithDynamicFee": {
"message": "Gas 한도는 $1 이상이어야 합니다.",
"description": "$1 is the custom gas limit, in decimal."
},
"gasPrice": {
"message": "Gas 가격(GWEI)"
},
"gasPriceExtremelyLow": {
"message": "Gas 가격이 너무 낮음"
},
"gasPriceInfoTooltipContent": {
"message": "Gas 가격은 각 Gas 단위에 대해 지불할 Ether 금액을 지정합니다."
},
"gasUsed": {
"message": "사용한 Gas"
},
"gdprMessage": {
"message": "이 데이터는 집계되므로 개인정보보호 규정(EU) 2016/679의 목적에 따라 익명으로 관리됩니다. 당사 개인정보 보호 관행과 관련된 자세한 내용은 $1을(를) 참조하세요.",
"description": "$1 refers to the gdprMessagePrivacyPolicy message, the translation of which is meant to be used exclusively in the context of gdprMessage"
},
"gdprMessagePrivacyPolicy": {
"message": "개인정보 보호정책",
"description": "this translation is intended to be exclusively used as the replacement for the $1 in the gdprMessage translation"
},
"general": {
"message": "일반"
},
"generalSettingsDescription": {
"message": "통화 전환, 기본 통화, 언어, blockies 식별"
},
"getEther": {
"message": "Ether 얻기"
},
"getEtherFromFaucet": {
"message": "$1용 포시트에서 Ether 얻기",
"description": "Displays network name for Ether faucet"
},
"getStarted": {
"message": "시작하기"
},
"goerli": {
"message": "Goerli 테스트 네트워크"
},
"happyToSeeYou": {
"message": "반갑습니다."
},
"hardware": {
"message": "하드웨어"
},
"hardwareWalletConnected": {
"message": "하드웨어 지갑 연결됨"
},
"hardwareWallets": {
"message": "하드웨어 지갑 연결"
},
"hardwareWalletsMsg": {
"message": "MetaMask와 함께 사용할 하드웨어 지갑 선택"
},
"here": {
"message": "여기",
"description": "as in -click here- for more information (goes with troubleTokenBalances)"
},
"hexData": {
"message": "16진수 데이터"
},
"hide": {
"message": "숨기기"
},
"hideTokenPrompt": {
"message": "토큰을 숨기시겠습니까?"
},
"hideTokenSymbol": {
"message": "$1 숨기기",
"description": "$1 is the symbol for a token (e.g. 'DAI')"
},
"history": {
"message": "기록"
},
"import": {
"message": "가져오기",
"description": "Button to import an account from a selected file"
},
"importAccount": {
"message": "계정 가져오기"
},
"importAccountMsg": {
"message": " 가져온 계정은 생성한 MetaMask 계정 시드 구문 원본에 연결되지 않습니다. 가져온 계정에 대해 자세히 알아보세요. "
},
"importAccountSeedPhrase": {
"message": "시드 구문으로 계정 가져오기"
},
"importWallet": {
"message": "지갑 가져오기"
},
"imported": {
"message": "가져옴",
"description": "status showing that an account has been fully loaded into the keyring"
},
"initialTransactionConfirmed": {
"message": "최초 거래를 네트워크에서 확인했습니다. 확인을 클릭하여 뒤로 돌아가세요."
},
"insufficientBalance": {
"message": "잔액이 부족합니다."
},
"insufficientFunds": {
"message": "자금이 부족합니다."
},
"insufficientTokens": {
"message": "토큰이 부족합니다."
},
"invalidAddress": {
"message": "잘못된 주소"
},
"invalidAddressRecipient": {
"message": "수신인 주소가 올바르지 않음"
},
"invalidAddressRecipientNotEthNetwork": {
"message": "ETH 네트워크가 아닙니다. 소문자로 설정하세요."
},
"invalidBlockExplorerURL": {
"message": "잘못된 블록 탐색기 URL"
},
"invalidCustomNetworkAlertContent1": {
"message": "맞춤형 네트워크 '$1의 체인 ID를 다시 입력해야 합니다.",
"description": "$1 is the name/identifier of the network."
},
"invalidCustomNetworkAlertContent2": {
"message": "악성 또는 결함이 있는 네트워크 공급업체의 공격을 방어하기 위해, 이제 모든 맞춤형 네트워크에 체인 ID를 사용해야 합니다."
},
"invalidCustomNetworkAlertContent3": {
"message": "설정 > 네트워크로 이동한 후 체인 ID를 입력하세요. $1에서 가장 인기 있는 네트워크의 체인 ID를 찾을 수 있습니다.",
"description": "$1 is a link to https://chainid.network"
},
"invalidCustomNetworkAlertTitle": {
"message": "잘못된 맞춤형 네트워크"
},
"invalidHexNumber": {
"message": "잘못된 16진수입니다."
},
"invalidHexNumberLeadingZeros": {
"message": "잘못된 16진수입니다. 앞에 있는 0을 모두 제거하세요."
},
"invalidIpfsGateway": {
"message": "잘못된 IPFS 게이트웨이: 값은 올바른 URL이어야 합니다."
},
"invalidNumber": {
"message": "숫자가 올바르지 않습니다. 십진수나 '0x'로 시작하는 16진수를 입력하세요."
},
"invalidNumberLeadingZeros": {
"message": "숫자가 올바르지 않습니다. 앞에 있는 0을 모두 제거하세요."
},
"invalidRPC": {
"message": "잘못된 RPC URL"
},
"invalidSeedPhrase": {
"message": "잘못된 시드 구문"
},
"ipfsGateway": {
"message": "IPFS 게이트웨이"
},
"ipfsGatewayDescription": {
"message": "ENS 콘텐츠 해결에 사용할 IPFS CID 게이트웨이의 URL을 입력하세요."
},
"jsonFile": {
"message": "JSON 파일",
"description": "format for importing an account"
},
"knownAddressRecipient": {
"message": "알려진 계약 주소입니다."
},
"knownTokenWarning": {
"message": "이 작업은 피싱에 사용할 수 있는, 지갑에 이미 나열된 토큰을 편집합니다. 이 토큰이 나타내는 내용을 변경해야 할 때만 작업을 승인하세요."
},
"kovan": {
"message": "Kovan 테스트 네트워크"
},
"lastConnected": {
"message": "마지막 연결"
},
"learnMore": {
"message": "자세히 알아보기"
},
"ledgerAccountRestriction": {
"message": "새 계정을 추가하려면 먼저 마지막 계정을 사용해야 합니다."
},
"letsGoSetUp": {
"message": "설정을 시작하죠!"
},
"likeToAddTokens": {
"message": "이 토큰을 추가하시겠습니까?"
},
"links": {
"message": "링크"
},
"loadMore": {
"message": "추가 항목 로드"
},
"loading": {
"message": "로드 중..."
},
"loadingTokens": {
"message": "토큰 로드 중..."
},
"localhost": {
"message": "Localhost 8545"
},
"lock": {
"message": "잠금"
},
"lockTimeTooGreat": {
"message": "잠금 시간이 너무 김"
},
"mainnet": {
"message": "이더리움 메인넷"
},
"max": {
"message": "최대"
},
"memo": {
"message": "메모"
},
"memorizePhrase": {
"message": "이 구문을 기억합니다."
},
"message": {
"message": "메시지"
},
"metaMaskConnectStatusParagraphOne": {
"message": "MetaMask의 계정 연결에 대한 제어 기능이 강화되었습니다."
},
"metaMaskConnectStatusParagraphThree": {
"message": "클릭하여 연결된 계정을 관리하세요."
},
"metaMaskConnectStatusParagraphTwo": {
"message": "방문 중인 웹사이트가 현재 선택된 계정에 연결되어 있다면 연결 상태 버튼이 표시됩니다."
},
"metamaskDescription": {
"message": "이더리움 및 분산형 웹에 연결합니다."
},
"metamaskSwapsOfflineDescription": {
"message": "MetaMask Swaps가 점검 중입니다. 나중에 다시 확인하세요."
},
"metamaskVersion": {
"message": "MetaMask 버전"
},
"metametricsCommitmentsAllowOptOut": {
"message": "언제든 설정을 통해 옵트아웃할 수 있습니다."
},
"metametricsCommitmentsBoldNever": {
"message": "절대",
"description": "This string is localized separately from some of the commitments so that we can bold it"
},
"metametricsCommitmentsIntro": {
"message": "MetaMask에서는.."
},
"metametricsCommitmentsNeverCollectIP": {
"message": "전체 IP 주소를 $1 수집하지 않습니다.",
"description": "The $1 is the bolded word 'Never', from 'metametricsCommitmentsBoldNever'"
},
"metametricsCommitmentsNeverCollectKeysEtc": {
"message": "키, 주소, 거래, 잔액, 해시 또는 개인 정보를 $1 수집하지 않습니다.",
"description": "The $1 is the bolded word 'Never', from 'metametricsCommitmentsBoldNever'"
},
"metametricsCommitmentsNeverSellDataForProfit": {
"message": "수익을 위해 데이터를 $1 판매하지 않습니다.",
"description": "The $1 is the bolded word 'Never', from 'metametricsCommitmentsBoldNever'"
},
"metametricsCommitmentsSendAnonymizedEvents": {
"message": "익명화된 클릭 및 페이지뷰 이벤트 보내기"
},
"metametricsHelpImproveMetaMask": {
"message": "MetaMask 개선에 참여"
},
"metametricsOptInDescription": {
"message": "MetaMask는 사용자의 확장 사용 방식을 더 잘 이해하기 위해 사용 데이터를 수집하려 합니다. 이 데이터는 제품과 이더리움 생태계의 사용 편의성과 사용자 경험을 지속적으로 개선하는 데 사용됩니다."
},
"mobileSyncText": {
"message": "암호를 입력하여 본인임을 확인하세요!"
},
"mustSelectOne": {
"message": "토큰을 1개 이상 선택해야 합니다."
},
"myAccounts": {
"message": "내 계정"
},
"needEtherInWallet": {
"message": "MetaMask를 이용하는 분산형 애플리케이션과 상호작용하려면 지갑에 Ether가 있어야 합니다."
},
"needImportFile": {
"message": "가져올 파일을 선택해야 합니다.",
"description": "User is important an account and needs to add a file to continue"
},
"negativeETH": {
"message": "음수 ETH 양은 전송할 수 없습니다."
},
"networkName": {
"message": "네트워크 이름"
},
Version v9.5.0 RC (#10944) * add trezor HD path for ledger wallets (#10616) Co-authored-by: Barry Gitarts <bgitarts@gmail.com> * Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624) * Ensure permission log will only store JSON-able data (#10524) * remove transactionCategory in favor of more types (#10615) * remove transactionCategory in favor of more types * remove reference to STANDARD in stubs * Removing double click bug from delete custom network modal (#10628) Fixes MetaMask/metamask-extension#10626 * Hide zero balance tokens at useTokenTracker layer (#10630) * Setting balance to 0x0 when the original value is undefined (#10634) * fix: speedup cancellation (#10579) fixes #7305 * no more node:console (#10640) * prefer chainId over networkId in most cases (#10594) * Move swaps constants to the shared constants directory (#10614) * Position the 3dot menu in the same spot on asset screen and home screen (#10642) * Ensure swaps detail height doesn't create jump in vertical height (#10644) * Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650) * Prevent network menu highlighting (#10643) * Allow TextField to receive min and max attributes (#10656) * colocate tests in flat structure (#10655) * Fixing migration script generation paths (#10664) * Improve specificity of `test:unit:lax` npm script (#10661) The unit test npm script `test:unit:lax` is now more specific about which tests files to exclude. An `--ignore` CLI option is used to specify the files to ignore, rather than using the braces glob syntax to ignore them from the target glob itself. This makes the option easier to update going forward as we move more tests into the "strict" group, because the options are exactly the same between the two scripts. It also ensures we don't accidentally exclude other subdirectories that happen to also be named `permissions`. In trying to implement this, I stumbled at first because mocha expects the ignore pattern to be a relative path if the target is a relative path (i.e. they need to both start with `./` or neither). The script `test:unit:strict` has been updated to use a relative target pattern for consistency. * Swaps support for local testnet (#10658) * Swaps support for local testnet * Create util method for comparison of token addresses/symbols to default swaps token * Get chainId from txMeta in _trackSwapsMetrics of transaction controller * Add comment to document purpose of getTransactionGroupRecipientAddressFilter * Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js * fix: replace dnode background with JSON-RPC (#10627) fixes #10090 * Don't render faucet row in deposit modal for custom chains (#10674) Fixes MetaMask/metamask-extension#10038 * Change 'Send ETH' title to 'Send' (#10651) * Fixing incorrectly typed token decimal attribute (#10666) * refactor incoming tx controller (#10639) * make migration more safe (#10689) * Adding default properties to NetworkForm (#10682) Fixes MetaMask/metamask-extension#10681 * deps - remove "remotedev-server" (#10687) * deps - remove remotedev-server * Remove stale references from allow-scripts config Any packages that are no longer in the dependency tree have been removed from the `allow-scripts` config. Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Excluding sourcemaps comment in production builds (#10695) * Excluding sourcemaps comment in production builds Fixes MetaMask/metamask-extension#7077 * Fix source map explorer script The source map explorer script now re-adds the source map comment to each file to ensure the source map visualization still works. Each module with a sourcemap is copied to a temporary directory along with the module it corresponds to, and from there it's passed into `source-map-explorer`. This should ensure the resulting visualization matches what it was before. Everything has been moved inside of functions to generally improve readability, and to allow the use of local variables. Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Delete setupFetchDebugging.js (#10636) * Delete setupFetchDebugging.js * remove fetch-debugging (now handled corrently by sentry) * resolve issue with missing template error (#10692) * resolve issue with missing template error * also apply filtering to confirmation page * rename variable * Add MetaMask to list of BIP44 HD path examples (#10703) The "BIP44 Standard" HD path option in the Ledger connect flow listed only Trezor as an example. It seemed appropriate to include MetaMask as well, since we use the same path. This helps users who have imported their MetaMask seed phrase onto a Ledger device to discover this option. * Removing hard references to 12 word seed phrases in copy (#10704) Adding translation entry for "Wallet Seed" Fixed label padding issue by adding missing CSS rule * rule out empty string for symbol (#10712) * fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714) * Fix 10706 - Prevent autocomplete from add token input (#10700) * Fix mismatchedChain typo in custom network approval screen (#10723) * Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702) * Update @metamask/controllers to v6.2.1 (#10701) * Additional swaps network support (#10721) * Add swaps support for bnc chain * Use single default token address in shared/constants/swaps * ci - cache deps before patch-package (#10735) * ci - cache deps before patch-package * ci - bump dep cache number (cache break) * build - refactor build system for easier configuration (#10718) * build - refactor build system for easier configuration of before and after bundle * build - fix dependenciesToBundle option * build - fix bify external options and other config * build - refactor for cleanliness * build - fix minify argument * build - fix sourcemaps setup * scripts - refactor setupBundlerDefaults in anticipation of factor bundles * build - scripts - remove unused pipeline label * build - scripts - make filepath entry optional * build - scripts - rename filepath and filename options to entryFilepath and destFilepath * Update development/build/scripts.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> Co-authored-by: Mark Stacey <markjstacey@gmail.com> * security - update SES lockdown (#10663) * update ses * build - reference ses directly * deps - unify regenerator-runtime versions on 0.13.7 * patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411 * patches - patch regenerator-runtime for latest ses fix * reduc patch, new lockdown severe override taming * updated redux patch * update redux patch for production * ignore lockdown in lint * deps - bump patch-package just in case * trailing comma * remove ses as dep * fix path for frozen promise * remove js extension in lockdown require * Revert "ignore lockdown in lint" This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da. * Revert "build - reference ses directly" This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5. * deps - update ses * Revert "fix path for frozen promise" This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72. Co-authored-by: kumavis <aaron@kumavis.me> * Allow 11 characters in symbol for RPC (#10670) * Add error in RPC for zero length symbols * Increase RPC symbol length allowed to 11 * Add RPC tests for new symbol length checks * eth-block-tracker@5.0.1 (#10737) * Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744) * Ensure swaps gas prices are fetched from the correct chain specific endpoint * Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved * Empty commit * update @metamask/etherscan-link to v2.0.0 (#10747) * Use correct block explorer name and link in swaps when on custom network (#10743) * Use correct block explorer name and link in swaps when on custom network. * Fix up custom etherscan link code in build-quote.js * Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl' * Use correct etherscan-link method for token links in build-quote * Create correct token link in build-quote for mainnet AND custom networks * Block explorer url improvements in awaiting-swap.js and build-quote.js * Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales * Ensure that block explorer links are not shown in awaiting-swap if no url is available * Add New Zealand Dollar to currency options (#10746) * Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753) * Fix 10517 - Prevent tokens without addresses from being added to token list (#10593) * Updating y18n and netmask to resolve dependency issues (#10765) netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1 * Refactor Tx State Manager (#10672) Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763) * Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762) * Use network specific swaps contract address when checking swap contract token approval (#10774) * Build - refactor background process to use html (#10769) * build - declare background as html * build - fill in empty file when a missing file is expected * lint - fix * Update development/build/manifest.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Update development/build/manifest.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> Co-authored-by: Mark Stacey <markjstacey@gmail.com> * build - fix use of empty file to replace unused js files (#10780) * cache lint results for faster repeat execution (#10773) * eslint perf improvement (#10775) * Improve detection of task process exit (#10776) Our build script waits for the `close` event to determine whether the task has exited. The `exit` event is a better representation of this, because if a stream is shared between multiple processes, the process may exit without the `close` event being emitted. We aren't sharing streams between processes, so this edge case doesn't apply to us. This just seemed like a more suitable event to listen to, since we care about the process exiting not the stream ending. See this description of the `close` event from the Node.js documentation [1]: >The `'close'` event is emitted when the stdio streams of a child >process have been closed. This is distinct from the `'exit'` event, >since multiple processes might share the same stdio streams. And see this description of the `exit` event: >The `'exit'` event is emitted after the child process ends. [1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit * Rewrite changelog script from Bash to JavaScript (#10782) The `auto-changelog` script has been rewritten from Bash to JavaScript. Functionally it should behave identically. * Refactoring ethereum-on.spec.js to use fixtures (#10778) * Remove useless negation (#10787) !contentComponent always evaluates to true * Remove date from changelog release header (#10790) New changelog release headers now omit the date. These headers are added automatically when a new release branch is created, and that rarely ends up being the actual date of the release, so these dates have all been inaccurate anyway. The date will be re-added to the changelog later as part of a new script, after a release has been published. * Remove script for creating master sync PR (#10791) The script responsible for creating the "Sync `master` with `develop`" PR has been removed. We will soon be eliminating the need for a `master` branch altogether, so we don't need this anymore. Also, this script hasn't been running correctly in a long time. We've been creating this PR manually. * Add changelog entries under release candidate header (#10784) Instead of always placing new changelog entries under the "Current Develop Branch" header, the changelog script now places them under the header for the current release if that release has not yet been tagged. This eliminates one manual step from the release process. Relates to #10752 * Prevent duplicate changelog entries (#10786) The changelog update script now prevents duplicate entries from being added. Specifically, it will ensure that if a PR has been referenced already in an entry, it will not add it again. This should prevent it from adding duplicate entries for changes that were cherry-picked into hotfix releases. Note that this duplication prevention only works for entries containing a PR number. We don't have any way to prevent duplicate entries yet in cases where we don't know the associated PR. We will be preventing this possibility entirely pretty soon in some upcoming release automation changes though, so I'm not concerned about this omission. * Set the BSC_CONTRACT_ADDRESS to lowercase (#10800) * only applies rules to the appropriate files (#10788) * upgrade eslint deps (#10789) * Ensure correct primary currency image is displayed on home screen and token list (#10777) * Add release header when updating changelog (#10794) The changelog update script now adds a release header if it doesn't find one already that matches the current release candidate version. * remove node-sass dependency (#10797) * Add support for locators into driver abstraction (#10802) * Update changelog headers and fix dates (#10805) The changelog release header format has been updated to match the "keep a changelog" [1] format. Each header is now the bracketed version number followed by a dash, then the release date in ISO-8601 format. The release dates in each header were also updated to match the date of the corresponding GitHub Release [2]. Many of these dates were incorrect because they were set on the day we created the release candidate, rather than on the day of release. Any changelog release entries without a corresponding GitHub release was left with the date already specified. The three oldest release headers were missing dates. For the first two, I used the date of the version bump commit. For the third, I removed it since no changes were listed anyway, and it represented a range of releases rather than a single one. The `auto-changelog.js` script has been updated to account for this new format as well. [1]: https://keepachangelog.com/en/1.0.0/ [2]: https://github.com/MetaMask/metamask-extension/releases * Update the changelog when creating an RC (#10795) The changelog will now be automatically updated when a release branch is created. A new release header along with changelog entries for any new commits will be added. Note that this changelog will still need to be manually cleaned up, but it's one less manual step at least. The old Bash script for adding a new release header to the changelog has been removed, as that functionality is now built into the changelog update script. A new script has been added to commit any changes made to the manifest and changelog. This step used to happen at the end of the bump manifest version script, but now the changelog update relies upon the manifest version bump happening first, so it needed to be re-ordered. The changes should only be committed on the first run of the branch, as it's contingent upon the manifest changing (due to the version bump). Further changelog updates won't trigger new automatic commits. * Refactoring address-book.spec.js to use fixtures (#10804) * Refactoring send-edit.spec.js to use fixtures (#10792) * Fix _getPermittedAccounts type safety (#10819) * Removing unnecessary params from withFixtures function call. (#10831) * Add links to release headers (#10808) Each release header now includes a link to the range of commits included with that release. These links are at the end of the document, in accordance with the "keep a changelog" [1] format. For the purpose of this changelog, the "previous release" is the most recent release mentioned in the changelogs. The diffs ignore any releases that were omitted from the changelog. This is mainly an issue with older releases, so it seemed acceptable. All releases have been documented for a couple of years now, and will be going forward as well. The name of the "Current Develop Branch" section was changed to "Unreleased" to confirm with "keep a changelog". The `auto-changelog.js` script has been updated to update/add these links whenever adding a new release header as well. [1]: https://keepachangelog.com/en/1.0.0/ * Refactoring permissions.spec.js to use fixtures (#10829) * Add validation for the `fee` property from the `/trades` API response (#10836) * Refactoring signature-request.spec.js to use fixtures (#10820) * use locator abstraction in tests folder (#10833) * Move BSC chain ID, rename some BSC-related vars (#10807) * Add categories to each changelog release (#10837) Each changelog release now has category headers. The standard "keep a changelog" [1] categories are used, along with the addition of "Uncategorized" for any changes that have not yet been categorized. The changelog script has been updated to add this "Uncategorized" header if it isn't already present, and to place any new commits under this header. The changelog has been updated to property categorize each change in recent releases, and to place changes in older releases under the header "Uncategorized". [1]: https://keepachangelog.com/en/1.0.0/ * Remove unused CI script (#10840) This script has not been used since #10795. It is now gone. * Add `--rc` flag to changelog script (#10839) The changelog script now accepts an `--rc` flag to tell it whether to add new changes to `Unreleased` or to the header for the current version. Previously this was inferred from whether the current version matched the most recent tag. However this method only works for the first update. Using a flag simplifies this logic, and makes it possible to manually re-run this for further updates to a release candidate. * Add `--help` flag to changelog script (#10846) The changelog script now accepts a `--help` flag, which prints a help text explaining how the script works and what each flag does. * add abstraction for waitForSelector (#10844) * Adds jest dependency (#10845) * Add Jest * Refactor changelog parsing and generation (#10847) The `auto-changelog.js` script has been refactoring into various different modules. This was done in preparation for migrating this to a separate repository, where it can be used in our libraries as well. Functionally this should act _mostly_ the same way, but there have been some changes. It was difficult to make this a pure refactor because of the strategy used to validate the changelog and ensure each addition remained valid. Instead of being updated in-place, the changelog is now parsed upfront and stored as a "Changelog" instance, which is a new class that was written to allow only valid changes. The new changelog is then stringified and completely overwrites the old one. The parsing had to be much more strict, as any unanticipated content would otherwise be erased unintentionally. This script now also normalizes the formatting of the changelog (though the individual change descriptions are still unformatted). The changelog stringification now accommodates non-linear releases as well. For example, you can now release v1.0.1 *after* v2.0.0, and it will be listed in chronological order while also correctly constructing the `compare` URLs for each release. * Increase default slippage from 2% to 3%, show Advanced Options by default (#10842) * Increase default slippage from 2% to 3%, show Advanced Options by default * Disable opening / closing of Advanced Options on the Swap page * Pre-select previously used slippage value when going back to the Swap page * Fix lint issues * Use a callback for setting up an initial customValue * Migrate unreleased changes in changelog (#10853) When updating the changelog for a release candidate, any unreleased changes are now migrated to the release header. Generally we don't make a habit of adding changes to the changelog prior to creating a release candidate, but if any are there we certainly don't want them duplicated. * @metamask/eslint-config*@6.0.0 (#10858) * @metamask/eslint-config*@6.0.0 * Minor eslintrc reorg * Refactoring threebox.spec.js to use fixtures (#10849) * Adjust renderWithProvider to accommodate redux-less components (#10857) * Jest config (#10855) * Setup jest config * Adjust test for jest. * Adjust lint config * Omit swaps ui folder for unit testing * Omit swaps from test:unit:lax * Add jest.config.js to script files * Restore mocks rather than clearing them. * Update jest config and adjust lint to include subdirs * Convert view-quote-price-difference test to jest * Add jest ci and ci coverage scripts. Add jest unit test to general test command * Add test coverage to ci * Use --ignore flag * Fixup * Add @metamask/eslint-config-jest * Update .eslintrc.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Adds jest-coverage/ Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Add jest-coverage/ to prettierignore (#10865) * Add jest coverage (#10868) * Add jest coverage This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`. * Lint * Fix crash when adding new changelog release header (#10870) The `auto-changelog.js` script crashes when trying to add a new release header. This bug was introduced in #10847. The cause was a simple misnamed parameter. * Change caching for Swaps APIs from 1 hour to 5 minutes (#10871) * Change caching for the /tokens API from 1 hour to 5 minutes * Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well * add key literals to driver (#10854) * Quote globs in prettier scripts (#10867) * use waitForSelector instead of until (#10852) * complete abstraction of until method * response to feedback * Adding recovery phrase video to onboarding process (#10717) * Adding recovery phrase video to onboarding process Adding english subtitles * Support textAlign in Box, converting sidebar to Box * Reduce calls of the `/featureFlag` API (#10859) * Remove periodic calls to the /featureFlag API * Always show the Swap button on the main page * Check if the Swaps feature is enabled, show loading animation while waiting * Reuse an existing useEffect call * Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues * Add a watch mode for Jest testing * Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing * Remove Swaps Jest tests from Mocha’s ESLint rules * Ignore Swaps Jest tests while running Mocha, update paths * Increase test coverage to the current max * Fix ESLint issues for Swaps * Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps * Update Jest config, fix tests * Update Jest coverage threshold to the current maximum * Update ESLint rule in jest.config.js * Disable the “Review Swap” button if the feature flag hasn’t loaded yet * Update jest threshold * Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884) * Add jest watch mode script (#10869) * Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866) * Handling infura blockage (#10883) * Handling infura blockage * Adding blockage home notification * Updating copy, adding temporary notification dismissal * Addressing review feedback * Using eth_blockNumber method to check Infura availability * Handling network changes in availability check * Use jest to run ui/**/*.test.js (#10885) * upgrade ethereumjs util (#10886) * Swaps: Show a network name dynamically in a tooltip (#10882) * Swaps: Show a network name dynamically in a tooltip * Replace “Ethereum” with “$1”, change “Test” to “Testnet” * Replace 이더리움 with $1 * Translate network names, use ‘Ethereum’ by default if a translation is not available yet * Reorder messages to resolve ESLint issues * Add a snapshot test for the FeeCard component, increase Jest threshold * Enable snapshot testing into external .snap files in ESLint * Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value * Throw an error if chain ID is not supported by the Swaps feature * Use string literals when calling the `t` fn, * Adding option to set Custom Nonce to Confirm Approve Page (#10595) * Dep Upgrades for Lavamoat Patches (#10902) * dep upgrades * apply more patches * Dep upgrades and patches (#10903) * apply patches * lavamoat dep upgrades * remove lavamoat browserify * Increase Jest unit test coverage for the Swaps feature to ~25% (#10900) * Swaps: Show a network name dynamically in a tooltip * Replace “Ethereum” with “$1”, change “Test” to “Testnet” * Replace 이더리움 with $1 * Translate network names, use ‘Ethereum’ by default if a translation is not available yet * Reorder messages to resolve ESLint issues * Add a snapshot test for the FeeCard component, increase Jest threshold * Enable snapshot testing into external .snap files in ESLint * Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value * Throw an error if chain ID is not supported by the Swaps feature * Use string literals when calling the `t` fn, * Watch Jest tests silently (no React warnings in terminal, only errors) * Add @testing-library/jest-dom, import it before running Jest tests * Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest * Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests * Fix ESLint issues, update linting config * Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines * Don’t run lint:fix for .snap files * Move `createProps` outside of `describe` blocks, move store creation inside tests * Use translations instead of keys, update a rendering function to load translations * Make sure all Jest snapshots are shorter than 50 lines (default limit) * Add / update props for Swaps tests * Fix React warnings when running tests for Swaps * Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899) Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0. - [Release notes](https://github.com/MetaMask/contract-metadata/releases) - [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Refactoring from-import-ui.spec.js to use fixtures (#10907) * Fix 10458 - Understand where to get support (#10895) * Add contract address validation for token swaps (#10912) * Fixing ENS input entry in send flow (#10923) * Fixing ENS input entry in send flow Fixes MetaMask/metamask-extension#10691 * removed unnecessary apostrophe * Refactoring incremental-security.spec.js to use fixtures (#10917) * use one segment instance (#10915) * Implement Ledger Live bridge (#10293) * add view account-details menu item to token-options menu (#10932) * add view account-details menu item to token-options menu * add onViewAccountDetails propType * Fix 10609 - Prevent overflow of confirmation page hostname (#10935) * upgrade eth-keyring-controller (#10933) * [Fix] 10365 My Accounts Removal (#10680) * pushing my-accounts removal * removed CONTACT_MY_ACCOUNTS_ROUTE * removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE * removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE * removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE * removed showingMyAccounts dead code * removed more dead code related to isMyAccountsPage * removing more dead code * fixed linting error(s) * removing my-accounts component/folder * added empty contact screen ui * styled empty contact page ui * fixed linting, removed add contacts button, and fixed errors * localized text and centered No Contacts * pushing localized verification and fixed e2e test * added listRoute redirect * added listroute and fixed linting error * Increase Jest unit test coverage for the Swaps feature to ~43% (#10934) * add hamburger menu to eth page (#10938) * add hamburger menu to eth page * change token-options to asset-options, use more direct selector for user address fetch * use token custom icons where possible (#10939) * Whats new popup (#10583) * Add 'What's New' notification popup * Move selectors from shared/notifications into ui/ directory * Use keys for localized message in whats new notifications objects, to ensure notifications will be translated. * Remove unused swaps intro popup locale messages * Fix keys of whats new notification locales * Remove notifications messages and descriptions from comment in shared/notifications * Move notifcationActionFunctions to shared/notifications and make it stateless * Get notification data from constants instead of state in whats-new-popup * Code cleanup * Fix build quote reference to swapsEthToken, broken during rebase * Rename notificationFilters to notificationToExclude to clarify its purpose * Documentation for getSortedNotificationsToShow * Move notification action functions from shared/ to whats-new-popup.js * Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller * Update e2e tests for whats new popup changes * Updating migration files * Addressing feedback part 1 * Addressing feedback part 2 * Remove unnecessary div in whats-new-popup * Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector * Delete intro-popup directory and test files * Lint fix * Add notifiction state to address-entry fixture * Use two separate functions for rendering first and subsequent notifications in the whats-new-popup * Ensure that string literals are passed to t for whats new popup text * Update import-ui fixtures to include notificaiton controller state * Remove unnecessary, accidental change confirm-approve * Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification * Update whats-new-popup to use intersection observer api to detect if notification has been seen * Add notifications to send-edit and threebox e2e test fixtures * Update ui/app/selectors/selectors.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Update ui/app/selectors/selectors.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Clean up locale code for whats-new-popup notifications * Disconnect observers in whats-new-popup when their callback is first called * Add test case for migration 58 for when the AppStateController does not exist * Rename popover components containerRef to popoverWrapRef * Fix messages.json * Update notification messages and images * Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component * Only create one observer, and only after images have loaded, in whats-new-popup * Set width and height on whats-new-popup image, instead of setting state on img load * Update ui/app/components/app/whats-new-popup/whats-new-popup.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Code clean up in whats new popup re: notification rendering and action functions * Code cleanup in render notification functions of whats-new-popup * Update ui/app/components/app/whats-new-popup/whats-new-popup.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> * lint fix * Update and localize notification dates * Clean up date code in shred/notifications/index.js Co-authored-by: ryanml <ryanlanese@gmail.com> Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Revert "Implement Ledger Live bridge (#10293)" This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca. * Version v9.5.0 * Update changelog for v9.5.0 * yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch * Anchor the Need Help text to the bottom of the expanded page (#10955) * fix transaction sync logic (#10954) * Add backwards compatibility for ETH <-> WETH contract address validation (#10962) * Whats new popup design fixes (#10964) * Remove padding on QR code image * Allow the qr code to be below the description in the whats new popup * Fix size and position of QR code in whats new notification * Add right caret to action links in whats new popup * Clean up placeImageBelowDescription logic * Fix display of whats-new-popup image * Improve spacing and sizing of whats new popup in both full screen and popup view * refactor * Ensure method of adding contact when contacts exist (#10963) * Fixing alignment issue with bottom notification (#10979) * Revert "Adding recovery phrase video to onboarding process (#10717)" This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47. * Removing recovery video entry from changelog * Remove tests that are only needed for the commit reverted in 68c5defc * Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990) Co-authored-by: Mark Stacey <markjstacey@gmail.com> Co-authored-by: Barry Gitarts <bgitarts@gmail.com> Co-authored-by: Dan J Miller <danjm.com@gmail.com> Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com> Co-authored-by: Brad Decker <git@braddecker.dev> Co-authored-by: ryanml <ryanlanese@gmail.com> Co-authored-by: David Walsh <davidwalsh83@gmail.com> Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com> Co-authored-by: Shane <jonas.shane@gmail.com> Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com> Co-authored-by: kumavis <kumavis@users.noreply.github.com> Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com> Co-authored-by: kumavis <aaron@kumavis.me> Co-authored-by: Grant Bakker <grant@bakker.pw> Co-authored-by: Michael Standen <screaminghawk@gmail.com> Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com> Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com> Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Thomas <thomas.b.huang@gmail.com> Co-authored-by: Alex Donesky <alex.donesky@consensys.net> Co-authored-by: Austin Akers <austin.akers5@gmail.com> Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
"networkNameEthereum": {
"message": "이더리움"
},
"networkSettingsChainIdDescription": {
"message": "체인 ID는 거래 서명에 사용합니다. 네트워크에서 반환하는 체인 ID와 일치해야 합니다. 십진수나 '0x'로 시작하는 16진수를 입력할 수 있지만, 표시될 때는 십진수로 표시됩니다."
},
"networkSettingsDescription": {
"message": "맞춤형 RPC 네트워크 추가 및 편집"
},
"networks": {
"message": "네트워크"
},
"nevermind": {
"message": "괜찮습니다"
},
"newAccount": {
"message": "새 계정"
},
"newAccountDetectedDialogMessage": {
"message": "새 주소가 발견되었습니다! 여기를 클릭하여 주소록에 추가하세요."
},
"newAccountNumberName": {
"message": "계정 $1",
"description": "Default name of next account to be created on create account screen"
},
"newContact": {
"message": "새 연락처"
},
"newContract": {
"message": "새 계약"
},
"newNetwork": {
"message": "새 네트워크"
},
"newPassword": {
"message": "새 암호(8자 이상)"
},
"newToMetaMask": {
"message": "MetaMask가 처음이세요?"
},
"newTotal": {
"message": "새 합계"
},
"newTransactionFee": {
"message": "새 거래 수수료"
},
"next": {
"message": "다음"
},
"nextNonceWarning": {
"message": "임시값이 추천 임시값($1)보다 큼",
"description": "The next nonce according to MetaMask's internal logic"
},
"noAccountsFound": {
"message": "검색 쿼리에 맞는 계정 없음"
},
"noAddressForName": {
"message": "이 이름에 설정된 주소가 없습니다."
},
"noAlreadyHaveSeed": {
"message": "아니요. 이미 시드 구문이 있습니다."
},
"noConversionRateAvailable": {
"message": "사용 가능한 전환율 없음"
},
"noThanks": {
"message": "괜찮습니다"
},
"noTransactions": {
"message": "거래가 없습니다."
},
"noWebcamFound": {
"message": "컴퓨터의 웹캠을 찾을 수 없습니다. 다시 시도하세요."
},
"noWebcamFoundTitle": {
"message": "웹캠을 찾을 수 없음"
},
"nonceField": {
"message": "거래 임시값 맞춤화"
},
"nonceFieldDescription": {
"message": "이 기능을 켜면 확인 화면에서 임시값(거래 번호)을 변경할 수 있습니다. 이것은 고급 기능으로, 주의해서 사용해야 합니다."
},
"nonceFieldHeading": {
"message": "맞춤 임시값"
},
"notCurrentAccount": {
"message": "이(가) 올바른 계정인가요? 지갑에서 현재 선택된 계정과 다릅니다."
},
"notEnoughGas": {
"message": "Gas 부족"
},
"ofTextNofM": {
"message": "/"
},
"off": {
"message": "끄기"
},
"offlineForMaintenance": {
"message": "점검을 위해 오프라인임"
},
"ok": {
"message": "확인"
},
"on": {
"message": "켜기"
},
"onboardingReturnNotice": {
"message": "\"$1\"에서 이 탭을 닫고 $2(으)로 돌아갑니다.",
"description": "Return the user to the site that initiated onboarding"
},
"onlyAvailableOnMainnet": {
"message": "메인넷에서만 사용 가능"
},
"onlyConnectTrust": {
"message": "신뢰하는 사이트에만 연결하세요."
},
"optionalBlockExplorerUrl": {
"message": "블록 탐색기 URL(선택 사항)"
},
"optionalCurrencySymbol": {
"message": "통화 기호(선택 사항)"
},
"origin": {
"message": "원본"
},
"parameters": {
"message": "매개변수"
},
"participateInMetaMetrics": {
"message": "MetaMetrics에 참여"
},
"participateInMetaMetricsDescription": {
"message": "MetaMetrics에 참여하여 MetaMask 개선에 도움을 주세요."
},
"password": {
"message": "암호"
},
"passwordNotLongEnough": {
"message": "암호가 짧습니다."
},
"passwordsDontMatch": {
"message": "암호가 일치하지 않습니다."
},
"pastePrivateKey": {
"message": "여기에 비공개 키 문자열을 붙여넣으세요.",
"description": "For importing an account from a private key"
},
"pending": {
"message": "보류 중"
},
"permissionCheckedIconDescription": {
"message": "이 권한을 수락하셨습니다."
},
"permissionUncheckedIconDescription": {
"message": "이 권한을 수락하지 않으셨습니다."
},
"permissions": {
"message": "권한"
},
"personalAddressDetected": {
"message": "개인 주소가 발견되었습니다. 토큰 계약 주소를 입력하세요."
},
"plusXMore": {
"message": "+ 외 $1개",
"description": "$1 is a number of additional but unshown items in a list- this message will be shown in place of those items"
},
"prev": {
"message": "이전"
},
"primaryCurrencySetting": {
"message": "기본 통화"
},
"primaryCurrencySettingDescription": {
"message": "체인의 고유 통화(예: ETH)로 값을 우선 표시하려면 고유를 선택합니다. 선택한 명목 통화로 값을 우선 표시하려면 명목을 선택합니다."
},
"privacyMsg": {
"message": "개인정보 보호정책"
},
"privateKey": {
"message": "비공개 키",
"description": "select this type of file to use to import an account"
},
"privateKeyWarning": {
"message": "경고: 이 키를 노출하지 마세요. 비공개 키가 있는 사람이라면 누구든 귀하의 계정에 있는 자산을 훔칠 수 있습니다."
},
"privateNetwork": {
"message": "비공개 네트워크"
},
"proposedApprovalLimit": {
"message": "제안된 승인 한도"
},
"provide": {
"message": "제공"
},
"queue": {
"message": "대기열"
},
"queued": {
"message": "대기열에 지정됨"
},
"readdToken": {
"message": "나중에 계정 옵션 메뉴의 “토큰 추가”로 이동하면 이 토큰을 다시 추가할 수 있습니다."
},
"receive": {
"message": "받기"
},
"recents": {
"message": "최근"
},
"recipientAddress": {
"message": "수신인 주소"
},
"recipientAddressPlaceholder": {
"message": "검색, 공개 주소(0x) 또는 ENS"
},
"reject": {
"message": "거부"
},
"rejectAll": {
"message": "모두 거부"
},
"rejectTxsDescription": {
"message": "거래 $1개를 모두 거부합니다."
},
"rejectTxsN": {
"message": "거래 $1개 거부"
},
"rejected": {
"message": "거부됨"
},
"remindMeLater": {
"message": "나중에 알림"
},
"remove": {
"message": "제거"
},
"removeAccount": {
"message": "계정 제거"
},
"removeAccountDescription": {
"message": "이 계정이 지갑에서 제거됩니다. 계속하기 전에 가져온 이 계정에 대한 원본 시드 구문이나 비공개 키가 있는지 확인하세요. 계정 드롭다운에서 계정을 가져오거나 다시 만들 수 있습니다. "
},
"requestsAwaitingAcknowledgement": {
"message": "확인 대기 중인 요청"
},
"required": {
"message": "필요"
},
"reset": {
"message": "재설정"
},
"resetAccount": {
"message": "계정 재설정"
},
"resetAccountDescription": {
"message": "계정을 재설정하면 거래 내역이 지워집니다. 계정의 잔액이 변경되지는 않으면 시드 구문을 다시 입력하지 않아도 됩니다."
},
"restore": {
"message": "복구"
},
"restoreAccountWithSeed": {
"message": "시드 구문으로 계정 복구"
},
"restoreWalletPreferences": {
"message": "$1의 데이터 백업이 발견되었습니다. 지갑 환경설정을 복구하시겠습니까?",
"description": "$1 is the date at which the data was backed up"
},
"retryTransaction": {
"message": "거래 재시도"
},
"reusedTokenNameWarning": {
"message": "여기에 있는 토큰은 사용자가 확인한 다른 토큰의 기호를 재사용하기 때문에 혼란스럽거나 속기 쉽습니다."
},
"revealSeedWords": {
"message": "시드 단어 공개"
},
"revealSeedWordsDescription": {
"message": "브라우저를 변경하거나 컴퓨터를 옮긴 경우, 계정에 액세스하려면 이 시드 구문이 필요합니다. 기밀이 보장된 안전한 곳에 보관하세요."
},
"revealSeedWordsTitle": {
"message": "시드 구문"
},
"revealSeedWordsWarning": {
"message": "이 구문은 계정 전체를 도용하는 데 사용될 수 있습니다."
},
"revealSeedWordsWarningTitle": {
"message": "이 구문은 누구와도 공유하지 마세요!"
},
"rinkeby": {
"message": "Rinkeby 테스트 네트워크"
},
"ropsten": {
"message": "Ropsten 테스트 네트워크"
},
"rpcUrl": {
"message": "새 RPC URL"
},
"save": {
"message": "저장"
},
"saveAsCsvFile": {
"message": "CSV 파일로 저장"
},
"scanInstructions": {
"message": "QR 코드를 카메라 앞에 놓으세요"
},
"scanQrCode": {
"message": "QR 코드 스캔"
},
"scrollDown": {
"message": "화면을 아래로 내리세요"
},
"search": {
"message": "검색"
},
"searchAccounts": {
"message": "계정 검색"
},
"searchResults": {
"message": "검색 결과"
},
"searchTokens": {
"message": "토큰 검색"
},
"secretBackupPhrase": {
"message": "비밀 백업 구문"
},
"secretBackupPhraseDescription": {
"message": "비밀 백업 구문을 이용하면 계정을 쉽게 백업하고 복구할 수 있습니다."
},
"secretBackupPhraseWarning": {
"message": "경고: 백업 구문은 절대로 공개하지 마세요. 이 구문이 있는 사람은 귀하의 Ether를 영원히 소유할 수 있습니다."
},
"securityAndPrivacy": {
"message": "보안 및 개인정보 보호"
},
"securitySettingsDescription": {
"message": "개인정보 설정 및 지갑 시드 구문"
},
"seedPhrasePlaceholder": {
"message": "공백 한 칸으로 각 단어를 구분하세요"
},
"seedPhrasePlaceholderPaste": {
"message": "클립보드에서 시드 구문 붙여넣기"
},
"seedPhraseReq": {
"message": "시드 구문에 12, 15, 18, 21 또는 24단어 포함"
},
"selectAHigherGasFee": {
"message": "높은 Gas 요금을 선택하면 거래 처리 속도를 높일 수 있습니다.*"
},
"selectAccounts": {
"message": "계정 선택"
},
"selectAll": {
"message": "모두 선택"
},
"selectAnAccount": {
"message": "계정 선택"
},
"selectAnAccountHelp": {
"message": "MetaMask에서 확인할 계정 선택"
},
"selectEachPhrase": {
"message": "각 구문을 선택하여 구문이 올바른지 확인하세요."
},
"selectHdPath": {
"message": "HD 경로 선택"
},
"selectPathHelp": {
"message": "아래에 기존 Ledger 계정이 표시되지 않는다면 경로를 \"Legacy(MEW / MyCrypto)\"로 변경해 보세요."
},
"selectType": {
"message": "유형 선택"
},
"selectingAllWillAllow": {
"message": "모두 선택하면 이 사이트에서 귀하의 현재 계정을 모두 볼 수 있습니다. 이 사이트를 신뢰하는지 확인하세요."
},
"send": {
"message": "보내기"
},
"sendAmount": {
"message": "금액 보내기"
},
"sendSpecifiedTokens": {
"message": "$1 보내기",
"description": "Symbol of the specified token"
},
"sendTokens": {
"message": "토큰 보내기"
},
"sentEther": {
"message": "Ether 보냄"
},
"separateEachWord": {
"message": "공백 한 칸으로 각 단어를 구분하세요"
},
"settings": {
"message": "설정"
},
"showAdvancedGasInline": {
"message": "고급 Gas 제어 기능"
},
"showAdvancedGasInlineDescription": {
"message": "이 항목을 선택하면 보내기 및 확인 화면에 Gas 가격이 표시되며 제어 기능을 바로 제한할 수 있습니다."
},
"showFiatConversionInTestnets": {
"message": "테스트넷에 전환 표시"
},
"showFiatConversionInTestnetsDescription": {
"message": "이 항목을 선택하면 테스트넷에 명목 전환을 표시합니다."
},
"showHexData": {
"message": "16진수 데이터 표시"
},
"showHexDataDescription": {
"message": "이 항목을 선택하면 보내기 화면에 16진수 데이터 필드가 표시됩니다."
},
"showIncomingTransactions": {
"message": "수신 거래 표시"
},
"showIncomingTransactionsDescription": {
"message": "이 항목을 선택하면 Etherscan을 사용하여 거래 목록에 수신 거래를 표시합니다."
},
"showPermissions": {
"message": "권한 표시"
},
"showPrivateKeys": {
"message": "비공개 키 표시"
},
"showSeedPhrase": {
"message": "시드 구문 표시"
},
"sigRequest": {
"message": "서명 요청"
},
"sign": {
"message": "서명"
},
"signNotice": {
"message": "이 메시지에 서명하면 \n위험한 부작용이 발생할 수 있습니다. 전체 계정으로 신뢰할 수 있는 \n사이트에서 보내는 메시지만 서명하세요.\n 위험한 이 방법은 이후 버전에서 제거될 예정입니다. "
},
"signatureRequest": {
"message": "서명 요청"
},
"signatureRequest1": {
"message": "메시지"
},
"signed": {
"message": "서명됨"
},
"slow": {
"message": "느림"
},
"somethingWentWrong": {
"message": "이런! 문제가 발생했습니다."
},
"speedUp": {
"message": "가속화"
},
"speedUpCancellation": {
"message": "이 취소 가속화"
},
"speedUpTransaction": {
"message": "이 거래 가속화"
},
"spendLimitAmount": {
"message": "지출 한도 금액"
},
"spendLimitInsufficient": {
"message": "지출 한도 부족"
},
"spendLimitInvalid": {
"message": "지출 한도가 올바르지 않습니다. 지출 한도는 양수여야 합니다."
},
"spendLimitPermission": {
"message": "지출 한도 권한"
},
"spendLimitRequestedBy": {
"message": "$1에서 요청한 지출 한도",
"description": "Origin of the site requesting the spend limit"
},
"spendLimitTooLarge": {
"message": "지출 한도가 너무 큼"
},
"stateLogError": {
"message": "상태 로그를 가져오는 도중 오류가 발생했습니다."
},
"stateLogFileName": {
"message": "MetaMask 상태 로그"
},
"stateLogs": {
"message": "상태 로그"
},
"stateLogsDescription": {
"message": "상태 로그에 공개 계정 주소와 전송된 거래가 있습니다."
},
"statusConnected": {
"message": "연결됨"
},
"statusNotConnected": {
"message": "연결되지 않음"
},
"storePhrase": {
"message": "이 구문을 1Password 같은 암호 관리자에 저장하세요."
},
"submit": {
"message": "제출"
},
"submitted": {
"message": "제출됨"
},
"supportCenter": {
"message": "지원 센터 방문하기"
},
"swap": {
"message": "스왑"
},
"swapAdvancedSlippageInfo": {
"message": "주문 시점과 확인 시점 사이에 가격이 변동되는 현상을 “슬리패지”라고 합니다. 슬리패지가 \"최대 슬리패지\" 설정을 초과하면 스왑이 자동으로 취소됩니다."
},
"swapAggregator": {
"message": "애그리게이터"
},
"swapAmountReceived": {
"message": "보장 금액"
},
"swapAmountReceivedInfo": {
"message": "수신하는 최소 금액입니다. 슬리패지에 따라 추가 금액을 받을 수도 있습니다."
},
"swapApproval": {
"message": "$1 스왑 승인",
"description": "Used in the transaction display list to describe a transaction that is an approve call on a token that is to be swapped.. $1 is the symbol of a token that has been approved."
},
"swapApproveNeedMoreTokens": {
"message": "이 스왑을 완료하려면 $1와(과) 추가 $2이(가) 필요합니다.",
"description": "Tells the user how many more of a given token they need for a specific swap. $1 is an amount of tokens and $2 is the token symbol."
},
"swapBuildQuotePlaceHolderText": {
"message": "$1와(과) 일치하는 가용 토큰 없음",
"description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
},
"swapCheckingQuote": {
"message": "$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."
},
"swapCustom": {
"message": "맞춤형"
},
"swapDecentralizedExchange": {
"message": "분산형 교환"
},
"swapEditLimit": {
"message": "한도 편집"
},
"swapEnableDescription": {
"message": "필수이며 MetaMask에게 $1을(를) 스왑할 권한을 제공합니다.",
"description": "Gives the user info about the required approval transaction for swaps. $1 will be the symbol of a token being approved for swaps."
},
"swapEstimatedNetworkFee": {
"message": "예상 네트워크 요금"
},
"swapEstimatedNetworkFeeSummary": {
"message": "“$1”은(는) 당사가 예상하는 실제 요금입니다. 정확한 금액은 네트워크 상태에 따라 달라집니다.",
"description": "$1 will be the translation of swapEstimatedNetworkFee, with the font bolded"
},
"swapEstimatedNetworkFees": {
"message": "예상 네트워크 요금"
},
"swapEstimatedNetworkFeesInfo": {
"message": "스왑을 완료하는 데 사용할 네트워크 요금 예상치입니다. 실제 금액은 네트워크 조건에 따라 달라질 수 있습니다."
},
"swapFailedErrorTitle": {
"message": "스왑 실패"
},
"swapFetchingQuotesErrorDescription": {
"message": "음.... 문제가 발생했습니다. 다시 시도해 보고 오류가 해결되지 않는다면 고객 지원에 문의하세요."
},
"swapFetchingQuotesErrorTitle": {
"message": "견적 가져오는 중 오류 발생"
},
"swapFetchingTokens": {
"message": "토큰 가져오는 중..."
},
"swapFinalizing": {
"message": "마무리 중..."
},
"swapLowSlippageError": {
"message": "거래가 실패할 수도 있습니다. 최대 슬리패지가 너무 낮습니다."
},
"swapMaxNetworkFeeInfo": {
"message": "“$1”이(가) 최대 지출 금액입니다. 네트워크가 불안정한 경우 금액이 증가할 수 있습니다.",
"description": "$1 will be the translation of swapMaxNetworkFees, with the font bolded"
},
"swapMaxNetworkFees": {
"message": "최대 네트워크 요금"
},
"swapMaxSlippage": {
"message": "최대 슬리패지"
},
"swapMetaMaskFee": {
"message": "MetaMask 요금"
},
"swapMetaMaskFeeDescription": {
"message": "당사는 매번 최상의 유동성 소스에서 최적 가격을 찾습니다. $1% 요금은 각 견적에 자동으로 반영되어, MetaMask를 더욱 개선하는 현재 진행 중인 개발을 지원합니다.",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
},
"swapNetworkFeeSummary": {
Version v9.5.0 RC (#10944) * add trezor HD path for ledger wallets (#10616) Co-authored-by: Barry Gitarts <bgitarts@gmail.com> * Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624) * Ensure permission log will only store JSON-able data (#10524) * remove transactionCategory in favor of more types (#10615) * remove transactionCategory in favor of more types * remove reference to STANDARD in stubs * Removing double click bug from delete custom network modal (#10628) Fixes MetaMask/metamask-extension#10626 * Hide zero balance tokens at useTokenTracker layer (#10630) * Setting balance to 0x0 when the original value is undefined (#10634) * fix: speedup cancellation (#10579) fixes #7305 * no more node:console (#10640) * prefer chainId over networkId in most cases (#10594) * Move swaps constants to the shared constants directory (#10614) * Position the 3dot menu in the same spot on asset screen and home screen (#10642) * Ensure swaps detail height doesn't create jump in vertical height (#10644) * Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650) * Prevent network menu highlighting (#10643) * Allow TextField to receive min and max attributes (#10656) * colocate tests in flat structure (#10655) * Fixing migration script generation paths (#10664) * Improve specificity of `test:unit:lax` npm script (#10661) The unit test npm script `test:unit:lax` is now more specific about which tests files to exclude. An `--ignore` CLI option is used to specify the files to ignore, rather than using the braces glob syntax to ignore them from the target glob itself. This makes the option easier to update going forward as we move more tests into the "strict" group, because the options are exactly the same between the two scripts. It also ensures we don't accidentally exclude other subdirectories that happen to also be named `permissions`. In trying to implement this, I stumbled at first because mocha expects the ignore pattern to be a relative path if the target is a relative path (i.e. they need to both start with `./` or neither). The script `test:unit:strict` has been updated to use a relative target pattern for consistency. * Swaps support for local testnet (#10658) * Swaps support for local testnet * Create util method for comparison of token addresses/symbols to default swaps token * Get chainId from txMeta in _trackSwapsMetrics of transaction controller * Add comment to document purpose of getTransactionGroupRecipientAddressFilter * Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js * fix: replace dnode background with JSON-RPC (#10627) fixes #10090 * Don't render faucet row in deposit modal for custom chains (#10674) Fixes MetaMask/metamask-extension#10038 * Change 'Send ETH' title to 'Send' (#10651) * Fixing incorrectly typed token decimal attribute (#10666) * refactor incoming tx controller (#10639) * make migration more safe (#10689) * Adding default properties to NetworkForm (#10682) Fixes MetaMask/metamask-extension#10681 * deps - remove "remotedev-server" (#10687) * deps - remove remotedev-server * Remove stale references from allow-scripts config Any packages that are no longer in the dependency tree have been removed from the `allow-scripts` config. Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Excluding sourcemaps comment in production builds (#10695) * Excluding sourcemaps comment in production builds Fixes MetaMask/metamask-extension#7077 * Fix source map explorer script The source map explorer script now re-adds the source map comment to each file to ensure the source map visualization still works. Each module with a sourcemap is copied to a temporary directory along with the module it corresponds to, and from there it's passed into `source-map-explorer`. This should ensure the resulting visualization matches what it was before. Everything has been moved inside of functions to generally improve readability, and to allow the use of local variables. Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Delete setupFetchDebugging.js (#10636) * Delete setupFetchDebugging.js * remove fetch-debugging (now handled corrently by sentry) * resolve issue with missing template error (#10692) * resolve issue with missing template error * also apply filtering to confirmation page * rename variable * Add MetaMask to list of BIP44 HD path examples (#10703) The "BIP44 Standard" HD path option in the Ledger connect flow listed only Trezor as an example. It seemed appropriate to include MetaMask as well, since we use the same path. This helps users who have imported their MetaMask seed phrase onto a Ledger device to discover this option. * Removing hard references to 12 word seed phrases in copy (#10704) Adding translation entry for "Wallet Seed" Fixed label padding issue by adding missing CSS rule * rule out empty string for symbol (#10712) * fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714) * Fix 10706 - Prevent autocomplete from add token input (#10700) * Fix mismatchedChain typo in custom network approval screen (#10723) * Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702) * Update @metamask/controllers to v6.2.1 (#10701) * Additional swaps network support (#10721) * Add swaps support for bnc chain * Use single default token address in shared/constants/swaps * ci - cache deps before patch-package (#10735) * ci - cache deps before patch-package * ci - bump dep cache number (cache break) * build - refactor build system for easier configuration (#10718) * build - refactor build system for easier configuration of before and after bundle * build - fix dependenciesToBundle option * build - fix bify external options and other config * build - refactor for cleanliness * build - fix minify argument * build - fix sourcemaps setup * scripts - refactor setupBundlerDefaults in anticipation of factor bundles * build - scripts - remove unused pipeline label * build - scripts - make filepath entry optional * build - scripts - rename filepath and filename options to entryFilepath and destFilepath * Update development/build/scripts.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> Co-authored-by: Mark Stacey <markjstacey@gmail.com> * security - update SES lockdown (#10663) * update ses * build - reference ses directly * deps - unify regenerator-runtime versions on 0.13.7 * patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411 * patches - patch regenerator-runtime for latest ses fix * reduc patch, new lockdown severe override taming * updated redux patch * update redux patch for production * ignore lockdown in lint * deps - bump patch-package just in case * trailing comma * remove ses as dep * fix path for frozen promise * remove js extension in lockdown require * Revert "ignore lockdown in lint" This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da. * Revert "build - reference ses directly" This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5. * deps - update ses * Revert "fix path for frozen promise" This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72. Co-authored-by: kumavis <aaron@kumavis.me> * Allow 11 characters in symbol for RPC (#10670) * Add error in RPC for zero length symbols * Increase RPC symbol length allowed to 11 * Add RPC tests for new symbol length checks * eth-block-tracker@5.0.1 (#10737) * Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744) * Ensure swaps gas prices are fetched from the correct chain specific endpoint * Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved * Empty commit * update @metamask/etherscan-link to v2.0.0 (#10747) * Use correct block explorer name and link in swaps when on custom network (#10743) * Use correct block explorer name and link in swaps when on custom network. * Fix up custom etherscan link code in build-quote.js * Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl' * Use correct etherscan-link method for token links in build-quote * Create correct token link in build-quote for mainnet AND custom networks * Block explorer url improvements in awaiting-swap.js and build-quote.js * Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales * Ensure that block explorer links are not shown in awaiting-swap if no url is available * Add New Zealand Dollar to currency options (#10746) * Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753) * Fix 10517 - Prevent tokens without addresses from being added to token list (#10593) * Updating y18n and netmask to resolve dependency issues (#10765) netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1 * Refactor Tx State Manager (#10672) Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763) * Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762) * Use network specific swaps contract address when checking swap contract token approval (#10774) * Build - refactor background process to use html (#10769) * build - declare background as html * build - fill in empty file when a missing file is expected * lint - fix * Update development/build/manifest.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Update development/build/manifest.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> Co-authored-by: Mark Stacey <markjstacey@gmail.com> * build - fix use of empty file to replace unused js files (#10780) * cache lint results for faster repeat execution (#10773) * eslint perf improvement (#10775) * Improve detection of task process exit (#10776) Our build script waits for the `close` event to determine whether the task has exited. The `exit` event is a better representation of this, because if a stream is shared between multiple processes, the process may exit without the `close` event being emitted. We aren't sharing streams between processes, so this edge case doesn't apply to us. This just seemed like a more suitable event to listen to, since we care about the process exiting not the stream ending. See this description of the `close` event from the Node.js documentation [1]: >The `'close'` event is emitted when the stdio streams of a child >process have been closed. This is distinct from the `'exit'` event, >since multiple processes might share the same stdio streams. And see this description of the `exit` event: >The `'exit'` event is emitted after the child process ends. [1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit * Rewrite changelog script from Bash to JavaScript (#10782) The `auto-changelog` script has been rewritten from Bash to JavaScript. Functionally it should behave identically. * Refactoring ethereum-on.spec.js to use fixtures (#10778) * Remove useless negation (#10787) !contentComponent always evaluates to true * Remove date from changelog release header (#10790) New changelog release headers now omit the date. These headers are added automatically when a new release branch is created, and that rarely ends up being the actual date of the release, so these dates have all been inaccurate anyway. The date will be re-added to the changelog later as part of a new script, after a release has been published. * Remove script for creating master sync PR (#10791) The script responsible for creating the "Sync `master` with `develop`" PR has been removed. We will soon be eliminating the need for a `master` branch altogether, so we don't need this anymore. Also, this script hasn't been running correctly in a long time. We've been creating this PR manually. * Add changelog entries under release candidate header (#10784) Instead of always placing new changelog entries under the "Current Develop Branch" header, the changelog script now places them under the header for the current release if that release has not yet been tagged. This eliminates one manual step from the release process. Relates to #10752 * Prevent duplicate changelog entries (#10786) The changelog update script now prevents duplicate entries from being added. Specifically, it will ensure that if a PR has been referenced already in an entry, it will not add it again. This should prevent it from adding duplicate entries for changes that were cherry-picked into hotfix releases. Note that this duplication prevention only works for entries containing a PR number. We don't have any way to prevent duplicate entries yet in cases where we don't know the associated PR. We will be preventing this possibility entirely pretty soon in some upcoming release automation changes though, so I'm not concerned about this omission. * Set the BSC_CONTRACT_ADDRESS to lowercase (#10800) * only applies rules to the appropriate files (#10788) * upgrade eslint deps (#10789) * Ensure correct primary currency image is displayed on home screen and token list (#10777) * Add release header when updating changelog (#10794) The changelog update script now adds a release header if it doesn't find one already that matches the current release candidate version. * remove node-sass dependency (#10797) * Add support for locators into driver abstraction (#10802) * Update changelog headers and fix dates (#10805) The changelog release header format has been updated to match the "keep a changelog" [1] format. Each header is now the bracketed version number followed by a dash, then the release date in ISO-8601 format. The release dates in each header were also updated to match the date of the corresponding GitHub Release [2]. Many of these dates were incorrect because they were set on the day we created the release candidate, rather than on the day of release. Any changelog release entries without a corresponding GitHub release was left with the date already specified. The three oldest release headers were missing dates. For the first two, I used the date of the version bump commit. For the third, I removed it since no changes were listed anyway, and it represented a range of releases rather than a single one. The `auto-changelog.js` script has been updated to account for this new format as well. [1]: https://keepachangelog.com/en/1.0.0/ [2]: https://github.com/MetaMask/metamask-extension/releases * Update the changelog when creating an RC (#10795) The changelog will now be automatically updated when a release branch is created. A new release header along with changelog entries for any new commits will be added. Note that this changelog will still need to be manually cleaned up, but it's one less manual step at least. The old Bash script for adding a new release header to the changelog has been removed, as that functionality is now built into the changelog update script. A new script has been added to commit any changes made to the manifest and changelog. This step used to happen at the end of the bump manifest version script, but now the changelog update relies upon the manifest version bump happening first, so it needed to be re-ordered. The changes should only be committed on the first run of the branch, as it's contingent upon the manifest changing (due to the version bump). Further changelog updates won't trigger new automatic commits. * Refactoring address-book.spec.js to use fixtures (#10804) * Refactoring send-edit.spec.js to use fixtures (#10792) * Fix _getPermittedAccounts type safety (#10819) * Removing unnecessary params from withFixtures function call. (#10831) * Add links to release headers (#10808) Each release header now includes a link to the range of commits included with that release. These links are at the end of the document, in accordance with the "keep a changelog" [1] format. For the purpose of this changelog, the "previous release" is the most recent release mentioned in the changelogs. The diffs ignore any releases that were omitted from the changelog. This is mainly an issue with older releases, so it seemed acceptable. All releases have been documented for a couple of years now, and will be going forward as well. The name of the "Current Develop Branch" section was changed to "Unreleased" to confirm with "keep a changelog". The `auto-changelog.js` script has been updated to update/add these links whenever adding a new release header as well. [1]: https://keepachangelog.com/en/1.0.0/ * Refactoring permissions.spec.js to use fixtures (#10829) * Add validation for the `fee` property from the `/trades` API response (#10836) * Refactoring signature-request.spec.js to use fixtures (#10820) * use locator abstraction in tests folder (#10833) * Move BSC chain ID, rename some BSC-related vars (#10807) * Add categories to each changelog release (#10837) Each changelog release now has category headers. The standard "keep a changelog" [1] categories are used, along with the addition of "Uncategorized" for any changes that have not yet been categorized. The changelog script has been updated to add this "Uncategorized" header if it isn't already present, and to place any new commits under this header. The changelog has been updated to property categorize each change in recent releases, and to place changes in older releases under the header "Uncategorized". [1]: https://keepachangelog.com/en/1.0.0/ * Remove unused CI script (#10840) This script has not been used since #10795. It is now gone. * Add `--rc` flag to changelog script (#10839) The changelog script now accepts an `--rc` flag to tell it whether to add new changes to `Unreleased` or to the header for the current version. Previously this was inferred from whether the current version matched the most recent tag. However this method only works for the first update. Using a flag simplifies this logic, and makes it possible to manually re-run this for further updates to a release candidate. * Add `--help` flag to changelog script (#10846) The changelog script now accepts a `--help` flag, which prints a help text explaining how the script works and what each flag does. * add abstraction for waitForSelector (#10844) * Adds jest dependency (#10845) * Add Jest * Refactor changelog parsing and generation (#10847) The `auto-changelog.js` script has been refactoring into various different modules. This was done in preparation for migrating this to a separate repository, where it can be used in our libraries as well. Functionally this should act _mostly_ the same way, but there have been some changes. It was difficult to make this a pure refactor because of the strategy used to validate the changelog and ensure each addition remained valid. Instead of being updated in-place, the changelog is now parsed upfront and stored as a "Changelog" instance, which is a new class that was written to allow only valid changes. The new changelog is then stringified and completely overwrites the old one. The parsing had to be much more strict, as any unanticipated content would otherwise be erased unintentionally. This script now also normalizes the formatting of the changelog (though the individual change descriptions are still unformatted). The changelog stringification now accommodates non-linear releases as well. For example, you can now release v1.0.1 *after* v2.0.0, and it will be listed in chronological order while also correctly constructing the `compare` URLs for each release. * Increase default slippage from 2% to 3%, show Advanced Options by default (#10842) * Increase default slippage from 2% to 3%, show Advanced Options by default * Disable opening / closing of Advanced Options on the Swap page * Pre-select previously used slippage value when going back to the Swap page * Fix lint issues * Use a callback for setting up an initial customValue * Migrate unreleased changes in changelog (#10853) When updating the changelog for a release candidate, any unreleased changes are now migrated to the release header. Generally we don't make a habit of adding changes to the changelog prior to creating a release candidate, but if any are there we certainly don't want them duplicated. * @metamask/eslint-config*@6.0.0 (#10858) * @metamask/eslint-config*@6.0.0 * Minor eslintrc reorg * Refactoring threebox.spec.js to use fixtures (#10849) * Adjust renderWithProvider to accommodate redux-less components (#10857) * Jest config (#10855) * Setup jest config * Adjust test for jest. * Adjust lint config * Omit swaps ui folder for unit testing * Omit swaps from test:unit:lax * Add jest.config.js to script files * Restore mocks rather than clearing them. * Update jest config and adjust lint to include subdirs * Convert view-quote-price-difference test to jest * Add jest ci and ci coverage scripts. Add jest unit test to general test command * Add test coverage to ci * Use --ignore flag * Fixup * Add @metamask/eslint-config-jest * Update .eslintrc.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Adds jest-coverage/ Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Add jest-coverage/ to prettierignore (#10865) * Add jest coverage (#10868) * Add jest coverage This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`. * Lint * Fix crash when adding new changelog release header (#10870) The `auto-changelog.js` script crashes when trying to add a new release header. This bug was introduced in #10847. The cause was a simple misnamed parameter. * Change caching for Swaps APIs from 1 hour to 5 minutes (#10871) * Change caching for the /tokens API from 1 hour to 5 minutes * Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well * add key literals to driver (#10854) * Quote globs in prettier scripts (#10867) * use waitForSelector instead of until (#10852) * complete abstraction of until method * response to feedback * Adding recovery phrase video to onboarding process (#10717) * Adding recovery phrase video to onboarding process Adding english subtitles * Support textAlign in Box, converting sidebar to Box * Reduce calls of the `/featureFlag` API (#10859) * Remove periodic calls to the /featureFlag API * Always show the Swap button on the main page * Check if the Swaps feature is enabled, show loading animation while waiting * Reuse an existing useEffect call * Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues * Add a watch mode for Jest testing * Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing * Remove Swaps Jest tests from Mocha’s ESLint rules * Ignore Swaps Jest tests while running Mocha, update paths * Increase test coverage to the current max * Fix ESLint issues for Swaps * Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps * Update Jest config, fix tests * Update Jest coverage threshold to the current maximum * Update ESLint rule in jest.config.js * Disable the “Review Swap” button if the feature flag hasn’t loaded yet * Update jest threshold * Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884) * Add jest watch mode script (#10869) * Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866) * Handling infura blockage (#10883) * Handling infura blockage * Adding blockage home notification * Updating copy, adding temporary notification dismissal * Addressing review feedback * Using eth_blockNumber method to check Infura availability * Handling network changes in availability check * Use jest to run ui/**/*.test.js (#10885) * upgrade ethereumjs util (#10886) * Swaps: Show a network name dynamically in a tooltip (#10882) * Swaps: Show a network name dynamically in a tooltip * Replace “Ethereum” with “$1”, change “Test” to “Testnet” * Replace 이더리움 with $1 * Translate network names, use ‘Ethereum’ by default if a translation is not available yet * Reorder messages to resolve ESLint issues * Add a snapshot test for the FeeCard component, increase Jest threshold * Enable snapshot testing into external .snap files in ESLint * Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value * Throw an error if chain ID is not supported by the Swaps feature * Use string literals when calling the `t` fn, * Adding option to set Custom Nonce to Confirm Approve Page (#10595) * Dep Upgrades for Lavamoat Patches (#10902) * dep upgrades * apply more patches * Dep upgrades and patches (#10903) * apply patches * lavamoat dep upgrades * remove lavamoat browserify * Increase Jest unit test coverage for the Swaps feature to ~25% (#10900) * Swaps: Show a network name dynamically in a tooltip * Replace “Ethereum” with “$1”, change “Test” to “Testnet” * Replace 이더리움 with $1 * Translate network names, use ‘Ethereum’ by default if a translation is not available yet * Reorder messages to resolve ESLint issues * Add a snapshot test for the FeeCard component, increase Jest threshold * Enable snapshot testing into external .snap files in ESLint * Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value * Throw an error if chain ID is not supported by the Swaps feature * Use string literals when calling the `t` fn, * Watch Jest tests silently (no React warnings in terminal, only errors) * Add @testing-library/jest-dom, import it before running Jest tests * Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest * Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests * Fix ESLint issues, update linting config * Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines * Don’t run lint:fix for .snap files * Move `createProps` outside of `describe` blocks, move store creation inside tests * Use translations instead of keys, update a rendering function to load translations * Make sure all Jest snapshots are shorter than 50 lines (default limit) * Add / update props for Swaps tests * Fix React warnings when running tests for Swaps * Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899) Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0. - [Release notes](https://github.com/MetaMask/contract-metadata/releases) - [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Refactoring from-import-ui.spec.js to use fixtures (#10907) * Fix 10458 - Understand where to get support (#10895) * Add contract address validation for token swaps (#10912) * Fixing ENS input entry in send flow (#10923) * Fixing ENS input entry in send flow Fixes MetaMask/metamask-extension#10691 * removed unnecessary apostrophe * Refactoring incremental-security.spec.js to use fixtures (#10917) * use one segment instance (#10915) * Implement Ledger Live bridge (#10293) * add view account-details menu item to token-options menu (#10932) * add view account-details menu item to token-options menu * add onViewAccountDetails propType * Fix 10609 - Prevent overflow of confirmation page hostname (#10935) * upgrade eth-keyring-controller (#10933) * [Fix] 10365 My Accounts Removal (#10680) * pushing my-accounts removal * removed CONTACT_MY_ACCOUNTS_ROUTE * removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE * removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE * removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE * removed showingMyAccounts dead code * removed more dead code related to isMyAccountsPage * removing more dead code * fixed linting error(s) * removing my-accounts component/folder * added empty contact screen ui * styled empty contact page ui * fixed linting, removed add contacts button, and fixed errors * localized text and centered No Contacts * pushing localized verification and fixed e2e test * added listRoute redirect * added listroute and fixed linting error * Increase Jest unit test coverage for the Swaps feature to ~43% (#10934) * add hamburger menu to eth page (#10938) * add hamburger menu to eth page * change token-options to asset-options, use more direct selector for user address fetch * use token custom icons where possible (#10939) * Whats new popup (#10583) * Add 'What's New' notification popup * Move selectors from shared/notifications into ui/ directory * Use keys for localized message in whats new notifications objects, to ensure notifications will be translated. * Remove unused swaps intro popup locale messages * Fix keys of whats new notification locales * Remove notifications messages and descriptions from comment in shared/notifications * Move notifcationActionFunctions to shared/notifications and make it stateless * Get notification data from constants instead of state in whats-new-popup * Code cleanup * Fix build quote reference to swapsEthToken, broken during rebase * Rename notificationFilters to notificationToExclude to clarify its purpose * Documentation for getSortedNotificationsToShow * Move notification action functions from shared/ to whats-new-popup.js * Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller * Update e2e tests for whats new popup changes * Updating migration files * Addressing feedback part 1 * Addressing feedback part 2 * Remove unnecessary div in whats-new-popup * Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector * Delete intro-popup directory and test files * Lint fix * Add notifiction state to address-entry fixture * Use two separate functions for rendering first and subsequent notifications in the whats-new-popup * Ensure that string literals are passed to t for whats new popup text * Update import-ui fixtures to include notificaiton controller state * Remove unnecessary, accidental change confirm-approve * Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification * Update whats-new-popup to use intersection observer api to detect if notification has been seen * Add notifications to send-edit and threebox e2e test fixtures * Update ui/app/selectors/selectors.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Update ui/app/selectors/selectors.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Clean up locale code for whats-new-popup notifications * Disconnect observers in whats-new-popup when their callback is first called * Add test case for migration 58 for when the AppStateController does not exist * Rename popover components containerRef to popoverWrapRef * Fix messages.json * Update notification messages and images * Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component * Only create one observer, and only after images have loaded, in whats-new-popup * Set width and height on whats-new-popup image, instead of setting state on img load * Update ui/app/components/app/whats-new-popup/whats-new-popup.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Code clean up in whats new popup re: notification rendering and action functions * Code cleanup in render notification functions of whats-new-popup * Update ui/app/components/app/whats-new-popup/whats-new-popup.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> * lint fix * Update and localize notification dates * Clean up date code in shred/notifications/index.js Co-authored-by: ryanml <ryanlanese@gmail.com> Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Revert "Implement Ledger Live bridge (#10293)" This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca. * Version v9.5.0 * Update changelog for v9.5.0 * yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch * Anchor the Need Help text to the bottom of the expanded page (#10955) * fix transaction sync logic (#10954) * Add backwards compatibility for ETH <-> WETH contract address validation (#10962) * Whats new popup design fixes (#10964) * Remove padding on QR code image * Allow the qr code to be below the description in the whats new popup * Fix size and position of QR code in whats new notification * Add right caret to action links in whats new popup * Clean up placeImageBelowDescription logic * Fix display of whats-new-popup image * Improve spacing and sizing of whats new popup in both full screen and popup view * refactor * Ensure method of adding contact when contacts exist (#10963) * Fixing alignment issue with bottom notification (#10979) * Revert "Adding recovery phrase video to onboarding process (#10717)" This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47. * Removing recovery video entry from changelog * Remove tests that are only needed for the commit reverted in 68c5defc * Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990) Co-authored-by: Mark Stacey <markjstacey@gmail.com> Co-authored-by: Barry Gitarts <bgitarts@gmail.com> Co-authored-by: Dan J Miller <danjm.com@gmail.com> Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com> Co-authored-by: Brad Decker <git@braddecker.dev> Co-authored-by: ryanml <ryanlanese@gmail.com> Co-authored-by: David Walsh <davidwalsh83@gmail.com> Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com> Co-authored-by: Shane <jonas.shane@gmail.com> Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com> Co-authored-by: kumavis <kumavis@users.noreply.github.com> Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com> Co-authored-by: kumavis <aaron@kumavis.me> Co-authored-by: Grant Bakker <grant@bakker.pw> Co-authored-by: Michael Standen <screaminghawk@gmail.com> Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com> Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com> Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Thomas <thomas.b.huang@gmail.com> Co-authored-by: Alex Donesky <alex.donesky@consensys.net> Co-authored-by: Austin Akers <austin.akers5@gmail.com> Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
"message": "네트워크 요금에는 스왑을 처리하고 $1 네트워크에 보관하는 비용이 적용됩니다. MetaMask는 이 요금을 이용해 이득을 얻지 않습니다."
},
"swapNewQuoteIn": {
"message": "$1 후에 새 견적",
"description": "Tells the user the amount of time until the currently displayed quotes are update. $1 is a time that is counting down from 1:00 to 0:00"
},
"swapOnceTransactionHasProcess": {
"message": "$1은(는) 이 거래가 처리되면 귀하의 계정에 추가됩니다.",
"description": "This message communicates the token that is being transferred. It is shown on the awaiting swap screen. The $1 will be a token symbol."
},
"swapProcessing": {
"message": "처리 중"
},
"swapQuoteDetails": {
"message": "견적 세부 정보"
},
"swapQuoteDetailsSlippageInfo": {
"message": "주문 시점과 확인 시점 사이에 가격이 변동되는 현상을 \"슬리패지\"라고 합니다. 슬리패지가 \"최대 슬리패지\" 설정을 초과하면 스왑이 자동으로 취소됩니다."
},
"swapQuoteIncludesRate": {
"message": "견적에는 $1% MetaMask 요금이 포함됩니다.",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
},
"swapQuoteNofN": {
"message": "$2의 $1 견적",
"description": "A count of loaded quotes shown to the user while they are waiting for quotes to be fetched. $1 is the number of quotes already loaded, and $2 is the total number of quotes to load."
},
"swapQuoteSource": {
"message": "견적 소스"
},
"swapQuotesAreRefreshed": {
"message": "견적은 현재 시장 상황을 반영하도록 자주 갱신됩니다."
},
"swapQuotesExpiredErrorDescription": {
"message": "지금 견적을 요청해 최신 요율을 확인하세요."
},
"swapQuotesExpiredErrorTitle": {
"message": "견적 시간 초과"
},
"swapQuotesNotAvailableErrorDescription": {
"message": "금액 또는 슬리패지 설정을 조정한 후 다시 시도해 보세요."
},
"swapQuotesNotAvailableErrorTitle": {
"message": "사용 가능한 견적 없음"
},
"swapRate": {
"message": "요율"
},
"swapReceiving": {
"message": "수신 중"
},
"swapReceivingInfoTooltip": {
"message": "이것은 예상치입니다. 정확한 금액은 슬리패지에 따라 달라집니다."
},
"swapRequestForQuotation": {
"message": "견적 요청"
},
"swapSearchForAToken": {
"message": "토큰 검색"
},
"swapSelect": {
"message": "선택"
},
"swapSelectAQuote": {
"message": "견적 선택"
},
"swapSelectAToken": {
"message": "토큰 선택"
},
"swapSelectQuotePopoverDescription": {
"message": "다음은 여러 유동성 소스에서 수집한 전체 견적입니다."
},
"swapSource": {
"message": "유동성 소스"
},
"swapSourceInfo": {
"message": "당사에서는 여러 유동성 소스(교환, 애그리게이터, 투자전문기관)를 검색하여 최상의 요율과 최저 네트워크 요금을 찾습니다."
},
"swapSwapFrom": {
"message": "다음에서 스왑"
},
"swapSwapSwitch": {
"message": "토큰에서 또는 토큰으로 전환"
},
"swapSwapTo": {
"message": "다음으로 스왑"
},
"swapThisWillAllowApprove": {
"message": "$1이(가) 스왑될 수 있도록 허용합니다."
},
"swapTokenAvailable": {
"message": "$1이(가) 계정에 추가되었습니다.",
"description": "This message is shown after a swap is successful and communicates the exact amount of tokens the user has received for a swap. The $1 is a decimal number of tokens followed by the token symbol."
},
"swapTokenToToken": {
"message": "$1에서 $2(으)로 스왑",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
"swapTransactionComplete": {
"message": "거래 완료"
},
"swapUnknown": {
"message": "알 수 없음"
},
"swapVerifyTokenExplanation": {
Version v9.3.0 RC (#10739) * Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624) * Move swaps constants to the shared constants directory (#10614) * Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650) * Swaps support for local testnet (#10658) * Swaps support for local testnet * Create util method for comparison of token addresses/symbols to default swaps token * Get chainId from txMeta in _trackSwapsMetrics of transaction controller * Add comment to document purpose of getTransactionGroupRecipientAddressFilter * Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js * Additional swaps network support (#10721) * Add swaps support for bnc chain * Use single default token address in shared/constants/swaps * Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744) * Ensure swaps gas prices are fetched from the correct chain specific endpoint * Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved * Empty commit * update @metamask/etherscan-link to v2.0.0 (#10747) * Use correct block explorer name and link in swaps when on custom network (#10743) * Use correct block explorer name and link in swaps when on custom network. * Fix up custom etherscan link code in build-quote.js * Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl' * Use correct etherscan-link method for token links in build-quote * Create correct token link in build-quote for mainnet AND custom networks * Block explorer url improvements in awaiting-swap.js and build-quote.js * Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales * Ensure that block explorer links are not shown in awaiting-swap if no url is available * Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753) * Updating y18n and netmask to resolve dependency issues (#10765) netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1 * Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762) * Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763) * Use network specific swaps contract address when checking swap contract token approval (#10774) * Set the BSC_CONTRACT_ADDRESS to lowercase (#10800) * Ensure correct primary currency image is displayed on home screen and token list (#10777) * [skip e2e] Update changelog for v9.3.0 (#10740) * Version v9.3.0 * [skip e2e] Update changelog for v9.3.0 (#10803) Co-authored-by: Dan J Miller <danjm.com@gmail.com> Co-authored-by: ryanml <ryanlanese@gmail.com> Co-authored-by: David Walsh <davidwalsh83@gmail.com> Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
"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"
},
"swapZeroSlippage": {
"message": "0% 슬리패지"
},
"swapsAdvancedOptions": {
"message": "고급 옵션"
},
"swapsMaxSlippage": {
"message": "최대 슬리패지"
},
"swapsNotEnoughForTx": {
"message": "$1이(가) 부족하여 이 거래를 완료할 수 없음",
"description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
},
"swapsViewInActivity": {
"message": "활동에서 보기"
},
"switchNetworks": {
"message": "네트워크 전환"
},
"switchToThisAccount": {
"message": "이 계정으로 전환"
},
"symbol": {
"message": "기호"
},
"symbolBetweenZeroTwelve": {
"message": "기호는 11자 이하여야 합니다."
},
"syncWithMobile": {
"message": "모바일과 동기화"
},
"syncWithMobileBeCareful": {
"message": "이 코드를 스캔할 때는 다른 사람이 화면을 보지 못하게 하세요."
},
"syncWithMobileComplete": {
"message": "데이터가 동기화되었습니다. MetaMask 모바일 앱을 마음껏 이용하세요!"
},
"syncWithMobileDesc": {
"message": "계정과 정보를 모바일 장치와 동기화할 수 있습니다. MetaMask 모바일 앱을 열고 \"설정\"으로 이동하여 \"브라우저 확장에서 동기화\"를 탭합니다."
},
"syncWithMobileDescNewUsers": {
"message": "MetaMask 모바일 앱을 처음 열었다면 전화에 표시되는 단계를 따르세요."
},
"syncWithMobileScanThisCode": {
"message": "MetaMask 모바일 앱으로 이 코드를 스캔하세요."
},
"syncWithMobileTitle": {
"message": "모바일과 동기화"
},
"syncWithThreeBox": {
"message": "3Box로 데이터 동기화(실험적 기능)"
},
"syncWithThreeBoxDescription": {
"message": "이 기능을 켜면 3Box를 이용해 설정을 백업합니다. 이 기능은 현재 실험 중입니다. 책임은 사용자가 져야 합니다."
},
"syncWithThreeBoxDisabled": {
"message": "초기 동기화 도중 오류가 발생하여 3Box가 비활성화되었습니다."
},
"terms": {
"message": "이용 약관"
},
"termsOfService": {
"message": "서비스 약관"
},
"testFaucet": {
"message": "포시트 테스트"
},
"thisWillCreate": {
"message": "새 지갑과 시드 구문을 만듭니다."
},
"tips": {
"message": "팁"
},
"to": {
"message": "수신"
},
"toAddress": {
"message": "수신: $1",
"description": "$1 is the address to include in the To label. It is typically shortened first using shortenAddress"
},
"toWithColon": {
"message": "수신:"
},
"token": {
"message": "토큰"
},
"tokenAlreadyAdded": {
"message": "토큰이 이미 추가되었습니다."
},
"tokenContractAddress": {
"message": "토큰 계약 주소"
},
"tokenSymbol": {
"message": "토큰 기호"
},
"total": {
"message": "합계"
},
"transaction": {
"message": "거래"
},
"transactionCancelAttempted": {
"message": "$2에서 Gas 요금이 $1인 거래 취소 시도됨"
},
"transactionCancelSuccess": {
"message": "$2에서 거래 취소 성공"
},
"transactionConfirmed": {
"message": "$2에서의 거래가 확인되었습니다."
},
"transactionCreated": {
"message": "$2에서 $1 값으로 거래를 만들었습니다."
},
"transactionDropped": {
"message": "$2에서의 거래가 중단되었습니다."
},
"transactionError": {
"message": "거래 오류입니다. 계약 코드에서 예외가 반환되었습니다."
},
"transactionErrorNoContract": {
"message": "비계약 주소에서 함수를 호출하고 있습니다."
},
"transactionErrored": {
"message": "거래에서 오류가 발생했습니다."
},
"transactionFee": {
"message": "거래 수수료"
},
"transactionResubmitted": {
"message": "$2에서 Gas 요금이 $1(으)로 증가한 거래가 다시 제출됨"
},
"transactionSubmitted": {
"message": "$2에서 Gas 요금이 $1인 거래가 제출되었습니다."
},
"transactionUpdated": {
"message": "$2에서의 거래가 업데이트되었습니다."
},
"transfer": {
"message": "전송"
},
"transferBetweenAccounts": {
"message": "계정 간 전송"
},
"transferFrom": {
"message": "전송 위치"
},
"troubleConnectingToWallet": {
"message": "$1 연결 도중 문제가 발생했습니다. $2을(를) 검도하고 다시 시도해 보세요.",
"description": "$1 is the wallet device name; $2 is a link to wallet connection guide"
},
"troubleTokenBalances": {
"message": "토큰 잔액을 로드하는 도중 문제가 발생했습니다. 잔액을 확인할 수 있습니다. ",
"description": "Followed by a link (here) to view token balances"
},
"trustSiteApprovePermission": {
"message": "이 사이트를 신뢰하시나요? 이 권한을 부여하면 $1에서 귀하의 $2을(를) 인출하고 거래를 자동으로 처리하게 됩니다.",
"description": "$1 is the url requesting permission and $2 is the symbol of the currency that the request is for"
},
"tryAgain": {
"message": "다시 시도"
},
"typePassword": {
"message": "MetaMask 암호 입력"
},
"unapproved": {
"message": "승인되지 않음"
},
"units": {
"message": "단위"
},
"unknown": {
"message": "알 수 없음"
},
"unknownCameraError": {
"message": "카메라에 액세스하는 도중 오류가 발생했습니다. 다시 시도하세요..."
},
"unknownCameraErrorTitle": {
"message": "이런! 문제가 발생했습니다...."
},
"unknownNetwork": {
"message": "알 수 없는 비공개 네트워크"
},
"unknownQrCode": {
"message": "오류: QR 코드를 식별할 수 없습니다."
},
"unlimited": {
"message": "무제한"
},
"unlock": {
"message": "잠금 해제"
},
"unlockMessage": {
"message": "분산된 웹이 다음을 대기 중"
},
"updatedWithDate": {
"message": "$1에 업데이트됨"
},
"urlErrorMsg": {
"message": "URI에는 적절한 HTTP/HTTPS 접두사가 필요합니다."
},
"urlExistsErrorMsg": {
"message": "URL이 기존 네트워크 목록에 이미 존재함"
},
"usePhishingDetection": {
"message": "피싱 감지 사용"
},
"usePhishingDetectionDescription": {
"message": "이더리움 사용자를 노리는 피싱 도메인에 대한 경고를 표시합니다."
},
"usedByClients": {
"message": "다양한 클라이언트에서 사용합니다."
},
"userName": {
"message": "사용자 이름"
},
"verifyThisTokenOn": {
"message": "$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\""
},
"viewAccount": {
"message": "계정 보기"
},
"viewContact": {
"message": "연락처 보기"
},
"viewOnCustomBlockExplorer": {
"message": "$1에서 보기"
},
"viewOnEtherscan": {
"message": "Etherscan에서 보기"
},
"viewinExplorer": {
"message": "탐색기에서 보기"
},
"visitWebSite": {
"message": "당사 웹사이트 방문하기"
},
"walletConnectionGuide": {
"message": "당사의 하드웨어 지갑 연결 가이드"
},
"walletSeed": {
"message": "시드 구문"
},
"welcome": {
"message": "MetaMask 방문을 환영합니다"
},
"welcomeBack": {
"message": "재방문을 환영합니다!"
},
"whatsThis": {
"message": "이것은 무엇인가요?"
},
"writePhrase": {
"message": "메모지에 이 구문을 적어 안전한 곳에 보관하세요. 보안을 더욱 강화하고 싶다면 여러 메모지에 적은 다음 2~3곳에 보관하세요."
},
"xOfY": {
"message": "$2 중 $1",
"description": "$1 and $2 are intended to be two numbers, where $2 is a total, and $1 is a count towards that total"
},
"yesLetsTry": {
"message": "예, 시도하겠습니다."
},
"youNeedToAllowCameraAccess": {
"message": "이 기능을 사용하려면 카메라 액세스를 허용해야 합니다."
},
"youSign": {
"message": "서명 중입니다."
},
"yourPrivateSeedPhrase": {
"message": "귀하의 비공개 시드 구문입니다."
},
"zeroGasPriceOnSpeedUpError": {
"message": "가속화 시 Gas 가격 0"
}
}