// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';

// ignore_for_file: type=lint

/// The translations for English (`en`).
class AppLocalizationsEn extends AppLocalizations {
  AppLocalizationsEn([String locale = 'en']) : super(locale);

  @override
  String get appTitle => 'iBit';

  @override
  String get home => 'Home';

  @override
  String get market => 'Market';

  @override
  String get futures => 'Futures';

  @override
  String get bottomNavTrade => 'Trade';

  @override
  String get copyTrading => 'Copy';

  @override
  String get assets => 'Assets';

  @override
  String get login => 'Login';

  @override
  String get register => 'Register';

  @override
  String get loading => 'Loading...';

  @override
  String get retry => 'Retry';

  @override
  String get cancel => 'Cancel';

  @override
  String get confirm => 'Confirm';

  @override
  String get submit => 'Submit';

  @override
  String get save => 'Save';

  @override
  String get send => 'Send';

  @override
  String get paste => 'Paste';

  @override
  String get tips => 'Tips';

  @override
  String get networkError => 'Network error, please retry';

  @override
  String get welcomeBack => 'Welcome Back';

  @override
  String get loginSubtitle => 'Sign in to your account to continue';

  @override
  String get email => 'Email';

  @override
  String get emailHint => 'Enter your email';

  @override
  String get emailError => 'Invalid email format';

  @override
  String get password => 'Password';

  @override
  String get loginPasswordHint => 'Enter your password';

  @override
  String get forgotPassword => 'Forgot Password?';

  @override
  String get noAccount => 'Don\'t have an account?';

  @override
  String get registerNow => 'Register Now';

  @override
  String get welcomeJoin => 'Welcome to iBit';

  @override
  String get emailRegister => 'Email Registration';

  @override
  String get loginPassword => 'Login Password';

  @override
  String get errLoginCredentialWrong => 'Incorrect username or password';

  @override
  String get errAccountAlreadyRegistered =>
      'This account is already registered. Please log in.';

  @override
  String get stakingTitle => 'IDO Presale';

  @override
  String get stakingAmount => 'Subscription Amount';

  @override
  String stakingAmountHint(Object coin) {
    return 'Enter $coin amount';
  }

  @override
  String get stakingEquivalentUsdt => 'Equivalent Price (USDT):';

  @override
  String get stakingSubmit => 'Subscribe Now';

  @override
  String get stakingSubmitSuccess => 'Subscription submitted successfully';

  @override
  String get stakingTransfer => 'Transfer';

  @override
  String get stakingTransferTitle => 'Staking Transfer';

  @override
  String get stakingDirectionFundingToSpot => 'Funding -> Spot';

  @override
  String get stakingDirectionSpotToFunding => 'Spot -> Funding';

  @override
  String get stakingMinAmountLabel => 'Minimum';

  @override
  String get stakingMaxAmountLabel => 'Maximum';

  @override
  String get stakingLockDaysLabel => 'Lock Period';

  @override
  String get stakingReleaseTypeLabel => 'Release Type';

  @override
  String get stakingReleaseOneTime => 'One-time';

  @override
  String get stakingReleaseBatch => 'Batch';

  @override
  String get stakingFundingAvailable => 'Funding Available';

  @override
  String get stakingWalletAvailable => 'Staking Wallet Available';

  @override
  String get stakingNeedLogin => 'Please login first';

  @override
  String stakingAmountMin(Object amount) {
    return 'Amount must be greater than or equal to $amount';
  }

  @override
  String stakingAmountMax(Object amount) {
    return 'Amount must be less than or equal to $amount';
  }

  @override
  String get financeIdoTitle => 'IDO Presale';

  @override
  String get financeIdoRuleLabel => 'Rules: ';

  @override
  String financeIdoRuleOnce(Object lock) {
    return 'Members purchase a set amount of the platform main-chain token; funds are locked automatically. Locked for $lock month(s), then released in full.';
  }

  @override
  String financeIdoRuleBatch(Object lock, Object release) {
    return 'Members purchase a set amount of the platform main-chain token; funds are locked automatically. Locked for $lock month(s), released over $release month(s).';
  }

  @override
  String get financeMyTeam => 'My Team';

  @override
  String get financeCurrentNodeLevel => 'Current Node Level';

  @override
  String get financeDirectNumLabel => 'Direct Referrals';

  @override
  String get financeTeamNumLabel => 'Team Size';

  @override
  String get financeTeamPerformanceLabel => 'Team Performance (iBit)';

  @override
  String get financeTotalRevenueLabel => 'Total Earnings (USDT)';

  @override
  String get financeDirectListTitle => 'Direct Referral List';

  @override
  String get financeDirectAddress => 'Address';

  @override
  String get financeLevelCol => 'Level';

  @override
  String get financeBuyAmountCol => 'Purchase (iBit)';

  @override
  String get financeMyRewardCol => 'My Reward (U)';

  @override
  String get financeNodeLevelNormal => 'No Node';

  @override
  String get financeNodeLevelCommunity => 'Community Node';

  @override
  String get financeNodeLevelCity => 'City Node';

  @override
  String get financeNodeLevelApac => 'APAC Node';

  @override
  String get financeNodeLevelGlobal => 'Global Node';

  @override
  String get financeTeamLoadMore => 'Load More';

  @override
  String get financeJoinPresale => 'Join Presale';

  @override
  String get financeSubscribeQty => 'Subscription Amount';

  @override
  String get financeAvailableIbit => 'Withdrawable iBit';

  @override
  String get financeCorrespondingPrice => 'Price in USDT';

  @override
  String financeIbitUnitPriceLine(Object price) {
    return 'Current IDO presale price: $price iBit = 1 USDT';
  }

  @override
  String get financeConfirmPresale => 'Confirm Presale';

  @override
  String financeEstimatedUnlockLine(Object date) {
    return 'Estimated unlock date: $date';
  }

  @override
  String get financeLoginToStake => 'Log in to join IDO presale';

  @override
  String get financeStakeSuccess => 'Stake successful';

  @override
  String get financeAmountRequired => 'Please enter subscription amount';

  @override
  String financeBelowMin(Object min) {
    return 'Must be at least $min';
  }

  @override
  String financeAboveMax(Object max) {
    return 'Must not exceed $max';
  }

  @override
  String get financeConfigNotFound => 'Product not found or disabled';

  @override
  String get goSpotTrade => 'Go to Trade';

  @override
  String get airdropTitle => 'Airdrop Claim';

  @override
  String get airdropApplyTitle => 'Apply to Claim Airdrop';

  @override
  String get airdropClaimNow => 'Claim Now';

  @override
  String get airdropClaimAfterTasks => 'Complete tasks to claim';

  @override
  String get airdropNotEligible => 'Not eligible to claim now';

  @override
  String get airdropClaimSuccess => 'Claim request submitted';

  @override
  String get airdropRecords => 'Airdrop Records';

  @override
  String get airdropClaimable => 'Claimable';

  @override
  String airdropInviteRequirement(Object current, Object required) {
    return 'Invite progress $current/$required';
  }

  @override
  String get airdropHasActiveStaking => 'Has active staking';

  @override
  String get airdropHasPendingReward => 'Has pending airdrop';

  @override
  String get airdropStatusPending => 'Pending';

  @override
  String get airdropStatusGranted => 'Granted';

  @override
  String get airdropStatusReviewing => 'Reviewing';

  @override
  String get airdropStatusRejected => 'Rejected';

  @override
  String get pwdCharsRule => '6-16 characters';

  @override
  String get pwdDigitRule => '1 digit';

  @override
  String get pwdLetterRule => '1 letter';

  @override
  String get inviteCode => 'Invite Code';

  @override
  String get inviteCodeHint => 'Invite code (optional)';

  @override
  String get inviteCodeTip => 'Enter an invite code for extra rewards';

  @override
  String get agreePrefix => 'By registering, you agree to';

  @override
  String get termsOfService => 'Terms of Service';

  @override
  String get privacyPolicy => 'Privacy Policy';

  @override
  String get registerAccount => 'Create Account';

  @override
  String get registerSuccess => 'Registration successful, please login';

  @override
  String get enterVerifyCode => 'Enter Verification Code';

  @override
  String get emailCodeTab => 'Email Code';

  @override
  String get authenticatorTab => 'Authenticator';

  @override
  String get emailCodeHint => '6-digit code sent to your email';

  @override
  String get authenticatorHint =>
      'Open your Authenticator App and enter the 6-digit code';

  @override
  String get resendCode => 'Resend Code';

  @override
  String resendCountdown(int seconds) {
    return 'Resend in ${seconds}s';
  }

  @override
  String get switchEmailVerify => 'Switch to Email Verify';

  @override
  String get forgotPasswordTitle => 'Reset Password';

  @override
  String get enterRegisteredEmail => 'Enter your registered email';

  @override
  String get verificationCode => 'Verification Code';

  @override
  String get verificationCodeHint => 'Enter verification code';

  @override
  String get sendCode => 'Send Code';

  @override
  String get newPassword => 'New Password';

  @override
  String get newPasswordHint => 'Enter new password';

  @override
  String get confirmPassword => 'Confirm Password';

  @override
  String get confirmPasswordHint => 'Re-enter new password';

  @override
  String get passwordMismatch => 'Passwords do not match';

  @override
  String get confirmReset => 'Confirm Reset';

  @override
  String get resetSuccess =>
      'Password reset successful, please login with your new password';

  @override
  String get profile => 'Profile';

  @override
  String get quickFunctions => 'Quick Actions';

