|
@@ -2,1040 +2,1058 @@ import { futuresPageByLocale } from './futuresPage.i18n'
|
|
|
import { financePageByLocale } from './financePage.i18n'
|
|
import { financePageByLocale } from './financePage.i18n'
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
- nav: {
|
|
|
|
|
- home: 'Home',
|
|
|
|
|
- market: 'Market',
|
|
|
|
|
- spot: 'Spot',
|
|
|
|
|
- futures: 'Futures',
|
|
|
|
|
- copyTrade: 'Copy',
|
|
|
|
|
- finance: 'Earn',
|
|
|
|
|
- idoPresale: 'IDO Presale',
|
|
|
|
|
- claimAirdrop: 'Claim Airdrop',
|
|
|
|
|
- announcements: 'Announcements',
|
|
|
|
|
- download: 'Download',
|
|
|
|
|
- },
|
|
|
|
|
- lang: {
|
|
|
|
|
- title: 'Language',
|
|
|
|
|
- zhCN: '简体中文',
|
|
|
|
|
- zhTW: '繁體中文',
|
|
|
|
|
- en: 'English',
|
|
|
|
|
- ko: '한국어',
|
|
|
|
|
- ja: '日本語',
|
|
|
|
|
- hi: 'हिन्दी',
|
|
|
|
|
- id: 'Bahasa Indonesia',
|
|
|
|
|
- },
|
|
|
|
|
- header: {
|
|
|
|
|
- login: 'Login',
|
|
|
|
|
- register: 'Register',
|
|
|
|
|
- account: 'Account',
|
|
|
|
|
- assets: 'My Assets',
|
|
|
|
|
- security: 'Security',
|
|
|
|
|
- broker: 'Broker',
|
|
|
|
|
- logout: 'Logout',
|
|
|
|
|
- logoutShort: 'Logout',
|
|
|
|
|
- downloadTitle: 'Download',
|
|
|
|
|
- brokerApplyTitle: 'Apply as Broker',
|
|
|
|
|
- brokerApplyDesc: 'You are not a broker yet. The system will automatically submit an application using your account information. You can use broker features once approved.',
|
|
|
|
|
- cancel: 'Cancel',
|
|
|
|
|
- applyNow: 'Apply Now',
|
|
|
|
|
- viewApplyList: 'View Application Status',
|
|
|
|
|
- submitting: 'Submitting…',
|
|
|
|
|
- menu: 'Menu',
|
|
|
|
|
- },
|
|
|
|
|
- common: {
|
|
|
|
|
- loading: 'Loading...',
|
|
|
|
|
- retry: 'Retry',
|
|
|
|
|
- cancel: 'Cancel',
|
|
|
|
|
- confirm: 'Confirm',
|
|
|
|
|
- submit: 'Submit',
|
|
|
|
|
- save: 'Save',
|
|
|
|
|
- send: 'Send',
|
|
|
|
|
- back: 'Back',
|
|
|
|
|
- next: 'Next',
|
|
|
|
|
- done: 'Done',
|
|
|
|
|
- noData: 'No Data',
|
|
|
|
|
- noRecord: 'No Records',
|
|
|
|
|
- search: 'Search',
|
|
|
|
|
- all: 'All',
|
|
|
|
|
- max: 'Max',
|
|
|
|
|
- copied: 'Copied',
|
|
|
|
|
- networkError: 'Network error, please retry',
|
|
|
|
|
- loadFailed: 'Load Failed',
|
|
|
|
|
- operationFailed: 'Operation failed, please retry',
|
|
|
|
|
- saveSuccess: 'Saved',
|
|
|
|
|
- more: 'More',
|
|
|
|
|
- perpetual: 'Perp',
|
|
|
|
|
- set: 'Set',
|
|
|
|
|
- notSet: 'Not Set',
|
|
|
|
|
- change: 'Change',
|
|
|
|
|
- bind: 'Bind',
|
|
|
|
|
- unbind: 'Unbind',
|
|
|
|
|
- on: 'On',
|
|
|
|
|
- off: 'Off',
|
|
|
|
|
- status: 'Status',
|
|
|
|
|
- time: 'Time',
|
|
|
|
|
- amount: 'Amount',
|
|
|
|
|
- type: 'Type',
|
|
|
|
|
- coin: 'Coin',
|
|
|
|
|
- from: 'From',
|
|
|
|
|
- to: 'To',
|
|
|
|
|
- close: 'Close',
|
|
|
|
|
- contactService: 'Contact Support',
|
|
|
|
|
- },
|
|
|
|
|
- home: {
|
|
|
|
|
- heroTitle: 'Secure · Efficient · Global\nDigital Asset Exchange',
|
|
|
|
|
- heroDesc: 'iBit is dedicated to providing stable, transparent, and professional digital asset trading services to global users through leading technology and strict risk management.',
|
|
|
|
|
- register: 'Register',
|
|
|
|
|
- viewMarket: 'View Markets',
|
|
|
|
|
- downloadApp: 'Download App',
|
|
|
|
|
- coreAdvantages: 'Core Advantages',
|
|
|
|
|
- assetSafetyTitle: 'Asset Security',
|
|
|
|
|
- assetSafetyDesc: 'Cold/hot wallet isolation, multi-signature and permission controls, plus 24/7 risk monitoring to fully protect user assets.',
|
|
|
|
|
- highPerfTitle: 'High Performance',
|
|
|
|
|
- highPerfDesc: 'Proprietary matching engine with millisecond order processing, delivering a stable and smooth trading experience in low-latency environments.',
|
|
|
|
|
- globalComplianceTitle: 'Global Compliance',
|
|
|
|
|
- globalComplianceDesc: 'Adhering to multi-regional compliance standards and continuously advancing compliance, providing a trustworthy trading environment for global users.',
|
|
|
|
|
- transparentFeeTitle: 'Transparent Fees',
|
|
|
|
|
- transparentFeeDesc: 'Clear and transparent fee structure with no hidden costs, helping users effectively manage trading costs.',
|
|
|
|
|
- aboutUs: 'About Us',
|
|
|
|
|
- aboutDesc: 'iBit is a global digital asset exchange dedicated to providing safe, stable, and efficient trading services through technology innovation and compliant operations.',
|
|
|
|
|
- foundedYear: 'Founded in 2023',
|
|
|
|
|
- headquarters: 'Singapore HQ',
|
|
|
|
|
- ourVision: 'Our Vision',
|
|
|
|
|
- visionSubtitle: 'Building a globally trusted digital asset trading infrastructure for the long term',
|
|
|
|
|
- ecoTitle: 'Ecosystem',
|
|
|
|
|
- ecoDesc: 'Building a new-generation Crypto digital asset trading ecosystem',
|
|
|
|
|
- missionTitle: 'Mission',
|
|
|
|
|
- missionDesc: 'Driving the flow of digital value across global scenarios',
|
|
|
|
|
- purposeTitle: 'Purpose',
|
|
|
|
|
- purposeDesc: 'Helping users easily manage and invest in crypto digital assets',
|
|
|
|
|
- heroImageAlt: 'iBit Trading Platform',
|
|
|
|
|
- aboutImageAlt: 'About Us',
|
|
|
|
|
- },
|
|
|
|
|
- market: {
|
|
|
|
|
- title: 'Live Market',
|
|
|
|
|
- desc: 'Real-time prices, volumes, and 24h changes for major digital assets to help users stay on top of market trends.',
|
|
|
|
|
- hot: 'Hot',
|
|
|
|
|
- topVolume: 'Top Volume',
|
|
|
|
|
- gainers: 'Gainers',
|
|
|
|
|
- losers: 'Losers',
|
|
|
|
|
- perpetual: 'Perp',
|
|
|
|
|
- name: 'Name',
|
|
|
|
|
- latestPrice: 'Price',
|
|
|
|
|
- change24h: '24h Change',
|
|
|
|
|
- turnover: 'Volume',
|
|
|
|
|
- searchPair: 'Search pairs',
|
|
|
|
|
- searchMarket: 'Search coins, pairs, futures',
|
|
|
|
|
- price: 'Price',
|
|
|
|
|
- change24hShort: '24h Change',
|
|
|
|
|
- high24h: '24h High',
|
|
|
|
|
- low24h: '24h Low',
|
|
|
|
|
- volume24hLabel: '24h Volume',
|
|
|
|
|
- },
|
|
|
|
|
- auth: {
|
|
|
|
|
- loginTitle: 'Login',
|
|
|
|
|
- emailLogin: 'Email Login',
|
|
|
|
|
- emailPlaceholder: 'Enter your email',
|
|
|
|
|
- password: 'Password',
|
|
|
|
|
- passwordPlaceholder: 'Enter your password',
|
|
|
|
|
- forgotPassword: 'Forgot Password?',
|
|
|
|
|
- loginBtn: 'Login',
|
|
|
|
|
- noAccount: "Don't have an account?",
|
|
|
|
|
- registerNow: 'Register Now',
|
|
|
|
|
- verifyTitle: 'Enter Verification Code',
|
|
|
|
|
- codeSentDesc: 'A verification code has been sent to {email}. Please check your inbox.',
|
|
|
|
|
- codeSendDesc: 'Click the button below to send a verification code to {email}.',
|
|
|
|
|
- countdownResend: 'Resend in {n}s',
|
|
|
|
|
- resendCode: 'Resend Code',
|
|
|
|
|
- confirmBtn: 'Confirm',
|
|
|
|
|
- sendCode: 'Send Code',
|
|
|
|
|
- forgotVerify: 'Forgot verification method?',
|
|
|
|
|
- loginSuccess: 'Login successful',
|
|
|
|
|
- codeSentAgain: 'Code resent',
|
|
|
|
|
- registerTitle: 'Register',
|
|
|
|
|
- emailRegister: 'Email Registration',
|
|
|
|
|
- inviteCodeLabel: 'Invite Code (optional)',
|
|
|
|
|
- inviteCodePlaceholder: 'Enter invite code',
|
|
|
|
|
- hasAccount: 'Already have an account?',
|
|
|
|
|
- loginNow: 'Login Now',
|
|
|
|
|
- verifyPageTitle: 'Security Verification',
|
|
|
|
|
- emailVerifyLabel: 'Email Verification',
|
|
|
|
|
- codePlaceholder: 'Enter verification code',
|
|
|
|
|
- sendBtn: 'Send',
|
|
|
|
|
- passwordTitle: 'Create Password',
|
|
|
|
|
- backBtn: '‹ Back',
|
|
|
|
|
- inputPasswordLabel: 'Password',
|
|
|
|
|
- confirmPasswordLabel: 'Confirm Password',
|
|
|
|
|
- confirmPasswordPlaceholder: 'Re-enter password',
|
|
|
|
|
- doneBtn: 'Done',
|
|
|
|
|
- resetSuccess: 'Password reset successful. Please log in with your new password.',
|
|
|
|
|
- registerSuccess: 'Registration Successful',
|
|
|
|
|
- welcomeJoin: 'Welcome to iBit',
|
|
|
|
|
- loginNowBtn: 'Login Now',
|
|
|
|
|
- forgotPasswordTitle: 'Reset Password',
|
|
|
|
|
- emailLabel: 'Email',
|
|
|
|
|
- emailRegisteredPlaceholder: 'Enter your registered email',
|
|
|
|
|
- codeSentToast: 'Code sent',
|
|
|
|
|
- },
|
|
|
|
|
- error: {
|
|
|
|
|
- emailRequired: 'Please enter your email',
|
|
|
|
|
- emailInvalid: 'Invalid email format',
|
|
|
|
|
- passwordRequired: 'Please enter your password',
|
|
|
|
|
- code6Required: 'Please enter the 6-digit code',
|
|
|
|
|
- codeRequired: 'Please enter the verification code',
|
|
|
|
|
- loginFailed: 'Incorrect username or password',
|
|
|
|
|
- networkError: 'Network error, please try again',
|
|
|
|
|
- emailAlreadyRegistered: 'This email is already registered. Please log in.',
|
|
|
|
|
- confirmPasswordRequired: 'Please re-enter your password',
|
|
|
|
|
- passwordMismatch: 'Passwords do not match',
|
|
|
|
|
- loadFailed: 'Failed to load security info',
|
|
|
|
|
- refreshFailed: 'Refresh failed',
|
|
|
|
|
- statusUpdated: 'Status updated',
|
|
|
|
|
- currentPasswordRequired: 'Please enter your current password',
|
|
|
|
|
- sixDigitCode: 'Please enter the 6-digit email verification code',
|
|
|
|
|
- sixDigitGoogleCode: 'Please enter the 6-digit Google code',
|
|
|
|
|
- sendFailed: 'Send failed',
|
|
|
|
|
- operationFailed: 'Operation failed',
|
|
|
|
|
- },
|
|
|
|
|
- security: {
|
|
|
|
|
- title: 'Security Settings',
|
|
|
|
|
- back: '‹ Back',
|
|
|
|
|
- warningBanner: 'We recommend completing email verification, Google Authenticator, and fund password setup to enhance account security.',
|
|
|
|
|
- accountSecurity: 'Account Security',
|
|
|
|
|
- loginPassword: 'Login Password',
|
|
|
|
|
- loginPasswordDesc: 'Changing your password regularly improves account security',
|
|
|
|
|
- emailVerify: 'Email Verification',
|
|
|
|
|
- emailVerifyDesc: 'Bind your email for account verification and password recovery',
|
|
|
|
|
- googleAuth: 'Google Authenticator',
|
|
|
|
|
- googleAuthDesc: 'Bind Google Authenticator to enhance account security',
|
|
|
|
|
- fundPassword: 'Fund Password',
|
|
|
|
|
- fundPasswordDesc: 'Set a fund password to protect your assets',
|
|
|
|
|
- set: 'Set',
|
|
|
|
|
- notSet: 'Not Set',
|
|
|
|
|
- change: 'Change',
|
|
|
|
|
- bind: 'Bind',
|
|
|
|
|
- set2: 'Set',
|
|
|
|
|
- statusUpdated: 'Status updated',
|
|
|
|
|
- loadFailed: 'Failed to load security info',
|
|
|
|
|
- refreshFailed: 'Refresh failed',
|
|
|
|
|
- bound: 'Bound',
|
|
|
|
|
- notBound: 'Not Bound',
|
|
|
|
|
- refresh: 'Refresh',
|
|
|
|
|
- googleHelpTitle: 'Google Authenticator Help',
|
|
|
|
|
- googleHelpDesc: 'If you cannot receive the verification code or need to unbind, please contact online support.',
|
|
|
|
|
- changeLoginPassword: 'Change Login Password',
|
|
|
|
|
- changePasswordHint: 'After changing, please use your new password to log in. The verification code will be sent to your bound email.',
|
|
|
|
|
- currentPassword: 'Current Password',
|
|
|
|
|
- newPassword: 'New Password',
|
|
|
|
|
- confirmNewPassword: 'Confirm New Password',
|
|
|
|
|
- emailCode: 'Email Verification Code',
|
|
|
|
|
- sendCode: 'Send Code',
|
|
|
|
|
- codeSent: 'Verification code sent to email',
|
|
|
|
|
- changeSuccess: 'Password changed successfully',
|
|
|
|
|
- confirmChange: 'Confirm Change',
|
|
|
|
|
- submitting: 'Submitting…',
|
|
|
|
|
- setFundPassword: 'Set Fund Password',
|
|
|
|
|
- resetFundPassword: 'Reset Fund Password',
|
|
|
|
|
- fundPasswordHint: 'The fund password is used for withdrawals, transfers and other sensitive operations. Please keep it safe.',
|
|
|
|
|
- fundPasswordResetHint: 'Please reset your fund password. A verification code will be sent to your bound email.',
|
|
|
|
|
- newFundPassword: 'New Fund Password',
|
|
|
|
|
- confirmFundPassword: 'Confirm Password',
|
|
|
|
|
- fundPasswordUpdated: 'Fund password updated',
|
|
|
|
|
- fundPasswordSet: 'Fund password set successfully',
|
|
|
|
|
- bindGoogle: 'Bind Google Authenticator',
|
|
|
|
|
- boundEmail: 'Bound Email:',
|
|
|
|
|
- googleQrStep: '1. Scan the QR code or enter the key manually',
|
|
|
|
|
- googleCodeStep: '2. Google Authenticator Code (6 digits)',
|
|
|
|
|
- emailCodeStep: '3. Email Verification Code',
|
|
|
|
|
- copyKey: 'Copy Key',
|
|
|
|
|
- keyCopied: 'Key copied',
|
|
|
|
|
- copyFailed: 'Copy failed, please select the key text manually',
|
|
|
|
|
- clipboardDeniedMac: 'Clipboard access denied. Click the lock icon in the address bar → Site settings → set Clipboard to Allow, then try again.',
|
|
|
|
|
- clipboardDenied: 'Clipboard access denied. Allow clipboard permission for this site in your browser settings, then try again.',
|
|
|
|
|
- invalidSecret: 'Invalid key, please refresh and try again',
|
|
|
|
|
- googleCodeRequired: 'Please enter the 6-digit Google code',
|
|
|
|
|
- emailCodeSent: 'Email verification code sent',
|
|
|
|
|
- bindSuccess: 'Bound successfully',
|
|
|
|
|
- confirmBind: 'Confirm Bind',
|
|
|
|
|
- googleAuthLead: 'Please first download Google Authenticator or Microsoft Authenticator from your phone\'s app store to store your one-time verification codes.',
|
|
|
|
|
- googleAuthTip1: 'After binding, login and sensitive operations may require the 6-digit code from the app.',
|
|
|
|
|
- googleAuthTip2: 'Keep your device safe. If you cannot receive the code, please contact customer support.',
|
|
|
|
|
- googleAuthStart: 'I\'ve downloaded it, bind now',
|
|
|
|
|
- },
|
|
|
|
|
- assets: {
|
|
|
|
|
- title: 'My Assets',
|
|
|
|
|
- totalAssets: 'Total Assets',
|
|
|
|
|
- todayPnl: "Today's P&L",
|
|
|
|
|
- deposit: 'Deposit',
|
|
|
|
|
- withdraw: 'Withdraw',
|
|
|
|
|
- transfer: 'Transfer',
|
|
|
|
|
- history: 'History',
|
|
|
|
|
- spot: 'Spot',
|
|
|
|
|
- futures: 'Futures',
|
|
|
|
|
- copyTrade: 'Copy',
|
|
|
|
|
- fund: 'Withdrawable',
|
|
|
|
|
- walletBalance: 'Wallet Balance',
|
|
|
|
|
- unrealizedPnl: 'Unrealized PnL',
|
|
|
|
|
- positions: 'Positions',
|
|
|
|
|
- noPositions: 'No Positions',
|
|
|
|
|
- assetBalance: 'Asset Balance',
|
|
|
|
|
- unavailable: 'Unavailable',
|
|
|
|
|
- depositCoin: 'Deposit',
|
|
|
|
|
- withdrawCoin: 'Withdraw',
|
|
|
|
|
- depositRecord: 'Deposit History',
|
|
|
|
|
- withdrawRecord: 'Withdraw History',
|
|
|
|
|
- transferRecord: 'Transfer History',
|
|
|
|
|
- assetRecord: 'Transaction History',
|
|
|
|
|
- overview: 'Overview',
|
|
|
|
|
- spotAccount: 'Spot Account',
|
|
|
|
|
- swapAccount: 'Futures Account',
|
|
|
|
|
- followAccount: 'Copy Account',
|
|
|
|
|
- fundAccount: 'Withdrawable Account',
|
|
|
|
|
- spotTradingAccount: 'Spot Trading Account',
|
|
|
|
|
- ibitAccount: 'iBit Account',
|
|
|
|
|
- lockedStakingAccount: 'Locked Account',
|
|
|
|
|
- stakingTab: 'Lock-up',
|
|
|
|
|
- ibitUnit: 'iBit',
|
|
|
|
|
- releaseTotal: 'Total Released',
|
|
|
|
|
- totalLockedBalance: 'Total Locked Balance (iBit)',
|
|
|
|
|
- myStakingOrders: 'My Locked Orders',
|
|
|
|
|
- stakingOrderNo: 'Order No.',
|
|
|
|
|
- purchaseQty: 'Purchase Qty',
|
|
|
|
|
- stakingTotal: 'Locked Amount',
|
|
|
|
|
- released: 'Released',
|
|
|
|
|
- pendingRelease: 'Pending Release',
|
|
|
|
|
- startTime: 'Start Time',
|
|
|
|
|
- subscribing: 'Subscribing',
|
|
|
|
|
- releasing: 'Releasing',
|
|
|
|
|
- completed: 'Completed',
|
|
|
|
|
- pullToRefresh: 'Pull down to refresh',
|
|
|
|
|
- releaseToRefresh: 'Release to refresh',
|
|
|
|
|
- refreshing: 'Refreshing...',
|
|
|
|
|
- totalAccount: 'Total Account Value',
|
|
|
|
|
- showBalance: 'Show Balance',
|
|
|
|
|
- hideBalance: 'Hide Balance',
|
|
|
|
|
- followBalance: 'Copy Balance',
|
|
|
|
|
- accountTransfer: 'Account Transfer',
|
|
|
|
|
- transferFrom: 'From',
|
|
|
|
|
- transferTo: 'To',
|
|
|
|
|
- available: 'Available',
|
|
|
|
|
- freeTransfer: 'Free transfer, instant arrival',
|
|
|
|
|
- followPositions: 'Current Copy Positions',
|
|
|
|
|
- noFollowPositions: 'No copy positions',
|
|
|
|
|
- followLoading: 'Loading…',
|
|
|
|
|
- long: 'Long',
|
|
|
|
|
- short: 'Short',
|
|
|
|
|
- trader: 'Trader',
|
|
|
|
|
- openPrice: 'Open Price',
|
|
|
|
|
- currentPrice: 'Current Price',
|
|
|
|
|
- amountLever: 'Amount · Leverage',
|
|
|
|
|
- closing: 'Closing…',
|
|
|
|
|
- closePosition: 'Close',
|
|
|
|
|
- noLossPosition: 'Lossless copy positions cannot be closed manually',
|
|
|
|
|
- invalidPosition: 'Position info invalid, cannot close',
|
|
|
|
|
- confirmClose: 'Close this position? Once closed, you will not receive final profit from this order.',
|
|
|
|
|
- closeSuccess: 'Position closed successfully',
|
|
|
|
|
- closeFailed: 'Failed to close position',
|
|
|
|
|
- sameAccountError: 'Source and destination accounts cannot be the same',
|
|
|
|
|
- amountError: 'Please enter a valid amount',
|
|
|
|
|
- insufficientBalance: 'Insufficient available balance',
|
|
|
|
|
- transferSuccess: 'Transfer successful',
|
|
|
|
|
- transferFailed: 'Transfer failed',
|
|
|
|
|
- goCopyTrade: 'Copy Trade',
|
|
|
|
|
- goSpotTrade: 'Go to Trade',
|
|
|
|
|
- hideZeroBalance: 'Hide zero balance assets',
|
|
|
|
|
- depositRecord2: 'Deposit History',
|
|
|
|
|
- amountUsdt: 'Amount (USDT)',
|
|
|
|
|
- amountCoin: 'Amount ({coin})',
|
|
|
|
|
- availableCoin: 'Available: {available} {coin}',
|
|
|
|
|
- transferring: 'Transferring…',
|
|
|
|
|
- confirmTransferBtn: 'Confirm Transfer',
|
|
|
|
|
- statementPageTitle: 'Transaction Statement',
|
|
|
|
|
- statementStartDate: 'Start date',
|
|
|
|
|
- statementEndDate: 'End date',
|
|
|
|
|
- statementReset: 'Reset',
|
|
|
|
|
- statementSearch: 'Search',
|
|
|
|
|
- statementSearching: 'Searching…',
|
|
|
|
|
- statementEmpty: 'No records',
|
|
|
|
|
- statementDirectionOpen: 'Open',
|
|
|
|
|
- statementDirectionClose: 'Close',
|
|
|
|
|
- statementTypes: {
|
|
|
|
|
- '43': 'Spot profit',
|
|
|
|
|
- '44': 'Spot loss',
|
|
|
|
|
- '45': 'Spot trading fee',
|
|
|
|
|
- '46': 'Spot rebate',
|
|
|
|
|
- '48': 'Spot trade',
|
|
|
|
|
- '49': 'Staking',
|
|
|
|
|
- '50': 'Staking unlock release',
|
|
|
|
|
- '51': 'Airdrop reward',
|
|
|
|
|
- '52': 'Transfer to staking wallet',
|
|
|
|
|
- '53': 'Transfer from staking wallet',
|
|
|
|
|
- },
|
|
|
|
|
- },
|
|
|
|
|
- finance: {
|
|
|
|
|
- ...financePageByLocale.en,
|
|
|
|
|
- },
|
|
|
|
|
- copyTrade: {
|
|
|
|
|
- comprehensive: 'Comprehensive',
|
|
|
|
|
- winRate14d: '14D Win Rate',
|
|
|
|
|
- profit14d: '14D Return',
|
|
|
|
|
- normal: 'Regular Copy',
|
|
|
|
|
- lossless: 'Lossless Copy',
|
|
|
|
|
- favorite: 'Favorites',
|
|
|
|
|
- topTraders: 'Top Traders',
|
|
|
|
|
- twoWeekReturn: '2W Return',
|
|
|
|
|
- followers: 'Followers',
|
|
|
|
|
- days: 'Days',
|
|
|
|
|
- applyTrader: 'Apply as Trader',
|
|
|
|
|
- myFollowing: 'My Copy Trading',
|
|
|
|
|
- myTrading: 'My Trading',
|
|
|
|
|
- traderIdentity: 'Lead trader',
|
|
|
|
|
- myFollowingAccount: 'My copy account',
|
|
|
|
|
- leadManage: 'Lead dashboard',
|
|
|
|
|
- applyLead: 'Apply to lead',
|
|
|
|
|
- pageTitle: 'Copy Trading',
|
|
|
|
|
- heroDesc: 'Follow elite traders with one tap and let professional strategies work for you.',
|
|
|
|
|
- traderOverview: 'Lead trader overview',
|
|
|
|
|
- copyFollowersCount: 'Copy followers',
|
|
|
|
|
- cumulativeTradingDays: 'Total trading days',
|
|
|
|
|
- cumulativeLeadProfit: 'Cumulative copy profit',
|
|
|
|
|
- goLeadManage: 'Open lead dashboard →',
|
|
|
|
|
- copyWalletTitle: 'Copy account',
|
|
|
|
|
- cumulativePnlUsdt: 'Cumulative copy PnL (USDT)',
|
|
|
|
|
- availableUsdt: 'Available (USDT)',
|
|
|
|
|
- unrealizedPnlUsdtShort: 'Unrealized PnL (USDT)',
|
|
|
|
|
- followingTradersSummary: 'Following {n} traders',
|
|
|
|
|
- newBadge: 'NEW',
|
|
|
|
|
- losslessShieldTitle: 'Lossless protection',
|
|
|
|
|
- losslessShieldDesc: ': If copy trades lose, the platform may provide risk relief so you pursue returns within controlled risk.',
|
|
|
|
|
- learnHowItWorks: 'How it works →',
|
|
|
|
|
- myStarredTraders: 'Traders you saved',
|
|
|
|
|
- traderTotalCount: '{count} traders',
|
|
|
|
|
- filterLoadingShort: 'Loading…',
|
|
|
|
|
- loadTraderListFailed: 'Could not load traders',
|
|
|
|
|
- loadFavoritesFailed: 'Could not load favorites',
|
|
|
|
|
- favoritedToast: 'Saved',
|
|
|
|
|
- defaultTraderName: 'Trader',
|
|
|
|
|
- levelJunior: 'Junior',
|
|
|
|
|
- badgeLossless: 'Lossless',
|
|
|
|
|
- metaDaysTrades: '{days}d · {trades} trades',
|
|
|
|
|
- followAction: 'Copy',
|
|
|
|
|
- profitUsdtBracket: 'P&L (USDT)',
|
|
|
|
|
- profitShareRate: 'Profit share',
|
|
|
|
|
- trend14Days: '14-day trend',
|
|
|
|
|
- emptyFavoriteHint: 'No favorites yet—discover great traders.',
|
|
|
|
|
- emptyTraderListDefault: 'No traders to show',
|
|
|
|
|
- emptyTraderListLossless: 'No lossless traders yet',
|
|
|
|
|
- browseTraders: 'Browse traders',
|
|
|
|
|
- losslessInfoHeading: 'How lossless copy works',
|
|
|
|
|
- llInfoCard1Title: 'Conditional protection',
|
|
|
|
|
- llInfoCard1Body: 'Protection applies when rules and trigger conditions are met; handled by platform risk systems.',
|
|
|
|
|
- llInfoCard2Title: 'Limited liability',
|
|
|
|
|
- llInfoCard2Body: 'Compensation is capped per eligible copy trade; losses beyond the agreed scope are not covered.',
|
|
|
|
|
- llInfoCard3Title: 'Risk control first',
|
|
|
|
|
- llInfoCard3Body: 'If losses exceed risk limits, protection systems activate first to keep copy trading fair.',
|
|
|
|
|
- llInfoCard4Title: 'Risk notice',
|
|
|
|
|
- llInfoCard4Body: 'Digital assets are highly risky; lossless copy is not risk-free—only trade what you can afford to lose.',
|
|
|
|
|
- followingPlaza: 'Copy plaza',
|
|
|
|
|
- followingWalletFail: 'Failed to load copy account overview',
|
|
|
|
|
- followingTabPositions: 'Open Positions',
|
|
|
|
|
- followingTabTraders: 'My Traders',
|
|
|
|
|
- followingTabHistory: 'History',
|
|
|
|
|
- followingHistEmpty: 'No historical copy trades',
|
|
|
|
|
- followingNoTradersYet: 'You are not following any traders yet',
|
|
|
|
|
- followingGoPlaza: 'Go to copy plaza',
|
|
|
|
|
- confirmStopFollow: 'Stop following "{name}"?',
|
|
|
|
|
- noLossManualCloseTooltip: 'Lossless copies cannot be closed manually',
|
|
|
|
|
- followingThContract: 'Contract',
|
|
|
|
|
- followingThDirection: 'Side',
|
|
|
|
|
- followingThOpenPrice: 'Entry',
|
|
|
|
|
- followingThCurPrice: 'Mark',
|
|
|
|
|
- followingThQty: 'Size',
|
|
|
|
|
- followingThLever: 'Leverage',
|
|
|
|
|
- followingThUnrealized: 'Unrealized PnL',
|
|
|
|
|
- followingThOpenTime: 'Open time',
|
|
|
|
|
- followingThAction: 'Action',
|
|
|
|
|
- followingOpenLong: 'Long Open',
|
|
|
|
|
- followingOpenShort: 'Short Open',
|
|
|
|
|
- closeQtyWithBase: 'Close size ({base})',
|
|
|
|
|
- followingRealizedPnlUsdt: 'Realized PnL (USDT)',
|
|
|
|
|
- followingYieldRate: 'Return',
|
|
|
|
|
- followingAvgOpenUsdt: 'Avg entry (USDT)',
|
|
|
|
|
- followingAvgCloseUsdt: 'Avg exit (USDT)',
|
|
|
|
|
- marginCrossMode: 'Cross',
|
|
|
|
|
- marginIsolatedMode: 'Isolated',
|
|
|
|
|
- stopFollowing: 'Unfollow',
|
|
|
|
|
- lead: {
|
|
|
|
|
- pageTitle: 'My Lead Trading',
|
|
|
|
|
- navMyFollowing: 'My Copy Trading →',
|
|
|
|
|
- becomeTitle: 'Become a Lead Trader',
|
|
|
|
|
- becomeDesc: 'Meet the requirements below to apply as a lead trader.',
|
|
|
|
|
- condMinBalance: 'Futures account balance ≥ {min} USDT',
|
|
|
|
|
- goTransfer: 'Transfer',
|
|
|
|
|
- condNotFollowing: 'Must not be following another trader',
|
|
|
|
|
- agreePrefix: 'I have read and agree to the',
|
|
|
|
|
- agreeLink: 'Trader Agreement',
|
|
|
|
|
- submitting: 'Submitting…',
|
|
|
|
|
- submitApply: 'Submit Application',
|
|
|
|
|
- applyFailed: 'Application failed, please try again later',
|
|
|
|
|
- reviewingTitle: 'Application Under Review',
|
|
|
|
|
- reviewingDesc: 'Your trader application is under review. You can start leading once approved.',
|
|
|
|
|
- agreementTitle: 'Trader Agreement',
|
|
|
|
|
- agreementEmpty: 'Agreement could not be loaded. Please try again later.',
|
|
|
|
|
- leadingBadge: 'Leading',
|
|
|
|
|
- noBio: 'No bio yet',
|
|
|
|
|
- cancelLeadProcessing: 'Processing…',
|
|
|
|
|
- cancelLeadApply: 'Request to Stop Leading',
|
|
|
|
|
- confirmCancelLead: 'Stop leading? This will end all copy relationships.',
|
|
|
|
|
- operationFailed: 'Operation failed',
|
|
|
|
|
- statFollowers: 'Current copy followers',
|
|
|
|
|
- statRegisterDays: 'Days on platform',
|
|
|
|
|
- statCapital: 'Capital strength',
|
|
|
|
|
- statCumulativeProfit: 'Cumulative copy profit (USDT)',
|
|
|
|
|
- statTotalFollowers: 'Total copy followers',
|
|
|
|
|
- statTradingDays: 'Total trading days',
|
|
|
|
|
- tabFollowers: 'Followers ({n})',
|
|
|
|
|
- tabCurrent: 'Open leads',
|
|
|
|
|
- tabHistory: 'Lead history',
|
|
|
|
|
- tabSettings: 'Trader settings',
|
|
|
|
|
- emptyFollowers: 'No followers yet',
|
|
|
|
|
- removeFollower: 'Remove',
|
|
|
|
|
- followerEquity: 'Account equity (USDT)',
|
|
|
|
|
- followerTotalShare: 'Total profit share (USDT)',
|
|
|
|
|
- followerLastShare: 'Last period share',
|
|
|
|
|
- followerSince: 'Following since: {time}',
|
|
|
|
|
- emptyCurrent: 'No open lead positions',
|
|
|
|
|
- emptyHistory: 'No lead history',
|
|
|
|
|
- settingsBasic: 'Basic info',
|
|
|
|
|
- avatar: 'Avatar',
|
|
|
|
|
- nickname: 'Nickname',
|
|
|
|
|
- nicknamePlaceholder: 'Up to 10 characters',
|
|
|
|
|
- bio: 'Bio',
|
|
|
|
|
- bioPlaceholder: 'Up to 25 characters',
|
|
|
|
|
- saveSuccess: 'Saved',
|
|
|
|
|
- saveBasicProcessing: 'Saving…',
|
|
|
|
|
- saveBasic: 'Save basic info',
|
|
|
|
|
- leadSymbols: 'Lead contracts',
|
|
|
|
|
- saveProcessing: 'Saving…',
|
|
|
|
|
- save: 'Save',
|
|
|
|
|
- tagsTitle: 'Tags (up to 4)',
|
|
|
|
|
- confirmRemoveFollower: 'Remove follower "{name}"?',
|
|
|
|
|
- saveFailed: 'Save failed',
|
|
|
|
|
- uploadFailed: 'Upload failed, please retry',
|
|
|
|
|
- defaultFollower: 'Follower',
|
|
|
|
|
- defaultUser: 'User',
|
|
|
|
|
- },
|
|
|
|
|
- },
|
|
|
|
|
- footer: {
|
|
|
|
|
- aboutSection: 'About Us',
|
|
|
|
|
- companyIntro: 'Company Introduction',
|
|
|
|
|
- brand: 'Brand',
|
|
|
|
|
- community: 'Join iBit Community',
|
|
|
|
|
- riskWarning: 'Risk Disclosure',
|
|
|
|
|
- terms: 'Terms of Service',
|
|
|
|
|
- privacy: 'Privacy Policy',
|
|
|
|
|
- futuresTrade: 'Futures Trading',
|
|
|
|
|
- spotTrade: 'Spot Trading',
|
|
|
|
|
- losslessCopy: 'Lossless Copy',
|
|
|
|
|
- beginnerGuide: 'Beginner Guide',
|
|
|
|
|
- helpCenter: 'Help Center',
|
|
|
|
|
- glossary: 'Glossary',
|
|
|
|
|
- compliance: 'Compliance',
|
|
|
|
|
- products: 'Products',
|
|
|
|
|
- resources: 'Resources',
|
|
|
|
|
- },
|
|
|
|
|
- announcements: {
|
|
|
|
|
- title: 'Announcements',
|
|
|
|
|
- noAnnouncements: 'No announcements',
|
|
|
|
|
- back: 'Back',
|
|
|
|
|
- backToList: 'Back to List',
|
|
|
|
|
- loadMore: 'Load More',
|
|
|
|
|
- },
|
|
|
|
|
- download: {
|
|
|
|
|
- title: 'Download iBit',
|
|
|
|
|
- heroTitle: 'Real-Time Market\nTrade Anytime, Anywhere',
|
|
|
|
|
- desc: 'Trade anytime, anywhere',
|
|
|
|
|
- appDesc: 'All popular features supported in-app, trade anytime anywhere',
|
|
|
|
|
- latestVersion: 'Latest Version',
|
|
|
|
|
- updateNotes: 'Update Notes',
|
|
|
|
|
- ios: 'iOS Download',
|
|
|
|
|
- iosNotReleased: 'iOS Not Available',
|
|
|
|
|
- android: 'Android Download',
|
|
|
|
|
- androidNotReleased: 'Android Not Available',
|
|
|
|
|
- scanToDownload: 'Scan to download',
|
|
|
|
|
- },
|
|
|
|
|
- account: {
|
|
|
|
|
- title: 'Account Center',
|
|
|
|
|
- uid: 'UID',
|
|
|
|
|
- email: 'Email',
|
|
|
|
|
- profile: 'Profile',
|
|
|
|
|
- security: 'Security',
|
|
|
|
|
- securityDesc: 'Password, authentication, fund password',
|
|
|
|
|
- assets: 'My Assets',
|
|
|
|
|
- assetsDesc: 'Deposit, withdraw, transfer',
|
|
|
|
|
- inviteCode: 'Invite Code',
|
|
|
|
|
- inviteFriends: 'Invite Friends',
|
|
|
|
|
- inviteDesc: 'Invite friends and earn rebate rewards',
|
|
|
|
|
- helpSupport: 'Help & Support',
|
|
|
|
|
- helpDesc: 'FAQ and tickets',
|
|
|
|
|
- broker: 'Broker',
|
|
|
|
|
- brokerDesc: 'Rebate management, team details',
|
|
|
|
|
- logout: 'Log Out',
|
|
|
|
|
- securityScore: 'Security Score',
|
|
|
|
|
- twofa: 'Google Auth',
|
|
|
|
|
- supportTitle: 'Contact Support',
|
|
|
|
|
- supportHours: '7×24 Online Support',
|
|
|
|
|
- onlineSupport: 'Online Chat',
|
|
|
|
|
- instantChat: 'Instant Chat',
|
|
|
|
|
- telegramSupport: 'Telegram Support',
|
|
|
|
|
- emailSupport: 'Email Support',
|
|
|
|
|
- applySubmitted: 'Application submitted, pending review',
|
|
|
|
|
- scoreHigh: 'Excellent',
|
|
|
|
|
- scoreMedium: 'Average',
|
|
|
|
|
- scoreLow: 'Needs Improvement',
|
|
|
|
|
- },
|
|
|
|
|
- transfer: {
|
|
|
|
|
- title: 'Transfer',
|
|
|
|
|
- amount: 'Transfer Amount',
|
|
|
|
|
- amountPlaceholder: 'Enter transfer amount',
|
|
|
|
|
- maxTransferable: 'Max Transferable',
|
|
|
|
|
- success: 'Transfer Successful',
|
|
|
|
|
- selectCoin: 'Select Coin',
|
|
|
|
|
- enterAmount: 'Please enter transfer amount',
|
|
|
|
|
- histEmpty: 'No transfer records',
|
|
|
|
|
- balanceLabel: 'Balance',
|
|
|
|
|
- },
|
|
|
|
|
- withdraw: {
|
|
|
|
|
- title: 'Withdraw',
|
|
|
|
|
- network: 'Network',
|
|
|
|
|
- networkTip: 'Please ensure the withdrawal network matches the network on the receiving platform, otherwise assets may be lost.',
|
|
|
|
|
- address: 'Withdraw Address',
|
|
|
|
|
- addressPlaceholder: 'Enter withdraw address',
|
|
|
|
|
- amount: 'Withdraw Amount',
|
|
|
|
|
- received: 'Received Amount',
|
|
|
|
|
- fee: 'Fee',
|
|
|
|
|
- submitted: 'Withdrawal Submitted',
|
|
|
|
|
- fundPassword: 'Fund Password',
|
|
|
|
|
- emailCode: 'Email Code',
|
|
|
|
|
- googleCode: 'Google Code',
|
|
|
|
|
- securityVerification: 'Security Verification',
|
|
|
|
|
- recordTitle: 'Withdrawal Records',
|
|
|
|
|
- recordEmpty: 'No withdrawal records',
|
|
|
|
|
- confirmCancelApply: 'Cancel this withdrawal request?',
|
|
|
|
|
- withdrawCancelledToast: 'Cancelled',
|
|
|
|
|
- withdrawCancelFailedToast: 'Cancellation failed',
|
|
|
|
|
- statusPending: 'Under review',
|
|
|
|
|
- statusReleasing: 'Releasing',
|
|
|
|
|
- statusWithdrawFailed: 'Failed',
|
|
|
|
|
- statusWithdrawSuccess: 'Succeeded',
|
|
|
|
|
- statusWithdrawCancelled: 'Cancelled',
|
|
|
|
|
- typeInternalTransfer: 'Internal Transfer',
|
|
|
|
|
- typeOnChainWithdraw: 'On-chain Withdrawal',
|
|
|
|
|
- cancelApplyBtn: 'Cancel',
|
|
|
|
|
- initFailed: 'Failed to initialize',
|
|
|
|
|
- submitOnChainFailed: 'Withdrawal failed',
|
|
|
|
|
- transferSubmitFailed: 'Transfer failed',
|
|
|
|
|
- availWithdrawBalance: 'Withdrawable balance:',
|
|
|
|
|
- availTransferBalance: 'Transferable balance:',
|
|
|
|
|
- coinLabel: 'Coin',
|
|
|
|
|
- subCoin: 'Sub-coin',
|
|
|
|
|
- mainCoinLabel: 'Main coin',
|
|
|
|
|
- transferMainCoinHint: 'Internal transfer supports main coins only, not on-chain sub-tokens (e.g. TUSDT, EUSDT).',
|
|
|
|
|
- withdrawNetworkLabel: 'Withdrawal network',
|
|
|
|
|
- withdrawAmountUsdt: 'Withdraw amount (USDT)',
|
|
|
|
|
- withdrawAmountCoin: 'Withdraw amount ({coin})',
|
|
|
|
|
- transferAmountUsdt: 'Transfer amount (USDT)',
|
|
|
|
|
- transferAmountCoin: 'Transfer amount ({coin})',
|
|
|
|
|
- addressForCoin: 'Enter {coin} address',
|
|
|
|
|
- expectedArrival: 'Est. received',
|
|
|
|
|
- minWithdrawRowLabel: 'Min withdrawal',
|
|
|
|
|
- internalTransferFeeLabel: 'Internal transfer fee',
|
|
|
|
|
- free: 'Free',
|
|
|
|
|
- minTransferRowLabel: 'Min transfer',
|
|
|
|
|
- recipientUidLabel: 'Recipient (UID)',
|
|
|
|
|
- recipientUidPlaceholder: "Enter recipient's UID",
|
|
|
|
|
- addressForNetwork: 'Enter USDT-{network} address',
|
|
|
|
|
- codePlaceholder6Digits: '6-digit code',
|
|
|
|
|
- googlePlaceholder6: '6-digit authenticator code',
|
|
|
|
|
- sendVerificationCode: 'Send code',
|
|
|
|
|
- confirmWithdrawSubmit: 'Confirm withdrawal',
|
|
|
|
|
- confirmTransferSubmit: 'Confirm transfer',
|
|
|
|
|
- codeSentToEmailToast: 'Verification code sent to email',
|
|
|
|
|
- onchainSubmittedPendingToast: 'Withdrawal submitted, pending review',
|
|
|
|
|
- transferSubmittedToast: 'Internal transfer submitted',
|
|
|
|
|
- submitFailed: 'Submit failed',
|
|
|
|
|
- detailTitleOnChain: 'Withdrawal details',
|
|
|
|
|
- detailTitleTransfer: 'Internal transfer details',
|
|
|
|
|
- amountHeroWithdraw: 'Withdraw amount',
|
|
|
|
|
- amountHeroTransfer: 'Transfer amount',
|
|
|
|
|
- stepApplied: 'Submitted',
|
|
|
|
|
- stepDone: 'Complete',
|
|
|
|
|
- recipientLabel: 'Recipient',
|
|
|
|
|
- appliedAt: 'Submitted at',
|
|
|
|
|
- finishedAt: 'Completed at',
|
|
|
|
|
- cancelApplyFull: 'Cancel request',
|
|
|
|
|
- copyBtn: 'Copy',
|
|
|
|
|
- bindGoogleFirst: 'Please bind Google Authenticator first',
|
|
|
|
|
- errFillAddressBeforeCode: 'Please enter withdrawal address first',
|
|
|
|
|
- errFillAmountBeforeCode: 'Please enter withdrawal amount first',
|
|
|
|
|
- errFillUidBeforeCode: "Please enter recipient's UID first",
|
|
|
|
|
- errFillTransferAmtBeforeCode: 'Please enter transfer amount first',
|
|
|
|
|
- errEnterWithdrawAddress: 'Enter withdrawal address',
|
|
|
|
|
- errEnterWithdrawAmount: 'Enter withdrawal amount',
|
|
|
|
|
- errMinWithdrawWithAmt: 'Min withdrawal {min} {coin}',
|
|
|
|
|
- errMinWithdrawWithAmtUsdt: 'Min withdrawal {min} USDT',
|
|
|
|
|
- errExceedWithdrawBalance: 'Exceeds withdrawable balance',
|
|
|
|
|
- errEnterFundPassword: 'Enter fund password',
|
|
|
|
|
- errEnterEmailCode: 'Enter email code',
|
|
|
|
|
- errEnterGoogleCode: 'Enter Google code',
|
|
|
|
|
- errEnterRecipientUid: "Enter recipient's UID",
|
|
|
|
|
- errEnterTransferAmount: 'Enter transfer amount',
|
|
|
|
|
- errMinTransferWithAmt: 'Min transfer {min} {coin}',
|
|
|
|
|
- errMinTransferWithAmtUsdt: 'Min transfer {min} USDT',
|
|
|
|
|
- errExceedTransferBalance: 'Exceeds transferable balance',
|
|
|
|
|
- },
|
|
|
|
|
- deposit: {
|
|
|
|
|
- title: 'Deposit',
|
|
|
|
|
- address: 'Deposit Address',
|
|
|
|
|
- network: 'Network',
|
|
|
|
|
- saveQrCode: 'Save QR Code',
|
|
|
|
|
- addressCopied: 'Address Copied',
|
|
|
|
|
- minDeposit: 'Min Deposit',
|
|
|
|
|
- arrivals: 'Confirmations',
|
|
|
|
|
- coin: 'Coin',
|
|
|
|
|
- protocol: 'Network / Protocol',
|
|
|
|
|
- subCoin: 'Sub Coin',
|
|
|
|
|
- contract: 'Contract',
|
|
|
|
|
- depositAmount: 'Deposit Amount',
|
|
|
|
|
- amountPlaceholder: 'Enter amount',
|
|
|
|
|
- generateOrder: 'Generate Order',
|
|
|
|
|
- generating: 'Generating…',
|
|
|
|
|
- notice: 'Notice',
|
|
|
|
|
- notice1: 'Please create an order before transferring; use the address and amount shown in the order.',
|
|
|
|
|
- notice2: 'Do not deposit into the wrong network or contract, as this may result in permanent loss.',
|
|
|
|
|
- notice3: 'Please submit the transaction hash as soon as the transfer is complete so the system can confirm receipt.',
|
|
|
|
|
- intro: 'Introduction',
|
|
|
|
|
- introText: 'Select a coin and network, enter the amount, then click "Generate Order" to get a dedicated receiving address and order number. After completing the on-chain transfer, submit the TxHash on this page.',
|
|
|
|
|
- newDeposit: '← New Deposit',
|
|
|
|
|
- orderInfo: 'Order Info',
|
|
|
|
|
- orderNo: 'Order No.',
|
|
|
|
|
- status: 'Status',
|
|
|
|
|
- coinLabel: 'Coin',
|
|
|
|
|
- networkLabel: 'Network',
|
|
|
|
|
- amount: 'Amount',
|
|
|
|
|
- payAddress: 'Payment Address',
|
|
|
|
|
- payAddressHint: 'Transfer to this address in the exact amount shown; coin and network must match the order',
|
|
|
|
|
- qrTitle: 'QR Code Payment',
|
|
|
|
|
- qrHint: 'Scan with your wallet to transfer to the above address (do not modify the address or amount)',
|
|
|
|
|
- contractAddress: 'Contract Address',
|
|
|
|
|
- copy: '⎘ Copy',
|
|
|
|
|
- copyAddress: 'Copy',
|
|
|
|
|
- submitHash: 'Submit Transaction Hash',
|
|
|
|
|
- submittingHash: 'Submitting…',
|
|
|
|
|
- hashPlaceholder: 'Paste on-chain Tx Hash / Tron TxID',
|
|
|
|
|
- orSubmitHash: 'Or: submit the transaction hash / TxID after transfer is complete',
|
|
|
|
|
- hashRequired: 'Please enter the transaction hash',
|
|
|
|
|
- statusNotSubmittable: 'Cannot submit hash in current status',
|
|
|
|
|
- orderCreated: 'Order created, please transfer to the address below',
|
|
|
|
|
- orderFailed: 'Failed to create order',
|
|
|
|
|
- addressCopy: 'Address copied',
|
|
|
|
|
- orderNoCopy: 'Order number copied',
|
|
|
|
|
- hashSubmitted: 'Submitted, awaiting on-chain confirmation',
|
|
|
|
|
- hashFailed: 'Submission failed',
|
|
|
|
|
- broadcastSuccess: 'Transaction broadcast, hash submitted',
|
|
|
|
|
- tronBroadcastSuccess: 'Transaction broadcast, TxID submitted',
|
|
|
|
|
- noNetwork: 'No networks available',
|
|
|
|
|
- noSubCoin: 'No sub-coins on this network',
|
|
|
|
|
- amountRequired: 'Please enter deposit amount',
|
|
|
|
|
- amountPositive: 'Please enter an amount greater than 0',
|
|
|
|
|
- submittedHash: 'Submitted Hash: ',
|
|
|
|
|
- manualDepositTab: 'Manual Deposit',
|
|
|
|
|
- walletDepositTab: 'On-chain Deposit',
|
|
|
|
|
- walletPayEvm: 'Connect wallet and pay (EVM)',
|
|
|
|
|
- walletPayingEvm: 'Processing wallet…',
|
|
|
|
|
- walletPayTron: 'Connect wallet and pay (Tron)',
|
|
|
|
|
- walletPayingTron: 'Processing Tron wallet…',
|
|
|
|
|
- histLink: 'Deposit History',
|
|
|
|
|
- retryBtn: 'Retry',
|
|
|
|
|
- backWithArrow: '‹ Back',
|
|
|
|
|
- rechargeStatus0: 'Pending payment',
|
|
|
|
|
- rechargeStatus1: 'Awaiting confirmation',
|
|
|
|
|
- rechargeStatus2: 'Completed',
|
|
|
|
|
- rechargeStatus3: 'Cancelled',
|
|
|
|
|
- rechargeStatus4: 'Failed',
|
|
|
|
|
- statusUnknown: 'Status {status}',
|
|
|
|
|
- qrAlt: 'Receiving address QR code',
|
|
|
|
|
- loadNetworksFailed: 'Failed to load networks',
|
|
|
|
|
- wcHintEvmConfigured:
|
|
|
|
|
- 'You can use WalletConnect with an EVM wallet to send the order amount to the receiving address (ensure network and coin match).',
|
|
|
|
|
- wcHintEvmUnconfigured:
|
|
|
|
|
- 'EVM WalletConnect is not configured: set VITE_WALLETCONNECT_PROJECT_ID in environment variables, or switch to Manual Deposit to submit the transaction hash.',
|
|
|
|
|
- wcHintTronConfigured:
|
|
|
|
|
- 'You can use WalletConnect (Tron namespace) with a compatible wallet; after signing the transaction is broadcast and you submit a Tron TxID (not a 0x Ethereum hash).',
|
|
|
|
|
- wcHintTronUnconfigured:
|
|
|
|
|
- 'Tron WalletConnect requires VITE_WALLETCONNECT_PROJECT_ID; if not configured, switch to Manual Deposit to submit the TxID.',
|
|
|
|
|
- wcHintTronManualOnly:
|
|
|
|
|
- 'Wallet wake-up is not supported for this network. Switch to Manual Deposit to submit the TxID.',
|
|
|
|
|
- walletPayFallback: 'Wallet payment failed',
|
|
|
|
|
- tronWalletPayFallback: 'Tron wallet payment failed',
|
|
|
|
|
- currentPrefix: 'Current:',
|
|
|
|
|
- histEmpty: 'No deposit records',
|
|
|
|
|
- histOrderNo: 'Order No.',
|
|
|
|
|
- histTx: 'TX:',
|
|
|
|
|
- histLoadMore: 'Load more',
|
|
|
|
|
- histLoadedAll: 'All records loaded',
|
|
|
|
|
- },
|
|
|
|
|
- broker: {
|
|
|
|
|
- title: 'Broker Center',
|
|
|
|
|
- applyTitle: 'Apply as Broker',
|
|
|
|
|
- myBrokerCode: 'My Broker Code',
|
|
|
|
|
- referralCount: 'Referrals',
|
|
|
|
|
- totalCommission: 'Total Commission',
|
|
|
|
|
- applyStatus: 'Application Status',
|
|
|
|
|
- pending: 'Under Review',
|
|
|
|
|
- approved: 'Approved',
|
|
|
|
|
- rejected: 'Rejected',
|
|
|
|
|
- defaultName: 'Broker',
|
|
|
|
|
- greeting: 'Hello, {name}',
|
|
|
|
|
- uidLabel: 'UID: {uid}',
|
|
|
|
|
- introBanner: 'Invite users to register and trade to earn rebates. Rebates settle in real time and are credited to your account daily.',
|
|
|
|
|
- statNewToday: 'New today (users)',
|
|
|
|
|
- statTradeToday: 'Traded today (users)',
|
|
|
|
|
- statRebateToday: 'Rebate today (USDT)',
|
|
|
|
|
- inviteList: 'Invitations',
|
|
|
|
|
- emptyInviteList: 'No invitations yet',
|
|
|
|
|
- thAccount: 'Account',
|
|
|
|
|
- thLevel: 'Level',
|
|
|
|
|
- thPerpCopy: 'Perp / Copy',
|
|
|
|
|
- levelBroker: 'Broker',
|
|
|
|
|
- levelNormal: 'Standard',
|
|
|
|
|
- editRateTooltip: 'Edit rebate rate',
|
|
|
|
|
- todayRebate: "Today's rebates",
|
|
|
|
|
- emptyTodayRebate: 'No rebates today',
|
|
|
|
|
- thId: 'ID',
|
|
|
|
|
- rebateUsdt: 'Rebate (USDT)',
|
|
|
|
|
- teamDetails: 'Team details',
|
|
|
|
|
- filterAll: 'All',
|
|
|
|
|
- filterWeek: 'Last 7 days',
|
|
|
|
|
- filterToday: 'Today',
|
|
|
|
|
- filterMonth: 'This month',
|
|
|
|
|
- teamTotalAssets: 'Total team assets',
|
|
|
|
|
- rebateHistory: 'Rebate history',
|
|
|
|
|
- emptyRebateHistory: 'No rebate records',
|
|
|
|
|
- amountUsdt: 'Amount (USDT)',
|
|
|
|
|
- loadMore: 'Load more',
|
|
|
|
|
- loadingMore: 'Loading…',
|
|
|
|
|
- loadedAll: 'All records loaded',
|
|
|
|
|
- editModalTitle: 'Edit rebate rate',
|
|
|
|
|
- perpRebateRate: 'Perpetual rebate rate',
|
|
|
|
|
- copyRebateRate: 'Copy-trade rebate rate',
|
|
|
|
|
- editTip: 'Changes take effect immediately. Proceed with care.',
|
|
|
|
|
- perpRateError: 'Perpetual rebate rate must be an integer from 0 to 100',
|
|
|
|
|
- copyRateError: 'Copy-trade rebate rate must be an integer from 0 to 100',
|
|
|
|
|
- setSuccess: 'Saved and applied in real time',
|
|
|
|
|
- },
|
|
|
|
|
- help: {
|
|
|
|
|
- title: 'Help Center',
|
|
|
|
|
- supportTitle: 'Help & Support',
|
|
|
|
|
- search: 'Search',
|
|
|
|
|
- searchPlaceholder: 'Search keywords',
|
|
|
|
|
- telegramSupport: 'Telegram Support',
|
|
|
|
|
- quickResponse: 'Quick Response',
|
|
|
|
|
- emailSupport: 'Email Support',
|
|
|
|
|
- docs: 'Help Docs',
|
|
|
|
|
- viewFullGuide: 'View Full Guide',
|
|
|
|
|
- detailTitle: 'Help Detail',
|
|
|
|
|
- backToHelp: 'Back to Help Center',
|
|
|
|
|
- },
|
|
|
|
|
- invite: {
|
|
|
|
|
- title: 'Invite Friends',
|
|
|
|
|
- myCode: 'My Invite Code',
|
|
|
|
|
- copy: 'Copy Code',
|
|
|
|
|
- copied: 'Code Copied',
|
|
|
|
|
- share: 'Share Invite Link',
|
|
|
|
|
- shareLink: 'Copy Invite Link',
|
|
|
|
|
- linkCopied: 'Link Copied',
|
|
|
|
|
- desc: 'Invite friends to register and earn rebate rewards when they trade',
|
|
|
|
|
- totalInvited: 'Total Invited',
|
|
|
|
|
- totalReward: 'Total Rebate',
|
|
|
|
|
- noRecord: 'No invite records',
|
|
|
|
|
- heroLine1: 'Invite Friends',
|
|
|
|
|
- heroLine2: 'Earn Rebates',
|
|
|
|
|
- heroDesc:
|
|
|
|
|
- 'For each friend who registers successfully through your invitation, you may qualify for the platform invite rebate program. Final rules follow official announcements.',
|
|
|
|
|
- myInviteInfo: 'My Invite Info',
|
|
|
|
|
- inviteCodeLabel: 'Invite Code',
|
|
|
|
|
- inviteLinkShort: 'Invite Link',
|
|
|
|
|
- qrCodeLabel: 'QR Code',
|
|
|
|
|
- copyShort: 'Copy',
|
|
|
|
|
- copiedDone: 'Copied ✓',
|
|
|
|
|
- qrInviteAlt: 'Invitation QR Code',
|
|
|
|
|
- scanToRegister: 'Scan to register',
|
|
|
|
|
- rebateRulesTitle: 'Rebate Rules',
|
|
|
|
|
- step1Title: 'Share your code',
|
|
|
|
|
- step1Desc: 'Send your exclusive invite code or link to friends',
|
|
|
|
|
- step2Title: 'Friend registers',
|
|
|
|
|
- step2Desc: 'Friends complete signup via your link (including verification as required)',
|
|
|
|
|
- step3Title: 'Earn rebates',
|
|
|
|
|
- step3Desc: 'Trading fees from your invitees settle as rebates according to platform rules',
|
|
|
|
|
- },
|
|
|
|
|
- futuresPage: futuresPageByLocale.en,
|
|
|
|
|
- spot: {
|
|
|
|
|
- tag: 'Spot',
|
|
|
|
|
- side: { buy: 'Buy', sell: 'Sell' },
|
|
|
|
|
- orderType: { limit: 'Limit', market: 'Market' },
|
|
|
|
|
- orderStatus: {
|
|
|
|
|
- pending: 'Open',
|
|
|
|
|
- partial: 'Partially Filled',
|
|
|
|
|
- filled: 'Filled',
|
|
|
|
|
- cancelled: 'Cancelled',
|
|
|
|
|
- pending_cancel: 'Cancelling',
|
|
|
|
|
- expired: 'Expired',
|
|
|
|
|
- init: 'Initializing',
|
|
|
|
|
- },
|
|
|
|
|
- recordType: {
|
|
|
|
|
- transferIn: 'Transfer In',
|
|
|
|
|
- transferOut: 'Transfer Out',
|
|
|
|
|
- orderFreeze: 'Order Freeze',
|
|
|
|
|
- cancelUnfreeze: 'Cancel Unfreeze',
|
|
|
|
|
- trade: 'Trade',
|
|
|
|
|
- fee: 'Fee',
|
|
|
|
|
- unfreeze: 'Unfreeze',
|
|
|
|
|
- unknown: 'Type {type}',
|
|
|
|
|
- },
|
|
|
|
|
- tabs: {
|
|
|
|
|
- currentOrders: 'Open Orders',
|
|
|
|
|
- historyOrders: 'Order History',
|
|
|
|
|
- trades: 'Trade History',
|
|
|
|
|
- funding: 'Funding History',
|
|
|
|
|
- },
|
|
|
|
|
- table: {
|
|
|
|
|
- pair: 'Pair',
|
|
|
|
|
- side: 'Side',
|
|
|
|
|
- type: 'Type',
|
|
|
|
|
- price: 'Price',
|
|
|
|
|
- orderPrice: 'Order Price',
|
|
|
|
|
- amount: 'Amount',
|
|
|
|
|
- orderAmount: 'Order Qty',
|
|
|
|
|
- filled: 'Filled',
|
|
|
|
|
- status: 'Status',
|
|
|
|
|
- time: 'Time',
|
|
|
|
|
- action: 'Action',
|
|
|
|
|
- dealPrice: 'Price',
|
|
|
|
|
- dealVolume: 'Volume',
|
|
|
|
|
- turnover: 'Turnover',
|
|
|
|
|
- recordType: 'Type',
|
|
|
|
|
- quantity: 'Amount',
|
|
|
|
|
- coin: 'Coin',
|
|
|
|
|
- },
|
|
|
|
|
- trade: {
|
|
|
|
|
- buy: 'Buy',
|
|
|
|
|
- sell: 'Sell',
|
|
|
|
|
- limit: 'Limit',
|
|
|
|
|
- market: 'Market',
|
|
|
|
|
- processing: 'Processing...',
|
|
|
|
|
- buySymbol: 'Buy {symbol}',
|
|
|
|
|
- sellSymbol: 'Sell {symbol}',
|
|
|
|
|
- priceUsdt: 'Price (USDT)',
|
|
|
|
|
- limitPlaceholder: 'Limit',
|
|
|
|
|
- marketHint: 'Execute at best market price',
|
|
|
|
|
- amountUsdt: 'Amount (USDT)',
|
|
|
|
|
- amountBase: 'Amount ({base})',
|
|
|
|
|
- available: 'Available',
|
|
|
|
|
- transfer: 'Transfer',
|
|
|
|
|
- loginForBalance: 'Log in to view balance',
|
|
|
|
|
- spotAssets: 'Spot Assets',
|
|
|
|
|
- },
|
|
|
|
|
- order: { cancel: 'Cancel', cancelAll: 'Cancel All' },
|
|
|
|
|
- empty: {
|
|
|
|
|
- loginLink: 'Log in',
|
|
|
|
|
- loginOrdersPrompt: '{link} to view orders',
|
|
|
|
|
- loginViewPrompt: '{link} to view',
|
|
|
|
|
- noOrders: 'No open orders',
|
|
|
|
|
- noHistoryOrders: 'No order history',
|
|
|
|
|
- noTrades: 'No trades',
|
|
|
|
|
- noFunding: 'No records',
|
|
|
|
|
- },
|
|
|
|
|
- errors: {
|
|
|
|
|
- symbolNotReady: 'Trading pair not ready',
|
|
|
|
|
- invalidAmount: 'Enter a valid amount',
|
|
|
|
|
- invalidPrice: 'Enter a valid price',
|
|
|
|
|
- minLimitVolume: 'Amount must be at least {min}',
|
|
|
|
|
- minMarketBuy: 'Market buy amount must be at least {min} USDT',
|
|
|
|
|
- minMarketSell: 'Market sell amount must be at least {min}',
|
|
|
|
|
- orderSubmitted: 'Order submitted',
|
|
|
|
|
- orderFailed: 'Order failed',
|
|
|
|
|
- cancelSuccess: 'Order cancelled',
|
|
|
|
|
- cancelFailed: 'Cancel failed',
|
|
|
|
|
- cancelAllSuccess: 'All orders cancelled',
|
|
|
|
|
- cancelAllPartialFailed: 'Some orders failed to cancel',
|
|
|
|
|
- },
|
|
|
|
|
- loadedAll: 'All loaded',
|
|
|
|
|
- ticker: {
|
|
|
|
|
- change24h: '24h Change',
|
|
|
|
|
- high24h: '24h High',
|
|
|
|
|
- low24h: '24h Low',
|
|
|
|
|
- turnover24h: '24h Volume',
|
|
|
|
|
- },
|
|
|
|
|
- chartSub: { chart: 'Chart', coinInfo: 'Coin Info' },
|
|
|
|
|
- tf: { m1: '1m', m5: '5m', m15: '15m', m30: '30m', h1: '1h', h4: '4h', d1: '1D' },
|
|
|
|
|
- ohlcv: {
|
|
|
|
|
- spotLabel: 'Spot',
|
|
|
|
|
- open: 'O',
|
|
|
|
|
- high: 'H',
|
|
|
|
|
- low: 'L',
|
|
|
|
|
- close: 'C',
|
|
|
|
|
- volume: 'Vol',
|
|
|
|
|
- changePct: 'Change',
|
|
|
|
|
- },
|
|
|
|
|
- draw: {
|
|
|
|
|
- cursor: 'Cursor',
|
|
|
|
|
- trend: 'Trend line',
|
|
|
|
|
- hline: 'Horizontal',
|
|
|
|
|
- ray: 'Ray',
|
|
|
|
|
- channel: 'Channel',
|
|
|
|
|
- fib: 'Fibonacci',
|
|
|
|
|
- text: 'Text',
|
|
|
|
|
- clearAll: 'Clear drawings',
|
|
|
|
|
- zoomOut: 'Zoom out',
|
|
|
|
|
- },
|
|
|
|
|
- mobileTab: { chart: 'Markets', trade: 'Trade' },
|
|
|
|
|
- pair: { search: 'Search', loading: 'Loading…', noMatch: 'No results', retryLater: ', please retry' },
|
|
|
|
|
- book: {
|
|
|
|
|
- waiting: 'Waiting for data…',
|
|
|
|
|
- orderbook: 'Order book',
|
|
|
|
|
- trades: 'Trades',
|
|
|
|
|
- priceUsdt: 'Price (USDT)',
|
|
|
|
|
- amountBase: 'Amount ({base})',
|
|
|
|
|
- total: 'Total',
|
|
|
|
|
- buyRatio: 'Buy {n}%',
|
|
|
|
|
- sellRatio: '{n}% Sell',
|
|
|
|
|
- price: 'Price',
|
|
|
|
|
- amount: 'Amount',
|
|
|
|
|
- time: 'Time',
|
|
|
|
|
- pricePrecision: 'Price precision',
|
|
|
|
|
- },
|
|
|
|
|
- coinInfo: {
|
|
|
|
|
- marketCap: 'Market cap',
|
|
|
|
|
- circulating: 'Circulating supply',
|
|
|
|
|
- issuePrice: 'Issue price',
|
|
|
|
|
- ath: 'All-time high',
|
|
|
|
|
- athDate: 'ATH date',
|
|
|
|
|
- whitepaper: 'Whitepaper',
|
|
|
|
|
- empty: 'No coin info',
|
|
|
|
|
- reload: 'Reload',
|
|
|
|
|
- },
|
|
|
|
|
- transferModal: {
|
|
|
|
|
- title: 'Transfer',
|
|
|
|
|
- selectCoin: 'Coin',
|
|
|
|
|
- amount: 'Amount',
|
|
|
|
|
- amountPlaceholder: 'Enter amount',
|
|
|
|
|
- availableUsdt: 'Available USDT:',
|
|
|
|
|
- availableCoin: 'Available {coin}:',
|
|
|
|
|
- transferring: 'Transferring...',
|
|
|
|
|
- invalidAmount: 'Enter a valid transfer amount',
|
|
|
|
|
- insufficientBalance: 'Amount exceeds available balance',
|
|
|
|
|
- transferFailed: 'Transfer failed, please try again',
|
|
|
|
|
- },
|
|
|
|
|
- },
|
|
|
|
|
-}
|
|
|
|
|
|
|
+ nav: {
|
|
|
|
|
+ home: 'Home',
|
|
|
|
|
+ market: 'Market',
|
|
|
|
|
+ spot: 'Spot',
|
|
|
|
|
+ futures: 'Futures',
|
|
|
|
|
+ copyTrade: 'Copy',
|
|
|
|
|
+ finance: 'Earn',
|
|
|
|
|
+ idoPresale: 'IDO Presale',
|
|
|
|
|
+ claimAirdrop: 'Claim Airdrop',
|
|
|
|
|
+ announcements: 'Announcements',
|
|
|
|
|
+ download: 'Download',
|
|
|
|
|
+ },
|
|
|
|
|
+ lang: {
|
|
|
|
|
+ title: '语言',
|
|
|
|
|
+ zhCN: '简体中文',
|
|
|
|
|
+ zhTW: '繁體中文',
|
|
|
|
|
+ en: 'English',
|
|
|
|
|
+ ko: '한국어',
|
|
|
|
|
+ ja: '日本語',
|
|
|
|
|
+ hi: 'हिन्दी',
|
|
|
|
|
+ id: 'Bahasa Indonesia',
|
|
|
|
|
+ es: 'Español', // 西班牙语
|
|
|
|
|
+ ru: 'Русский', // 俄语
|
|
|
|
|
+ pt: 'Português', // 葡萄牙语
|
|
|
|
|
+ de: 'Deutsch', // 德语
|
|
|
|
|
+ fr: 'Français', // 法语
|
|
|
|
|
+ tr: 'Türkçe', // 土耳其语
|
|
|
|
|
+ vi: 'Tiếng Việt' // 越南语
|
|
|
|
|
+ },
|
|
|
|
|
+ header: {
|
|
|
|
|
+ login: 'Login',
|
|
|
|
|
+ register: 'Register',
|
|
|
|
|
+ account: 'Account',
|
|
|
|
|
+ assets: 'My Assets',
|
|
|
|
|
+ security: 'Security',
|
|
|
|
|
+ broker: 'Broker',
|
|
|
|
|
+ logout: 'Logout',
|
|
|
|
|
+ logoutShort: 'Logout',
|
|
|
|
|
+ downloadTitle: 'Download',
|
|
|
|
|
+ brokerApplyTitle: 'Apply as Broker',
|
|
|
|
|
+ brokerApplyDesc: 'You are not a broker yet. The system will automatically submit an application using your account information. You can use broker features once approved.',
|
|
|
|
|
+ cancel: 'Cancel',
|
|
|
|
|
+ applyNow: 'Apply Now',
|
|
|
|
|
+ viewApplyList: 'View Application Status',
|
|
|
|
|
+ submitting: 'Submitting…',
|
|
|
|
|
+ menu: 'Menu',
|
|
|
|
|
+ },
|
|
|
|
|
+ common: {
|
|
|
|
|
+ loading: 'Loading...',
|
|
|
|
|
+ retry: 'Retry',
|
|
|
|
|
+ cancel: 'Cancel',
|
|
|
|
|
+ confirm: 'Confirm',
|
|
|
|
|
+ submit: 'Submit',
|
|
|
|
|
+ save: 'Save',
|
|
|
|
|
+ send: 'Send',
|
|
|
|
|
+ back: 'Back',
|
|
|
|
|
+ next: 'Next',
|
|
|
|
|
+ done: 'Done',
|
|
|
|
|
+ noData: 'No Data',
|
|
|
|
|
+ noRecord: 'No Records',
|
|
|
|
|
+ search: 'Search',
|
|
|
|
|
+ all: 'All',
|
|
|
|
|
+ max: 'Max',
|
|
|
|
|
+ copied: 'Copied',
|
|
|
|
|
+ networkError: 'Network error, please retry',
|
|
|
|
|
+ loadFailed: 'Load Failed',
|
|
|
|
|
+ operationFailed: 'Operation failed, please retry',
|
|
|
|
|
+ saveSuccess: 'Saved',
|
|
|
|
|
+ more: 'More',
|
|
|
|
|
+ perpetual: 'Perp',
|
|
|
|
|
+ set: 'Set',
|
|
|
|
|
+ notSet: 'Not Set',
|
|
|
|
|
+ change: 'Change',
|
|
|
|
|
+ bind: 'Bind',
|
|
|
|
|
+ unbind: 'Unbind',
|
|
|
|
|
+ on: 'On',
|
|
|
|
|
+ off: 'Off',
|
|
|
|
|
+ status: 'Status',
|
|
|
|
|
+ time: 'Time',
|
|
|
|
|
+ amount: 'Amount',
|
|
|
|
|
+ type: 'Type',
|
|
|
|
|
+ coin: 'Coin',
|
|
|
|
|
+ from: 'From',
|
|
|
|
|
+ to: 'To',
|
|
|
|
|
+ close: 'Close',
|
|
|
|
|
+ contactService: 'Contact Support',
|
|
|
|
|
+ },
|
|
|
|
|
+ home: {
|
|
|
|
|
+ heroTitle: 'Secure · Efficient · Global\nDigital Asset Exchange',
|
|
|
|
|
+ heroDesc: 'iBit is dedicated to providing stable, transparent, and professional digital asset trading services to global users through leading technology and strict risk management.',
|
|
|
|
|
+ register: 'Register',
|
|
|
|
|
+ viewMarket: 'View Markets',
|
|
|
|
|
+ downloadApp: 'Download App',
|
|
|
|
|
+ coreAdvantages: 'Core Advantages',
|
|
|
|
|
+ assetSafetyTitle: 'Asset Security',
|
|
|
|
|
+ assetSafetyDesc: 'Cold/hot wallet isolation, multi-signature and permission controls, plus 24/7 risk monitoring to fully protect user assets.',
|
|
|
|
|
+ highPerfTitle: 'High Performance',
|
|
|
|
|
+ highPerfDesc: 'Proprietary matching engine with millisecond order processing, delivering a stable and smooth trading experience in low-latency environments.',
|
|
|
|
|
+ globalComplianceTitle: 'Global Compliance',
|
|
|
|
|
+ globalComplianceDesc: 'Adhering to multi-regional compliance standards and continuously advancing compliance, providing a trustworthy trading environment for global users.',
|
|
|
|
|
+ transparentFeeTitle: 'Transparent Fees',
|
|
|
|
|
+ transparentFeeDesc: 'Clear and transparent fee structure with no hidden costs, helping users effectively manage trading costs.',
|
|
|
|
|
+ aboutUs: 'About Us',
|
|
|
|
|
+ aboutDesc: 'iBit is a global digital asset exchange dedicated to providing safe, stable, and efficient trading services through technology innovation and compliant operations.',
|
|
|
|
|
+ foundedYear: 'Founded in 2023',
|
|
|
|
|
+ headquarters: 'Headquartered and registered in Dubai, the company holds relevant licenses issued by regulatory authorities of the United States, Canada, Australia and Dubai',
|
|
|
|
|
+ ourVision: 'Our Vision',
|
|
|
|
|
+ visionSubtitle: 'Building a globally trusted digital asset trading infrastructure for the long term',
|
|
|
|
|
+ ecoTitle: 'Ecosystem',
|
|
|
|
|
+ ecoDesc: 'Building a new-generation Crypto digital asset trading ecosystem',
|
|
|
|
|
+ missionTitle: 'Mission',
|
|
|
|
|
+ missionDesc: 'Driving the flow of digital value across global scenarios',
|
|
|
|
|
+ purposeTitle: 'Purpose',
|
|
|
|
|
+ purposeDesc: 'Helping users easily manage and invest in crypto digital assets',
|
|
|
|
|
+ heroImageAlt: 'iBit Trading Platform',
|
|
|
|
|
+ aboutImageAlt: 'About Us',
|
|
|
|
|
+ },
|
|
|
|
|
+ market: {
|
|
|
|
|
+ title: 'Live Market',
|
|
|
|
|
+ desc: 'Real-time prices, volumes, and 24h changes for major digital assets to help users stay on top of market trends.',
|
|
|
|
|
+ hot: 'Hot',
|
|
|
|
|
+ topVolume: 'Top Volume',
|
|
|
|
|
+ gainers: 'Gainers',
|
|
|
|
|
+ losers: 'Losers',
|
|
|
|
|
+ perpetual: 'Perp',
|
|
|
|
|
+ name: 'Name',
|
|
|
|
|
+ latestPrice: 'Price',
|
|
|
|
|
+ change24h: '24h Change',
|
|
|
|
|
+ turnover: 'Volume',
|
|
|
|
|
+ searchPair: 'Search pairs',
|
|
|
|
|
+ searchMarket: 'Search coins, pairs, futures',
|
|
|
|
|
+ price: 'Price',
|
|
|
|
|
+ change24hShort: '24h Change',
|
|
|
|
|
+ high24h: '24h High',
|
|
|
|
|
+ low24h: '24h Low',
|
|
|
|
|
+ volume24hLabel: '24h Volume',
|
|
|
|
|
+ },
|
|
|
|
|
+ auth: {
|
|
|
|
|
+ loginTitle: 'Login',
|
|
|
|
|
+ emailLogin: 'Email Login',
|
|
|
|
|
+ emailPlaceholder: 'Enter your email',
|
|
|
|
|
+ password: 'Password',
|
|
|
|
|
+ passwordPlaceholder: 'Enter your password',
|
|
|
|
|
+ forgotPassword: 'Forgot Password?',
|
|
|
|
|
+ loginBtn: 'Login',
|
|
|
|
|
+ noAccount: "Don't have an account?",
|
|
|
|
|
+ registerNow: 'Register Now',
|
|
|
|
|
+ verifyTitle: 'Enter Verification Code',
|
|
|
|
|
+ codeSentDesc: 'A verification code has been sent to {email}. Please check your inbox.',
|
|
|
|
|
+ codeSendDesc: 'Click the button below to send a verification code to {email}.',
|
|
|
|
|
+ countdownResend: 'Resend in {n}s',
|
|
|
|
|
+ resendCode: 'Resend Code',
|
|
|
|
|
+ confirmBtn: 'Confirm',
|
|
|
|
|
+ sendCode: 'Send Code',
|
|
|
|
|
+ forgotVerify: 'Forgot verification method?',
|
|
|
|
|
+ loginSuccess: 'Login successful',
|
|
|
|
|
+ codeSentAgain: 'Code resent',
|
|
|
|
|
+ registerTitle: 'Register',
|
|
|
|
|
+ emailRegister: 'Email Registration',
|
|
|
|
|
+ inviteCodeLabel: 'Invite Code (optional)',
|
|
|
|
|
+ inviteCodePlaceholder: 'Enter invite code',
|
|
|
|
|
+ hasAccount: 'Already have an account?',
|
|
|
|
|
+ loginNow: 'Login Now',
|
|
|
|
|
+ verifyPageTitle: 'Security Verification',
|
|
|
|
|
+ emailVerifyLabel: 'Email Verification',
|
|
|
|
|
+ codePlaceholder: 'Enter verification code',
|
|
|
|
|
+ sendBtn: 'Send',
|
|
|
|
|
+ passwordTitle: 'Create Password',
|
|
|
|
|
+ backBtn: '‹ Back',
|
|
|
|
|
+ inputPasswordLabel: 'Password',
|
|
|
|
|
+ confirmPasswordLabel: 'Confirm Password',
|
|
|
|
|
+ confirmPasswordPlaceholder: 'Re-enter password',
|
|
|
|
|
+ doneBtn: 'Done',
|
|
|
|
|
+ resetSuccess: 'Password reset successful. Please log in with your new password.',
|
|
|
|
|
+ registerSuccess: 'Registration Successful',
|
|
|
|
|
+ welcomeJoin: 'Welcome to iBit',
|
|
|
|
|
+ loginNowBtn: 'Login Now',
|
|
|
|
|
+ forgotPasswordTitle: 'Reset Password',
|
|
|
|
|
+ emailLabel: 'Email',
|
|
|
|
|
+ emailRegisteredPlaceholder: 'Enter your registered email',
|
|
|
|
|
+ codeSentToast: 'Code sent',
|
|
|
|
|
+ },
|
|
|
|
|
+ error: {
|
|
|
|
|
+ emailRequired: 'Please enter your email',
|
|
|
|
|
+ emailInvalid: 'Invalid email format',
|
|
|
|
|
+ passwordRequired: 'Please enter your password',
|
|
|
|
|
+ code6Required: 'Please enter the 6-digit code',
|
|
|
|
|
+ codeRequired: 'Please enter the verification code',
|
|
|
|
|
+ loginFailed: 'Incorrect username or password',
|
|
|
|
|
+ networkError: 'Network error, please try again',
|
|
|
|
|
+ emailAlreadyRegistered: 'This email is already registered. Please log in.',
|
|
|
|
|
+ confirmPasswordRequired: 'Please re-enter your password',
|
|
|
|
|
+ passwordMismatch: 'Passwords do not match',
|
|
|
|
|
+ loadFailed: 'Failed to load security info',
|
|
|
|
|
+ refreshFailed: 'Refresh failed',
|
|
|
|
|
+ statusUpdated: 'Status updated',
|
|
|
|
|
+ currentPasswordRequired: 'Please enter your current password',
|
|
|
|
|
+ sixDigitCode: 'Please enter the 6-digit email verification code',
|
|
|
|
|
+ sixDigitGoogleCode: 'Please enter the 6-digit Google code',
|
|
|
|
|
+ sendFailed: 'Send failed',
|
|
|
|
|
+ operationFailed: 'Operation failed',
|
|
|
|
|
+ },
|
|
|
|
|
+ security: {
|
|
|
|
|
+ title: 'Security Settings',
|
|
|
|
|
+ back: '‹ Back',
|
|
|
|
|
+ warningBanner: 'We recommend completing email verification, Google Authenticator, and fund password setup to enhance account security.',
|
|
|
|
|
+ accountSecurity: 'Account Security',
|
|
|
|
|
+ loginPassword: 'Login Password',
|
|
|
|
|
+ loginPasswordDesc: 'Changing your password regularly improves account security',
|
|
|
|
|
+ emailVerify: 'Email Verification',
|
|
|
|
|
+ emailVerifyDesc: 'Bind your email for account verification and password recovery',
|
|
|
|
|
+ googleAuth: 'Google Authenticator',
|
|
|
|
|
+ googleAuthDesc: 'Bind Google Authenticator to enhance account security',
|
|
|
|
|
+ fundPassword: 'Fund Password',
|
|
|
|
|
+ fundPasswordDesc: 'Set a fund password to protect your assets',
|
|
|
|
|
+ set: 'Set',
|
|
|
|
|
+ notSet: 'Not Set',
|
|
|
|
|
+ change: 'Change',
|
|
|
|
|
+ bind: 'Bind',
|
|
|
|
|
+ set2: 'Set',
|
|
|
|
|
+ statusUpdated: 'Status updated',
|
|
|
|
|
+ loadFailed: 'Failed to load security info',
|
|
|
|
|
+ refreshFailed: 'Refresh failed',
|
|
|
|
|
+ bound: 'Bound',
|
|
|
|
|
+ notBound: 'Not Bound',
|
|
|
|
|
+ refresh: 'Refresh',
|
|
|
|
|
+ googleHelpTitle: 'Google Authenticator Help',
|
|
|
|
|
+ googleHelpDesc: 'If you cannot receive the verification code or need to unbind, please contact online support.',
|
|
|
|
|
+ changeLoginPassword: 'Change Login Password',
|
|
|
|
|
+ changePasswordHint: 'After changing, please use your new password to log in. The verification code will be sent to your bound email.',
|
|
|
|
|
+ currentPassword: 'Current Password',
|
|
|
|
|
+ newPassword: 'New Password',
|
|
|
|
|
+ confirmNewPassword: 'Confirm New Password',
|
|
|
|
|
+ emailCode: 'Email Verification Code',
|
|
|
|
|
+ sendCode: 'Send Code',
|
|
|
|
|
+ codeSent: 'Verification code sent to email',
|
|
|
|
|
+ changeSuccess: 'Password changed successfully',
|
|
|
|
|
+ confirmChange: 'Confirm Change',
|
|
|
|
|
+ submitting: 'Submitting…',
|
|
|
|
|
+ setFundPassword: 'Set Fund Password',
|
|
|
|
|
+ resetFundPassword: 'Reset Fund Password',
|
|
|
|
|
+ fundPasswordHint: 'The fund password is used for withdrawals, transfers and other sensitive operations. Please keep it safe.',
|
|
|
|
|
+ fundPasswordResetHint: 'Please reset your fund password. A verification code will be sent to your bound email.',
|
|
|
|
|
+ newFundPassword: 'New Fund Password',
|
|
|
|
|
+ confirmFundPassword: 'Confirm Password',
|
|
|
|
|
+ fundPasswordUpdated: 'Fund password updated',
|
|
|
|
|
+ fundPasswordSet: 'Fund password set successfully',
|
|
|
|
|
+ bindGoogle: 'Bind Google Authenticator',
|
|
|
|
|
+ boundEmail: 'Bound Email:',
|
|
|
|
|
+ googleQrStep: '1. Scan the QR code or enter the key manually',
|
|
|
|
|
+ googleCodeStep: '2. Google Authenticator Code (6 digits)',
|
|
|
|
|
+ emailCodeStep: '3. Email Verification Code',
|
|
|
|
|
+ copyKey: 'Copy Key',
|
|
|
|
|
+ keyCopied: 'Key copied',
|
|
|
|
|
+ copyFailed: 'Copy failed, please select the key text manually',
|
|
|
|
|
+ clipboardDeniedMac: 'Clipboard access denied. Click the lock icon in the address bar → Site settings → set Clipboard to Allow, then try again.',
|
|
|
|
|
+ clipboardDenied: 'Clipboard access denied. Allow clipboard permission for this site in your browser settings, then try again.',
|
|
|
|
|
+ invalidSecret: 'Invalid key, please refresh and try again',
|
|
|
|
|
+ googleCodeRequired: 'Please enter the 6-digit Google code',
|
|
|
|
|
+ emailCodeSent: 'Email verification code sent',
|
|
|
|
|
+ bindSuccess: 'Bound successfully',
|
|
|
|
|
+ confirmBind: 'Confirm Bind',
|
|
|
|
|
+ googleAuthLead: 'Please first download Google Authenticator or Microsoft Authenticator from your phone\'s app store to store your one-time verification codes.',
|
|
|
|
|
+ googleAuthTip1: 'After binding, login and sensitive operations may require the 6-digit code from the app.',
|
|
|
|
|
+ googleAuthTip2: 'Keep your device safe. If you cannot receive the code, please contact customer support.',
|
|
|
|
|
+ googleAuthStart: 'I\'ve downloaded it, bind now',
|
|
|
|
|
+ },
|
|
|
|
|
+ assets: {
|
|
|
|
|
+ title: 'My Assets',
|
|
|
|
|
+ totalAssets: 'Total Assets',
|
|
|
|
|
+ todayPnl: "Today's P&L",
|
|
|
|
|
+ deposit: 'Deposit',
|
|
|
|
|
+ withdraw: 'Withdraw',
|
|
|
|
|
+ transfer: 'Transfer',
|
|
|
|
|
+ history: 'History',
|
|
|
|
|
+ spot: 'Spot',
|
|
|
|
|
+ futures: 'Futures',
|
|
|
|
|
+ copyTrade: 'Copy',
|
|
|
|
|
+ fund: 'Withdrawable',
|
|
|
|
|
+ walletBalance: 'Wallet Balance',
|
|
|
|
|
+ unrealizedPnl: 'Unrealized PnL',
|
|
|
|
|
+ positions: 'Positions',
|
|
|
|
|
+ noPositions: 'No Positions',
|
|
|
|
|
+ assetBalance: 'Asset Balance',
|
|
|
|
|
+ unavailable: 'Unavailable',
|
|
|
|
|
+ depositCoin: 'Deposit',
|
|
|
|
|
+ withdrawCoin: 'Withdraw',
|
|
|
|
|
+ depositRecord: 'Deposit History',
|
|
|
|
|
+ withdrawRecord: 'Withdraw History',
|
|
|
|
|
+ transferRecord: 'Transfer History',
|
|
|
|
|
+ assetRecord: 'Transaction History',
|
|
|
|
|
+ overview: 'Overview',
|
|
|
|
|
+ spotAccount: 'Spot Account',
|
|
|
|
|
+ swapAccount: 'Futures Account',
|
|
|
|
|
+ followAccount: 'Copy Account',
|
|
|
|
|
+ fundAccount: 'Withdrawable Account',
|
|
|
|
|
+ spotTradingAccount: 'Spot Trading Account',
|
|
|
|
|
+ ibitAccount: 'iBit Account',
|
|
|
|
|
+ lockedStakingAccount: 'Locked Account',
|
|
|
|
|
+ stakingTab: 'Lock-up',
|
|
|
|
|
+ ibitUnit: 'iBit',
|
|
|
|
|
+ releaseTotal: 'Total Released',
|
|
|
|
|
+ totalLockedBalance: 'Total Locked Balance (iBit)',
|
|
|
|
|
+ myStakingOrders: 'My Locked Orders',
|
|
|
|
|
+ stakingOrderNo: 'Order No.',
|
|
|
|
|
+ purchaseQty: 'Purchase Qty',
|
|
|
|
|
+ stakingTotal: 'Locked Amount',
|
|
|
|
|
+ released: 'Released',
|
|
|
|
|
+ pendingRelease: 'Pending Release',
|
|
|
|
|
+ startTime: 'Start Time',
|
|
|
|
|
+ subscribing: 'Subscribing',
|
|
|
|
|
+ releasing: 'Releasing',
|
|
|
|
|
+ completed: 'Completed',
|
|
|
|
|
+ pullToRefresh: 'Pull down to refresh',
|
|
|
|
|
+ releaseToRefresh: 'Release to refresh',
|
|
|
|
|
+ refreshing: 'Refreshing...',
|
|
|
|
|
+ totalAccount: 'Total Account Value',
|
|
|
|
|
+ showBalance: 'Show Balance',
|
|
|
|
|
+ hideBalance: 'Hide Balance',
|
|
|
|
|
+ followBalance: 'Copy Balance',
|
|
|
|
|
+ accountTransfer: 'Account Transfer',
|
|
|
|
|
+ transferFrom: 'From',
|
|
|
|
|
+ transferTo: 'To',
|
|
|
|
|
+ available: 'Available',
|
|
|
|
|
+ freeTransfer: 'Free transfer, instant arrival',
|
|
|
|
|
+ followPositions: 'Current Copy Positions',
|
|
|
|
|
+ noFollowPositions: 'No copy positions',
|
|
|
|
|
+ followLoading: 'Loading…',
|
|
|
|
|
+ long: 'Long',
|
|
|
|
|
+ short: 'Short',
|
|
|
|
|
+ trader: 'Trader',
|
|
|
|
|
+ openPrice: 'Open Price',
|
|
|
|
|
+ currentPrice: 'Current Price',
|
|
|
|
|
+ amountLever: 'Amount · Leverage',
|
|
|
|
|
+ closing: 'Closing…',
|
|
|
|
|
+ closePosition: 'Close',
|
|
|
|
|
+ noLossPosition: 'Lossless copy positions cannot be closed manually',
|
|
|
|
|
+ invalidPosition: 'Position info invalid, cannot close',
|
|
|
|
|
+ confirmClose: 'Close this position? Once closed, you will not receive final profit from this order.',
|
|
|
|
|
+ closeSuccess: 'Position closed successfully',
|
|
|
|
|
+ closeFailed: 'Failed to close position',
|
|
|
|
|
+ sameAccountError: 'Source and destination accounts cannot be the same',
|
|
|
|
|
+ amountError: 'Please enter a valid amount',
|
|
|
|
|
+ insufficientBalance: 'Insufficient available balance',
|
|
|
|
|
+ transferSuccess: 'Transfer successful',
|
|
|
|
|
+ transferFailed: 'Transfer failed',
|
|
|
|
|
+ goCopyTrade: 'Copy Trade',
|
|
|
|
|
+ goSpotTrade: 'Go to Trade',
|
|
|
|
|
+ hideZeroBalance: 'Hide zero balance assets',
|
|
|
|
|
+ depositRecord2: 'Deposit History',
|
|
|
|
|
+ amountUsdt: 'Amount (USDT)',
|
|
|
|
|
+ amountCoin: 'Amount ({coin})',
|
|
|
|
|
+ availableCoin: 'Available: {available} {coin}',
|
|
|
|
|
+ transferring: 'Transferring…',
|
|
|
|
|
+ confirmTransferBtn: 'Confirm Transfer',
|
|
|
|
|
+ statementPageTitle: 'Transaction Statement',
|
|
|
|
|
+ statementStartDate: 'Start date',
|
|
|
|
|
+ statementEndDate: 'End date',
|
|
|
|
|
+ statementReset: 'Reset',
|
|
|
|
|
+ statementSearch: 'Search',
|
|
|
|
|
+ statementSearching: 'Searching…',
|
|
|
|
|
+ statementEmpty: 'No records',
|
|
|
|
|
+ statementDirectionOpen: 'Open',
|
|
|
|
|
+ statementDirectionClose: 'Close',
|
|
|
|
|
+ statementTypes: {
|
|
|
|
|
+ '43': 'Spot profit',
|
|
|
|
|
+ '44': 'Spot loss',
|
|
|
|
|
+ '45': 'Spot trading fee',
|
|
|
|
|
+ '46': 'Spot rebate',
|
|
|
|
|
+ '48': 'Spot trade',
|
|
|
|
|
+ '49': 'Staking',
|
|
|
|
|
+ '50': 'Staking unlock release',
|
|
|
|
|
+ '51': 'Airdrop reward',
|
|
|
|
|
+ '52': 'Transfer to staking wallet',
|
|
|
|
|
+ '53': 'Transfer from staking wallet',
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ finance: {
|
|
|
|
|
+ ...financePageByLocale.en,
|
|
|
|
|
+ },
|
|
|
|
|
+ copyTrade: {
|
|
|
|
|
+ comprehensive: 'Comprehensive',
|
|
|
|
|
+ winRate14d: '14D Win Rate',
|
|
|
|
|
+ profit14d: '14D Return',
|
|
|
|
|
+ normal: 'Regular Copy',
|
|
|
|
|
+ lossless: 'Lossless Copy',
|
|
|
|
|
+ favorite: 'Favorites',
|
|
|
|
|
+ topTraders: 'Top Traders',
|
|
|
|
|
+ twoWeekReturn: '2W Return',
|
|
|
|
|
+ followers: 'Followers',
|
|
|
|
|
+ days: 'Days',
|
|
|
|
|
+ applyTrader: 'Apply as Trader',
|
|
|
|
|
+ myFollowing: 'My Copy Trading',
|
|
|
|
|
+ myTrading: 'My Trading',
|
|
|
|
|
+ traderIdentity: 'Lead trader',
|
|
|
|
|
+ myFollowingAccount: 'My copy account',
|
|
|
|
|
+ leadManage: 'Lead dashboard',
|
|
|
|
|
+ applyLead: 'Apply to lead',
|
|
|
|
|
+ pageTitle: 'Copy Trading',
|
|
|
|
|
+ heroDesc: 'Follow elite traders with one tap and let professional strategies work for you.',
|
|
|
|
|
+ traderOverview: 'Lead trader overview',
|
|
|
|
|
+ copyFollowersCount: 'Copy followers',
|
|
|
|
|
+ cumulativeTradingDays: 'Total trading days',
|
|
|
|
|
+ cumulativeLeadProfit: 'Cumulative copy profit',
|
|
|
|
|
+ goLeadManage: 'Open lead dashboard →',
|
|
|
|
|
+ copyWalletTitle: 'Copy account',
|
|
|
|
|
+ cumulativePnlUsdt: 'Cumulative copy PnL (USDT)',
|
|
|
|
|
+ availableUsdt: 'Available (USDT)',
|
|
|
|
|
+ unrealizedPnlUsdtShort: 'Unrealized PnL (USDT)',
|
|
|
|
|
+ followingTradersSummary: 'Following {n} traders',
|
|
|
|
|
+ newBadge: 'NEW',
|
|
|
|
|
+ losslessShieldTitle: 'Lossless protection',
|
|
|
|
|
+ losslessShieldDesc: ': If copy trades lose, the platform may provide risk relief so you pursue returns within controlled risk.',
|
|
|
|
|
+ learnHowItWorks: 'How it works →',
|
|
|
|
|
+ myStarredTraders: 'Traders you saved',
|
|
|
|
|
+ traderTotalCount: '{count} traders',
|
|
|
|
|
+ filterLoadingShort: 'Loading…',
|
|
|
|
|
+ loadTraderListFailed: 'Could not load traders',
|
|
|
|
|
+ loadFavoritesFailed: 'Could not load favorites',
|
|
|
|
|
+ favoritedToast: 'Saved',
|
|
|
|
|
+ defaultTraderName: 'Trader',
|
|
|
|
|
+ levelJunior: 'Junior',
|
|
|
|
|
+ badgeLossless: 'Lossless',
|
|
|
|
|
+ metaDaysTrades: '{days}d · {trades} trades',
|
|
|
|
|
+ followAction: 'Copy',
|
|
|
|
|
+ profitUsdtBracket: 'P&L (USDT)',
|
|
|
|
|
+ profitShareRate: 'Profit share',
|
|
|
|
|
+ trend14Days: '14-day trend',
|
|
|
|
|
+ emptyFavoriteHint: 'No favorites yet—discover great traders.',
|
|
|
|
|
+ emptyTraderListDefault: 'No traders to show',
|
|
|
|
|
+ emptyTraderListLossless: 'No lossless traders yet',
|
|
|
|
|
+ browseTraders: 'Browse traders',
|
|
|
|
|
+ losslessInfoHeading: 'How lossless copy works',
|
|
|
|
|
+ llInfoCard1Title: 'Conditional protection',
|
|
|
|
|
+ llInfoCard1Body: 'Protection applies when rules and trigger conditions are met; handled by platform risk systems.',
|
|
|
|
|
+ llInfoCard2Title: 'Limited liability',
|
|
|
|
|
+ llInfoCard2Body: 'Compensation is capped per eligible copy trade; losses beyond the agreed scope are not covered.',
|
|
|
|
|
+ llInfoCard3Title: 'Risk control first',
|
|
|
|
|
+ llInfoCard3Body: 'If losses exceed risk limits, protection systems activate first to keep copy trading fair.',
|
|
|
|
|
+ llInfoCard4Title: 'Risk notice',
|
|
|
|
|
+ llInfoCard4Body: 'Digital assets are highly risky; lossless copy is not risk-free—only trade what you can afford to lose.',
|
|
|
|
|
+ followingPlaza: 'Copy plaza',
|
|
|
|
|
+ followingWalletFail: 'Failed to load copy account overview',
|
|
|
|
|
+ followingTabPositions: 'Open Positions',
|
|
|
|
|
+ followingTabTraders: 'My Traders',
|
|
|
|
|
+ followingTabHistory: 'History',
|
|
|
|
|
+ followingHistEmpty: 'No historical copy trades',
|
|
|
|
|
+ followingNoTradersYet: 'You are not following any traders yet',
|
|
|
|
|
+ followingGoPlaza: 'Go to copy plaza',
|
|
|
|
|
+ confirmStopFollow: 'Stop following "{name}"?',
|
|
|
|
|
+ noLossManualCloseTooltip: 'Lossless copies cannot be closed manually',
|
|
|
|
|
+ followingThContract: 'Contract',
|
|
|
|
|
+ followingThDirection: 'Side',
|
|
|
|
|
+ followingThOpenPrice: 'Entry',
|
|
|
|
|
+ followingThCurPrice: 'Mark',
|
|
|
|
|
+ followingThQty: 'Size',
|
|
|
|
|
+ followingThLever: 'Leverage',
|
|
|
|
|
+ followingThUnrealized: 'Unrealized PnL',
|
|
|
|
|
+ followingThOpenTime: 'Open time',
|
|
|
|
|
+ followingThAction: 'Action',
|
|
|
|
|
+ followingOpenLong: 'Long Open',
|
|
|
|
|
+ followingOpenShort: 'Short Open',
|
|
|
|
|
+ closeQtyWithBase: 'Close size ({base})',
|
|
|
|
|
+ followingRealizedPnlUsdt: 'Realized PnL (USDT)',
|
|
|
|
|
+ followingYieldRate: 'Return',
|
|
|
|
|
+ followingAvgOpenUsdt: 'Avg entry (USDT)',
|
|
|
|
|
+ followingAvgCloseUsdt: 'Avg exit (USDT)',
|
|
|
|
|
+ marginCrossMode: 'Cross',
|
|
|
|
|
+ marginIsolatedMode: 'Isolated',
|
|
|
|
|
+ stopFollowing: 'Unfollow',
|
|
|
|
|
+ lead: {
|
|
|
|
|
+ pageTitle: 'My Lead Trading',
|
|
|
|
|
+ navMyFollowing: 'My Copy Trading →',
|
|
|
|
|
+ becomeTitle: 'Become a Lead Trader',
|
|
|
|
|
+ becomeDesc: 'Meet the requirements below to apply as a lead trader.',
|
|
|
|
|
+ condMinBalance: 'Futures account balance ≥ {min} USDT',
|
|
|
|
|
+ goTransfer: 'Transfer',
|
|
|
|
|
+ condNotFollowing: 'Must not be following another trader',
|
|
|
|
|
+ agreePrefix: 'I have read and agree to the',
|
|
|
|
|
+ agreeLink: 'Trader Agreement',
|
|
|
|
|
+ submitting: 'Submitting…',
|
|
|
|
|
+ submitApply: 'Submit Application',
|
|
|
|
|
+ applyFailed: 'Application failed, please try again later',
|
|
|
|
|
+ reviewingTitle: 'Application Under Review',
|
|
|
|
|
+ reviewingDesc: 'Your trader application is under review. You can start leading once approved.',
|
|
|
|
|
+ agreementTitle: 'Trader Agreement',
|
|
|
|
|
+ agreementEmpty: 'Agreement could not be loaded. Please try again later.',
|
|
|
|
|
+ leadingBadge: 'Leading',
|
|
|
|
|
+ noBio: 'No bio yet',
|
|
|
|
|
+ cancelLeadProcessing: 'Processing…',
|
|
|
|
|
+ cancelLeadApply: 'Request to Stop Leading',
|
|
|
|
|
+ confirmCancelLead: 'Stop leading? This will end all copy relationships.',
|
|
|
|
|
+ operationFailed: 'Operation failed',
|
|
|
|
|
+ statFollowers: 'Current copy followers',
|
|
|
|
|
+ statRegisterDays: 'Days on platform',
|
|
|
|
|
+ statCapital: 'Capital strength',
|
|
|
|
|
+ statCumulativeProfit: 'Cumulative copy profit (USDT)',
|
|
|
|
|
+ statTotalFollowers: 'Total copy followers',
|
|
|
|
|
+ statTradingDays: 'Total trading days',
|
|
|
|
|
+ tabFollowers: 'Followers ({n})',
|
|
|
|
|
+ tabCurrent: 'Open leads',
|
|
|
|
|
+ tabHistory: 'Lead history',
|
|
|
|
|
+ tabSettings: 'Trader settings',
|
|
|
|
|
+ emptyFollowers: 'No followers yet',
|
|
|
|
|
+ removeFollower: 'Remove',
|
|
|
|
|
+ followerEquity: 'Account equity (USDT)',
|
|
|
|
|
+ followerTotalShare: 'Total profit share (USDT)',
|
|
|
|
|
+ followerLastShare: 'Last period share',
|
|
|
|
|
+ followerSince: 'Following since: {time}',
|
|
|
|
|
+ emptyCurrent: 'No open lead positions',
|
|
|
|
|
+ emptyHistory: 'No lead history',
|
|
|
|
|
+ settingsBasic: 'Basic info',
|
|
|
|
|
+ avatar: 'Avatar',
|
|
|
|
|
+ nickname: 'Nickname',
|
|
|
|
|
+ nicknamePlaceholder: 'Up to 10 characters',
|
|
|
|
|
+ bio: 'Bio',
|
|
|
|
|
+ bioPlaceholder: 'Up to 25 characters',
|
|
|
|
|
+ saveSuccess: 'Saved',
|
|
|
|
|
+ saveBasicProcessing: 'Saving…',
|
|
|
|
|
+ saveBasic: 'Save basic info',
|
|
|
|
|
+ leadSymbols: 'Lead contracts',
|
|
|
|
|
+ saveProcessing: 'Saving…',
|
|
|
|
|
+ save: 'Save',
|
|
|
|
|
+ tagsTitle: 'Tags (up to 4)',
|
|
|
|
|
+ confirmRemoveFollower: 'Remove follower "{name}"?',
|
|
|
|
|
+ saveFailed: 'Save failed',
|
|
|
|
|
+ uploadFailed: 'Upload failed, please retry',
|
|
|
|
|
+ defaultFollower: 'Follower',
|
|
|
|
|
+ defaultUser: 'User',
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ footer: {
|
|
|
|
|
+ aboutSection: 'About Us',
|
|
|
|
|
+ companyIntro: 'Company Introduction',
|
|
|
|
|
+ brand: 'Brand',
|
|
|
|
|
+ community: 'Join iBit Community',
|
|
|
|
|
+ riskWarning: 'Risk Disclosure',
|
|
|
|
|
+ terms: 'Terms of Service',
|
|
|
|
|
+ privacy: 'Privacy Policy',
|
|
|
|
|
+ futuresTrade: 'Futures Trading',
|
|
|
|
|
+ spotTrade: 'Spot Trading',
|
|
|
|
|
+ losslessCopy: 'Lossless Copy',
|
|
|
|
|
+ beginnerGuide: 'Beginner Guide',
|
|
|
|
|
+ helpCenter: 'Help Center',
|
|
|
|
|
+ glossary: 'Glossary',
|
|
|
|
|
+ compliance: 'Compliance',
|
|
|
|
|
+ products: 'Products',
|
|
|
|
|
+ resources: 'Resources',
|
|
|
|
|
+ },
|
|
|
|
|
+ announcements: {
|
|
|
|
|
+ title: 'Announcements',
|
|
|
|
|
+ noAnnouncements: 'No announcements',
|
|
|
|
|
+ back: 'Back',
|
|
|
|
|
+ backToList: 'Back to List',
|
|
|
|
|
+ loadMore: 'Load More',
|
|
|
|
|
+ },
|
|
|
|
|
+ download: {
|
|
|
|
|
+ title: 'Download iBit',
|
|
|
|
|
+ heroTitle: 'Real-Time Market\nTrade Anytime, Anywhere',
|
|
|
|
|
+ desc: 'Trade anytime, anywhere',
|
|
|
|
|
+ appDesc: 'All popular features supported in-app, trade anytime anywhere',
|
|
|
|
|
+ latestVersion: 'Latest Version',
|
|
|
|
|
+ updateNotes: 'Update Notes',
|
|
|
|
|
+ ios: 'iOS Download',
|
|
|
|
|
+ iosNotReleased: 'iOS Not Available',
|
|
|
|
|
+ android: 'Android Download',
|
|
|
|
|
+ androidNotReleased: 'Android Not Available',
|
|
|
|
|
+ scanToDownload: 'Scan to download',
|
|
|
|
|
+ },
|
|
|
|
|
+ account: {
|
|
|
|
|
+ title: 'Account Center',
|
|
|
|
|
+ uid: 'UID',
|
|
|
|
|
+ email: 'Email',
|
|
|
|
|
+ profile: 'Profile',
|
|
|
|
|
+ security: 'Security',
|
|
|
|
|
+ securityDesc: 'Password, authentication, fund password',
|
|
|
|
|
+ assets: 'My Assets',
|
|
|
|
|
+ assetsDesc: 'Deposit, withdraw, transfer',
|
|
|
|
|
+ inviteCode: 'Invite Code',
|
|
|
|
|
+ inviteFriends: 'Invite Friends',
|
|
|
|
|
+ inviteDesc: 'Invite friends and earn rebate rewards',
|
|
|
|
|
+ helpSupport: 'Help & Support',
|
|
|
|
|
+ helpDesc: 'FAQ and tickets',
|
|
|
|
|
+ broker: 'Broker',
|
|
|
|
|
+ brokerDesc: 'Rebate management, team details',
|
|
|
|
|
+ logout: 'Log Out',
|
|
|
|
|
+ securityScore: 'Security Score',
|
|
|
|
|
+ twofa: 'Google Auth',
|
|
|
|
|
+ supportTitle: 'Contact Support',
|
|
|
|
|
+ supportHours: '7×24 Online Support',
|
|
|
|
|
+ onlineSupport: 'Online Chat',
|
|
|
|
|
+ instantChat: 'Instant Chat',
|
|
|
|
|
+ telegramSupport: 'Telegram Support',
|
|
|
|
|
+ emailSupport: 'Email Support',
|
|
|
|
|
+ applySubmitted: 'Application submitted, pending review',
|
|
|
|
|
+ scoreHigh: 'Excellent',
|
|
|
|
|
+ scoreMedium: 'Average',
|
|
|
|
|
+ scoreLow: 'Needs Improvement',
|
|
|
|
|
+ },
|
|
|
|
|
+ transfer: {
|
|
|
|
|
+ title: 'Transfer',
|
|
|
|
|
+ amount: 'Transfer Amount',
|
|
|
|
|
+ amountPlaceholder: 'Enter transfer amount',
|
|
|
|
|
+ maxTransferable: 'Max Transferable',
|
|
|
|
|
+ success: 'Transfer Successful',
|
|
|
|
|
+ selectCoin: 'Select Coin',
|
|
|
|
|
+ enterAmount: 'Please enter transfer amount',
|
|
|
|
|
+ histEmpty: 'No transfer records',
|
|
|
|
|
+ balanceLabel: 'Balance',
|
|
|
|
|
+ },
|
|
|
|
|
+ withdraw: {
|
|
|
|
|
+ title: 'Withdraw',
|
|
|
|
|
+ network: 'Network',
|
|
|
|
|
+ networkTip: 'Please ensure the withdrawal network matches the network on the receiving platform, otherwise assets may be lost.',
|
|
|
|
|
+ address: 'Withdraw Address',
|
|
|
|
|
+ addressPlaceholder: 'Enter withdraw address',
|
|
|
|
|
+ amount: 'Withdraw Amount',
|
|
|
|
|
+ received: 'Received Amount',
|
|
|
|
|
+ fee: 'Fee',
|
|
|
|
|
+ submitted: 'Withdrawal Submitted',
|
|
|
|
|
+ fundPassword: 'Fund Password',
|
|
|
|
|
+ emailCode: 'Email Code',
|
|
|
|
|
+ googleCode: 'Google Code',
|
|
|
|
|
+ securityVerification: 'Security Verification',
|
|
|
|
|
+ recordTitle: 'Withdrawal Records',
|
|
|
|
|
+ recordEmpty: 'No withdrawal records',
|
|
|
|
|
+ confirmCancelApply: 'Cancel this withdrawal request?',
|
|
|
|
|
+ withdrawCancelledToast: 'Cancelled',
|
|
|
|
|
+ withdrawCancelFailedToast: 'Cancellation failed',
|
|
|
|
|
+ statusPending: 'Under review',
|
|
|
|
|
+ statusReleasing: 'Releasing',
|
|
|
|
|
+ statusWithdrawFailed: 'Failed',
|
|
|
|
|
+ statusWithdrawSuccess: 'Succeeded',
|
|
|
|
|
+ statusWithdrawCancelled: 'Cancelled',
|
|
|
|
|
+ typeInternalTransfer: 'Internal Transfer',
|
|
|
|
|
+ typeOnChainWithdraw: 'On-chain Withdrawal',
|
|
|
|
|
+ cancelApplyBtn: 'Cancel',
|
|
|
|
|
+ initFailed: 'Failed to initialize',
|
|
|
|
|
+ submitOnChainFailed: 'Withdrawal failed',
|
|
|
|
|
+ transferSubmitFailed: 'Transfer failed',
|
|
|
|
|
+ availWithdrawBalance: 'Withdrawable balance:',
|
|
|
|
|
+ availTransferBalance: 'Transferable balance:',
|
|
|
|
|
+ coinLabel: 'Coin',
|
|
|
|
|
+ subCoin: 'Sub-coin',
|
|
|
|
|
+ mainCoinLabel: 'Main coin',
|
|
|
|
|
+ transferMainCoinHint: 'Internal transfer supports main coins only, not on-chain sub-tokens (e.g. TUSDT, EUSDT).',
|
|
|
|
|
+ withdrawNetworkLabel: 'Withdrawal network',
|
|
|
|
|
+ withdrawAmountUsdt: 'Withdraw amount (USDT)',
|
|
|
|
|
+ withdrawAmountCoin: 'Withdraw amount ({coin})',
|
|
|
|
|
+ transferAmountUsdt: 'Transfer amount (USDT)',
|
|
|
|
|
+ transferAmountCoin: 'Transfer amount ({coin})',
|
|
|
|
|
+ addressForCoin: 'Enter {coin} address',
|
|
|
|
|
+ expectedArrival: 'Est. received',
|
|
|
|
|
+ minWithdrawRowLabel: 'Min withdrawal',
|
|
|
|
|
+ internalTransferFeeLabel: 'Internal transfer fee',
|
|
|
|
|
+ free: 'Free',
|
|
|
|
|
+ minTransferRowLabel: 'Min transfer',
|
|
|
|
|
+ recipientUidLabel: 'Recipient (UID)',
|
|
|
|
|
+ recipientUidPlaceholder: "Enter recipient's UID",
|
|
|
|
|
+ addressForNetwork: 'Enter USDT-{network} address',
|
|
|
|
|
+ codePlaceholder6Digits: '6-digit code',
|
|
|
|
|
+ googlePlaceholder6: '6-digit authenticator code',
|
|
|
|
|
+ sendVerificationCode: 'Send code',
|
|
|
|
|
+ confirmWithdrawSubmit: 'Confirm withdrawal',
|
|
|
|
|
+ confirmTransferSubmit: 'Confirm transfer',
|
|
|
|
|
+ codeSentToEmailToast: 'Verification code sent to email',
|
|
|
|
|
+ onchainSubmittedPendingToast: 'Withdrawal submitted, pending review',
|
|
|
|
|
+ transferSubmittedToast: 'Internal transfer submitted',
|
|
|
|
|
+ submitFailed: 'Submit failed',
|
|
|
|
|
+ detailTitleOnChain: 'Withdrawal details',
|
|
|
|
|
+ detailTitleTransfer: 'Internal transfer details',
|
|
|
|
|
+ amountHeroWithdraw: 'Withdraw amount',
|
|
|
|
|
+ amountHeroTransfer: 'Transfer amount',
|
|
|
|
|
+ stepApplied: 'Submitted',
|
|
|
|
|
+ stepDone: 'Complete',
|
|
|
|
|
+ recipientLabel: 'Recipient',
|
|
|
|
|
+ appliedAt: 'Submitted at',
|
|
|
|
|
+ finishedAt: 'Completed at',
|
|
|
|
|
+ cancelApplyFull: 'Cancel request',
|
|
|
|
|
+ copyBtn: 'Copy',
|
|
|
|
|
+ bindGoogleFirst: 'Please bind Google Authenticator first',
|
|
|
|
|
+ errFillAddressBeforeCode: 'Please enter withdrawal address first',
|
|
|
|
|
+ errFillAmountBeforeCode: 'Please enter withdrawal amount first',
|
|
|
|
|
+ errFillUidBeforeCode: "Please enter recipient's UID first",
|
|
|
|
|
+ errFillTransferAmtBeforeCode: 'Please enter transfer amount first',
|
|
|
|
|
+ errEnterWithdrawAddress: 'Enter withdrawal address',
|
|
|
|
|
+ errEnterWithdrawAmount: 'Enter withdrawal amount',
|
|
|
|
|
+ errMinWithdrawWithAmt: 'Min withdrawal {min} {coin}',
|
|
|
|
|
+ errMinWithdrawWithAmtUsdt: 'Min withdrawal {min} USDT',
|
|
|
|
|
+ errExceedWithdrawBalance: 'Exceeds withdrawable balance',
|
|
|
|
|
+ errEnterFundPassword: 'Enter fund password',
|
|
|
|
|
+ errEnterEmailCode: 'Enter email code',
|
|
|
|
|
+ errEnterGoogleCode: 'Enter Google code',
|
|
|
|
|
+ errEnterRecipientUid: "Enter recipient's UID",
|
|
|
|
|
+ errEnterTransferAmount: 'Enter transfer amount',
|
|
|
|
|
+ errMinTransferWithAmt: 'Min transfer {min} {coin}',
|
|
|
|
|
+ errMinTransferWithAmtUsdt: 'Min transfer {min} USDT',
|
|
|
|
|
+ errExceedTransferBalance: 'Exceeds transferable balance',
|
|
|
|
|
+ },
|
|
|
|
|
+ deposit: {
|
|
|
|
|
+ title: 'Deposit',
|
|
|
|
|
+ address: 'Deposit Address',
|
|
|
|
|
+ network: 'Network',
|
|
|
|
|
+ saveQrCode: 'Save QR Code',
|
|
|
|
|
+ addressCopied: 'Address Copied',
|
|
|
|
|
+ minDeposit: 'Min Deposit',
|
|
|
|
|
+ arrivals: 'Confirmations',
|
|
|
|
|
+ coin: 'Coin',
|
|
|
|
|
+ protocol: 'Network / Protocol',
|
|
|
|
|
+ subCoin: 'Sub Coin',
|
|
|
|
|
+ contract: 'Contract',
|
|
|
|
|
+ depositAmount: 'Deposit Amount',
|
|
|
|
|
+ amountPlaceholder: 'Enter amount',
|
|
|
|
|
+ generateOrder: 'Generate Order',
|
|
|
|
|
+ generating: 'Generating…',
|
|
|
|
|
+ notice: 'Notice',
|
|
|
|
|
+ notice1: 'Please create an order before transferring; use the address and amount shown in the order.',
|
|
|
|
|
+ notice2: 'Do not deposit into the wrong network or contract, as this may result in permanent loss.',
|
|
|
|
|
+ notice3: 'Please submit the transaction hash as soon as the transfer is complete so the system can confirm receipt.',
|
|
|
|
|
+ intro: 'Introduction',
|
|
|
|
|
+ introText: 'Select a coin and network, enter the amount, then click "Generate Order" to get a dedicated receiving address and order number. After completing the on-chain transfer, submit the TxHash on this page.',
|
|
|
|
|
+ newDeposit: '← New Deposit',
|
|
|
|
|
+ orderInfo: 'Order Info',
|
|
|
|
|
+ orderNo: 'Order No.',
|
|
|
|
|
+ status: 'Status',
|
|
|
|
|
+ coinLabel: 'Coin',
|
|
|
|
|
+ networkLabel: 'Network',
|
|
|
|
|
+ amount: 'Amount',
|
|
|
|
|
+ payAddress: 'Payment Address',
|
|
|
|
|
+ payAddressHint: 'Transfer to this address in the exact amount shown; coin and network must match the order',
|
|
|
|
|
+ qrTitle: 'QR Code Payment',
|
|
|
|
|
+ qrHint: 'Scan with your wallet to transfer to the above address (do not modify the address or amount)',
|
|
|
|
|
+ contractAddress: 'Contract Address',
|
|
|
|
|
+ copy: '⎘ Copy',
|
|
|
|
|
+ copyAddress: 'Copy',
|
|
|
|
|
+ submitHash: 'Submit Transaction Hash',
|
|
|
|
|
+ submittingHash: 'Submitting…',
|
|
|
|
|
+ hashPlaceholder: 'Paste on-chain Tx Hash / Tron TxID',
|
|
|
|
|
+ orSubmitHash: 'Or: submit the transaction hash / TxID after transfer is complete',
|
|
|
|
|
+ hashRequired: 'Please enter the transaction hash',
|
|
|
|
|
+ statusNotSubmittable: 'Cannot submit hash in current status',
|
|
|
|
|
+ orderCreated: 'Order created, please transfer to the address below',
|
|
|
|
|
+ orderFailed: 'Failed to create order',
|
|
|
|
|
+ addressCopy: 'Address copied',
|
|
|
|
|
+ orderNoCopy: 'Order number copied',
|
|
|
|
|
+ hashSubmitted: 'Submitted, awaiting on-chain confirmation',
|
|
|
|
|
+ hashFailed: 'Submission failed',
|
|
|
|
|
+ broadcastSuccess: 'Transaction broadcast, hash submitted',
|
|
|
|
|
+ tronBroadcastSuccess: 'Transaction broadcast, TxID submitted',
|
|
|
|
|
+ noNetwork: 'No networks available',
|
|
|
|
|
+ noSubCoin: 'No sub-coins on this network',
|
|
|
|
|
+ amountRequired: 'Please enter deposit amount',
|
|
|
|
|
+ amountPositive: 'Please enter an amount greater than 0',
|
|
|
|
|
+ submittedHash: 'Submitted Hash: ',
|
|
|
|
|
+ manualDepositTab: 'Manual Deposit',
|
|
|
|
|
+ walletDepositTab: 'On-chain Deposit',
|
|
|
|
|
+ walletPayEvm: 'Connect wallet and pay (EVM)',
|
|
|
|
|
+ walletPayingEvm: 'Processing wallet…',
|
|
|
|
|
+ walletPayTron: 'Connect wallet and pay (Tron)',
|
|
|
|
|
+ walletPayingTron: 'Processing Tron wallet…',
|
|
|
|
|
+ histLink: 'Deposit History',
|
|
|
|
|
+ retryBtn: 'Retry',
|
|
|
|
|
+ backWithArrow: '‹ Back',
|
|
|
|
|
+ rechargeStatus0: 'Pending payment',
|
|
|
|
|
+ rechargeStatus1: 'Awaiting confirmation',
|
|
|
|
|
+ rechargeStatus2: 'Completed',
|
|
|
|
|
+ rechargeStatus3: 'Cancelled',
|
|
|
|
|
+ rechargeStatus4: 'Failed',
|
|
|
|
|
+ statusUnknown: 'Status {status}',
|
|
|
|
|
+ qrAlt: 'Receiving address QR code',
|
|
|
|
|
+ loadNetworksFailed: 'Failed to load networks',
|
|
|
|
|
+ wcHintEvmConfigured:
|
|
|
|
|
+ 'You can use WalletConnect with an EVM wallet to send the order amount to the receiving address (ensure network and coin match).',
|
|
|
|
|
+ wcHintEvmUnconfigured:
|
|
|
|
|
+ 'EVM WalletConnect is not configured: set VITE_WALLETCONNECT_PROJECT_ID in environment variables, or switch to Manual Deposit to submit the transaction hash.',
|
|
|
|
|
+ wcHintTronConfigured:
|
|
|
|
|
+ 'You can use WalletConnect (Tron namespace) with a compatible wallet; after signing the transaction is broadcast and you submit a Tron TxID (not a 0x Ethereum hash).',
|
|
|
|
|
+ wcHintTronUnconfigured:
|
|
|
|
|
+ 'Tron WalletConnect requires VITE_WALLETCONNECT_PROJECT_ID; if not configured, switch to Manual Deposit to submit the TxID.',
|
|
|
|
|
+ wcHintTronManualOnly:
|
|
|
|
|
+ 'Wallet wake-up is not supported for this network. Switch to Manual Deposit to submit the TxID.',
|
|
|
|
|
+ walletPayFallback: 'Wallet payment failed',
|
|
|
|
|
+ tronWalletPayFallback: 'Tron wallet payment failed',
|
|
|
|
|
+ currentPrefix: 'Current:',
|
|
|
|
|
+ histEmpty: 'No deposit records',
|
|
|
|
|
+ histOrderNo: 'Order No.',
|
|
|
|
|
+ histTx: 'TX:',
|
|
|
|
|
+ histLoadMore: 'Load more',
|
|
|
|
|
+ histLoadedAll: 'All records loaded',
|
|
|
|
|
+ },
|
|
|
|
|
+ broker: {
|
|
|
|
|
+ title: 'Broker Center',
|
|
|
|
|
+ applyTitle: 'Apply as Broker',
|
|
|
|
|
+ myBrokerCode: 'My Broker Code',
|
|
|
|
|
+ referralCount: 'Referrals',
|
|
|
|
|
+ totalCommission: 'Total Commission',
|
|
|
|
|
+ applyStatus: 'Application Status',
|
|
|
|
|
+ pending: 'Under Review',
|
|
|
|
|
+ approved: 'Approved',
|
|
|
|
|
+ rejected: 'Rejected',
|
|
|
|
|
+ defaultName: 'Broker',
|
|
|
|
|
+ greeting: 'Hello, {name}',
|
|
|
|
|
+ uidLabel: 'UID: {uid}',
|
|
|
|
|
+ introBanner: 'Invite users to register and trade to earn rebates. Rebates settle in real time and are credited to your account daily.',
|
|
|
|
|
+ statNewToday: 'New today (users)',
|
|
|
|
|
+ statTradeToday: 'Traded today (users)',
|
|
|
|
|
+ statRebateToday: 'Rebate today (USDT)',
|
|
|
|
|
+ inviteList: 'Invitations',
|
|
|
|
|
+ emptyInviteList: 'No invitations yet',
|
|
|
|
|
+ thAccount: 'Account',
|
|
|
|
|
+ thLevel: 'Level',
|
|
|
|
|
+ thPerpCopy: 'Perp / Copy',
|
|
|
|
|
+ levelBroker: 'Broker',
|
|
|
|
|
+ levelNormal: 'Standard',
|
|
|
|
|
+ editRateTooltip: 'Edit rebate rate',
|
|
|
|
|
+ todayRebate: "Today's rebates",
|
|
|
|
|
+ emptyTodayRebate: 'No rebates today',
|
|
|
|
|
+ thId: 'ID',
|
|
|
|
|
+ rebateUsdt: 'Rebate (USDT)',
|
|
|
|
|
+ teamDetails: 'Team details',
|
|
|
|
|
+ filterAll: 'All',
|
|
|
|
|
+ filterWeek: 'Last 7 days',
|
|
|
|
|
+ filterToday: 'Today',
|
|
|
|
|
+ filterMonth: 'This month',
|
|
|
|
|
+ teamTotalAssets: 'Total team assets',
|
|
|
|
|
+ rebateHistory: 'Rebate history',
|
|
|
|
|
+ emptyRebateHistory: 'No rebate records',
|
|
|
|
|
+ amountUsdt: 'Amount (USDT)',
|
|
|
|
|
+ loadMore: 'Load more',
|
|
|
|
|
+ loadingMore: 'Loading…',
|
|
|
|
|
+ loadedAll: 'All records loaded',
|
|
|
|
|
+ editModalTitle: 'Edit rebate rate',
|
|
|
|
|
+ perpRebateRate: 'Perpetual rebate rate',
|
|
|
|
|
+ copyRebateRate: 'Copy-trade rebate rate',
|
|
|
|
|
+ editTip: 'Changes take effect immediately. Proceed with care.',
|
|
|
|
|
+ perpRateError: 'Perpetual rebate rate must be an integer from 0 to 100',
|
|
|
|
|
+ copyRateError: 'Copy-trade rebate rate must be an integer from 0 to 100',
|
|
|
|
|
+ setSuccess: 'Saved and applied in real time',
|
|
|
|
|
+ },
|
|
|
|
|
+ help: {
|
|
|
|
|
+ title: 'Help Center',
|
|
|
|
|
+ supportTitle: 'Help & Support',
|
|
|
|
|
+ search: 'Search',
|
|
|
|
|
+ searchPlaceholder: 'Search keywords',
|
|
|
|
|
+ telegramSupport: 'Telegram Support',
|
|
|
|
|
+ quickResponse: 'Quick Response',
|
|
|
|
|
+ emailSupport: 'Email Support',
|
|
|
|
|
+ docs: 'Help Docs',
|
|
|
|
|
+ viewFullGuide: 'View Full Guide',
|
|
|
|
|
+ detailTitle: 'Help Detail',
|
|
|
|
|
+ backToHelp: 'Back to Help Center',
|
|
|
|
|
+ },
|
|
|
|
|
+ invite: {
|
|
|
|
|
+ title: 'Invite Friends',
|
|
|
|
|
+ myCode: 'My Invite Code',
|
|
|
|
|
+ copy: 'Copy Code',
|
|
|
|
|
+ copied: 'Code Copied',
|
|
|
|
|
+ share: 'Share Invite Link',
|
|
|
|
|
+ shareLink: 'Copy Invite Link',
|
|
|
|
|
+ linkCopied: 'Link Copied',
|
|
|
|
|
+ desc: 'Invite friends to register and earn rebate rewards when they trade',
|
|
|
|
|
+ totalInvited: 'Total Invited',
|
|
|
|
|
+ totalReward: 'Total Rebate',
|
|
|
|
|
+ noRecord: 'No invite records',
|
|
|
|
|
+ heroLine1: 'Invite Friends',
|
|
|
|
|
+ heroLine2: 'Earn Rebates',
|
|
|
|
|
+ heroDesc:
|
|
|
|
|
+ 'For each friend who registers successfully through your invitation, you may qualify for the platform invite rebate program. Final rules follow official announcements.',
|
|
|
|
|
+ myInviteInfo: 'My Invite Info',
|
|
|
|
|
+ inviteCodeLabel: 'Invite Code',
|
|
|
|
|
+ inviteLinkShort: 'Invite Link',
|
|
|
|
|
+ qrCodeLabel: 'QR Code',
|
|
|
|
|
+ copyShort: 'Copy',
|
|
|
|
|
+ copiedDone: 'Copied ✓',
|
|
|
|
|
+ qrInviteAlt: 'Invitation QR Code',
|
|
|
|
|
+ scanToRegister: 'Scan to register',
|
|
|
|
|
+ rebateRulesTitle: 'Rebate Rules',
|
|
|
|
|
+ step1Title: 'Share your code',
|
|
|
|
|
+ step1Desc: 'Send your exclusive invite code or link to friends',
|
|
|
|
|
+ step2Title: 'Friend registers',
|
|
|
|
|
+ step2Desc: 'Friends complete signup via your link (including verification as required)',
|
|
|
|
|
+ step3Title: 'Earn rebates',
|
|
|
|
|
+ step3Desc: 'Trading fees from your invitees settle as rebates according to platform rules',
|
|
|
|
|
+ },
|
|
|
|
|
+ futuresPage: futuresPageByLocale.en,
|
|
|
|
|
+ spot: {
|
|
|
|
|
+ tag: 'Spot',
|
|
|
|
|
+ side: { buy: 'Buy', sell: 'Sell' },
|
|
|
|
|
+ orderType: { limit: 'Limit', market: 'Market' },
|
|
|
|
|
+ orderStatus: {
|
|
|
|
|
+ pending: 'Open',
|
|
|
|
|
+ partial: 'Partially Filled',
|
|
|
|
|
+ filled: 'Filled',
|
|
|
|
|
+ cancelled: 'Cancelled',
|
|
|
|
|
+ pending_cancel: 'Cancelling',
|
|
|
|
|
+ expired: 'Expired',
|
|
|
|
|
+ init: 'Initializing',
|
|
|
|
|
+ },
|
|
|
|
|
+ recordType: {
|
|
|
|
|
+ transferIn: 'Transfer In',
|
|
|
|
|
+ transferOut: 'Transfer Out',
|
|
|
|
|
+ orderFreeze: 'Order Freeze',
|
|
|
|
|
+ cancelUnfreeze: 'Cancel Unfreeze',
|
|
|
|
|
+ trade: 'Trade',
|
|
|
|
|
+ fee: 'Fee',
|
|
|
|
|
+ unfreeze: 'Unfreeze',
|
|
|
|
|
+ unknown: 'Type {type}',
|
|
|
|
|
+ },
|
|
|
|
|
+ tabs: {
|
|
|
|
|
+ currentOrders: 'Open Orders',
|
|
|
|
|
+ historyOrders: 'Order History',
|
|
|
|
|
+ trades: 'Trade History',
|
|
|
|
|
+ funding: 'Funding History',
|
|
|
|
|
+ },
|
|
|
|
|
+ table: {
|
|
|
|
|
+ pair: 'Pair',
|
|
|
|
|
+ side: 'Side',
|
|
|
|
|
+ type: 'Type',
|
|
|
|
|
+ price: 'Price',
|
|
|
|
|
+ orderPrice: 'Order Price',
|
|
|
|
|
+ amount: 'Amount',
|
|
|
|
|
+ orderAmount: 'Order Qty',
|
|
|
|
|
+ filled: 'Filled',
|
|
|
|
|
+ status: 'Status',
|
|
|
|
|
+ time: 'Time',
|
|
|
|
|
+ action: 'Action',
|
|
|
|
|
+ dealPrice: 'Price',
|
|
|
|
|
+ dealVolume: 'Volume',
|
|
|
|
|
+ turnover: 'Turnover',
|
|
|
|
|
+ recordType: 'Type',
|
|
|
|
|
+ quantity: 'Amount',
|
|
|
|
|
+ coin: 'Coin',
|
|
|
|
|
+ },
|
|
|
|
|
+ trade: {
|
|
|
|
|
+ buy: 'Buy',
|
|
|
|
|
+ sell: 'Sell',
|
|
|
|
|
+ limit: 'Limit',
|
|
|
|
|
+ market: 'Market',
|
|
|
|
|
+ processing: 'Processing...',
|
|
|
|
|
+ buySymbol: 'Buy {symbol}',
|
|
|
|
|
+ sellSymbol: 'Sell {symbol}',
|
|
|
|
|
+ priceUsdt: 'Price (USDT)',
|
|
|
|
|
+ limitPlaceholder: 'Limit',
|
|
|
|
|
+ marketHint: 'Execute at best market price',
|
|
|
|
|
+ amountUsdt: 'Amount (USDT)',
|
|
|
|
|
+ amountBase: 'Amount ({base})',
|
|
|
|
|
+ available: 'Available',
|
|
|
|
|
+ transfer: 'Transfer',
|
|
|
|
|
+ loginForBalance: 'Log in to view balance',
|
|
|
|
|
+ spotAssets: 'Spot Assets',
|
|
|
|
|
+ },
|
|
|
|
|
+ order: { cancel: 'Cancel', cancelAll: 'Cancel All' },
|
|
|
|
|
+ empty: {
|
|
|
|
|
+ loginLink: 'Log in',
|
|
|
|
|
+ loginOrdersPrompt: '{link} to view orders',
|
|
|
|
|
+ loginViewPrompt: '{link} to view',
|
|
|
|
|
+ noOrders: 'No open orders',
|
|
|
|
|
+ noHistoryOrders: 'No order history',
|
|
|
|
|
+ noTrades: 'No trades',
|
|
|
|
|
+ noFunding: 'No records',
|
|
|
|
|
+ },
|
|
|
|
|
+ errors: {
|
|
|
|
|
+ symbolNotReady: 'Trading pair not ready',
|
|
|
|
|
+ invalidAmount: 'Enter a valid amount',
|
|
|
|
|
+ invalidPrice: 'Enter a valid price',
|
|
|
|
|
+ minLimitVolume: 'Amount must be at least {min}',
|
|
|
|
|
+ minMarketBuy: 'Market buy amount must be at least {min} USDT',
|
|
|
|
|
+ minMarketSell: 'Market sell amount must be at least {min}',
|
|
|
|
|
+ orderSubmitted: 'Order submitted',
|
|
|
|
|
+ orderFailed: 'Order failed',
|
|
|
|
|
+ cancelSuccess: 'Order cancelled',
|
|
|
|
|
+ cancelFailed: 'Cancel failed',
|
|
|
|
|
+ cancelAllSuccess: 'All orders cancelled',
|
|
|
|
|
+ cancelAllPartialFailed: 'Some orders failed to cancel',
|
|
|
|
|
+ },
|
|
|
|
|
+ loadedAll: 'All loaded',
|
|
|
|
|
+ ticker: {
|
|
|
|
|
+ change24h: '24h Change',
|
|
|
|
|
+ high24h: '24h High',
|
|
|
|
|
+ low24h: '24h Low',
|
|
|
|
|
+ turnover24h: '24h Volume',
|
|
|
|
|
+ },
|
|
|
|
|
+ chartSub: { chart: 'Chart', coinInfo: 'Coin Info' },
|
|
|
|
|
+ tf: {
|
|
|
|
|
+ m1: '1m',
|
|
|
|
|
+ m5: '5m',
|
|
|
|
|
+ m15: '15m',
|
|
|
|
|
+ m30: '30m',
|
|
|
|
|
+ h1: '1h',
|
|
|
|
|
+ h4: '4h',
|
|
|
|
|
+ d1: '1d',
|
|
|
|
|
+ w1: '1w',
|
|
|
|
|
+ mo1: '1mon',
|
|
|
|
|
+ mo3: '3mon'
|
|
|
|
|
+ },
|
|
|
|
|
+ ohlcv: {
|
|
|
|
|
+ spotLabel: 'Spot',
|
|
|
|
|
+ open: 'O',
|
|
|
|
|
+ high: 'H',
|
|
|
|
|
+ low: 'L',
|
|
|
|
|
+ close: 'C',
|
|
|
|
|
+ volume: 'Vol',
|
|
|
|
|
+ changePct: 'Change',
|
|
|
|
|
+ },
|
|
|
|
|
+ draw: {
|
|
|
|
|
+ cursor: 'Cursor',
|
|
|
|
|
+ trend: 'Trend line',
|
|
|
|
|
+ hline: 'Horizontal',
|
|
|
|
|
+ ray: 'Ray',
|
|
|
|
|
+ channel: 'Channel',
|
|
|
|
|
+ fib: 'Fibonacci',
|
|
|
|
|
+ text: 'Text',
|
|
|
|
|
+ clearAll: 'Clear drawings',
|
|
|
|
|
+ zoomOut: 'Zoom out',
|
|
|
|
|
+ },
|
|
|
|
|
+ mobileTab: { chart: 'Markets', trade: 'Trade' },
|
|
|
|
|
+ pair: { search: 'Search', loading: 'Loading…', noMatch: 'No results', retryLater: ', please retry' },
|
|
|
|
|
+ book: {
|
|
|
|
|
+ waiting: 'Waiting for data…',
|
|
|
|
|
+ orderbook: 'Order book',
|
|
|
|
|
+ trades: 'Trades',
|
|
|
|
|
+ priceUsdt: 'Price (USDT)',
|
|
|
|
|
+ amountBase: 'Amount ({base})',
|
|
|
|
|
+ total: 'Total',
|
|
|
|
|
+ buyRatio: 'Buy {n}%',
|
|
|
|
|
+ sellRatio: '{n}% Sell',
|
|
|
|
|
+ price: 'Price',
|
|
|
|
|
+ amount: 'Amount',
|
|
|
|
|
+ time: 'Time',
|
|
|
|
|
+ pricePrecision: 'Price precision',
|
|
|
|
|
+ },
|
|
|
|
|
+ coinInfo: {
|
|
|
|
|
+ marketCap: 'Market cap',
|
|
|
|
|
+ circulating: 'Circulating supply',
|
|
|
|
|
+ issuePrice: 'Issue price',
|
|
|
|
|
+ ath: 'All-time high',
|
|
|
|
|
+ athDate: 'ATH date',
|
|
|
|
|
+ whitepaper: 'Whitepaper',
|
|
|
|
|
+ empty: 'No coin info',
|
|
|
|
|
+ reload: 'Reload',
|
|
|
|
|
+ },
|
|
|
|
|
+ transferModal: {
|
|
|
|
|
+ title: 'Transfer',
|
|
|
|
|
+ selectCoin: 'Coin',
|
|
|
|
|
+ amount: 'Amount',
|
|
|
|
|
+ amountPlaceholder: 'Enter amount',
|
|
|
|
|
+ availableUsdt: 'Available USDT:',
|
|
|
|
|
+ availableCoin: 'Available {coin}:',
|
|
|
|
|
+ transferring: 'Transferring...',
|
|
|
|
|
+ invalidAmount: 'Enter a valid transfer amount',
|
|
|
|
|
+ insufficientBalance: 'Amount exceeds available balance',
|
|
|
|
|
+ transferFailed: 'Transfer failed, please try again',
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+}
|