@kodiak-finance/orderly-i18n 2.8.28-beta.0 → 2.8.28-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constant.d.mts +1 -1
- package/dist/constant.d.ts +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/locale.csv +1 -1
- package/dist/locales/de.json +1 -1
- package/dist/locales/en.json +1 -1
- package/dist/locales/es.json +1 -1
- package/dist/locales/fr.json +1 -1
- package/dist/locales/id.json +1 -1
- package/dist/locales/it.json +1 -1
- package/dist/locales/ja.json +1 -1
- package/dist/locales/ko.json +1 -1
- package/dist/locales/nl.json +1 -1
- package/dist/locales/pl.json +1 -1
- package/dist/locales/pt.json +1 -1
- package/dist/locales/ru.json +1 -1
- package/dist/locales/tc.json +1 -1
- package/dist/locales/tr.json +1 -1
- package/dist/locales/uk.json +1 -1
- package/dist/locales/vi.json +1 -1
- package/dist/locales/zh.json +1 -1
- package/dist/{types-CII8fJuc.d.ts → types-B6iWex30.d.ts} +1 -1
- package/dist/utils.d.mts +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +1 -1
- package/dist/utils.js.map +1 -1
- package/dist/utils.mjs +1 -1
- package/dist/utils.mjs.map +1 -1
- package/package.json +2 -2
package/dist/utils.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/constant.ts","../src/i18n.ts","../src/locale/module/affiliate.ts","../src/locale/module/chart.ts","../src/locale/module/common.ts","../src/locale/module/connector.ts","../src/locale/module/leverage.ts","../src/locale/module/markets.ts","../src/locale/module/notification.ts","../src/locale/module/orderEntry.ts","../src/locale/module/orders.ts","../src/locale/module/portfolio.ts","../src/locale/module/positions.ts","../src/locale/module/scaffold.ts","../src/locale/module/share.ts","../src/locale/module/tpsl.ts","../src/locale/module/trading.ts","../src/locale/module/tradingLeaderboard.ts","../src/locale/module/tradingRewards.ts","../src/locale/module/tradingView.ts","../src/locale/module/transfer.ts","../src/locale/module/ui.ts","../src/locale/module/vaults.ts","../src/locale/module/widget.ts","../src/locale/en.ts","../src/utils.ts"],"names":["LocaleEnum"],"mappings":"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","sourcesContent":["import { Language } from \"./context\";\n\nexport enum LocaleEnum {\n /** English */\n en = \"en\",\n /** Chinese */\n zh = \"zh\",\n /** Japanese */\n ja = \"ja\",\n /** Spanish */\n es = \"es\",\n /** Korean */\n ko = \"ko\",\n /** Vietnamese */\n vi = \"vi\",\n /** German */\n de = \"de\",\n /** French */\n fr = \"fr\",\n /** Russian */\n ru = \"ru\",\n /** Indonesian */\n id = \"id\",\n /** Turkish */\n tr = \"tr\",\n /** Italian */\n it = \"it\",\n /** Portuguese */\n pt = \"pt\",\n /** Ukrainian */\n uk = \"uk\",\n /** Polish */\n pl = \"pl\",\n /** Dutch */\n nl = \"nl\",\n}\n\nexport const defaultLanguages: Language[] = [\n { localCode: LocaleEnum.en, displayName: \"English\" }, // English\n { localCode: LocaleEnum.zh, displayName: \"中文\" }, // Chinese\n { localCode: LocaleEnum.ja, displayName: \"日本語\" }, // Japanese\n { localCode: LocaleEnum.es, displayName: \"Español\" }, // Spanish\n { localCode: LocaleEnum.ko, displayName: \"한국어\" }, // Korean\n { localCode: LocaleEnum.vi, displayName: \"Tiếng Việt\" }, // Vietnamese\n { localCode: LocaleEnum.de, displayName: \"Deutsch\" }, // German\n { localCode: LocaleEnum.fr, displayName: \"Français\" }, // French\n { localCode: LocaleEnum.ru, displayName: \"Русский\" }, // Russian\n { localCode: LocaleEnum.id, displayName: \"Bahasa Indonesia\" }, // Indonesian\n { localCode: LocaleEnum.tr, displayName: \"Türkçe\" }, // Turkish\n { localCode: LocaleEnum.it, displayName: \"Italiano\" }, // Italian\n { localCode: LocaleEnum.pt, displayName: \"Português\" }, // Portuguese\n { localCode: LocaleEnum.uk, displayName: \"Українська\" }, // Ukrainian\n { localCode: LocaleEnum.pl, displayName: \"Polski\" }, // Polish\n { localCode: LocaleEnum.nl, displayName: \"Nederlands\" }, // Dutch\n];\nexport const defaultLng = LocaleEnum.en;\nexport const defaultNS = \"translation\";\n\nexport const i18nLocalStorageKey = \"orderly_i18nLng\";\n\n// preferred-language\nexport const i18nCookieKey = \"orderly_i18nLng\";\n","// import i18n from \"i18next\";\n// import { initReactI18next } from \"react-i18next\";\nimport { createInstance } from \"i18next\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nimport {\n defaultLng,\n defaultNS,\n i18nCookieKey,\n i18nLocalStorageKey,\n} from \"./constant\";\nimport { en } from \"./locale/en\";\n\nexport const resources = {\n [defaultLng]: { [defaultNS]: en },\n};\n\nconst languageDetector = new LanguageDetector(null, {\n lookupLocalStorage: i18nLocalStorageKey,\n lookupCookie: i18nCookieKey,\n caches: [\"localStorage\", \"cookie\"],\n});\n\n// i18n\n// // passes i18n down to react-i18next\n// .use(initReactI18next)\n// .init({\n// // the translations\n// resources,\n// // language to use, more information here: https://www.i18next.com/overview/configuration-options#languages-namespaces-resources\n// // you can use the i18n.changeLanguage function to change the language manually: https://www.i18next.com/overview/api#changelanguage\n// // if you're using a language detector, do not define the lng option\n// lng: \"en\",\n// fallbackLng: \"en\",\n// interpolation: {\n// // react already safes from xss => https://www.i18next.com/translation-function/interpolation#unescape\n// escapeValue: false,\n// },\n// });\n\n// https://react.i18next.com/latest/i18nextprovider#when-to-use\nconst i18n = createInstance({\n // lng: defaultLng,\n fallbackLng: defaultLng,\n // debug: true,\n interpolation: {\n escapeValue: false,\n },\n resources,\n}).use(languageDetector);\n\ni18n.init();\n\nexport default i18n;\n","export const affiliate = {\n \"affiliate.referral\": \"Referral\",\n \"affiliate.trader\": \"Trader\",\n\n \"affiliate.enter\": \"Enter\",\n \"affiliate.statistics\": \"Statistics\",\n\n \"affiliate.connectWallet.tooltip\":\n \"Please connect your wallet to use this function\",\n \"affiliate.createAccount.tooltip\":\n \"Create your account first to bind a referral code.\",\n\n \"affiliate.page.title\":\n \"Refer, earn, and grow - referral & affiliate program\",\n \"affiliate.page.subTitle\":\n \"Earn up to 60% in commissions by sharing your referral code. Invite friends, grow your network, and earn more.\",\n \"affiliate.page.learnMore\": \"Learn how it works\",\n\n \"affiliate.asAffiliate.affilates\": \"Affiliates\",\n \"affiliate.asAffiliate.title\": \"Referrer\",\n \"affiliate.asAffiliate.description\":\n \"Earn 10% commission from friends’ trades. Want higher commission rates? Submit an application to become an affiliate.\",\n \"affiliate.asAffiliate.button\": \"Become an affiliate\",\n \"affiliate.asTrader.title\": \"Referee (Trader)\",\n \"affiliate.asTrader.description\":\n \"Get rebates by trading with a referral code.\",\n \"affiliate.asTrader.button\": \"Enter code\",\n\n \"affiliate.referralCode\": \"Referral code\",\n \"affiliate.referralCode.dialog.title\": \"Bind a referral code\",\n \"affiliate.referralCode.dialog.description\":\n \"Bind a referral code to earn trading fee rebates.\",\n \"affiliate.referralCode.label\": \"Enter referral code\",\n \"affiliate.referralCode.bound\": \"Referral code bound\",\n \"affiliate.referralCode.notExist\": \"This referral code does not exist.\",\n\n \"affiliate.process.title\": \"How It Works\",\n \"affiliate.process.step1.title\": \"Trade $10,000+ or apply\",\n \"affiliate.process.step1.description\":\n \"Unlock a referral code automatically ($0 of $10,000 completed - main account only), or apply for a higher rate via the form.\",\n \"affiliate.process.step1.volumeEq0.title\": \"Get auto referral code or apply\",\n \"affiliate.process.step1.volumeEq0.description\":\n \"Your referral code is ready to use after placing your first trade. you can apply for a higher rate via form.\",\n \"affiliate.process.step1.volumeGt0.title\":\n \"Trade ${{requireVolume}}+ or apply\",\n \"affiliate.process.step1.volumeGt0.description\":\n \"Earn a referral code automatically (${{volume}} of ${{requireVolume}} completed), or apply for a higher rate via form.\",\n \"affiliate.process.step2.title\": \"Share\",\n \"affiliate.process.step2.description\":\n \"Share your personalized referral code with others to start earning.\",\n \"affiliate.process.step3.title\": \"Earn\",\n \"affiliate.process.step3.description\":\n \"Refer others to earn commission, or use a referral code to earn rebates on your trading\",\n \"affiliate.summary\": \"Summary\",\n \"affiliate.summary.refereesTraded\": \"Referees that traded\",\n\n \"affiliate.referralLink\": \"Referral link\",\n \"affiliate.referralLink.earn\": \"Earn\",\n \"affiliate.referralLink.earn.tooltip\":\n \"{{brokerName}} net fee that deduct Orderly fee.\",\n \"affiliate.referralLink.share\": \"Share\",\n \"affiliate.referralLink.share.tooltip\":\n \"Your referees get <0>{{value}}</0> of their {{brokerName}} net fee\",\n\n \"affiliate.referralVol\": \"Referral vol.\",\n\n \"affiliate.referralCodes\": \"Referral codes\",\n \"affiliate.referralCodes.remaining\": \"Remaining referral codes\",\n \"affiliate.referralCodes.column.you&Referee\": \"You / Referee\",\n \"affiliate.referralCodes.column.traders\": \"Traders\",\n \"affiliate.referralCodes.column.referees&Traders\": \"Referees / Traders\",\n \"affiliate.referralCodes.copyLink\": \"Copy link\",\n \"affiliate.upTo\": \"Up to 60%\",\n \"affiliate.commission\": \"Commission\",\n \"affiliate.commission.30d\": \"30d commission\",\n \"affiliate.commission.column.activeUsers\": \"Referral active users\",\n\n \"affiliate.myReferees\": \"My referees\",\n \"affiliate.referees\": \"Referees\",\n \"affiliate.referees.column.refereeAddress\": \"Referee address\",\n \"affiliate.referees.column.totalCommission\": \"Total commission\",\n \"affiliate.referees.column.totalVol\": \"Total vol.\",\n \"affiliate.referees.column.invitationTime\": \"Invitation time\",\n\n \"affiliate.trader.yourReferrer\": \"Your referrer\",\n \"affiliate.trader.rebate\": \"Rebate\",\n \"affiliate.trader.rebates\": \"Rebates\",\n \"affiliate.trader.rebate.30d\": \"30d trading rebates\",\n \"affiliate.trader.tradingRebates\": \"Trading rebates\",\n \"affiliate.trader.myRebates\": \"My rebates\",\n \"affiliate.trader.tradingVol\": \"Trading vol.\",\n \"affiliate.referralCode.editCodeModal.title\": \"Settings\",\n \"affiliate.referralCode.editCodeModal.description\": \"Edit your referral code\",\n \"affiliate.referralCode.editCodeModal.label\": \"Referral code\",\n \"affiliate.referralCode.editCodeModal.helpText.length\":\n \"Must be 4–10 characters long\",\n \"affiliate.referralCode.editCodeModal.helpText.format\":\n \"Only uppercase letters (A–Z) and numbers (0–9) are allowed\",\n \"affiliate.referralCode.editCodeModal.success\":\n \"Referral code updated successfully\",\n \"affiliate.referralRate.editRateModal.title\": \"Settings\",\n \"affiliate.referralRate.editRateModal.description\":\n \"Set the ratio of referral rate shared with your referees\",\n \"affiliate.referralRate.editRateModal.label\": \"Your max commission rate:\",\n \"affiliate.referralRate.editRateModal.label.you\": \"You receive\",\n \"affiliate.referralRate.editRateModal.label.referee\": \"Referee receives\",\n \"affiliate.referralRate.editRateModal.helpText.max\":\n \"The total commission rate must equal to your maximum commission rate limit\",\n \"affiliate.referralRate.editRateModal.success\":\n \"Referral rate updated successfully\",\n \"affiliate.referralTooltip\":\n \"Trade $10K to unlock your referral code and earn trading rebates from referrals.\",\n};\n\nexport type Affiliate = typeof affiliate;\n","export const chart = {\n \"chart.now\": \"Now\",\n};\n\nexport type Chart = typeof chart;\n","export const common = {\n \"common.cancel\": \"Cancel\",\n \"common.confirm\": \"Confirm\",\n \"common.ok\": \"OK\",\n \"common.yes\": \"Yes\",\n \"common.no\": \"No\",\n \"common.all\": \"All\",\n \"common.buy\": \"Buy\",\n \"common.sell\": \"Sell\",\n \"common.long\": \"Long\",\n \"common.short\": \"Short\",\n \"common.edit\": \"Edit\",\n \"common.save\": \"Save\",\n \"common.add\": \"Add\",\n \"common.delete\": \"Delete\",\n \"common.tips\": \"Tips\",\n \"common.max\": \"Max\",\n \"common.download\": \"Download\",\n \"common.copy\": \"Copy\",\n \"common.copy.failed\": \"Copy failed\",\n \"common.copy.copied\": \"Copied\",\n \"common.share\": \"Share\",\n \"common.export\": \"Export\",\n\n \"common.select.1d\": \"1D\",\n \"common.select.3d\": \"3D\",\n \"common.select.7d\": \"7D\",\n \"common.select.14d\": \"14D\",\n \"common.select.30d\": \"30D\",\n \"common.select.90d\": \"90D\",\n\n \"common.price\": \"Price\",\n \"common.quantity\": \"Quantity\",\n \"common.qty\": \"Qty\",\n \"common.status\": \"Status\",\n \"common.status.all\": \"All status\",\n\n \"common.date\": \"Date\",\n \"common.time\": \"Time\",\n \"common.volume\": \"Volume\",\n \"common.total\": \"Total\",\n \"common.symbol\": \"Symbol\",\n \"common.token\": \"Token\",\n \"common.amount\": \"Amount\",\n\n \"common.side\": \"Side\",\n \"common.side.all\": \"All sides\",\n \"common.type\": \"Type\",\n \"common.notional\": \"Notional\",\n \"common.fee\": \"Fee\",\n \"common.fees\": \"Fees\",\n \"common.effectiveFee\": \"Effective Fees\",\n\n \"common.orderPrice\": \"Order price\",\n \"common.avgPrice\": \"Avg. price\",\n \"common.avgOpen\": \"Avg. open\",\n \"common.avgClose\": \"Avg. close\",\n \"common.trigger\": \"Trigger\",\n \"common.lastPrice\": \"Last price\",\n \"common.indexPrice\": \"Index price\",\n \"common.markPrice\": \"Mark price\",\n \"common.limitPrice\": \"Limit price\",\n \"common.marketPrice\": \"Market\",\n \"common.market\": \"Market\",\n \"common.limit\": \"Limit\",\n \"common.triggerPrice\": \"Trigger price\",\n\n \"common.unrealizedPnl\": \"Unrealized PnL\",\n \"common.realizedPnl\": \"Realized PnL\",\n \"common.pnl\": \"PnL\",\n \"common.totalValue\": \"Total value\",\n \"common.address\": \"Address\",\n \"common.address.search.placeholder\": \"Search address\",\n \"common.available\": \"Available\",\n\n \"common.overview\": \"Overview\",\n \"common.funding\": \"Funding\",\n \"common.assets\": \"Assets\",\n \"common.allAssets\": \"All assets\",\n \"common.countdown\": \"Countdown\",\n \"common.current\": \"Current\",\n \"common.account\": \"Account\",\n\n \"common.deposit\": \"Deposit\",\n \"common.withdraw\": \"Withdraw\",\n \"common.deposits\": \"Deposits\",\n \"common.withdrawals\": \"Withdrawals\",\n \"common.transfer\": \"Transfer\",\n \"common.inflow\": \"Inflow\",\n \"common.outflow\": \"Outflow\",\n \"common.settle\": \"Settle\",\n \"common.markets\": \"Markets\",\n \"common.portfolio\": \"Portfolio\",\n \"common.positions\": \"Positions\",\n \"common.position\": \"Position\",\n \"common.orders\": \"Orders\",\n \"common.tpsl\": \"TP/SL\",\n \"common.leverage\": \"Leverage\",\n \"common.affiliate\": \"Affiliate\",\n \"common.tradingRewards\": \"Trading rewards\",\n \"common.trading\": \"Trade\",\n \"common.spot\": \"Spot\",\n \"common.earn\": \"Earn\",\n \"common.stake\": \"Stake\",\n \"common.perps\": \"Perps\",\n \"common.allAccount\": \"All accounts\",\n \"common.mainAccount\": \"Main account\",\n \"common.subAccount\": \"Sub account\",\n \"common.settings\": \"Settings\",\n \"common.accountId\": \"Account ID\",\n \"common.web3Wallet\": \"Web3 wallet\",\n \"common.txId\": \"TxID\",\n \"common.result\": \"Result\",\n \"common.orderQty\": \"Order Qty.\",\n \"common.positionQty\": \"Position Qty.\",\n \"common.estTotal\": \"Est. Total\",\n \"common.fullTPSL\": \"Full TP/SL\",\n \"common.partialTPSL\": \"Partial TP/SL\",\n \"common.vaults\": \"Vaults\",\n \"common.optional\": \"Optional\",\n \"common.learnMore\": \"Learn more\",\n \"common.switch\": \"Switch\",\n \"common.notSupported\": \"Not supported\",\n\n \"common.details\": \"Details\",\n \"common.somethingWentWrong\": \"Something went wrong. Please try again later.\",\n \"common.rwa\": \"RWA\",\n \"common.new\": \"New\",\n \"common.dayShort\": \"D\",\n \"common.hourShort\": \"H\",\n \"common.minuteShort\": \"M\",\n \"common.secondShort\": \"S\",\n\n \"common.offlineDescription\":\n \"Currently disconnected, please refresh the page\",\n \"common.refresh\": \"Refresh\",\n};\n","export const connector = {\n \"connector.testnet\": \"Testnet\",\n \"connector.mainnet\": \"Mainnet\",\n\n \"connector.connect\": \"Connect\",\n \"connector.disconnect\": \"Disconnect\",\n \"connector.connectWallet\": \"Connect wallet\",\n // \"connector.signIn\": \"Sign in\",\n // \"connector.signIn.description\": \"Confirm you are the owner of this wallet\",\n \"connector.createAccount\": \"Create account\",\n\n \"connector.createAccountWithLedger\": \"Create account with ledger\",\n \"connector.enableTradingWithLedger\": \"Enable trading with ledger\",\n \"connector.disconnectWallet\": \"Disconnect wallet\",\n \"connector.createAccount.description\":\n \"Confirm wallet ownership to create an account\",\n \"connector.enableTrading\": \"Enable trading\",\n \"connector.enableTrading.description\":\n \"Enable secure access to our API for lightning fast trading\",\n\n \"connector.switchNetwork\": \"Switch Network\",\n \"connector.wrongNetwork\": \"Wrong network\",\n \"connector.wrongNetwork.tooltip\":\n \"Please switch to a supported network to continue.\",\n\n \"connector.expired\":\n \"Your previous access has expired, you will receive a signature request to enable trading. Signing is free and will not send a transaction.\",\n\n \"connector.rememberMe\": \"Remember me\",\n \"connector.rememberMe.description\":\n \"Toggle this option to skip these steps next time you want to trade.\",\n\n \"connector.referralCode.placeholder\": \"Referral code (Optional)\",\n \"connector.referralCode.invalid\":\n \"The referral_code must be 4 to 10 characters long, only accept upper case roman characters and numbers\",\n \"connector.referralCode.notExist\": \"This referral code does not exist.\",\n\n \"connector.somethingWentWrong\": \"Something went wrong\",\n \"connector.userRejected\": \"User rejected the request.\",\n\n \"connector.walletConnected\": \"Wallet connected\",\n \"connector.networkSwitched\": \"Network switched\",\n \"connector.switchChain.failed\": \"Switch chain failed\",\n\n \"connector.trade.connectWallet.tooltip\":\n \"Please connect wallet before starting to trade\",\n // \"connector.trade.signIn.tooltip\": \"Please sign in before starting to trade\",\n \"connector.trade.createAccount.tooltip\":\n \"Please create account before starting to trade\",\n \"connector.trade.enableTrading.tooltip\":\n \"Please enable trading before starting to trade\",\n\n \"connector.setUp.connectWallet.tooltip\":\n \"Please connect wallet before set up\",\n // \"connector.setUp.signIn.tooltip\": \"Please sign in before set up\",\n \"connector.setUp.createAccount.tooltip\":\n \"Please create account before set up\",\n \"connector.setUp.enableTrading.tooltip\":\n \"Please enable trading before set up\",\n\n \"connector.ledger.signMessageFailed\": \"Sign Message Failed\",\n \"connector.ledger.signMessageFailed.description\":\n \"Are you using Ledger Wallet?\",\n\n \"connector.privy.loginIn\": \"Login in\",\n \"connector.privy.logout\": \"Log out\",\n \"connector.privy.email\": \"Email\",\n \"connector.privy.google\": \"Google\",\n \"connector.privy.twitter\": \"X / Twitter\",\n \"connector.privy.telegram\": \"Telegram\",\n \"connector.privy.myWallet\": \"My wallet\",\n \"connector.privy.addEvmWallet\": \"Add Evm wallet\",\n \"connector.privy.addSolanaWallet\": \"Add Solana wallet\",\n \"connector.privy.addAbstractWallet\": \"Add Abstract wallet\",\n \"connector.privy.createEvmWallet\": \"Create Evm wallet\",\n \"connector.privy.createSolanaWallet\": \"Create Solana wallet\",\n \"connector.privy.termsOfUse\":\n \"By connecting your wallet, you acknowledge and agree to the <0>terms of use</0>.\",\n \"connector.privy.supportedEvmChain\": \"Supported Evm chain\",\n \"connector.privy.supportedSolanaChain\": \"Supported Solana chain\",\n \"connector.privy.noWallet\": \"No wallet\",\n \"connector.privy.noWallet.description\":\n \"Please create a wallet to proceed. Only you can access the private key. You can export the private key and import your wallet into another wallet client, such as MetaMask or Phantom, at any time.\",\n \"connector.privy.switchNetwork.tips\": \"Switch to {{chainName}} to continue.\",\n \"connector.privy.addEvmWallet.tips\":\n \"Connect an EVM-compatible wallet to continue using the EVM network.\",\n \"connector.privy.addSolanaWallet.tips\":\n \"Connect an Solana-compatible wallet to continue using the Solana network.\",\n \"connector.privy.addAbstractWallet.tips\":\n \"Connect an Abstract-compatible wallet to continue using the Abstract network.\",\n \"connector.privy.pwa.title\": \"Prefer an app-like experience? Try the PWA\",\n \"connector.privy.pwa.sheetTitle\": \"Add as App\",\n \"connector.privy.pwa.description\":\n \"For a better mobile experience, add this website to your home screen as an app from Safari or Chrome.\",\n \"connector.privy.pwa.step1\": \"Click the share icon in the browser menu.\",\n \"connector.privy.pwa.step2\": \"Choose Add to Home Screen in the options.\",\n \"connector.privy.pwa.findOnPage\": \"Find on Page\",\n \"connector.privy.pwa.addToHomeScreen\": \"Add to Home Screen\",\n};\n\nexport type Connector = typeof connector;\n","export const leverage = {\n \"leverage.maxAccountLeverage\": \"Max account leverage\",\n \"leverage.accountLeverage\": \"Account leverage\",\n \"leverage.currentLeverage\": \"Current leverage\",\n \"leverage.maxLeverage\": \"Max leverage\",\n \"leverage.updated\": \"Leverage updated\",\n \"leverage.adjustedLeverage\": \"Adjust leverage\",\n \"leverage.maxPositionLeverage.tips\":\n \"* Maximum position at current leverage: <0>{{amount}}</0> USDC\",\n \"leverage.maxAvailableLeverage.tips\":\n \"* Highest available leverage <0>{{leverage}}</0>. Selecting higher leverage increases your liquidation risk.\",\n \"leverage.overRequiredMargin.tips\":\n \"Margin is not enough. Please try adjusting to another leverage level.\",\n \"leverage.overMaxPositionLeverage.tips\":\n \"Current highest available leverage is <0>{{leverage}}</0>. Please try adjusting to another leverage level.\",\n \"leverage.confirm\": \"Leverage confirm\",\n \"leverage.confirm.content\":\n \"If you modify the leverage, it will also affect your ongoing positions on this symbol.\",\n \"leverage.confirm.disable.confirmation\": \"Disable confirmation\",\n \"leverage.actualPositionLeverage.tips\":\n \"* Actual position leverage adjusts with notional changes and may fall below your selected leverage.\",\n};\n\nexport type Leverage = typeof leverage;\n","export const markets = {\n \"markets.favorites\": \"Favorites\",\n \"markets.recent\": \"Recent\",\n \"markets.newListings\": \"New listings\",\n \"markets.allMarkets\": \"All markets\",\n \"markets.openInterest\": \"Open interest\",\n \"markets.openInterest.tooltip\": \"Total size of positions per side.\",\n\n \"markets.topGainers\": \"Top gainers\",\n \"markets.topLosers\": \"Top losers\",\n\n \"markets.search.placeholder\": \"Search market\",\n \"markets.dataList.favorites.empty\":\n \"Click on the <0/> icon next to a market to add it to your list.\",\n\n \"markets.dataList.column.8hFunding\": \"8h funding\",\n \"markets.dataList.column.moveTop\": \"Move to top\",\n\n \"markets.favorites.dropdown.title\": \"Select lists for\",\n \"markets.favorites.dropdown.addPlaceholder\": \"Add a new watchlist\",\n \"markets.favorites.tabs.maxList\": \"Maximum 10 groups in the favorite list\",\n \"markets.favorites.tabs.maxName\": \"List name cannot exceed 15 characters\",\n \"markets.favorites.tabs.delete.dialog.title\": \"Delete list\",\n \"markets.favorites.tabs.delete.dialog.description\":\n \"Are you sure you want to delete {{name}}?\",\n \"markets.favorites.addFavorites\": \"Add favorites\",\n\n \"markets.column.market\": \"Market\",\n \"markets.column.24hChange\": \"24h change\",\n \"markets.column.24hVolume\": \"24h volume\",\n // TODO: use markets.column.market and common.volume\n \"markets.column.market&Volume\": \"Market / Volume\",\n // TODO: confirm \"change\" first letter capital\n \"markets.column.price&Change\": \"Price / Change\",\n \"markets.column.last\": \"Last\",\n \"markets.column.24hPercentage\": \"24h%\",\n\n \"markets.funding.comparison\": \"Comparison\",\n \"markets.funding.column.estFunding\": \"Est. funding\",\n \"markets.funding.column.lastFunding\": \"Last funding\",\n \"markets.funding.column.1dAvg\": \"1D avg.\",\n \"markets.funding.column.3dAvg\": \"3D avg.\",\n \"markets.funding.column.7dAvg\": \"7D avg.\",\n \"markets.funding.column.14dAvg\": \"14D avg.\",\n \"markets.funding.column.30dAvg\": \"30D avg.\",\n \"markets.funding.column.90dAvg\": \"90D avg.\",\n \"markets.funding.column.positiveRate\": \"Positive rate\",\n\n \"markets.symbolInfoBar.Mark\": \"Mark\",\n \"markets.symbolInfoBar.Mark.tooltip\":\n \"Price for the computation of unrealized PnL and liquidation.\",\n \"markets.symbolInfoBar.Index\": \"Index\",\n \"markets.symbolInfoBar.Index.tooltip\":\n \"Average of the last prices across other exchanges.\",\n \"markets.symbolInfoBar.24hVolume\": \"24h volume\",\n \"markets.symbolInfoBar.24hVolume.tooltip\":\n \"24 hour total trading volume on the Orderly Network.\",\n \"markets.symbolInfoBar.predFundingRate\": \"Pred. funding rate\",\n \"markets.symbolInfoBar.predFundingRate.tooltip\":\n \"Funding rates are payments between traders who are long and short. When positive, long positions pay short positions funding. When negative, short positions pay long positions.\",\n};\n\nexport type Markets = typeof markets;\n","export const notification = {\n // Announcement related keys\n \"notification.campaign\": \"Campaign announcement\",\n \"notification.delisting\": \"Token delisting\",\n \"notification.general\": \"General update\",\n \"notification.joinNow\": \"Join now\",\n \"notification.listing\": \"New token listing\",\n \"notification.maintenance\": \"System maintenance\",\n \"notification.maintenanceDuration.hours\":\n \"{{hours}} HRs at {{startTimeFormatted}} - {{endTimeFormatted}} (UTC)\",\n \"notification.maintenanceDuration.minutes\":\n \"{{minutes}} MINs at {{startTimeFormatted}} - {{endTimeFormatted}} (UTC)\",\n \"notification.recentlyUpdated\": \"Recently updated\",\n \"notification.title\": \"Announcement\",\n \"notification.centerTitle\": \"Announcement center\",\n\n // Notification related keys\n \"notification.closeAll\": \"Close all ({{total}})\",\n \"notification.delistingTitle\": \"Token Delisting Notice\",\n \"notification.generalTitle\": \"General Update\",\n \"notification.maintenanceTitle\": \"System Maintenance\",\n \"notification.empty\": \"No announcements\",\n};\n\nexport type Notification = typeof notification;\n","export const orderEntry = {\n \"orderEntry.buyLong\": \"Buy / Long\",\n \"orderEntry.sellShort\": \"Sell / Short\",\n \"orderEntry.reduceOnly\": \"Reduce only\",\n \"orderEntry.orderType.limit\": \"Limit\",\n \"orderEntry.orderType.market\": \"Market\",\n // TODO:use orderEntry.orderType.limit\n \"orderEntry.orderType.limitOrder\": \"Limit\",\n // TODO:use orderEntry.orderType.market\n \"orderEntry.orderType.marketOrder\": \"Market\",\n \"orderEntry.orderType.stopLimit\": \"Stop limit\",\n \"orderEntry.orderType.stopMarket\": \"Stop market\",\n \"orderEntry.orderType.postOnly\": \"Post only\",\n \"orderEntry.orderType.ioc\": \"IOC\",\n \"orderEntry.orderType.fok\": \"FOK\",\n \"orderEntry.orderType.scaledOrder\": \"Scaled\",\n \"orderEntry.orderType.trailingStop\": \"Trailing stop\",\n \"orderEntry.orderSize\": \"Order size\",\n \"orderEntry.initialMargin\": \"Initial margin\",\n\n \"orderEntry.startPrice\": \"Start price\",\n \"orderEntry.endPrice\": \"End price\",\n \"orderEntry.skew\": \"Skew\",\n \"orderEntry.totalOrders\": \"Total orders\",\n \"orderEntry.totalQuantity\": \"Total quantity\",\n \"orderEntry.trailingRate\": \"Trailing rate\",\n \"orderEntry.trailingValue\": \"Trailing value\",\n \"orderEntry.trailing\": \"Trailing\",\n\n \"orderEntry.quantityDistribution\": \"Qty distribution\",\n\n \"orderEntry.quantityDistribution.description\":\n \"Controls how order size is distributed across price levels. \",\n \"orderEntry.quantityDistribution.formula\":\n \"Size Skew = (Size at end price) ÷ (Size at start price)\",\n\n \"orderEntry.distributionType.flat\": \"Flat\",\n \"orderEntry.distributionType.ascending\": \"Ascending\",\n \"orderEntry.distributionType.ascending.abbr\": \"Asc.\",\n \"orderEntry.distributionType.descending\": \"Descending\",\n \"orderEntry.distributionType.descending.abbr\": \"Desc.\",\n \"orderEntry.distributionType.custom\": \"Custom\",\n\n \"orderEntry.distributionType.flat.description\":\n \"Uniform order allocation across the range.\",\n \"orderEntry.distributionType.ascending.description\":\n \"Larger order sizes toward the end of the price range\",\n \"orderEntry.distributionType.descending.description\":\n \"Larger order sizes near the start of the price range\",\n\n \"orderEntry.bbo\": \"BBO\",\n \"orderEntry.bbo.counterparty1\": \"Counterparty 1\",\n \"orderEntry.bbo.counterparty5\": \"Counterparty 5\",\n \"orderEntry.bbo.queue1\": \"Queue 1\",\n \"orderEntry.bbo.queue5\": \"Queue 5\",\n \"orderEntry.bbo.disabled.tips\":\n \"BBO is not supported when TP/SL, Post-Only, IOC, or FOK is selected.\",\n\n \"orderEntry.estLiqPrice\": \"Est. liq. price\",\n\n \"orderEntry.disableOrderConfirm\": \"Disable order confirmation\",\n \"orderEntry.orderConfirm\": \"Order confirm\",\n \"orderEntry.confirmScaledOrder\": \"Confirm scaled order\",\n \"orderEntry.hidden\": \"Hidden\",\n \"orderEntry.keepVisible\": \"Keep visible\",\n\n \"orderEntry.maxBuy\": \"Max buy\",\n \"orderEntry.maxSell\": \"Max sell\",\n\n \"orderEntry.tpMarkPrice\": \"TP price (Mark)\",\n \"orderEntry.slMarkPrice\": \"SL price (Mark)\",\n \"orderEntry.tpsl.trigger.description\":\n \"TP/SL triggers at the specified mark price and executes as a market order.\",\n \"orderEntry.estRoi\": \"Est.ROI\",\n \"orderEntry.estPnL\": \"Est.PnL\",\n\n \"orderEntry.tpsl.tips\":\n \"TP/SL triggers at the specified mark price and executes as a market order. By default, it applies to the entire position. Adjust settings in open positions for partial TP/SL.\",\n\n // form errors\n \"orderEntry.orderQuantity.error.required\": \"Quantity is required\",\n \"orderEntry.orderQuantity.error.min\":\n \"Quantity must be greater than {{value}}\",\n \"orderEntry.orderQuantity.error.max\": \"Quantity must be less than {{value}}\",\n\n \"orderEntry.orderPrice.error.required\": \"Price is required\",\n \"orderEntry.orderPrice.error.min\": \"Price must be greater than {{value}}\",\n \"orderEntry.orderPrice.error.max\": \"Price must be less than {{value}}\",\n\n \"orderEntry.triggerPrice.error.required\": \"Trigger price is required\",\n \"orderEntry.triggerPrice.error.min\":\n \"Trigger price must be greater than {{value}}\",\n \"orderEntry.triggerPrice.error.max\":\n \"Trigger price must be less than {{value}}\",\n\n \"orderEntry.tpTriggerPrice.error.min\":\n \"TP Price must be greater than {{value}}\",\n \"orderEntry.tpTriggerPrice.error.max\": \"TP Price must be less than {{value}}\",\n\n \"orderEntry.slTriggerPrice.error.min\":\n \"SL Price must be greater than {{value}}\",\n \"orderEntry.slTriggerPrice.error.max\": \"SL Price must be less than {{value}}\",\n\n \"orderEntry.total.error.min\":\n \"The order value should be greater or equal to {{value}} USDC\",\n \"orderEntry.initialMarginTotal.error.min\":\n \"The initial margin should be greater or equal to {{value}} USDC\",\n\n \"orderEntry.startPrice.error.required\": \"Start price is required\",\n \"orderEntry.startPrice.error.min\":\n \"Start price must be greater than {{value}}\",\n \"orderEntry.startPrice.error.max\": \"Start price must be less than {{value}}\",\n\n \"orderEntry.endPrice.error.required\": \"End price is required\",\n \"orderEntry.endPrice.error.min\": \"End price must be greater than {{value}}\",\n \"orderEntry.endPrice.error.max\": \"End price must be less than {{value}}\",\n\n \"orderEntry.totalOrders.error.required\": \"Total orders is required\",\n \"orderEntry.totalOrders.error.range\":\n \"Total orders must be in the range of 2 to 20.\",\n\n \"orderEntry.skew.error.required\": \"Skew is required\",\n \"orderEntry.skew.error.min\": \"Skew must be greater than {{value}}\",\n \"orderEntry.skew.error.max\": \"Skew must be less than {{value}}\",\n\n \"orderEntry.callbackValue.error.min\":\n \"Trailing value must be greater than {{value}}\",\n \"orderEntry.callbackValue.error.range\":\n \"Trailing value needs to be greater than {{min}} and less than {{max}}\",\n \"orderEntry.callbackRate.error.range\":\n \"Trailing rate needs to be greater than or equal to {{min}} and less than or equal to {{max}}\",\n \"orderEntry.callbackValue.error.required\": \"Trailing value is required\",\n \"orderEntry.callbackRate.error.required\": \"Trailing rate is required\",\n\n \"orderEntry.slippage\": \"Slippage\",\n \"orderEntry.slippage.est\": \"Est\",\n \"orderEntry.slippage.tips\":\n \"Your transaction will revert if the price changs unfavorably by more than this percentage.\",\n \"orderEntry.slippage.error.exceed\":\n \"The current input value cannot exceed 3%\",\n \"orderEntry.slippage.error.max\":\n \"Estimated slippage exceeds your maximum allowed slippage.\",\n\n \"orderEntry.confirmScaledOrder.orderPrice.warning\":\n \"This order will be filled immediately based on the current market price.\",\n \"orderEntry.scaledOrder.fullySuccessful\":\n \"Scaled order placed: {{total}} orders submitted successfully.\",\n \"orderEntry.scaledOrder.partiallySuccessful\":\n \"Scaled order partially submitted: {{successCount}} of {{total}} orders placed.\",\n \"orderEntry.scaledOrder.allFailed\":\n \"Scaled order failed. No orders were placed.\",\n\n \"orderEntry.reduceOnly.reminder\": \"Reduce-only reminder\",\n \"orderEntry.reduceOnly.reminder.content\":\n \"Your account is in reduce-only and cannot open new positions. Would you like to turn off reduce-only mode and proceed with the order?\",\n \"orderEntry.placeOrderNow\": \"Place order now\",\n \"orderEntry.maxQty.reminder.content\":\n \"Order qty reduced to max available: {{maxQty}}\",\n};\n\nexport type OrderEntry = typeof orderEntry;\n","export const orders = {\n \"orders.orderHistory\": \"Order history\",\n\n \"orders.status.pending\": \"Pending\",\n \"orders.status.filled\": \"Filled\",\n \"orders.status.partialFilled\": \"Partial filled\",\n \"orders.status.canceled\": \"Canceled\",\n \"orders.status.rejected\": \"Rejected\",\n \"orders.status.incomplete\": \"Incomplete\",\n \"orders.status.completed\": \"Completed\",\n\n \"orders.status.opened.toast.title\": \"Order opened\",\n \"orders.status.filled.toast.title\": \"Order filled\",\n \"orders.status.canceled.toast.title\": \"Order canceled\",\n \"orders.status.rejected.toast.title\": \"Order rejected\",\n \"orders.status.replaced.toast.title\": \"Order edited\",\n\n \"orders.status.scaledSubOrderOpened.toast.title\":\n \"Scale order: sub-order opened\",\n \"orders.trailingStop.activated\": \"Trailing order activated\",\n\n \"orders.column.fill&Quantity\": \"Filled / Quantity\",\n \"orders.column.orderTime\": \"Order time\",\n \"orders.column.hidden\": \"Hidden\",\n\n \"orders.editOrder\": \"Edit order\",\n \"order.edit.confirm.quantity\":\n \"You agree changing the quantity of {{base}}-PERP order to <0>{{value}}</0>.\",\n \"order.edit.confirm.price\":\n \"You agree changing the price of {{base}}-PERP order to <0>{{value}}</0>.\",\n \"order.edit.confirm.triggerPrice\":\n \"You agree changing the trigger price of {{base}}-PERP order to <0>{{value}}</0>.\",\n \"order.edit.confirm.callbackValue\":\n \"You agree changing the callback value of {{base}}-PERP order to <0>{{value}}</0>.\",\n \"order.edit.confirm.callbackRate\":\n \"You agree changing the callback rate of {{base}}-PERP order to <0>{{value}}</0>.\",\n\n \"orders.cancelOrder\": \"Cancel order\",\n \"orders.cancelOrder.description\":\n \"Are you sure you want to cancel your pending order.\",\n\n \"orders.cancelAll\": \"Cancel all\",\n \"orders.pending.cancelAll\": \"Cancel all pending orders\",\n \"orders.pending.cancelAll.description\":\n \"Are you sure you want to cancel all of your pending orders?\",\n \"orders.tpsl.cancelAll\": \"Cancel all TP/SL orders\",\n \"orders.tpsl.cancelAll.description\":\n \"Are you sure you want to cancel all of your TP/SL orders?\",\n\n \"orders.cancelAll.ofSymbol\": \"Cancel all of {{symbol}}\",\n \"orders.pending.cancelAll.forSymbol\":\n \"Cancel all pending orders for {{symbol}}\",\n \"orders.pending.cancelAll.forSymbol.description\":\n \"Are you sure you want to cancel all pending orders for {{symbol}}?\",\n \"orders.tpsl.cancelAll.forSymbol\": \"Cancel all TP/SL orders for {{symbol}}\",\n \"orders.tpsl.cancelAll.forSymbol.description\":\n \"Are you sure you want to cancel all TP/SL orders for {{symbol}}?\",\n\n \"orders.price.greaterThan\": \"Price can not be greater than {{max}} USDC.\",\n \"orders.price.lessThan\": \"Price can not be less than {{min}} USDC.\",\n\n \"orders.quantity.lessThan\": \"Quantity should be less than {{quantity}}\",\n \"orders.quantity.lessThanPosition\":\n \"Quantity should be less than position quantity : {{quantity}}\",\n\n \"orders.history.renew\": \"Renew\",\n\n \"orders.download.tooltip\":\n \"The downloaded data will reflect only the applied filters (e.g., status, time, side, and pagination) and may not include all records.\",\n};\n\nexport type Orders = typeof orders;\n","export const portfolio = {\n \"portfolio.feeTier\": \"Fee tier\",\n \"portfolio.apiKeys\": \"API Keys\",\n \"portfolio.setting\": \"Settings\",\n\n \"portfolio.overview.availableWithdraw\": \"Available to withdraw\",\n \"portfolio.overview.handle.title\": \"Portfolio value\",\n\n \"portfolio.overview.performance\": \"Performance\",\n \"portfolio.overview.performance.roi\": \"{{period}} ROI\",\n \"portfolio.overview.performance.roi.tooltip\":\n \"ROI = PnL / (Start account value + Total deposits + Total transfer-in)\",\n \"portfolio.overview.performance.pnl\": \"{{period}} PnL\",\n \"portfolio.overview.performance.pnl.tooltip\":\n \"PnL = Current account value − Start account value − Total deposits + Total withdrawals − Total transfer-in + Total transfer-out\",\n \"portfolio.overview.performance.volume\": \"{{period}} Volume\",\n \"portfolio.overview.performance.volume.tooltip\":\n \"Trading volume over the selected period.\",\n \"portfolio.overview.performance.dailyPnl\": \"Daily PnL\",\n \"portfolio.overview.performance.cumulativePnl\": \"Cumulative PnL\",\n\n \"portfolio.overview.distribution\": \"Distribution\",\n \"portfolio.overview.transferHistory\": \"Transfer history\",\n \"portfolio.overview.vaults\": \"Vaults\",\n \"portfolio.overview.vaultName\": \"Vault name\",\n \"portfolio.overview.column.txId\": \"TxID\",\n\n \"portfolio.overview.column.token\": \"Token\",\n \"portfolio.overview.column.qty\": \"Qty.\",\n \"portfolio.overview.column.indexPrice\": \"Index price\",\n \"portfolio.overview.column.assetValue\": \"Asset value\",\n \"portfolio.overview.column.collateralRatio\": \"Collateral ratio\",\n \"portfolio.overview.column.collateralRatio.explain\":\n \"Collateral ratio shows how much of an asset’s value can be used as margin\",\n \"portfolio.overview.column.assetContribution\": \"Asset contribution\",\n\n \"portfolio.overview.column.form\": \"Form\",\n \"portfolio.overview.column.to\": \"To\",\n\n \"portfolio.overview.column.convert.convertedAsset\": \"Converted asset\",\n \"portfolio.overview.column.convert.usdcAmount\": \"USDC amount\",\n \"portfolio.overview.column.convert.convertId\": \"Convert ID\",\n \"portfolio.overview.column.convert.details\": \"Details\",\n \"portfolio.overview.tab.convert.history\": \"Convert history\",\n \"portfolio.overview.convert.dialog.title.details\": \"Convert details\",\n\n \"portfolio.overview.distribution.type.referralCommission\":\n \"Referral commission\",\n \"portfolio.overview.distribution.type.refereeRebate\": \"Referee rebate\",\n \"portfolio.overview.distribution.type.brokerFee\": \"Broker fee\",\n\n \"portfolio.feeTier.updatedDailyBy\": \"Updated daily by\",\n \"portfolio.feeTier.header.30dVolume\": \"30D trading volume\",\n \"portfolio.feeTier.header.vipTier\": \"VIP tier\",\n \"portfolio.feeTier.header.refCode\": \"Ref code\",\n \"portfolio.feeTier.header.takerFeeRate\": \"Taker fee rate\",\n \"portfolio.feeTier.header.makerFeeRate\": \"Maker fee rate\",\n \"portfolio.feeTier.header.myStake\": \"My stake\",\n \"portfolio.feeTier.vip.discount\": \"Discount {{discount}}\",\n \"portfolio.feeTier.vip.learnMore\": \"Learn more\",\n \"portfolio.feeTier.vip.stakeNow\": \"Stake xKDK\",\n \"portfolio.feeTier.vip.tiersTitle\": \"VIP staking tiers\",\n \"portfolio.feeTier.vip.tiersSubtitle\":\n \"Stake xKDK to unlock trading fee discounts, earn protocol rewards, and participate in governance\",\n \"portfolio.feeTier.vip.staked\": \"xKDK staked\",\n \"portfolio.feeTier.vip.discountNote\":\n \"*Trading fee discount applies to the Kodiak portion of the fees.\",\n \"portfolio.feeTier.vip.base\": \"Base\",\n \"portfolio.feeTier.vip.stakeRequirement\": \"{{amount}} xKDK staked\",\n \"portfolio.feeTier.vip.column.tier\": \"Tier\",\n \"portfolio.feeTier.vip.column.staked\": \"xKDK staked\",\n \"portfolio.feeTier.vip.column.discount\": \"Trading fee discount\",\n \"portfolio.feeTier.column.tier\": \"Tier\",\n \"portfolio.feeTier.column.30dVolume\": \"30 day volume\",\n \"portfolio.feeTier.column.30dVolume.above\": \"Above {{volume}}\",\n \"portfolio.feeTier.column.stakingLevel\": \"Staking Level\",\n \"portfolio.feeTier.column.or\": \"or\",\n \"portfolio.feeTier.column.maker\": \"Maker\",\n \"portfolio.feeTier.column.taker\": \"Taker\",\n \"portfolio.feeTier.effectiveFee.tooltip\":\n \"Effective fee rate after applying your referee rebate.\",\n \"portfolio.feeTier.effectiveFee.tooltipLink\": \"Check rebate history\",\n \"portfolio.apiKey.accountId.copied\": \"Account id copied\",\n \"portfolio.apiKey.uid\": \"UID\",\n \"portfolio.apiKey.secretKey\": \"Secret key\",\n \"portfolio.apiKey.secretKey.copied\": \"Secret key copied\",\n\n \"portfolio.apiKey.ip\": \"IP\",\n \"portfolio.apiKey.permissions\": \"Permissions\",\n \"portfolio.apiKey.permissions.read\": \"Read\",\n \"portfolio.apiKey.permissions.trading\": \"Trading\",\n\n \"portfolio.apiKey.description\":\n \"Create API keys to suit your trading needs. For your security, don't share your API keys with anyone.\",\n \"portfolio.apiKey.readApiGuide\": \"Read API guide\",\n\n \"portfolio.apiKey.column.apiKey\": \"API key\",\n \"portfolio.apiKey.column.apiKey.copy\": \"API key copied\",\n \"portfolio.apiKey.column.permissionType\": \"Permission type\",\n \"portfolio.apiKey.column.restrictedIP\": \"Restricted IP\",\n \"portfolio.apiKey.column.restrictedIP.copy\": \"Restricted IP copied\",\n \"portfolio.apiKey.column.expirationDate\": \"Expiration date\",\n\n \"portfolio.apiKey.create.dialog.title\": \"Create API key\",\n\n \"portfolio.apiKey.create.connectWallet.tooltip\":\n \"Please connect wallet before create API key\",\n // \"portfolio.apiKey.create.signIn.tooltip\":\n // \"Please sign in before create API key\",\n \"portfolio.apiKey.create.createAccount.tooltip\":\n \"Please create account before create API key\",\n \"portfolio.apiKey.create.enableTrading.tooltip\":\n \"Please enable trading before create API key\",\n \"portfolio.apiKey.create.wrongNetwork.tooltip\":\n \"Please switch to a supported network to create API key\",\n\n \"portfolio.apiKey.create.ipRestriction\": \"IP restriction (optional)\",\n \"portfolio.apiKey.create.ipRestriction.placeholder\":\n \"Add IP addresses, separated by commas.\",\n\n \"portfolio.apiKey.created.warning\":\n \"Please copy the API secret. Once you close this pop-up, the API secret will be encrypted.\",\n \"portfolio.apiKey.created.button.copyApiInfo\": \"Copy API info\",\n \"portfolio.apiKey.apiInfo.copied\": \"API info copied\",\n\n \"portfolio.apiKey.created\": \"API key created\",\n \"portfolio.apiKey.deleted\": \"API key deleted\",\n \"portfolio.apiKey.updated\": \"API key updated\",\n\n \"portfolio.apiKey.edit.dialog.title\": \"Edit API key\",\n \"portfolio.apiKey.delete.dialog.title\": \"Delete API key\",\n \"portfolio.apiKey.delete.dialog.description\":\n \"Delete your API key <0>{{apiKey}}</0>?\",\n\n \"portfolio.setting.systemUpgrade\": \"System upgrade\",\n \"portfolio.setting.cancelOpenOrders\":\n \"Cancel open orders during system upgrade\",\n \"portfolio.setting.cancelOpenOrders.description\":\n \"During the upgrade period, all open orders will be cancelled to manage your risk in case of high market volatility.\",\n \"portfolio.setting.soundAlerts\": \"Sound alerts\",\n \"portfolio.setting.soundAlerts.description\":\n \"Play a notification sound when an order is filled or canceled.\",\n\n // Symbol Performance (Kodiak-specific feature)\n \"portfolio.symbolPerformance\": \"Analysis\",\n \"portfolio.symbolPerformance.selectSymbol\":\n \"Please select a symbol to view performance\",\n \"portfolio.symbolPerformance.noData\":\n \"No filled orders found for this symbol and timeframe\",\n \"portfolio.symbolPerformance.totalPnL\": \"Total PnL\",\n \"portfolio.symbolPerformance.totalVolume\": \"Total Volume\",\n \"portfolio.symbolPerformance.totalFees\": \"Total Fees\",\n \"portfolio.symbolPerformance.makerShare\": \"Maker Share\",\n \"portfolio.symbolPerformance.totalTrades\": \"Total Trades\",\n \"portfolio.symbolPerformance.winRate\": \"Win Rate\",\n \"portfolio.symbolPerformance.averageWin\": \"Avg Win\",\n \"portfolio.symbolPerformance.averageLoss\": \"Avg Loss\",\n \"portfolio.symbolPerformance.largestWin\": \"Largest Win\",\n \"portfolio.symbolPerformance.profitFactor\": \"Profit Factor\",\n \"portfolio.symbolPerformance.timeframe\": \"Timeframe\",\n \"portfolio.symbolPerformance.dailyPnL\": \"Daily PnL\",\n \"portfolio.symbolPerformance.dailyVolume\": \"Daily Volume\",\n \"portfolio.symbolPerformance.dailyFees\": \"Daily Fees\",\n \"portfolio.symbolPerformance.cumulative\": \"Cumulative\",\n \"portfolio.symbolPerformance.aggregated\": \"Aggregated\",\n \"portfolio.symbolPerformance.cumulativeRealizedPnL\":\n \"Cumulative Realized PnL\",\n \"portfolio.symbolPerformance.cumulativeVolume\": \"Cumulative Volume\",\n \"portfolio.symbolPerformance.cumulativeFees\": \"Cumulative Fees\",\n \"portfolio.symbolPerformance.aggregation\": \"Aggregation\",\n \"portfolio.symbolPerformance.realizedPnL\": \"Realized PnL\",\n \"portfolio.symbolPerformance.volume\": \"Volume\",\n \"portfolio.symbolPerformance.fees\": \"Fees\",\n \"portfolio.symbolPerformance.pnlRanking\": \"P&L Ranking\",\n \"portfolio.symbolPerformance.pnlRanking.symbols\": \"Symbols\",\n \"portfolio.symbolPerformance.pnlRanking.pnl\": \"P&L\",\n \"portfolio.symbolPerformance.pnlRanking.volume\": \"Volume\",\n \"portfolio.symbolPerformance.pnlRanking.fees\": \"Fees\",\n};\n\nexport type Portfolio = typeof portfolio;\n","export const positions = {\n \"positions.closePosition\": \"Close Position\",\n \"positions.fundingFee.title\": \"Funding Fee\",\n \"positions.fundingFee.tooltip\":\n \"Shows funding fees for closed or partially closed positions.\",\n \"positions.fundingRate.tooltip\":\n \"Records include funding from current open positions.\",\n \"positions.liquidation\": \"Liquidation\",\n \"positions.positionHistory\": \"Position history\",\n \"positions.closeAll\": \"Close all\",\n \"positions.closeAll.ofSymbol\": \"Close all of {{symbol}}\",\n \"positions.closeAll.description\":\n \"Are you sure you want to close all of your positions? They will be closed using market orders.\",\n \"positions.closeAll.success\": \"All positions closed successfully\",\n\n \"positions.column.liqPrice\": \"Liq. price\",\n \"positions.column.liqPrice.tooltip\":\n \"Estimated price at which your position will be liquidated. Prices are estimated and depend on multiple factors across all positions.\",\n \"positions.column.unrealPnl.tooltip\":\n \"Current unrealized profit or loss on your open positions across all widgets calculated using Mark Price.\",\n \"positions.column.unrealPnl.priceBasis\": \"Unrealized PnL Price Basis\",\n \"positions.column.margin\": \"Margin\",\n \"positions.column.margin.tooltip\":\n \"The minimum equity to keep your position.\",\n \"positions.column.margin.formula\":\n \"Margin = Position size * Mark price * MMR\",\n \"positions.column.close\": \"Close\",\n\n \"positions.limitClose\": \"Limit close\",\n \"positions.limitClose.description\":\n \"You agree closing {{quantity}} {{base}} position at limit price.\",\n \"positions.marketClose\": \"Market close\",\n \"positions.marketClose.description\":\n \"You agree closing {{quantity}} {{base}} position at market price.\",\n \"positions.limitClose.errors.exceed.title\": \"Close size limit exceeded\",\n \"positions.limitClose.errors.exceed.description\":\n \"Cannot close {{quantity}} {{symbol}} position. Max allowed per close is {{maxQuantity}} {{symbol}}.\",\n\n \"positions.history.status.closed\": \"Closed\",\n \"positions.history.status.partialClosed\": \"Partially closed\",\n \"positions.history.type.adl\": \"Adl\",\n \"positions.history.type.liquidated\": \"Liquidated\",\n \"positions.history.liquidated.liquidationId\": \"Liquidation id\",\n \"positions.history.liquidated.liquidatorFee\": \"Liquidator fee\",\n \"positions.history.liquidated.insFundFee\": \"Ins. Fund fee\",\n\n \"positions.history.column.closed\": \"Closed\",\n \"positions.history.column.maxClosed\": \"Max closed\",\n \"positions.history.column.closed&maxClosed\": \"Closed / Max closed\",\n \"positions.history.column.netPnl\": \"Net PnL\",\n \"positions.history.column.timeOpened\": \"Time opened\",\n \"positions.history.column.timeClosed\": \"Time closed\",\n \"positions.history.column.updatedTime\": \"Updated time\",\n \"positions.history.netPnl.tradingFee\": \"Trading fee\",\n\n \"positions.Liquidation.column.liquidationId\": \"Liquidation id\",\n \"positions.Liquidation.column.insFundTransfer\": \"Ins. fund transfer\",\n \"positions.Liquidation.column.liquidationFee\": \"Liquidation fee\",\n \"positions.Liquidation.column.liquidationFeeRate\": \"Liquidation fee rate\",\n \"positions.Liquidation.column.markPrice\": \"Liq. mark price\",\n\n \"positions.Liquidation.tooltip.liquidation\":\n \"An account is subject to liquidation if its Account Margin Ratio falls below its Maintenance Margin Ratio.\",\n \"positions.Liquidation.tooltip.viewMore\": \"View more\",\n \"positions.Liquidation.col.tooltip.feeRate\":\n \"The percentage charged for this liquidation, covering both the liquidator’s fee and the insurance fund contribution. This rate varies by symbol.\",\n \"positions.Liquidation.col.tooltip.fee\":\n \"The total fee charged for this liquidation, including both the liquidator’s fee and the insurance fund contribution.\",\n\n \"positions.Liquidation.expand.label.mr\": \"Margin ratio\",\n \"positions.Liquidation.expand.label.mmr\": \"Maint. margin ratio\",\n \"positions.Liquidation.expand.label.collateral\": \"Collateral value\",\n \"positions.Liquidation.expand.label.notional\": \"Position notional\",\n \"positions.Liquidation.expand.tooltip.mr\":\n \"The ratio of collateral to position size at the time of liquidation.\",\n \"positions.Liquidation.expand.tooltip.mmr\":\n \"The minimum margin required to keep the position open.\",\n \"positions.Liquidation.expand.tooltip.collateral\":\n \"Total collateral value in the account when liquidation occurred.\",\n \"positions.Liquidation.expand.tooltip.notional\":\n \"The total notional value of positions in the account at liquidation.\",\n\n \"positions.reverse.title\": \"Reverse Position\",\n \"positions.reverse.description\":\n \"The reverse order will fail if your account balance isn't enough to open an opposite position of the same size.\",\n \"positions.reverse.marketCloseLong\": \"Market Close Long\",\n \"positions.reverse.marketCloseShort\": \"Market Close Short\",\n \"positions.reverse.marketOpenLong\": \"Market Open Long\",\n \"positions.reverse.marketOpenShort\": \"Market Open Short\",\n \"positions.reverse.reverseToLong\": \"Reverse to Long\",\n \"positions.reverse.reverseToShort\": \"Reverse to Short\",\n};\n\nexport type Positions = typeof positions;\n","export const scaffold = {\n \"scaffold.announcement.campaign\": \"Latest Campaign is coming\",\n \"scaffold.footer.joinCommunity\": \"Join our community\",\n \"scaffold.footer.operational\": \"Operational\",\n \"scaffold.footer.poweredBy\": \"Powered by\",\n};\n\nexport type Scaffold = typeof scaffold;\n","export const share = {\n \"share.pnl.sharePnl\": \"Share PnL\",\n \"share.pnl.share.long\": \"LONG\",\n \"share.pnl.share.short\": \"SHORT\",\n\n \"share.pnl.displayFormat\": \"PnL display format\",\n \"share.pnl.displayFormat.roi&Pnl\": \"ROI & PnL\",\n \"share.pnl.displayFormat.roi\": \"ROI\",\n \"share.pnl.displayFormat.pnl\": \"PnL\",\n\n \"share.pnl.optionalInfo\": \"Optional information to share\",\n \"share.pnl.optionalInfo.openPrice\": \"Open price\",\n \"share.pnl.optionalInfo.closePrice\": \"Close price\",\n \"share.pnl.optionalInfo.openTime\": \"Opened at\",\n \"share.pnl.optionalInfo.closeTime\": \"Closed at\",\n \"share.pnl.optionalInfo.message\": \"Your message\",\n \"share.pnl.optionalInfo.message.placeholder\": \"Max 25 characters\",\n \"share.pnl.optionalInfo.message.maxLength\":\n \"Maximum support of 25 characters\",\n\n \"share.pnl.image.copied\": \"Image copied\",\n \"share.pnl.copy.failed.description\":\n \"Browser version outdated, please update in order to copy image to clipboard.\",\n};\n\nexport type Share = typeof share;\n","export const tpsl = {\n \"tpsl.tp\": \"TP\",\n \"tpsl.sl\": \"SL\",\n \"tpsl.mode\": \"Mode\",\n \"tpsl.fullPosition\": \"Full position\",\n \"tpsl.partialPosition\": \"Partial position\",\n \"tpsl.tpPrice\": \"TP Price\",\n \"tpsl.slPrice\": \"SL Price\",\n \"tpsl.tpPnl\": \"TP PnL\",\n \"tpsl.slPnl\": \"SL PnL\",\n \"tpsl.tpTrigger\": \"TP trigger\",\n \"tpsl.slTrigger\": \"SL trigger\",\n \"tpsl.pnl\": \"PnL\",\n \"tpsl.offset\": \"Offset\",\n \"tpsl.add\": \"Add\",\n \"tpsl.cancelAll\": \"Cancel all\",\n \"tpsl.dragToSet\": \"Drag to set TP/SL\",\n\n \"tpsl.tpOrderPrice\": \"TP order price\",\n \"tpsl.slOrderPrice\": \"SL order price\",\n \"tpsl.tpTriggerPrice\": \"TP trigger price\",\n \"tpsl.slTriggerPrice\": \"SL trigger price\",\n\n \"tpsl.positionTpsl\": \"Position TP/SL\",\n \"tpsl.entirePosition\": \"Entire position\",\n \"tpsl.estPnl\": \"Est. PNL\",\n \"tpsl.takeProfit\": \"Take profit\",\n \"tpsl.stopLoss\": \"Stop loss\",\n\n \"tpsl.cancelOrder.description\":\n \"Are you sure you want to cancel this TP/SL order?\",\n \"tpsl.confirmOrder\": \"Confirm Order\",\n \"tpsl.advanced\": \"Advanced\",\n \"tpsl.advancedSetting\": \"Advanced setting\",\n \"tpsl.TPOrderConfirm\": \"TP order confirm\",\n \"tpsl.SLOrderConfirm\": \"SL order confirm\",\n \"tpsl.positionType.full\": \"TP/SL: Full position\",\n \"tpsl.positionType.partial\": \"TP/SL: Partial position\",\n \"tpsl.positionType.full.tips\":\n \"TPSL (full) applies to the full position. Newly activated TPSL (full) orders will overwrite previous orders. Full position will be market closed when the price is triggered.\",\n \"tpsl.positionType.partial.tips\":\n \"TP/SL triggers at the specified mark price and executes as a market order. By default, it applies to the entire position. Adjust settings in open positions for partial TP/SL.\",\n \"tpsl.positionType.full.tips.market\":\n \"Full-position TP/SL orders are market only\",\n \"tpsl.advanced.ROI\":\n \"When the mark price reaches <0/>, it will trigger a <1/> order, and estimated PnL will be <2/> and ROI is <3/>.\",\n \"tpsl.advanced.submit\": \"Submit\",\n \"tpsl.totalEstTpPnl\": \"Total est. TP PnL\",\n \"tpsl.totalEstSlPnl\": \"Total est. SL PnL\",\n \"tpsl.riskRewardRatio\": \"Risk reward ratio\",\n\n \"tpsl.validate.tpOrderPrice.error.required\": \"TP order price is required\",\n \"tpsl.validate.tpOrderPrice.error.min\":\n \"TP order price must be greater than {{value}}\",\n \"tpsl.validate.tpOrderPrice.error.max\":\n \"TP order price must be less than {{value}}\",\n \"tpsl.validate.slOrderPrice.error.required\": \"SL order price is required\",\n \"tpsl.validate.slOrderPrice.error.min\":\n \"SL order price must be greater than {{value}}\",\n \"tpsl.validate.slOrderPrice.error.max\":\n \"SL order price must be less than {{value}}\",\n \"tpsl.validate.tpTriggerPrice.error.priceErrorMin\":\n \"Your TP trigger price should be set lower than your order price.\",\n \"tpsl.validate.tpTriggerPrice.error.priceErrorMax\":\n \"Your TP trigger price should be set higher than your order price.\",\n \"tpsl.validate.slTriggerPrice.error.priceErrorMin\":\n \"Your SL trigger price should be set lower than your order price.\",\n \"tpsl.validate.slTriggerPrice.error.priceErrorMax\":\n \"Your SL trigger price should be set higher than your order price.\",\n \"tpsl.validate.tpTriggerPrice.error.required\": \"TP trigger price is required\",\n \"tpsl.validate.slTriggerPrice.error.required\": \"SL trigger price is required\",\n \"tpsl.validate.slTriggerPrice.warning.closeToLiqPrice\":\n \"Stop losses set near the liq. price may not trigger. Note: the liq. price can change with position notional.\",\n \"tpsl.validate.slTriggerPrice.error.crossLiqPrice\":\n \"Stop loss crosses the liq. price. Please adjust your SL.\",\n\n \"tpsl.tpslDetail.qty\": \"Qty.\",\n \"tpsl.tpslDetail.estPnl\": \"Est. PnL\",\n \"tpsl.tpslDetail.estPnl.tooltip\":\n \"The actual value may differ based on the actual trading price. This value is only for reference.\",\n \"tpsl.agreement\": \"You agree to edit your {{symbol}} order.\",\n};\n\nexport type TPSL = typeof tpsl;\n","export const trading = {\n \"trading.layout\": \"Layout\",\n \"trading.layout.advanced\": \"Advanced\",\n \"trading.layout.advanced.right\": \"Right\",\n \"trading.layout.advanced.left\": \"Left\",\n \"trading.layout.markets\": \"Markets\",\n \"trading.layout.markets.left\": \"Left\",\n \"trading.layout.markets.top\": \"Top\",\n \"trading.layout.markets.bottom\": \"Bottom\",\n \"trading.layout.markets.hide\": \"Hide\",\n \"trading.orders.closeAll\": \"Close All\",\n \"trading.hideOtherSymbols\": \"Hide other symbols\",\n \"trading.history\": \"History\",\n\n \"trading.portfolioSettings\": \"Preference\",\n \"trading.portfolioSettings.decimalPrecision\":\n \"Decimal Precision for PnL & Notional\",\n \"trading.portfolioSettings.unrealPnlPriceBasis\": \"Unrealized PnL Price Basis\",\n \"trading.portfolioSettings.reversePosition\": \"Reverse button\",\n \"trading.portfolioSettings.reversePosition.tooltip\":\n \"Close your current position and open the opposite at market price. The reverse order will fail if your account balance isn't enough to open an opposite position of the same size.\",\n\n \"trading.orderBook\": \"Order book\",\n \"trading.lastTrades\": \"Last trades\",\n \"trading.orderBook.column.value\": \"Value\",\n\n \"trading.tabs.chart\": \"Chart\",\n \"trading.tabs.trades\": \"Trades\",\n \"trading.tabs.data\": \"Data\",\n\n \"trading.column.24High\": \"24h high\",\n \"trading.column.24Low\": \"24h low\",\n\n \"trading.orderBook.sum\": \"Sum\",\n \"trading.orderBook.markPrice.tooltip\":\n \"Obtained from a third-party oracle, the mark price is calculated as the median of three prices: the last price, the fair price based on the funding rate basis, and the fair price based on the order books.\",\n \"trading.orderBook.spreadRatio.tooltip\": \"Spread Ratio of the ask1 and bid1.\",\n\n \"trading.faucet.getTestUSDC\": \"Get test USDC\",\n \"trading.faucet.getTestUSDC.success\":\n \"{{quantity}} USDC will be added to your balance. Please note this may take up to 3 minutes. Please check back later.\",\n\n \"trading.asset.startTrading\": \"Start trading\",\n \"trading.asset.startTrading.description\":\n \"You can deposit assets from various networks\",\n\n \"trading.asset.myAssets\": \"My Assets\",\n\n \"trading.asset.freeCollateral\": \"Free collateral\",\n \"trading.asset.freeCollateral.tooltip\":\n \"Free collateral for placing new orders.\",\n \"trading.asset.freeCollateral.formula\":\n \"Free collateral = Total balance + Total unsettlement PnL - Total position initial margin\",\n\n \"trading.asset.marginRatio\": \"Margin ratio\",\n \"trading.asset.marginRatio.tooltip\":\n \"The margin ratio represents the proportion of collateral relative to the total position value.\",\n \"trading.asset.marginRatio.formula\":\n \"Account margin ratio = (Total collateral value / Total position notional) * 100%\",\n\n \"trading.asset.unsettledPnl\": \"Unsettled PnL\",\n \"trading.asset.free&TotalCollateral\": \"Free / Total Collateral\",\n \"trading.asset.availableBalance\": \"Available Balance\",\n\n \"trading.asset.maintenanceMarginRatio\": \"Maintenance margin ratio\",\n \"trading.asset.maintenanceMarginRatio.tooltip\":\n \"The minimum margin ratio required to protect your positions from being liquidated. If the Margin ratio falls below the Maintenance margin ratio, the account will be liquidated.\",\n \"trading.asset.maintenanceMarginRatio.formula\":\n \"Account maintenance margin ratio = Sum(Position notional * Symbol maintenance Margin Ratio) / Total position notional * 100%\",\n\n \"trading.riskRate\": \"Risk rate\",\n \"trading.riskRate.tooltip\":\n \"The Risk rate is used to assess the risk level of an account. When the Risk rate reaches 100%, the account will be liquidated\",\n \"trading.riskRate.formula\":\n \"Risk rate = Maintenance margin ratio / Margin ratio * 100%\",\n\n \"trading.asset&Margin\": \"Asset & Margin\",\n\n \"trading.fundingRate.predFundingRate\": \"Pred. funding rate\",\n \"trading.fundingRate.predFundingRate.interval\": \"Interval\",\n \"trading.fundingRate.predFundingRate.cap\": \"Funding cap\",\n \"trading.fundingRate.predFundingRate.floor\": \"floor\",\n \"trading.fundingRate.lastFundingRate\": \"Last funding rate\",\n \"trading.fundingRate.estimatedFundingRate\": \"Estimated funding rate\",\n \"trading.fundingRate.estimatedFundingFee\": \"Estimated funding fee\",\n \"trading.fundingRate.annualized\": \"Annualized\",\n\n \"trading.rwa.marketHours\": \"Market hours\",\n \"trading.rwa.outsideMarketHours\": \"Outside market hours\",\n \"trading.rwa.tooltip.description.open\":\n \"Trading aligns with the underlying market - higher liquidity, normal price movements.\",\n \"trading.rwa.tooltip.description.close\":\n \"Trading is available, but liquidity may be lower and price movement slower.\",\n \"trading.rwa.tooltip.closeIn\":\n \"Regular trading hours will close in <0>{{timeFormat}}</0>\",\n \"trading.rwa.tooltip.openIn\":\n \"Regular trading hours will open in <0>{{timeFormat}}</0>\",\n \"trading.rwa.tooltip.checkDetailRules\": \"Check detail rules\",\n \"trading.rwa.countdown.title\":\n \"US markets are closing soon, volatility may be lower.\",\n \"trading.rwa.outsideMarketHours.notify\":\n \"This market is currently outside regular trading hours. You can still place a trade, but please be aware of reduced liquidity and potential risks.\",\n \"trading.rwa.mWeb.outsideMarketHours.desc\":\n \"Regular trading hours are about to close - 24/7 trading continues; price may slow and liquidity may be lower.\",\n \"trading.rwa.mWeb.insideMarketHours.desc\":\n \"Regular trading hours are about to open - get ready.\",\n};\n\nexport type Trading = typeof trading;\n","export const tradingLeaderboard = {\n // TODO: remove this key\n \"tradingLeaderboard.leaderboard\": \"Leaderboard\",\n \"tradingLeaderboard.campaigns\": \"Campaigns\",\n \"tradingLeaderboard.ongoing\": \"Ongoing\",\n \"tradingLeaderboard.past\": \"Past\",\n \"tradingLeaderboard.future\": \"Future\",\n \"tradingLeaderboard.learnMore\": \"Learn more\",\n \"tradingLeaderboard.tradeNow\": \"Trade now\",\n \"tradingLeaderboard.joinNow\": \"Join now\",\n \"tradingLeaderboard.tradingVolume\": \"Trading volume\",\n \"tradingLeaderboard.rank\": \"Rank\",\n \"tradingLeaderboard.estimatedRewards\": \"Estimated rewards\",\n \"tradingLeaderboard.points\": \"S2 Points\",\n \"tradingLeaderboard.lastUpdate\": \"Last update\",\n \"tradingLeaderboard.estimatedTicketsEarned\": \"Estimated tickets earned\",\n \"tradingLeaderboard.ticketPrizePool\": \"Ticket prize pool\",\n \"tradingLeaderboard.viewRules\": \"View rules\",\n \"tradingLeaderboard.prizePool\": \"Prize pool\",\n \"tradingLeaderboard.participants\": \"Participants\",\n \"tradingLeaderboard.battleStartsIn\": \"Battle starts in\",\n \"tradingLeaderboard.battleEndsIn\": \"Battle ends in\",\n \"tradingLeaderboard.battleStarts\": \"Battle starts\",\n \"tradingLeaderboard.battleEnds\": \"Battle ends\",\n \"tradingLeaderboard.rewardDistribution\": \"Reward distribution\",\n \"tradingLeaderboard.batteleHasEnded\": \"Battle has ended\",\n \"tradingLeaderboard.tradeForMoreTickets\":\n \"Trade <0/> more to get next tickets\",\n \"tradingLeaderboard.earnTickets\":\n \"Earn {{ticket}} ticket every {{amount}} trading volume.\",\n \"tradingLeaderboard.arena\": \"Arena\",\n \"tradingLeaderboard.generalLeaderboard\": \"General leaderboard\",\n \"tradingLeaderboard.maxTicketsAchieved\": \"Max tickets achieved\",\n \"tradingLeaderboard.termsAndConditions\": \"Terms and Conditions\",\n \"tradingLeaderboard.rules\": \"Rules\",\n \"tradingLeaderboard.pnl.tooltip\":\n \"Real-time PnL including both realized and unrealized gains. Existing positions and collateral price changes may affect PnL even with zero volume. Updated every 60 mins.\",\n \"tradingLeaderboard.realizedPnl.tooltip\":\n \"Displays realized PnL from closed positions in the selected period.\",\n \"tradingLeaderboard.tradingVolume.tooltip\":\n \"Total trading volume generated during the campaign period. Updated every 30 seconds.\",\n \"tradingLeaderboard.foxifyOnly\": \"FUNDED Only\",\n \"tradingLeaderboard.foxifyOnly.tooltip\": \"Show only FUNDED traders\",\n};\n\nexport type TradingLeaderboard = typeof tradingLeaderboard;\n","export const tradingRewards = {\n \"tradingRewards.rewards\": \"Rewards\",\n\n \"tradingRewards.subtitle\": \"Trade with {{brokerName}} to earn esORDER.\",\n \"tradingRewards.subtitle.mm\": \"Trade to earn $ORDER\",\n \"tradingRewards.learnMore\": \"Learn more here\",\n\n \"tradingRewards.myEstRewards\": \"My est. rewards\",\n \"tradingRewards.epoch\": \"Epoch\",\n \"tradingRewards.epochRewards\": \"Epoch rewards\",\n\n \"tradingRewards.otherOrderlyDex\": \"Other Orderly DEX\",\n \"tradingRewards.claim\": \"Claim\",\n \"tradingRewards.availableClaim\": \"Available to claim\",\n\n \"tradingRewards.stake\": \"Stake\",\n \"tradingRewards.booster\": \"Booster\",\n \"tradingRewards.stakeBooster\": \"Stake booster\",\n \"tradingRewards.avgStakedAmount\": \"Avg. staked amount\",\n\n \"tradingRewards.rewardHistory\": \"Reward history\",\n \"tradingRewards.rewardsEarned\": \"Rewards earned\",\n\n \"tradingRewards.rewardHistory.column.start&EndDate\": \"Start / End date\",\n \"tradingRewards.rewardHistory.column.startDate\": \"Start\",\n \"tradingRewards.rewardHistory.column.endDate\": \"End date\",\n\n \"tradingRewards.epochPauseCountdown.title\": \"Trading rewards will resume in\",\n \"tradingRewards.eopchStatus.pause\":\n \"Trading rewards are on pause as we build a better program. Past rewards remain claimable.\",\n \"tradingRewards.eopchStatus.ended\":\n \"Trading rewards has ended. You may continue to claim your past rewards.\",\n \"tradingRewards.eopchStatus.linkDescription\": \"Stay tuned for more updates.\",\n};\n\nexport type TradingRewards = typeof tradingRewards;\n","export const tradingView = {\n \"tradingView.timeInterval.1m\": \"1m\",\n \"tradingView.timeInterval.3m\": \"3m\",\n \"tradingView.timeInterval.5m\": \"5m\",\n \"tradingView.timeInterval.15m\": \"15m\",\n \"tradingView.timeInterval.30m\": \"30m\",\n\n \"tradingView.timeInterval.1h\": \"1h\",\n \"tradingView.timeInterval.2h\": \"2h\",\n \"tradingView.timeInterval.4h\": \"4h\",\n \"tradingView.timeInterval.6h\": \"6h\",\n \"tradingView.timeInterval.12h\": \"12h\",\n\n \"tradingView.timeInterval.1d\": \"1D\",\n \"tradingView.timeInterval.3d\": \"3D\",\n \"tradingView.timeInterval.1w\": \"1W\",\n \"tradingView.timeInterval.1M\": \"1M\",\n\n \"tradingView.timeInterval.more\": \"More\",\n\n \"tradingView.lineType.bars\": \"Bars\",\n \"tradingView.lineType.candles\": \"Candles\",\n \"tradingView.lineType.hollowCandles\": \"Hollow candles\",\n \"tradingView.lineType.line\": \"Line\",\n \"tradingView.lineType.area\": \"Area\",\n \"tradingView.lineType.baseline\": \"Baseline\",\n\n \"tradingView.displayControl.buySell\": \"Buy/Sell\",\n \"tradingView.displayControl.limitOrders\": \"Limit orders\",\n \"tradingView.displayControl.stopOrders\": \"Stop orders\",\n\n \"tradingView.noScriptSrc\":\n \"Due to TradingView's policy, you will need to apply for your own license.\",\n \"tradingView.noScriptSrc.1\":\n \"1. Please apply for your TradingView Advanced Chart license <0>here</0>\",\n \"tradingView.noScriptSrc.2\":\n \"2. Follow the instructions on <0>orderly.network</0> to set up.\",\n};\n\nexport type TradingView = typeof tradingView;\n","export const transfer = {\n \"transfer.network\": \"Network\",\n \"transfer.lowestFee\": \"lowest fee\",\n \"transfer.web3Wallet.your\": \"Your Web3 Wallet\",\n \"transfer.web3Wallet.my\": \"My Web3 wallet\",\n\n \"transfer.brokerAccount\": \"Your {{brokerName}} account\",\n \"transfer.quantity.invalid\": \"Please input a valid number\",\n\n \"transfer.insufficientBalance\": \"Insufficient balance\",\n \"transfer.insufficientAllowance\": \"Insufficient allowance\",\n \"transfer.rejectTransaction\": \"Rejected transaction\",\n\n \"transfer.deposit.approve\": \"Approve\",\n \"transfer.deposit.approve.success\": \"Approve success\",\n \"transfer.deposit.approve.failed\": \"Approve failed\",\n \"transfer.deposit.requested\": \"Deposit requested\",\n \"transfer.deposit.completed\": \"Deposit completed\",\n \"transfer.deposit.failed\": \"Deposit failed\",\n \"transfer.deposit.feeUnavailable\":\n \"Fee data is currently unavailable. Please try again later.\",\n \"transfer.deposit.notEnoughGas\":\n \"Not enough gas. Add some {{token}} to your wallet to continue.\",\n \"transfer.deposit.exceedCap\": \"Amount exceeds user deposit cap\",\n\n \"transfer.deposit.estGasFee\": \"Est. gas fee\",\n \"transfer.deposit.destinationGasFee\": \"Destination gas fee\",\n \"transfer.deposit.destinationGasFee.description\":\n \"Additional gas tokens are required to cover operations on the destination chain. The amount shown is an estimate - please prepare extra to ensure sufficient coverage.\",\n\n \"transfer.withdraw.unsupported.chain\":\n \"Withdrawals are not supported on this chain. Please switch to any of the bridgeless networks.\",\n \"transfer.withdraw.unsupported.networkName\":\n \"Withdrawals are not supported on {{networkName}}. Please switch to any of the bridgeless networks.\",\n \"transfer.withdraw.unsupported.token\":\n \"{{token}} withdrawals are unavailable on this network\",\n\n \"transfer.withdraw.crossChain.confirmWithdraw\": \"Confirm to withdraw\",\n \"transfer.withdraw.crossChain.recipientAddress\": \"Recipient address\",\n \"transfer.withdraw.crossChain.recipientNetwork\": \"Recipient network\",\n \"transfer.withdraw.crossChain.withdrawAmount\": \"Withdraw amount\",\n\n \"transfer.withdraw.crossChain.process\":\n \"Your cross-chain withdrawal is being processed...\",\n \"transfer.withdraw.crossChain.warning\":\n \"Withdrawals that require cross-chain rebalancing can't be cancelled or followed up with more withdrawals until they've been processed.\",\n \"transfer.withdraw.crossChain.vaultWarning\":\n \"Withdrawal exceeds the balance of the {{networkName}} vault ( {{chainVaultBalance}} USDC ). Cross-chain rebalancing fee will be charged for withdrawal to {{networkName}}.\",\n\n \"transfer.withdraw.vaultWarning\":\n \"The balance of {{tokenName}} on the {{chainName}} is {{balance}}, which is insufficient to meet your withdrawal request. Please try again later or switch to another chain for withdrawal.\",\n\n \"transfer.withdraw.minAmount.error\":\n \"You can't withdraw less than {{minAmount}} {{currency}}. Please adjust your amount.\",\n \"transfer.withdraw.LTV.error\":\n \"This withdrawal may push your LTV over {{threshold}}%, immediately triggering an auto-convert.\",\n\n \"transfer.withdraw.requested\": \"Withdraw requested\",\n \"transfer.withdraw.completed\": \"Withdraw completed\",\n \"transfer.withdraw.failed\": \"Withdraw failed\",\n\n // \"transfer.withdraw.unsettled.tooltip\":\n // \"Unsettled balance can not be withdrawn. In order to withdraw, please settle your balance first.\",\n // \"transfer.withdraw.settlePnl.description\":\n // \"Are you sure you want to settle your PnL? Settlement will take up to 1 minute before you can withdraw your available balance.\",\n \"transfer.withdraw.otherAccount\": \"Other {{brokerName}} account\",\n \"transfer.withdraw.accountId.tips\":\n \"Please enter an Account ID instead of a wallet address.\",\n \"transfer.withdraw.accountId.invalid\":\n \"Invalid Account ID. Please try again.\",\n \"transfer.withdraw.available.tooltip\":\n \"Current maximum withdrawal per request is {{amount}}. To withdraw more, please submit multiple requests.\",\n\n \"transfer.internalTransfer.from\": \"From\",\n \"transfer.internalTransfer.to\": \"To\",\n \"transfer.internalTransfer.currentAssetValue\": \"Current asset value\",\n \"transfer.internalTransfer.success\":\n \"Success! Funds will be available in 15 seconds.\",\n\n \"transfer.internalTransfer.unsettled.tooltip\":\n \"Unsettled balance can not be transferred. In order to transfer, please settle your balance first.\",\n \"transfer.internalTransfer.settlePnl.description\":\n \"Are you sure you want to settle your PnL? <br/> Settlement will take up to 1 minute before you can transfer your available balance.\",\n\n \"transfer.internalTransfer.error.default\":\n \"Unable to complete transfer. Please try again later.\",\n \"transfer.internalTransfer.error.transferInProgress\":\n \"An internal transfer is currently in progress.\",\n \"transfer.internalTransfer.error.withdrawalInProgress\":\n \"There is a withdrawal in progress.\",\n \"transfer.internalTransfer.error.transferToSelf\":\n \"Transfers to your own account are not allowed\",\n \"transfer.internalTransfer.error.accountIdNotExist\":\n \"Receiver account ID does not exist.\",\n \"transfer.internalTransfer.error.transferToSubAccount\":\n \"Transfers to sub-accounts under different main accounts are not permitted.\",\n // \"transfer.internalTransfer.error.scopeInsufficient\":\n // \"The scope is insufficient\",\n\n // swap deposit\n \"transfer.swapDeposit.crossSwap.notice\":\n \"Cross-chain transaction fees will be charged. To avoid these, use our supported <0>Bridgeless networks</0>\",\n \"transfer.swapDeposit.swap.notice\":\n \"Please note that swap fees will be charged.\",\n\n \"transfer.swapDeposit.bridging\": \"Bridging\",\n \"transfer.swapDeposit.bridge\": \"Bridge\",\n \"transfer.swapDeposit.bridge.description\": \"Bridge to Arbirtum via Stargate\",\n \"transfer.swapDeposit.depositing\": \"Depositing\",\n \"transfer.swapDeposit.deposit\": \"Deposit\",\n \"transfer.swapDeposit.deposit.description\": \"Deposit to {{brokerName}}\",\n\n \"transfer.swapDeposit.viewStatus\": \"View status\",\n \"transfer.swapDeposit.depositFailed\":\n \"Deposit failed, please try again later.\",\n\n \"transfer.slippage\": \"Slippage\",\n \"transfer.slippage.slippageTolerance\": \"Slippage tolerance\",\n \"transfer.slippage.slippageTolerance.description\":\n \"Your transaction will revert if the price changes unfavorably by more than this percentage.\",\n\n \"transfer.swapDeposit.swapFee\": \"Swap fee\",\n \"transfer.swapDeposit.swapFee.description\":\n \"WOOFi charges a 0.025% on each swap.\",\n \"transfer.swapDeposit.bridgeFee\": \"Bridge fee\",\n \"transfer.swapDeposit.bridgeFee.description\":\n \"Stargate charges a fee to bridge your assets.\",\n\n \"transfer.swapDeposit.minimumReceived\": \"Minimum received\",\n \"transfer.swapDeposit.confirmSwap\": \"Confirm to swap\",\n \"transfer.swapDeposit.averageSwapTime\":\n \"Average swap time <0>~ {{time}} mins</0>\",\n\n \"transfer.swapDeposit.swapDialog.title\": \"Review swap details\",\n \"transfer.swapDeposit.viewFAQs\": \"Need help? <0>View FAQs</0>\",\n \"transfer.swapDeposit.notEnoughLiquidity\":\n \"Not enough liquidity. Please try again later or use another chain to deposit.\",\n\n \"transfer.convert.completed\": \"Convert completed\",\n \"transfer.convert.failed\": \"Convert failed\",\n \"transfer.depositCap\": \"Deposit cap\",\n \"transfer.depositCap.tooltip\": \"Max deposit amount for \",\n \"transfer.deposit.convertRate\": \"Convert rate\",\n \"transfer.convert.convertAssets\": \"Convert assets to USDC\",\n \"transfer.deposit.collateralContribution\": \"Collateral contribution\",\n \"transfer.withdraw.InsufficientVaultBalance\": \"Insufficient vault balance\",\n\n \"transfer.LTV\": \"LTV\",\n \"transfer.LTV.description\": `LTV (Loan-to-Value) is the ratio between your negative USDC and the current value of your collateral. If your LTV exceeds {{threshold}}, your collateral will be automatically converted to USDC.`,\n \"transfer.LTV.tooltip\": `If your LTV exceeds {{threshold}}% or your USDC balance plus Unsettled PnL falls below {{usdcThreshold}}, your collateral will be automatically converted with a haircut. To avoid this, you can manually convert assets to USDC.`,\n \"transfer.LTV.currentLTV\": \"Current LTV\",\n \"transfer.convert\": \"Convert\",\n // \"transfer.convert.note\": \"Please note that convert fees will be charged.\",\n \"transfer.deposit.userMaxQty.error\":\n \"Your deposit couldn't be processed because the global deposit cap for {{token}} on {{chain}} has been reached. This is typically resolved after rebalancing, which takes around 1 hour. Please try again later, or use a smaller amount or a different chain. <0>Learn more</0>\",\n \"transfer.deposit.gasFee.error\":\n \"Please ensure you have enough {{token}} for gas fees.\",\n\n \"transfer.deposit.status.pending.one\": \"You have a pending transaction\",\n \"transfer.deposit.status.pending.multiple\": \"You have pending transactions\",\n \"transfer.deposit.status.completed.one\": \"You have a successful transaction\",\n \"transfer.deposit.status.completed.multiple\":\n \"You have successful transactions\",\n\n // Yield-bearing collateral reminder\n \"transfer.deposit.yieldReminder.earnAPY\":\n \"<0>Earn {{apy}}% APY</0> while you trade.\",\n \"transfer.deposit.yieldReminder.earnRewards\": \"Earn rewards while you trade.\",\n \"transfer.deposit.yieldReminder.distribution\":\n \"The yield will be distributed to your account weekly.\",\n \"transfer.deposit.yieldReminder.disclaimer\":\n \"APY is estimated; actual returns may vary.\",\n};\n\nexport type Transfer = typeof transfer;\n","export const ui = {\n \"ui.empty.description\": \"No results found.\",\n \"ui.messageCenter.tooltip\": \"Check recent announcements\",\n \"ui.pagination.morePages\": \"More pages\",\n \"ui.pagination.rowsPerPage\": \"Rows per page\",\n \"ui.picker.selectDate\": \"Select Date\",\n};\n\nexport type UI = typeof ui;\n","export const vaults = {\n \"vaults.availableOn\": \"Available on\",\n \"vaults.header.title\": \"Earn passive yield with vault strategies\",\n \"vaults.header.description\":\n \"Put your idle or extra assets to work effortlessly. Deposit into curated vault strategies directly from {{brokerName}} - using USDC from any supported blockchain or your {{brokerName}} account, with no gas fees.\",\n \"vaults.introduction.tvl\": \"Vault TVL\",\n \"vaults.introduction.depositors\": \"Depositors\",\n \"vaults.allVaults\": \"All vaults\",\n \"vaults.list.poolName\": \"Pool Name\",\n \"vaults.list.myDeposits\": \"My deposits\",\n \"vaults.list.allTimePnl\": \"All-time pnl\",\n \"vaults.list.operate\": \"Operate\",\n \"vaults.card.orderly.title\": \"Orderly OmniVault\",\n \"vaults.card.orderly.description\":\n \"Earn passive yields effortlessly, no trading expertise required. OmniVault deploys market-making strategies, taking on liquidations, and accrue platform fees.\",\n \"vaults.card.tvl\": \"TVL\",\n \"vaults.card.apy\": \"30D APY\",\n \"vaults.card.allTimeReturn\": \"All-time return\",\n \"vaults.card.allTimeReturnTooltip\":\n \"Annualized returns using all historical data since vault inception. Available after the vault is 7 days old.\",\n \"vaults.card.myDeposits\": \"My deposits\",\n \"vaults.card.myEarnings\": \"My earnings\",\n \"vaults.card.accountBalance\": \"Account balance\",\n \"vaults.card.more\": \"More\",\n \"vaults.card.less\": \"Less\",\n \"vaults.card.launchingSoon\": \"launching Soon\",\n \"vaults.card.viewMore\": \"View more\",\n \"vaults.card.status.active\": \"Active\",\n \"vaults.card.status.closing\": \"Closing\",\n \"vaults.card.status.closed\": \"Closed\",\n \"vaults.deposit.estShares\": \"Est. shares\",\n \"vaults.deposit.shares\": \"Shares\",\n \"vaults.deposit.lockupDuration\": \"Lock up duration\",\n \"vaults.deposit.latestDeposit\": \"Latest deposit\",\n \"vaults.withdraw.estPricePerShare\": \"Est. price per share\",\n \"vaults.withdraw.estReceivingAmount\": \"Est. receiving amount\",\n \"vaults.withdraw.latestWithdraw\": \"Latest withdrawal request\",\n \"vaults.withdraw.dialog.title\": \"Confirm withdrawal details\",\n \"vaults.withdraw.dialog.withdrawalAmount\": \"Withdrawal amount\",\n \"vaults.withdraw.dialog.estimatedReceiving\": \"Estimated receiving\",\n \"vaults.withdraw.dialog.note\":\n \"Please note that the estimated USDC is based on the current price per share, and the final amount you receive will be determined at the end of the vault period.\",\n \"vaults.withdraw.dialog.initiateWithdrawal\": \"Initiate withdrawal\",\n \"vaults.withdraw.process.withdrawProcess\": \"Withdraw process\",\n \"vaults.withdraw.process.vaultProcess\": \"Vault process\",\n \"vaults.withdraw.process.transferred\": \"Transferred\",\n \"vaults.withdraw.process.initiate\": \"Initiate\",\n \"vaults.withdraw.process.upTo\": \"Up to 6 hours\",\n \"vaults.operation.error.switchAccount\":\n \"Please switch to your main account to continue.\",\n \"vaults.operation.error.minDeposit\":\n \"Deposit amount is less than the minimum {{amount}} USDC.\",\n \"vaults.operation.error.minWithdrawal\":\n \"Withdraw amount is less than the minimum {{amount}} USDC.\",\n};\n\nexport type Vaults = typeof vaults;\n","export const widget = {\n \"assetHistory.status.pending\": \"Pending\",\n \"assetHistory.status.confirm\": \"Confirm\",\n \"assetHistory.status.processing\": \"Processing\",\n \"assetHistory.status.completed\": \"Completed\",\n \"assetHistory.status.failed\": \"Failed\",\n \"assetHistory.status.pendingRebalance\": \"Pending rebalance\",\n\n /** linkDevice */\n \"linkDevice.createQRCode.loading.description\":\n \"Approve QR code with wallet...\",\n \"linkDevice.createQRCode.linkMobileDevice\": \"Link Mobile Device\",\n \"linkDevice.createQRCode.linkMobileDevice.description\":\n \"Open {{hostname}} on your mobile device and scan the QR code to link this wallet. For security, the QR code will expire in 60 seconds. <br/> The QR code allows mobile trading but does not enable withdrawals. Ensure you are not sharing your screen or any screenshots of the QR code.\",\n\n \"linkDevice.createQRCode.success.description\":\n \"Scan the QR code or paste the URL into another browser/<br/>device to continue.\",\n \"linkDevice.createQRCode.success.copyUrl\": \"Copy URL\",\n\n \"linkDevice.scanQRCode\": \"Scan QR Code\",\n \"linkDevice.scanQRCode.description\":\n \"Click the <0/> icon in the top right corner on desktop to generate a QR code to scan.\",\n \"linkDevice.scanQRCode.tooltip\": \"Link to Desktop via QR Code\",\n \"linkDevice.scanQRCode.connected.description\":\n \"You are connected via another device. This mode is for trading only. To switch networks, deposit or withdraw assets, please disconnect and reconnect your wallet on this device.\",\n \"linkDevice.tooltip\": \"Link mobile device\",\n\n /** settle */\n \"settle.settlePnl\": \"Settle PnL\",\n \"settle.settlePnl.warning\": \"Please settle your balance\",\n \"settle.settlePnl.description\":\n \"Are you sure you want to settle your PnL? <br/> Settlement will take up to 1 minute before you can withdraw your available balance.\",\n\n \"settle.unsettled\": \"Unsettled\",\n \"settle.unsettled.tooltip\":\n \"Unsettled balance can not be withdrawn. In order to withdraw, please settle your balance first.\",\n\n \"settle.settlement.requested\": \"Settlement requested\",\n \"settle.settlement.completed\": \"Settlement completed\",\n \"settle.settlement.failed\": \"Settlement failed\",\n \"settle.settlement.error\":\n \"Settlement is only allowed once every 10 minutes. Please try again later.\",\n\n \"languageSwitcher.language\": \"Language\",\n \"languageSwitcher.tooltip\": \"Switch language\",\n \"languageSwitcher.tips\":\n \"AI-generated translations may not be fully accurate.\",\n\n \"announcement.type.listing\": \"Listing\",\n \"announcement.type.maintenance\": \"Maintenance\",\n \"announcement.type.delisting\": \"Delisting\",\n \"announcement.type.campaign\": \"Campaign\",\n \"announcement.type.update\": \"NOTICE\",\n\n \"maintenance.dialog.title\": \"System upgrade in progress\",\n \"maintenance.dialog.description\":\n \"Sorry, {{brokerName}} is temporarily unavailable due to a scheduled upgrade. The service is expected to be back by {{endDate}}.\",\n \"maintenance.tips.description\":\n \"{{brokerName}} will be temporarily unavailable for a scheduled upgrade from {{startDate}} to {{endDate}}.\",\n\n \"restrictedInfo.description.default\":\n \" You are accessing {{brokerName}} from an IP address ({{ip}}) associated with a restricted country.\",\n \"restrictedInfo.accessRestricted\": \"Access Restricted\",\n \"restrictedInfo.accessRestricted.description\":\n \"Due to laws and regulations, we currently do not operate in the United States. By continuing to use our platform, you represent and warrant at all times that you are not a resident of the United States throughout the period of such use.\",\n \"restrictedInfo.accessRestricted.agree\": \"I understand and agree\",\n\n \"subAccount.modal.title\": \"Switch account\",\n \"subAccount.modal.switch.success.description\": \"Account switched\",\n \"subAccount.modal.mainAccount.title\": \"Main account\",\n \"subAccount.modal.subAccounts.title\": \"Sub-accounts\",\n \"subAccount.modal.current\": \"Current\",\n \"subAccount.modal.noAccount.description\":\n \"Create a sub-account now to explore different trading strategies.\",\n \"subAccount.modal.create.max.description\":\n \"You have reached the maximum limit of 10 sub-accounts.\",\n \"subAccount.modal.create.title\": \"Create sub-account\",\n \"subAccount.modal.create.description\":\n \"You have {{subAccountCount}} sub-accounts. {{remainingCount}} more can be created.\",\n \"subAccount.modal.create.nickname.role\":\n \"1-20 characters. Only letters, numbers, and @ , _ - (space) allowed.\",\n \"subAccount.modal.create.success.description\":\n \"Sub-account created successfully.\",\n \"subAccount.modal.create.failed.description\": \"Failed to create sub-account.\",\n \"subAccount.modal.edit.title\": \"Edit nickname\",\n \"subAccount.modal.nickName.label\": \"Sub-account nickname\",\n \"subAccount.modal.edit.success.description\": \"Nickname updated successfully.\",\n \"subAccount.modal.edit.failed.description\": \"Failed to update nickname.\",\n\n \"funding.fundingFee\": \"Funding fee\",\n \"funding.fundingRate\": \"Funding rate\",\n \"funding.annualRate\": \"Annual rate\",\n \"funding.paymentType\": \"Payment type\",\n \"funding.paymentType.paid\": \"Paid\",\n \"funding.paymentType.received\": \"Received\",\n\n \"leftNav.feedback\": \"Share your feedback\",\n\n \"errorBoundary.title\": \"Page Crashed\",\n \"errorBoundary.description\":\n \"The page is currently unavailable. Please refresh and try again.\",\n \"errorBoundary.refresh\": \"Refresh\",\n \"dmm.maker\": \"Maker\",\n \"dmm.taker\": \"Taker\",\n};\n","import { affiliate } from \"./module/affiliate\";\nimport { chart } from \"./module/chart\";\nimport { common } from \"./module/common\";\nimport { connector } from \"./module/connector\";\nimport { leverage } from \"./module/leverage\";\nimport { markets } from \"./module/markets\";\nimport { notification } from \"./module/notification\";\nimport { orderEntry } from \"./module/orderEntry\";\nimport { orders } from \"./module/orders\";\nimport { portfolio } from \"./module/portfolio\";\nimport { positions } from \"./module/positions\";\nimport { scaffold } from \"./module/scaffold\";\nimport { share } from \"./module/share\";\nimport { tpsl } from \"./module/tpsl\";\nimport { trading } from \"./module/trading\";\nimport { tradingLeaderboard } from \"./module/tradingLeaderboard\";\nimport { tradingRewards } from \"./module/tradingRewards\";\nimport { tradingView } from \"./module/tradingView\";\nimport { transfer } from \"./module/transfer\";\nimport { ui } from \"./module/ui\";\nimport { vaults } from \"./module/vaults\";\nimport { widget } from \"./module/widget\";\n\nexport const en = {\n ...common,\n ...markets,\n ...portfolio,\n ...trading,\n ...chart,\n ...positions,\n ...orders,\n ...tpsl,\n ...share,\n ...orderEntry,\n ...leverage,\n ...scaffold,\n ...tradingRewards,\n ...tradingView,\n ...connector,\n ...transfer,\n ...affiliate,\n ...ui,\n ...tradingLeaderboard,\n ...widget,\n ...vaults,\n ...notification,\n};\n","import { LocaleEnum } from \"./constant\";\nimport i18n from \"./i18n\";\nimport type { LocaleCode } from \"./types\";\n\n/**\n * transform browser language to you given i18n locale codes\n * @param lang - browser language\n * @param localeCodes - locale codes to check\n * @param defaultLang - default locale code\n * @example\n * parseI18nLang('en-US') => 'en'\n * parseI18nLang('zh-CN') => 'zh'\n * parseI18nLang('zh-TW') => 'zh'\n * parseI18nLang('ja') => 'ja'\n * */\nexport function parseI18nLang(\n lang: string,\n localeCodes?: LocaleCode[],\n defaultLang?: LocaleCode,\n) {\n localeCodes = localeCodes || Object.values(LocaleEnum);\n defaultLang = defaultLang || LocaleEnum.en;\n\n const regex = /^([a-z]{2})/i;\n const match = lang?.match(regex);\n\n if (!match) {\n return defaultLang;\n }\n\n const matchLang = match[1];\n\n if (localeCodes.includes(lang)) {\n return lang;\n }\n\n if (localeCodes.includes(matchLang)) {\n return matchLang;\n }\n\n return defaultLang;\n}\n\n/**\n * remove lang prefix from pathname\n * @param pathname - pathname to remove lang prefix\n * @param localeCodes - locale codes to check\n * @example\n * removeLangPrefix('/en/perp/PERP_ETH_USDC') => '/perp/PERP_ETH_USDC'\n * removeLangPrefix('/en/markets') => '/markets'\n * removeLangPrefix('/perp/PERP_ETH_USDC') => '/perp/PERP_ETH_USDC'\n * removeLangPrefix('/markets') => '/markets'\n */\nexport function removeLangPrefix(pathname: string, localeCodes?: string[]) {\n const localePath = getLocalePathFromPathname(pathname, localeCodes);\n\n return localePath\n ? pathname.replace(new RegExp(`^/${localePath}(?=/)`), \"\")\n : pathname;\n}\n\n/**\n * get locale path from pathname\n * @param pathname - pathname to get locale path\n * @param localeCodes - locale codes to check\n * @example\n * getLocalePathFromPathname('/en/perp/PERP_ETH_USDC') => 'en'\n * getLocalePathFromPathname('/perp/PERP_ETH_USDC') => null\n * getLocalePathFromPathname('/en/markets') => 'en'\n * getLocalePathFromPathname('/markets') => null\n */\nexport function getLocalePathFromPathname(\n pathname: string,\n localeCodes?: string[],\n) {\n const locale = pathname.split(\"/\")[1];\n localeCodes = localeCodes || Object.values(LocaleEnum);\n return localeCodes.includes(locale as LocaleEnum) ? locale : null;\n}\n\n/**\n * Generate a localized path with proper locale prefix and search parameters\n *\n * This function ensures that the returned path includes the appropriate locale prefix.\n * If the path already contains a valid locale prefix, it returns the path as-is.\n * Otherwise, it prepends the specified locale or falls back to the current i18n language.\n *\n * @param params - Configuration object for path generation\n * @param params.path - The base pathname (e.g., '/markets', '/perp/PERP_ETH_USDC')\n * @param params.locale - Optional locale code to use as prefix. If not provided, uses i18n.language\n * @param params.search - Optional search query string. If not provided, uses window.location.search\n *\n * @returns A complete URL path with locale prefix and search parameters\n *\n * @example\n * generatePath({ path: '/markets' }) => '/en/markets?tab=spot'\n * generatePath({ path: '/en/markets', search: '?tab=futures' }) => '/en/markets?tab=futures'\n * generatePath({ path: '/perp/PERP_ETH_USDC', locale: 'zh' }) => '/zh/perp/PERP_ETH_USDC'\n * generatePath({ path: '/en/perp/PERP_ETH_USDC' }) => '/en/perp/PERP_ETH_USDC'\n */\nexport function generatePath(params: {\n path: string;\n locale?: string;\n search?: string;\n}) {\n const { path, locale, search } = params;\n const searchUrl =\n search || (typeof window !== \"undefined\" ? window.location.search : \"\");\n\n let localePath = getLocalePathFromPathname(path);\n\n // If path already contains a valid locale prefix, return it unchanged\n if (localePath) {\n return `${path}${searchUrl}`;\n }\n\n // Use provided locale or fall back to current i18n language\n localePath = locale || parseI18nLang(i18n.language);\n\n // Prepend locale prefix to path\n return `/${localePath}${path}${searchUrl}`;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/constant.ts","../src/i18n.ts","../src/locale/module/affiliate.ts","../src/locale/module/chart.ts","../src/locale/module/common.ts","../src/locale/module/connector.ts","../src/locale/module/leverage.ts","../src/locale/module/markets.ts","../src/locale/module/notification.ts","../src/locale/module/orderEntry.ts","../src/locale/module/orders.ts","../src/locale/module/portfolio.ts","../src/locale/module/positions.ts","../src/locale/module/scaffold.ts","../src/locale/module/share.ts","../src/locale/module/tpsl.ts","../src/locale/module/trading.ts","../src/locale/module/tradingLeaderboard.ts","../src/locale/module/tradingRewards.ts","../src/locale/module/tradingView.ts","../src/locale/module/transfer.ts","../src/locale/module/ui.ts","../src/locale/module/vaults.ts","../src/locale/module/widget.ts","../src/locale/en.ts","../src/utils.ts"],"names":["LocaleEnum"],"mappings":";AAEO,IAAK,aAAL,kBAAKA,gBAAL;AAEL,EAAAA,YAAA,QAAK;AAEL,EAAAA,YAAA,QAAK;AAEL,EAAAA,YAAA,QAAK;AAEL,EAAAA,YAAA,QAAK;AAEL,EAAAA,YAAA,QAAK;AAEL,EAAAA,YAAA,QAAK;AAEL,EAAAA,YAAA,QAAK;AAEL,EAAAA,YAAA,QAAK;AAEL,EAAAA,YAAA,QAAK;AAEL,EAAAA,YAAA,QAAK;AAEL,EAAAA,YAAA,QAAK;AAEL,EAAAA,YAAA,QAAK;AAEL,EAAAA,YAAA,QAAK;AAEL,EAAAA,YAAA,QAAK;AAEL,EAAAA,YAAA,QAAK;AAEL,EAAAA,YAAA,QAAK;AAhCK,SAAAA;AAAA,GAAA;AAqDL,IAAM,aAAa;AACnB,IAAM,YAAY;AAElB,IAAM,sBAAsB;AAG5B,IAAM,gBAAgB;;;AC3D7B,SAAS,sBAAsB;AAC/B,OAAO,sBAAsB;;;ACHtB,IAAM,YAAY;AAAA,EACvB,sBAAsB;AAAA,EACtB,oBAAoB;AAAA,EAEpB,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EAExB,mCACE;AAAA,EACF,mCACE;AAAA,EAEF,wBACE;AAAA,EACF,2BACE;AAAA,EACF,4BAA4B;AAAA,EAE5B,mCAAmC;AAAA,EACnC,+BAA+B;AAAA,EAC/B,qCACE;AAAA,EACF,gCAAgC;AAAA,EAChC,4BAA4B;AAAA,EAC5B,kCACE;AAAA,EACF,6BAA6B;AAAA,EAE7B,0BAA0B;AAAA,EAC1B,uCAAuC;AAAA,EACvC,6CACE;AAAA,EACF,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,mCAAmC;AAAA,EAEnC,2BAA2B;AAAA,EAC3B,iCAAiC;AAAA,EACjC,uCACE;AAAA,EACF,2CAA2C;AAAA,EAC3C,iDACE;AAAA,EACF,2CACE;AAAA,EACF,iDACE;AAAA,EACF,iCAAiC;AAAA,EACjC,uCACE;AAAA,EACF,iCAAiC;AAAA,EACjC,uCACE;AAAA,EACF,qBAAqB;AAAA,EACrB,oCAAoC;AAAA,EAEpC,0BAA0B;AAAA,EAC1B,+BAA+B;AAAA,EAC/B,uCACE;AAAA,EACF,gCAAgC;AAAA,EAChC,wCACE;AAAA,EAEF,yBAAyB;AAAA,EAEzB,2BAA2B;AAAA,EAC3B,qCAAqC;AAAA,EACrC,8CAA8C;AAAA,EAC9C,0CAA0C;AAAA,EAC1C,mDAAmD;AAAA,EACnD,oCAAoC;AAAA,EACpC,kBAAkB;AAAA,EAClB,wBAAwB;AAAA,EACxB,4BAA4B;AAAA,EAC5B,2CAA2C;AAAA,EAE3C,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,4CAA4C;AAAA,EAC5C,6CAA6C;AAAA,EAC7C,sCAAsC;AAAA,EACtC,4CAA4C;AAAA,EAE5C,iCAAiC;AAAA,EACjC,2BAA2B;AAAA,EAC3B,4BAA4B;AAAA,EAC5B,+BAA+B;AAAA,EAC/B,mCAAmC;AAAA,EACnC,8BAA8B;AAAA,EAC9B,+BAA+B;AAAA,EAC/B,8CAA8C;AAAA,EAC9C,oDAAoD;AAAA,EACpD,8CAA8C;AAAA,EAC9C,wDACE;AAAA,EACF,wDACE;AAAA,EACF,gDACE;AAAA,EACF,8CAA8C;AAAA,EAC9C,oDACE;AAAA,EACF,8CAA8C;AAAA,EAC9C,kDAAkD;AAAA,EAClD,sDAAsD;AAAA,EACtD,qDACE;AAAA,EACF,gDACE;AAAA,EACF,6BACE;AACJ;;;AChHO,IAAM,QAAQ;AAAA,EACnB,aAAa;AACf;;;ACFO,IAAM,SAAS;AAAA,EACpB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,eAAe;AAAA,EACf,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,EACtB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EAEjB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EAErB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EAErB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EAEjB,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,cAAc;AAAA,EACd,eAAe;AAAA,EACf,uBAAuB;AAAA,EAEvB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,uBAAuB;AAAA,EAEvB,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,cAAc;AAAA,EACd,qBAAqB;AAAA,EACrB,kBAAkB;AAAA,EAClB,qCAAqC;AAAA,EACrC,oBAAoB;AAAA,EAEpB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAElB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,yBAAyB;AAAA,EACzB,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,iBAAiB;AAAA,EACjB,uBAAuB;AAAA,EAEvB,kBAAkB;AAAA,EAClB,6BAA6B;AAAA,EAC7B,cAAc;AAAA,EACd,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,EAEtB,6BACE;AAAA,EACF,kBAAkB;AACpB;;;ACxIO,IAAM,YAAY;AAAA,EACvB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EAErB,qBAAqB;AAAA,EACrB,wBAAwB;AAAA,EACxB,2BAA2B;AAAA;AAAA;AAAA,EAG3B,2BAA2B;AAAA,EAE3B,qCAAqC;AAAA,EACrC,qCAAqC;AAAA,EACrC,8BAA8B;AAAA,EAC9B,uCACE;AAAA,EACF,2BAA2B;AAAA,EAC3B,uCACE;AAAA,EAEF,2BAA2B;AAAA,EAC3B,0BAA0B;AAAA,EAC1B,kCACE;AAAA,EAEF,qBACE;AAAA,EAEF,wBAAwB;AAAA,EACxB,oCACE;AAAA,EAEF,sCAAsC;AAAA,EACtC,kCACE;AAAA,EACF,mCAAmC;AAAA,EAEnC,gCAAgC;AAAA,EAChC,0BAA0B;AAAA,EAE1B,6BAA6B;AAAA,EAC7B,6BAA6B;AAAA,EAC7B,gCAAgC;AAAA,EAEhC,yCACE;AAAA;AAAA,EAEF,yCACE;AAAA,EACF,yCACE;AAAA,EAEF,yCACE;AAAA;AAAA,EAEF,yCACE;AAAA,EACF,yCACE;AAAA,EAEF,sCAAsC;AAAA,EACtC,kDACE;AAAA,EAEF,2BAA2B;AAAA,EAC3B,0BAA0B;AAAA,EAC1B,yBAAyB;AAAA,EACzB,0BAA0B;AAAA,EAC1B,2BAA2B;AAAA,EAC3B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,gCAAgC;AAAA,EAChC,mCAAmC;AAAA,EACnC,qCAAqC;AAAA,EACrC,mCAAmC;AAAA,EACnC,sCAAsC;AAAA,EACtC,8BACE;AAAA,EACF,qCAAqC;AAAA,EACrC,wCAAwC;AAAA,EACxC,4BAA4B;AAAA,EAC5B,wCACE;AAAA,EACF,sCAAsC;AAAA,EACtC,qCACE;AAAA,EACF,wCACE;AAAA,EACF,0CACE;AAAA,EACF,6BAA6B;AAAA,EAC7B,kCAAkC;AAAA,EAClC,mCACE;AAAA,EACF,6BAA6B;AAAA,EAC7B,6BAA6B;AAAA,EAC7B,kCAAkC;AAAA,EAClC,uCAAuC;AACzC;;;AClGO,IAAM,WAAW;AAAA,EACtB,+BAA+B;AAAA,EAC/B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,6BAA6B;AAAA,EAC7B,qCACE;AAAA,EACF,sCACE;AAAA,EACF,oCACE;AAAA,EACF,yCACE;AAAA,EACF,oBAAoB;AAAA,EACpB,4BACE;AAAA,EACF,yCAAyC;AAAA,EACzC,wCACE;AACJ;;;ACrBO,IAAM,UAAU;AAAA,EACrB,qBAAqB;AAAA,EACrB,kBAAkB;AAAA,EAClB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,gCAAgC;AAAA,EAEhC,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EAErB,8BAA8B;AAAA,EAC9B,oCACE;AAAA,EAEF,qCAAqC;AAAA,EACrC,mCAAmC;AAAA,EAEnC,oCAAoC;AAAA,EACpC,6CAA6C;AAAA,EAC7C,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,8CAA8C;AAAA,EAC9C,oDACE;AAAA,EACF,kCAAkC;AAAA,EAElC,yBAAyB;AAAA,EACzB,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA;AAAA,EAE5B,gCAAgC;AAAA;AAAA,EAEhC,+BAA+B;AAAA,EAC/B,uBAAuB;AAAA,EACvB,gCAAgC;AAAA,EAEhC,8BAA8B;AAAA,EAC9B,qCAAqC;AAAA,EACrC,sCAAsC;AAAA,EACtC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,uCAAuC;AAAA,EAEvC,8BAA8B;AAAA,EAC9B,sCACE;AAAA,EACF,+BAA+B;AAAA,EAC/B,uCACE;AAAA,EACF,mCAAmC;AAAA,EACnC,2CACE;AAAA,EACF,yCAAyC;AAAA,EACzC,iDACE;AACJ;;;AC5DO,IAAM,eAAe;AAAA;AAAA,EAE1B,yBAAyB;AAAA,EACzB,0BAA0B;AAAA,EAC1B,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,4BAA4B;AAAA,EAC5B,0CACE;AAAA,EACF,4CACE;AAAA,EACF,gCAAgC;AAAA,EAChC,sBAAsB;AAAA,EACtB,4BAA4B;AAAA;AAAA,EAG5B,yBAAyB;AAAA,EACzB,+BAA+B;AAAA,EAC/B,6BAA6B;AAAA,EAC7B,iCAAiC;AAAA,EACjC,sBAAsB;AACxB;;;ACtBO,IAAM,aAAa;AAAA,EACxB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,yBAAyB;AAAA,EACzB,8BAA8B;AAAA,EAC9B,+BAA+B;AAAA;AAAA,EAE/B,mCAAmC;AAAA;AAAA,EAEnC,oCAAoC;AAAA,EACpC,kCAAkC;AAAA,EAClC,mCAAmC;AAAA,EACnC,iCAAiC;AAAA,EACjC,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,oCAAoC;AAAA,EACpC,qCAAqC;AAAA,EACrC,wBAAwB;AAAA,EACxB,4BAA4B;AAAA,EAE5B,yBAAyB;AAAA,EACzB,uBAAuB;AAAA,EACvB,mBAAmB;AAAA,EACnB,0BAA0B;AAAA,EAC1B,4BAA4B;AAAA,EAC5B,2BAA2B;AAAA,EAC3B,4BAA4B;AAAA,EAC5B,uBAAuB;AAAA,EAEvB,mCAAmC;AAAA,EAEnC,+CACE;AAAA,EACF,2CACE;AAAA,EAEF,oCAAoC;AAAA,EACpC,yCAAyC;AAAA,EACzC,8CAA8C;AAAA,EAC9C,0CAA0C;AAAA,EAC1C,+CAA+C;AAAA,EAC/C,sCAAsC;AAAA,EAEtC,gDACE;AAAA,EACF,qDACE;AAAA,EACF,sDACE;AAAA,EAEF,kBAAkB;AAAA,EAClB,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,yBAAyB;AAAA,EACzB,yBAAyB;AAAA,EACzB,gCACE;AAAA,EAEF,0BAA0B;AAAA,EAE1B,kCAAkC;AAAA,EAClC,2BAA2B;AAAA,EAC3B,iCAAiC;AAAA,EACjC,qBAAqB;AAAA,EACrB,0BAA0B;AAAA,EAE1B,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EAEtB,0BAA0B;AAAA,EAC1B,0BAA0B;AAAA,EAC1B,uCACE;AAAA,EACF,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EAErB,wBACE;AAAA;AAAA,EAGF,2CAA2C;AAAA,EAC3C,sCACE;AAAA,EACF,sCAAsC;AAAA,EAEtC,wCAAwC;AAAA,EACxC,mCAAmC;AAAA,EACnC,mCAAmC;AAAA,EAEnC,0CAA0C;AAAA,EAC1C,qCACE;AAAA,EACF,qCACE;AAAA,EAEF,uCACE;AAAA,EACF,uCAAuC;AAAA,EAEvC,uCACE;AAAA,EACF,uCAAuC;AAAA,EAEvC,8BACE;AAAA,EACF,2CACE;AAAA,EAEF,wCAAwC;AAAA,EACxC,mCACE;AAAA,EACF,mCAAmC;AAAA,EAEnC,sCAAsC;AAAA,EACtC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EAEjC,yCAAyC;AAAA,EACzC,sCACE;AAAA,EAEF,kCAAkC;AAAA,EAClC,6BAA6B;AAAA,EAC7B,6BAA6B;AAAA,EAE7B,sCACE;AAAA,EACF,wCACE;AAAA,EACF,uCACE;AAAA,EACF,2CAA2C;AAAA,EAC3C,0CAA0C;AAAA,EAE1C,uBAAuB;AAAA,EACvB,2BAA2B;AAAA,EAC3B,4BACE;AAAA,EACF,oCACE;AAAA,EACF,iCACE;AAAA,EAEF,oDACE;AAAA,EACF,0CACE;AAAA,EACF,8CACE;AAAA,EACF,oCACE;AAAA,EAEF,kCAAkC;AAAA,EAClC,0CACE;AAAA,EACF,4BAA4B;AAAA,EAC5B,sCACE;AACJ;;;AC9JO,IAAM,SAAS;AAAA,EACpB,uBAAuB;AAAA,EAEvB,yBAAyB;AAAA,EACzB,wBAAwB;AAAA,EACxB,+BAA+B;AAAA,EAC/B,0BAA0B;AAAA,EAC1B,0BAA0B;AAAA,EAC1B,4BAA4B;AAAA,EAC5B,2BAA2B;AAAA,EAE3B,oCAAoC;AAAA,EACpC,oCAAoC;AAAA,EACpC,sCAAsC;AAAA,EACtC,sCAAsC;AAAA,EACtC,sCAAsC;AAAA,EAEtC,kDACE;AAAA,EACF,iCAAiC;AAAA,EAEjC,+BAA+B;AAAA,EAC/B,2BAA2B;AAAA,EAC3B,wBAAwB;AAAA,EAExB,oBAAoB;AAAA,EACpB,+BACE;AAAA,EACF,4BACE;AAAA,EACF,mCACE;AAAA,EACF,oCACE;AAAA,EACF,mCACE;AAAA,EAEF,sBAAsB;AAAA,EACtB,kCACE;AAAA,EAEF,oBAAoB;AAAA,EACpB,4BAA4B;AAAA,EAC5B,wCACE;AAAA,EACF,yBAAyB;AAAA,EACzB,qCACE;AAAA,EAEF,6BAA6B;AAAA,EAC7B,sCACE;AAAA,EACF,kDACE;AAAA,EACF,mCAAmC;AAAA,EACnC,+CACE;AAAA,EAEF,4BAA4B;AAAA,EAC5B,yBAAyB;AAAA,EAEzB,4BAA4B;AAAA,EAC5B,oCACE;AAAA,EAEF,wBAAwB;AAAA,EAExB,2BACE;AACJ;;;ACrEO,IAAM,YAAY;AAAA,EACvB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EAErB,wCAAwC;AAAA,EACxC,mCAAmC;AAAA,EAEnC,kCAAkC;AAAA,EAClC,sCAAsC;AAAA,EACtC,8CACE;AAAA,EACF,sCAAsC;AAAA,EACtC,8CACE;AAAA,EACF,yCAAyC;AAAA,EACzC,iDACE;AAAA,EACF,2CAA2C;AAAA,EAC3C,gDAAgD;AAAA,EAEhD,mCAAmC;AAAA,EACnC,sCAAsC;AAAA,EACtC,6BAA6B;AAAA,EAC7B,gCAAgC;AAAA,EAChC,kCAAkC;AAAA,EAElC,mCAAmC;AAAA,EACnC,iCAAiC;AAAA,EACjC,wCAAwC;AAAA,EACxC,wCAAwC;AAAA,EACxC,6CAA6C;AAAA,EAC7C,qDACE;AAAA,EACF,+CAA+C;AAAA,EAE/C,kCAAkC;AAAA,EAClC,gCAAgC;AAAA,EAEhC,oDAAoD;AAAA,EACpD,gDAAgD;AAAA,EAChD,+CAA+C;AAAA,EAC/C,6CAA6C;AAAA,EAC7C,0CAA0C;AAAA,EAC1C,mDAAmD;AAAA,EAEnD,2DACE;AAAA,EACF,sDAAsD;AAAA,EACtD,kDAAkD;AAAA,EAElD,qCAAqC;AAAA,EACrC,sCAAsC;AAAA,EACtC,oCAAoC;AAAA,EACpC,oCAAoC;AAAA,EACpC,yCAAyC;AAAA,EACzC,yCAAyC;AAAA,EACzC,oCAAoC;AAAA,EACpC,kCAAkC;AAAA,EAClC,mCAAmC;AAAA,EACnC,kCAAkC;AAAA,EAClC,oCAAoC;AAAA,EACpC,uCACE;AAAA,EACF,gCAAgC;AAAA,EAChC,sCACE;AAAA,EACF,8BAA8B;AAAA,EAC9B,0CAA0C;AAAA,EAC1C,qCAAqC;AAAA,EACrC,uCAAuC;AAAA,EACvC,yCAAyC;AAAA,EACzC,iCAAiC;AAAA,EACjC,sCAAsC;AAAA,EACtC,4CAA4C;AAAA,EAC5C,yCAAyC;AAAA,EACzC,+BAA+B;AAAA,EAC/B,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,0CACE;AAAA,EACF,8CAA8C;AAAA,EAC9C,qCAAqC;AAAA,EACrC,wBAAwB;AAAA,EACxB,8BAA8B;AAAA,EAC9B,qCAAqC;AAAA,EAErC,uBAAuB;AAAA,EACvB,gCAAgC;AAAA,EAChC,qCAAqC;AAAA,EACrC,wCAAwC;AAAA,EAExC,gCACE;AAAA,EACF,iCAAiC;AAAA,EAEjC,kCAAkC;AAAA,EAClC,uCAAuC;AAAA,EACvC,0CAA0C;AAAA,EAC1C,wCAAwC;AAAA,EACxC,6CAA6C;AAAA,EAC7C,0CAA0C;AAAA,EAE1C,wCAAwC;AAAA,EAExC,iDACE;AAAA;AAAA;AAAA,EAGF,iDACE;AAAA,EACF,iDACE;AAAA,EACF,gDACE;AAAA,EAEF,yCAAyC;AAAA,EACzC,qDACE;AAAA,EAEF,oCACE;AAAA,EACF,+CAA+C;AAAA,EAC/C,mCAAmC;AAAA,EAEnC,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAC5B,4BAA4B;AAAA,EAE5B,sCAAsC;AAAA,EACtC,wCAAwC;AAAA,EACxC,8CACE;AAAA,EAEF,mCAAmC;AAAA,EACnC,sCACE;AAAA,EACF,kDACE;AAAA,EACF,iCAAiC;AAAA,EACjC,6CACE;AAAA;AAAA,EAGF,+BAA+B;AAAA,EAC/B,4CACE;AAAA,EACF,sCACE;AAAA,EACF,wCAAwC;AAAA,EACxC,2CAA2C;AAAA,EAC3C,yCAAyC;AAAA,EACzC,0CAA0C;AAAA,EAC1C,2CAA2C;AAAA,EAC3C,uCAAuC;AAAA,EACvC,0CAA0C;AAAA,EAC1C,2CAA2C;AAAA,EAC3C,0CAA0C;AAAA,EAC1C,4CAA4C;AAAA,EAC5C,yCAAyC;AAAA,EACzC,wCAAwC;AAAA,EACxC,2CAA2C;AAAA,EAC3C,yCAAyC;AAAA,EACzC,0CAA0C;AAAA,EAC1C,0CAA0C;AAAA,EAC1C,qDACE;AAAA,EACF,gDAAgD;AAAA,EAChD,8CAA8C;AAAA,EAC9C,2CAA2C;AAAA,EAC3C,2CAA2C;AAAA,EAC3C,sCAAsC;AAAA,EACtC,oCAAoC;AAAA,EACpC,0CAA0C;AAAA,EAC1C,kDAAkD;AAAA,EAClD,8CAA8C;AAAA,EAC9C,iDAAiD;AAAA,EACjD,+CAA+C;AACjD;;;AClLO,IAAM,YAAY;AAAA,EACvB,2BAA2B;AAAA,EAC3B,8BAA8B;AAAA,EAC9B,gCACE;AAAA,EACF,iCACE;AAAA,EACF,yBAAyB;AAAA,EACzB,6BAA6B;AAAA,EAC7B,sBAAsB;AAAA,EACtB,+BAA+B;AAAA,EAC/B,kCACE;AAAA,EACF,8BAA8B;AAAA,EAE9B,6BAA6B;AAAA,EAC7B,qCACE;AAAA,EACF,sCACE;AAAA,EACF,yCAAyC;AAAA,EACzC,2BAA2B;AAAA,EAC3B,mCACE;AAAA,EACF,mCACE;AAAA,EACF,0BAA0B;AAAA,EAE1B,wBAAwB;AAAA,EACxB,oCACE;AAAA,EACF,yBAAyB;AAAA,EACzB,qCACE;AAAA,EACF,4CAA4C;AAAA,EAC5C,kDACE;AAAA,EAEF,mCAAmC;AAAA,EACnC,0CAA0C;AAAA,EAC1C,8BAA8B;AAAA,EAC9B,qCAAqC;AAAA,EACrC,8CAA8C;AAAA,EAC9C,8CAA8C;AAAA,EAC9C,2CAA2C;AAAA,EAE3C,mCAAmC;AAAA,EACnC,sCAAsC;AAAA,EACtC,6CAA6C;AAAA,EAC7C,mCAAmC;AAAA,EACnC,uCAAuC;AAAA,EACvC,uCAAuC;AAAA,EACvC,wCAAwC;AAAA,EACxC,uCAAuC;AAAA,EAEvC,8CAA8C;AAAA,EAC9C,gDAAgD;AAAA,EAChD,+CAA+C;AAAA,EAC/C,mDAAmD;AAAA,EACnD,0CAA0C;AAAA,EAE1C,6CACE;AAAA,EACF,0CAA0C;AAAA,EAC1C,6CACE;AAAA,EACF,yCACE;AAAA,EAEF,yCAAyC;AAAA,EACzC,0CAA0C;AAAA,EAC1C,iDAAiD;AAAA,EACjD,+CAA+C;AAAA,EAC/C,2CACE;AAAA,EACF,4CACE;AAAA,EACF,mDACE;AAAA,EACF,iDACE;AAAA,EAEF,2BAA2B;AAAA,EAC3B,iCACE;AAAA,EACF,qCAAqC;AAAA,EACrC,sCAAsC;AAAA,EACtC,oCAAoC;AAAA,EACpC,qCAAqC;AAAA,EACrC,mCAAmC;AAAA,EACnC,oCAAoC;AACtC;;;AC3FO,IAAM,WAAW;AAAA,EACtB,kCAAkC;AAAA,EAClC,iCAAiC;AAAA,EACjC,+BAA+B;AAAA,EAC/B,6BAA6B;AAC/B;;;ACLO,IAAM,QAAQ;AAAA,EACnB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,yBAAyB;AAAA,EAEzB,2BAA2B;AAAA,EAC3B,mCAAmC;AAAA,EACnC,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAE/B,0BAA0B;AAAA,EAC1B,oCAAoC;AAAA,EACpC,qCAAqC;AAAA,EACrC,mCAAmC;AAAA,EACnC,oCAAoC;AAAA,EACpC,kCAAkC;AAAA,EAClC,8CAA8C;AAAA,EAC9C,4CACE;AAAA,EAEF,0BAA0B;AAAA,EAC1B,qCACE;AACJ;;;ACvBO,IAAM,OAAO;AAAA,EAClB,WAAW;AAAA,EACX,WAAW;AAAA,EACX,aAAa;AAAA,EACb,qBAAqB;AAAA,EACrB,wBAAwB;AAAA,EACxB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAElB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EAEvB,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EACvB,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EAEjB,gCACE;AAAA,EACF,qBAAqB;AAAA,EACrB,iBAAiB;AAAA,EACjB,wBAAwB;AAAA,EACxB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,0BAA0B;AAAA,EAC1B,6BAA6B;AAAA,EAC7B,+BACE;AAAA,EACF,kCACE;AAAA,EACF,sCACE;AAAA,EACF,qBACE;AAAA,EACF,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EAExB,6CAA6C;AAAA,EAC7C,wCACE;AAAA,EACF,wCACE;AAAA,EACF,6CAA6C;AAAA,EAC7C,wCACE;AAAA,EACF,wCACE;AAAA,EACF,oDACE;AAAA,EACF,oDACE;AAAA,EACF,oDACE;AAAA,EACF,oDACE;AAAA,EACF,+CAA+C;AAAA,EAC/C,+CAA+C;AAAA,EAC/C,wDACE;AAAA,EACF,oDACE;AAAA,EAEF,uBAAuB;AAAA,EACvB,0BAA0B;AAAA,EAC1B,kCACE;AAAA,EACF,kBAAkB;AACpB;;;ACjFO,IAAM,UAAU;AAAA,EACrB,kBAAkB;AAAA,EAClB,2BAA2B;AAAA,EAC3B,iCAAiC;AAAA,EACjC,gCAAgC;AAAA,EAChC,0BAA0B;AAAA,EAC1B,+BAA+B;AAAA,EAC/B,8BAA8B;AAAA,EAC9B,iCAAiC;AAAA,EACjC,+BAA+B;AAAA,EAC/B,2BAA2B;AAAA,EAC3B,4BAA4B;AAAA,EAC5B,mBAAmB;AAAA,EAEnB,6BAA6B;AAAA,EAC7B,8CACE;AAAA,EACF,iDAAiD;AAAA,EACjD,6CAA6C;AAAA,EAC7C,qDACE;AAAA,EAEF,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB,kCAAkC;AAAA,EAElC,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EAErB,yBAAyB;AAAA,EACzB,wBAAwB;AAAA,EAExB,yBAAyB;AAAA,EACzB,uCACE;AAAA,EACF,yCAAyC;AAAA,EAEzC,8BAA8B;AAAA,EAC9B,sCACE;AAAA,EAEF,8BAA8B;AAAA,EAC9B,0CACE;AAAA,EAEF,0BAA0B;AAAA,EAE1B,gCAAgC;AAAA,EAChC,wCACE;AAAA,EACF,wCACE;AAAA,EAEF,6BAA6B;AAAA,EAC7B,qCACE;AAAA,EACF,qCACE;AAAA,EAEF,8BAA8B;AAAA,EAC9B,sCAAsC;AAAA,EACtC,kCAAkC;AAAA,EAElC,wCAAwC;AAAA,EACxC,gDACE;AAAA,EACF,gDACE;AAAA,EAEF,oBAAoB;AAAA,EACpB,4BACE;AAAA,EACF,4BACE;AAAA,EAEF,wBAAwB;AAAA,EAExB,uCAAuC;AAAA,EACvC,gDAAgD;AAAA,EAChD,2CAA2C;AAAA,EAC3C,6CAA6C;AAAA,EAC7C,uCAAuC;AAAA,EACvC,4CAA4C;AAAA,EAC5C,2CAA2C;AAAA,EAC3C,kCAAkC;AAAA,EAElC,2BAA2B;AAAA,EAC3B,kCAAkC;AAAA,EAClC,wCACE;AAAA,EACF,yCACE;AAAA,EACF,+BACE;AAAA,EACF,8BACE;AAAA,EACF,wCAAwC;AAAA,EACxC,+BACE;AAAA,EACF,yCACE;AAAA,EACF,4CACE;AAAA,EACF,2CACE;AACJ;;;AC1GO,IAAM,qBAAqB;AAAA;AAAA,EAEhC,kCAAkC;AAAA,EAClC,gCAAgC;AAAA,EAChC,8BAA8B;AAAA,EAC9B,2BAA2B;AAAA,EAC3B,6BAA6B;AAAA,EAC7B,gCAAgC;AAAA,EAChC,+BAA+B;AAAA,EAC/B,8BAA8B;AAAA,EAC9B,oCAAoC;AAAA,EACpC,2BAA2B;AAAA,EAC3B,uCAAuC;AAAA,EACvC,6BAA6B;AAAA,EAC7B,iCAAiC;AAAA,EACjC,6CAA6C;AAAA,EAC7C,sCAAsC;AAAA,EACtC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,mCAAmC;AAAA,EACnC,qCAAqC;AAAA,EACrC,mCAAmC;AAAA,EACnC,mCAAmC;AAAA,EACnC,iCAAiC;AAAA,EACjC,yCAAyC;AAAA,EACzC,sCAAsC;AAAA,EACtC,0CACE;AAAA,EACF,kCACE;AAAA,EACF,4BAA4B;AAAA,EAC5B,yCAAyC;AAAA,EACzC,yCAAyC;AAAA,EACzC,yCAAyC;AAAA,EACzC,4BAA4B;AAAA,EAC5B,kCACE;AAAA,EACF,0CACE;AAAA,EACF,4CACE;AAAA,EACF,iCAAiC;AAAA,EACjC,yCAAyC;AAC3C;;;AC3CO,IAAM,iBAAiB;AAAA,EAC5B,0BAA0B;AAAA,EAE1B,2BAA2B;AAAA,EAC3B,8BAA8B;AAAA,EAC9B,4BAA4B;AAAA,EAE5B,+BAA+B;AAAA,EAC/B,wBAAwB;AAAA,EACxB,+BAA+B;AAAA,EAE/B,kCAAkC;AAAA,EAClC,wBAAwB;AAAA,EACxB,iCAAiC;AAAA,EAEjC,wBAAwB;AAAA,EACxB,0BAA0B;AAAA,EAC1B,+BAA+B;AAAA,EAC/B,kCAAkC;AAAA,EAElC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAEhC,qDAAqD;AAAA,EACrD,iDAAiD;AAAA,EACjD,+CAA+C;AAAA,EAE/C,4CAA4C;AAAA,EAC5C,oCACE;AAAA,EACF,oCACE;AAAA,EACF,8CAA8C;AAChD;;;ACjCO,IAAM,cAAc;AAAA,EACzB,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAEhC,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,gCAAgC;AAAA,EAEhC,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAE/B,iCAAiC;AAAA,EAEjC,6BAA6B;AAAA,EAC7B,gCAAgC;AAAA,EAChC,sCAAsC;AAAA,EACtC,6BAA6B;AAAA,EAC7B,6BAA6B;AAAA,EAC7B,iCAAiC;AAAA,EAEjC,sCAAsC;AAAA,EACtC,0CAA0C;AAAA,EAC1C,yCAAyC;AAAA,EAEzC,2BACE;AAAA,EACF,6BACE;AAAA,EACF,6BACE;AACJ;;;ACrCO,IAAM,WAAW;AAAA,EACtB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,4BAA4B;AAAA,EAC5B,0BAA0B;AAAA,EAE1B,0BAA0B;AAAA,EAC1B,6BAA6B;AAAA,EAE7B,gCAAgC;AAAA,EAChC,kCAAkC;AAAA,EAClC,8BAA8B;AAAA,EAE9B,4BAA4B;AAAA,EAC5B,oCAAoC;AAAA,EACpC,mCAAmC;AAAA,EACnC,8BAA8B;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,2BAA2B;AAAA,EAC3B,mCACE;AAAA,EACF,iCACE;AAAA,EACF,8BAA8B;AAAA,EAE9B,8BAA8B;AAAA,EAC9B,sCAAsC;AAAA,EACtC,kDACE;AAAA,EAEF,uCACE;AAAA,EACF,6CACE;AAAA,EACF,uCACE;AAAA,EAEF,gDAAgD;AAAA,EAChD,iDAAiD;AAAA,EACjD,iDAAiD;AAAA,EACjD,+CAA+C;AAAA,EAE/C,wCACE;AAAA,EACF,wCACE;AAAA,EACF,6CACE;AAAA,EAEF,kCACE;AAAA,EAEF,qCACE;AAAA,EACF,+BACE;AAAA,EAEF,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5B,kCAAkC;AAAA,EAClC,oCACE;AAAA,EACF,uCACE;AAAA,EACF,uCACE;AAAA,EAEF,kCAAkC;AAAA,EAClC,gCAAgC;AAAA,EAChC,+CAA+C;AAAA,EAC/C,qCACE;AAAA,EAEF,+CACE;AAAA,EACF,mDACE;AAAA,EAEF,2CACE;AAAA,EACF,sDACE;AAAA,EACF,wDACE;AAAA,EACF,kDACE;AAAA,EACF,qDACE;AAAA,EACF,wDACE;AAAA;AAAA;AAAA;AAAA,EAKF,yCACE;AAAA,EACF,oCACE;AAAA,EAEF,iCAAiC;AAAA,EACjC,+BAA+B;AAAA,EAC/B,2CAA2C;AAAA,EAC3C,mCAAmC;AAAA,EACnC,gCAAgC;AAAA,EAChC,4CAA4C;AAAA,EAE5C,mCAAmC;AAAA,EACnC,sCACE;AAAA,EAEF,qBAAqB;AAAA,EACrB,uCAAuC;AAAA,EACvC,mDACE;AAAA,EAEF,gCAAgC;AAAA,EAChC,4CACE;AAAA,EACF,kCAAkC;AAAA,EAClC,8CACE;AAAA,EAEF,wCAAwC;AAAA,EACxC,oCAAoC;AAAA,EACpC,wCACE;AAAA,EAEF,yCAAyC;AAAA,EACzC,iCAAiC;AAAA,EACjC,2CACE;AAAA,EAEF,8BAA8B;AAAA,EAC9B,2BAA2B;AAAA,EAC3B,uBAAuB;AAAA,EACvB,+BAA+B;AAAA,EAC/B,gCAAgC;AAAA,EAChC,kCAAkC;AAAA,EAClC,2CAA2C;AAAA,EAC3C,8CAA8C;AAAA,EAE9C,gBAAgB;AAAA,EAChB,4BAA4B;AAAA,EAC5B,wBAAwB;AAAA,EACxB,2BAA2B;AAAA,EAC3B,oBAAoB;AAAA;AAAA,EAEpB,qCACE;AAAA,EACF,iCACE;AAAA,EAEF,uCAAuC;AAAA,EACvC,4CAA4C;AAAA,EAC5C,yCAAyC;AAAA,EACzC,8CACE;AAAA;AAAA,EAGF,0CACE;AAAA,EACF,8CAA8C;AAAA,EAC9C,+CACE;AAAA,EACF,6CACE;AACJ;;;AC5KO,IAAM,KAAK;AAAA,EAChB,wBAAwB;AAAA,EACxB,4BAA4B;AAAA,EAC5B,2BAA2B;AAAA,EAC3B,6BAA6B;AAAA,EAC7B,wBAAwB;AAC1B;;;ACNO,IAAM,SAAS;AAAA,EACpB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,6BACE;AAAA,EACF,2BAA2B;AAAA,EAC3B,kCAAkC;AAAA,EAClC,oBAAoB;AAAA,EACpB,wBAAwB;AAAA,EACxB,0BAA0B;AAAA,EAC1B,0BAA0B;AAAA,EAC1B,uBAAuB;AAAA,EACvB,6BAA6B;AAAA,EAC7B,mCACE;AAAA,EACF,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,6BAA6B;AAAA,EAC7B,oCACE;AAAA,EACF,0BAA0B;AAAA,EAC1B,0BAA0B;AAAA,EAC1B,8BAA8B;AAAA,EAC9B,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,6BAA6B;AAAA,EAC7B,wBAAwB;AAAA,EACxB,6BAA6B;AAAA,EAC7B,8BAA8B;AAAA,EAC9B,6BAA6B;AAAA,EAC7B,4BAA4B;AAAA,EAC5B,yBAAyB;AAAA,EACzB,iCAAiC;AAAA,EACjC,gCAAgC;AAAA,EAChC,oCAAoC;AAAA,EACpC,sCAAsC;AAAA,EACtC,kCAAkC;AAAA,EAClC,gCAAgC;AAAA,EAChC,2CAA2C;AAAA,EAC3C,6CAA6C;AAAA,EAC7C,+BACE;AAAA,EACF,6CAA6C;AAAA,EAC7C,2CAA2C;AAAA,EAC3C,wCAAwC;AAAA,EACxC,uCAAuC;AAAA,EACvC,oCAAoC;AAAA,EACpC,gCAAgC;AAAA,EAChC,wCACE;AAAA,EACF,qCACE;AAAA,EACF,wCACE;AACJ;;;ACtDO,IAAM,SAAS;AAAA,EACpB,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,kCAAkC;AAAA,EAClC,iCAAiC;AAAA,EACjC,8BAA8B;AAAA,EAC9B,wCAAwC;AAAA;AAAA,EAGxC,+CACE;AAAA,EACF,4CAA4C;AAAA,EAC5C,wDACE;AAAA,EAEF,+CACE;AAAA,EACF,2CAA2C;AAAA,EAE3C,yBAAyB;AAAA,EACzB,qCACE;AAAA,EACF,iCAAiC;AAAA,EACjC,+CACE;AAAA,EACF,sBAAsB;AAAA;AAAA,EAGtB,oBAAoB;AAAA,EACpB,4BAA4B;AAAA,EAC5B,gCACE;AAAA,EAEF,oBAAoB;AAAA,EACpB,4BACE;AAAA,EAEF,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,4BAA4B;AAAA,EAC5B,2BACE;AAAA,EAEF,6BAA6B;AAAA,EAC7B,4BAA4B;AAAA,EAC5B,yBACE;AAAA,EAEF,6BAA6B;AAAA,EAC7B,iCAAiC;AAAA,EACjC,+BAA+B;AAAA,EAC/B,8BAA8B;AAAA,EAC9B,4BAA4B;AAAA,EAE5B,4BAA4B;AAAA,EAC5B,kCACE;AAAA,EACF,gCACE;AAAA,EAEF,sCACE;AAAA,EACF,mCAAmC;AAAA,EACnC,+CACE;AAAA,EACF,yCAAyC;AAAA,EAEzC,0BAA0B;AAAA,EAC1B,+CAA+C;AAAA,EAC/C,sCAAsC;AAAA,EACtC,sCAAsC;AAAA,EACtC,4BAA4B;AAAA,EAC5B,0CACE;AAAA,EACF,2CACE;AAAA,EACF,iCAAiC;AAAA,EACjC,uCACE;AAAA,EACF,yCACE;AAAA,EACF,+CACE;AAAA,EACF,8CAA8C;AAAA,EAC9C,+BAA+B;AAAA,EAC/B,mCAAmC;AAAA,EACnC,6CAA6C;AAAA,EAC7C,4CAA4C;AAAA,EAE5C,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,4BAA4B;AAAA,EAC5B,gCAAgC;AAAA,EAEhC,oBAAoB;AAAA,EAEpB,uBAAuB;AAAA,EACvB,6BACE;AAAA,EACF,yBAAyB;AAAA,EACzB,aAAa;AAAA,EACb,aAAa;AACf;;;ACjFO,IAAM,KAAK;AAAA,EAChB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;;;AvBlCO,IAAM,YAAY;AAAA,EACvB,CAAC,UAAU,GAAG,EAAE,CAAC,SAAS,GAAG,GAAG;AAClC;AAEA,IAAM,mBAAmB,IAAI,iBAAiB,MAAM;AAAA,EAClD,oBAAoB;AAAA,EACpB,cAAc;AAAA,EACd,QAAQ,CAAC,gBAAgB,QAAQ;AACnC,CAAC;AAoBD,IAAM,OAAO,eAAe;AAAA;AAAA,EAE1B,aAAa;AAAA;AAAA,EAEb,eAAe;AAAA,IACb,aAAa;AAAA,EACf;AAAA,EACA;AACF,CAAC,EAAE,IAAI,gBAAgB;AAEvB,KAAK,KAAK;AAEV,IAAO,eAAQ;;;AwBrCR,SAAS,cACd,MACA,aACA,aACA;AACA,gBAAc,eAAe,OAAO,OAAO,UAAU;AACrD,gBAAc;AAEd,QAAM,QAAQ;AACd,QAAM,QAAQ,MAAM,MAAM,KAAK;AAE/B,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AAEA,QAAM,YAAY,MAAM,CAAC;AAEzB,MAAI,YAAY,SAAS,IAAI,GAAG;AAC9B,WAAO;AAAA,EACT;AAEA,MAAI,YAAY,SAAS,SAAS,GAAG;AACnC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAYO,SAAS,iBAAiB,UAAkB,aAAwB;AACzE,QAAM,aAAa,0BAA0B,UAAU,WAAW;AAElE,SAAO,aACH,SAAS,QAAQ,IAAI,OAAO,KAAK,UAAU,OAAO,GAAG,EAAE,IACvD;AACN;AAYO,SAAS,0BACd,UACA,aACA;AACA,QAAM,SAAS,SAAS,MAAM,GAAG,EAAE,CAAC;AACpC,gBAAc,eAAe,OAAO,OAAO,UAAU;AACrD,SAAO,YAAY,SAAS,MAAoB,IAAI,SAAS;AAC/D;AAsBO,SAAS,aAAa,QAI1B;AACD,QAAM,EAAE,MAAM,QAAQ,OAAO,IAAI;AACjC,QAAM,YACJ,WAAW,OAAO,WAAW,cAAc,OAAO,SAAS,SAAS;AAEtE,MAAI,aAAa,0BAA0B,IAAI;AAG/C,MAAI,YAAY;AACd,WAAO,GAAG,IAAI,GAAG,SAAS;AAAA,EAC5B;AAGA,eAAa,UAAU,cAAc,aAAK,QAAQ;AAGlD,SAAO,IAAI,UAAU,GAAG,IAAI,GAAG,SAAS;AAC1C","sourcesContent":["import { Language } from \"./context\";\n\nexport enum LocaleEnum {\n /** English */\n en = \"en\",\n /** Chinese */\n zh = \"zh\",\n /** Japanese */\n ja = \"ja\",\n /** Spanish */\n es = \"es\",\n /** Korean */\n ko = \"ko\",\n /** Vietnamese */\n vi = \"vi\",\n /** German */\n de = \"de\",\n /** French */\n fr = \"fr\",\n /** Russian */\n ru = \"ru\",\n /** Indonesian */\n id = \"id\",\n /** Turkish */\n tr = \"tr\",\n /** Italian */\n it = \"it\",\n /** Portuguese */\n pt = \"pt\",\n /** Ukrainian */\n uk = \"uk\",\n /** Polish */\n pl = \"pl\",\n /** Dutch */\n nl = \"nl\",\n}\n\nexport const defaultLanguages: Language[] = [\n { localCode: LocaleEnum.en, displayName: \"English\" }, // English\n { localCode: LocaleEnum.zh, displayName: \"中文\" }, // Chinese\n { localCode: LocaleEnum.ja, displayName: \"日本語\" }, // Japanese\n { localCode: LocaleEnum.es, displayName: \"Español\" }, // Spanish\n { localCode: LocaleEnum.ko, displayName: \"한국어\" }, // Korean\n { localCode: LocaleEnum.vi, displayName: \"Tiếng Việt\" }, // Vietnamese\n { localCode: LocaleEnum.de, displayName: \"Deutsch\" }, // German\n { localCode: LocaleEnum.fr, displayName: \"Français\" }, // French\n { localCode: LocaleEnum.ru, displayName: \"Русский\" }, // Russian\n { localCode: LocaleEnum.id, displayName: \"Bahasa Indonesia\" }, // Indonesian\n { localCode: LocaleEnum.tr, displayName: \"Türkçe\" }, // Turkish\n { localCode: LocaleEnum.it, displayName: \"Italiano\" }, // Italian\n { localCode: LocaleEnum.pt, displayName: \"Português\" }, // Portuguese\n { localCode: LocaleEnum.uk, displayName: \"Українська\" }, // Ukrainian\n { localCode: LocaleEnum.pl, displayName: \"Polski\" }, // Polish\n { localCode: LocaleEnum.nl, displayName: \"Nederlands\" }, // Dutch\n];\nexport const defaultLng = LocaleEnum.en;\nexport const defaultNS = \"translation\";\n\nexport const i18nLocalStorageKey = \"orderly_i18nLng\";\n\n// preferred-language\nexport const i18nCookieKey = \"orderly_i18nLng\";\n","// import i18n from \"i18next\";\n// import { initReactI18next } from \"react-i18next\";\nimport { createInstance } from \"i18next\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nimport {\n defaultLng,\n defaultNS,\n i18nCookieKey,\n i18nLocalStorageKey,\n} from \"./constant\";\nimport { en } from \"./locale/en\";\n\nexport const resources = {\n [defaultLng]: { [defaultNS]: en },\n};\n\nconst languageDetector = new LanguageDetector(null, {\n lookupLocalStorage: i18nLocalStorageKey,\n lookupCookie: i18nCookieKey,\n caches: [\"localStorage\", \"cookie\"],\n});\n\n// i18n\n// // passes i18n down to react-i18next\n// .use(initReactI18next)\n// .init({\n// // the translations\n// resources,\n// // language to use, more information here: https://www.i18next.com/overview/configuration-options#languages-namespaces-resources\n// // you can use the i18n.changeLanguage function to change the language manually: https://www.i18next.com/overview/api#changelanguage\n// // if you're using a language detector, do not define the lng option\n// lng: \"en\",\n// fallbackLng: \"en\",\n// interpolation: {\n// // react already safes from xss => https://www.i18next.com/translation-function/interpolation#unescape\n// escapeValue: false,\n// },\n// });\n\n// https://react.i18next.com/latest/i18nextprovider#when-to-use\nconst i18n = createInstance({\n // lng: defaultLng,\n fallbackLng: defaultLng,\n // debug: true,\n interpolation: {\n escapeValue: false,\n },\n resources,\n}).use(languageDetector);\n\ni18n.init();\n\nexport default i18n;\n","export const affiliate = {\n \"affiliate.referral\": \"Referral\",\n \"affiliate.trader\": \"Trader\",\n\n \"affiliate.enter\": \"Enter\",\n \"affiliate.statistics\": \"Statistics\",\n\n \"affiliate.connectWallet.tooltip\":\n \"Please connect your wallet to use this function\",\n \"affiliate.createAccount.tooltip\":\n \"Create your account first to bind a referral code.\",\n\n \"affiliate.page.title\":\n \"Refer, earn, and grow - referral & affiliate program\",\n \"affiliate.page.subTitle\":\n \"Earn up to 60% in commissions by sharing your referral code. Invite friends, grow your network, and earn more.\",\n \"affiliate.page.learnMore\": \"Learn how it works\",\n\n \"affiliate.asAffiliate.affilates\": \"Affiliates\",\n \"affiliate.asAffiliate.title\": \"Referrer\",\n \"affiliate.asAffiliate.description\":\n \"Earn 10% commission from friends’ trades. Want higher commission rates? Submit an application to become an affiliate.\",\n \"affiliate.asAffiliate.button\": \"Become an affiliate\",\n \"affiliate.asTrader.title\": \"Referee (Trader)\",\n \"affiliate.asTrader.description\":\n \"Get rebates by trading with a referral code.\",\n \"affiliate.asTrader.button\": \"Enter code\",\n\n \"affiliate.referralCode\": \"Referral code\",\n \"affiliate.referralCode.dialog.title\": \"Bind a referral code\",\n \"affiliate.referralCode.dialog.description\":\n \"Bind a referral code to earn trading fee rebates.\",\n \"affiliate.referralCode.label\": \"Enter referral code\",\n \"affiliate.referralCode.bound\": \"Referral code bound\",\n \"affiliate.referralCode.notExist\": \"This referral code does not exist.\",\n\n \"affiliate.process.title\": \"How It Works\",\n \"affiliate.process.step1.title\": \"Trade $10,000+ or apply\",\n \"affiliate.process.step1.description\":\n \"Unlock a referral code automatically ($0 of $10,000 completed - main account only), or apply for a higher rate via the form.\",\n \"affiliate.process.step1.volumeEq0.title\": \"Get auto referral code or apply\",\n \"affiliate.process.step1.volumeEq0.description\":\n \"Your referral code is ready to use after placing your first trade. you can apply for a higher rate via form.\",\n \"affiliate.process.step1.volumeGt0.title\":\n \"Trade ${{requireVolume}}+ or apply\",\n \"affiliate.process.step1.volumeGt0.description\":\n \"Earn a referral code automatically (${{volume}} of ${{requireVolume}} completed), or apply for a higher rate via form.\",\n \"affiliate.process.step2.title\": \"Share\",\n \"affiliate.process.step2.description\":\n \"Share your personalized referral code with others to start earning.\",\n \"affiliate.process.step3.title\": \"Earn\",\n \"affiliate.process.step3.description\":\n \"Refer others to earn commission, or use a referral code to earn rebates on your trading\",\n \"affiliate.summary\": \"Summary\",\n \"affiliate.summary.refereesTraded\": \"Referees that traded\",\n\n \"affiliate.referralLink\": \"Referral link\",\n \"affiliate.referralLink.earn\": \"Earn\",\n \"affiliate.referralLink.earn.tooltip\":\n \"{{brokerName}} net fee that deduct Orderly fee.\",\n \"affiliate.referralLink.share\": \"Share\",\n \"affiliate.referralLink.share.tooltip\":\n \"Your referees get <0>{{value}}</0> of their {{brokerName}} net fee\",\n\n \"affiliate.referralVol\": \"Referral vol.\",\n\n \"affiliate.referralCodes\": \"Referral codes\",\n \"affiliate.referralCodes.remaining\": \"Remaining referral codes\",\n \"affiliate.referralCodes.column.you&Referee\": \"You / Referee\",\n \"affiliate.referralCodes.column.traders\": \"Traders\",\n \"affiliate.referralCodes.column.referees&Traders\": \"Referees / Traders\",\n \"affiliate.referralCodes.copyLink\": \"Copy link\",\n \"affiliate.upTo\": \"Up to 60%\",\n \"affiliate.commission\": \"Commission\",\n \"affiliate.commission.30d\": \"30d commission\",\n \"affiliate.commission.column.activeUsers\": \"Referral active users\",\n\n \"affiliate.myReferees\": \"My referees\",\n \"affiliate.referees\": \"Referees\",\n \"affiliate.referees.column.refereeAddress\": \"Referee address\",\n \"affiliate.referees.column.totalCommission\": \"Total commission\",\n \"affiliate.referees.column.totalVol\": \"Total vol.\",\n \"affiliate.referees.column.invitationTime\": \"Invitation time\",\n\n \"affiliate.trader.yourReferrer\": \"Your referrer\",\n \"affiliate.trader.rebate\": \"Rebate\",\n \"affiliate.trader.rebates\": \"Rebates\",\n \"affiliate.trader.rebate.30d\": \"30d trading rebates\",\n \"affiliate.trader.tradingRebates\": \"Trading rebates\",\n \"affiliate.trader.myRebates\": \"My rebates\",\n \"affiliate.trader.tradingVol\": \"Trading vol.\",\n \"affiliate.referralCode.editCodeModal.title\": \"Settings\",\n \"affiliate.referralCode.editCodeModal.description\": \"Edit your referral code\",\n \"affiliate.referralCode.editCodeModal.label\": \"Referral code\",\n \"affiliate.referralCode.editCodeModal.helpText.length\":\n \"Must be 4–10 characters long\",\n \"affiliate.referralCode.editCodeModal.helpText.format\":\n \"Only uppercase letters (A–Z) and numbers (0–9) are allowed\",\n \"affiliate.referralCode.editCodeModal.success\":\n \"Referral code updated successfully\",\n \"affiliate.referralRate.editRateModal.title\": \"Settings\",\n \"affiliate.referralRate.editRateModal.description\":\n \"Set the ratio of referral rate shared with your referees\",\n \"affiliate.referralRate.editRateModal.label\": \"Your max commission rate:\",\n \"affiliate.referralRate.editRateModal.label.you\": \"You receive\",\n \"affiliate.referralRate.editRateModal.label.referee\": \"Referee receives\",\n \"affiliate.referralRate.editRateModal.helpText.max\":\n \"The total commission rate must equal to your maximum commission rate limit\",\n \"affiliate.referralRate.editRateModal.success\":\n \"Referral rate updated successfully\",\n \"affiliate.referralTooltip\":\n \"Trade $10K to unlock your referral code and earn trading rebates from referrals.\",\n};\n\nexport type Affiliate = typeof affiliate;\n","export const chart = {\n \"chart.now\": \"Now\",\n};\n\nexport type Chart = typeof chart;\n","export const common = {\n \"common.cancel\": \"Cancel\",\n \"common.confirm\": \"Confirm\",\n \"common.ok\": \"OK\",\n \"common.yes\": \"Yes\",\n \"common.no\": \"No\",\n \"common.all\": \"All\",\n \"common.buy\": \"Buy\",\n \"common.sell\": \"Sell\",\n \"common.long\": \"Long\",\n \"common.short\": \"Short\",\n \"common.edit\": \"Edit\",\n \"common.save\": \"Save\",\n \"common.add\": \"Add\",\n \"common.delete\": \"Delete\",\n \"common.tips\": \"Tips\",\n \"common.max\": \"Max\",\n \"common.download\": \"Download\",\n \"common.copy\": \"Copy\",\n \"common.copy.failed\": \"Copy failed\",\n \"common.copy.copied\": \"Copied\",\n \"common.share\": \"Share\",\n \"common.export\": \"Export\",\n\n \"common.select.1d\": \"1D\",\n \"common.select.3d\": \"3D\",\n \"common.select.7d\": \"7D\",\n \"common.select.14d\": \"14D\",\n \"common.select.30d\": \"30D\",\n \"common.select.90d\": \"90D\",\n\n \"common.price\": \"Price\",\n \"common.quantity\": \"Quantity\",\n \"common.qty\": \"Qty\",\n \"common.status\": \"Status\",\n \"common.status.all\": \"All status\",\n\n \"common.date\": \"Date\",\n \"common.time\": \"Time\",\n \"common.volume\": \"Volume\",\n \"common.total\": \"Total\",\n \"common.symbol\": \"Symbol\",\n \"common.token\": \"Token\",\n \"common.amount\": \"Amount\",\n\n \"common.side\": \"Side\",\n \"common.side.all\": \"All sides\",\n \"common.type\": \"Type\",\n \"common.notional\": \"Notional\",\n \"common.fee\": \"Fee\",\n \"common.fees\": \"Fees\",\n \"common.effectiveFee\": \"Effective Fees\",\n\n \"common.orderPrice\": \"Order price\",\n \"common.avgPrice\": \"Avg. price\",\n \"common.avgOpen\": \"Avg. open\",\n \"common.avgClose\": \"Avg. close\",\n \"common.trigger\": \"Trigger\",\n \"common.lastPrice\": \"Last price\",\n \"common.indexPrice\": \"Index price\",\n \"common.markPrice\": \"Mark price\",\n \"common.limitPrice\": \"Limit price\",\n \"common.marketPrice\": \"Market\",\n \"common.market\": \"Market\",\n \"common.limit\": \"Limit\",\n \"common.triggerPrice\": \"Trigger price\",\n\n \"common.unrealizedPnl\": \"Unrealized PnL\",\n \"common.realizedPnl\": \"Realized PnL\",\n \"common.pnl\": \"PnL\",\n \"common.totalValue\": \"Total value\",\n \"common.address\": \"Address\",\n \"common.address.search.placeholder\": \"Search address\",\n \"common.available\": \"Available\",\n\n \"common.overview\": \"Overview\",\n \"common.funding\": \"Funding\",\n \"common.assets\": \"Assets\",\n \"common.allAssets\": \"All assets\",\n \"common.countdown\": \"Countdown\",\n \"common.current\": \"Current\",\n \"common.account\": \"Account\",\n\n \"common.deposit\": \"Deposit\",\n \"common.withdraw\": \"Withdraw\",\n \"common.deposits\": \"Deposits\",\n \"common.withdrawals\": \"Withdrawals\",\n \"common.transfer\": \"Transfer\",\n \"common.inflow\": \"Inflow\",\n \"common.outflow\": \"Outflow\",\n \"common.settle\": \"Settle\",\n \"common.markets\": \"Markets\",\n \"common.portfolio\": \"Portfolio\",\n \"common.positions\": \"Positions\",\n \"common.position\": \"Position\",\n \"common.orders\": \"Orders\",\n \"common.tpsl\": \"TP/SL\",\n \"common.leverage\": \"Leverage\",\n \"common.affiliate\": \"Affiliate\",\n \"common.tradingRewards\": \"Trading rewards\",\n \"common.trading\": \"Trade\",\n \"common.spot\": \"Spot\",\n \"common.earn\": \"Earn\",\n \"common.stake\": \"Stake\",\n \"common.perps\": \"Perps\",\n \"common.allAccount\": \"All accounts\",\n \"common.mainAccount\": \"Main account\",\n \"common.subAccount\": \"Sub account\",\n \"common.settings\": \"Settings\",\n \"common.accountId\": \"Account ID\",\n \"common.web3Wallet\": \"Web3 wallet\",\n \"common.txId\": \"TxID\",\n \"common.result\": \"Result\",\n \"common.orderQty\": \"Order Qty.\",\n \"common.positionQty\": \"Position Qty.\",\n \"common.estTotal\": \"Est. Total\",\n \"common.fullTPSL\": \"Full TP/SL\",\n \"common.partialTPSL\": \"Partial TP/SL\",\n \"common.vaults\": \"Vaults\",\n \"common.optional\": \"Optional\",\n \"common.learnMore\": \"Learn more\",\n \"common.switch\": \"Switch\",\n \"common.notSupported\": \"Not supported\",\n\n \"common.details\": \"Details\",\n \"common.somethingWentWrong\": \"Something went wrong. Please try again later.\",\n \"common.rwa\": \"RWA\",\n \"common.new\": \"New\",\n \"common.dayShort\": \"D\",\n \"common.hourShort\": \"H\",\n \"common.minuteShort\": \"M\",\n \"common.secondShort\": \"S\",\n\n \"common.offlineDescription\":\n \"Currently disconnected, please refresh the page\",\n \"common.refresh\": \"Refresh\",\n};\n","export const connector = {\n \"connector.testnet\": \"Testnet\",\n \"connector.mainnet\": \"Mainnet\",\n\n \"connector.connect\": \"Connect\",\n \"connector.disconnect\": \"Disconnect\",\n \"connector.connectWallet\": \"Connect wallet\",\n // \"connector.signIn\": \"Sign in\",\n // \"connector.signIn.description\": \"Confirm you are the owner of this wallet\",\n \"connector.createAccount\": \"Create account\",\n\n \"connector.createAccountWithLedger\": \"Create account with ledger\",\n \"connector.enableTradingWithLedger\": \"Enable trading with ledger\",\n \"connector.disconnectWallet\": \"Disconnect wallet\",\n \"connector.createAccount.description\":\n \"Confirm wallet ownership to create an account\",\n \"connector.enableTrading\": \"Enable trading\",\n \"connector.enableTrading.description\":\n \"Enable secure access to our API for lightning fast trading\",\n\n \"connector.switchNetwork\": \"Switch Network\",\n \"connector.wrongNetwork\": \"Wrong network\",\n \"connector.wrongNetwork.tooltip\":\n \"Please switch to a supported network to continue.\",\n\n \"connector.expired\":\n \"Your previous access has expired, you will receive a signature request to enable trading. Signing is free and will not send a transaction.\",\n\n \"connector.rememberMe\": \"Remember me\",\n \"connector.rememberMe.description\":\n \"Toggle this option to skip these steps next time you want to trade.\",\n\n \"connector.referralCode.placeholder\": \"Referral code (Optional)\",\n \"connector.referralCode.invalid\":\n \"The referral_code must be 4 to 10 characters long, only accept upper case roman characters and numbers\",\n \"connector.referralCode.notExist\": \"This referral code does not exist.\",\n\n \"connector.somethingWentWrong\": \"Something went wrong\",\n \"connector.userRejected\": \"User rejected the request.\",\n\n \"connector.walletConnected\": \"Wallet connected\",\n \"connector.networkSwitched\": \"Network switched\",\n \"connector.switchChain.failed\": \"Switch chain failed\",\n\n \"connector.trade.connectWallet.tooltip\":\n \"Please connect wallet before starting to trade\",\n // \"connector.trade.signIn.tooltip\": \"Please sign in before starting to trade\",\n \"connector.trade.createAccount.tooltip\":\n \"Please create account before starting to trade\",\n \"connector.trade.enableTrading.tooltip\":\n \"Please enable trading before starting to trade\",\n\n \"connector.setUp.connectWallet.tooltip\":\n \"Please connect wallet before set up\",\n // \"connector.setUp.signIn.tooltip\": \"Please sign in before set up\",\n \"connector.setUp.createAccount.tooltip\":\n \"Please create account before set up\",\n \"connector.setUp.enableTrading.tooltip\":\n \"Please enable trading before set up\",\n\n \"connector.ledger.signMessageFailed\": \"Sign Message Failed\",\n \"connector.ledger.signMessageFailed.description\":\n \"Are you using Ledger Wallet?\",\n\n \"connector.privy.loginIn\": \"Login in\",\n \"connector.privy.logout\": \"Log out\",\n \"connector.privy.email\": \"Email\",\n \"connector.privy.google\": \"Google\",\n \"connector.privy.twitter\": \"X / Twitter\",\n \"connector.privy.telegram\": \"Telegram\",\n \"connector.privy.myWallet\": \"My wallet\",\n \"connector.privy.addEvmWallet\": \"Add Evm wallet\",\n \"connector.privy.addSolanaWallet\": \"Add Solana wallet\",\n \"connector.privy.addAbstractWallet\": \"Add Abstract wallet\",\n \"connector.privy.createEvmWallet\": \"Create Evm wallet\",\n \"connector.privy.createSolanaWallet\": \"Create Solana wallet\",\n \"connector.privy.termsOfUse\":\n \"By connecting your wallet, you acknowledge and agree to the <0>terms of use</0>.\",\n \"connector.privy.supportedEvmChain\": \"Supported Evm chain\",\n \"connector.privy.supportedSolanaChain\": \"Supported Solana chain\",\n \"connector.privy.noWallet\": \"No wallet\",\n \"connector.privy.noWallet.description\":\n \"Please create a wallet to proceed. Only you can access the private key. You can export the private key and import your wallet into another wallet client, such as MetaMask or Phantom, at any time.\",\n \"connector.privy.switchNetwork.tips\": \"Switch to {{chainName}} to continue.\",\n \"connector.privy.addEvmWallet.tips\":\n \"Connect an EVM-compatible wallet to continue using the EVM network.\",\n \"connector.privy.addSolanaWallet.tips\":\n \"Connect an Solana-compatible wallet to continue using the Solana network.\",\n \"connector.privy.addAbstractWallet.tips\":\n \"Connect an Abstract-compatible wallet to continue using the Abstract network.\",\n \"connector.privy.pwa.title\": \"Prefer an app-like experience? Try the PWA\",\n \"connector.privy.pwa.sheetTitle\": \"Add as App\",\n \"connector.privy.pwa.description\":\n \"For a better mobile experience, add this website to your home screen as an app from Safari or Chrome.\",\n \"connector.privy.pwa.step1\": \"Click the share icon in the browser menu.\",\n \"connector.privy.pwa.step2\": \"Choose Add to Home Screen in the options.\",\n \"connector.privy.pwa.findOnPage\": \"Find on Page\",\n \"connector.privy.pwa.addToHomeScreen\": \"Add to Home Screen\",\n};\n\nexport type Connector = typeof connector;\n","export const leverage = {\n \"leverage.maxAccountLeverage\": \"Max account leverage\",\n \"leverage.accountLeverage\": \"Account leverage\",\n \"leverage.currentLeverage\": \"Current leverage\",\n \"leverage.maxLeverage\": \"Max leverage\",\n \"leverage.updated\": \"Leverage updated\",\n \"leverage.adjustedLeverage\": \"Adjust leverage\",\n \"leverage.maxPositionLeverage.tips\":\n \"* Maximum position at current leverage: <0>{{amount}}</0> USDC\",\n \"leverage.maxAvailableLeverage.tips\":\n \"* Highest available leverage <0>{{leverage}}</0>. Selecting higher leverage increases your liquidation risk.\",\n \"leverage.overRequiredMargin.tips\":\n \"Margin is not enough. Please try adjusting to another leverage level.\",\n \"leverage.overMaxPositionLeverage.tips\":\n \"Current highest available leverage is <0>{{leverage}}</0>. Please try adjusting to another leverage level.\",\n \"leverage.confirm\": \"Leverage confirm\",\n \"leverage.confirm.content\":\n \"If you modify the leverage, it will also affect your ongoing positions on this symbol.\",\n \"leverage.confirm.disable.confirmation\": \"Disable confirmation\",\n \"leverage.actualPositionLeverage.tips\":\n \"* Actual position leverage adjusts with notional changes and may fall below your selected leverage.\",\n};\n\nexport type Leverage = typeof leverage;\n","export const markets = {\n \"markets.favorites\": \"Favorites\",\n \"markets.recent\": \"Recent\",\n \"markets.newListings\": \"New listings\",\n \"markets.allMarkets\": \"All markets\",\n \"markets.openInterest\": \"Open interest\",\n \"markets.openInterest.tooltip\": \"Total size of positions per side.\",\n\n \"markets.topGainers\": \"Top gainers\",\n \"markets.topLosers\": \"Top losers\",\n\n \"markets.search.placeholder\": \"Search market\",\n \"markets.dataList.favorites.empty\":\n \"Click on the <0/> icon next to a market to add it to your list.\",\n\n \"markets.dataList.column.8hFunding\": \"8h funding\",\n \"markets.dataList.column.moveTop\": \"Move to top\",\n\n \"markets.favorites.dropdown.title\": \"Select lists for\",\n \"markets.favorites.dropdown.addPlaceholder\": \"Add a new watchlist\",\n \"markets.favorites.tabs.maxList\": \"Maximum 10 groups in the favorite list\",\n \"markets.favorites.tabs.maxName\": \"List name cannot exceed 15 characters\",\n \"markets.favorites.tabs.delete.dialog.title\": \"Delete list\",\n \"markets.favorites.tabs.delete.dialog.description\":\n \"Are you sure you want to delete {{name}}?\",\n \"markets.favorites.addFavorites\": \"Add favorites\",\n\n \"markets.column.market\": \"Market\",\n \"markets.column.24hChange\": \"24h change\",\n \"markets.column.24hVolume\": \"24h volume\",\n // TODO: use markets.column.market and common.volume\n \"markets.column.market&Volume\": \"Market / Volume\",\n // TODO: confirm \"change\" first letter capital\n \"markets.column.price&Change\": \"Price / Change\",\n \"markets.column.last\": \"Last\",\n \"markets.column.24hPercentage\": \"24h%\",\n\n \"markets.funding.comparison\": \"Comparison\",\n \"markets.funding.column.estFunding\": \"Est. funding\",\n \"markets.funding.column.lastFunding\": \"Last funding\",\n \"markets.funding.column.1dAvg\": \"1D avg.\",\n \"markets.funding.column.3dAvg\": \"3D avg.\",\n \"markets.funding.column.7dAvg\": \"7D avg.\",\n \"markets.funding.column.14dAvg\": \"14D avg.\",\n \"markets.funding.column.30dAvg\": \"30D avg.\",\n \"markets.funding.column.90dAvg\": \"90D avg.\",\n \"markets.funding.column.positiveRate\": \"Positive rate\",\n\n \"markets.symbolInfoBar.Mark\": \"Mark\",\n \"markets.symbolInfoBar.Mark.tooltip\":\n \"Price for the computation of unrealized PnL and liquidation.\",\n \"markets.symbolInfoBar.Index\": \"Index\",\n \"markets.symbolInfoBar.Index.tooltip\":\n \"Average of the last prices across other exchanges.\",\n \"markets.symbolInfoBar.24hVolume\": \"24h volume\",\n \"markets.symbolInfoBar.24hVolume.tooltip\":\n \"24 hour total trading volume on the Orderly Network.\",\n \"markets.symbolInfoBar.predFundingRate\": \"Pred. funding rate\",\n \"markets.symbolInfoBar.predFundingRate.tooltip\":\n \"Funding rates are payments between traders who are long and short. When positive, long positions pay short positions funding. When negative, short positions pay long positions.\",\n};\n\nexport type Markets = typeof markets;\n","export const notification = {\n // Announcement related keys\n \"notification.campaign\": \"Campaign announcement\",\n \"notification.delisting\": \"Token delisting\",\n \"notification.general\": \"General update\",\n \"notification.joinNow\": \"Join now\",\n \"notification.listing\": \"New token listing\",\n \"notification.maintenance\": \"System maintenance\",\n \"notification.maintenanceDuration.hours\":\n \"{{hours}} HRs at {{startTimeFormatted}} - {{endTimeFormatted}} (UTC)\",\n \"notification.maintenanceDuration.minutes\":\n \"{{minutes}} MINs at {{startTimeFormatted}} - {{endTimeFormatted}} (UTC)\",\n \"notification.recentlyUpdated\": \"Recently updated\",\n \"notification.title\": \"Announcement\",\n \"notification.centerTitle\": \"Announcement center\",\n\n // Notification related keys\n \"notification.closeAll\": \"Close all ({{total}})\",\n \"notification.delistingTitle\": \"Token Delisting Notice\",\n \"notification.generalTitle\": \"General Update\",\n \"notification.maintenanceTitle\": \"System Maintenance\",\n \"notification.empty\": \"No announcements\",\n};\n\nexport type Notification = typeof notification;\n","export const orderEntry = {\n \"orderEntry.buyLong\": \"Buy / Long\",\n \"orderEntry.sellShort\": \"Sell / Short\",\n \"orderEntry.reduceOnly\": \"Reduce only\",\n \"orderEntry.orderType.limit\": \"Limit\",\n \"orderEntry.orderType.market\": \"Market\",\n // TODO:use orderEntry.orderType.limit\n \"orderEntry.orderType.limitOrder\": \"Limit\",\n // TODO:use orderEntry.orderType.market\n \"orderEntry.orderType.marketOrder\": \"Market\",\n \"orderEntry.orderType.stopLimit\": \"Stop limit\",\n \"orderEntry.orderType.stopMarket\": \"Stop market\",\n \"orderEntry.orderType.postOnly\": \"Post only\",\n \"orderEntry.orderType.ioc\": \"IOC\",\n \"orderEntry.orderType.fok\": \"FOK\",\n \"orderEntry.orderType.scaledOrder\": \"Scaled\",\n \"orderEntry.orderType.trailingStop\": \"Trailing stop\",\n \"orderEntry.orderSize\": \"Order size\",\n \"orderEntry.initialMargin\": \"Initial margin\",\n\n \"orderEntry.startPrice\": \"Start price\",\n \"orderEntry.endPrice\": \"End price\",\n \"orderEntry.skew\": \"Skew\",\n \"orderEntry.totalOrders\": \"Total orders\",\n \"orderEntry.totalQuantity\": \"Total quantity\",\n \"orderEntry.trailingRate\": \"Trailing rate\",\n \"orderEntry.trailingValue\": \"Trailing value\",\n \"orderEntry.trailing\": \"Trailing\",\n\n \"orderEntry.quantityDistribution\": \"Qty distribution\",\n\n \"orderEntry.quantityDistribution.description\":\n \"Controls how order size is distributed across price levels. \",\n \"orderEntry.quantityDistribution.formula\":\n \"Size Skew = (Size at end price) ÷ (Size at start price)\",\n\n \"orderEntry.distributionType.flat\": \"Flat\",\n \"orderEntry.distributionType.ascending\": \"Ascending\",\n \"orderEntry.distributionType.ascending.abbr\": \"Asc.\",\n \"orderEntry.distributionType.descending\": \"Descending\",\n \"orderEntry.distributionType.descending.abbr\": \"Desc.\",\n \"orderEntry.distributionType.custom\": \"Custom\",\n\n \"orderEntry.distributionType.flat.description\":\n \"Uniform order allocation across the range.\",\n \"orderEntry.distributionType.ascending.description\":\n \"Larger order sizes toward the end of the price range\",\n \"orderEntry.distributionType.descending.description\":\n \"Larger order sizes near the start of the price range\",\n\n \"orderEntry.bbo\": \"BBO\",\n \"orderEntry.bbo.counterparty1\": \"Counterparty 1\",\n \"orderEntry.bbo.counterparty5\": \"Counterparty 5\",\n \"orderEntry.bbo.queue1\": \"Queue 1\",\n \"orderEntry.bbo.queue5\": \"Queue 5\",\n \"orderEntry.bbo.disabled.tips\":\n \"BBO is not supported when TP/SL, Post-Only, IOC, or FOK is selected.\",\n\n \"orderEntry.estLiqPrice\": \"Est. liq. price\",\n\n \"orderEntry.disableOrderConfirm\": \"Disable order confirmation\",\n \"orderEntry.orderConfirm\": \"Order confirm\",\n \"orderEntry.confirmScaledOrder\": \"Confirm scaled order\",\n \"orderEntry.hidden\": \"Hidden\",\n \"orderEntry.keepVisible\": \"Keep visible\",\n\n \"orderEntry.maxBuy\": \"Max buy\",\n \"orderEntry.maxSell\": \"Max sell\",\n\n \"orderEntry.tpMarkPrice\": \"TP price (Mark)\",\n \"orderEntry.slMarkPrice\": \"SL price (Mark)\",\n \"orderEntry.tpsl.trigger.description\":\n \"TP/SL triggers at the specified mark price and executes as a market order.\",\n \"orderEntry.estRoi\": \"Est.ROI\",\n \"orderEntry.estPnL\": \"Est.PnL\",\n\n \"orderEntry.tpsl.tips\":\n \"TP/SL triggers at the specified mark price and executes as a market order. By default, it applies to the entire position. Adjust settings in open positions for partial TP/SL.\",\n\n // form errors\n \"orderEntry.orderQuantity.error.required\": \"Quantity is required\",\n \"orderEntry.orderQuantity.error.min\":\n \"Quantity must be greater than {{value}}\",\n \"orderEntry.orderQuantity.error.max\": \"Quantity must be less than {{value}}\",\n\n \"orderEntry.orderPrice.error.required\": \"Price is required\",\n \"orderEntry.orderPrice.error.min\": \"Price must be greater than {{value}}\",\n \"orderEntry.orderPrice.error.max\": \"Price must be less than {{value}}\",\n\n \"orderEntry.triggerPrice.error.required\": \"Trigger price is required\",\n \"orderEntry.triggerPrice.error.min\":\n \"Trigger price must be greater than {{value}}\",\n \"orderEntry.triggerPrice.error.max\":\n \"Trigger price must be less than {{value}}\",\n\n \"orderEntry.tpTriggerPrice.error.min\":\n \"TP Price must be greater than {{value}}\",\n \"orderEntry.tpTriggerPrice.error.max\": \"TP Price must be less than {{value}}\",\n\n \"orderEntry.slTriggerPrice.error.min\":\n \"SL Price must be greater than {{value}}\",\n \"orderEntry.slTriggerPrice.error.max\": \"SL Price must be less than {{value}}\",\n\n \"orderEntry.total.error.min\":\n \"The order value should be greater or equal to {{value}} USDC\",\n \"orderEntry.initialMarginTotal.error.min\":\n \"The initial margin should be greater or equal to {{value}} USDC\",\n\n \"orderEntry.startPrice.error.required\": \"Start price is required\",\n \"orderEntry.startPrice.error.min\":\n \"Start price must be greater than {{value}}\",\n \"orderEntry.startPrice.error.max\": \"Start price must be less than {{value}}\",\n\n \"orderEntry.endPrice.error.required\": \"End price is required\",\n \"orderEntry.endPrice.error.min\": \"End price must be greater than {{value}}\",\n \"orderEntry.endPrice.error.max\": \"End price must be less than {{value}}\",\n\n \"orderEntry.totalOrders.error.required\": \"Total orders is required\",\n \"orderEntry.totalOrders.error.range\":\n \"Total orders must be in the range of 2 to 20.\",\n\n \"orderEntry.skew.error.required\": \"Skew is required\",\n \"orderEntry.skew.error.min\": \"Skew must be greater than {{value}}\",\n \"orderEntry.skew.error.max\": \"Skew must be less than {{value}}\",\n\n \"orderEntry.callbackValue.error.min\":\n \"Trailing value must be greater than {{value}}\",\n \"orderEntry.callbackValue.error.range\":\n \"Trailing value needs to be greater than {{min}} and less than {{max}}\",\n \"orderEntry.callbackRate.error.range\":\n \"Trailing rate needs to be greater than or equal to {{min}} and less than or equal to {{max}}\",\n \"orderEntry.callbackValue.error.required\": \"Trailing value is required\",\n \"orderEntry.callbackRate.error.required\": \"Trailing rate is required\",\n\n \"orderEntry.slippage\": \"Slippage\",\n \"orderEntry.slippage.est\": \"Est\",\n \"orderEntry.slippage.tips\":\n \"Your transaction will revert if the price changs unfavorably by more than this percentage.\",\n \"orderEntry.slippage.error.exceed\":\n \"The current input value cannot exceed 3%\",\n \"orderEntry.slippage.error.max\":\n \"Estimated slippage exceeds your maximum allowed slippage.\",\n\n \"orderEntry.confirmScaledOrder.orderPrice.warning\":\n \"This order will be filled immediately based on the current market price.\",\n \"orderEntry.scaledOrder.fullySuccessful\":\n \"Scaled order placed: {{total}} orders submitted successfully.\",\n \"orderEntry.scaledOrder.partiallySuccessful\":\n \"Scaled order partially submitted: {{successCount}} of {{total}} orders placed.\",\n \"orderEntry.scaledOrder.allFailed\":\n \"Scaled order failed. No orders were placed.\",\n\n \"orderEntry.reduceOnly.reminder\": \"Reduce-only reminder\",\n \"orderEntry.reduceOnly.reminder.content\":\n \"Your account is in reduce-only and cannot open new positions. Would you like to turn off reduce-only mode and proceed with the order?\",\n \"orderEntry.placeOrderNow\": \"Place order now\",\n \"orderEntry.maxQty.reminder.content\":\n \"Order qty reduced to max available: {{maxQty}}\",\n};\n\nexport type OrderEntry = typeof orderEntry;\n","export const orders = {\n \"orders.orderHistory\": \"Order history\",\n\n \"orders.status.pending\": \"Pending\",\n \"orders.status.filled\": \"Filled\",\n \"orders.status.partialFilled\": \"Partial filled\",\n \"orders.status.canceled\": \"Canceled\",\n \"orders.status.rejected\": \"Rejected\",\n \"orders.status.incomplete\": \"Incomplete\",\n \"orders.status.completed\": \"Completed\",\n\n \"orders.status.opened.toast.title\": \"Order opened\",\n \"orders.status.filled.toast.title\": \"Order filled\",\n \"orders.status.canceled.toast.title\": \"Order canceled\",\n \"orders.status.rejected.toast.title\": \"Order rejected\",\n \"orders.status.replaced.toast.title\": \"Order edited\",\n\n \"orders.status.scaledSubOrderOpened.toast.title\":\n \"Scale order: sub-order opened\",\n \"orders.trailingStop.activated\": \"Trailing order activated\",\n\n \"orders.column.fill&Quantity\": \"Filled / Quantity\",\n \"orders.column.orderTime\": \"Order time\",\n \"orders.column.hidden\": \"Hidden\",\n\n \"orders.editOrder\": \"Edit order\",\n \"order.edit.confirm.quantity\":\n \"You agree changing the quantity of {{base}}-PERP order to <0>{{value}}</0>.\",\n \"order.edit.confirm.price\":\n \"You agree changing the price of {{base}}-PERP order to <0>{{value}}</0>.\",\n \"order.edit.confirm.triggerPrice\":\n \"You agree changing the trigger price of {{base}}-PERP order to <0>{{value}}</0>.\",\n \"order.edit.confirm.callbackValue\":\n \"You agree changing the callback value of {{base}}-PERP order to <0>{{value}}</0>.\",\n \"order.edit.confirm.callbackRate\":\n \"You agree changing the callback rate of {{base}}-PERP order to <0>{{value}}</0>.\",\n\n \"orders.cancelOrder\": \"Cancel order\",\n \"orders.cancelOrder.description\":\n \"Are you sure you want to cancel your pending order.\",\n\n \"orders.cancelAll\": \"Cancel all\",\n \"orders.pending.cancelAll\": \"Cancel all pending orders\",\n \"orders.pending.cancelAll.description\":\n \"Are you sure you want to cancel all of your pending orders?\",\n \"orders.tpsl.cancelAll\": \"Cancel all TP/SL orders\",\n \"orders.tpsl.cancelAll.description\":\n \"Are you sure you want to cancel all of your TP/SL orders?\",\n\n \"orders.cancelAll.ofSymbol\": \"Cancel all of {{symbol}}\",\n \"orders.pending.cancelAll.forSymbol\":\n \"Cancel all pending orders for {{symbol}}\",\n \"orders.pending.cancelAll.forSymbol.description\":\n \"Are you sure you want to cancel all pending orders for {{symbol}}?\",\n \"orders.tpsl.cancelAll.forSymbol\": \"Cancel all TP/SL orders for {{symbol}}\",\n \"orders.tpsl.cancelAll.forSymbol.description\":\n \"Are you sure you want to cancel all TP/SL orders for {{symbol}}?\",\n\n \"orders.price.greaterThan\": \"Price can not be greater than {{max}} USDC.\",\n \"orders.price.lessThan\": \"Price can not be less than {{min}} USDC.\",\n\n \"orders.quantity.lessThan\": \"Quantity should be less than {{quantity}}\",\n \"orders.quantity.lessThanPosition\":\n \"Quantity should be less than position quantity : {{quantity}}\",\n\n \"orders.history.renew\": \"Renew\",\n\n \"orders.download.tooltip\":\n \"The downloaded data will reflect only the applied filters (e.g., status, time, side, and pagination) and may not include all records.\",\n};\n\nexport type Orders = typeof orders;\n","export const portfolio = {\n \"portfolio.feeTier\": \"Fee tier\",\n \"portfolio.apiKeys\": \"API Keys\",\n \"portfolio.setting\": \"Settings\",\n\n \"portfolio.overview.availableWithdraw\": \"Available to withdraw\",\n \"portfolio.overview.handle.title\": \"Portfolio value\",\n\n \"portfolio.overview.performance\": \"Performance\",\n \"portfolio.overview.performance.roi\": \"{{period}} ROI\",\n \"portfolio.overview.performance.roi.tooltip\":\n \"ROI = PnL / (Start account value + Total deposits + Total transfer-in)\",\n \"portfolio.overview.performance.pnl\": \"{{period}} PnL\",\n \"portfolio.overview.performance.pnl.tooltip\":\n \"PnL = Current account value − Start account value − Total deposits + Total withdrawals − Total transfer-in + Total transfer-out\",\n \"portfolio.overview.performance.volume\": \"{{period}} Volume\",\n \"portfolio.overview.performance.volume.tooltip\":\n \"Trading volume over the selected period.\",\n \"portfolio.overview.performance.dailyPnl\": \"Daily PnL\",\n \"portfolio.overview.performance.cumulativePnl\": \"Cumulative PnL\",\n\n \"portfolio.overview.distribution\": \"Distribution\",\n \"portfolio.overview.transferHistory\": \"Transfer history\",\n \"portfolio.overview.vaults\": \"Vaults\",\n \"portfolio.overview.vaultName\": \"Vault name\",\n \"portfolio.overview.column.txId\": \"TxID\",\n\n \"portfolio.overview.column.token\": \"Token\",\n \"portfolio.overview.column.qty\": \"Qty.\",\n \"portfolio.overview.column.indexPrice\": \"Index price\",\n \"portfolio.overview.column.assetValue\": \"Asset value\",\n \"portfolio.overview.column.collateralRatio\": \"Collateral ratio\",\n \"portfolio.overview.column.collateralRatio.explain\":\n \"Collateral ratio shows how much of an asset’s value can be used as margin\",\n \"portfolio.overview.column.assetContribution\": \"Asset contribution\",\n\n \"portfolio.overview.column.form\": \"Form\",\n \"portfolio.overview.column.to\": \"To\",\n\n \"portfolio.overview.column.convert.convertedAsset\": \"Converted asset\",\n \"portfolio.overview.column.convert.usdcAmount\": \"USDC amount\",\n \"portfolio.overview.column.convert.convertId\": \"Convert ID\",\n \"portfolio.overview.column.convert.details\": \"Details\",\n \"portfolio.overview.tab.convert.history\": \"Convert history\",\n \"portfolio.overview.convert.dialog.title.details\": \"Convert details\",\n\n \"portfolio.overview.distribution.type.referralCommission\":\n \"Referral commission\",\n \"portfolio.overview.distribution.type.refereeRebate\": \"Referee rebate\",\n \"portfolio.overview.distribution.type.brokerFee\": \"Broker fee\",\n\n \"portfolio.feeTier.lastUpdatedTime\": \"Last updated time\",\n \"portfolio.feeTier.header.30dVolume\": \"30D trading volume\",\n \"portfolio.feeTier.header.vipTier\": \"VIP tier\",\n \"portfolio.feeTier.header.refCode\": \"Ref code\",\n \"portfolio.feeTier.header.takerFeeRate\": \"Taker fee rate\",\n \"portfolio.feeTier.header.makerFeeRate\": \"Maker fee rate\",\n \"portfolio.feeTier.header.myStake\": \"My stake\",\n \"portfolio.feeTier.vip.discount\": \"Discount {{discount}}\",\n \"portfolio.feeTier.vip.learnMore\": \"Learn more\",\n \"portfolio.feeTier.vip.stakeNow\": \"Stake xKDK\",\n \"portfolio.feeTier.vip.tiersTitle\": \"VIP staking tiers\",\n \"portfolio.feeTier.vip.tiersSubtitle\":\n \"Stake xKDK to unlock trading fee discounts, earn protocol rewards, and participate in governance\",\n \"portfolio.feeTier.vip.staked\": \"xKDK staked\",\n \"portfolio.feeTier.vip.discountNote\":\n \"*Trading fee discount applies to the Kodiak portion of the fees.\",\n \"portfolio.feeTier.vip.base\": \"Base\",\n \"portfolio.feeTier.vip.stakeRequirement\": \"{{amount}} xKDK staked\",\n \"portfolio.feeTier.vip.column.tier\": \"Tier\",\n \"portfolio.feeTier.vip.column.staked\": \"xKDK staked\",\n \"portfolio.feeTier.vip.column.discount\": \"Trading fee discount\",\n \"portfolio.feeTier.column.tier\": \"Tier\",\n \"portfolio.feeTier.column.30dVolume\": \"30 day volume\",\n \"portfolio.feeTier.column.30dVolume.above\": \"Above {{volume}}\",\n \"portfolio.feeTier.column.stakingLevel\": \"Staking Level\",\n \"portfolio.feeTier.column.or\": \"or\",\n \"portfolio.feeTier.column.maker\": \"Maker\",\n \"portfolio.feeTier.column.taker\": \"Taker\",\n \"portfolio.feeTier.effectiveFee.tooltip\":\n \"Effective fee rate after applying your referee rebate.\",\n \"portfolio.feeTier.effectiveFee.tooltipLink\": \"Check rebate history\",\n \"portfolio.apiKey.accountId.copied\": \"Account id copied\",\n \"portfolio.apiKey.uid\": \"UID\",\n \"portfolio.apiKey.secretKey\": \"Secret key\",\n \"portfolio.apiKey.secretKey.copied\": \"Secret key copied\",\n\n \"portfolio.apiKey.ip\": \"IP\",\n \"portfolio.apiKey.permissions\": \"Permissions\",\n \"portfolio.apiKey.permissions.read\": \"Read\",\n \"portfolio.apiKey.permissions.trading\": \"Trading\",\n\n \"portfolio.apiKey.description\":\n \"Create API keys to suit your trading needs. For your security, don't share your API keys with anyone.\",\n \"portfolio.apiKey.readApiGuide\": \"Read API guide\",\n\n \"portfolio.apiKey.column.apiKey\": \"API key\",\n \"portfolio.apiKey.column.apiKey.copy\": \"API key copied\",\n \"portfolio.apiKey.column.permissionType\": \"Permission type\",\n \"portfolio.apiKey.column.restrictedIP\": \"Restricted IP\",\n \"portfolio.apiKey.column.restrictedIP.copy\": \"Restricted IP copied\",\n \"portfolio.apiKey.column.expirationDate\": \"Expiration date\",\n\n \"portfolio.apiKey.create.dialog.title\": \"Create API key\",\n\n \"portfolio.apiKey.create.connectWallet.tooltip\":\n \"Please connect wallet before create API key\",\n // \"portfolio.apiKey.create.signIn.tooltip\":\n // \"Please sign in before create API key\",\n \"portfolio.apiKey.create.createAccount.tooltip\":\n \"Please create account before create API key\",\n \"portfolio.apiKey.create.enableTrading.tooltip\":\n \"Please enable trading before create API key\",\n \"portfolio.apiKey.create.wrongNetwork.tooltip\":\n \"Please switch to a supported network to create API key\",\n\n \"portfolio.apiKey.create.ipRestriction\": \"IP restriction (optional)\",\n \"portfolio.apiKey.create.ipRestriction.placeholder\":\n \"Add IP addresses, separated by commas.\",\n\n \"portfolio.apiKey.created.warning\":\n \"Please copy the API secret. Once you close this pop-up, the API secret will be encrypted.\",\n \"portfolio.apiKey.created.button.copyApiInfo\": \"Copy API info\",\n \"portfolio.apiKey.apiInfo.copied\": \"API info copied\",\n\n \"portfolio.apiKey.created\": \"API key created\",\n \"portfolio.apiKey.deleted\": \"API key deleted\",\n \"portfolio.apiKey.updated\": \"API key updated\",\n\n \"portfolio.apiKey.edit.dialog.title\": \"Edit API key\",\n \"portfolio.apiKey.delete.dialog.title\": \"Delete API key\",\n \"portfolio.apiKey.delete.dialog.description\":\n \"Delete your API key <0>{{apiKey}}</0>?\",\n\n \"portfolio.setting.systemUpgrade\": \"System upgrade\",\n \"portfolio.setting.cancelOpenOrders\":\n \"Cancel open orders during system upgrade\",\n \"portfolio.setting.cancelOpenOrders.description\":\n \"During the upgrade period, all open orders will be cancelled to manage your risk in case of high market volatility.\",\n \"portfolio.setting.soundAlerts\": \"Sound alerts\",\n \"portfolio.setting.soundAlerts.description\":\n \"Play a notification sound when an order is filled or canceled.\",\n\n // Symbol Performance (Kodiak-specific feature)\n \"portfolio.symbolPerformance\": \"Analysis\",\n \"portfolio.symbolPerformance.selectSymbol\":\n \"Please select a symbol to view performance\",\n \"portfolio.symbolPerformance.noData\":\n \"No filled orders found for this symbol and timeframe\",\n \"portfolio.symbolPerformance.totalPnL\": \"Total PnL\",\n \"portfolio.symbolPerformance.totalVolume\": \"Total Volume\",\n \"portfolio.symbolPerformance.totalFees\": \"Total Fees\",\n \"portfolio.symbolPerformance.makerShare\": \"Maker Share\",\n \"portfolio.symbolPerformance.totalTrades\": \"Total Trades\",\n \"portfolio.symbolPerformance.winRate\": \"Win Rate\",\n \"portfolio.symbolPerformance.averageWin\": \"Avg Win\",\n \"portfolio.symbolPerformance.averageLoss\": \"Avg Loss\",\n \"portfolio.symbolPerformance.largestWin\": \"Largest Win\",\n \"portfolio.symbolPerformance.profitFactor\": \"Profit Factor\",\n \"portfolio.symbolPerformance.timeframe\": \"Timeframe\",\n \"portfolio.symbolPerformance.dailyPnL\": \"Daily PnL\",\n \"portfolio.symbolPerformance.dailyVolume\": \"Daily Volume\",\n \"portfolio.symbolPerformance.dailyFees\": \"Daily Fees\",\n \"portfolio.symbolPerformance.cumulative\": \"Cumulative\",\n \"portfolio.symbolPerformance.aggregated\": \"Aggregated\",\n \"portfolio.symbolPerformance.cumulativeRealizedPnL\":\n \"Cumulative Realized PnL\",\n \"portfolio.symbolPerformance.cumulativeVolume\": \"Cumulative Volume\",\n \"portfolio.symbolPerformance.cumulativeFees\": \"Cumulative Fees\",\n \"portfolio.symbolPerformance.aggregation\": \"Aggregation\",\n \"portfolio.symbolPerformance.realizedPnL\": \"Realized PnL\",\n \"portfolio.symbolPerformance.volume\": \"Volume\",\n \"portfolio.symbolPerformance.fees\": \"Fees\",\n \"portfolio.symbolPerformance.pnlRanking\": \"P&L Ranking\",\n \"portfolio.symbolPerformance.pnlRanking.symbols\": \"Symbols\",\n \"portfolio.symbolPerformance.pnlRanking.pnl\": \"P&L\",\n \"portfolio.symbolPerformance.pnlRanking.volume\": \"Volume\",\n \"portfolio.symbolPerformance.pnlRanking.fees\": \"Fees\",\n};\n\nexport type Portfolio = typeof portfolio;\n","export const positions = {\n \"positions.closePosition\": \"Close Position\",\n \"positions.fundingFee.title\": \"Funding Fee\",\n \"positions.fundingFee.tooltip\":\n \"Shows funding fees for closed or partially closed positions.\",\n \"positions.fundingRate.tooltip\":\n \"Records include funding from current open positions.\",\n \"positions.liquidation\": \"Liquidation\",\n \"positions.positionHistory\": \"Position history\",\n \"positions.closeAll\": \"Close all\",\n \"positions.closeAll.ofSymbol\": \"Close all of {{symbol}}\",\n \"positions.closeAll.description\":\n \"Are you sure you want to close all of your positions? They will be closed using market orders.\",\n \"positions.closeAll.success\": \"All positions closed successfully\",\n\n \"positions.column.liqPrice\": \"Liq. price\",\n \"positions.column.liqPrice.tooltip\":\n \"Estimated price at which your position will be liquidated. Prices are estimated and depend on multiple factors across all positions.\",\n \"positions.column.unrealPnl.tooltip\":\n \"Current unrealized profit or loss on your open positions across all widgets calculated using Mark Price.\",\n \"positions.column.unrealPnl.priceBasis\": \"Unrealized PnL Price Basis\",\n \"positions.column.margin\": \"Margin\",\n \"positions.column.margin.tooltip\":\n \"The minimum equity to keep your position.\",\n \"positions.column.margin.formula\":\n \"Margin = Position size * Mark price * MMR\",\n \"positions.column.close\": \"Close\",\n\n \"positions.limitClose\": \"Limit close\",\n \"positions.limitClose.description\":\n \"You agree closing {{quantity}} {{base}} position at limit price.\",\n \"positions.marketClose\": \"Market close\",\n \"positions.marketClose.description\":\n \"You agree closing {{quantity}} {{base}} position at market price.\",\n \"positions.limitClose.errors.exceed.title\": \"Close size limit exceeded\",\n \"positions.limitClose.errors.exceed.description\":\n \"Cannot close {{quantity}} {{symbol}} position. Max allowed per close is {{maxQuantity}} {{symbol}}.\",\n\n \"positions.history.status.closed\": \"Closed\",\n \"positions.history.status.partialClosed\": \"Partially closed\",\n \"positions.history.type.adl\": \"Adl\",\n \"positions.history.type.liquidated\": \"Liquidated\",\n \"positions.history.liquidated.liquidationId\": \"Liquidation id\",\n \"positions.history.liquidated.liquidatorFee\": \"Liquidator fee\",\n \"positions.history.liquidated.insFundFee\": \"Ins. Fund fee\",\n\n \"positions.history.column.closed\": \"Closed\",\n \"positions.history.column.maxClosed\": \"Max closed\",\n \"positions.history.column.closed&maxClosed\": \"Closed / Max closed\",\n \"positions.history.column.netPnl\": \"Net PnL\",\n \"positions.history.column.timeOpened\": \"Time opened\",\n \"positions.history.column.timeClosed\": \"Time closed\",\n \"positions.history.column.updatedTime\": \"Updated time\",\n \"positions.history.netPnl.tradingFee\": \"Trading fee\",\n\n \"positions.Liquidation.column.liquidationId\": \"Liquidation id\",\n \"positions.Liquidation.column.insFundTransfer\": \"Ins. fund transfer\",\n \"positions.Liquidation.column.liquidationFee\": \"Liquidation fee\",\n \"positions.Liquidation.column.liquidationFeeRate\": \"Liquidation fee rate\",\n \"positions.Liquidation.column.markPrice\": \"Liq. mark price\",\n\n \"positions.Liquidation.tooltip.liquidation\":\n \"An account is subject to liquidation if its Account Margin Ratio falls below its Maintenance Margin Ratio.\",\n \"positions.Liquidation.tooltip.viewMore\": \"View more\",\n \"positions.Liquidation.col.tooltip.feeRate\":\n \"The percentage charged for this liquidation, covering both the liquidator’s fee and the insurance fund contribution. This rate varies by symbol.\",\n \"positions.Liquidation.col.tooltip.fee\":\n \"The total fee charged for this liquidation, including both the liquidator’s fee and the insurance fund contribution.\",\n\n \"positions.Liquidation.expand.label.mr\": \"Margin ratio\",\n \"positions.Liquidation.expand.label.mmr\": \"Maint. margin ratio\",\n \"positions.Liquidation.expand.label.collateral\": \"Collateral value\",\n \"positions.Liquidation.expand.label.notional\": \"Position notional\",\n \"positions.Liquidation.expand.tooltip.mr\":\n \"The ratio of collateral to position size at the time of liquidation.\",\n \"positions.Liquidation.expand.tooltip.mmr\":\n \"The minimum margin required to keep the position open.\",\n \"positions.Liquidation.expand.tooltip.collateral\":\n \"Total collateral value in the account when liquidation occurred.\",\n \"positions.Liquidation.expand.tooltip.notional\":\n \"The total notional value of positions in the account at liquidation.\",\n\n \"positions.reverse.title\": \"Reverse Position\",\n \"positions.reverse.description\":\n \"The reverse order will fail if your account balance isn't enough to open an opposite position of the same size.\",\n \"positions.reverse.marketCloseLong\": \"Market Close Long\",\n \"positions.reverse.marketCloseShort\": \"Market Close Short\",\n \"positions.reverse.marketOpenLong\": \"Market Open Long\",\n \"positions.reverse.marketOpenShort\": \"Market Open Short\",\n \"positions.reverse.reverseToLong\": \"Reverse to Long\",\n \"positions.reverse.reverseToShort\": \"Reverse to Short\",\n};\n\nexport type Positions = typeof positions;\n","export const scaffold = {\n \"scaffold.announcement.campaign\": \"Latest Campaign is coming\",\n \"scaffold.footer.joinCommunity\": \"Join our community\",\n \"scaffold.footer.operational\": \"Operational\",\n \"scaffold.footer.poweredBy\": \"Powered by\",\n};\n\nexport type Scaffold = typeof scaffold;\n","export const share = {\n \"share.pnl.sharePnl\": \"Share PnL\",\n \"share.pnl.share.long\": \"LONG\",\n \"share.pnl.share.short\": \"SHORT\",\n\n \"share.pnl.displayFormat\": \"PnL display format\",\n \"share.pnl.displayFormat.roi&Pnl\": \"ROI & PnL\",\n \"share.pnl.displayFormat.roi\": \"ROI\",\n \"share.pnl.displayFormat.pnl\": \"PnL\",\n\n \"share.pnl.optionalInfo\": \"Optional information to share\",\n \"share.pnl.optionalInfo.openPrice\": \"Open price\",\n \"share.pnl.optionalInfo.closePrice\": \"Close price\",\n \"share.pnl.optionalInfo.openTime\": \"Opened at\",\n \"share.pnl.optionalInfo.closeTime\": \"Closed at\",\n \"share.pnl.optionalInfo.message\": \"Your message\",\n \"share.pnl.optionalInfo.message.placeholder\": \"Max 25 characters\",\n \"share.pnl.optionalInfo.message.maxLength\":\n \"Maximum support of 25 characters\",\n\n \"share.pnl.image.copied\": \"Image copied\",\n \"share.pnl.copy.failed.description\":\n \"Browser version outdated, please update in order to copy image to clipboard.\",\n};\n\nexport type Share = typeof share;\n","export const tpsl = {\n \"tpsl.tp\": \"TP\",\n \"tpsl.sl\": \"SL\",\n \"tpsl.mode\": \"Mode\",\n \"tpsl.fullPosition\": \"Full position\",\n \"tpsl.partialPosition\": \"Partial position\",\n \"tpsl.tpPrice\": \"TP Price\",\n \"tpsl.slPrice\": \"SL Price\",\n \"tpsl.tpPnl\": \"TP PnL\",\n \"tpsl.slPnl\": \"SL PnL\",\n \"tpsl.tpTrigger\": \"TP trigger\",\n \"tpsl.slTrigger\": \"SL trigger\",\n \"tpsl.pnl\": \"PnL\",\n \"tpsl.offset\": \"Offset\",\n \"tpsl.add\": \"Add\",\n \"tpsl.cancelAll\": \"Cancel all\",\n \"tpsl.dragToSet\": \"Drag to set TP/SL\",\n\n \"tpsl.tpOrderPrice\": \"TP order price\",\n \"tpsl.slOrderPrice\": \"SL order price\",\n \"tpsl.tpTriggerPrice\": \"TP trigger price\",\n \"tpsl.slTriggerPrice\": \"SL trigger price\",\n\n \"tpsl.positionTpsl\": \"Position TP/SL\",\n \"tpsl.entirePosition\": \"Entire position\",\n \"tpsl.estPnl\": \"Est. PNL\",\n \"tpsl.takeProfit\": \"Take profit\",\n \"tpsl.stopLoss\": \"Stop loss\",\n\n \"tpsl.cancelOrder.description\":\n \"Are you sure you want to cancel this TP/SL order?\",\n \"tpsl.confirmOrder\": \"Confirm Order\",\n \"tpsl.advanced\": \"Advanced\",\n \"tpsl.advancedSetting\": \"Advanced setting\",\n \"tpsl.TPOrderConfirm\": \"TP order confirm\",\n \"tpsl.SLOrderConfirm\": \"SL order confirm\",\n \"tpsl.positionType.full\": \"TP/SL: Full position\",\n \"tpsl.positionType.partial\": \"TP/SL: Partial position\",\n \"tpsl.positionType.full.tips\":\n \"TPSL (full) applies to the full position. Newly activated TPSL (full) orders will overwrite previous orders. Full position will be market closed when the price is triggered.\",\n \"tpsl.positionType.partial.tips\":\n \"TP/SL triggers at the specified mark price and executes as a market order. By default, it applies to the entire position. Adjust settings in open positions for partial TP/SL.\",\n \"tpsl.positionType.full.tips.market\":\n \"Full-position TP/SL orders are market only\",\n \"tpsl.advanced.ROI\":\n \"When the mark price reaches <0/>, it will trigger a <1/> order, and estimated PnL will be <2/> and ROI is <3/>.\",\n \"tpsl.advanced.submit\": \"Submit\",\n \"tpsl.totalEstTpPnl\": \"Total est. TP PnL\",\n \"tpsl.totalEstSlPnl\": \"Total est. SL PnL\",\n \"tpsl.riskRewardRatio\": \"Risk reward ratio\",\n\n \"tpsl.validate.tpOrderPrice.error.required\": \"TP order price is required\",\n \"tpsl.validate.tpOrderPrice.error.min\":\n \"TP order price must be greater than {{value}}\",\n \"tpsl.validate.tpOrderPrice.error.max\":\n \"TP order price must be less than {{value}}\",\n \"tpsl.validate.slOrderPrice.error.required\": \"SL order price is required\",\n \"tpsl.validate.slOrderPrice.error.min\":\n \"SL order price must be greater than {{value}}\",\n \"tpsl.validate.slOrderPrice.error.max\":\n \"SL order price must be less than {{value}}\",\n \"tpsl.validate.tpTriggerPrice.error.priceErrorMin\":\n \"Your TP trigger price should be set lower than your order price.\",\n \"tpsl.validate.tpTriggerPrice.error.priceErrorMax\":\n \"Your TP trigger price should be set higher than your order price.\",\n \"tpsl.validate.slTriggerPrice.error.priceErrorMin\":\n \"Your SL trigger price should be set lower than your order price.\",\n \"tpsl.validate.slTriggerPrice.error.priceErrorMax\":\n \"Your SL trigger price should be set higher than your order price.\",\n \"tpsl.validate.tpTriggerPrice.error.required\": \"TP trigger price is required\",\n \"tpsl.validate.slTriggerPrice.error.required\": \"SL trigger price is required\",\n \"tpsl.validate.slTriggerPrice.warning.closeToLiqPrice\":\n \"Stop losses set near the liq. price may not trigger. Note: the liq. price can change with position notional.\",\n \"tpsl.validate.slTriggerPrice.error.crossLiqPrice\":\n \"Stop loss crosses the liq. price. Please adjust your SL.\",\n\n \"tpsl.tpslDetail.qty\": \"Qty.\",\n \"tpsl.tpslDetail.estPnl\": \"Est. PnL\",\n \"tpsl.tpslDetail.estPnl.tooltip\":\n \"The actual value may differ based on the actual trading price. This value is only for reference.\",\n \"tpsl.agreement\": \"You agree to edit your {{symbol}} order.\",\n};\n\nexport type TPSL = typeof tpsl;\n","export const trading = {\n \"trading.layout\": \"Layout\",\n \"trading.layout.advanced\": \"Advanced\",\n \"trading.layout.advanced.right\": \"Right\",\n \"trading.layout.advanced.left\": \"Left\",\n \"trading.layout.markets\": \"Markets\",\n \"trading.layout.markets.left\": \"Left\",\n \"trading.layout.markets.top\": \"Top\",\n \"trading.layout.markets.bottom\": \"Bottom\",\n \"trading.layout.markets.hide\": \"Hide\",\n \"trading.orders.closeAll\": \"Close All\",\n \"trading.hideOtherSymbols\": \"Hide other symbols\",\n \"trading.history\": \"History\",\n\n \"trading.portfolioSettings\": \"Preference\",\n \"trading.portfolioSettings.decimalPrecision\":\n \"Decimal Precision for PnL & Notional\",\n \"trading.portfolioSettings.unrealPnlPriceBasis\": \"Unrealized PnL Price Basis\",\n \"trading.portfolioSettings.reversePosition\": \"Reverse button\",\n \"trading.portfolioSettings.reversePosition.tooltip\":\n \"Close your current position and open the opposite at market price. The reverse order will fail if your account balance isn't enough to open an opposite position of the same size.\",\n\n \"trading.orderBook\": \"Order book\",\n \"trading.lastTrades\": \"Last trades\",\n \"trading.orderBook.column.value\": \"Value\",\n\n \"trading.tabs.chart\": \"Chart\",\n \"trading.tabs.trades\": \"Trades\",\n \"trading.tabs.data\": \"Data\",\n\n \"trading.column.24High\": \"24h high\",\n \"trading.column.24Low\": \"24h low\",\n\n \"trading.orderBook.sum\": \"Sum\",\n \"trading.orderBook.markPrice.tooltip\":\n \"Obtained from a third-party oracle, the mark price is calculated as the median of three prices: the last price, the fair price based on the funding rate basis, and the fair price based on the order books.\",\n \"trading.orderBook.spreadRatio.tooltip\": \"Spread Ratio of the ask1 and bid1.\",\n\n \"trading.faucet.getTestUSDC\": \"Get test USDC\",\n \"trading.faucet.getTestUSDC.success\":\n \"{{quantity}} USDC will be added to your balance. Please note this may take up to 3 minutes. Please check back later.\",\n\n \"trading.asset.startTrading\": \"Start trading\",\n \"trading.asset.startTrading.description\":\n \"You can deposit assets from various networks\",\n\n \"trading.asset.myAssets\": \"My Assets\",\n\n \"trading.asset.freeCollateral\": \"Free collateral\",\n \"trading.asset.freeCollateral.tooltip\":\n \"Free collateral for placing new orders.\",\n \"trading.asset.freeCollateral.formula\":\n \"Free collateral = Total balance + Total unsettlement PnL - Total position initial margin\",\n\n \"trading.asset.marginRatio\": \"Margin ratio\",\n \"trading.asset.marginRatio.tooltip\":\n \"The margin ratio represents the proportion of collateral relative to the total position value.\",\n \"trading.asset.marginRatio.formula\":\n \"Account margin ratio = (Total collateral value / Total position notional) * 100%\",\n\n \"trading.asset.unsettledPnl\": \"Unsettled PnL\",\n \"trading.asset.free&TotalCollateral\": \"Free / Total Collateral\",\n \"trading.asset.availableBalance\": \"Available Balance\",\n\n \"trading.asset.maintenanceMarginRatio\": \"Maintenance margin ratio\",\n \"trading.asset.maintenanceMarginRatio.tooltip\":\n \"The minimum margin ratio required to protect your positions from being liquidated. If the Margin ratio falls below the Maintenance margin ratio, the account will be liquidated.\",\n \"trading.asset.maintenanceMarginRatio.formula\":\n \"Account maintenance margin ratio = Sum(Position notional * Symbol maintenance Margin Ratio) / Total position notional * 100%\",\n\n \"trading.riskRate\": \"Risk rate\",\n \"trading.riskRate.tooltip\":\n \"The Risk rate is used to assess the risk level of an account. When the Risk rate reaches 100%, the account will be liquidated\",\n \"trading.riskRate.formula\":\n \"Risk rate = Maintenance margin ratio / Margin ratio * 100%\",\n\n \"trading.asset&Margin\": \"Asset & Margin\",\n\n \"trading.fundingRate.predFundingRate\": \"Pred. funding rate\",\n \"trading.fundingRate.predFundingRate.interval\": \"Interval\",\n \"trading.fundingRate.predFundingRate.cap\": \"Funding cap\",\n \"trading.fundingRate.predFundingRate.floor\": \"floor\",\n \"trading.fundingRate.lastFundingRate\": \"Last funding rate\",\n \"trading.fundingRate.estimatedFundingRate\": \"Estimated funding rate\",\n \"trading.fundingRate.estimatedFundingFee\": \"Estimated funding fee\",\n \"trading.fundingRate.annualized\": \"Annualized\",\n\n \"trading.rwa.marketHours\": \"Market hours\",\n \"trading.rwa.outsideMarketHours\": \"Outside market hours\",\n \"trading.rwa.tooltip.description.open\":\n \"Trading aligns with the underlying market - higher liquidity, normal price movements.\",\n \"trading.rwa.tooltip.description.close\":\n \"Trading is available, but liquidity may be lower and price movement slower.\",\n \"trading.rwa.tooltip.closeIn\":\n \"Regular trading hours will close in <0>{{timeFormat}}</0>\",\n \"trading.rwa.tooltip.openIn\":\n \"Regular trading hours will open in <0>{{timeFormat}}</0>\",\n \"trading.rwa.tooltip.checkDetailRules\": \"Check detail rules\",\n \"trading.rwa.countdown.title\":\n \"US markets are closing soon, volatility may be lower.\",\n \"trading.rwa.outsideMarketHours.notify\":\n \"This market is currently outside regular trading hours. You can still place a trade, but please be aware of reduced liquidity and potential risks.\",\n \"trading.rwa.mWeb.outsideMarketHours.desc\":\n \"Regular trading hours are about to close - 24/7 trading continues; price may slow and liquidity may be lower.\",\n \"trading.rwa.mWeb.insideMarketHours.desc\":\n \"Regular trading hours are about to open - get ready.\",\n};\n\nexport type Trading = typeof trading;\n","export const tradingLeaderboard = {\n // TODO: remove this key\n \"tradingLeaderboard.leaderboard\": \"Leaderboard\",\n \"tradingLeaderboard.campaigns\": \"Campaigns\",\n \"tradingLeaderboard.ongoing\": \"Ongoing\",\n \"tradingLeaderboard.past\": \"Past\",\n \"tradingLeaderboard.future\": \"Future\",\n \"tradingLeaderboard.learnMore\": \"Learn more\",\n \"tradingLeaderboard.tradeNow\": \"Trade now\",\n \"tradingLeaderboard.joinNow\": \"Join now\",\n \"tradingLeaderboard.tradingVolume\": \"Trading volume\",\n \"tradingLeaderboard.rank\": \"Rank\",\n \"tradingLeaderboard.estimatedRewards\": \"Estimated rewards\",\n \"tradingLeaderboard.points\": \"S2 Points\",\n \"tradingLeaderboard.lastUpdate\": \"Last update\",\n \"tradingLeaderboard.estimatedTicketsEarned\": \"Estimated tickets earned\",\n \"tradingLeaderboard.ticketPrizePool\": \"Ticket prize pool\",\n \"tradingLeaderboard.viewRules\": \"View rules\",\n \"tradingLeaderboard.prizePool\": \"Prize pool\",\n \"tradingLeaderboard.participants\": \"Participants\",\n \"tradingLeaderboard.battleStartsIn\": \"Battle starts in\",\n \"tradingLeaderboard.battleEndsIn\": \"Battle ends in\",\n \"tradingLeaderboard.battleStarts\": \"Battle starts\",\n \"tradingLeaderboard.battleEnds\": \"Battle ends\",\n \"tradingLeaderboard.rewardDistribution\": \"Reward distribution\",\n \"tradingLeaderboard.batteleHasEnded\": \"Battle has ended\",\n \"tradingLeaderboard.tradeForMoreTickets\":\n \"Trade <0/> more to get next tickets\",\n \"tradingLeaderboard.earnTickets\":\n \"Earn {{ticket}} ticket every {{amount}} trading volume.\",\n \"tradingLeaderboard.arena\": \"Arena\",\n \"tradingLeaderboard.generalLeaderboard\": \"General leaderboard\",\n \"tradingLeaderboard.maxTicketsAchieved\": \"Max tickets achieved\",\n \"tradingLeaderboard.termsAndConditions\": \"Terms and Conditions\",\n \"tradingLeaderboard.rules\": \"Rules\",\n \"tradingLeaderboard.pnl.tooltip\":\n \"Real-time PnL including both realized and unrealized gains. Existing positions and collateral price changes may affect PnL even with zero volume. Updated every 60 mins.\",\n \"tradingLeaderboard.realizedPnl.tooltip\":\n \"Displays realized PnL from closed positions in the selected period.\",\n \"tradingLeaderboard.tradingVolume.tooltip\":\n \"Total trading volume generated during the campaign period. Updated every 30 seconds.\",\n \"tradingLeaderboard.foxifyOnly\": \"FUNDED Only\",\n \"tradingLeaderboard.foxifyOnly.tooltip\": \"Show only FUNDED traders\",\n};\n\nexport type TradingLeaderboard = typeof tradingLeaderboard;\n","export const tradingRewards = {\n \"tradingRewards.rewards\": \"Rewards\",\n\n \"tradingRewards.subtitle\": \"Trade with {{brokerName}} to earn esORDER.\",\n \"tradingRewards.subtitle.mm\": \"Trade to earn $ORDER\",\n \"tradingRewards.learnMore\": \"Learn more here\",\n\n \"tradingRewards.myEstRewards\": \"My est. rewards\",\n \"tradingRewards.epoch\": \"Epoch\",\n \"tradingRewards.epochRewards\": \"Epoch rewards\",\n\n \"tradingRewards.otherOrderlyDex\": \"Other Orderly DEX\",\n \"tradingRewards.claim\": \"Claim\",\n \"tradingRewards.availableClaim\": \"Available to claim\",\n\n \"tradingRewards.stake\": \"Stake\",\n \"tradingRewards.booster\": \"Booster\",\n \"tradingRewards.stakeBooster\": \"Stake booster\",\n \"tradingRewards.avgStakedAmount\": \"Avg. staked amount\",\n\n \"tradingRewards.rewardHistory\": \"Reward history\",\n \"tradingRewards.rewardsEarned\": \"Rewards earned\",\n\n \"tradingRewards.rewardHistory.column.start&EndDate\": \"Start / End date\",\n \"tradingRewards.rewardHistory.column.startDate\": \"Start\",\n \"tradingRewards.rewardHistory.column.endDate\": \"End date\",\n\n \"tradingRewards.epochPauseCountdown.title\": \"Trading rewards will resume in\",\n \"tradingRewards.eopchStatus.pause\":\n \"Trading rewards are on pause as we build a better program. Past rewards remain claimable.\",\n \"tradingRewards.eopchStatus.ended\":\n \"Trading rewards has ended. You may continue to claim your past rewards.\",\n \"tradingRewards.eopchStatus.linkDescription\": \"Stay tuned for more updates.\",\n};\n\nexport type TradingRewards = typeof tradingRewards;\n","export const tradingView = {\n \"tradingView.timeInterval.1m\": \"1m\",\n \"tradingView.timeInterval.3m\": \"3m\",\n \"tradingView.timeInterval.5m\": \"5m\",\n \"tradingView.timeInterval.15m\": \"15m\",\n \"tradingView.timeInterval.30m\": \"30m\",\n\n \"tradingView.timeInterval.1h\": \"1h\",\n \"tradingView.timeInterval.2h\": \"2h\",\n \"tradingView.timeInterval.4h\": \"4h\",\n \"tradingView.timeInterval.6h\": \"6h\",\n \"tradingView.timeInterval.12h\": \"12h\",\n\n \"tradingView.timeInterval.1d\": \"1D\",\n \"tradingView.timeInterval.3d\": \"3D\",\n \"tradingView.timeInterval.1w\": \"1W\",\n \"tradingView.timeInterval.1M\": \"1M\",\n\n \"tradingView.timeInterval.more\": \"More\",\n\n \"tradingView.lineType.bars\": \"Bars\",\n \"tradingView.lineType.candles\": \"Candles\",\n \"tradingView.lineType.hollowCandles\": \"Hollow candles\",\n \"tradingView.lineType.line\": \"Line\",\n \"tradingView.lineType.area\": \"Area\",\n \"tradingView.lineType.baseline\": \"Baseline\",\n\n \"tradingView.displayControl.buySell\": \"Buy/Sell\",\n \"tradingView.displayControl.limitOrders\": \"Limit orders\",\n \"tradingView.displayControl.stopOrders\": \"Stop orders\",\n\n \"tradingView.noScriptSrc\":\n \"Due to TradingView's policy, you will need to apply for your own license.\",\n \"tradingView.noScriptSrc.1\":\n \"1. Please apply for your TradingView Advanced Chart license <0>here</0>\",\n \"tradingView.noScriptSrc.2\":\n \"2. Follow the instructions on <0>orderly.network</0> to set up.\",\n};\n\nexport type TradingView = typeof tradingView;\n","export const transfer = {\n \"transfer.network\": \"Network\",\n \"transfer.lowestFee\": \"lowest fee\",\n \"transfer.web3Wallet.your\": \"Your Web3 Wallet\",\n \"transfer.web3Wallet.my\": \"My Web3 wallet\",\n\n \"transfer.brokerAccount\": \"Your {{brokerName}} account\",\n \"transfer.quantity.invalid\": \"Please input a valid number\",\n\n \"transfer.insufficientBalance\": \"Insufficient balance\",\n \"transfer.insufficientAllowance\": \"Insufficient allowance\",\n \"transfer.rejectTransaction\": \"Rejected transaction\",\n\n \"transfer.deposit.approve\": \"Approve\",\n \"transfer.deposit.approve.success\": \"Approve success\",\n \"transfer.deposit.approve.failed\": \"Approve failed\",\n \"transfer.deposit.requested\": \"Deposit requested\",\n \"transfer.deposit.completed\": \"Deposit completed\",\n \"transfer.deposit.failed\": \"Deposit failed\",\n \"transfer.deposit.feeUnavailable\":\n \"Fee data is currently unavailable. Please try again later.\",\n \"transfer.deposit.notEnoughGas\":\n \"Not enough gas. Add some {{token}} to your wallet to continue.\",\n \"transfer.deposit.exceedCap\": \"Amount exceeds user deposit cap\",\n\n \"transfer.deposit.estGasFee\": \"Est. gas fee\",\n \"transfer.deposit.destinationGasFee\": \"Destination gas fee\",\n \"transfer.deposit.destinationGasFee.description\":\n \"Additional gas tokens are required to cover operations on the destination chain. The amount shown is an estimate - please prepare extra to ensure sufficient coverage.\",\n\n \"transfer.withdraw.unsupported.chain\":\n \"Withdrawals are not supported on this chain. Please switch to any of the bridgeless networks.\",\n \"transfer.withdraw.unsupported.networkName\":\n \"Withdrawals are not supported on {{networkName}}. Please switch to any of the bridgeless networks.\",\n \"transfer.withdraw.unsupported.token\":\n \"{{token}} withdrawals are unavailable on this network\",\n\n \"transfer.withdraw.crossChain.confirmWithdraw\": \"Confirm to withdraw\",\n \"transfer.withdraw.crossChain.recipientAddress\": \"Recipient address\",\n \"transfer.withdraw.crossChain.recipientNetwork\": \"Recipient network\",\n \"transfer.withdraw.crossChain.withdrawAmount\": \"Withdraw amount\",\n\n \"transfer.withdraw.crossChain.process\":\n \"Your cross-chain withdrawal is being processed...\",\n \"transfer.withdraw.crossChain.warning\":\n \"Withdrawals that require cross-chain rebalancing can't be cancelled or followed up with more withdrawals until they've been processed.\",\n \"transfer.withdraw.crossChain.vaultWarning\":\n \"Withdrawal exceeds the balance of the {{networkName}} vault ( {{chainVaultBalance}} USDC ). Cross-chain rebalancing fee will be charged for withdrawal to {{networkName}}.\",\n\n \"transfer.withdraw.vaultWarning\":\n \"The balance of {{tokenName}} on the {{chainName}} is {{balance}}, which is insufficient to meet your withdrawal request. Please try again later or switch to another chain for withdrawal.\",\n\n \"transfer.withdraw.minAmount.error\":\n \"You can't withdraw less than {{minAmount}} {{currency}}. Please adjust your amount.\",\n \"transfer.withdraw.LTV.error\":\n \"This withdrawal may push your LTV over {{threshold}}%, immediately triggering an auto-convert.\",\n\n \"transfer.withdraw.requested\": \"Withdraw requested\",\n \"transfer.withdraw.completed\": \"Withdraw completed\",\n \"transfer.withdraw.failed\": \"Withdraw failed\",\n\n // \"transfer.withdraw.unsettled.tooltip\":\n // \"Unsettled balance can not be withdrawn. In order to withdraw, please settle your balance first.\",\n // \"transfer.withdraw.settlePnl.description\":\n // \"Are you sure you want to settle your PnL? Settlement will take up to 1 minute before you can withdraw your available balance.\",\n \"transfer.withdraw.otherAccount\": \"Other {{brokerName}} account\",\n \"transfer.withdraw.accountId.tips\":\n \"Please enter an Account ID instead of a wallet address.\",\n \"transfer.withdraw.accountId.invalid\":\n \"Invalid Account ID. Please try again.\",\n \"transfer.withdraw.available.tooltip\":\n \"Current maximum withdrawal per request is {{amount}}. To withdraw more, please submit multiple requests.\",\n\n \"transfer.internalTransfer.from\": \"From\",\n \"transfer.internalTransfer.to\": \"To\",\n \"transfer.internalTransfer.currentAssetValue\": \"Current asset value\",\n \"transfer.internalTransfer.success\":\n \"Success! Funds will be available in 15 seconds.\",\n\n \"transfer.internalTransfer.unsettled.tooltip\":\n \"Unsettled balance can not be transferred. In order to transfer, please settle your balance first.\",\n \"transfer.internalTransfer.settlePnl.description\":\n \"Are you sure you want to settle your PnL? <br/> Settlement will take up to 1 minute before you can transfer your available balance.\",\n\n \"transfer.internalTransfer.error.default\":\n \"Unable to complete transfer. Please try again later.\",\n \"transfer.internalTransfer.error.transferInProgress\":\n \"An internal transfer is currently in progress.\",\n \"transfer.internalTransfer.error.withdrawalInProgress\":\n \"There is a withdrawal in progress.\",\n \"transfer.internalTransfer.error.transferToSelf\":\n \"Transfers to your own account are not allowed\",\n \"transfer.internalTransfer.error.accountIdNotExist\":\n \"Receiver account ID does not exist.\",\n \"transfer.internalTransfer.error.transferToSubAccount\":\n \"Transfers to sub-accounts under different main accounts are not permitted.\",\n // \"transfer.internalTransfer.error.scopeInsufficient\":\n // \"The scope is insufficient\",\n\n // swap deposit\n \"transfer.swapDeposit.crossSwap.notice\":\n \"Cross-chain transaction fees will be charged. To avoid these, use our supported <0>Bridgeless networks</0>\",\n \"transfer.swapDeposit.swap.notice\":\n \"Please note that swap fees will be charged.\",\n\n \"transfer.swapDeposit.bridging\": \"Bridging\",\n \"transfer.swapDeposit.bridge\": \"Bridge\",\n \"transfer.swapDeposit.bridge.description\": \"Bridge to Arbirtum via Stargate\",\n \"transfer.swapDeposit.depositing\": \"Depositing\",\n \"transfer.swapDeposit.deposit\": \"Deposit\",\n \"transfer.swapDeposit.deposit.description\": \"Deposit to {{brokerName}}\",\n\n \"transfer.swapDeposit.viewStatus\": \"View status\",\n \"transfer.swapDeposit.depositFailed\":\n \"Deposit failed, please try again later.\",\n\n \"transfer.slippage\": \"Slippage\",\n \"transfer.slippage.slippageTolerance\": \"Slippage tolerance\",\n \"transfer.slippage.slippageTolerance.description\":\n \"Your transaction will revert if the price changes unfavorably by more than this percentage.\",\n\n \"transfer.swapDeposit.swapFee\": \"Swap fee\",\n \"transfer.swapDeposit.swapFee.description\":\n \"WOOFi charges a 0.025% on each swap.\",\n \"transfer.swapDeposit.bridgeFee\": \"Bridge fee\",\n \"transfer.swapDeposit.bridgeFee.description\":\n \"Stargate charges a fee to bridge your assets.\",\n\n \"transfer.swapDeposit.minimumReceived\": \"Minimum received\",\n \"transfer.swapDeposit.confirmSwap\": \"Confirm to swap\",\n \"transfer.swapDeposit.averageSwapTime\":\n \"Average swap time <0>~ {{time}} mins</0>\",\n\n \"transfer.swapDeposit.swapDialog.title\": \"Review swap details\",\n \"transfer.swapDeposit.viewFAQs\": \"Need help? <0>View FAQs</0>\",\n \"transfer.swapDeposit.notEnoughLiquidity\":\n \"Not enough liquidity. Please try again later or use another chain to deposit.\",\n\n \"transfer.convert.completed\": \"Convert completed\",\n \"transfer.convert.failed\": \"Convert failed\",\n \"transfer.depositCap\": \"Deposit cap\",\n \"transfer.depositCap.tooltip\": \"Max deposit amount for \",\n \"transfer.deposit.convertRate\": \"Convert rate\",\n \"transfer.convert.convertAssets\": \"Convert assets to USDC\",\n \"transfer.deposit.collateralContribution\": \"Collateral contribution\",\n \"transfer.withdraw.InsufficientVaultBalance\": \"Insufficient vault balance\",\n\n \"transfer.LTV\": \"LTV\",\n \"transfer.LTV.description\": `LTV (Loan-to-Value) is the ratio between your negative USDC and the current value of your collateral. If your LTV exceeds {{threshold}}, your collateral will be automatically converted to USDC.`,\n \"transfer.LTV.tooltip\": `If your LTV exceeds {{threshold}}% or your USDC balance plus Unsettled PnL falls below {{usdcThreshold}}, your collateral will be automatically converted with a haircut. To avoid this, you can manually convert assets to USDC.`,\n \"transfer.LTV.currentLTV\": \"Current LTV\",\n \"transfer.convert\": \"Convert\",\n // \"transfer.convert.note\": \"Please note that convert fees will be charged.\",\n \"transfer.deposit.userMaxQty.error\":\n \"Your deposit couldn't be processed because the global deposit cap for {{token}} on {{chain}} has been reached. This is typically resolved after rebalancing, which takes around 1 hour. Please try again later, or use a smaller amount or a different chain. <0>Learn more</0>\",\n \"transfer.deposit.gasFee.error\":\n \"Please ensure you have enough {{token}} for gas fees.\",\n\n \"transfer.deposit.status.pending.one\": \"You have a pending transaction\",\n \"transfer.deposit.status.pending.multiple\": \"You have pending transactions\",\n \"transfer.deposit.status.completed.one\": \"You have a successful transaction\",\n \"transfer.deposit.status.completed.multiple\":\n \"You have successful transactions\",\n\n // Yield-bearing collateral reminder\n \"transfer.deposit.yieldReminder.earnAPY\":\n \"<0>Earn {{apy}}% APY</0> while you trade.\",\n \"transfer.deposit.yieldReminder.earnRewards\": \"Earn rewards while you trade.\",\n \"transfer.deposit.yieldReminder.distribution\":\n \"The yield will be distributed to your account weekly.\",\n \"transfer.deposit.yieldReminder.disclaimer\":\n \"APY is estimated; actual returns may vary.\",\n};\n\nexport type Transfer = typeof transfer;\n","export const ui = {\n \"ui.empty.description\": \"No results found.\",\n \"ui.messageCenter.tooltip\": \"Check recent announcements\",\n \"ui.pagination.morePages\": \"More pages\",\n \"ui.pagination.rowsPerPage\": \"Rows per page\",\n \"ui.picker.selectDate\": \"Select Date\",\n};\n\nexport type UI = typeof ui;\n","export const vaults = {\n \"vaults.availableOn\": \"Available on\",\n \"vaults.header.title\": \"Earn passive yield with vault strategies\",\n \"vaults.header.description\":\n \"Put your idle or extra assets to work effortlessly. Deposit into curated vault strategies directly from {{brokerName}} - using USDC from any supported blockchain or your {{brokerName}} account, with no gas fees.\",\n \"vaults.introduction.tvl\": \"Vault TVL\",\n \"vaults.introduction.depositors\": \"Depositors\",\n \"vaults.allVaults\": \"All vaults\",\n \"vaults.list.poolName\": \"Pool Name\",\n \"vaults.list.myDeposits\": \"My deposits\",\n \"vaults.list.allTimePnl\": \"All-time pnl\",\n \"vaults.list.operate\": \"Operate\",\n \"vaults.card.orderly.title\": \"Orderly OmniVault\",\n \"vaults.card.orderly.description\":\n \"Earn passive yields effortlessly, no trading expertise required. OmniVault deploys market-making strategies, taking on liquidations, and accrue platform fees.\",\n \"vaults.card.tvl\": \"TVL\",\n \"vaults.card.apy\": \"30D APY\",\n \"vaults.card.allTimeReturn\": \"All-time return\",\n \"vaults.card.allTimeReturnTooltip\":\n \"Annualized returns using all historical data since vault inception. Available after the vault is 7 days old.\",\n \"vaults.card.myDeposits\": \"My deposits\",\n \"vaults.card.myEarnings\": \"My earnings\",\n \"vaults.card.accountBalance\": \"Account balance\",\n \"vaults.card.more\": \"More\",\n \"vaults.card.less\": \"Less\",\n \"vaults.card.launchingSoon\": \"launching Soon\",\n \"vaults.card.viewMore\": \"View more\",\n \"vaults.card.status.active\": \"Active\",\n \"vaults.card.status.closing\": \"Closing\",\n \"vaults.card.status.closed\": \"Closed\",\n \"vaults.deposit.estShares\": \"Est. shares\",\n \"vaults.deposit.shares\": \"Shares\",\n \"vaults.deposit.lockupDuration\": \"Lock up duration\",\n \"vaults.deposit.latestDeposit\": \"Latest deposit\",\n \"vaults.withdraw.estPricePerShare\": \"Est. price per share\",\n \"vaults.withdraw.estReceivingAmount\": \"Est. receiving amount\",\n \"vaults.withdraw.latestWithdraw\": \"Latest withdrawal request\",\n \"vaults.withdraw.dialog.title\": \"Confirm withdrawal details\",\n \"vaults.withdraw.dialog.withdrawalAmount\": \"Withdrawal amount\",\n \"vaults.withdraw.dialog.estimatedReceiving\": \"Estimated receiving\",\n \"vaults.withdraw.dialog.note\":\n \"Please note that the estimated USDC is based on the current price per share, and the final amount you receive will be determined at the end of the vault period.\",\n \"vaults.withdraw.dialog.initiateWithdrawal\": \"Initiate withdrawal\",\n \"vaults.withdraw.process.withdrawProcess\": \"Withdraw process\",\n \"vaults.withdraw.process.vaultProcess\": \"Vault process\",\n \"vaults.withdraw.process.transferred\": \"Transferred\",\n \"vaults.withdraw.process.initiate\": \"Initiate\",\n \"vaults.withdraw.process.upTo\": \"Up to 6 hours\",\n \"vaults.operation.error.switchAccount\":\n \"Please switch to your main account to continue.\",\n \"vaults.operation.error.minDeposit\":\n \"Deposit amount is less than the minimum {{amount}} USDC.\",\n \"vaults.operation.error.minWithdrawal\":\n \"Withdraw amount is less than the minimum {{amount}} USDC.\",\n};\n\nexport type Vaults = typeof vaults;\n","export const widget = {\n \"assetHistory.status.pending\": \"Pending\",\n \"assetHistory.status.confirm\": \"Confirm\",\n \"assetHistory.status.processing\": \"Processing\",\n \"assetHistory.status.completed\": \"Completed\",\n \"assetHistory.status.failed\": \"Failed\",\n \"assetHistory.status.pendingRebalance\": \"Pending rebalance\",\n\n /** linkDevice */\n \"linkDevice.createQRCode.loading.description\":\n \"Approve QR code with wallet...\",\n \"linkDevice.createQRCode.linkMobileDevice\": \"Link Mobile Device\",\n \"linkDevice.createQRCode.linkMobileDevice.description\":\n \"Open {{hostname}} on your mobile device and scan the QR code to link this wallet. For security, the QR code will expire in 60 seconds. <br/> The QR code allows mobile trading but does not enable withdrawals. Ensure you are not sharing your screen or any screenshots of the QR code.\",\n\n \"linkDevice.createQRCode.success.description\":\n \"Scan the QR code or paste the URL into another browser/<br/>device to continue.\",\n \"linkDevice.createQRCode.success.copyUrl\": \"Copy URL\",\n\n \"linkDevice.scanQRCode\": \"Scan QR Code\",\n \"linkDevice.scanQRCode.description\":\n \"Click the <0/> icon in the top right corner on desktop to generate a QR code to scan.\",\n \"linkDevice.scanQRCode.tooltip\": \"Link to Desktop via QR Code\",\n \"linkDevice.scanQRCode.connected.description\":\n \"You are connected via another device. This mode is for trading only. To switch networks, deposit or withdraw assets, please disconnect and reconnect your wallet on this device.\",\n \"linkDevice.tooltip\": \"Link mobile device\",\n\n /** settle */\n \"settle.settlePnl\": \"Settle PnL\",\n \"settle.settlePnl.warning\": \"Please settle your balance\",\n \"settle.settlePnl.description\":\n \"Are you sure you want to settle your PnL? <br/> Settlement will take up to 1 minute before you can withdraw your available balance.\",\n\n \"settle.unsettled\": \"Unsettled\",\n \"settle.unsettled.tooltip\":\n \"Unsettled balance can not be withdrawn. In order to withdraw, please settle your balance first.\",\n\n \"settle.settlement.requested\": \"Settlement requested\",\n \"settle.settlement.completed\": \"Settlement completed\",\n \"settle.settlement.failed\": \"Settlement failed\",\n \"settle.settlement.error\":\n \"Settlement is only allowed once every 10 minutes. Please try again later.\",\n\n \"languageSwitcher.language\": \"Language\",\n \"languageSwitcher.tooltip\": \"Switch language\",\n \"languageSwitcher.tips\":\n \"AI-generated translations may not be fully accurate.\",\n\n \"announcement.type.listing\": \"Listing\",\n \"announcement.type.maintenance\": \"Maintenance\",\n \"announcement.type.delisting\": \"Delisting\",\n \"announcement.type.campaign\": \"Campaign\",\n \"announcement.type.update\": \"NOTICE\",\n\n \"maintenance.dialog.title\": \"System upgrade in progress\",\n \"maintenance.dialog.description\":\n \"Sorry, {{brokerName}} is temporarily unavailable due to a scheduled upgrade. The service is expected to be back by {{endDate}}.\",\n \"maintenance.tips.description\":\n \"{{brokerName}} will be temporarily unavailable for a scheduled upgrade from {{startDate}} to {{endDate}}.\",\n\n \"restrictedInfo.description.default\":\n \" You are accessing {{brokerName}} from an IP address ({{ip}}) associated with a restricted country.\",\n \"restrictedInfo.accessRestricted\": \"Access Restricted\",\n \"restrictedInfo.accessRestricted.description\":\n \"Due to laws and regulations, we currently do not operate in the United States. By continuing to use our platform, you represent and warrant at all times that you are not a resident of the United States throughout the period of such use.\",\n \"restrictedInfo.accessRestricted.agree\": \"I understand and agree\",\n\n \"subAccount.modal.title\": \"Switch account\",\n \"subAccount.modal.switch.success.description\": \"Account switched\",\n \"subAccount.modal.mainAccount.title\": \"Main account\",\n \"subAccount.modal.subAccounts.title\": \"Sub-accounts\",\n \"subAccount.modal.current\": \"Current\",\n \"subAccount.modal.noAccount.description\":\n \"Create a sub-account now to explore different trading strategies.\",\n \"subAccount.modal.create.max.description\":\n \"You have reached the maximum limit of 10 sub-accounts.\",\n \"subAccount.modal.create.title\": \"Create sub-account\",\n \"subAccount.modal.create.description\":\n \"You have {{subAccountCount}} sub-accounts. {{remainingCount}} more can be created.\",\n \"subAccount.modal.create.nickname.role\":\n \"1-20 characters. Only letters, numbers, and @ , _ - (space) allowed.\",\n \"subAccount.modal.create.success.description\":\n \"Sub-account created successfully.\",\n \"subAccount.modal.create.failed.description\": \"Failed to create sub-account.\",\n \"subAccount.modal.edit.title\": \"Edit nickname\",\n \"subAccount.modal.nickName.label\": \"Sub-account nickname\",\n \"subAccount.modal.edit.success.description\": \"Nickname updated successfully.\",\n \"subAccount.modal.edit.failed.description\": \"Failed to update nickname.\",\n\n \"funding.fundingFee\": \"Funding fee\",\n \"funding.fundingRate\": \"Funding rate\",\n \"funding.annualRate\": \"Annual rate\",\n \"funding.paymentType\": \"Payment type\",\n \"funding.paymentType.paid\": \"Paid\",\n \"funding.paymentType.received\": \"Received\",\n\n \"leftNav.feedback\": \"Share your feedback\",\n\n \"errorBoundary.title\": \"Page Crashed\",\n \"errorBoundary.description\":\n \"The page is currently unavailable. Please refresh and try again.\",\n \"errorBoundary.refresh\": \"Refresh\",\n \"dmm.maker\": \"Maker\",\n \"dmm.taker\": \"Taker\",\n};\n","import { affiliate } from \"./module/affiliate\";\nimport { chart } from \"./module/chart\";\nimport { common } from \"./module/common\";\nimport { connector } from \"./module/connector\";\nimport { leverage } from \"./module/leverage\";\nimport { markets } from \"./module/markets\";\nimport { notification } from \"./module/notification\";\nimport { orderEntry } from \"./module/orderEntry\";\nimport { orders } from \"./module/orders\";\nimport { portfolio } from \"./module/portfolio\";\nimport { positions } from \"./module/positions\";\nimport { scaffold } from \"./module/scaffold\";\nimport { share } from \"./module/share\";\nimport { tpsl } from \"./module/tpsl\";\nimport { trading } from \"./module/trading\";\nimport { tradingLeaderboard } from \"./module/tradingLeaderboard\";\nimport { tradingRewards } from \"./module/tradingRewards\";\nimport { tradingView } from \"./module/tradingView\";\nimport { transfer } from \"./module/transfer\";\nimport { ui } from \"./module/ui\";\nimport { vaults } from \"./module/vaults\";\nimport { widget } from \"./module/widget\";\n\nexport const en = {\n ...common,\n ...markets,\n ...portfolio,\n ...trading,\n ...chart,\n ...positions,\n ...orders,\n ...tpsl,\n ...share,\n ...orderEntry,\n ...leverage,\n ...scaffold,\n ...tradingRewards,\n ...tradingView,\n ...connector,\n ...transfer,\n ...affiliate,\n ...ui,\n ...tradingLeaderboard,\n ...widget,\n ...vaults,\n ...notification,\n};\n","import { LocaleEnum } from \"./constant\";\nimport i18n from \"./i18n\";\nimport type { LocaleCode } from \"./types\";\n\n/**\n * transform browser language to you given i18n locale codes\n * @param lang - browser language\n * @param localeCodes - locale codes to check\n * @param defaultLang - default locale code\n * @example\n * parseI18nLang('en-US') => 'en'\n * parseI18nLang('zh-CN') => 'zh'\n * parseI18nLang('zh-TW') => 'zh'\n * parseI18nLang('ja') => 'ja'\n * */\nexport function parseI18nLang(\n lang: string,\n localeCodes?: LocaleCode[],\n defaultLang?: LocaleCode,\n) {\n localeCodes = localeCodes || Object.values(LocaleEnum);\n defaultLang = defaultLang || LocaleEnum.en;\n\n const regex = /^([a-z]{2})/i;\n const match = lang?.match(regex);\n\n if (!match) {\n return defaultLang;\n }\n\n const matchLang = match[1];\n\n if (localeCodes.includes(lang)) {\n return lang;\n }\n\n if (localeCodes.includes(matchLang)) {\n return matchLang;\n }\n\n return defaultLang;\n}\n\n/**\n * remove lang prefix from pathname\n * @param pathname - pathname to remove lang prefix\n * @param localeCodes - locale codes to check\n * @example\n * removeLangPrefix('/en/perp/PERP_ETH_USDC') => '/perp/PERP_ETH_USDC'\n * removeLangPrefix('/en/markets') => '/markets'\n * removeLangPrefix('/perp/PERP_ETH_USDC') => '/perp/PERP_ETH_USDC'\n * removeLangPrefix('/markets') => '/markets'\n */\nexport function removeLangPrefix(pathname: string, localeCodes?: string[]) {\n const localePath = getLocalePathFromPathname(pathname, localeCodes);\n\n return localePath\n ? pathname.replace(new RegExp(`^/${localePath}(?=/)`), \"\")\n : pathname;\n}\n\n/**\n * get locale path from pathname\n * @param pathname - pathname to get locale path\n * @param localeCodes - locale codes to check\n * @example\n * getLocalePathFromPathname('/en/perp/PERP_ETH_USDC') => 'en'\n * getLocalePathFromPathname('/perp/PERP_ETH_USDC') => null\n * getLocalePathFromPathname('/en/markets') => 'en'\n * getLocalePathFromPathname('/markets') => null\n */\nexport function getLocalePathFromPathname(\n pathname: string,\n localeCodes?: string[],\n) {\n const locale = pathname.split(\"/\")[1];\n localeCodes = localeCodes || Object.values(LocaleEnum);\n return localeCodes.includes(locale as LocaleEnum) ? locale : null;\n}\n\n/**\n * Generate a localized path with proper locale prefix and search parameters\n *\n * This function ensures that the returned path includes the appropriate locale prefix.\n * If the path already contains a valid locale prefix, it returns the path as-is.\n * Otherwise, it prepends the specified locale or falls back to the current i18n language.\n *\n * @param params - Configuration object for path generation\n * @param params.path - The base pathname (e.g., '/markets', '/perp/PERP_ETH_USDC')\n * @param params.locale - Optional locale code to use as prefix. If not provided, uses i18n.language\n * @param params.search - Optional search query string. If not provided, uses window.location.search\n *\n * @returns A complete URL path with locale prefix and search parameters\n *\n * @example\n * generatePath({ path: '/markets' }) => '/en/markets?tab=spot'\n * generatePath({ path: '/en/markets', search: '?tab=futures' }) => '/en/markets?tab=futures'\n * generatePath({ path: '/perp/PERP_ETH_USDC', locale: 'zh' }) => '/zh/perp/PERP_ETH_USDC'\n * generatePath({ path: '/en/perp/PERP_ETH_USDC' }) => '/en/perp/PERP_ETH_USDC'\n */\nexport function generatePath(params: {\n path: string;\n locale?: string;\n search?: string;\n}) {\n const { path, locale, search } = params;\n const searchUrl =\n search || (typeof window !== \"undefined\" ? window.location.search : \"\");\n\n let localePath = getLocalePathFromPathname(path);\n\n // If path already contains a valid locale prefix, return it unchanged\n if (localePath) {\n return `${path}${searchUrl}`;\n }\n\n // Use provided locale or fall back to current i18n language\n localePath = locale || parseI18nLang(i18n.language);\n\n // Prepend locale prefix to path\n return `/${localePath}${path}${searchUrl}`;\n}\n"]}
|