  @override
  String get languageSwitch => 'Language';

  @override
  String get security => 'Security';

  @override
  String get announcements => 'Announcements';

  @override
  String get helpCenter => 'Help Center';

  @override
  String get themeColor => 'Theme';

  @override
  String get lightMode => 'Day';

  @override
  String get darkMode => 'Dark';

  @override
  String get systemMode => 'System';

  @override
  String get currency => 'Currency';

  @override
  String get selectCurrency => 'Select Currency';

  @override
  String get noCurrencyAvailable => 'No currencies available';

  @override
  String get serviceRoute => 'Service Route';

  @override
  String get currentVersion => 'Version';

  @override
  String get clearCache => 'Clear Cache';

  @override
  String get confirmClearCache => 'Clear all cache?';

  @override
  String get cacheCleared => 'Cache cleared';

  @override
  String get customerService => 'Customer Service';

  @override
  String get logoutTitle => 'Logout';

  @override
  String get logoutConfirm => 'Are you sure you want to logout?';

  @override
  String get logoutButton => 'Logout';

  @override
  String get guestGreeting => 'Hello, please login';

  @override
  String get loginRegister => 'Login / Register';

  @override
  String get uidCopied => 'UID copied';

  @override
  String get alreadyLatestVersion => 'Already up to date';

  @override
  String get language => 'Language';

  @override
  String get iUnderstand => 'Got It';

  @override
  String get searchPair => 'Search pairs';

  @override
  String get totalAssetsValue => 'Total Assets';

  @override
  String get recharge => 'Deposit';

  @override
  String get todayPnl => 'Today\'s P&L';

  @override
  String get perpetualFutures => 'Perpetual';

  @override
  String get inviteFriends => 'Invite';

  @override
  String get broker => 'Broker';

  @override
  String get notBroker => 'You are not a broker yet';

  @override
  String get hotTrading => 'Hot';

  @override
  String get gainers => 'Gainers';

  @override
  String get losers => 'Losers';

  @override
  String get coinNameLabel => 'Name';

  @override
  String get latestPrice => 'Price';

  @override
  String get change24h => '24h Change';

  @override
  String get turnover => 'Turnover';

  @override
  String get spot => 'Spot';

  @override
  String get topTraders => 'Top Traders';

  @override
  String get twoWeekReturn => '2W Return';

  @override
  String get twoWeekCopyIncome => '2W Copy Income';

  @override
  String get searchMarket => 'Search coins, pairs, futures';

  @override
  String get nameVolume => 'Name / Vol';

  @override
  String get latestPriceFull => 'Latest Price';

  @override
  String get change24hFull => '24h Change';

  @override
  String get assetOverview => 'Overview';

  @override
  String get fund => 'Withdrawable';

  @override
  String get assetValuation => 'Asset Value';

  @override
  String get withdraw => 'Withdraw';

  @override
  String get transfer => 'Transfer';

  @override
  String get goToTrade => 'Trade';

  @override
  String get assetBalance => 'Asset Balance';

  @override
  String get unavailableLabel => 'Unavailable';

  @override
  String get fundHistory => 'History';

  @override
  String get account => 'Account';

  @override
  String get user => 'User';

  @override
  String get futuresAccount => 'Futures Acct';

  @override
  String get copyAccount => 'Copy Acct';

  @override
  String get fundAccount => 'Withdrawable Account';

  @override
  String get exchangeAccount => 'Coin Wallet';

  @override
  String get noRecord => 'No Records';

  @override
  String get depositCoin => 'Deposit';

  @override
  String get withdrawCoin => 'Withdraw';

  @override
  String get depositRecord => 'Deposit History';

  @override
  String get walletBalance => 'Wallet Balance';

  @override
  String get unrealizedPnl => 'Unrealized PnL';

  @override
  String get positions => 'Positions';

  @override
  String get noPositions => 'No positions';

  @override
  String get loadFailed => 'Load Failed';

  @override
  String get noData => 'No Data';

  @override
  String get noMore => 'No More';

  @override
  String get pullDownToLoadMore => 'Scroll down for more';

  @override
  String get allLoaded => 'All Loaded';

  @override
  String get copied => 'Copied';

  @override
  String get all => 'All';

  @override
  String get search => 'Search';

  @override
  String get reset => 'Reset';

  @override
  String get max => 'Max';

  @override
  String get completed => 'Completed';

  @override
  String get skip => 'Skip';

  @override
  String get share => 'Share';

  @override
  String get more => 'More';

  @override
  String get viewMore => 'View more >>';

  @override
  String get fromLabel => 'From';

  @override
  String get toLabel => 'To';

  @override
  String get coinLabel => 'Coin';

  @override
  String get typeLabel => 'Type';

  @override
  String get timeLabel => 'Time';

  @override
  String get amountLabel => 'Amount';

  @override
  String get statusLabel => 'Status';

  @override
  String get gotIt => 'Got It';

  @override
  String get loginNow => 'Login Now';

  @override
  String get saveSuccess => 'Saved';

  @override
  String get operationFailed => 'Operation failed, please retry';

  @override
  String get photo => 'Camera';

  @override
  String get chooseFromAlbum => 'Choose from Album';

  @override
  String get openPosition => 'Open';

  @override
  String get closePosition => 'Close';

  @override
  String get closePositionSuccess => 'Position Closed';

  @override
  String get perpetual => 'Perpetual';

  @override
  String get long => 'Long';

  @override
  String get short => 'Short';

  @override
  String get openLong => 'Long';

  @override
  String get openShort => 'Short';

  @override
  String get crossMargin => 'Cross';

  @override
  String get returnRate => 'Return';

  @override
  String get avgOpenPrice => 'Avg Open';

  @override
  String get avgClosePrice => 'Avg Close';

  @override
  String get marginRatio => 'Margin Ratio';

  @override
  String get longBull => 'Long (Bullish)';

  @override
  String get shortBear => 'Short (Bearish)';

  @override
  String get profitShare => 'Profit Share';

  @override
  String get markPrice => 'Mark Price';

  @override
  String get estimatedLiqPrice => 'Est. Liq. Price';

  @override
  String get realizedPnl => 'Realized PnL';

  @override
  String get longHead => 'Long';

  @override
  String get shortHead => 'Short';

  @override
  String get contractCopyTrading => 'Contract Copy';

  @override
  String get followSettings => 'Copy Settings';

  @override
  String get assetStrength => 'Asset Strength';

  @override
  String get joinDays => 'Days Joined';

  @override
  String get followContract => 'Copy Contract';

  @override
  String get noFollowContract => 'No copy contracts';

  @override
  String get startFollowing => 'Start Copying';

  @override
  String get noTraders => 'No Traders';

  @override
  String get currentFollowers => 'Current Followers';

  @override
  String get cumulativeFollowers => 'Total Followers';

  @override
  String get cumulativeTradingDays => 'Trading Days';

  @override
  String get thisSettlementIncome => 'Settlement Income';

  @override
  String get cumulativeProfitShare => 'Total Profit Share';

  @override
  String get applyNow => 'Apply Now';

  @override
  String get regularCopy => 'Regular Copy';

  @override
  String get losslessCopy => 'Lossless Copy';

  @override
  String get myFavoriteTraders => 'Favorites';

  @override
  String get favoriteTradersFilterHint => 'Traders I bookmarked';

  @override
  String get noFavoriteTraders =>
      'No bookmarked traders yet. Discover traders to follow.';

  @override
  String get addedToFavorites => 'Saved to favorites';

  @override
  String get comprehensiveSort => 'Comprehensive';

  @override
  String get searchNickname => 'Search nickname';

  @override
  String get full => 'Full';

  @override
  String get unfollow => 'Stop Copying';

  @override
  String get loginToViewAccount => 'Login to view account';

  @override
  String get copyAccountEquity => 'Copy Account Equity';

  @override
  String get futuresAccountEquity => 'Futures Account Equity';

  @override
  String get myTrading => 'My Trading';

  @override
  String get myFollowing => 'My Copy Trading';

  @override
  String get noFollowing => 'No Copy Trading';

  @override
  String get traderDetail => 'Trader Detail';

  @override
  String get historyTrading => 'Trade History';

  @override
  String get accountInfo => 'Account Info';

  @override
  String get coreData => 'Core Data';

  @override
  String get noTradeRecords => 'No trade records';

  @override
  String get tradingIncome => 'Trading Income';

  @override
  String get myCopyIncome => 'My Copy Income';

  @override
  String get traderSettings => 'Trader Settings';

  @override
  String get traderNickname => 'Trader Nickname';

  @override
  String get enterNickname => 'Enter nickname';

  @override
  String get personalBio => 'Bio';

  @override
  String get tagsLabel => 'Tags';

  @override
  String get tradeContract => 'Trade Contract';

  @override
  String get applyCancelTrader => 'Cancel Trader Qualification';

  @override
  String get applySubmitted => 'Applied';

  @override
  String get traderApply => 'Trader Application';

  @override
  String get transferNow => 'Transfer Now';

  @override
  String get noCurrentFollowTrader => 'No traders copied';

  @override
  String get applyReview => 'Under Review';

  @override
  String get submitApply => 'Submit Application';

  @override
  String get currentCopyTrading => 'Copying';

  @override
  String get myTraders => 'My Traders';

  @override
  String get historyFollowing => 'History';

  @override
  String get traderAgreement => 'Trader Agreement';

  @override
  String get copyFollowers => 'Copy Users';

  @override
  String get currentTrades => 'Current Trades';

