import { futuresPageByLocale } from './futuresPage.i18n'
import { financePageByLocale } from './financePage.i18n'

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: '语言',
		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',
		},
	},
}