diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 16787053ee..c48156c4fc 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -48,9 +48,6 @@ jobs: name: screenshots path: ./tests/e2e/screenshots if-no-files-found: ignore - - name: bot test - run: | - npm run bot:test env: CI: true diff --git a/src/common/utils/mnemonic.ts b/src/common/utils/mnemonic.ts index e7436ee9d6..cf4dad0dfb 100644 --- a/src/common/utils/mnemonic.ts +++ b/src/common/utils/mnemonic.ts @@ -2,6 +2,9 @@ import * as bitcoin from 'bitcoinjs-lib' import * as bip32 from 'bip32' import { hdkey } from 'ethereumjs-wallet' import * as bip39 from 'bip39' +import Slip39 from './slip39/slip39.js' +import * as slipHelper from './slip39/slip39_helper.js' + const getRandomMnemonicWords = () => { return bip39.generateMnemonic() @@ -11,6 +14,75 @@ const validateMnemonicWords = (mnemonic) => { return bip39.validateMnemonic(convertMnemonicToValid(mnemonic)) } +// Shamir's Secret Sharing alternative to saving 12 words seed (Split mnemonic to three secrets) +const splitMnemonicToSecretParts = (mnemonic, passphrase = ``) => { + mnemonic = convertMnemonicToValid(mnemonic) + const mnemonicEntropy: string = bip39.mnemonicToEntropy(mnemonic) + const masterSecret: number[] = slipHelper.toByteArray(mnemonicEntropy) + + const getMnemonicInt = (mnemonic) => { + return slipHelper.intFromIndices(slipHelper.mnemonicToIndices(mnemonic)) + } + + const slip = Slip39.fromArray(masterSecret, { + passphrase, + threshold: 2, // number of group-shares required to reconstruct the master secret. + groups: [ + [1, 1], [1, 1], [1, 1] // split master key to 3 parts + ] + }) + + const mnemonics = [ + slip.fromPath('r/0/0').mnemonics[0], + slip.fromPath('r/1/0').mnemonics[0], + slip.fromPath('r/2/0').mnemonics[0] + ] + + const secretParts = [ + getMnemonicInt(mnemonics[0]), + getMnemonicInt(mnemonics[1]), + getMnemonicInt(mnemonics[2]) + ] + return { + mnemonics, + secretParts + } +} + +// Shamir's Secret Sharing alternative to saving 12 words seed (Restore mnemonic from two secrets) +const restoryMnemonicFromSecretParts = (secretParts, isMnemonics = false, passphrase = ``) => { + // prepare mnemonics + const mnemonics: string[] = (isMnemonics) + ? secretParts + : secretParts.map((mnemonicInt) => { + return slipHelper.mnemonicFromIndices( + slipHelper.intToIndices( + (typeof(mnemonicInt) === 'string') + ? BigInt(`${mnemonicInt}`) + : mnemonicInt, + 20, + 10 + ) + ) + }) + // do recover + const recoveredEntropy = Slip39.recoverSecret(mnemonics, passphrase) + const recoveredMnemonic = bip39.entropyToMnemonic(recoveredEntropy) + return recoveredMnemonic +} + +// Shamir's Secret Sharing alternative to saving 12 words seed (Check secret is valid) +const isValidShamirsSecret = (secret) => { + try { + const secretInt = (typeof(secret) === 'string') ? BigInt(`${secret}`) : secret + const mnemonicIndices = slipHelper.intToIndices(secretInt, 20, 10) + const mnemonic = slipHelper.mnemonicFromIndices(mnemonicIndices) + return slipHelper.validateMnemonic(mnemonic) + } catch (e) { + return false + } +} + const convertMnemonicToValid = (mnemonic) => { return mnemonic .trim() @@ -111,4 +183,7 @@ export { getEthLikeWallet, getGhostWallet, getNextWallet, + splitMnemonicToSecretParts, + restoryMnemonicFromSecretParts, + isValidShamirsSecret, } \ No newline at end of file diff --git a/src/common/utils/slip39/slip39.js b/src/common/utils/slip39/slip39.js new file mode 100644 index 0000000000..8fcacd4f33 --- /dev/null +++ b/src/common/utils/slip39/slip39.js @@ -0,0 +1,193 @@ +/* eslint-disable radix */ +const slipHelper = require('./slip39_helper.js'); + +const MAX_DEPTH = 2; + +/** + * Slip39Node + * For root node, description refers to the whole set's title e.g. "Hardware wallet X SSSS shares" + * For children nodes, description refers to the group e.g. "Family group: mom, dad, sister, wife" + */ +class Slip39Node { + constructor(index = 0, description = '', mnemonic = '', children = [], secret = []) { + this.index = index; + this.description = description; + this.mnemonic = mnemonic; + this.children = children; + this.secret = secret; + } + + get mnemonics() { + if (this.children.length === 0) { + return [this.mnemonic]; + } + const result = this.children.reduce((prev, item) => { + return prev.concat(item.mnemonics); + }, []); + return result; + } +} + +// +// The javascript implementation of the SLIP-0039: Shamir's Secret-Sharing for Mnemonic Codes +// see: https://github.com/satoshilabs/slips/blob/master/slip-0039.md) +// +class Slip39 { + constructor({ + iterationExponent = 0, + identifier, + groupCount, + groupThreshold + } = {}) { + this.iterationExponent = iterationExponent; + this.identifier = identifier; + this.groupCount = groupCount; + this.groupThreshold = groupThreshold; + } + + static fromArray(masterSecret, { + passphrase = '', + threshold = 1, + groups = [ + [1, 1, 'Default 1-of-1 group share'] + ], + iterationExponent = 0, + title = 'My default slip39 shares' + } = {}) { + if (masterSecret.length * 8 < slipHelper.MIN_ENTROPY_BITS) { + throw Error(`The length of the master secret (${masterSecret.length} bytes) must be at least ${slipHelper.bitsToBytes(slipHelper.MIN_ENTROPY_BITS)} bytes.`); + } + + if (masterSecret.length % 2 !== 0) { + throw Error('The length of the master secret in bytes must be an even number.'); + } + + if (!/^[\x20-\x7E]*$/.test(passphrase)) { + throw Error('The passphrase must contain only printable ASCII characters (code points 32-126).'); + } + + if (threshold > groups.length) { + throw Error(`The requested group threshold (${threshold}) must not exceed the number of groups (${groups.length}).`); + } + + groups.forEach((item) => { + if (item[0] === 1 && item[1] > 1) { + throw Error(`Creating multiple member shares with member threshold 1 is not allowed. Use 1-of-1 member sharing instead. ${groups.join()}`); + } + }); + + const identifier = slipHelper.generateIdentifier(); + + const slip = new Slip39({ + iterationExponent: iterationExponent, + identifier: identifier, + groupCount: groups.length, + groupThreshold: threshold + }); + + const encryptedMasterSecret = slipHelper.crypt( + masterSecret, passphrase, iterationExponent, slip.identifier); + + const root = slip.buildRecursive( + new Slip39Node(0, title), + groups, + encryptedMasterSecret, + threshold + ); + + slip.root = root; + return slip; + } + + buildRecursive(currentNode, nodes, secret, threshold, index) { + //console.log('>>> buildRecursive', secret, threshold, index) + // It means it's a leaf. + if (nodes.length === 0) { + const mnemonic = slipHelper.encodeMnemonic(this.identifier, this.iterationExponent, index, + this.groupThreshold, this.groupCount, currentNode.index, threshold, secret); + + currentNode.mnemonic = mnemonic; + currentNode.secret = secret; + return currentNode; + } + + const secretShares = slipHelper.splitSecret(threshold, nodes.length, secret); + let children = []; + let idx = 0; + + nodes.forEach((item) => { + // n=threshold + const n = item[0]; + // m=members + const m = item[1]; + // d=description + const d = item[2] || ''; + + // Generate leaf members, means their `m` is `0` + const members = Array().slip39Generate(m, () => [n, 0, d]); + + const node = new Slip39Node(idx, d); + const branch = this.buildRecursive( + node, + members, + secretShares[idx], + n, + currentNode.index); + + children = children.concat(branch); + idx = idx + 1; + }); + currentNode.children = children; + return currentNode; + } + + static recoverSecret(mnemonics, passphrase) { + return slipHelper.combineMnemonics(mnemonics, passphrase); + } + + static validateMnemonic(mnemonic) { + return slipHelper.validateMnemonic(mnemonic); + } + + fromPath(path) { + this.validatePath(path); + + const children = this.parseChildren(path); + + if (typeof children === 'undefined' || children.length === 0) { + return this.root; + } + + return children.reduce((prev, childNumber) => { + let childrenLen = prev.children.length; + if (childNumber >= childrenLen) { + throw new Error(`The path index (${childNumber}) exceeds the children index (${childrenLen - 1}).`); + } + + return prev.children[childNumber]; + }, this.root); + } + + validatePath(path) { + if (!path.match(/(^r)(\/\d{1,2}){0,2}$/)) { + throw new Error('Expected valid path e.g. "r/0/0".'); + } + + const depth = path.split('/'); + const pathLength = depth.length - 1; + if (pathLength > MAX_DEPTH) { + throw new Error(`Path\'s (${path}) max depth (${MAX_DEPTH}) is exceeded (${pathLength}).`); + } + } + + parseChildren(path) { + const splitted = path.split('/').slice(1); + + const result = splitted.map((pathFragment) => { + return parseInt(pathFragment); + }); + return result; + } +} + +export default Slip39 diff --git a/src/common/utils/slip39/slip39_helper.js b/src/common/utils/slip39/slip39_helper.js new file mode 100644 index 0000000000..56d349d95c --- /dev/null +++ b/src/common/utils/slip39/slip39_helper.js @@ -0,0 +1,2272 @@ +/* eslint-disable no-array-constructor */ +let crypto; +try { + crypto = require('crypto'); +} catch (err) { + throw new Error('crypto support must be enabled'); +} + + +// The length of the radix in bits. +const RADIX_BITS = 10; + +// The length of the random identifier in bits. +const ID_BITS_LENGTH = 15; + +// The length of the iteration exponent in bits. +const ITERATION_EXP_BITS_LENGTH = 5; + +// The length of the random identifier and iteration exponent in words. +const ITERATION_EXP_WORDS_LENGTH = + parseInt((ID_BITS_LENGTH + ITERATION_EXP_BITS_LENGTH + RADIX_BITS - 1) / RADIX_BITS, 10); + +// The maximum iteration exponent +const MAX_ITERATION_EXP = Math.pow(2, ITERATION_EXP_BITS_LENGTH); + +// The maximum number of shares that can be created. +const MAX_SHARE_COUNT = 16; + +// The length of the RS1024 checksum in words. +const CHECKSUM_WORDS_LENGTH = 3; + +// The length of the digest of the shared secret in bytes. +const DIGEST_LENGTH = 4; + +// The customization string used in the RS1024 checksum and in the PBKDF2 salt. +const SALT_STRING = 'shamir'; + +// The minimum allowed entropy of the master secret. +const MIN_ENTROPY_BITS = 128; + +// The minimum allowed length of the mnemonic in words. +const METADATA_WORDS_LENGTH = + ITERATION_EXP_WORDS_LENGTH + 2 + CHECKSUM_WORDS_LENGTH; + +// The length of the mnemonic in words without the share value. +const MNEMONICS_WORDS_LENGTH = parseInt( + METADATA_WORDS_LENGTH + (MIN_ENTROPY_BITS + RADIX_BITS - 1) / RADIX_BITS, 10); + +// The minimum number of iterations to use in PBKDF2. +const ITERATION_COUNT = 10000; + +// The number of rounds to use in the Feistel cipher. +const ROUND_COUNT = 4; + +// The index of the share containing the digest of the shared secret. +const DIGEST_INDEX = 254; + +// The index of the share containing the shared secret. +const SECRET_INDEX = 255; + +// +// Helper functions for SLIP39 implementation. +// +String.prototype.slip39EncodeHex = function () { + let bytes = []; + for (let i = 0; i < this.length; ++i) { + bytes.push(this.charCodeAt(i)); + } + return bytes; +}; + +Array.prototype.slip39DecodeHex = function () { + let str = []; + const hex = this.toString().split(','); + for (let i = 0; i < hex.length; i++) { + str.push(String.fromCharCode(hex[i])); + } + return str.toString().replace(/,/g, ''); +}; + +Array.prototype.slip39Generate = function (m, v = _ => _) { + let n = m || this.length; + for (let i = 0; i < n; i++) { + this[i] = v(i); + } + return this; +}; + +const toHexString = function () { + return Array.prototype.map.call(this, function (byte) { + return ('0' + (byte & 0xFF).toString(16)).slice(-2); + }).join(''); +}; + +const toByteArray = function (hexString) { + const ret = [] + for (let i = 0; i < hexString.length; i = i + 2) { + ret.push(parseInt(hexString.substr(i, 2), 16)); + } + return ret; +}; + + +const BIGINT_WORD_BITS = BigInt(8); + +function decodeBigInt(bytes) { + let result = BigInt(0); + for (let i = 0; i < bytes.length; i++) { + let b = BigInt(bytes[bytes.length - i - 1]); + result = result + (b << BIGINT_WORD_BITS * BigInt(i)); + } + return result; +} + +function encodeBigInt(number, paddedLength = 0) { + let num = number; + const BYTE_MASK = BigInt(0xff); + const BIGINT_ZERO = BigInt(0); + let result = new Array(0); + + while (num > BIGINT_ZERO) { + let i = parseInt(num & BYTE_MASK, 10); + result.unshift(i); + num = num >> BIGINT_WORD_BITS; + } + + // Zero padding to the length + for (let i = result.length; i < paddedLength; i++) { + result.unshift(0); + } + + if (paddedLength !== 0 && result.length > paddedLength) { + throw new Error(`Error in encoding BigInt value, expected less than ${paddedLength} length value, got ${result.length}`); + } + + return result; +} + +function bitsToBytes(n) { + const res = (n + 7) / 8; + const b = parseInt(res, RADIX_BITS); + return b; +} + +function bitsToWords(n) { + const res = (n + RADIX_BITS - 1) / RADIX_BITS; + const b = parseInt(res, RADIX_BITS); + return b; +} + +// +// Returns a randomly generated integer in the range 0, ... , 2**ID_LENGTH_BITS - 1. +// +function randomBytes(length = 32) { + let randoms = crypto.randomBytes(length); + return Array.prototype.slice.call(randoms, 0); +} + +// +// The round function used internally by the Feistel cipher. +// +function roundFunction(round, passphrase, exp, salt, secret) { + const saltedSecret = salt.concat(secret); + const roundedPhrase = [round].concat(passphrase); + const count = (ITERATION_COUNT << exp) / ROUND_COUNT; + + const key = crypto.pbkdf2Sync(Buffer.from(roundedPhrase), Buffer.from(saltedSecret), count, secret.length, 'sha256'); + return Array.prototype.slice.call(key, 0); +} + +function crypt(masterSecret, passphrase, iterationExponent, + identifier, + encrypt = true) { + // Iteration exponent validated here. + if (iterationExponent < 0 || iterationExponent > MAX_ITERATION_EXP) { + throw Error(`Invalid iteration exponent (${iterationExponent}). Expected between 0 and ${MAX_ITERATION_EXP}`); + } + + let IL = masterSecret.slice().slice(0, masterSecret.length / 2); + let IR = masterSecret.slice().slice(masterSecret.length / 2); + + const pwd = passphrase.slip39EncodeHex(); + + const salt = getSalt(identifier); + + let range = Array().slip39Generate(ROUND_COUNT); + range = encrypt ? range : range.reverse(); + + range.forEach((round) => { + const f = roundFunction(round, pwd, iterationExponent, salt, IR); + const t = xor(IL, f); + IL = IR; + IR = t; + }); + return IR.concat(IL); +} + +function createDigest(randomData, sharedSecret) { + const hmac = crypto.createHmac('sha256', Buffer.from(randomData)); + + hmac.update(Buffer.from(sharedSecret)); + + let result = hmac.digest(); + result = result.slice(0, 4); + return Array.prototype.slice.call(result, 0); +} + +function splitSecret(threshold, shareCount, sharedSecret) { + if (threshold <= 0) { + throw Error(`The requested threshold (${threshold}) must be a positive integer.`); + } + + if (threshold > shareCount) { + throw Error(`The requested threshold (${threshold}) must not exceed the number of shares (${shareCount}).`); + } + + if (shareCount > MAX_SHARE_COUNT) { + throw Error(`The requested number of shares (${shareCount}) must not exceed ${MAX_SHARE_COUNT}.`); + } + // If the threshold is 1, then the digest of the shared secret is not used. + if (threshold === 1) { + return Array().slip39Generate(shareCount, () => sharedSecret); + } + + const randomShareCount = threshold - 2; + + const randomPart = randomBytes(sharedSecret.length - DIGEST_LENGTH); + const digest = createDigest(randomPart, sharedSecret); + + let baseShares = new Map(); + let shares = []; + if (randomShareCount) { + shares = Array().slip39Generate( + randomShareCount, () => randomBytes(sharedSecret.length)); + shares.forEach((item, idx) => { + baseShares.set(idx, item); + }); + } + baseShares.set(DIGEST_INDEX, digest.concat(randomPart)); + baseShares.set(SECRET_INDEX, sharedSecret); + + for (let i = randomShareCount; i < shareCount; i++) { + const rr = interpolate(baseShares, i); + shares.push(rr); + } + + return shares; +} + +// +// Returns a randomly generated integer in the range 0, ... , 2**ID_BITS_LENGTH - 1. +// +function generateIdentifier() { + const byte = bitsToBytes(ID_BITS_LENGTH); + const bits = ID_BITS_LENGTH % 8; + const identifier = randomBytes(byte); + + identifier[0] = identifier[0] & (1 << bits) - 1; + + return identifier; +} + +function xor(a, b) { + if (a.length !== b.length) { + throw new Error(`Invalid padding in mnemonic or insufficient length of mnemonics (${a.length} or ${b.length})`); + } + return Array().slip39Generate(a.length, (i) => a[i] ^ b[i]); +} + +function getSalt(identifier) { + const salt = SALT_STRING.slip39EncodeHex(); + return salt.concat(identifier); +} + +function interpolate(shares, x) { + let xCoord = new Set(shares.keys()); + let arr = Array.from(shares.values(), (v) => v.length); + let sharesValueLengths = new Set(arr); + + if (sharesValueLengths.size !== 1) { + throw new Error('Invalid set of shares. All share values must have the same length.'); + } + + if (xCoord.has(x)) { + shares.forEach((v, k) => { + if (k === x) { + return v; + } + }); + } + + // Logarithm of the product of (x_i - x) for i = 1, ... , k. + let logProd = 0; + + shares.forEach((v, k) => { + logProd = logProd + LOG_TABLE[k ^ x]; + }); + + let results = Array().slip39Generate(sharesValueLengths.values().next().value, () => 0); + + shares.forEach((v, k) => { + // The logarithm of the Lagrange basis polynomial evaluated at x. + let sum = 0; + shares.forEach((vv, kk) => { + sum = sum + LOG_TABLE[k ^ kk]; + }); + + // FIXME: -18 % 255 = 237. IT shoulud be 237 and not -18 as it's + // implemented in javascript. + const basis = (logProd - LOG_TABLE[k ^ x] - sum) % 255; + + const logBasisEval = basis < 0 ? 255 + basis : basis; + + v.forEach((item, idx) => { + const shareVal = item; + const intermediateSum = results[idx]; + const r = shareVal !== 0 ? + EXP_TABLE[(LOG_TABLE[shareVal] + logBasisEval) % 255] : 0; + + const res = intermediateSum ^ r; + results[idx] = res; + }); + }); + return results; +} + +function rs1024Polymod(data) { + const GEN = [ + 0xE0E040, + 0x1C1C080, + 0x3838100, + 0x7070200, + 0xE0E0009, + 0x1C0C2412, + 0x38086C24, + 0x3090FC48, + 0x21B1F890, + 0x3F3F120 + ]; + let chk = 1; + + data.forEach((byte) => { + const b = chk >> 20; + chk = (chk & 0xFFFFF) << 10 ^ byte; + + for (let i = 0; i < 10; i++) { + let gen = (b >> i & 1) !== 0 ? GEN[i] : 0; + chk = chk ^ gen; + } + }); + + return chk; +} + +function rs1024CreateChecksum(data) { + const values = SALT_STRING.slip39EncodeHex() + .concat(data) + .concat(Array().slip39Generate(CHECKSUM_WORDS_LENGTH, () => 0)); + const polymod = rs1024Polymod(values) ^ 1; + const result = + Array().slip39Generate(CHECKSUM_WORDS_LENGTH, (i) => polymod >> 10 * i & 1023).reverse(); + + return result; +} + +function rs1024VerifyChecksum(data) { + return rs1024Polymod(SALT_STRING.slip39EncodeHex().concat(data)) === 1; +} + +// +// Converts a list of base 1024 indices in big endian order to an integer value. +// +function intFromIndices(indices) { + let value = BigInt(0); + const radix = BigInt(Math.pow(2, RADIX_BITS)); + indices.forEach((index) => { + value = value * radix + BigInt(index); + }); + + return value; +} + +// +// Converts a Big integer value to indices in big endian order. +// +function intToIndices(value, length, bits) { + const mask = BigInt((1 << bits) - 1); + const result = + Array().slip39Generate(length, (i) => parseInt(value >> BigInt(i) * BigInt(bits) & mask, 10)); + return result.reverse(); +} + +function mnemonicFromIndices(indices) { + const result = indices.map((index) => { + return WORD_LIST[index]; + }); + return result.toString().split(',').join(' '); +} + +function mnemonicToIndices(mnemonic) { + if (typeof mnemonic !== 'string') { + throw new Error(`Mnemonic expected to be typeof string with white space separated words. Instead found typeof ${typeof mnemonic}.`); + } + + const words = mnemonic.toLowerCase().split(' '); + const result = words.reduce((prev, item) => { + const index = WORD_LIST_MAP[item]; + if (typeof index === 'undefined') { + throw new Error(`Invalid mnemonic word ${item}.`); + } + return prev.concat(index); + }, []); + return result; +} + +function recoverSecret(threshold, shares) { + // If the threshold is 1, then the digest of the shared secret is not used. + if (threshold === 1) { + return shares.values().next().value; + } + + const sharedSecret = interpolate(shares, SECRET_INDEX); + const digestShare = interpolate(shares, DIGEST_INDEX); + const digest = digestShare.slice(0, DIGEST_LENGTH); + const randomPart = digestShare.slice(DIGEST_LENGTH); + + const recoveredDigest = createDigest( + randomPart, sharedSecret); + if (!listsAreEqual(digest, recoveredDigest)) { + throw new Error('Invalid digest of the shared secret.'); + } + return sharedSecret; +} + +// +// Combines mnemonic shares to obtain the master secret which was previously +// split using Shamir's secret sharing scheme. +// +function combineMnemonics(mnemonics, passphrase = '') { + if (mnemonics === null || mnemonics.length === 0) { + throw new Error('The list of mnemonics is empty.'); + } + + const decoded = decodeMnemonics(mnemonics); + const identifier = decoded.identifier; + const iterationExponent = decoded.iterationExponent; + const groupThreshold = decoded.groupThreshold; + const groupCount = decoded.groupCount; + const groups = decoded.groups; + + if (groups.size < groupThreshold) { + throw new Error(`Insufficient number of mnemonic groups (${groups.size}). The required number of groups is ${groupThreshold}.`); + } + + if (groups.size !== groupThreshold) { + throw new Error(`Wrong number of mnemonic groups. Expected ${groupThreshold} groups, but ${groups.size} were provided.`); + } + + let allShares = new Map(); + groups.forEach((members, groupIndex) => { + const threshold = members.keys().next().value; + const shares = members.values().next().value; + if (shares.size !== threshold) { + const prefix = groupPrefix( + identifier, + iterationExponent, + groupIndex, + groupThreshold, + groupCount + ); + throw new Error(`Wrong number of mnemonics. Expected ${threshold} mnemonics starting with "${mnemonicFromIndices(prefix)}", \n but ${shares.size} were provided.`); + } + + const recovered = recoverSecret(threshold, shares); + allShares.set(groupIndex, recovered); + }); + + const ems = recoverSecret(groupThreshold, allShares); + const id = intToIndices(BigInt(identifier), ITERATION_EXP_WORDS_LENGTH, 8); + const ms = crypt(ems, passphrase, iterationExponent, id, false); + + return ms; +} + +function combineSecrets(secrets, secretsGroups, identifier, groupThreshold=2, passphrase = '') { + + if (secrets === null || secrets.length === 0) { + throw new Error('The list of secrets is empty.'); + } + if (secretsGroups === null || secretsGroups.length !== secrets.length) { + throw new Error('The list of secrets groups must be equal length like secrets.'); + } + + let allShares = new Map(); + secrets.forEach((index, secret) => { + allShares.set(secretsGroups[index], secret); + }); + + const ems = recoverSecret(groupThreshold, allShares); + const id = intToIndices(BigInt(identifier), ITERATION_EXP_WORDS_LENGTH, 8); + const ms = crypt(ems, passphrase, iterationExponent, id, false); + + return ms; +} + +function decodeMnemonics(mnemonics) { + if (!(mnemonics instanceof Array)) { + throw new Error('Mnemonics should be an array of strings'); + } + const identifiers = new Set(); + const iterationExponents = new Set(); + const groupThresholds = new Set(); + const groupCounts = new Set(); + const groups = new Map(); + + mnemonics.forEach((mnemonic) => { + const decoded = decodeMnemonic(mnemonic); + + identifiers.add(decoded.identifier); + iterationExponents.add(decoded.iterationExponent); + const groupIndex = decoded.groupIndex; + groupThresholds.add(decoded.groupThreshold); + groupCounts.add(decoded.groupCount); + const memberIndex = decoded.memberIndex; + const memberThreshold = decoded.memberThreshold; + const share = decoded.share; + + const group = !groups.has(groupIndex) ? new Map() : groups.get(groupIndex); + const member = !group.has(memberThreshold) ? new Map() : group.get(memberThreshold); + member.set(memberIndex, share); + group.set(memberThreshold, member); + if (group.size !== 1) { + throw new Error('Invalid set of mnemonics. All mnemonics in a group must have the same member threshold.'); + } + groups.set(groupIndex, group); + }); + + if (identifiers.size !== 1 || iterationExponents.size !== 1) { + throw new Error(`Invalid set of mnemonics. All mnemonics must begin with the same ${ITERATION_EXP_WORDS_LENGTH} words.`); + } + + if (groupThresholds.size !== 1) { + throw new Error('Invalid set of mnemonics. All mnemonics must have the same group threshold.'); + } + + if (groupCounts.size !== 1) { + throw new Error('Invalid set of mnemonics. All mnemonics must have the same group count.'); + } + + return { + identifier: identifiers.values().next().value, + iterationExponent: iterationExponents.values().next().value, + groupThreshold: groupThresholds.values().next().value, + groupCount: groupCounts.values().next().value, + groups: groups + }; +} + +// +// Converts a share mnemonic to share data. +// +function decodeMnemonic(mnemonic) { + const data = mnemonicToIndices(mnemonic); + + if (data.length < MNEMONICS_WORDS_LENGTH) { + throw new Error(`Invalid mnemonic length. The length of each mnemonic must be at least ${MNEMONICS_WORDS_LENGTH} words.`); + } + + const paddingLen = RADIX_BITS * (data.length - METADATA_WORDS_LENGTH) % 16; + if (paddingLen > 8) { + throw new Error('Invalid mnemonic length.'); + } + + if (!rs1024VerifyChecksum(data)) { + throw new Error('Invalid mnemonic checksum'); + } + + const idExpInt = + parseInt(intFromIndices(data.slice(0, ITERATION_EXP_WORDS_LENGTH)), 10); + const identifier = idExpInt >> ITERATION_EXP_BITS_LENGTH; + const iterationExponent = idExpInt & (1 << ITERATION_EXP_BITS_LENGTH) - 1; + const tmp = intFromIndices( + data.slice(ITERATION_EXP_WORDS_LENGTH, ITERATION_EXP_WORDS_LENGTH + 2)); + + const indices = intToIndices(tmp, 5, 4); + + const groupIndex = indices[0]; + const groupThreshold = indices[1]; + const groupCount = indices[2]; + const memberIndex = indices[3]; + const memberThreshold = indices[4]; + + const valueData = data.slice( + ITERATION_EXP_WORDS_LENGTH + 2, data.length - CHECKSUM_WORDS_LENGTH); + + if (groupCount < groupThreshold) { + throw new Error(`Invalid mnemonic: ${mnemonic}.\n Group threshold (${groupThreshold}) cannot be greater than group count (${groupCount}).`); + } + + const valueInt = intFromIndices(valueData); + + try { + const valueByteCount = bitsToBytes(RADIX_BITS * valueData.length - paddingLen); + const share = encodeBigInt(valueInt, valueByteCount); + + return { + identifier: identifier, + iterationExponent: iterationExponent, + groupIndex: groupIndex, + groupThreshold: groupThreshold + 1, + groupCount: groupCount + 1, + memberIndex: memberIndex, + memberThreshold: memberThreshold + 1, + share: share + }; + } catch (e) { + throw new Error(`Invalid mnemonic padding (${e})`); + } +} + +function validateMnemonic(mnemonic) { + try { + decodeMnemonic(mnemonic); + return true; + } catch (error) { + return false; + } +} + +function groupPrefix( + identifier, iterationExponent, groupIndex, groupThreshold, groupCount) { + const idExpInt = BigInt( + (identifier << ITERATION_EXP_BITS_LENGTH) + iterationExponent); + + const indc = intToIndices(idExpInt, ITERATION_EXP_WORDS_LENGTH, RADIX_BITS); + + const indc2 = + (groupIndex << 6) + (groupThreshold - 1 << 2) + (groupCount - 1 >> 2); + + indc.push(indc2); + return indc; +} + +function listsAreEqual(a, b) { + if (a === null || b === null || a.length !== b.length) { + return false; + } + + let i = 0; + return a.every((item) => { + return b[i++] === item; + }); +} + +// +// Converts share data to a share mnemonic. +// +function encodeMnemonic( + identifier, + iterationExponent, + groupIndex, + groupThreshold, + groupCount, + memberIndex, + memberThreshold, + value +) { + // Convert the share value from bytes to wordlist indices. + const valueWordCount = bitsToWords(value.length * 8); + + const valueInt = decodeBigInt(value); + let newIdentifier = parseInt(decodeBigInt(identifier), 10); + + const gp = groupPrefix( + newIdentifier, iterationExponent, groupIndex, groupThreshold, groupCount); + const tp = intToIndices(valueInt, valueWordCount, RADIX_BITS); + + const calc = ((groupCount - 1 & 3) << 8) + + (memberIndex << 4) + + (memberThreshold - 1); + + gp.push(calc); + const shareData = gp.concat(tp); + + const checksum = rs1024CreateChecksum(shareData); + + return mnemonicFromIndices(shareData.concat(checksum)); +} + +// The precomputed exponent and log tables. +// ``` +// const exp = List.filled(255, 0) +// const log = List.filled(256, 0) +// const poly = 1 +// +// for (let i = 0; i < exp.length; i++) { +// exp[i] = poly +// log[poly] = i +// // Multiply poly by the polynomial x + 1. +// poly = (poly << 1) ^ poly +// // Reduce poly by x^8 + x^4 + x^3 + x + 1. +// if (poly & 0x100 === 0x100) poly ^= 0x11B +// } +// ``` +const EXP_TABLE = [ + 1, + 3, + 5, + 15, + 17, + 51, + 85, + 255, + 26, + 46, + 114, + 150, + 161, + 248, + 19, + 53, + 95, + 225, + 56, + 72, + 216, + 115, + 149, + 164, + 247, + 2, + 6, + 10, + 30, + 34, + 102, + 170, + 229, + 52, + 92, + 228, + 55, + 89, + 235, + 38, + 106, + 190, + 217, + 112, + 144, + 171, + 230, + 49, + 83, + 245, + 4, + 12, + 20, + 60, + 68, + 204, + 79, + 209, + 104, + 184, + 211, + 110, + 178, + 205, + 76, + 212, + 103, + 169, + 224, + 59, + 77, + 215, + 98, + 166, + 241, + 8, + 24, + 40, + 120, + 136, + 131, + 158, + 185, + 208, + 107, + 189, + 220, + 127, + 129, + 152, + 179, + 206, + 73, + 219, + 118, + 154, + 181, + 196, + 87, + 249, + 16, + 48, + 80, + 240, + 11, + 29, + 39, + 105, + 187, + 214, + 97, + 163, + 254, + 25, + 43, + 125, + 135, + 146, + 173, + 236, + 47, + 113, + 147, + 174, + 233, + 32, + 96, + 160, + 251, + 22, + 58, + 78, + 210, + 109, + 183, + 194, + 93, + 231, + 50, + 86, + 250, + 21, + 63, + 65, + 195, + 94, + 226, + 61, + 71, + 201, + 64, + 192, + 91, + 237, + 44, + 116, + 156, + 191, + 218, + 117, + 159, + 186, + 213, + 100, + 172, + 239, + 42, + 126, + 130, + 157, + 188, + 223, + 122, + 142, + 137, + 128, + 155, + 182, + 193, + 88, + 232, + 35, + 101, + 175, + 234, + 37, + 111, + 177, + 200, + 67, + 197, + 84, + 252, + 31, + 33, + 99, + 165, + 244, + 7, + 9, + 27, + 45, + 119, + 153, + 176, + 203, + 70, + 202, + 69, + 207, + 74, + 222, + 121, + 139, + 134, + 145, + 168, + 227, + 62, + 66, + 198, + 81, + 243, + 14, + 18, + 54, + 90, + 238, + 41, + 123, + 141, + 140, + 143, + 138, + 133, + 148, + 167, + 242, + 13, + 23, + 57, + 75, + 221, + 124, + 132, + 151, + 162, + 253, + 28, + 36, + 108, + 180, + 199, + 82, + 246 +]; +const LOG_TABLE = [ + 0, + 0, + 25, + 1, + 50, + 2, + 26, + 198, + 75, + 199, + 27, + 104, + 51, + 238, + 223, + 3, + 100, + 4, + 224, + 14, + 52, + 141, + 129, + 239, + 76, + 113, + 8, + 200, + 248, + 105, + 28, + 193, + 125, + 194, + 29, + 181, + 249, + 185, + 39, + 106, + 77, + 228, + 166, + 114, + 154, + 201, + 9, + 120, + 101, + 47, + 138, + 5, + 33, + 15, + 225, + 36, + 18, + 240, + 130, + 69, + 53, + 147, + 218, + 142, + 150, + 143, + 219, + 189, + 54, + 208, + 206, + 148, + 19, + 92, + 210, + 241, + 64, + 70, + 131, + 56, + 102, + 221, + 253, + 48, + 191, + 6, + 139, + 98, + 179, + 37, + 226, + 152, + 34, + 136, + 145, + 16, + 126, + 110, + 72, + 195, + 163, + 182, + 30, + 66, + 58, + 107, + 40, + 84, + 250, + 133, + 61, + 186, + 43, + 121, + 10, + 21, + 155, + 159, + 94, + 202, + 78, + 212, + 172, + 229, + 243, + 115, + 167, + 87, + 175, + 88, + 168, + 80, + 244, + 234, + 214, + 116, + 79, + 174, + 233, + 213, + 231, + 230, + 173, + 232, + 44, + 215, + 117, + 122, + 235, + 22, + 11, + 245, + 89, + 203, + 95, + 176, + 156, + 169, + 81, + 160, + 127, + 12, + 246, + 111, + 23, + 196, + 73, + 236, + 216, + 67, + 31, + 45, + 164, + 118, + 123, + 183, + 204, + 187, + 62, + 90, + 251, + 96, + 177, + 134, + 59, + 82, + 161, + 108, + 170, + 85, + 41, + 157, + 151, + 178, + 135, + 144, + 97, + 190, + 220, + 252, + 188, + 149, + 207, + 205, + 55, + 63, + 91, + 209, + 83, + 57, + 132, + 60, + 65, + 162, + 109, + 71, + 20, + 42, + 158, + 93, + 86, + 242, + 211, + 171, + 68, + 17, + 146, + 217, + 35, + 32, + 46, + 137, + 180, + 124, + 184, + 38, + 119, + 153, + 227, + 165, + 103, + 74, + 237, + 222, + 197, + 49, + 254, + 24, + 13, + 99, + 140, + 128, + 192, + 247, + 112, + 7 +]; + +// +// SLIP39 wordlist +// +const WORD_LIST = [ + 'academic', + 'acid', + 'acne', + 'acquire', + 'acrobat', + 'activity', + 'actress', + 'adapt', + 'adequate', + 'adjust', + 'admit', + 'adorn', + 'adult', + 'advance', + 'advocate', + 'afraid', + 'again', + 'agency', + 'agree', + 'aide', + 'aircraft', + 'airline', + 'airport', + 'ajar', + 'alarm', + 'album', + 'alcohol', + 'alien', + 'alive', + 'alpha', + 'already', + 'alto', + 'aluminum', + 'always', + 'amazing', + 'ambition', + 'amount', + 'amuse', + 'analysis', + 'anatomy', + 'ancestor', + 'ancient', + 'angel', + 'angry', + 'animal', + 'answer', + 'antenna', + 'anxiety', + 'apart', + 'aquatic', + 'arcade', + 'arena', + 'argue', + 'armed', + 'artist', + 'artwork', + 'aspect', + 'auction', + 'august', + 'aunt', + 'average', + 'aviation', + 'avoid', + 'award', + 'away', + 'axis', + 'axle', + 'beam', + 'beard', + 'beaver', + 'become', + 'bedroom', + 'behavior', + 'being', + 'believe', + 'belong', + 'benefit', + 'best', + 'beyond', + 'bike', + 'biology', + 'birthday', + 'bishop', + 'black', + 'blanket', + 'blessing', + 'blimp', + 'blind', + 'blue', + 'body', + 'bolt', + 'boring', + 'born', + 'both', + 'boundary', + 'bracelet', + 'branch', + 'brave', + 'breathe', + 'briefing', + 'broken', + 'brother', + 'browser', + 'bucket', + 'budget', + 'building', + 'bulb', + 'bulge', + 'bumpy', + 'bundle', + 'burden', + 'burning', + 'busy', + 'buyer', + 'cage', + 'calcium', + 'camera', + 'campus', + 'canyon', + 'capacity', + 'capital', + 'capture', + 'carbon', + 'cards', + 'careful', + 'cargo', + 'carpet', + 'carve', + 'category', + 'cause', + 'ceiling', + 'center', + 'ceramic', + 'champion', + 'change', + 'charity', + 'check', + 'chemical', + 'chest', + 'chew', + 'chubby', + 'cinema', + 'civil', + 'class', + 'clay', + 'cleanup', + 'client', + 'climate', + 'clinic', + 'clock', + 'clogs', + 'closet', + 'clothes', + 'club', + 'cluster', + 'coal', + 'coastal', + 'coding', + 'column', + 'company', + 'corner', + 'costume', + 'counter', + 'course', + 'cover', + 'cowboy', + 'cradle', + 'craft', + 'crazy', + 'credit', + 'cricket', + 'criminal', + 'crisis', + 'critical', + 'crowd', + 'crucial', + 'crunch', + 'crush', + 'crystal', + 'cubic', + 'cultural', + 'curious', + 'curly', + 'custody', + 'cylinder', + 'daisy', + 'damage', + 'dance', + 'darkness', + 'database', + 'daughter', + 'deadline', + 'deal', + 'debris', + 'debut', + 'decent', + 'decision', + 'declare', + 'decorate', + 'decrease', + 'deliver', + 'demand', + 'density', + 'deny', + 'depart', + 'depend', + 'depict', + 'deploy', + 'describe', + 'desert', + 'desire', + 'desktop', + 'destroy', + 'detailed', + 'detect', + 'device', + 'devote', + 'diagnose', + 'dictate', + 'diet', + 'dilemma', + 'diminish', + 'dining', + 'diploma', + 'disaster', + 'discuss', + 'disease', + 'dish', + 'dismiss', + 'display', + 'distance', + 'dive', + 'divorce', + 'document', + 'domain', + 'domestic', + 'dominant', + 'dough', + 'downtown', + 'dragon', + 'dramatic', + 'dream', + 'dress', + 'drift', + 'drink', + 'drove', + 'drug', + 'dryer', + 'duckling', + 'duke', + 'duration', + 'dwarf', + 'dynamic', + 'early', + 'earth', + 'easel', + 'easy', + 'echo', + 'eclipse', + 'ecology', + 'edge', + 'editor', + 'educate', + 'either', + 'elbow', + 'elder', + 'election', + 'elegant', + 'element', + 'elephant', + 'elevator', + 'elite', + 'else', + 'email', + 'emerald', + 'emission', + 'emperor', + 'emphasis', + 'employer', + 'empty', + 'ending', + 'endless', + 'endorse', + 'enemy', + 'energy', + 'enforce', + 'engage', + 'enjoy', + 'enlarge', + 'entrance', + 'envelope', + 'envy', + 'epidemic', + 'episode', + 'equation', + 'equip', + 'eraser', + 'erode', + 'escape', + 'estate', + 'estimate', + 'evaluate', + 'evening', + 'evidence', + 'evil', + 'evoke', + 'exact', + 'example', + 'exceed', + 'exchange', + 'exclude', + 'excuse', + 'execute', + 'exercise', + 'exhaust', + 'exotic', + 'expand', + 'expect', + 'explain', + 'express', + 'extend', + 'extra', + 'eyebrow', + 'facility', + 'fact', + 'failure', + 'faint', + 'fake', + 'false', + 'family', + 'famous', + 'fancy', + 'fangs', + 'fantasy', + 'fatal', + 'fatigue', + 'favorite', + 'fawn', + 'fiber', + 'fiction', + 'filter', + 'finance', + 'findings', + 'finger', + 'firefly', + 'firm', + 'fiscal', + 'fishing', + 'fitness', + 'flame', + 'flash', + 'flavor', + 'flea', + 'flexible', + 'flip', + 'float', + 'floral', + 'fluff', + 'focus', + 'forbid', + 'force', + 'forecast', + 'forget', + 'formal', + 'fortune', + 'forward', + 'founder', + 'fraction', + 'fragment', + 'frequent', + 'freshman', + 'friar', + 'fridge', + 'friendly', + 'frost', + 'froth', + 'frozen', + 'fumes', + 'funding', + 'furl', + 'fused', + 'galaxy', + 'game', + 'garbage', + 'garden', + 'garlic', + 'gasoline', + 'gather', + 'general', + 'genius', + 'genre', + 'genuine', + 'geology', + 'gesture', + 'glad', + 'glance', + 'glasses', + 'glen', + 'glimpse', + 'goat', + 'golden', + 'graduate', + 'grant', + 'grasp', + 'gravity', + 'gray', + 'greatest', + 'grief', + 'grill', + 'grin', + 'grocery', + 'gross', + 'group', + 'grownup', + 'grumpy', + 'guard', + 'guest', + 'guilt', + 'guitar', + 'gums', + 'hairy', + 'hamster', + 'hand', + 'hanger', + 'harvest', + 'have', + 'havoc', + 'hawk', + 'hazard', + 'headset', + 'health', + 'hearing', + 'heat', + 'helpful', + 'herald', + 'herd', + 'hesitate', + 'hobo', + 'holiday', + 'holy', + 'home', + 'hormone', + 'hospital', + 'hour', + 'huge', + 'human', + 'humidity', + 'hunting', + 'husband', + 'hush', + 'husky', + 'hybrid', + 'idea', + 'identify', + 'idle', + 'image', + 'impact', + 'imply', + 'improve', + 'impulse', + 'include', + 'income', + 'increase', + 'index', + 'indicate', + 'industry', + 'infant', + 'inform', + 'inherit', + 'injury', + 'inmate', + 'insect', + 'inside', + 'install', + 'intend', + 'intimate', + 'invasion', + 'involve', + 'iris', + 'island', + 'isolate', + 'item', + 'ivory', + 'jacket', + 'jerky', + 'jewelry', + 'join', + 'judicial', + 'juice', + 'jump', + 'junction', + 'junior', + 'junk', + 'jury', + 'justice', + 'kernel', + 'keyboard', + 'kidney', + 'kind', + 'kitchen', + 'knife', + 'knit', + 'laden', + 'ladle', + 'ladybug', + 'lair', + 'lamp', + 'language', + 'large', + 'laser', + 'laundry', + 'lawsuit', + 'leader', + 'leaf', + 'learn', + 'leaves', + 'lecture', + 'legal', + 'legend', + 'legs', + 'lend', + 'length', + 'level', + 'liberty', + 'library', + 'license', + 'lift', + 'likely', + 'lilac', + 'lily', + 'lips', + 'liquid', + 'listen', + 'literary', + 'living', + 'lizard', + 'loan', + 'lobe', + 'location', + 'losing', + 'loud', + 'loyalty', + 'luck', + 'lunar', + 'lunch', + 'lungs', + 'luxury', + 'lying', + 'lyrics', + 'machine', + 'magazine', + 'maiden', + 'mailman', + 'main', + 'makeup', + 'making', + 'mama', + 'manager', + 'mandate', + 'mansion', + 'manual', + 'marathon', + 'march', + 'market', + 'marvel', + 'mason', + 'material', + 'math', + 'maximum', + 'mayor', + 'meaning', + 'medal', + 'medical', + 'member', + 'memory', + 'mental', + 'merchant', + 'merit', + 'method', + 'metric', + 'midst', + 'mild', + 'military', + 'mineral', + 'minister', + 'miracle', + 'mixed', + 'mixture', + 'mobile', + 'modern', + 'modify', + 'moisture', + 'moment', + 'morning', + 'mortgage', + 'mother', + 'mountain', + 'mouse', + 'move', + 'much', + 'mule', + 'multiple', + 'muscle', + 'museum', + 'music', + 'mustang', + 'nail', + 'national', + 'necklace', + 'negative', + 'nervous', + 'network', + 'news', + 'nuclear', + 'numb', + 'numerous', + 'nylon', + 'oasis', + 'obesity', + 'object', + 'observe', + 'obtain', + 'ocean', + 'often', + 'olympic', + 'omit', + 'oral', + 'orange', + 'orbit', + 'order', + 'ordinary', + 'organize', + 'ounce', + 'oven', + 'overall', + 'owner', + 'paces', + 'pacific', + 'package', + 'paid', + 'painting', + 'pajamas', + 'pancake', + 'pants', + 'papa', + 'paper', + 'parcel', + 'parking', + 'party', + 'patent', + 'patrol', + 'payment', + 'payroll', + 'peaceful', + 'peanut', + 'peasant', + 'pecan', + 'penalty', + 'pencil', + 'percent', + 'perfect', + 'permit', + 'petition', + 'phantom', + 'pharmacy', + 'photo', + 'phrase', + 'physics', + 'pickup', + 'picture', + 'piece', + 'pile', + 'pink', + 'pipeline', + 'pistol', + 'pitch', + 'plains', + 'plan', + 'plastic', + 'platform', + 'playoff', + 'pleasure', + 'plot', + 'plunge', + 'practice', + 'prayer', + 'preach', + 'predator', + 'pregnant', + 'premium', + 'prepare', + 'presence', + 'prevent', + 'priest', + 'primary', + 'priority', + 'prisoner', + 'privacy', + 'prize', + 'problem', + 'process', + 'profile', + 'program', + 'promise', + 'prospect', + 'provide', + 'prune', + 'public', + 'pulse', + 'pumps', + 'punish', + 'puny', + 'pupal', + 'purchase', + 'purple', + 'python', + 'quantity', + 'quarter', + 'quick', + 'quiet', + 'race', + 'racism', + 'radar', + 'railroad', + 'rainbow', + 'raisin', + 'random', + 'ranked', + 'rapids', + 'raspy', + 'reaction', + 'realize', + 'rebound', + 'rebuild', + 'recall', + 'receiver', + 'recover', + 'regret', + 'regular', + 'reject', + 'relate', + 'remember', + 'remind', + 'remove', + 'render', + 'repair', + 'repeat', + 'replace', + 'require', + 'rescue', + 'research', + 'resident', + 'response', + 'result', + 'retailer', + 'retreat', + 'reunion', + 'revenue', + 'review', + 'reward', + 'rhyme', + 'rhythm', + 'rich', + 'rival', + 'river', + 'robin', + 'rocky', + 'romantic', + 'romp', + 'roster', + 'round', + 'royal', + 'ruin', + 'ruler', + 'rumor', + 'sack', + 'safari', + 'salary', + 'salon', + 'salt', + 'satisfy', + 'satoshi', + 'saver', + 'says', + 'scandal', + 'scared', + 'scatter', + 'scene', + 'scholar', + 'science', + 'scout', + 'scramble', + 'screw', + 'script', + 'scroll', + 'seafood', + 'season', + 'secret', + 'security', + 'segment', + 'senior', + 'shadow', + 'shaft', + 'shame', + 'shaped', + 'sharp', + 'shelter', + 'sheriff', + 'short', + 'should', + 'shrimp', + 'sidewalk', + 'silent', + 'silver', + 'similar', + 'simple', + 'single', + 'sister', + 'skin', + 'skunk', + 'slap', + 'slavery', + 'sled', + 'slice', + 'slim', + 'slow', + 'slush', + 'smart', + 'smear', + 'smell', + 'smirk', + 'smith', + 'smoking', + 'smug', + 'snake', + 'snapshot', + 'sniff', + 'society', + 'software', + 'soldier', + 'solution', + 'soul', + 'source', + 'space', + 'spark', + 'speak', + 'species', + 'spelling', + 'spend', + 'spew', + 'spider', + 'spill', + 'spine', + 'spirit', + 'spit', + 'spray', + 'sprinkle', + 'square', + 'squeeze', + 'stadium', + 'staff', + 'standard', + 'starting', + 'station', + 'stay', + 'steady', + 'step', + 'stick', + 'stilt', + 'story', + 'strategy', + 'strike', + 'style', + 'subject', + 'submit', + 'sugar', + 'suitable', + 'sunlight', + 'superior', + 'surface', + 'surprise', + 'survive', + 'sweater', + 'swimming', + 'swing', + 'switch', + 'symbolic', + 'sympathy', + 'syndrome', + 'system', + 'tackle', + 'tactics', + 'tadpole', + 'talent', + 'task', + 'taste', + 'taught', + 'taxi', + 'teacher', + 'teammate', + 'teaspoon', + 'temple', + 'tenant', + 'tendency', + 'tension', + 'terminal', + 'testify', + 'texture', + 'thank', + 'that', + 'theater', + 'theory', + 'therapy', + 'thorn', + 'threaten', + 'thumb', + 'thunder', + 'ticket', + 'tidy', + 'timber', + 'timely', + 'ting', + 'tofu', + 'together', + 'tolerate', + 'total', + 'toxic', + 'tracks', + 'traffic', + 'training', + 'transfer', + 'trash', + 'traveler', + 'treat', + 'trend', + 'trial', + 'tricycle', + 'trip', + 'triumph', + 'trouble', + 'true', + 'trust', + 'twice', + 'twin', + 'type', + 'typical', + 'ugly', + 'ultimate', + 'umbrella', + 'uncover', + 'undergo', + 'unfair', + 'unfold', + 'unhappy', + 'union', + 'universe', + 'unkind', + 'unknown', + 'unusual', + 'unwrap', + 'upgrade', + 'upstairs', + 'username', + 'usher', + 'usual', + 'valid', + 'valuable', + 'vampire', + 'vanish', + 'various', + 'vegan', + 'velvet', + 'venture', + 'verdict', + 'verify', + 'very', + 'veteran', + 'vexed', + 'victim', + 'video', + 'view', + 'vintage', + 'violence', + 'viral', + 'visitor', + 'visual', + 'vitamins', + 'vocal', + 'voice', + 'volume', + 'voter', + 'voting', + 'walnut', + 'warmth', + 'warn', + 'watch', + 'wavy', + 'wealthy', + 'weapon', + 'webcam', + 'welcome', + 'welfare', + 'western', + 'width', + 'wildlife', + 'window', + 'wine', + 'wireless', + 'wisdom', + 'withdraw', + 'wits', + 'wolf', + 'woman', + 'work', + 'worthy', + 'wrap', + 'wrist', + 'writing', + 'wrote', + 'year', + 'yelp', + 'yield', + 'yoga', + 'zero' +]; + +const WORD_LIST_MAP = WORD_LIST.reduce((obj, val, idx) => { + obj[val] = idx; + return obj; +}, {}); + +export { + MIN_ENTROPY_BITS, + generateIdentifier, + encodeMnemonic, + validateMnemonic, + splitSecret, + combineMnemonics, + combineSecrets, + crypt, + bitsToBytes, + intFromIndices, + intToIndices, + mnemonicFromIndices, + mnemonicToIndices, + toHexString, + toByteArray, +}; diff --git a/src/front/client/index.html b/src/front/client/index.html index 580ddc0453..1b5887b1fe 100644 --- a/src/front/client/index.html +++ b/src/front/client/index.html @@ -537,7 +537,7 @@

- -
diff --git a/src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.scss b/src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.scss new file mode 100644 index 0000000000..6fa1d8e54b --- /dev/null +++ b/src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.scss @@ -0,0 +1,28 @@ +.content { + max-width: 800px; + margin: 0 auto; + text-align: center; + width: 100%; +} + +.text { + font-size: 1.5em; + + @media all and (max-width: 480px) { + font-size: 1em; + } +} + + +.restoreNotice { + margin-bottom: 30px; +} + +.buttonHolder { + display: block; + align-items: center; + button { + margin: 1em auto; + display: block; + } +} diff --git a/src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx b/src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx new file mode 100644 index 0000000000..a274924717 --- /dev/null +++ b/src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx @@ -0,0 +1,104 @@ +import React from 'react' +import actions from 'redux/actions' +import cssModules from 'react-css-modules' +import styles from '../Styles/default.scss' +import ownStyle from './SaveWalletSelectMethod.scss' +import Modal from 'components/modal/Modal/Modal' +import { Button } from 'components/controls' +import { FormattedMessage, defineMessages, injectIntl } from 'react-intl' +import links from 'helpers/links' +import { constants } from 'helpers' + + +const langPrefix = `SaveWalletSelectMethod` +const langLabels = defineMessages({ + title: { + id: `${langPrefix}_Title`, + defaultMessage: 'Сохранение кошелька', + }, + useShamirs: { + id: `${langPrefix}_UseShamirs`, + defaultMessage: `Сохранить Shamir's Secret-Share`, + }, + useMnemonic: { + id: `${langPrefix}_UseMnemonic`, + defaultMessage: 'Сохранить 12-слов', + }, + cancel: { + id: `${langPrefix}_Cancel`, + defaultMessage: 'Отмена', + }, + selectMethod: { + id: `${langPrefix}_SelectMethod`, + defaultMessage: 'Выберите способ', + }, +}) + + +@cssModules({ ...styles, ...ownStyle }, { allowMultiple: true }) +class SaveWalletSelectMethod extends React.PureComponent { + constructor(props) { + super(props) + } + + handleCloseModal = () => { + const { name, data, onClose } = this.props + + if (typeof onClose === 'function') { + onClose() + } + + if (data && typeof data.onClose === 'function') { + data.onClose() + } else if (!(data && data.noRedirect)) { + window.location.assign(links.hashHome) + } + + actions.modals.close(name) + } + + handleUseShamirs = () => { + const { data, onClose } = this.props + + actions.modals.open(constants.modals.ShamirsSecretSave, data) + } + + handleUseMnemonic = () => { + const { data, onClose } = this.props + actions.modals.open(constants.modals.SaveMnemonicModal, data) + } + + render() { + const { + name, + intl, + } = this.props + + return ( + +
+
+
+ + + +
+
+
+
+ ) + } +} + +export default injectIntl(SaveWalletSelectMethod) diff --git a/src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.scss b/src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.scss new file mode 100644 index 0000000000..2298dd2d41 --- /dev/null +++ b/src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.scss @@ -0,0 +1,56 @@ +.content { + max-width: 800px; + margin: 0 auto; + text-align: center; + width: 100%; +} + +.text { + font-size: 1.5em; + + @media all and (max-width: 480px) { + font-size: 1em; + } +} + +.key { + font-size: 1em; + word-break: break-all; + + @media all and (max-width: 480px) { + font-size: 0.8em; + } +} + +.finishImg { + display: block; + height: 120px; + margin: 0 auto; + margin-bottom: 30px; +} + +.mnemonicNotice { + margin-bottom: 30px; +} + +@include media-mobile { + .mnemonicNotice { + position: static; + font-size: 100%; + margin-bottom: 20px; + } +} + +.buttonsHolder { + display: flex; + align-items: center; + justify-content: space-between; + padding-bottom: 50px; + + button { + width: 45%; + padding: 0 8px; + height: 36px; + line-height: 36px; + } +} diff --git a/src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx b/src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx new file mode 100644 index 0000000000..75a12f5b6e --- /dev/null +++ b/src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx @@ -0,0 +1,298 @@ +import React from 'react' +import actions from 'redux/actions' +import cssModules from 'react-css-modules' +import styles from '../Styles/default.scss' +import ownStyle from './ShamirsSecretRestory.scss' +import Copy from 'components/ui/Copy/Copy' +import Modal from 'components/modal/Modal/Modal' +import { Button } from 'components/controls' +import Input from 'components/forms/Input/Input' +import FieldLabel from 'components/forms/FieldLabel/FieldLabel' +import { FormattedMessage, defineMessages, injectIntl } from 'react-intl' +import Link from 'local_modules/sw-valuelink' +import * as mnemonicUtils from 'common/utils/mnemonic' +import okSvg from 'shared/images/ok.svg' +import links from 'helpers/links' +import feedback from 'shared/helpers/feedback' + + +const langPrefix = `Shamirs_Restory` +const langLabels = defineMessages({ + title: { + id: `${langPrefix}_Title`, + defaultMessage: 'Восстановление кошелька', + }, + doRestore: { + id: `${langPrefix}_DoRestore`, + defaultMessage: 'Восстановить', + }, + isDoRestoring: { + id: `${langPrefix}_IsDoRestoring`, + defaultMessage: 'Восстанавливаем', + }, + secretOne: { + id: `${langPrefix}_SecretOne`, + defaultMessage: 'Секретный код #1', + }, + secretOneError: { + id: `${langPrefix}_SecretOneError`, + defaultMessage: 'Введите корректный секретный код #1', + }, + enterSecretOne: { + id: `${langPrefix}_EnterSecretOne`, + defaultMessage: 'Введите секретный код #1', + }, + secretTwo: { + id: `${langPrefix}_SecretTwo`, + defaultMessage: 'Секретный код #2', + }, + enterSecretTwo: { + id: `${langPrefix}_EnterSecretTwo`, + defaultMessage: 'Введите секретный код #2', + }, + secretTwoError: { + id: `${langPrefix}_SecretTwoError`, + defaultMessage: 'Введите корректный секретный код #2', + }, + hasError: { + id: `${langPrefix}_RestoreHasError`, + defaultMessage: 'При восстановлении произошла ошибка: {errorMessage}', + }, + readyNotice: { + id: `${langPrefix}_ReadyNotice`, + defaultMessage: 'Теперь вы можете добавить BTC, ETH и другие валюты', + }, + Ready: { + id: `${langPrefix}_Ready`, + defaultMessage: 'Готово', + }, + cancelRestory: { + id: `${langPrefix}_CancelRestory`, + defaultMessage: 'Отмена', + }, +}) + +/* + Какой механизм ключей использовать + фраза из 20 слов или BigInt этой фразы +*/ +const useMnemonicAsSecret = false + +@cssModules({ ...styles, ...ownStyle }, { allowMultiple: true }) +class ShamirsSecretRestory extends React.PureComponent { + constructor(props) { + super(props) + this.state = { + isRestoring: false, + isFetching: false, + secretOne: ``, + secretTwo: ``, + hasError: false, + secretOneError: false, + secretTwoError: false, + errorMessage: ``, + isRestored: false, + } + } + + handleCloseModal = () => { + const { name, data, onClose } = this.props + + if (typeof onClose === 'function') { + onClose() + } + + if (data && typeof data.onClose === 'function') { + data.onClose() + } else if (!(data && data.noRedirect)) { + window.location.assign(links.hashHome) + } + + actions.modals.close(name) + } + + handleRestore = () => { + const { + isRestoring, + isFetching, + secretOne, + secretTwo, + } = this.state + if (isRestoring || isFetching) return + this.setState({ + isFetching: true, + hasError: false, + secretOneError: false, + secretTwoError: false, + }, () => { + if (!secretOne || secretOne.length === 0 || !mnemonicUtils.isValidShamirsSecret(secretOne)) { + this.setState({ secretOneError: true, isFetching: false}) + return + } + if (!secretTwo || secretTwo.length === 0 || !mnemonicUtils.isValidShamirsSecret(secretTwo)) { + this.setState({ secretTwoError: true, isFetching: false}) + return + } + + this.setState({ + isRestoring: true, + }, () => { + setTimeout(async () => { + try { + const mnemonicFromSecrets = mnemonicUtils.restoryMnemonicFromSecretParts([secretOne, secretTwo], useMnemonicAsSecret) + + await actions.user.restoreWallet(mnemonicFromSecrets) + this.setState(() => ({ + isRestored: true, + })) + + feedback.restore.finished() + } catch (e) { + console.log(e.message) + this.setState({ + isFetching: false, + isRestoring: false, + hasError: true, + errorMessage: e.message, + }) + } + }) + }) + }) + } + + handleFinish = () => { + const { data } = this.props + + this.handleCloseModal() + + if (!(data && data.noRedirect)) { + window.location.assign(links.hashHome) + window.location.reload() + } + } + + render() { + const { name, intl } = this.props + + const { + isRestoring, + isFetching, + secretOne, + secretTwo, + hasError, + secretOneError, + secretTwoError, + errorMessage, + isRestored, + } = this.state + + const linked = Link.all( + this, + 'secretOne', + 'secretTwo', + ) + + return ( + +
+ {!isRestored && ( + <> +
+ + + + { this.setState({ secretOneError: false }) }} + placeholder={intl.formatMessage(langLabels.secretOne)} + /> + {secretOneError && ( +
+ +
+ )} +
+
+ + + + { this.setState({ secretTwoError: false }) }} + placeholder={intl.formatMessage(langLabels.secretTwo)} + /> + {secretTwoError && ( +
+ +
+ )} +
+
+ {!isRestoring && ( +
+ + +
+ )} + {isRestoring && ( + + )} + {hasError && ( +
+ +
+ )} +
+ + )} + {isRestored && ( + <> +

+ finish + +

+
+ +
+ + )} +
+
+ ) + } +} + +export default injectIntl(ShamirsSecretRestory) diff --git a/src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.scss b/src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.scss new file mode 100644 index 0000000000..d54a0484cc --- /dev/null +++ b/src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.scss @@ -0,0 +1,168 @@ + +.buttonsHolder { + display: flex; + align-items: center; + justify-content: space-around; + padding-bottom: 50px; + button { + width: 40%; + padding: 0 8px; + line-height: 36px; + @include media-mobile { + width: 49%; + white-space: nowrap; + } + } +} + +.finishImg { + display: block; + height: 120px; + margin: 0 auto; + margin-bottom: 30px; +} + +.mnemonicView { + max-width: 500px; + margin: 0 auto; + text-align: center; + padding: 15px; + padding-bottom: 15px; +} + +.mnemonicViewWordWrapper { + display: inline-block; + + div { + display: inline-block; + padding: 0.2em; + margin: 0.1em 0.2em; + border: 1px solid var(--color-notice); + border-radius: 2px; + + span { + font-size: 120%; + padding: 0 0.2em; + font-family: 'Roboto Mono', monospace; + } + + span:nth-child(1) { + color: var(--color-notice); + } + } +} + +.wordIndex { + user-select: none; +} + +.mnemonicNotice {} + +.mnemonicEnter { + border: 1px solid var(--color-border); + min-height: 120px; + + button { + display: inline-block; + padding: 0.2em; + margin: 0.1em 0.2em; + border: 1px solid var(--color-notice); + border-radius: 2px; + background: none; + font-size: 120%; + padding: 0 0.2em; + font-family: 'Roboto Mono', monospace; + } +} + +.mnemonicError { + border: 1px solid var(--color-f-error); +} + +.mnemonicWords { + max-width: 500px; + margin: 0 auto; + text-align: center; + padding-top: 20px; + padding-bottom: 50px; + button { + display: inline-block; + padding: 0.2em; + margin: 0.1em 0.2em; + border: 1px solid var(--color-indicating); + border-radius: 2px; + background: none; + font-size: 120%; + padding: 0 0.2em; + font-family: 'Roboto Mono', monospace; + } +} + +.mnemonicButtonsWrapper { + display: flex; + justify-content: center; +} + +.sharedSecret { + display: block; + border-radius: var(--main-component-border-radius); + background: var(--color-background-elements); + color: var(--color); + box-shadow: var(--box-shadow); + padding: 1em; + margin-bottom: 1em; + + .sharedSecretInfo { + display: block; + padding: 10px; + margin-bottom: 0.5em; + } + .sharedSecretKey { + border-radius: 2px; + vertical-align: top; + line-height: 14px; + box-shadow: none; + font-size: 15px; + padding-left: 15px; + font-family: "Roboto Mono", monospace; + border: 1px solid var(--color-border); + outline: none; + margin-bottom: 0.5em; + + span { + display: block; + width: 100%; + padding: 1em; + } + } + .sharedSecretButtons { + display: flex; + padding: 10px; + justify-content: space-between; + >div { + width: 30%; + button { + width: 100%; + } + } + >button, + >a { + width: 30%; + } + >a button { + width: 100%; + } + } +} + +.continueBtnWrapper { + margin-left: 1em; +} + +@include media-mobile { + .mnemonicNotice { + position: static; + font-size: 100%; + margin-bottom: 20px; + } +} \ No newline at end of file diff --git a/src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx b/src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx new file mode 100644 index 0000000000..6a1cedb0b8 --- /dev/null +++ b/src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx @@ -0,0 +1,363 @@ +import React, { Fragment } from 'react' +import { constants } from 'helpers' +import actions from 'redux/actions' +import { Link as HrefLink } from 'react-router-dom' +import { connect } from 'redaction' +import config from 'helpers/externalConfig' +import { getActivatedCurrencies } from 'helpers/user' + +import cssModules from 'react-css-modules' +import moment from 'moment/moment' +import okSvg from 'shared/images/ok.svg' + +import Modal from 'components/modal/Modal/Modal' +import Button from 'components/controls/Button/Button' +import { FormattedMessage, injectIntl, defineMessages } from 'react-intl' +import Copy from 'components/ui/Copy/Copy' + +import links from 'helpers/links' +import feedback from 'shared/helpers/feedback' +import styles from './ShamirsSecretSave.scss' +import defaultStyles from '../Styles/default.scss' + + +const langPrefix = `ShamirsSecretSave` +const langLabels = defineMessages({ + title: { + id: `${langPrefix}_Title`, + defaultMessage: `Shamir's Secret-Share`, + }, + shareMnemonicTitle: { + id: `${langPrefix}_ShareMnemonicTitle`, + defaultMessage: `Shamir's Secret-Share codes`, + }, + showMnemonicNotice: { + id: `${langPrefix}_ShowMnemonicNotice`, + defaultMessage: `Сохраните эти коды. Если вы потеряете хотя-бы два из них, восстановить кошелек будет не возможно`, + }, + readySaveNotice: { + id: `${langPrefix}_ReadySaveNotice`, + defaultMessage: `Не потеряете сохраненные коды`, + }, + countSecretsSaved: { + id: `${langPrefix}_CountSavedSecrets`, + defaultMessage: `Сохранено {saved} из {total}`, + }, + mnemonicDeleted: { + id: `${langPrefix}_MnemoniceDeleted`, + defaultMessage: `You have already saved your Shamir's Secret-Share codes. {href}`, + values: { + href: ( + + {' '} + + + ) + }, + }, + beginNotice: { + id: `${langPrefix}_BeginNotice`, + defaultMessage: `Сейчас мы вам покажем три секретных кода.{br}Если вы потеряете хотя-бы два из них, мы не сможем восстановить ваш кошелек`, + }, + beginContinue: { + id: `${langPrefix}_BeginContinue`, + defaultMessage: `Я понимаю`, + }, + beginLater: { + id: `${langPrefix}_BeginLater`, + defaultMessage: `Я сохраню позже`, + }, + useCopy: { + id: `${langPrefix}_UseCopy`, + defaultMessage: `Скопировать`, + }, + useSave: { + id: `${langPrefix}_UseSave`, + defaultMessage: `Сохранить`, + }, + useSend: { + id: `${langPrefix}_UseSend`, + defaultMessage: `Отправить`, + }, + codeNfromSite: { + id: `${langPrefix}_CodeNfromSite`, + defaultMessage: `Секретный Shamir's Secret-Share код #{number} от сайта {sitehost}`, + }, +}) + + +@cssModules({ ...defaultStyles, ...styles }, { allowMultiple: true }) +class ShamirsSecretSave extends React.Component { + constructor(props) { + super(props) + + const mnemonic = localStorage.getItem(constants.privateKeyNames.twentywords) + let shamirsSecretKeys: any = localStorage.getItem(constants.privateKeyNames.shamirsSecrets) + if (shamirsSecretKeys && shamirsSecretKeys !== '-') { + try { + shamirsSecretKeys = JSON.parse(shamirsSecretKeys) + } catch (e) { + shamirsSecretKeys = false + } + } else { + shamirsSecretKeys = false + } + + this.state = { + step: (shamirsSecretKeys) ? `begin` : `removed`, + shamirsSecretKeys, + copyUsed: false, + saveUsed: false, + sendUsed: false, + sharededSecrets: { // Части ключа, сохраненные, скопированные или расшаренные + 0: false, + 1: false, + 2: false, + } + } + } + + handleGoToConfirm = () => { + localStorage.setItem(constants.privateKeyNames.twentywords, '-') + localStorage.setItem(constants.privateKeyNames.shamirsMnemonics, '-') + localStorage.setItem(constants.privateKeyNames.shamirsSecrets, '-') + actions.backupManager.serverCleanupSeed() + this.setState({ + step: `ready`, + }) + } + + handleClose = () => { + const { name, data, onClose } = this.props + + if (typeof onClose === 'function') { + onClose() + } + + if (data && typeof data.onClose === 'function') { + data.onClose() + } else { + window.location.assign(links.hashHome) + } + + const addAllEnabledWalletsAfterRestoreOrCreateSeedPhrase = config?.opts?.addAllEnabledWalletsAfterRestoreOrCreateSeedPhrase + + if (addAllEnabledWalletsAfterRestoreOrCreateSeedPhrase) { + const currencies = getActivatedCurrencies() + currencies.forEach((currency) => { + actions.core.markCoinAsVisible(currency.toUpperCase(), true) + }) + localStorage.setItem(constants.localStorage.isWalletCreate, 'true') + } + + actions.modals.close(constants.modals.SaveWalletSelectMethod) + actions.modals.close(name) + } + + handleFinish = () => { + feedback.backup.finished() + this.handleClose() + } + + createDownload = (filename, text) => { + const element = document.createElement('a') + const message = 'Check your browser downloads' + + element.setAttribute('href', `data:text/plaincharset=utf-8,${encodeURIComponent(text)}`) + element.setAttribute('download', `${filename}_${moment().format('DD.MM.YYYY')}.txt`) + + element.style.display = 'none' + document.body.appendChild(element) + element.click() + document.body.removeChild(element) + + actions.notifications.show(constants.notifications.Message, { + message, + }) + } + + markCodeShared = (secretNumber) => { + const { sharededSecrets } = this.state + this.setState({ + sharededSecrets: { + ...sharededSecrets, + [`${secretNumber}`]: true, + } + }) + } + + renderShareSecret = (secretNumber) => { + const { + shamirsSecretKeys, + sharededSecrets, + copyUsed, + saveUsed, + sendUsed, + } = this.state + + + const text = `Shamir's Secret-Share code #${secretNumber+1} from ${document.location.hostname}\n` + + `${shamirsSecretKeys[secretNumber]}\n` + + `Don't Lose This Code.` + return ( +
+
+ + + + {shamirsSecretKeys[secretNumber]} +
+
+ {copyUsed ? ( + + ) : ( + { + this.markCodeShared(secretNumber) + /* this.setState({ copyUsed: true }) */ + }}> + + + )} + + {(sendUsed) ? ( + + ) : ( + + + + )} +
+
+ ) + } + + render() { + const { + name, + intl, + } = this.props + + const { + step, + shamirsSecretKeys, + sharededSecrets, + } = this.state + + const canContinue = !(sharededSecrets[0] && sharededSecrets[1] && sharededSecrets[2]) + const totalSaved = ((sharededSecrets[0]) ? 1 : 0) + ((sharededSecrets[1]) ? 1 : 0) + ((sharededSecrets[2]) ? 1 : 0) + + return ( + // @ts-ignore: strictNullChecks + + {step === `show` && ( +

+ +

+ )} + {step === `removed` && ( +

+ +

+ )} +
+ {step === `begin` && ( + <> +

+ , + }} /> +

+
+ + +
+ + )} + {step === `ready` && ( + <> +

+ finish + +

+
+ +
+ + )} + {step === `show` && ( + <> +
+ {this.renderShareSecret(0)} + {this.renderShareSecret(1)} + {this.renderShareSecret(2)} +
+
+ +
+
+
+ +
+
+ + )} +
+
+ ) + } +} + +export default injectIntl(ShamirsSecretSave) diff --git a/src/front/shared/components/modals/index.ts b/src/front/shared/components/modals/index.ts index 8556dbf107..3f19f91734 100644 --- a/src/front/shared/components/modals/index.ts +++ b/src/front/shared/components/modals/index.ts @@ -35,6 +35,11 @@ import AlertWindow from "./AlertWindow" import ConnectWalletModal from './ConnectWalletModal/ConnectWalletModal' import WalletConnectAccount from './WalletConnectAccount/WalletConnectAccount' +// Shamir's Secret-Sharing for Mnemonic Codes +import ShamirsSecretRestory from './ShamirsSecretRestory/ShamirsSecretRestory' +import ShamirsSecretSave from './ShamirsSecretSave/ShamirsSecretSave' +import RestoreWalletSelectMethod from './RestoreWalletSelectMethod/RestoreWalletSelectMethod' +import SaveWalletSelectMethod from './SaveWalletSelectMethod/SaveWalletSelectMethod' export default { @@ -59,8 +64,7 @@ export default { AddCustomToken, BtcMultisignSwitch, BtcMultisignConfirmTx, - SaveMnemonicModal, - RestoryMnemonicWallet, + HowToWithdrawModal, InfoInvoice, @@ -75,4 +79,11 @@ export default { ConnectWalletModal, WalletConnectAccount, + + ShamirsSecretRestory, + ShamirsSecretSave, + RestoreWalletSelectMethod, + SaveWalletSelectMethod, + SaveMnemonicModal, + RestoryMnemonicWallet, } diff --git a/src/front/shared/components/ui/Copy/Copy.tsx b/src/front/shared/components/ui/Copy/Copy.tsx index 94a54be246..a2d8a4a1f9 100644 --- a/src/front/shared/components/ui/Copy/Copy.tsx +++ b/src/front/shared/components/ui/Copy/Copy.tsx @@ -15,6 +15,8 @@ class Copy extends Component { } handleCopyLink = () => { + const { onCopy } = this.props + if (onCopy) onCopy() if (this.state.showTip) { return } diff --git a/src/front/shared/helpers/constants/modals.ts b/src/front/shared/helpers/constants/modals.ts index 3637532657..b7133445a1 100644 --- a/src/front/shared/helpers/constants/modals.ts +++ b/src/front/shared/helpers/constants/modals.ts @@ -31,4 +31,8 @@ export default { WithdrawBtcMultisig: 'WithdrawBtcMultisig', ConnectWalletModal: 'ConnectWalletModal', WalletConnectAccount: 'WalletConnectAccount', + ShamirsSecretRestory: 'ShamirsSecretRestory', + ShamirsSecretSave: 'ShamirsSecretSave', + RestoreWalletSelectMethod: 'RestoreWalletSelectMethod', + SaveWalletSelectMethod: 'SaveWalletSelectMethod', } diff --git a/src/front/shared/helpers/constants/privateKeyNames.ts b/src/front/shared/helpers/constants/privateKeyNames.ts index c1630e773d..1acaa13bc2 100644 --- a/src/front/shared/helpers/constants/privateKeyNames.ts +++ b/src/front/shared/helpers/constants/privateKeyNames.ts @@ -22,4 +22,7 @@ export default { btcSmsMnemonicKeyGenerated: `${process.env.ENTRY}:btcSmsMnemonicKeyGenerated`, btcPinMnemonicKey: `${process.env.ENTRY}:btcPinMnemonicKey`, + // Shamir's Secret-Sharing for Mnemonic Codes + shamirsMnemonics: `${process.env.ENTRY}:shamirsMnemonics`, + shamirsSecrets: `${process.env.ENTRY}:shamirsSecrets`, } diff --git a/src/front/shared/helpers/links.ts b/src/front/shared/helpers/links.ts index e5f32c7959..09af92f6fb 100644 --- a/src/front/shared/helpers/links.ts +++ b/src/front/shared/helpers/links.ts @@ -12,6 +12,8 @@ const linksManager = { history: '/history', createWallet: '/createWallet', restoreWallet: '/restoreWallet', + restoreWalletMnemonic: '/restoreWalletMnemonic', + restoreWalletShamirs: '/restoreWalletShamirs', connectWallet: '/connectWallet', invoices: '/invoices', invoice: '/invoice', diff --git a/src/front/shared/helpers/wpLogoutModal.ts b/src/front/shared/helpers/wpLogoutModal.ts index 12b8527a2f..cb1ba8b5ab 100644 --- a/src/front/shared/helpers/wpLogoutModal.ts +++ b/src/front/shared/helpers/wpLogoutModal.ts @@ -35,7 +35,7 @@ const confirmTexts = defineMessages({ }) const handleShowMnemonic = () => { - actions.modals.open(constants.modals.SaveMnemonicModal) + actions.modals.open(constants.modals.SaveWalletSelectMethod) } const handleConfirm = () => { diff --git a/src/front/shared/localisation/ar.json b/src/front/shared/localisation/ar.json index 405bb8291c..f985c1314e 100644 --- a/src/front/shared/localisation/ar.json +++ b/src/front/shared/localisation/ar.json @@ -1603,6 +1603,7 @@ "message": "يكمل", "files": [ "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", "src/front/shared/pages/CreateWallet/Steps/FirstStep.tsx" ] }, @@ -1751,6 +1752,7 @@ "message": "مستعد", "files": [ "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" ] @@ -5945,5 +5947,278 @@ "files": [ "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" ] + }, + { + "id": "ShamirsSecretSave_BeginContinue", + "message": "أفهم", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginLater", + "message": "سأحفظ لاحقا", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginNotice", + "message": "سنعرض لك الآن ثلاثة رموز سرية. {br} إذا فقدت اثنين منهم على الأقل ، فلن نتمكن من استعادة محفظتك", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CountSavedSecrets", + "message": "تم الحفظ بواسطة {saved} من إجمالي {total}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_MnemoniceDeleted", + "message": "لقد قمت بالفعل بحفظ أكواد Shamir's Secret-Share الخاصة بك. {href}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ReadySaveNotice", + "message": "لا تفقد رموزك المحفوظة", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShareMnemonicTitle", + "message": "Shamir's Secret-Share codes", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShowMnemonicNotice", + "message": "احفظ هذه الرموز. إذا فقدت اثنين منهم على الأقل ، فلن يكون من الممكن استعادة المحفظة", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_Title", + "message": "Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseCopy", + "message": "ينسخ", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSave", + "message": "يحفظ", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSend", + "message": "يرسل", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs", + "message": "استعادة من المشاركة السرية", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip", + "message": "مشاركة شامير السرية لرموز ذاكري", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip_withBalance", + "message": "رجاءا كن حذرا!", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Cancel", + "message": "يلغي", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_SelectMethod", + "message": "اختر طريقة الاسترداد", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Title", + "message": "استرداد المحفظة", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseMnemonic", + "message": "استرجع باستخدام 12 كلمة", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseShamirs", + "message": "استعادة باستخدام Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Cancel", + "message": "يلغي", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_SelectMethod", + "message": "اختر طريقة", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Title", + "message": "حفظ المحفظة", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseMnemonic", + "message": "حفظ 12 كلمة", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseShamirs", + "message": "يحفظ Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "Shamirs_Restory_CancelRestory", + "message": "يلغي", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_DoRestore", + "message": "يعيد", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretOne", + "message": "أدخل الرمز السري # 1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretTwo", + "message": "أدخل الرمز السري # 2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_IsDoRestoring", + "message": "استعادة", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Ready", + "message": "مستعد", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_ReadyNotice", + "message": "يمكنك الآن إضافة BTC و ETH والعملات الأخرى", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_RestoreHasError", + "message": "حدث خطأ أثناء الاستعادة: {errorMessage}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOne", + "message": "الكود السري # 1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOneError", + "message": "أدخل الرمز السري الصحيح # 1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwo", + "message": "الكود السري # 2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwoError", + "message": "أدخل الرمز السري الصحيح # 2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Title", + "message": "استرداد المحفظة", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CodeNfromSite", + "message": "كود شامير السري # {number} من {sitehost}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] } ] diff --git a/src/front/shared/localisation/de.json b/src/front/shared/localisation/de.json index 02dbab0389..463f71ba83 100644 --- a/src/front/shared/localisation/de.json +++ b/src/front/shared/localisation/de.json @@ -1618,6 +1618,7 @@ "message": "Weiter", "files": [ "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", "src/front/shared/pages/CreateWallet/Steps/FirstStep.tsx" ] }, @@ -1766,6 +1767,7 @@ "message": "Bereit", "files": [ "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" ] @@ -5953,5 +5955,278 @@ "files": [ "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" ] + }, + { + "id": "ShamirsSecretSave_BeginContinue", + "message": "Ich verstehe", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginLater", + "message": "Ich werde später speichern", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginNotice", + "message": "Jetzt zeigen wir Ihnen drei Geheimcodes.{br}Wenn Sie mindestens zwei davon verlieren, können wir Ihr Wallet nicht wiederherstellen", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CountSavedSecrets", + "message": "Gespeichert von {saved} von {total}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_MnemoniceDeleted", + "message": "Sie haben Ihre Shamir's Secret-Share-Codes bereits gespeichert. {href}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ReadySaveNotice", + "message": "Gespeicherte Codes nicht verlieren", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShareMnemonicTitle", + "message": "Shamir's Secret-Share codes", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShowMnemonicNotice", + "message": "Speichern Sie diese Codes. Wenn Sie mindestens zwei davon verlieren, ist es nicht möglich, die Brieftasche wiederherzustellen", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_Title", + "message": "Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseCopy", + "message": "Kopieren", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSave", + "message": "Speichern", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSend", + "message": "Schicken", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs", + "message": "Von Secret Sharing wiederherstellen", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip", + "message": "Shamirs Secret-Sharing für mnemonische Codes", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip_withBalance", + "message": "Seien Sie bitte vorsichtig!", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Cancel", + "message": "Stornieren", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_SelectMethod", + "message": "Wählen Sie eine Wiederherstellungsmethode", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Title", + "message": "Wallet-Wiederherstellung", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseMnemonic", + "message": "Erholen Sie sich mit 12 Wörtern", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseShamirs", + "message": "Wiederherstellung mit Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Cancel", + "message": "Stornieren", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_SelectMethod", + "message": "Wählen Sie eine Methode", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Title", + "message": "Brieftasche sparen", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseMnemonic", + "message": "Speichern Sie 12 Wörter", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseShamirs", + "message": "Rette Shamirs Secret-Share", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "Shamirs_Restory_CancelRestory", + "message": "Stornieren", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_DoRestore", + "message": "Wiederherstellen", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretOne", + "message": "Geben Sie den Geheimcode #1 ein", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretTwo", + "message": "Geben Sie den Geheimcode #2 ein", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_IsDoRestoring", + "message": "Wiederherstellen", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Ready", + "message": "Bereit", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_ReadyNotice", + "message": "Jetzt können Sie BTC, ETH und andere Währungen hinzufügen", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_RestoreHasError", + "message": "Beim Wiederherstellen ist ein Fehler aufgetreten: {errorMessage}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOne", + "message": "Geheimcode #1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOneError", + "message": "Geben Sie den korrekten Geheimcode #1 ein", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwo", + "message": "Geheimcode #2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwoError", + "message": "Geben Sie den korrekten Geheimcode #2 ein", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Title", + "message": "Wallet-Wiederherstellung", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CodeNfromSite", + "message": "Shamirs Secret-Share-Code #{number} von {sitehost}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] } ] diff --git a/src/front/shared/localisation/en.json b/src/front/shared/localisation/en.json index ce1c6df1c5..627fe98c39 100644 --- a/src/front/shared/localisation/en.json +++ b/src/front/shared/localisation/en.json @@ -1603,6 +1603,7 @@ "message": "Continue", "files": [ "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", "src/front/shared/pages/CreateWallet/Steps/FirstStep.tsx" ] }, @@ -1751,6 +1752,7 @@ "message": "Ready", "files": [ "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" ] @@ -5945,5 +5947,278 @@ "files": [ "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" ] + }, + { + "id": "ShamirsSecretSave_BeginContinue", + "message": "I understand", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginLater", + "message": "I will save later", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginNotice", + "message": "Now we will show you three secret codes.{br}If you lose at least two of them, we will not be able to restore your wallet", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CountSavedSecrets", + "message": "Saved by {saved} of {total}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_MnemoniceDeleted", + "message": "You have already saved your Shamir's Secret-Share codes. {href}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ReadySaveNotice", + "message": "Don't lose your saved codes", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShareMnemonicTitle", + "message": "Shamir's Secret-Share codes", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShowMnemonicNotice", + "message": "Save these codes. If you lose at least two of them, it will not be possible to restore the wallet", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_Title", + "message": "Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseCopy", + "message": "Copy", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSave", + "message": "Save", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSend", + "message": "Send", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs", + "message": "Restore from Secret-Sharing", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip", + "message": "Shamir's Secret-Sharing for Mnemonic Codes", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip_withBalance", + "message": "Please, be causious!", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Cancel", + "message": "Cancel", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_SelectMethod", + "message": "Choose a recovery method", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Title", + "message": "Wallet Recovery", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseMnemonic", + "message": "Recover using 12-words", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseShamirs", + "message": "Restore using Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Cancel", + "message": "Cancel", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_SelectMethod", + "message": "Choose a recovery method", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Title", + "message": "Wallet backup", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseMnemonic", + "message": "Save 12-words", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseShamirs", + "message": "Save Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "Shamirs_Restory_CancelRestory", + "message": "Cancel", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_DoRestore", + "message": "Restore", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretOne", + "message": "Enter secret code #1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretTwo", + "message": "Enter secret code #2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_IsDoRestoring", + "message": "Restoring", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Ready", + "message": "Ready", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_ReadyNotice", + "message": "Now you can add BTC, ETH and other currencies", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_RestoreHasError", + "message": "An error occurred while restoring: {errorMessage}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOne", + "message": "Secret code #1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOneError", + "message": "Enter the correct secret code #1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwo", + "message": "Secret code #2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwoError", + "message": "Enter correct secret code #2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Title", + "message": "Wallet Recovery", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CodeNfromSite", + "message": "Shamir's Secret-Share code #{number} from {sitehost}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] } ] diff --git a/src/front/shared/localisation/es.json b/src/front/shared/localisation/es.json index 5a5731060a..a7e2c0075e 100644 --- a/src/front/shared/localisation/es.json +++ b/src/front/shared/localisation/es.json @@ -1487,6 +1487,7 @@ "message": "Continuar", "files": [ "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", "src/front/shared/pages/CreateWallet/Steps/FirstStep.tsx" ] }, @@ -1635,6 +1636,7 @@ "message": "Listo", "files": [ "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" ] @@ -5949,5 +5951,278 @@ "files": [ "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" ] + }, + { + "id": "ShamirsSecretSave_BeginContinue", + "message": "entiendo", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginLater", + "message": "guardaré más tarde", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginNotice", + "message": "Ahora le mostraremos tres códigos secretos.{br}Si pierde al menos dos de ellos, no podremos restaurar su billetera", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CountSavedSecrets", + "message": "Guardado por {saved} de {total}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_MnemoniceDeleted", + "message": "Ya has guardado tus códigos de Shamir's Secret-Share. {href}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ReadySaveNotice", + "message": "No pierdas tus códigos guardados", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShareMnemonicTitle", + "message": "Shamir's Secret-Share codes", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShowMnemonicNotice", + "message": "Guarde estos códigos. Si pierde al menos dos de ellos, no será posible restaurar la billetera", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_Title", + "message": "Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseCopy", + "message": "Copiar", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSave", + "message": "Ahorrar", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSend", + "message": "Enviar", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs", + "message": "Restaurar desde Shamir's Secret-Sharing", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip", + "message": "Shamir's Secret-Sharing for Mnemonic Codes", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip_withBalance", + "message": "¡Por favor tenga cuidado!", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Cancel", + "message": "Cancelar", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_SelectMethod", + "message": "Elija un método de recuperación", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Title", + "message": "Recuperación de billetera", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseMnemonic", + "message": "Recuperar usando 12 palabras", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseShamirs", + "message": "Restaurar usandoShamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Cancel", + "message": "Cancelar", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_SelectMethod", + "message": "Elige un método", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Title", + "message": "Ahorro de billetera", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseMnemonic", + "message": "Guardar 12 palabras", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseShamirs", + "message": "Guardar el Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "Shamirs_Restory_CancelRestory", + "message": "Cancelar", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_DoRestore", + "message": "Restaurar", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretOne", + "message": "Ingrese el código secreto #1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretTwo", + "message": "Ingrese el código secreto #2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_IsDoRestoring", + "message": "Restaurando", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Ready", + "message": "Listo", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_ReadyNotice", + "message": "Ahora puedes agregar BTC, ETH y otras monedas", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_RestoreHasError", + "message": "Ocurrió un error al restaurar: {errorMessage}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOne", + "message": "Código secreto #1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOneError", + "message": "Ingrese el código secreto correcto #1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwo", + "message": "Código secreto #2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwoError", + "message": "Ingrese el código secreto correcto #2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Title", + "message": "Recuperación de billetera", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CodeNfromSite", + "message": "Código de Shamir's Secret-Shamir #{number} de {sitehost}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] } ] diff --git a/src/front/shared/localisation/fa.json b/src/front/shared/localisation/fa.json index 02f4149556..1d0ecc6fef 100644 --- a/src/front/shared/localisation/fa.json +++ b/src/front/shared/localisation/fa.json @@ -210,5740 +210,6015 @@ "files": [ "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" ] -}, -{ - "id": "Row165", - "message": "لطفاً صبر کنید تا درخواست شما را تأیید کنیم", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" - ] -}, -{ - "id": "RowM136", - "message": "ارسال درخواست", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" - ] -}, -{ - "id": "RowM139", - "message": "مبادله", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" - ] -}, -{ - "id": "RowM145", - "message": "این دستور در حال اجراست", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" - ] -}, -{ - "id": "RowM153", - "message": "لطفاً صبر کنید تا درخواست شما را تأیید کنیم", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" - ] -}, -{ - "id": "NotFound8", - "message": "صفحه یافت نشد!", - "files": [ - "src/front/shared/pages/NotFound/NotFound.tsx" - ] -}, -{ - "id": "SwapController54", - "message": "یکی دیگر از شرکت کنندگان آنلاین است", - "files": [ - "src/front/shared/pages/Swap/SwapController.tsx" - ] -}, -{ - "id": "SwapController60", - "message": "یکی دیگر از شرکت‌کنندگان آفلاین است", - "files": [ - "src/front/shared/pages/Swap/SwapController.tsx" - ] -}, -{ - "id": "RowWallet181", - "message": "موجودی تایید نشده", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "AddOffer396", - "message": "Next", - "files": [ - "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" - ] -}, -{ - "id": "WithdrawButton32", - "message": "وقتی روی این دکمه کلیک می‌کنید، در فیلد، مقدار{br} برابر با موجودی شما منهای کمیسیون ماینرها ظاهر می‌شود", - "files": [ - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", - "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" - ] -}, -{ - "id": "HowItWorks10", - "message": "چگونه کار می کند", - "files": [ - "src/front/shared/pages/Exchange/HowItWorks/HowItWorks.tsx" - ] -}, -{ - "id": "AddOffer418", - "message": "نرخ ارز سفارشی", - "files": [ - "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" - ] -}, -{ - "id": "AddOffer423", - "message": "پر کردن جزئی را فعال کنید", - "files": [ - "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" - ] -}, -{ - "id": "MyOrdersYouSend", - "message": "تو میفرستی", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx", - "src/front/shared/pages/Exchange/Orders/MyOrders/MyOrders.tsx", - "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" - ] -}, -{ - "id": "MyOrdersYouGet", - "message": "شما دریافت می کنید", - "files": [ - "src/front/shared/components/CurrencyDirectionChooser/CurrencyDirectionChooser.tsx", - "src/front/shared/pages/Exchange/Orders/MyOrders/MyOrders.tsx" - ] -}, -{ - "id": "MyOrdersRate", - "message": "مظنهء ارز", - "files": [ - "src/front/shared/pages/Exchange/Orders/MyOrders/MyOrders.tsx" - ] -}, -{ - "id": "orders102", - "message": "مقدار", - "files": [ - "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx", - "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx", - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", - "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx", - "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" - ] -}, -{ - "id": "orders105", - "message": "قیمت", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx", - "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" - ] -}, -{ - "id": "orders128", - "message": "پیشنهاد ایجاد کنید", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "addoffer381", - "message": "فروش", - "files": [ - "src/front/shared/components/modals/LimitOrder/ModalForm.tsx", - "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" - ] -}, -{ - "id": "addoffer396", - "message": "خرید", - "files": [ - "src/front/shared/components/modals/LimitOrder/ModalForm.tsx", - "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" - ] -}, -{ - "id": "addoffer406", - "message": "مظنهء ارز", - "files": [ - "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" - ] -}, -{ - "id": "Table95", - "message": "جدول خالی است", - "files": [ - "src/front/shared/components/tables/Table/Table.tsx" - ] -}, -{ - "id": "Table96", - "message": "بارگیری...", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx", - "src/front/shared/components/tables/Table/Table.tsx", - "src/front/shared/containers/App/App.tsx" - ] -}, -{ - "id": "Reqstbttn16", - "message": "خرید", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/RequestButton/RequestButton.tsx" - ] -}, -{ - "id": "ExchangeRate12", - "message": "مظنهء ارز", - "files": [ - "src/front/shared/components/modals/OfferModal/ConfirmOffer/ExchangeRate/ExchangeRate.tsx" - ] -}, -{ - "id": "amount", - "message": "مبادله", - "files": [ - "src/front/shared/components/modals/OfferModal/ConfirmOffer/Amounts/Amounts.tsx" - ] -}, -{ - "id": "recieved67", - "message": "کپی به کلیپ بورد", - "files": [ - "src/front/shared/components/modals/DownloadModal/DownloadModal.tsx", - "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx" - ] -}, -{ - "id": "RowHistory94", - "message": "پایان", - "files": [ - "src/front/shared/pages/History/SwapsHistory/RowHistory/RowHistory.tsx", - "src/front/shared/pages/Marketmaker/SwapRow.tsx" - ] -}, -{ - "id": "RowHistory139", - "message": "متوقف شد", - "files": [ - "src/front/shared/pages/History/SwapsHistory/RowHistory/RowHistory.tsx", - "src/front/shared/pages/Marketmaker/SwapRow.tsx" - ] -}, -{ - "id": "RowMobileYouGet", - "message": "شما دریافت می کنید", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" - ] -}, -{ - "id": "Select210", - "message": "حداکثر", - "files": [ - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", - "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" - ] -}, -{ - "id": "Withdrow1194", - "message": "آدرس", - "files": [ - "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx", - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", - "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" - ] -}, -{ - "id": "partial291", - "message": "در انتظار یک شرکت‌کننده دیگر (30 ثانیه)", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "CDC52", - "message": "لیست پیشنهادات", - "files": [ - "src/front/shared/components/CurrencyDirectionChooser/CurrencyDirectionChooser.tsx" - ] -}, -{ - "id": "add408", - "message": "برای تغییر نرخ ارز", - "files": [ - "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" - ] -}, -{ - "id": "enterYouSend", - "message": "مبلغ 'شما ​​ارسال می کنید' را وارد کنید", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx", - "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" - ] -}, -{ - "id": "swapDisabled", - "message": "مبادله غیرفعال شد", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "noOffers", - "message": "بدون پیشنهاد", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "selectFromAddress", - "message": "انتخاب\"برای آدرس\"", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "selectToAddress", - "message": "انتخاب\"آدرس\"", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "enterToAddress", - "message": "کیف پول مقصد را وارد کنید", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "connectDestinationWallet", - "message": "کیف پول مقصد خود را وصل کنید", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "setDestination", - "message": "تعیین مقصد", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "connectYourWallet", - "message": "کیف پول خود را وصل کنید \"از آدرس\"", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "selectSendType", - "message": "نوع را انتخاب کنید \"از آدرس\"", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "errorWithGetAmount", - "message": "\"شما دریافت می کنید\" بیش از 0 نیست", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "incorrectNetwork", - "message": "لطفا شبکه صحیح را انتخاب کنید", - "files": [ - "src/front/shared/components/modals/LimitOrder/ModalForm.tsx", - "src/front/shared/components/modals/WalletConnectAccount/WalletConnectAccount.tsx", - "src/front/shared/pages/Exchange/AtomicSwap.tsx", - "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" - ] -}, -{ - "id": "lowAmount", - "message": "مقدار کم", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "waitPeerAnswer", - "message": "منتظر پاسخ همتا باشید", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "enterLesserAmount", - "message": "مقدار کمتری را وارد کنید \"تو میفرستی\"", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "contactSupport", - "message": "لطفا با پشتیبانی تماس بگیرید", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "partial255", - "message": "شما دریافت می کنید", - "files": [ - "src/front/shared/components/LimitOrders/OrderSettings.tsx", - "src/front/shared/components/LimitOrders/index.tsx", - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "Add52", - "message": "یک پیشنهاد قرار دهید", - "files": [ - "src/front/shared/components/modals/OfferModal/OfferModal.tsx" - ] -}, -{ - "id": "Confirm52", - "message": "پیشنهاد را تایید کنید", - "files": [ - "src/front/shared/components/modals/OfferModal/OfferModal.tsx" - ] -}, -{ - "id": "ImCAUTIONport", - "message": "احتیاط!", - "files": [ - "src/front/shared/components/modals/PrivateKeysModal/PrivateKeysModal.tsx" - ] -}, -{ - "id": "Receive", - "message": "دریافت کردن", - "files": [ - "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx" - ] -}, -{ - "id": "RowHistory281", - "message": "دریافت {address}", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "RowHistory282", - "message": "ارسال {address}", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "fromRow", - "message": "از ", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "toRow", - "message": "به", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "RowHistory283", - "message": "خود", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "RowHistory34", - "message": "تایید شده", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "RowHistory341", - "message": "تایید شده", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "RowHistory342", - "message": "تایید نشده", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "timer68", - "message": "بازپرداخت آماده است", - "files": [ - "src/front/shared/pages/Swap/Timer/Timer.tsx" - ] -}, -{ - "id": "PartialPriceNoOrdersReduce", - "message": "سفارشی یافت نشد، بعداً امتحان کنید یا جفت ارز را تغییر دهید", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "PartialPriceNoOrdersReduceAllInfo", - "message": "این مقدار معامله برای نقدینگی بازار فعلی بسیار زیاد است. لطفا مقدار را کاهش دهید {maxForSell}. ", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "PartialOfferCantProceed1", - "message": "درخواست رد شده است. {link}", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "PartialOfferCantProceed1_1", - "message": "چرا?", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "ErrorBtcLowAmount", - "message": "{btcAmount} BTC - This amount is too low, does not cover mining fee", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "UseAnotherWallet", - "message": "آدرس کیف پول دریافتی را مشخص کنید", - "files": [ - "src/front/shared/components/modals/ConfirmBeginSwap/ConfirmBeginSwap.tsx" - ] -}, -{ - "id": "partial462", - "message": "مبلغی که در کیف پول swap.online یا کیف پول خارجی خود دارید که می خواهید مبادله کنید", - "files": [ - "src/front/shared/components/modals/LimitOrder/ModalForm.tsx", - "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" - ] -}, -{ - "id": "partial478", - "message": "مبلغی که پس از تعویض دریافت خواهید کرد", - "files": [ - "src/front/shared/components/modals/LimitOrder/ModalForm.tsx", - "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" - ] -}, -{ - "id": "partial541", - "message": "اکنون مبادله کنید", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "partial767", - "message": "تعادل: ", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx", - "src/front/shared/pages/Exchange/QuickSwap/InputForm.tsx" - ] -}, -{ - "id": "partialVideoAndFeatures0", - "message": "بر اساس فناوری سواپ اتمی", - "files": [ - "src/front/shared/pages/Exchange/VideoAndFeatures/VideoAndFeatures.tsx" - ] -}, -{ - "id": "partialVideoAndFeatures1", - "message": "تعویض فقط 2 دقیقه طول می کشد", - "files": [ - "src/front/shared/pages/Exchange/VideoAndFeatures/VideoAndFeatures.tsx" - ] -}, -{ - "id": "partialVideoAndFeatures2", - "message": "از توکن های BTC، ETH، USDT، ERC-20 پشتیبانی می کند", - "files": [ - "src/front/shared/pages/Exchange/VideoAndFeatures/VideoAndFeatures.tsx" - ] -}, -{ - "id": "partialVideoAndFeatures3", - "message": "می تواند در هر وب سایتی به عنوان یک سرویس تبادل مستقر شود", - "files": [ - "src/front/shared/pages/Exchange/VideoAndFeatures/VideoAndFeatures.tsx" - ] -}, -{ - "id": "down57", - "message": "برای ذخیره کلیدهای خصوصی خود، کافی است این کلیدها را کپی کرده و در قسمت متن دفترچه یادداشت قرار دهید. همچنین می توانید کلیدهای خود را به صورت فایل txt دانلود کنید", - "files": [ - "src/front/shared/components/modals/DownloadModal/DownloadModal.tsx" - ] -}, -{ - "id": "downFile2", - "message": "دانلود فایل txt", - "files": [ - "src/front/shared/components/modals/DownloadModal/DownloadModal.tsx" - ] -}, -{ - "id": "down97", - "message": "کلیدهای خصوصی شما!", - "files": [ - "src/front/shared/components/modals/DownloadModal/DownloadModal.tsx" - ] -}, -{ - "id": "Reqstbttn22", - "message": "برای", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/RequestButton/RequestButton.tsx" - ] -}, -{ - "id": "downloadModal75", - "message": "آدرس:", - "files": [ - "src/front/shared/components/modals/DownloadModal/DownloadModal.tsx" - ] -}, -{ - "id": "downloadModal782", - "message": "کلید خصوصی", - "files": [ - "src/front/shared/components/modals/DownloadModal/DownloadModal.tsx" - ] -}, -{ - "id": "PreventMultiTabs12", - "message": "سرویس ما فقط از یک برگه فعال پشتیبانی می‌کند. لطفاً برای ادامه استفاده از این برگه، این صفحه را دوباره بارگیری کنید یا آن را ببندید", - "files": [ - "src/front/shared/components/PreventMultiTabs/PreventMultiTabs.tsx" - ] -}, -{ - "id": "addOfferPartialTooltip", - "message": "درخواست‌های مبادله یا مبلغ {p} کمتر از کل مبلغی که می‌خواهید {p} بفروشد، دریافت خواهید کرد. به عنوان مثال می‌خواهید 1 بیت کوین بفروشید، سایر کاربران می‌توانند درخواست مبادله {p}برای 0.1، 0.5 بیت کوین برای شما ارسال کنند.", - "files": [ - "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" - ] -}, -{ - "id": "WTH275", - "message": "مطمئن شوید که کیف پولی که {br} در حال ارسال وجوه به آن هستید، پشتیبانی می‌کند {currency}", - "files": [ - "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx", - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", - "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" - ] -}, -{ - "id": "SaveKeys235", - "message": "اینها کلیدهای خصوصی شما هستند. کلیدها را با کلیک بر روی دکمه دانلود کنید یا از این صفحه اسکرین شات بگیرید، سپس آن را تایید کنید و اینجا را کلیک کنید", - "files": [ - "src/front/shared/components/SaveKeys/SaveKeys.tsx" - ] -}, -{ - "id": "orders156", - "message": "خرید {currency} اینجا", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" - ] -}, -{ - "id": "orders159", - "message": "{currency} پیشنهادات", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" - ] -}, -{ - "id": "WithdrawButton322", - "message": "شما نمی توانید این دارایی را ارسال کنید، زیرا موجودی صفر دارید.", - "files": [ - "src/front/shared/components/controls/WithdrawButton/BtnTooltip.tsx" - ] -}, -{ - "id": "CurrencyButton41", - "message": "این ارز دیجیتال را به کیف پول خود واریز کنید", - "files": [ - "src/front/shared/components/controls/CurrencyButton/CurrencyButton.tsx" - ] -}, -{ - "id": "CurrencyButton42", - "message": "شما نمی توانید این دارایی را ارسال کنید، زیرا موجودی صفر دارید.", - "files": [ - "src/front/shared/components/controls/CurrencyButton/CurrencyButton.tsx" - ] -}, -{ - "id": "Areyousure", - "message": "مطمئنی ?", - "files": [ - "src/front/shared/components/modals/SaveKeysModal/SaveKeysModal.tsx" - ] -}, -{ - "id": "SaveKeysModal_Title", - "message": "صادرات کلیدهای خصوصی", - "files": [ - "src/front/shared/components/modals/SaveKeysModal/SaveKeysModal.tsx" - ] -}, -{ - "id": "WithdrawIncorectAddress", - "message": "آدرس شما درست نیست", - "files": [ - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", - "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" - ] -}, -{ - "id": "Withdrow170", - "message": "حداکثر مبلغی که می توانید ارسال کنید است {allowedBalance} {currency}", - "files": [ - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx" - ] -}, -{ - "id": "ExchangeTitleTag1", - "message": "سریعترین تعویض زنجیره ای", - "files": [ - "src/front/shared/pages/Exchange/Promo/Promo.tsx" - ] -}, -{ - "id": "orders104", - "message": "کل", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" - ] -}, -{ - "id": "orders1381", - "message": "{buyCurrency} 🔁 {sellCurrency}", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" - ] -}, -{ - "id": "orders1382", - "message": "همه", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" - ] -}, -{ - "id": "currencyIcon15", - "message": "ارور", - "files": [ - "src/front/shared/components/ui/CurrencyIcon/CurrencyIcon.tsx" - ] -}, -{ - "id": "Withdrow213", - "message": "لطفا توجه داشته باشید: هزینه است {minAmount} {data}.{br}برای انجام تراکنش موجودی شما باید از این مبلغ بیشتر باشد.", - "files": [ - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", - "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" - ] -}, -{ - "id": "WithdrawModal256", - "message": "نه کمتر از {minAmount}", - "files": [ - "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" - ] -}, -{ - "id": "WithdrawModalErrorSend", - "message": "{errorName} {currency}:{br}{errorMessage}", - "files": [ - "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" - ] -}, -{ - "id": "RowHistory77", - "message": "پرداخت مجدد", - "files": [ - "src/front/shared/pages/History/SwapsHistory/RowHistory/RowHistory.tsx", - "src/front/shared/pages/Marketmaker/SwapRow.tsx" - ] -}, -{ - "id": "timer671", - "message": "{min} دقیقه برای بازپرداخت باقی مانده است", - "files": [ - "src/front/shared/pages/Swap/Timer/Timer.tsx" - ] -}, -{ - "id": "CurrencyWallet154", - "message": "Aکیف پول Atomic Swap به شما امکان می دهد تا تبادل ایمن و مدیریت کنید ${fullName} (${currency}) با 0% کارمزد بر اساس فناوری های Multi-Sig و Atomic Swap..", - "files": [ - "src/front/shared/pages/CurrencyWallet/CurrencyWallet.tsx" - ] -}, -{ - "id": "Orders121", - "message": "Atomic Swap {buyCurrencyFullName} ({buyCurrency}) to {sellCurrencyFullName} ({sellCurrency}) تبادل فوری", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" - ] -}, -{ - "id": "Orders127", - "message": "بهترین نرخ ارز برای {buyCurrencyFullName} ({buyCurrency}) to {sellCurrencyFullName} ({sellCurrency}). کیف پول wap.Online با استفاده از پروتکل سواپ اتمی تبادل فوری را فراهم می کند.", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" - ] -}, -{ - "id": "RowWallet276", - "message": "گره پایین است", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "ErrorNotification151", - "message": "Error: {error}", - "files": [ - "src/front/shared/components/notifications/ErrorNotification/ErrorNotification.tsx" - ] -}, -{ - "id": "deposit165", - "message": "برای ادامه مبادله این آدرس را کپی کرده و آن را شارژ کنید {missingBalance}", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" - ] -}, -{ - "id": "deposit297", - "message": "مشاهده در اکسپلورر", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" - ] -}, -{ - "id": "deposit177", - "message": "قرارداد را با مبلغی بیش از حد توصیه شده تکمیل نکنید. {br} باقی مانده به طرف مقابل ارسال خواهد شد. {br} شما می توانید بفرستید {tokenName} از کیف پول هر صرافی", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" - ] -}, -{ - "id": "deposit239", - "message": "تعویض پس از آن ادامه خواهد یافت {tokenName} قرارداد وجوه را دریافت می کند. {br} معمولا کمتر از 10 دقیقه طول می کشد", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" - ] -}, -{ - "id": "deposit198", - "message": "در انتظار پرداخت...", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" - ] -}, -{ - "id": "deposit198.1", - "message": "قرارداد اتریوم ایجاد کنید. \n لطفا صبر کنید، ممکن است چند دقیقه طول بکشد...", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" - ] -}, -{ - "id": "ReceiveModal50", - "message": "این مال شماست {currency} آدرس", - "files": [ - "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx" - ] -}, -{ - "id": "userTooltip43", - "message": "کاربر({reputation}) می خواهد تعویض کند", - "files": [ - "src/front/shared/components/Header/UserTooltip/UserTooltip.tsx" - ] -}, -{ - "id": "FeeControler48", - "message": "کپی شد", - "files": [ - "src/front/shared/pages/Swap/FeeControler/FeeControler.tsx" - ] -}, -{ - "id": "FeeControler49", - "message": "کپی", - "files": [ - "src/front/shared/components/modals/PrivateKeysModal/PrivateKeysModal.tsx", - "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", - "src/front/shared/pages/LocalStorage/LocalStorage.tsx", - "src/front/shared/pages/Swap/FeeControler/FeeControler.tsx" - ] -}, -{ - "id": "FeeControler68", - "message": "ETH کافی در موجودی شما برای کارمزد ماینر وجود ندارد.{br}{br} سپرده {gasAmountNeeded} ETH به حساب شما", - "files": [ - "src/front/shared/pages/Swap/FeeControler/FeeControler.tsx" - ] -}, -{ - "id": "FailControler68", - "message": "خطا در اجرای قرارداد توکن!{br}{br}شاید کمیسیون اضافی در طرف قرارداد وجود داشته باشد یا خطا به دلیل دیگری رخ داده است", - "files": [ - "src/front/shared/pages/Swap/FailControler/FailControler.tsx" - ] -}, -{ - "id": "BtcToEthToken123", - "message": "تعویض به پایان رسید!!", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/FourthStep.tsx" - ] -}, -{ - "id": "swapFinishedGoHome289", - "message": "راز را ارسال کنید", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" - ] -}, -{ - "id": "swapFinishedGoHome298", - "message": "همه چیز خوبه. ادامه هید رئال ربات", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" - ] -}, -{ - "id": "swapprogress254", - "message": "معامله بازپرداخت:", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" - ] -}, -{ - "id": "swapprogress270", - "message": "بازپرداخت را امتحان کنید", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" - ] -}, -{ - "id": "swapprogress271", - "message": "چند دقیقه دیگر دوباره امتحان کنید", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" - ] -}, -{ - "id": "swappropgress333", - "message": "بازپرداخت هگزا:", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" - ] -}, -{ - "id": "SwapStuck", - "message": "مبادله گیر کرده بود؟ سعی کنید ", - "files": [ - "src/front/shared/pages/Swap/Swap.tsx" - ] -}, -{ - "id": "SwapDebug", - "message": "اشکال زدایی کردن", - "files": [ - "src/front/shared/pages/Swap/Swap.tsx" - ] -}, -{ - "id": "SwapOr", - "message": " یا اینکه", - "files": [ - "src/front/shared/pages/Swap/Swap.tsx" - ] -}, -{ - "id": "SwapReload", - "message": "صفحه را بارگیری مجدد کنید", - "files": [ - "src/front/shared/pages/Swap/Swap.tsx" - ] -}, -{ - "id": "swappropgress193", - "message": "تراکنش ETH را امضا کنید: {transaction}", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" - ] -}, -{ - "id": "swappropgress207", - "message": "{transaction}", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" - ] -}, -{ - "id": "swappropgress218", - "message": "{transaction}", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" - ] -}, -{ - "id": "withdrowTitle271", - "message": "ارسال", - "files": [ - "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", - "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" - ] -}, -{ - "id": "PreventMultiTabsWidgetBuild", - "message": "{widgetName} تنها یک تب فعال را پشتیبانی می کند. لطفاً پنجره باز دیگر را ببندید و برای ادامه بازخوانی کنید.", - "files": [ - "src/front/shared/components/PreventMultiTabs/PreventMultiTabs.tsx" - ] -}, -{ - "id": "CurrencyWalletTitle", - "message": "Swap.Online - {fullName} ({currency}) کیف پول وب با Atomic Swap.", - "files": [ - "src/front/shared/pages/CurrencyWallet/CurrencyWallet.tsx" - ] -}, -{ - "id": "CurrencyWalletWidgetBuildTitle", - "message": "{fullName} ({currency}) کیف پول وب با تعویض اتمی.", - "files": [ - "src/front/shared/pages/CurrencyWallet/CurrencyWallet.tsx" - ] -}, -{ - "id": "deposit256", - "message": "آدرس از {tokenName} sقرارداد هوشمند", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" - ] -}, -{ - "id": "transaction444", - "message": "مبلغ فروش باید بیشتر از", - "files": [ - "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" - ] -}, -{ - "id": "transaction450", - "message": "مبلغ خرید باید بیشتر از", - "files": [ - "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" - ] -}, -{ - "id": "deposit300", - "message": "ذخیره شده {balance} / {need} {tooltip}", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" - ] -}, -{ - "id": "deposit320", - "message": "(included {mineerFee} {sellCurrency} miners fee)", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" - ] -}, -{ - "id": "BtcToEthToken24", - "message": "بازپرداخت", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/ABSteps/SecondStep.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/UTXOSteps/SecondStep.tsx" - ] -}, -{ - "id": "FourthStep52", - "message": "({otherCurrency} tx)", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/ABSteps/SecondStep.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/UTXOSteps/SecondStep.tsx" - ] -}, -{ - "id": "FourthStep34", - "message": "({sell} tx)", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/ABSteps/ThirdStep.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/UTXOSteps/ThirdStep.tsx" - ] -}, -{ - "id": "thirdStep24", - "message": "کنار کشیدن", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/ABSteps/ThirdStep.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/UTXOSteps/ThirdStep.tsx" - ] -}, -{ - "id": "confirmDialogDefaultMessage", - "message": "اقدام در این سایت را تایید کنید?", - "files": [ - "src/front/shared/components/modals/Confirm/Confirm.tsx", - "src/front/shared/components/modals/ConfirmBeginSwap/ConfirmBeginSwap.tsx" - ] -}, -{ - "id": "confirmDialogDefaultNo", - "message": "خیر", - "files": [ - "src/front/shared/components/modals/Confirm/Confirm.tsx", - "src/front/shared/components/modals/ConfirmBeginSwap/ConfirmBeginSwap.tsx" - ] -}, -{ - "id": "confirmDialogDefaultTitle", - "message": "اقدام را تایید کنید", - "files": [ - "src/front/shared/components/LimitOrders/OrderPurchaseModal.tsx", - "src/front/shared/components/modals/Confirm/Confirm.tsx", - "src/front/shared/components/modals/ConfirmBeginSwap/ConfirmBeginSwap.tsx" - ] -}, -{ - "id": "confirmDialogDefaultYes", - "message": "بله", - "files": [ - "src/front/shared/components/modals/Confirm/Confirm.tsx", - "src/front/shared/components/modals/ConfirmBeginSwap/ConfirmBeginSwap.tsx" - ] -}, -{ - "id": "orders94s", - "message": "آیا مطمئن هستید که می خواهید سفارش را حذف کنید؟?", - "files": [ - "src/front/shared/components/LimitOrders/index.tsx", - "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" - ] -}, -{ - "id": "ordersRow101", - "message": "خرید", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" - ] -}, -{ - "id": "ordersRow134", - "message": "آیا شما می خواهید {action} {amount} {main} برای {total} {base} این مبلغ {price} {main}/{base}?", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" - ] -}, -{ - "id": "ordersRow97", - "message": "فروش", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" - ] -}, -{ - "id": "deposit165widget", - "message": "آدرس زیر را کپی کرده و مقدار توصیه شده را تکمیل کنید {missingBalance}", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" - ] -}, -{ - "id": "userTooltip71", - "message": "به صفحه خوراک بروید", - "files": [ - "src/front/shared/components/Header/UserTooltip/UserTooltip.tsx" - ] -}, -{ - "id": "decline21", - "message": "سفارشات رد شده!", - "files": [ - "src/front/shared/components/modals/DeclineOrdersModal/DeclineOrdersModal.tsx" - ] -}, -{ - "id": "decline43", - "message": "متأسفیم، اما شما نمی توانید شروع کنید تا زمانی که مبادلات زودتر شروع شده را کامل نکنید", - "files": [ - "src/front/shared/components/modals/DeclineOrdersModal/DeclineOrdersModal.tsx" - ] -}, -{ - "id": "decline49", - "message": "تعویض ناقص خود را ببینید", - "files": [ - "src/front/shared/components/modals/DeclineOrdersModal/DeclineOrdersModal.tsx" - ] -}, -{ - "id": "Incompleted21", - "message": "مبادله های ناتمام", - "files": [ - "src/front/shared/components/modals/IncompletedSwaps/IncompletedSwaps.tsx" - ] -}, -{ - "id": "IncompletedSwaps49", - "message": "مبادله هایی که باید تکمیل شوند", - "files": [ - "src/front/shared/components/modals/IncompletedSwaps/IncompletedSwaps.tsx" - ] -}, -{ - "id": "swappropgress327", - "message": "این مبادله لغو شده است", - "files": [ - "src/front/shared/pages/Swap/Swap.tsx" - ] -}, -{ - "id": "swappropgress400", - "message": "بازپرداخت به صورت خودکار انجام می شود", - "files": [ - "src/front/shared/pages/Swap/Swap.tsx" - ] -}, -{ - "id": "swapprogressDONTLEAVE", - "message": "لطفا این صفحه را ترک نکنید", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/PleaseDontLeaveWrapper.tsx" - ] -}, -{ - "id": "swapjsdontleave", - "message": "تبادل نیاز به امضا با کلیدهای خصوصی دارد که فقط مرورگر شما می داند.", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/PleaseDontLeaveWrapper.tsx" - ] -}, -{ - "id": "Confirmation14", - "message": "تایید", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/FirstStep.tsx" - ] -}, -{ - "id": "swappropgress192", - "message": "چگونه پول خود را بازپرداخت کنید ?", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" - ] -}, -{ - "id": "IncompletedSwaps55", - "message": "داده پردازش شد، سعی کنید صفحه را دوباره بارگیری کنید", - "files": [ - "src/front/shared/components/modals/IncompletedSwaps/IncompletedSwaps.tsx" - ] -}, -{ - "id": "select75", - "message": "موجود برای معاوضه: {availableBalance} {tooltip}", - "files": [ - "src/front/shared/components/SelectGroup/index.tsx" - ] -}, -{ - "id": "selected53", - "message": "می توانید از یک کیف پول خارجی برای انجام مبادله استفاده کنید", - "files": [ - "src/front/shared/components/SelectGroup/index.tsx" - ] -}, -{ - "id": "SecondStep", - "message": "در این مرحله، رمز ارز به کیف پول شما نمی رود {br} یا به کیف پول طرف مقابل خود اما مستقیماً به قرارداد مبادله", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/ABSteps/SecondStep.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/UTXOSteps/SecondStep.tsx" - ] -}, -{ - "id": "thirdStep", - "message": "در این مرحله رمزارز از آن منتقل می شود {br}قرارداد به کیف پول شما و به کیف پول {br} طرف مقابل شما {br}", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/ABSteps/ThirdStep.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/UTXOSteps/ThirdStep.tsx" - ] -}, -{ - "id": "CustomWalletIsNotCorrect", - "message": "آدرس کیف پول نادرست است", - "files": [ - "src/front/shared/components/modals/ConfirmBeginSwap/ConfirmBeginSwap.tsx" - ] -}, -{ - "id": "multiSignJoinLink", - "message": "کیف پول BTC-Multisign بسازید", - "files": [ - "src/front/shared/components/modals/MultisignJoinLink/MultisignJoinLink.tsx" - ] -}, -{ - "id": "multiSignJoinLinkMessage", - "message": "این لینک را برای صاحب دوم کیف پول ارسال کنید", - "files": [ - "src/front/shared/components/modals/MultisignJoinLink/MultisignJoinLink.tsx" - ] -}, -{ - "id": "Select23", - "message": "25%", - "files": [ - "src/front/shared/components/modals/OfferModal/AddOffer/Select/Select.tsx" - ] -}, -{ - "id": "Select25", - "message": "50%", - "files": [ - "src/front/shared/components/modals/OfferModal/AddOffer/Select/Select.tsx" - ] -}, -{ - "id": "Select30", - "message": "75%", - "files": [ - "src/front/shared/components/modals/OfferModal/AddOffer/Select/Select.tsx" - ] -}, -{ - "id": "Select40", - "message": "100%", - "files": [ - "src/front/shared/components/modals/OfferModal/AddOffer/Select/Select.tsx" - ] -}, -{ - "id": "BTCMS_WithdrawRequest", - "message": "درخواست برداشت از کیف پول BTC-multisign", - "files": [ - "src/front/shared/components/notifications/BTCMultisignRequest/BTCMultisignRequest.tsx" - ] -}, -{ - "id": "BTCMS_WithdrawRequestInfo", - "message": "ارسال{amount} {currency} به والت {address}", - "files": [ - "src/front/shared/components/notifications/BTCMultisignRequest/BTCMultisignRequest.tsx" - ] -}, -{ - "id": "PreventMultiTabsSwitchApp", - "message": "برگه های دیگر را ببندید و در اینجا ادامه دهید", - "files": [ - "src/front/shared/components/PreventMultiTabs/PreventMultiTabs.tsx" - ] -}, -{ - "id": "createWalletHeader1", - "message": "یک کیف پول ایجاد کنید", - "files": [ - "src/front/shared/pages/CreateWallet/CreateWallet.tsx" - ] -}, -{ - "id": "createWalletButton1", - "message": "ادامه", - "files": [ - "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", - "src/front/shared/pages/CreateWallet/Steps/FirstStep.tsx" - ] -}, -{ - "id": "createWalletCapture1", - "message": "از بین بیت کوین، اتریوم، سوآپ، توکن ها انتخاب کنید", - "files": [ - "src/front/shared/pages/CreateWallet/Steps/texts.tsx" - ] -}, -{ - "id": "createWalletCapture2", - "message": "بدون امنیت، پیامک، google auth، multisig", - "files": [ - "src/front/shared/pages/CreateWallet/Steps/texts.tsx" - ] -}, -{ - "id": "createWalletSubHeader1", - "message": "ارز کیف پول خود را انتخاب کنید", - "files": [ - "src/front/shared/pages/CreateWallet/Steps/texts.tsx" - ] -}, -{ - "id": "createWalletSubHeader2", - "message": "سطح امنیتی کیف پول خود را انتخاب کنید", - "files": [ - "src/front/shared/pages/CreateWallet/Steps/texts.tsx" - ] -}, -{ - "id": "createWalletActivated", - "message": "فعال شد!", - "files": [ - "src/front/shared/pages/CreateWallet/Steps/SecondStep.tsx" - ] -}, -{ - "id": "createWalletButton3", - "message": "ایجاد کیف پول", - "files": [ - "src/front/shared/pages/CreateWallet/Steps/SecondStep.tsx" - ] -}, -{ - "id": "createWalletSoon", - "message": "بزودی!", - "files": [ - "src/front/shared/pages/CreateWallet/Steps/SecondStep.tsx" - ] -}, -{ - "id": "HowItWorks18", - "message": "1. ارز دیجیتال و مقدار آن را انتخاب کنید.", - "files": [ - "src/front/shared/pages/Exchange/HowItWorks/HowItWorks.tsx" - ] -}, -{ - "id": "HowItWorks21", - "message": "ارز دیجیتالی را که در اختیار دارید در هر کیف پول خارجی، صرافی یا کیف پول Swap Online انتخاب کنید.", - "files": [ - "src/front/shared/pages/Exchange/HowItWorks/HowItWorks.tsx" - ] -}, -{ - "id": "HowItWorks26", - "message": "2. روی «تبادل» کلیک کنید”", - "files": [ - "src/front/shared/pages/Exchange/HowItWorks/HowItWorks.tsx" - ] -}, -{ - "id": "HowItWorks29", - "message": "در صورت یافتن سفارش مناسب و تایید فروشنده مبادله، شما به صفحه مبادله هدایت می شوید", - "files": [ - "src/front/shared/pages/Exchange/HowItWorks/HowItWorks.tsx" - ] -}, -{ - "id": "HowItWorks34", - "message": "3. سپرده گذاری در ارزهای دیجیتال انجام دهید", - "files": [ - "src/front/shared/pages/Exchange/HowItWorks/HowItWorks.tsx" - ] -}, -{ - "id": "HowItWorks37", - "message": "در صورتی که مبلغ مورد نیاز در کیف پول داخلی شما موجود باشد، واریز به صورت خودکار انجام می شود.", - "files": [ - "src/front/shared/pages/Exchange/HowItWorks/HowItWorks.tsx" - ] -}, -{ - "id": "HowItWorks42", - "message": "4. تکمیل مبادله را تأیید کنید.", - "files": [ - "src/front/shared/pages/Exchange/HowItWorks/HowItWorks.tsx" - ] -}, -{ - "id": "HowItWorks45", - "message": "تبادل معمولا حدود یک دقیقه طول می کشد. در پایان مبادله، txid را می بینید و می توانید تکمیل انتقال را در پایان خود تأیید کنید.", - "files": [ - "src/front/shared/pages/Exchange/HowItWorks/HowItWorks.tsx" - ] -}, -{ - "id": "Quote", - "message": "پروژه swap.online مبادلات بین بیت‌کوین‌مانند، اتریوم‌مانند را محقق می‌کند و محصولی را برای کاربران برای اجرای مبادلات ایجاد می‌کند.", - "files": [ - "src/front/shared/pages/Exchange/Quote/index.tsx" - ] -}, -{ - "id": "swapjsdontleavesavesecret", - "message": "اگر می خواهید این صفحه را ترک کنید، لطفا راز را ذخیره کنید.", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/PleaseDontLeaveWrapper.tsx" - ] -}, -{ - "id": "swapprogressDONTLEAVEBTC", - "message": "یا قبل از ترک این راز را ذخیره کنید:", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/PleaseDontLeaveWrapper.tsx" - ] -}, -{ - "id": "timerSwapIsCancelled", - "message": "تعویض به دلیل وقفه لغو شد", - "files": [ - "src/front/shared/pages/Swap/Timer/Timer.tsx" - ] -}, -{ - "id": "timerTimeToCancel", - "message": "شما {min} دقیقه برای پرداخت فرصت دارید", - "files": [ - "src/front/shared/pages/Swap/Timer/Timer.tsx" - ] -}, -{ - "id": "WithdrawMSUserFinish", - "message": "اماده", - "files": [ - "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", - "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", - "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" - ] -}, -{ - "id": "WithdrawMSUserMessage", - "message": "این پیوند را برای صاحب کیف پول دیگر ارسال کنید", - "files": [ - "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", - "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" - ] -}, -{ - "id": "WithdrawMSUserReady", - "message": "پیوند تایید TX", - "files": [ - "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", - "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" - ] -}, -{ - "id": "BTCMS_ConfirmTxGoToWallet", - "message": "برو به کیف پولت", - "files": [ - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "BTCMS_ConfirmTxInputs", - "message": "ورودی های تراکنش", - "files": [ - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "BTCMS_ConfirmTxOutputs", - "message": "خروجی های تراکنش", - "files": [ - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "BTCMS_ConfirmTxReady", - "message": "تراکنش امضا شده و به بلاک چین ارسال می شود", - "files": [ - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "BTCMS_ConfirmTxSign", - "message": "معامله را امضا کنید", - "files": [ - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "BTCMS_ConfirmTxTitle", - "message": "تایید معامله", - "files": [ - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "BTCMS_CreateWalletAdd", - "message": "این کیف پول را اضافه کنید", - "files": [ - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "BTCMS_CreateWalletLoading_descroptio", - "message": "وجوه ارسال شده به این کیف پول را نمی توان بدون تأیید شما خرج کرد (لطفاً عبارت عبور 12 کلمه ای خصوصی خود را ذخیره کنید)", - "files": [ - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "BTCMS_CreateWalletLinkReady", - "message": "کیف پول ایجاد می شود. این پیوند را برای تایید به مالک دوم ارسال کنید.", - "files": [ - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "BTCMS_CreateWalletLoading", - "message": "در حال بارگزاری لطفا منتظر بمانید", - "files": [ - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "BTCMS_CreateWalletReady", - "message": "کیف پول آماده است", - "files": [ - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "BTCMS_CreateWalletReadyButton", - "message": "آماده. کیف پول را باز کنید", - "files": [ - "src/front/shared/components/modals/MultisignJoinLink/MultisignJoinLink.tsx", - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "BTCMS_CreateWalletTitle", - "message": "کیف پول چند امضایی BTC ایجاد کنید", - "files": [ - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "BTCMS_CreateWalletWait", - "message": "در حال ایجاد کیف پول... لطفاً صبر کنید", - "files": [ - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "BTCMS_WaitOtherSide", - "message": "منتظر طرف مقابل", - "files": [ - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "BTCMS_WalletAddress", - "message": "آدرس کیف پول:", - "files": [ - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "BTCMS_WalletBalance", - "message": "موجودی کیف پول", - "files": [ - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "deposit312", - "message": "کپی", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" - ] -}, -{ - "id": "swapProgressGoToTxPage", - "message": "TX را در اکسپلورر مشاهده کنید", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" - ] -}, -{ - "id": "swapProgressGoToWallet", - "message": "تعادل را بررسی کنید", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx", - "src/front/shared/pages/TurboSwap/TurboSwap.tsx" - ] -}, -{ - "id": "walletMultisignNotJoined", - "message": "ملحق نشده است", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "Withdrow2223", - "message": "کد پیامکی" -}, -{ - "id": "Withdrow2224", - "message": "تایید" -}, -{ - "id": "partial-tour-2", - "message": "در این قسمت ارز را انتخاب کنید و مبلغی را که می خواهید بفروشید وارد کنید. شما همچنین می توانید ارز را از یک کیف پول خارجی بفروشید.", - "files": [ - "src/front/shared/components/Header/TourPartial/TourPartial.tsx" - ] -}, -{ - "id": "partial-tour-3", - "message": "در این قسمت ارز را انتخاب کنید و مبلغ مورد نظر خود را برای خرید وارد کنید.", - "files": [ - "src/front/shared/components/Header/TourPartial/TourPartial.tsx" - ] -}, -{ - "id": "partial-tour-4", - "message": "در اینجا می توانید وضعیت جستجوی پیشنهادات مبادله ای را مشاهده کنید. هنگام بارگیری، 'جستجوی سفارشات...' را خواهید دید. پس از یافتن سفارش، نرخ ارز را اینجا بررسی کنید.", - "files": [ - "src/front/shared/components/Header/TourPartial/TourPartial.tsx" - ] -}, -{ - "id": "partial-tour-5", - "message": "این دکمه را برای دریافت وجه پس از تبادل به کیف پول داخلی Swap.online یا هر کیف پول دیگری تغییر دهید.", - "files": [ - "src/front/shared/components/Header/TourPartial/TourPartial.tsx" - ] -}, -{ - "id": "partial-tour-6", - "message": "برای مشاهده URL مستقیم تراکنش، این دکمه را تغییر دهید. زمانی که دکمه صورتی باشد در دسترس است.", - "files": [ - "src/front/shared/components/Header/TourPartial/TourPartial.tsx" - ] -}, -{ - "id": "partial-tour-7", - "message": "این دکمه را فشار دهید تا صفحه Order Book را ببینید. سفارشات برای ارزهای خاص نشان داده خواهد شد. شما همچنین می توانید سفارش خود را در صفحه کتاب سفارش ایجاد کنید.", - "files": [ - "src/front/shared/components/Header/TourPartial/TourPartial.tsx" - ] -}, -{ - "id": "tour-step-1", - "message": "موجودی ارز انتخابی در انتهای فیلد مقابل واحد پول نشان داده شده است. می توانید مرورگر را ببندید و رایانه خود را دوباره بارگیری کنید. موجودی شما ثابت خواهد ماند. لطفا فراموش نکنید که کلیدهای خود را ذخیره کنید,", - "files": [ - "src/front/shared/components/Header/WalletTour/WalletTour.tsx" - ] -}, -{ - "id": "tour-step-1.1", - "message": "کل موجودی شما", - "files": [ - "src/front/shared/components/Header/WalletTour/WalletTour.tsx" - ] -}, -{ - "id": "tour-step-1.2", - "message": "با فشار دادن دکمه می توانید موجودی خود را پر کنید", - "files": [ - "src/front/shared/components/Header/WalletTour/WalletTour.tsx" - ] -}, -{ - "id": "tour-step-2", - "message": "می توانید ارزهای بلاک چین های مختلف مانند بیت کوین، اتریوم، بیت کوین کش، لایت کوین و سایر توکن ها را ذخیره کنید.", - "files": [ - "src/front/shared/components/Header/WalletTour/WalletTour.tsx" - ] -}, -{ - "id": "tour-step-3", - "message": "مبادلات همتا به همتای منحصر به فرد ما در کیف پول ما موجود است که بر اساس فناوری سواپ اتمی ساخته شده است. شما می توانید ارز دیجیتال خود را در کیف پول ما لیست کنید.", - "files": [ - "src/front/shared/components/Header/WalletTour/WalletTour.tsx" - ] -}, -{ - "id": "tour-step-4", - "message": "اعلان‌هایی درباره به‌روزرسانی‌های حساب خود (سفارش‌ها، تراکنش‌ها) و اخبار ماهانه درباره پروژه ما دریافت خواهید کرد", - "files": [ - "src/front/shared/components/Header/WalletTour/WalletTour.tsx" - ] -}, -{ - "id": "alertDialogDefaultMessage", - "message": "ما به شما اطلاع می دهیم", - "files": [ - "src/front/shared/components/modals/Alert/AlertModal.tsx" - ] -}, -{ - "id": "alertDialogDefaultOk", - "message": "خوب", - "files": [ - "src/front/shared/components/modals/Alert/AlertModal.tsx" - ] -}, -{ - "id": "alertDialogDefaultTitle", - "message": "اطلاعات", - "files": [ - "src/front/shared/components/modals/Alert/AlertModal.tsx" - ] -}, -{ - "id": "FeeInfoBlockChooseFeeRate", - "message": "نرخ کارمزد را انتخاب کنید:", - "files": [ - "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/index.tsx" - ] -}, -{ - "id": "InvoiceLinkCopied", - "message": "لینک کپی شد", - "files": [ - "src/front/shared/components/modals/InvoiceLinkModal/InvoiceLinkModal.tsx", - "src/front/shared/components/modals/Share/Share.tsx" - ] -}, -{ - "id": "InvoiceLinkCopy", - "message": "این لینک را کپی کنید", - "files": [ - "src/front/shared/components/modals/InvoiceLinkModal/InvoiceLinkModal.tsx" - ] -}, -{ - "id": "InvoiceLinkModalInfo", - "message": "اینم لینک فاکتور.", - "files": [ - "src/front/shared/components/modals/InvoiceLinkModal/InvoiceLinkModal.tsx" - ] -}, -{ - "id": "WithdrawModalCancelBtn", - "message": "لغو کردن", - "files": [ - "src/front/shared/components/LimitOrders/OrderPurchaseModal.tsx", - "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx", - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", - "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" - ] -}, -{ - "id": "InvoiceLinkModal_Title", - "message": "لینک فاکتور", - "files": [ - "src/front/shared/components/modals/InvoiceLinkModal/InvoiceLinkModal.tsx" - ] -}, -{ - "id": "InfoPay_2", - "message": "منتقل شد به", - "files": [ - "src/front/shared/pages/Transaction/TxInfo/index.tsx" - ] -}, -{ - "id": "InfoPay_3", - "message": "شناسه تراکنش", - "files": [ - "src/front/shared/pages/Transaction/TxInfo/index.tsx" - ] -}, -{ - "id": "InfoPay_4", - "message": "برآورد زمان تایید", - "files": [ - "src/front/shared/pages/Transaction/TxInfo/index.tsx" - ] -}, -{ - "id": "createWalletCaptureOthers", - "message": "یا سایر ارزها" -}, -{ - "id": "invoiceModal_Contact", - "message": "مخاطب شما (ایمیل یا نام مستعار@)", - "files": [ - "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" - ] -}, -{ - "id": "invoiceModal_Address", - "message": "چه کسی پرداخت می کند (نه شما)", - "files": [ - "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" - ] -}, -{ - "id": "invoiceModal_Error", - "message": "{errorName} {currency}:{br}{errorMessage}", - "files": [ - "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" - ] -}, -{ - "id": "invoiceModal_IncorrectAddress", - "message": "آدرس اشتباه", - "files": [ - "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" - ] -}, -{ - "id": "invoiceModal_Label", - "message": "نظرات", - "files": [ - "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" - ] -}, -{ - "id": "invoiceModal_Processing", - "message": "پردازش...", - "files": [ - "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" - ] -}, -{ - "id": "invoiceModal_Submit", - "message": "فاکتور را ارسال کنید", - "files": [ - "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" - ] -}, -{ - "id": "invoiceModal_Title", - "message": "فاکتور برای واریز", - "files": [ - "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" - ] -}, -{ - "id": "invoiceModal_addressPlaceholder", - "message": "Enter {currency} wallet address", - "files": [ - "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" - ] -}, -{ - "id": "invoiceModal_amountPlaceholder", - "message": "مقدار را وارد کنید", - "files": [ - "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" - ] -}, -{ - "id": "invoiceModal_destiAddress", - "message": "آدرس محل ارسال پرداخت", - "files": [ - "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" - ] -}, -{ - "id": "invoiceModal_destiAddressPlaceholder", - "message": "Enter {currency} wallet address", - "files": [ - "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" - ] -}, -{ - "id": "invoiceModal_labelPlaceholder", - "message": "نظرات برای فاکتور", - "files": [ - "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" - ] -}, -{ - "id": "WithdrawModalInvoiceSaveTx", - "message": "علامت گذاری به عنوان پرداخت شده", - "files": [ - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", - "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" - ] -}, -{ - "id": "WithdrowOwnTX", - "message": "یا لینک تراکنش را وارد کنید (txid)", - "files": [ - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", - "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" - ] -}, -{ - "id": "withdrawOwnTxPlaceholder", - "message": "اگر از منبع دیگری پرداخت شود", - "files": [ - "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", - "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" - ] -}, -{ - "id": "RowHistoryCancelInvoice", - "message": "کاهش", - "files": [ - "src/front/shared/pages/Exchange/Orders/MyOrders/RowFeeds/RowFeeds.tsx", - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "RowHistoryInvoce", - "message": "فاکتور #{number}", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "RowHistoryInvoiceAddress", - "message": "آدرس پرداخت:", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "RowHistoryInvoiceCancelled", - "message": "رد کردن", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "RowHistoryInvoicePayed", - "message": "پرداخت شده", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "RowHistoryPayInvoice", - "message": "پرداخت", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "WalletRow_Action_Hidden", - "message": "کیف پول مخفی است", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "WalletRow_Action_HideNonZero_Message", - "message": "این کیف پول دارای تراز مثبت است. شما نمی توانید آن را پنهان کنید.", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "WalletRow_Menu_ActivateSMSProtected", - "message": "فعال کردن" -}, -{ - "id": "WalletRow_Menu_BTCMS_GenerateJoinLink", - "message": "ایجاد لینک عضویت", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "WalletRow_Menu_Deposit", - "message": "سپرده", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "WalletRow_Menu_Hide", - "message": "مخفی", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "WalletRow_Menu_History", - "message": "تاریخچه", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "WalletRow_Menu_Invoice", - "message": "فاکتور", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "WalletRow_Menu_InvoiceLink", - "message": "لینک فاکتور را دریافت کنید", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "WalletRow_Menu_Send", - "message": "ارسال", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "WalletRow_Menu_Сopy", - "message": "کپی آدرس", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "WalletRow_Menu_Сopy_PrivateKey", - "message": "کپی کلید خصوصی", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "currencyAction81", - "message": "لطفا ارز مورد نظر خود را انتخاب کنید {context}", - "files": [ - "src/front/shared/components/modals/CurrencyAction/CurrencyAction.tsx" - ] -}, -{ - "id": "back", - "message": "برگشت", - "files": [ - "src/front/shared/components/TourWindow/index.tsx", - "src/front/shared/components/modals/OfferModal/ConfirmOffer/ConfirmOffer.tsx" - ] -}, -{ - "id": "closeTourWindow", - "message": "بستن", - "files": [ - "src/front/shared/components/TourWindow/index.tsx" - ] -}, -{ - "id": "nextTourWindow", - "message": "بعدی", - "files": [ - "src/front/shared/components/TourWindow/index.tsx" - ] -}, -{ - "id": "skip", - "message": "پریدن", - "files": [ - "src/front/shared/components/TourWindow/index.tsx" - ] -}, -{ - "id": "continueDeclined977", - "message": "به مبادلات خود ادامه دهید", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "chooseCorrectNetwork", - "message": "لطفا کیف پول متصل را باز کنید و انتخاب کنید {br}{chainName}", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "switchToCorrectNetwork", - "message": "تغییر به {br}{chainName}", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "Yourtotalbalance", - "message": "کل موجودی شما", - "files": [ - "src/front/shared/components/BalanceForm/BalanceForm.tsx" - ] -}, -{ - "id": "YourtotalbalanceDeposit", - "message": "سپرده", - "files": [ - "src/front/shared/components/BalanceForm/BalanceForm.tsx" - ] -}, -{ - "id": "YourtotalbalanceSend", - "message": "ارسال", - "files": [ - "src/front/shared/components/BalanceForm/BalanceForm.tsx" - ] -}, -{ - "id": "YourAssets", - "message": "دارایی های شما", - "files": [ - "src/front/shared/pages/Wallet/CurrenciesList.tsx" - ] -}, -{ - "id": "ForYou", - "message": "برای شما", - "files": [ - "src/front/shared/pages/Wallet/WallerSlider/index.tsx" - ] -}, -{ - "id": "YourAssetsDescription", - "message": "در اینجا می توانید با خیال راحت دارایی ها را ذخیره، ارسال و دریافت کنید", - "files": [ - "src/front/shared/pages/Wallet/CurrenciesList.tsx" - ] -}, -{ - "id": "addAsset", - "message": "ارز اضافه کنید", - "files": [ - "src/front/shared/pages/Wallet/CurrenciesList.tsx" - ] -}, -{ - "id": "addCustomToken", - "message": "توکن سفارشی اضافه کنید", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/InputForm.tsx", - "src/front/shared/pages/Wallet/CurrenciesList.tsx" - ] -}, -{ - "id": "MybalanceswalletNav", - "message": "کیف پول من", - "files": [ - "src/front/shared/pages/Invoices/InvoicesList/index.tsx" - ] -}, -{ - "id": "InvoiceInfoBlockOpenDesktopApp", - "message": "از یک کیف پول خارجی پرداخت کنید", - "files": [ - "src/front/shared/components/InvoiceInfoBlock/InvoiceInfoBlock.tsx" - ] -}, -{ - "id": "InvoiceInfoBlockTitle", - "message": "پرداخت فاکتور #{id}-{invoiceNumber}", - "files": [ - "src/front/shared/components/InvoiceInfoBlock/InvoiceInfoBlock.tsx" - ] -}, -{ - "id": "customTokenAddress", - "message": "آدرس رمزی", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "customTokenConfirm", - "message": "این نشانه را اضافه کنید", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "customTokenIncorrectAddress", - "message": "آدرس نامعتبر", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "NextId", - "message": "بعدی", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "customTokenNotFound", - "message": "این نیست {standard} آدرس", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "customTokenAdded", - "message": "ارز با موفقیت اضافه شد", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "customERC20_Title", - "message": "اضافه کردن ارز جدید", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "DecimalsId", - "message": "اعداد اعشاری", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "SymbolId", - "message": "نماد", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "TitleId", - "message": "عنوان", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "customERC20_addressPlaceholder", - "message": "آدرس رمز را وارد کنید", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "customERC20_searchPlaceholder", - "message": "نام یا نماد رمز را وارد کنید", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "addByAddress", - "message": "توسط آدرس", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "addBySearch", - "message": "توسط جستجو", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "selectedTokenTitle", - "message": "رمز ارز", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "selectedAssetHaveNotChains", - "message": "این دارایی هیچ آدرس رمزی در شبکه های پشتیبانی شده ندارد", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "noSearchingResult", - "message": "نتیجه ای برای {searchQuery}", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "invoiceModal_contactPlaceholder", - "message": "ضروری", - "files": [ - "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" - ] -}, -{ - "id": "HistoryRowInvoiceStatusNew", - "message": "مدتی", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "btcmsSwitchFetchWalletsData", - "message": "گیرنده...", - "files": [ - "src/front/shared/components/modals/BtcMultisignSwitch/BtcMultisignSwitch.tsx" - ] -}, -{ - "id": "btcmsSwitchFetchWalletsEmpty", - "message": "شما کیف پول BTC-Multisign ندارید", - "files": [ - "src/front/shared/components/modals/BtcMultisignSwitch/BtcMultisignSwitch.tsx" - ] -}, -{ - "id": "btcmsSwitchTitle", - "message": "کیف پول های BTC-Multisign متصل", - "files": [ - "src/front/shared/components/modals/BtcMultisignSwitch/BtcMultisignSwitch.tsx" - ] -}, -{ - "id": "SwitchBtcMultisigMenuRemove", - "message": "حذف", - "files": [ - "src/front/shared/components/modals/BtcMultisignSwitch/WalletRow.tsx" - ] -}, -{ - "id": "SwitchBtcMultisigMenuSwitch", - "message": "تعویض", - "files": [ - "src/front/shared/components/modals/BtcMultisignSwitch/WalletRow.tsx" - ] -}, -{ - "id": "ShareModal1", - "message": "لینک را کپی کنید", - "files": [ - "src/front/shared/components/modals/Share/Share.tsx" - ] -}, -{ - "id": "WalletRow_Menu_BTCMS_SwitchMenu", - "message": "کیف پول را تغییر دهید", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "RequestPayment", - "message": "درخواست پرداخت", - "files": [ - "src/front/shared/components/BalanceForm/BalanceForm.tsx" - ] -}, -{ - "id": "ControlShareLink_CopyLink", - "message": "لینک را کپی کنید", - "files": [ - "src/front/shared/components/controls/ShareLink/ShareLink.tsx" - ] -}, -{ - "id": "ControlShareLink_LinkCopied", - "message": "لینک کپی شد", - "files": [ - "src/front/shared/components/controls/ShareLink/ShareLink.tsx" - ] -}, -{ - "id": "multiSignConfirmTxModal_ConfirmTx", - "message": "تایید کردن", - "files": [ - "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx" - ] -}, -{ - "id": "multiSignConfirmTxModal_DismatchTx", - "message": "رد کردن", - "files": [ - "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx" - ] -}, -{ - "id": "multiSignConfirmTxModal_NoticeFetching", - "message": "بارگیری...", - "files": [ - "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx" - ] -}, -{ - "id": "multiSignConfirmTxModal_Title", - "message": "تایید تراکنش BTC Multisig", - "files": [ - "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx" - ] -}, -{ - "id": "multiSignConfirmTxModal_UpNotice", - "message": "معامله را بررسی کرده و آن را تایید کنید. اگر مخالف لغو هستید، معامله را رد کنید", - "files": [ - "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx" - ] -}, -{ - "id": "registerSMSMPlaceHolder", - "message": "عبارت مخفی (12 کلمه)", - "files": [ - "src/front/shared/components/Header/Header.tsx" - ] -}, -{ - "id": "WithdrawSMS_BroadcastError", - "message": "تراکنش پخش ناموفق({errorText})" -}, -{ - "id": "WithdrawSMS_FailSignByMnemonic", - "message": "معامله علامت شکست" -}, -{ - "id": "WithdrawSMS_NotValidMnemonic", - "message": "عبارت مخفی معتبر نیست" -}, -{ - "id": "WithdrawSMS_WrongMnemonic", - "message": "عبارت مخفی معتبر نیست" -}, -{ - "id": "BtcMultisignConfirmTx_FromAddress", - "message": "پرداخت از کیف پول", - "files": [ - "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx" - ] -}, -{ - "id": "multiSignConfirmTxModal_GoToWalletPage", - "message": "باز کردن کیف پول", - "files": [ - "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx" - ] -}, -{ - "id": "multiSignConfirmTxModal_YouCantSignThisTx", - "message": "شما اجازه امضای این تراکنش را ندارید (بررسی کنید که یک multisig ایجاد کرده اید)", - "files": [ - "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx" - ] -}, -{ - "id": "SaveMnemonicModal_EnterNotice", - "message": "روی کلمات کلیک کنید تا آنها را به ترتیب صحیح قرار دهید", - "files": [ - "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" - ] -}, -{ - "id": "SaveMnemonicModal_MnemoniceDeleted", - "message": "شما قبلاً بذر 12 کلمه ای خود را ذخیره کرده اید. {href}", - "files": [ - "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" - ] -}, -{ - "id": "SaveMnemonicModal_ReadySaveNotice", - "message": "کاغذ را در جایی نگه دارید که فراموش نکنید", - "files": [ - "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" - ] -}, -{ - "id": "SaveMnemonicModal_SaveMnemonicStep1", - "message": "1. عبارت را روی کاغذ بنویسید", - "files": [ - "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" - ] -}, -{ - "id": "SaveMnemonicModal_SaveMnemonicStep2", - "message": "2. حتما امضا کنید که این کلید است {domain}", - "files": [ - "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" - ] -}, -{ - "id": "SaveMnemonicModal_ShareMnemonicTitle", - "message": "عبارت مخفی شما", - "files": [ - "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" - ] -}, -{ - "id": "SaveMnemonicModal_ShowMnemonicNotice", - "message": "این کلمات را به ترتیب صحیح بنویسید و در جای امنی نگهداری کنید.", - "files": [ - "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" - ] -}, -{ - "id": "SaveMnemonicModal_Title", - "message": "عبارت مخفی شما", - "files": [ - "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" - ] -}, -{ - "id": "SaveMnemonicModal_BeginContinue", - "message": "من میفهمم", - "files": [ - "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" - ] -}, -{ - "id": "SaveMnemonicModal_BeginLater", - "message": "بعد", - "files": [ - "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" - ] -}, -{ - "id": "SaveMnemonicModal_BeginNotice", - "message": "اکنون 12 کلمه از عبارت مخفی شما را به شما نشان می دهیم.{br}اگر آن را گم کنید، ما نمی توانیم کیف پول شما را بازیابی کنیم.", - "files": [ - "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" - ] -}, -{ - "id": "RestoryMnemonicWallet_CancelRestory", - "message": "لغو", - "files": [ - "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx" - ] -}, -{ - "id": "RestoryMnemonicWallet_MnemonicField", - "message": "عبارت مخفی (12 کلمه):", - "files": [ - "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx" - ] -}, -{ - "id": "RestoryMnemonicWallet_MnemonicInvalid", - "message": "شما مجموعه ای از کلمات نامعتبر را مشخص کرده اید", - "files": [ - "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx" - ] -}, -{ - "id": "RestoryMnemonicWallet_Ready", - "message": "اماده", - "files": [ - "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx" - ] -}, -{ - "id": "RestoryMnemonicWallet_ReadyNotice", - "message": "اکنون می توانید BTC، ETH و سایر ارزها را اضافه کنید", - "files": [ - "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx" - ] -}, -{ - "id": "RestoryMnemonicWallet_RestoryWallet", - "message": "بازگردانی", - "files": [ - "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx" - ] -}, -{ - "id": "RestoryMnemonicWallet_RestroringWallet", - "message": "بازیابی...", - "files": [ - "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx" - ] -}, -{ - "id": "RestoryMnemonicWallet_Title", - "message": "بازیابی کیف پول از یک عبارت مخفی", - "files": [ - "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx" - ] -}, -{ - "id": "ImportKeys_RestoreMnemonic", - "message": "بازیابی از دانه 12 کلمه ای", - "files": [ - "src/front/shared/pages/CreateWallet/CreateWallet.tsx", - "src/front/shared/pages/Wallet/CurrenciesList.tsx" - ] -}, -{ - "id": "ImportKeys_RestoreMnemonic_Tooltip", - "message": "عبارت پشتیبان 12 کلمه ای - همچنین به عنوان 12 کلمه، 'پشتیبان'، عبارت بازیابی، دانه حافظه، 'seed' شناخته می شود - مجموعه ای منحصر به فرد و تصادفی از کلمات است که هنگام ایجاد کیف پول در اختیار شما قرار می گیرد. عبارت بازیابی برای استخراج یا تولید همه کلیدهای خصوصی که مستقیماً در دستگاه شما رمزگذاری شده اند استفاده می شود.", - "files": [ - "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx", - "src/front/shared/pages/CreateWallet/CreateWallet.tsx", - "src/front/shared/pages/Wallet/CurrenciesList.tsx" - ] -}, -{ - "id": "ImportKeys_RestoreMnemonic_Tooltip_withBalance", - "message": "لطفا محتاط باشید! هنگامی که یک دانه جدید وارد می کنید، موجودی فعلی شما بازنشانی می شود. وجوه فعلی خود را در کیف پول دیگری ذخیره کنید.", - "files": [ - "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx", - "src/front/shared/pages/CreateWallet/CreateWallet.tsx", - "src/front/shared/pages/Wallet/CurrenciesList.tsx" - ] -}, -{ - "id": "SweepBannerButton", - "message": "انجام شد", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "MainFAQHeader", - "message": "FAQ", - "files": [ - "src/front/shared/components/FAQ/FAQ.tsx", - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MainFAQ1_header", - "message": "کلیدهای خصوصی من چگونه ذخیره می شوند?", - "files": [ - "src/front/shared/components/FAQ/FAQ.tsx" - ] -}, -{ - "id": "MainFAQ1_content", - "message": "کلیدهای خصوصی شما فقط در دستگاه شما، در محلی ذخیره سازی مرورگر شما ذخیره می شود. لطفاً از کلیدهای خود نسخه پشتیبان تهیه کنید، زیرا ممکن است مرورگر یا دستگاه شما از کار بیفتد.", - "files": [ - "src/front/shared/components/FAQ/FAQ.tsx" - ] -}, -{ - "id": "MainFAQ2_header", - "message": "هزینه های مربوط به آن چیست؟", - "files": [ - "src/front/shared/components/FAQ/FAQ.tsx" - ] -}, -{ - "id": "MainFAQ2_content", - "message": "برای تمام تراکنش‌هایی که روی پلتفرم انجام می‌دهید، TX استاندارد (کارمزد استخراج‌کنندگان) را پرداخت می‌کنید.", - "files": [ - "src/front/shared/components/FAQ/FAQ.tsx" - ] -}, -{ - "id": "MainFAQ2_content1", - "message": "برای {tokenType} توکن ها، لازم است که حداقل 0.001 داشته باشید {currency} روی کیف پول شما یاد آوردن! هنگام ارسال {tokenType} توکن‌ها، باید تعدادی را نگه دارید {currency} به عنوان کارمزد ماینرها برای معاملات. این همچنین در مورد همه سوآپ های اتمی برای {currency} & {tokenType} توکن ها.", - "files": [ - "src/front/shared/components/FAQ/FAQ.tsx" - ] -}, -{ - "id": "MainFAQ2_content2", - "message": "توجه: شما به راحتی می توانید «هزینه های ماینرها» مورد نیاز برای هر کوین مربوطه را با جستجوی ساده آنها بررسی کنید..", - "files": [ - "src/front/shared/components/FAQ/FAQ.tsx" - ] -}, -{ - "id": "MainFAQ3_header", - "message": "چرا هزینه ماینینگ خیلی زیاد است؟", - "files": [ - "src/front/shared/components/FAQ/FAQ.tsx" - ] -}, -{ - "id": "MainFAQ3_content", - "message": "کارمزدهای بلاک چین به عوامل متعددی از جمله تراکم شبکه و اندازه تراکنش بستگی دارد (که در هنگام تبدیل رمزنگاری از ورودی های متعدد مانند درآمدهای شیر آب یا سایر تراکنش های خرد تأثیر می گذارد).", - "files": [ - "src/front/shared/components/FAQ/FAQ.tsx" - ] -}, -{ - "id": "MainFAQ3_content1", - "message": "به عبارت دیگر، در این صورت ممکن است نیاز به پرداخت هزینه های بلاک چین بیشتری داشته باشید:", - "files": [ - "src/front/shared/components/FAQ/FAQ.tsx" - ] -}, -{ - "id": "MainFAQ3_content2", - "message": "1) شبکه بلاک چین در حال حاضر مشغول یا بارگذاری شده است. معمولاً در طول نوسانات ناگهانی نرخ بلاک چین و رویدادهای مهم جهان، کارمزد افزایش می‌یابد.;", - "files": [ - "src/front/shared/components/FAQ/FAQ.tsx" - ] -}, -{ - "id": "MainFAQ3_content3", - "message": "2) حساب رمزنگاری شما دارای سابقه سپرده های خرد است. اگر حساب شما دارای مقادیر زیادی سپرده کوچک باشد، اندازه تراکنش شما بزرگتر خواهد بود زیرا از ورودی های زیادی تشکیل می شود. هرچه اندازه تراکنش بزرگتر باشد، کارمزد بلاک چین بیشتر می شود.", - "files": [ - "src/front/shared/components/FAQ/FAQ.tsx" - ] -}, -{ - "id": "MainFAQ3_content4", - "message": "ممکن است دلایل دیگری برای افزایش هزینه های بلاک چین وجود داشته باشد، اما ما رایج ترین آنها را فهرست کرده ایم.", - "files": [ - "src/front/shared/components/FAQ/FAQ.tsx" - ] -}, -{ - "id": "HowToWithdrawModal_Title", - "message": "نحوه عقب نشینی", - "files": [ - "src/front/shared/components/modals/HowToWithdrawModal/HowToWithdrawModal.tsx", - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "Exchange_FromAddress", - "message": "از آدرس", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "Exchange_ToAddress", - "message": "نشانی ", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "CommonTextConnect", - "message": "وصل کردن", - "files": [ - "src/front/shared/pages/Exchange/AddressSelect/AddressSelect.tsx", - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "Exchange_CustomAddressOption", - "message": "کیف پول خارجی", - "files": [ - "src/front/shared/pages/Exchange/AddressSelect/AddressSelect.tsx" - ] -}, -{ - "id": "Exchange_InternalAddressOption", - "message": "کیف پول من", - "files": [ - "src/front/shared/pages/Exchange/AddressSelect/AddressSelect.tsx" - ] -}, -{ - "id": "Exchange_InternalAddressOptionDisabled", - "message": "کیف پول من (موجودی ناکافی)", - "files": [ - "src/front/shared/pages/Exchange/AddressSelect/AddressSelect.tsx" - ] -}, -{ - "id": "Exchange_InternalCreate", - "message": "کیف پول ایجاد کنید", - "files": [ - "src/front/shared/pages/Exchange/AddressSelect/AddressSelect.tsx" - ] -}, -{ - "id": "Exchange_PlaceholderEnterAddress", - "message": "آدرس کیف پول دریافتی را وارد کنید", - "files": [ - "src/front/shared/pages/Exchange/AddressSelect/AddressSelect.tsx" - ] -}, -{ - "id": "Exchange_SpecifyAddress", - "message": "انتخاب کردن...", - "files": [ - "src/front/shared/pages/Exchange/AddressSelect/AddressSelect.tsx" - ] -}, -{ - "id": "Exchange_BestPrice", - "message": "بهترین قیمت:", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "History_Activity_Title", - "message": "معاملات", - "files": [ - "src/front/shared/pages/History/History.tsx" - ] -}, -{ - "id": "InvoicesList_Title", - "message": "فاکتورها", - "files": [ - "src/front/shared/pages/Invoices/InvoicesList/index.tsx" - ] -}, -{ - "id": "InvoiceInfoModal_ButtonShareReady", - "message": "اماده", - "files": [ - "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" - ] -}, -{ - "id": "InvoiceInfoModal_CloseButton", - "message": "بستن", - "files": [ - "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" - ] -}, -{ - "id": "InvoiceInfoModal_DeclimeInvoiceButton", - "message": "کاهش", - "files": [ - "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" - ] -}, -{ - "id": "InvoiceInfoModal_DestinationAddress", - "message": "آدرس پرداخت {destination}", - "files": [ - "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" - ] -}, -{ - "id": "InvoiceInfoModal_FromAddress", - "message": "آدرس فرستنده", - "files": [ - "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" - ] -}, -{ - "id": "InvoiceInfoModal_InfoStatus_Declimed", - "message": "رد کردن", - "files": [ - "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" - ] -}, -{ - "id": "InvoiceInfoModal_InfoStatus_Pending", - "message": "تا زمانی که", - "files": [ - "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" - ] -}, -{ - "id": "InvoiceInfoModal_InfoStatus_Ready", - "message": "پرداخت شده", - "files": [ - "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" - ] -}, -{ - "id": "InvoiceInfoModal_PayInvoiceButton", - "message": "پرداخت", - "files": [ - "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" - ] -}, -{ - "id": "InvoiceInfoModal_Sender", - "message": "فرستنده (تماس)", - "files": [ - "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" - ] -}, -{ - "id": "InvoiceInfoModal_ShareInvoiceText", - "message": "فاکتور #{id}-{invoiceNumber} از {contact} به {amount} {type}", - "files": [ - "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" - ] -}, -{ - "id": "InvoiceInfoModal_ShareLink_InfoText", - "message": "این پیوند را برای تایید به پرداخت کننده ارسال کنید", - "files": [ - "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" - ] -}, -{ - "id": "InvoiceInfoModal_Title", - "message": "فاکتور #{number}", - "files": [ - "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" - ] -}, -{ - "id": "InvoiceInfoModal_TitleFetch", - "message": "واکشی فاکتور...", - "files": [ - "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" - ] -}, -{ - "id": "InvoiceInfoModal_ToAddress", - "message": "آدرس پرداخت کننده", - "files": [ - "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" - ] -}, -{ - "id": "multiSignConfirmTxModal_ButtonClose", - "message": "بستن", - "files": [ - "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx" - ] -}, -{ - "id": "RowHistory_ConfirmTX_NeedConfirm", - "message": "نیاز به علامت مالک دیگر", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "RowHistory_ConfirmTX_NeedYourSign", - "message": "به علامت شما نیاز دارم", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "RowHistory_ConfirmTX_SendLink", - "message": "ارسال لینک", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "RowHistory_ConfirmTX_Sign", - "message": "تایید کردن", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "RowHistory_Confirm_Cancelled", - "message": "متوقف شده", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "RowHistory_Confirm_InProgress", - "message": "در حال پیش رفت", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "RowHistory_Confirm_Rejected", - "message": "رد شده", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "RowHistory_Confirm_Sending", - "message": "ارسال شده", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "AdminFee_Message", - "message": "کمیسیون {fee}% مبلغ انتقال، اما نه کمتر از {min} {currency}", - "files": [ - "src/front/shared/components/AdminFeeInfoBlock/AdminFeeInfoBlock.tsx" - ] -}, -{ - "id": "InfoPay_2_To", - "message": "{amount} با موفقیت به {br}{toAddress}", - "files": [ - "src/front/shared/pages/Transaction/TxInfo/index.tsx" - ] -}, -{ - "id": "InfoPay_2_From", - "message": "{amount} با موفقیت دریافت شد {br}{fromAddress}", - "files": [ - "src/front/shared/pages/Transaction/TxInfo/index.tsx" - ] -}, -{ - "id": "InfoPay_2_Self", - "message": "{amount} انتقال خود با موفقیت با {br}{address}", - "files": [ - "src/front/shared/pages/Transaction/TxInfo/index.tsx" - ] -}, -{ - "id": "InfoPay_2_External", - "message": "{amount} با موفقیت از {br}{fromAddress} to {toAddress}", - "files": [ - "src/front/shared/pages/Transaction/TxInfo/index.tsx" - ] -}, -{ - "id": "InfoPay_2_Error", - "message": "خطا در بارگیری داده ها", - "files": [ - "src/front/shared/pages/Transaction/TxInfo/index.tsx" - ] -}, -{ - "id": "InfoPay_AdminFee", - "message": "هزینه خدمات", - "files": [ - "src/front/shared/pages/Transaction/TxInfo/index.tsx" - ] -}, -{ - "id": "InfoPay_Confirmed", - "message": "تایید شده", - "files": [ - "src/front/shared/pages/Transaction/TxInfo/index.tsx" - ] -}, -{ - "id": "InfoPay_FinalBalance", - "message": "تراز نهایی", - "files": [ - "src/front/shared/pages/Transaction/TxInfo/index.tsx" - ] -}, -{ - "id": "InfoPay_MinerFee", - "message": "کارمزد ماینر", - "files": [ - "src/front/shared/pages/Transaction/TxInfo/index.tsx" - ] -}, -{ - "id": "InfoPay_NotConfirmed", - "message": "~10 mins", - "files": [ - "src/front/shared/pages/Transaction/TxInfo/index.tsx" - ] -}, -{ - "id": "InfoPay_StatusReadyHeader", - "message": "وضعیت", - "files": [ - "src/front/shared/pages/Transaction/TxInfo/index.tsx" - ] -}, -{ - "id": "ExitWidget", - "message": "خروج", - "files": [ - "src/front/shared/components/Header/Header.tsx" - ] -}, -{ - "id": "WidgetExitAlertTitle", - "message": "یک قدم دیگر", - "files": [ - "src/front/shared/helpers/wpLogoutModal.ts" - ] -}, -{ - "id": "widgetExitAlertMessage", - "message": "عبارت مخفی خود را قبل از خروج ذخیره کنید!", - "files": [ - "src/front/shared/helpers/wpLogoutModal.ts" - ] -}, -{ - "id": "WidgetExitTitle3", - "message": "خروج را تایید کنید", - "files": [ - "src/front/shared/helpers/wpLogoutModal.ts" - ] -}, -{ - "id": "widgetApproveApprove", - "message": "بله", - "files": [ - "src/front/shared/helpers/wpLogoutModal.ts" - ] -}, -{ - "id": "widgetApproveCancel", - "message": "لغو کردن", - "files": [ - "src/front/shared/helpers/wpLogoutModal.ts" - ] -}, -{ - "id": "widgetApproveMessage", - "message": "Are you sure you want to logout?", - "files": [ - "src/front/shared/helpers/wpLogoutModal.ts" - ] -}, -{ - "id": "buyByCreditCard", - "message": "با استفاده از کارت اعتباری خرید کنید", - "files": [ - "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_ButtonUsePin", - "message": "از PIN-Code استفاده کنید", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_Cancel", - "message": "لغو کردن", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_Confirm", - "message": "از PIN-Code استفاده کنید", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_ErrorMnemonicIncorrect", - "message": "عبارت مخفی مشخص شده با این کیف پول مطابقت ندارد", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_ErrorMnemonicInvalid", - "message": "شما یک عبارت مخفی نامعتبر وارد کرده اید (12 کلمه)", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_ErrorNoPinOrSmall", - "message": "کد پین باید حداقل 4 کاراکتر باشد", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_LabelYourMnemonic", - "message": "عبارت مخفی شما", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_LabelYourPin", - "message": "پین کد شما", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_MnemonicPlaceholder", - "message": "عبارت مخفی را وارد کنید (12 کلمه)", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_MnemonicUseNote", - "message": "اگر سرور مجوز آفلاین است، یا اگر پین کد را فراموش کرده اید، می توانید از عبارت مخفی (12 کلمه) استفاده کنید.", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_PinCodeNotValid", - "message": "پین کدی که وارد کردید نادرست است", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_PinCodePlaceholder", - "message": "پین کد خود را وارد کنید", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_PincodeNote", - "message": "همچنین می توانید با وارد کردن یک کد پین، تراکنش را تأیید کنید", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_ServerOffline", - "message": "سرور مجوز آفلاین است. بعداً دوباره امتحان کنید یا از یک عبارت مخفی استفاده کنید (12 کلمه).", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_ShipButton", - "message": "پردازش...", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_Title", - "message": "تراکنش برداشت را تایید کنید", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_UpMessage", - "message": "برای تایید تراکنش، کد پین را وارد کنید.", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_UpMessageMnemonic", - "message": "برای تایید تراکنش، عبارت مخفی (12 کلمه) را وارد کنید.", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "WithdrawPINProtected_UseMnemonicButton", - "message": "استفاده از عبارت مخفی (12 کلمه)", - "files": [ - "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" - ] -}, -{ - "id": "ConfirmActivatePIN_Message", - "message": "شما قبلاً این نوع کیف پول را فعال کرده اید. آیا می خواهید کیف پول دیگری را فعال کنید؟", - "files": [ - "src/front/shared/pages/CreateWallet/CreateWallet.tsx" - ] -}, -{ - "id": "ConfirmActivatePIN_No", - "message": "نه", - "files": [ - "src/front/shared/pages/CreateWallet/CreateWallet.tsx" - ] -}, -{ - "id": "ConfirmActivatePIN_Title", - "message": "کیف پول BTC محافظت شده با PIN را فعال کنید", - "files": [ - "src/front/shared/pages/CreateWallet/CreateWallet.tsx" - ] -}, -{ - "id": "ConfirmActivatePIN_Yes", - "message": "بله", - "files": [ - "src/front/shared/pages/CreateWallet/CreateWallet.tsx" - ] -}, -{ - "id": "InfoPay_FinalBalances", - "message": "ترازهای نهایی", - "files": [ - "src/front/shared/pages/Transaction/TxInfo/index.tsx" - ] -}, -{ - "id": "InfoPay_IsOurAddress", - "message": "(برای شما)", - "files": [ - "src/front/shared/pages/Transaction/TxInfo/index.tsx" - ] -}, -{ - "id": "WalletRow_Menu_ActivatePinProtected", - "message": "فعال کردن", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_ActivateWalletButton", - "message": "کیف پول را فعال کنید", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_ButtonCancel", - "message": "لغو کردن", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_ButtonFinish", - "message": "آماده", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_ButtonSaveMnemonic", - "message": "ذخیره", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_ConfirmRestory", - "message": "بازگردانی کیف پول", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_EnterPinCodeBottomMessage", - "message": "یک کد پین انتخاب کنید", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_EnterPinCodeUpMessage", - "message": "کیف پول BTC محافظت شده با PIN را فعال کنید", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_ErrorMnemonicIncorrect", - "message": "عبارت مخفی مشخص شده با این کیف پول مطابقت ندارد", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_ErrorMnemonicInvalid", - "message": "شما یک عبارت مخفی نامعتبر وارد کرده اید (12 کلمه)", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_ErrorNoPinOrSmall", - "message": "کد پین باید حداقل 4 کاراکتر باشد", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_ErrorPinCodesNotEqueals", - "message": "کدهای پین برابر نیستند", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_ErrorWalletLocked", - "message": "این حساب قبلاً توسط PIN-Code دیگر ثبت و محافظت شده است. لطفاً یک کد پین معتبر وارد کنید", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_FinishMessage", - "message": "کیف پول محافظت شده شما فعال شد", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_HowToWithdraw", - "message": "نحوه برداشت دستی پول", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_Instruction_Copied", - "message": "کپی", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_Instruction_Copy", - "message": "کپی شد", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_Instruction_Download", - "message": "دانلود", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_Instruction_Downloading", - "message": "دانلود کردن", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_Instruction_Message", - "message": "اطلاعات در صورت در دسترس نبودن سرویس ما", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_LabelConfirmYourPin", - "message": "کد پین خود را تأیید کنید", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_LabelYourMnemonic", - "message": "کد پین خود را تأیید کنید", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_LabelYourPinCode", - "message": "کد پین شما", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_MnemonicPlaceholder", - "message": "عبارت مخفی را وارد کنید (12 کلمه)", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_PinCodeConfirmPlaceholder", - "message": "کد پین خود را تأیید کنید", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_PinCodePlaceholder", - "message": "کد پین خود را وارد کنید", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_PinServerOffline", - "message": "سرور مجوز آفلاین است", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_RestoryBottomMessage", - "message": "عبارت مخفی را وارد کنید (12 کلمه)", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_RestoryUpMessage", - "message": "کیف پول BTC محافظت شده با PIN را بازیابی کنید", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_SaveYourMnemonic", - "message": "لطفا عبارت مخفی خود را ذخیره کنید (12 کلمه).", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_Share", - "message": "بهره", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_ShipButton", - "message": "پردازش...", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_Title", - "message": "کیف پول محافظت شده با پین را فعال کنید", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_UseMnemonicButton", - "message": "بازیابی کیف پول", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_UseMnemonicRestoreNote", - "message": "می توانید کیف پول را با استفاده از یک عبارت مخفی (12 کلمه) بازیابی کنید.", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_UsePinButton", - "message": "از PIN-Code استفاده کنید", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "RegisterPINProtectedBTC_YouNeedSaveMnemonic", - "message": "برای فعال کردن 2fa باید عبارت مخفی (12 کلمه) را ذخیره کنید..", - "files": [ - "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" - ] -}, -{ - "id": "privateKeyCurrency", - "message": "شما {cur} کلید خصوصی", - "files": [ - "src/front/shared/components/modals/PrivateKeysModal/PrivateKeysModal.tsx" - ] -}, -{ - "id": "ReceiveModal_ButtonCancel", - "message": "لغو کردن", - "files": [ - "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx" - ] -}, -{ - "id": "ReceiveModal_ButtonSaveMnemonic", - "message": "ذخیره", - "files": [ - "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx" - ] -}, -{ - "id": "ReceiveModal_SaveYourMnemonic", - "message": "لطفا فراموش نکنید که عبارت seed خود را ذخیره کنید. چنین اقدامی برای ذخیره وجوه شما در مواقع اضطراری لازم است.", - "files": [ - "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx" - ] -}, -{ - "id": "ReceiveModal_YouNeedSaveMnemonic", - "message": "شما باید عبارت مخفی خود را ذخیره کنید.", - "files": [ - "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx" - ] -}, -{ - "id": "WalletAddressModal_Message", - "message": "شما {cur} آدرس", - "files": [ - "src/front/shared/components/modals/WalletAddressModal/WalletAddressModal.tsx" - ] -}, -{ - "id": "WalletAddressModal_Title", - "message": "آدرس کیف پول را کپی کنید", - "files": [ - "src/front/shared/components/modals/WalletAddressModal/WalletAddressModal.tsx" - ] -}, -{ - "id": "Withdraw_BalanceDesktop", - "message": "{amount} {currency} ارسال خواهد شد", - "files": [ - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx" - ] -}, -{ - "id": "Withdraw_BalanceMobile", - "message": "{amount} {currency}", - "files": [ - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx" - ] -}, -{ - "id": "Withdraw_FiatBalanceDesktop", - "message": "این هست ~{amount} {currency}", - "files": [ - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx" - ] -}, -{ - "id": "Withdraw_FiatBalanceMobile", - "message": "~{amount} {currency}", - "files": [ - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx" - ] -}, -{ - "id": "WalletRow_ShowAddress", - "message": "نشانی را نشان دهد", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "WalletRow_MetamaskNotConnected", - "message": "متصل نیست", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "YourWalletbalance", - "message": "تعادل", - "files": [ - "src/front/shared/components/BalanceForm/BalanceForm.tsx", - "src/front/shared/components/modals/WalletConnectAccount/WalletConnectAccount.tsx" - ] -}, -{ - "id": "AlertModalcreateWallet", - "message": "کیف پول ایجاد کنید", - "files": [ - "src/front/shared/components/modals/AlertWindow/index.tsx" - ] -}, -{ - "id": "AlertModaldeposit", - "message": "سپرده", - "files": [ - "src/front/shared/components/modals/AlertWindow/index.tsx" - ] -}, -{ - "id": "alertTitle", - "message": "هوشیار", - "files": [ - "src/front/shared/components/modals/AlertWindow/index.tsx" - ] -}, -{ - "id": "AlertOrderNonEnoughtBalance", - "message": "لطفاً قبل از شروع مبادله موجودی خود را پر کنید.", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "AlertOrderNonEnoughtBalanceTitle", - "message": "تعادل کافی نیست.", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "Balance_YouAreHaveNotSignegTx", - "message": "{count} تراکنش نیاز به تایید شما دارد", - "files": [ - "src/front/shared/components/BalanceForm/BalanceForm.tsx" - ] -}, -{ - "id": "multiSignJoinLink_ButtonCancel", - "message": "لغو کردن", - "files": [ - "src/front/shared/components/modals/MultisignJoinLink/MultisignJoinLink.tsx" - ] -}, -{ - "id": "multiSignJoinLink_ButtonSaveMnemonic", - "message": "ذخیره", - "files": [ - "src/front/shared/components/modals/MultisignJoinLink/MultisignJoinLink.tsx" - ] -}, -{ - "id": "multiSignJoinLink_SaveYourMnemonic", - "message": "لطفا عبارت مخفی خود را ذخیره کنید (12 کلمه).", - "files": [ - "src/front/shared/components/modals/MultisignJoinLink/MultisignJoinLink.tsx" - ] -}, -{ - "id": "multiSignJoinLink_YouNeedSaveMnemonic", - "message": "برای فعال کردن کیف پول BTC-Multisig باید عبارت مخفی خود را ذخیره کنید.", - "files": [ - "src/front/shared/components/modals/MultisignJoinLink/MultisignJoinLink.tsx" - ] -}, -{ - "id": "BTCMS_SaveMnemonicButton", - "message": "عبارت مخفی را ذخیره کنید", - "files": [ - "src/front/shared/pages/CreateWallet/CreateWallet.tsx", - "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx", - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx", - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "BTCMS_SaveYourMnemonic", - "message": "لطفا عبارت مخفی خود را ذخیره کنید (12 کلمه).", - "files": [ - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "BTCMS_YouNeedSaveMnemonic", - "message": "برای فعال کردن کیف پول BTC-Multisig باید عبارت مخفی خود را ذخیره کنید.", - "files": [ - "src/front/shared/pages/Multisign/Btc/Btc.tsx" - ] -}, -{ - "id": "RowWallet_MsConfirmCountMobile", - "message": "{count} tx منتظر تایید خود باشید ", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "WithdrawSMS_SmsConfirming", - "message": "تایید تراکنش" -}, -{ - "id": "MnemonicInputComponent_DeleteText", - "message": "برای حذف یک کلمه کلیک کنید", - "files": [ - "src/front/shared/components/forms/MnemonicInput/MnemonicInput.tsx" - ] -}, -{ - "id": "MnemonicInputComponent_Placeholder", - "message": "شروع به تایپ یک کلمه کنید...", - "files": [ - "src/front/shared/components/forms/MnemonicInput/MnemonicInput.tsx" - ] -}, -{ - "id": "Exchange_AvialableBalance", - "message": "موجود: ", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "Banner_YouAreHaveNotSignegTx", - "message": "{count} تراکنش multisig منتظر تایید شماست", - "files": [ - "src/front/shared/pages/Wallet/WallerSlider/index.tsx" - ] -}, -{ - "id": "ShowMyMnemonic_copy", - "message": "لطفا از کیف پول خود نسخه پشتیبان تهیه کنید", - "files": [ - "src/front/shared/pages/Wallet/WallerSlider/index.tsx" - ] -}, -{ - "id": "Swap_NeedMoreAmount", - "message": "باید حداقل داشته باشی least {amount} {currency} در تعادل شما. {br} کمیسیون ماینر {sellFee} {sellCoin} و {buyFee} {buyCoin}", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "Exchange_MinerFees", - "message": "کارمزد ماینر", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "Exchange_ServiceFee", - "message": "هزینه خدمات", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "WalletRow_MetamaskConnect", - "message": "وصل کردن", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "WalletConnectAccountTitle", - "message": "حساب متصل", - "files": [ - "src/front/shared/components/modals/WalletConnectAccount/WalletConnectAccount.tsx" - ] -}, -{ - "id": "UnknownNetworkConnectedWallet", - "message": "شبکه ناشناس", - "files": [ - "src/front/shared/components/Header/WalletConnect/index.tsx", - "src/front/shared/components/modals/WalletConnectAccount/WalletConnectAccount.tsx" - ] -}, -{ - "id": "MetamaskDisconnect", - "message": "کیف پول را قطع کنید", - "files": [ - "src/front/shared/components/modals/WalletConnectAccount/WalletConnectAccount.tsx", - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx", - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "MM_DisconnectExternalWallet", - "message": "Marketmakig فقط با کیف پول داخلی کار می کند. لطفاً کیف پول خارجی را قطع کنید", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_TurnOffMarketmaking", - "message": "بازاریابی غیرفعال شده است زیرا کیف پول خارجی شما متصل است", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "ConfirmBeginSwapOnlyInternal", - "message": "پذیرش پیشنهاد از دفتر پیشنهاد فقط برای آدرس های داخلی به طور موقت امکان پذیر است", - "files": [ - "src/front/shared/components/modals/ConfirmBeginSwap/ConfirmBeginSwap.tsx" - ] -}, -{ - "id": "offerMessageToUser", - "message": "شما باید همیشه آنلاین باشید، در غیر این صورت سفارش شما برای سایر کاربران قابل مشاهده نخواهد بود", - "files": [ - "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" - ] -}, -{ - "id": "createOrderMessageForUser", - "message": "شما باید همیشه آنلاین باشید، در غیر این صورت سفارش شما برای سایر کاربران قابل مشاهده نخواهد بود", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "createOrderNoManyMessageForUser", - "message": "موجودی خود را پر کنید", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "AddLiquidity", - "message": "نقدینگی را اضافه کنید", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "MainFAQ2_content3", - "message": "هزینه های استخراج فعلی:", - "files": [ - "src/front/shared/components/FAQ/FAQ.tsx" - ] -}, -{ - "id": "MetamaskNetworkAlert_Message", - "message": "شبکه اشتباه است، لطفاً به شبکه دیگری بروید {walletTitle} (یا کیف پول را جدا کنید).", - "files": [ - "src/front/shared/containers/App/App.tsx" - ] -}, -{ - "id": "MetamaskNetworkAlert_OkDisconnectWallet", - "message": "کیف پول خارجی را جدا کنید", - "files": [ - "src/front/shared/containers/App/App.tsx" - ] -}, -{ - "id": "MetamaskNetworkAlert_Title", - "message": "هشدار", - "files": [ - "src/front/shared/containers/App/App.tsx" - ] -}, -{ - "id": "ConnectWalletModal_Cancel", - "message": "لغو کردن" -}, -{ - "id": "ConnectWalletModal_Injected", - "message": "متا مسک" -}, -{ - "id": "ConnectWalletModal_Title", - "message": "اتصال کیف پول خارجی" -}, -{ - "id": "ConnectWalletModal_WalletConnect", - "message": "اتصال کیف پول", - "files": [ - "src/front/shared/components/modals/ConnectWalletModal/ConnectWalletModal.tsx" - ] -}, -{ - "id": "FilterTextAll", - "message": "همه", - "files": [ - "src/front/shared/components/FilterForm/FilterForm.tsx" - ] -}, -{ - "id": "FilterTextFind", - "message": "جستن", - "files": [ - "src/front/shared/components/FilterForm/FilterForm.tsx" - ] -}, -{ - "id": "themeAlt", - "message": "{theme} قالب ", - "files": [ - "src/front/shared/components/Header/ThemeSwitcher.tsx" - ] -}, -{ - "id": "widget-tour-finishStep", - "message": "خودشه! بیا شروع کنیم.", - "files": [ - "src/front/shared/components/Header/WidgetTours/WidgetWalletTour.tsx" - ] -}, -{ - "id": "widget-tour-step-1", - "message": "خوش آمدید به {widgetName}. به تور بروید؟", - "files": [ - "src/front/shared/components/Header/WidgetTours/WidgetWalletTour.tsx" - ] -}, -{ - "id": "widget-tour-step-2", - "message": "این موجودی کیف پول شماست.", - "files": [ - "src/front/shared/components/Header/WidgetTours/WidgetWalletTour.tsx" - ] -}, -{ - "id": "widget-tour-step-3", - "message": "از این دکمه ها برای انتقال ارزهای دیجیتال به داخل و خارج کیف پول خود استفاده کنید.", - "files": [ - "src/front/shared/components/Header/WidgetTours/WidgetWalletTour.tsx" - ] -}, -{ - "id": "widget-tour-step-4", - "message": "برای یافتن محصولات، خدمات و اطلاعات مفید در این منو حرکت کنید.", - "files": [ - "src/front/shared/components/Header/WidgetTours/WidgetWalletTour.tsx" - ] -}, -{ - "id": "widget-tour-step-5", - "message": "برای یافتن آدرس کیف پول، کلیدهای خصوصی و موارد دیگر، روی این سه نقطه کلیک کنید.", - "files": [ - "src/front/shared/components/Header/WidgetTours/WidgetWalletTour.tsx" - ] -}, -{ - "id": "widget-tour-step-6", - "message": "برای بررسی لیستی از تراکنش های اخیر خود روی این دکمه کلیک کنید.", - "files": [ - "src/front/shared/components/Header/WidgetTours/WidgetWalletTour.tsx" - ] -}, -{ - "id": "widget-tour-step-7", - "message": "برای مبادله ارزهای دیجیتال خود روی این دکمه کلیک کنید.", - "files": [ - "src/front/shared/components/Header/WidgetTours/WidgetWalletTour.tsx" - ] -}, -{ - "id": "WTH276", - "message": "مقدار نباید بیشتر از شما باشد{br} موجودی فعلی منهای کارمزد استخراج", - "files": [ - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx" - ] -}, -{ - "id": "Comment", - "message": "نظر", - "files": [ - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx" - ] -}, -{ - "id": "ConnectWalletModal_WalletLocked", - "message": "کیف پول قفل شده است. ابتدا قفل کیف پول را باز کنید.", - "files": [ - "src/front/shared/components/modals/ConnectWalletModal/ConnectWalletModal.tsx" - ] -}, -{ - "id": "Exchange_ConnectAddressOption", - "message": "کیف پول را وصل کنید", - "files": [ - "src/front/shared/components/Header/WalletConnect/index.tsx", - "src/front/shared/components/modals/WalletConnectAccount/WalletConnectAccount.tsx", - "src/front/shared/pages/Exchange/AddressSelect/AddressSelect.tsx", - "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" - ] -}, -{ - "id": "add_notice", - "message": "اعلان اضافه کنید", - "files": [ - "src/front/shared/components/Comment/Comment.tsx" - ] -}, -{ - "id": "CreateWallet_ConnectWalletButton", - "message": "اگر قبلا کیف پول اتریوم دارید از این استفاده کنید", - "files": [ - "src/front/shared/pages/CreateWallet/CreateWallet.tsx" - ] -}, -{ - "id": "ImportKeys_ConnectWallet", - "message": "کیف پول را وصل کنید", - "files": [ - "src/front/shared/pages/CreateWallet/CreateWallet.tsx" - ] -}, -{ - "id": "InfoPay_Comment", - "message": "نظر", - "files": [ - "src/front/shared/pages/Transaction/TxInfo/index.tsx" - ] -}, -{ - "id": "FeeInfoBlockTotalFee", - "message": "مجموع هزینه هایی که پرداخت می کنید:", - "files": [ - "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/index.tsx" - ] -}, -{ - "id": "FeeInfoBlockMinerFee", - "message": "کارمزد ماینر:", - "files": [ - "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/index.tsx" - ] -}, -{ - "id": "FeeInfoBlockMinerFeeTooltip", - "message": "مقدار ارز دیجیتالی که برای تشویق ماینرها برای تایید تراکنش شما پرداخت شده است", - "files": [ - "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/index.tsx" - ] -}, -{ - "id": "FeeInfoBlockServiceFee", - "message": "هزینه خدمات", - "files": [ - "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/index.tsx", - "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" - ] -}, -{ - "id": "FeeInfoBlockServiceFeeConditions", - "message": "مبلغ انتقال، اما نه کمتر از", - "files": [ - "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/index.tsx" - ] -}, -{ - "id": "localStorageUserNotification", - "message": "✔️ این داده ها حاوی کلیدهای خصوصی شما نیستند", - "files": [ - "src/front/shared/pages/LocalStorage/LocalStorage.tsx" - ] -}, -{ - "id": "FourthStep37BtcLike", - "message": "({currencyName} tx)", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/ABSteps/SecondStep.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/UTXOSteps/SecondStep.tsx" - ] -}, -{ - "id": "FourthStep37_BtcLike", - "message": "({currencyName} tx)", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/ABSteps/ThirdStep.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/UTXOSteps/ThirdStep.tsx" - ] -}, -{ - "id": "SwapProgressText_FirstStep", - "message": "لطفا صبر کنید", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerAbToUtxo.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerUtxoToAb.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerAbToUtxo.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerUtxoToAb.tsx" - ] -}, -{ - "id": "SwapProgressText_CheckingBalance", - "message": "بررسی تعادل..", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerAbToUtxo.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerUtxoToAb.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerAbToUtxo.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerUtxoToAb.tsx" - ] -}, -{ - "id": "SwapProgressText_WaitPatricipantDeposit", - "message": "در انتظار واریز سایر شرکت کنندگان {buyCurrency}", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerAbToUtxo.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerUtxoToAb.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerAbToUtxo.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerUtxoToAb.tsx" - ] -}, -{ - "id": "SwapProgressText_DepositingYourSide", - "message": "سپرده گذاری {sellCurrency}.{br}ممکن است چند دقیقه طول بکشد", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerAbToUtxo.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerUtxoToAb.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerAbToUtxo.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerUtxoToAb.tsx" - ] -}, -{ - "id": "SwapProgressText_WithdrawRequest", - "message": "درخواست انصراف از {buyCurrency} قرارداد", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerAbToUtxo.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerUtxoToAb.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerAbToUtxo.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerUtxoToAb.tsx" - ] -}, -{ - "id": "SwapProgressText_Finish", - "message": "{buyCurrency} توکن ها به کیف پول شما منتقل شد. تعادل را بررسی کنید", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerAbToUtxo.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerUtxoToAb.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerAbToUtxo.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerUtxoToAb.tsx" - ] -}, -{ - "id": "SwapProgressText_End", - "message": "از اینکه از Swap.Online استفاده کردید متشکریم!", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerAbToUtxo.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerUtxoToAb.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerAbToUtxo.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerUtxoToAb.tsx" - ] -}, -{ - "id": "SwapProgressText_MakerWaitTakerWithdraw", - "message": "در انتظار برای {buyCurrency} Owner to add a Secret Key to {sellCurrency} قرارداد", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerAbToUtxo.tsx", - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerUtxoToAb.tsx" - ] -}, -{ - "id": "SwapProgressText_CreateSecret", - "message": "یک کلید مخفی ایجاد کنید", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerUtxoToAb.tsx" - ] -}, -{ - "id": "SwapProgressText_VerifyScript", - "message": "را {buyCurrency} اسکریپت ایجاد و شارژ شد", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerAbToUtxo.tsx" - ] -}, -{ - "id": "localStorageBtnBack", - "message": "برگشت", - "files": [ - "src/front/shared/pages/LocalStorage/LocalStorage.tsx" - ] -}, -{ - "id": "FAQServiceFee", - "message": "هزینه خدمات (فقط برداشت):", - "files": [ - "src/front/shared/components/FAQ/FAQ.tsx" - ] -}, -{ - "id": "FAQServiceFeeDescription", - "message": "نه کمتر از", - "files": [ - "src/front/shared/components/FAQ/FAQ.tsx" - ] -}, -{ - "id": "NetworkStatusPeersOnlineMessage", - "message": "جستجوی همتایان و پیشنهادات ممکن است چند دقیقه طول بکشد. ما پیشنهادات را در یک سرور متمرکز ذخیره نمی کنیم. در عوض، ما از شبکه libp2p توسط Protocol Labs استفاده می کنیم که مانند یک شبکه تورنت کار می کند، به این معنی که هر کاربر مانند شما یک همتا در این شبکه است. اگر در عرض چند دقیقه هیچ پیشنهادی پیدا نشد، به این معنی است که هیچ پیشنهاد منطبقی وجود ندارد یا کاربری که پیشنهاد را ارائه کرده آفلاین است.", - "files": [ - "src/front/shared/components/NetworkStatus/NetworkStatus.tsx" - ] -}, -{ - "id": "DebugStoredDataLink", - "message": "نمایش داده های ذخیره شده", - "files": [ - "src/front/shared/pages/Swap/Debug/Debug.tsx" - ] -}, -{ - "id": "DebugSwapDataTitle", - "message": "مبادله داده ها:", - "files": [ - "src/front/shared/pages/Swap/Debug/Debug.tsx" - ] -}, -{ - "id": "OrderBookOffersNoteOverLoader", - "message": "به دنبال پیشنهادات از طرف همتایان آنلاین", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" - ] -}, -{ - "id": "OrderBookOffersNoteUnderLoader", - "message": "ممکن است یک دقیقه طول بکشد", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" - ] -}, -{ - "id": "Swap_MetamaskAttention", - "message": "لطفاً تراکنش را در خود تأیید کنید \"{walletName}\" wallet", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" - ] -}, -{ - "id": "FAQFeeApiLink", - "message": "(منبع)", - "files": [ - "src/front/shared/components/FAQ/FAQ.tsx" - ] -}, -{ - "id": "Swap_OwnerHasLockedUTX", - "message": "تعویض موقتاً متوقف شد زیرا تراکنش تأیید نشده ای در mempool دارید. در انتظار تایید", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" - ] -}, -{ - "id": "Swap_SellerHasLockedUTX", - "message": "مبادله موقتاً متوقف شد زیرا مالک تراکنش تأیید نشده در mempool دارد. در انتظار تایید", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" - ] -}, -{ - "id": "OrderBookOffersOfflineNote", - "message": "اگر هیچ پیشنهادی یافت نشد، به این معنی است که هیچ کاربری وجود ندارد که پیشنهاد را پست کرده باشد، نه آنلاین.", - "files": [ - "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" - ] -}, -{ - "id": "Swap_UtxoBroadcastError", - "message": "تعویض موقتاً متوقف شد زیرا پخش tx با خطا به پایان رسید \"{error}\"", - "files": [ - "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" - ] -}, -{ - "id": "WalletRowNodeIsDownTooltipMessage", - "message": "شما نمی توانید معاملات انجام دهید", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "WithdrowBalanceNotEnoughtPrompt", - "message": "موجودی کافی برای ارسال وجود ندارد", - "files": [ - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx" - ] -}, -{ - "id": "WithdrowTokenCurrencyBalance", - "message": "کافی نیست {tokenCurrency} موجودی برای کارمزد ماینر", - "files": [ - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx" - ] -}, -{ - "id": "CreateOffer_BuyToken_NeedEth", - "message": "To buy {buyCurrency} you need to have {ethAmount} ETH to pay the commission", - "files": [ - "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" - ] -}, -{ - "id": "CreateOffer_SellToken_NeedEth", - "message": "To sell {sellCurrency} you need to have {ethAmount} ETH to pay the commission", - "files": [ - "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" - ] -}, -{ - "id": "RowHistoryInvoiceContact", - "message": "اتصال:", - "files": [ - "src/front/shared/pages/History/Row/Row.tsx" - ] -}, -{ - "id": "AtomicSwap_Title", - "message": "مبادله اتمی", - "files": [ - "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx", - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "TurboSwap_Title", - "message": "مبادله توربو", - "files": [ - "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx", - "src/front/shared/pages/Exchange/AtomicSwap.tsx", - "src/front/shared/pages/TurboSwap/TurboSwap.tsx" - ] -}, -{ - "id": "TurboSwap_You", - "message": "شما", - "files": [ - "src/front/shared/pages/TurboSwap/TurboSwap.tsx" - ] -}, -{ - "id": "TurboSwap_Maker", - "message": "سازنده", - "files": [ - "src/front/shared/pages/TurboSwap/TurboSwap.tsx" - ] -}, -{ - "id": "TurboSwap_Taker", - "message": "گیرنده", - "files": [ - "src/front/shared/pages/TurboSwap/TurboSwap.tsx" - ] -}, -{ - "id": "TurboSwap_StatusPending", - "message": "تا زمانی که...", - "files": [ - "src/front/shared/pages/TurboSwap/TurboSwap.tsx" - ] -}, -{ - "id": "TurboSwap_StatusFinished", - "message": "تمام شد!", - "files": [ - "src/front/shared/pages/TurboSwap/TurboSwap.tsx" - ] -}, -{ - "id": "TurboIcon_Tip", - "message": "مبادله سریعتر و ارزان تر با بازاریاب قابل اعتماد، برای مقادیر کم توصیه می شود", - "files": [ - "src/front/shared/components/ui/TurboIcon/TurboIcon.tsx" - ] -}, -{ - "id": "ButtonPendingState", - "message": "تا زمانی که", - "files": [ - "src/front/shared/components/controls/Button/Button.tsx" - ] -}, -{ - "id": "DropDownNoOptionsInTheList", - "message": "هیچ گزینه ای وجود ندارد", - "files": [ - "src/front/shared/components/ui/DropDown/index.tsx" - ] -}, -{ - "id": "menu.marketmaker", - "message": "کسب کردن", - "files": [ - "src/front/shared/components/Header/config.tsx" - ] -}, -{ - "id": "FormattedMessageIdApprove", - "message": "تصویب کردن {token}", - "files": [ - "src/front/shared/components/modals/LimitOrder/ModalForm.tsx", - "src/front/shared/pages/Exchange/AtomicSwap.tsx", - "src/front/shared/pages/Exchange/QuickSwap/Footer.tsx" - ] -}, -{ - "id": "FeeRadiosSpeedTypeCustom", - "message": "برحسب عادت", - "files": [ - "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" - ] -}, -{ - "id": "FeeRadiosSpeedTypeDescriptionCustom", - "message": "نرخ کارمزد سفارشی را تنظیم کنید.", - "files": [ - "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" - ] -}, -{ - "id": "FeeRadiosSpeedTypeDescriptionFast", - "message": "میانگین چرخشی کارمزد تراکنش‌ها که باید در 1 تا 2 بلوک تأیید شود.", - "files": [ - "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" - ] -}, -{ - "id": "FeeRadiosSpeedTypeDescriptionMedium", - "message": "میانگین چرخشی کارمزد تراکنش‌ها در 3 تا 6 بلوک تأیید می‌شود.", - "files": [ - "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" - ] -}, -{ - "id": "FeeRadiosSpeedTypeDescriptionSlow", - "message": "میانگین چرخشی کارمزد تراکنش‌ها که باید در 7 بلوک یا بیشتر تأیید شود.", - "files": [ - "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" - ] -}, -{ - "id": "FeeRadiosSpeedTypeFast", - "message": "سریع", - "files": [ - "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" - ] -}, -{ - "id": "FeeRadiosSpeedTypeMedium", - "message": "متوسط", - "files": [ - "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" - ] -}, -{ - "id": "FeeRadiosSpeedTypeSlow", - "message": "آرام", - "files": [ - "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" - ] -}, -{ - "id": "FeeRadiosSpeedTypeTimeFast", - "message": "~5-20 دقیقه", - "files": [ - "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" - ] -}, -{ - "id": "FeeRadiosSpeedTypeTimeMedium", - "message": "~25-60 دقیقه", - "files": [ - "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" - ] -}, -{ - "id": "FeeRadiosSpeedTypeTimeSlow", - "message": "60+ دقیقه", - "files": [ - "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" - ] -}, -{ - "id": "ExchangeTokenWasApproved", - "message": "اوکن تایید شد.{br}لینک کاوشگر: {txLink}", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "Orderbook", - "message": "سفارش کتاب", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "MM_FAQ_TotalSum", - "message": "- در هر زمان معین، مجموع موجودی BTC و {token} بیشتر از قبل خواهد بود.", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_Audit", - "message": "- برنامه حسابرسی را از {link}.", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_NotStore", - "message": "- مقادیر زیاد یا وجوه قرض گرفته شده را ذخیره نکنید.", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_FundAccess", - "message": "- کلیدهای وجوه شما فقط نزد شماست، ما به وجوه شما دسترسی نداریم", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_ItemBody2-5", - "message": "اطلاع رسانی ریسک", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_ItemContent1", - "message": "یک بازارساز از تفاوت نرخ ارز هنگام ارائه خدمات خرید و فروش (اسپرد) درآمد کسب می کند.", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_HowMuchEarn", - "message": "ما از 10٪ در سال (APY) اعلام می کنیم. اگر تعداد مبادلات کافی نباشد، کاربران را به انجام مبادلات با استفاده از جایزه تشویق می کنیم.", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_ItemContent4", - "message": "(در حال توسعه)", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_ItemContent5", - "message": "هیچ حداقل مدتی وجود ندارد، شما می توانید وجوه را در هر زمان برداشت کنید.", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_ItemContent6", - "message": "به جوامعی که در آن عضو هستید در مورد امکان مبادله بگویید.", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_ItemTitle7", - "message": "چرا به {token} نیاز دارم؟ من فقط به کسب بیت کوین علاقه دارم.", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_ItemContent7-1", - "message": "فقط با بیت کوین می توانید پر کنید. اما به ناچار، در برخی مواقع، موجودی BTC شما ممکن است کاهش یابد و {token} ممکن است افزایش یابد، و بالعکس.", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_ItemContent7-2", - "message": "در هر زمان، مجموع این مانده ها بیشتر از قبل خواهد بود.", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_ItemContent7-3", - "message": "اگر می خواهید بیت کوین را برداشت کنید، اما برخی از آنها در {token} هستند، باید خودتان {token} را تغییر دهید، مثلاً از طریق صرافی بایننس..", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_ItemTitle8", - "message": "چرا کاربران خود را از طریق تبادل بایننس مبادله نمی کنند؟", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_ItemContent8", - "message": "مشتریان ما تمرکززدایی را دوست دارند و از آن حمایت می کنند. صرافی ما از طریق قراردادهای هوشمند کار می کند و ما نمی توانیم وجوه مشتری را بیش از 3 ساعت مسدود کنیم..", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_ItemTitle1", - "message": "چرا کار می کند؟", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_Safety", - "message": "آیا این امن است؟ آیا تعادل ممکن است کاهش یابد؟", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_ItemTitle3", - "message": "چقدر درآمد خواهم داشت؟", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_ItemTitle4", - "message": "حداقل تعادل مورد نیاز برای شروع چقدر است؟", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_ItemTitle5", - "message": "حداقل دوره بازارسازی چقدر است؟", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_ItemTitle6", - "message": "چگونه درآمد را افزایش دهیم؟", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_Choose_Farming_Body1", - "message": "Получайте дополнительную награду в SWAP токенах, заморозив LP токены." -}, -{ - "id": "MM_Choose_Farming_Button", - "message": "Начать фарминг" -}, -{ - "id": "MM_Choose_Farming_Title", - "message": "Фарминг" -}, -{ - "id": "MM_Choose_InBrowser_Body1", - "message": "Подходит для того, что бы попробовать." -}, -{ - "id": "MM_Choose_InBrowser_Body2", - "message": "Если вы закроете браузер, вы перестанете зарабатывать." -}, -{ - "id": "MM_Choose_InBrowser_Button", - "message": "Начать в браузере" -}, -{ - "id": "MM_Choose_InBrowser_Title", - "message": "Маркетмейкер в браузере" -}, -{ - "id": "MM_Choose_Server_Body1", - "message": "Подходит для продвинутых пользователей." -}, -{ - "id": "MM_Choose_Server_Body2", - "message": "Требуется сервер для разворачивания образа Docker." -}, -{ - "id": "MM_Choose_Server_Button", - "message": "Читать инструкцию" -}, -{ - "id": "MM_Choose_Server_Title", - "message": "Маркетмейкер-сервер" -}, -{ - "id": "MM_Choose_Title", - "message": "Выберите способ" -}, -{ - "id": "MM_Choose_Uniswap_Body1", - "message": "Подходит для продвинутых пользователей." -}, -{ - "id": "MM_Choose_Uniswap_Body2", - "message": "Зарабатывайте когда другие продают или покупают SWAP токены." -}, -{ - "id": "MM_Choose_Uniswap_Button", - "message": "Создать пул" -}, -{ - "id": "MM_Choose_Uniswap_Title", - "message": "Создайте uniswap-пул SWAP/ETH" -}, -{ - "id": "MM_Promo_Title", - "message": "سود کسب کنید {utxoTitle}", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerPromo.tsx", - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_Promo_TitleBody", - "message": "در swap.io تبادل کاربران {utxoCoin} برای {token} (توکنی که مانند {utxoCoin} هزینه دارد، اما روی {Ab_Title} کار می‌کند)، و بالعکس.", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerPromo.tsx", - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MMPercentEarn", - "message": "شما از هر سوآپ 0.5% درآمد خواهید داشت", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_BTCBalance", - "message": " مبادله {utxoCoin}:", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_ConnectMetamask", - "message": "متاماسک را وصل کنید", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_DepositeWallet", - "message": "پر کردن، انتقال به", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_DisconnectMetamask", - "message": "متاماسک را قطع کنید", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_ETHBalance", - "message": "موجودی {AB_Coin}: {balance} (برای کارمزد ماینر)", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_StartHere", - "message": "بازاریابی را از اینجا شروع کنید", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_Wallet_Required", - "message": "یک کیف پول داغ برای راه اندازی بازاریابی لازم است ({utxoCoin}، {AB_Coin}، {token}).", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_Wallet_Restore", - "message": "بازیابی از دانه 12 کلمه ای", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_NotEnoughCoins", - "message": "بودجه ناکافی. باید {utxoCoin} یا {token} خود را شارژ کنید", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_NotEnoughtEth", - "message": "{AB_Coin} برای پرداخت کمیسیون ماینرها کافی نیست. شما باید حداقل 0.02 {AB_Coin} داشته باشید", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_SwapHistory_Empty", - "message": "شما هیچ تعویضی ندارید، MM را روشن کنید و منتظر بمانید تا کسی سفارشات شما را بپذیرد", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_SwapHistory_LockTime", - "message": "زمان قفل کردن", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_SwapHistory_Status", - "message": "وضعیت", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_SwapHistory_Step", - "message": "قدم", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_SwapHistory_Title", - "message": "تاریخچه تعویض", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_SwapHistory_YouBuy", - "message": "خرید شما", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_SwapHistory_YouSell", - "message": "فروش شما", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_ToggleText", - "message": "بازاریابی {utxoCoin}/{token}", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_TokenBalance", - "message": "موجودی {توکن}:", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_TotalBalance", - "message": "{token}, BTC" -}, -{ - "id": "MM_ToggleTextEnabled", - "message": "هشدار! شما باید همیشه آنلاین باشید...", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_WarningMessage", - "message": "هشدار! شما باید همیشه آنلاین بمانید، در غیر این صورت درآمدی نخواهید داشت یا اگر مبادله در حال پردازش باشد (چند ساعت طول می کشد) ممکن است سرمایه خود را از دست بدهید! اگر نمی‌توانید زمان طولانی را تضمین کنید - بازاریابی را خاموش کنید.", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_ToggleTextDisabled", - "message": "برای شروع کسب درآمد، این کلید را روشن کنید", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_TotalEarned", - "message": "مجموع کسب شده:", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_MarketmakingSimbols", - "message": "{token} + {utxoCoin}", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_MarketmakingBalanceTitle", - "message": "نقدینگی کل:", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_whatIsWBTCTooltip1", - "message": "{tokenFullName} ({token}) یک نشانه {tokenStandart} است که نشان دهنده {utxoTitle} ({utxoCoin}) در زنجیره بلاک {blockchainName} است.", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_whatIsWBTCTooltip2", - "message": "{token} ایجاد شد تا به دارندگان {utxoTitle} اجازه دهد در برنامه‌های مالی غیرمتمرکز ('DeFi') شرکت کنند که در {blockchainName} محبوب هستند..", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" - ] -}, -{ - "id": "MM_InstallExtentionTitle", - "message": "افزونه کروم را نصب کنید و همین امروز شروع به کسب درآمد کنید", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerPromo.tsx" - ] -}, -{ - "id": "MM_InstallExtentionBtn", - "message": "برنامه افزودنی کروم را نصب کنید", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerPromo.tsx" - ] -}, -{ - "id": "MM_FAQ_HighRisk", - "message": "- هر عملیات ارز دیجیتال ریسک بالایی دارد.", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_ImpermanentLoss", - "message": "چه زیان دائمی مورد انتظار است؟", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_FAQ_ImpermanentLossContent", - "message": "در هر زمان، مجموع این مانده ها بیشتر از قبل خواهد بود. اگر می خواهید بیت کوین را برداشت کنید، اما برخی از آنها در {token} هستند، باید خودتان {token} را تغییر دهید، مثلاً از طریق صرافی بایننس..", - "files": [ - "src/front/shared/pages/Marketmaker/FAQ.tsx" - ] -}, -{ - "id": "MM_InstallDevExtention", - "message": "دانلود نسخه توسعه", - "files": [ - "src/front/shared/pages/Marketmaker/MarketmakerPromo.tsx" - ] -}, -{ - "id": "CleanLocalStorage", - "message": "وای، به نظر می رسد برنامه باید فضای ذخیره سازی محلی شما را تمیز کند. لطفاً عبارت 12 کلمه‌ای خود را ذخیره کنید (اگر قبلاً آن را ذخیره نکرده‌اید)، سپس فضای ذخیره‌سازی محلی را با کلیک کردن روی دکمه پاک کنید و دوباره 12 کلمه را وارد کنید. با عرض پوزش برای ناراحتی. {indent} {button}", - "files": [ - "src/front/shared/components/Header/Header.tsx" - ] -}, -{ - "id": "WalletEmptyBalance", - "message": "کیف پول موجود نیست", - "files": [ - "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", - "src/front/shared/pages/Wallet/Wallet.tsx" - ] -}, -{ - "id": "ClearAndReload", - "message": "پاک کردن و بارگیری مجدد", - "files": [ - "src/front/shared/components/Header/Header.tsx" - ] -}, -{ - "id": "FooterSwapDescription", - "message": "'از سال 2018 آنلاین است. تاریخچه {twitter} و {github} ما را بررسی کنید", - "files": [ - "src/front/shared/components/Footer/Footer.tsx" - ] -}, -{ - "id": "AppErrorMessage", - "message": "یه چیزی اشتباهه سعی کنید به صفحه اصلی بازگردید یا این صفحه را بارگیری مجدد کنید.", - "files": [ - "src/front/shared/components/ErrorBoundary/index.tsx" - ] -}, -{ - "id": "NotEnoughForBuy", - "message": "شما باید حداقل کمیسیون ماینر داشته باشید {buyFee} {buyCoin}", - "files": [ - "src/front/shared/pages/Exchange/AtomicSwap.tsx" - ] -}, -{ - "id": "WalletRow_MetamaskNotAvailableNetwork", - "message": "لطفا دیگری را انتخاب کنید", - "files": [ - "src/front/shared/pages/Wallet/Row/Row.tsx" - ] -}, -{ - "id": "bankCardButtonDescription", - "message": "در پنجره مودال، برای مبادله وجوه فیات با {buyCurrency} باید چندین مرحله را طی کنید. {buyCurrency} را در پنجره انتخاب کنید و آدرس کیف پول خود را مشخص کنید (می توانید آن را در زیر کپی کنید). صبر کنید تا وجوه به آدرس شما واریز شود. سپس می توانید با استفاده از آن توکن خریداری کنید.", - "files": [ - "src/front/shared/components/Header/WidgetTours/QuickSwapFormTour.tsx", - "src/front/shared/pages/Exchange/QuickSwap/InputForm.tsx" - ] -}, -{ - "id": "noActiveOrders", - "message": "بدون سفارش فعال", - "files": [ - "src/front/shared/components/LimitOrders/index.tsx" - ] -}, -{ - "id": "rate", - "message": "نرخ", - "files": [ - "src/front/shared/components/LimitOrders/index.tsx" - ] -}, -{ - "id": "youPay", - "message": "پرداخت شما", - "files": [ - "src/front/shared/components/LimitOrders/OrderSettings.tsx", - "src/front/shared/components/LimitOrders/index.tsx" - ] -}, -{ - "id": "yourOrders", - "message": "سفارشات شما", - "files": [ - "src/front/shared/components/LimitOrders/index.tsx" - ] -}, -{ - "id": "limitOrderCreated", - "message": "شما با موفقیت سفارش را ایجاد کردید", - "files": [ - "src/front/shared/components/modals/LimitOrder/index.tsx" - ] -}, -{ - "id": "limitOrderIsNotCreated", - "message": "مشکلی پیش آمد. بعدا دوباره تلاش کنید", - "files": [ - "src/front/shared/components/modals/LimitOrder/index.tsx" - ] -}, -{ - "id": "create", - "message": "ایجاد", - "files": [ - "src/front/shared/components/modals/LimitOrder/ModalForm.tsx" - ] -}, -{ - "id": "limitOrder", - "message": "سفارش محدود", - "files": [ - "src/front/shared/components/modals/LimitOrder/ModalForm.tsx" - ] -}, -{ - "id": "notEnoughTokensForSwap", - "message": "همه ارزها برای مبادله در دسترس نیستند. به نظر می رسد توکن کافی ندارید. سعی کنید تعداد بیشتری از آنها را اضافه کنید.", - "files": [ - "src/front/shared/components/modals/LimitOrder/ModalForm.tsx" - ] -}, -{ - "id": "transacton", - "message": "معامله", - "files": [ - "src/front/shared/components/notifications/Transaction/index.tsx", - "src/front/shared/pages/Transaction/Transaction.tsx" - ] -}, -{ - "id": "transactionIsCompleted", - "message": "معامله انجام شده است", - "files": [ - "src/front/shared/components/notifications/Transaction/index.tsx" - ] -}, -{ - "id": "viewTransaction", - "message": "معامله را مشاهده کنید", - "files": [ - "src/front/shared/components/notifications/Transaction/index.tsx" - ] -}, -{ - "id": "atomicSwap", - "message": "سوآپ اتمی", - "files": [ - "src/front/shared/pages/Exchange/index.tsx" - ] -}, -{ - "id": "quickSwap", - "message": "تعویض سریع", - "files": [ - "src/front/shared/pages/Exchange/index.tsx" - ] -}, -{ - "id": "gasLimit", - "message": "حد گاز", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx" - ] -}, -{ - "id": "gasLimitNotice", - "message": "حد گاز حداکثر مقدار واحد گازی است که شما مایل به مصرف آن هستید", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx" - ] -}, -{ - "id": "gasPrice", - "message": "قیمت گاز", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx" - ] -}, -{ - "id": "gasPriceNotice", - "message": "قیمت گاز مقدار اتری که شما مایل به پرداخت برای هر واحد گاز هستید را مشخص می کند", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx" - ] -}, -{ - "id": "createLimitOrder", - "message": "ایجاد سفارش محدود" -}, -{ - "id": "limitOrders", - "message": "سفارشات را محدود کنید" -}, -{ - "id": "swap", - "message": "عوض کردن", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Footer.tsx", - "src/front/shared/pages/Exchange/QuickSwap/SourceActions.tsx" - ] -}, -{ - "id": "fee", - "message": "دستمزد", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" - ] -}, -{ - "id": "network", - "message": "شبکه", - "files": [ - "src/front/shared/components/modals/WalletConnectAccount/WalletConnectAccount.tsx", - "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" - ] -}, -{ - "id": "buyViaBankCard", - "message": "خرید از طریق کارت بانکی", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/InputForm.tsx" - ] -}, -{ - "id": "slippageNotice", - "message": "اگر قیمت بیش از این درصد تغییر نامطلوب داشته باشد، تراکنش شما برگردانده می شود", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx", - "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" - ] -}, -{ - "id": "slippageTolerance", - "message": "تحمل لغزش", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx", - "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" - ] -}, -{ - "id": "addressOfYourWallet", - "message": "آدرس کیف پول شما:", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" - ] -}, -{ - "id": "total", - "message": "مجموع", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" - ] -}, -{ - "id": "allOrders", - "message": "همه سفارشات", - "files": [ - "src/front/shared/components/LimitOrders/AllOrdersHeader.tsx" - ] -}, -{ - "id": "buyToken", - "message": "خرید", - "files": [ - "src/front/shared/components/LimitOrders/Row.tsx" - ] -}, -{ - "id": "Chain", - "message": "زنجیر", - "files": [ - "src/front/shared/components/LimitOrders/OrderSettings.tsx" - ] -}, -{ - "id": "noOptions", - "message": "هیچ گزینه ای وجود ندارد", - "files": [ - "src/front/shared/components/LimitOrders/OrderSettings.tsx" - ] -}, -{ - "id": "disclaimerAboutBetaVersion", - "message": "* سلب مسئولیت: صرافی از پروتکل نقدینگی 0x 3 استفاده می کند. مراقب باشید و با مسئولیت خود استفاده کنید." -}, -{ - "id": "insufficientBalance", - "message": "تعادل ناکافی" -}, -{ - "id": "insufficientLiquidity", - "message": "نقدینگی استخر ناکافی", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" - ] -}, -{ - "id": "addNewCurrencyMessage", - "message": "در صفحه کیف پول، روی دکمه افزودن ارز کلیک کنید.", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" - ] -}, -{ - "id": "checkTokenInTheSwapList", - "message": "اکنون می توانید نشانه خود را در لیست مشاهده کنید.", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" - ] -}, -{ - "id": "choseTokenStandard", - "message": "یک استاندارد توکن را انتخاب کنید و روی دکمه ادامه کلیک کنید.", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" - ] -}, -{ - "id": "confirmTokenAddition", - "message": "اطلاعات را بررسی کنید و اضافه کردن نشانه را تأیید کنید.", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" - ] -}, -{ - "id": "createNewPoolInAggregates", - "message": "یکی از منابع پشتیبانی شده را انتخاب کنید و در آنجا یک استخر جدید با توکن خود ایجاد کنید.", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" - ] -}, -{ - "id": "detailedInformation", - "message": "اطلاعات دقیق", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" - ] -}, -{ - "id": "enterTokenContractAddress", - "message": "آدرس قرارداد رمزی را وارد کنید.", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" - ] -}, -{ - "id": "howToAddToken", - "message": "چگونه یک توکن اضافه کنیم", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" - ] -}, -{ - "id": "ifYouDoNotSeeNewToken", - "message": "شما نمی توانید برخی از توکن ها را مبادله کنید، زیرا ممکن است استخر نقدینگی موجود با توکن شما وجود نداشته باشد. اگر می خواهید آن را مبادله کنید، باید یک مورد جدید ایجاد کنید.", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" - ] -}, -{ - "id": "youWillSeeYourToken", - "message": "شما نمی توانید برخی از توکن ها را مبادله کنید، زیرا ممکن است استخر نقدینگی موجود با توکن شما وجود نداشته باشد. اگر می خواهید آن را مبادله کنید، باید یک مورد جدید ایجاد کنید.", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" - ] -}, -{ - "id": "executeOrder", - "message": "دستور را اجرا کنید", - "files": [ - "src/front/shared/components/LimitOrders/OrderPurchaseModal.tsx" - ] -}, -{ - "id": "limitOrderFillDescription", - "message": "شما نمی توانید تمام موجودی خود را خرج کنید. مقدار {sellToken} را که می خواهید خرج کنید وارد کنید.", - "files": [ - "src/front/shared/components/LimitOrders/OrderPurchaseModal.tsx" - ] -}, -{ - "id": "remainingMakerAmount", - "message": "مقدار باقیمانده سازنده", - "files": [ - "src/front/shared/components/LimitOrders/OrderPurchaseModal.tsx" - ] -}, -{ - "id": "remainingTakerAmount", - "message": "مقدار باقیمانده گیرنده", - "files": [ - "src/front/shared/components/LimitOrders/OrderPurchaseModal.tsx" - ] -}, -{ - "id": "youCanSpend", - "message": "میتونی خرج کنی", - "files": [ - "src/front/shared/components/LimitOrders/OrderPurchaseModal.tsx" - ] -}, -{ - "id": "yourBalance", - "message": "تعادل شما", - "files": [ - "src/front/shared/components/LimitOrders/OrderPurchaseModal.tsx" - ] -}, -{ - "id": "customSlippageValueNotice", - "message": "می توانید مقدار تحمل لغزش سفارشی را در تنظیمات پیشرفته تنظیم کنید و دوباره امتحان کنید" -}, -{ - "id": "insufficientSlippage", - "message": "لغزش ناکافی سعی کنید آن را افزایش دهید", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" - ] -}, -{ - "id": "notEnoughAssetsNotice", - "message": "شما دارایی های موجود برای مبادله {networkName} ندارید. لطفاً شبکه را تغییر دهید یا یک دارایی سفارشی به کیف پول اضافه کنید.", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/index.tsx" - ] -}, -{ - "id": "disclaimerAbout1inch", - "message": "* سلب مسئولیت: سفارشات محدود توسط یک پروتکل سفارش محدود 3 اینچی ارائه می شود و باید در نسخه بتا در نظر گرفته شوند. مراقب باشید و با مسئولیت خود استفاده کنید.", - "files": [ - "src/front/shared/components/modals/LimitOrder/ModalForm.tsx" - ] -}, -{ - "id": "Connect", - "message": "اتصال", - "files": [ - "src/front/shared/components/modals/ConnectWalletModal/ConnectWalletModal.tsx" - ] -}, -{ - "id": "chooseNetwork", - "message": "انتخاب شبکه", - "files": [ - "src/front/shared/components/modals/ConnectWalletModal/ConnectWalletModal.tsx" - ] -}, -{ - "id": "chooseWallet", - "message": "انتخاب کیف پول", - "files": [ - "src/front/shared/components/modals/ConnectWalletModal/ConnectWalletModal.tsx" - ] -}, -{ - "id": "approveTokenFirst", - "message": "لطفاً ابتدا {token} را تأیید کنید", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" - ] -}, -{ - "id": "InvoiceInfoModal_Comment", - "message": "نظرات", - "files": [ - "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" - ] -}, -{ - "id": "howToDeposit", - "message": "نحوه واریز", - "files": [ - "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx" - ] -}, -{ - "id": "tryAnyway", - "message": "به هر حال سعی کن" -}, -{ - "id": "unknownSwapProblemHasOccurred", - "message": "مشکل ناشناخته رخ داده است. احتمالاً ما نمی توانیم این جفت را عوض کنیم", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" - ] -}, -{ - "id": "SaveKe33", - "message": "دانلود ", - "files": [ - "src/front/shared/components/SaveKeys/SaveKeys.tsx" - ] -}, -{ - "id": "invalidSlippagePercent", - "message": "درصد لغزش نامعتبر است", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx" - ] -}, -{ - "id": "source", - "message": "منبع", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Header.tsx", - "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" - ] -}, -{ - "id": "transactionDeadline", - "message": "مهلت معامله (دقیقه)", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx" - ] -}, -{ - "id": "transactionMayBeFrontrun", - "message": "معامله ممکن است پیشرو باشد", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx" - ] -}, -{ - "id": "transactionMayFail", - "message": "معامله ممکن است شکست بخورد", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx" - ] -}, -{ - "id": "liquidityPoolProblem", - "message": "استخر نقدینگی مشکل دارد. سعی کنید با یک بخش منبع مبادله کنید", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" - ] -}, -{ - "id": "doNotHaveNativeCurrencyBalance", - "message": "برای پرداخت هزینه تراکنش، موجودی ارز بومی ندارید", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" - ] -}, -{ - "id": "addLiquidity", - "message": "نقدینگی را اضافه کنید", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Footer.tsx", - "src/front/shared/pages/Exchange/QuickSwap/SourceActions.tsx" - ] -}, -{ - "id": "approveBothTokens", - "message": "لطفاً ابتدا هر دو نشانه را تأیید کنید", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" - ] -}, -{ - "id": "liquidityPairDoesNotExist", - "message": "این جفت نقدینگی ندارد. شما می توانید یک مورد جدید ایجاد کنید و اولین ارائه دهنده نقدینگی باشید", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" - ] -}, -{ - "id": "aggregator", - "message": "جمع کننده", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Header.tsx" - ] -}, -{ - "id": "settings", - "message": "تنظیمات", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Header.tsx" - ] -}, -{ - "id": "aggregatorFeeDescription", - "message": "درصدی از مبلغ خریدی که به عنوان کمیسیون دریافت می شود", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" - ] -}, -{ - "id": "failedTransaction", - "message": "تراکنش ناموفق", - "files": [ - "src/front/shared/components/notifications/Transaction/index.tsx" - ] -}, -{ - "id": "amountNoMoreThenBalance", - "message": "مبلغ نباید بیشتر از موجودی شما باشد", - "files": [ - "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" - ] -}, -{ - "id": "Search", - "message": "جستجو", - "files": [ - "src/front/shared/components/modals/AddCustomToken/index.tsx" - ] -}, -{ - "id": "aggregatorCannotUseThisNetwork", - "message": "Aggregator نمی تواند از این شبکه استفاده کند. لطفا دیگری را انتخاب کنید", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" - ] -}, -{ - "id": "topUpCurrencyBalance", - "message": "لطفا موجودی {currency} را شارژ کنید", - "files": [ - "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" - ] -} -] \ No newline at end of file + }, + { + "id": "Row165", + "message": "لطفاً صبر کنید تا درخواست شما را تأیید کنیم", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" + ] + }, + { + "id": "RowM136", + "message": "ارسال درخواست", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" + ] + }, + { + "id": "RowM139", + "message": "مبادله", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" + ] + }, + { + "id": "RowM145", + "message": "این دستور در حال اجراست", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" + ] + }, + { + "id": "RowM153", + "message": "لطفاً صبر کنید تا درخواست شما را تأیید کنیم", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" + ] + }, + { + "id": "NotFound8", + "message": "صفحه یافت نشد!", + "files": [ + "src/front/shared/pages/NotFound/NotFound.tsx" + ] + }, + { + "id": "SwapController54", + "message": "یکی دیگر از شرکت کنندگان آنلاین است", + "files": [ + "src/front/shared/pages/Swap/SwapController.tsx" + ] + }, + { + "id": "SwapController60", + "message": "یکی دیگر از شرکت‌کنندگان آفلاین است", + "files": [ + "src/front/shared/pages/Swap/SwapController.tsx" + ] + }, + { + "id": "RowWallet181", + "message": "موجودی تایید نشده", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "AddOffer396", + "message": "Next", + "files": [ + "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" + ] + }, + { + "id": "WithdrawButton32", + "message": "وقتی روی این دکمه کلیک می‌کنید، در فیلد، مقدار{br} برابر با موجودی شما منهای کمیسیون ماینرها ظاهر می‌شود", + "files": [ + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", + "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" + ] + }, + { + "id": "HowItWorks10", + "message": "چگونه کار می کند", + "files": [ + "src/front/shared/pages/Exchange/HowItWorks/HowItWorks.tsx" + ] + }, + { + "id": "AddOffer418", + "message": "نرخ ارز سفارشی", + "files": [ + "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" + ] + }, + { + "id": "AddOffer423", + "message": "پر کردن جزئی را فعال کنید", + "files": [ + "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" + ] + }, + { + "id": "MyOrdersYouSend", + "message": "تو میفرستی", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx", + "src/front/shared/pages/Exchange/Orders/MyOrders/MyOrders.tsx", + "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" + ] + }, + { + "id": "MyOrdersYouGet", + "message": "شما دریافت می کنید", + "files": [ + "src/front/shared/components/CurrencyDirectionChooser/CurrencyDirectionChooser.tsx", + "src/front/shared/pages/Exchange/Orders/MyOrders/MyOrders.tsx" + ] + }, + { + "id": "MyOrdersRate", + "message": "مظنهء ارز", + "files": [ + "src/front/shared/pages/Exchange/Orders/MyOrders/MyOrders.tsx" + ] + }, + { + "id": "orders102", + "message": "مقدار", + "files": [ + "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx", + "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx", + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", + "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx", + "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" + ] + }, + { + "id": "orders105", + "message": "قیمت", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx", + "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" + ] + }, + { + "id": "orders128", + "message": "پیشنهاد ایجاد کنید", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "addoffer381", + "message": "فروش", + "files": [ + "src/front/shared/components/modals/LimitOrder/ModalForm.tsx", + "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" + ] + }, + { + "id": "addoffer396", + "message": "خرید", + "files": [ + "src/front/shared/components/modals/LimitOrder/ModalForm.tsx", + "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" + ] + }, + { + "id": "addoffer406", + "message": "مظنهء ارز", + "files": [ + "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" + ] + }, + { + "id": "Table95", + "message": "جدول خالی است", + "files": [ + "src/front/shared/components/tables/Table/Table.tsx" + ] + }, + { + "id": "Table96", + "message": "بارگیری...", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx", + "src/front/shared/components/tables/Table/Table.tsx", + "src/front/shared/containers/App/App.tsx" + ] + }, + { + "id": "Reqstbttn16", + "message": "خرید", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/RequestButton/RequestButton.tsx" + ] + }, + { + "id": "ExchangeRate12", + "message": "مظنهء ارز", + "files": [ + "src/front/shared/components/modals/OfferModal/ConfirmOffer/ExchangeRate/ExchangeRate.tsx" + ] + }, + { + "id": "amount", + "message": "مبادله", + "files": [ + "src/front/shared/components/modals/OfferModal/ConfirmOffer/Amounts/Amounts.tsx" + ] + }, + { + "id": "recieved67", + "message": "کپی به کلیپ بورد", + "files": [ + "src/front/shared/components/modals/DownloadModal/DownloadModal.tsx", + "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx" + ] + }, + { + "id": "RowHistory94", + "message": "پایان", + "files": [ + "src/front/shared/pages/History/SwapsHistory/RowHistory/RowHistory.tsx", + "src/front/shared/pages/Marketmaker/SwapRow.tsx" + ] + }, + { + "id": "RowHistory139", + "message": "متوقف شد", + "files": [ + "src/front/shared/pages/History/SwapsHistory/RowHistory/RowHistory.tsx", + "src/front/shared/pages/Marketmaker/SwapRow.tsx" + ] + }, + { + "id": "RowMobileYouGet", + "message": "شما دریافت می کنید", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" + ] + }, + { + "id": "Select210", + "message": "حداکثر", + "files": [ + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", + "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" + ] + }, + { + "id": "Withdrow1194", + "message": "آدرس", + "files": [ + "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx", + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", + "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" + ] + }, + { + "id": "partial291", + "message": "در انتظار یک شرکت‌کننده دیگر (30 ثانیه)", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "CDC52", + "message": "لیست پیشنهادات", + "files": [ + "src/front/shared/components/CurrencyDirectionChooser/CurrencyDirectionChooser.tsx" + ] + }, + { + "id": "add408", + "message": "برای تغییر نرخ ارز", + "files": [ + "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" + ] + }, + { + "id": "enterYouSend", + "message": "مبلغ 'شما ​​ارسال می کنید' را وارد کنید", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx", + "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" + ] + }, + { + "id": "swapDisabled", + "message": "مبادله غیرفعال شد", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "noOffers", + "message": "بدون پیشنهاد", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "selectFromAddress", + "message": "انتخاب\"برای آدرس\"", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "selectToAddress", + "message": "انتخاب\"آدرس\"", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "enterToAddress", + "message": "کیف پول مقصد را وارد کنید", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "connectDestinationWallet", + "message": "کیف پول مقصد خود را وصل کنید", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "setDestination", + "message": "تعیین مقصد", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "connectYourWallet", + "message": "کیف پول خود را وصل کنید \"از آدرس\"", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "selectSendType", + "message": "نوع را انتخاب کنید \"از آدرس\"", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "errorWithGetAmount", + "message": "\"شما دریافت می کنید\" بیش از 0 نیست", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "incorrectNetwork", + "message": "لطفا شبکه صحیح را انتخاب کنید", + "files": [ + "src/front/shared/components/modals/LimitOrder/ModalForm.tsx", + "src/front/shared/components/modals/WalletConnectAccount/WalletConnectAccount.tsx", + "src/front/shared/pages/Exchange/AtomicSwap.tsx", + "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" + ] + }, + { + "id": "lowAmount", + "message": "مقدار کم", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "waitPeerAnswer", + "message": "منتظر پاسخ همتا باشید", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "enterLesserAmount", + "message": "مقدار کمتری را وارد کنید \"تو میفرستی\"", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "contactSupport", + "message": "لطفا با پشتیبانی تماس بگیرید", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "partial255", + "message": "شما دریافت می کنید", + "files": [ + "src/front/shared/components/LimitOrders/OrderSettings.tsx", + "src/front/shared/components/LimitOrders/index.tsx", + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "Add52", + "message": "یک پیشنهاد قرار دهید", + "files": [ + "src/front/shared/components/modals/OfferModal/OfferModal.tsx" + ] + }, + { + "id": "Confirm52", + "message": "پیشنهاد را تایید کنید", + "files": [ + "src/front/shared/components/modals/OfferModal/OfferModal.tsx" + ] + }, + { + "id": "ImCAUTIONport", + "message": "احتیاط!", + "files": [ + "src/front/shared/components/modals/PrivateKeysModal/PrivateKeysModal.tsx" + ] + }, + { + "id": "Receive", + "message": "دریافت کردن", + "files": [ + "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx" + ] + }, + { + "id": "RowHistory281", + "message": "دریافت {address}", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "RowHistory282", + "message": "ارسال {address}", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "fromRow", + "message": "از ", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "toRow", + "message": "به", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "RowHistory283", + "message": "خود", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "RowHistory34", + "message": "تایید شده", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "RowHistory341", + "message": "تایید شده", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "RowHistory342", + "message": "تایید نشده", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "timer68", + "message": "بازپرداخت آماده است", + "files": [ + "src/front/shared/pages/Swap/Timer/Timer.tsx" + ] + }, + { + "id": "PartialPriceNoOrdersReduce", + "message": "سفارشی یافت نشد، بعداً امتحان کنید یا جفت ارز را تغییر دهید", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "PartialPriceNoOrdersReduceAllInfo", + "message": "این مقدار معامله برای نقدینگی بازار فعلی بسیار زیاد است. لطفا مقدار را کاهش دهید {maxForSell}. ", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "PartialOfferCantProceed1", + "message": "درخواست رد شده است. {link}", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "PartialOfferCantProceed1_1", + "message": "چرا?", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "ErrorBtcLowAmount", + "message": "{btcAmount} BTC - This amount is too low, does not cover mining fee", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "UseAnotherWallet", + "message": "آدرس کیف پول دریافتی را مشخص کنید", + "files": [ + "src/front/shared/components/modals/ConfirmBeginSwap/ConfirmBeginSwap.tsx" + ] + }, + { + "id": "partial462", + "message": "مبلغی که در کیف پول swap.online یا کیف پول خارجی خود دارید که می خواهید مبادله کنید", + "files": [ + "src/front/shared/components/modals/LimitOrder/ModalForm.tsx", + "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" + ] + }, + { + "id": "partial478", + "message": "مبلغی که پس از تعویض دریافت خواهید کرد", + "files": [ + "src/front/shared/components/modals/LimitOrder/ModalForm.tsx", + "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" + ] + }, + { + "id": "partial541", + "message": "اکنون مبادله کنید", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "partial767", + "message": "تعادل: ", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx", + "src/front/shared/pages/Exchange/QuickSwap/InputForm.tsx" + ] + }, + { + "id": "partialVideoAndFeatures0", + "message": "بر اساس فناوری سواپ اتمی", + "files": [ + "src/front/shared/pages/Exchange/VideoAndFeatures/VideoAndFeatures.tsx" + ] + }, + { + "id": "partialVideoAndFeatures1", + "message": "تعویض فقط 2 دقیقه طول می کشد", + "files": [ + "src/front/shared/pages/Exchange/VideoAndFeatures/VideoAndFeatures.tsx" + ] + }, + { + "id": "partialVideoAndFeatures2", + "message": "از توکن های BTC، ETH، USDT، ERC-20 پشتیبانی می کند", + "files": [ + "src/front/shared/pages/Exchange/VideoAndFeatures/VideoAndFeatures.tsx" + ] + }, + { + "id": "partialVideoAndFeatures3", + "message": "می تواند در هر وب سایتی به عنوان یک سرویس تبادل مستقر شود", + "files": [ + "src/front/shared/pages/Exchange/VideoAndFeatures/VideoAndFeatures.tsx" + ] + }, + { + "id": "down57", + "message": "برای ذخیره کلیدهای خصوصی خود، کافی است این کلیدها را کپی کرده و در قسمت متن دفترچه یادداشت قرار دهید. همچنین می توانید کلیدهای خود را به صورت فایل txt دانلود کنید", + "files": [ + "src/front/shared/components/modals/DownloadModal/DownloadModal.tsx" + ] + }, + { + "id": "downFile2", + "message": "دانلود فایل txt", + "files": [ + "src/front/shared/components/modals/DownloadModal/DownloadModal.tsx" + ] + }, + { + "id": "down97", + "message": "کلیدهای خصوصی شما!", + "files": [ + "src/front/shared/components/modals/DownloadModal/DownloadModal.tsx" + ] + }, + { + "id": "Reqstbttn22", + "message": "برای", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/RequestButton/RequestButton.tsx" + ] + }, + { + "id": "downloadModal75", + "message": "آدرس:", + "files": [ + "src/front/shared/components/modals/DownloadModal/DownloadModal.tsx" + ] + }, + { + "id": "downloadModal782", + "message": "کلید خصوصی", + "files": [ + "src/front/shared/components/modals/DownloadModal/DownloadModal.tsx" + ] + }, + { + "id": "PreventMultiTabs12", + "message": "سرویس ما فقط از یک برگه فعال پشتیبانی می‌کند. لطفاً برای ادامه استفاده از این برگه، این صفحه را دوباره بارگیری کنید یا آن را ببندید", + "files": [ + "src/front/shared/components/PreventMultiTabs/PreventMultiTabs.tsx" + ] + }, + { + "id": "addOfferPartialTooltip", + "message": "درخواست‌های مبادله یا مبلغ {p} کمتر از کل مبلغی که می‌خواهید {p} بفروشد، دریافت خواهید کرد. به عنوان مثال می‌خواهید 1 بیت کوین بفروشید، سایر کاربران می‌توانند درخواست مبادله {p}برای 0.1، 0.5 بیت کوین برای شما ارسال کنند.", + "files": [ + "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" + ] + }, + { + "id": "WTH275", + "message": "مطمئن شوید که کیف پولی که {br} در حال ارسال وجوه به آن هستید، پشتیبانی می‌کند {currency}", + "files": [ + "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx", + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", + "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" + ] + }, + { + "id": "SaveKeys235", + "message": "اینها کلیدهای خصوصی شما هستند. کلیدها را با کلیک بر روی دکمه دانلود کنید یا از این صفحه اسکرین شات بگیرید، سپس آن را تایید کنید و اینجا را کلیک کنید", + "files": [ + "src/front/shared/components/SaveKeys/SaveKeys.tsx" + ] + }, + { + "id": "orders156", + "message": "خرید {currency} اینجا", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" + ] + }, + { + "id": "orders159", + "message": "{currency} پیشنهادات", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" + ] + }, + { + "id": "WithdrawButton322", + "message": "شما نمی توانید این دارایی را ارسال کنید، زیرا موجودی صفر دارید.", + "files": [ + "src/front/shared/components/controls/WithdrawButton/BtnTooltip.tsx" + ] + }, + { + "id": "CurrencyButton41", + "message": "این ارز دیجیتال را به کیف پول خود واریز کنید", + "files": [ + "src/front/shared/components/controls/CurrencyButton/CurrencyButton.tsx" + ] + }, + { + "id": "CurrencyButton42", + "message": "شما نمی توانید این دارایی را ارسال کنید، زیرا موجودی صفر دارید.", + "files": [ + "src/front/shared/components/controls/CurrencyButton/CurrencyButton.tsx" + ] + }, + { + "id": "Areyousure", + "message": "مطمئنی ?", + "files": [ + "src/front/shared/components/modals/SaveKeysModal/SaveKeysModal.tsx" + ] + }, + { + "id": "SaveKeysModal_Title", + "message": "صادرات کلیدهای خصوصی", + "files": [ + "src/front/shared/components/modals/SaveKeysModal/SaveKeysModal.tsx" + ] + }, + { + "id": "WithdrawIncorectAddress", + "message": "آدرس شما درست نیست", + "files": [ + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", + "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" + ] + }, + { + "id": "Withdrow170", + "message": "حداکثر مبلغی که می توانید ارسال کنید است {allowedBalance} {currency}", + "files": [ + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx" + ] + }, + { + "id": "ExchangeTitleTag1", + "message": "سریعترین تعویض زنجیره ای", + "files": [ + "src/front/shared/pages/Exchange/Promo/Promo.tsx" + ] + }, + { + "id": "orders104", + "message": "کل", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" + ] + }, + { + "id": "orders1381", + "message": "{buyCurrency} 🔁 {sellCurrency}", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" + ] + }, + { + "id": "orders1382", + "message": "همه", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" + ] + }, + { + "id": "currencyIcon15", + "message": "ارور", + "files": [ + "src/front/shared/components/ui/CurrencyIcon/CurrencyIcon.tsx" + ] + }, + { + "id": "Withdrow213", + "message": "لطفا توجه داشته باشید: هزینه است {minAmount} {data}.{br}برای انجام تراکنش موجودی شما باید از این مبلغ بیشتر باشد.", + "files": [ + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", + "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" + ] + }, + { + "id": "WithdrawModal256", + "message": "نه کمتر از {minAmount}", + "files": [ + "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" + ] + }, + { + "id": "WithdrawModalErrorSend", + "message": "{errorName} {currency}:{br}{errorMessage}", + "files": [ + "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" + ] + }, + { + "id": "RowHistory77", + "message": "پرداخت مجدد", + "files": [ + "src/front/shared/pages/History/SwapsHistory/RowHistory/RowHistory.tsx", + "src/front/shared/pages/Marketmaker/SwapRow.tsx" + ] + }, + { + "id": "timer671", + "message": "{min} دقیقه برای بازپرداخت باقی مانده است", + "files": [ + "src/front/shared/pages/Swap/Timer/Timer.tsx" + ] + }, + { + "id": "CurrencyWallet154", + "message": "Aکیف پول Atomic Swap به شما امکان می دهد تا تبادل ایمن و مدیریت کنید ${fullName} (${currency}) با 0% کارمزد بر اساس فناوری های Multi-Sig و Atomic Swap..", + "files": [ + "src/front/shared/pages/CurrencyWallet/CurrencyWallet.tsx" + ] + }, + { + "id": "Orders121", + "message": "Atomic Swap {buyCurrencyFullName} ({buyCurrency}) to {sellCurrencyFullName} ({sellCurrency}) تبادل فوری", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" + ] + }, + { + "id": "Orders127", + "message": "بهترین نرخ ارز برای {buyCurrencyFullName} ({buyCurrency}) to {sellCurrencyFullName} ({sellCurrency}). کیف پول wap.Online با استفاده از پروتکل سواپ اتمی تبادل فوری را فراهم می کند.", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" + ] + }, + { + "id": "RowWallet276", + "message": "گره پایین است", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "ErrorNotification151", + "message": "Error: {error}", + "files": [ + "src/front/shared/components/notifications/ErrorNotification/ErrorNotification.tsx" + ] + }, + { + "id": "deposit165", + "message": "برای ادامه مبادله این آدرس را کپی کرده و آن را شارژ کنید {missingBalance}", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" + ] + }, + { + "id": "deposit297", + "message": "مشاهده در اکسپلورر", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" + ] + }, + { + "id": "deposit177", + "message": "قرارداد را با مبلغی بیش از حد توصیه شده تکمیل نکنید. {br} باقی مانده به طرف مقابل ارسال خواهد شد. {br} شما می توانید بفرستید {tokenName} از کیف پول هر صرافی", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" + ] + }, + { + "id": "deposit239", + "message": "تعویض پس از آن ادامه خواهد یافت {tokenName} قرارداد وجوه را دریافت می کند. {br} معمولا کمتر از 10 دقیقه طول می کشد", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" + ] + }, + { + "id": "deposit198", + "message": "در انتظار پرداخت...", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" + ] + }, + { + "id": "deposit198.1", + "message": "قرارداد اتریوم ایجاد کنید. \n لطفا صبر کنید، ممکن است چند دقیقه طول بکشد...", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" + ] + }, + { + "id": "ReceiveModal50", + "message": "این مال شماست {currency} آدرس", + "files": [ + "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx" + ] + }, + { + "id": "userTooltip43", + "message": "کاربر({reputation}) می خواهد تعویض کند", + "files": [ + "src/front/shared/components/Header/UserTooltip/UserTooltip.tsx" + ] + }, + { + "id": "FeeControler48", + "message": "کپی شد", + "files": [ + "src/front/shared/pages/Swap/FeeControler/FeeControler.tsx" + ] + }, + { + "id": "FeeControler49", + "message": "کپی", + "files": [ + "src/front/shared/components/modals/PrivateKeysModal/PrivateKeysModal.tsx", + "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/pages/LocalStorage/LocalStorage.tsx", + "src/front/shared/pages/Swap/FeeControler/FeeControler.tsx" + ] + }, + { + "id": "FeeControler68", + "message": "ETH کافی در موجودی شما برای کارمزد ماینر وجود ندارد.{br}{br} سپرده {gasAmountNeeded} ETH به حساب شما", + "files": [ + "src/front/shared/pages/Swap/FeeControler/FeeControler.tsx" + ] + }, + { + "id": "FailControler68", + "message": "خطا در اجرای قرارداد توکن!{br}{br}شاید کمیسیون اضافی در طرف قرارداد وجود داشته باشد یا خطا به دلیل دیگری رخ داده است", + "files": [ + "src/front/shared/pages/Swap/FailControler/FailControler.tsx" + ] + }, + { + "id": "BtcToEthToken123", + "message": "تعویض به پایان رسید!!", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/FourthStep.tsx" + ] + }, + { + "id": "swapFinishedGoHome289", + "message": "راز را ارسال کنید", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" + ] + }, + { + "id": "swapFinishedGoHome298", + "message": "همه چیز خوبه. ادامه هید رئال ربات", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" + ] + }, + { + "id": "swapprogress254", + "message": "معامله بازپرداخت:", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" + ] + }, + { + "id": "swapprogress270", + "message": "بازپرداخت را امتحان کنید", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" + ] + }, + { + "id": "swapprogress271", + "message": "چند دقیقه دیگر دوباره امتحان کنید", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" + ] + }, + { + "id": "swappropgress333", + "message": "بازپرداخت هگزا:", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" + ] + }, + { + "id": "SwapStuck", + "message": "مبادله گیر کرده بود؟ سعی کنید ", + "files": [ + "src/front/shared/pages/Swap/Swap.tsx" + ] + }, + { + "id": "SwapDebug", + "message": "اشکال زدایی کردن", + "files": [ + "src/front/shared/pages/Swap/Swap.tsx" + ] + }, + { + "id": "SwapOr", + "message": " یا اینکه", + "files": [ + "src/front/shared/pages/Swap/Swap.tsx" + ] + }, + { + "id": "SwapReload", + "message": "صفحه را بارگیری مجدد کنید", + "files": [ + "src/front/shared/pages/Swap/Swap.tsx" + ] + }, + { + "id": "swappropgress193", + "message": "تراکنش ETH را امضا کنید: {transaction}", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" + ] + }, + { + "id": "swappropgress207", + "message": "{transaction}", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" + ] + }, + { + "id": "swappropgress218", + "message": "{transaction}", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" + ] + }, + { + "id": "withdrowTitle271", + "message": "ارسال", + "files": [ + "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", + "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" + ] + }, + { + "id": "PreventMultiTabsWidgetBuild", + "message": "{widgetName} تنها یک تب فعال را پشتیبانی می کند. لطفاً پنجره باز دیگر را ببندید و برای ادامه بازخوانی کنید.", + "files": [ + "src/front/shared/components/PreventMultiTabs/PreventMultiTabs.tsx" + ] + }, + { + "id": "CurrencyWalletTitle", + "message": "Swap.Online - {fullName} ({currency}) کیف پول وب با Atomic Swap.", + "files": [ + "src/front/shared/pages/CurrencyWallet/CurrencyWallet.tsx" + ] + }, + { + "id": "CurrencyWalletWidgetBuildTitle", + "message": "{fullName} ({currency}) کیف پول وب با تعویض اتمی.", + "files": [ + "src/front/shared/pages/CurrencyWallet/CurrencyWallet.tsx" + ] + }, + { + "id": "deposit256", + "message": "آدرس از {tokenName} sقرارداد هوشمند", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" + ] + }, + { + "id": "transaction444", + "message": "مبلغ فروش باید بیشتر از", + "files": [ + "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" + ] + }, + { + "id": "transaction450", + "message": "مبلغ خرید باید بیشتر از", + "files": [ + "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" + ] + }, + { + "id": "deposit300", + "message": "ذخیره شده {balance} / {need} {tooltip}", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" + ] + }, + { + "id": "deposit320", + "message": "(included {mineerFee} {sellCurrency} miners fee)", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" + ] + }, + { + "id": "BtcToEthToken24", + "message": "بازپرداخت", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/ABSteps/SecondStep.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/UTXOSteps/SecondStep.tsx" + ] + }, + { + "id": "FourthStep52", + "message": "({otherCurrency} tx)", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/ABSteps/SecondStep.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/UTXOSteps/SecondStep.tsx" + ] + }, + { + "id": "FourthStep34", + "message": "({sell} tx)", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/ABSteps/ThirdStep.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/UTXOSteps/ThirdStep.tsx" + ] + }, + { + "id": "thirdStep24", + "message": "کنار کشیدن", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/ABSteps/ThirdStep.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/UTXOSteps/ThirdStep.tsx" + ] + }, + { + "id": "confirmDialogDefaultMessage", + "message": "اقدام در این سایت را تایید کنید?", + "files": [ + "src/front/shared/components/modals/Confirm/Confirm.tsx", + "src/front/shared/components/modals/ConfirmBeginSwap/ConfirmBeginSwap.tsx" + ] + }, + { + "id": "confirmDialogDefaultNo", + "message": "خیر", + "files": [ + "src/front/shared/components/modals/Confirm/Confirm.tsx", + "src/front/shared/components/modals/ConfirmBeginSwap/ConfirmBeginSwap.tsx" + ] + }, + { + "id": "confirmDialogDefaultTitle", + "message": "اقدام را تایید کنید", + "files": [ + "src/front/shared/components/LimitOrders/OrderPurchaseModal.tsx", + "src/front/shared/components/modals/Confirm/Confirm.tsx", + "src/front/shared/components/modals/ConfirmBeginSwap/ConfirmBeginSwap.tsx" + ] + }, + { + "id": "confirmDialogDefaultYes", + "message": "بله", + "files": [ + "src/front/shared/components/modals/Confirm/Confirm.tsx", + "src/front/shared/components/modals/ConfirmBeginSwap/ConfirmBeginSwap.tsx" + ] + }, + { + "id": "orders94s", + "message": "آیا مطمئن هستید که می خواهید سفارش را حذف کنید؟?", + "files": [ + "src/front/shared/components/LimitOrders/index.tsx", + "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" + ] + }, + { + "id": "ordersRow101", + "message": "خرید", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" + ] + }, + { + "id": "ordersRow134", + "message": "آیا شما می خواهید {action} {amount} {main} برای {total} {base} این مبلغ {price} {main}/{base}?", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" + ] + }, + { + "id": "ordersRow97", + "message": "فروش", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/Row/Row.tsx" + ] + }, + { + "id": "deposit165widget", + "message": "آدرس زیر را کپی کرده و مقدار توصیه شده را تکمیل کنید {missingBalance}", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" + ] + }, + { + "id": "userTooltip71", + "message": "به صفحه خوراک بروید", + "files": [ + "src/front/shared/components/Header/UserTooltip/UserTooltip.tsx" + ] + }, + { + "id": "decline21", + "message": "سفارشات رد شده!", + "files": [ + "src/front/shared/components/modals/DeclineOrdersModal/DeclineOrdersModal.tsx" + ] + }, + { + "id": "decline43", + "message": "متأسفیم، اما شما نمی توانید شروع کنید تا زمانی که مبادلات زودتر شروع شده را کامل نکنید", + "files": [ + "src/front/shared/components/modals/DeclineOrdersModal/DeclineOrdersModal.tsx" + ] + }, + { + "id": "decline49", + "message": "تعویض ناقص خود را ببینید", + "files": [ + "src/front/shared/components/modals/DeclineOrdersModal/DeclineOrdersModal.tsx" + ] + }, + { + "id": "Incompleted21", + "message": "مبادله های ناتمام", + "files": [ + "src/front/shared/components/modals/IncompletedSwaps/IncompletedSwaps.tsx" + ] + }, + { + "id": "IncompletedSwaps49", + "message": "مبادله هایی که باید تکمیل شوند", + "files": [ + "src/front/shared/components/modals/IncompletedSwaps/IncompletedSwaps.tsx" + ] + }, + { + "id": "swappropgress327", + "message": "این مبادله لغو شده است", + "files": [ + "src/front/shared/pages/Swap/Swap.tsx" + ] + }, + { + "id": "swappropgress400", + "message": "بازپرداخت به صورت خودکار انجام می شود", + "files": [ + "src/front/shared/pages/Swap/Swap.tsx" + ] + }, + { + "id": "swapprogressDONTLEAVE", + "message": "لطفا این صفحه را ترک نکنید", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/PleaseDontLeaveWrapper.tsx" + ] + }, + { + "id": "swapjsdontleave", + "message": "تبادل نیاز به امضا با کلیدهای خصوصی دارد که فقط مرورگر شما می داند.", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/PleaseDontLeaveWrapper.tsx" + ] + }, + { + "id": "Confirmation14", + "message": "تایید", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/FirstStep.tsx" + ] + }, + { + "id": "swappropgress192", + "message": "چگونه پول خود را بازپرداخت کنید ?", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" + ] + }, + { + "id": "IncompletedSwaps55", + "message": "داده پردازش شد، سعی کنید صفحه را دوباره بارگیری کنید", + "files": [ + "src/front/shared/components/modals/IncompletedSwaps/IncompletedSwaps.tsx" + ] + }, + { + "id": "select75", + "message": "موجود برای معاوضه: {availableBalance} {tooltip}", + "files": [ + "src/front/shared/components/SelectGroup/index.tsx" + ] + }, + { + "id": "selected53", + "message": "می توانید از یک کیف پول خارجی برای انجام مبادله استفاده کنید", + "files": [ + "src/front/shared/components/SelectGroup/index.tsx" + ] + }, + { + "id": "SecondStep", + "message": "در این مرحله، رمز ارز به کیف پول شما نمی رود {br} یا به کیف پول طرف مقابل خود اما مستقیماً به قرارداد مبادله", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/ABSteps/SecondStep.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/UTXOSteps/SecondStep.tsx" + ] + }, + { + "id": "thirdStep", + "message": "در این مرحله رمزارز از آن منتقل می شود {br}قرارداد به کیف پول شما و به کیف پول {br} طرف مقابل شما {br}", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/ABSteps/ThirdStep.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/UTXOSteps/ThirdStep.tsx" + ] + }, + { + "id": "CustomWalletIsNotCorrect", + "message": "آدرس کیف پول نادرست است", + "files": [ + "src/front/shared/components/modals/ConfirmBeginSwap/ConfirmBeginSwap.tsx" + ] + }, + { + "id": "multiSignJoinLink", + "message": "کیف پول BTC-Multisign بسازید", + "files": [ + "src/front/shared/components/modals/MultisignJoinLink/MultisignJoinLink.tsx" + ] + }, + { + "id": "multiSignJoinLinkMessage", + "message": "این لینک را برای صاحب دوم کیف پول ارسال کنید", + "files": [ + "src/front/shared/components/modals/MultisignJoinLink/MultisignJoinLink.tsx" + ] + }, + { + "id": "Select23", + "message": "25%", + "files": [ + "src/front/shared/components/modals/OfferModal/AddOffer/Select/Select.tsx" + ] + }, + { + "id": "Select25", + "message": "50%", + "files": [ + "src/front/shared/components/modals/OfferModal/AddOffer/Select/Select.tsx" + ] + }, + { + "id": "Select30", + "message": "75%", + "files": [ + "src/front/shared/components/modals/OfferModal/AddOffer/Select/Select.tsx" + ] + }, + { + "id": "Select40", + "message": "100%", + "files": [ + "src/front/shared/components/modals/OfferModal/AddOffer/Select/Select.tsx" + ] + }, + { + "id": "BTCMS_WithdrawRequest", + "message": "درخواست برداشت از کیف پول BTC-multisign", + "files": [ + "src/front/shared/components/notifications/BTCMultisignRequest/BTCMultisignRequest.tsx" + ] + }, + { + "id": "BTCMS_WithdrawRequestInfo", + "message": "ارسال{amount} {currency} به والت {address}", + "files": [ + "src/front/shared/components/notifications/BTCMultisignRequest/BTCMultisignRequest.tsx" + ] + }, + { + "id": "PreventMultiTabsSwitchApp", + "message": "برگه های دیگر را ببندید و در اینجا ادامه دهید", + "files": [ + "src/front/shared/components/PreventMultiTabs/PreventMultiTabs.tsx" + ] + }, + { + "id": "createWalletHeader1", + "message": "یک کیف پول ایجاد کنید", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "createWalletButton1", + "message": "ادامه", + "files": [ + "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", + "src/front/shared/pages/CreateWallet/Steps/FirstStep.tsx" + ] + }, + { + "id": "createWalletCapture1", + "message": "از بین بیت کوین، اتریوم، سوآپ، توکن ها انتخاب کنید", + "files": [ + "src/front/shared/pages/CreateWallet/Steps/texts.tsx" + ] + }, + { + "id": "createWalletCapture2", + "message": "بدون امنیت، پیامک، google auth، multisig", + "files": [ + "src/front/shared/pages/CreateWallet/Steps/texts.tsx" + ] + }, + { + "id": "createWalletSubHeader1", + "message": "ارز کیف پول خود را انتخاب کنید", + "files": [ + "src/front/shared/pages/CreateWallet/Steps/texts.tsx" + ] + }, + { + "id": "createWalletSubHeader2", + "message": "سطح امنیتی کیف پول خود را انتخاب کنید", + "files": [ + "src/front/shared/pages/CreateWallet/Steps/texts.tsx" + ] + }, + { + "id": "createWalletActivated", + "message": "فعال شد!", + "files": [ + "src/front/shared/pages/CreateWallet/Steps/SecondStep.tsx" + ] + }, + { + "id": "createWalletButton3", + "message": "ایجاد کیف پول", + "files": [ + "src/front/shared/pages/CreateWallet/Steps/SecondStep.tsx" + ] + }, + { + "id": "createWalletSoon", + "message": "بزودی!", + "files": [ + "src/front/shared/pages/CreateWallet/Steps/SecondStep.tsx" + ] + }, + { + "id": "HowItWorks18", + "message": "1. ارز دیجیتال و مقدار آن را انتخاب کنید.", + "files": [ + "src/front/shared/pages/Exchange/HowItWorks/HowItWorks.tsx" + ] + }, + { + "id": "HowItWorks21", + "message": "ارز دیجیتالی را که در اختیار دارید در هر کیف پول خارجی، صرافی یا کیف پول Swap Online انتخاب کنید.", + "files": [ + "src/front/shared/pages/Exchange/HowItWorks/HowItWorks.tsx" + ] + }, + { + "id": "HowItWorks26", + "message": "2. روی «تبادل» کلیک کنید”", + "files": [ + "src/front/shared/pages/Exchange/HowItWorks/HowItWorks.tsx" + ] + }, + { + "id": "HowItWorks29", + "message": "در صورت یافتن سفارش مناسب و تایید فروشنده مبادله، شما به صفحه مبادله هدایت می شوید", + "files": [ + "src/front/shared/pages/Exchange/HowItWorks/HowItWorks.tsx" + ] + }, + { + "id": "HowItWorks34", + "message": "3. سپرده گذاری در ارزهای دیجیتال انجام دهید", + "files": [ + "src/front/shared/pages/Exchange/HowItWorks/HowItWorks.tsx" + ] + }, + { + "id": "HowItWorks37", + "message": "در صورتی که مبلغ مورد نیاز در کیف پول داخلی شما موجود باشد، واریز به صورت خودکار انجام می شود.", + "files": [ + "src/front/shared/pages/Exchange/HowItWorks/HowItWorks.tsx" + ] + }, + { + "id": "HowItWorks42", + "message": "4. تکمیل مبادله را تأیید کنید.", + "files": [ + "src/front/shared/pages/Exchange/HowItWorks/HowItWorks.tsx" + ] + }, + { + "id": "HowItWorks45", + "message": "تبادل معمولا حدود یک دقیقه طول می کشد. در پایان مبادله، txid را می بینید و می توانید تکمیل انتقال را در پایان خود تأیید کنید.", + "files": [ + "src/front/shared/pages/Exchange/HowItWorks/HowItWorks.tsx" + ] + }, + { + "id": "Quote", + "message": "پروژه swap.online مبادلات بین بیت‌کوین‌مانند، اتریوم‌مانند را محقق می‌کند و محصولی را برای کاربران برای اجرای مبادلات ایجاد می‌کند.", + "files": [ + "src/front/shared/pages/Exchange/Quote/index.tsx" + ] + }, + { + "id": "swapjsdontleavesavesecret", + "message": "اگر می خواهید این صفحه را ترک کنید، لطفا راز را ذخیره کنید.", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/PleaseDontLeaveWrapper.tsx" + ] + }, + { + "id": "swapprogressDONTLEAVEBTC", + "message": "یا قبل از ترک این راز را ذخیره کنید:", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/PleaseDontLeaveWrapper.tsx" + ] + }, + { + "id": "timerSwapIsCancelled", + "message": "تعویض به دلیل وقفه لغو شد", + "files": [ + "src/front/shared/pages/Swap/Timer/Timer.tsx" + ] + }, + { + "id": "timerTimeToCancel", + "message": "شما {min} دقیقه برای پرداخت فرصت دارید", + "files": [ + "src/front/shared/pages/Swap/Timer/Timer.tsx" + ] + }, + { + "id": "WithdrawMSUserFinish", + "message": "اماده", + "files": [ + "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", + "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", + "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" + ] + }, + { + "id": "WithdrawMSUserMessage", + "message": "این پیوند را برای صاحب کیف پول دیگر ارسال کنید", + "files": [ + "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", + "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" + ] + }, + { + "id": "WithdrawMSUserReady", + "message": "پیوند تایید TX", + "files": [ + "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", + "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" + ] + }, + { + "id": "BTCMS_ConfirmTxGoToWallet", + "message": "برو به کیف پولت", + "files": [ + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "BTCMS_ConfirmTxInputs", + "message": "ورودی های تراکنش", + "files": [ + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "BTCMS_ConfirmTxOutputs", + "message": "خروجی های تراکنش", + "files": [ + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "BTCMS_ConfirmTxReady", + "message": "تراکنش امضا شده و به بلاک چین ارسال می شود", + "files": [ + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "BTCMS_ConfirmTxSign", + "message": "معامله را امضا کنید", + "files": [ + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "BTCMS_ConfirmTxTitle", + "message": "تایید معامله", + "files": [ + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "BTCMS_CreateWalletAdd", + "message": "این کیف پول را اضافه کنید", + "files": [ + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "BTCMS_CreateWalletLoading_descroptio", + "message": "وجوه ارسال شده به این کیف پول را نمی توان بدون تأیید شما خرج کرد (لطفاً عبارت عبور 12 کلمه ای خصوصی خود را ذخیره کنید)", + "files": [ + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "BTCMS_CreateWalletLinkReady", + "message": "کیف پول ایجاد می شود. این پیوند را برای تایید به مالک دوم ارسال کنید.", + "files": [ + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "BTCMS_CreateWalletLoading", + "message": "در حال بارگزاری لطفا منتظر بمانید", + "files": [ + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "BTCMS_CreateWalletReady", + "message": "کیف پول آماده است", + "files": [ + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "BTCMS_CreateWalletReadyButton", + "message": "آماده. کیف پول را باز کنید", + "files": [ + "src/front/shared/components/modals/MultisignJoinLink/MultisignJoinLink.tsx", + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "BTCMS_CreateWalletTitle", + "message": "کیف پول چند امضایی BTC ایجاد کنید", + "files": [ + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "BTCMS_CreateWalletWait", + "message": "در حال ایجاد کیف پول... لطفاً صبر کنید", + "files": [ + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "BTCMS_WaitOtherSide", + "message": "منتظر طرف مقابل", + "files": [ + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "BTCMS_WalletAddress", + "message": "آدرس کیف پول:", + "files": [ + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "BTCMS_WalletBalance", + "message": "موجودی کیف پول", + "files": [ + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "deposit312", + "message": "کپی", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/DepositWindow/DepositWindow.tsx" + ] + }, + { + "id": "swapProgressGoToTxPage", + "message": "TX را در اکسپلورر مشاهده کنید", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" + ] + }, + { + "id": "swapProgressGoToWallet", + "message": "تعادل را بررسی کنید", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx", + "src/front/shared/pages/TurboSwap/TurboSwap.tsx" + ] + }, + { + "id": "walletMultisignNotJoined", + "message": "ملحق نشده است", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "Withdrow2223", + "message": "کد پیامکی" + }, + { + "id": "Withdrow2224", + "message": "تایید" + }, + { + "id": "partial-tour-2", + "message": "در این قسمت ارز را انتخاب کنید و مبلغی را که می خواهید بفروشید وارد کنید. شما همچنین می توانید ارز را از یک کیف پول خارجی بفروشید.", + "files": [ + "src/front/shared/components/Header/TourPartial/TourPartial.tsx" + ] + }, + { + "id": "partial-tour-3", + "message": "در این قسمت ارز را انتخاب کنید و مبلغ مورد نظر خود را برای خرید وارد کنید.", + "files": [ + "src/front/shared/components/Header/TourPartial/TourPartial.tsx" + ] + }, + { + "id": "partial-tour-4", + "message": "در اینجا می توانید وضعیت جستجوی پیشنهادات مبادله ای را مشاهده کنید. هنگام بارگیری، 'جستجوی سفارشات...' را خواهید دید. پس از یافتن سفارش، نرخ ارز را اینجا بررسی کنید.", + "files": [ + "src/front/shared/components/Header/TourPartial/TourPartial.tsx" + ] + }, + { + "id": "partial-tour-5", + "message": "این دکمه را برای دریافت وجه پس از تبادل به کیف پول داخلی Swap.online یا هر کیف پول دیگری تغییر دهید.", + "files": [ + "src/front/shared/components/Header/TourPartial/TourPartial.tsx" + ] + }, + { + "id": "partial-tour-6", + "message": "برای مشاهده URL مستقیم تراکنش، این دکمه را تغییر دهید. زمانی که دکمه صورتی باشد در دسترس است.", + "files": [ + "src/front/shared/components/Header/TourPartial/TourPartial.tsx" + ] + }, + { + "id": "partial-tour-7", + "message": "این دکمه را فشار دهید تا صفحه Order Book را ببینید. سفارشات برای ارزهای خاص نشان داده خواهد شد. شما همچنین می توانید سفارش خود را در صفحه کتاب سفارش ایجاد کنید.", + "files": [ + "src/front/shared/components/Header/TourPartial/TourPartial.tsx" + ] + }, + { + "id": "tour-step-1", + "message": "موجودی ارز انتخابی در انتهای فیلد مقابل واحد پول نشان داده شده است. می توانید مرورگر را ببندید و رایانه خود را دوباره بارگیری کنید. موجودی شما ثابت خواهد ماند. لطفا فراموش نکنید که کلیدهای خود را ذخیره کنید,", + "files": [ + "src/front/shared/components/Header/WalletTour/WalletTour.tsx" + ] + }, + { + "id": "tour-step-1.1", + "message": "کل موجودی شما", + "files": [ + "src/front/shared/components/Header/WalletTour/WalletTour.tsx" + ] + }, + { + "id": "tour-step-1.2", + "message": "با فشار دادن دکمه می توانید موجودی خود را پر کنید", + "files": [ + "src/front/shared/components/Header/WalletTour/WalletTour.tsx" + ] + }, + { + "id": "tour-step-2", + "message": "می توانید ارزهای بلاک چین های مختلف مانند بیت کوین، اتریوم، بیت کوین کش، لایت کوین و سایر توکن ها را ذخیره کنید.", + "files": [ + "src/front/shared/components/Header/WalletTour/WalletTour.tsx" + ] + }, + { + "id": "tour-step-3", + "message": "مبادلات همتا به همتای منحصر به فرد ما در کیف پول ما موجود است که بر اساس فناوری سواپ اتمی ساخته شده است. شما می توانید ارز دیجیتال خود را در کیف پول ما لیست کنید.", + "files": [ + "src/front/shared/components/Header/WalletTour/WalletTour.tsx" + ] + }, + { + "id": "tour-step-4", + "message": "اعلان‌هایی درباره به‌روزرسانی‌های حساب خود (سفارش‌ها، تراکنش‌ها) و اخبار ماهانه درباره پروژه ما دریافت خواهید کرد", + "files": [ + "src/front/shared/components/Header/WalletTour/WalletTour.tsx" + ] + }, + { + "id": "alertDialogDefaultMessage", + "message": "ما به شما اطلاع می دهیم", + "files": [ + "src/front/shared/components/modals/Alert/AlertModal.tsx" + ] + }, + { + "id": "alertDialogDefaultOk", + "message": "خوب", + "files": [ + "src/front/shared/components/modals/Alert/AlertModal.tsx" + ] + }, + { + "id": "alertDialogDefaultTitle", + "message": "اطلاعات", + "files": [ + "src/front/shared/components/modals/Alert/AlertModal.tsx" + ] + }, + { + "id": "FeeInfoBlockChooseFeeRate", + "message": "نرخ کارمزد را انتخاب کنید:", + "files": [ + "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/index.tsx" + ] + }, + { + "id": "InvoiceLinkCopied", + "message": "لینک کپی شد", + "files": [ + "src/front/shared/components/modals/InvoiceLinkModal/InvoiceLinkModal.tsx", + "src/front/shared/components/modals/Share/Share.tsx" + ] + }, + { + "id": "InvoiceLinkCopy", + "message": "این لینک را کپی کنید", + "files": [ + "src/front/shared/components/modals/InvoiceLinkModal/InvoiceLinkModal.tsx" + ] + }, + { + "id": "InvoiceLinkModalInfo", + "message": "اینم لینک فاکتور.", + "files": [ + "src/front/shared/components/modals/InvoiceLinkModal/InvoiceLinkModal.tsx" + ] + }, + { + "id": "WithdrawModalCancelBtn", + "message": "لغو کردن", + "files": [ + "src/front/shared/components/LimitOrders/OrderPurchaseModal.tsx", + "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx", + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", + "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" + ] + }, + { + "id": "InvoiceLinkModal_Title", + "message": "لینک فاکتور", + "files": [ + "src/front/shared/components/modals/InvoiceLinkModal/InvoiceLinkModal.tsx" + ] + }, + { + "id": "InfoPay_2", + "message": "منتقل شد به", + "files": [ + "src/front/shared/pages/Transaction/TxInfo/index.tsx" + ] + }, + { + "id": "InfoPay_3", + "message": "شناسه تراکنش", + "files": [ + "src/front/shared/pages/Transaction/TxInfo/index.tsx" + ] + }, + { + "id": "InfoPay_4", + "message": "برآورد زمان تایید", + "files": [ + "src/front/shared/pages/Transaction/TxInfo/index.tsx" + ] + }, + { + "id": "createWalletCaptureOthers", + "message": "یا سایر ارزها" + }, + { + "id": "invoiceModal_Contact", + "message": "مخاطب شما (ایمیل یا نام مستعار@)", + "files": [ + "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" + ] + }, + { + "id": "invoiceModal_Address", + "message": "چه کسی پرداخت می کند (نه شما)", + "files": [ + "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" + ] + }, + { + "id": "invoiceModal_Error", + "message": "{errorName} {currency}:{br}{errorMessage}", + "files": [ + "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" + ] + }, + { + "id": "invoiceModal_IncorrectAddress", + "message": "آدرس اشتباه", + "files": [ + "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" + ] + }, + { + "id": "invoiceModal_Label", + "message": "نظرات", + "files": [ + "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" + ] + }, + { + "id": "invoiceModal_Processing", + "message": "پردازش...", + "files": [ + "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" + ] + }, + { + "id": "invoiceModal_Submit", + "message": "فاکتور را ارسال کنید", + "files": [ + "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" + ] + }, + { + "id": "invoiceModal_Title", + "message": "فاکتور برای واریز", + "files": [ + "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" + ] + }, + { + "id": "invoiceModal_addressPlaceholder", + "message": "Enter {currency} wallet address", + "files": [ + "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" + ] + }, + { + "id": "invoiceModal_amountPlaceholder", + "message": "مقدار را وارد کنید", + "files": [ + "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" + ] + }, + { + "id": "invoiceModal_destiAddress", + "message": "آدرس محل ارسال پرداخت", + "files": [ + "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" + ] + }, + { + "id": "invoiceModal_destiAddressPlaceholder", + "message": "Enter {currency} wallet address", + "files": [ + "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" + ] + }, + { + "id": "invoiceModal_labelPlaceholder", + "message": "نظرات برای فاکتور", + "files": [ + "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" + ] + }, + { + "id": "WithdrawModalInvoiceSaveTx", + "message": "علامت گذاری به عنوان پرداخت شده", + "files": [ + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", + "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" + ] + }, + { + "id": "WithdrowOwnTX", + "message": "یا لینک تراکنش را وارد کنید (txid)", + "files": [ + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", + "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" + ] + }, + { + "id": "withdrawOwnTxPlaceholder", + "message": "اگر از منبع دیگری پرداخت شود", + "files": [ + "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", + "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" + ] + }, + { + "id": "RowHistoryCancelInvoice", + "message": "کاهش", + "files": [ + "src/front/shared/pages/Exchange/Orders/MyOrders/RowFeeds/RowFeeds.tsx", + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "RowHistoryInvoce", + "message": "فاکتور #{number}", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "RowHistoryInvoiceAddress", + "message": "آدرس پرداخت:", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "RowHistoryInvoiceCancelled", + "message": "رد کردن", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "RowHistoryInvoicePayed", + "message": "پرداخت شده", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "RowHistoryPayInvoice", + "message": "پرداخت", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "WalletRow_Action_Hidden", + "message": "کیف پول مخفی است", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "WalletRow_Action_HideNonZero_Message", + "message": "این کیف پول دارای تراز مثبت است. شما نمی توانید آن را پنهان کنید.", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "WalletRow_Menu_ActivateSMSProtected", + "message": "فعال کردن" + }, + { + "id": "WalletRow_Menu_BTCMS_GenerateJoinLink", + "message": "ایجاد لینک عضویت", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "WalletRow_Menu_Deposit", + "message": "سپرده", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "WalletRow_Menu_Hide", + "message": "مخفی", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "WalletRow_Menu_History", + "message": "تاریخچه", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "WalletRow_Menu_Invoice", + "message": "فاکتور", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "WalletRow_Menu_InvoiceLink", + "message": "لینک فاکتور را دریافت کنید", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "WalletRow_Menu_Send", + "message": "ارسال", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "WalletRow_Menu_Сopy", + "message": "کپی آدرس", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "WalletRow_Menu_Сopy_PrivateKey", + "message": "کپی کلید خصوصی", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "currencyAction81", + "message": "لطفا ارز مورد نظر خود را انتخاب کنید {context}", + "files": [ + "src/front/shared/components/modals/CurrencyAction/CurrencyAction.tsx" + ] + }, + { + "id": "back", + "message": "برگشت", + "files": [ + "src/front/shared/components/TourWindow/index.tsx", + "src/front/shared/components/modals/OfferModal/ConfirmOffer/ConfirmOffer.tsx" + ] + }, + { + "id": "closeTourWindow", + "message": "بستن", + "files": [ + "src/front/shared/components/TourWindow/index.tsx" + ] + }, + { + "id": "nextTourWindow", + "message": "بعدی", + "files": [ + "src/front/shared/components/TourWindow/index.tsx" + ] + }, + { + "id": "skip", + "message": "پریدن", + "files": [ + "src/front/shared/components/TourWindow/index.tsx" + ] + }, + { + "id": "continueDeclined977", + "message": "به مبادلات خود ادامه دهید", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "chooseCorrectNetwork", + "message": "لطفا کیف پول متصل را باز کنید و انتخاب کنید {br}{chainName}", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "switchToCorrectNetwork", + "message": "تغییر به {br}{chainName}", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "Yourtotalbalance", + "message": "کل موجودی شما", + "files": [ + "src/front/shared/components/BalanceForm/BalanceForm.tsx" + ] + }, + { + "id": "YourtotalbalanceDeposit", + "message": "سپرده", + "files": [ + "src/front/shared/components/BalanceForm/BalanceForm.tsx" + ] + }, + { + "id": "YourtotalbalanceSend", + "message": "ارسال", + "files": [ + "src/front/shared/components/BalanceForm/BalanceForm.tsx" + ] + }, + { + "id": "YourAssets", + "message": "دارایی های شما", + "files": [ + "src/front/shared/pages/Wallet/CurrenciesList.tsx" + ] + }, + { + "id": "ForYou", + "message": "برای شما", + "files": [ + "src/front/shared/pages/Wallet/WallerSlider/index.tsx" + ] + }, + { + "id": "YourAssetsDescription", + "message": "در اینجا می توانید با خیال راحت دارایی ها را ذخیره، ارسال و دریافت کنید", + "files": [ + "src/front/shared/pages/Wallet/CurrenciesList.tsx" + ] + }, + { + "id": "addAsset", + "message": "ارز اضافه کنید", + "files": [ + "src/front/shared/pages/Wallet/CurrenciesList.tsx" + ] + }, + { + "id": "addCustomToken", + "message": "توکن سفارشی اضافه کنید", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/InputForm.tsx", + "src/front/shared/pages/Wallet/CurrenciesList.tsx" + ] + }, + { + "id": "MybalanceswalletNav", + "message": "کیف پول من", + "files": [ + "src/front/shared/pages/Invoices/InvoicesList/index.tsx" + ] + }, + { + "id": "InvoiceInfoBlockOpenDesktopApp", + "message": "از یک کیف پول خارجی پرداخت کنید", + "files": [ + "src/front/shared/components/InvoiceInfoBlock/InvoiceInfoBlock.tsx" + ] + }, + { + "id": "InvoiceInfoBlockTitle", + "message": "پرداخت فاکتور #{id}-{invoiceNumber}", + "files": [ + "src/front/shared/components/InvoiceInfoBlock/InvoiceInfoBlock.tsx" + ] + }, + { + "id": "customTokenAddress", + "message": "آدرس رمزی", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "customTokenConfirm", + "message": "این نشانه را اضافه کنید", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "customTokenIncorrectAddress", + "message": "آدرس نامعتبر", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "NextId", + "message": "بعدی", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "customTokenNotFound", + "message": "این نیست {standard} آدرس", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "customTokenAdded", + "message": "ارز با موفقیت اضافه شد", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "customERC20_Title", + "message": "اضافه کردن ارز جدید", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "DecimalsId", + "message": "اعداد اعشاری", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "SymbolId", + "message": "نماد", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "TitleId", + "message": "عنوان", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "customERC20_addressPlaceholder", + "message": "آدرس رمز را وارد کنید", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "customERC20_searchPlaceholder", + "message": "نام یا نماد رمز را وارد کنید", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "addByAddress", + "message": "توسط آدرس", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "addBySearch", + "message": "توسط جستجو", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "selectedTokenTitle", + "message": "رمز ارز", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "selectedAssetHaveNotChains", + "message": "این دارایی هیچ آدرس رمزی در شبکه های پشتیبانی شده ندارد", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "noSearchingResult", + "message": "نتیجه ای برای {searchQuery}", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "invoiceModal_contactPlaceholder", + "message": "ضروری", + "files": [ + "src/front/shared/components/modals/InvoiceModal/InvoiceModal.tsx" + ] + }, + { + "id": "HistoryRowInvoiceStatusNew", + "message": "مدتی", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "btcmsSwitchFetchWalletsData", + "message": "گیرنده...", + "files": [ + "src/front/shared/components/modals/BtcMultisignSwitch/BtcMultisignSwitch.tsx" + ] + }, + { + "id": "btcmsSwitchFetchWalletsEmpty", + "message": "شما کیف پول BTC-Multisign ندارید", + "files": [ + "src/front/shared/components/modals/BtcMultisignSwitch/BtcMultisignSwitch.tsx" + ] + }, + { + "id": "btcmsSwitchTitle", + "message": "کیف پول های BTC-Multisign متصل", + "files": [ + "src/front/shared/components/modals/BtcMultisignSwitch/BtcMultisignSwitch.tsx" + ] + }, + { + "id": "SwitchBtcMultisigMenuRemove", + "message": "حذف", + "files": [ + "src/front/shared/components/modals/BtcMultisignSwitch/WalletRow.tsx" + ] + }, + { + "id": "SwitchBtcMultisigMenuSwitch", + "message": "تعویض", + "files": [ + "src/front/shared/components/modals/BtcMultisignSwitch/WalletRow.tsx" + ] + }, + { + "id": "ShareModal1", + "message": "لینک را کپی کنید", + "files": [ + "src/front/shared/components/modals/Share/Share.tsx" + ] + }, + { + "id": "WalletRow_Menu_BTCMS_SwitchMenu", + "message": "کیف پول را تغییر دهید", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "RequestPayment", + "message": "درخواست پرداخت", + "files": [ + "src/front/shared/components/BalanceForm/BalanceForm.tsx" + ] + }, + { + "id": "ControlShareLink_CopyLink", + "message": "لینک را کپی کنید", + "files": [ + "src/front/shared/components/controls/ShareLink/ShareLink.tsx" + ] + }, + { + "id": "ControlShareLink_LinkCopied", + "message": "لینک کپی شد", + "files": [ + "src/front/shared/components/controls/ShareLink/ShareLink.tsx" + ] + }, + { + "id": "multiSignConfirmTxModal_ConfirmTx", + "message": "تایید کردن", + "files": [ + "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx" + ] + }, + { + "id": "multiSignConfirmTxModal_DismatchTx", + "message": "رد کردن", + "files": [ + "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx" + ] + }, + { + "id": "multiSignConfirmTxModal_NoticeFetching", + "message": "بارگیری...", + "files": [ + "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx" + ] + }, + { + "id": "multiSignConfirmTxModal_Title", + "message": "تایید تراکنش BTC Multisig", + "files": [ + "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx" + ] + }, + { + "id": "multiSignConfirmTxModal_UpNotice", + "message": "معامله را بررسی کرده و آن را تایید کنید. اگر مخالف لغو هستید، معامله را رد کنید", + "files": [ + "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx" + ] + }, + { + "id": "registerSMSMPlaceHolder", + "message": "عبارت مخفی (12 کلمه)", + "files": [ + "src/front/shared/components/Header/Header.tsx" + ] + }, + { + "id": "WithdrawSMS_BroadcastError", + "message": "تراکنش پخش ناموفق({errorText})" + }, + { + "id": "WithdrawSMS_FailSignByMnemonic", + "message": "معامله علامت شکست" + }, + { + "id": "WithdrawSMS_NotValidMnemonic", + "message": "عبارت مخفی معتبر نیست" + }, + { + "id": "WithdrawSMS_WrongMnemonic", + "message": "عبارت مخفی معتبر نیست" + }, + { + "id": "BtcMultisignConfirmTx_FromAddress", + "message": "پرداخت از کیف پول", + "files": [ + "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx" + ] + }, + { + "id": "multiSignConfirmTxModal_GoToWalletPage", + "message": "باز کردن کیف پول", + "files": [ + "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx" + ] + }, + { + "id": "multiSignConfirmTxModal_YouCantSignThisTx", + "message": "شما اجازه امضای این تراکنش را ندارید (بررسی کنید که یک multisig ایجاد کرده اید)", + "files": [ + "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx" + ] + }, + { + "id": "SaveMnemonicModal_EnterNotice", + "message": "روی کلمات کلیک کنید تا آنها را به ترتیب صحیح قرار دهید", + "files": [ + "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" + ] + }, + { + "id": "SaveMnemonicModal_MnemoniceDeleted", + "message": "شما قبلاً بذر 12 کلمه ای خود را ذخیره کرده اید. {href}", + "files": [ + "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" + ] + }, + { + "id": "SaveMnemonicModal_ReadySaveNotice", + "message": "کاغذ را در جایی نگه دارید که فراموش نکنید", + "files": [ + "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" + ] + }, + { + "id": "SaveMnemonicModal_SaveMnemonicStep1", + "message": "1. عبارت را روی کاغذ بنویسید", + "files": [ + "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" + ] + }, + { + "id": "SaveMnemonicModal_SaveMnemonicStep2", + "message": "2. حتما امضا کنید که این کلید است {domain}", + "files": [ + "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" + ] + }, + { + "id": "SaveMnemonicModal_ShareMnemonicTitle", + "message": "عبارت مخفی شما", + "files": [ + "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" + ] + }, + { + "id": "SaveMnemonicModal_ShowMnemonicNotice", + "message": "این کلمات را به ترتیب صحیح بنویسید و در جای امنی نگهداری کنید.", + "files": [ + "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" + ] + }, + { + "id": "SaveMnemonicModal_Title", + "message": "عبارت مخفی شما", + "files": [ + "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" + ] + }, + { + "id": "SaveMnemonicModal_BeginContinue", + "message": "من میفهمم", + "files": [ + "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" + ] + }, + { + "id": "SaveMnemonicModal_BeginLater", + "message": "بعد", + "files": [ + "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" + ] + }, + { + "id": "SaveMnemonicModal_BeginNotice", + "message": "اکنون 12 کلمه از عبارت مخفی شما را به شما نشان می دهیم.{br}اگر آن را گم کنید، ما نمی توانیم کیف پول شما را بازیابی کنیم.", + "files": [ + "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx" + ] + }, + { + "id": "RestoryMnemonicWallet_CancelRestory", + "message": "لغو", + "files": [ + "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx" + ] + }, + { + "id": "RestoryMnemonicWallet_MnemonicField", + "message": "عبارت مخفی (12 کلمه):", + "files": [ + "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx" + ] + }, + { + "id": "RestoryMnemonicWallet_MnemonicInvalid", + "message": "شما مجموعه ای از کلمات نامعتبر را مشخص کرده اید", + "files": [ + "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx" + ] + }, + { + "id": "RestoryMnemonicWallet_Ready", + "message": "اماده", + "files": [ + "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx" + ] + }, + { + "id": "RestoryMnemonicWallet_ReadyNotice", + "message": "اکنون می توانید BTC، ETH و سایر ارزها را اضافه کنید", + "files": [ + "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx" + ] + }, + { + "id": "RestoryMnemonicWallet_RestoryWallet", + "message": "بازگردانی", + "files": [ + "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx" + ] + }, + { + "id": "RestoryMnemonicWallet_RestroringWallet", + "message": "بازیابی...", + "files": [ + "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx" + ] + }, + { + "id": "RestoryMnemonicWallet_Title", + "message": "بازیابی کیف پول از یک عبارت مخفی", + "files": [ + "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreMnemonic", + "message": "بازیابی از دانه 12 کلمه ای", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx", + "src/front/shared/pages/Wallet/CurrenciesList.tsx" + ] + }, + { + "id": "ImportKeys_RestoreMnemonic_Tooltip", + "message": "عبارت پشتیبان 12 کلمه ای - همچنین به عنوان 12 کلمه، 'پشتیبان'، عبارت بازیابی، دانه حافظه، 'seed' شناخته می شود - مجموعه ای منحصر به فرد و تصادفی از کلمات است که هنگام ایجاد کیف پول در اختیار شما قرار می گیرد. عبارت بازیابی برای استخراج یا تولید همه کلیدهای خصوصی که مستقیماً در دستگاه شما رمزگذاری شده اند استفاده می شود.", + "files": [ + "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx", + "src/front/shared/pages/CreateWallet/CreateWallet.tsx", + "src/front/shared/pages/Wallet/CurrenciesList.tsx" + ] + }, + { + "id": "ImportKeys_RestoreMnemonic_Tooltip_withBalance", + "message": "لطفا محتاط باشید! هنگامی که یک دانه جدید وارد می کنید، موجودی فعلی شما بازنشانی می شود. وجوه فعلی خود را در کیف پول دیگری ذخیره کنید.", + "files": [ + "src/front/shared/components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet.tsx", + "src/front/shared/pages/CreateWallet/CreateWallet.tsx", + "src/front/shared/pages/Wallet/CurrenciesList.tsx" + ] + }, + { + "id": "SweepBannerButton", + "message": "انجام شد", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "MainFAQHeader", + "message": "FAQ", + "files": [ + "src/front/shared/components/FAQ/FAQ.tsx", + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MainFAQ1_header", + "message": "کلیدهای خصوصی من چگونه ذخیره می شوند?", + "files": [ + "src/front/shared/components/FAQ/FAQ.tsx" + ] + }, + { + "id": "MainFAQ1_content", + "message": "کلیدهای خصوصی شما فقط در دستگاه شما، در محلی ذخیره سازی مرورگر شما ذخیره می شود. لطفاً از کلیدهای خود نسخه پشتیبان تهیه کنید، زیرا ممکن است مرورگر یا دستگاه شما از کار بیفتد.", + "files": [ + "src/front/shared/components/FAQ/FAQ.tsx" + ] + }, + { + "id": "MainFAQ2_header", + "message": "هزینه های مربوط به آن چیست؟", + "files": [ + "src/front/shared/components/FAQ/FAQ.tsx" + ] + }, + { + "id": "MainFAQ2_content", + "message": "برای تمام تراکنش‌هایی که روی پلتفرم انجام می‌دهید، TX استاندارد (کارمزد استخراج‌کنندگان) را پرداخت می‌کنید.", + "files": [ + "src/front/shared/components/FAQ/FAQ.tsx" + ] + }, + { + "id": "MainFAQ2_content1", + "message": "برای {tokenType} توکن ها، لازم است که حداقل 0.001 داشته باشید {currency} روی کیف پول شما یاد آوردن! هنگام ارسال {tokenType} توکن‌ها، باید تعدادی را نگه دارید {currency} به عنوان کارمزد ماینرها برای معاملات. این همچنین در مورد همه سوآپ های اتمی برای {currency} & {tokenType} توکن ها.", + "files": [ + "src/front/shared/components/FAQ/FAQ.tsx" + ] + }, + { + "id": "MainFAQ2_content2", + "message": "توجه: شما به راحتی می توانید «هزینه های ماینرها» مورد نیاز برای هر کوین مربوطه را با جستجوی ساده آنها بررسی کنید..", + "files": [ + "src/front/shared/components/FAQ/FAQ.tsx" + ] + }, + { + "id": "MainFAQ3_header", + "message": "چرا هزینه ماینینگ خیلی زیاد است؟", + "files": [ + "src/front/shared/components/FAQ/FAQ.tsx" + ] + }, + { + "id": "MainFAQ3_content", + "message": "کارمزدهای بلاک چین به عوامل متعددی از جمله تراکم شبکه و اندازه تراکنش بستگی دارد (که در هنگام تبدیل رمزنگاری از ورودی های متعدد مانند درآمدهای شیر آب یا سایر تراکنش های خرد تأثیر می گذارد).", + "files": [ + "src/front/shared/components/FAQ/FAQ.tsx" + ] + }, + { + "id": "MainFAQ3_content1", + "message": "به عبارت دیگر، در این صورت ممکن است نیاز به پرداخت هزینه های بلاک چین بیشتری داشته باشید:", + "files": [ + "src/front/shared/components/FAQ/FAQ.tsx" + ] + }, + { + "id": "MainFAQ3_content2", + "message": "1) شبکه بلاک چین در حال حاضر مشغول یا بارگذاری شده است. معمولاً در طول نوسانات ناگهانی نرخ بلاک چین و رویدادهای مهم جهان، کارمزد افزایش می‌یابد.;", + "files": [ + "src/front/shared/components/FAQ/FAQ.tsx" + ] + }, + { + "id": "MainFAQ3_content3", + "message": "2) حساب رمزنگاری شما دارای سابقه سپرده های خرد است. اگر حساب شما دارای مقادیر زیادی سپرده کوچک باشد، اندازه تراکنش شما بزرگتر خواهد بود زیرا از ورودی های زیادی تشکیل می شود. هرچه اندازه تراکنش بزرگتر باشد، کارمزد بلاک چین بیشتر می شود.", + "files": [ + "src/front/shared/components/FAQ/FAQ.tsx" + ] + }, + { + "id": "MainFAQ3_content4", + "message": "ممکن است دلایل دیگری برای افزایش هزینه های بلاک چین وجود داشته باشد، اما ما رایج ترین آنها را فهرست کرده ایم.", + "files": [ + "src/front/shared/components/FAQ/FAQ.tsx" + ] + }, + { + "id": "HowToWithdrawModal_Title", + "message": "نحوه عقب نشینی", + "files": [ + "src/front/shared/components/modals/HowToWithdrawModal/HowToWithdrawModal.tsx", + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "Exchange_FromAddress", + "message": "از آدرس", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "Exchange_ToAddress", + "message": "نشانی ", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "CommonTextConnect", + "message": "وصل کردن", + "files": [ + "src/front/shared/pages/Exchange/AddressSelect/AddressSelect.tsx", + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "Exchange_CustomAddressOption", + "message": "کیف پول خارجی", + "files": [ + "src/front/shared/pages/Exchange/AddressSelect/AddressSelect.tsx" + ] + }, + { + "id": "Exchange_InternalAddressOption", + "message": "کیف پول من", + "files": [ + "src/front/shared/pages/Exchange/AddressSelect/AddressSelect.tsx" + ] + }, + { + "id": "Exchange_InternalAddressOptionDisabled", + "message": "کیف پول من (موجودی ناکافی)", + "files": [ + "src/front/shared/pages/Exchange/AddressSelect/AddressSelect.tsx" + ] + }, + { + "id": "Exchange_InternalCreate", + "message": "کیف پول ایجاد کنید", + "files": [ + "src/front/shared/pages/Exchange/AddressSelect/AddressSelect.tsx" + ] + }, + { + "id": "Exchange_PlaceholderEnterAddress", + "message": "آدرس کیف پول دریافتی را وارد کنید", + "files": [ + "src/front/shared/pages/Exchange/AddressSelect/AddressSelect.tsx" + ] + }, + { + "id": "Exchange_SpecifyAddress", + "message": "انتخاب کردن...", + "files": [ + "src/front/shared/pages/Exchange/AddressSelect/AddressSelect.tsx" + ] + }, + { + "id": "Exchange_BestPrice", + "message": "بهترین قیمت:", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "History_Activity_Title", + "message": "معاملات", + "files": [ + "src/front/shared/pages/History/History.tsx" + ] + }, + { + "id": "InvoicesList_Title", + "message": "فاکتورها", + "files": [ + "src/front/shared/pages/Invoices/InvoicesList/index.tsx" + ] + }, + { + "id": "InvoiceInfoModal_ButtonShareReady", + "message": "اماده", + "files": [ + "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" + ] + }, + { + "id": "InvoiceInfoModal_CloseButton", + "message": "بستن", + "files": [ + "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" + ] + }, + { + "id": "InvoiceInfoModal_DeclimeInvoiceButton", + "message": "کاهش", + "files": [ + "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" + ] + }, + { + "id": "InvoiceInfoModal_DestinationAddress", + "message": "آدرس پرداخت {destination}", + "files": [ + "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" + ] + }, + { + "id": "InvoiceInfoModal_FromAddress", + "message": "آدرس فرستنده", + "files": [ + "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" + ] + }, + { + "id": "InvoiceInfoModal_InfoStatus_Declimed", + "message": "رد کردن", + "files": [ + "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" + ] + }, + { + "id": "InvoiceInfoModal_InfoStatus_Pending", + "message": "تا زمانی که", + "files": [ + "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" + ] + }, + { + "id": "InvoiceInfoModal_InfoStatus_Ready", + "message": "پرداخت شده", + "files": [ + "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" + ] + }, + { + "id": "InvoiceInfoModal_PayInvoiceButton", + "message": "پرداخت", + "files": [ + "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" + ] + }, + { + "id": "InvoiceInfoModal_Sender", + "message": "فرستنده (تماس)", + "files": [ + "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" + ] + }, + { + "id": "InvoiceInfoModal_ShareInvoiceText", + "message": "فاکتور #{id}-{invoiceNumber} از {contact} به {amount} {type}", + "files": [ + "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" + ] + }, + { + "id": "InvoiceInfoModal_ShareLink_InfoText", + "message": "این پیوند را برای تایید به پرداخت کننده ارسال کنید", + "files": [ + "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" + ] + }, + { + "id": "InvoiceInfoModal_Title", + "message": "فاکتور #{number}", + "files": [ + "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" + ] + }, + { + "id": "InvoiceInfoModal_TitleFetch", + "message": "واکشی فاکتور...", + "files": [ + "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" + ] + }, + { + "id": "InvoiceInfoModal_ToAddress", + "message": "آدرس پرداخت کننده", + "files": [ + "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" + ] + }, + { + "id": "multiSignConfirmTxModal_ButtonClose", + "message": "بستن", + "files": [ + "src/front/shared/components/modals/BtcMultisignConfirmTx/BtcMultisignConfirmTx.tsx" + ] + }, + { + "id": "RowHistory_ConfirmTX_NeedConfirm", + "message": "نیاز به علامت مالک دیگر", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "RowHistory_ConfirmTX_NeedYourSign", + "message": "به علامت شما نیاز دارم", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "RowHistory_ConfirmTX_SendLink", + "message": "ارسال لینک", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "RowHistory_ConfirmTX_Sign", + "message": "تایید کردن", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "RowHistory_Confirm_Cancelled", + "message": "متوقف شده", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "RowHistory_Confirm_InProgress", + "message": "در حال پیش رفت", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "RowHistory_Confirm_Rejected", + "message": "رد شده", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "RowHistory_Confirm_Sending", + "message": "ارسال شده", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "AdminFee_Message", + "message": "کمیسیون {fee}% مبلغ انتقال، اما نه کمتر از {min} {currency}", + "files": [ + "src/front/shared/components/AdminFeeInfoBlock/AdminFeeInfoBlock.tsx" + ] + }, + { + "id": "InfoPay_2_To", + "message": "{amount} با موفقیت به {br}{toAddress}", + "files": [ + "src/front/shared/pages/Transaction/TxInfo/index.tsx" + ] + }, + { + "id": "InfoPay_2_From", + "message": "{amount} با موفقیت دریافت شد {br}{fromAddress}", + "files": [ + "src/front/shared/pages/Transaction/TxInfo/index.tsx" + ] + }, + { + "id": "InfoPay_2_Self", + "message": "{amount} انتقال خود با موفقیت با {br}{address}", + "files": [ + "src/front/shared/pages/Transaction/TxInfo/index.tsx" + ] + }, + { + "id": "InfoPay_2_External", + "message": "{amount} با موفقیت از {br}{fromAddress} to {toAddress}", + "files": [ + "src/front/shared/pages/Transaction/TxInfo/index.tsx" + ] + }, + { + "id": "InfoPay_2_Error", + "message": "خطا در بارگیری داده ها", + "files": [ + "src/front/shared/pages/Transaction/TxInfo/index.tsx" + ] + }, + { + "id": "InfoPay_AdminFee", + "message": "هزینه خدمات", + "files": [ + "src/front/shared/pages/Transaction/TxInfo/index.tsx" + ] + }, + { + "id": "InfoPay_Confirmed", + "message": "تایید شده", + "files": [ + "src/front/shared/pages/Transaction/TxInfo/index.tsx" + ] + }, + { + "id": "InfoPay_FinalBalance", + "message": "تراز نهایی", + "files": [ + "src/front/shared/pages/Transaction/TxInfo/index.tsx" + ] + }, + { + "id": "InfoPay_MinerFee", + "message": "کارمزد ماینر", + "files": [ + "src/front/shared/pages/Transaction/TxInfo/index.tsx" + ] + }, + { + "id": "InfoPay_NotConfirmed", + "message": "~10 mins", + "files": [ + "src/front/shared/pages/Transaction/TxInfo/index.tsx" + ] + }, + { + "id": "InfoPay_StatusReadyHeader", + "message": "وضعیت", + "files": [ + "src/front/shared/pages/Transaction/TxInfo/index.tsx" + ] + }, + { + "id": "ExitWidget", + "message": "خروج", + "files": [ + "src/front/shared/components/Header/Header.tsx" + ] + }, + { + "id": "WidgetExitAlertTitle", + "message": "یک قدم دیگر", + "files": [ + "src/front/shared/helpers/wpLogoutModal.ts" + ] + }, + { + "id": "widgetExitAlertMessage", + "message": "عبارت مخفی خود را قبل از خروج ذخیره کنید!", + "files": [ + "src/front/shared/helpers/wpLogoutModal.ts" + ] + }, + { + "id": "WidgetExitTitle3", + "message": "خروج را تایید کنید", + "files": [ + "src/front/shared/helpers/wpLogoutModal.ts" + ] + }, + { + "id": "widgetApproveApprove", + "message": "بله", + "files": [ + "src/front/shared/helpers/wpLogoutModal.ts" + ] + }, + { + "id": "widgetApproveCancel", + "message": "لغو کردن", + "files": [ + "src/front/shared/helpers/wpLogoutModal.ts" + ] + }, + { + "id": "widgetApproveMessage", + "message": "Are you sure you want to logout?", + "files": [ + "src/front/shared/helpers/wpLogoutModal.ts" + ] + }, + { + "id": "buyByCreditCard", + "message": "با استفاده از کارت اعتباری خرید کنید", + "files": [ + "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx" + ] + }, + { + "id": "WithdrawPINProtected_ButtonUsePin", + "message": "از PIN-Code استفاده کنید", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "WithdrawPINProtected_Cancel", + "message": "لغو کردن", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "WithdrawPINProtected_Confirm", + "message": "از PIN-Code استفاده کنید", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "WithdrawPINProtected_ErrorMnemonicIncorrect", + "message": "عبارت مخفی مشخص شده با این کیف پول مطابقت ندارد", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "WithdrawPINProtected_ErrorMnemonicInvalid", + "message": "شما یک عبارت مخفی نامعتبر وارد کرده اید (12 کلمه)", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "WithdrawPINProtected_ErrorNoPinOrSmall", + "message": "کد پین باید حداقل 4 کاراکتر باشد", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "WithdrawPINProtected_LabelYourMnemonic", + "message": "عبارت مخفی شما", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "WithdrawPINProtected_LabelYourPin", + "message": "پین کد شما", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "WithdrawPINProtected_MnemonicPlaceholder", + "message": "عبارت مخفی را وارد کنید (12 کلمه)", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "WithdrawPINProtected_MnemonicUseNote", + "message": "اگر سرور مجوز آفلاین است، یا اگر پین کد را فراموش کرده اید، می توانید از عبارت مخفی (12 کلمه) استفاده کنید.", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "WithdrawPINProtected_PinCodeNotValid", + "message": "پین کدی که وارد کردید نادرست است", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "WithdrawPINProtected_PinCodePlaceholder", + "message": "پین کد خود را وارد کنید", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "WithdrawPINProtected_PincodeNote", + "message": "همچنین می توانید با وارد کردن یک کد پین، تراکنش را تأیید کنید", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "WithdrawPINProtected_ServerOffline", + "message": "سرور مجوز آفلاین است. بعداً دوباره امتحان کنید یا از یک عبارت مخفی استفاده کنید (12 کلمه).", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "WithdrawPINProtected_ShipButton", + "message": "پردازش...", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "WithdrawPINProtected_Title", + "message": "تراکنش برداشت را تایید کنید", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "WithdrawPINProtected_UpMessage", + "message": "برای تایید تراکنش، کد پین را وارد کنید.", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "WithdrawPINProtected_UpMessageMnemonic", + "message": "برای تایید تراکنش، عبارت مخفی (12 کلمه) را وارد کنید.", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "WithdrawPINProtected_UseMnemonicButton", + "message": "استفاده از عبارت مخفی (12 کلمه)", + "files": [ + "src/front/shared/components/modals/WithdrawBtcPin/WithdrawBtcPin.tsx" + ] + }, + { + "id": "ConfirmActivatePIN_Message", + "message": "شما قبلاً این نوع کیف پول را فعال کرده اید. آیا می خواهید کیف پول دیگری را فعال کنید؟", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ConfirmActivatePIN_No", + "message": "نه", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ConfirmActivatePIN_Title", + "message": "کیف پول BTC محافظت شده با PIN را فعال کنید", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ConfirmActivatePIN_Yes", + "message": "بله", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "InfoPay_FinalBalances", + "message": "ترازهای نهایی", + "files": [ + "src/front/shared/pages/Transaction/TxInfo/index.tsx" + ] + }, + { + "id": "InfoPay_IsOurAddress", + "message": "(برای شما)", + "files": [ + "src/front/shared/pages/Transaction/TxInfo/index.tsx" + ] + }, + { + "id": "WalletRow_Menu_ActivatePinProtected", + "message": "فعال کردن", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_ActivateWalletButton", + "message": "کیف پول را فعال کنید", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_ButtonCancel", + "message": "لغو کردن", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_ButtonFinish", + "message": "آماده", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_ButtonSaveMnemonic", + "message": "ذخیره", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_ConfirmRestory", + "message": "بازگردانی کیف پول", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_EnterPinCodeBottomMessage", + "message": "یک کد پین انتخاب کنید", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_EnterPinCodeUpMessage", + "message": "کیف پول BTC محافظت شده با PIN را فعال کنید", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_ErrorMnemonicIncorrect", + "message": "عبارت مخفی مشخص شده با این کیف پول مطابقت ندارد", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_ErrorMnemonicInvalid", + "message": "شما یک عبارت مخفی نامعتبر وارد کرده اید (12 کلمه)", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_ErrorNoPinOrSmall", + "message": "کد پین باید حداقل 4 کاراکتر باشد", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_ErrorPinCodesNotEqueals", + "message": "کدهای پین برابر نیستند", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_ErrorWalletLocked", + "message": "این حساب قبلاً توسط PIN-Code دیگر ثبت و محافظت شده است. لطفاً یک کد پین معتبر وارد کنید", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_FinishMessage", + "message": "کیف پول محافظت شده شما فعال شد", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_HowToWithdraw", + "message": "نحوه برداشت دستی پول", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_Instruction_Copied", + "message": "کپی", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_Instruction_Copy", + "message": "کپی شد", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_Instruction_Download", + "message": "دانلود", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_Instruction_Downloading", + "message": "دانلود کردن", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_Instruction_Message", + "message": "اطلاعات در صورت در دسترس نبودن سرویس ما", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_LabelConfirmYourPin", + "message": "کد پین خود را تأیید کنید", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_LabelYourMnemonic", + "message": "کد پین خود را تأیید کنید", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_LabelYourPinCode", + "message": "کد پین شما", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_MnemonicPlaceholder", + "message": "عبارت مخفی را وارد کنید (12 کلمه)", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_PinCodeConfirmPlaceholder", + "message": "کد پین خود را تأیید کنید", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_PinCodePlaceholder", + "message": "کد پین خود را وارد کنید", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_PinServerOffline", + "message": "سرور مجوز آفلاین است", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_RestoryBottomMessage", + "message": "عبارت مخفی را وارد کنید (12 کلمه)", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_RestoryUpMessage", + "message": "کیف پول BTC محافظت شده با PIN را بازیابی کنید", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_SaveYourMnemonic", + "message": "لطفا عبارت مخفی خود را ذخیره کنید (12 کلمه).", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_Share", + "message": "بهره", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_ShipButton", + "message": "پردازش...", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_Title", + "message": "کیف پول محافظت شده با پین را فعال کنید", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_UseMnemonicButton", + "message": "بازیابی کیف پول", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_UseMnemonicRestoreNote", + "message": "می توانید کیف پول را با استفاده از یک عبارت مخفی (12 کلمه) بازیابی کنید.", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_UsePinButton", + "message": "از PIN-Code استفاده کنید", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "RegisterPINProtectedBTC_YouNeedSaveMnemonic", + "message": "برای فعال کردن 2fa باید عبارت مخفی (12 کلمه) را ذخیره کنید..", + "files": [ + "src/front/shared/components/modals/RegisterPINProtected/RegisterPINProtected.tsx" + ] + }, + { + "id": "privateKeyCurrency", + "message": "شما {cur} کلید خصوصی", + "files": [ + "src/front/shared/components/modals/PrivateKeysModal/PrivateKeysModal.tsx" + ] + }, + { + "id": "ReceiveModal_ButtonCancel", + "message": "لغو کردن", + "files": [ + "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx" + ] + }, + { + "id": "ReceiveModal_ButtonSaveMnemonic", + "message": "ذخیره", + "files": [ + "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx" + ] + }, + { + "id": "ReceiveModal_SaveYourMnemonic", + "message": "لطفا فراموش نکنید که عبارت seed خود را ذخیره کنید. چنین اقدامی برای ذخیره وجوه شما در مواقع اضطراری لازم است.", + "files": [ + "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx" + ] + }, + { + "id": "ReceiveModal_YouNeedSaveMnemonic", + "message": "شما باید عبارت مخفی خود را ذخیره کنید.", + "files": [ + "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx" + ] + }, + { + "id": "WalletAddressModal_Message", + "message": "شما {cur} آدرس", + "files": [ + "src/front/shared/components/modals/WalletAddressModal/WalletAddressModal.tsx" + ] + }, + { + "id": "WalletAddressModal_Title", + "message": "آدرس کیف پول را کپی کنید", + "files": [ + "src/front/shared/components/modals/WalletAddressModal/WalletAddressModal.tsx" + ] + }, + { + "id": "Withdraw_BalanceDesktop", + "message": "{amount} {currency} ارسال خواهد شد", + "files": [ + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx" + ] + }, + { + "id": "Withdraw_BalanceMobile", + "message": "{amount} {currency}", + "files": [ + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx" + ] + }, + { + "id": "Withdraw_FiatBalanceDesktop", + "message": "این هست ~{amount} {currency}", + "files": [ + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx" + ] + }, + { + "id": "Withdraw_FiatBalanceMobile", + "message": "~{amount} {currency}", + "files": [ + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx" + ] + }, + { + "id": "WalletRow_ShowAddress", + "message": "نشانی را نشان دهد", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "WalletRow_MetamaskNotConnected", + "message": "متصل نیست", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "YourWalletbalance", + "message": "تعادل", + "files": [ + "src/front/shared/components/BalanceForm/BalanceForm.tsx", + "src/front/shared/components/modals/WalletConnectAccount/WalletConnectAccount.tsx" + ] + }, + { + "id": "AlertModalcreateWallet", + "message": "کیف پول ایجاد کنید", + "files": [ + "src/front/shared/components/modals/AlertWindow/index.tsx" + ] + }, + { + "id": "AlertModaldeposit", + "message": "سپرده", + "files": [ + "src/front/shared/components/modals/AlertWindow/index.tsx" + ] + }, + { + "id": "alertTitle", + "message": "هوشیار", + "files": [ + "src/front/shared/components/modals/AlertWindow/index.tsx" + ] + }, + { + "id": "AlertOrderNonEnoughtBalance", + "message": "لطفاً قبل از شروع مبادله موجودی خود را پر کنید.", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "AlertOrderNonEnoughtBalanceTitle", + "message": "تعادل کافی نیست.", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "Balance_YouAreHaveNotSignegTx", + "message": "{count} تراکنش نیاز به تایید شما دارد", + "files": [ + "src/front/shared/components/BalanceForm/BalanceForm.tsx" + ] + }, + { + "id": "multiSignJoinLink_ButtonCancel", + "message": "لغو کردن", + "files": [ + "src/front/shared/components/modals/MultisignJoinLink/MultisignJoinLink.tsx" + ] + }, + { + "id": "multiSignJoinLink_ButtonSaveMnemonic", + "message": "ذخیره", + "files": [ + "src/front/shared/components/modals/MultisignJoinLink/MultisignJoinLink.tsx" + ] + }, + { + "id": "multiSignJoinLink_SaveYourMnemonic", + "message": "لطفا عبارت مخفی خود را ذخیره کنید (12 کلمه).", + "files": [ + "src/front/shared/components/modals/MultisignJoinLink/MultisignJoinLink.tsx" + ] + }, + { + "id": "multiSignJoinLink_YouNeedSaveMnemonic", + "message": "برای فعال کردن کیف پول BTC-Multisig باید عبارت مخفی خود را ذخیره کنید.", + "files": [ + "src/front/shared/components/modals/MultisignJoinLink/MultisignJoinLink.tsx" + ] + }, + { + "id": "BTCMS_SaveMnemonicButton", + "message": "عبارت مخفی را ذخیره کنید", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx", + "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx", + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx", + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "BTCMS_SaveYourMnemonic", + "message": "لطفا عبارت مخفی خود را ذخیره کنید (12 کلمه).", + "files": [ + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "BTCMS_YouNeedSaveMnemonic", + "message": "برای فعال کردن کیف پول BTC-Multisig باید عبارت مخفی خود را ذخیره کنید.", + "files": [ + "src/front/shared/pages/Multisign/Btc/Btc.tsx" + ] + }, + { + "id": "RowWallet_MsConfirmCountMobile", + "message": "{count} tx منتظر تایید خود باشید ", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "WithdrawSMS_SmsConfirming", + "message": "تایید تراکنش" + }, + { + "id": "MnemonicInputComponent_DeleteText", + "message": "برای حذف یک کلمه کلیک کنید", + "files": [ + "src/front/shared/components/forms/MnemonicInput/MnemonicInput.tsx" + ] + }, + { + "id": "MnemonicInputComponent_Placeholder", + "message": "شروع به تایپ یک کلمه کنید...", + "files": [ + "src/front/shared/components/forms/MnemonicInput/MnemonicInput.tsx" + ] + }, + { + "id": "Exchange_AvialableBalance", + "message": "موجود: ", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "Banner_YouAreHaveNotSignegTx", + "message": "{count} تراکنش multisig منتظر تایید شماست", + "files": [ + "src/front/shared/pages/Wallet/WallerSlider/index.tsx" + ] + }, + { + "id": "ShowMyMnemonic_copy", + "message": "لطفا از کیف پول خود نسخه پشتیبان تهیه کنید", + "files": [ + "src/front/shared/pages/Wallet/WallerSlider/index.tsx" + ] + }, + { + "id": "Swap_NeedMoreAmount", + "message": "باید حداقل داشته باشی least {amount} {currency} در تعادل شما. {br} کمیسیون ماینر {sellFee} {sellCoin} و {buyFee} {buyCoin}", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "Exchange_MinerFees", + "message": "کارمزد ماینر", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "Exchange_ServiceFee", + "message": "هزینه خدمات", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "WalletRow_MetamaskConnect", + "message": "وصل کردن", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "WalletConnectAccountTitle", + "message": "حساب متصل", + "files": [ + "src/front/shared/components/modals/WalletConnectAccount/WalletConnectAccount.tsx" + ] + }, + { + "id": "UnknownNetworkConnectedWallet", + "message": "شبکه ناشناس", + "files": [ + "src/front/shared/components/Header/WalletConnect/index.tsx", + "src/front/shared/components/modals/WalletConnectAccount/WalletConnectAccount.tsx" + ] + }, + { + "id": "MetamaskDisconnect", + "message": "کیف پول را قطع کنید", + "files": [ + "src/front/shared/components/modals/WalletConnectAccount/WalletConnectAccount.tsx", + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx", + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "MM_DisconnectExternalWallet", + "message": "Marketmakig فقط با کیف پول داخلی کار می کند. لطفاً کیف پول خارجی را قطع کنید", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_TurnOffMarketmaking", + "message": "بازاریابی غیرفعال شده است زیرا کیف پول خارجی شما متصل است", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "ConfirmBeginSwapOnlyInternal", + "message": "پذیرش پیشنهاد از دفتر پیشنهاد فقط برای آدرس های داخلی به طور موقت امکان پذیر است", + "files": [ + "src/front/shared/components/modals/ConfirmBeginSwap/ConfirmBeginSwap.tsx" + ] + }, + { + "id": "offerMessageToUser", + "message": "شما باید همیشه آنلاین باشید، در غیر این صورت سفارش شما برای سایر کاربران قابل مشاهده نخواهد بود", + "files": [ + "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" + ] + }, + { + "id": "createOrderMessageForUser", + "message": "شما باید همیشه آنلاین باشید، در غیر این صورت سفارش شما برای سایر کاربران قابل مشاهده نخواهد بود", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "createOrderNoManyMessageForUser", + "message": "موجودی خود را پر کنید", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "AddLiquidity", + "message": "نقدینگی را اضافه کنید", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "MainFAQ2_content3", + "message": "هزینه های استخراج فعلی:", + "files": [ + "src/front/shared/components/FAQ/FAQ.tsx" + ] + }, + { + "id": "MetamaskNetworkAlert_Message", + "message": "شبکه اشتباه است، لطفاً به شبکه دیگری بروید {walletTitle} (یا کیف پول را جدا کنید).", + "files": [ + "src/front/shared/containers/App/App.tsx" + ] + }, + { + "id": "MetamaskNetworkAlert_OkDisconnectWallet", + "message": "کیف پول خارجی را جدا کنید", + "files": [ + "src/front/shared/containers/App/App.tsx" + ] + }, + { + "id": "MetamaskNetworkAlert_Title", + "message": "هشدار", + "files": [ + "src/front/shared/containers/App/App.tsx" + ] + }, + { + "id": "ConnectWalletModal_Cancel", + "message": "لغو کردن" + }, + { + "id": "ConnectWalletModal_Injected", + "message": "متا مسک" + }, + { + "id": "ConnectWalletModal_Title", + "message": "اتصال کیف پول خارجی" + }, + { + "id": "ConnectWalletModal_WalletConnect", + "message": "اتصال کیف پول", + "files": [ + "src/front/shared/components/modals/ConnectWalletModal/ConnectWalletModal.tsx" + ] + }, + { + "id": "FilterTextAll", + "message": "همه", + "files": [ + "src/front/shared/components/FilterForm/FilterForm.tsx" + ] + }, + { + "id": "FilterTextFind", + "message": "جستن", + "files": [ + "src/front/shared/components/FilterForm/FilterForm.tsx" + ] + }, + { + "id": "themeAlt", + "message": "{theme} قالب ", + "files": [ + "src/front/shared/components/Header/ThemeSwitcher.tsx" + ] + }, + { + "id": "widget-tour-finishStep", + "message": "خودشه! بیا شروع کنیم.", + "files": [ + "src/front/shared/components/Header/WidgetTours/WidgetWalletTour.tsx" + ] + }, + { + "id": "widget-tour-step-1", + "message": "خوش آمدید به {widgetName}. به تور بروید؟", + "files": [ + "src/front/shared/components/Header/WidgetTours/WidgetWalletTour.tsx" + ] + }, + { + "id": "widget-tour-step-2", + "message": "این موجودی کیف پول شماست.", + "files": [ + "src/front/shared/components/Header/WidgetTours/WidgetWalletTour.tsx" + ] + }, + { + "id": "widget-tour-step-3", + "message": "از این دکمه ها برای انتقال ارزهای دیجیتال به داخل و خارج کیف پول خود استفاده کنید.", + "files": [ + "src/front/shared/components/Header/WidgetTours/WidgetWalletTour.tsx" + ] + }, + { + "id": "widget-tour-step-4", + "message": "برای یافتن محصولات، خدمات و اطلاعات مفید در این منو حرکت کنید.", + "files": [ + "src/front/shared/components/Header/WidgetTours/WidgetWalletTour.tsx" + ] + }, + { + "id": "widget-tour-step-5", + "message": "برای یافتن آدرس کیف پول، کلیدهای خصوصی و موارد دیگر، روی این سه نقطه کلیک کنید.", + "files": [ + "src/front/shared/components/Header/WidgetTours/WidgetWalletTour.tsx" + ] + }, + { + "id": "widget-tour-step-6", + "message": "برای بررسی لیستی از تراکنش های اخیر خود روی این دکمه کلیک کنید.", + "files": [ + "src/front/shared/components/Header/WidgetTours/WidgetWalletTour.tsx" + ] + }, + { + "id": "widget-tour-step-7", + "message": "برای مبادله ارزهای دیجیتال خود روی این دکمه کلیک کنید.", + "files": [ + "src/front/shared/components/Header/WidgetTours/WidgetWalletTour.tsx" + ] + }, + { + "id": "WTH276", + "message": "مقدار نباید بیشتر از شما باشد{br} موجودی فعلی منهای کارمزد استخراج", + "files": [ + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx" + ] + }, + { + "id": "Comment", + "message": "نظر", + "files": [ + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx" + ] + }, + { + "id": "ConnectWalletModal_WalletLocked", + "message": "کیف پول قفل شده است. ابتدا قفل کیف پول را باز کنید.", + "files": [ + "src/front/shared/components/modals/ConnectWalletModal/ConnectWalletModal.tsx" + ] + }, + { + "id": "Exchange_ConnectAddressOption", + "message": "کیف پول را وصل کنید", + "files": [ + "src/front/shared/components/Header/WalletConnect/index.tsx", + "src/front/shared/components/modals/WalletConnectAccount/WalletConnectAccount.tsx", + "src/front/shared/pages/Exchange/AddressSelect/AddressSelect.tsx", + "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" + ] + }, + { + "id": "add_notice", + "message": "اعلان اضافه کنید", + "files": [ + "src/front/shared/components/Comment/Comment.tsx" + ] + }, + { + "id": "CreateWallet_ConnectWalletButton", + "message": "اگر قبلا کیف پول اتریوم دارید از این استفاده کنید", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_ConnectWallet", + "message": "کیف پول را وصل کنید", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "InfoPay_Comment", + "message": "نظر", + "files": [ + "src/front/shared/pages/Transaction/TxInfo/index.tsx" + ] + }, + { + "id": "FeeInfoBlockTotalFee", + "message": "مجموع هزینه هایی که پرداخت می کنید:", + "files": [ + "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/index.tsx" + ] + }, + { + "id": "FeeInfoBlockMinerFee", + "message": "کارمزد ماینر:", + "files": [ + "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/index.tsx" + ] + }, + { + "id": "FeeInfoBlockMinerFeeTooltip", + "message": "مقدار ارز دیجیتالی که برای تشویق ماینرها برای تایید تراکنش شما پرداخت شده است", + "files": [ + "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/index.tsx" + ] + }, + { + "id": "FeeInfoBlockServiceFee", + "message": "هزینه خدمات", + "files": [ + "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/index.tsx", + "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" + ] + }, + { + "id": "FeeInfoBlockServiceFeeConditions", + "message": "مبلغ انتقال، اما نه کمتر از", + "files": [ + "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/index.tsx" + ] + }, + { + "id": "localStorageUserNotification", + "message": "✔️ این داده ها حاوی کلیدهای خصوصی شما نیستند", + "files": [ + "src/front/shared/pages/LocalStorage/LocalStorage.tsx" + ] + }, + { + "id": "FourthStep37BtcLike", + "message": "({currencyName} tx)", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/ABSteps/SecondStep.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/UTXOSteps/SecondStep.tsx" + ] + }, + { + "id": "FourthStep37_BtcLike", + "message": "({currencyName} tx)", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/ABSteps/ThirdStep.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapSteps/UTXOSteps/ThirdStep.tsx" + ] + }, + { + "id": "SwapProgressText_FirstStep", + "message": "لطفا صبر کنید", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerAbToUtxo.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerUtxoToAb.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerAbToUtxo.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerUtxoToAb.tsx" + ] + }, + { + "id": "SwapProgressText_CheckingBalance", + "message": "بررسی تعادل..", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerAbToUtxo.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerUtxoToAb.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerAbToUtxo.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerUtxoToAb.tsx" + ] + }, + { + "id": "SwapProgressText_WaitPatricipantDeposit", + "message": "در انتظار واریز سایر شرکت کنندگان {buyCurrency}", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerAbToUtxo.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerUtxoToAb.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerAbToUtxo.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerUtxoToAb.tsx" + ] + }, + { + "id": "SwapProgressText_DepositingYourSide", + "message": "سپرده گذاری {sellCurrency}.{br}ممکن است چند دقیقه طول بکشد", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerAbToUtxo.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerUtxoToAb.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerAbToUtxo.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerUtxoToAb.tsx" + ] + }, + { + "id": "SwapProgressText_WithdrawRequest", + "message": "درخواست انصراف از {buyCurrency} قرارداد", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerAbToUtxo.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerUtxoToAb.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerAbToUtxo.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerUtxoToAb.tsx" + ] + }, + { + "id": "SwapProgressText_Finish", + "message": "{buyCurrency} توکن ها به کیف پول شما منتقل شد. تعادل را بررسی کنید", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerAbToUtxo.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerUtxoToAb.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerAbToUtxo.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerUtxoToAb.tsx" + ] + }, + { + "id": "SwapProgressText_End", + "message": "از اینکه از Swap.Online استفاده کردید متشکریم!", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerAbToUtxo.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerUtxoToAb.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerAbToUtxo.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerUtxoToAb.tsx" + ] + }, + { + "id": "SwapProgressText_MakerWaitTakerWithdraw", + "message": "در انتظار برای {buyCurrency} Owner to add a Secret Key to {sellCurrency} قرارداد", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerAbToUtxo.tsx", + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerUtxoToAb.tsx" + ] + }, + { + "id": "SwapProgressText_CreateSecret", + "message": "یک کلید مخفی ایجاد کنید", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/TakerUtxoToAb.tsx" + ] + }, + { + "id": "SwapProgressText_VerifyScript", + "message": "را {buyCurrency} اسکریپت ایجاد و شارژ شد", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapList/SwapProgressTexts/MakerAbToUtxo.tsx" + ] + }, + { + "id": "localStorageBtnBack", + "message": "برگشت", + "files": [ + "src/front/shared/pages/LocalStorage/LocalStorage.tsx" + ] + }, + { + "id": "FAQServiceFee", + "message": "هزینه خدمات (فقط برداشت):", + "files": [ + "src/front/shared/components/FAQ/FAQ.tsx" + ] + }, + { + "id": "FAQServiceFeeDescription", + "message": "نه کمتر از", + "files": [ + "src/front/shared/components/FAQ/FAQ.tsx" + ] + }, + { + "id": "NetworkStatusPeersOnlineMessage", + "message": "جستجوی همتایان و پیشنهادات ممکن است چند دقیقه طول بکشد. ما پیشنهادات را در یک سرور متمرکز ذخیره نمی کنیم. در عوض، ما از شبکه libp2p توسط Protocol Labs استفاده می کنیم که مانند یک شبکه تورنت کار می کند، به این معنی که هر کاربر مانند شما یک همتا در این شبکه است. اگر در عرض چند دقیقه هیچ پیشنهادی پیدا نشد، به این معنی است که هیچ پیشنهاد منطبقی وجود ندارد یا کاربری که پیشنهاد را ارائه کرده آفلاین است.", + "files": [ + "src/front/shared/components/NetworkStatus/NetworkStatus.tsx" + ] + }, + { + "id": "DebugStoredDataLink", + "message": "نمایش داده های ذخیره شده", + "files": [ + "src/front/shared/pages/Swap/Debug/Debug.tsx" + ] + }, + { + "id": "DebugSwapDataTitle", + "message": "مبادله داده ها:", + "files": [ + "src/front/shared/pages/Swap/Debug/Debug.tsx" + ] + }, + { + "id": "OrderBookOffersNoteOverLoader", + "message": "به دنبال پیشنهادات از طرف همتایان آنلاین", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" + ] + }, + { + "id": "OrderBookOffersNoteUnderLoader", + "message": "ممکن است یک دقیقه طول بکشد", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" + ] + }, + { + "id": "Swap_MetamaskAttention", + "message": "لطفاً تراکنش را در خود تأیید کنید \"{walletName}\" wallet", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" + ] + }, + { + "id": "FAQFeeApiLink", + "message": "(منبع)", + "files": [ + "src/front/shared/components/FAQ/FAQ.tsx" + ] + }, + { + "id": "Swap_OwnerHasLockedUTX", + "message": "تعویض موقتاً متوقف شد زیرا تراکنش تأیید نشده ای در mempool دارید. در انتظار تایید", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" + ] + }, + { + "id": "Swap_SellerHasLockedUTX", + "message": "مبادله موقتاً متوقف شد زیرا مالک تراکنش تأیید نشده در mempool دارد. در انتظار تایید", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" + ] + }, + { + "id": "OrderBookOffersOfflineNote", + "message": "اگر هیچ پیشنهادی یافت نشد، به این معنی است که هیچ کاربری وجود ندارد که پیشنهاد را پست کرده باشد، نه آنلاین.", + "files": [ + "src/front/shared/pages/Exchange/Orders/OrderBook/OrderBook.tsx" + ] + }, + { + "id": "Swap_UtxoBroadcastError", + "message": "تعویض موقتاً متوقف شد زیرا پخش tx با خطا به پایان رسید \"{error}\"", + "files": [ + "src/front/shared/pages/Swap/UTXOSwap/SwapProgress/SwapProgress.tsx" + ] + }, + { + "id": "WalletRowNodeIsDownTooltipMessage", + "message": "شما نمی توانید معاملات انجام دهید", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "WithdrowBalanceNotEnoughtPrompt", + "message": "موجودی کافی برای ارسال وجود ندارد", + "files": [ + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx" + ] + }, + { + "id": "WithdrowTokenCurrencyBalance", + "message": "کافی نیست {tokenCurrency} موجودی برای کارمزد ماینر", + "files": [ + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx" + ] + }, + { + "id": "CreateOffer_BuyToken_NeedEth", + "message": "To buy {buyCurrency} you need to have {ethAmount} ETH to pay the commission", + "files": [ + "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" + ] + }, + { + "id": "CreateOffer_SellToken_NeedEth", + "message": "To sell {sellCurrency} you need to have {ethAmount} ETH to pay the commission", + "files": [ + "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx" + ] + }, + { + "id": "RowHistoryInvoiceContact", + "message": "اتصال:", + "files": [ + "src/front/shared/pages/History/Row/Row.tsx" + ] + }, + { + "id": "AtomicSwap_Title", + "message": "مبادله اتمی", + "files": [ + "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx", + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "TurboSwap_Title", + "message": "مبادله توربو", + "files": [ + "src/front/shared/components/modals/OfferModal/AddOffer/AddOffer.tsx", + "src/front/shared/pages/Exchange/AtomicSwap.tsx", + "src/front/shared/pages/TurboSwap/TurboSwap.tsx" + ] + }, + { + "id": "TurboSwap_You", + "message": "شما", + "files": [ + "src/front/shared/pages/TurboSwap/TurboSwap.tsx" + ] + }, + { + "id": "TurboSwap_Maker", + "message": "سازنده", + "files": [ + "src/front/shared/pages/TurboSwap/TurboSwap.tsx" + ] + }, + { + "id": "TurboSwap_Taker", + "message": "گیرنده", + "files": [ + "src/front/shared/pages/TurboSwap/TurboSwap.tsx" + ] + }, + { + "id": "TurboSwap_StatusPending", + "message": "تا زمانی که...", + "files": [ + "src/front/shared/pages/TurboSwap/TurboSwap.tsx" + ] + }, + { + "id": "TurboSwap_StatusFinished", + "message": "تمام شد!", + "files": [ + "src/front/shared/pages/TurboSwap/TurboSwap.tsx" + ] + }, + { + "id": "TurboIcon_Tip", + "message": "مبادله سریعتر و ارزان تر با بازاریاب قابل اعتماد، برای مقادیر کم توصیه می شود", + "files": [ + "src/front/shared/components/ui/TurboIcon/TurboIcon.tsx" + ] + }, + { + "id": "ButtonPendingState", + "message": "تا زمانی که", + "files": [ + "src/front/shared/components/controls/Button/Button.tsx" + ] + }, + { + "id": "DropDownNoOptionsInTheList", + "message": "هیچ گزینه ای وجود ندارد", + "files": [ + "src/front/shared/components/ui/DropDown/index.tsx" + ] + }, + { + "id": "menu.marketmaker", + "message": "کسب کردن", + "files": [ + "src/front/shared/components/Header/config.tsx" + ] + }, + { + "id": "FormattedMessageIdApprove", + "message": "تصویب کردن {token}", + "files": [ + "src/front/shared/components/modals/LimitOrder/ModalForm.tsx", + "src/front/shared/pages/Exchange/AtomicSwap.tsx", + "src/front/shared/pages/Exchange/QuickSwap/Footer.tsx" + ] + }, + { + "id": "FeeRadiosSpeedTypeCustom", + "message": "برحسب عادت", + "files": [ + "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" + ] + }, + { + "id": "FeeRadiosSpeedTypeDescriptionCustom", + "message": "نرخ کارمزد سفارشی را تنظیم کنید.", + "files": [ + "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" + ] + }, + { + "id": "FeeRadiosSpeedTypeDescriptionFast", + "message": "میانگین چرخشی کارمزد تراکنش‌ها که باید در 1 تا 2 بلوک تأیید شود.", + "files": [ + "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" + ] + }, + { + "id": "FeeRadiosSpeedTypeDescriptionMedium", + "message": "میانگین چرخشی کارمزد تراکنش‌ها در 3 تا 6 بلوک تأیید می‌شود.", + "files": [ + "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" + ] + }, + { + "id": "FeeRadiosSpeedTypeDescriptionSlow", + "message": "میانگین چرخشی کارمزد تراکنش‌ها که باید در 7 بلوک یا بیشتر تأیید شود.", + "files": [ + "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" + ] + }, + { + "id": "FeeRadiosSpeedTypeFast", + "message": "سریع", + "files": [ + "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" + ] + }, + { + "id": "FeeRadiosSpeedTypeMedium", + "message": "متوسط", + "files": [ + "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" + ] + }, + { + "id": "FeeRadiosSpeedTypeSlow", + "message": "آرام", + "files": [ + "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" + ] + }, + { + "id": "FeeRadiosSpeedTypeTimeFast", + "message": "~5-20 دقیقه", + "files": [ + "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" + ] + }, + { + "id": "FeeRadiosSpeedTypeTimeMedium", + "message": "~25-60 دقیقه", + "files": [ + "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" + ] + }, + { + "id": "FeeRadiosSpeedTypeTimeSlow", + "message": "60+ دقیقه", + "files": [ + "src/front/shared/components/modals/WithdrawModal/components/FeeInfoBlock/FeeRadios/index.tsx" + ] + }, + { + "id": "ExchangeTokenWasApproved", + "message": "اوکن تایید شد.{br}لینک کاوشگر: {txLink}", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "Orderbook", + "message": "سفارش کتاب", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "MM_FAQ_TotalSum", + "message": "- در هر زمان معین، مجموع موجودی BTC و {token} بیشتر از قبل خواهد بود.", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_Audit", + "message": "- برنامه حسابرسی را از {link}.", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_NotStore", + "message": "- مقادیر زیاد یا وجوه قرض گرفته شده را ذخیره نکنید.", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_FundAccess", + "message": "- کلیدهای وجوه شما فقط نزد شماست، ما به وجوه شما دسترسی نداریم", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_ItemBody2-5", + "message": "اطلاع رسانی ریسک", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_ItemContent1", + "message": "یک بازارساز از تفاوت نرخ ارز هنگام ارائه خدمات خرید و فروش (اسپرد) درآمد کسب می کند.", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_HowMuchEarn", + "message": "ما از 10٪ در سال (APY) اعلام می کنیم. اگر تعداد مبادلات کافی نباشد، کاربران را به انجام مبادلات با استفاده از جایزه تشویق می کنیم.", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_ItemContent4", + "message": "(در حال توسعه)", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_ItemContent5", + "message": "هیچ حداقل مدتی وجود ندارد، شما می توانید وجوه را در هر زمان برداشت کنید.", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_ItemContent6", + "message": "به جوامعی که در آن عضو هستید در مورد امکان مبادله بگویید.", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_ItemTitle7", + "message": "چرا به {token} نیاز دارم؟ من فقط به کسب بیت کوین علاقه دارم.", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_ItemContent7-1", + "message": "فقط با بیت کوین می توانید پر کنید. اما به ناچار، در برخی مواقع، موجودی BTC شما ممکن است کاهش یابد و {token} ممکن است افزایش یابد، و بالعکس.", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_ItemContent7-2", + "message": "در هر زمان، مجموع این مانده ها بیشتر از قبل خواهد بود.", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_ItemContent7-3", + "message": "اگر می خواهید بیت کوین را برداشت کنید، اما برخی از آنها در {token} هستند، باید خودتان {token} را تغییر دهید، مثلاً از طریق صرافی بایننس..", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_ItemTitle8", + "message": "چرا کاربران خود را از طریق تبادل بایننس مبادله نمی کنند؟", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_ItemContent8", + "message": "مشتریان ما تمرکززدایی را دوست دارند و از آن حمایت می کنند. صرافی ما از طریق قراردادهای هوشمند کار می کند و ما نمی توانیم وجوه مشتری را بیش از 3 ساعت مسدود کنیم..", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_ItemTitle1", + "message": "چرا کار می کند؟", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_Safety", + "message": "آیا این امن است؟ آیا تعادل ممکن است کاهش یابد؟", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_ItemTitle3", + "message": "چقدر درآمد خواهم داشت؟", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_ItemTitle4", + "message": "حداقل تعادل مورد نیاز برای شروع چقدر است؟", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_ItemTitle5", + "message": "حداقل دوره بازارسازی چقدر است؟", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_ItemTitle6", + "message": "چگونه درآمد را افزایش دهیم؟", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_Choose_Farming_Body1", + "message": "Получайте дополнительную награду в SWAP токенах, заморозив LP токены." + }, + { + "id": "MM_Choose_Farming_Button", + "message": "Начать фарминг" + }, + { + "id": "MM_Choose_Farming_Title", + "message": "Фарминг" + }, + { + "id": "MM_Choose_InBrowser_Body1", + "message": "Подходит для того, что бы попробовать." + }, + { + "id": "MM_Choose_InBrowser_Body2", + "message": "Если вы закроете браузер, вы перестанете зарабатывать." + }, + { + "id": "MM_Choose_InBrowser_Button", + "message": "Начать в браузере" + }, + { + "id": "MM_Choose_InBrowser_Title", + "message": "Маркетмейкер в браузере" + }, + { + "id": "MM_Choose_Server_Body1", + "message": "Подходит для продвинутых пользователей." + }, + { + "id": "MM_Choose_Server_Body2", + "message": "Требуется сервер для разворачивания образа Docker." + }, + { + "id": "MM_Choose_Server_Button", + "message": "Читать инструкцию" + }, + { + "id": "MM_Choose_Server_Title", + "message": "Маркетмейкер-сервер" + }, + { + "id": "MM_Choose_Title", + "message": "Выберите способ" + }, + { + "id": "MM_Choose_Uniswap_Body1", + "message": "Подходит для продвинутых пользователей." + }, + { + "id": "MM_Choose_Uniswap_Body2", + "message": "Зарабатывайте когда другие продают или покупают SWAP токены." + }, + { + "id": "MM_Choose_Uniswap_Button", + "message": "Создать пул" + }, + { + "id": "MM_Choose_Uniswap_Title", + "message": "Создайте uniswap-пул SWAP/ETH" + }, + { + "id": "MM_Promo_Title", + "message": "سود کسب کنید {utxoTitle}", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerPromo.tsx", + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_Promo_TitleBody", + "message": "در swap.io تبادل کاربران {utxoCoin} برای {token} (توکنی که مانند {utxoCoin} هزینه دارد، اما روی {Ab_Title} کار می‌کند)، و بالعکس.", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerPromo.tsx", + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MMPercentEarn", + "message": "شما از هر سوآپ 0.5% درآمد خواهید داشت", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_BTCBalance", + "message": " مبادله {utxoCoin}:", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_ConnectMetamask", + "message": "متاماسک را وصل کنید", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_DepositeWallet", + "message": "پر کردن، انتقال به", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_DisconnectMetamask", + "message": "متاماسک را قطع کنید", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_ETHBalance", + "message": "موجودی {AB_Coin}: {balance} (برای کارمزد ماینر)", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_StartHere", + "message": "بازاریابی را از اینجا شروع کنید", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_Wallet_Required", + "message": "یک کیف پول داغ برای راه اندازی بازاریابی لازم است ({utxoCoin}، {AB_Coin}، {token}).", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_Wallet_Restore", + "message": "بازیابی از دانه 12 کلمه ای", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_NotEnoughCoins", + "message": "بودجه ناکافی. باید {utxoCoin} یا {token} خود را شارژ کنید", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_NotEnoughtEth", + "message": "{AB_Coin} برای پرداخت کمیسیون ماینرها کافی نیست. شما باید حداقل 0.02 {AB_Coin} داشته باشید", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_SwapHistory_Empty", + "message": "شما هیچ تعویضی ندارید، MM را روشن کنید و منتظر بمانید تا کسی سفارشات شما را بپذیرد", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_SwapHistory_LockTime", + "message": "زمان قفل کردن", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_SwapHistory_Status", + "message": "وضعیت", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_SwapHistory_Step", + "message": "قدم", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_SwapHistory_Title", + "message": "تاریخچه تعویض", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_SwapHistory_YouBuy", + "message": "خرید شما", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_SwapHistory_YouSell", + "message": "فروش شما", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_ToggleText", + "message": "بازاریابی {utxoCoin}/{token}", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_TokenBalance", + "message": "موجودی {توکن}:", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_TotalBalance", + "message": "{token}, BTC" + }, + { + "id": "MM_ToggleTextEnabled", + "message": "هشدار! شما باید همیشه آنلاین باشید...", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_WarningMessage", + "message": "هشدار! شما باید همیشه آنلاین بمانید، در غیر این صورت درآمدی نخواهید داشت یا اگر مبادله در حال پردازش باشد (چند ساعت طول می کشد) ممکن است سرمایه خود را از دست بدهید! اگر نمی‌توانید زمان طولانی را تضمین کنید - بازاریابی را خاموش کنید.", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_ToggleTextDisabled", + "message": "برای شروع کسب درآمد، این کلید را روشن کنید", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_TotalEarned", + "message": "مجموع کسب شده:", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_MarketmakingSimbols", + "message": "{token} + {utxoCoin}", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_MarketmakingBalanceTitle", + "message": "نقدینگی کل:", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_whatIsWBTCTooltip1", + "message": "{tokenFullName} ({token}) یک نشانه {tokenStandart} است که نشان دهنده {utxoTitle} ({utxoCoin}) در زنجیره بلاک {blockchainName} است.", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_whatIsWBTCTooltip2", + "message": "{token} ایجاد شد تا به دارندگان {utxoTitle} اجازه دهد در برنامه‌های مالی غیرمتمرکز ('DeFi') شرکت کنند که در {blockchainName} محبوب هستند..", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx" + ] + }, + { + "id": "MM_InstallExtentionTitle", + "message": "افزونه کروم را نصب کنید و همین امروز شروع به کسب درآمد کنید", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerPromo.tsx" + ] + }, + { + "id": "MM_InstallExtentionBtn", + "message": "برنامه افزودنی کروم را نصب کنید", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerPromo.tsx" + ] + }, + { + "id": "MM_FAQ_HighRisk", + "message": "- هر عملیات ارز دیجیتال ریسک بالایی دارد.", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_ImpermanentLoss", + "message": "چه زیان دائمی مورد انتظار است؟", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_FAQ_ImpermanentLossContent", + "message": "در هر زمان، مجموع این مانده ها بیشتر از قبل خواهد بود. اگر می خواهید بیت کوین را برداشت کنید، اما برخی از آنها در {token} هستند، باید خودتان {token} را تغییر دهید، مثلاً از طریق صرافی بایننس..", + "files": [ + "src/front/shared/pages/Marketmaker/FAQ.tsx" + ] + }, + { + "id": "MM_InstallDevExtention", + "message": "دانلود نسخه توسعه", + "files": [ + "src/front/shared/pages/Marketmaker/MarketmakerPromo.tsx" + ] + }, + { + "id": "CleanLocalStorage", + "message": "وای، به نظر می رسد برنامه باید فضای ذخیره سازی محلی شما را تمیز کند. لطفاً عبارت 12 کلمه‌ای خود را ذخیره کنید (اگر قبلاً آن را ذخیره نکرده‌اید)، سپس فضای ذخیره‌سازی محلی را با کلیک کردن روی دکمه پاک کنید و دوباره 12 کلمه را وارد کنید. با عرض پوزش برای ناراحتی. {indent} {button}", + "files": [ + "src/front/shared/components/Header/Header.tsx" + ] + }, + { + "id": "WalletEmptyBalance", + "message": "کیف پول موجود نیست", + "files": [ + "src/front/shared/components/modals/WithdrawModal/WithdrawModal.tsx", + "src/front/shared/pages/Wallet/Wallet.tsx" + ] + }, + { + "id": "ClearAndReload", + "message": "پاک کردن و بارگیری مجدد", + "files": [ + "src/front/shared/components/Header/Header.tsx" + ] + }, + { + "id": "FooterSwapDescription", + "message": "'از سال 2018 آنلاین است. تاریخچه {twitter} و {github} ما را بررسی کنید", + "files": [ + "src/front/shared/components/Footer/Footer.tsx" + ] + }, + { + "id": "AppErrorMessage", + "message": "یه چیزی اشتباهه سعی کنید به صفحه اصلی بازگردید یا این صفحه را بارگیری مجدد کنید.", + "files": [ + "src/front/shared/components/ErrorBoundary/index.tsx" + ] + }, + { + "id": "NotEnoughForBuy", + "message": "شما باید حداقل کمیسیون ماینر داشته باشید {buyFee} {buyCoin}", + "files": [ + "src/front/shared/pages/Exchange/AtomicSwap.tsx" + ] + }, + { + "id": "WalletRow_MetamaskNotAvailableNetwork", + "message": "لطفا دیگری را انتخاب کنید", + "files": [ + "src/front/shared/pages/Wallet/Row/Row.tsx" + ] + }, + { + "id": "bankCardButtonDescription", + "message": "در پنجره مودال، برای مبادله وجوه فیات با {buyCurrency} باید چندین مرحله را طی کنید. {buyCurrency} را در پنجره انتخاب کنید و آدرس کیف پول خود را مشخص کنید (می توانید آن را در زیر کپی کنید). صبر کنید تا وجوه به آدرس شما واریز شود. سپس می توانید با استفاده از آن توکن خریداری کنید.", + "files": [ + "src/front/shared/components/Header/WidgetTours/QuickSwapFormTour.tsx", + "src/front/shared/pages/Exchange/QuickSwap/InputForm.tsx" + ] + }, + { + "id": "noActiveOrders", + "message": "بدون سفارش فعال", + "files": [ + "src/front/shared/components/LimitOrders/index.tsx" + ] + }, + { + "id": "rate", + "message": "نرخ", + "files": [ + "src/front/shared/components/LimitOrders/index.tsx" + ] + }, + { + "id": "youPay", + "message": "پرداخت شما", + "files": [ + "src/front/shared/components/LimitOrders/OrderSettings.tsx", + "src/front/shared/components/LimitOrders/index.tsx" + ] + }, + { + "id": "yourOrders", + "message": "سفارشات شما", + "files": [ + "src/front/shared/components/LimitOrders/index.tsx" + ] + }, + { + "id": "limitOrderCreated", + "message": "شما با موفقیت سفارش را ایجاد کردید", + "files": [ + "src/front/shared/components/modals/LimitOrder/index.tsx" + ] + }, + { + "id": "limitOrderIsNotCreated", + "message": "مشکلی پیش آمد. بعدا دوباره تلاش کنید", + "files": [ + "src/front/shared/components/modals/LimitOrder/index.tsx" + ] + }, + { + "id": "create", + "message": "ایجاد", + "files": [ + "src/front/shared/components/modals/LimitOrder/ModalForm.tsx" + ] + }, + { + "id": "limitOrder", + "message": "سفارش محدود", + "files": [ + "src/front/shared/components/modals/LimitOrder/ModalForm.tsx" + ] + }, + { + "id": "notEnoughTokensForSwap", + "message": "همه ارزها برای مبادله در دسترس نیستند. به نظر می رسد توکن کافی ندارید. سعی کنید تعداد بیشتری از آنها را اضافه کنید.", + "files": [ + "src/front/shared/components/modals/LimitOrder/ModalForm.tsx" + ] + }, + { + "id": "transacton", + "message": "معامله", + "files": [ + "src/front/shared/components/notifications/Transaction/index.tsx", + "src/front/shared/pages/Transaction/Transaction.tsx" + ] + }, + { + "id": "transactionIsCompleted", + "message": "معامله انجام شده است", + "files": [ + "src/front/shared/components/notifications/Transaction/index.tsx" + ] + }, + { + "id": "viewTransaction", + "message": "معامله را مشاهده کنید", + "files": [ + "src/front/shared/components/notifications/Transaction/index.tsx" + ] + }, + { + "id": "atomicSwap", + "message": "سوآپ اتمی", + "files": [ + "src/front/shared/pages/Exchange/index.tsx" + ] + }, + { + "id": "quickSwap", + "message": "تعویض سریع", + "files": [ + "src/front/shared/pages/Exchange/index.tsx" + ] + }, + { + "id": "gasLimit", + "message": "حد گاز", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx" + ] + }, + { + "id": "gasLimitNotice", + "message": "حد گاز حداکثر مقدار واحد گازی است که شما مایل به مصرف آن هستید", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx" + ] + }, + { + "id": "gasPrice", + "message": "قیمت گاز", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx" + ] + }, + { + "id": "gasPriceNotice", + "message": "قیمت گاز مقدار اتری که شما مایل به پرداخت برای هر واحد گاز هستید را مشخص می کند", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx" + ] + }, + { + "id": "createLimitOrder", + "message": "ایجاد سفارش محدود" + }, + { + "id": "limitOrders", + "message": "سفارشات را محدود کنید" + }, + { + "id": "swap", + "message": "عوض کردن", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Footer.tsx", + "src/front/shared/pages/Exchange/QuickSwap/SourceActions.tsx" + ] + }, + { + "id": "fee", + "message": "دستمزد", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" + ] + }, + { + "id": "network", + "message": "شبکه", + "files": [ + "src/front/shared/components/modals/WalletConnectAccount/WalletConnectAccount.tsx", + "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" + ] + }, + { + "id": "buyViaBankCard", + "message": "خرید از طریق کارت بانکی", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/InputForm.tsx" + ] + }, + { + "id": "slippageNotice", + "message": "اگر قیمت بیش از این درصد تغییر نامطلوب داشته باشد، تراکنش شما برگردانده می شود", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx", + "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" + ] + }, + { + "id": "slippageTolerance", + "message": "تحمل لغزش", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx", + "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" + ] + }, + { + "id": "addressOfYourWallet", + "message": "آدرس کیف پول شما:", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" + ] + }, + { + "id": "total", + "message": "مجموع", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" + ] + }, + { + "id": "allOrders", + "message": "همه سفارشات", + "files": [ + "src/front/shared/components/LimitOrders/AllOrdersHeader.tsx" + ] + }, + { + "id": "buyToken", + "message": "خرید", + "files": [ + "src/front/shared/components/LimitOrders/Row.tsx" + ] + }, + { + "id": "Chain", + "message": "زنجیر", + "files": [ + "src/front/shared/components/LimitOrders/OrderSettings.tsx" + ] + }, + { + "id": "noOptions", + "message": "هیچ گزینه ای وجود ندارد", + "files": [ + "src/front/shared/components/LimitOrders/OrderSettings.tsx" + ] + }, + { + "id": "disclaimerAboutBetaVersion", + "message": "* سلب مسئولیت: صرافی از پروتکل نقدینگی 0x 3 استفاده می کند. مراقب باشید و با مسئولیت خود استفاده کنید." + }, + { + "id": "insufficientBalance", + "message": "تعادل ناکافی" + }, + { + "id": "insufficientLiquidity", + "message": "نقدینگی استخر ناکافی", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" + ] + }, + { + "id": "addNewCurrencyMessage", + "message": "در صفحه کیف پول، روی دکمه افزودن ارز کلیک کنید.", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" + ] + }, + { + "id": "checkTokenInTheSwapList", + "message": "اکنون می توانید نشانه خود را در لیست مشاهده کنید.", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" + ] + }, + { + "id": "choseTokenStandard", + "message": "یک استاندارد توکن را انتخاب کنید و روی دکمه ادامه کلیک کنید.", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" + ] + }, + { + "id": "confirmTokenAddition", + "message": "اطلاعات را بررسی کنید و اضافه کردن نشانه را تأیید کنید.", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" + ] + }, + { + "id": "createNewPoolInAggregates", + "message": "یکی از منابع پشتیبانی شده را انتخاب کنید و در آنجا یک استخر جدید با توکن خود ایجاد کنید.", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" + ] + }, + { + "id": "detailedInformation", + "message": "اطلاعات دقیق", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" + ] + }, + { + "id": "enterTokenContractAddress", + "message": "آدرس قرارداد رمزی را وارد کنید.", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" + ] + }, + { + "id": "howToAddToken", + "message": "چگونه یک توکن اضافه کنیم", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" + ] + }, + { + "id": "ifYouDoNotSeeNewToken", + "message": "شما نمی توانید برخی از توکن ها را مبادله کنید، زیرا ممکن است استخر نقدینگی موجود با توکن شما وجود نداشته باشد. اگر می خواهید آن را مبادله کنید، باید یک مورد جدید ایجاد کنید.", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" + ] + }, + { + "id": "youWillSeeYourToken", + "message": "شما نمی توانید برخی از توکن ها را مبادله کنید، زیرا ممکن است استخر نقدینگی موجود با توکن شما وجود نداشته باشد. اگر می خواهید آن را مبادله کنید، باید یک مورد جدید ایجاد کنید.", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/TokenInstruction.tsx" + ] + }, + { + "id": "executeOrder", + "message": "دستور را اجرا کنید", + "files": [ + "src/front/shared/components/LimitOrders/OrderPurchaseModal.tsx" + ] + }, + { + "id": "limitOrderFillDescription", + "message": "شما نمی توانید تمام موجودی خود را خرج کنید. مقدار {sellToken} را که می خواهید خرج کنید وارد کنید.", + "files": [ + "src/front/shared/components/LimitOrders/OrderPurchaseModal.tsx" + ] + }, + { + "id": "remainingMakerAmount", + "message": "مقدار باقیمانده سازنده", + "files": [ + "src/front/shared/components/LimitOrders/OrderPurchaseModal.tsx" + ] + }, + { + "id": "remainingTakerAmount", + "message": "مقدار باقیمانده گیرنده", + "files": [ + "src/front/shared/components/LimitOrders/OrderPurchaseModal.tsx" + ] + }, + { + "id": "youCanSpend", + "message": "میتونی خرج کنی", + "files": [ + "src/front/shared/components/LimitOrders/OrderPurchaseModal.tsx" + ] + }, + { + "id": "yourBalance", + "message": "تعادل شما", + "files": [ + "src/front/shared/components/LimitOrders/OrderPurchaseModal.tsx" + ] + }, + { + "id": "customSlippageValueNotice", + "message": "می توانید مقدار تحمل لغزش سفارشی را در تنظیمات پیشرفته تنظیم کنید و دوباره امتحان کنید" + }, + { + "id": "insufficientSlippage", + "message": "لغزش ناکافی سعی کنید آن را افزایش دهید", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" + ] + }, + { + "id": "notEnoughAssetsNotice", + "message": "شما دارایی های موجود برای مبادله {networkName} ندارید. لطفاً شبکه را تغییر دهید یا یک دارایی سفارشی به کیف پول اضافه کنید.", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/index.tsx" + ] + }, + { + "id": "disclaimerAbout1inch", + "message": "* سلب مسئولیت: سفارشات محدود توسط یک پروتکل سفارش محدود 3 اینچی ارائه می شود و باید در نسخه بتا در نظر گرفته شوند. مراقب باشید و با مسئولیت خود استفاده کنید.", + "files": [ + "src/front/shared/components/modals/LimitOrder/ModalForm.tsx" + ] + }, + { + "id": "Connect", + "message": "اتصال", + "files": [ + "src/front/shared/components/modals/ConnectWalletModal/ConnectWalletModal.tsx" + ] + }, + { + "id": "chooseNetwork", + "message": "انتخاب شبکه", + "files": [ + "src/front/shared/components/modals/ConnectWalletModal/ConnectWalletModal.tsx" + ] + }, + { + "id": "chooseWallet", + "message": "انتخاب کیف پول", + "files": [ + "src/front/shared/components/modals/ConnectWalletModal/ConnectWalletModal.tsx" + ] + }, + { + "id": "approveTokenFirst", + "message": "لطفاً ابتدا {token} را تأیید کنید", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" + ] + }, + { + "id": "InvoiceInfoModal_Comment", + "message": "نظرات", + "files": [ + "src/front/shared/components/modals/InfoInvoice/InfoInvoice.tsx" + ] + }, + { + "id": "howToDeposit", + "message": "نحوه واریز", + "files": [ + "src/front/shared/components/modals/ReceiveModal/ReceiveModal.tsx" + ] + }, + { + "id": "tryAnyway", + "message": "به هر حال سعی کن" + }, + { + "id": "unknownSwapProblemHasOccurred", + "message": "مشکل ناشناخته رخ داده است. احتمالاً ما نمی توانیم این جفت را عوض کنیم", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" + ] + }, + { + "id": "SaveKe33", + "message": "دانلود ", + "files": [ + "src/front/shared/components/SaveKeys/SaveKeys.tsx" + ] + }, + { + "id": "invalidSlippagePercent", + "message": "درصد لغزش نامعتبر است", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx" + ] + }, + { + "id": "source", + "message": "منبع", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Header.tsx", + "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" + ] + }, + { + "id": "transactionDeadline", + "message": "مهلت معامله (دقیقه)", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx" + ] + }, + { + "id": "transactionMayBeFrontrun", + "message": "معامله ممکن است پیشرو باشد", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx" + ] + }, + { + "id": "transactionMayFail", + "message": "معامله ممکن است شکست بخورد", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Settings.tsx" + ] + }, + { + "id": "liquidityPoolProblem", + "message": "استخر نقدینگی مشکل دارد. سعی کنید با یک بخش منبع مبادله کنید", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" + ] + }, + { + "id": "doNotHaveNativeCurrencyBalance", + "message": "برای پرداخت هزینه تراکنش، موجودی ارز بومی ندارید", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" + ] + }, + { + "id": "addLiquidity", + "message": "نقدینگی را اضافه کنید", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Footer.tsx", + "src/front/shared/pages/Exchange/QuickSwap/SourceActions.tsx" + ] + }, + { + "id": "approveBothTokens", + "message": "لطفاً ابتدا هر دو نشانه را تأیید کنید", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" + ] + }, + { + "id": "liquidityPairDoesNotExist", + "message": "این جفت نقدینگی ندارد. شما می توانید یک مورد جدید ایجاد کنید و اولین ارائه دهنده نقدینگی باشید", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" + ] + }, + { + "id": "aggregator", + "message": "جمع کننده", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Header.tsx" + ] + }, + { + "id": "settings", + "message": "تنظیمات", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Header.tsx" + ] + }, + { + "id": "aggregatorFeeDescription", + "message": "درصدی از مبلغ خریدی که به عنوان کمیسیون دریافت می شود", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx" + ] + }, + { + "id": "failedTransaction", + "message": "تراکنش ناموفق", + "files": [ + "src/front/shared/components/notifications/Transaction/index.tsx" + ] + }, + { + "id": "amountNoMoreThenBalance", + "message": "مبلغ نباید بیشتر از موجودی شما باشد", + "files": [ + "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" + ] + }, + { + "id": "Search", + "message": "جستجو", + "files": [ + "src/front/shared/components/modals/AddCustomToken/index.tsx" + ] + }, + { + "id": "aggregatorCannotUseThisNetwork", + "message": "Aggregator نمی تواند از این شبکه استفاده کند. لطفا دیگری را انتخاب کنید", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" + ] + }, + { + "id": "topUpCurrencyBalance", + "message": "لطفا موجودی {currency} را شارژ کنید", + "files": [ + "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginContinue", + "message": "من میفهمم", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginLater", + "message": "بعدا پس انداز میکنم", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginNotice", + "message": "اکنون سه کد مخفی را به شما نشان خواهیم داد.{br}اگر حداقل دو مورد از آنها را گم کنید، نمی‌توانیم کیف پول شما را بازیابی کنیم.", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CountSavedSecrets", + "message": "ذخیره شده توسط {saved} از {total}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_MnemoniceDeleted", + "message": "شما قبلاً کدهای اشتراک مخفی Shamir خود را ذخیره کرده اید. {href}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ReadySaveNotice", + "message": "کدهای ذخیره شده خود را از دست ندهید", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShareMnemonicTitle", + "message": "Shamir's Secret-Share codes", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShowMnemonicNotice", + "message": "این کدها را ذخیره کنید. اگر حداقل دو مورد از آنها را گم کنید، امکان بازیابی کیف پول وجود نخواهد داشت", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_Title", + "message": "Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseCopy", + "message": "کپی 🀄", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSave", + "message": "صرفه جویی", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSend", + "message": "ارسال", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs", + "message": "بازیابی از Secret-Sharing", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip", + "message": "Shamir's Secret-Sharing for Mnemonic Codes", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip_withBalance", + "message": "لطفا مراقب باش!", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Cancel", + "message": "Отмена", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_SelectMethod", + "message": "یک روش بازیابی را انتخاب کنید", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Title", + "message": "بازیابی کیف پول", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseMnemonic", + "message": "با استفاده از 12 کلمه بازیابی کنید", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseShamirs", + "message": "بازیابی با استفاده از Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Cancel", + "message": "لغو کنید", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_SelectMethod", + "message": "روشی را انتخاب کنید", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Title", + "message": "صرفه جویی در کیف پول", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseMnemonic", + "message": "12 کلمه ذخیره کنید", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseShamirs", + "message": "صرفه جویی Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "Shamirs_Restory_CancelRestory", + "message": "لغو کنید", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_DoRestore", + "message": "بازگرداندن", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretOne", + "message": "کد مخفی شماره 1 را وارد کنید", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretTwo", + "message": "کد مخفی شماره 2 را وارد کنید", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_IsDoRestoring", + "message": "در حال بازیابی", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Ready", + "message": "آماده", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_ReadyNotice", + "message": "اکنون می توانید بیت کوین، اتریوم و سایر ارزها را اضافه کنید", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_RestoreHasError", + "message": "هنگام بازیابی خطایی روی داد: {errorMessage}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOne", + "message": "کد مخفی شماره 1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOneError", + "message": "کد مخفی شماره 1 صحیح را وارد کنید", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwo", + "message": "کد مخفی شماره 2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwoError", + "message": "کد مخفی شماره 2 صحیح را وارد کنید", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Title", + "message": "بازیابی کیف پول", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CodeNfromSite", + "message": "کد اشتراک مخفی Shamir #{number} از {sitehost}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + } +] diff --git a/src/front/shared/localisation/ko.json b/src/front/shared/localisation/ko.json index 076fc6e30a..d827bcf34d 100644 --- a/src/front/shared/localisation/ko.json +++ b/src/front/shared/localisation/ko.json @@ -1603,6 +1603,7 @@ "message": "계속하다.", "files": [ "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", "src/front/shared/pages/CreateWallet/Steps/FirstStep.tsx" ] }, @@ -1751,6 +1752,7 @@ "message": "준비가 되어 있습니다!", "files": [ "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" ] @@ -5945,5 +5947,278 @@ "files": [ "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" ] + }, + { + "id": "ShamirsSecretSave_BeginContinue", + "message": "이해합니다", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginLater", + "message": "나중에 저장하겠습니다", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginNotice", + "message": "이제 3개의 비밀 코드를 보여드리겠습니다.{br}이 중 2개 이상을 분실하면 지갑을 복구할 수 없습니다.", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CountSavedSecrets", + "message": "저장한 사람은 {total}명 중 {saved}명입니다.", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_MnemoniceDeleted", + "message": "Shamir의 Secret-Share 코드를 이미 저장했습니다. {href}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ReadySaveNotice", + "message": "저장된 코드를 잃어버리지 마세요", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShareMnemonicTitle", + "message": "Shamir's Secret-Share codes", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShowMnemonicNotice", + "message": "이 코드를 저장하십시오. 2개 이상 분실 시 지갑 복구 불가", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_Title", + "message": "Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseCopy", + "message": "복사", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSave", + "message": "구하다", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSend", + "message": "보내다", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs", + "message": "다음에서 복원 Shamir's Secret-Sharing", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip", + "message": "Shamir's Secret-Sharing for Mnemonic Codes", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip_withBalance", + "message": "조심하세요!", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Cancel", + "message": "취소", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_SelectMethod", + "message": "복구 방법 선택", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Title", + "message": "지갑 복구", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseMnemonic", + "message": "12단어를 사용하여 복구", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseShamirs", + "message": "다음을 사용하여 복원 Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Cancel", + "message": "취소", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_SelectMethod", + "message": "방법을 선택하십시오", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Title", + "message": "지갑 절약", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseMnemonic", + "message": "12단어 저장", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseShamirs", + "message": "저장 Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "Shamirs_Restory_CancelRestory", + "message": "취소", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_DoRestore", + "message": "복원", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretOne", + "message": "비밀번호 1번 입력", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretTwo", + "message": "비밀번호 2번 입력", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_IsDoRestoring", + "message": "복원 중", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Ready", + "message": "준비가 된", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_ReadyNotice", + "message": "이제 BTC, ETH 및 기타 통화를 추가할 수 있습니다.", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_RestoreHasError", + "message": "복원 중 오류 발생: {errorMessage}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOne", + "message": "비밀 코드 #1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOneError", + "message": "올바른 비밀번호 1번을 입력하세요.", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwo", + "message": "비밀 코드 #2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwoError", + "message": "올바른 비밀번호 #2를 입력하세요.", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Title", + "message": "지갑 복구", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CodeNfromSite", + "message": "{sitehost}의 Shamir의 비밀 공유 코드 #{number}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] } ] diff --git a/src/front/shared/localisation/nl.json b/src/front/shared/localisation/nl.json index dc1e117b95..c9810be15e 100644 --- a/src/front/shared/localisation/nl.json +++ b/src/front/shared/localisation/nl.json @@ -1480,6 +1480,7 @@ "message": "Volgende", "files": [ "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", "src/front/shared/pages/CreateWallet/Steps/FirstStep.tsx" ] }, @@ -1628,6 +1629,7 @@ "message": "Gereed", "files": [ "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" ] @@ -5945,5 +5947,278 @@ "files": [ "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" ] + }, + { + "id": "ShamirsSecretSave_BeginContinue", + "message": "Ik begrijp", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginLater", + "message": "Ik zal later sparen", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginNotice", + "message": "Nu laten we u drie geheime codes zien.{br}Als u er ten minste twee kwijtraakt, kunnen we uw portemonnee niet herstellen", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CountSavedSecrets", + "message": "Gered door {saved} van {total}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_MnemoniceDeleted", + "message": "Je hebt je Shamir's Secret-Share-codes al opgeslagen. {href}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ReadySaveNotice", + "message": "Raak uw opgeslagen codes niet kwijt", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShareMnemonicTitle", + "message": "Shamir's Secret-Share-codes", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShowMnemonicNotice", + "message": "Bewaar deze codes. Als u er minstens twee verliest, is het niet mogelijk om de portemonnee te herstellen", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_Title", + "message": "Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseCopy", + "message": "Kopiëren", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSave", + "message": "Sparen", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSend", + "message": "Versturen", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs", + "message": "Herstel vanuit Shamir's Secret Sharing", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip", + "message": "Shamir's Secret-Sharing for Mnemonic Codes", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip_withBalance", + "message": "Wees alstublieft voorzichtig!", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Cancel", + "message": "Annuleren", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_SelectMethod", + "message": "Kies een herstelmethode", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Title", + "message": "Portemonnee Herstel", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseMnemonic", + "message": "Herstel met behulp van 12-woorden", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseShamirs", + "message": "Herstel met behulp van Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Cancel", + "message": "Annuleren", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_SelectMethod", + "message": "Kies een methode", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Title", + "message": "Portemonnee besparen", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseMnemonic", + "message": "Bewaar 12 woorden", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseShamirs", + "message": "Bespaar Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "Shamirs_Restory_CancelRestory", + "message": "Annuleren", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_DoRestore", + "message": "Herstellen", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretOne", + "message": "Voer geheime code #1 in", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretTwo", + "message": "Voer geheime code #2 in", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_IsDoRestoring", + "message": "Herstellen", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Ready", + "message": "Klaar", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_ReadyNotice", + "message": "Nu kunt u BTC, ETH en andere valuta toevoegen", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_RestoreHasError", + "message": "Er is een fout opgetreden tijdens het herstellen: {errorMessage}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOne", + "message": "Geheime code #1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOneError", + "message": "Voer de juiste geheime code #1 in", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwo", + "message": "Geheime code #2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwoError", + "message": "Voer de juiste geheime code #2 in", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Title", + "message": "Portemonnee Herstel", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CodeNfromSite", + "message": "Shamir's Secret-Share code #{number} van {sitehost}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] } ] diff --git a/src/front/shared/localisation/pl.json b/src/front/shared/localisation/pl.json index 6806c94af5..b2a241b08f 100644 --- a/src/front/shared/localisation/pl.json +++ b/src/front/shared/localisation/pl.json @@ -1480,6 +1480,7 @@ "message": "Kontynuuj", "files": [ "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", "src/front/shared/pages/CreateWallet/Steps/FirstStep.tsx" ] }, @@ -1628,6 +1629,7 @@ "message": "Gotowe", "files": [ "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" ] @@ -5949,5 +5951,278 @@ "files": [ "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" ] + }, + { + "id": "ShamirsSecretSave_BeginContinue", + "message": "Rozumiem", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginLater", + "message": "Zapiszę później", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginNotice", + "message": "Teraz pokażemy Ci trzy tajne kody.{br}Jeśli zgubisz co najmniej dwa z nich, nie będziemy mogli przywrócić Twojego portfela", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CountSavedSecrets", + "message": "Zapisane przez {saved} z {total}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_MnemoniceDeleted", + "message": "Masz już zapisane kody Shamir's Secret-Share. {href}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ReadySaveNotice", + "message": "Nie trać zapisanych kodów", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShareMnemonicTitle", + "message": "Shamir's Secret-Share codes", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShowMnemonicNotice", + "message": "Zapisz te kody. Jeśli zgubisz co najmniej dwa z nich, nie będzie można przywrócić portfela", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_Title", + "message": "Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseCopy", + "message": "Kopiuj", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSave", + "message": "Zapisać", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSend", + "message": "Wysłać", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs", + "message": "Przywrócić z Shamir's Secret-Sharing", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip", + "message": "Shamir's Secret-Sharing for Mnemonic Codes", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip_withBalance", + "message": "Proszę bądź ostrożny!", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Cancel", + "message": "Anulować", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_SelectMethod", + "message": "Wybierz metodę odzyskiwania", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Title", + "message": "Odzyskiwanie portfela", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseMnemonic", + "message": "Odzyskaj za pomocą 12 słów", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseShamirs", + "message": "Przywróć za pomocą Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Cancel", + "message": "Anulować", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_SelectMethod", + "message": "Wybierz metodę", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Title", + "message": "Oszczędność portfela", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseMnemonic", + "message": "Zapisz 12 słów", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseShamirs", + "message": "Zapisz Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "Shamirs_Restory_CancelRestory", + "message": "Anulować", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_DoRestore", + "message": "Przywrócić", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretOne", + "message": "Wprowadź tajny kod #1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretTwo", + "message": "Wprowadź tajny kod #2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_IsDoRestoring", + "message": "Przywracanie", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Ready", + "message": "Gotowe", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_ReadyNotice", + "message": "Teraz możesz dodawać BTC, ETH i inne waluty", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_RestoreHasError", + "message": "Wystąpił błąd podczas przywracania: {errorMessage}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOne", + "message": "Tajny kod #1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOneError", + "message": "Wprowadź poprawny tajny kod #1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwo", + "message": "Tajny kod #2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwoError", + "message": "Wprowadź poprawny tajny kod #2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Title", + "message": "Odzyskiwanie portfela", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CodeNfromSite", + "message": "Kod Shamir's Secret-Share #{number} z {sitehost}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] } ] diff --git a/src/front/shared/localisation/pt.json b/src/front/shared/localisation/pt.json index ed9984fd48..82757bf2a7 100644 --- a/src/front/shared/localisation/pt.json +++ b/src/front/shared/localisation/pt.json @@ -1603,6 +1603,7 @@ "message": "Prosseguir", "files": [ "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", "src/front/shared/pages/CreateWallet/Steps/FirstStep.tsx" ] }, @@ -1751,6 +1752,7 @@ "message": "Preparar", "files": [ "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" ] @@ -5945,5 +5947,278 @@ "files": [ "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" ] + }, + { + "id": "ShamirsSecretSave_BeginContinue", + "message": "Eu entendo", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginLater", + "message": "Vou salvar depois", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginNotice", + "message": "Agora mostraremos três códigos secretos.{br}Se você perder pelo menos dois deles, não poderemos restaurar sua carteira", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CountSavedSecrets", + "message": "Salvo por {saved} de {total}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_MnemoniceDeleted", + "message": "Você já salvou seus códigos Shamir's Secret-Share. {href}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ReadySaveNotice", + "message": "Não perca seus códigos salvos", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShareMnemonicTitle", + "message": "Shamir's Secret-Share codes", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShowMnemonicNotice", + "message": "Salve esses códigos. Se você perder pelo menos dois deles, não será possível restaurar a carteira", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_Title", + "message": "Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseCopy", + "message": "Cópia de", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSave", + "message": "Salvar", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSend", + "message": "Mandar", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs", + "message": "Restaurar de Shamir's Secret-Sharing", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip", + "message": "Shamir's Secret-Sharing for Mnemonic Codes", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip_withBalance", + "message": "Por favor, seja cuidadoso!", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Cancel", + "message": "Cancelar", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_SelectMethod", + "message": "Escolha um método de recuperação", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Title", + "message": "Recuperação de carteira", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseMnemonic", + "message": "Recupere usando 12 palavras", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseShamirs", + "message": "Restaurar usando Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Cancel", + "message": "Cancelar", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_SelectMethod", + "message": "Escolha um método", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Title", + "message": "Economia de carteira", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseMnemonic", + "message": "Salvar 12 palavras", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseShamirs", + "message": "Salve Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "Shamirs_Restory_CancelRestory", + "message": "Cancelar", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_DoRestore", + "message": "Restaurar", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretOne", + "message": "Digite o código secreto #1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretTwo", + "message": "Digite o código secreto #2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_IsDoRestoring", + "message": "Restaurando", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Ready", + "message": "Preparar", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_ReadyNotice", + "message": "Agora você pode adicionar BTC, ETH e outras moedas", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_RestoreHasError", + "message": "Ocorreu um erro durante a restauração: {errorMessage}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOne", + "message": "Código secreto #1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOneError", + "message": "Digite o código secreto #1 correto", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwo", + "message": "Código secreto #2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwoError", + "message": "Insira o código secreto #2 correto", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Title", + "message": "Recuperação de carteira", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CodeNfromSite", + "message": "Código Shamir's Secret-Share #{number} de {sitehost}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] } ] diff --git a/src/front/shared/localisation/ru.json b/src/front/shared/localisation/ru.json index a45b9db31b..18a8db4b20 100644 --- a/src/front/shared/localisation/ru.json +++ b/src/front/shared/localisation/ru.json @@ -1662,6 +1662,7 @@ "message": "Продолжить", "files": [ "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", "src/front/shared/pages/CreateWallet/Steps/FirstStep.tsx" ] }, @@ -1754,6 +1755,7 @@ "message": "Ready", "files": [ "src/front/shared/components/modals/SaveMnemonicModal/SaveMnemonicModal.tsx", + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx", "src/front/shared/components/modals/WithdrawBtcMultisig/WithdrawBtcMultisig.tsx", "src/front/shared/components/modals/WithdrawModalMultisig/WithdrawModalMultisigUser.tsx" ] @@ -5949,5 +5951,278 @@ "files": [ "src/front/shared/pages/Exchange/QuickSwap/Feedback.tsx" ] + }, + { + "id": "ShamirsSecretSave_BeginContinue", + "message": "Я понимаю", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginLater", + "message": "Я сохраню позже", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_BeginNotice", + "message": "Сейчас мы вам покажем три секретных кода.{br}Если вы потеряете хотя-бы два из них, мы не сможем восстановить ваш кошелек", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CountSavedSecrets", + "message": "Сохранено {saved} из {total}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_MnemoniceDeleted", + "message": "You have already saved your Shamir's Secret-Share codes. {href}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ReadySaveNotice", + "message": "Не потеряете сохраненные коды", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShareMnemonicTitle", + "message": "Shamir's Secret-Share codes", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_ShowMnemonicNotice", + "message": "Сохраните эти коды. Если вы потеряете хотя-бы два из них, восстановить кошелек будет не возможно", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_Title", + "message": "Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseCopy", + "message": "Скопировать", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSave", + "message": "Сохранить", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ShamirsSecretSave_UseSend", + "message": "Отправить", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs", + "message": "Restore from Secret-Sharing", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip", + "message": "Shamir's Secret-Sharing for Mnemonic Codes", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "ImportKeys_RestoreShamirs_Tooltip_withBalance", + "message": "Please, be causious!", + "files": [ + "src/front/shared/pages/CreateWallet/CreateWallet.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Cancel", + "message": "Отмена", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_SelectMethod", + "message": "Выберите способо восстановления", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_Title", + "message": "Восстановление кошелька", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseMnemonic", + "message": "Восстановить используя 12-слов", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "RestoreWalletSelectMethod_UseShamirs", + "message": "Восстановить используя Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Cancel", + "message": "Отмена", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_SelectMethod", + "message": "Выберите способ", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_Title", + "message": "Сохранение кошелька", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseMnemonic", + "message": "Сохранить 12-слов", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "SaveWalletSelectMethod_UseShamirs", + "message": "Сохранить Shamir's Secret-Share", + "files": [ + "src/front/shared/components/modals/SaveWalletSelectMethod/SaveWalletSelectMethod.tsx" + ] + }, + { + "id": "Shamirs_Restory_CancelRestory", + "message": "Отмена", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_DoRestore", + "message": "Восстановить", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretOne", + "message": "Введите секретный код #1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_EnterSecretTwo", + "message": "Введите секретный код #2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_IsDoRestoring", + "message": "Восстанавливаем", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Ready", + "message": "Готово", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_ReadyNotice", + "message": "Теперь вы можете добавить BTC, ETH и другие валюты", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_RestoreHasError", + "message": "При восстановлении произошла ошибка: {errorMessage}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOne", + "message": "Секретный код #1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretOneError", + "message": "Введите корректный секретный код #1", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwo", + "message": "Секретный код #2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_SecretTwoError", + "message": "Введите корректный секретный код #2", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "Shamirs_Restory_Title", + "message": "Восстановление кошелька", + "files": [ + "src/front/shared/components/modals/ShamirsSecretRestory/ShamirsSecretRestory.tsx" + ] + }, + { + "id": "ShamirsSecretSave_CodeNfromSite", + "message": "Секретный Shamir's Secret-Share код #{number} от сайта {sitehost}", + "files": [ + "src/front/shared/components/modals/ShamirsSecretSave/ShamirsSecretSave.tsx" + ] } ] diff --git a/src/front/shared/pages/CreateWallet/CreateWallet.scss b/src/front/shared/pages/CreateWallet/CreateWallet.scss index 9d172994c8..40a29e0ddb 100644 --- a/src/front/shared/pages/CreateWallet/CreateWallet.scss +++ b/src/front/shared/pages/CreateWallet/CreateWallet.scss @@ -366,7 +366,7 @@ } .wrapper h2 { - padding-top: 90px; + padding-top: 110px; margin-bottom: 65px; font-size: 32px; } diff --git a/src/front/shared/pages/CreateWallet/CreateWallet.tsx b/src/front/shared/pages/CreateWallet/CreateWallet.tsx index 8121499175..a59d79b056 100644 --- a/src/front/shared/pages/CreateWallet/CreateWallet.tsx +++ b/src/front/shared/pages/CreateWallet/CreateWallet.tsx @@ -100,13 +100,17 @@ function CreateWallet(props) { } const handleShowMnemonic = () => { - actions.modals.open(constants.modals.SaveMnemonicModal) + actions.modals.open(constants.modals.SaveWalletSelectMethod) } const handleRestoreMnemonic = () => { actions.modals.open(constants.modals.RestoryMnemonicWallet) } + const handleRestoreShamirs = () => { + actions.modals.open(constants.modals.ShamirsSecretRestory) + } + const validate = () => { // @ts-ignore: strictNullChecks setError(null) @@ -263,28 +267,52 @@ function CreateWallet(props) {

{!noInternalWallet && ( -
- -   - - - -
-
-
+ <> +
+ +   + + -
- - -
+
+
+
+ +
+
+
+
+
+ +   + + + +
+
+
+ +
+
+
+
+ )} {!metamask.isConnected() && (
diff --git a/src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx b/src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx index 1f9f4020ed..7491425493 100644 --- a/src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx +++ b/src/front/shared/pages/Exchange/QuickSwap/UserInfo.tsx @@ -59,7 +59,7 @@ function UserInfo(props: ComponentProps) { const saveSecretPhrase = !mnemonicSaved && !metamask.isConnected() const saveMnemonic = () => { - actions.modals.open(constants.modals.SaveMnemonicModal, { + actions.modals.open(constants.modals.SaveWalletSelectMethod, { onClose: () => { const mnemonic = localStorage.getItem(constants.privateKeyNames.twentywords) diff --git a/src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx b/src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx index 9686fcfae7..9d6896592d 100644 --- a/src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx +++ b/src/front/shared/pages/Marketmaker/MarketmakerSettings.tsx @@ -348,7 +348,7 @@ class MarketmakerSettings extends Component { } handleSaveMnemonic = () => { - actions.modals.open(constants.modals.SaveMnemonicModal, { + actions.modals.open(constants.modals.SaveWalletSelectMethod, { onClose: () => { const mnemonic = localStorage.getItem(constants.privateKeyNames.twentywords) const mnemonicSaved = (mnemonic === `-`) diff --git a/src/front/shared/pages/Multisign/Btc/Btc.tsx b/src/front/shared/pages/Multisign/Btc/Btc.tsx index 94e9ec0c59..bc2d99a815 100644 --- a/src/front/shared/pages/Multisign/Btc/Btc.tsx +++ b/src/front/shared/pages/Multisign/Btc/Btc.tsx @@ -250,7 +250,7 @@ class Btc extends PureComponent { handleSaveMnemonic = async () => { //@ts-ignore: strictNullChecks - actions.modals.open(constants.modals.SaveMnemonicModal, { + actions.modals.open(constants.modals.SaveWalletSelectMethod, { onClose: () => { const mnemonic = localStorage.getItem(constants.privateKeyNames.twentywords) const mnemonicSaved = mnemonic === `-` diff --git a/src/front/shared/pages/Wallet/Row/Row.tsx b/src/front/shared/pages/Wallet/Row/Row.tsx index e0b6e68313..2b47f5b4ae 100644 --- a/src/front/shared/pages/Wallet/Row/Row.tsx +++ b/src/front/shared/pages/Wallet/Row/Row.tsx @@ -412,7 +412,7 @@ class Row extends Component { } handleShowMnemonic = () => { - actions.modals.open(constants.modals.SaveMnemonicModal) + actions.modals.open(constants.modals.SaveWalletSelectMethod) } connectMetamask = () => { diff --git a/src/front/shared/pages/Wallet/WallerSlider/index.tsx b/src/front/shared/pages/Wallet/WallerSlider/index.tsx index 9feae1a006..5525470883 100644 --- a/src/front/shared/pages/Wallet/WallerSlider/index.tsx +++ b/src/front/shared/pages/Wallet/WallerSlider/index.tsx @@ -162,7 +162,7 @@ class WallerSlider extends React.Component handleShowMnemonic = () => { //@ts-ignore: strictNullChecks - actions.modals.open(constants.modals.SaveMnemonicModal, { + actions.modals.open(constants.modals.SaveWalletSelectMethod, { onClose: () => { const mnemonic = localStorage.getItem(constants.privateKeyNames.twentywords) const mnemonicDeleted = mnemonic === '-' diff --git a/src/front/shared/pages/Wallet/Wallet.tsx b/src/front/shared/pages/Wallet/Wallet.tsx index 6d3c7d9ebd..96d05f154b 100644 --- a/src/front/shared/pages/Wallet/Wallet.tsx +++ b/src/front/shared/pages/Wallet/Wallet.tsx @@ -148,6 +148,7 @@ class Wallet extends PureComponent { enabledCurrencies: user.getActivatedCurrencies(), multisigPendingCount, } + window.testSaveShamirsSecrets = () => { this.testSaveShamirsSecrets() } } handleConnectWallet() { @@ -371,6 +372,11 @@ class Wallet extends PureComponent { return 0 } + testSaveShamirsSecrets = () => { + actions.modals.open(constants.modals.ShamirsSecretSave) + } + + addFiatBalanceInUserCurrencyData = (currencyData) => { currencyData.forEach((wallet) => { wallet.fiatBalance = this.returnFiatBalanceByWallet(wallet) diff --git a/src/front/shared/redux/actions/user.ts b/src/front/shared/redux/actions/user.ts index 201bf10525..741c365176 100644 --- a/src/front/shared/redux/actions/user.ts +++ b/src/front/shared/redux/actions/user.ts @@ -10,6 +10,8 @@ import TOKEN_STANDARDS, { EXISTING_STANDARDS } from 'helpers/constants/TOKEN_STA import actions from 'redux/actions' import { getState } from 'redux/core' import reducers from 'redux/core/reducers' +import { getActivatedCurrencies } from 'helpers/user' + const onlyEvmWallets = (config?.opts?.ui?.disableInternalWallet) ? true : false const enabledCurrencies = config.opts.curEnabled @@ -76,10 +78,26 @@ const sign = async () => { initReducerState() let mnemonic = localStorage.getItem(constants.privateKeyNames.twentywords) + let needGenerateShamirSecret = false + const shamirsMnemonics = localStorage.getItem(constants.privateKeyNames.shamirsMnemonics) if (!mnemonic) { mnemonic = mnemonicUtils.getRandomMnemonicWords() localStorage.setItem(constants.privateKeyNames.twentywords, mnemonic) + needGenerateShamirSecret = true + } else if (mnemonic !== `-`) { + needGenerateShamirSecret = true + } + // Generate Shamir's Secret-Sharing for Mnemonic Codes + if (needGenerateShamirSecret && !shamirsMnemonics) { + const shamirsSharing = mnemonicUtils.splitMnemonicToSecretParts(mnemonic) + localStorage.setItem(constants.privateKeyNames.shamirsMnemonics, JSON.stringify(shamirsSharing.mnemonics)) + localStorage.setItem( + constants.privateKeyNames.shamirsSecrets, + JSON.stringify( + shamirsSharing.secretParts.map((secretPart) => secretPart.toString()) + ) + ) } const btcPrivateKey = localStorage.getItem(constants.privateKeyNames.btc) @@ -734,6 +752,81 @@ const getAuthData = (name) => { return user[`${name}Data`] } +const restoreWallet = async (mnemonic) => { + const addAllEnabledWalletsAfterRestoreOrCreateSeedPhrase = config?.opts?.addAllEnabledWalletsAfterRestoreOrCreateSeedPhrase + + // Backup critical localStorage + const backupMark = actions.btc.getMainPublicKey() + + actions.backupManager.backup(backupMark, false, true) + // clean mnemonic, if exists + localStorage.setItem(constants.privateKeyNames.twentywords, '-') + localStorage.setItem(constants.privateKeyNames.shamirsMnemonics, '-') + localStorage.setItem(constants.privateKeyNames.shamirsSecrets, '-') + + const btcWallet = await actions.btc.getWalletByWords(mnemonic) + // Check - if exists backup for this mnemonic + const restoryMark = btcWallet.publicKey + + if (actions.backupManager.exists(restoryMark)) { + actions.backupManager.restory(restoryMark) + } + + localStorage.setItem(constants.localStorage.isWalletCreate, 'true') + + Object.keys(config.enabledEvmNetworks).forEach(async (evmNetworkKey) => { + const actionKey = evmNetworkKey?.toLowerCase() + if (actionKey) await actions[actionKey]?.login(false, mnemonic) + }) + + await actions.ghost.login(false, mnemonic) + await actions.next.login(false, mnemonic) + + if (!addAllEnabledWalletsAfterRestoreOrCreateSeedPhrase) { + const btcPrivKey = await actions.btc.login(false, mnemonic) + const btcPubKey = actions.btcmultisig.getSmsKeyFromMnemonic(mnemonic) + //@ts-ignore: strictNullChecks + localStorage.setItem(constants.privateKeyNames.btcSmsMnemonicKeyGenerated, btcPubKey) + //@ts-ignore: strictNullChecks + localStorage.setItem(constants.privateKeyNames.btcPinMnemonicKey, btcPubKey) + await sign_btc_2fa(btcPrivKey) + await sign_btc_multisig(btcPrivKey) + } + + actions.core.markCoinAsVisible('BTC', true) + + const result: any = await actions.btcmultisig.isPinRegistered(mnemonic) + + if (result?.exist) { + actions.core.markCoinAsVisible('BTC (PIN-Protected)', true) + } + + if (addAllEnabledWalletsAfterRestoreOrCreateSeedPhrase) { + + const currencies = getActivatedCurrencies() + currencies.forEach((currency) => { + if ( + currency !== 'BTC (PIN-Protected)' + ) { + actions.core.markCoinAsVisible(currency.toUpperCase(), true) + } + }) + + } else { + + await getBalances() + const allWallets = actions.core.getWallets({ withInternal: true }) + allWallets.forEach((wallet) => { + if (new BigNumber(wallet.balance).isGreaterThan(0)) { + actions.core.markCoinAsVisible( + wallet.isToken ? wallet.tokenKey.toUpperCase() : wallet.currency, + true, + ) + } + }) + } +} + export default { sign, sign_btc_2fa, @@ -751,4 +844,5 @@ export default { getWithdrawWallet, fetchMultisigStatus, pullActiveCurrency, + restoreWallet, } diff --git a/src/front/shared/routes/index.tsx b/src/front/shared/routes/index.tsx index 3c5e9b3432..bf4ef67bc3 100644 --- a/src/front/shared/routes/index.tsx +++ b/src/front/shared/routes/index.tsx @@ -26,8 +26,11 @@ import ScrollToTop from '../components/layout/ScrollToTop/ScrollToTop' import SaveMnemonicModal from "components/modals/SaveMnemonicModal/SaveMnemonicModal" import SaveKeysModal from "components/modals/SaveKeysModal/SaveKeysModal" +import RestoreWalletSelectMethod from "components/modals/RestoreWalletSelectMethod/RestoreWalletSelectMethod" +import ShamirsSecretRestory from "components/modals/ShamirsSecretRestory/ShamirsSecretRestory" import RestoryMnemonicWallet from "components/modals/RestoryMnemonicWallet/RestoryMnemonicWallet" + const routes = ( @@ -61,7 +64,9 @@ const routes = ( - + + + diff --git a/tests/e2e/history.test.ts b/tests/e2e/history.test.ts index 9803faf77b..b86a6cfb8c 100644 --- a/tests/e2e/history.test.ts +++ b/tests/e2e/history.test.ts @@ -1,6 +1,6 @@ import { createBrowser, importWallet, timeOut, takeScreenshot, testWallets } from './utils' -jest.setTimeout(100_000) // ms +jest.setTimeout(360_000) // ms describe('History tests', () => { diff --git a/tests/e2e/prepareToSwap.test.ts b/tests/e2e/prepareToSwap.test.ts- similarity index 99% rename from tests/e2e/prepareToSwap.test.ts rename to tests/e2e/prepareToSwap.test.ts- index 6828ed7ef8..e05ed47057 100644 --- a/tests/e2e/prepareToSwap.test.ts +++ b/tests/e2e/prepareToSwap.test.ts- @@ -11,7 +11,7 @@ import { testWallets, } from './utils' -jest.setTimeout(330_000) +jest.setTimeout(360_000) describe('Prepare to swap e2e tests', () => { function getExchangeUrl(sourceUrl) { diff --git a/tests/e2e/utils.ts b/tests/e2e/utils.ts index f68b3b326b..7904ef0aba 100644 --- a/tests/e2e/utils.ts +++ b/tests/e2e/utils.ts @@ -49,6 +49,20 @@ type ImportWalletParams = { timeout?: number } +const waitSlowLoadSelector = async (page, selector, timeout, throwCount) => { + if (throwCount === 0) return false + try { + let element = await page.waitForSelector(selector, { + timeout, + }) + if (element !== null) { + return true + } + } catch (e) { } + + return await waitSlowLoadSelector(page, selector, timeout, throwCount-1) +} + export const importWallet = async (params: ImportWalletParams) => { const { page, seed, timeout = 30_000 } = params @@ -59,6 +73,8 @@ export const importWallet = async (params: ImportWalletParams) => { // app creation await timeOut(30_000) + await page.click('#restoreWalletUseMnemonic') + await page.waitForSelector('.react-tags__search-input', { timeout, }) @@ -82,9 +98,10 @@ export const importWallet = async (params: ImportWalletParams) => { await page.click('#walletRecoveryButton') - await page.waitForSelector('#finishWalletRecoveryButton', { - timeout, - }) + const isRecovered = await waitSlowLoadSelector(page, '#finishWalletRecoveryButton', timeout, 20) + if (!isRecovered) { + throw new Error('Recovery timeout') + } await page.click('#finishWalletRecoveryButton') } diff --git a/tests/e2e/wallet/tokenAddition.test.ts b/tests/e2e/wallet/tokenAddition.test.ts index 161d499c28..24ba238faf 100644 --- a/tests/e2e/wallet/tokenAddition.test.ts +++ b/tests/e2e/wallet/tokenAddition.test.ts @@ -1,7 +1,7 @@ import puppeteer from 'puppeteer' import { createBrowser, addTokenToWallet, takeScreenshot, clickOn, timeOut } from '../utils' -jest.setTimeout(250 * 1000) +jest.setTimeout(360 * 1000) describe('Adding custom tokens', () => { let testBrowser: puppeteer.Browser | undefined diff --git a/tests/e2e/withdraw.test.ts b/tests/e2e/withdraw.test.ts- similarity index 100% rename from tests/e2e/withdraw.test.ts rename to tests/e2e/withdraw.test.ts-