  @override
  String get noFollowers => 'No Copy Users';

  @override
  String get lastPeriodProfit => 'Last Period Profit';

  @override
  String get copyUser => 'Copy User';

  @override
  String get remove => 'Remove';

  @override
  String get removed => 'Removed';

  @override
  String get noCurrentTrades => 'No Current Trades';

  @override
  String get noHistoryTrades => 'No Trade History';

  @override
  String get registerToEarn => 'Register for Referral Bonus';

  @override
  String get contactService => 'Contact Support';

  @override
  String get fundRecord => 'Fund Records';

  @override
  String get startTime => 'Start Time';

  @override
  String get endTime => 'End Time';

  @override
  String get timeRange => 'Time Range';

  @override
  String get selectDate => 'Select Date';

  @override
  String get selectCoin => 'Select Coin';

  @override
  String get selectType => 'Select Type';

  @override
  String get transferAmount => 'Transfer Amount';

  @override
  String get enterTransferAmount => 'Please enter transfer amount';

  @override
  String get maxTransferable => 'Max Transferable';

  @override
  String get transferSuccess => 'Transfer Successful';

  @override
  String get selectTransferCoin => 'Select Transfer Coin';

  @override
  String get onChainWithdraw => 'On-chain Withdraw';

  @override
  String get internalTransfer => 'Internal Transfer';

  @override
  String get withdrawNetwork => 'Network';

  @override
  String get withdrawNetworkTip =>
      'Please ensure the withdrawal network you selected matches the network used on the deposit platform, otherwise your assets may be lost.';

  @override
  String get withdrawAddress => 'Withdraw Address';

  @override
  String get enterWithdrawAddress => 'Enter withdraw address';

  @override
  String get withdrawAmount => 'Withdraw Amount';

  @override
  String get receivedAmount => 'Received Amount';

  @override
  String get fee => 'Fee';

  @override
  String get withdrawSubmitted => 'Withdraw Submitted';

  @override
  String get internalLabel => 'Internal';

  @override
  String get fundPassword => 'Fund Password';

  @override
  String get emailCode => 'Email Code';

  @override
  String get googleCode => 'Google Code';

  @override
  String get securityVerification => 'Security';

  @override
  String get depositAddress => 'Deposit Address';

  @override
  String get saveFailed => 'Save Failed';

  @override
  String get depositNetwork => 'Network';

  @override
  String get saveQrCode => 'Save QR Code';

  @override
  String get addressCopied => 'Address Copied';

  @override
  String get minDeposit => 'Min Deposit';

  @override
  String get depositArrival => 'Confirmations';

  @override
  String get depositDetail => 'Deposit Detail';

  @override
  String get depositCurrency => 'Deposit Coin';

  @override
  String get txHash => 'TX Hash';

  @override
  String get applyTime => 'Apply Time';

  @override
  String get hashCopied => 'Hash Copied';

  @override
  String get withdrawRecord => 'Withdraw History';

  @override
  String get transferRecord => 'Transfer History';

  @override
  String get withdrawDetail => 'Withdraw Detail';

  @override
  String get transferDetail => 'Transfer Detail';

  @override
  String get transferUser => 'Transfer User';

  @override
  String get cancelWithdraw => 'Cancel Withdraw';

  @override
  String get confirmCancelWithdraw => 'Confirm cancel this withdrawal?';

  @override
  String get withdrawCancelled => 'Withdraw Cancelled';

  @override
  String get withdrawProgress => 'Withdraw Progress';

  @override
  String get withdrawApplication => 'Withdraw Application';

  @override
  String get waitingWithdraw => 'Pending';

  @override
  String get withdrawFailed => 'Withdraw Failed';

  @override
  String get withdrawSuccess => 'Withdrawn';

  @override
  String get withdrawStatusReviewing => 'Reviewing';

  @override
  String get withdrawStatusReleasing => 'Releasing';

  @override
  String get withdrawStatusFailed => 'Failed';

  @override
  String get withdrawStatusSuccess => 'Success';

  @override
  String get withdrawStatusCancelled => 'Cancelled';

  @override
  String get unknown => 'Unknown';

  @override
  String get feeUsdt => 'Fee(U)';

  @override
  String get openCloseLabel => 'Open/Close';

  @override
  String get rebateId => 'Rebate ID';

  @override
  String get copyBalance => 'Copy Balance';

  @override
  String get scannerFailed => 'Failed to open scanner';

  @override
  String get transferSuccess2 => 'Transfer Successful';

  @override
  String get securitySettingsTitle => 'Security';

  @override
  String get securityBannerTip =>
      'For account security, we recommend completing the following verifications';

  @override
  String get authenticator => 'Authenticator';

  @override
  String get authenticatorDesc => 'Use authenticator for verification';

  @override
  String get certified => 'Verified';

  @override
  String get notCertified => 'Not Verified';

  @override
  String get emailAuth => 'Email Verification';

  @override
  String get emailAuthDesc => 'Bind email to receive verification codes';

  @override
  String get fundPasswordDesc =>
      'Used for withdrawals, transfers and other fund operations';

  @override
  String get modifyAction => 'Modify';

  @override
  String get notSet => 'Not Set';

  @override
  String get alreadySet => 'Set';

  @override
  String get loginPasswordMenu => 'Login Password';

  @override
  String get loginPasswordDesc => 'Change password regularly for security';

  @override
  String get hintTitle => 'Notice';

  @override
  String get noHelpContent => 'No help content';

  @override
  String get noAnnouncements => 'No announcements';

  @override
  String get bindSuccess => 'Bound Successfully';

  @override
  String get secretKeyCopied => 'Secret Key Copied';

  @override
  String get setFundPassword => 'Set Fund Password';

  @override
  String get changeFundPassword => 'Change Fund Password';

  @override
  String get confirmFundPassword => 'Confirm Fund Password';

  @override
  String get enterFundPasswordHint => 'Set your fund password';

  @override
  String get reenterFundPassword => 'Re-enter fund password';

  @override
  String get confirmModify => 'Confirm Modify';

  @override
  String get confirmSet => 'Confirm Set';

  @override
  String get changeLoginPassword => 'Change Login Password';

  @override
  String get currentPassword => 'Current Password';

  @override
  String get enterCurrentPassword => 'Enter current password';

  @override
  String get containsLetter => 'Contains letter';

  @override
  String get containsDigit => 'Contains digit';

  @override
  String get changeSuccess => 'Changed Successfully';

  @override
  String get confirmNewPassword => 'Confirm New Password';

  @override
  String get reenterNewPassword => 'Re-enter new password';

  @override
  String get noLines => 'No lines available';

  @override
  String get protocolDetail => 'Protocol';

  @override
  String get noContent => 'No content';

  @override
  String get announcementDetail => 'Announcement';

  @override
  String get announcementNotFound => 'Announcement not found';

  @override
  String get helpDetail => 'Help Detail';

  @override
  String get contentNotFound => 'Content not found';

  @override
  String get contactServiceHint => 'Contact support to reset';

  @override
  String get twoStepVerification => 'Two-Step Verification';

  @override
  String get myInvitations => 'My Invitations';

  @override
  String get teamDetail => 'Team Detail';

  @override
  String get invitationList => 'Invitation List';

  @override
  String get noInvitations => 'No invitations';

  @override
  String get levelLabel => 'Level';

  @override
  String get teamTotalAsset => 'Team Total Assets';

  @override
  String get withinWeek => 'Within a Week';

  @override
  String get today => 'Today';

  @override
  String get perpetualRebate => 'Perpetual Rebate Rate';

  @override
  String get copyRebate => 'Copy Rebate Rate';

  @override
  String get commissionModify => 'Commission Rate';

  @override
  String get setSuccess => 'Set Successfully';

  @override
  String get enterValidRate => 'Enter a valid perpetual rate';

  @override
  String get normalUser => 'Normal';

  @override
  String get historicalPositions => 'Position History';

  @override
  String get historicalOrders => 'Order History';

  @override
  String get openTime => 'Open Time';

  @override
  String get closeTime => 'Close Time';

  @override
  String get orderTime => 'Order Time';

  @override
  String get marketOrderType => 'Market';

  @override
  String get positionDetail => 'Position Detail';

  @override
  String get direction => 'Direction';

  @override
  String get orderType => 'Order Type';

  @override
  String get leverage => 'Leverage';

  @override
  String get orderDetail => 'Order Detail';

  @override
  String get avgTradePrice => 'Avg Trade Price';

  @override
  String get triggerCondition => 'Trigger';

  @override
  String get stopProfitLoss => 'TP/SL';

  @override
  String get createTime => 'Create Time';

  @override
  String get tradeDetailLabel => 'Trade Detail';

  @override
  String get tradePrice => 'Trade Price';

  @override
  String get tradeTime => 'Trade Time';

  @override
  String get cancelOrder => 'Cancel';

  @override
  String get cancelOrderSuccess => 'Order Cancelled';

  @override
  String get orderSuccess => 'Order Placed';

  @override
  String get errEnterVolume => 'Please enter order quantity';

  @override
  String get errEnterPrice => 'Please enter order price';

  @override
  String get errEnterTriggerPrice => 'Please enter trigger price';

  @override
  String get errContractNotReady => 'Contract data not ready';

  @override
  String get errPriceNotReady => 'Price unavailable, try again';

  @override
  String get errVolumeInsufficient => 'Insufficient volume';

  @override
  String get errEnterClosePrice => 'Please enter close price';

  @override
  String get errInvalidOrderId => 'Invalid order ID';

  @override
  String get errNoLongPosition => 'No long position to close';

  @override
  String get errNoShortPosition => 'No short position to close';

  @override
  String get errNoOrdersToCancel => 'No orders to cancel';

  @override
  String get errServiceUnavailable => 'Service unavailable, try again';

  @override
  String get errTimeout => 'Request timed out, check network';

  @override
  String get errNetworkError => 'Network error, check connection';

  @override
  String get errSelectNetwork => 'Please select withdrawal network';

  @override
  String get errEnterAddress => 'Please enter withdrawal address';

  @override
  String get errEnterAmount => 'Please enter amount';

  @override
  String get errEnterFundPassword => 'Please enter fund password';

  @override
  String get errEnterVerifyCode => 'Please enter verify code';

  @override
  String get errBindGoogleFirst => 'Please bind Google Auth first';

  @override
  String get errEnterGoogleCode => 'Please enter Google code';

  @override
  String get errAmountFormat => 'Invalid amount format';

  @override
  String errMinWithdraw(String amount) {
    return 'Min withdrawal: $amount';
  }

  @override
  String errMinTransfer(String amount) {
    return 'Min transfer: $amount';
  }

  @override
  String get errExceedBalance => 'Exceeds available balance';

  @override
  String get errEnterStartTime => 'Please select start time';

  @override
  String get errEnterEndTime => 'Please select end time';

  @override
  String get closeOrderSubmitted => 'Close Order Submitted';

  @override
  String get contractUnitSettings => 'Contract Unit';

  @override
  String get marginMode => 'Margin Mode';

  @override
  String get adjustLeverage => 'Adjust Leverage';

  @override
  String get openTab => 'Open';

  @override
  String get closeTab => 'Close';

  @override
  String get limitOrder => 'Limit';

  @override
  String get marketConditional => 'Stop Market';

  @override
  String get limitConditional => 'Stop Limit';

  @override
  String get holdPosition => 'Positions';

  @override
  String get currentOrders => 'Open Orders';

  @override
  String get hideOtherPairs => 'Hide Other Pairs';

  @override
  String get closeAll => 'Close All';

  @override
  String get closeAllWarning =>
      'All open orders will be closed at market price';

  @override
  String get closeAllSubmitted => 'Close All Submitted';

  @override
  String get cancelAll => 'Cancel All';

  @override
  String get cancelAllSuccess => 'All Cancelled';

  @override
  String get noOrders => 'No Orders';

  @override
  String get allOrdersLoaded => 'All Loaded';

  @override
  String get takeProfit => 'Take Profit';

  @override
  String get stopLoss => 'Stop Loss';

  @override
  String get entryPrice => 'Order Price';

  @override
  String get takeProfitPrice => 'TP Price';

  @override
  String get stopLossPrice => 'SL Price';

  @override
  String get expectedProfit => 'Est. Profit';

  @override
  String get expectedLoss => 'Est. Loss';

  @override
  String get tpslSuccess => 'TP/SL Set';

  @override
  String get latestLabel => 'Latest';

  @override
  String get enterCloseAmount => 'Enter close amount';

  @override
  String get estimatedPnl => 'Est. PnL';

  @override
  String get enterCloseAmountError => 'Enter close amount';

  @override
  String get enterLimitPriceError => 'Enter limit price';

  @override
  String get availableMargin => 'Available Margin';

  @override
  String get usedMargin => 'Used Margin';

  @override
  String get sharePosition => 'My Futures Position';

  @override
  String get reversePosition => 'Reverse';

  @override
  String get closePositionMarket => 'Market Close';

  @override
  String get reverseSuccess => 'Reversed';

  @override
  String get triggerPrice => 'Trigger Price';

  @override
  String get markLabel => 'Mark';

  @override
  String get priceLabel => 'Price';

  @override
  String get quantityLabel => 'Qty';

  @override
  String get closeLong => 'Close Long';

  @override
  String get closeShort => 'Close Short';

  @override
  String get fundingRate => 'Funding Rate';

  @override
  String get countdown => 'Countdown';

  @override
  String get orderBook => 'Order Book';

  @override
  String get latestTrades => 'Recent Trades';

  @override
  String get depthChart => 'Depth';

  @override
  String get buy => 'Buy';

  @override
  String get sell => 'Sell';

  @override
  String get noDepthData => 'No depth data';

  @override
  String get noTradeData => 'No trade data';

  @override
  String get openLongBtn => 'Long';

  @override
  String get openShortBtn => 'Short';

  @override
  String get ranking => 'Rank';

  @override
  String get marketCap => 'Mkt Cap';

  @override
  String get circulatingSupply => 'Circulating Supply';

  @override
  String get issuePrice => 'Issue Price';

  @override
  String get allTimeHigh => 'All-Time High';

  @override
  String get keyData => 'Key Data';

  @override
  String get selectPair => 'Select Pair';

  @override
  String get chartTab => 'Chart';

  @override
  String get overviewTab => 'Overview';

  @override
  String get shareFailed => 'Share failed, please retry';

  @override
  String get loadFailedRetry => 'Load failed, please retry';

  @override
  String get closeBull => 'Close Short';

  @override
  String get closeBear => 'Close Long';

  @override
  String get marketOrderLabel => 'Market Order';

  @override
  String get limitOrderLabel => 'Limit Order';

  @override
  String get planOrderLabel => 'Stop-Limit Order';

  @override
  String get mergeOrderLabel => 'Batch Order';

  @override
  String get reverseOpen => 'Reverse Open';

  @override
  String get liquidationLabel => 'Liquidation';

  @override
  String get adminForceClose => 'Admin Force Close';

  @override
  String get isolatedMargin => 'Isolated';

  @override
  String get separatePos => 'Isolated';

  @override
  String get orderPending => 'Open';

  @override
  String get orderFilled => 'Filled';

  @override
  String get tradingSuccess => 'Closed';

  @override
  String get orderCancelledLabel => 'Cancelled';

  @override
  String get orderFailedLabel => 'Failed';

  @override
  String get entrustTotal => 'Qty';

  @override
  String get openAvgPrice => 'Avg. Open Price';

  @override
  String get closeAvgPrice => 'Avg. Close Price';

  @override
  String get profitLabel => 'PnL';

  @override
  String get profitRateLabel => 'ROI';

  @override
  String get filledVolume => 'Filled';

  @override
  String get orderPriceLabel => 'Order Price';

  @override
  String get crossIsolatedLabel => 'Cross / Isolated';

  @override
  String get takeProfitTriggerPrice => 'TP Trigger Price';

  @override
  String get stopLossTriggerPrice => 'SL Trigger Price';

  @override
  String get marginLabel => 'Margin';

  @override
  String get entrustAmount => 'Order Qty';

  @override
  String get longLabel => 'Long';

  @override
  String get shortLabel => 'Short';

  @override
  String get positionSize => 'Position Size';

  @override
  String get positionValue => 'Position Value';

  @override
  String get fundPasswordFormatError =>
      'Password must be 7-20 characters and contain both letters and numbers';

  @override
  String get fundPasswordHint =>
      '7-20 characters, letters and numbers required';

  @override
  String get setFundPasswordHint => 'Set your fund password';

  @override
  String get confirmFundPasswordHint => 'Re-enter your fund password';

  @override
  String get fundPasswordBannerTip =>
      'Fund password is used for withdrawals, internal transfers, and other fund operations. Do not use the same password as your login password.';

  @override
  String get checkSpamMessage =>
      'If you haven\'t received the verification code, please check your spam folder.';

  @override
  String get currentPasswordHint => 'Enter your current password';

  @override
  String get passwordLengthHint => '6-16 characters';

  @override
  String get confirmNewPasswordHint => 'Re-enter new password';

  @override
  String get passwordChanged => 'Password updated';

  @override
  String get googleAuthStep1 => 'Step 1 Download Authenticator App';

  @override
  String get googleAuthDownloadHint =>
      'iOS users: search \"Authenticator\" on the App Store. Android users: search \"Authenticator\" on your app store or mobile browser.';

  @override
  String get recommendDownload => 'Recommended apps:';

  @override
  String get alreadyDownloaded => 'Already downloaded, next step';

  @override
  String get googleBindStep1Hint =>
      'After installation, open Google Authenticator. iOS users tap [+] top right (Android: bottom right). Select [Enter a setup key] and fill in your account name and the secret key below.';

  @override
  String get keyCopied => 'Key copied';

  @override
  String get googleBindStep2Hint =>
      'After adding the key, you will receive a time-based 6-digit code. Enter it in the field below before it expires.';

  @override
  String get googleCodeHint => 'Enter the 6-digit Google Authenticator code';

  @override
  String get emailCodeInstruction =>
      'Click \"Send Code\" below, then enter the verification code';

  @override
  String emailCodeSentTo(Object email) {
    return 'Receive code at $email';
  }

  @override
  String get enterCode => 'Enter verification code';

  @override
  String get systemAnnouncement => 'Announcements';

  @override
  String get noAnnouncement => 'No announcements';

  @override
  String get serviceRouteHint =>
      '* Selecting a low-latency route provides a smoother trading experience. The system automatically detects route latency.';

  @override
  String get noAvailableRoute => 'No available routes';

  @override
  String get emailTab => 'Email';

  @override
  String get phoneTab => 'Phone';

  @override
  String get passwordLoginTab => 'Password';

  @override
  String get codeLoginTab => 'Verification Code';

  @override
  String get twoFactorVerification => '2-Step Verification';

  @override
  String get googleAuthCodeHint =>
      'Enter the 6-digit code from Google Authenticator';

  @override
  String get cantUseGoogleAuth => 'Can\'t use Google Authenticator?';

  @override
  String get newVersionFound => 'New Version Available';

  @override
  String get latestVersion => 'Latest Version';

  @override
  String get updateContent => 'What\'s New:';

  @override
  String get forceUpdateTip =>
      'This is a mandatory update, please upgrade immediately';

  @override
  String get remindLater => 'Remind Me Later';

  @override
  String get updateNow => 'Update Now';

  @override
  String get cannotOpenLink =>
      'Unable to open download link, please copy the link and open it in a browser';

  @override
  String get updateInAppInstall => 'Install in app';

  @override
  String get updateOpenInBrowser => 'Open in browser';

  @override
  String get downloadingUpdate => 'Downloading update…';

  @override
  String get upgradeDownloadOrInstallFailed =>
      'Download or installation failed. Please try again later.';

  @override
  String get installPermissionRequired =>
      'Installation permission required. Allow installing apps from unknown sources for this app in Settings, then try again.';

  @override
  String get currentPrice => 'Current Price';

  @override
  String get currentMarginLabel => 'Current Margin';

  @override
  String get positionId => 'Position ID';

  @override
  String get copyIdSuccess => 'Position ID copied';

  @override
  String get high24h => '24h High';

  @override
  String get low24h => '24h Low';

  @override
  String get noKlineData => 'No chart data';

  @override
  String get todayNewUsers => 'Today New\nUsers';

  @override
  String get todayTradingUsers => 'Today Trading\nUsers';

  @override
  String get todayRebateLabel => 'Today Rebate\n(USDT)';

  @override
  String get brokerLevel => 'Broker';

  @override
  String get regularLevel => 'Regular';

  @override
  String get comingSoon => 'Coming Soon';

  @override
  String get appHomeComingSoon => 'Stay tuned';

  @override
  String get scanQrCode => 'Scan QR Code';

  @override
  String get notAnAgent => 'You are not a broker yet';

  @override
  String get closePositionConfirm =>
      'Close this position? Final profit from this order will no longer be available after closing.';

  @override
  String get transferTip1 =>
      'Transfers are instant and require no network confirmation.';

  @override
  String get transferTip2 =>
      'Transfers between Spot, Futures, and Copy Trading accounts are supported.';

  @override
  String get transferTip3 => 'No fees for transfers.';

  @override
  String get accountTransferTitle => 'Account Transfer';

  @override
  String get transferFreeHint => 'Free transfer, instant arrival';

  @override
  String get spotTradingAccount => 'Spot Trading Account';

  @override
  String get assetTabLocked => 'Locked';

  @override
  String get assetsLockedStakingAccount => 'Locked Account';

  @override
  String get assetsReleaseTotal => 'Total Released';

  @override
  String get assetsTotalLockedBalance => 'Total Locked Balance (iBit)';

  @override
  String get assetsMyStakingOrders => 'My Locked Orders';

  @override
  String get assetsStakingOrderNo => 'Order No.';

  @override
  String get assetsStakingTotal => 'Locked Amount';

  @override
  String get assetsReleased => 'Released';

  @override
  String get assetsPendingRelease => 'Pending Release';

  @override
  String get assetsSubscribing => 'Locked';

  @override
  String get assetsReleasing => 'Releasing';

  @override
  String get assetsIbitUnit => 'iBit';

  @override
  String transferAvailableCoin(Object available, Object coin) {
    return 'Available: $available $coin';
  }

  @override
  String transferAmountCoin(Object coin) {
    return 'Amount ($coin)';
  }

  @override
  String get confirmTransfer => 'Confirm Transfer';

  @override
  String get transferSameAccountError => 'From and to accounts must differ';

  @override
  String get pageLoadFailed => 'Page failed to load';

  @override
  String get networkErrorDesc =>
      'Network connection error. Please check your network settings and try again.';

  @override
  String get reload => 'Reload';

  @override
  String get backHome => 'Back to Home';

  @override
  String errorCodeLabel(Object code) {
    return 'Error code: $code';
  }

  @override
  String get depositNetworkConfirmations => '3 Network Confirmations';

  @override
  String depositMinAmountHint(Object minAmount) {
    return 'Minimum deposit is $minAmount USDT. Deposits below the minimum will not be credited.';
  }

  @override
  String get depositNoOtherAssets =>
      'Do not deposit any non-coin assets to the above address; they cannot be recovered.';

  @override
  String get depositConfirmHint =>
      'After depositing to the above address, it requires blockchain network confirmation. Credits typically arrive after 3 network confirmations.';

  @override
  String get depositAddressChangeHint =>
      'Your deposit address may change. Always copy the address fresh for each deposit.';

  @override
  String get depositSecurityHint =>
      'Always ensure your operating environment is secure to prevent information tampering or leakage.';

  @override
  String get cancelWithdrawHint => 'You can cancel within 3 minutes';

  @override
  String get liqPrice => 'Liq. Price';

  @override
  String get marginRatioLabel => 'Margin Ratio';

  @override
  String withdrawMinAmountHint(Object minAmount) {
    return 'Minimum withdrawal: $minAmount';
  }

  @override
  String get fundAccountAvailable => 'Funding account available';

  @override
  String get recipientUidOrAccount => 'Recipient UID or Account';

  @override
  String get enterRecipientUid => 'Enter recipient\'s platform UID';

  @override
  String transferMinAmountHint(Object minAmount) {
    return 'Minimum transfer: $minAmount';
  }

  @override
  String get withdrawNotice1 =>
      'The platform will never ask you to transfer funds to any account or request your verification code.';

  @override
  String get withdrawNotice2 =>
      'Do not engage in proxy purchases, money laundering, illegal fundraising or other illegal activities. Beware of online fraud.';

  @override
  String get categoryLabel => 'Category';

  @override
  String get yearSuffix => '';

  @override
  String get monthSuffix => '';

  @override
  String get daySuffix => '';

  @override
  String get brokerWelcome => 'Hello, Broker';

  @override
  String brokerWelcomeNamed(String name) {
    return 'Hello, $name';
  }

  @override
  String get brokerInviteTip =>
      'Invite users to register and complete trades to earn rebate rewards. Rebates are settled in real-time and credited to your account daily.';

  @override
  String get inviteList => 'Invitation List';

  @override
  String get noInviteRecord => 'No invitation records';

  @override
  String get accountLabel => 'Account';

  @override
  String get enterValidPerpRate => 'Please enter a valid perpetual rate';

  @override
  String get editCommissionRate => 'Edit Commission Rate';

  @override
  String get perpRebateRate => 'Perpetual Contract Rebate Rate';

  @override
  String get copyRebateRate => 'Copy Trading Rebate Rate';

  @override
  String get commissionRateWarning =>
      'Please set carefully. Once set, the rebate rate cannot be lowered below the current value.';

  @override
  String get withinOneWeek => 'Within 1 Week';

  @override
  String get teamTotalAssets => 'Team Total Assets';

  @override
  String get savePoster => 'Save Poster';

  @override
  String get copyInviteCode => 'Copy Invite Code';

  @override
  String get copyLink => 'Copy Link';

  @override
  String get inviteLink => 'Invite Link';

  @override
  String get inviteShareText => 'Join me in trading crypto!';

  @override
  String labelCopied(Object label) {
    return '$label copied';
  }

  @override
  String get selectTradingPair => 'Select Trading Pair';

  @override
  String get marketOverview => 'Overview';

  @override
  String volume24hLabel(Object coin) {
    return '24h Volume ($coin)';
  }

  @override
  String get turnover24hLabel => '24h Turnover (USDT)';

  @override
  String amountLabel2(Object coin) {
    return 'Amount ($coin)';
  }

  @override
  String get timeLabel2 => 'Time';

  @override
  String get athPrice => 'All-Time High';

  @override
  String get dataDisclaimer =>
      'Data is sourced from third-party market data providers and is for reference only, not investment advice.';

  @override
  String get periodToday => 'Today';

  @override
  String get period7d => '7D';

  @override
  String get period30d => '30D';

  @override
  String get period90d => '90D';

  @override
  String get period180d => '180D';

  @override
  String get period1y => '1Y';

  @override
  String get rank => 'Rank';

  @override
  String get twoWeekWinRate => '14-Day Win Rate';

  @override
  String get twoWeekRoi => '14-Day ROI';

  @override
  String get twoWeekTrend => '14-Day Trend';

  @override
  String get contractAccountEquity => 'Contract Equity';

  @override
  String get canOpenLong => 'Can Open Long';

  @override
  String get canOpenShort => 'Can Open Short';

  @override
  String get availableCloseLong => 'Closable Long';

  @override
  String get availableCloseShort => 'Closable Short';

  @override
  String get leverageAdjustedTo => 'Leverage adjusted to';

  @override
  String get valueLabel => 'Value';

  @override
  String get lotsLabel => 'Lots';

  @override
  String get profitUsdtLabel => 'Profit (USDT)';

  @override
  String markPriceLabel(Object price) {
    return 'Mark Price $price';
  }

  @override
  String get perpetualContract => 'Perpetual Contract';

  @override
  String get marketPrice => 'Market';

  @override
  String get priceLabel2 => 'Price';

  @override
  String get availableLabel => 'Available';

  @override
  String get crossMarginDesc =>
      'All account balance is used as margin. When net asset value falls below the maintenance margin requirement, forced liquidation will be triggered and all balance will be lost.';

  @override
  String get isolatedMarginDesc =>
      'Each position uses independent margin; position is liquidated when loss exceeds isolated margin';

  @override
  String get splitMargin => 'Split';

  @override
  String get splitMarginDesc =>
      'Positions with the same direction and leverage remain independent and are not automatically merged. Each trade generates an independent sub-position. In split margin mode, the contract account balance is shared with cross margin as collateral.';

  @override
  String get marginModeNote =>
      '※ Margin mode changes only apply to the current contract';

  @override
  String get switchMarginModeFailed =>
      'Switch failed. Please close all positions before changing margin mode';

  @override
  String leverageAdjustedMsg(Object value) {
    return 'Leverage adjusted to ${value}X';
  }

  @override
  String get openLabel => 'Open';

  @override
  String get closeLabel => 'Close';

  @override
  String get marketOrder => 'Market Order';

  @override
  String get conditionalMarketOrder => 'Market Conditional Order';

  @override
  String get conditionalLimitOrder => 'Limit Conditional Order';

  @override
  String get takeProfitStopLoss => 'TP/SL';

  @override
  String get fundingRateCountdown => 'Funding Rate / Countdown';

  @override
  String get priceUsdt => 'Price (USDT)';

  @override
  String get closeAllPositions => 'Close All';

  @override
  String get closeAllConfirm =>
      'All open orders will be closed at market price';

  @override
  String get closeAllSubMsg =>
      'If there are close orders (limit or TP/SL), they will be cancelled before closing all positions.';

  @override
  String get cancelAllOrders => 'Cancel All Orders';

  @override
  String get contractUnitSetting => 'Contract Unit Setting';

  @override
  String contractUnitCoin(Object coin) {
    return '$coin-Qty';
  }

  @override
  String get contractUnitUsdt => 'USDT-Value';

  @override
  String get contractUnitSheets => 'Qty-Contracts';

  @override
  String contractUnitHintCoin(Object coin) {
    return 'Your input is the $coin quantity of the order';
  }

  @override
  String get contractUnitHintUsdt =>
      'Your input is the market value of the order. Changing leverage will change the margin amount';

  @override
  String get contractUnitHintSheets => 'Your input is the number of contracts';

  @override
  String get takeProfitStopLossBtn => 'TP/SL';

  @override
  String get reversePositionBtn => 'Reverse';

  @override
  String get closePositionBtn => 'Close';

  @override
  String get closeAllMarket => 'Market Close All';

  @override
  String get closeAllMarketConfirm =>
      'Confirm to close all positions at market price?';

  @override
  String get closeAllMarketSubMsg => 'This action cannot be undone.';

  @override
  String get closeAllMarketSuccess => 'Position closed successfully';

  @override
  String reverseConfirm(Object side, Object openSide) {
    return 'Close $side at market and open $openSide with the same size. Confirm?';
  }

  @override
  String marginBalance(Object margin) {
    return 'Margin $margin USDT';
  }

  @override
  String longAvailLabel(Object amount, Object coin) {
    return 'Long avail. $amount $coin';
  }

  @override
  String shortAvailLabel(Object amount, Object coin) {
    return 'Short avail. $amount $coin';
  }

  @override
  String get enterTriggerPrice => 'Please enter trigger price first';

  @override
  String get enterPrice => 'Please enter price first';

  @override
  String symbolPerpetual(Object symbol) {
    return '$symbol Perpetual';
  }

  @override
  String get cancelLabel => 'Cancel';

  @override
  String get rejectReasonLabel => 'Rejection Reason';

  @override
  String get confirmLabel => 'Confirm';

  @override
  String get positionsTab => 'Positions';

  @override
  String get contractAccountUsdt => 'Futures Account (USDT)';

  @override
  String get setTakeProfit => 'Set Take Profit';

  @override
  String get setStopLoss => 'Set Stop Loss';

  @override
  String get tpTriggerPrice => 'TP Trigger Price';

  @override
  String get slTriggerPrice => 'SL Trigger Price';

  @override
  String closeableSizeCoin(String coin) {
    return 'Closeable ($coin)';
  }

  @override
  String get estProfit => 'Est. Profit';

  @override
  String get estLoss => 'Est. Loss';

  @override
  String get closePositionMsgLong =>
      'Order will fill at market price if below mark price';

  @override
  String get closePositionMsgShort =>
      'Order will fill at market price if above mark price';

  @override
  String get enterCloseVolume => 'Enter close quantity';

  @override
  String get enterLimitPrice => 'Enter limit price';

  @override
  String get estPnlLabel => 'Est. PnL';

  @override
  String get longHeadLabel => 'Long';

  @override
  String get shortHeadLabel => 'Short';

  @override
  String orderSizeCoin(String coin) {
    return 'Order Qty ($coin)';
  }

  @override
  String filledSizeCoin(String coin) {
    return 'Filled Qty ($coin)';
  }

  @override
  String get limitLabel => 'Limit';

  @override
  String get marketHint => 'Market';

  @override
  String get pricePlaceholder => 'Enter price';

  @override
  String get shareLabel => 'Share';

  @override
  String get myFuturesPosition => 'My Futures Position';

  @override
  String get inviteCodeLabel => 'Invite Code: ';

  @override
  String get registerAndEarnRebate => 'Register and earn rebates';

  @override
  String get loginToFollowExpert =>
      'Login to follow expert traders and start copy trading';

  @override
  String get unfollowConfirmMsg =>
      'Are you sure you want to unfollow this trader?';

  @override
  String get applyExpertBannerText =>
      'Apply to become a trading expert and start leading';

  @override
  String get klineDate => 'Date';

  @override
  String get klineOpen => 'Open';

  @override
  String get klineHigh => 'High';

  @override
  String get klineLow => 'Low';

  @override
  String get klineClose => 'Close';

  @override
  String get klineChangeAmt => 'Change';

  @override
  String get klineChange => 'Change%';

  @override
  String get klineAmount => 'Amount';

  @override
  String get klineVol => 'Volume';

  @override
  String get myTrades => 'My Orders';

  @override
  String get myCopyTrading => 'My Copy Trading';

  @override
  String get followersTab => 'Followers';

  @override
  String get currentCopyOrders => 'Current Orders';

  @override
  String get historyCopyOrders => 'Order History';

  @override
  String get currentFollowingTab => 'Current Copy';

  @override
  String get myTradersTab => 'My Traders';

  @override
  String get historyFollowingTab => 'Copy History';

  @override
  String get noHistoryCopyOrders => 'No order history';

  @override
  String get noCurrentCopyOrders => 'No current orders';

  @override
  String get noTradingRecords => 'No trading records';

  @override
  String get confirmRemoveFollower => 'Confirm Remove?';

  @override
  String get removeFollowerMsg =>
      'After removal, this follower cannot copy your orders. Confirm?';

  @override
  String get removedSuccess => 'Removed';

  @override
  String get unrealizedPnlUsdt => 'Unrealized PnL (USDT)';

  @override
  String get marginUsdt => 'Margin (USDT)';

  @override
  String get currentMarginUsdt => 'Current Margin (USDT)';

  @override
  String get openAvgPriceUsdt => 'Avg. Open Price (USDT)';

  @override
  String get currentPriceUsdt => 'Current Price (USDT)';

  @override
  String get liqPriceUsdt => 'Liq. Price (USDT)';

  @override
  String get closeAvgPriceUsdt => 'Avg. Close Price (USDT)';

  @override
  String get realizedPnlUsdt => 'Realized PnL (USDT)';

  @override
  String positionSizeWithCoin(String coin) {
    return 'Position Size ($coin)';
  }

  @override
  String closeSizeWithCoin(String coin) {
    return 'Close Size ($coin)';
  }

  @override
  String qtyWithCoin(String coin) {
    return 'Qty ($coin)';
  }

  @override
  String openTimeWithValue(String time) {
    return 'Open Time $time';
  }

  @override
  String openTimeTwoSpaces(String time) {
    return 'Open Time  $time';
  }

  @override
  String get positionIdCopied => 'Position ID copied';

  @override
  String get copyPositionIdSuccess => 'Position ID copied';

  @override
  String get positionIdPrefix => 'Position ID: ';

  @override
  String get positionIdShort => 'Position ID ';

  @override
  String get myTradingProfit => 'My Trading Profit';

  @override
  String get myCopyTradingProfit => 'My Copy Trading Profit';

  @override
  String get currentFollowersLabel => 'Current Followers';

  @override
  String get settledDaysTitle => 'Days on Platform';

  @override
  String get fundStrength => 'Fund Strength';

  @override
  String get fundStrengthUsdt => 'Fund Strength (USDT)';

  @override
  String get cumCopyProfitUsdt => 'Cumulative Copy Profit (USDT)';

  @override
  String get cumFollowProfitAmtUsdt => 'Total Copy Profit (USDT)';

  @override
  String get cumCopyRevenueUsdt => 'Cumulative Copy Revenue (USDT)';

  @override
  String get cumFollowerCount => 'Total Followers';

  @override
  String get cumTradingDays => 'Total Trading Days';

  @override
  String get accountEquityUsdt => 'Account Equity (USDT)';

  @override
  String get cumProfitShareUsdt => 'Total Profit Share (USDT)';

  @override
  String get lastProfitShare => 'Last Period Profit Share';

  @override
  String get followerFollowTime => 'Follow Time';

  @override
  String followersCountLabel(String count) {
    return 'Followers $count';
  }

  @override
  String followersMaxLabel(String count, String max) {
    return 'Followers $count/$max';
  }

  @override
  String get availableAssetsUsdt => 'Available Assets (USDT)';

  @override
  String get closePositionConfirmMsg =>
      'Close this position? You will not receive the final profit after closing.';

  @override
  String settledDaysLabelFmt(String days) {
    return 'On platform $days days';
  }

  @override
  String currentFollowingLabelFmt(String following, String max) {
    return 'Following $following/$max';
  }

  @override
  String get tradingContracts => 'Trading Contracts';

  @override
  String get accountInfoTitle => 'Account Info';

  @override
  String get coreDataTitle => 'Core Data';

  @override
  String get yield14d => '14D Yield';

  @override
  String get profit14dUsdt => '14D Profit (USDT)';

  @override
  String get winRate14d => '14D Win Rate';

  @override
  String get profitShareRatio => 'Profit Share';

  @override
  String get fullCapacity => 'Full';

  @override
  String get followTrader => 'Copy Trade';

  @override
  String get openLongBullish => 'Long (Bull)';

  @override
  String get openShortBearish => 'Short (Bear)';

  @override
  String get profitUsdt => 'Profit (USDT)';

  @override
  String get operationFailedRetry => 'Operation failed, please retry';

  @override
  String get copyTradingSuccess => 'Copy trading started';

  @override
  String get copyTradingSettings => 'Copy Settings';

  @override
  String get noCopyContracts => 'No contracts available';

  @override
  String get startCopyTrading => 'Start Copying';

  @override
  String get savedSuccess => 'Saved';

  @override
  String get takePhoto => 'Take Photo';

  @override
  String get confirmCancelTitle => 'Confirm Cancel';

  @override
  String get confirmCancelTraderMsg =>
      'Cancel trader qualification? This action cannot be undone.';

  @override
  String get applicationSubmitted => 'Application submitted';

  @override
  String get avatarUpdated => 'Avatar updated';

  @override
  String get tradingSettings => 'Order Settings';

  @override
  String get tradingNickname => 'Nickname';

  @override
  String maxTagsHint(String max, String selected) {
    return 'Select up to $max ($selected/$max)';
  }

  @override
  String get saveLabel => 'Save';

  @override
  String get cancelTraderQualify => 'Cancel Trader Qualification';

  @override
  String get bioHint => 'Describe your trading style in one line...';

  @override
  String get applicationPendingReview =>
      'Application submitted, pending review';

  @override
  String get traderApplyConditions =>
      'Meet the following requirements to apply as a trader!';

  @override
  String get contractAccountFundsReq => 'Contract account ≥ 1000 USDT';

  @override
  String get goTransfer => 'Transfer';

  @override
  String get noFollowingTrader => 'Not following any trader';

  @override
  String get agreeToAgreement => 'I have read and agree to ';

  @override
  String get traderAgreementLink => 'Trader Agreement';

  @override
  String get reviewingApplication => 'Under Review';

  @override
  String get submitApplication => 'Submit Application';

  @override
  String get contactSupport => 'Contact Support';

  @override
  String get copyTradingTitle => 'Copy Trading';

  @override
  String get klinePeriod1m => '1m';

  @override
  String get klinePeriod5m => '5m';

  @override
  String get klinePeriod15m => '15m';

  @override
  String get klinePeriod30m => '30m';

  @override
  String get klinePeriod1h => '1h';

  @override
  String get klinePeriod4h => '4h';

  @override
  String get klinePeriod1d => 'Day';

  @override
  String get klinePeriod1w => 'Week';

  @override
  String get klinePeriod1mon => 'Month';

  @override
  String get unfollowTraderConfirm =>
      'Are you sure you want to unfollow this trader?';

  @override
  String get currentFollowOrders => 'Current Orders';

  @override
  String get historyFollowOrders => 'History Orders';

  @override
  String get availableBalanceUsdt => 'Available Balance(USDT)';

  @override
  String get networkConnectionError =>
      'Network connection error, please check your network settings and try again';

  @override
  String get perpetualContracts => 'Perpetual Contracts';

  @override
  String get searchHint => 'Search';

  @override
  String get nameAndVolume => 'Name / Volume';

  @override
  String get latestPriceChange => 'Last Price / 24h Change';

  @override
  String volumeWithValue(String value) {
    return 'Vol $value USDT';
  }

  @override
  String get volumeEmpty => 'Vol --';

  @override
  String get txType0 => 'Deposit';

  @override
  String get txType1 => 'Withdrawal';

  @override
  String get txType2 => 'Internal Transfer';

  @override
  String get txType3 => 'Spot Trading';

  @override
  String get txType4 => 'Fee';

  @override
  String get txType5 => 'Candy';

  @override
  String get txType6 => 'Activity Distribution';

  @override
  String get txType7 => 'Promotion Reward';

  @override
  String get txType8 => 'Dividend';

  @override
  String get txType9 => 'Rebate';

  @override
  String get txType10 => 'Admin Deposit';

  @override
  String get txType11 => 'Admin Deduction';

  @override
  String get txType13 => 'Lock';

  @override
  String get txType14 => 'Unlock';

  @override
  String get txType15 => 'Flash Sale';

  @override
  String get txType16 => 'Activity Reward';

  @override
  String get txType17 => 'Activity Deduction';

  @override
  String get txType18 => 'User Transfer';

  @override
  String get txType19 => 'Futures Fee';

  @override
  String get txType20 => 'Futures Profit';

  @override
  String get txType21 => 'Futures Loss';

  @override
  String get txType22 => 'Option Failure';

  @override
  String get txType23 => 'Option Fee';

  @override
  String get txType24 => 'Option Reward';

  @override
  String get txType25 => 'Futures Rebate';

  @override
  String get txType26 => 'Futures Funding Fee';

  @override
  String get txType27 => 'Futures Liquidation';

  @override
  String get txType28 => 'Futures Margin In';

  @override
  String get txType29 => 'Futures Margin Out';

  @override
  String get txType30 => 'Manual Deposit';

  @override
  String get txType31 => 'Manual Deduction';

  @override
  String get txType32 => 'Level Reward';

  @override
  String get txType33 => 'Platform Fee Dividend';

  @override
  String get txType34 => 'Spot Fee';

  @override
  String get txType35 => 'Position Profit';

  @override
  String get txType36 => 'Position Loss';

  @override
  String get txType37 => 'Copy Trading Fee';

  @override
  String get txType38 => 'Copy Trading Profit';

  @override
  String get txType39 => 'Copy Trading Loss';

  @override
  String get txType40 => 'Copy Trading Dividend';

  @override
  String get txType41 => 'Copy Trading Reward';

  @override
  String get txType42 => 'Copy Funding Fee';

  @override
  String get txType43 => 'Lead Trading Revenue';

  @override
  String get txType44 => 'Lead Trading Fee';

  @override
  String get txType45 => 'Lead Trading Liquidation';

  @override
  String get txType46 => 'Lead Trading Funding Fee';

  @override
  String get tagShortTerm => 'Short-Term';

  @override
  String get tagMidLong => 'Mid-Long';

  @override
  String get tagConservative => 'Conservative';

  @override
  String get tagAggressive => 'Aggressive';

  @override
  String get tagHighLeverage => 'High Leverage';

  @override
  String get tagLowLeverage => 'Low Leverage';

  @override
  String get sessionExpiredTitle => 'Session Expired';

  @override
  String get sessionExpiredContent =>
      'Your session has expired. Please log in again.';

  @override
  String get relogin => 'Log In Again';

  @override
  String get photoPermissionDenied =>
      'Photo library access denied. Please enable it in Settings.';

  @override
  String get iaTitle => 'Invite Friends';

  @override
  String get iaHeading => 'Invite a Friend';

  @override
  String get iaBadge => 'Earn Trial Funds';

  @override
  String get iaRewardHint => 'Earn trial funds for every friend you invite';

  @override
  String get iaValidCount => 'Valid Invites';

  @override
  String get iaEarned => 'Trial Funds Earned (USDT)';

  @override
  String get iaHowTitle => 'How It Works';

  @override
  String get iaStep1T => 'Share Invite Link';

  @override
  String get iaStep1D => 'Share your exclusive link with friends';

  @override
  String get iaStep2T => 'Complete Tasks';

  @override
  String get iaStep2D =>
      'Friends register via your link and complete a contract trade';

  @override
  String get iaStep3T => 'Get Rewarded';

  @override
  String get iaStep3D =>
      'Friends earn signup rewards, you earn referral rewards';

  @override
  String get iaRulesTitle => 'Activity Rules';

  @override
  String iaRule1(String amount) {
    return 'New users who register during the activity and complete their first deposit will receive ${amount}U trial funds as a new user benefit.';
  }

  @override
  String iaRule2(String amount) {
    return 'After your referred friend completes their first contract trade, you will receive ${amount}U trial fund reward. No limit — the more you invite, the more you earn.';
  }

  @override
  String iaRule3(String days) {
    return 'Trial funds are valid for $days days after issuance and will be automatically reclaimed upon expiry. Please use them promptly.';
  }

  @override
  String get iaInviteNow => 'Invite Friends Now';

  @override
  String get photoPermissionTitle => 'Photo Library Access';

  @override
  String get photoPermissionContent =>
      'Please allow access to your photo library in Settings to save images.';

  @override
  String get goToSettings => 'Go to Settings';

  @override
  String get marketData => 'Data';

  @override
  String get timePeriod => 'Time Period';

  @override
  String get nextFundingCountdown => 'Next Funding In';

  @override
  String get fundingRateHistory => 'Funding Rate History';

  @override
  String get spotTab => 'Spot';

  @override
  String get buyAction => 'Buy';

  @override
  String get sellAction => 'Sell';

  @override
  String buyCoin(String coin) {
    return 'Buy $coin';
  }

  @override
  String sellCoin(String coin) {
    return 'Sell $coin';
  }

  @override
  String get canBuy => 'Can Buy';

  @override
  String get canSell => 'Can Sell';

  @override
  String get marketBest => 'Market Best';

  @override
  String get amountQuoteLabel => 'Amount';

  @override
  String get spotConditionalNotSupported =>
      'Conditional orders are not supported yet';

  @override
  String get spotAvgPrice => 'Avg Price';

  @override
  String get spotHistoryTitle => 'Order History';

  @override
  String get spotHistoryRecordsTitle => 'History';

  @override
  String get spotHistoryTradesTab => 'Trades';

  @override
  String get spotHistoryFilterSymbol => 'Pair';

  @override
  String get spotHistoryFilterOrderKind => 'Order type';

  @override
  String get spotHistoryFilterStatus => 'Status';

  @override
  String get spotHistoryFilterTime => 'Time';

  @override
  String get spotFilterSymbolAllPairs => 'All pairs';

  @override
  String get spotFilterEntrustAll => 'All orders';

  @override
  String get spotEntrustQuantity => 'Order qty';

  @override
  String get spotDealTime => 'Fill time';

  @override
  String get spotOrderStatusCompleted => 'Filled';

  @override
  String get spotOrderStatusPartialFilled => 'Partially filled';

  @override
  String get spotOrderStatusCancelled => 'Cancelled';

  @override
  String get spotOrderTypeMarketConditional => 'Market conditional';

  @override
  String get spotFilterKindAll => 'All';

  @override
  String get spotFilterKindLimit => 'Limit';

  @override
  String get spotFilterKindMarket => 'Market';

  @override
  String get spotFilterKindConditional => 'Market conditional';

  @override
  String get spotFilterTimeAll => 'All';

  @override
  String get spotFilterTime7d => '7 days';

  @override
  String get spotFilterTime30d => '30 days';

  @override
  String get spotFilterStatusAll => 'All';

  @override
  String currentOrdersTab(int count) {
    return 'Open Orders($count)';
  }

  @override
  String get assetsTab => 'Assets';

  @override
  String get hideOtherSymbols => 'Hide Other Pairs';

  @override
  String get cancelSuccess => 'Cancelled';

  @override
  String get noOpenOrders => 'No open orders';

  @override
  String get noAssets => 'No assets';

  @override
  String get hideZeroBalanceAssets => 'Hide zero-balance assets';

  @override
  String get loginPrompt => 'Log in to view';

  @override
  String get loginText => 'Log in';

  @override
  String get allLabel => 'All';

  @override
  String get noHistoryOrders => 'No history orders';

  @override
  String get noMoreData => 'No more data';

  @override
  String get historyEntrust => 'History';

  @override
  String get tradedDealAmount => 'Filled';

  @override
  String get frozenLabel => 'Frozen';

  @override
  String get transferIn => 'Transfer In';

  @override
  String get transferOut => 'Transfer Out';

  @override
  String get fundingAccount => 'Funding Account';

  @override
  String get spotAccount => 'Spot Account';

  @override
  String get todayPnlLabel => 'Today\'s P&L';

  @override
  String get totalAssets => 'Total Assets';

  @override
  String get transferAmountExceedsBalance => 'Exceeds available balance';

  @override
  String get accountRecords => 'Transaction History';

  @override
  String get spotAccountRecordFilterTrade => 'Trade';

  @override
  String get spotAccountRecordTypeOrderFreeze => 'Order freeze';

  @override
  String get spotAccountRecordTypeOrderUnfreeze => 'Order unfreeze';

  @override
  String get spotAccountRecordTradeBuy => 'Trade (Buy)';

  @override
  String get spotAccountRecordTradeSell => 'Trade (Sell)';

  @override
  String get customerServiceLeave => 'Exit';

  @override
  String get walletConnectPairingDescription => 'On-chain deposit';

  @override
  String get txType47 => 'Experience Gift Withdrawal';

  @override
  String get txType48 => 'Spot trade';

  @override
  String get txType49 => 'Staking';

  @override
  String get txType50 => 'Staking Unfreeze Release';

  @override
  String get txType51 => 'Airdrop Reward';

  @override
  String get depositEnterAmount => 'Enter deposit amount';

  @override
  String get depositAmountPositive => 'Enter an amount greater than 0';

  @override
  String get depositCreateOrder => 'Create deposit order';

  @override
  String get depositOrderCreated =>
      'Order created. Send to the address below or pay with your wallet.';

  @override
  String get depositWalletConnectPay => 'Connect wallet and pay';

  @override
  String get depositWalletConnectHint =>
      'Use WalletConnect to send the order amount on-chain to the receiving address (verify network and token).';

  @override
  String get depositWalletConnectNotConfigured =>
      'WalletConnect is not configured. Set WALLETCONNECT_PROJECT_ID in build args, or transfer manually.';

  @override
  String get depositTronHint =>
      'For TRON (TRC20), send from TronLink or another Tron wallet, then paste the TxID below.';

  @override
  String get depositOrSubmitHash =>
      'Or paste the transaction hash after transfer';

  @override
  String get depositTxHashPlaceholder => 'Paste on-chain transaction hash';

  @override
  String get depositSubmitHash => 'Submit transaction hash';

  @override
  String get depositNewRecharge => 'New deposit';

  @override
  String get depositTabOnChain => 'On-Chain';

  @override
  String get depositTabManual => 'Manual';

  @override
  String get depositOrderInfo => 'Order';

  @override
  String get depositOrderNo => 'Order no.';

  @override
  String get depositOrderStatus => 'Status';

  @override
  String get depositReceivingAddress => 'Receiving address';

  @override
  String get depositPayToHint =>
      'Send the order amount to this address using the same network and token as the order.';

  @override
  String get depositContractAddress => 'Contract address';

  @override
  String get depositOrderAmount => 'Order amount';

  @override
  String get depositSelectNetworkFirst => 'Select a network first';

  @override
  String get depositMainnetProtocol => '主网/协议';

  @override
  String get depositSubCoin => '子币种';

  @override
  String get depositRules => '规则';

  @override
  String get depositRulesBody =>
      '选择币种与网络并输入金额后，点击「生成充币订单」将获得专属收款地址与订单号；使用钱包完成链上转账后，在此页提交 TxHash。';

  @override
  String depositCurrentCoin(String coin) {
    return '当前：$coin';
  }

  @override
  String get depositQrReceive => '二维码收款';

  @override
  String get depositQrHint => '可用钱包扫一扫，向上述地址转账（请勿修改地址与金额）';

  @override
  String get depositCopy => '复制';

  @override
  String get depositSubmitHashHint => '转账完成后填写交易哈希/TxID';

  @override
  String get passwordLengthError => 'Password must be 6-16 characters';

  @override
  String get passwordSpaceError => 'Password cannot contain spaces';

  @override
  String get passwordLetterDigitError =>
      'Must contain both letters and numbers';

  @override
  String get brokerApplyTitle => 'Apply to Become a Broker';

  @override
  String get brokerApplyDesc =>
      'You are not a broker yet. The system will use your account info to submit an application. You can use broker features after approval.';

  @override
  String get brokerApplyRecords => 'Broker Application Records';

  @override
  String get applyPendingTitle => 'Application Under Review';

  @override
  String get auditStatusPending => 'Pending Review';

  @override
  String get auditStatusApproved => 'Approved';

  @override
  String get auditStatusRejected => 'Rejected';

  @override
  String get applyPendingDesc =>
      'Your broker application is under review. Please wait patiently or contact customer service.';

  @override
  String get alreadyBroker => 'You are already a broker';

  @override
  String get rechargeStatus0 => 'Pending payment';

  @override
  String get rechargeStatus1 => 'Confirming on-chain';

  @override
  String get rechargeStatus2 => 'Completed';

  @override
  String get rechargeStatus3 => 'Cancelled';

  @override
  String get rechargeStatus4 => 'Failed';

  @override
  String get appHomeTitle => 'More Apps';

  @override
  String get appHomeHotProjects => 'Hot Projects';

  @override
  String get appHomeDevelopingMessage => 'This feature is under development';

  @override
  String get appHomeHeroTitle => 'Join quality projects';

  @override
  String appHomeAnnualizedYieldRate(Object rate) {
    return 'Earn $rate annualized yield';
  }

  @override
  String get appHomeAnnualizedYieldPrefix => 'Earn ';

  @override
  String get appHomeAnnualizedYieldSuffix => ' annualized yield';

  @override
  String get appHomeExclusiveBadge => 'Exclusive for iBit users';

  @override
  String get appHomeProjectRunes => 'Runes';

  @override
  String get appHomeProjectTesla => 'Tesla';

  @override
  String get appHomeProjectFloki => 'Floki';

  @override
  String get appHomeProjectVcAlliance => 'VC Alliance';

  @override
  String get appHomeProjectAur => 'AUR';

  @override
  String get appHomeProjectVtf => 'VTF Project';

  @override
  String get appHomeProjectFootballCoin => 'Football Coin';

  @override
  String get appHomeProjectJarvis => 'Jarvis';
}
